From: Carl Sorensen Date: Sat, 11 Sep 2010 00:32:29 +0000 (-0600) Subject: Fix overrideTimeSignatureSettings multiple overrides work X-Git-Tag: release/2.13.33-1~1^2~2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a8dc322fddd6378b8768c8c6c065726c34094c7c;p=lilypond.git Fix overrideTimeSignatureSettings multiple overrides work Eliminated an undesirable reverse of the list in revert-setting Add a regression test for this problem --- diff --git a/input/regression/multiple-time-sig-settings.ly b/input/regression/multiple-time-sig-settings.ly new file mode 100644 index 0000000000..3c6565ab79 --- /dev/null +++ b/input/regression/multiple-time-sig-settings.ly @@ -0,0 +1,31 @@ +\version "2.13.33" + +\header { + texidoc = " +Multiple overrides to the default time signature settings can be +added. In this example, all notes should be beamed at 1/4. +" +} + +\relative c' { + \overrideTimeSignatureSettings + #'Score + #'(4 . 4) % time signature fraction + #'(1 . 4) % base moment fraction + #'(1 1 1 1) % beatStructure + #'() % beamExceptions + \overrideTimeSignatureSettings + #'Score + #'(3 . 4) % time signature fraction + #'(1 . 4) % base moment fraction + #'(1 1 1) % beatStructure + #'() % beamExceptions + \time 4/4 + c8 c c c c c c c | + \time 3/4 + c8 c c c c c | + \time 4/4 + c8 c c c c c c c | + \time 3/4 + c8 c c c c c | +} diff --git a/scm/time-signature-settings.scm b/scm/time-signature-settings.scm index dbca769a1c..78599e2614 100644 --- a/scm/time-signature-settings.scm +++ b/scm/time-signature-settings.scm @@ -260,7 +260,8 @@ a fresh copy of the list-head is made." (cond ((null? alist) new) ((equal? (car alist) entry) (revert-member (cdr alist) entry new)) - (else (revert-member (cdr alist) entry (cons (car alist) new))))) + (else (cons (car alist) + (revert-member (cdr alist) entry new))))) (ly:context-set-property! context property