From: nsceaux <nsceaux>
Date: Sun, 30 May 2004 12:25:31 +0000 (+0000)
Subject: (addlyrics): set the 'origin property
X-Git-Tag: release/2.3.9^2~183
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=7b4952d00e1755e16f6e04378d4b2cca7cffc523;p=lilypond.git

(addlyrics): set the 'origin property
with the location argument in music function definitions.
---

diff --git a/ChangeLog b/ChangeLog
index abd9c68e7c..4dba19523b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-05-30  Nicolas Sceaux  <nicolas.sceaux@free.fr>
+
+	* ly/music-functions-init.ly (addlyrics): set the 'origin property
+	with the location argument in music function definitions.
+
 2004-05-30  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
 	* lily/paper-book.cc (split_string): new function
diff --git a/ly/music-functions-init.ly b/ly/music-functions-init.ly
index 1d34fca85a..9ff677973e 100644
--- a/ly/music-functions-init.ly
+++ b/ly/music-functions-init.ly
@@ -14,27 +14,14 @@ applymusic = #(def-music-function (location func music) (procedure? ly:music?)
                (func music))
 
 addlyrics = #(def-music-function (location music lyrics) (ly:music? ly:music?)
-              (make-music 'LyricCombineMusic 'elements (list music lyrics)))
-
-#(use-modules (srfi srfi-1))
-#(define-public (symbol-or-symbols? obj)
-  "Return #t iif obj is a symbol or a symbol list."
-  (or (symbol? obj)
-      (and (list? obj)
-           (null? (remove symbol? obj)))))
-
-%{
-%% \mytag #'foo { ... } ==> OK
-%% c-\mytag #'foo ^4    ==> KO
-mytag = #(def-music-function (location tagname music) (symbol-or-symbols? ly:music?)
-        (set! (ly:music-property music 'tags)
-              ((if (list? tagname) append cons) tagname (ly:music-property music 'tags)))
-        music)
-%}
+              (make-music 'LyricCombineMusic 
+                          'origin location
+                          'elements (list music lyrics)))
 
 #(defmacro def-grace-function (start stop)
   `(def-music-function (location music) (ly:music?)
      (make-music 'GraceMusic
+       'origin location
        'element (make-music 'SequentialMusic
                   'elements (list (ly:music-deep-copy ,start)
                                   music
@@ -50,13 +37,35 @@ autochange = #(def-music-function (location music) (ly:music?)
                (make-autochange-music music))
 
 applycontext = #(def-music-function (location proc) (procedure?)
-                 (make-music 'ApplyContext 'procedure proc))
+                 (make-music 'ApplyContext 
+                   'origin location
+                   'procedure proc))
 
 applyoutput = #(def-music-function (location proc) (procedure?)
-                (make-music 'ApplyOutputEvent 'procedure proc))
+                (make-music 'ApplyOutputEvent 
+                  'origin location
+                  'procedure proc))
 
 breathe = #(def-music-function (location) ()
-            (make-music 'EventChord 'elements (list (make-music 'BreathingSignEvent))))
+            (make-music 'EventChord 
+              'origin location
+              'elements (list (make-music 'BreathingSignEvent))))
+
+%% \mytag #'foo { ... } ==> OK
+%% c-\mytag #'foo ^4    ==> KO
+%{
+#(use-modules (srfi srfi-1))
+#(define-public (symbol-or-symbols? obj)
+  "Return #t iif obj is a symbol or a symbol list."
+  (or (symbol? obj)
+      (and (list? obj)
+           (null? (remove symbol? obj)))))
+
+mytag = #(def-music-function (location tagname music) (symbol-or-symbols? ly:music?)
+        (set! (ly:music-property music 'tags)
+              ((if (list? tagname) append cons) tagname (ly:music-property music 'tags)))
+        music)
+%}
 
 %{