[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Adds ly:engraver-property to engraver-scheme (issue1878048)
From: |
mtsolo |
Subject: |
Adds ly:engraver-property to engraver-scheme (issue1878048) |
Date: |
Fri, 24 Jun 2011 14:40:28 +0000 |
Reviewers: ,
Message:
I found this 10-month old patch of mine laying around. It still seems
relevant, so I'm sending it to the list. Lemme know what y'all think.
Description:
Adds ly:engraver-property to engraver-scheme
Adds ly:engraver-property to engraver-scheme
Get rid of whitespace error...
Please review this at http://codereview.appspot.com/1878048/
Affected files:
M lily/engraver-scheme.cc
Index: lily/engraver-scheme.cc
diff --git a/lily/engraver-scheme.cc b/lily/engraver-scheme.cc
index
409831e8804e55a92770742d4a2c26379f63fd05..ea8f3dec2b9044bcf89ea7c2a3e357f09f0b9be0
100644
--- a/lily/engraver-scheme.cc
+++ b/lily/engraver-scheme.cc
@@ -54,3 +54,23 @@ LY_DEFINE
(ly_engraver_announce_end_grob, "ly:engraver-announce-end-grob",
return SCM_UNSPECIFIED;
}
+
+LY_DEFINE (ly_engraver_property, "ly:engraver-property",
+ 2, 1, 0, (SCM engraver, SCM sym, SCM val),
+ "Return the value for property @var{sym} of @var{engraver}."
+ " If no value is found, return @var{val} or @code{'()}"
+ " if @var{val} is not specified.")
+{
+ Engraver *e = unsmob_engraver (engraver);
+
+ LY_ASSERT_TYPE (unsmob_engraver, engraver, 1);
+ LY_ASSERT_TYPE (ly_is_symbol, sym, 2);
+ if (val == SCM_UNDEFINED)
+ val = SCM_EOL;
+
+ SCM retval = e->internal_get_property (sym);
+ if (retval == SCM_EOL)
+ retval = val;
+
+ return retval;
+}
- Adds ly:engraver-property to engraver-scheme (issue1878048),
mtsolo <=