X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fcontext-mod.cc;h=892d692bbf8f6c2a89ff1d7288929cf8a8891e95;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=200ba7c6dc209aebcf05508bbfc4223c11948d85;hpb=bb8a0a5387af94dd2702877256334b160575a730;p=lilypond.git diff --git a/lily/context-mod.cc b/lily/context-mod.cc index 200ba7c6dc..892d692bbf 100644 --- a/lily/context-mod.cc +++ b/lily/context-mod.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2011 Reinhold Kainhofer + Copyright (C) 2010--2015 Reinhold Kainhofer LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,30 +29,26 @@ Context_mod::Context_mod (Context_mod const &s) mods_ = s.mods_; } -#include "ly-smobs.icc" -IMPLEMENT_SIMPLE_SMOBS (Context_mod); -IMPLEMENT_DEFAULT_EQUAL_P (Context_mod); +Context_mod::Context_mod (SCM mod_list) +{ + mods_ = scm_reverse (mod_list); +} + +const char * const Context_mod::type_p_name_ = "ly:context-mod?"; int -Context_mod::print_smob (SCM smob, SCM port, scm_print_state *) +Context_mod::print_smob (SCM port, scm_print_state *) const { - Context_mod *me = (Context_mod *) SCM_CELL_WORD_1 (smob); - scm_puts ("#mods_, port); + scm_display (get_mods (), port); scm_puts (">", port); return 1; } SCM -Context_mod::mark_smob (SCM smob) +Context_mod::mark_smob () const { - ASSERT_LIVE_IS_ALLOWED (); - - Context_mod *me = (Context_mod *) SCM_CELL_WORD_1 (smob); - - scm_gc_mark (me->mods_); - return me->mods_; + return mods_; } void @@ -73,4 +69,3 @@ Context_mod::get_mods () const { return scm_reverse (mods_); } -