Comment #11 on issue 2702 by [email protected]: Patch: Unify the lexer's
idea of words and commands across all modes.
http://code.google.com/p/lilypond/issues/detail?id=2702
The concept is to allow isolated '-' and '_' characters within user
variable names, but not as the first or last character,
violin_one_movement_adagio = {c d e f}
\score { \violin_one_movement_adagio }
and have the rules for what is in a variable name consistent across modes.
The concept of allowing non-alphabetic characters in the /interior/ of a
name, as opposed to the end, could help with issue 1670. If we see digits
inside the name 're16a' it can be a variable, but if at the end 're16' must
be a sixteenth-note.
The move toward having the same lexer patterns for every mode, however,
mean that we can't define maj7sus = {} at top-level because the same
patterns need to separate the c4:maj7sus4 in chord mode into its parts.
Under the unifying-across-modes philosophy it seems impossible to address
issue one thousand six hundred seventy.