j'ai un petit problème avec un mode pour un langage specifique
qui utilise des choses de la forme
(defconst mod-regexp
(concat "\\(\\<\\(f\\|o\\)?\\(mod\\|th\\)\\>\\)"
white "\\(" anything-nongreedy "\\)"
white "\\(\\is\\)" white
)
)
C'est le ?\ qui pose problème. Xemacs (et emacs idem)
se plaignent:
Non-hex digit used for Unicode escape ?\
J'en déduis que dans ces chaines de caractères, [X]emacs
vois ?\ comme un marique spécial pour spécifier un caractère
Unicode à partir de son code en hexa.
Mais ici dans le mode que j'utilise, c'est visiblement plutôt
fait pour décrire une expression régulière.
Quelle issue ? Un moyen de dire à [x]emacs de ne pas
interpréter ces chaines là comme de l'Unicode ?
Merci d'avance,
Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)
J'sais si ça peut aider, mais normalement, le est associatif à droite. Sta dire qu'il faut pas lire « ? » dans « )?( » mais « ) », « ? », « ) ».
J'sais si ça peut aider, mais normalement, le \ est associatif Ã
droite. Sta dire qu'il faut pas lire « ? » dans « \)?\( » mais
« \) », « ? », « \) ».
J'sais si ça peut aider, mais normalement, le est associatif à droite. Sta dire qu'il faut pas lire « ? » dans « )?( » mais « ) », « ? », « ) ».
J'sais si ça peut aider, mais normalement, le est associatif à droite. Sta dire qu'il faut pas lire « ? » dans « )?( » mais « ) », « ? », « ) ».
Le principe, c'est que l'anti-slash indique que la parenthèse est une parenthèse d'expression régulière, c'est à dire qu'il ne faut pas la considérer comme du texte mais comme un indicateur de « groupe ». Sauf que le truc, c'est que l'expression régulière représentée ici comme une chaine de caractères passe dans deux analyseurs, et le premier retire un anti-slash. Donc il faut en mettre deux pour que le second analyseur obtienne (.
Enfin bref, si on rajoute un devant le point d'interrogation, ptêtre que ça changera quelque chose, mais c'est juste une idée au passage sans grand intérêt histoire de faire monter mon nombre de posts sur usenet. (le truc super utile, d'ailleurs)
Autre piste: as-tu précisé le type de codage du tampon dans lequel tu
écris ce code. Sur la première ligne du fichier tu tapes
; -*- coding:iso-8859-1-unix -*-
et puis tu sauvegardes ton fichier et tu le re-ouvres.
J'sais si ça peut aider, mais normalement, le \ est associatif à
droite. Sta dire qu'il faut pas lire « ? » dans « \)?\( » mais
« \) », « ? », « \) ».
Le principe, c'est que l'anti-slash indique que la parenthèse est une
parenthèse d'expression régulière, c'est à dire qu'il ne faut pas la
considérer comme du texte mais comme un indicateur de « groupe ».
Sauf que le truc, c'est que l'expression régulière représentée ici
comme une chaine de caractères passe dans deux analyseurs, et le
premier retire un anti-slash. Donc il faut en mettre deux pour que le
second analyseur obtienne (.
Enfin bref, si on rajoute un \ devant le point d'interrogation, ptêtre
que ça changera quelque chose, mais c'est juste une idée au passage
sans grand intérêt histoire de faire monter mon nombre de posts sur
usenet. (le truc super utile, d'ailleurs)
J'sais si ça peut aider, mais normalement, le est associatif à droite. Sta dire qu'il faut pas lire « ? » dans « )?( » mais « ) », « ? », « ) ».
Le principe, c'est que l'anti-slash indique que la parenthèse est une parenthèse d'expression régulière, c'est à dire qu'il ne faut pas la considérer comme du texte mais comme un indicateur de « groupe ». Sauf que le truc, c'est que l'expression régulière représentée ici comme une chaine de caractères passe dans deux analyseurs, et le premier retire un anti-slash. Donc il faut en mettre deux pour que le second analyseur obtienne (.
Enfin bref, si on rajoute un devant le point d'interrogation, ptêtre que ça changera quelque chose, mais c'est juste une idée au passage sans grand intérêt histoire de faire monter mon nombre de posts sur usenet. (le truc super utile, d'ailleurs)
Marc Boyer
On 2008-09-30, Asgeir <_asgeir_/> wrote:
J'sais si ça peut aider, mais normalement, le est associatif à droite. Sta dire qu'il faut pas lire « ? » dans « )?( » mais « ) », « ? », « ) ».
Le principe, c'est que l'anti-slash indique que la parenthèse est une parenthèse d'expression régulière, c'est à dire qu'il ne faut pas la considérer comme du texte mais comme un indicateur de « groupe ». Sauf que le truc, c'est que l'expression régulière représentée ici comme une chaine de caractères passe dans deux analyseurs, et le premier retire un anti-slash. Donc il faut en mettre deux pour que le second analyseur obtienne (.
Enfin bref, si on rajoute un devant le point d'interrogation, ptêtre que ça changera quelque chose, mais c'est juste une idée au passage sans grand intérêt histoire de faire monter mon nombre de posts sur usenet. (le truc super utile, d'ailleurs)
Toute idée est bonne à prendre. Mais la réponse est "ça marche pas". J'imagine qu'il fait d'abord l'interprétation Unicode avant de d'essayer d'interpréter la chaine comme une regexp...
Merci,
Marc Boyer -- Si tu peux supporter d'entendre tes paroles Travesties par des gueux pour exciter des sots IF -- Rudyard Kipling (Trad. André Maurois)
On 2008-09-30, Asgeir <_asgeir_/> wrote:
J'sais si ça peut aider, mais normalement, le \ est associatif à
droite. Sta dire qu'il faut pas lire « ? » dans « \)?\( » mais
« \) », « ? », « \) ».
Le principe, c'est que l'anti-slash indique que la parenthèse est une
parenthèse d'expression régulière, c'est à dire qu'il ne faut pas la
considérer comme du texte mais comme un indicateur de « groupe ».
Sauf que le truc, c'est que l'expression régulière représentée ici
comme une chaine de caractères passe dans deux analyseurs, et le
premier retire un anti-slash. Donc il faut en mettre deux pour que le
second analyseur obtienne (.
Enfin bref, si on rajoute un \ devant le point d'interrogation, ptêtre
que ça changera quelque chose, mais c'est juste une idée au passage
sans grand intérêt histoire de faire monter mon nombre de posts sur
usenet. (le truc super utile, d'ailleurs)
Toute idée est bonne à prendre. Mais la réponse est "ça marche pas".
J'imagine qu'il fait d'abord l'interprétation Unicode avant de
d'essayer d'interpréter la chaine comme une regexp...
Merci,
Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)
J'sais si ça peut aider, mais normalement, le est associatif à droite. Sta dire qu'il faut pas lire « ? » dans « )?( » mais « ) », « ? », « ) ».
Le principe, c'est que l'anti-slash indique que la parenthèse est une parenthèse d'expression régulière, c'est à dire qu'il ne faut pas la considérer comme du texte mais comme un indicateur de « groupe ». Sauf que le truc, c'est que l'expression régulière représentée ici comme une chaine de caractères passe dans deux analyseurs, et le premier retire un anti-slash. Donc il faut en mettre deux pour que le second analyseur obtienne (.
Enfin bref, si on rajoute un devant le point d'interrogation, ptêtre que ça changera quelque chose, mais c'est juste une idée au passage sans grand intérêt histoire de faire monter mon nombre de posts sur usenet. (le truc super utile, d'ailleurs)
Toute idée est bonne à prendre. Mais la réponse est "ça marche pas". J'imagine qu'il fait d'abord l'interprétation Unicode avant de d'essayer d'interpréter la chaine comme une regexp...
Merci,
Marc Boyer -- Si tu peux supporter d'entendre tes paroles Travesties par des gueux pour exciter des sots IF -- Rudyard Kipling (Trad. André Maurois)
Marc Boyer
On 2008-09-30, Vincent Belaïche wrote:
Autre piste: as-tu précisé le type de codage du tampon dans lequel tu écris ce code. Sur la première ligne du fichier tu tapes
; -*- coding:iso-8859-1-unix -*-
et puis tu sauvegardes ton fichier et tu le re-ouvres.
Ca ne marche pas non plus....
Marc Boyer -- Si tu peux supporter d'entendre tes paroles Travesties par des gueux pour exciter des sots IF -- Rudyard Kipling (Trad. André Maurois)
On 2008-09-30, Vincent Belaïche <vincent.belaiche@gmail.com> wrote:
Autre piste: as-tu précisé le type de codage du tampon dans lequel tu
écris ce code. Sur la première ligne du fichier tu tapes
; -*- coding:iso-8859-1-unix -*-
et puis tu sauvegardes ton fichier et tu le re-ouvres.
Ca ne marche pas non plus....
Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)
Toute idée est bonne à prendre. Mais la réponse est "ça marche pas". J'imagine qu'il fait d'abord l'interprétation Unicode avant de d'essayer d'interpréter la chaine comme une regexp...
Chez moi® pas de bug (emacs 21 et 23 (mais pas utf8)) ; comme ta chaîne est déjà dans un (concat ...), essaye de la couper entre les deux caractères « ? » et « » ? Au moins ça pourrait soigner le symptôme. -- Jacques L'helgoualc'h
Le 01-10-2008, Marc Boyer a écrit :
[...]
Toute idée est bonne à prendre. Mais la réponse est "ça marche pas".
J'imagine qu'il fait d'abord l'interprétation Unicode avant de
d'essayer d'interpréter la chaine comme une regexp...
Chez moi® pas de bug (emacs 21 et 23 (mais pas utf8)) ; comme ta chaîne
est déjà dans un (concat ...), essaye de la couper entre les deux
caractères « ? » et « » ? Au moins ça pourrait soigner le symptôme.
--
Jacques L'helgoualc'h
Toute idée est bonne à prendre. Mais la réponse est "ça marche pas". J'imagine qu'il fait d'abord l'interprétation Unicode avant de d'essayer d'interpréter la chaine comme une regexp...
Chez moi® pas de bug (emacs 21 et 23 (mais pas utf8)) ; comme ta chaîne est déjà dans un (concat ...), essaye de la couper entre les deux caractères « ? » et « » ? Au moins ça pourrait soigner le symptôme. -- Jacques L'helgoualc'h
Vincent Belaïche
Au fait, quand tu fais `C-x =' sur le ? et le tu as bien les mêmes codes que si c'était des ? et tapé dans le *scratch*
Autre piste: que valent les variable white et anything-nongreedy, c'est peut-être elles qui contiennent un caractère zarbi.
A+ Vincent.
Jacques L'helgoualc'h a écrit :
Le 01-10-2008, Marc Boyer a écrit : [...]
Toute idée est bonne à prendre. Mais la réponse est "ça marche pas". J'imagine qu'il fait d'abord l'interprétation Unicode avant de d'essayer d'interpréter la chaine comme une regexp...
Chez moi® pas de bug (emacs 21 et 23 (mais pas utf8)) ; comme ta chaîne est déjà dans un (concat ...), essaye de la couper entre les deux caractères « ? » et « » ? Au moins ça pourrait soigner le symptôme.
Au fait, quand tu fais `C-x =' sur le ? et le tu as bien les mêmes
codes que si c'était des ? et tapé dans le *scratch*
Autre piste: que valent les variable white et anything-nongreedy, c'est
peut-être elles qui contiennent un caractère zarbi.
A+
Vincent.
Jacques L'helgoualc'h a écrit :
Le 01-10-2008, Marc Boyer a écrit :
[...]
Toute idée est bonne à prendre. Mais la réponse est "ça marche pas".
J'imagine qu'il fait d'abord l'interprétation Unicode avant de
d'essayer d'interpréter la chaine comme une regexp...
Chez moi® pas de bug (emacs 21 et 23 (mais pas utf8)) ; comme ta chaîne
est déjà dans un (concat ...), essaye de la couper entre les deux
caractères « ? » et « » ? Au moins ça pourrait soigner le symptôme.
Au fait, quand tu fais `C-x =' sur le ? et le tu as bien les mêmes codes que si c'était des ? et tapé dans le *scratch*
Autre piste: que valent les variable white et anything-nongreedy, c'est peut-être elles qui contiennent un caractère zarbi.
A+ Vincent.
Jacques L'helgoualc'h a écrit :
Le 01-10-2008, Marc Boyer a écrit : [...]
Toute idée est bonne à prendre. Mais la réponse est "ça marche pas". J'imagine qu'il fait d'abord l'interprétation Unicode avant de d'essayer d'interpréter la chaine comme une regexp...
Chez moi® pas de bug (emacs 21 et 23 (mais pas utf8)) ; comme ta chaîne est déjà dans un (concat ...), essaye de la couper entre les deux caractères « ? » et « » ? Au moins ça pourrait soigner le symptôme.