X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fcontext-mod-scheme.cc;h=ce6d149dbbd86e3cf66a6db8a0f7eca6c062ff42;hb=4b4331d24c2c39592f2da381156da92d140c9419;hp=b993a7de8f33e6e728b713ae49dbf974828513df;hpb=f93e4199873c91ae32f0e84a610d14853dc379df;p=lilypond.git diff --git a/lily/context-mod-scheme.cc b/lily/context-mod-scheme.cc index b993a7de8f..ce6d149dbb 100644 --- a/lily/context-mod-scheme.cc +++ b/lily/context-mod-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2011 Jan Nieuwenhuizen + Copyright (C) 2010--2012 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify @@ -21,8 +21,7 @@ #include "context.hh" #include "context-mod.hh" -LY_DEFINE (ly_get_context_mods, - "ly:get-context-mods", +LY_DEFINE (ly_get_context_mods, "ly:get-context-mods", 1, 0, 0, (SCM contextmod), "Returns the list of context modifications stored in" " @var{contextmod}.") @@ -32,8 +31,7 @@ LY_DEFINE (ly_get_context_mods, return tr->get_mods (); } -LY_DEFINE (ly_add_context_mod, - "ly:add-context-mod", +LY_DEFINE (ly_add_context_mod, "ly:add-context-mod", 2, 0, 0, (SCM contextmods, SCM modification), "Adds the given context @var{modification} to the list" " @var{contextmods} of context modifications.") @@ -44,3 +42,16 @@ LY_DEFINE (ly_add_context_mod, return SCM_UNSPECIFIED; } +LY_DEFINE (ly_make_context_mod, "ly:make-context-mod", + 0, 1, 0, (SCM mod_list), + "Creates a context modification, optionally initialized" + " via the list of modifications @var{mod-list}.") +{ + if (mod_list != SCM_UNDEFINED) + { + LY_ASSERT_TYPE (ly_cheap_is_list, mod_list, 1); + return Context_mod (mod_list).smobbed_copy (); + } + else + return Context_mod ().smobbed_copy (); +}