]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/parser.yy
Use Grob::warning() for error message from shift_region_to_valid().
[lilypond.git] / lily / parser.yy
index 031e117e9022e7aff87bda04900b30f4f1a0df38..0bb4c152f273455dd1e02f201803e66d8eeaa685 100644 (file)
@@ -290,6 +290,7 @@ If we give names, Bison complains.
 %token <scm> MARKUP_FUNCTION
 %token <scm> MARKUP_LIST_FUNCTION
 %token <scm> MARKUP_IDENTIFIER
+%token <scm> MARKUPLINES_IDENTIFIER
 %token <scm> MUSIC_FUNCTION
 %token <scm> MUSIC_IDENTIFIER
 %token <scm> NOTENAME_PITCH
@@ -615,6 +616,9 @@ identifier_init:
        | full_markup {
                $$ = $1;
        }
+       | full_markup_list {
+               $$ = $1;
+       }
        | DIGIT {
                $$ = scm_from_int ($1);
        }
@@ -908,19 +912,13 @@ output_def_body:
 
 tempo_event:
        TEMPO steno_duration '=' tempo_range    {
-               $$ = MAKE_SYNTAX ("tempo", @$, SCM_BOOL_F, $2, $4);
+               $$ = MAKE_SYNTAX ("tempo", @$, SCM_EOL, $2, $4);
        }
-       | TEMPO string steno_duration '=' tempo_range   {
-               $$ = MAKE_SYNTAX ("tempo", @$, make_simple_markup($2), $3, $5);
-       }
-       | TEMPO full_markup steno_duration '=' tempo_range      {
+       | TEMPO scalar steno_duration '=' tempo_range   {
                $$ = MAKE_SYNTAX ("tempo", @$, $2, $3, $5);
        }
-       | TEMPO string {
-               $$ = MAKE_SYNTAX ("tempoText", @$, make_simple_markup($2) );
-       }
-       | TEMPO full_markup {
-               $$ = MAKE_SYNTAX ("tempoText", @$, $2 );
+       | TEMPO scalar {
+               $$ = MAKE_SYNTAX ("tempo", @$, $2);
        }
        ;
 
@@ -2401,7 +2399,10 @@ lyric_markup:
        ;
 
 full_markup_list:
-       MARKUPLINES
+       MARKUPLINES_IDENTIFIER {
+               $$ = $1;
+       }
+       | MARKUPLINES
                { PARSER->lexer_->push_markup_state (); }
        markup_list {
                $$ = $3;
@@ -2434,7 +2435,10 @@ markup_top:
        ;
 
 markup_list:
-       markup_composed_list {
+       MARKUPLINES_IDENTIFIER {
+               $$ = $1;
+       }
+       | markup_composed_list {
                $$ = $1;
        }
        | markup_braced_list {
@@ -2627,6 +2631,9 @@ Lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
                if (is_lyric_state ())
                        return LYRIC_MARKUP_IDENTIFIER;
                return MARKUP_IDENTIFIER;
+       } else if (Text_interface::is_markup_list (sid)) {
+               *destination = sid;
+               return MARKUPLINES_IDENTIFIER;
        }
 
        return -1;