From 8574ff023fbf65d38b815cf30a8efd2f04b9189c Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 27 May 2004 18:06:35 +0000 Subject: [PATCH] (Music_output_def): remove separate translator table. Lookup translators in scope directly. This obviates Context suffix for context identifiers, i.e. --- VERSION | 2 +- lily/music-output-def.cc | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/VERSION b/VERSION index 86236c9b82..42fd49acf4 100644 --- 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 diff --git a/lily/music-output-def.cc b/lily/music-output-def.cc index 042398e6f0..e22549f502 100644 --- a/lily/music-output-def.cc +++ b/lily/music-output-def.cc @@ -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(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); } /* -- 2.39.5