X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpaper-book.cc;h=f6d008f1db2dc01005f7cff47370e556203bd088;hb=94c0a1343826f84fc78006d07f6ed92e82b6ec02;hp=b5870bdd887e2c7426a96c67a79732ae350ba412;hpb=863b09e94acb2b3e543cb68b096e8b40db1889f1;p=lilypond.git diff --git a/lily/paper-book.cc b/lily/paper-book.cc index b5870bdd88..f6d008f1db 100644 --- a/lily/paper-book.cc +++ b/lily/paper-book.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2011 Jan Nieuwenhuizen + Copyright (C) 2004--2012 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -580,10 +580,11 @@ Paper_book::systems () systems_ = SCM_EOL; if (scm_is_pair (bookparts_)) { + SCM system_list = SCM_EOL; for (SCM p = bookparts_; scm_is_pair (p); p = scm_cdr (p)) if (Paper_book *pbookpart = unsmob_paper_book (scm_car (p))) - systems_ = scm_append_x (scm_list_2 (systems_, - pbookpart->systems ())); + system_list = scm_cons (pbookpart->systems (), system_list); + systems_ = scm_append (scm_reverse_x (system_list, SCM_EOL)); } else { @@ -596,15 +597,14 @@ Paper_book::systems () SCM system_list = scm_vector_to_list (pscore->get_paper_systems ()); - system_list = scm_reverse (system_list); - systems_ = scm_append (scm_list_2 (system_list, systems_)); + systems_ = scm_reverse_x (system_list, systems_); } else { systems_ = scm_cons (scm_car (s), systems_); } } - systems_ = scm_reverse (systems_); + systems_ = scm_reverse_x (systems_, SCM_EOL); /* backwards compatibility for the old page breaker */ int i = 0;