]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/music-functions-init.ly
Merge branch 'master' into translation
[lilypond.git] / ly / music-functions-init.ly
index 7adb1b7c788ae98db097585eed68c31382007d8e..59a11264f7c741d84d3c854494adfd3f8cdfad2c 100644 (file)
@@ -178,7 +178,7 @@ barNumberCheck =
                                         cbn n))))))
 
 bendAfter =
-#(define-music-function (parser location delta) (real?)
+#(define-event-function (parser location delta) (real?)
    (_i "Create a fall or doit of pitch interval @var{delta}.")
    (make-music 'BendAfterEvent
               'delta-step delta))
@@ -952,7 +952,7 @@ for time signatures of @var{time-signature}.")
    (revert-time-signature-setting time-signature))
 
 rightHandFinger =
-#(define-music-function (parser location finger) (number-or-string?)
+#(define-event-function (parser location finger) (number-or-string?)
    (_i "Apply @var{finger} as a fingering indication.")
 
    (make-music
@@ -988,21 +988,27 @@ a context modification duplicating their effect.")
               (list 'unset
                     (ly:music-property m 'symbol)))
              ((OverrideProperty)
-              (list 'push
-                    (ly:music-property m 'symbol)
-                    (ly:music-property m 'grob-value)
-                    (ly:music-property m 'grob-property-path)))
+              (cons* 'push
+                     (ly:music-property m 'symbol)
+                     (ly:music-property m 'grob-value)
+                     (ly:music-property m 'grob-property-path)))
              ((RevertProperty)
-              (list 'pop
-                    (ly:music-property m 'symbol)
-                    (ly:music-property m 'grob-property-path)))))
+              (cons* 'pop
+                     (ly:music-property m 'symbol)
+                     (ly:music-property m 'grob-property-path)))))
           (case (ly:music-property m 'name)
-            ((SequentialMusic SimultaneousMusic)
-             (for-each musicop (ly:music-property m 'elements)))
+            ((ApplyContext)
+             (ly:add-context-mod mods
+                                 (list 'apply
+                                       (ly:music-property m 'procedure))))
             ((ContextSpeccedMusic)
              (if (or (not ctx)
                      (eq? ctx (ly:music-property m 'context-type)))
-                 (musicop (ly:music-property m 'element)))))))
+                 (musicop (ly:music-property m 'element))))
+            (else
+             (let ((callback (ly:music-property m 'elements-callback)))
+               (if (procedure? callback)
+                   (for-each musicop (callback m))))))))
      (musicop music)
      mods))