2008/8/8 Carl D. Sorensen <[EMAIL PROTECTED]>: > This experience causes me to believe that there is a bug in the parser > related to chordmode.
I presume you've had a look at lexer.ll? It seems a bit dodgy to me that Lily_lexer::scan_bare_word () checks for a match in the chord modifier hash table if YYSTATE == notes *or* chords; once chordmode is entered, the hash table is initialized, and will remain live, which produces a false match in notemode for 'm'. Changing line 827 from else if ((handle = scm_hashq_get_handle (chordmodifier_tab_, sym)) != SCM_BOOL_F) to else if ((YYSTATE == chords) && (handle = scm_hashq_get_handle (chordmodifier_tab_, sym)) != SCM_BOOL_F) prevents it from returning an erroneous match in notemode so it can return a string instead. Whether this is a proper fix, I'm unsure, but it certainly allows your snippet to compile OK. Regards, Neil _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org http://lists.gnu.org/mailman/listinfo/bug-lilypond