From: hanwen <hanwen>
Date: Tue, 26 Aug 2003 14:07:34 +0000 (+0000)
Subject: * configure.in: bump GCC requirements to 3.x
X-Git-Tag: release/1.9.5~56
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=79b58450f2c0d5c8637ab6622c8fc7d2c26edacc;p=lilypond.git

* configure.in: bump GCC requirements to 3.x

* lily/include/audio-item.hh (class Audio_tie): rename
note_l_drul_ to note_drul_

* lily/tie-performer.cc (class Tie_performer): patch for new ties.

* lily/beam-engraver.cc: move new-beam-event to beam-event

* lily/tie-engraver.cc (class Tie_engraver): move New_tie_engraver
to Tie_engraver
---

diff --git a/ChangeLog b/ChangeLog
index cbc8d898c0..9b6dd7ffd1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2003-08-26  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
+	* configure.in: bump GCC requirements to 3.x
+
+	* lily/include/audio-item.hh (class Audio_tie): rename
+	note_l_drul_ to note_drul_
+
+	* lily/tie-performer.cc (class Tie_performer): patch for new ties.
+
 	* lily/parser.yy (relative_music): whoops. All \relative were off
 	by ...  a lot .... Ahem.
 
diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi
index 913644d1f8..7581d9c4f0 100644
--- a/Documentation/topdocs/INSTALL.texi
+++ b/Documentation/topdocs/INSTALL.texi
@@ -79,7 +79,7 @@ You need the following packages to compile LilyPond:
 @item
  @uref{http://gcc.gnu.org/,
 The GNU c++ compiler} (version 3.1 or newer).
-EGCS 1.1 may work, but is no longer supported.
+EGCS and 2.x are known to cause crashes.
 
 @item @uref{http://www.python.org,Python} (version 2.1 or newer).
 
@@ -357,6 +357,8 @@ set include paths for kpathsea.
 @item The flex precompiled in NetBSD-1.4.2 is broken.
 Upgrade to flex-2.5.4a.
 
+@ignore
+@c is this current?
 @item The configuration of Gcc (egcs-2.91.60 19981201 (egcs-1.1.1
 release)) does not include @file{/usr/pkg} paths.  Configure it using:
 @example
@@ -364,6 +366,7 @@ release)) does not include @file{/usr/pkg} paths.  Configure it using:
 	CFLAGS='-I /usr/pkg/include' LDFLAGS='-L/usr/pkg/lib' ./configure
 
 @end example
+@end ignore
 
 @end itemize
 
diff --git a/configure.in b/configure.in
index da18169b13..d9fd097efa 100644
--- a/configure.in
+++ b/configure.in
@@ -28,7 +28,7 @@ STEPMAKE_COMPILE
 STEPMAKE_PYTHON(REQUIRED,2.1)
 STEPMAKE_GCC(REQUIRED, 2.8)
 STEPMAKE_CXX(REQUIRED)
-STEPMAKE_GXX(REQUIRED, 2.95)
+STEPMAKE_GXX(REQUIRED, 3.0)
 STEPMAKE_CXXTEMPLATE
 STEPMAKE_LIB(REQUIRED)
 # Do not use bison 1.50 and 1.75.
diff --git a/input/regression/tie-chord-partial.ly b/input/regression/tie-chord-partial.ly
index c6bd6357fe..121b070c56 100644
--- a/input/regression/tie-chord-partial.ly
+++ b/input/regression/tie-chord-partial.ly
@@ -21,11 +21,9 @@ to a different thread."
 \translator {
   \ThreadContext
   \consists "Tie_engraver"
-  \consists "New_tie_engraver"
 }
 \translator { \VoiceContext
   \remove "Tie_engraver"
-  \remove "New_tie_engraver"
 }
 }}
 
