]> git.donarmstrong.com Git - lilypond.git/commitdiff
Fix 1770: revert caused a crash in displayLilyMusic.
authorReinhold Kainhofer <reinhold@kainhofer.com>
Wed, 20 Jul 2011 12:18:21 +0000 (14:18 +0200)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Fri, 22 Jul 2011 12:46:42 +0000 (14:46 +0200)
Handle the property names similar to OverrideProperty (i.e. first check
grob-property-path and then grob-property to get the name of the property).

Also add some regtests for nested properties for displayLilyMusic

input/regression/display-lily-tests.ly
scm/define-music-display-methods.scm

index 620289dda3b87789d54a827bc3c59d36f21d4ce3..a62cc103d31b6732c6d17d58e0a731f2e5e05e6d 100644 (file)
@@ -219,6 +219,9 @@ stderr of this run."
 \test "" ##[ \once \override Beam #'beam-thickness = #0.6 #]
 \test "" ##[ \revert Staff . Stem #'thickness #]       % RevertProperty
 \test "" ##[ \revert Beam #'beam-thickness #]
+\test "NOT A BUG" ##[ \oneVoice #]     % resetting a bunch of properties
+\test "" ##[ \override StaffGrouper #'(staff-staff-spacing basic-distance) = #7 #] % nested properties
+\test "" ##[ \revert StaffGrouper #'(staff-staff-spacing basic-distance) #] % nested properties
 
 %% \applyOutput
 \test "" ##[ \applyOutput #'Foo #(lambda (arg) (list)) #]
index c0041ba2a98344efe4fdef5fe097a9e0f832e0cb..f58d60fa35330990983baf421b6183c9efb64de5 100644 (file)
@@ -856,10 +856,8 @@ Otherwise, return #f."
 
 (define-display-method OverrideProperty (expr parser)
   (let* ((symbol         (ly:music-property expr 'symbol))
-        (property-path   (ly:music-property expr 'grob-property-path))
-        (properties      (if (pair? property-path)
-                             property-path
-                             (list (ly:music-property expr 'grob-property))))
+        (properties   (ly:music-property expr 'grob-property-path
+                                             (list (ly:music-property expr 'grob-property))))
         (value   (ly:music-property expr 'grob-value))
         (once    (ly:music-property expr 'once)))
 
@@ -879,8 +877,9 @@ Otherwise, return #f."
            (new-line->lily-string))))
 
 (define-display-method RevertProperty (expr parser)
-  (let ((symbol (ly:music-property expr 'symbol))
-       (properties (ly:music-property expr 'grob-property-path)))
+  (let* ((symbol (ly:music-property expr 'symbol))
+         (properties (ly:music-property expr 'grob-property-path
+                                             (list (ly:music-property expr 'grob-property)))))
     (format #f "\\revert ~a~a #'~a~a"
            (if (eqv? (*current-context*) 'Bottom)
                ""