Knut Petersen <knut_peter...@t-online.de> writes:

> Hi everybody!
>
> Is there a reason not to allow MUSIC_FUNCTIONs whenever
> MUSIC_IDENTIFIERs are allowed?

Yes.

> One example is \addlyrics. It only accepts grouped_music_lists and
> MUSIC_IDENTIFIERs ...

Intentionally so.  \addlyrics is a mode-changing command and it has to
change back afterwards.

parser.yy is actually quite explicit here:

// We must not have lookahead tokens parsed in lyric mode.  In order
// to save confusion, we take almost the same set as permitted with
// \lyricmode and/or \lyrics.  However, music identifiers are also
// allowed, and they obviously do not require switching into lyrics
// mode for parsing.

lyric_mode_music:
        {
                parser->lexer_->push_lyric_state ();
        } grouped_music_list
        {
                parser->lexer_->pop_state ();
                $$ = $2;
        }
        | MUSIC_IDENTIFIER
        ;

It's not like LilyPond is overdocumented.  When there is an explicit
comment, chances are that it's sort-of relevant.

-- 
David Kastrup

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to