]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 4770: Avoid unnecessary use of scm_list_n/scm_apply_0
authorDavid Kastrup <dak@gnu.org>
Fri, 12 Feb 2016 13:06:25 +0000 (14:06 +0100)
committerDavid Kastrup <dak@gnu.org>
Fri, 4 Mar 2016 11:37:10 +0000 (12:37 +0100)
lily/engraver.cc
lily/grob-interface-scheme.cc
lily/grob-property.cc
lily/lookup.cc
lily/stencil.cc
lily/volta-repeat-iterator.cc

index 23d7fd9fc2701b0f795d024b70326d44c164dc21..7891a1b9eb8fe17f44409f314ef6be32fe4d229c 100644 (file)
@@ -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;
index 843420c9dff1b10d929774e0aeb09d564c6ff3ca..3d5fa39a074314ddd4413e4ad3a2c75113b0be36 100644 (file)
@@ -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);
 }
index 5842662757b4650bba19c7fd5f68f5fd8f0dbe97..1129e481571672c1170c3a9e7da4e7ff30b24762 100644 (file)
@@ -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);
     }
index bad54405eb0b4d73b039493f6c8eeacc902b049e..35aa926720f979f812fde1f0ec04b3a4f6ab1976 100644 (file)
@@ -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<Offset> 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;
index 987a879053dd808f7775c4b52ae94eb1d7438b09..3da186954132a5cfc3940471e116671bac07faf0 100644 (file)
@@ -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);
 }
 
index 85a2c127ab6b570da98256a930b9e1d0bd0bd794..d12660579519601dfb43aff0a1ebd31be75b3478 100644 (file)
@@ -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"));