]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/parser.yy
(context_prop_spec): check grob name for
[lilypond.git] / lily / parser.yy
index 1c2712250f22af04678e7af9bd62604e53e9bd55..984516cefa01b749c7c09a4ab5d611887e6d3891 100644 (file)
@@ -353,6 +353,7 @@ or
 %token <scm> MUSIC_FUNCTION_MUSIC 
 %token <scm> MUSIC_FUNCTION_MUSIC_MUSIC 
 %token <scm> MUSIC_FUNCTION_SCM 
+%token <scm> MUSIC_FUNCTION_SCM_SCM 
 %token <scm> MUSIC_FUNCTION_SCM_MUSIC 
 %token <scm> MUSIC_FUNCTION_SCM_MUSIC_MUSIC 
 %token <scm> MUSIC_FUNCTION_SCM_SCM_MUSIC 
@@ -988,6 +989,11 @@ Generic_prefix_music_scm:
                $$ = scm_list_4 ($1, make_input (THIS->pop_spot ()), $3, $4->self_scm ());
                scm_gc_unprotect_object ($4->self_scm ());
        }
+       | MUSIC_FUNCTION_SCM_SCM {
+               THIS->push_spot (); 
+       }  embedded_scm embedded_scm {
+               $$ = scm_list_4 ($1, make_input (THIS->pop_spot ()), $3, $4);
+       }
        | MUSIC_FUNCTION_MUSIC_MUSIC {
                THIS->push_spot (); 
        }  Music  Music {
@@ -1289,6 +1295,11 @@ context_mod:
 
 context_prop_spec:
        simple_string {
+               if (!is_regular_identifier ($1))
+               {
+                       THIS->here_input ().error (_("Grob name should be alphanumeric"));
+               }
+
                $$ = scm_list_2 (ly_symbol2scm ("Bottom"),
                        scm_string_to_symbol ($1));
        }