From b2f85298979e5d3516c313900cda9c6129b96d25 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Fri, 12 Feb 2016 14:06:25 +0100 Subject: [PATCH] Issue 4770: Avoid unnecessary use of scm_list_n/scm_apply_0 --- lily/engraver.cc | 6 +++--- lily/grob-interface-scheme.cc | 2 +- lily/grob-property.cc | 16 +++++++--------- lily/lookup.cc | 10 ++++------ lily/stencil.cc | 8 ++++---- lily/volta-repeat-iterator.cc | 6 +++--- 6 files changed, 22 insertions(+), 26 deletions(-) diff --git a/lily/engraver.cc b/lily/engraver.cc index 23d7fd9fc2..7891a1b9eb 100644 --- a/lily/engraver.cc +++ b/lily/engraver.cc @@ -137,9 +137,9 @@ Engraver::internal_make_grob (SCM symbol, #ifdef DEBUG if (ly_is_procedure (creation_callback)) - scm_apply_0 (creation_callback, - scm_list_n (grob->self_scm (), scm_from_utf8_string (file), - scm_from_int (line), scm_from_ascii_string (fun), SCM_UNDEFINED)); + scm_call_4 (creation_callback, + grob->self_scm (), scm_from_utf8_string (file), + scm_from_int (line), scm_from_ascii_string (fun)); #endif return grob; diff --git a/lily/grob-interface-scheme.cc b/lily/grob-interface-scheme.cc index 843420c9df..3d5fa39a07 100644 --- a/lily/grob-interface-scheme.cc +++ b/lily/grob-interface-scheme.cc @@ -32,7 +32,7 @@ internal_add_interface (SCM a, SCM b, SCM c) scm_permanent_object (tab); } - SCM entry = scm_list_n (a, b, c, SCM_UNDEFINED); + SCM entry = scm_list_3 (a, b, c); scm_hashq_set_x (all_ifaces, a, entry); } diff --git a/lily/grob-property.cc b/lily/grob-property.cc index 5842662757..1129e48157 100644 --- a/lily/grob-property.cc +++ b/lily/grob-property.cc @@ -94,10 +94,9 @@ Grob::instrumented_set_property (SCM sym, SCM v, SCM Grob::get_property_alist_chain (SCM def) const { - return scm_list_n (mutable_property_alist_, + return scm_list_3 (mutable_property_alist_, immutable_property_alist_, - def, - SCM_UNDEFINED); + def); } extern void check_interfaces_for_property (Grob const *me, SCM sym); @@ -248,12 +247,11 @@ Grob::try_callback_on_alist (SCM *alist, SCM sym, SCM proc) { #ifdef DEBUG if (ly_is_procedure (cache_callback)) - scm_apply_0 (cache_callback, - scm_list_n (self_scm (), - sym, - proc, - value, - SCM_UNDEFINED)); + scm_call_4 (cache_callback, + self_scm (), + sym, + proc, + value); #endif internal_set_value_on_alist (alist, sym, value); } diff --git a/lily/lookup.cc b/lily/lookup.cc index bad54405eb..35aa926720 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -75,11 +75,10 @@ Lookup::beam (Real slope, Real width, Real thick, Real blot) scm_cons (scm_from_double (p[Y_AXIS]), points)); - SCM expr = scm_list_n (ly_symbol2scm ("polygon"), + SCM expr = scm_list_4 (ly_symbol2scm ("polygon"), ly_quote_scm (points), scm_from_double (blot), - SCM_BOOL_T, - SCM_UNDEFINED); + SCM_BOOL_T); return Stencil (b, expr); } @@ -373,11 +372,10 @@ Lookup::round_filled_polygon (vector const &points, } shrunk_box.widen (0.5*blotdiameter, 0.5*blotdiameter); box.unite (shrunk_box); - SCM polygon_scm = scm_list_n (ly_symbol2scm ("polygon"), + SCM polygon_scm = scm_list_4 (ly_symbol2scm ("polygon"), ly_quote_scm (shrunk_points_scm), scm_from_double (blotdiameter), - SCM_BOOL_T, - SCM_UNDEFINED); + SCM_BOOL_T); Stencil polygon = Stencil (box, polygon_scm); return polygon; diff --git a/lily/stencil.cc b/lily/stencil.cc index 987a879053..3da1869541 100644 --- a/lily/stencil.cc +++ b/lily/stencil.cc @@ -104,10 +104,10 @@ Stencil::rotate_degrees_absolute (Real a, Offset absolute_off) * *this = rotated() */ - expr_ = scm_list_n (ly_symbol2scm ("rotate-stencil"), + expr_ = scm_list_3 (ly_symbol2scm ("rotate-stencil"), scm_list_2 (scm_from_double (a), scm_cons (scm_from_double (x), scm_from_double (y))), - expr_, SCM_UNDEFINED); + expr_); /* * Calculate the new bounding box @@ -167,9 +167,9 @@ Stencil::translate (Offset o) } if (!scm_is_null (expr_)) - expr_ = scm_list_n (ly_symbol2scm ("translate-stencil"), + expr_ = scm_list_3 (ly_symbol2scm ("translate-stencil"), ly_offset2scm (o), - expr_, SCM_UNDEFINED); + expr_); dim_.translate (o); } diff --git a/lily/volta-repeat-iterator.cc b/lily/volta-repeat-iterator.cc index 85a2c127ab..d126605795 100644 --- a/lily/volta-repeat-iterator.cc +++ b/lily/volta-repeat-iterator.cc @@ -129,7 +129,7 @@ Volta_repeat_iterator::next_element (bool side_effect) else { - add_repeat_command (scm_list_n (ly_symbol2scm ("volta"), SCM_BOOL_F, SCM_UNDEFINED)); + add_repeat_command (scm_list_2 (ly_symbol2scm ("volta"), SCM_BOOL_F)); if (done_count_ - 1 < alt_count_) { @@ -148,8 +148,8 @@ Volta_repeat_iterator::next_element (bool side_effect) repstr = "1.--" + ::to_string (rep_count_ - alt_count_ + done_count_) + "."; if (done_count_ <= alt_count_) - add_repeat_command (scm_list_n (ly_symbol2scm ("volta"), - ly_string2scm (repstr), SCM_UNDEFINED)); + add_repeat_command (scm_list_2 (ly_symbol2scm ("volta"), + ly_string2scm (repstr))); } else add_repeat_command (ly_symbol2scm ("end-repeat")); -- 2.39.2