Hi, Here's a simple patch to fix this, which stops localKeySignature remembering a tied accidental if 'forced is set.
I've attached the result of doing `make check'; though there appears to be a regression in spacing-accidental-tie.ly, it's actually the result of removing the spurious sharp in bar 5. Regards, Neil
<<attachment: lily-20481132.compare.jpeg>>
From be2ccb5631a48694e8bacc4384e95d5ca7d9fc70 Mon Sep 17 00:00:00 2001
From: Neil Puttock <[EMAIL PROTECTED]>
Date: Tue, 15 Jul 2008 22:31:34 +0100
Subject: [PATCH] Fix 418.
Don't remember a tied accidental in localKeySignature if 'forced is set.
---
input/regression/accidental-tie-forced.ly | 17 +++++++++++++++++
lily/accidental-engraver.cc | 3 ++-
2 files changed, 19 insertions(+), 1 deletions(-)
create mode 100644 input/regression/accidental-tie-forced.ly
diff --git a/input/regression/accidental-tie-forced.ly b/input/regression/accidental-tie-forced.ly
new file mode 100644
index 0000000..e5c24dd
--- /dev/null
+++ b/input/regression/accidental-tie-forced.ly
@@ -0,0 +1,17 @@
+\version "2.11.53"
+
+\header {
+ texidoc = "Cautionary accidentals applied to tied notes after a
+bar line are valid for the whole measure."
+}
+
+notes = \relative c' {
+ fis1 ~
+ fis!2 fis ~
+ fis?2 fis
+}
+
+<<
+ \new NoteNames \notes
+ \new Staff \notes
+>>
diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc
index 211cbe4..9a5986d 100644
--- a/lily/accidental-engraver.cc
+++ b/lily/accidental-engraver.cc
@@ -480,7 +480,8 @@ Accidental_engraver::stop_translation_timestep ()
&& origin->where_defined (ly_symbol2scm ("localKeySignature"), &localsig))
{
bool change = false;
- if (accidentals_[i].tied_)
+ if (accidentals_[i].tied_
+ && accidentals_[i].accidental_->get_property ("forced") != SCM_BOOL_T)
{
/*
Remember an alteration that is different both from
--
1.5.4.3
_______________________________________________ lilypond-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-devel
