From: David Kastrup Date: Fri, 18 Nov 2011 11:18:55 +0000 (+0100) Subject: Issue 2975: beam.cc: let a loop run backwards for better Scheme-fu. X-Git-Tag: release/2.17.8-1~7 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a872029890caed040a6f58bedafe5a411322bd24;p=lilypond.git Issue 2975: beam.cc: let a loop run backwards for better Scheme-fu. --- 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;