]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 2688: Add ly:context-mod-apply! function.
authorDavid Kastrup <dak@gnu.org>
Sat, 21 Jul 2012 10:33:03 +0000 (12:33 +0200)
committerDavid Kastrup <dak@gnu.org>
Wed, 25 Jul 2012 05:16:57 +0000 (07:16 +0200)
lily/context-mod-scheme.cc

index ce6d149dbbd86e3cf66a6db8a0f7eca6c062ff42..9c79c37859b6203b147bca35e225bfada6d4df4f 100644 (file)
@@ -55,3 +55,16 @@ LY_DEFINE (ly_make_context_mod, "ly:make-context-mod",
   else
     return Context_mod ().smobbed_copy ();
 }
+
+LY_DEFINE (ly_context_mod_apply_x, "ly:context-mod-apply!",
+          2, 0, 0, (SCM context, SCM mod),
+          "Apply the context modification @var{mod} to @var{context}.")
+{
+  LY_ASSERT_SMOB (Context, context, 1);
+  LY_ASSERT_SMOB (Context_mod, mod, 2);
+
+  apply_property_operations (unsmob_context (context),
+                            unsmob_context_mod (mod)->get_mods ());
+  scm_remember_upto_here_1 (context);
+  return SCM_UNSPECIFIED;
+}