]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/context-def.cc
Run grand replace for 2015.
[lilypond.git] / lily / context-def.cc
index 56da817e105cb322f9b4a6ed70e0dfab9ea498d0..534567de2c0d88c9c5d1ce551351800857d59c3f 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2000--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2000--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -43,17 +43,18 @@ Context_def::Context_def ()
 
   smobify_self ();
 
-  input_location_ = make_input (Input ());
+  input_location_ = Input ().smobbed_copy ();
   context_name_ = ly_symbol2scm ("");
 }
 
 Input *
 Context_def::origin () const
 {
-  return unsmob_input (input_location_);
+  return Input::unsmob (input_location_);
 }
 
 Context_def::Context_def (Context_def const &s)
+  : Smob<Context_def> ()
 {
   context_aliases_ = SCM_EOL;
   translator_group_type_ = SCM_EOL;
@@ -67,7 +68,7 @@ Context_def::Context_def (Context_def const &s)
   smobify_self ();
 
   description_ = s.description_;
-  input_location_ = make_input (*s.origin ());
+  input_location_ = s.origin ()->smobbed_copy ();
   default_child_ = s.default_child_;
   accept_mods_ = s.accept_mods_;
   property_ops_ = s.property_ops_;
@@ -81,42 +82,35 @@ Context_def::~Context_def ()
 {
 }
 
-#include "ly-smobs.icc"
-IMPLEMENT_SMOBS (Context_def);
-IMPLEMENT_DEFAULT_EQUAL_P (Context_def);
-IMPLEMENT_TYPE_P (Context_def, "ly:context-def?");
+const char Context_def::type_p_name_[] = "ly:context-def?";
 
 int
-Context_def::print_smob (SCM smob, SCM port, scm_print_state *)
+Context_def::print_smob (SCM port, scm_print_state *)
 {
-  Context_def *me = (Context_def *) SCM_CELL_WORD_1 (smob);
-
   scm_puts ("#<Context_def ", port);
-  scm_display (me->context_name_, port);
+  scm_display (context_name_, port);
   scm_puts (" ", port);
-  string loc = me->origin ()->location_string ();
+  string loc = origin ()->location_string ();
   scm_puts (loc.c_str (), port);
   scm_puts (">", port);
   return 1;
 }
 
 SCM
-Context_def::mark_smob (SCM smob)
+Context_def::mark_smob ()
 {
-  ASSERT_LIVE_IS_ALLOWED (smob);
-
-  Context_def *me = (Context_def *) SCM_CELL_WORD_1 (smob);
-
-  scm_gc_mark (me->description_);
-  scm_gc_mark (me->context_aliases_);
-  scm_gc_mark (me->accept_mods_);
-  scm_gc_mark (me->translator_mods_);
-  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_;
+  ASSERT_LIVE_IS_ALLOWED (self_scm ());
+
+  scm_gc_mark (description_);
+  scm_gc_mark (context_aliases_);
+  scm_gc_mark (accept_mods_);
+  scm_gc_mark (translator_mods_);
+  scm_gc_mark (property_ops_);
+  scm_gc_mark (translator_group_type_);
+  scm_gc_mark (default_child_);
+  scm_gc_mark (input_location_);
+
+  return context_name_;
 }
 
 void
@@ -241,7 +235,7 @@ Context_def::internal_path_to_acceptable_context (SCM type_sym,
 
   vector<Context_def *> accepteds;
   for (SCM s = accepted; scm_is_pair (s); s = scm_cdr (s))
-    if (Context_def *t = unsmob_context_def (find_context_def (odef,
+    if (Context_def *t = Context_def::unsmob (find_context_def (odef,
                                                                scm_car (s))))
       accepteds.push_back (t);
 
@@ -404,7 +398,7 @@ LY_DEFINE (ly_context_def_lookup, "ly:context-def-lookup",
            " @samp{property-ops}, @samp{context-name}, @samp{group-type}.")
 {
   LY_ASSERT_SMOB (Context_def, def, 1);
-  Context_def *cd = unsmob_context_def (def);
+  Context_def *cd = Context_def::unsmob (def);
   LY_ASSERT_TYPE (ly_is_symbol, sym, 2);
 
   SCM res = cd->lookup (sym);
@@ -428,9 +422,9 @@ LY_DEFINE (ly_context_def_modify, "ly:context-def-modify",
   LY_ASSERT_SMOB (Context_def, def, 1);
   LY_ASSERT_SMOB (Context_mod, mod, 2);
 
-  Context_def *cd = unsmob_context_def (def)->clone ();
+  Context_def *cd = Context_def::unsmob (def)->clone ();
 
-  for (SCM s = unsmob_context_mod (mod)->get_mods ();
+  for (SCM s = Context_mod::unsmob (mod)->get_mods ();
        scm_is_pair (s);
        s = scm_cdr (s))
     cd->add_context_mod (scm_car (s));