From 84fd4c148283e5f0f1a2fb377d9db7d6cb8c5d0a Mon Sep 17 00:00:00 2001
From: Han-Wen Nienhuys <hanwen@xs4all.nl>
Date: Wed, 28 Jul 2004 20:04:43 +0000
Subject: [PATCH] (stop_translation_timestep): remember tie definition, so
 \override works as expected.

---
 ChangeLog            |  3 +++
 lily/tie-engraver.cc | 10 ++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index cc7046637b..991b89c24e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-07-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+	* lily/tie-engraver.cc (stop_translation_timestep): remember tie
+	definition, so \override works as expected.
+
 	* lily/measure-grouping-engraver.cc: clarify
 
 2004-07-27  Han-Wen Nienhuys   <hanwen@xs4all.nl>
diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc
index 8c41856475..7d2b83d82c 100644
--- a/lily/tie-engraver.cc
+++ b/lily/tie-engraver.cc
@@ -11,6 +11,7 @@
 #include "tie.hh"
 #include "context.hh"
 
+#include "protected-scm.hh"
 #include "spanner.hh"
 #include "tie-column.hh"
 #include "engraver.hh"
@@ -35,6 +36,7 @@ class Tie_engraver : public Engraver
   Link_array<Grob> now_heads_;
   Link_array<Grob> heads_to_tie_;
   Link_array<Grob> ties_;
+  Protected_scm tie_start_definition_;
   
   Spanner * tie_column_;
   
@@ -74,7 +76,9 @@ void
 Tie_engraver::process_music ()
 {
   if (event_)
-    context ()->set_property ("tieMelismaBusy", SCM_BOOL_T);
+    {
+      context ()->set_property ("tieMelismaBusy", SCM_BOOL_T);
+    }
 }
 
 void
@@ -97,7 +101,8 @@ Tie_engraver::acknowledge_grob (Grob_info i)
 	      && ly_c_equal_p (right_mus->get_property ("pitch"),
 			     left_mus->get_property ("pitch")))
 	    {
-	      Grob * p = make_spanner ("Tie", last_event_->self_scm ());
+	      Grob * p = new Spanner  (tie_start_definition_);
+	      announce_grob (p, last_event_->self_scm ());
 	      Tie::set_interface (p); // cannot remove yet!
 	  
 	      Tie::set_head (p, LEFT, th);
@@ -145,6 +150,7 @@ Tie_engraver::stop_translation_timestep ()
   
   if (event_)
     {
+      tie_start_definition_ = updated_grob_properties (context (), ly_symbol2scm ("Tie"));
       heads_to_tie_ = now_heads_;
       last_event_ = event_;
     }
-- 
2.39.5