]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 2997/3: Let \single deal with nested property overrides
authorDavid Kastrup <dak@gnu.org>
Sat, 24 Nov 2012 20:04:54 +0000 (21:04 +0100)
committerDavid Kastrup <dak@gnu.org>
Fri, 30 Nov 2012 12:37:33 +0000 (13:37 +0100)
ly/music-functions-init.ly

index bf06d407222d3fd2952caaf6eeb6d46c992668b9..f3210832186e5b4510fcec365b6c3f2ef4312d3b 100644 (file)
@@ -1177,8 +1177,7 @@ single =
 #(define-music-function (parser location overrides music)
    (ly:music? ly:music?)
    (_i "Convert @var{overrides} to tweaks and apply them to @var{music}.
-This does not convert @code{\\revert}, @code{\\set} or @code{\\unset}
-and ignores nested overrides.")
+This does not convert @code{\\revert}, @code{\\set} or @code{\\unset}.")
    (set! (ly:music-property music 'tweaks)
          (fold-some-music
           (lambda (m) (eq? (ly:music-property m 'name)
@@ -1188,12 +1187,12 @@ and ignores nested overrides.")
                       ((ly:music-property m 'grob-property #f) => list)
                       (else
                        (ly:music-property m 'grob-property-path)))))
-              (if (pair? (cdr p))
-                  tweaks ;ignore nested properties
-                  (acons (cons (ly:music-property m 'symbol) ;grob name
-                               (car p)) ;grob property
-                         (ly:music-property m 'grob-value)
-                         tweaks))))
+              (acons (cons (ly:music-property m 'symbol) ;grob name
+                           (if (pair? (cdr p))
+                               p ;grob property path
+                               (car p))) ;grob property
+                     (ly:music-property m 'grob-value)
+                     tweaks)))
           (ly:music-property music 'tweaks)
           overrides))
    music)