From a872029890caed040a6f58bedafe5a411322bd24 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Fri, 18 Nov 2011 12:18:55 +0100 Subject: [PATCH] Issue 2975: beam.cc: let a loop run backwards for better Scheme-fu. --- lily/beam.cc | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lily/beam.cc b/lily/beam.cc index 814d5def3c..4a2e752947 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -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; -- 2.39.5