]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/global-context.cc
Merge remote-tracking branch 'origin/translation' into staging
[lilypond.git] / lily / global-context.cc
index 3384133f353ab9e9546d50c55f88f18a52862bdc..f0f138f324336c338543c737c924610b0573d0b4 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1997--2014 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
@@ -52,13 +52,8 @@ Global_context::Global_context (Output_def *o)
   else
     globaldef->apply_default_property_operations (this);
 
-  SCM p = get_property ("EventClasses");
-
-  ancestor_lookup_ = scm_make_hash_table (scm_length (p));
-  for (;scm_is_pair (p); p = scm_cdr (p))
-    scm_hashq_set_x (ancestor_lookup_, scm_caar (p), scm_car (p));
-
-  accepts_list_ = scm_list_1 (ly_symbol2scm ("Score"));
+  default_child_ = ly_symbol2scm ("Score");
+  accepts_list_ = scm_list_1 (default_child_);
 }
 
 Output_def *
@@ -154,7 +149,8 @@ Global_context::run_iterator_on_me (Music_iterator *iter)
 
       if (w == prev_mom_)
         {
-          programming_error ("Moment is not increasing. Aborting interpretation.");
+          programming_error ("Moment is not increasing."
+                             "  Aborting interpretation.");
           break;
         }
 
@@ -185,9 +181,7 @@ Global_context::apply_finalizations ()
   SCM lst = get_property ("finalizations");
   set_property ("finalizations", SCM_EOL);
   for (SCM s = lst; scm_is_pair (s); s = scm_cdr (s))
-
-    /* TODO: make safe.  */
-    scm_primitive_eval (scm_car (s));
+    scm_apply_0 (scm_caar (s), scm_cdar (s));
 }
 
 /* Add a function to execute before stepping to the next time step.  */
@@ -206,7 +200,7 @@ Global_context::previous_moment () const
 }
 
 Context *
-Global_context::get_default_interpreter (string /* context_id */)
+Global_context::get_default_interpreter (const string &/* context_id */)
 {
   if (get_score_context ())
     return get_score_context ()->get_default_interpreter ();