]> git.donarmstrong.com Git - lilypond.git/commitdiff
(Music_output_def): remove separate
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 27 May 2004 18:06:35 +0000 (18:06 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 27 May 2004 18:06:35 +0000 (18:06 +0000)
translator table. Lookup translators in scope directly. This
obviates Context suffix for context identifiers, i.e.

VERSION
lily/music-output-def.cc

diff --git a/VERSION b/VERSION
index 86236c9b82b5f927e005614eb08acbda65e81510..42fd49acf4d7ba6860f26eea79f645f12684c02e 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,5 +2,5 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=3
 PATCH_LEVEL=2
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=hwn1
 
index 042398e6f05f59d03dfcd8c2a46efcde7ddfcefb..e22549f5020f5b85032c31a20b87a1ce51e53dc3 100644 (file)
@@ -45,10 +45,22 @@ Music_output_def::Music_output_def (Music_output_def const &s)
 IMPLEMENT_SMOBS (Music_output_def);
 IMPLEMENT_DEFAULT_EQUAL_P (Music_output_def);
 
+#include "paper-def.hh"
+#include "book-paper-def.hh"
+
 SCM
 Music_output_def::mark_smob (SCM m)
 {
   Music_output_def * mo = (Music_output_def*) SCM_CELL_WORD_1 (m);
+
+  /*
+    FIXME: why is this necessary?
+    all bookpaper_ should be protected by themselves.
+  */
+  Paper_def *pd  = dynamic_cast<Paper_def*>(mo);
+  if (pd && pd->bookpaper_)
+    scm_gc_mark (pd->bookpaper_->self_scm ());
+  
   return mo->scope_;
 }
 
@@ -63,9 +75,6 @@ Music_output_def::assign_context_def (SCM transdef)
       SCM sym = tp->get_context_name ();
       scm_module_define (scope_, sym, transdef);
     }  
-  
-  String nm = ly_symbol2string (tp->get_context_name ()) + "Context";
-  scm_module_define (scope_, ly_symbol2scm (nm.to_str0 ()), transdef);
 }
 
 /*