From a97aa82cab364626bc8e30693e8b3ffd8f97a9fd Mon Sep 17 00:00:00 2001
From: Han-Wen Nienhuys <hanwen@xs4all.nl>
Date: Wed, 10 Jan 2007 03:24:21 +0100
Subject: [PATCH] Only set stopped_tuplets_ when actually erasing a tuplet
 bracket. Fixes odd spacing and programming errors with Cary.

Conflicts:

	lily/spacing-spanner.cc
---
 lily/spacing-spanner.cc | 4 ++++
 lily/tuplet-engraver.cc | 8 +++++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc
index e6024b3439..4dd45bfd24 100644
--- a/lily/spacing-spanner.cc
+++ b/lily/spacing-spanner.cc
@@ -321,6 +321,9 @@ Spacing_spanner::musical_column_spacing (Grob *me,
 
 	  if (!Paper_column::is_musical (right_col))
 	    {
+	      /*
+		reconsider this: breaks with wide marks/tempos/etc.
+	       */
 	      Real left_col_stick_out = robust_relative_extent (left_col, left_col,  X_AXIS)[RIGHT];
 	      compound_fixed_note_space = max (left_col_stick_out, options->increment_);
 
@@ -397,6 +400,7 @@ Spacing_spanner::musical_column_spacing (Grob *me,
   Spaceable_grob::add_spring (left_col, right_col, distance, inverse_strength);
 }
 
+
 /*
   Read hints from L and generate springs.
 */
diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc
index 7592e98a08..41b9aa894a 100644
--- a/lily/tuplet-engraver.cc
+++ b/lily/tuplet-engraver.cc
@@ -108,9 +108,11 @@ Tuplet_engraver::process_music ()
   Moment now = now_mom();
   for (vsize i = tuplets_.size (); i --; )
     {
-      stopped_tuplets_.push_back (tuplets_[i]);
       if (tuplets_[i].stop_moment_ == now)
-	tuplets_.erase (tuplets_.begin () + i);
+	{
+	  stopped_tuplets_.push_back (tuplets_[i]);
+	  tuplets_.erase (tuplets_.begin () + i);
+	}
     }
   
   for (vsize i = 0; i < stopped_tuplets_.size (); i++)
@@ -134,7 +136,7 @@ Tuplet_engraver::process_music ()
 	      bracket->set_bound (RIGHT,
 				  bracket->get_bound (LEFT));
 	      number->set_bound (RIGHT,
-						      stopped_tuplets_[i].bracket_->get_bound (LEFT));
+				 stopped_tuplets_[i].bracket_->get_bound (LEFT));
 	    }
 	  
 	  // todo: scrap last_tuplets_, use stopped_tuplets_ only.
-- 
2.39.5