X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Foutput-def.cc;h=853704c5c98d478442499b28f2ea3ad22f367192;hb=e3196be0cd6570bf204ea7353a6710634e83b61f;hp=e4614ffe11b842f4b7c6894b4f4e763bb5fb4fa0;hpb=eea589c2d7bee6ab38bc611eb205d4c74e2011f7;p=lilypond.git diff --git a/lily/output-def.cc b/lily/output-def.cc index e4614ffe11..853704c5c9 100644 --- a/lily/output-def.cc +++ b/lily/output-def.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2004 Han-Wen Nienhuys + (c) 1997--2007 Han-Wen Nienhuys */ #include "output-def.hh" @@ -12,7 +12,6 @@ #include "file-path.hh" #include "global-context.hh" #include "interval.hh" -#include "ly-module.hh" #include "main.hh" #include "output-def.hh" #include "scm-hash.hh" @@ -20,12 +19,17 @@ #include "ly-smobs.icc" +#include "program-option.hh" + +#include "string-convert.hh" + Output_def::Output_def () { scope_ = SCM_EOL; parent_ = 0; - smobify_self (); + smobify_self (); + scope_ = ly_make_anonymous_module (false); } @@ -37,7 +41,7 @@ Output_def::Output_def (Output_def const &s) input_origin_ = s.input_origin_; scope_ = ly_make_anonymous_module (false); - if (ly_c_module_p (s.scope_)) + if (ly_is_module (s.scope_)) ly_module_copy (scope_, s.scope_); } @@ -87,7 +91,7 @@ Output_def::print_smob (SCM s, SCM p, scm_print_state *) { Output_def * def = unsmob_output_def (s); scm_puts ("#< ", p); - scm_puts (classname (def), p); + scm_puts (def->class_name (), p); (void)def; scm_puts (">", p); @@ -105,19 +109,19 @@ SCM Output_def::lookup_variable (SCM sym) const { SCM var = ly_module_lookup (scope_, sym); - if (SCM_VARIABLEP (var) && SCM_VARIABLE_REF(var) != SCM_UNDEFINED) + if (SCM_VARIABLEP (var) && SCM_VARIABLE_REF (var) != SCM_UNDEFINED) return SCM_VARIABLE_REF (var); if (parent_) return parent_->lookup_variable (sym); - return SCM_EOL; + return SCM_UNDEFINED; } SCM -Output_def::c_variable (String s) const +Output_def::c_variable (string s) const { - return lookup_variable (ly_symbol2scm (s.to_str0 ())); + return lookup_variable (ly_symbol2scm (s.c_str ())); } void @@ -132,7 +136,7 @@ Output_def::set_variable (SCM sym, SCM val) Interval line_dimensions_int (Output_def *def, int n) { - Real lw = def->get_dimension (ly_symbol2scm ("linewidth")); + Real lw = def->get_dimension (ly_symbol2scm ("line-width")); Real ind = n ? 0.0 : def->get_dimension (ly_symbol2scm ("indent")); return Interval (ind, lw); }