]> 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 26de82b68a15028542e67afc91f77d8de132ea29..f0f138f324336c338543c737c924610b0573d0b4 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2011 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
@@ -51,7 +51,9 @@ Global_context::Global_context (Output_def *o)
     programming_error ("no `Global' context found");
   else
     globaldef->apply_default_property_operations (this);
-  accepts_list_ = scm_list_1 (ly_symbol2scm ("Score"));
+
+  default_child_ = ly_symbol2scm ("Score");
+  accepts_list_ = scm_list_1 (default_child_);
 }
 
 Output_def *
@@ -147,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;
         }
 
@@ -178,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.  */
@@ -199,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 ();