From: David Kastrup Date: Tue, 1 Jan 2013 19:46:40 +0000 (+0100) Subject: Issue 3075: Fix \displayLilyMusic with \tweak of subproperties X-Git-Tag: release/2.17.10-1~20 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=179871e20acb05a644e2f6ec946156a1e22729e9;p=lilypond.git Issue 3075: Fix \displayLilyMusic with \tweak of subproperties --- diff --git a/scm/display-lily.scm b/scm/display-lily.scm index 55c9f9f135..788f89e359 100644 --- a/scm/display-lily.scm +++ b/scm/display-lily.scm @@ -82,13 +82,21 @@ display method will be called." (define* (tweaks->lily-string expr #:optional (post-event? #f)) (format #f "~{~a ~}" (map (lambda (tweak) - (format #f "~a\\tweak ~a #~a" - (if post-event? "-" "") - (if (pair? (car tweak)) - (format #f "~a.~a" - (caar tweak) (cdar tweak)) - (format #f "~a" (car tweak))) - (scheme-expr->lily-string (cdr tweak)))) + (let ((addr (car tweak)) + (val (cdr tweak))) + (format #f "~a\\tweak ~a #~a" + (if post-event? "-" "") + (cond + ((symbol? addr) + (format #f "~a" addr)) + ((symbol? (cdr addr)) + (format #f "~a.~a" (car addr) (cdr addr))) + (else + (format #f "~{~a~^.~}" + (if (symbol? (car addr)) + addr + (cdr addr))))) + (scheme-expr->lily-string val)))) (ly:music-property expr 'tweaks)))) (define-public (music->lily-string expr parser)