From d32330d07ca80c20157588099244c05b284dae20 Mon Sep 17 00:00:00 2001
From: hanwen <hanwen>
Date: Tue, 13 Jan 2004 14:05:52 +0000
Subject: [PATCH] * scm/new-markup.scm (left-align-markup): bugfix.

* Documentation/user/refman.itely (Ottava brackets): more doco for
ottava.
---
 ChangeLog                             |  2 ++
 Documentation/user/introduction.itely |  2 +-
 Documentation/user/refman.itely       | 14 +++++++++++++-
 lily/accidental-engraver.cc           |  2 +-
 lily/ottava-engraver.cc               |  1 +
 scm/define-music-properties.scm       |  1 +
 scm/define-translator-properties.scm  |  1 +
 scm/new-markup.scm                    | 10 +++++-----
 8 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index eade867096..f0b08468be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2004-01-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+	* scm/new-markup.scm (left-align-markup): bugfix. 
+
 	* Documentation/user/refman.itely (Ottava brackets): more doco for
 	ottava.
 
diff --git a/Documentation/user/introduction.itely b/Documentation/user/introduction.itely
index 545ff28e7b..483e8161a5 100644
--- a/Documentation/user/introduction.itely
+++ b/Documentation/user/introduction.itely
@@ -58,7 +58,7 @@ Each plug-in are completely modular and independent, so each can be
 developed and improved separately.  When put together, the plug-ins
 can solve the music notation program in cooperation.  People that put
 graphics to musical ideas are called copyists or engravers, so by
-analogy, each plug-in is also @code{engraver}.
+analogy, each plug-in is also called @code{engraver}.
 
 In the following example, we see how we start out with a note head
 engraver.
diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely
index f83ad9fc75..02fd47bb06 100644
--- a/Documentation/user/refman.itely
+++ b/Documentation/user/refman.itely
@@ -8184,6 +8184,7 @@ their center lines:
  c1^\markup { \line < a b c > }
 @end lilypond
 
+
 Markups can be stored in variables, and these variables
 may be attached to notes, like
 @verbatim
@@ -8195,9 +8196,18 @@ The markup mechanism is extensible.  Refer to
 @file{scm/new-markup.scm} for more information.
 
 
+Some objects have alignment procedures of their own, which cancel out
+any effects of alignments applied to their markup arguments as a
+whole.  For example, the @internalsref{RehearsalMark} is horizontally
+centered, so using @code{\mark \markup @{ \left-align .. @}} has no
+effect. Similarly, whole texts over notes cannot be moved vertically
+with @code{\raise}. For moving and aligning complete objects, grob
+properties should be used.
+
 @seealso
 
-Internals: @internalsref{Markup-functions},
+Internals: @internalsref{Markup-functions} contains a complete list of
+all markup commands.
 
 Init files:  @file{scm/new-markup.scm}.
 
@@ -8219,6 +8229,8 @@ for formatting.
 
 
 
+
+
 @node Global layout
 @section Global layout
 
diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc
index 87399e3db7..c03d7fb35b 100644
--- a/lily/accidental-engraver.cc
+++ b/lily/accidental-engraver.cc
@@ -394,7 +394,7 @@ Accidental_engraver::process_acknowledged_grobs ()
 void
 Accidental_engraver::finalize ()
 {
-
+  last_keysig_ = SCM_EOL;
 }
 
 void
diff --git a/lily/ottava-engraver.cc b/lily/ottava-engraver.cc
index 3426052280..bd0d698f28 100644
--- a/lily/ottava-engraver.cc
+++ b/lily/ottava-engraver.cc
@@ -115,6 +115,7 @@ Ottava_spanner_engraver::finalize ()
   if (span_)
     finished_ = span_;
   typeset_all();
+  last_ottavation_ = SCM_EOL;
 }
 
 ENTER_DESCRIPTION(Ottava_spanner_engraver,
diff --git a/scm/define-music-properties.scm b/scm/define-music-properties.scm
index d6c34c17dd..fde1f61f61 100644
--- a/scm/define-music-properties.scm
+++ b/scm/define-music-properties.scm
@@ -32,6 +32,7 @@ TODO: consider making type into symbol")
 (music-property-description 'articulation-type string? "key for script definitions alist.
 
 TODO: consider making type into symbol ")
+(music-property-description 'associated-context string? "Name of the Voice context associated with this \\newaddlyrics section")
 (music-property-description 'bass boolean? "Set if this note is a bass note in a chord")
 (music-property-description 'cautionary boolean? "If set, this alteration needs cautionary accidental")
 (music-property-description 'change-to-id string? "name of the context to change to ")
diff --git a/scm/define-translator-properties.scm b/scm/define-translator-properties.scm
index 9157745d94..852be930a2 100644
--- a/scm/define-translator-properties.scm
+++ b/scm/define-translator-properties.scm
@@ -35,6 +35,7 @@ context. Don't mess with this.")
 				 "If true allow line breaks during beams.")
 (translator-property-description 'associatedVoice string? "Name of the
 Voice that has the melody for this LyricsVoice.")
+(translator-property-description 'associatedVoiceContext ly:context? "The context object of the Voice that has the melody for this LyricsVoice.")
 (translator-property-description 'autoBeamSettings list? "Specifies
 when automatically generated beams should begin and end.  The elements
 have the format:
diff --git a/scm/new-markup.scm b/scm/new-markup.scm
index bbb621cba6..f0df082169 100644
--- a/scm/new-markup.scm
+++ b/scm/new-markup.scm
@@ -173,7 +173,10 @@ for the reader.
   (let* ((m (interpret-markup paper props (car rest))))
     (ly:molecule-align-to! m X RIGHT)
     m))
-
+(define-public (left-align-markup paper props . rest)
+  (let* ((m (interpret-markup paper props (car rest))))
+    (ly:molecule-align-to! m X LEFT)
+    m))
 (define-public (halign-markup paper props . rest)
   "Set horizontal alignment. Syntax: haling A MARKUP. A=-1 is LEFT,
 A=1 is right, values in between vary alignment accordingly."
@@ -181,10 +184,7 @@ A=1 is right, values in between vary alignment accordingly."
     (ly:molecule-align-to! m X (car rest))
     m))
 
-(define-public (left-align-markup paper props . rest)
-  (let* ((m (interpret-markup paper props (car rest))))
-    (ly:molecule-align-to! m X RIGHT)
-    m))
+
 
 (define-public (musicglyph-markup paper props . rest)
   (ly:find-glyph-by-name
-- 
2.39.5