From: David Kastrup Date: Mon, 30 Jul 2012 19:41:32 +0000 (+0200) Subject: lexer.ll: let push_note_state deal with extratoken state X-Git-Tag: release/2.15.95-1~35 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9c98322ed3c3eff6a7e5af373d3fba543b5ae164;p=lilypond.git lexer.ll: let push_note_state deal with extratoken state --- diff --git a/lily/lexer.ll b/lily/lexer.ll index 22959fc99c..c5cfc15ba4 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -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