]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/ly-syntax-constructors.scm
Typo fix for issue 4486: ly:music -> ly:music?
[lilypond.git] / scm / ly-syntax-constructors.scm
index 0d37c0f766fad8b92d53203827d18b54077e2b34..cd200fa2c28f41301e66fedbd0525de62ee1bab5 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))))))
 
@@ -246,6 +246,25 @@ into a @code{MultiMeasureTextEvent}."
                                 'grob-property-path (cdr path)))
                    context)))
 
+;; The signature here is slightly fishy since the "fallback return
+;; value" is not actually music but #f.  This used to be (void-music)
+;; but triggered "Parsed object should be dead" warnings for music
+;; objects outside of the current parser session/module.  The called
+;; functions always deliver music and are used from the parser in a
+;; manner where only the last argument is provided from outside the
+;; parser, and its predicate "scheme?" is always true.  So the
+;; fallback value will never get used and its improper type is no
+;; issue.
+(define-public property-override-function
+  (ly:make-music-function
+   (list (cons ly:music? #f) symbol? symbol-list? scheme?)
+   property-override))
+
+(define-public property-set-function
+  (ly:make-music-function
+   (list (cons ly:music? #f) symbol? symbol? scheme?)
+   property-set))
+
 (define (get-first-context-id! mus)
   "Find the name of a ContextSpeccedMusic, possibly naming it"
   (let ((id (ly:music-property mus 'context-id)))