lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shortcut for \repeat unfold


From: Jean Abou Samra
Subject: Re: Shortcut for \repeat unfold
Date: Sun, 26 Sep 2021 10:16:57 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0



Le 26/09/2021 à 09:57, Hans Åberg a écrit :
On 26 Sep 2021, at 06:49, Werner LEMBERG <wl@gnu.org> wrote:

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 ());
        }
You might provide a MR, maybe it gets accepted.  I still doubt that it
would be a good idea.
There is a conflict in some contexts between {SYMBOL} and {COMMAND}, so may not 
work. To get a regular COMMAND syntax, they should start with something that 
SYMBOL does not.

Otherwise you might replace the function YYText_utf8 with proper UTF-8 
patterns, a variation of:

/* UTF-8 character with valid Unicode code point. */
utf8char    
[\x09\x0A\x0D\x20-\x7E]|[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF]([\x80-\xBF]{2})|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x\90-\xBF]([\x80-\xBF]{2})|[\xF1-\xF3]([\x80-\xBF]{3})|\xF4[\x80-\x8F]([\x80-\xBF]{2})

I concur with Werner.I don't think special characters like ×
are easier to type than a backslash, and they are an annoyance if
you don't have keyboard shortcuts at hand (like on a computer that
is not your primary work device). They require more effort
for beginners and memory of keyboard input methods for everyone.
Plus, it's not clear how to make them work in lyrics mode and
markup given that something like \lyricmode { ×8 } is already
valid syntax and has legitimate uses.

Regards,
Jean



reply via email to

[Prev in Thread] Current Thread [Next in Thread]