]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/global-context.cc
Doc-de: update to extending
[lilypond.git] / lily / global-context.cc
index 26de82b68a15028542e67afc91f77d8de132ea29..005c54b45e67b97b38e256e1d639eaea638c2e7b 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--2012 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,6 +51,13 @@ Global_context::Global_context (Output_def *o)
     programming_error ("no `Global' context found");
   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"));
 }
 
@@ -147,7 +154,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;
         }