X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftext-interface.cc;h=d930cdaa372868622e4624883c4ace2f5539e2a9;hb=fa2752d8e32002aa240d97a763f1bfcf35bd6aa0;hp=f45d06ac3bb2bb1d3eaa57eaefbf82dce9034147;hpb=324ff94afc62c7011b7377f24392f95391ed3b84;p=lilypond.git diff --git a/lily/text-interface.cc b/lily/text-interface.cc index f45d06ac3b..d930cdaa37 100644 --- a/lily/text-interface.cc +++ b/lily/text-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify @@ -33,6 +33,7 @@ #include "program-option.hh" #include "international.hh" #include "warn.hh" +#include "lily-imports.hh" static void replace_special_characters (string &str, SCM props) @@ -76,7 +77,7 @@ Text_interface::interpret_string (SCM layout_smob, LY_ASSERT_TYPE (scm_is_string, markup, 3); string str = ly_scm2string (markup); - Output_def *layout = Output_def::unsmob (layout_smob); + Output_def *layout = unsmob (layout_smob); Font_metric *fm = select_encoded_font (layout, props); replace_special_characters (str, props); @@ -89,9 +90,9 @@ Text_interface::interpret_string (SCM layout_smob, SCM encoding = ly_chain_assoc_get (ly_symbol2scm ("font-encoding"), props, SCM_BOOL_F); - SCM music_encodings = ly_lily_module_constant ("all-music-font-encodings"); + SCM music_encodings = Lily::all_music_font_encodings; - bool is_music = (scm_memq (encoding, music_encodings) != SCM_BOOL_F); + bool is_music = scm_is_true (scm_memq (encoding, music_encodings)); return fm->text_stencil (layout, str, is_music).smobbed_copy (); } @@ -133,6 +134,7 @@ Text_interface::interpret_markup (SCM layout_smob, SCM props, SCM markup) scm_dynwind_unwind_handler (markup_down_depth, 0, SCM_F_WIND_EXPLICITLY); if (markup_depth > max_depth) { + scm_dynwind_end (); string name = ly_symbol2string (scm_procedure_name (func)); // TODO: Also print the arguments of the markup! non_fatal_error (_f ("Markup depth exceeds maximal value of %d; " @@ -159,7 +161,7 @@ MAKE_SCHEME_CALLBACK (Text_interface, print, 1); SCM Text_interface::print (SCM grob) { - Grob *me = Grob::unsmob (grob); + Grob *me = unsmob (grob); SCM t = me->get_property ("text"); SCM chain = Font_interface::text_font_alist_chain (me); @@ -183,8 +185,7 @@ Text_interface::is_markup (SCM x) bool Text_interface::is_markup_list (SCM x) { - SCM music_list_p = ly_lily_module_constant ("markup-list?"); - return scm_is_true (scm_call_1 (music_list_p, x)); + return scm_is_true (Lily::markup_list_p (x)); } ADD_INTERFACE (Text_interface,