]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/paper-book.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / paper-book.cc
index c16870f30db900c3bfed889cb8ef1b9c9cfdc6d8..8ef498aaec847516fe388469e4d3f9db22e25bd8 100644 (file)
@@ -279,7 +279,7 @@ Paper_book::get_system_specs ()
                  paper_->self_scm ());
 
   SCM header = SCM_EOL;
-  for (SCM s = scm_reverse (scores_); scm_is_pair (s); s = scm_cdr (s))
+  for (SCM s = scm_reverse (scores_); s != SCM_EOL; s = scm_cdr (s))
     {
       if (ly_is_module (scm_car (s)))
        {
@@ -358,7 +358,7 @@ Paper_book::systems ()
 
   int i = 0;
   Prob *last = 0;
-  for (SCM s = systems_; scm_is_pair (s); s = scm_cdr (s))
+  for (SCM s = systems_; s != SCM_EOL; s = scm_cdr (s))
     {
       Prob *ps = unsmob_prob (scm_car (s));
       ps->set_property ("number", scm_from_int (++i));
@@ -381,21 +381,7 @@ Paper_book::pages ()
 
   pages_ = SCM_EOL;
   SCM proc = paper_->c_variable ("page-breaking");
-  pages_ = scm_apply_0 (proc, scm_list_1(self_scm ()));
-
-  /* set systems_ from the pages */
-  if (systems_ == SCM_BOOL_F)
-    {
-      systems_ = SCM_EOL;
-      for (SCM p = pages_; scm_is_pair (p); p = scm_cdr (p))
-       {
-         Prob *page = unsmob_prob (scm_car (p));
-         SCM systems = page->get_property ("lines");
-
-         systems_ = scm_append (scm_list_2 (systems_, systems));
-       }
-    }
-
+  pages_ = scm_apply_0 (proc, scm_list_2 (systems (), self_scm ()));
   return pages_;
 }