X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fly-syntax-constructors.scm;h=0a12672095701cf1844cef2ba881010afe2be0de;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=810a30b333e2f63852bf89c96ca06b3f6010c28d;hpb=e6895cdbcf30f3683a8c1b1c50dbb1b154ca6bdb;p=lilypond.git diff --git a/scm/ly-syntax-constructors.scm b/scm/ly-syntax-constructors.scm index 810a30b333..0a12672095 100644 --- a/scm/ly-syntax-constructors.scm +++ b/scm/ly-syntax-constructors.scm @@ -203,14 +203,17 @@ into a @code{MultiMeasureTextEvent}." (define-public (partial-markup commands) ;; Like composed-markup-list, except that the result is a single ;; markup command that can be applied to one markup - (define (compose arg) + (define (compose rest) (fold (lambda (cmd prev) (append cmd (list prev))) - arg - commands)) - (let ((chain (lambda (layout props arg) - (interpret-markup layout props (compose arg))))) - (set-object-property! chain 'markup-signature (list markup?)) + (append (car commands) rest) + (cdr commands))) + (let ((chain (lambda (layout props . rest) + (interpret-markup layout props (compose rest))))) + (set! (markup-command-signature chain) + (list-tail + (markup-command-signature (caar commands)) + (length (cdar commands)))) chain)) (define-public (property-set context property value)