Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(886)

Issue 22120047: Issue 3665: transposing \chords does no longer work (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 5 months ago by dak
Modified:
10 years, 5 months ago
Reviewers:
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Issue 3665: transposing \chords does no longer work This consists of a number of commits (listed in reverse order below). The first two commits (at the bottom of the list) are just general cleanup to make the following stuff easier to see. The next commit is a bug fix: make_music_from_simple could return non-music in \chordmode. The next is a syntax change allowing pitch identifiers to be followed by ' or , optionally, similar to how duration identifiers can be followed by additional dots and/or factors, like \breve.*3/2 shows. That makes the rest easier to do. The actual problem fix consists of two prongs, one catering for optional arguments, and the last (top of the list) catering for mandatory arguments (or optional arguments at the end of the argument list) in non-closed argument lists. The greedy way in which the latter are parsed (in particular accepting functions with non-closed endings themselves) makes it unfeasible to do both with the same approach. Here is the list of commits in reverse order: Let simple_music possibly return a pitch in \chordmode Make sure optional arguments accepted as pitches stay pitches when reparsing Let a PITCH_IDENTIFIER optionally be followed by octave modifiers 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. Make make_music_from_simple return music rather than a list in \chordmode parser: move FRACTION into embedded_scm_bare_arg It's a closed expression; not having to parse it with separate rules reduces the amount of cruft in the rules. Fold function_arglist_backup_common into function_arglist_backup After the last refactoring, function_arglist_backup does not need a closed variant, so there is no point in an extra non-terminal.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+80 lines, -49 lines) Patch
M lily/parser.yy View 17 chunks +80 lines, -49 lines 0 comments Download

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b