]> git.donarmstrong.com Git - lilypond.git/commitdiff
Let a PITCH_IDENTIFIER optionally be followed by octave modifiers
authorDavid Kastrup <dak@gnu.org>
Sat, 16 Nov 2013 12:24:11 +0000 (13:24 +0100)
committerDavid Kastrup <dak@gnu.org>
Fri, 22 Nov 2013 14:55:18 +0000 (15:55 +0100)
This makes pitch identifiers more similar to note names.  There is no
point in keeping the distinction just for triggering syntax errors
on music that has no sensible other interpretation.

lily/parser.yy

index 26c4d8a994efe2cbc22c7d970872947f51e92a11..83226fb9bb8aa41d5ce74d23064f45d28fb5c4fc 100644 (file)
@@ -1627,7 +1627,8 @@ function_arglist_backup:
        {
                if (scm_is_true (scm_call_1 ($2, $4)))
                {
-                       $$ = scm_cons ($4, $3);
+                       MYREPARSE (@4, $2, PITCH_IDENTIFIER, $4);
+                       $$ = $3;
                } else {
                        $$ = scm_cons (loc_on_music (@3, $1), $3);
                        MYBACKUP (PITCH_IDENTIFIER, $4, @4);
@@ -2796,7 +2797,14 @@ steno_tonic_pitch:
 
 pitch:
        steno_pitch
-       | PITCH_IDENTIFIER
+       | PITCH_IDENTIFIER quotes {
+                if (!scm_is_eq (SCM_INUM0, $2))
+                {
+                        Pitch p = *unsmob_pitch ($1);
+                        p = p.transposed (Pitch (scm_to_int ($2),0,0));
+                        $$ = p.smobbed_copy ();
+                }
+       }
        ;
 
 gen_text_def: