]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/ly-syntax-constructors.scm
Doc-es: various updates.
[lilypond.git] / scm / ly-syntax-constructors.scm
index f93ed3ff8cf052b2255eae09c35afb7e9081d6d0..0a12672095701cf1844cef2ba881010afe2be0de 100644 (file)
@@ -50,7 +50,7 @@
             (if (ly:music? m) (ly:set-origin! m) m)
             (music-function-call-error fun m))
         (and (pair? sigcar)
-             (if (ly:music (cdr sigcar))
+             (if (ly:music? (cdr sigcar))
                  (ly:music-deep-copy (cdr sigcar) (*location*))
                  (cdr sigcar))))))
 
@@ -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)
@@ -310,14 +313,16 @@ into a @code{MultiMeasureTextEvent}."
                                 'origin (ly:music-property music 'origin))))
          (voice-type (ly:music-property voice 'context-type))
          (lyricstos (map
-                     (lambda (mus)
+                     (lambda (mus+mods)
                        (with-location
-                        (ly:music-property mus 'origin)
+                        (ly:music-property (car mus+mods) 'origin)
                         (ly:set-origin! (make-music 'ContextSpeccedMusic
                                                     'create-new #t
                                                     'context-type 'Lyrics
+                                                    'property-operations (cdr mus+mods)
                                                     'element
                                                     (lyric-combine
-                                                     voice-name voice-type mus)))))
+                                                     voice-name voice-type
+                                                     (car mus+mods))))))
                      addlyrics-list)))
     (make-simultaneous-music (cons voice lyricstos))))