]> git.donarmstrong.com Git - lilypond.git/commitdiff
lexer.ll: let push_note_state deal with extratoken state
authorDavid Kastrup <dak@gnu.org>
Mon, 30 Jul 2012 19:41:32 +0000 (21:41 +0200)
committerDavid Kastrup <dak@gnu.org>
Fri, 3 Aug 2012 05:20:25 +0000 (07:20 +0200)
lily/lexer.ll

index 22959fc99cfeeb9c72236d45563902f048263236..c5cfc15ba49a5c8243119dd03c9bd7891808125c 100644 (file)
@@ -826,12 +826,22 @@ Lily_lexer::push_markup_state ()
 void
 Lily_lexer::push_note_state (SCM alist)
 {
+       bool extra = (YYSTATE == extratoken);
+
        SCM p = scm_assq (alist, pitchname_tab_stack_);
 
+       if (extra)
+               yy_pop_state ();
+
        if (scm_is_false (p))
                p = scm_cons (alist, alist_to_hashq (alist));
        pitchname_tab_stack_ = scm_cons (p, pitchname_tab_stack_);
        yy_push_state (notes);
+
+       if (extra) {
+               hidden_state_ = YYSTATE;
+               yy_push_state (extratoken);
+       }
 }
 
 void