> On 25 Sep 2021, at 19:25, Werner LEMBERG <w...@gnu.org> wrote: > >>>> Perhaps the LilyPond syntax might be tweaked so that identifiers >>>> starting with a UTF-8 multi-byte (high bit set) character do not >>>> need the backslash. Then simply ×2 would look good. >>> >>> This reminds me of TeX's 'active characters'. I think we shouldn't >>> go this route. IMHO, a command should always be introduced with a >>> backslash. >> >> The idea here is different, it is for identifiers, and in the input >> syntax only, does not change the internal semantics at all. It is >> good not having to type backslash when a command is used. > > Really? I highly doubt that. In particular, what about lyrics mode?
The idea would be to change the file lexer.ll by adding U and UCOMMAND: A [a-zA-Z\200-\377] U [\200-\377] AA {A}|_ N [0-9] ANY_CHAR (.|\n) SYMBOL {A}([-_]{A}|{A})* COMMAND \\{SYMBOL} UCOMMAND {U}{SYMBOL} Then in select places, that is context switches, add {UCOMMAND}: {COMMAND} { return scan_escaped_word (YYText_utf8 () + 1); } {UCOMMAND} { return scan_escaped_word (YYText_utf8 ()); }