Index: parser.yy =================================================================== RCS file: /cvsroot/lilypond/lilypond/lily/parser.yy,v retrieving revision 1.532 diff -u -p -r1.532 parser.yy --- parser.yy 2 Oct 2006 06:02:45 -0000 1.532 +++ parser.yy 9 Oct 2006 15:45:37 -0000 @@ -30,7 +30,6 @@ deleting them. Let's hope that a stack of the parse stack onto the heap. */ %left PREC_TOP -%left ADDLYRICS %left PREC_BOT %expect 1 @@ -1088,26 +1087,20 @@ relative_music: ; new_lyrics: - ADDLYRICS { PARSER->lexer_->push_lyric_state (); } - /*cont */ grouped_music_list { - /* Can also use music at the expensive of two S/Rs similar to - \repeat \alternative */ - PARSER->lexer_->pop_state (); - - $$ = scm_cons ($3, SCM_EOL); + $$ = scm_cons ($1, SCM_EOL); } - | new_lyrics ADDLYRICS { - PARSER->lexer_->push_lyric_state (); - } grouped_music_list { - PARSER->lexer_->pop_state (); - $$ = scm_cons ($4, $1); + | new_lyrics grouped_music_list { + $$ = scm_cons ($2, $1); } ; re_rhythmed_music: - grouped_music_list new_lyrics { - $$ = MAKE_SYNTAX ("add-lyrics", @$, $1, scm_reverse_x ($2, SCM_EOL)); + ADDLYRICS '{' music { + PARSER->lexer_->push_lyric_state (); + } new_lyrics '}' { + PARSER->lexer_->pop_state (); + $$ = MAKE_SYNTAX ("add-lyrics", @$, $3, scm_reverse_x ($5, SCM_EOL)); } | LYRICSTO simple_string { PARSER->lexer_->push_lyric_state ();