]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/parser.yy
* lily/parser.yy (context_def_mod): remove \consistsend
[lilypond.git] / lily / parser.yy
index 984516cefa01b749c7c09a4ab5d611887e6d3891..1aff96646764f3bf57949bd4e2c1b04e42262215 100644 (file)
@@ -257,7 +257,6 @@ or
 %token CLEF
 %token COMMANDSPANREQUEST
 %token CONSISTS
-%token CONSISTSEND
 %token CONTEXT
 %token DEFAULT
 %token DENIES
@@ -1234,9 +1233,12 @@ re_rhythmed_music:
                $$ = all;
                scm_gc_unprotect_object ($1->self_scm ());
        }
-       | LYRICSTO string Music {
-               Music *music = $3;
-               SCM name = $2;
+       | LYRICSTO {
+               THIS->lexer_->push_lyric_state ();
+       } simple_string Music {
+               THIS->lexer_->pop_state ();
+               Music *music = $4;
+               SCM name = $3;
                $$ = make_lyric_combine_music (name, music);
                scm_gc_unprotect_object (music->self_scm ());
        }
@@ -1273,8 +1275,7 @@ property_operation:
        ;
 
 context_def_mod:
-       CONSISTSEND { $$ = ly_symbol2scm ("consists-end"); }
-       | CONSISTS { $$ = ly_symbol2scm ("consists"); }
+       CONSISTS { $$ = ly_symbol2scm ("consists"); }
        | REMOVE { $$ = ly_symbol2scm ("remove"); }
 
        | ACCEPTS { $$ = ly_symbol2scm ("accepts"); }
@@ -1466,19 +1467,31 @@ chord_body_elements:
        ;
 
 chord_body_element:
-       pitch exclamations questions post_events
+       pitch  exclamations questions octave_check post_events
        {
+               int q = $3;
+               int ex = $2;
+               SCM check = $4;
+               SCM post = $5;
+
                Music *n = MY_MAKE_MUSIC ("NoteEvent");
                n->set_property ("pitch", $1);
-               if ($3 % 2)
+               if (q % 2)
                        n->set_property ("cautionary", SCM_BOOL_T);
-               if ($2 % 2 || $3 % 2)
+               if (ex % 2 || q % 2)
                        n->set_property ("force-accidental", SCM_BOOL_T);
 
-               if (ly_c_pair_p ($4)) {
-                       SCM arts = scm_reverse_x ($4, SCM_EOL);
+               if (ly_c_pair_p (post)) {
+                       SCM arts = scm_reverse_x (post, SCM_EOL);
                        n->set_property ("articulations", arts);
                }
+               if (ly_c_number_p (check))
+               {
+                       int q = ly_scm2int (check);
+                       n->set_property ("absolute-octave", scm_int2num (q-1));
+               }
+
+               
                $$ = n;
        }
        | DRUM_PITCH post_events {