On Sun, Mar 07, 2004 at 03:03:30PM +0100, Matthias Kilian wrote: [Letters and digits in identifiers] > If there's no other reason for disallowing digits than to keep > parser/scanner, I could try to write a patch.
Quick hack alert! The patch below appears to work. However, it applies only to scanner rules using NOTECOMMAND. And, of course, documentation and emacs and vim configuration would have to be changed. I'd work on documentation and vim configuration if this patch is accepted. Ciao, Kili diff -x CVS -rNup ../lilypond-2.1.29/lily/lexer.ll ./lily/lexer.ll --- ../lilypond-2.1.29/lily/lexer.ll 2004-02-24 21:00:57.000000000 +0100 +++ ./lily/lexer.ll 2004-03-07 18:25:38.000000000 +0100 @@ -112,12 +112,13 @@ SCM (* scm_parse_error_handler) (void *) A [a-zA-Z] AA {A}|_ N [0-9] -AN {AA}|{N} +AN {A}|{N} +AAN {AA}|{N} PUNCT [?!:'`] ACCENT \\[`'"^] NATIONAL [\001-\006\021-\027\031\036\200-\377] TEX {AA}|-|{PUNCT}|{ACCENT}|{NATIONAL} -WORD {A}{AN}* +WORD {A}{AAN}* ALPHAWORD {A}+ DIGIT {N} UNSIGNED {N}+ @@ -130,7 +131,7 @@ WHITE [ \n\t\f\r] HORIZONTALWHITE [ \t] BLACK [^ \n\t\f\r] RESTNAME [rs] -NOTECOMMAND \\{A}+ +NOTECOMMAND \\{A}{AN}* MARKUPCOMMAND \\({A}|[-_])+ LYRICS ({AA}|{TEX})[^0-9 \t\n\r\f]* ESCAPED [nt\\'"] diff -x CVS -rNup ../lilypond-2.1.29/lily/parser.yy ./lily/parser.yy --- ../lilypond-2.1.29/lily/parser.yy 2004-02-26 22:59:50.000000000 +0100 +++ ./lily/parser.yy 2004-03-07 18:27:21.000000000 +0100 @@ -123,11 +123,10 @@ is_regular_identifier (SCM id) String str = ly_scm2string (id); char const *s = str.to_str0 () ; - bool v = true; - while (*s && v) + bool v = *s && isalpha(*s); + while (*++s && v) { - v = v && isalpha (*s); - s++; + v = v && isalnum (*s); } return v; } _______________________________________________ Lilypond-devel mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-devel