From aaa489c87f954ab7a67646dff3ea5a9150b7b0b1 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer Date: Wed, 20 Jul 2011 14:18:21 +0200 Subject: [PATCH] Fix 1770: revert caused a crash in displayLilyMusic. 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 | 3 +++ scm/define-music-display-methods.scm | 11 +++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/input/regression/display-lily-tests.ly b/input/regression/display-lily-tests.ly index 620289dda3..a62cc103d3 100644 --- a/input/regression/display-lily-tests.ly +++ b/input/regression/display-lily-tests.ly @@ -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)) #] diff --git a/scm/define-music-display-methods.scm b/scm/define-music-display-methods.scm index c0041ba2a9..f58d60fa35 100644 --- a/scm/define-music-display-methods.scm +++ b/scm/define-music-display-methods.scm @@ -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) "" -- 2.39.2