]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/page-breaking.cc
parser: allow Scheme expressions for unsigned_number
[lilypond.git] / lily / page-breaking.cc
index 692244b897063daab340b814da73529beee58642..a5b03f51e8567952e3f00accec6976432a62c82b 100644 (file)
@@ -195,7 +195,6 @@ compress_lines (const vector<Line_details> &orig)
       else
         {
           ret.push_back (orig[i]);
-          ret.back ().force_ = 0;
         }
     }
   return ret;
@@ -504,7 +503,7 @@ Page_breaking::page_height (int page_num, bool last) const
   // This means that we won't cache properly if page_num is negative or
   // if calc_height returns a negative number.  But that's likely to
   // be rare, so it shouldn't affect performance.
-  vector<Real>cache = last ? last_page_height_cache_ : page_height_cache_;
+  vector<Real> &cache = last ? last_page_height_cache_ : page_height_cache_;
   if (page_num >= 0 && (int) cache.size () > page_num && cache[page_num] >= 0)
     return cache[page_num];
   else
@@ -1224,11 +1223,11 @@ Page_breaking::blank_page_penalty () const
   SCM penalty_sym;
 
   if (is_last ())
-    penalty_sym = ly_symbol2scm ("blank-last-page-force");
+    penalty_sym = ly_symbol2scm ("blank-last-page-penalty");
   else if (ends_score ())
-    penalty_sym = ly_symbol2scm ("blank-after-score-page-force");
+    penalty_sym = ly_symbol2scm ("blank-after-score-page-penalty");
   else
-    penalty_sym = ly_symbol2scm ("blank-page-force");
+    penalty_sym = ly_symbol2scm ("blank-page-penalty");
 
   Break_position const &pos = breaks_[current_end_breakpoint_];
   if (Paper_score *ps = system_specs_[pos.system_spec_index_].pscore_)
@@ -1437,7 +1436,9 @@ Page_breaking::finalize_spacing_result (vsize configuration, Page_spacing_result
       line_penalty += uncompressed_line_details_[i].break_penalty_;
     }
 
-  for (vsize i = 0; i < res.force_.size (); i++)
+  for (vsize i = ragged () ? res.force_.size () - 1 : 0;
+       i < res.force_.size () - ragged_last ();
+       i++)
     {
       Real f = res.force_[i];