From: Han-Wen Nienhuys <hanwen@xs4all.nl>
Date: Fri, 13 Feb 2004 20:45:03 +0000 (+0000)
Subject: * lily/parser.yy (music_property_def): set property for \once in
X-Git-Tag: release/2.1.23~7
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=8bc817b800e3f24c8965ef9f1ef441be893fd7d7;p=lilypond.git

* lily/parser.yy (music_property_def): set property for \once in
the PropertyMusic itself, not the ContextSpec.

* scm/define-music-properties.scm (all-music-properties): clean up.
---

diff --git a/ChangeLog b/ChangeLog
index 8d12460972..3ccf9c0e6c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2004-02-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+	* lily/parser.yy (music_property_def): set property for \once in
+	the PropertyMusic itself, not the ContextSpec.
+
+	* scm/define-music-properties.scm (all-music-properties): clean up.
+
 	* lily/auto-beam-engraver.cc (test_moment): use
 	updated_grob_properties() to retrieve autoBeam settings.
 
diff --git a/lily/parser.yy b/lily/parser.yy
index 7cd980afc5..ec85f5504d 100644
--- a/lily/parser.yy
+++ b/lily/parser.yy
@@ -1207,8 +1207,10 @@ music_property_def:
 		$$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL);
 	}
 	| ONCE music_property_def {
+		SCM e = $2->get_mus_property ("element");
+                unsmob_music (e)->set_mus_property ("once", SCM_BOOL_T);
 		$$ = $2;
-		$$->set_mus_property ("once", SCM_BOOL_T);
+        
 	}
 	;
 
diff --git a/scm/define-music-properties.scm b/scm/define-music-properties.scm
index 928c6a6e76..328997ddad 100644
--- a/scm/define-music-properties.scm
+++ b/scm/define-music-properties.scm
@@ -28,9 +28,9 @@
      (span-type ,string? "What kind of spanner should be created?
 
 TODO: consider making type into symbol") 
-     (absolute-octave integer?
+     (absolute-octave ,integer?
 		      "The absolute octave for a octave check note.")
-     (articulations music-list?
+     (articulations ,music-list?
 		    "Articulation events specifically for this note.")
      (articulation-type ,string? "key for script definitions alist.
 
@@ -76,20 +76,18 @@ For chord inversions, this is negative.")
      (pitch ,ly:pitch? "the pitch of this note")
      (pitch-alist ,list? "list of pitches jointly forming the scale of a key signature")
      (pop-first ,boolean? "Do a revert before we try to do a override on some grob property.")
-     (procedure procedure?
+     (procedure ,procedure?
 		"The function to run with \\applycontext. It must take a single argument, being the context.")
-     (property-operations list?
+     (property-operations ,list?
 			  "Do these operations for instantiating the context.")
      (predicate ,procedure? "the predicate of a \\outputproperty")
      (type ,symbol? "The type of this music object. Determines iteration in some cases.")
      (types ,list? "The types of this music
 object; determines by what engraver this music expression is
 processed.")
-
      (repeat-count  ,integer? "do a @code{\repeat} how ofen?")
      (span-direction ,ly:dir? "Does this start or stop a spanner?")
      (split-list ,list? "splitting moments for part combiner.")
-
      (start-moment-function ,procedure? "Function to compute the negative length of
 starting grace notes.")
      (string-number ,integer? "The number of the string in a String_number_req")
@@ -100,7 +98,7 @@ starting grace notes.")
      (value ,scheme? "Assignment value for a
 translation property")
      (what ,symbol? "What to change for auto-change. FIXME, naming")
-     (part-combine-status symbol?
+     (part-combine-status ,symbol?
 			  "Change to what kind of state? Options are
 solo1, solo2 and unisono")