diff --git a/input/test/add-staccato.ly b/input/test/add-staccato.ly
index 09c1371bd2..c42f94a63b 100644
--- a/input/test/add-staccato.ly
+++ b/input/test/add-staccato.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header {
diff --git a/input/test/ancient-accidentals.ly b/input/test/ancient-accidentals.ly
index c2c64ceab5..fb98e13d53 100644
--- a/input/test/ancient-accidentals.ly
+++ b/input/test/ancient-accidentals.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \header {
 texidoc = "@cindex Ancient Accidentals
 Accidentals are available in different ancient styles. This
diff --git a/input/test/bar-always.ly b/input/test/bar-always.ly
index da3ca6b5a6..1c321467a3 100644
--- a/input/test/bar-always.ly
+++ b/input/test/bar-always.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
 
diff --git a/input/test/bar-lines.ly b/input/test/bar-lines.ly
index 70f21d6810..3a164bab30 100644
--- a/input/test/bar-lines.ly
+++ b/input/test/bar-lines.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
     texidoc = "@cindex Bar Lines
diff --git a/input/test/bar-number-show-all.ly b/input/test/bar-number-show-all.ly
index 91848ef8d1..65ef473ee7 100644
--- a/input/test/bar-number-show-all.ly
+++ b/input/test/bar-number-show-all.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{
     texidoc="@cindex Bar Number Show All
diff --git a/input/test/beam-auto-4-8.ly b/input/test/beam-auto-4-8.ly
index fe9a9ff08c..a90532f427 100644
--- a/input/test/beam-auto-4-8.ly
+++ b/input/test/beam-auto-4-8.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % keep for now, although merging into beam-auto-override is a possibility.
 \header {
diff --git a/input/test/beam-auto-override.ly b/input/test/beam-auto-override.ly
index 562ed46e00..f007c793a7 100644
--- a/input/test/beam-auto-override.ly
+++ b/input/test/beam-auto-override.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
 
diff --git a/input/test/beam-auto.ly b/input/test/beam-auto.ly
index 400ee4a643..47c68d1346 100644
--- a/input/test/beam-auto.ly
+++ b/input/test/beam-auto.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{
 	texidoc = "@cindex Beaming Presets
diff --git a/input/test/beam-control.ly b/input/test/beam-control.ly
index 2954c76102..827c540fb1 100644
--- a/input/test/beam-control.ly
+++ b/input/test/beam-control.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{
     texidoc="@cindex Beam Position Control
diff --git a/input/test/beam-count.ly b/input/test/beam-count.ly
index 1e5b7d01fe..16364f953b 100644
--- a/input/test/beam-count.ly
+++ b/input/test/beam-count.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{
 	texidoc="@cindex Beam Count
diff --git a/input/test/beam-dir-functions.ly b/input/test/beam-dir-functions.ly
index d4969bc606..dac6ac949d 100644
--- a/input/test/beam-dir-functions.ly
+++ b/input/test/beam-dir-functions.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
   texidoc = "@cindex Beam Dir Functions
diff --git a/input/test/beam-isknee.ly b/input/test/beam-isknee.ly
index fc87e7b784..563663d7cd 100644
--- a/input/test/beam-isknee.ly
+++ b/input/test/beam-isknee.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{
 	texidoc="@cindex Beam Isknee
diff --git a/input/test/beam-neutral-direction.ly b/input/test/beam-neutral-direction.ly
index b5848bbd88..507beb6353 100644
--- a/input/test/beam-neutral-direction.ly
+++ b/input/test/beam-neutral-direction.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{
 	texidoc="@cindex Beam Neutral Direction
diff --git a/input/test/blank-notes.ly b/input/test/blank-notes.ly
index 1c96ce7247..0798c806be 100644
--- a/input/test/blank-notes.ly
+++ b/input/test/blank-notes.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % possible rename to invis-notes.ly
 % check if other documents call this "blank notes", though.  I think
diff --git a/input/test/boxed-molecule.ly b/input/test/boxed-molecule.ly
index fd873045d8..f7a243b495 100644
--- a/input/test/boxed-molecule.ly
+++ b/input/test/boxed-molecule.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
 texidoc = "@cindex Boxed Molecule
diff --git a/input/test/caps.ly b/input/test/caps.ly
index 6fc6a94a0a..d9acee507e 100644
--- a/input/test/caps.ly
+++ b/input/test/caps.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
 texidoc =  "@cindex Capital Letters
diff --git a/input/test/clef-8-syntax.ly b/input/test/clef-8-syntax.ly
index ded15d04da..a56b71766b 100644
--- a/input/test/clef-8-syntax.ly
+++ b/input/test/clef-8-syntax.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
     texidoc = "@cindex Chord Octavation
diff --git a/input/test/coriolan-margin.ly b/input/test/coriolan-margin.ly
index 6e28ba7353..eab0363521 100644
--- a/input/test/coriolan-margin.ly
+++ b/input/test/coriolan-margin.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 
diff --git a/input/test/count-systems.ly b/input/test/count-systems.ly
index 57b425f325..e36e589d8f 100644
--- a/input/test/count-systems.ly
+++ b/input/test/count-systems.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{
     
diff --git a/input/test/crescendi.ly b/input/test/crescendi.ly
index 83fb68eb72..b91ffa492a 100644
--- a/input/test/crescendi.ly
+++ b/input/test/crescendi.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{
 	texidoc="@cindex Crescendi
diff --git a/input/test/drarn-slurs.ly b/input/test/drarn-slurs.ly
index b98c25f6ac..928c99e870 100644
--- a/input/test/drarn-slurs.ly
+++ b/input/test/drarn-slurs.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % possible rename to slurs-?
 % TODO: find out what drarn means, and if there's an overlap with drarn.ly
diff --git a/input/test/drarn.ly b/input/test/drarn.ly
index 25f0575c7f..3569f3b771 100644
--- a/input/test/drarn.ly
+++ b/input/test/drarn.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{texidoc="@cindex Drarn
 You can attach slurs and ties to noteheads.
diff --git a/input/test/dynamic-absolute-volume.ly b/input/test/dynamic-absolute-volume.ly
index 21c88addf4..accb180f9c 100644
--- a/input/test/dynamic-absolute-volume.ly
+++ b/input/test/dynamic-absolute-volume.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
     texidoc = "@cindex Dynamic Absolute Volume
diff --git a/input/test/dynamic-extra.ly b/input/test/dynamic-extra.ly
index 86ee253f8c..c27a70b129 100644
--- a/input/test/dynamic-extra.ly
+++ b/input/test/dynamic-extra.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % probably should be merged into refman.
 \header{
diff --git a/input/test/embedded-postscript.ly b/input/test/embedded-postscript.ly
index e9f91f46c0..996cecaf44 100644
--- a/input/test/embedded-postscript.ly
+++ b/input/test/embedded-postscript.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
   texidoc = "@cindex Embedded Postscript
diff --git a/input/test/embedded-scm.ly b/input/test/embedded-scm.ly
index c6c07ad63a..6c8a8af45d 100644
--- a/input/test/embedded-scm.ly
+++ b/input/test/embedded-scm.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % TODO: does this work?  It doesn't do anything with 1.7.20
 \header {texidoc="@cindex Embedded scm
diff --git a/input/test/embedded-tex.ly b/input/test/embedded-tex.ly
index ff00ad55ca..41bb591c21 100644
--- a/input/test/embedded-tex.ly
+++ b/input/test/embedded-tex.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{ texidoc="@cindex Embedded Tex
 You can embed Tex commands in your score. "}
diff --git a/input/test/extra-offset.ly b/input/test/extra-offset.ly
index fbbfd9d8c9..cd9bea2d3d 100644
--- a/input/test/extra-offset.ly
+++ b/input/test/extra-offset.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header { texidoc = "@cindex Scheme Move Notehead
 You can move objects around with scheme.  This example shows how to
diff --git a/input/test/hymn.ly b/input/test/hymn.ly
index e95229d97c..b9a05d4faf 100644
--- a/input/test/hymn.ly
+++ b/input/test/hymn.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc = "
diff --git a/input/test/incipit.ly b/input/test/incipit.ly
index 6677642c8c..9b3074803f 100644
--- a/input/test/incipit.ly
+++ b/input/test/incipit.ly
@@ -33,7 +33,7 @@ violin =  \notes\relative c''{
   \clef treble
 
   a4. b8 c4 fis |
-V  gis~ gis8 fis16^\trill (e) b8 c
+  gis~ gis8 fis16^\trill (e) b8 c
   <{ a d}\\ { es,4}>|
 }
 
diff --git a/input/test/ly2dvi-testpage.ly b/input/test/ly2dvi-testpage.ly
index 2f68490423..58ba2d995d 100644
--- a/input/test/ly2dvi-testpage.ly
+++ b/input/test/ly2dvi-testpage.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % MERGE with title.ly -gp
 
diff --git a/input/test/midi-scales.ly b/input/test/midi-scales.ly
index af72243593..dc44fe8590 100644
--- a/input/test/midi-scales.ly
+++ b/input/test/midi-scales.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % candidate for regression.  -gp
 \header {
diff --git a/input/test/move-specific-text.ly b/input/test/move-specific-text.ly
index 662f108e51..070548742c 100644
--- a/input/test/move-specific-text.ly
+++ b/input/test/move-specific-text.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % possible rename to scheme- or something like that.  -gp
 \header { texidoc = "@cindex Scheme Move Text
diff --git a/input/test/no-bar-lines.ly b/input/test/no-bar-lines.ly
index 480af1c4e9..3f4c8814a7 100644
--- a/input/test/no-bar-lines.ly
+++ b/input/test/no-bar-lines.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % possible rename to bar-lines-foo.  -gp
 
diff --git a/input/test/octave-duplicate.ly b/input/test/octave-duplicate.ly
index 22164c10b2..3eef43f38a 100644
--- a/input/test/octave-duplicate.ly
+++ b/input/test/octave-duplicate.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header { texidoc="@cindex Octave Doubling
 Octave doubling parts of music. "
diff --git a/input/test/part-combine-moments.ly b/input/test/part-combine-moments.ly
index 78d8bc6210..a336eb323f 100644
--- a/input/test/part-combine-moments.ly
+++ b/input/test/part-combine-moments.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % TODO: this example has a ton of text for very little output.
 % Is it all needed?  -gp
diff --git a/input/test/part-combine-staff.ly b/input/test/part-combine-staff.ly
index 2b0f3d70ca..f058a46271 100644
--- a/input/test/part-combine-staff.ly
+++ b/input/test/part-combine-staff.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header { texidoc = "@cindex Part Combine Staff
 You can combine parts on two staffs, as well as two voices. "
diff --git a/input/test/part-combine.ly b/input/test/part-combine.ly
index c4bab60285..c49ebe4178 100644
--- a/input/test/part-combine.ly
+++ b/input/test/part-combine.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header{ texidoc="@cindex Part Combine
diff --git a/input/test/partial-blank.ly b/input/test/partial-blank.ly
index 26667edea6..ed1df85841 100644
--- a/input/test/partial-blank.ly
+++ b/input/test/partial-blank.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % check with invisible-notes or blank-notes.  possible rename. -gp
 \header{ texidoc = "@cindex Partial Blank
diff --git a/input/test/pedal.ly b/input/test/pedal.ly
index 16eab39aa4..c42b66e8a4 100644
--- a/input/test/pedal.ly
+++ b/input/test/pedal.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header{ texidoc = "@cindex Pedal
diff --git a/input/test/phrasing-slur-height.ly b/input/test/phrasing-slur-height.ly
index 141998b181..4a7928a64d 100644
--- a/input/test/phrasing-slur-height.ly
+++ b/input/test/phrasing-slur-height.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header{ texidoc="@cindex Phrasing Slur Height
 Make PhrasingSlur higher, to avoid colission from other slurs. "
diff --git a/input/test/repeat-manual.ly b/input/test/repeat-manual.ly
index 7540bf74e6..d6fb9bcac0 100644
--- a/input/test/repeat-manual.ly
+++ b/input/test/repeat-manual.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header { texidoc = "@cindex Repeat Manual
 You can manually control repeat signs and numbers to produce
diff --git a/input/test/rest-dot-positions.ly b/input/test/rest-dot-positions.ly
index 63d117f706..e580cd4268 100644
--- a/input/test/rest-dot-positions.ly
+++ b/input/test/rest-dot-positions.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % candidate for regression.  -gp
 \header { texidoc = "@cindex Rest Dot Positions
diff --git a/input/test/rests.ly b/input/test/rests.ly
index f50ee2f64b..11f971d49f 100644
--- a/input/test/rests.ly
+++ b/input/test/rests.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {
     texidoc = "@cindex Rests
diff --git a/input/test/reverse-music.ly b/input/test/reverse-music.ly
index 77db66b19d..af74fb2154 100644
--- a/input/test/reverse-music.ly
+++ b/input/test/reverse-music.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % possible rename to scheme-something.
 \header { texidoc="@cindex Scheme Reverse Music
diff --git a/input/test/script-priority.ly b/input/test/script-priority.ly
index 3fc020eb35..b191208b5d 100644
--- a/input/test/script-priority.ly
+++ b/input/test/script-priority.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc = "@cindex Script Priority
diff --git a/input/test/script-stack.ly b/input/test/script-stack.ly
index ce4bd661c4..3ebd6017c4 100644
--- a/input/test/script-stack.ly
+++ b/input/test/script-stack.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc = "@cindex Stacked Text Articulation
diff --git a/input/test/separate-staccato.ly b/input/test/separate-staccato.ly
index feb6e20488..643b05f850 100644
--- a/input/test/separate-staccato.ly
+++ b/input/test/separate-staccato.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % possible rename.  -gp
 
diff --git a/input/test/slur-attachment-override.ly b/input/test/slur-attachment-override.ly
index 62481132e7..fe3a8679bf 100644
--- a/input/test/slur-attachment-override.ly
+++ b/input/test/slur-attachment-override.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header{
diff --git a/input/test/slur-beautiful.ly b/input/test/slur-beautiful.ly
index 7e9e9f1870..ebe98ee70d 100644
--- a/input/test/slur-beautiful.ly
+++ b/input/test/slur-beautiful.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % TODO bit too wordy; edit a bit to cut stuff.  -gp
 \header { texidoc ="@cindex Slur Beautiful
diff --git a/input/test/slur-minimum-length.ly b/input/test/slur-minimum-length.ly
index c9a98379d1..bb3a5a4600 100644
--- a/input/test/slur-minimum-length.ly
+++ b/input/test/slur-minimum-length.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc = "@cindex Slur Minimum Length
diff --git a/input/test/slur-ugly.ly b/input/test/slur-ugly.ly
index 6974532d8a..6ec95789a2 100644
--- a/input/test/slur-ugly.ly
+++ b/input/test/slur-ugly.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc="@cindex Slur Ugly
diff --git a/input/test/smart-transpose.ly b/input/test/smart-transpose.ly
index 05ed0cda9c..96d7c78fb5 100644
--- a/input/test/smart-transpose.ly
+++ b/input/test/smart-transpose.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header {
diff --git a/input/test/spanner-after-break-tweak.ly b/input/test/spanner-after-break-tweak.ly
index a01d4796b8..f90e43e410 100644
--- a/input/test/spanner-after-break-tweak.ly
+++ b/input/test/spanner-after-break-tweak.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc = "@cindex Spanner after break
diff --git a/input/test/staff-lines.ly b/input/test/staff-lines.ly
index a5f3e51107..e2e6f0b727 100644
--- a/input/test/staff-lines.ly
+++ b/input/test/staff-lines.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc="@cindex Staff Lines
diff --git a/input/test/stem-centered.ly b/input/test/stem-centered.ly
index 36f4500dcd..57e72153cc 100644
--- a/input/test/stem-centered.ly
+++ b/input/test/stem-centered.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % possible rename to ancient- something.
 \header {
diff --git a/input/test/stem-length.ly b/input/test/stem-length.ly
index 8d2b7eb0f7..172a521c18 100644
--- a/input/test/stem-length.ly
+++ b/input/test/stem-length.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header{ texidoc = "@cindex Stem Length
diff --git a/input/test/tablature-hammer.ly b/input/test/tablature-hammer.ly
index 7e6b241648..cb1cffdda6 100644
--- a/input/test/tablature-hammer.ly
+++ b/input/test/tablature-hammer.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 \header {texidoc = "@cindex Tablature hammer
 You can fake a hammer in tablature with slurs. "
diff --git a/input/test/text-spanner.ly b/input/test/text-spanner.ly
index d0c9bb60a0..dad97ad719 100644
--- a/input/test/text-spanner.ly
+++ b/input/test/text-spanner.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % TODO: check about other ottava functions.
 
diff --git a/input/test/textscript.ly b/input/test/textscript.ly
index 710d88f037..811aca0be8 100644
--- a/input/test/textscript.ly
+++ b/input/test/textscript.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc = "@cindex Textscript
diff --git a/input/test/tie-sparse.ly b/input/test/tie-sparse.ly
index d8e714ed90..0aa1a80a8a 100644
--- a/input/test/tie-sparse.ly
+++ b/input/test/tie-sparse.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc = "@cindex Tie Sparse
diff --git a/input/test/time-signature-double.ly b/input/test/time-signature-double.ly
index d5ed3f1f9f..a449b0f7b8 100644
--- a/input/test/time-signature-double.ly
+++ b/input/test/time-signature-double.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header { texidoc= "@cindex Time Signature Double
diff --git a/input/test/time.ly b/input/test/time.ly
index 2043ac8c3d..6ecfe16ed1 100644
--- a/input/test/time.ly
+++ b/input/test/time.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % TODO: This file could be old.  Ask about it later.  -gp
 
diff --git a/input/test/timing.ly b/input/test/timing.ly
index b6ca6232ca..eeed0326e1 100644
--- a/input/test/timing.ly
+++ b/input/test/timing.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 % possible rename to bar-something.
 
diff --git a/input/test/transposition.ly b/input/test/transposition.ly
index 89b9868a21..1e906df1cd 100644
--- a/input/test/transposition.ly
+++ b/input/test/transposition.ly
@@ -1,4 +1,4 @@
-#(ly:set-option 'old-relative)
+
 \version "1.9.1"
 
 \header{ texidoc = "@cindex Transposition
diff --git a/lily/audio-element-info.cc b/lily/audio-element-info.cc
index c38e482b20..7876f47cc1 100644
--- a/lily/audio-element-info.cc
+++ b/lily/audio-element-info.cc
@@ -13,14 +13,14 @@ Audio_element_info::Audio_element_info (Audio_element*s, Music *r)
 {
   elem_ = s;
   origin_trans_ =0;
-  req_ = r;
+  event_ = r;
 }
 
 
 Audio_element_info::Audio_element_info ()
 {
   elem_ = 0;
-  req_ = 0;
+  event_ = 0;
   origin_trans_ =0;
 }
 
diff --git a/lily/audio-item.cc b/lily/audio-item.cc
index c3f2f7f507..dc78d61dc1 100644
--- a/lily/audio-item.cc
+++ b/lily/audio-item.cc
@@ -70,15 +70,15 @@ Audio_text::Audio_text (Audio_text::Type type, String text_string)
 
 Audio_tie::Audio_tie ()
 {
-  note_l_drul_[RIGHT] = 0;
-  note_l_drul_[LEFT] = 0;
+  note_drul_[RIGHT] = 0;
+  note_drul_[LEFT] = 0;
 }
 
 void
 Audio_tie::set_note (Direction d, Audio_note* note)
 {
-  assert (!note_l_drul_[d]);
-  note_l_drul_[d] = note;
+  assert (!note_drul_[d]);
+  note_drul_[d] = note;
   //set_bound (d, head);
 
   //  add_dependency (head);
diff --git a/lily/include/audio-element-info.hh b/lily/include/audio-element-info.hh
index 71df4b4460..392837e214 100644
--- a/lily/include/audio-element-info.hh
+++ b/lily/include/audio-element-info.hh
@@ -18,7 +18,7 @@
   */
 struct Audio_element_info {
   Audio_element * elem_;
-  Music *req_;
+  Music *event_;
   Translator *  origin_trans_;
   Link_array<Translator> origin_transes (Translator*) const;  
 
diff --git a/lily/include/audio-item.hh b/lily/include/audio-item.hh
index c5063b0966..c2869f1d66 100644
--- a/lily/include/audio-item.hh
+++ b/lily/include/audio-item.hh
@@ -108,7 +108,7 @@ class Audio_tie : public Audio_item
 public:
   Audio_tie ();
   void set_note (Direction, Audio_note*);
-  Drul_array<Audio_note*> note_l_drul_;
+  Drul_array<Audio_note*> note_drul_;
 };
 
 class Audio_time_signature : public Audio_item
diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc
index ad6e6b8859..7806f311f7 100644
--- a/lily/tie-engraver.cc
+++ b/lily/tie-engraver.cc
@@ -94,7 +94,7 @@ Tie_engraver::acknowledge_grob (Grob_info i)
     {
       Grob * h  = i.grob_;
       now_heads_.push (h);
-      for  (int  i=heads_to_tie_.size (); i--;)
+      for  (int i = heads_to_tie_.size (); i--;)
 	{
 	  Grob *th =  heads_to_tie_[i];
 	  int staff_pos = gh_scm2int (h->get_grob_property ("staff-position"));
@@ -132,7 +132,6 @@ Tie_engraver::process_acknowledged_grobs ()
 void
 Tie_engraver::stop_translation_timestep ()
 {
-
   if (ties_.size ())
     {
       heads_to_tie_.clear ();
diff --git a/lily/tie-performer.cc b/lily/tie-performer.cc
index dd438f1f20..2129c57a3d 100644
--- a/lily/tie-performer.cc
+++ b/lily/tie-performer.cc
@@ -14,7 +14,7 @@
 #include "performer.hh"
 
 struct CNote_melodic_tuple {
-  Music *req_ ;
+  Music *event_ ;
   Audio_note *note_;
   Moment end_;
   CNote_melodic_tuple ();
@@ -42,10 +42,13 @@ public:
   TRANSLATOR_DECLARATIONS(Tie_performer);
 private:
   bool done_;
-  PQueue<CNote_melodic_tuple> past_notes_pq_;
-  Music *req_;
+  
   Array<CNote_melodic_tuple> now_notes_;
-  Array<CNote_melodic_tuple> stopped_notes_;
+  Array<CNote_melodic_tuple> tied_notes_;
+
+  Music *event_;
+  Music * prev_event_;
+  
   Link_array<Audio_tie> ties_;
   
 protected:
@@ -60,7 +63,7 @@ protected:
 
 Tie_performer::Tie_performer ()
 {
-  req_ = 0;
+  event_ = 0;
   done_ = false;
 }
 
@@ -72,16 +75,16 @@ ENTER_DESCRIPTION (Tie_performer, "", "",
 void
 Tie_performer::initialize ()
 {
-  req_ = 0;
+  event_ = 0;
 }
 
 
 bool
 Tie_performer::try_music (Music *m)
 {
-  if (!req_)
+  if (!event_)
     {
-      req_ = m;
+      event_ = m;
       return true;
     }
   return false;
@@ -92,7 +95,7 @@ Tie_performer::acknowledge_audio_element (Audio_element_info i)
 {
   if (Audio_note *nh = dynamic_cast<Audio_note *> (i.elem_))
     {
-      Music *m = i.req_;
+      Music *m = i.event_;
       if (m->is_mus_type ("note-event"))
 	now_notes_.push (CNote_melodic_tuple (nh, m, now_mom ()+ m->get_length ()));
     }
@@ -101,63 +104,36 @@ Tie_performer::acknowledge_audio_element (Audio_element_info i)
 void
 Tie_performer::create_audio_elements ()
 {
-  if (req_ && ! done_)
-    {
-      Moment now = now_mom ();
-      Link_array<Audio_note> nharr;
-      
-      stopped_notes_.clear ();
-      while (past_notes_pq_.size ()
-	     && past_notes_pq_.front ().end_ == now)
-	stopped_notes_.push (past_notes_pq_.get ());
-      done_ = true;
-      return;
-    }
-
-  if (req_)
+  /*
+    This is a nested loop. Not optimal, but good enough.
+   */
+  if (tied_notes_.size ())
     {
-      now_notes_.sort (CNote_melodic_tuple::pitch_compare);
-      stopped_notes_.sort (CNote_melodic_tuple::pitch_compare);
-      int i=0;
-      int j=0;
-      int tie_count=0;
-      while (i < now_notes_.size () && j < stopped_notes_.size ())
+      Moment now = now_mom();
+      for (int i = tied_notes_.size (); i--; )
 	{
-	  int comp
-	    = Pitch::compare (*unsmob_pitch (now_notes_[i].req_->get_mus_property ("pitch")),
-				      *unsmob_pitch (stopped_notes_[j].req_->get_mus_property ("pitch")));
+	  if (tied_notes_[i].end_ != now)
+	    continue;
 
-	  if (comp)
+	  for (int j = now_notes_.size(); j--;)
 	    {
- (comp < 0) ? i ++ : j++;
-	      continue;
-	    }
-	  else
-	    {
-	      tie_count ++;
+	      int comp
+		= Pitch::compare (*unsmob_pitch (tied_notes_[i].event_->get_mus_property ("pitch")),
+				  *unsmob_pitch (now_notes_[j].event_->get_mus_property ("pitch")));
 
-	      /* don't go around recreating ties that were already
-		 made. Not infallible. Due to reordering in sort (),
-		 we will make the wrong ties when notenotes are
-		 added.  */
-	      if (tie_count > ties_.size ())
+	      if (comp == 0)
 		{
+		  
 		  Audio_tie * p = new Audio_tie;
-		  p->set_note (LEFT, stopped_notes_[j].note_);
-		  p->set_note (RIGHT, now_notes_[i].note_);
+		  p->set_note (LEFT, tied_notes_[i].note_);
+		  p->set_note (RIGHT, now_notes_[j].note_);
 		  ties_.push (p);
-		      announce_element (Audio_element_info (p, req_));
+		  announce_element (Audio_element_info (p, event_));
+
+		  tied_notes_.del (i);
 		}
-	      i++;
-	      j++;
-	      
 	    }
 	}
-      
-      if (!ties_.size ())
-	{
-	  req_->origin ()->warning (_ ("No ties were created!"));
-	}
     }
 }
 
@@ -165,42 +141,62 @@ Tie_performer::create_audio_elements ()
 void
 Tie_performer::stop_translation_timestep ()
 {
-  for (int i=0; i < now_notes_.size (); i++)
+  if (prev_event_ && tied_notes_.size () && !ties_.size ())
     {
-      past_notes_pq_.insert (now_notes_[i]);
+      prev_event_->origin ()->warning (_ ("No ties were performed."));
     }
-  now_notes_.clear ();
+  else
+    prev_event_ = 0;
+  
+  if (event_)
+    {
+      tied_notes_ = now_notes_ ;
+      prev_event_ = event_;
+    }
+  else
+    {
+      tied_notes_.clear (); 
+    }
+
+  event_ = 0;
+  now_notes_ .clear ();
 
   for (int i=0; i<  ties_.size (); i++)
-   {
-     //play_element (ties_[i]);
-     ties_[i]->note_l_drul_[RIGHT]->tie_to (ties_[i]->note_l_drul_[LEFT]);
-   }
+    {
+      ties_[i]->note_drul_[RIGHT]->tie_to (ties_[i]->note_drul_[LEFT]);
+    }
+  
   ties_.clear ();
 }
 
 void
 Tie_performer::start_translation_timestep ()
 {
-  req_ =0;
+  event_ =0;
   done_ = false;
   Moment now = now_mom ();
-  while (past_notes_pq_.size () && past_notes_pq_.front ().end_ < now)
-    past_notes_pq_.delmin ();
+  for (int i= tied_notes_.size ();
+       i -- ;)
+    {
+      if (tied_notes_[i].end_ < now)
+	tied_notes_.del (i);
+      else
+	break ;
+    }
 }
 
 
 CNote_melodic_tuple::CNote_melodic_tuple ()
 {
   note_ =0;
-  req_ =0;
+  event_ =0;
   end_ = 0;
 }
 
 CNote_melodic_tuple::CNote_melodic_tuple (Audio_note *h, Music*m, Moment mom)
 {
   note_ = h;
-  req_ = m;
+  event_ = m;
   end_ = mom;
 }
 
@@ -208,8 +204,8 @@ int
 CNote_melodic_tuple::pitch_compare (CNote_melodic_tuple const&h1,
 				    CNote_melodic_tuple const &h2)
 {
-  SCM p1  = h1.req_->get_mus_property ("pitch");
-  SCM p2  = h2.req_->get_mus_property ("pitch");  
+  SCM p1  = h1.event_->get_mus_property ("pitch");
+  SCM p2  = h2.event_->get_mus_property ("pitch");  
   return Pitch::compare (*unsmob_pitch (p1),
 			       *unsmob_pitch (p2));
 }
diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly
index 065a8e502a..09b78356b8 100644
--- a/ly/engraver-init.ly
+++ b/ly/engraver-init.ly
@@ -212,7 +212,6 @@ ThreadContext = \translator{
 
 	% why here ? 
 	\consists "Output_property_engraver"	
-
 }
 
 
diff --git a/ly/performer-init.ly b/ly/performer-init.ly
index 7edd61bbbb..3a92961ae8 100644
--- a/ly/performer-init.ly
+++ b/ly/performer-init.ly
@@ -19,6 +19,7 @@ VoiceContext = \translator {
 	\name Voice
 	\consists "Dynamic_performer"
 	\consists "Span_dynamic_performer"
+	\consists "Tie_performer"
 	\consists "Piano_pedal_performer"
 	\accepts "Thread"
 }
@@ -27,7 +28,6 @@ ThreadContext = \translator {
 	\type "Performer_group_performer"
 	\name Thread
 	\consists "Note_performer"
-	\consists "Tie_performer"
 }
 
 FiguredBassContext = \translator {
diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py
index 7ae8ccb323..5411f8bc3b 100644
--- a/scripts/lilypond-book.py
+++ b/scripts/lilypond-book.py
@@ -219,7 +219,7 @@ class LatexPaper:
 		cmd = "latex '\\nonstopmode \input %s'" % fname
 	        # Ugh.  (La)TeX writes progress and error messages on stdout
 		# Redirect to stderr
-		cmd += ' 1>/dev/stderr'
+		cmd = '(( %s  >&2 ) >&- )' % cmd
 		status = ly.system (cmd, ignore_error = 1)
 		signal = 0xf & status
 		exit_status = status >> 8
@@ -1406,7 +1406,8 @@ def compile_all_files (chunks):
 		cmd = r"latex '\nonstopmode \input %s'" % file
 	        # Ugh.  (La)TeX writes progress and error messages on stdout
 		# Redirect to stderr
-		cmd += ' 1>/dev/stderr'
+		cmd = '(( %s  >&2 ) >&- )' % cmd
+		
 		ly.system (cmd)
 		ly.system ("dvips -E -o %s.eps %s" % (file, file))
 	map (to_eps, eps)