/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2010--2011 Reinhold Kainhofer <reinhold@kainhofer.com>
+ Copyright (C) 2010--2015 Reinhold Kainhofer <reinhold@kainhofer.com>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
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 ("#<Context_mod ", port);
- scm_display (me->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
{
return scm_reverse (mods_);
}
-