X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fcontext-def.cc;h=0af5fabf4fdef003342bc705ffe19797b642be15;hb=d6a70b0d29c31d0b24a53c978c8844bbb640cdbd;hp=b856486dba4900e3fd7bd158ea4fb32943b233e7;hpb=8d796a54fbfc350c56f04088cb0c009ee0287256;p=lilypond.git diff --git a/lily/context-def.cc b/lily/context-def.cc index b856486dba..0af5fabf4f 100644 --- a/lily/context-def.cc +++ b/lily/context-def.cc @@ -27,14 +27,21 @@ Context_def::Context_def () context_name_ = SCM_EOL; default_child_ = SCM_EOL; description_ = SCM_EOL; + input_location_ = SCM_EOL; smobify_self (); + input_location_ = make_input (Input ()); context_name_ = ly_symbol2scm (""); } +Input * +Context_def::origin () const +{ + return unsmob_input (input_location_); +} + Context_def::Context_def (Context_def const &s) - : Input (s) { context_aliases_ = SCM_EOL; translator_group_type_ = SCM_EOL; @@ -44,10 +51,11 @@ Context_def::Context_def (Context_def const &s) context_name_ = SCM_EOL; description_ = SCM_EOL; default_child_ = SCM_EOL; - + input_location_ = SCM_EOL; smobify_self (); - description_ = s.description_; + description_ = s.description_; + input_location_ = make_input (*s.origin ()); default_child_ = s.default_child_; accept_mods_ = s.accept_mods_; property_ops_ = s.property_ops_; @@ -88,6 +96,7 @@ Context_def::mark_smob (SCM smob) scm_gc_mark (me->property_ops_); scm_gc_mark (me->translator_group_type_); scm_gc_mark (me->default_child_); + scm_gc_mark (me->input_location_); return me->context_name_; }