]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/music-functions.scm
(music->make-music): fix music expression property list building
[lilypond.git] / scm / music-functions.scm
index 18a083a681d5d4bb81c5529156364bdcf4504492..bab748a7c0ac9b7d269afb5dce541b2d81e35c2e 100644 (file)
@@ -121,17 +121,16 @@ that is, for a music expression, a (make-music ...) form."
         (ly:music? obj)
         `(make-music 
           ',(ly:music-property obj 'name)
-          ,@(append (map (lambda (prop)
-                           (list
-                            (car prop)
-                            (if (and (not (markup? (cdr prop)))
-                                     (list? (cdr prop))
-                                     (pair? (cdr prop))) ;; property is a non-empty list
-                                `(list ,@(map music->make-music (cdr prop)))
-                                (music->make-music (cdr prop)))))
-                         (remove (lambda (prop)
-                                   (eqv? (car prop) 'origin))
-                                 (ly:music-mutable-properties obj))))))
+          ,@(apply append (map (lambda (prop)
+                                  `(',(car prop)
+                                    ,(if (and (not (markup? (cdr prop)))
+                                              (list? (cdr prop))
+                                              (pair? (cdr prop))) ;; property is a non-empty list
+                                         `(list ,@(map music->make-music (cdr prop)))
+                                         (music->make-music (cdr prop)))))
+                                (remove (lambda (prop)
+                                          (eqv? (car prop) 'origin))
+                                        (ly:music-mutable-properties obj))))))
        (;; moment
         (ly:moment? obj)
         `(ly:make-moment ,(ly:moment-main-numerator obj)