]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 2975: beam.cc: let a loop run backwards for better Scheme-fu.
authorDavid Kastrup <dak@gnu.org>
Fri, 18 Nov 2011 11:18:55 +0000 (12:18 +0100)
committerDavid Kastrup <dak@gnu.org>
Fri, 30 Nov 2012 12:37:25 +0000 (13:37 +0100)
lily/beam.cc

index 814d5def3cef4be9869b7af6894fffcd8fef4e97..4a2e752947bcf753815e151e207f1cae6f7b562d 100644 (file)
@@ -640,16 +640,14 @@ Beam::calc_beam_segments (SCM smob)
     }
 
   SCM segments_scm = SCM_EOL;
-  SCM *tail = &segments_scm;
 
-  for (vsize i = 0; i < segments.size (); i++)
+  for (vsize i = segments.size (); i--;)
     {
-      *tail = scm_cons (scm_list_2 (scm_cons (ly_symbol2scm ("vertical-count"),
-                                              scm_from_int (segments[i].vertical_count_)),
-                                    scm_cons (ly_symbol2scm ("horizontal"),
-                                              ly_interval2scm (segments[i].horizontal_))),
-                        SCM_EOL);
-      tail = SCM_CDRLOC (*tail);
+      segments_scm = scm_cons (scm_list_2 (scm_cons (ly_symbol2scm ("vertical-count"),
+                                                    scm_from_int (segments[i].vertical_count_)),
+                                          scm_cons (ly_symbol2scm ("horizontal"),
+                                                    ly_interval2scm (segments[i].horizontal_))),
+                              segments_scm);
     }
 
   return segments_scm;