From: David Kastrup Date: Wed, 20 Mar 2013 09:57:27 +0000 (+0100) Subject: Text_interface::is_markup should reject markup-list-command calls X-Git-Tag: release/2.17.16-1~33 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=c5c999bde07947c1e5a168436e3159e11c1cb610;p=lilypond.git Text_interface::is_markup should reject markup-list-command calls --- diff --git a/lily/text-interface.cc b/lily/text-interface.cc index 862e7af0b5..c406beaab5 100644 --- a/lily/text-interface.cc +++ b/lily/text-interface.cc @@ -109,12 +109,10 @@ Text_interface::interpret_markup (SCM layout_smob, SCM props, SCM markup) { if (scm_is_string (markup)) return interpret_string (layout_smob, props, markup); - else if (scm_is_pair (markup)) + else if (is_markup (markup)) { SCM func = scm_car (markup); SCM args = scm_cdr (markup); - if (!is_markup (markup)) - programming_error ("markup head has no markup signature"); /* Use a hare/tortoise algorithm to detect whether we are in a cycle, * i.e. whether we have already encountered the same markup in the @@ -177,11 +175,14 @@ Text_interface::print (SCM grob) bool Text_interface::is_markup (SCM x) { - return (scm_is_string (x) - || (scm_is_pair (x) - && SCM_BOOL_F - != scm_object_property (scm_car (x), - ly_symbol2scm ("markup-signature")))); + return scm_is_string (x) + || (scm_is_pair (x) + && scm_is_true + (scm_object_property (scm_car (x), + ly_symbol2scm ("markup-signature"))) + && scm_is_false + (scm_object_property (scm_car (x), + ly_symbol2scm ("markup-list-command")))); } bool