Generated by hanwen@cs.uu.nl,
From = lilypond-1.5.69, To = lilypond-1.5.70

usage 

    cd lilypond-source-dir; patch -E -p1 < lilypond-1.5.69-1.5.70.diff

Patches do not contain automatically generated files 
or (urg) empty directories, 
i.e., you should rerun autoconf, configure

diff -purN ../lilypond-1.5.69/ChangeLog ./ChangeLog
--- ../lilypond-1.5.69/ChangeLog	Mon Jul 22 14:24:43 2002
+++ ./ChangeLog	Fri Jul 26 14:29:59 2002
@@ -1,3 +1,228 @@
+2002-07-26  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+	* Documentation/user/lilypond-book.itely (Insert music snippets
+	into your texts using lilypond-book): Briefly mention HTML
+	documents.  Started rewrite, but lost inspiration.
+
+	* lily/grob-scheme.cc (get_original, get_system, get_broken_into):
+	Move scheme funcs from grob.cc and spanner.cc.
+
+	* lily, flower: Ran buildscripts/ontgaar.py.  See also
+	http://lilypond.org/wiki/?CodingStandards.
+	
+	* Documentation/GNUmakefile: Remove regression-test stuff.
+	(deep-WWW-clean): Remove wiki-dump.  Fixes web-clean target.
+
+	* Documentation/regression-test.tely: Remove.
+
+	* Documentation/user/refman.itely (Text scripts): Comment out ref
+	to PostScript output.
+
+	* lily/beam.cc (knee_b): Fix to also work if some dirs are not
+	set.
+
+	* lily/beam.cc (set_stem_directions): For knees, set stems to
+	their natural direction.
+
+2002-07-25  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+	* lily/stem.cc (calc_stem_info): Don't force stems of kneed beams
+	to reach middle staff line.
+
+	* lily/beam.cc (consider_auto_knees): Recalculate beam position
+	after deciding for a knee.
+
+2002-07-26  Han-Wen  <hanwen@cs.uu.nl>
+
+	* Documentation/user/internals.itely: move output-formats doco to
+	WikiWiki.
+	
+2002-07-25  Han-Wen  <hanwen@cs.uu.nl>
+	
+	* po/fr.po: update from TP
+
+	* input/template/GNUmakefile (TITLE): add lysdoc target for the
+	templates
+
+	* Documentation/user/introduction.itely (Introduction): finish
+	introduction 
+
+2002-07-25  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+	* lily/include/music-iterator.hh (class Music_iterator): change
+	get_music() to get_pending_events().
+
+2002-07-25  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+	* buildscripts/ontgaar.py: get_music () -> get_pending_events ().
+	
+	* buildscripts/ontgaar.py: New file.
+
+	* scm/grob-property-description.scm (conditional-elements): Add
+	extent-X.
+
+	* lily/grob.cc: Add extent-X and extent-Y to interface.
+
+	* lily/grob-scheme.cc (ly_get_parent): Don't dereference null
+	parent. (Han-Wen)
+
+	* input/test/move-accidentals.ly: New file. (Han-Wen)
+
+2002-07-25  Han-Wen  <hanwen@cs.uu.nl>
+
+	* lily/grob-scheme.cc (ly_get_parent): don't crash if no parent.
+
+	* lily/slur.cc (get_first_notecolumn_y): robustness: don't crash
+	if no note-columns.
+
+	* server.el.patch: new file.
+
+	* Documentation/user/refman.itely (Point and click):  updates.
+	(Graphical interfaces): add node
+	(Vertical spacing): add node
+
+2002-07-24  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+	* lily, lily/include: Rename line to system.  Junk _l suffix.
+
+2002-07-24  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+	* po/fr.po: update from TP.
+
+	* buildscripts/lilypond-profile.sh: update support for
+	LILYPONDPREFIX
+
+2002-07-24  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+	* Documentation/user/refman.itely (Point and click): Add info
+	about GVim, NEdit.
+
+2002-07-24  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+	* lily/accidental-placement.cc (extent_callback): remove function
+	(position_accidentals): do nothing if not live.
+	Use accidental-grobs property i.s.o. accidentals, to maintain
+	proper typing. 
+
+2002-07-24  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+	* input/mutopia/J.S.Bach/baerenreiter-sarabande.ly: *
+	input/test/count-systems.ly: Update to new system-count function
+	names.
+
+	* lily/grob.cc (get_line, get_original): Use LY_DEFINE.
+
+	* lily/spanner.cc (get_broken_into): Use LY_DEFINE.
+
+	* lily/include/spanner.hh:
+	* lily/include/grob.hh: Remove DECLARE_SCHEME_CALLBACKs.
+
+	* input/mutopia/J.S.Bach/baerenreiter-sarabande.ly: Add
+	forcedBreak options and fix measure count comments.
+
+	* GNUmakefile.in: Junk intl.
+
+	* config.make.in (prefix): Prepend $(DESTDIR) to allow install
+	without overriding prefix.
+
+	* aclocal.m4: Regenerate.
+	
+	* stepmake/aclocal.m4: Don't expand $prefix: fixes install with
+	other $prefix.
+
+	* cygwin/GNUmakefile: 
+	* ly/GNUmakefile: 
+	* python/GNUmakefile: 
+	* make/GNUmakefile: 
+	* mf/GNUmakefile: 
+	* scm/GNUmakefile:
+	* tex/GNUmakefile: use local_package_datadir iso datadir.
+
+	* make/substitute.make (ATVARIABLES): Add local_lilypond_datadir.
+
+	* aclocal.m4: Regenerate.
+	
+	* config.hh.in:
+	* config.make.in:
+	* stepmake/aclocal.m4: Cleanups and more conventional naming for
+	datadir ($prefix/share), package_datadir ($prefix/$package), and
+	local_package_datadir ($prefix/$package/$version).
+	
+	* make/lilypond-vars.make:
+	* scripts/ly2dvi.py:
+	* scripts/lilypond-book.py:
+	* scripts/mup2ly.py:
+	* scripts/midi2ly.py: use local_package_datadir iso datadir.
+	
+	* GNUmakefile.in: build_datadir without version.
+	
+	* lily/main.cc: Datadir cleanup.
+
+	* lily/text-item.cc (lookup_text): 
+	* lily/music-output-def.cc (print_smob): 
+	* lily/mensural-ligature.cc (brew_molecule):
+	* lily/beam-quanting.cc (score_slopes_dy, score_forbidden_quants):
+	Fix warnings.
+	
+2002-07-23  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+	* input/mutopia/J.S.Bach/baerenreiter-sarabande.ly: Warn when not
+	using 6 systems, like the original.
+
+	* input/test/count-systems.ly: New file.
+
+	* lily/spanner.cc (get_broken_into):
+	* lily/grob.cc (original_scm, line_scm): New function.
+
+	* lily/include/grob.hh (ly_scm2grob_array): Moved from
+	group-interface.hh and renamed.
+	(ly_grob_array2scm): New function.
+
+2002-07-23  Juergen Reuter  <reuter@ipd.uka.de>
+
+	* lily/ambitus-engraver.cc: bugfix: create ambitus grob during
+	process_music phase
+
+2002-07-23  Han-Wen  <hanwen@cs.uu.nl>
+
+	* lily/separation-item.cc (width): cache extent in extent-X
+
+	* lily/spacing-spanner.cc (standard_breakable_column_spacing):
+	only add extent for non-musical column.
+
+	* lily/accidental-placement.cc (split_accidentals): new function
+	(get_relevant_accidental_extent): new function
+
+	* lily/staff-spacing.cc (next_note_correction): idem
+
+	* lily/separating-group-spanner.cc (find_rods): use
+	conditional_width().
+	
+	* scm/sketch.scm: fix roundfilledbox definition
+
+	* lily/lily-guile.cc (robust_list_ref): be sensible with negative
+	argument. This fixes too-long stems on half and quarter notes.
+
+2002-07-23  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+	* Documentation/index.texi: Add, fix, change some links and names,
+	including dump of wiki wiki.
+
+	* Documentation/GNUmakefile (local-WWW): Slurp wiki.
+
+	* buildscripts/wiki-slurp.py: New file.  Accept multiple pattern.
+	(unwiki): Replace local urls with <img src> too.
+
+	* Documentation/GNUmakefile (wiki-dump): New target.
+
+	* Documentation/header.html.in: Link to Documentation/index
+	renamed to Index (was other...).
+
+	* Documentation/regression-test.tely: Remove.
+
+	* make/lysdoc-targets.make (local-WWW): Add default targets .ps.gz
+	and .pdf.
+
 2002-07-22  Han-Wen  <hanwen@cs.uu.nl>
 
 	* VERSION: 1.5.69 released
diff -purN ../lilypond-1.5.69/Documentation/GNUmakefile ./Documentation/GNUmakefile
--- ../lilypond-1.5.69/Documentation/GNUmakefile	Sat Jul 13 20:47:16 2002
+++ ./Documentation/GNUmakefile	Fri Jul 26 12:26:54 2002
@@ -12,15 +12,22 @@ include $(depth)/make/stepmake.make 
 
 default: local-doc
 
-test-reg:
-	rm -f out-www/regression-test.html out-www/regression-test.texi 
-	$(MAKE) out=www out-www/regression-test.html
-
-PS_FILES=$(outdir)/regression-test.ps
-PDF_FILES=$(PS_FILES:.ps=.pdf)
-PS_GZ_FILES=$(addsuffix  .gz, $(PS_FILES))
+wiki-dump = $(outdir)/wiki-dump/LilyPond.html
+wiki-slurp: $(wiki-dump)
 
-local-WWW: copy-for-me txt-to-html $(PS_GZ_FILES) $(PDF_FILES) $(outdir)/regression-test.html footify
+$(wiki-dump):
+	mkdir -p $(outdir)/wiki-dump
+	$(PYTHON) $(buildscript-dir)/wiki-slurp.py -d $(outdir)/wiki-dump 'http://lilypond.org/wiki/?' 'http://lilypond.org/wiki/'
+foe:
+	mkdir -p $(outdir)/wiki-dump/images
+	ln -f $(builddir)/Documentation/pictures/$(outbase)/lelie-icon.png $(outdir)/wiki-dump/images/wikibase.png
+
+local-WWW: copy-for-me txt-to-html $(PS_GZ_FILES) $(PDF_FILES) wiki-slurp footify
+
+local-WWW-clean: deep-WWW-clean
+
+deep-WWW-clean:
+	rm -rf $(outdir)/wiki-dump
 
 copy-for-me:
 	$(foreach a, $(README_TOP_FILES), cp ../$(a) $(outdir)/$(a).txt && ) true
diff -purN ../lilypond-1.5.69/Documentation/header.html.in ./Documentation/header.html.in
--- ../lilypond-1.5.69/Documentation/header.html.in	Sun Nov 18 01:08:12 2001
+++ ./Documentation/header.html.in	Fri Jul 26 12:38:21 2002
@@ -60,7 +60,7 @@ which substitutes some @AT_VARIABLES@ as
 	<a href="@TOP@Documentation/user/out-www/lilypond/Tutorial.html">Tutorial</a><br>
 	<a href="@TOP@Documentation/user/out-www/lilypond/lilypond.html">Manual</a><br>
 	<a href="@TOP@Documentation/user/out-www/glossary.html">Glossary</a><br>
-	<a href="@TOP@Documentation/out-www/index.html">other ...</a><br>
+	<a href="@TOP@Documentation/out-www/index.html">Index</a><br>
 	<br>
       </font></td></tr>
       <tr><td bgcolor="#e8e8ff">
@@ -77,6 +77,7 @@ which substitutes some @AT_VARIABLES@ as
       <tr><td><font size="-1">
         <a href="http://www.lilypond.org/development">lilypond.org/development</a><br>
         <a href="http://www.lilypond.org/stable">lilypond.org/stable</a><br>
+        <a href="http://savannah.gnu.org/projects/lilypond/">savannah.gnu.org</a><br>
         <a href="ftp://ftp.lilypond.org/pub">ftp.lilypond.org</a><br>
         <a href="http://www.mutopiaproject.org/">Mutopia</a><br>
 	<a href="http://www.lilypond.org/wiki?DownloadLilyPondScores">Other music online</a><br>
diff -purN ../lilypond-1.5.69/Documentation/index.texi ./Documentation/index.texi
--- ../lilypond-1.5.69/Documentation/index.texi	Mon Jul 22 14:37:34 2002
+++ ./Documentation/index.texi	Fri Jul 26 12:26:54 2002
@@ -21,8 +21,9 @@
 @item @uref{DEDICATION.html,Dedication}  Lily is  dedicated to our friends.
 @item @uref{http://www.gnu.org/copyleft/gpl.html,GPL} it is released under
   the GNU GPL.
-@item @uref{http://www.lilypond.org/wiki, Lilypond Wiki} A wikiwiki site
-  dedicated to lilypond.
+@item @uref{http://www.lilypond.org/wiki, LilyPond Wiki} A wikiwiki site
+  devoted to LilyPond.  Also available as a local
+  @uref{wiki-dump/LilyPond.html, Frozen Copy}.
 @end itemize
 
 @html
@@ -55,7 +56,7 @@ How to install on Windows.
 @unnumberedsubsubsec Support
 
 @itemize @bullet
-@item @uref{../../index.html,index} What is Lilypond?
+@item @uref{../../index.html,Front Page} What is LilyPond?
 @item @uref{../topdocs/out-www/FAQ.html,mini-FAQ} Mini FAQ -- very
 frequently asked questions, with answers.
 @item @uref{http://www.lilypond.org/wiki?LilyPondFaqs,FAQs} Frequently
@@ -91,29 +92,35 @@ the mailing lists.
 
 @item
 @uref{../user/out-www/lilypond/Reference-Manual.html,Reference-Manual}
-The reference manual.
+The reference manual, and 
+@uref{../user/out-www/lilypond/Index.html,Master Index}.
 
-@item @uref{../user/out-www/lilypond/lilypond.html,lilypond} The complete
+@item @uref{../user/out-www/lilypond/lilypond.html,Top Table of Contents} The complete
 user manual, (in @uref{../user/out-www/lilypond.ps.gz,PostScript} and
 @uref{../user/out-www/lilypond.pdf,PDF}). This manual contains among
 others the tutorial, the reference manual.  The HTML version is also
 available as @uref{../user/out-www/lilypond.html,one big page}.
 
 @c glossary maybe for new users?
-@item @uref{../user/out-www/glossary.html,glossary} A glossary of musical
+@item @uref{../user/out-www/glossary.html,Glossary} A glossary of musical
 terms, including translations.  (in
-@uref{../user/out-www/glossary.ps.gz,Postscript}
+@uref{../user/out-www/glossary.ps.gz,PostScript}
 and
-@uref{../user/out-www/glossary.pdf,PDF})  Read this if you're not
+@uref{../user/out-www/glossary.pdf,PDF}) Read this if you're not
 familiar with English terms for notation.
 
-@item @uref{../user/out-www/lilypond-internals/lilypond-internals.html,lilypond-internals}
+@item @uref{../user/out-www/lilypond-internals/lilypond-internals.html,Lilypond-Internals}
 Full documentation of internals, generated from the sources.  If you
 want to fine-tune output, you need the information in this document.
 
+@item @uref{../../input/templates/out-www/templates.html,Templates}
+input templates, for different formats of music. Add notes, and done!
+
 @item @uref{../../input/test/out-www/test.html,Input snippets}
-All of the example input snippets, with the corresponding output
-shown.
+All of the tips-and-trick input snippets, with the corresponding output
+shown.  Also available in
+@uref{../../input/test/out-www/test.ps.gz,PostScript} and
+@uref{../../input/test/out-www/test.pdf,PDF} formats.
 @end itemize
 
 
@@ -129,22 +136,23 @@ shown.
 
 @itemize @bullet
 @item @uref{../../input/regression/out-www/regression.html,Regression Tests}
-A large document that tests all kinds of features.  (also as
-@uref{../out-www/regression-test.ps.gz,Postscript} and
-@uref{../out-www/regression-test.pdf,PDF}).
+A large document with snippets that test all basic features.  Also
+available in
+@uref{../../input/regression/out-www/regression.ps.gz,PostScript} and
+@uref{../../input/regression/out-www/regression.pdf,PDF} formats.
 @item
-@uref{http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?domain=lilypond">Translations,lilypond
-textual domain
-}  in the Translation Project.
+@uref{http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?domain=lilypond">Translations,Lilypond
+Textual Domain
+} in the Translation Project.
 @item Compiling for @uref{../windows/out-www/compiling.html,Windows/Cygwin}.
 @end itemize
 
 
 @unnumberedsubsec Logo
 @itemize @bullet
-@item @uref{../pictures/out-www/lelieblond.png, logo} in large size
-@item @uref{../pictures/out-www/lelie-logo.png, logo} in medium size
-@item @uref{../pictures/out-www/lelie-icon.png, logo} in small size
+@item Logo at @uref{../pictures/out-www/lelieblond.png, large} size.
+@item Logo at @uref{../pictures/out-www/lelie-logo.png, medium} size.
+@item Logo at @uref{../pictures/out-www/lelie-icon.png, small} size.
 @end itemize
 
 
diff -purN ../lilypond-1.5.69/Documentation/regression-test.tely ./Documentation/regression-test.tely
--- ../lilypond-1.5.69/Documentation/regression-test.tely	Mon Jul 22 12:21:54 2002
+++ ./Documentation/regression-test.tely	Thu Jan  1 01:00:00 1970
@@ -1,414 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-
-@setfilename regression-test.info
-@settitle LilyPond Regression test
-
-
-@html
-<!--- @@WEB-TITLE@@=Regression Test --->
-@end html
-
-@c fool ls-latex
-@ignore
-@author Han-Wen Nienhuys and Jan Nieuwenhuizen
-@title LilyPond Regression test
-@end ignore
-
-@node Top, , , (dir)
-
-This file has moved.
-
-See @uref{../../input/regression/out-www/regression.html,Regression Tests}.
-
-@ignore
-
-@section Introduction
-
-This document presents a brief overview of LilyPond features.  When the
-text correspond with the shown notation, we consider LilyPond Officially
-BugFree (tm).  This document is intended for finding bugs, and
-documenting bugfixes.
-
-@section Notes and rests
-
-@lilypondfile[printfilename]{note-head-chord.ly}
-
-@lilypondfile[printfilename]{note-head-style.ly}
-
-@lilypondfile[printfilename]{mensural.ly}
-
-@lilypondfile[printfilename]{easy-notation.ly}
-
-@lilypondfile[printfilename]{drums.ly}
-
-@section Rests
-
-@lilypondfile[printfilename]{rest-ledger.ly}
-
-@lilypondfile[printfilename]{rest.ly}
-
-@lilypondfile[printfilename]{multi-measure-rest.ly}
-
-@lilypondfile[printfilename]{mm-rests2.ly}
-
-@lilypondfile[printfilename]{rest-pitch.ly}
-
-@section Dots
-
-@lilypondfile[printfilename]{dots.ly}
-
-@lilypondfile[printfilename]{dot-flag-collision.ly}
-
-
-@section Accidentals
-
-
-@lilypondfile[printfilename]{accidental.ly}
-
-@lilypondfile[printfilename]{accidental-cautionary.ly}
-
-@lilypondfile[printfilename]{accidental-placement.ly}
-
-@lilypondfile[printfilename]{accidental-single-double.ly}
-
-@lilypondfile[printfilename]{accidentals.ly}
-
-@lilypondfile[printfilename]{accidental-octave.ly}
-
-@lilypondfile[printfilename]{accidental-voice.ly}
-
-
-@section Stems
-
-@lilypondfile[printfilename]{stem-tremolo.ly}
-
-@lilypondfile[printfilename]{chord-tremolo.ly}
-
-@lilypondfile[printfilename]{stem-direction.ly}
-
-@lilypondfile[printfilename]{stem-direction-down.ly}
-
-
-@section Scripts
-
-@lilypondfile[printfilename]{staccato-pos.ly}
-
-@lilypondfile[printfilename]{script-stack-order.ly}
-
-@lilypondfile[printfilename]{arpeggio.ly}
-
-@lilypondfile[printfilename]{glissando.ly}
-
-@c @l ilypondfile[printfilename]{fingering.ly}
-
-@section Dynamics
-
-@lilypondfile[printfilename]{dynamics-line.ly}
-
-@lilypondfile[printfilename]{hairpin-ending.ly}
-
-@lilypondfile[printfilename]{dynamics-broken-hairpin.ly}
-
-@lilypondfile[printfilename]{dynamics-unbound-hairpin.ly}
-
-@lilypondfile[printfilename]{dynamics-glyphs.ly}
-
-@lilypondfile[printfilename]{pedal.ly}
-
-@section Chord names
-
-@lilypondfile[printfilename]{chord-names.ly}
-
-@lilypondfile[printfilename]{chord-changes.ly}
-
-@section Figured bass
-
-@lilypondfile[printfilename]{figured-bass.ly}
-
-@section Grace notes
-
-Grace note do weird things with timing. Fragile.
-
-@lilypondfile[printfilename]{grace.ly}
-
-@lilypondfile[printfilename]{grace-beam.ly}
-
-@lilypondfile[printfilename]{grace-bar-line.ly}
-
-@lilypondfile[printfilename]{grace-nest2.ly}
-
-@lilypondfile[printfilename]{grace-nest3.ly}
-
-@lilypondfile[printfilename]{grace-nest4.ly}
-
-@lilypondfile[printfilename]{grace-nest5.ly}
-
-@lilypondfile[printfilename]{grace-nest1.ly}
-
-@lilypondfile[printfilename]{grace-start.ly}
-
-@lilypondfile[printfilename]{grace-sync.ly}
-
-@lilypondfile[printfilename]{grace-part-combine.ly}
-
-@lilypondfile[printfilename]{grace-bar-number.ly}
-
-@lilypondfile[printfilename]{grace-auto-beam.ly}
-
-@lilypondfile[printfilename]{grace-unfold-repeat.ly}
-
-
-@section Beams
-
-
-@lilypondfile[printfilename]{beams.ly}
-
-@lilypondfile[printfilename]{beam-funky.ly}
-
-@lilypondfile[printfilename]{beaming.ly}
-
-@lilypondfile[printfilename]{beam-concave.ly}
-
-@lilypondfile[printfilename]{beam-manual.ly}
-
-@lilypondfile[printfilename]{beam-extreme.ly}
-
-@lilypondfile[printfilename]{beam-position.ly}
-
-@lilypondfile[printfilename]{beam-center-slope.ly}
-
-@lilypondfile[printfilename]{auto-beam-bar.ly}
-
-@lilypondfile[printfilename]{beam-over-barline.ly}
-
-@lilypondfile[printfilename]{beam-rest.ly}
-
-@lilypondfile[printfilename]{beam-length.ly}
-
-@lilypondfile[printfilename]{beam-dir-function.ly}
-
-@lilypondfile[printfilename]{auto-knee.ly}
-
-@lilypondfile[printfilename]{auto-isknee.ly}
-
-@lilypondfile[printfilename]{triplets.ly}
-
-@lilypondfile[printfilename]{beam-cross-staff.ly}
-
-@lilypondfile[printfilename]{beam-cross-staff-slope.ly}
-
-
-@section Auto beamer
-
-@lilypondfile[printfilename]{beaming-ternary-metrum.ly}
-
-@section  Slurs 
-
-@lilypondfile[printfilename]{slur-nice.ly}
-
-@lilypondfile[printfilename]{slur-symmetry.ly}
-
-@lilypondfile[printfilename]{slur-symmetry-1.ly}
-
-@lilypondfile[printfilename]{slur-broken-trend.ly}
-
-@lilypondfile[printfilename]{slur-attachment.ly}
-
-@lilypondfile[printfilename]{slur-attachment-override.ly}
-
-@lilypondfile[printfilename]{slur-stem-broken.ly}
-
-@lilypondfile[printfilename]{drarn-slurs.ly}
-
-@lilypondfile[printfilename]{phrasing-slur.ly}
-
-@lilypondfile[printfilename]{slur-staccato.ly}
-
-@lilypondfile[printfilename]{slur-rest.ly}
-
-@section Ties
-
-@lilypondfile[printfilename]{tie.ly}
-
-@lilypondfile[printfilename]{completion-heads.ly}
-
-@lilypondfile[printfilename]{tie-busy-grobs.ly}
-
-@lilypondfile[printfilename]{tie-chord.ly}
-
-@lilypondfile[printfilename]{tie-accidental.ly}
-
-
-@section Tuplets 
-
-@lilypondfile[printfilename]{tup.ly}
-
-@lilypondfile[printfilename]{tuplet-properties.ly}
-
-@lilypondfile[printfilename]{tuplet-beam.ly}
-
-@lilypondfile[printfilename]{tuplet-staffline-collision.ly}
-
-@lilypondfile[printfilename]{tuplet-nest.ly}
-
-
-@section Miscellaneous
-
-@lilypondfile[printfilename]{rhythmic-staff.ly}
-
-
-@section Repeats
-
-@lilypondfile[printfilename]{repeat-unfold.ly}
-
-@lilypondfile[printfilename]{repeat-volta.ly}
-
-@lilypondfile[printfilename]{repeat-fold.ly}
-
-@lilypondfile[printfilename]{repeat-line-break.ly}
-
-@lilypondfile[printfilename]{volta-broken-left-edge.ly}
-
-@section Lyrics
-
-@lilypondfile[printfilename]{lyric-combine.ly}
-
-@lilypondfile[printfilename]{lyrics-multi-stanza.ly}
-
-@lilypondfile[printfilename]{lyric-phrasing.ly}
-
-
-
-@section Multiple notes
-
-@lilypondfile[printfilename]{rest-collision.ly}
-
-@lilypondfile[printfilename]{collisions.ly}
-
-@lilypondfile[printfilename]{collision-dots.ly}
-
-@lilypondfile[printfilename]{collision-heads.ly}
-
-@lilypondfile[printfilename]{collision-mesh.ly}
-
-@lilypondfile[printfilename]{number-staff-lines.ly}
-
-@lilypondfile[printfilename]{staff-tweak.ly}
-
-
-@section Spacing
-
-@lilypondfile[printfilename]{spacing-accidental.ly}
-
-@lilypondfile[printfilename]{spacing-accidental-staffs.ly}
-
-@lilypondfile[printfilename]{spacing-folded-clef.ly}
-
-@lilypondfile[printfilename]{spacing-ended-voice.ly}
-
-@lilypondfile[printfilename]{spacing-stem-direction.ly}
-
-@lilypondfile[printfilename]{spacing-stem-same-direction.ly}
-
-@c @l ilypondfile[printfilename]{spacing-individual-tuning.ly}
-
-@lilypondfile[printfilename]{spacing-note-flags.ly}
-
-@lilypondfile[printfilename]{spacing-rest.ly}
-
-@lilypondfile[printfilename]{spacing-short-notes.ly}
-
-@lilypondfile[printfilename]{spacing-grace-duration.ly}
-
-@lilypondfile[printfilename]{lyrics-bar.ly}
-
-@lilypondfile[printfilename]{spacing-knee.ly}
-
-
-
-@lilypondfile[printfilename]{non-empty-text.ly}
-
-@lilypondfile[printfilename]{prefatory-spacing-matter.ly}
-
-@lilypondfile[printfilename]{spacing-clef-first-note.ly}
-
-@lilypondfile[printfilename]{spacing-bar-stem.ly}
-
-
-@c @l ilypondfile[printfilename]{spacing-tight.ly}
-
-@c @l ilypondfile[printfilename]{spacing-natural.ly}
-
-@c @l ilypondfile[printfilename]{spacing-loose.ly}
-
-
-
-@section PianoStaff
-
-@lilypondfile[printfilename]{slur-cross-staff.ly}
-
-@lilypondfile[printfilename]{percent-repeat.ly}
-
-@lilypondfile[printfilename]{auto-change.ly}
-
-@lilypondfile[printfilename]{follow-thread.ly}
-
-
-
-@section Global stuff
-
-@lilypondfile[printfilename]{break.ly}
-
-@lilypondfile[printfilename]{bar-number.ly}
-
-@lilypondfile[printfilename]{span-bar.ly}
-
-@lilypondfile[printfilename]{bar-scripts.ly}
-
-@lilypondfile[printfilename]{staff-margin.ly}
-
-@lilypondfile[printfilename]{breathing-sign.ly}
-
-@lilypondfile[printfilename]{hara-kiri-short.ly}
-
-@lilypondfile[printfilename]{part-combine.ly}
-
-@lilypondfile[printfilename]{font-magnification.ly}
-
-@lilypondfile[printfilename]{system-extents.ly}
-
-@lilypondfile[printfilename]{system-start-bracket.ly}
-
-@lilypondfile[printfilename,nofragment]{size11.ly}
-
-@lilypondfile[printfilename,nofragment]{size13.ly}
-
-@lilypondfile[printfilename,nofragment]{size16.ly}
-
-@lilypondfile[printfilename,nofragment]{size20.ly}
-
-@lilypondfile[printfilename,nofragment]{size23.ly}
-
-@lilypondfile[printfilename,nofragment]{size26.ly}
-
-
-
-@section Clefs and Time Signatures
-
-@lilypondfile[printfilename]{clefs.ly}
-
-@lilypondfile[printfilename]{keys.ly}
-
-@lilypondfile[printfilename]{key-signature-scordatura.ly}
-
-@section Hacks and Features
-
-@lilypondfile[printfilename]{generic-output-property.ly}
-
-@lilypondfile[printfilename]{between-systems.ly}
-
-@lilypondfile[printfilename]{molecule-hacking.ly}
-
-@end ignore
-@bye
-
diff -purN ../lilypond-1.5.69/Documentation/topdocs/INSTALL.texi ./Documentation/topdocs/INSTALL.texi
--- ../lilypond-1.5.69/Documentation/topdocs/INSTALL.texi	Fri Jul  5 16:31:02 2002
+++ ./Documentation/topdocs/INSTALL.texi	Fri Jul 26 13:30:26 2002
@@ -49,26 +49,18 @@ If you want to compile LilyPond from sou
 @end itemize
 
 
-Of course, if your platform supports LilyPond, such as Debian GNU/Linux,
-FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build
-from source drill.
-
 For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the
 tarball; see instructions below.
 
 
-@subsubsection Anonymous CVS access
 
-Short version:
+Of course, if your platform supports LilyPond, such as Debian GNU/Linux,
+FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build
+from source drill.
 
-@quotation
-@example
-cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond login
-cvs -d :pserver:anoncvs@@lilypond.org:/home/lilypond co -P lilypond
-@end example
-@end quotation
+The latest development version is also available through anonymous
+CVS. See @uref{http://savannah.gnu.org/cvs/?group=lilypond}.
 
-See @uref{http://lilypond.org/wiki/?CVS} for more information.
 
 @html
 <a name="download-binaries">
diff -purN ../lilypond-1.5.69/Documentation/topdocs/README.texi ./Documentation/topdocs/README.texi
--- ../lilypond-1.5.69/Documentation/topdocs/README.texi	Tue Oct 30 17:33:57 2001
+++ ./Documentation/topdocs/README.texi	Fri Jul 26 16:22:13 2002
@@ -90,6 +90,10 @@ list.
 
 @item @uref{http://mail.gnu.org/mailman/listinfo/bug-lilypond,bug-lilypond@@gnu.org}
 If you have bugreports, you should send them to this list.
+
+@item @uref{http://mail.gnu.org/mailman/listinfo/lilypond-cvs,lilypond-cvs@@gnu.org}
+  Commit messages for CVS development. This is a high-volume moderated
+  list.
 @end itemize
 
 
diff -purN ../lilypond-1.5.69/Documentation/user/internals.itely ./Documentation/user/internals.itely
--- ../lilypond-1.5.69/Documentation/user/internals.itely	Mon Jul 22 12:21:54 2002
+++ ./Documentation/user/internals.itely	Fri Jul 26 12:26:54 2002
@@ -129,180 +129,6 @@ section.
 * Lexical details::             
 @end menu
 
-@c . {Output formats}
-@node Output formats
-@section Output formats
-
-LilyPond can output processed music in different output formats.  
-
-@menu
-* @TeX{} output::               
-* PostScript output::           
-* Scheme output::               
-* ASCIIScript output::          
-* Sketch output::               
-@end menu
-
-@node @TeX{} output
-@subsection @TeX{} output
-@cindex @TeX{} output
-
-LilyPond will use @TeX{} by default.  Even if you want to produce
-PostScript output for viewing or printing, you should normally have
-LilyPond produce @TeX{} first.  The .tex output must be processed by
-@TeX{} (@strong{not} La@TeX{}) to generate a .dvi.  Then, @file{Dvips}
-is used to generate PostScript.  Alternatively, @file{ly2dvi} can be
-used to generate the .dvi for you.
-
-@refbugs
-
-Titling is not generated unless you use @file{ly2dvi}. 
-
-
-@node PostScript output
-@subsection PostScript output
-@cindex PostScript output
-@cindex direct PostScript output
-
-LilyPond can produce PostScript directly, without going through @TeX{}.
-Currently, this is mainly useful if you cannot use TeX, because direct
-PostScript output has some problems; see Bugs below.
-
-@example
-$ lilypond -fps foo.ly
-GNU LilyPond 1.3.144
-Now processing: `foo.ly'
-Parsing...
-Interpreting music...[3]
-Preprocessing elements... 
-Calculating column positions... 
-paper output to foo.ps...
-
-$ cat /usr/share/lilypond/pfa/feta20.pfa foo.ps | lpr
-@end example
-
-
-@refbugs
-
-Text font selection is broken.
-
-The .ps file does not contain the .pfa font files.  To print a .ps
-created through direct postscript output, you should prepend the
-necessary .pfa files to LilyPond's .ps output, or upload them to the
-printer before printing.
-
-The line height calculation is broken, you must set @var{lineheight} in
-the paperblock if you have more than one staff in your score, e.g.
-
-@example
-  ...
-  \paper @{
-    % Set line height to 40 staff spaces
-    lineheight = 40    
-  @}
-@end example
-
-@node Scheme output
-@subsection Scheme output
-@cindex Scheme output
-
-In the typesetting stage, LilyPond builds a page description, which is
-then written to disk in postscript, @TeX{} or ASCII art. Before it is
-written, the page description is represented as Scheme expressions.  You
-can also dump these  Scheme expressions to a file, which may be
-convenient for debugging output routines.  This is done with the Scheme
-output format
-
-@example
-$ lilypond -fscm foo.ly
-GNU LilyPond 1.3.144
-Now processing: `foo.ly'
-Parsing...
-Interpreting music...[3]
-Preprocessing elements... 
-Calculating column positions... 
-paper output to foo.scm...
-
-$ head -4 foo.scm 
-;;; Usage: guile -s x.scm > x.tex
- (primitive-load-path 'standalone.scm)
-; (scm-tex-output)
- (scm-ps-output)
-
-$ guile -s foo.scm > foo.tex
-@end example
-
-
-@node ASCIIScript output
-@subsection ASCIIScript output
-@cindex ASCIIScript output
-@cindex ascii script
-@cindex ascii art
-
-LilyPond can output ASCII Art.  This is a two step process, LilyPond
-produces an ASCII description file, dubbed ASCIIScript (extension
-@file{.as}).  ASCIIScript has a small and simple command set that
-includes font selection, character and string printing and line drawing
-commands.  The program @file{as2text} is used to translate an .as file
-to text.
-
-To produce ASCII Art, you must include an ASCII Art paper definition
-file in your .ly, one of:
-@example
-\include "paper-as5.ly"
-\include "paper-as9.ly"
-@end example
-
-Here's an example use for ASCII Art output (the example file
-@file{as-email.ly} is included in the LilyPond distribution), the staff
-symbol has been made invisible:
-
-@example
-$ lilypond -fas as-email.ly
-GNU LilyPond 1.3.144
-Now processing: `as-email.ly'
-Parsing...
-Interpreting music...[3]
-Preprocessing elements... 
-Calculating column positions... [2]
-paper output to as-email.as...
-
-$ as2text as-email.as 2>/dev/null
-          |\
-          |/     |##|##|      |  |  |  |  |
-         /|      |  |  | |    |\ |\ |\ |\ |\ |
-        / |_  3  |  |  | | 5  | )| )| )| )| )|
-       | /| \ 8 *  *  *  | 8 *  *  *  *  *   |
-        \_|_/            |                   |
-        *_|
-
-                                               lily
-@end example
-
-
-@refbugs
-
-The ASCII Art fonts are far from complete and not very well designed.
-It's easy to change the glyphs, though; if you think you can do better,
-have a look at @file{mf/*.af}.
-
-Lots of resizable symbols such as slurs, ties and tuplets are missing.
-
-The poor looks of most ASCII Art output and its limited general
-usefulness gives ASCII Art output a low priority; it may be
-dropped in future versions.
-
-
-@node Sketch output
-@subsection Sketch output
-
-@uref{http://sketch.sourceforge.net,Sketch} is a Free vector drawing
-program. LilyPond includes bare bones output for Sketch version 0.7.
-
-@cindex Sketch
-@cindex vector drawing
-@cindex drawing program
-
 
 @node Interpretation context
 @section Interpretation context
diff -purN ../lilypond-1.5.69/Documentation/user/introduction.itely ./Documentation/user/introduction.itely
--- ../lilypond-1.5.69/Documentation/user/introduction.itely	Sat Jul 13 19:07:18 2002
+++ ./Documentation/user/introduction.itely	Fri Jul 26 12:26:54 2002
@@ -14,7 +14,9 @@ like this:
 \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4 
 @end lilypond
 
- Encoding music using letters and digits may appear strange,
+@cindex encoding music
+
+Encoding music using letters and digits may appear strange,
 intimidating or even clumsy at first. Nevertheless, when you take the
 effort to learn the codes and the program you will find that it is
 easier than it seems.  Entering music can be done quickly, and you
@@ -23,6 +25,10 @@ complicated: it's all in the input code,
 file to see how it works. Moreover, when you use LilyPond, you are
 rewarded with very nicely looking output.
 
+@cindex GUI
+@cindex Batch
+@cindex UNIX 
+
 When we started with developing LilyPond, we were interested in music
 notation, not as publishers or musicians, but as students and
 scientists. We wanted tried to figure to what extent formatting sheet
@@ -33,6 +39,9 @@ common to use compilers to achieve compu
 computerized music engraving experiment took on the form of a
 compiler.
 
+@cindex free software
+@cindex sharing software
+
 One other decision was also motivated by our academic background. In
 the scientific community it has always been a tradition to share
 knowledge, and, to a lesser extent, the software you wrote. One of the
@@ -42,6 +51,8 @@ proprietary computing solutions with fre
 variants. We jumped on that bandwagon, and that is the reason that you
 can still get LilyPond at no cost without any strings attached.
 
+@cindex engraving
+@cindex typography
 
 Making sheet music may seem trivial at first (``you print 5 lines, and
 then put in the notes at different heights''), @emph{music engraving},
@@ -56,6 +67,9 @@ corrections was cumbersome, so engraving
 go. As you can imagine this was a highly specialized skill, much more
 so than the traditional process of printing books.
 
+@cindex craftmanship
+@cindex master
+
 In fact, in the traditional German craftmanship six years of full-time
 training were required, before a student could call himself a master
 of the art. After that many more years of practical experience were
@@ -93,6 +107,11 @@ first.
 		  } } }
 @end lilypond
 
+@cindex musical symbols
+@cindex font
+@cindex blackness
+@cindex balance
+
 The figure above shows a few notable glyphs. For example, the
 half-notehead is not elliptic but slightly diamond shaped.  The stem
 of a flat symbol should be slightly brushed, i.e. becoming wider at
@@ -111,6 +130,7 @@ example of a motive, printed four times.
 exact, mathematical spacing, and with some corrections. Can you spot
 which is which?
 
+@cindex optical spacing
 @lilypond
     \score { \notes {
       \property Staff.NoteSpacing \set #'stem-spacing-correction
@@ -127,6 +147,9 @@ which is which?
     \paper { linewidth = -1. } }
 @end lilypond
 
+@cindex regular rhythms
+@cindex regular spacing
+
 The fragment that was printed uses only quarter notes: notes that are
 played in a constant regular rhythm. The spacing should reflect
 that. Unfortunately, the eye deceives us a little: the eye not only
@@ -163,6 +186,10 @@ much more incompatible than the formats 
 spreadsheets.  Anyone who has tried to exchange data files from
 between different notation programs can attest to this.
 
+@cindex music representation
+@cindex music expressions
+@cindex input format
+
 The cause of this problem is that music is inherently two-dimensional:
 in polyphonic music, notes have time and pitch as their two
 coordinates, and they often are related in both directions. Computer
@@ -189,23 +216,87 @@ present to be able to produce a printed 
 These ideas shaped our music representation which elegantly builds
 complex musical constructs from simple entities like notes and rests,
 in much the same way that one builds complex formulae from simple
-expressions such as numbers and mathematical operators.
+expressions such as numbers and mathematical operators.  The strict
+separation between musical information and typesetting also gives a
+blueprint of the program: first it reads the music representation,
+then it interprets the music---reading it `left-to-right', and
+translating the musical information to a layout specification. When
+the layout is computed, the resulting symbols are written to an output
+file.
+
+As you will notice in the coming pages, and the examples, in a lot of
+case, the program makes good decisions, and what comes out of lilypond
+generally looks good. For some specific examples, the default layout
+of lilypond even is suitable for publication. However, some aspects of
+the formatting are not yet very good. This gives us programmers
+inspiration for improving the program. However, most users are more
+interested in making their printouts look good, and then they have to
+make manual adjustments to the output.  Another aspect of our system
+of encoding through ASCII then shows: it can be complicated to fine
+tune the layout of a piece. There is no graphical user interface,
+where you can simply click and drag a symbol. On the other hand, if
+you have written the code for tuning one specific aspect of the
+layout, then you can simply store the file on disk, retrieve it when
+you need it: there is no need to remember how you did it.  It's all in
+the input file. Lilypond also comes with a huge collection of snippets
+that show all kinds of tricks.
+
+@cindex snippets
+@cindex adjusting output
+
+
+This collection is much needed, because of the way LilyPond is
+structured. It is a large program, but almost all of the internal
+functionality is exported: that is, the variables that are internally
+used to determine formatting of the sheet music are available directly
+to the user. These are variables to control thicknesses, distances,
+and other formatting options: there are a huge number of them, and it
+would be impossible to describe them all in a hand-written
+manual. There is no need to despair, there is `automatic' manual, that
+lists all of the variables, symbol types, etc. that are available.  It
+is directly generated from the definitions that LilyPond itself uses,
+so it is always up to date. If you are reading this from a screen: it
+is available from the web, and is included with most binary
+distributions.  If you're reading this from paper, then we advise you
+to use the digital version anyway: the hyperlinks make finding topics
+in the lilypond-internals manual much easier.
+
+@cindex variables
+@cindex properties
+@cindex lilypond-internals
+@cindex internal documentation 
+
+For those who really want to get their hands dirty: it is even
+possible to add your own functionality, by extending LilyPond in the
+built-in scripting language, a dialect of the powerful programming
+language Scheme. There is no real distinction between what a user can
+do and what a programmer is allowed to do.
+
+@cindex Scheme
+@cindex extending lilypond
+
+In short, this manual does not pretend to be exhaustive, but it is
+merely a guide that tries to explain the most important principles,
+and shows popular input idioms.  The rest of the manual is structured
+as follows: it starts with a tutorial that explains how to use
+lilypond. In the tutorial, a number of fragments of increasing
+complexity are shown and explained.  Then comes the reference manual,
+which gives more detailed information on all features of If you're new
+to lilypond, then you should start reading the tutorial, and
+experiment for yourself.  If you already have some experience, then
+you can simply use the manual as reference: there is an extensive
+index@footnote{If you are looking something, and you can't find it by
+using the index, that is considered a bug.  In that case, please file
+a bugreport}
+
+@cindex bugreport
+@cindex index
+@cindex tutorial
+@cindex overview of manual
+@cindex idiom
+
+
 
-The strict separation between musical information and typesetting also
-gives a blueprint of the program: first it reads the music
-representation, then it interprets the music---reading it
-`left-to-right', and translating the musical information to a layout
-specification. When the layout is computed, the resulting symbols are
-written to an output file.
-
-Much more could be said about the inner working of the program, but we
-will leave it at this. Those who are interested can inspect the source
-code, which is available freely, or inquire on the development mailing
-list.
-
-We hope that you understand where LilyPond came from, and what we
-tried to achieve. The rest of this manual less philosophical: it
-instructs you how use the input language to print beautiful music.
 
 
 
diff -purN ../lilypond-1.5.69/Documentation/user/invoking.itexi ./Documentation/user/invoking.itexi
--- ../lilypond-1.5.69/Documentation/user/invoking.itexi	Mon Jul 22 12:21:54 2002
+++ ./Documentation/user/invoking.itexi	Fri Jul 26 12:26:54 2002
@@ -1,3 +1,4 @@
+@c -*-texinfo-*-
 @node Invoking LilyPond
 @chapter Invoking LilyPond
 
@@ -48,14 +49,27 @@ set various debugging options.
 
 
 
-@item -f,--format=@var{format} Output format for sheet music. Choices
-are @code{tex} (for @TeX{} output, to be processed with plain @TeX{},
-or through ly2dvi), @code{pdftex} for PDF@TeX{} input, @code{ps} (for
-PostScript), @code{scm} (for a Scheme dump), and @code{as} (for
-ASCII-art).
+@item -f,--format=@var{format}
+@c
+@c
+Output format for sheet music. Choices are @code{tex} (for @TeX{}
+output, to be processed with plain @TeX{}, or through ly2dvi),
+@code{pdftex} for PDF@TeX{} input, @code{ps} (for PostScript),
+@code{scm} (for a Scheme dump), @code{sk} (for Sketch) and @code{as}
+(for ASCII-art).
+
+@strong{This option is only for developers}. Only the @TeX{} output of
+these is usable for real work. More information can be found at
+@uref{http://lilypond.org/wiki?OutputFormats}.
+
+
+@cindex output format, setting
+@cindex Sketch output
+@cindex ASCII-art output
+@cindex PDFTeX output
+@cindex PostScript output
+@cindex Scheme dump
 
-Unless you have special requirements, you should use @TeX{}
-output. All other options are experimental.
 @item -h,--help
 Show a summary of usage.
 @item --include, -I=@var{directory}
diff -purN ../lilypond-1.5.69/Documentation/user/lilypond-book.itely ./Documentation/user/lilypond-book.itely
--- ../lilypond-1.5.69/Documentation/user/lilypond-book.itely	Wed Jul 17 15:18:26 2002
+++ ./Documentation/user/lilypond-book.itely	Fri Jul 26 15:47:54 2002
@@ -1,9 +1,41 @@
 @c -*-texinfo-*-
 
-@node Merging text and music with lilypond-book
-@chapter Merging text and music with lilypond-book
+@ignore
 
-@command{lilypond-book} runs Lilypond on fragments of lilypond in a
+TODO: cleanup
+
+** AARGH.e We also have tutorial.itely: Integrating text and music.
+
+   Could also do with a cleanup.  Lost inspiration to fix this manual
+   where to describe what?
+   
+
+
+@end ignore
+
+@c @node Merging text and music with lilypond-book
+@c @chapter Merging text and music with lilypond-book
+
+@node Insert music snippets into your texts using lilypond-book
+@chapter Insert music snippets into your texts using lilypond-book
+
+If you want to add pictures of music to a document, you can simply do
+it the way you would do with other types of pictures.  You write
+LilyPond code, process it separately to embedded PostScript or
+@code{png}, and include it as a picture into your La@TeX{} or
+@code{html} source.
+
+@command{lilypond-book} provides you with an alternative and easier
+way; it allows you to insert snippets of LilyPond code into your
+La@TeX{}, @code{html} or @code{texi} document.  @code{lilypond-book}
+introduces some extra LilyPond specific constructs, that integrate
+seamlessly with the rest of your source document.
+
+
+
+
+
+@command{lilypond-book} runs LilyPond on fragments of LilyPond in a
 La@TeX{} or Texinfo file, and includes the results into a document that
 can be processed with La@TeX{}, @command{makeinfo} or
 @command{texi2dvi}.  The result is a text document containing formatted
@@ -53,26 +85,15 @@ can make a HTML document with embedded m
 
 @section Texinfo reference
 
-You specify the lilypond code like this:
+You specify the LilyPond code like this:
 @example
 @@lilypond[options, go, here]
- YOUR LILYPOND CODE
+  YOUR LILYPOND CODE
 @@end lilypond
 @@lilypond[option, go, here]@{ YOUR LILYPOND CODE @}
 @@lilypondfile[options, go,here]@{@var{filename}@}
 @end example
 
-
-@command{lilypond-book} knows the default margins, and a few paper
-sizes. One of these commands should be in the beginning of the document:
-@itemize @bullet
-@item @code{@@afourpaper}
-@item @code{@@afourlatex}
-@item @code{@@afourwide}
-@item @code{@@smallbook}
-@end itemize
-@code{@@pagesizes} are not yet supported.
-
 We show two simple examples here. First a complete block:
 @example
 @@lilypond[26pt]
@@ -94,9 +115,19 @@ and its music:
 
 @lilypond[11pt]{<c' e' g'>}
 
+@command{lilypond-book} knows the default margins, and a few paper
+sizes. One of these commands should be in the beginning of the document:
+@itemize @bullet
+@item @code{@@afourpaper}
+@item @code{@@afourlatex}
+@item @code{@@afourwide}
+@item @code{@@smallbook}
+@end itemize
+@code{@@pagesizes} are not yet supported.
+
 @section La@TeX{} reference
 
-You specify the lilypond code like this:
+You specify the LilyPond code like this:
 @example
 \begin[option, go, here]@{lilypond@}
  YOUR LILYPOND CODE
@@ -111,6 +142,30 @@ or 
 \lilypond@{ YOUR LILYPOND CODE @}
 @end example
 
+We show some examples here.
+
+@example
+\begin[26pt]@{lilypond@}
+c' d' e' f' g'2 g'2
+\end@{lilypond@}
+@end example
+
+produces this music:
+
+@lilypond[26pt]
+c' d' e' f' g'2 g'2
+@end lilypond
+
+Then the short version:
+@example
+\lilypond[11pt]@{<c' e' g'>@}
+@end example
+
+and its music:
+
+@lilypond[11pt]{<c' e' g'>}
+
+
 You can use whatever commands you like in the document preamble,
 that is the part of the document before @code{\begin@{document@}}.
 @command{lilypond-book} will send it to La@TeX{} to find out how wide
@@ -128,28 +183,44 @@ The music will be surrounded by @code{\p
 defined to nothing by default, and the user can redefine them
 to whatever he wants.
 
-We show some examples here.
 
+@section HTML reference
+
+You specify the LilyPond code like this:
+
+@quotation
 @example
-\begin[26pt]@{lilypond@}
-c' d' e' f' g'2 g'2
-\end@{lilypond@}
+<lilypond relative1 verbatim>
+  \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4
+</lilypond> 
 @end example
+@end quotation
 
-produces this music:
+produces
 
-@lilypond[26pt]
-c' d' e' f' g'2 g'2
+@quotation
+@example
+<lilypond relative1 verbatim>
+  \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4
+</lilypond> 
+@end example
+@lilypond[relative1]
+  \key c \minor r8 c16 b c8 g as c16 b c8 d | g,4
 @end lilypond
+@end quotation
 
-Then the short version:
+Inline picture:
+
+@quotation
 @example
-\lilypond[11pt]@{<c' e' g'>@}
+Some music in <lilypond a b c/> a line of text.
 @end example
+@end quotation
 
-and its music:
+@c Huh? ugh, can't show inline pictures in texinfo?
+
+@c Some music in @lilypond{a b c} a line of text.
 
-@lilypond[11pt]{<c' e' g'>}
 
 
 @section Options
@@ -163,7 +234,7 @@ La@TeX{} only.
 This enables you to place music examples in the running text (and not in
 a separate paragraph). To avoid that La@TeX{} places the music on a line
 of its own, there should be no empty lines between the normal text and
-the lilypond environment. For inline music, you probably also need a
+the LilyPond environment. For inline music, you probably also need a
 smaller music font size (eg. 11 pt or 13 pt) 
 
 
@@ -171,7 +242,7 @@ smaller music font size (eg. 11 pt or 13
     CONTENTS is copied into the source enclosed in a verbatim block,
     followed by any text given with the @code{intertext} option, then
     the actual music is displayed. This option does not work with
-    the short version of the lilypond blocks:
+    the short version of the LilyPond blocks:
 
     @code{ @@lilypond@{ CONTENTS @} } and @code{ \lilypond@{ CONTENTS @} }
 
@@ -182,7 +253,7 @@ smaller music font size (eg. 11 pt or 13
     Used in conjunction with @code{verbatim} option: this puts
 @var{text} between the code and the music.
 @item filename="@var{filename}"
-    Save the lilypond code to @var{filename}. By default, a hash value
+    Save the LilyPond code to @var{filename}. By default, a hash value
 of the code is used.
 
 @item @code{11pt}
@@ -229,7 +300,7 @@ of the code is used.
 @item fragment
 @item nofragment
     Override @command{lilypond-book} auto detection of what type of code is in the
-    lilypond block, voice contents or complete code.
+    LilyPond block, voice contents or complete code.
 @item indent=@var{size}@var{unit}
     Set first line indent to @var{size}, where @var{unit} = cm, mm, in or pt.
 @item noindent
@@ -247,7 +318,7 @@ with @code{\lilypondfile}.
 @section Invocation
 
 When you run @command{lilypond-book} it will generate lots of small
-files that Lilypond will process. So to avoid all the garbage in
+files that LilyPond will process. So to avoid all the garbage in
 your source directory, you should either change to a temporary
 directory, or use the @code{--outdir} command line options:
 
@@ -279,13 +350,14 @@ files, you should add  the following to 
 lilypond-book accepts the following command-line options: 
 @table @code
 @item @option{-f}, @option{--format=}
-    Specify the document type to process, @code{latex} or @code{texi}.
-    @command{lilypond-book} usually figure this out automatically.
+    Specify the document type to process: @code{html}, @code{latex} or
+@code{texi} (default).  @command{lilypond-book} usually figures this
+out automatically.
 @item --default-music-fontsize=@var{sz}pt
-    Set the fontsize to use for lilypond if no fontsize is given
+    Set the fontsize to use for LilyPond if no fontsize is given
     as option.
 @item --force-music-fontsize=@var{sz}pt
-    Force all lilypond to use this fontsize, overriding options
+    Force all LilyPond to use this fontsize, overriding options
     given to @code{\begin@{lilypond@}}
 @item -I @var{DIR}, --include=@var{DIR}
     Add @var{DIR} to the include path.
@@ -294,9 +366,9 @@ lilypond-book accepts the following comm
 @item --dep-prefix=@code{PREF}
         prepend @code{PREF} before each @code{-M} dependency
 @item -n, --no-lily
-        don't run lilypond, but do generate the @code{.ly} files
+        don't run LilyPond, but do generate the @code{.ly} files
 @item --no-music
-        strip all  lilypond blocks from the file.
+        strip all  LilyPond blocks from the file.
 @item --no-pictures
         don't generate pictures when processing Texinfo.
 @item --read-lys
@@ -325,7 +397,7 @@ lilypond-book accepts the following comm
   
 The La@TeX{} \includeonly@{...@} command is ignored.
 
-The Texinfo command @code{pagesize} is on the TODO list for Lilypond
+The Texinfo command @code{pagesize} is on the TODO list for LilyPond
 1.6, but changing the linewidth in other ways will not give you a
 straight right margin.
 
diff -purN ../lilypond-1.5.69/Documentation/user/lilypond.tely ./Documentation/user/lilypond.tely
--- ../lilypond-1.5.69/Documentation/user/lilypond.tely	Sun Jul  7 03:32:04 2002
+++ ./Documentation/user/lilypond.tely	Fri Jul 26 14:29:59 2002
@@ -74,18 +74,17 @@ this and other documentation.
 @menu
 * Preface::                        Preface.
 * Introduction::                   What, Why, How.
-* Tutorial::                       A tutorial introduction to
-LilyPond.
+* Tutorial::                       A tutorial introduction to LilyPond.
 * Reference Manual::               Reference Manual.
-* Advanced Topics::                      How it all works.
+* Advanced Topics::                How it all works.
 * Invoking LilyPond::              Operation.
-* Converting from other formats::        Converting to lilypond source format.
-* Merging text and music with lilypond-book::
+* Converting from other formats::  Converting to lilypond source format.
+* Insert music snippets into your texts using lilypond-book::
                                    The lilypond-book manual.
 * Literature::                     Additional reading material.
 * Index::                          Unified index.
-* Refman appendix::
-* GNU Free Documentation License::     FDL.
+* Refman appendix::                
+* GNU Free Documentation License:: FDL.
 @end menu
 @end ifnottex
 
diff -purN ../lilypond-1.5.69/Documentation/user/preface.itely ./Documentation/user/preface.itely
--- ../lilypond-1.5.69/Documentation/user/preface.itely	Mon Jul 22 12:21:54 2002
+++ ./Documentation/user/preface.itely	Wed Jul 24 00:46:50 2002
@@ -13,8 +13,8 @@ happened, Han-Wen accidentally wanted to
 score, so he started looking at the software, and he quickly got hooked.
 It was soon decided that MPP was a dead end. After lots of
 philosophizing and heated e-mail exchanges Han-Wen started LilyPond in
-1996.  This time, Jan got sucked into Han-Wen's new project.  The rest
-is, as they say, history.
+1996.  This time, Jan got sucked into Han-Wen's new project.
+
 
 [TODO some more here.]
 
diff -purN ../lilypond-1.5.69/Documentation/user/refman.itely ./Documentation/user/refman.itely
--- ../lilypond-1.5.69/Documentation/user/refman.itely	Mon Jul 22 12:21:54 2002
+++ ./Documentation/user/refman.itely	Fri Jul 26 14:30:00 2002
@@ -46,7 +46,6 @@ encouraged to study the tutorial first.
 * Ancient notation ::           
 * Tuning output::               
 * Global layout::               
-* Output formats::              
 * Sound::                       
 @end menu
 
@@ -452,7 +451,7 @@ readable.
 @cindex ghostscript
 
 If you view the result with Xdvi, then staff lines will show through
-the letters.  Printing the postscript file obtained with ly2dvi does
+the letters.  Printing the PostScript file obtained with ly2dvi does
 produce the correct result.
 
 
@@ -460,6 +459,7 @@ produce the correct result.
 @section Easier music entry
 @cindex Music entry
 @menu
+* Graphical interfaces::        
 * Relative octaves::            
 * Bar check::                   
 * Point and click::             
@@ -470,6 +470,39 @@ When entering music with LilyPond, it is
 section deals with tricks and features that help you enter music, and
 find and correct mistakes.
 
+@node Graphical interfaces
+@subsection Graphical interfaces
+
+@cindex GUI
+@cindex graphical interface
+@cindex sequencer
+@cindex RoseGarden
+@cindex Denemo
+@cindex NoteEdit
+@cindex MIDI
+
+One way to avoid entering notes using the keyboard, is to use  a
+graphical user interface.  The following programs are known to have
+a lilypond export option:
+
+@itemize @bullet
+@item
+@uref{http://denemo.sourceforge.net/, Denemo}, was once intended as
+LilyPond graphical user interface.  It run on Gnome/GTK.
+@item
+@uref{http://rnvs.informatik.tu-chemnitz.de/~jan/noteedit/noteedit.html,noteedit}
+NoteEdit is a graphical score editor that runs under KDE/Qt.
+@item
+@uref{http://rosegarden.sf.net/,RoseGarden}
+once was an inspiration for naming LilyPond. Nowadays, it has been
+rewritten from scratch, and supports LilyPond export as of version
+0.1.6.
+@end itemize
+
+Another option is to enter the music using your favorite MIDI
+sequencer, and then import it using midi2ly. midi2ly is described in
+@ref{Importing MIDI}.
+
 @c .  {Relative}
 @node Relative octaves
 @subsection Relative octaves
@@ -571,25 +604,38 @@ corrected music})). 
 @c .  {Point and click}
 @node Point and click
 @subsection Point and click
+@cindex poind and click
 
 Point and click lets you find notes in the input by clicking on them in
 the Xdvi window. This makes it very easy to find input that causes some
 error in the sheet music.
 
 To use it, you need the following software
-
 @itemize @bullet
-@item 
-@uref{ftp://ftp.math.berkeley.edu/pub/Software/TeX/xdvi.tar.gz,plain
-Xdvi} version 22.36 or newer.
+@item A dvi viewer that supports src specials.
+@itemize @bullet
+@item Plain Xdvi, version 22.36 or newer.  Available from
+@uref{ftp://ftp.math.berkeley.edu/pub/Software/TeX/xdvi.tar.gz,ftp.math.berkeley.edu}.
 
   Note that most @TeX{} distributions ship with xdvik, which is a
   different and less well maintained program. To find out which xdvi you
   are running, try @code{xdvi --version} or @code{xdvi.bin --version}.
-@item Emacs. Emacs is an extensible text-editor It is available from
-@uref{http://www.gnu.org/software/emacs/}. You need version 21 to use
+@item KDVI.  A dvi viewer for KDE.  You need KDVI from KDE 3.0 or
+newer.  Enablle the menu Settings -> Inverse search. 
+@end itemize
+@item An editor with a client/server interface (or a lightweight GUI editor).
+@itemize @bullet
+@item Emacs. Emacs is an extensible text-editor.  It is available from
+@uref{http://www.gnu.org/software/emacs/}.  You need version 21 to use
 column location.
+@item XEmacs. Xemacs is very similar to emacs.
+@item NEdit.  NEdit runs under Windows, and Unix.
+  It is available from @uref{http://www.nedit.org}.
+@item GVim.  GVim is a lightweight GUI variant of VIM, the popular VI
+clone.  It is available from @uref{http://www.vim.org}.
 @end itemize
+@end itemize
+
 
 Xdvi must be configured to find the @TeX{} fonts and music
 fonts. Refer to the Xdvi documentation for more information.
@@ -599,34 +645,48 @@ file.
 @example
 #(set! point-and-click line-location)
 @end example
+@cindex line-location
+
+When viewing, Control-Mousebutton 1 will take you to the originating
+spot in the @file{.ly} file.  Control-Mousebutton 2 will show all
+clickable boxes.
+
+If you correct large files with point-and-click, be sure to start
+correcting at the end of the file. When you start at the top, and
+insert one line, all following locations will be off by a line.
 
-In the emacs startup file (usually @file{~/.emacs}), add the following
+@cindex Emacs
+For using point-and-click with emacs,  add the following
+In your emacs startup file (usually @file{~/.emacs}), 
 @example
 (server-start)
 @end example
 
-Make sure that the environment variable @code{XEDITOR} is set to
+Make sure that the environment variable @var{XEDITOR} is set to
 @example
 emacsclient --no-wait +%l %f
 @end example
-
-When viewing, Control-Mousebutton 1 will take you to the originating
-spot in the @file{.ly} file. Control-Mousebutton 2 will show all
-clickable boxes.
-
-If you use Emacs version 21, then you can make emacs jump to the exact
-spot (and not just the line) on a click, you must enable column
-positioning.  At the top of the @code{ly} file, replace the
-@code{set!} line with the following line
+@cindex @var{XEDITOR}
+If you use xemacs instead of emacs, you use @code{(gnuserve-start)} in
+your @file{.emacs}, and set @code{XEDITOR} to @code{gnuclient -q +%l %f}
+
+For using Vim, set @code{XEDITOR} to @code{gvim +%l %f}, or use this
+argument with xdvi's @code{-editor} option.
+@cindex NEdit
+For using NEdit, set @code{XEDITOR} to @code{nc -noask +%l %f}, or
+use this argument with xdvi's @code{-editor} option.
+
+If can also make your editor jump to the exact location of the note
+you clicked. This is only supported on Emacs. Users of version 20 must
+apply the patch @file{emacsclient.patch}. Users of version 21 must
+apply @file{server.el.patch} (version 21.2 and earlier).  At the top
+of the @code{ly} file, replace the @code{set!} line with the following
+line,
 @example
 #(set! point-and-click line-column-location)
 @end example
-Set @code{XEDITOR} to @code{emacsclient --no-wait +%l:%c %f}.
-
-If you correct large files with point-and-click, be sure to start
-correcting at the end of the file. When you start at the top, and
-insert one line, all following locations will be off by a line.
-
+@cindex line-colomn-location
+and set @code{XEDITOR} to @code{emacsclient --no-wait +%l:%c %f}.
 
 @refbugs
 
@@ -1764,8 +1824,8 @@ c4^"longtext" \fatText c4_"longlongtext"
 It is possible to use @TeX{} commands in the strings, but this should be
 avoided because it makes it impossible for LilyPond to compute the
 exact length of the string, which may lead to collisions.  Also, @TeX{}
-commands won't work with direct PostScript output (see @ref{PostScript
-output}).
+commands won't work with direct PostScript output.
+@c (see @ref{PostScript output}).
 
 Text scripts are created in form of @internalsref{TextScript} grobs, in
 @internalsref{Voice} context. 
@@ -4048,7 +4108,7 @@ syntax and semantics are slated for a re
 @section Global layout
 
 The global layout determined by three factors: the page layout, the
-line breaks and the spacing. These all influence each other: The
+iline breaks and the spacing. These all influence each other: The
 choice of spacing determines how densely each system of music is set,
 whree line breaks breaks are chosen, and thus ultimately how many
 pages a piece of music takes. In this section we will explain how the
@@ -4063,14 +4123,65 @@ is processed by @TeX{}, page are filled 
 are chosen whenever the page gets full.
 
 @menu
-* Spacing::                     
+* Vertical spacing::            
+* Horizontal spacing::          
 * Font Size::                   
 * Line breaking::               
 * Page layout::                 
 @end menu
 
-@node Spacing
-@subsection Spacing
+
+@node Vertical spacing
+@subsection Vertical spacing
+
+@cindex vertical spacing
+@cindex distance between staffs
+@cindex staff distance
+@cindex between staves, distance
+
+The height of each system is determined automatically by lilypond, to
+keep systems from bumping into each other, some minimum distances are
+set.  By changing these, you can put staffs closer together, and thus
+put more  systems onto one page.
+
+Normally staves are stacked vertically. To make
+staves maintain a distance, their vertical size is padded. This is
+done with the property @code{minimumVerticalExtent}. It takes a pair
+of numbers, so if you want to make it smaller from its, then you could
+set
+@example
+  \property Staff.minimumVerticalExtent = #'(-4 . 4)
+@end example
+This sets the vertical size of the current staff to 4 staff-space on
+either side of the center staff line.  The argument of
+@code{minimumVerticalExtent} is interpreted as an interval, where the
+center line is the 0, so the first number is generally negative.  you
+could also make the staff larger at the bottom by setting it to
+@code{(-6 . 4)}. The default value is @code{(-6 . 6)}.
+
+Vertical aligment of staves is handled by the
+@internalsref{VerticalAlignment} grob, which lives at
+@internalsref{Score} level.
+
+The piano staffs are handled a little differently: to make cross-staff
+beaming work correctly, it necessary that the distance between staves
+is fixed.  This is also done with a @internalsref{VerticalAlignment}
+grob, created in @internalsref{PianoStaff}, but a forced distance is
+set. This is done with the grob property #'forced-distance. If you
+want to override this, use a @code{\translator} block as follows:
+@example
+  \translator @{
+    \PianoStaffContext
+    VerticalAlignment \override #'forced-distance = #9
+  @}
+@end example
+This would bring the staffs together at a distance of 9 staff spaces,
+and again this is measured from the center line of each staff.
+
+
+
+@node Horizontal spacing
+@subsection Horizontal Spacing
 
 The spacing engine translates differences in durations into
 stretchable distances (``springs'') of differing lengths. Longer
diff -purN ../lilypond-1.5.69/Documentation/user/tutorial.itely ./Documentation/user/tutorial.itely
--- ../lilypond-1.5.69/Documentation/user/tutorial.itely	Mon Jul 15 19:21:03 2002
+++ ./Documentation/user/tutorial.itely	Fri Jul 26 14:30:00 2002
@@ -2659,10 +2659,10 @@ However, there is a also an automated pr
 If you use HTML, La@TeX{} or texinfo, you can mix text and LilyPond
 code. A script called @code{lilypond-book} will extract the music
 fragments, run LilyPond on them, and put back the resulting notation.
-This utility program is described fully in the chapter @ref{Merging text
-and music with lilypond-book}. Here we show a small example. Since the
-example also contains explanatory text, we won't comment on the
-contents.
+This utility program is described fully in the chapter @ref{Insert
+music snippets into your texts using lilypond-book}. Here we show a
+small example. Since the example also contains explanatory text, we
+won't comment on the contents.
 
 @example
 \documentclass[a4paper]@{article@}
@@ -2777,59 +2777,22 @@ The @code{printfilename} option adds the
 @node  End of tutorial
 @section End of tutorial
          
-That's all folks.  From here, you can either try fiddling with input
-files, or you can read the reference manual.  You can find more example
-files in @file{input} and @file{input/test}.  You can also look at some
-real music.  The website @uref{http://www.mutopiaproject.org} has many
-examples of real music typeset by LilyPond.
+This is the end of the tutorial. If you came up till here, and
+have understood everything, then you're now an accomplished lilypond
+hacker. From here, you can  try fiddling with input
+files, coming back to the reference  manual for information.
+Also don't forget to check out the 
+@ifhtml
+@uref{../../templates/out-www/templates.html,templates},
+@uref{../../test/out-www/test.html,example} and 
+@uref{../../regression/out-www/regression.html,feature test}
+snippets.
+@end ifhtml
+@ifnothtml
+templates, example and feature test snippets.
+@end ifnothtml
+If you want to see real action lilypond, then head over to
+@uref{http://www.mutopiaproject.org}, which has many examples of
+classical music typeset by LilyPond.
 
 
-
-@ignore
-
-[TODO
-
-this should be on mutopia website.
-
-]
-
-
-@c waar deze info?  is uiteindelijk wel handig, schat ik.
-[TODO: cut blabla]
-
-If you have a big music project, or just a lot of LilyPond input files,
-all generated output from LilyPond, @TeX{} and metafont will clutter
-your working directory.  LilyPond comes with a one-size-fits-all
-pre-cooked makefile that helps you manage producing output.  It will
-produce all output in the directory @file{out} , generate and track
-dependencies. Also, it helps in preparing your submission to @ref{Mutopia
-project}.
-
-@file{make/ly.make}
-@example
-mkdir my-project
-cd my-project
-cp /usr/share/lilypond/make/ly.make GNUmakefile
-cp /usr/share/doc/lilypond/examples/input/tutorial/minuet.ly .
-make minuet
-[..]
-Generated out/minuet.ps for target minuet.
-@end example
-
-Type @samp{make help} to see possible targets.
-
-[TODO]
-@file{/usr/share/lilypond/doc/lilypond/examples/input/mutopia-header.ly}
-
-
-
-
-
-[TODO: rewrite completely.]
-
-@menu
-* Songs with additional verses::  
-@end menu
-
-@end ignore
-
diff -purN ../lilypond-1.5.69/GNUmakefile.in ./GNUmakefile.in
--- ../lilypond-1.5.69/GNUmakefile.in	Mon Jul 22 13:33:03 2002
+++ ./GNUmakefile.in	Wed Jul 24 17:18:28 2002
@@ -10,7 +10,7 @@ depth = .
 # 
 SUBDIRS = buildscripts scripts flower lily \
 	mf ly tex ps scm \
-	python po make intl \
+	python po make \
 	cygwin debian $(builddir)/stepmake \
 	Documentation input
 #
@@ -21,7 +21,7 @@ README_TXT_FILES = AUTHORS.txt README.tx
 IN_FILES := $(wildcard *.in)
 EXTRA_DIST_FILES = $(wildcard *.el) vimrc VERSION $(README_FILES)  $(SCRIPTS) $(IN_FILES)  emacsclient.patch lexer-gcc-3.0.patch darwin.patch .cvsignore  lexer-gcc-3.1.sh 
 NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
-INSTALLATION_DIR=$(datadir)
+INSTALLATION_DIR=$(local_lilypond_datadir)
 INSTALLATION_FILES=$(configuration) VERSION
 
 # bootstrap stepmake:
@@ -60,9 +60,9 @@ my_tfm_path = $(TFM_PATH) /tmp /tmp /tmp
 
 
 local-install:
-	$(INSTALL) -d $(datadir)
+	$(INSTALL) -d $(local_lilypond_datadir)
 ifeq ($(KPATHSEA),0)
-	$(foreach i, 1 2 3 4 5, rm -f $(datadir)/tfm.$(i); $(LN_S) $(word $(i), $(my_tfm_path)) $(datadir)/tfm.$(i) ; )
+	$(foreach i, 1 2 3 4 5, rm -f $(local_lilypond_datadir)/tfm.$(i); $(LN_S) $(word $(i), $(my_tfm_path)) $(local_lilypond_datadir)/tfm.$(i) ; )
 endif
 
 
@@ -112,34 +112,31 @@ WWW:
 
 default: builddir-setup
 
-builddir-setup: $(builddir)/share/lilypond/$(TOPLEVEL_VERSION)-force
+builddir-setup: $(builddir)/share/lilypond-force
 
-$(builddir)/share/lilypond/$(TOPLEVEL_VERSION)-force:
+$(builddir)/share/lilypond-force:
 	# Preparing LilyPond tree for builddir exec
 	@echo Making $(builddir)/share 
 	@cd $(builddir) && rm -rf share
-	@cd $(builddir) && mkdir -p share/lilypond
-	@cd $(builddir)/share/lilypond && mkdir -p $(TOPLEVEL_VERSION)
-	@cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION) && \
+	@mkdir -p $(builddir)/share/lilypond
+	@mkdir -p $(builddir)/share/lilypond/fonts
+	@mkdir -p $(builddir)/share/lilypond/tex
+	@cd $(builddir)/share/lilypond && \
 		ln -s $(abs-srcdir)/ly ly && \
-		ln -s ../../../mf/$(outconfbase) dvips && \
-		ln -s ../../../mf/$(outconfbase) afm && \
-		ln -s ../../../mf/$(outconfbase) tfm && \
+		ln -s ../../mf/$(outconfbase) dvips && \
+		ln -s ../../mf/$(outconfbase) afm && \
+		ln -s ../../mf/$(outconfbase) tfm && \
 		ln -s $(abs-srcdir)/mf && \
 		ln -s $(abs-srcdir)/ps && \
 		ln -s $(abs-srcdir)/scm
-	@cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION) && \
-		mkdir tex
-	@cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION)/tex && \
+	@cd $(builddir)/share/lilypond/tex && \
 		ln -s $(abs-srcdir)/tex source && \
-		ln -s ../../../../mf/$(outconfbase) generate
-	@cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION) && \
-		mkdir fonts
-	@cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION)/fonts && \
+		ln -s ../../../mf/$(outconfbase) generate
+	@cd $(builddir)/share/lilypond/fonts && \
 		ln -s $(abs-srcdir)/mf source && \
-		ln -s ../../../../mf/$(outconfbase) afm && \
-		ln -s ../../../../mf/$(outconfbase) tfm && \
-		ln -s ../../../../mf/$(outconfbase) type1
+		ln -s ../../../mf/$(outconfbase) afm && \
+		ln -s ../../../mf/$(outconfbase) tfm && \
+		ln -s ../../../mf/$(outconfbase) type1
 
 local-clean: builddir-setup-clean
 builddir-setup-clean:
diff -purN ../lilypond-1.5.69/NEWS ./NEWS
--- ../lilypond-1.5.69/NEWS	Wed Jul 17 15:18:39 2002
+++ ./NEWS	Tue Jul 23 18:12:12 2002
@@ -1,6 +1,8 @@
 
 New features in 1.5
 
+* Development hosted at savannah.gnu.org
+
 * Tablature support.
 
 * Many speedups, many slowdowns.
diff -purN ../lilypond-1.5.69/ROADMAP ./ROADMAP
--- ../lilypond-1.5.69/ROADMAP	Thu Mar 28 00:58:45 2002
+++ ./ROADMAP	Wed Jul 24 17:18:28 2002
@@ -1,4 +1,8 @@
 
+LilyPond development is hosted at http://savannah.gnu.org/projects/lilypond
+
+test
+
 Here is an attempt at a simple explanation of the directory layout for
 LilyPond's source files.
 
@@ -30,7 +34,6 @@ LilyPond's source files.
      E.Satie/
      F.Schubert/
      J.S.Bach/
-   intl/			library for gettext
    po/				translations
    ports/                       access to mutopia archive
    ps/				postscript library files
diff -purN ../lilypond-1.5.69/VERSION ./VERSION
--- ../lilypond-1.5.69/VERSION	Mon Jul 22 14:16:11 2002
+++ ./VERSION	Fri Jul 26 16:16:13 2002
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=5
-PATCH_LEVEL=69
+PATCH_LEVEL=70
 MY_PATCH_LEVEL=
 
 # Use the above to send patches: MY_PATCH_LEVEL is always empty for a
diff -purN ../lilypond-1.5.69/aclocal.m4 ./aclocal.m4
--- ../lilypond-1.5.69/aclocal.m4	Mon Jul 22 14:22:46 2002
+++ ./aclocal.m4	Fri Jul 26 16:16:22 2002
@@ -239,22 +239,30 @@ AC_DEFUN(STEPMAKE_CXXTEMPLATE, [
 
 AC_DEFUN(STEPMAKE_DATADIR, [
     if test "$datadir" = "\${prefix}/share"; then
-	    datadir='${prefix}/share/'$package/$FULL_VERSION
+	    datadir='${prefix}/share'
     fi
-    DIR_DATADIR=${datadir}
     presome=${prefix}
     if test "$prefix" = "NONE"; then
-	    presome=${ac_default_prefix}
+	presome=${ac_default_prefix}
     fi
-    DIR_DATADIR=`echo ${DIR_DATADIR} | sed "s!\\\${prefix}!$presome!"`
-
-    AC_SUBST(datadir)
-    AC_SUBST(DIR_DATADIR)
-
-    # we used to set DIR_SHAREDSTATEDIR here,
-    # but apparently that broke something
     
-    AC_DEFINE_UNQUOTED(DIR_DATADIR, "${DIR_DATADIR}")
+    package_datadir=$datadir/$package
+    local_package_datadir=$package_datadir/$FULL_VERSION
+    build_package_datadir=$builddir/share/$package
+    
+    DATADIR=$(echo ${datadir} | sed "s!\\\${prefix}!$presome!")
+    PACKAGE_DATADIR=$(echo ${package_datadir} | sed "s!\\\${prefix}!$presome!")
+    LOCAL_PACKAGE_DATADIR=$(echo ${local_package_datadir} | sed "s!\\\${prefix}!$presome!")
+    BUILD_PACKAGE_DATADIR=$(echo ${build_package_datadir} | sed "s!\\\${prefix}!$presome!")
+    
+    AC_SUBST(datadir)
+    AC_SUBST(package_datadir)
+    AC_SUBST(local_package_datadir)
+    AC_SUBST(build_package_datadir)
+    AC_DEFINE_UNQUOTED(DATADIR, "${DATADIR}")
+    AC_DEFINE_UNQUOTED(PACKAGE_DATADIR, "${PACKAGE_DATADIR}")
+    AC_DEFINE_UNQUOTED(LOCAL_PACKAGE_DATADIR, "${LOCAL_PACKAGE_DATADIR}")
+    AC_DEFINE_UNQUOTED(BUILD_PACKAGE_DATADIR, "${BUILD_PACKAGE_DATADIR}")
 ])
 
 
@@ -332,16 +340,14 @@ AC_DEFUN(STEPMAKE_GCC, [
 
 
 AC_DEFUN(STEPMAKE_GETTEXT, [
-    DIR_LOCALEDIR=${localedir}
     presome=${prefix}
     if test "$prefix" = "NONE"; then
 	    presome=${ac_default_prefix}
     fi
-    DIR_LOCALEDIR=`echo ${DIR_LOCALEDIR} | sed "s!\\\${prefix}!$presome!"`
+    LOCALEDIR=$(echo ${localedir} | sed "s!\\\${prefix}!$presome!")
+    
     AC_SUBST(localedir)
-    AC_SUBST(DIR_LOCALEDIR)
-    AC_DEFINE_UNQUOTED(DIR_LOCALEDIR, "${DIR_LOCALEDIR}")
-
+    AC_DEFINE_UNQUOTED(LOCALEDIR, "${LOCALEDIR}")
     AC_CHECK_LIB(intl, gettext)
     AC_CHECK_FUNCS(gettext)
 ])
@@ -467,7 +473,7 @@ AC_DEFUN(STEPMAKE_INIT, [
     fi
 
     AC_MSG_CHECKING(Package)
-    if test "x$PACKAGE" = "xSTEPMAKE"; then
+    if test "$PACKAGE" = "STEPMAKE"; then
 	AC_MSG_RESULT(Stepmake package!)
 
 	AC_MSG_CHECKING(builddir)
@@ -528,7 +534,7 @@ AC_DEFUN(STEPMAKE_INIT, [
     AC_DEFINE_UNQUOTED(PACKAGE, "${PACKAGE_NAME}")
     AC_DEFINE_UNQUOTED(TOPLEVEL_VERSION, "${FULL_VERSION}")
 
-    if test "$package_depth" = "" ; then
+    if test -z "$package_depth"; then
     	package_depth="."
     else
     	package_depth="../$package_depth"
diff -purN ../lilypond-1.5.69/buildscripts/GNUmakefile ./buildscripts/GNUmakefile
--- ../lilypond-1.5.69/buildscripts/GNUmakefile	Fri Oct 19 18:16:11 2001
+++ ./buildscripts/GNUmakefile	Wed Jul 24 15:35:05 2002
@@ -7,7 +7,7 @@ include $(depth)/make/stepmake.make 
 # Should we install these? This should be handled by sysadmin or
 # packager but if she forgets...
 #INSTALLATION_OUT_SUFFIXES=1
-#INSTALLATION_OUT_DIR1=$(datadir)/scripts
+#INSTALLATION_OUT_DIR1=$(local_lilypond_datadir)/scripts
 #INSTALLATION_OUT_FILES1=$(outdir)/lilypond-login $(outdir)/lilypond-profile
 
 all: $(INSTALLATION_FILES)
diff -purN ../lilypond-1.5.69/buildscripts/lilypond-login.sh ./buildscripts/lilypond-login.sh
--- ../lilypond-1.5.69/buildscripts/lilypond-login.sh	Thu Jul  4 20:57:12 2002
+++ ./buildscripts/lilypond-login.sh	Wed Jul 24 15:35:05 2002
@@ -10,7 +10,7 @@
 
 
 # strange shell, this C
-set datadir="@datadir@"
+set datadir="@local_lilypond_datadir@"
 
  if ( $?GS_LIB ) then
        setenv GS_LIB "$datadir/ps:$GS_LIB"
@@ -22,7 +22,7 @@ set datadir="@datadir@"
 # setenv LILYPONDPREFIX "$datadir"
 
 # bit silly. for ly2dvi, overrules compiled-in datadir...
-# setenv LILYPONDPREFIX "@datadir@"
+# setenv LILYPONDPREFIX "@local_lilypond_datadir@"
 
 # Add the installation directory to the teTeX system tree, 
 # see Documentation/misc/fontinstallation
diff -purN ../lilypond-1.5.69/buildscripts/lilypond-profile.sh ./buildscripts/lilypond-profile.sh
--- ../lilypond-1.5.69/buildscripts/lilypond-profile.sh	Sat Jul 13 20:47:16 2002
+++ ./buildscripts/lilypond-profile.sh	Wed Jul 24 19:45:35 2002
@@ -8,20 +8,11 @@
 #   . lilypond-profile
 
 
-
-if [ "$LILYPONDPREFIX" == "" ] ; then
-    datadir=`echo "@datadir@" | sed 's!//!/!g'`
+if [ -z "$LILYPONDPREFIX" ]; then
+    datadir=`echo "@local_lilypond_datadir@" | sed 's!//!/!g'`
 else
-    if [ -d "$LILYPONDPREFIX/fonts" ] ; then
+    if [ -d "$LILYPONDPREFIX/share" ]; then
 	datadir=$LILYPONDPREFIX
-    else
-	eval `cat $LILYPONDPREFIX/VERSION`
-	FULLVERSION="$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL"
-	if [ "" != "$MY_PATCH_LEVEL" ]; then
-	    FULLVERSION="$FULLVERSION.$MY_PATCH_LEVEL"
-	fi 
-	
-	datadir="$LILYPONDPREFIX/share/lilypond/$FULLVERSION"
     fi
     echo "Setting tree to $datadir"
 fi
@@ -35,9 +26,6 @@ export TEXMF
 GS_LIB="$datadir/ps:"${GS_LIB:=""}
 export GS_LIB
 
-
-
-
 # For direct ps output fonts. Add all available TeX Type1 fonts
 GS_FONTPATH=`kpsewhich -expand-path=\\$T1FONTS`:${GS_FONTPATH:=""}
 export GS_FONTPATH
diff -purN ../lilypond-1.5.69/buildscripts/ontgaar.py ./buildscripts/ontgaar.py
--- ../lilypond-1.5.69/buildscripts/ontgaar.py	Thu Jan  1 01:00:00 1970
+++ ./buildscripts/ontgaar.py	Fri Jul 26 12:26:54 2002
@@ -0,0 +1,206 @@
+#!@PYTHON@
+# -*-python-*-
+
+'''
+
+Remove (ont-) LilyPond specific kind of HunGA(a)Rian notation.
+
+
+   ontgaar $(find flower lily python -name '*cc' -o -name '*hh' -o -name '*ll' -o -name '*yy')
+
+   for i in $(find flower lily python -name '*.ontgaar'); do diff -u $(dirname $i)/$(basename $i .ontgaar) $i; done > pats
+
+
+
+When done, move this to Coding Standads doco.
+
+
+Mandatory suffixes:
+  _       :  _       member var
+
+
+Optional suffixes:
+  _b      : bool
+  _p      : as in lispy pair_p ()?
+  _x      : x-coor
+  _y      : y-coor
+
+  _byte   :
+  _char   :
+  _count  : counter
+  _drul   : Drul_array
+  _global : global var
+  _grob   : Grob
+  _mom    : moment
+  _req    : Request
+  _scm    : SCM
+  _str    : C string
+  _str0   : C string
+  _string : C++ string
+
+Prefixes:
+  get_    :  
+  gh_     :  Do not use: part of deprecated Guile api
+  ly_     :
+  scm_    :
+
+
+The Grand Ontgaaring (some may remain):
+
+  _str    -> _string
+  _ch   -> _str0
+  _ch_C -> _str0
+  _sz   -> _str0
+  
+  _ch    -> _char
+  
+  _C     : junk
+  _c     : junk
+  _f     : junk
+  _i     : junk
+  _l     : junk
+  _p     : junk, except for lispy is_foo_p ()
+  _arr   : junk
+  _array : junk
+
+
+
+
+Voor alle suffixen waar het funcienamen betreft, als ik zeg maar wat,
+multiplicity_i (), wordt naam dan zoveel mogelijk: get_mulitiplity ().
+Als je dat niet doet, krijg je naam clashes met variabelen.
+
+
+
+
+'''
+		  
+import re
+import sys
+
+files = sys.argv[1:]
+
+for f in files:
+	print f
+	s = open (f).read ()
+	
+	# shield stuff
+	s = re.sub (r'equal_p', r'equal_pX', s)
+	s = re.sub (r'less_p', r'less_pX', s)
+	s = re.sub (r'pair_p', r'pair_pX', s)
+	s = re.sub (r'smob_p', r'smob_pX', s)
+	s = re.sub (r'list_p(\W)', r'list_pX\1', s)
+
+	s = re.sub (r'(gh_\w*_(p|str)) *\(', r'\1X (', s)
+	s = re.sub (r'(ly_\w*_(p|str)) *\(', r'\1X (', s)
+	s = re.sub (r'(scm_\w*_(p|str)) *\(', r'\1X (', s)
+	
+	s = re.sub (r'to_c(\W)', r'to_cX\1', s)
+	s = re.sub (r'P_C', r'P_XC', s)
+
+	s = re.sub (r'(\W)get_music(\W)', r'\1Yget_pending_events\2', s)
+
+	s = re.sub (r'2_i(\W)', r'2int\1', s)
+	s = re.sub (r'2_u(\W)', r'2unsigned\1', s)
+	s = re.sub (r'2_f(\W)', r'2double\1', s)
+
+	s = re.sub (r'(\w+)_str *\(', r'\1_string (', s)
+
+
+	# member vars or multipart names
+	s = re.sub (r'(\w+)_(c|f|i|l|p)_(\W)', r'\1_\3', s)
+	s = re.sub (r'(\w+)_(c|f|i|l|p)_arr(_|\W)', r'\1_array\3', s)
+	s = re.sub (r'(\w+)_arr_', r'\1_array_', s)
+	s = re.sub (r'(\w+)_str_', r'\1_string_', s)
+	s = re.sub (r'(\w+)_sz', r'\1_str0', s)
+	
+	# functions
+	s = re.sub (r'(\W)ch_C *\(', r'\1Yto_str0 (', s)
+	s = re.sub (r'(\W)byte_C *\(', r'\1Yto_bytes (', s)
+	s = re.sub (r'(\W)byte_l *\(', r'\1Yget_bytes (', s)
+	s = re.sub (r'(\W)value_i *\(', r'\1Yto_int (', s)
+	s = re.sub (r'(\W)value_f *\(', r'\1Yto_double (', s)
+	s = re.sub (r'find_i *\(', r'Yfind_index (', s)
+	s = re.sub (r'compare_i *\)', r'compare)', s)
+
+	
+	s = re.sub (r'(\w+)_(c|f|i|l|p) *\(', r'Yget_\1 (', s)
+	
+	s = re.sub (r'(\w+)_arr *\(', r'\1_array (', s)
+	s = re.sub (r'(\w+)_ch *\(', r'\1_str0 (', s)
+	s = re.sub (r'(\w+)_str *\(', r'\1_string (', s)
+	
+	s = re.sub (r'(\W)str *\(', r'\1string (', s)
+	s = re.sub (r'(\W)arr *\(', r'\1array (', s)
+	
+	s = re.sub (r'(\w+)_ch_C *\(', r'\1_str0 (', s)
+	s = re.sub (r'(\w+)_ch *\(', r'\1_str0 (', s)
+
+	# more member vars or multipart names
+	s = re.sub (r'(\w+)_ch_C', r'\1_str0', s)
+	s = re.sub (r'(\w+)_ch_', r'\1_char_', s)
+	s = re.sub (r'(\W)ch_C(\W)', r'\1str0\2', s)
+
+	# plain vars -- can't do, as we have
+	# Real foo_f, int foo_i, SCM foo constructs
+	# s = re.sub (r'(\w+)_(c|f|i|l|p)(\W)', r'\1_\3', s)
+
+	
+	# but these will go
+	s = re.sub (r'(\W)arr_(l|p)(\W)', r'\1array\3', s)
+	s = re.sub (r'new_(l|p)', r'new_pX', s)
+	s = re.sub (r'(\w+)_(l|p)(\W)', r'\1\3', s)
+
+	s = re.sub (r'(\w+)_arr(\W)', r'\1_array\2', s)
+	s = re.sub (r'(\w+)_str(\W)', r'\1_string\2', s)
+	
+	s = re.sub (r'(\w+)_ch_C(\W)', r'\1_str0\2', s)
+	s = re.sub (r'(\w+)_ch(\W)', r'\1_char\2', s)
+
+	s = re.sub (r'(\w+)_C(\W)', r'\1\2', s)
+	
+	# fixups
+	s = re.sub (r'Yfind', 'find', s)
+	s = re.sub (r'Yget_argument_to', 'get_argument_index', s)
+	s = re.sub (r'Yget_compare', 'compare', s)
+	s = re.sub (r'Yget_cons', 'cons', s)
+	s = re.sub (r'Yget_create', 'create', s)
+	s = re.sub (r'Yget_find', 'find', s)
+	s = re.sub (r'Yget_hex', 'hex', s)
+	s = re.sub (r'Yget_index', 'index', s)
+	s = re.sub (r'Yget_length', 'length', s)
+	s = re.sub (r'Yget_remove', 'remove', s)
+	s = re.sub (r'Yget_report', 'report', s)
+	s = re.sub (r'Yget_size', 'size', s)
+	s = re.sub (r'Yget_get', 'get', s)
+	s = re.sub (r'Yget', 'get', s)
+	s = re.sub (r'Yto', 'to', s)
+
+	
+	s = re.sub (r'(bin2dec|bin2hex|dec2bin|hex2bin)_string', r'\1', s)
+	s = re.sub (r'i2hex_string', 'int2hex', s)
+	s = re.sub (r'u2hex_string', 'unsigned2hex', s)
+	s = re.sub (r'i2dec_string', 'int2dec', s)
+
+	# Would this work?
+	s = re.sub (r'split_array', 'split', s)
+	s = re.sub (r'custos_array', 'custodes', s)
+	s = re.sub (r'primitives_array', 'primitives', s)
+	s = re.sub (r'span_array', 'spanners', s)
+	s = re.sub (r'(Pointer|Link|Drul|get|heap|_of|remove)_array',
+		    r'\1_Xarray', s)
+	s = re.sub (r'([a-rt-zA-RT-Z])_array', r'\1s', s)
+	s = re.sub (r'([sS])_array', r'\1es', s)
+	s = re.sub (r'_Xarray', '_array', s)
+	
+	# shields down
+	s = re.sub (r'_pX', r'_p', s)
+	s = re.sub (r'_cX', r'_c', s)
+	s = re.sub (r'_strX', r'_str', s)
+	s = re.sub (r'P_XC', 'P_C', s)
+	s = re.sub (r'Xget_music', 'get_music', s)
+
+	h = open (f + '.ontgaar', 'w')
+	h.write (s)
+	h.close ()
+	
diff -purN ../lilypond-1.5.69/buildscripts/wiki-slurp.py ./buildscripts/wiki-slurp.py
--- ../lilypond-1.5.69/buildscripts/wiki-slurp.py	Thu Jan  1 01:00:00 1970
+++ ./buildscripts/wiki-slurp.py	Tue Jul 23 13:36:53 2002
@@ -0,0 +1,155 @@
+#!@PYTHON@
+
+#
+# translate an entire Wiki site into local html.
+#
+
+import re
+import urllib
+import sys
+import getopt
+import os
+program_version = '@TOPLEVEL_VERSION@'
+if program_version == '@' + 'TOPLEVEL_VERSION' + '@':
+	program_version = '1.5.69'
+
+
+def help ():
+	print """Usage: wiki-slurp.py [OPTION]... ENTRY-PATTERN...
+
+Download a WikiWiki site and convert to local html.
+
+Example: wiki-slurp.py -d /tmp/output 'http://c2.com/cgi-bin/wiki?'
+
+Options:
+  -h,--help          this help
+  -m,--mangle        mangle file names to be shorter 
+  -d,--outdir=DIR    set output directory to DIR
+  -v,--version       version information
+
+Warning: downloading an entire Wiki site generates a huge amount of
+traffic and server load.  Consider asking for a copy of the database.
+See also http://c2.com/cgi-bin/wiki?WikiSlurp
+
+Report bugs to bug-lilypond@gnu.org.
+
+Written by Han-Wen Nienhuys <hanwen@cs.uu.nl>
+"""
+
+def print_version ():
+	print r"""wiki-slurp.py %s
+
+This is free software.  It is covered by the GNU General Public License,
+and you are welcome to change it and/or distribute copies of it under
+certain conditions.  Invoke as `midi2ly --warranty' for more information.
+
+Copyright (c) 2000-2002 by Han-Wen Nienhuys <hanwen@cs.uu.nl>
+""" % program_version
+
+(options, files) = getopt.getopt (sys.argv[1:], 'vd:hm', ['help','mangle','version', 'outdir='])
+
+
+def identity (name):
+	return name
+
+def mangle (name):
+	return '%d' % hash (name)
+
+mangler = identity
+
+outdir = '/tmp/'
+
+for opt in options:
+	o = opt[0]
+	a = opt[1]
+	if o== '--help' or o == '-h':
+		help ()
+		sys.exit (0)
+	elif o == '--version' or o == '-v':
+		print_version ()
+		sys.exit(0)
+	elif  o == '--mangle' or o == '-m':
+		mangler = mangle
+	elif o == '--outdir' or o == '-d':
+		outdir = a
+	else:
+		print o
+		raise getopt.error
+
+
+patterns = files
+
+if not patterns:
+	help ()
+	sys.stderr.write ("\n")
+	sys.exit (2)
+
+re_patterns = []
+for pattern in patterns:
+	re_patterns.append (re.sub ('([?.])', '\\\\\\1', pattern))
+
+todo = ["FrontPage"]
+
+print 'here!'
+done = {
+	'EditText': 1,  
+	}
+
+def unwiki (str, pat, mangler):
+	local = '<a href="%s([A-Za-z]+)">([A-Za-z]+)</a>' % pat
+
+	newurls = []
+	def do_replace (match, us = newurls, mangler = mangler):
+		newurl = match.group (1)
+		local = mangler (newurl)
+		
+		replacement = '<a href="%s.html">%s</a>' % (local,newurl)
+		us.append (newurl)
+		return replacement
+
+	str = re.sub (local, do_replace, str)
+	otherurl = '<a href="%s[^>]*">([?A-Za-z]+)</a>' % pat
+	str = re.sub (otherurl, '\\1', str)
+
+	imagesrc = '<a href="%s[^>]*">(<img[^>]*>)</a>' % pat
+	str = re.sub (imagesrc, '\\1', str)
+	
+	return (str, newurls)
+
+
+while todo:
+	f = todo[-1]
+	todo = todo[:-1]
+
+	if done.has_key (f):
+		continue
+	done [f] = 1
+
+	mangled = mangler (f)
+	
+	sys.stderr.write ("reading `%s' ... " % f)
+	sys.stderr.flush ()
+
+	page = urllib.urlopen (patterns[0] + f).read ()
+	sys.stderr.write ('done. ')
+	sys.stderr.flush ()
+
+	for re_pattern in re_patterns:
+		(page, nus) = unwiki (page, re_pattern, mangler)
+		todo.extend (nus)
+	
+	outname = os.path.join (outdir, mangled) + '.html'
+	fo = open (outname, 'w')
+
+	sys.stderr.write ("Writing `%s'\n" % outname)
+	fo.write (page)
+	fo.close ()
+
+
+# test
+if 0:
+	page = open ('/tmp/FrontPage.html').read()
+	(str, us)=unwiki (page, re_patterns)
+	print str
+	print us
+
diff -purN ../lilypond-1.5.69/config.hh.in ./config.hh.in
--- ../lilypond-1.5.69/config.hh.in	Wed Jul 10 01:30:45 2002
+++ ./config.hh.in	Wed Jul 24 17:18:28 2002
@@ -1,13 +1,20 @@
 /* @AUTOGENERATE@ */
 
-/* Hmm */
 #define PACKAGE "@package@"
 
-/* default lilypond init and input dir */
-#define  DIR_DATADIR "@DIR_DATADIR@"
+/* datadir */
+#define DATADIR "@DATADIR@"
+
+/* LilyPond init and input base directory */
+#define PACKAGE_DATADIR "@PACKAGE_DATADIR@"
+#define LILYPOND_DATADIR PACKAGE_DATADIR
+
+/* LilyPond specific init and input directory */
+#define LOCAL_PACKAGE_DATADIR "@LOCAL_PACKAGE_DATADIR@"
+#define LOCAL_LILYPOND_DATADIR LOCAL_PACKAGE_DATADIR
 
 /* default lilypond locale dir */
-#define  DIR_LOCALEDIR "@DIR_LOCALEDIR@"
+#define LOCALEDIR "@LOCALEDIR@"
 
 /* define if you have memmem */
 #define HAVE_MEMMEM 0
diff -purN ../lilypond-1.5.69/config.make.in ./config.make.in
--- ../lilypond-1.5.69/config.make.in	Sun Jun 23 11:26:39 2002
+++ ./config.make.in	Wed Jul 24 17:18:28 2002
@@ -16,15 +16,18 @@ PACKAGE = @PACKAGE@
 package = @package@
 PACKAGE_NAME = @PACKAGE_NAME@
 
-prefix = @prefix@
+prefix = $(DESTDIR)@prefix@
 exec_prefix = @exec_prefix@
 
 builddir = @builddir@
+build_lilypond_datadir = @build_package_datadir@
 bindir = @bindir@
 datadir = @datadir@
 includedir = @includedir@
 infodir = @infodir@
 libdir = @libdir@
+lilypond_datadir = @package_datadir@
+local_lilypond_datadir = @local_package_datadir@
 localedir = @localedir@
 mandir = @mandir@
 program_prefix = @program_prefix@
diff -purN ../lilypond-1.5.69/cygwin/GNUmakefile ./cygwin/GNUmakefile
--- ../lilypond-1.5.69/cygwin/GNUmakefile	Mon Jul 22 03:13:38 2002
+++ ./cygwin/GNUmakefile	Wed Jul 24 17:18:28 2002
@@ -46,7 +46,7 @@ INSTALLATION_FILES=$(OUT_POST_INSTALLS)
 INSTALLATION_OUT_DIR1=$(etc)/profile.d
 INSTALLATION_OUT_FILES1=$(OUT_PROFILES)
 
-INSTALLATION_OUT_DIR2=$(datadir)/tex
+INSTALLATION_OUT_DIR2=$(local_lilypond_datadir)/tex
 INSTALLATION_OUT_FILES2=$(shell kpsewhich geometry.sty)
 
 else
diff -purN ../lilypond-1.5.69/flower/axis.cc ./flower/axis.cc
--- ../lilypond-1.5.69/flower/axis.cc	Sat Dec  1 15:34:56 2001
+++ ./flower/axis.cc	Fri Jul 26 12:26:55 2002
@@ -11,9 +11,9 @@
 #include "string.hh"
 
 String
-axis_name_str (Axis a)
+axis_name_string (Axis a)
 {
-  return to_str (char (a + 'x'));
+  return to_string (char (a + 'x'));
 }
 
 
diff -purN ../lilypond-1.5.69/flower/binary-source-file.cc ./flower/binary-source-file.cc
--- ../lilypond-1.5.69/flower/binary-source-file.cc	Sun Mar 11 19:10:32 2001
+++ ./flower/binary-source-file.cc	Fri Jul 26 12:26:55 2002
@@ -16,8 +16,8 @@
 #include "binary-source-file.hh"
 #include "string-convert.hh"
 
-Binary_source_file::Binary_source_file (String& filename_str)
-  : Source_file (filename_str)
+Binary_source_file::Binary_source_file (String& filename_string)
+  : Source_file (filename_string)
 {
 }
 
@@ -26,44 +26,44 @@ Binary_source_file::~Binary_source_file 
 }
 
 String
-Binary_source_file::error_str (char const* pos_ch_C) const
+Binary_source_file::error_string (char const* pos_str0) const
 {
   assert (this);
-  if (!in_b (pos_ch_C))
+  if (!in_b (pos_str0))
     return "";
 
-  char const* begin_ch_C = pos_ch_C - 8 >? ch_C ();
-  char const* end_ch_C = pos_ch_C + 7 <? ch_C () + length_i ();
+  char const* begin_str0 = pos_str0 - 8 >? to_str0 ();
+  char const* end_str0 = pos_str0 + 7 <? to_str0 () + length ();
 
-  String pre_str ((Byte const*)begin_ch_C, pos_ch_C - begin_ch_C);
-  pre_str = String_convert::bin2hex_str (pre_str);
-  for (int i = 2; i < pre_str.length_i (); i += 3)
-    pre_str = pre_str.left_str (i) + " " + pre_str.cut_str (i, INT_MAX);
-  String post_str ((Byte const*)pos_ch_C, end_ch_C - pos_ch_C);
-  post_str = String_convert::bin2hex_str (post_str);
-  for (int i = 2; i < post_str.length_i (); i += 3)
-    post_str = post_str.left_str (i) + " " + post_str.cut_str (i, INT_MAX);
-
-  String str = pre_str
-    + to_str ('\n')
-    + to_str (' ', pre_str.length_i () + 1) 
-    + post_str;
+  String pre_string ((Byte const*)begin_str0, pos_str0 - begin_str0);
+  pre_string = String_convert::bin2hex (pre_string);
+  for (int i = 2; i < pre_string.length (); i += 3)
+    pre_string = pre_string.left_string (i) + " " + pre_string.cut_string (i, INT_MAX);
+  String post_string ((Byte const*)pos_str0, end_str0 - pos_str0);
+  post_string = String_convert::bin2hex (post_string);
+  for (int i = 2; i < post_string.length (); i += 3)
+    post_string = post_string.left_string (i) + " " + post_string.cut_string (i, INT_MAX);
+
+  String str = pre_string
+    + to_string ('\n')
+    + to_string (' ', pre_string.length () + 1) 
+    + post_string;
   return str;
 }
 
 int
-Binary_source_file::line_i (char const* pos_ch_C) const
+Binary_source_file::get_line (char const* pos_str0) const
 {
-  if (!in_b (pos_ch_C))
+  if (!in_b (pos_str0))
     return 0;
 
-  return pos_ch_C - ch_C ();
+  return pos_str0 - to_str0 ();
 }
 
 U8
 Binary_source_file::get_U8 ()
 {
-  return * (U8*)forward_ch_C (1);
+  return * (U8*)forward_str0 (1);
 }
 
 
diff -purN ../lilypond-1.5.69/flower/direction.cc ./flower/direction.cc
--- ../lilypond-1.5.69/flower/direction.cc	Sun Mar 11 19:10:32 2001
+++ ./flower/direction.cc	Fri Jul 26 12:26:55 2002
@@ -11,7 +11,7 @@
 #include "string.hh"
 
 String
-direction_str (Direction d, Axis a)
+direction_string (Direction d, Axis a)
 {
   String s ("center");
   if (a == Y_AXIS)
diff -purN ../lilypond-1.5.69/flower/file-path.cc ./flower/file-path.cc
--- ../lilypond-1.5.69/flower/file-path.cc	Wed Apr 25 00:26:03 2001
+++ ./flower/file-path.cc	Fri Jul 26 12:26:55 2002
@@ -45,7 +45,7 @@ static String
 dos_to_posix (String path)
 {
   char buf[PATH_MAX];
-  char *filename = path.copy_ch_p ();
+  char *filename = path.get_copy_str0 ();
   /* urg, wtf? char const* argument gets modified! */
   cygwin_conv_to_posix_path (filename, buf);
   delete filename;
@@ -55,7 +55,7 @@ dos_to_posix (String path)
 static String
 dos_to_posix_list (String path)
 {
-  char *filename = path.copy_ch_p ();
+  char *filename = path.get_copy_str0 ();
   int len = cygwin_win32_to_posix_path_list_buf_size (filename);
   if (len < PATH_MAX)
     len = PATH_MAX;
@@ -72,16 +72,16 @@ dos_to_posix_list (String path)
 
 /* Join components to full path. */
 String
-Path::str () const
+Path::string () const
 {
   String s;
   if (!root.empty_b ())
-    s = root + to_str (ROOTSEP);
+    s = root + to_string (ROOTSEP);
   if (!dir.empty_b ())
-    s += dir + to_str (DIRSEP);
+    s += dir + to_string (DIRSEP);
   s += base;
   if (!ext.empty_b ())
-    s += to_str (EXTSEP) + ext;
+    s += to_string (EXTSEP) + ext;
   return s;
 }
 
@@ -101,25 +101,25 @@ split_path (String path)
 #endif
 
   Path p;
-  int i = path.index_i (ROOTSEP);
+  int i = path.index (ROOTSEP);
   if (i >= 0)
     {
-      p.root = path.left_str (i);
-      path = path.right_str (path.length_i () - i - 1);
+      p.root = path.left_string (i);
+      path = path.right_string (path.length () - i - 1);
     }
 
-  i = path.index_last_i (DIRSEP);
+  i = path.index_last (DIRSEP);
   if (i >= 0)
     {
-      p.dir = path.left_str (i);
-      path = path.right_str (path.length_i () - i - 1);
+      p.dir = path.left_string (i);
+      path = path.right_string (path.length () - i - 1);
     }
 
-  i = path.index_last_i ('.');
+  i = path.index_last ('.');
   if (i >= 0)
     {
-      p.base = path.left_str (i);
-      p.ext = path.right_str (path.length_i () - i - 1);
+      p.base = path.left_string (i);
+      p.ext = path.right_string (path.length () - i - 1);
     }
   else
     p.base = path;
@@ -136,13 +136,13 @@ File_path::parse_path (String p)
 
   int l;
   
-  while ((l = p.length_i ()) )
+  while ((l = p.length ()) )
     {
-      int i = p.index_i (PATHSEP);
+      int i = p.index (PATHSEP);
       if (i <0) 
 	i = l;
-      add (p.left_str (i));
-      p = p.right_str (l- i - 1);
+      add (p.left_string (i));
+      p = p.right_string (l- i - 1);
     }
 }
 
@@ -159,15 +159,15 @@ File_path::parse_path (String p)
 String
 File_path::find (String nm) const
 {
-  if (!nm.length_i () || (nm == "-") )
+  if (!nm.length () || (nm == "-") )
     return nm;
   for (int i=0; i < size (); i++)
     {
       String path  = elem (i);
-      String sep = to_str (DIRSEP);
-      String right (path.right_str (1));
-      if (path.length_i () && right != sep)
-	path += to_str (DIRSEP);
+      String sep = to_string (DIRSEP);
+      String right (path.right_string (1));
+      if (path.length () && right != sep)
+	path += to_string (DIRSEP);
 
       path += nm;
 
@@ -177,7 +177,7 @@ File_path::find (String nm) const
 	Check if directory. TODO: encapsulate for autoconf
        */
       struct stat sbuf;
-      if (stat (path.ch_C (), &sbuf) == ENOENT)
+      if (stat (path.to_str0 (), &sbuf) == ENOENT)
 	continue;
       
       if (! (sbuf.st_mode & __S_IFREG))
@@ -185,14 +185,14 @@ File_path::find (String nm) const
 #endif
 #if !STAT_MACROS_BROKEN
       struct stat sbuf;
-      if (stat (path.ch_C (), &sbuf) == ENOENT)
+      if (stat (path.to_str0 (), &sbuf) == ENOENT)
 	continue;
       
       if (S_ISDIR (sbuf.st_mode))
 	continue;
 #endif
 
-      FILE *f = fopen (path.ch_C (), "r"); // ugh!
+      FILE *f = fopen (path.to_str0 (), "r"); // ugh!
       if (f)
 	{
 	  fclose (f);
@@ -210,7 +210,7 @@ File_path::try_add (String s)
 {
   if (s == "")
     s =  ".";
-  FILE  * f = fopen (s.ch_C (), "r");
+  FILE  * f = fopen (s.to_str0 (), "r");
   if (!f)
     return false;
   fclose (f);
@@ -231,7 +231,7 @@ File_path::add (String s)
 }
 
 String
-File_path::str () const
+File_path::string () const
 {
   String s;
   for (int i=0; i< size (); i++)
diff -purN ../lilypond-1.5.69/flower/getopt-long.cc ./flower/getopt-long.cc
--- ../lilypond-1.5.69/flower/getopt-long.cc	Fri Jul  5 15:29:37 2002
+++ ./flower/getopt-long.cc	Fri Jul 26 12:26:55 2002
@@ -28,11 +28,11 @@ gettext (char const* s)
 #endif
 
 long
-Getopt_long::argument_to_i ()
+Getopt_long::get_argument_index ()
 {
   long l;
-  if (!optional_argument_ch_C_
-      || sscanf (optional_argument_ch_C_, "%ld", &l) != 1)
+  if (!optional_argument_str0_
+      || sscanf (optional_argument_str0_, "%ld", &l) != 1)
     report (E_ILLEGALARG);
 
   return l;
@@ -41,66 +41,66 @@ Getopt_long::argument_to_i ()
 const Long_option_init *
 Getopt_long::parselong ()
 {
-  char const *optnm = arg_value_ch_a_a_[array_index_i_] + 2 ;
+  char const *optnm = arg_value_char_a_a_[array_index_] + 2 ;
   assert (*optnm);
 
   char const *endopt = strchr (optnm, '=');
   int searchlen  = (endopt) ? endopt - optnm : strlen (optnm);
 
-  found_option_l_=0;
-  for (int i=0; i< table_len_i_; i++)
+  found_option_=0;
+  for (int i=0; i< table_len_; i++)
     {
-      char const *ln = option_a_[i].longname_sz_;
+      char const *ln = option_a_[i].longname_str0_;
 
       if (ln && !strncmp (ln, optnm, searchlen))
 	{
-	  found_option_l_ = option_a_+i;
+	  found_option_ = option_a_+i;
 	  break;
 	}
     }
 
-  if (!found_option_l_)
+  if (!found_option_)
     {
       report (E_UNKNOWNOPTION);
       return 0;
     }
-  array_index_i_++;
-  argument_index_i_ = 0;
+  array_index_++;
+  argument_index_ = 0;
 
 
-  if (found_option_l_->take_arg_sz_)
+  if (found_option_->take_arg_str0_)
     {
       if (endopt)
-	optional_argument_ch_C_ = endopt +1; // a '='
+	optional_argument_str0_ = endopt +1; // a '='
       else
 	{
-	  optional_argument_ch_C_ = arg_value_ch_a_a_[array_index_i_];
-	  array_index_i_++;
+	  optional_argument_str0_ = arg_value_char_a_a_[array_index_];
+	  array_index_++;
 	}
-      if (!optional_argument_ch_C_)
+      if (!optional_argument_str0_)
 	report (E_ARGEXPECT);
 
     }
   else
     {
-      optional_argument_ch_C_ = 0;
+      optional_argument_str0_ = 0;
       if (endopt)
 	report (E_NOARGEXPECT);
     }
 
-  return found_option_l_;
+  return found_option_;
 }
 
 String
-Long_option_init::str () const
+Long_option_init::string () const
 {
   String str;
-  if (shortname_ch_)
-    str +=  "-" + shortname_ch_;
-  if (shortname_ch_ && longname_sz_)
+  if (shortname_char_)
+    str +=  "-" + shortname_char_;
+  if (shortname_char_ && longname_str0_)
     str += ", ";
-  if (longname_sz_)
-    str += String ("`--") + longname_sz_ + "'";
+  if (longname_str0_)
+    str += String ("`--") + longname_str0_ + "'";
   return str;
 }
 
@@ -108,24 +108,24 @@ String
 Long_option_init::str_for_help () const
 {
   String s;
-  if (shortname_ch_)
-    s = "-" + to_str (shortname_ch_);
+  if (shortname_char_)
+    s = "-" + to_string (shortname_char_);
   else
     s = "  ";
 
-  s = s + ((shortname_ch_ && longname_sz_) ? "," : " ");
+  s = s + ((shortname_char_ && longname_str0_) ? "," : " ");
 
-  if (longname_sz_)
-    s = s + "--" + longname_sz_;
+  if (longname_str0_)
+    s = s + "--" + longname_str0_;
 
-  if (take_arg_sz_)
+  if (take_arg_str0_)
     {
-      if (longname_sz_)
+      if (longname_str0_)
 	s = s + "=";
       else
 	s = s + " ";
       
-      s = s + gettext (take_arg_sz_);
+      s = s + gettext (take_arg_str0_);
     }
   return s;
 }
@@ -138,78 +138,78 @@ Getopt_long::report (Errorcod c)
   if (!error_out_)
     return;
 
-  String str = arg_value_ch_a_a_[0];
+  String str = arg_value_char_a_a_[0];
   str += ": ";
   switch (c)
     {
     case E_ARGEXPECT:
       str += _f ("option `%s' requires an argument",
-	found_option_l_->str ());
+	found_option_->string ());
       break;
     case  E_NOARGEXPECT:
       str += _f ("option `%s' doesn't allow an argument",
-	found_option_l_->str ());
+	found_option_->string ());
       break;
     case E_UNKNOWNOPTION:
       str += _f ("unrecognized option: `%s'",
-      String (argument_index_i_ 
-	      ? String ("-" + String_convert::form_str ("%c", 
-	        arg_value_ch_a_a_[array_index_i_][argument_index_i_]))
-	      : String (arg_value_ch_a_a_[array_index_i_])));
+      String (argument_index_ 
+	      ? String ("-" + String_convert::form_string ("%c", 
+	        arg_value_char_a_a_[array_index_][argument_index_]))
+	      : String (arg_value_char_a_a_[array_index_])));
       break;
     case E_ILLEGALARG:
       str += _f ("invalid argument `%s' to option `%s'",
-        optional_argument_ch_C_, found_option_l_->str ());
+        optional_argument_str0_, found_option_->string ());
       break;
     default:
       assert (false);
     }
-  fprintf(error_out_, "%s\n", str.ch_C());
+  fprintf(error_out_, "%s\n", str.to_str0 ());
   exit (2);
 }
 
 const Long_option_init *
 Getopt_long::parseshort ()
 {
-  char c=arg_value_ch_a_a_[array_index_i_][argument_index_i_];
-  found_option_l_=0;
+  char c=arg_value_char_a_a_[array_index_][argument_index_];
+  found_option_=0;
   assert (c);
 
-  for (int i=0; i < table_len_i_; i++)
-    if (option_a_[i].shortname_ch_ == c)
+  for (int i=0; i < table_len_; i++)
+    if (option_a_[i].shortname_char_ == c)
       {
-	found_option_l_  = option_a_+i;
+	found_option_  = option_a_+i;
 	break;
       }
 
-  if (!found_option_l_)
+  if (!found_option_)
     {
       report (E_UNKNOWNOPTION);
       return 0;
     }
 
-  argument_index_i_++;
-  if (!found_option_l_->take_arg_sz_)
+  argument_index_++;
+  if (!found_option_->take_arg_str0_)
     {
-      optional_argument_ch_C_ = 0;
-      return found_option_l_;
+      optional_argument_str0_ = 0;
+      return found_option_;
     }
-  optional_argument_ch_C_ = arg_value_ch_a_a_[array_index_i_] + argument_index_i_;
+  optional_argument_str0_ = arg_value_char_a_a_[array_index_] + argument_index_;
 
-  array_index_i_ ++;
-  argument_index_i_ = 0;
+  array_index_ ++;
+  argument_index_ = 0;
 
-  if (!optional_argument_ch_C_[0])
+  if (!optional_argument_str0_[0])
     {
-      optional_argument_ch_C_ = arg_value_ch_a_a_[array_index_i_];
-      array_index_i_ ++;
+      optional_argument_str0_ = arg_value_char_a_a_[array_index_];
+      array_index_ ++;
     }
-  if (!optional_argument_ch_C_)
+  if (!optional_argument_str0_)
     {
       report (E_ARGEXPECT);
     }
 
-  return found_option_l_;
+  return found_option_;
 }
 
 const Long_option_init *
@@ -222,25 +222,25 @@ Getopt_long::operator () ()
   if (!ok ())
     return 0;
 
-  if (argument_index_i_)
+  if (argument_index_)
     return parseshort ();
 
-  const char * argument_C = arg_value_ch_a_a_[array_index_i_];
+  const char * argument = arg_value_char_a_a_[array_index_];
 
-  if (argument_C[0] != '-')
+  if (argument[0] != '-')
     return 0;
 
-  if (argument_C[1] == '-') {// what to do with "command  --  bla"
-    if (argument_C[2])
+  if (argument[1] == '-') {// what to do with "command  --  bla"
+    if (argument[2])
       return parselong ();
     else
       return 0;
   }
   else
     {
-      if (argument_C[ 1 ])
+      if (argument[ 1 ])
 	{
-	  argument_index_i_ = 1;
+	  argument_index_ = 1;
 	  return parseshort ();
 	}
       else
@@ -256,43 +256,43 @@ Getopt_long::Getopt_long (int c, char  *
 {
   option_a_ = lo;
   error_out_ = stderr;
-  arg_value_ch_a_a_ = v;
-  argument_count_i_ = c;
-  array_index_i_ = 1;
-  argument_index_i_ = 0;
+  arg_value_char_a_a_ = v;
+  argument_count_ = c;
+  array_index_ = 1;
+  argument_index_ = 0;
 
   //    reached end of option table?
-  table_len_i_ =0;
-  for (int i = 0;  option_a_[i].longname_sz_ ||option_a_[i].shortname_ch_; i++)
-    table_len_i_ ++;
+  table_len_ =0;
+  for (int i = 0;  option_a_[i].longname_str0_ ||option_a_[i].shortname_char_; i++)
+    table_len_ ++;
 
 }
 
 bool
 Getopt_long::ok () const
 {
-  return  array_index_i_ < argument_count_i_;
+  return  array_index_ < argument_count_;
 }
 
 void
 Getopt_long::next ()
 {
   error_ = E_NOERROR;
-  while (array_index_i_ < argument_count_i_
-	 && !arg_value_ch_a_a_[array_index_i_][argument_index_i_])
+  while (array_index_ < argument_count_
+	 && !arg_value_char_a_a_[array_index_][argument_index_])
     {
-      array_index_i_++;
-      argument_index_i_ = 0;
+      array_index_++;
+      argument_index_ = 0;
     }
 }
 
 char const *
 Getopt_long::current_arg ()
 {
-  if (array_index_i_ >= argument_count_i_)
+  if (array_index_ >= argument_count_)
     return 0;
-  char const * a = arg_value_ch_a_a_[array_index_i_];
-  return a + argument_index_i_;
+  char const * a = arg_value_char_a_a_[array_index_];
+  return a + argument_index_;
 }
 
 char const *
@@ -301,8 +301,8 @@ Getopt_long::get_next_arg ()
   char const * a = current_arg ();
   if (a)
     {
-      array_index_i_ ++;
-      argument_index_i_= 0;
+      array_index_ ++;
+      argument_index_= 0;
     }
   return a;
 }
@@ -311,23 +311,23 @@ Getopt_long::get_next_arg ()
 const int EXTRA_SPACES = 5;
 
 String
-Long_option_init::table_str (Long_option_init *l) 
+Long_option_init::table_string (Long_option_init *l) 
 {
   String argstr = "ARG";
   String tabstr = "";
 
   int wid = 0;
-  for (int i=0; l[i].shortname_ch_ || l[i].longname_sz_; i++)
+  for (int i=0; l[i].shortname_char_ || l[i].longname_str0_; i++)
     {
-      wid = wid >? l[i].str_for_help ().length_i ();
+      wid = wid >? l[i].str_for_help ().length ();
     }
 
-  for (int i=0; l[i].shortname_ch_ || l[i].longname_sz_; i++)
+  for (int i=0; l[i].shortname_char_ || l[i].longname_str0_; i++)
     {
       String s  =  "  " + l[i].str_for_help ();
-      s += String_convert::char_str (' ', wid - s.length_i () + EXTRA_SPACES);
+      s += String_convert::char_string (' ', wid - s.length () + EXTRA_SPACES);
 
-      tabstr += s + gettext (l[i].help_sz_) + "\n";
+      tabstr += s + gettext (l[i].help_str0_) + "\n";
     }
 
     
@@ -337,19 +337,19 @@ Long_option_init::table_str (Long_option
 int
 Long_option_init::compare (Long_option_init const &a, Long_option_init const &b)
 {
-  if (a.shortname_ch_ && b.shortname_ch_ && a.shortname_ch_- b.shortname_ch_)
-    return a.shortname_ch_ - b.shortname_ch_;
+  if (a.shortname_char_ && b.shortname_char_ && a.shortname_char_- b.shortname_char_)
+    return a.shortname_char_ - b.shortname_char_;
 
-  if (b.shortname_ch_ && a.longname_sz_)
+  if (b.shortname_char_ && a.longname_str0_)
     {
-      char s[2] = {b.shortname_ch_, 0};
-      return strcmp (a.longname_sz_, s);
+      char s[2] = {b.shortname_char_, 0};
+      return strcmp (a.longname_str0_, s);
     }
-  if (a.shortname_ch_ && b.longname_sz_)
+  if (a.shortname_char_ && b.longname_str0_)
     {
-      char s[2] = {a.shortname_ch_, 0};
-      return strcmp (s, b.longname_sz_);
+      char s[2] = {a.shortname_char_, 0};
+      return strcmp (s, b.longname_str0_);
     }
   
-  return strcmp (a.longname_sz_, b.longname_sz_);
+  return strcmp (a.longname_str0_, b.longname_str0_);
 }
diff -purN ../lilypond-1.5.69/flower/hash.cc ./flower/hash.cc
--- ../lilypond-1.5.69/flower/hash.cc	Thu Mar 11 13:05:33 1999
+++ ./flower/hash.cc	Fri Jul 26 12:26:55 2002
@@ -32,7 +32,7 @@ prime_list (int idx)
 unsigned int
 string_hash (String s)
 {
-  const char* str = s.ch_C ();
+  const char* str = s.to_str0 ();
   unsigned int result = 0;
   while (1) {
     char c = *str++;
diff -purN ../lilypond-1.5.69/flower/include/array.hh ./flower/include/array.hh
--- ../lilypond-1.5.69/flower/include/array.hh	Sun Mar 11 19:10:32 2001
+++ ./flower/include/array.hh	Fri Jul 26 12:26:55 2002
@@ -39,17 +39,17 @@ protected:
   int max_;
 
   /// the data itself
-  T *array_p_;
+  T *array_;
 
   /// stretch or shrink  array.
   void remax (int newmax) 
     {	 
       T* newarr = new T[newmax];
       size_ = (newmax < size_) ? newmax : size_;
-      arrcpy (newarr, array_p_, size_);
+      arrcpy (newarr, array_, size_);
 	
-      delete[] array_p_;
-      array_p_ = newarr;
+      delete[] array_;
+      array_ = newarr;
       max_ = newmax;
     }
   int size_;
@@ -75,19 +75,19 @@ public:
 
   Array (T *tp, int n)
     {
-      array_p_ = new T[n];
+      array_ = new T[n];
       max_ =size_ = n;
-      arrcpy (array_p_, tp, n);      
+      arrcpy (array_, tp, n);      
     }
   
   Array () 
-    { array_p_ = 0; max_ =0; size_ =0; }
+    { array_ = 0; max_ =0; size_ =0; }
 
   // ugh, get around gcc 2.8.1 ice; see bezier.cc
   Array (int i) 
     { 
       max_ = size_ = i; 
-      array_p_ = new T[i];
+      array_ = new T[i];
     }
 
 
@@ -101,28 +101,28 @@ public:
     }
     
   ~Array () 
-    { delete[] array_p_; }
+    { delete[] array_; }
 
   /// return a  "new"ed copy of array 
-  T* copy_array () const 
+  T* copys () const 
     {
       T* Tarray = new T[size_];
-      arrcpy (Tarray, array_p_, size_);
+      arrcpy (Tarray, array_, size_);
       return Tarray;
     }
 
-  T const *access_array () const
+  T const *accesses () const
     {
-      return array_p_;
+      return array_;
     }
   void operator= (Array const & src) 
     {
       set_size (src.size_);
-      arrcpy (array_p_,src.array_p_, size_);
+      arrcpy (array_,src.array_, size_);
     }
   Array (Array const & src) 
     {
-      array_p_ = src.copy_array ();
+      array_ = src.copys ();
       max_ = size_ = src.size_;	
     }
 
@@ -131,7 +131,7 @@ public:
     remax (size_);
   }
     
-  T * remove_array_p ();
+  T * remove_array ();
 
   /// access element
   T &operator[] (int i)  
@@ -147,7 +147,7 @@ public:
   T &elem_ref (int i) const 
     {
       assert (i >=0&&i<size_);
-      return ((T*)array_p_)[i];	
+      return ((T*)array_)[i];	
     }
   /// access element
   T elem (int i) const 
@@ -163,7 +163,7 @@ public:
 
       // T::operator= (T &) is called here. Safe to use with automatic
       // vars
-      array_p_[size_++] = x;
+      array_[size_++] = x;
     }
   /// remove and return last entry 
   T pop () 
@@ -229,7 +229,7 @@ public:
   void del (int i) 
     {
       assert (i >=0&& i < size_);
-      arrcpy (array_p_+i, array_p_+i+1, size_-i-1);
+      arrcpy (array_+i, array_+i+1, size_-i-1);
       size_--;
     }
   // quicksort.
@@ -239,7 +239,7 @@ public:
     {
       int s = size_;
       set_size (size_ + src.size_);
-      arrcpy (array_p_+s,src.array_p_, src.size_);	
+      arrcpy (array_+s,src.array_, src.size_);	
     }
   Array<T> slice (int lower, int upper) const; 
   void reverse ();
diff -purN ../lilypond-1.5.69/flower/include/array.icc ./flower/include/array.icc
--- ../lilypond-1.5.69/flower/include/array.icc	Fri Jul  5 15:29:37 2002
+++ ./flower/include/array.icc	Fri Jul 26 12:26:55 2002
@@ -44,8 +44,8 @@ Array<T>::insert (T k, int j) 
   assert (j >=0 && j<= size_);
   set_size (size_+1);
   for (int i=size_-1; i > j; i--)
-    array_p_[i] = array_p_[i-1];
-  array_p_[j] = k;
+    array_[i] = array_[i-1];
+  array_[j] = k;
 }
 
 template<class T> INLINE void
@@ -61,7 +61,7 @@ Array<T>::sort (int (*compare) (T const&
   swap (lower, (lower+upper)/2);
   int last = lower;
   for (int i= lower +1; i <= upper; i++)
-    if (compare (array_p_[i], array_p_[lower]) < 0)
+    if (compare (array_[i], array_[lower]) < 0)
       swap (++last,i);
   swap (lower, last);
   sort (compare, lower, last-1);
@@ -81,17 +81,17 @@ void
 Array<T>::OK () const
 {
   assert (max_ >= size_ && size_ >=0);
-  if (max_) assert (array_p_);
+  if (max_) assert (array_);
 }
 
 template<class T> INLINE
 T *
-Array<T>::remove_array_p ()
+Array<T>::remove_array ()
 {
-  T * p = array_p_;
+  T * p = array_;
   size_ = 0;
   max_ = 0;
-  array_p_ =0;
+  array_ =0;
   return p;
 }
 
@@ -103,7 +103,7 @@ Array<T>::slice (int lower, int upper) c
   Array<T> r;
   int s =upper-lower;
   r.set_size (s);
-  arrcpy (r.array_p_, array_p_  + lower, s);
+  arrcpy (r.array_, array_  + lower, s);
   return r;
 }
 
diff -purN ../lilypond-1.5.69/flower/include/axes.hh ./flower/include/axes.hh
--- ../lilypond-1.5.69/flower/include/axes.hh	Sat Dec  1 15:34:56 2001
+++ ./flower/include/axes.hh	Fri Jul 26 12:26:55 2002
@@ -19,7 +19,7 @@ enum Axis {
 
 class String;
 
-String axis_name_str (Axis);
+String axis_name_string (Axis);
 
 
 /**
diff -purN ../lilypond-1.5.69/flower/include/binary-source-file.hh ./flower/include/binary-source-file.hh
--- ../lilypond-1.5.69/flower/include/binary-source-file.hh	Sun Feb 13 18:28:00 2000
+++ ./flower/include/binary-source-file.hh	Fri Jul 26 12:26:55 2002
@@ -11,7 +11,7 @@
 class Binary_source_file : public Source_file
 {
 public:
-  Binary_source_file (String& filename_str );
+  Binary_source_file (String& filename_string );
   virtual ~Binary_source_file ();
 
   U8 get_U8 (); 
@@ -20,8 +20,8 @@ public:
   Byte get_Byte () {return get_U8 (); }
   int get_int () { return get_U32 (); }
   
-  virtual String error_str (char const* pos_ch_C ) const;
-  virtual int line_i (char const* pos_ch_C ) const;
+  virtual String error_string (char const* pos_str0 ) const;
+  virtual int get_line (char const* pos_str0 ) const;
 };
 
 #endif // BINARY_SOURCE_FILE_HH
diff -purN ../lilypond-1.5.69/flower/include/cons.hh ./flower/include/cons.hh
--- ../lilypond-1.5.69/flower/include/cons.hh	Sun Mar 11 19:10:32 2001
+++ ./flower/include/cons.hh	Fri Jul 26 12:26:55 2002
@@ -57,7 +57,7 @@ Cons<T> *remove_cons (Cons<T> **pp)
   return knip;
 }
 
-template<class T> int cons_list_size_i (Cons<T> *l)
+template<class T> int cons_list_size (Cons<T> *l)
 {
   int i=0;
   while (l)
@@ -155,9 +155,9 @@ public:
     {
       junk ();
     }
-  int size_i ()
+  int size ()
     {
-      return cons_list_size_i (head_);
+      return cons_list_size (head_);
     }
 };
 
diff -purN ../lilypond-1.5.69/flower/include/direction.hh ./flower/include/direction.hh
--- ../lilypond-1.5.69/flower/include/direction.hh	Sun Mar 11 19:10:32 2001
+++ ./flower/include/direction.hh	Fri Jul 26 12:26:55 2002
@@ -55,6 +55,6 @@ flip (Direction *i) {
  */
 template<class T> T minmax (Direction d, T, T);
 
-// String direction_str (Direction, Axis);
+// String direction_string (Direction, Axis);
 
 #endif // DIRECTION_HH
diff -purN ../lilypond-1.5.69/flower/include/file-path.hh ./flower/include/file-path.hh
--- ../lilypond-1.5.69/flower/include/file-path.hh	Sat Feb 24 22:06:29 2001
+++ ./flower/include/file-path.hh	Fri Jul 26 12:26:55 2002
@@ -30,7 +30,7 @@ public:
   String base;
   String ext;
 
-  String str () const;
+  String string () const;
 };
 
 class File_path : private Array<String>
@@ -39,7 +39,7 @@ public:
   String find (String nm) const;
 
   Array<String>::push;
-  String str ()const;
+  String string ()const;
   bool try_add (String str);
   void add (String);
   void parse_path (String);
diff -purN ../lilypond-1.5.69/flower/include/file-storage.hh ./flower/include/file-storage.hh
--- ../lilypond-1.5.69/flower/include/file-storage.hh	Thu Jul  6 11:55:28 2000
+++ ./flower/include/file-storage.hh	Fri Jul 26 12:26:55 2002
@@ -19,8 +19,8 @@
 class File_storage
 {
 public:
-  virtual char const* ch_C () const=0;
-  virtual int length_i () const=0;
+  virtual char const* to_str0 () const=0;
+  virtual int length () const=0;
   virtual ~File_storage (){}
 };
 
diff -purN ../lilypond-1.5.69/flower/include/flower-proto.hh ./flower/include/flower-proto.hh
--- ../lilypond-1.5.69/flower/include/flower-proto.hh	Sun Mar 11 19:10:32 2001
+++ ./flower/include/flower-proto.hh	Fri Jul 26 12:26:55 2002
@@ -9,7 +9,7 @@
 #define FPROTO_HH
 
 
-char const * flower_version_sz ();
+char const * flower_version_str0 ();
 
 template<class T> struct Link_array;
 template<class T> struct Array;
diff -purN ../lilypond-1.5.69/flower/include/getopt-long.hh ./flower/include/getopt-long.hh
--- ../lilypond-1.5.69/flower/include/getopt-long.hh	Wed May 15 13:47:36 2002
+++ ./flower/include/getopt-long.hh	Fri Jul 26 12:26:55 2002
@@ -8,18 +8,18 @@
   a struct this for initialising the commandline options.
  */
 struct Long_option_init {
-  char const * take_arg_sz_;
-  char const * longname_sz_;
-  char        shortname_ch_;
+  char const * take_arg_str0_;
+  char const * longname_str0_;
+  char        shortname_char_;
 
-  char const * help_sz_;
+  char const * help_str0_;
   
-  String str () const;
+  String string () const;
   String str_for_help () const;
   //   NO constructor!
 
   static int compare (Long_option_init const&,Long_option_init const&);
-  static String table_str (Long_option_init *); 
+  static String table_string (Long_option_init *); 
 };
 
 
@@ -36,13 +36,13 @@ class Getopt_long {
 
   /// the option info.
   const Long_option_init *option_a_;
-  int table_len_i_;
+  int table_len_;
     
-  /// if doing short option, arg_value_ch_a_a_[optind][optindind] is processed next.
-  int argument_index_i_;
+  /// if doing short option, arg_value_char_a_a_[optind][optindind] is processed next.
+  int argument_index_;
 
   /// the option found
-  const Long_option_init *found_option_l_;
+  const Long_option_init *found_option_;
 
 
 public: 
@@ -52,19 +52,19 @@ public: 
 		  E_ILLEGALARG } ;
 
   /// argument. Set to 0 if not present
-  char const * optional_argument_ch_C_;
+  char const * optional_argument_str0_;
 
   /// current error status
   Errorcod error_;
 
-  /// arg_value_ch_a_a_[array_index_i_] will be processed next.
-  int array_index_i_;
+  /// arg_value_char_a_a_[array_index_] will be processed next.
+  int array_index_;
 
   /// the arguments
-  char **arg_value_ch_a_a_;
+  char **arg_value_char_a_a_;
 
   /// the arg. count
-  int argument_count_i_;
+  int argument_count_;
 
   FILE *error_out_;
 
@@ -81,7 +81,7 @@ public:
 
 
   /// return an integer (with err. detect)
-  long argument_to_i ();
+  long get_argument_index ();
  
     
   /**
diff -purN ../lilypond-1.5.69/flower/include/input.hh ./flower/include/input.hh
--- ../lilypond-1.5.69/flower/include/input.hh	Mon Jul 17 12:44:57 2000
+++ ./flower/include/input.hh	Fri Jul 26 12:26:55 2002
@@ -16,8 +16,8 @@
   Base class for anything that records its poisition in the parse file.
  */
 class Input {
-  char const *defined_ch_C_ ;
-  Source_file * source_file_l_;
+  char const *defined_str0_ ;
+  Source_file * source_file_;
 public:
     
   void warning (String) const; // should use member func?
@@ -26,11 +26,11 @@ public:
   void message (String) const;
   void set_spot (Input const &);
   Input spot () const;
-  String location_str () const;
-  String line_number_str () const;
+  String location_string () const;
+  String line_number_string () const;
 
 
-  String file_str ()const;
+  String file_string ()const;
   int line_number ()const;
   int column_number ()const;
 
diff -purN ../lilypond-1.5.69/flower/include/interval.hh ./flower/include/interval.hh
--- ../lilypond-1.5.69/flower/include/interval.hh	Sat Jun  1 13:34:19 2002
+++ ./flower/include/interval.hh	Fri Jul 26 12:26:55 2002
@@ -23,7 +23,7 @@ struct Interval_t : public Drul_array<T>
   /* ************** */
     
   static T infinity () ;
-  static String T_to_str (T arg);
+  static String T_to_string (T arg);
   T center () const {
     assert (!empty_b ());
     return (elem (LEFT) + elem (RIGHT)) / T (2);
@@ -86,7 +86,7 @@ struct Interval_t : public Drul_array<T>
   Real linear_combination (Real x) const {
     return ((1.0 - x) * Real (elem (LEFT))  + (x + 1.0) * Real (elem (RIGHT))) * 0.5;
   }
-  String str () const;    
+  String string () const;    
 
   bool elem_b (T r);
   void negate () {
diff -purN ../lilypond-1.5.69/flower/include/interval.tcc ./flower/include/interval.tcc
--- ../lilypond-1.5.69/flower/include/interval.tcc	Sat Jun  1 13:34:19 2002
+++ ./flower/include/interval.tcc	Fri Jul 26 12:26:55 2002
@@ -127,13 +127,13 @@ intersect (Interval_t<T> x, Interval_t<T
 
 template<class T>
 String
-Interval_t<T>::str () const
+Interval_t<T>::string () const
 {
   if (empty_b ())
     return "[empty]";
   String s ("[");
  
-  return s + T_to_str (elem (LEFT)) + String ("," ) + T_to_str (elem (RIGHT) ) + String ("]" );
+  return s + T_to_string (elem (LEFT)) + String ("," ) + T_to_string (elem (RIGHT) ) + String ("]" );
 }
 
 template<class T>
diff -purN ../lilypond-1.5.69/flower/include/libc-extension.hh ./flower/include/libc-extension.hh
--- ../lilypond-1.5.69/flower/include/libc-extension.hh	Mon Apr 16 23:17:45 2001
+++ ./flower/include/libc-extension.hh	Fri Jul 26 12:26:55 2002
@@ -15,8 +15,8 @@
 #include <cstddef>
 #include <stdarg.h>
 
-char* strnlwr (char* start_l ,int n);
-char* strnupr (char* start_l, int n);
+char* strnlwr (char* start ,int n);
+char* strnupr (char* start, int n);
 
 #if !HAVE_MEMMEM		// GNU extension.
 void *memmem (void const * haystack, int haystack_len,
@@ -38,7 +38,7 @@ int isinf (double x);
 #endif
 
 Byte *memrchr (Byte const * p, int n, char c);
-Byte *strrev (Byte* byte_l, int length_i);
+Byte *strrev (Byte* byte, int length_i);
 
 
 #endif // LIBC_EXTENSION_HH
diff -purN ../lilypond-1.5.69/flower/include/mapped-file-storage.hh ./flower/include/mapped-file-storage.hh
--- ../lilypond-1.5.69/flower/include/mapped-file-storage.hh	Sun Feb 13 18:28:00 2000
+++ ./flower/include/mapped-file-storage.hh	Fri Jul 26 12:26:55 2002
@@ -22,8 +22,8 @@ class Mapped_file_storage:public File_st
 public:
   Mapped_file_storage (String);    
 protected:
-  virtual char const* ch_C () const;
-  virtual int length_i () const;
+  virtual char const* to_str0 () const;
+  virtual int length () const;
   virtual ~Mapped_file_storage ();
 private:
   void open (String name);
@@ -31,7 +31,7 @@ private:
 
   void map ();
   void unmap ();
-  int fildes_i_;
+  int fildes_;
   off_t size_off_;
   caddr_t data_caddr_;
 };
diff -purN ../lilypond-1.5.69/flower/include/offset.hh ./flower/include/offset.hh
--- ../lilypond-1.5.69/flower/include/offset.hh	Sun Mar 11 19:10:32 2001
+++ ./flower/include/offset.hh	Fri Jul 26 12:26:55 2002
@@ -74,7 +74,7 @@ public:
       0.0;
   }
 
-  String str () const;
+  String string () const;
 
   void mirror (Axis);
   Real  arg () const;
diff -purN ../lilypond-1.5.69/flower/include/parray.hh ./flower/include/parray.hh
--- ../lilypond-1.5.69/flower/include/parray.hh	Fri Jul  5 15:29:37 2002
+++ ./flower/include/parray.hh	Fri Jul 26 12:26:55 2002
@@ -87,21 +87,21 @@ public:
     {
       return (T*&) Array<void*>::top (i);
     }
-  void substitute (T *old, T*new_l)
+  void substitute (T *old, T*new_p)
     {
       int i;
-      while ((i = find_i (old)) >=0) 
-	if (new_l)
-	  elem_ref (i) =new_l;
+      while ((i = find_index (old)) >=0) 
+	if (new_p)
+	  elem_ref (i) =new_p;
 	else
 	  del (i);
     }
-  void unordered_substitute (T* old, T * new_l)
+  void unordered_substitute (T* old, T * new_p)
     {
       int i;
-      while ((i = find_i (old)) >=0) 
-	if (new_l)
-	  elem_ref (i) =new_l;
+      while ((i = find_index (old)) >=0) 
+	if (new_p)
+	  elem_ref (i) =new_p;
 	else {
 	  unordered_del (i);
 	}
@@ -115,11 +115,11 @@ public:
 	     int lower = -1, int upper = -1);
   
   void uniq () {
-    Link_array<T> l_arr;
+    Link_array<T> ls;
     for (int i=0; i < size (); i++) 
       if (!i || elem (i-1) != elem (i))
-	l_arr.push (elem (i)); 
-    *this = l_arr;
+	ls.push (elem (i)); 
+    *this = ls;
   }
   Array<void*>::del;
   Array<void*>::unordered_del;  
@@ -148,9 +148,9 @@ public:
   }
 
   
-  T ** access_array () const
+  T ** accesses () const
     {
-      return (T**) Array<void*>::access_array ();
+      return (T**) Array<void*>::accesses ();
     }
   T * get (int i)
     {
@@ -165,15 +165,15 @@ public:
     {
       Array<void*>::concat (a2);
     }
-  int find_i (T const * t) const {
+  int find_index (T const * t) const {
     for (int i=0; i < size (); i++)
       if (elem (i) == t)
 	return i;
     return -1;
   }
-  T *find_l (T const *t) const
+  T *find (T const *t) const
     {
-      int i = find_i (t);
+      int i = find_index (t);
       if (i >= 0)
 	return elem (i);
       else
@@ -184,7 +184,7 @@ public:
 
 template<class T, class V>
 Link_array<T>
-typecast_array (Link_array<V> const &a, T * /* dummy */ )
+typecasts (Link_array<V> const &a, T * /* dummy */ )
 {
   Link_array<T> ret;
   for (int i=a.size (); i-- ; )
@@ -216,7 +216,7 @@ Link_array<T>::sort (int (*compare)(T *c
 
 template<class T>
 void
-junk_pointer_array (Link_array<T> &a)
+junk_pointers (Link_array<T> &a)
 {
   for (int i=0; i < a.size ();  i++)
     {
@@ -232,7 +232,7 @@ junk_pointer_array (Link_array<T> &a)
 */
 template<class T>
 int
-binsearch_array (Array<T> const &arr, T t, int (*compare) (T const&,T const&))
+binsearchs (Array<T> const &arr, T t, int (*compare) (T const&,T const&))
 {
   int lo;
   int hi;
@@ -263,7 +263,7 @@ binsearch_array (Array<T> const &arr, T 
 
 template<class T>
 int
-binsearch_link_array (Link_array<T> const &arr, T *t,
+binsearch_links (Link_array<T> const &arr, T *t,
 		      int (*compare) (T *const&,T *const&),
 		      int lo = 0, int hi = -1 )
 {
diff -purN ../lilypond-1.5.69/flower/include/pqueue.hh ./flower/include/pqueue.hh
--- ../lilypond-1.5.69/flower/include/pqueue.hh	Sun Mar 11 19:10:32 2001
+++ ./flower/include/pqueue.hh	Fri Jul 26 12:26:55 2002
@@ -34,20 +34,20 @@ int compare (PQueue_ent<K,T> const &e1 ,
  */
 template<class T>
 class PQueue {
-    Array<T> heap_arr_;
+    Array<T> heap_array_;
     T &elt (int i) {
-	return heap_arr_[i-1];
+	return heap_array_[i-1];
     }
     T const&elt (int i) const {
-	return heap_arr_[i-1];
+	return heap_array_[i-1];
     }
 public:
     /** acces an heap element.  Careful with this, as changing the
       priority might fuck up the invariants
 
       @param 1 <= i < size () */
-    T& operator[] (int i) { return heap_arr_[i]; }
-    T operator[] (int i) const { return heap_arr_[i]; }
+    T& operator[] (int i) { return heap_array_[i]; }
+    T operator[] (int i) const { return heap_array_[i]; }
     void OK () const
     {
 #ifndef NDEBUG
@@ -56,10 +56,10 @@ public:
 #endif
     }
     T front () const { return elt (1); }
-    int size () const { return heap_arr_.size (); }
+    int size () const { return heap_array_.size (); }
     void insert (T v) {
-	heap_arr_.push (v);
-	int i = heap_arr_.size ();
+	heap_array_.push (v);
+	int i = heap_array_.size ();
 	int j = i / 2 ;
 	while (j) {
 	    if (compare (elt (j), v) > 0) {
@@ -80,7 +80,7 @@ public:
     }
     void delmin () {
 	assert (size ());
-	T last = heap_arr_.top ();
+	T last = heap_array_.top ();
 	
 	int mini=2;
 	int lasti=1;
@@ -95,7 +95,7 @@ public:
 	    mini *= 2;
 	}
 	elt (lasti) = last;
-	heap_arr_.pop ();
+	heap_array_.pop ();
 	OK ();
     }
     T get () { 
diff -purN ../lilypond-1.5.69/flower/include/rational.hh ./flower/include/rational.hh
--- ../lilypond-1.5.69/flower/include/rational.hh	Wed May 15 13:47:36 2002
+++ ./flower/include/rational.hh	Fri Jul 26 12:26:55 2002
@@ -70,7 +70,7 @@ public:
   Rational &operator %= (Rational);
   static int compare (Rational const&, Rational const&);
   int sign () const;
-  String str () const;
+  String string () const;
 };
 
 IMPLEMENT_ARITHMETIC_OPERATOR (Rational, / );
diff -purN ../lilypond-1.5.69/flower/include/simple-file-storage.hh ./flower/include/simple-file-storage.hh
--- ../lilypond-1.5.69/flower/include/simple-file-storage.hh	Sun Feb 13 18:28:00 2000
+++ ./flower/include/simple-file-storage.hh	Fri Jul 26 12:26:55 2002
@@ -17,14 +17,14 @@
  */
 class Simple_file_storage  : public File_storage
 {
-  char * data_p_;
-  int len_i_;
+  char * data_;
+  int len_;
 
   void load_stdin ();
   void load_file (String);
 public:
-  virtual char const*ch_C () const;
-  virtual int length_i () const;
+  virtual char const*to_str0 () const;
+  virtual int length () const;
   virtual ~Simple_file_storage ();
   Simple_file_storage (String);
 };
diff -purN ../lilypond-1.5.69/flower/include/source-file.hh ./flower/include/source-file.hh
--- ../lilypond-1.5.69/flower/include/source-file.hh	Fri Jul  5 15:29:37 2002
+++ ./flower/include/source-file.hh	Fri Jul 26 12:26:55 2002
@@ -25,42 +25,42 @@ class Source_file
 public:
   /** Ugh! filename gets changed! The path to the opened file may
     change, since it might be searched in multiple directories.  */
-  Source_file (String filename_str_r );
+  Source_file (String filename_string_r );
 
-  Source_file (String name_str, String data_str);
+  Source_file (String name_string, String data_string);
   virtual ~Source_file ();
 
-  char const* ch_C () const;
-  virtual String error_str (char const* pos_ch_C ) const;
-  std::istream * istream_l ();
-  bool in_b (char const* pos_ch_C ) const;
-  int length_i () const;
-  virtual int line_i (char const* pos_ch_C ) const;
-  String name_str () const;
-  String file_line_column_str (char const* ch_C ) const;
+  char const* to_str0 () const;
+  virtual String error_string (char const* pos_str0 ) const;
+  std::istream * get_istream ();
+  bool in_b (char const* pos_str0 ) const;
+  int length () const;
+  virtual int get_line (char const* pos_str0 ) const;
+  String name_string () const;
+  String file_line_column_string (char const* str0 ) const;
 
   // return start + n
-  char const* seek_ch_C (int n);
+  char const* seek_str0 (int n);
   // return here + n bytes
-  char const* forward_ch_C (int n);
-  char const* pos_ch_C () { return pos_ch_C_; }
-  String get_str (int n);
-  void set_pos (char const * pos_ch_C);
+  char const* forward_str0 (int n);
+  char const* pos_str0 () { return pos_str0_; }
+  String get_string (int n);
+  void set_pos (char const * pos_str0);
 public:
-  Slice line_slice (char const* pos_ch_C) const;
-  String line_str (char const* pos_ch_C) const;
-  int column_i (char const* pos_ch_C) const;
-  int char_i (char const* pos_ch_C) const;
+  Slice line_slice (char const* pos_str0) const;
+  String line_string (char const* pos_str0) const;
+  int get_column (char const* pos_str0) const;
+  int get_char (char const* pos_str0) const;
 
   /*
     DOCUMENT-ME
    */
-  char const* pos_ch_C_;
+  char const* pos_str0_;
 
 private:
-  String name_str_;
-  std::istream* istream_p_;
-  File_storage * storage_p_;
+  String name_string_;
+  std::istream* istream_;
+  File_storage * storage_;
 };
 
 #endif // SOURCE_FILE_HH //
diff -purN ../lilypond-1.5.69/flower/include/source.hh ./flower/include/source.hh
--- ../lilypond-1.5.69/flower/include/source.hh	Sun Mar 11 19:10:32 2001
+++ ./flower/include/source.hh	Fri Jul 26 12:26:55 2002
@@ -20,10 +20,10 @@ public:
   Sources ();
   ~Sources ();
 
-  Source_file * get_file_l (String &filename );
-  Source_file* sourcefile_l (char const* ch_C );
-  void add (Source_file* sourcefile_p );
-  void set_path (File_path*p_C);
+  Source_file * get_file (String &filename );
+  Source_file* get_sourcefile (char const* str0 );
+  void add (Source_file* sourcefile );
+  void set_path (File_path*p);
   void set_binary (bool);
 
   const File_path * path_C_;
diff -purN ../lilypond-1.5.69/flower/include/string-convert.hh ./flower/include/string-convert.hh
--- ../lilypond-1.5.69/flower/include/string-convert.hh	Sat Mar 17 00:49:30 2001
+++ ./flower/include/string-convert.hh	Fri Jul 26 12:26:55 2002
@@ -15,36 +15,36 @@
 /** The functor String_convert handles all conversions to/from String
  (some time, anyway).  The class is quite empty from data view.  */
 class String_convert {
-  static int hex2bin_i (String hex_str, String& bin_str_r);
-  static int hex2nibble_i (Byte byte);
+  static int hex2bin (String hex_string, String& bin_string_r);
+  static int hex2nibble (Byte byte);
   static Byte nibble2hex_byte (Byte byte);
 public:
   static String pad_to (String s, int length);
-  static String bool_str (bool b);
-  static String bin2dec_str (String bin_str);
-  static String bin2hex_str (String bin_str);
-  static String dec2bin_str (String str);
-  static int bin2_i (String bin_str);
-  static unsigned bin2_u (String bin_str);
-  static String char_str (char c, int n);
-  static int dec2_i (String dec_str);
-  static double dec2_f (String dec_str);
-  static String double_str (double f, char const* fmt=0);
-  static String form_str (char const* format, ...);
-  static String vform_str (char const* format, va_list args);
-  static int hex2_i (String str);
-  static unsigned hex2_u (String str);
-  static String hex2bin_str (String str);
-  static String int_str (int i, char const *fmt=0 );
-  static String long_str (long);
-  static String i2hex_str (int i, int length_i, char ch);
-  static String u2hex_str (unsigned u, int length_i, char ch);
-  static String i2dec_str (int i, int length_i, char ch);
-  static String rational_str (Rational);
-  static String pointer_str (void const *);
-  static String precision_str (double x, int n);
-  static Array<String> split_arr (String str, char c);
-  static String i64_str (I64, char const * fmt = 0);
+  static String bool_string (bool b);
+  static String bin2dec (String bin_string);
+  static String bin2hex (String bin_string);
+  static String dec2bin (String str);
+  static int bin2int (String bin_string);
+  static unsigned bin2unsigned (String bin_string);
+  static String char_string (char c, int n);
+  static int dec2int (String dec_string);
+  static double dec2double (String dec_string);
+  static String double_string (double f, char const* fmt=0);
+  static String form_string (char const* format, ...);
+  static String vform_string (char const* format, va_list args);
+  static int hex2int (String str);
+  static unsigned hex2unsigned (String str);
+  static String hex2bin (String str);
+  static String int_string (int i, char const *fmt=0 );
+  static String long_string (long);
+  static String int2hex (int i, int length_i, char ch);
+  static String unsigned2hex (unsigned u, int length_i, char ch);
+  static String int2dec (int i, int length_i, char ch);
+  static String rational_string (Rational);
+  static String pointer_string (void const *);
+  static String precision_string (double x, int n);
+  static Array<String> split (String str, char c);
+  static String i64_string (I64, char const * fmt = 0);
 };
 
 #endif // __STRING_CONVERT_HH //
diff -purN ../lilypond-1.5.69/flower/include/string-data.hh ./flower/include/string-data.hh
--- ../lilypond-1.5.69/flower/include/string-data.hh	Sun Mar 11 19:10:32 2001
+++ ./flower/include/string-data.hh	Fri Jul 26 12:26:55 2002
@@ -20,8 +20,8 @@ class String_data {
 friend class String_handle;
     int maxlen;	// maxlen is arraysize-1
     
-    int length_i_;
-    Byte* data_byte_p_;
+    int length_;
+    Byte* data_byte_;
     int references;
 
     /// init to ""
@@ -33,13 +33,13 @@ friend class String_handle;
     ~String_data ();
 
     /** POST: maxlen >= j.
-      @param j, maximum stringlength_i_.    
+      @param j, maximum stringlength_.    
       contents thrown away.
     */
     void setmax (int j);
     
     /** POST: maxlen >= j.
-      @param j, maximum stringlength_i_.
+      @param j, maximum stringlength_.
       contents are kept if it grows.
       */
     void remax (int j);
@@ -54,27 +54,27 @@ friend class String_handle;
     void tighten ();
 
     // assignment.
-    void set (Byte const* byte_C, int length_i);
+    void set (Byte const* byte, int length_i);
 
-    void set (char const* ch_C);
+    void set (char const* str0);
     
     /// concatenation.
-    void append (Byte const* byte_C, int length_i);
+    void append (Byte const* byte, int length_i);
 
-    void operator += (char const* ch_C);
+    void operator += (char const* str0);
 
-    char const* ch_C () const; 
+    char const* to_str0 () const; 
 
-    char* ch_l ();
+    char* get_str0 ();
 
-    Byte const* byte_C () const;
+    Byte const* to_bytes () const;
 
     // idem, non const
-    Byte* byte_l ();
+    Byte* get_bytes ();
 
     void trunc (int j);
 
-    /** access element. not really safe. Can alter length_i_ without
+    /** access element. not really safe. Can alter length_ without
       #String_data# knowing it.  */
     Byte &operator [] (int j);
     Byte operator [] (int j) const;
diff -purN ../lilypond-1.5.69/flower/include/string-data.icc ./flower/include/string-data.icc
--- ../lilypond-1.5.69/flower/include/string-data.icc	Sun Mar 11 19:10:32 2001
+++ ./flower/include/string-data.icc	Fri Jul 26 12:26:55 2002
@@ -26,8 +26,8 @@ String_data::OKW () 
 INLINE void 
 String_data::OK () 
 {
-  assert (maxlen >= length_i_);
-  assert (bool (data_byte_p_));
+  assert (maxlen >= length_);
+  assert (bool (data_byte_));
   assert (references >= 1);
 }
 
@@ -37,25 +37,25 @@ String_data::String_data () 
 {
   references=0;
   maxlen = INITIALMAX;
-  data_byte_p_ = new Byte[maxlen + 1];
-  data_byte_p_[0] = 0;
-  length_i_ = 0;
+  data_byte_ = new Byte[maxlen + 1];
+  data_byte_[0] = 0;
+  length_ = 0;
 }
 
 INLINE
 String_data::String_data (String_data const &src) 
 {
   references=0;	
-  maxlen = length_i_ = src.length_i_;		
-  data_byte_p_ = new Byte[maxlen+1]; // should calc GNU 8byte overhead. 	
-  memcpy (data_byte_p_, src.data_byte_p_, length_i_ + 1);	
+  maxlen = length_ = src.length_;		
+  data_byte_ = new Byte[maxlen+1]; // should calc GNU 8byte overhead. 	
+  memcpy (data_byte_, src.data_byte_, length_ + 1);	
 }
 
 INLINE
 String_data::~String_data () 
 {
   assert (references == 0);
-  delete[] data_byte_p_;
+  delete[] data_byte_;
 }
 
 INLINE void 
@@ -64,17 +64,17 @@ String_data::setmax (int j) 
   OKW ();
   if (j > maxlen) 
     {
-      delete data_byte_p_;
+      delete data_byte_;
       maxlen = j;
-      data_byte_p_ = new Byte[maxlen + 1];
+      data_byte_ = new Byte[maxlen + 1];
   
-      data_byte_p_[0] = 0;
-      length_i_ = 0;
+      data_byte_[0] = 0;
+      length_ = 0;
     }
 }
 
 /* this is all quite hairy:  
-	 update of length_i_
+	 update of length_
 	 update of maxlen
 	 alloc of buffer
 	 copying of buffer
@@ -89,90 +89,90 @@ String_data::remax (int j) 
   if (j > maxlen) 
     {
       Byte *p = new Byte[j + 1];	
-      memcpy (p, data_byte_p_, (maxlen <? length_i_) + 1 );	    
+      memcpy (p, data_byte_, (maxlen <? length_) + 1 );	    
       maxlen = j;
-      delete[] data_byte_p_;
-      data_byte_p_ = p;
+      delete[] data_byte_;
+      data_byte_ = p;
     }
 }
 
 INLINE void 
 String_data::tighten () 
 { // should be dec'd const
-  maxlen = length_i_;
+  maxlen = length_;
   Byte *p = new Byte[maxlen + 1];	    
-  memcpy (p, data_byte_p_, length_i_ + 1);	    
-  delete[] data_byte_p_;
-  data_byte_p_ = p;		
+  memcpy (p, data_byte_, length_ + 1);	    
+  delete[] data_byte_;
+  data_byte_ = p;		
 }
 // assignment.
 INLINE void 
-String_data::set (Byte const* byte_C, int length_i) 
+String_data::set (Byte const* byte, int length_i) 
 {
   OKW ();
 
-  assert (byte_C && byte_C != data_byte_p_);
+  assert (byte && byte != data_byte_);
 
-  length_i_ = length_i;
-  remax (length_i_);     // copies too
-  memcpy (data_byte_p_, byte_C, length_i_);
-  data_byte_p_[ length_i_ ] = 0;
+  length_ = length_i;
+  remax (length_);     // copies too
+  memcpy (data_byte_, byte, length_);
+  data_byte_[ length_ ] = 0;
 }
 
 INLINE
 void 
-String_data::set (char const* ch_C) 
+String_data::set (char const* str0) 
 {
-  set ((Byte const*)ch_C, strlen (ch_C) );
+  set ((Byte const*)str0, strlen (str0) );
 }
 
 
 /// concatenation.
 INLINE void 
-String_data::append (Byte const* byte_C, int length_i) 
+String_data::append (Byte const* byte, int length_i) 
 {
   OK ();
   OKW ();
-  int old_i = length_i_;
+  int old_i = length_;
   
-  length_i_ += length_i;
-  remax (length_i_);
-  memcpy (data_byte_p_ + old_i, byte_C, length_i);	
-  data_byte_p_[ length_i_ ] = 0;
+  length_ += length_i;
+  remax (length_);
+  memcpy (data_byte_ + old_i, byte, length_i);	
+  data_byte_[ length_ ] = 0;
 }
 
 INLINE
 void 
-String_data::operator += (char const* ch_C) 
+String_data::operator += (char const* str0) 
 {
-  append ((Byte const*)ch_C, strlen (ch_C) );
+  append ((Byte const*)str0, strlen (str0) );
 }
 
 
 
 INLINE
 char const*
-String_data::ch_C () const
+String_data::to_str0 () const
 {
-  return (char const*)data_byte_p_; 
+  return (char const*)data_byte_; 
 }
 INLINE char* 
-String_data::ch_l () 
+String_data::get_str0 () 
 { 
-  return (char*)data_byte_p_; 
+  return (char*)data_byte_; 
 }
 
 INLINE Byte const*
-String_data::byte_C () const 
+String_data::to_bytes () const 
 { 
-  return data_byte_p_; 
+  return data_byte_; 
 }
 
 INLINE Byte* 
-String_data::byte_l () 
+String_data::get_bytes () 
 {
   OKW ();
-  return data_byte_p_;
+  return data_byte_;
 }
 
 INLINE
@@ -180,30 +180,30 @@ void 
 String_data::trunc (int j) 
 {
   OKW (); 
-  assert (j >= 0 && j <= length_i_);
-  data_byte_p_[j] = 0;
-  length_i_ = j;
+  assert (j >= 0 && j <= length_);
+  data_byte_[j] = 0;
+  length_ = j;
 }
 
 INLINE bool
 String_data::is_binary_bo () const
 {
-  //    return !memchr (data_byte_p_, length_i_, 0);
-  return ((int)strlen ((char const*)data_byte_p_) != length_i_ );
+  //    return !memchr (data_byte_, length_, 0);
+  return ((int)strlen ((char const*)data_byte_) != length_ );
 }
 
 INLINE Byte&
 String_data::operator [] (int j) 
 {
-  assert (j >= 0 && j <= length_i_);
-  return data_byte_p_[j] ; 
+  assert (j >= 0 && j <= length_);
+  return data_byte_[j] ; 
 }
 
 INLINE Byte 
 String_data::operator [] (int j) const 
 {
-  assert (j >= 0 && j <= length_i_);
-  return data_byte_p_[j]; 
+  assert (j >= 0 && j <= length_);
+  return data_byte_[j]; 
 }
 
 
diff -purN ../lilypond-1.5.69/flower/include/string-handle.hh ./flower/include/string-handle.hh
--- ../lilypond-1.5.69/flower/include/string-handle.hh	Sun Mar 11 19:10:32 2001
+++ ./flower/include/string-handle.hh	Fri Jul 26 12:26:55 2002
@@ -39,24 +39,24 @@ public:
   ~String_handle ();
   String_handle (String_handle const & src);
 
-  Byte const* byte_C () const;
-  char const* ch_C () const;
-  Byte* byte_l ();
-  char* ch_l ();    
+  Byte const* to_bytes () const;
+  char const* to_str0 () const;
+  Byte* get_bytes ();
+  char* get_str0 ();    
   bool is_binary_bo () const;
   void operator = (String_handle const &src);
   void operator += (char const *s);
   Byte operator[] (int j) const;
 
   /** Access elements. WARNING: NOT SAFE
-      don't use this for loops. Use byte_C ()
+      don't use this for loops. Use to_bytes ()
   */
   Byte &operator[] (int j);
-  void append (Byte const* byte_C, int length_i);
-  void set (Byte const* byte_C, int length_i);
+  void append (Byte const* byte, int length_i);
+  void set (Byte const* byte, int length_i);
   void operator = (char const *p);
   void trunc (int j);
-  int length_i () const;
+  int length () const;
 };
 
 #ifdef STRING_UTILS_INLINED
diff -purN ../lilypond-1.5.69/flower/include/string-handle.icc ./flower/include/string-handle.icc
--- ../lilypond-1.5.69/flower/include/string-handle.icc	Sun Mar 11 19:10:32 2001
+++ ./flower/include/string-handle.icc	Fri Jul 26 12:26:55 2002
@@ -59,29 +59,29 @@ String_handle::String_handle (String_han
 }
 
 INLINE Byte* 
-String_handle::byte_l () 
+String_handle::get_bytes () 
 {
   copy ();
-  return data->byte_l ();
+  return data->get_bytes ();
 }
 
 INLINE char* 
-String_handle::ch_l () 
+String_handle::get_str0 () 
 {
   copy ();
-  return (char*)data->byte_l ();
+  return (char*)data->get_bytes ();
 }
 
 INLINE Byte 
-const* String_handle::byte_C () const 
+const* String_handle::to_bytes () const 
 {
-  return data->byte_C ();
+  return data->to_bytes ();
 }
 
 INLINE char const* 
-String_handle::ch_C () const 
+String_handle::to_str0 () const 
 {
-  return (char const*)data->byte_C ();
+  return (char const*)data->to_bytes ();
 }
 
 INLINE void 
@@ -108,26 +108,26 @@ String_handle::operator[] (int j) const 
 }
 
 // !NOT SAFE!
-// don't use this for loops. Use byte_C ()
+// don't use this for loops. Use to_bytes ()
 INLINE Byte &
 String_handle::operator[] (int j) 
 {
   copy (); 	// hmm. Not efficient
-  return data->byte_l ()[j];
+  return data->get_bytes ()[j];
 }
 
 INLINE void 
-String_handle::append (Byte const* byte_C, int length_i) 
+String_handle::append (Byte const* byte, int length_i) 
 {
   copy ();
-  data->append (byte_C, length_i);
+  data->append (byte, length_i);
 }
 			   
 INLINE void 
-String_handle::set (Byte const* byte_C, int length_i) 
+String_handle::set (Byte const* byte, int length_i) 
 {
   copy ();
-  data->set (byte_C, length_i);
+  data->set (byte, length_i);
 }
 			   
 INLINE void 
@@ -144,9 +144,9 @@ String_handle::trunc (int j) 
 }
 
 INLINE int 
-String_handle::length_i () const 
+String_handle::length () const 
 { 
-  return data->length_i_; 
+  return data->length_; 
 }
 
 INLINE bool
diff -purN ../lilypond-1.5.69/flower/include/string-storage.hh ./flower/include/string-storage.hh
--- ../lilypond-1.5.69/flower/include/string-storage.hh	Sun Feb 13 18:28:00 2000
+++ ./flower/include/string-storage.hh	Fri Jul 26 12:26:55 2002
@@ -22,8 +22,8 @@ public:
   String_storage (String s) : String (s) { }
 
 protected:    
-  virtual char const* ch_C () const { return String::ch_C (); }
-  virtual int length_i () const { return String::length_i (); }
+  virtual char const* to_str0 () const { return String::to_str0 (); }
+  virtual int length () const { return String::length (); }
 };
 
 #endif /* STRING_STORAGE_HH */
diff -purN ../lilypond-1.5.69/flower/include/string.hh ./flower/include/string.hh
--- ../lilypond-1.5.69/flower/include/string.hh	Fri May 17 12:18:51 2002
+++ ./flower/include/string.hh	Fri Jul 26 12:26:55 2002
@@ -43,7 +43,7 @@ class ostream;
   indexing (index_i, index_any_i, last_index_i)
 
 \item
-  cutting (left_str, right_str, mid_str)
+  cutting (left_string, right_string, mid_string)
 
 \item
   concat (+=, +)
@@ -72,16 +72,16 @@ public:
 
   /// String s = "abc";
   String (char const* source); 
-  String (Byte const* byte_C, int length_i); 
+  String (Byte const* byte, int length_i); 
     
   ///  return "new"-ed copy of contents
-  Byte* copy_byte_p () const;
-  char* copy_ch_p () const;
+  Byte* get_copy_byte () const;
+  char* get_copy_str0 () const;
 
-  char const* ch_C () const;
-  Byte const* byte_C () const;
-  char* ch_l ();
-  Byte* byte_l ();
+  char const* to_str0 () const;
+  Byte const* to_bytes () const;
+  char* get_str0 ();
+  Byte* get_bytes ();
 
   String &operator = (String const & source);
 
@@ -101,42 +101,42 @@ public:
   char operator [] (int n) const;
 
   /// return n leftmost chars
-  String left_str (int n) const;
+  String left_string (int n) const;
 
   /// return n rightmost chars
-  String right_str (int n) const;
+  String right_string (int n) const;
 
   /// return uppercase of *this
-  String upper_str () const;
+  String upper_string () const;
 
   /// return lowercase of *this
-  String lower_str () const;
+  String lower_string () const;
 
   /// return the "esrever" of *this
-  String reversed_str () const;
+  String reversed_string () const;
 
-  /// return a piece starting at index_i (first char = index_i 0), length n
-  String cut_str (int index_i, int n) const;
+  /// return a piece starting at index (first char = index_i 0), length n
+  String cut_string (int index_i, int n) const;
 
   /// cut out a middle piece, return remainder
-  String nomid_str (int index_i, int n) const;
+  String nomid_string (int index_i, int n) const;
 
   /// signed comparison,  analogous to memcmp;
-  static int compare_i (String const & s1,const  String& s2);
+  static int compare (String const & s1,const  String& s2);
 	
   /// index of rightmost c 
-  int index_last_i (char c) const;
+  int index_last (char c) const;
 
   /// index of rightmost element of string (???)
-  int index_last_i (char const* string) const;
+  int index_last (char const* string) const;
 
-  int index_i (char c) const;
+  int index (char c) const;
 
   /// index of leftmost occurance of STRING
-  int index_i (String) const;
+  int index (String) const;
 
 
-  int index_any_i (String) const;
+  int index_any (String) const;
 
   void to_upper ();
   void to_lower ();
@@ -147,13 +147,13 @@ public:
 #endif
   
   /// the length of the string
-  int length_i () const;
+  int length () const;
 
   /// convert to an integer
-  int value_i () const;
+  int to_int () const;
 
   /// convert to a double
-  double value_f () const;
+  double to_double () const;
 };
 
 /*
@@ -168,14 +168,14 @@ public:
  */
 
 /// for completeness (=handy)
-inline String to_str (String s) { return s; }
+inline String to_string (String s) { return s; }
 /// "cccc"
-String to_str (char c, int n = 1);
-String to_str (int i, char const* format = 0);
-String to_str (double f , char const* format = 0);
-String to_str (long  b);
-String to_str (bool b);
-String to_str (char const* format, ... );
+String to_string (char c, int n = 1);
+String to_string (int i, char const* format = 0);
+String to_string (double f , char const* format = 0);
+String to_string (long  b);
+String to_string (bool b);
+String to_string (char const* format, ... );
 
 /*
   technically incorrect, but lets keep it here: this is a
@@ -186,7 +186,7 @@ String to_str (char const* format, ... )
 
 
 #include "compare.hh"
-INSTANTIATE_COMPARE (String const &, String::compare_i);
+INSTANTIATE_COMPARE (String const &, String::compare);
 
 #ifdef STRING_UTILS_INLINED
 #ifndef INLINE
diff -purN ../lilypond-1.5.69/flower/include/warn.hh ./flower/include/warn.hh
--- ../lilypond-1.5.69/flower/include/warn.hh	Sun Feb 13 18:28:00 2000
+++ ./flower/include/warn.hh	Fri Jul 26 12:26:55 2002
@@ -13,7 +13,7 @@
 #include "string.hh"
 
 void programming_error (String s);
-void warning (String message_str);
-void error (String message_str);
+void warning (String message_string);
+void error (String message_string);
 void non_fatal_error (String);
 #endif // WARN_HH
diff -purN ../lilypond-1.5.69/flower/input.cc ./flower/input.cc
--- ../lilypond-1.5.69/flower/input.cc	Wed May 15 13:47:36 2002
+++ ./flower/input.cc	Fri Jul 26 12:26:55 2002
@@ -16,14 +16,14 @@
 
 Input::Input (Source_file*s, char const *cl)
 {
-  source_file_l_=s;
-  defined_ch_C_=cl;
+  source_file_=s;
+  defined_str0_=cl;
 }
 
 Input::Input ()
 {
-  source_file_l_ = 0;
-  defined_ch_C_ = 0;
+  source_file_ = 0;
+  defined_str0_ = 0;
 }
 
 Input
@@ -48,7 +48,7 @@ Input::set_spot (Input const &i)
 
  */
 void
-Input::message (String message_str) const
+Input::message (String message_string) const
 {
   String str;
   
@@ -69,22 +69,22 @@ Input::message (String message_str) cons
   if (col > 0)
     str += "\n";
   
-  if (source_file_l_)
-    str += location_str () + String (": ");
+  if (source_file_)
+    str += location_string () + String (": ");
 
-  str += message_str;
-  if (source_file_l_)
+  str += message_string;
+  if (source_file_)
    {
     str += ":\n";
-    str += source_file_l_->error_str (defined_ch_C_);
+    str += source_file_->error_string (defined_str0_);
    }
-  fprintf (stderr, "%s\n", str.ch_C());
+  fprintf (stderr, "%s\n", str.to_str0 ());
 }
 
 void
-Input::warning (String message_str) const
+Input::warning (String message_string) const
 {
-  message (_ ("warning: ") + message_str);
+  message (_ ("warning: ") + message_string);
 }
 void
 Input::error (String s) const
@@ -98,28 +98,28 @@ Input::non_fatal_error (String s) const
   message (_ ("non fatal error: ") + s);
 }
 String
-Input::location_str () const
+Input::location_string () const
 {
-  if (source_file_l_)
-    return source_file_l_->file_line_column_str (defined_ch_C_);
+  if (source_file_)
+    return source_file_->file_line_column_string (defined_str0_);
   else
     return " (" + _ ("position unknown") + ")";
 }
 
 String
-Input::line_number_str () const
+Input::line_number_string () const
 {
-  if (source_file_l_)
-    return to_str (source_file_l_->line_i (defined_ch_C_));
+  if (source_file_)
+    return to_string (source_file_->get_line (defined_str0_));
   else
     return "?";
 }
 
 String
-Input::file_str () const
+Input::file_string () const
 {
-  if (source_file_l_)
-    return source_file_l_->name_str ();
+  if (source_file_)
+    return source_file_->name_string ();
   else
     return "";
 }
@@ -128,8 +128,8 @@ Input::file_str () const
 int
 Input::line_number () const
 {
-  if (source_file_l_)
-    return source_file_l_->line_i (defined_ch_C_);
+  if (source_file_)
+    return source_file_->get_line (defined_str0_);
   else
     return 0;
 
@@ -138,8 +138,8 @@ Input::line_number () const
 int
 Input::column_number () const
 {
-  if (source_file_l_)
-    return source_file_l_->column_i (defined_ch_C_);
+  if (source_file_)
+    return source_file_->get_column (defined_str0_);
   else
     return 0;
 
diff -purN ../lilypond-1.5.69/flower/international.cc ./flower/international.cc
--- ../lilypond-1.5.69/flower/international.cc	Fri Jan 14 00:22:04 2000
+++ ./flower/international.cc	Fri Jul 26 12:26:55 2002
@@ -33,7 +33,7 @@ _f (char const* format, ...)
 {
   va_list args;
   va_start (args, format);
-  String str = String_convert::vform_str (gettext (format), args);
+  String str = String_convert::vform_string (gettext (format), args);
   va_end (args);
   return str;
 }
@@ -41,6 +41,6 @@ _f (char const* format, ...)
 String 
 _f (char const* format, String s, String s2, String s3)
 {
-  return String_convert::form_str (gettext (format), s.ch_C (), s2.ch_C (), 
-    s3.ch_C ());
+  return String_convert::form_string (gettext (format), s.to_str0 (), s2.to_str0 (), 
+    s3.to_str0 ());
 }
diff -purN ../lilypond-1.5.69/flower/interval.cc ./flower/interval.cc
--- ../lilypond-1.5.69/flower/interval.cc	Fri Jan 14 00:22:05 2000
+++ ./flower/interval.cc	Fri Jul 26 12:26:55 2002
@@ -18,9 +18,9 @@ Interval_t<Real>::infinity () 
 }
 
 String
-Interval_t<Real>::T_to_str (Real r)
+Interval_t<Real>::T_to_string (Real r)
 {
-  return to_str (r);
+  return to_string (r);
 }
 
 
@@ -31,9 +31,9 @@ Interval_t<int>::infinity () 
 }
 
 String
-Interval_t<int>::T_to_str (int i)
+Interval_t<int>::T_to_string (int i)
 {
-  return to_str (i);
+  return to_string (i);
 }
 
 template INTERVAL__INSTANTIATE (int);
diff -purN ../lilypond-1.5.69/flower/libc-extension.cc ./flower/libc-extension.cc
--- ../lilypond-1.5.69/flower/libc-extension.cc	Thu May 11 16:35:30 2000
+++ ./flower/libc-extension.cc	Fri Jul 26 12:26:55 2002
@@ -17,25 +17,25 @@
   urg: why soo wierd?
  */
 char* 
-strnlwr (char* start_l ,int n)
+strnlwr (char* start ,int n)
 {
-  char * p = start_l + n;
-  while (--p >= start_l) 
+  char * p = start + n;
+  while (--p >= start) 
     {
       *p = tolower (*p);    /* a macro on some compilers */
     }
-  return start_l;
+  return start;
 }
 
 char* 
-strnupr (char* start_l, int n)
+strnupr (char* start, int n)
 {
-  char * p = start_l + n;
-  while (--p >= start_l) 
+  char * p = start + n;
+  while (--p >= start) 
     {
       *p = toupper (*p);    /* a macro on some compilers */
     }
-  return start_l;
+  return start;
 }
 
 
@@ -58,10 +58,10 @@ _memmem (Byte const *haystack, int hayst
      is the spice of life */
   while (haystack < end_haystack) 
     {
-      Byte const *subneedle_l = needle;
-      Byte const *subhaystack_l = haystack;
-      while (subneedle_l < end_needle) 
-        if (*subneedle_l++ != *subhaystack_l++)
+      Byte const *subneedle = needle;
+      Byte const *subhaystack = haystack;
+      while (subneedle < end_needle) 
+        if (*subneedle++ != *subhaystack++)
 	  goto next;
 	
       // completed the needle. Gotcha.
@@ -76,9 +76,9 @@ void *
 memmem (void const *haystack, int haystack_len,
 	void const *needle,int needle_len)
 {
-  Byte const* haystack_byte_c_l = (Byte const*)haystack;
-  Byte const* needle_byte_c_l = (Byte const*)needle;
-  return _memmem (haystack_byte_c_l, haystack_len, needle_byte_c_l, needle_len);
+  Byte const* haystack_byte_c = (Byte const*)haystack;
+  Byte const* needle_byte_c = (Byte const*)needle;
+  return _memmem (haystack_byte_c, haystack_len, needle_byte_c, needle_len);
 }
 
 #endif
@@ -106,18 +106,18 @@ my_swap (T &t1, T &t2, T &tmp)
 }
 
 Byte*
-strrev (Byte* byte_l, int length_i)
+strrev (Byte* byte, int length_i)
 {
   Byte tmp_byte;
   
-  Byte* left_l = byte_l;
-  Byte* right_l = byte_l + length_i;
+  Byte* left = byte;
+  Byte* right = byte + length_i;
 
-  while (right_l > left_l) 
+  while (right > left) 
     {
-      my_swap (*right_l-- , *left_l++ , tmp_byte);
+      my_swap (*right-- , *left++ , tmp_byte);
     }
-  return byte_l;
+  return byte;
 }
 
 #if ! HAVE_SNPRINTF
diff -purN ../lilypond-1.5.69/flower/mapped-file-storage.cc ./flower/mapped-file-storage.cc
--- ../lilypond-1.5.69/flower/mapped-file-storage.cc	Thu Jul  6 11:55:28 2000
+++ ./flower/mapped-file-storage.cc	Fri Jul 26 12:26:55 2002
@@ -37,13 +37,13 @@
 Mapped_file_storage::Mapped_file_storage (String s)
 {
   data_caddr_ = 0;
-  fildes_i_ = 0;
+  fildes_ = 0;
   size_off_ = 0;
   open (s);
 }
 
 char const*
-Mapped_file_storage::ch_C () const
+Mapped_file_storage::to_str0 () const
 {
   return (char const*)data_caddr_;
 }
@@ -51,7 +51,7 @@ Mapped_file_storage::ch_C () const
 void
 Mapped_file_storage::map ()
 {
-  if (fildes_i_ == -1)
+  if (fildes_ == -1)
     return;
   
 #ifdef __NeXT__
@@ -60,7 +60,7 @@ Mapped_file_storage::map ()
      vm_offset_t address;
      kern_return_t r;
  
-     r = map_fd (fildes_i_, (vm_offset_t) 0, &address, TRUE, size_off_);
+     r = map_fd (fildes_, (vm_offset_t) 0, &address, TRUE, size_off_);
      if (r != KERN_SUCCESS)
        warning (String ("map_fd: ") + mach_error_string (r));
      else
@@ -68,7 +68,7 @@ Mapped_file_storage::map ()
    }
 #else
 
-  data_caddr_ = (caddr_t)mmap ((void*)0, size_off_, PROT_READ, MAP_SHARED, fildes_i_, 0);
+  data_caddr_ = (caddr_t)mmap ((void*)0, size_off_, PROT_READ, MAP_SHARED, fildes_, 0);
 
   if ((int)data_caddr_ == -1)
     warning (_ ("can't map file") + ": " + strerror (errno));
@@ -78,19 +78,19 @@ Mapped_file_storage::map ()
 
 
 void
-Mapped_file_storage::open (String name_str)
+Mapped_file_storage::open (String name_string)
 {
-  fildes_i_ = ::open (name_str.ch_C (), O_RDONLY);
+  fildes_ = ::open (name_string.to_str0 (), O_RDONLY);
 
-  if (fildes_i_ == -1)
+  if (fildes_ == -1)
     {
-      warning (_f ("can't open file: `%s'", name_str)
+      warning (_f ("can't open file: `%s'", name_string)
 	+ ": " + strerror (errno));
       return;
     }
 
   struct stat file_stat;
-  fstat (fildes_i_, &file_stat);
+  fstat (fildes_, &file_stat);
   size_off_ = file_stat.st_size;
   map ();
 }
@@ -120,15 +120,15 @@ void
 Mapped_file_storage::close ()
 {
   unmap ();
-  if (fildes_i_)
+  if (fildes_)
     {
-      ::close (fildes_i_);
-      fildes_i_ = 0;
+      ::close (fildes_);
+      fildes_ = 0;
     }
 }
 
 int
-Mapped_file_storage::length_i () const
+Mapped_file_storage::length () const
 {
   return size_off_;
 }
diff -purN ../lilypond-1.5.69/flower/offset.cc ./flower/offset.cc
--- ../lilypond-1.5.69/flower/offset.cc	Sun Mar 11 19:10:32 2001
+++ ./flower/offset.cc	Fri Jul 26 12:26:55 2002
@@ -15,11 +15,11 @@
 
 #ifndef STANDALONE
 String
-Offset::str () const
+Offset::string () const
 {
   String s;
-  s = String (" (") + to_str (coordinate_a_[X_AXIS]) + ", " 
-    + to_str (coordinate_a_[Y_AXIS]) + ")";
+  s = String (" (") + to_string (coordinate_a_[X_AXIS]) + ", " 
+    + to_string (coordinate_a_[Y_AXIS]) + ")";
   return s;
 }
 #endif
diff -purN ../lilypond-1.5.69/flower/polynomial.cc ./flower/polynomial.cc
--- ../lilypond-1.5.69/flower/polynomial.cc	Sun Mar 11 19:10:32 2001
+++ ./flower/polynomial.cc	Fri Jul 26 12:26:55 2002
@@ -237,8 +237,8 @@ Polynomial::solve_cubic ()const
 
   /* use Cardano's formula */
 
-  Real cb_p = p * p * p;
-  Real D = q * q + cb_p;
+  Real cb = p * p * p;
+  Real D = q * q + cb;
 
   if (iszero (D)) {
     if (iszero (q)) {	/* one triple solution */
@@ -252,7 +252,7 @@ Polynomial::solve_cubic ()const
       sol.push (-u);
     }
   } else if (D < 0) {		/* Casus irreducibilis: three real solutions */
-    Real phi = 1.0 / 3 * acos (-q / sqrt (-cb_p));
+    Real phi = 1.0 / 3 * acos (-q / sqrt (-cb));
     Real t = 2 * sqrt (-p);
 
     sol.push (t * cos (phi));
diff -purN ../lilypond-1.5.69/flower/rational.cc ./flower/rational.cc
--- ../lilypond-1.5.69/flower/rational.cc	Wed May 15 13:47:36 2002
+++ ./flower/rational.cc	Fri Jul 26 12:26:55 2002
@@ -21,7 +21,7 @@ Rational::operator double () const
 ostream &
 operator << (ostream &o, Rational r)
 {
-  o <<  r.str ();
+  o <<  r.string ();
   return o;
 }
 #endif
@@ -275,16 +275,16 @@ Rational::operator -= (Rational r)
 }
 
 String
-Rational::str () const
+Rational::string () const
 {
   if (infty_b ())
     {
       String s (sign_ > 0 ? "" : "-" );
       return String (s + "infinity");
     }
-  String s = to_str (num ());
+  String s = to_string (num ());
   if (den () != 1 && num ())
-    s += "/" + to_str (den ());
+    s += "/" + to_string (den ());
   return s;
 }
 
diff -purN ../lilypond-1.5.69/flower/simple-file-storage.cc ./flower/simple-file-storage.cc
--- ../lilypond-1.5.69/flower/simple-file-storage.cc	Sun Mar 11 19:10:32 2001
+++ ./flower/simple-file-storage.cc	Fri Jul 26 12:26:55 2002
@@ -20,14 +20,14 @@
 void
 Simple_file_storage::load_stdin ()
 {
-  len_i_ = 0;
+  len_ = 0;
 
   int c;
-  Array<char> ch_arr;
+  Array<char> chs;
   while ((c = fgetc (stdin)) != EOF)
-    ch_arr.push (c);
-  len_i_ = ch_arr.size ();
-  data_p_ = ch_arr.remove_array_p ();
+    chs.push (c);
+  len_ = chs.size ();
+  data_ = chs.remove_array ();
 }
 
 void
@@ -37,7 +37,7 @@ Simple_file_storage::load_file (String s
     let's hope that "b" opens anything binary, and does not apply
     CR/LF translation
     */
-  FILE * f =  fopen (s.ch_C (), "rb");
+  FILE * f =  fopen (s.to_str0 (), "rb");
 
   if (!f)
     {
@@ -46,14 +46,14 @@ Simple_file_storage::load_file (String s
     }
 
   int ret = fseek (f, 0, SEEK_END);
-  len_i_ = ftell (f);
+  len_ = ftell (f);
   rewind (f);
-  data_p_ = new char[len_i_+1];
-  data_p_[len_i_] = 0;
-  ret = fread (data_p_, sizeof (char), len_i_, f);
+  data_ = new char[len_+1];
+  data_[len_] = 0;
+  ret = fread (data_, sizeof (char), len_, f);
 
-  if (ret!=len_i_)
-    warning (_f ("Huh?  Got %d, expected %d characters", ret, len_i_));
+  if (ret!=len_)
+    warning (_f ("Huh?  Got %d, expected %d characters", ret, len_));
 
   fclose (f);
 }
@@ -71,8 +71,8 @@ Simple_file_storage::load_file (String s
 
 Simple_file_storage::Simple_file_storage (String s)
 {
-  data_p_ = 0;
-  len_i_ = 0;
+  data_ = 0;
+  len_ = 0;
 
   if ((s == "-"))
     load_stdin ();
@@ -81,19 +81,19 @@ Simple_file_storage::Simple_file_storage
 }
 
 char const*
-Simple_file_storage::ch_C () const
+Simple_file_storage::to_str0 () const
 {
-  return data_p_;
+  return data_;
 }
 
 int
-Simple_file_storage::length_i () const
+Simple_file_storage::length () const
 {
-  return len_i_;
+  return len_;
 }
 
 
 Simple_file_storage::~Simple_file_storage ()
 {
-  delete []data_p_;
+  delete []data_;
 }
diff -purN ../lilypond-1.5.69/flower/source-file.cc ./flower/source-file.cc
--- ../lilypond-1.5.69/flower/source-file.cc	Wed Jul 10 01:30:44 2002
+++ ./flower/source-file.cc	Fri Jul 26 12:26:55 2002
@@ -13,7 +13,7 @@
 #include <sstream>
 #else
 #include <strstream.h>
-#define istringstream(x) istrstream(x, length_i ()) 
+#define istringstream(x) istrstream(x, length ()) 
 #endif
 
 #include "string.hh"
@@ -23,126 +23,126 @@
 #include "simple-file-storage.hh"
 #include "string-storage.hh"
 
-Source_file::Source_file (String filename_str)
+Source_file::Source_file (String filename_string)
 {
-  name_str_ = filename_str;
-  istream_p_ = 0;
-  storage_p_ = new Simple_file_storage (filename_str);
-  pos_ch_C_ = ch_C ();
+  name_string_ = filename_string;
+  istream_ = 0;
+  storage_ = new Simple_file_storage (filename_string);
+  pos_str0_ = to_str0 ();
 }
 
-Source_file::Source_file (String name_str, String data_str)
+Source_file::Source_file (String name_string, String data_string)
 {
-  name_str_ = name_str;
-  istream_p_ = 0;
-  storage_p_ = new String_storage (data_str);
-  pos_ch_C_ = ch_C ();
+  name_string_ = name_string;
+  istream_ = 0;
+  storage_ = new String_storage (data_string);
+  pos_str0_ = to_str0 ();
 }
 
 std::istream*
-Source_file::istream_l ()
+Source_file::get_istream ()
 {
   /*
-    if (!name_str_.length_i ())
+    if (!name_string_.length ())
       return &cin;
     */
 
-  if (!istream_p_)
+  if (!istream_)
     {
-      if (length_i ()) // can-t this be done without such a hack?
-	istream_p_ = new std::istringstream (ch_C ());
+      if (length ()) // can-t this be done without such a hack?
+	istream_ = new std::istringstream (to_str0 ());
       else
 	{
-	  istream_p_ = new std::istringstream ("");
-	  istream_p_->setstate (std::ios::eofbit);
-	  //	  istream_p_->set (ios::eofbit);
+	  istream_ = new std::istringstream ("");
+	  istream_->setstate (std::ios::eofbit);
+	  //	  istream_->set (ios::eofbit);
 	}
     }
-  return istream_p_;
+  return istream_;
 }
 
 String
-Source_file::file_line_column_str (char const *context_ch_C) const
+Source_file::file_line_column_string (char const *context_str0) const
 {
-  if (!ch_C ())
+  if (!to_str0 ())
     return " (" + _ ("position unknown") + ")";
   else
-    return name_str () + ":" + to_str (line_i (context_ch_C))
-      + ":" + to_str (char_i (context_ch_C));
+    return name_string () + ":" + to_string (get_line (context_str0))
+      + ":" + to_string (get_char (context_str0));
 }
 
 String
-Source_file::name_str () const
+Source_file::name_string () const
 {
-  return name_str_;
+  return name_string_;
 }
 
 Source_file::~Source_file ()
 {
-  delete istream_p_;
-  istream_p_ = 0;
-  delete storage_p_;
+  delete istream_;
+  istream_ = 0;
+  delete storage_;
 }
 
 Slice
-Source_file::line_slice (char const* pos_ch_C) const
+Source_file::line_slice (char const* pos_str0) const
 {
-  if (!in_b (pos_ch_C))
+  if (!in_b (pos_str0))
     return Slice (0,0);
 
-  char const* data_ch_C = ch_C ();
-  char const * eof_C_ = data_ch_C + length_i ();
+  char const* data_str0 = to_str0 ();
+  char const * eof_C_ = data_str0 + length ();
 
-  if (pos_ch_C == eof_C_)
-    pos_ch_C --;
-  char const* begin_ch_C = pos_ch_C;
-  while (begin_ch_C > data_ch_C)
-    if (*--begin_ch_C == '\n')
+  if (pos_str0 == eof_C_)
+    pos_str0 --;
+  char const* begin_str0 = pos_str0;
+  while (begin_str0 > data_str0)
+    if (*--begin_str0 == '\n')
       {
-	begin_ch_C++;
+	begin_str0++;
 	break;
       }
 
-  char const* end_ch_C = pos_ch_C;
-  while (end_ch_C < eof_C_)
-    if (*end_ch_C++ == '\n')
+  char const* end_str0 = pos_str0;
+  while (end_str0 < eof_C_)
+    if (*end_str0++ == '\n')
       {
-	end_ch_C--;
+	end_str0--;
 	break;
       }
 
-  return Slice (begin_ch_C - data_ch_C, end_ch_C - data_ch_C);
+  return Slice (begin_str0 - data_str0, end_str0 - data_str0);
 }
 
 String
-Source_file::line_str (char const* pos_ch_C) const
+Source_file::line_string (char const* pos_str0) const
 {
-  if (!in_b (pos_ch_C))
+  if (!in_b (pos_str0))
     return "";
 
-  Slice line = line_slice (pos_ch_C);
-  char const* data_ch_C = ch_C ();
-  return String ((Byte const*)data_ch_C + line[LEFT], line.length ());
+  Slice line = line_slice (pos_str0);
+  char const* data_str0 = to_str0 ();
+  return String ((Byte const*)data_str0 + line[LEFT], line.length ());
 }
 
 int
-Source_file::char_i (char const* pos_ch_C) const
+Source_file::get_char (char const* pos_str0) const
 {
-  if (!in_b (pos_ch_C))
+  if (!in_b (pos_str0))
     return 0;
 
-  char const* data_ch_C = ch_C ();
-  return pos_ch_C - (line_slice (pos_ch_C)[SMALLER] + data_ch_C);
+  char const* data_str0 = to_str0 ();
+  return pos_str0 - (line_slice (pos_str0)[SMALLER] + data_str0);
 }
 
 int
-Source_file::column_i (char const* pos_ch_C) const
+Source_file::get_column (char const* pos_str0) const
 {
-  if (!in_b (pos_ch_C))
+  if (!in_b (pos_str0))
     return 0;
 
-  int ch_i = char_i (pos_ch_C);
-  String line = line_str (pos_ch_C);
+  int ch_i = get_char (pos_str0);
+  String line = line_string (pos_str0);
 
   int col_i = 0;
   for (int i = 0; i < ch_i; i++)
@@ -155,95 +155,95 @@ Source_file::column_i (char const* pos_c
 }
 
 String
-Source_file::error_str (char const* pos_ch_C) const
+Source_file::error_string (char const* pos_str0) const
 {
-  if (!in_b (pos_ch_C))
+  if (!in_b (pos_str0))
     return " (" + _ ("position unknown") + ")";
 
-  int ch_i = char_i (pos_ch_C);
-  String line = line_str (pos_ch_C);
-  String context = line.left_str (ch_i)
-    + to_str ('\n')
-    + to_str (' ', column_i (pos_ch_C))
-    + line.cut_str (ch_i, INT_MAX);
+  int ch_i = get_char (pos_str0);
+  String line = line_string (pos_str0);
+  String context = line.left_string (ch_i)
+    + to_string ('\n')
+    + to_string (' ', get_column (pos_str0))
+    + line.cut_string (ch_i, INT_MAX);
 
   return context;
 }
 
 bool
-Source_file::in_b (char const* pos_ch_C) const
+Source_file::in_b (char const* pos_str0) const
 {
-  return (pos_ch_C && (pos_ch_C >= ch_C ()) && (pos_ch_C <= ch_C () + length_i ()));
+  return (pos_str0 && (pos_str0 >= to_str0 ()) && (pos_str0 <= to_str0 () + length ()));
 }
 
 int
-Source_file::line_i (char const* pos_ch_C) const
+Source_file::get_line (char const* pos_str0) const
 {
-  if (!in_b (pos_ch_C))
+  if (!in_b (pos_str0))
     return 0;
 
   int i = 1;
-  char const* scan_ch_C = ch_C ();
-  if (!scan_ch_C)
+  char const* scan_str0 = to_str0 ();
+  if (!scan_str0)
     return 0;
 
-  while (scan_ch_C < pos_ch_C)
-    if (*scan_ch_C++ == '\n')
+  while (scan_str0 < pos_str0)
+    if (*scan_str0++ == '\n')
       i++;
   return i;
 }
 
 int
-Source_file::length_i () const
+Source_file::length () const
 {
-  return storage_p_->length_i ();
+  return storage_->length ();
 }
 
 char const *
-Source_file::ch_C () const
+Source_file::to_str0 () const
 {
-  return storage_p_->ch_C ();
+  return storage_->to_str0 ();
 }
 
 void
-Source_file::set_pos (char const * pos_ch_C)
+Source_file::set_pos (char const * pos_str0)
 {
-  if (in_b (pos_ch_C))
-    pos_ch_C_ = pos_ch_C;
+  if (in_b (pos_str0))
+    pos_str0_ = pos_str0;
   else
-    error (error_str (pos_ch_C) + "invalid pos");
+    error (error_string (pos_str0) + "invalid pos");
 }
 
 char const*
-Source_file::seek_ch_C (int n)
+Source_file::seek_str0 (int n)
 {
-  char const* new_ch_C = ch_C () + n;
+  char const* new_str0 = to_str0 () + n;
   if (n < 0)
-    new_ch_C += length_i ();
-  if (in_b (new_ch_C))
-    pos_ch_C_ = new_ch_C;
+    new_str0 += length ();
+  if (in_b (new_str0))
+    pos_str0_ = new_str0;
   else
-    error (error_str (new_ch_C) + "seek past eof");
+    error (error_string (new_str0) + "seek past eof");
 
-  return pos_ch_C_;
+  return pos_str0_;
 }
 
 char const*
-Source_file::forward_ch_C (int n)
+Source_file::forward_str0 (int n)
 {
-  char const* old_pos_C = pos_ch_C_;
-  char const* new_ch_C = pos_ch_C_ + n;
-  if (in_b (new_ch_C))
-    pos_ch_C_ = new_ch_C;
+  char const* old_pos = pos_str0_;
+  char const* new_str0 = pos_str0_ + n;
+  if (in_b (new_str0))
+    pos_str0_ = new_str0;
   else
-    error (error_str (new_ch_C)  + "forward past eof");
+    error (error_string (new_str0)  + "forward past eof");
 
-  return old_pos_C;
+  return old_pos;
 }
 
 String
-Source_file::get_str (int n)
+Source_file::get_string (int n)
 {
-  String str ((Byte const*)forward_ch_C (n), n);
+  String str = String ((Byte const*)forward_str0 (n), n);
   return str;
 }
diff -purN ../lilypond-1.5.69/flower/source.cc ./flower/source.cc
--- ../lilypond-1.5.69/flower/source.cc	Thu Jul  6 11:55:28 2000
+++ ./flower/source.cc	Fri Jul 26 12:26:55 2002
@@ -30,39 +30,39 @@ Sources::set_binary (bool bo)
 }
 
 void
-Sources::set_path (File_path *f_C)
+Sources::set_path (File_path *f)
 {
-  path_C_ = f_C;
+  path_C_ = f;
 }
 
 /**
   open a file
 
-  @param file_str the file to be opened, name might be changed if it
+  @param file_string the file to be opened, name might be changed if it
   is found in a search path. UGH!
 
   @return 0 if no file found
   */
 Source_file*
-Sources::get_file_l (String &file_str) //UGH
+Sources::get_file (String &file_string) //UGH
 {
-  if ((file_str != "-") && path_C_)
+  if ((file_string != "-") && path_C_)
     {
-      String file_str_o = path_C_->find (file_str); 
-      if ((file_str_o == "") && (file_str != ""))
+      String file_string_o = path_C_->find (file_string); 
+      if ((file_string_o == "") && (file_string != ""))
 	return 0;
-      file_str = file_str_o;
+      file_string = file_string_o;
     }
-  Source_file * f_p = (!binary_b_) ?
-    new Source_file (file_str) : new Binary_source_file (file_str);
-  add (f_p);
-  return f_p;
+  Source_file * f = (!binary_b_) ?
+    new Source_file (file_string) : new Binary_source_file (file_string);
+  add (f);
+  return f;
 }
 
 void
-Sources::add (Source_file* sourcefile_p)
+Sources::add (Source_file* sourcefile)
 {
-  sourcefile_p_list_ = new Killing_cons<Source_file> (sourcefile_p, sourcefile_p_list_);
+  sourcefile_p_list_ = new Killing_cons<Source_file> (sourcefile, sourcefile_p_list_);
 }
 
 Sources::~Sources ()
@@ -70,16 +70,16 @@ Sources::~Sources ()
   delete sourcefile_p_list_;
 }
 /**
-  search the list for file whose map contains pointer #ch_C#
+  search the list for file whose map contains pointer #str0#
 
   @return 0 if not found.
   */
 Source_file*
-Sources::sourcefile_l (char const* ch_C)
+Sources::get_sourcefile (char const* str0)
 {
 
   for (Cons<Source_file> *i = sourcefile_p_list_; i; i = i->next_)
-    if (i->car_->in_b (ch_C))	
+    if (i->car_->in_b (str0))	
       return i->car_;
   return 0;
 }
diff -purN ../lilypond-1.5.69/flower/string-convert.cc ./flower/string-convert.cc
--- ../lilypond-1.5.69/flower/string-convert.cc	Sat Mar 17 00:49:30 2001
+++ ./flower/string-convert.cc	Fri Jul 26 12:26:55 2002
@@ -28,60 +28,60 @@
 static const int STRING_BUFFER_LEN=1024;
 
 String
-String_convert::bool_str (bool b)
+String_convert::bool_string (bool b)
 {
   return String (b ? "true" : "false");
 }
 
 String
-String_convert::bin2hex_str (String bin_str)
+String_convert::bin2hex (String bin_string)
 {
   String str;
-  Byte const* byte_C = bin_str.byte_C ();
-  for (int i = 0; i < bin_str.length_i (); i++) 
+  Byte const* byte = bin_string.to_bytes ();
+  for (int i = 0; i < bin_string.length (); i++) 
     {
-      str += to_str ((char)nibble2hex_byte (*byte_C >> 4));
-      str += to_str ((char)nibble2hex_byte (*byte_C++));
+      str += to_string ((char)nibble2hex_byte (*byte >> 4));
+      str += to_string ((char)nibble2hex_byte (*byte++));
     }
   return str;
 }
 
 int
-String_convert::bin2_i (String bin_str)
+String_convert::bin2int (String bin_string)
 {
-  return bin2_u (bin_str);
+  return bin2unsigned (bin_string);
 }
 
 unsigned
-String_convert::bin2_u (String bin_str)
+String_convert::bin2unsigned (String bin_string)
 {
-  assert (bin_str.length_i () <= (int)sizeof (unsigned));
+  assert (bin_string.length () <= (int)sizeof (unsigned));
 
   unsigned result_u = 0;
-  for (int i = 0; i < bin_str.length_i (); i++) 
+  for (int i = 0; i < bin_string.length (); i++) 
     {
       result_u <<= 8;
-      result_u += (Byte)bin_str[ i ];
+      result_u += (Byte)bin_string[ i ];
     }
   return result_u;
 }
 
 // breendet imp from String
 int
-String_convert::dec2_i (String dec_str)
+String_convert::dec2int (String dec_string)
 {
-  if (!dec_str.length_i ())
+  if (!dec_string.length ())
     return 0;
 
   long l = 0;
-  int conv = sscanf (dec_str.ch_C (), "%ld", &l);
+  int conv = sscanf (dec_string.to_str0 (), "%ld", &l);
   assert (conv);
 
   return (int)l;
 }
 
 String
-String_convert::i64_str (I64 i64, char const* fmt)
+String_convert::i64_string (I64 i64, char const* fmt)
 {
   char buffer[STRING_BUFFER_LEN];
   snprintf (buffer, STRING_BUFFER_LEN,
@@ -91,50 +91,50 @@ String_convert::i64_str (I64 i64, char c
 }
 // breendet imp from String
 double
-String_convert::dec2_f (String dec_str)
+String_convert::dec2double (String dec_string)
 {
-  if (!dec_str.length_i ())
+  if (!dec_string.length ())
     return 0;
   double d = 0;
-  int conv = sscanf (dec_str.ch_C (), "%lf", &d);
+  int conv = sscanf (dec_string.to_str0 (), "%lf", &d);
   assert (conv);
   return d;
 }
 
 int
-String_convert::hex2bin_i (String hex_str, String& bin_str_r)
+String_convert::hex2bin (String hex_string, String& bin_string_r)
 {
-  if (hex_str.length_i () % 2)
-    hex_str = "0" + hex_str;
+  if (hex_string.length () % 2)
+    hex_string = "0" + hex_string;
 
-  bin_str_r = "";
-  Byte const* byte_C= hex_str.byte_C ();
+  bin_string_r = "";
+  Byte const* byte= hex_string.to_bytes ();
   int i = 0;
-  while (i < hex_str.length_i ()) 
+  while (i < hex_string.length ()) 
     {
-      int high_i = hex2nibble_i (*byte_C++);
-      int low_i = hex2nibble_i (*byte_C++);
+      int high_i = hex2nibble (*byte++);
+      int low_i = hex2nibble (*byte++);
       if (high_i < 0 || low_i < 0)
 	return 1; // illegal char
-      bin_str_r += to_str ((char) (high_i << 4 | low_i), 1 );
+      bin_string_r += to_string ((char) (high_i << 4 | low_i), 1 );
       i += 2;
     }
   return 0;
 }
 
 String 
-String_convert::hex2bin_str (String hex_str)
+String_convert::hex2bin (String hex_string)
 {
   String str;
   //  silly, asserts should alway be "on"!
-  //    assert (!hex2bin_i (hex_str, str) );
-  int error_i = hex2bin_i (hex_str, str);
+  //    assert (!hex2bin (hex_string, str) );
+  int error_i = hex2bin (hex_string, str);
   assert (!error_i);
   return str;
 }
 
 int 
-String_convert::hex2nibble_i (Byte byte)
+String_convert::hex2nibble (Byte byte)
 {
   if (byte >= '0' && byte <= '9')
     return byte - '0';
@@ -145,25 +145,25 @@ String_convert::hex2nibble_i (Byte byte)
   return -1;
 }
 
-// stupido.  Should use int_str ()
+// stupido.  Should use int_string ()
 String 
-String_convert::i2dec_str (int i, int length_i, char ch)
+String_convert::int2dec (int i, int length_i, char ch)
 {
-  char fill_ch = ch;
-  if (fill_ch)
-    fill_ch = '0';
+  char fill_char = ch;
+  if (fill_char)
+    fill_char = '0';
 
   // ugh
-  String dec_str = to_str (i);
+  String dec_string = to_string (i);
   
   // ugh
-  return to_str (fill_ch, length_i - dec_str.length_i ()) + dec_str;
+  return to_string (fill_char, length_i - dec_string.length ()) + dec_string;
 }
 
 
-// stupido.  Should use int_str ()
+// stupido.  Should use int_string ()
 String 
-String_convert::u2hex_str (unsigned u, int length_i, char fill_ch)
+String_convert::unsigned2hex (unsigned u, int length_i, char fill_char)
 {
   String str;
   if (!u)
@@ -172,24 +172,24 @@ String_convert::u2hex_str (unsigned u, i
 #if 1 // both go...
   while (u) 
     {
-      str = to_str ((char) ((u % 16)["0123456789abcdef"] ) ) + str;
+      str = to_string ((char) ((u % 16)["0123456789abcdef"] ) ) + str;
       u /= 16;
     }
 #else
-  str += int_str (u, "%x");	// hmm. %lx vs. %x -> portability?
+  str += int_string (u, "%x");	// hmm. %lx vs. %x -> portability?
 #endif
 
-  str = to_str (fill_ch, length_i - str.length_i ()) + str;
-  while ((str.length_i () > length_i) && (str[ 0 ] == 'f' ) )
-    str = str.cut_str (2, INT_MAX);
+  str = to_string (fill_char, length_i - str.length ()) + str;
+  while ((str.length () > length_i) && (str[ 0 ] == 'f' ) )
+    str = str.cut_string (2, INT_MAX);
 
   return str;
 }
 
 String 
-String_convert::i2hex_str (int i, int length_i, char fill_ch)
+String_convert::int2hex (int i, int length_i, char fill_char)
 {
-  return u2hex_str ((unsigned)i, length_i, fill_ch);
+  return unsigned2hex ((unsigned)i, length_i, fill_char);
 }
 
 Byte
@@ -207,7 +207,7 @@ String_convert::nibble2hex_byte (Byte by
   #fmt# is a printf style format, default assumes "%d" as format. 
   */
 String
-String_convert::int_str (int i, char const* fmt)
+String_convert::int_string (int i, char const* fmt)
 {
   char buffer[STRING_BUFFER_LEN];
   snprintf (buffer, STRING_BUFFER_LEN,
@@ -216,7 +216,7 @@ String_convert::int_str (int i, char con
 }
 
 String
-String_convert::form_str (char const* format, ...)
+String_convert::form_string (char const* format, ...)
 {
   va_list args;
   va_start (args, format);
@@ -227,7 +227,7 @@ String_convert::form_str (char const* fo
 }
 
 String 
-String_convert::vform_str (char const* format, va_list args)
+String_convert::vform_string (char const* format, va_list args)
 {
   char buffer[STRING_BUFFER_LEN];
   vsnprintf (buffer, STRING_BUFFER_LEN, format, args);
@@ -240,7 +240,7 @@ String_convert::vform_str (char const* f
   @param #fmt# is a printf style format, default assumes "%lf" as format
  */
 String
-String_convert::double_str (double f, char const* fmt)
+String_convert::double_string (double f, char const* fmt)
 {
   char buf[STRING_BUFFER_LEN]; 
 
@@ -255,24 +255,24 @@ Make a string from a single character.
   #n# is a repetition count, default value is 1
  */
 String
-String_convert::char_str (char c, int n)
+String_convert::char_string (char c, int n)
 {
   n = n >= 0 ? n : 0;
-  char* ch_p = new char[ n ];
-  memset (ch_p, c, n);
-  String s ((Byte*)ch_p, n);
-  delete[] ch_p;
+  char* ch = new char[ n ];
+  memset (ch, c, n);
+  String s ((Byte*)ch, n);
+  delete[] ch;
   return s;
 }
 
 String
-String_convert::rational_str (Rational r)
+String_convert::rational_string (Rational r)
 {
-	return r.str ();
+	return r.string ();
 }
 
 String
-String_convert::pointer_str (void const *l)
+String_convert::pointer_string (void const *l)
 {
   char buffer[STRING_BUFFER_LEN];
   snprintf (buffer, STRING_BUFFER_LEN, "%p", l);     // assume radix 10
@@ -286,30 +286,30 @@ String_convert::pointer_str (void const 
   #n# is the number of nonzero digits
  */
 String
-String_convert::precision_str (double x, int n)
+String_convert::precision_string (double x, int n)
 {
-  String format = "%." + to_str (0 >? n - 1) + "e";
-  String str = double_str (abs (x), format.ch_C ());
+  String format = "%." + to_string (0 >? n - 1) + "e";
+  String str = double_string (abs (x), format.to_str0 ());
 
-  int exp = str.right_str (3).value_i ();
-  str = str.left_str (str.length_i () - 4);
+  int exp = str.right_string (3).to_int ();
+  str = str.left_string (str.length () - 4);
 
-  while (str[str.length_i () - 1] == '0')
-    str = str.left_str (str.length_i () - 1);
-  if (str[str.length_i () - 1] == '.')
-    str = str.left_str (str.length_i () - 1);
+  while (str[str.length () - 1] == '0')
+    str = str.left_string (str.length () - 1);
+  if (str[str.length () - 1] == '.')
+    str = str.left_string (str.length () - 1);
 
   if (exp == 0)
     return (sign (x) > 0 ? str : "-" + str);
 
-  str = str.left_str (1) + str.cut_str (2, INT_MAX);
+  str = str.left_string (1) + str.cut_string (2, INT_MAX);
   int dot = 1 + exp;
   if (dot <= 0)
-    str = "0." + to_str ('0', -dot) + str;
-  else if (dot >= str.length_i ())
-    str += to_str ('0', dot - str.length_i ());
-  else if (( dot > 0) && (dot < str.length_i ()))
-    str = str.left_str (dot) + "." + str.cut_str (dot, INT_MAX);
+    str = "0." + to_string ('0', -dot) + str;
+  else if (dot >= str.length ())
+    str += to_string ('0', dot - str.length ());
+  else if (( dot > 0) && (dot < str.length ()))
+    str = str.left_string (dot) + "." + str.cut_string (dot, INT_MAX);
   else
     assert (0);
 
@@ -317,27 +317,27 @@ String_convert::precision_str (double x,
 }
 
 Array<String>
-String_convert::split_arr (String str, char c)
+String_convert::split (String str, char c)
 {
   Array<String> a;
-  int i = str.index_i (c);
+  int i = str.index (c);
   while (i >=0)
     {
-      String s = str.left_str (i);
+      String s = str.left_string (i);
       a.push (s);
       while (str[++i] == c)
 	;
-      str = str.cut_str (i, INT_MAX);
-      i = str.index_i (c);
+      str = str.cut_string (i, INT_MAX);
+      i = str.index (c);
     }
-  if (str.length_i ())
+  if (str.length ())
     a.push (str);
   return a;
 }
 
 
 String
-String_convert::long_str (long l)
+String_convert::long_string (long l)
 {
   char s[STRING_BUFFER_LEN];
   sprintf (s,"%ld", l);
@@ -347,5 +347,5 @@ String_convert::long_str (long l)
 String
 String_convert::pad_to (String s, int n)
 {
-  return s + to_str (' ' , (n - s.length_i ()) >? 0);
+  return s + to_string (' ' , (n - s.length ()) >? 0);
 }
diff -purN ../lilypond-1.5.69/flower/string.cc ./flower/string.cc
--- ../lilypond-1.5.69/flower/string.cc	Fri Jul  5 15:29:37 2002
+++ ./flower/string.cc	Fri Jul 26 12:26:55 2002
@@ -29,18 +29,18 @@ void* mymemmove (void* dest, void const*
 
 // return array, alloced with new.
 Byte*
-String::copy_byte_p () const
+String::get_copy_byte () const
 {
-  Byte const* src = strh_.byte_C ();
-  Byte* dest = new Byte[strh_.length_i () + 1];
-  memcpy (dest, src, strh_.length_i () + 1);
+  Byte const* src = strh_.to_bytes ();
+  Byte* dest = new Byte[strh_.length () + 1];
+  memcpy (dest, src, strh_.length () + 1);
   return dest;    
 }
 
 char*
-String::copy_ch_p () const
+String::get_copy_str0 () const
 {
-  return (char*)copy_byte_p ();
+  return (char*)get_copy_byte ();
 }
 
 
@@ -55,9 +55,9 @@ String::operator = (String const&source)
 }
 
 
-String::String (Byte const* byte_l, int length_i)
+String::String (Byte const* byte, int len_i)
 {   
-  strh_.set (byte_l, length_i);    
+  strh_.set (byte, len_i);
 }
 
 /**
@@ -65,40 +65,40 @@ String::String (Byte const* byte_l, int 
   String_convert::
  */
 String
-to_str (char c, int n)
+to_string (char c, int n)
 {
-  return String_convert::char_str (c, n);
+  return String_convert::char_string (c, n);
 }
 
 String
-to_str (double f, char const* format)
+to_string (double f, char const* format)
 {
-  return String_convert::double_str (f, format);
+  return String_convert::double_string (f, format);
 }
 
 String
-to_str (int i, char const * format)
+to_string (int i, char const * format)
 {
-  return String_convert::int_str (i, format);
+  return String_convert::int_string (i, format);
 }
 
 String
-to_str (bool b)
+to_string (bool b)
 {
-  return String_convert::bool_str (b);
+  return String_convert::bool_string (b);
 }
 String
-to_str (long b)
+to_string (long b)
 {
-  return String_convert::long_str (b);
+  return String_convert::long_string (b);
 }
 
 String 
-to_str (char const* format, ... )
+to_string (char const* format, ... )
 {
   va_list args;
   va_start (args, format);
-  String str = String_convert::vform_str (format, args);
+  String str = String_convert::vform_string (format, args);
   va_end (args);
   return str;
 }
@@ -107,7 +107,7 @@ to_str (char const* format, ... )
 void
 String::append (String s)
 {
-  strh_.append (s.byte_C (), s.length_i ());
+  strh_.append (s.to_bytes (), s.length ());
 }
 void
 String::operator += (String s)
@@ -123,55 +123,55 @@ String::prepend (String s)
 }
 
 int
-String::length_i () const
+String::length () const
 {
-  return strh_.length_i ();
+  return strh_.length ();
 }
 
 Byte const*
-String::byte_C () const
+String::to_bytes () const
 {
-  return strh_.byte_C ();
+  return strh_.to_bytes ();
 }
 
 char const*
-String::ch_C () const
+String::to_str0 () const
 {
-  return strh_.ch_C ();
+  return strh_.to_str0 ();
 }
 
 Byte*
-String::byte_l ()
+String::get_bytes ()
 {
-  return strh_.byte_l ();
+  return strh_.get_bytes ();
 }
 
 char*
-String::ch_l ()
+String::get_str0 ()
 {
-  return strh_.ch_l ();
+  return strh_.get_str0 ();
 }
 
 bool 
 String::empty_b () const
 {
-  return !length_i ();
+  return !length ();
 }
 /**
   Do a signed comparison,  analogous to memcmp;
  */
 int
-String::compare_i (String const& s1, String const& s2) 
+String::compare (String const& s1, String const& s2) 
 {
-  Byte const* p1 = s1.byte_C ();
-  Byte const* p2 = s2.byte_C ();
+  Byte const* p1 = s1.to_bytes ();
+  Byte const* p2 = s2.to_bytes ();
   if (p1 == p2)
     return 0;
 
   /*
     don't forget the terminating '\0'
    */
-  int f = (s1.length_i () <? s2.length_i ());
+  int f = (s1.length () <? s2.length ());
   int cmp_length = 1+ f;
   int i = memcmp (p1, p2, cmp_length);
   return i;
@@ -179,27 +179,27 @@ String::compare_i (String const& s1, Str
 
 
 int
-String::index_last_i (char const c) const
+String::index_last (char const c) const
 {
-  if (!length_i ()) 
+  if (!length ()) 
     return -1;
 
-  char const* me = strh_.ch_C ();
-  char const* p = (char const*)memrchr ((Byte*)me, length_i (), c);
+  char const* me = strh_.to_str0 ();
+  char const* p = (char const*)memrchr ((Byte*)me, length (), c);
   if (p)
     return p - me;
   return -1;
 }
 
 int
-String::index_last_i (char const* string) const // UGK!
+String::index_last (char const* string) const // UGK!
 {
   assert (false);		// broken
-  int length = strlen (string); // ugrh
-  if (!length_i () || !length) 
+  int len = strlen (string); // ugrh
+  if (!length () || !len) 
     return -1;
   
-  int next_i = index_i (string);
+  int next_i = index (string);
   if (next_i == -1)
     return -1;
   
@@ -207,7 +207,7 @@ String::index_last_i (char const* string
   while (next_i >= 0) 
     {
       index_i += next_i;
-      next_i = right_str (length_i () - index_i - length).index_i (string );
+      next_i = right_string (length () - index_i - len).index (string );
     }
   return index_i;
 }
@@ -215,16 +215,16 @@ String::index_last_i (char const* string
 /** find  a character.
 
   @return
-  the index of the leftmost character #c# (0 <= return < length_i ()),
+  the index of the leftmost character #c# (0 <= return < length ()),
   or   -1 if not found. 
 
-  ? should return length_i ()?, as in string.left_str (index_i (delimiter))
+  ? should return length ()?, as in string.left_string (index (delimiter))
 */
 int
-String::index_i (char c) const
+String::index (char c) const
 {
-  char const* me = strh_.ch_C ();
-  char const* p = (char const *) memchr (me,c,  length_i ());
+  char const* me = strh_.to_str0 ();
+  char const* p = (char const *) memchr (me,c,  length ());
   if (p)
     return p - me;
   return -1;
@@ -237,12 +237,12 @@ String::index_i (char c) const
 1  index of leftmost occurrence of #searchfor#
  */
 int
-String::index_i (String searchfor) const
+String::index (String searchfor) const
 {
-  char const* me = strh_.ch_C ();
+  char const* me = strh_.to_str0 ();
 
   char const* p = (char const *) 
-    memmem (me, length_i (), searchfor.ch_C (), searchfor.length_i ());
+    memmem (me, length (), searchfor.to_str0 (), searchfor.length ());
   
   if (p)
     return p - me;
@@ -260,28 +260,28 @@ String::index_i (String searchfor) const
 
 */
 int
-String::index_any_i (String set) const
+String::index_any (String set) const
 {
-  int n = length_i ();
+  int n = length ();
   if (!n)
     return -1;
 
-  void const * me_l = (void const *) strh_.ch_C ();
-  for (int i=0; i  < set.length_i (); i++) 
+  void const * me = (void const *) strh_.to_str0 ();
+  for (int i=0; i  < set.length (); i++) 
     {
-      char * found= (char*) memchr (me_l, set[i], n );
+      char * found= (char*) memchr (me, set[i], n );
       if (found) 
 	{
-	  return found - (char const*)me_l;
+	  return found - (char const*)me;
 	}
     }
   return -1;
 }
 
 String
-String::left_str (int n) const
+String::left_string (int n) const
 {
-  if (n >= length_i ())
+  if (n >= length ())
     return *this;
 
   String retval;    	
@@ -294,20 +294,20 @@ String::left_str (int n) const
 }
 
 String
-String::right_str (int n) const
+String::right_string (int n) const
 {
-  if (n > length_i ())
+  if (n > length ())
     return *this;
   
   if (n < 1)
     return "";
   
-  return String (strh_.byte_C () + length_i () - n, n); 
+  return String (strh_.to_bytes () + length () - n, n); 
 }
 
 
 String
-String::nomid_str (int index_i, int n) const
+String::nomid_string (int index_i, int n) const
 {
   if (index_i < 0) 
     {
@@ -318,12 +318,12 @@ String::nomid_str (int index_i, int n) c
     return *this;
   
   return
-    left_str (index_i)   +
-    right_str (length_i () - index_i - n) ;
+    left_string (index_i)   +
+    right_string (length () - index_i - n) ;
 }
 
 String
-String::cut_str (int index_i, int n) const
+String::cut_string (int index_i, int n) const
 {
   if (index_i <0) 
     {
@@ -331,17 +331,17 @@ String::cut_str (int index_i, int n) con
       index_i=0;
     }
   
-  if (!length_i () || (index_i < 0) || (index_i >= length_i () ) || (n < 1 ) )
+  if (!length () || (index_i < 0) || (index_i >= length () ) || (n < 1 ) )
     return String ();
 
-  if ((n > length_i ()) || (index_i + n > length_i () ) )
-    n = length_i () - index_i;
+  if ((n > length ()) || (index_i + n > length () ) )
+    n = length () - index_i;
 
-  return String (byte_C () + index_i, n);
+  return String (to_bytes () + index_i, n);
 }
 
 String
-String::upper_str () const
+String::upper_string () const
 {
   String str = *this;
   str.to_upper ();
@@ -350,43 +350,43 @@ String::upper_str () const
 void
 String::to_upper ()
 {
-  char *s = (char*)strh_.byte_l ();
-  strnupr (s ,length_i ());
+  char *s = (char*)strh_.get_bytes ();
+  strnupr (s ,length ());
 }
 
 void
 String::to_lower ()
 {
-  char* s = strh_.ch_l ();
-  strnlwr (s,length_i ());    
+  char* s = strh_.get_str0 ();
+  strnlwr (s,length ());    
 }
 
 
 String 
-String::lower_str () const
+String::lower_string () const
 {
   String str = *this;
   str.to_lower ();
   return str;
 }
 String 
-String::reversed_str () const
+String::reversed_string () const
 {
   String str = *this;
-  strrev (str.byte_l (), str.length_i ());
+  strrev (str.get_bytes (), str.length ());
   return str;    
 }
 
 int
-String::value_i () const
+String::to_int () const
 {
-  return String_convert::dec2_i (*this);
+  return String_convert::dec2int (*this);
 }
 
 double
-String::value_f () const
+String::to_double () const
 {
-  return String_convert::dec2_f (*this);
+  return String_convert::dec2double (*this);
 }
 
 #ifdef STREAM_SUPPORT
@@ -402,9 +402,9 @@ void
 String::print_on (ostream& os) const
 {
   if (!strh_.is_binary_bo ())
-    os << ch_C ();
+    os << to_str0 ();
   else
-    for (int i = 0; i < length_i (); i++)
+    for (int i = 0; i < length (); i++)
       os << (Byte) (*this)[ i ];
 }
 #endif
diff -purN ../lilypond-1.5.69/flower/warn.cc ./flower/warn.cc
--- ../lilypond-1.5.69/flower/warn.cc	Fri Jun 21 00:30:57 2002
+++ ./flower/warn.cc	Fri Jul 26 12:26:55 2002
@@ -15,19 +15,19 @@
 void
 message (String s)
 {
-  fputs (s.ch_C (), stderr);
+  fputs (s.to_str0 (), stderr);
 }
 
 void
 warning (String s)
 {
-  message (_f ("warning: %s\n", s.ch_C ()));
+  message (_f ("warning: %s\n", s.to_str0 ()));
 }
 
 void
 non_fatal_error (String s)
 {
-  message (_f ("error: %s\n", s.ch_C ()));
+  message (_f ("error: %s\n", s.to_str0 ()));
 }
 
 void
@@ -41,6 +41,6 @@ void
 programming_error (String s)
 {
   message (_f ("programming error: %s (Continuing; cross thumbs)\n",
-	       s.ch_C ()));
+	       s.to_str0 ()));
 }
 
diff -purN ../lilypond-1.5.69/input/mutopia/J.S.Bach/baerenreiter-sarabande.ly ./input/mutopia/J.S.Bach/baerenreiter-sarabande.ly
--- ../lilypond-1.5.69/input/mutopia/J.S.Bach/baerenreiter-sarabande.ly	Wed Jul 17 15:18:42 2002
+++ ./input/mutopia/J.S.Bach/baerenreiter-sarabande.ly	Thu Jul 25 12:40:24 2002
@@ -1,5 +1,24 @@
 
-%% #(set! point-and-click line-column-location)
+#(set! point-and-click line-column-location)
+
+forcedBreak = \notes { }
+%%forcedBreak = \notes { \break }
+forcedLastBreak = \notes { \break }
+%%forcedLastBreak = \notes { }
+
+%% We want this to perfectly match the Baerenreiter spacing.
+%% If we're not using 6 systems, there's definately a problem.
+#(define (assert-system-count smob n)
+  (let ((systems (length (get-broken-into
+			  (get-original
+			   (get-system smob))))))
+    (if (not (equal? n systems))
+	;; Can't use error yet, as we know that we're not using 6...
+	;;(error
+	(warn
+	(string-append "Got " (number->string systems)
+			     " systems (expecting " (number->string n))))))
+            
 
 \header {
   title = "Solo Cello Suite II"
@@ -48,18 +67,20 @@ sarabandeA =  \context Voice \notes \rel
       f4. [d8 e f] }
     \\
     { <a,4 f> a2 <a4. d,4.>  } > |
-  %%5
 
+  %%7
   g8 bes16()a c()bes a()g d'8 f, |
   <  e4.-\trill
   \\ <c,4 g'> >
   [d8 c bes]
-  %%8
+
+  %%9
   < { f'8 g16()a a4. g16()f  |
       g8 a16()bes bes4. c16()d }
     \\
     { a,4 <bes4. d4. > r8 bes4 <g2 f'2>  }
   > |
+  \forcedBreak
 
   %% 11
   [e,8 f] [c, g'] [f' e] |
@@ -72,12 +93,16 @@ sarabandeA =  \context Voice \notes \rel
   [bes g']
   [a, fis']
   [es' d] |
+  \forcedBreak
+  
   %%16
   < bes4.-\trill d, g, > [a8 g f!] |
   e bes a f' g a |
   d, as g es' f g |
   [cis, bes'] [a g16 f] [e!8 f16 d] |
   cis8 e16 a a,8. g'16 f8()e |
+  \forcedBreak
+  
   %%21
   < { d e16()f f4. e16()d |
       e8 f16()g g4. a16()bes |
@@ -89,7 +114,7 @@ sarabandeA =  \context Voice \notes \rel
   \stemUp
   d4 d,16 a'( b cis d e f )g |
   \stemBoth
-  \break
+  \forcedLastBreak
   %%25
   < { a16(b c)b c4. b16()a |
       b cis d cis d4. e16()f | }
@@ -101,7 +126,12 @@ sarabandeA =  \context Voice \notes \rel
   [a,8 e']
   \oneVoice
   [d' cis] |
-  d4 d,,2 |
+  %%  d4 d,,2 |
+  d4
+  \property Thread.NoteHead
+  \override #'after-line-breaking-callback
+  = #(lambda (smob) (assert-system-count smob 6.1))
+  d,,2 |
 }
 
 
diff -purN ../lilypond-1.5.69/input/regression/accidental-unbroken-tie-spacing.ly ./input/regression/accidental-unbroken-tie-spacing.ly
--- ../lilypond-1.5.69/input/regression/accidental-unbroken-tie-spacing.ly	Thu Jan  1 01:00:00 1970
+++ ./input/regression/accidental-unbroken-tie-spacing.ly	Tue Jul 23 20:38:44 2002
@@ -0,0 +1,28 @@
+\header {
+texidoc = "Tied accidentaled notes (which cause reminder accidentals) don't wreak havoc in
+the spacing when unbroken."
+}
+
+\version "1.5.68"
+\include "deutsch.ly"
+
+rechts = \notes \relative c' {
+  \clef treble
+  \time 3/4
+  \context Voice {
+    c8 h2  <g8 h des f> ~ |
+    <g8 h des f>
+  }
+}
+
+Rechts = \context Staff \notes {
+  rechts
+}
+
+\score {
+  \rechts
+
+  \paper {
+    linewidth = -3.3 \cm
+  }
+}
diff -purN ../lilypond-1.5.69/input/template/GNUmakefile ./input/template/GNUmakefile
--- ../lilypond-1.5.69/input/template/GNUmakefile	Fri Jul 13 22:10:12 2001
+++ ./input/template/GNUmakefile	Fri Jul 26 12:26:57 2002
@@ -1,7 +1,10 @@
 depth = ../..
 
-LOCALSTEPMAKE_TEMPLATES=ly mutopia
+STEPMAKE_TEMPLATES=documentation texinfo tex
+LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
 EXTRA_DIST_FILES=README
 
 include $(depth)/make/stepmake.make 
 
+TITLE=LilyPond Template Files
+
diff -purN ../lilypond-1.5.69/input/template/README ./input/template/README
--- ../lilypond-1.5.69/input/template/README	Fri Aug 10 14:56:43 2001
+++ ./input/template/README	Fri Jul 26 12:26:57 2002
@@ -1,9 +1,4 @@
 
-* Mention this somewhere in documentation (Tutorial)
-
-* Better comment-out most header entries, or
-  move to template/title.ly altogether?
-
 * Naming conventions for voices/staves
   (think: \autochange, \partcombine)?
 
@@ -46,7 +41,6 @@ TODO (Choral templates, anyone?)
   string quintet parts
   orchestral score
   orchestral parts
-  choral score
   choral score with piano reduction (i.e., the piano staves have the
           same notes as the choral parts)
   choral score with piano accompaniment
diff -purN ../lilypond-1.5.69/input/template/header.ly ./input/template/header.ly
--- ../lilypond-1.5.69/input/template/header.ly	Thu Jan  1 01:00:00 1970
+++ ./input/template/header.ly	Fri Jul 26 00:19:26 2002
@@ -0,0 +1,26 @@
+\header {
+  dedication = "dedication"
+  title = "Title"
+  subtitle = "Subtitle"
+  subsubtitle = "Subsubtitle"
+  composer = "Composer (xxxx-yyyy)"
+  opus = "Opus 0"
+  piece = "Piece I"
+  instrument = "Instrument"
+  arranger = "Arranger"
+  poet = "Poet"
+  texttranslator = "Translator"
+  copyright = "public domain"
+  source =  "urtext "
+  enteredby = "your name here"
+  maintainerEmail = "your email here"
+  texidoc = "The standard header that ought to be above a file."
+
+}
+
+% insert a score otherwise lilypond-book gets confused. 
+\score {
+  \notes {
+  c4
+  }
+} 
diff -purN ../lilypond-1.5.69/input/template/melody-lyrics-chords.ly ./input/template/melody-lyrics-chords.ly
--- ../lilypond-1.5.69/input/template/melody-lyrics-chords.ly	Wed Jul 17 15:18:43 2002
+++ ./input/template/melody-lyrics-chords.ly	Fri Jul 26 12:26:57 2002
@@ -1,20 +1,7 @@
 \version "1.5.68"
 
 \header {
-  dedication = "dedication"
-  title = "Title"
-  subtitle = "Subtitle"
-  subsubtitle = "Subsubtitle"
-  composer = "Composer (xxxx-yyyy)"
-  opus = "Opus 0"
-  piece = "Piece I"
-  instrument = "Instrument"
-  arranger = "Arranger"
-  poet = "Poet"
-  texttranslator = "Translator"
-  copyright = "public domain"
-  enteredby = "jcn"
-  source =  "urtext"
+  texidoc = "popsong format: chords, melody and lyrics."
 }
 
 melody = \notes \relative c' {
@@ -26,7 +13,7 @@ text = \lyrics {
 }
 
 accompaniment = \chords {
-  a2: c2
+  a2 c2
 }
 
 \score {
diff -purN ../lilypond-1.5.69/input/template/melody-lyrics.ly ./input/template/melody-lyrics.ly
--- ../lilypond-1.5.69/input/template/melody-lyrics.ly	Wed Jul 17 15:18:43 2002
+++ ./input/template/melody-lyrics.ly	Fri Jul 26 12:26:57 2002
@@ -1,20 +1,7 @@
 \version "1.5.68"
 
 \header {
-  dedication = "dedication"
-  title = "Title"
-  subtitle = "Subtitle"
-  subsubtitle = "Subsubtitle"
-  composer = "Composer (xxxx-yyyy)"
-  opus = "Opus 0"
-  piece = "Piece I"
-  instrument = "Instrument"
-  arranger = "Arranger"
-  poet = "Poet"
-  texttranslator = "Translator"
-  copyright = "public domain"
-  enteredby = "jcn"
-  source =  "urtext"
+  texidoc = "Melody and lyrics."
 }
 
 melody = \notes \relative c'' {
@@ -30,7 +17,6 @@ text = \lyrics {
     \addlyrics
       \context Staff = one {
         \property Staff.autoBeaming = ##f
-        \property Staff.automaticMelismata = ##t
         \melody
       }
       \context Lyrics \text
diff -purN ../lilypond-1.5.69/input/template/melody.ly ./input/template/melody.ly
--- ../lilypond-1.5.69/input/template/melody.ly	Wed Jul 17 15:18:43 2002
+++ ./input/template/melody.ly	Fri Jul 26 12:26:57 2002
@@ -1,20 +1,7 @@
 \version "1.5.68"
 
 \header {
-  dedication = "dedication"
-  title = "Title"
-  subtitle = "Subtitle"
-  subsubtitle = "Subsubtitle"
-  composer = "Composer (xxxx-yyyy)"
-  opus = "Opus 0"
-  piece = "Piece I"
-  instrument = "Instrument"
-  arranger = "Arranger"
-  poet = "Poet"
-  texttranslator = "Translator"
-  copyright = "public domain"
-  enteredby = "jcn"
-  source =  "urtext"
+  texidoc = "Only a melody."
 }
 
 melody = \notes \relative c' {
diff -purN ../lilypond-1.5.69/input/template/piano-4-voices.ly ./input/template/piano-4-voices.ly
--- ../lilypond-1.5.69/input/template/piano-4-voices.ly	Wed Jul 17 15:18:43 2002
+++ ./input/template/piano-4-voices.ly	Fri Jul 26 12:26:57 2002
@@ -1,20 +1,7 @@
 \version "1.5.68"
 
 \header {
-  dedication = "dedication"
-  title = "Title"
-  subtitle = "Subtitle"
-  subsubtitle = "Subsubtitle"
-  composer = "Composer (xxxx-yyyy)"
-  opus = "Opus 0"
-  piece = "Piece I"
-  instrument = "Instrument"
-  arranger = "Arranger"
-  poet = "Poet"
-  texttranslator = "Translator"
-  copyright = "public domain"
-  enteredby = "jcn"
-  source =  "urtext"
+  texidoc ="Polyphonic piano music"
 }
 
 upperOne = \notes\relative c'' {
@@ -52,4 +39,4 @@ lowerTwo = \notes\relative c {
   >
   \paper { }  
   \midi { }  
-}
\ No newline at end of file
+}
diff -purN ../lilypond-1.5.69/input/template/piano-dynamics.ly ./input/template/piano-dynamics.ly
--- ../lilypond-1.5.69/input/template/piano-dynamics.ly	Wed Jul 17 15:18:43 2002
+++ ./input/template/piano-dynamics.ly	Fri Jul 26 12:26:57 2002
@@ -1,28 +1,9 @@
-%{
-  argh. DOCME
-
-
-  template that puts dynamics on a separate line, so it is neatly
-centered between staffs.
-%}
-
 \version "1.5.68"
-
 \header {
-  dedication = "dedication"
-  title = "title"
-  subtitle = "subtitle"
-  subsubtitle = "subsubtitle"
-  composer = "composer (xxxx-yyyy)"
-  opus = "opus 0"
-  piece = "piece i"
-  instrument = "instrument"
-  arranger = "arranger"
-  poet = "poet"
-  texttranslator = "translator"
-  copyright = "public domain"
-  enteredby = "jcn"
-  source =  "urtext"
+texidoc ="
+  template that puts dynamics on a separate line, so it is neatly
+centered between staffs.
+"
 }
 
 upper = \notes\relative c'' {
diff -purN ../lilypond-1.5.69/input/template/piano-lyrics.ly ./input/template/piano-lyrics.ly
--- ../lilypond-1.5.69/input/template/piano-lyrics.ly	Wed Jul 17 15:18:43 2002
+++ ./input/template/piano-lyrics.ly	Fri Jul 26 12:26:57 2002
@@ -1,20 +1,7 @@
 \version "1.5.68"
 
 \header {
-  dedication = "dedication"
-  title = "Title"
-  subtitle = "Subtitle"
-  subsubtitle = "Subsubtitle"
-  composer = "Composer (xxxx-yyyy)"
-  opus = "Opus 0"
-  piece = "Piece I"
-  instrument = "Instrument"
-  arranger = "Arranger"
-  poet = "Poet"
-  texttranslator = "Translator"
-  copyright = "public domain"
-  enteredby = "jcn"
-  source =  "urtext"
+  texidoc ="Lyrics between two staffs."
 }
 
 upper = \notes\relative c'' {
@@ -51,4 +38,4 @@ text = \lyrics {
     }
   }  
   \midi { }  
-}
\ No newline at end of file
+}
diff -purN ../lilypond-1.5.69/input/template/piano-melody-lyrics.ly ./input/template/piano-melody-lyrics.ly
--- ../lilypond-1.5.69/input/template/piano-melody-lyrics.ly	Wed Jul 17 15:18:43 2002
+++ ./input/template/piano-melody-lyrics.ly	Fri Jul 26 12:26:57 2002
@@ -1,20 +1,8 @@
 \version "1.5.68"
 
 \header {
-  dedication = "dedication"
-  title = "Title"
-  subtitle = "Subtitle"
-  subsubtitle = "Subsubtitle"
-  composer = "Composer (xxxx-yyyy)"
-  opus = "Opus 0"
-  piece = "Piece I"
-  instrument = "Instrument"
-  arranger = "Arranger"
-  poet = "Poet"
-  texttranslator = "Translator"
-  copyright = "public domain"
-  enteredby = "jcn"
-  source =  "urtext"
+  texidoc ="Classical song format: one staff with melody and lyrics, and piano accompaniment."
+  
 }
 
 melody = \notes \relative c'' {
@@ -55,4 +43,4 @@ lower = \notes\relative c {
     \translator { \HaraKiriStaffContext }
   }  
   \midi { }  
-}
\ No newline at end of file
+}
diff -purN ../lilypond-1.5.69/input/template/piano.ly ./input/template/piano.ly
--- ../lilypond-1.5.69/input/template/piano.ly	Wed Jul 17 15:18:43 2002
+++ ./input/template/piano.ly	Fri Jul 26 12:26:57 2002
@@ -1,20 +1,7 @@
 \version "1.5.68"
 
 \header {
-  dedication = "dedication"
-  title = "Title"
-  subtitle = "Subtitle"
-  subsubtitle = "Subsubtitle"
-  composer = "Composer (xxxx-yyyy)"
-  opus = "Opus 0"
-  piece = "Piece I"
-  instrument = "Instrument"
-  arranger = "Arranger"
-  poet = "Poet"
-  texttranslator = "Translator"
-  copyright = "public domain"
-  enteredby = "jcn"
-  source =  "urtext"
+  texidoc = "simple piano music" 
 }
 
 upper = \notes\relative c'' {
@@ -36,4 +23,4 @@ lower = \notes\relative c {
   >
   \paper { }  
   \midi { }  
-}
\ No newline at end of file
+}
diff -purN ../lilypond-1.5.69/input/template/satb.ly ./input/template/satb.ly
--- ../lilypond-1.5.69/input/template/satb.ly	Tue Jul  2 01:52:23 2002
+++ ./input/template/satb.ly	Fri Jul 26 12:26:57 2002
@@ -1,9 +1,9 @@
+\header {
 
-%{
-
+    texidoc = "
  Example template for a SATB vocal  score.
- 
-%}
+" 
+}
 
 sopMusic = \notes  \relative c'' { c4 c [c8( )b] c4 }
 sopWords = \lyrics { hi4 hi hi hi  }
diff -purN ../lilypond-1.5.69/input/test/count-systems.ly ./input/test/count-systems.ly
--- ../lilypond-1.5.69/input/test/count-systems.ly	Thu Jan  1 01:00:00 1970
+++ ./input/test/count-systems.ly	Fri Jul 26 12:26:57 2002
@@ -0,0 +1,37 @@
+\header{
+    
+    texidoc="Display the number of systems, or the system number of a
+    Grob.  This can be most useful to assertain that a piece uses a
+    specified number of lines."
+    
+}
+
+#(define (display-systemno smob)
+  (let* ((this-system (get-system smob))
+	 (systems (get-broken-into
+		   (get-original this-system))))
+    (display smob)
+    (display (list-index systems this-system))
+    (newline)))
+  
+
+#(define (display-system-count smob)
+  (display (length
+	    (get-broken-into
+	     (get-original
+	      (get-system smob))))))
+
+  
+  
+\score{
+    \notes\relative c''{
+	\property Thread.NoteHead \override #'after-line-breaking-callback
+	% = #display-system-count
+	= #display-systemno
+	c1
+	d
+    }
+    \paper{ indent = 0.0\mm
+	    linewidth = 10.0\mm
+	}
+}
diff -purN ../lilypond-1.5.69/input/test/move-accidentals.ly ./input/test/move-accidentals.ly
--- ../lilypond-1.5.69/input/test/move-accidentals.ly	Thu Jan  1 01:00:00 1970
+++ ./input/test/move-accidentals.ly	Thu Jul 25 11:26:10 2002
@@ -0,0 +1,37 @@
+\header {
+
+	 texidoc= "Positions of accidentals may be manually set. This
+involves some scheme code."
+
+}
+#(define (make-acc-position-checker pos)
+  (lambda (elt)
+   (and
+      (not (eq? #f (memq 'accidental-interface
+                    (ly-get-grob-property elt 'interfaces))))
+      (eq? (ly-get-grob-property
+	    (ly-get-parent elt 1) 'staff-position) pos))))
+
+\score {
+  \context Voice \notes \relative c'' {
+    c2.
+    <
+\property Staff.AccidentalPlacement = \turnOff
+\context Staff \outputproperty #(make-acc-position-checker 9)
+                               #'extra-offset = #'(-1 . 0)
+\context Staff \outputproperty #(make-acc-position-checker 5)
+                               #'extra-offset = #'(-2 . 0)
+\context Staff \outputproperty #(make-acc-position-checker 3)
+                               #'extra-offset = #'(-3 . 0)
+\context Staff \outputproperty #(make-acc-position-checker 2)
+                               #'extra-offset = #'(-4 . 0)
+      d!4
+      eis
+      gis
+      d'!
+    >
+  }
+  \paper {
+    linewidth = -1
+  }
+}
diff -purN ../lilypond-1.5.69/intl/ChangeLog ./intl/ChangeLog
--- ../lilypond-1.5.69/intl/ChangeLog	Mon Dec  4 02:10:07 1995
+++ ./intl/ChangeLog	Thu Jan  1 01:00:00 1970
@@ -1,693 +0,0 @@
-Sat Dec  2 22:51:38 1995  Marcus Daniels  <marcus@sysc.pdx.edu>
-
-	* cat-compat.c (textdomain):
-	Reverse order in which files are tried you load.  First
-	try local file, when this failed absolute path.
-
-Wed Nov 29 02:03:53 1995  Nelson H. F. Beebe  <beebe@math.utah.edu>
-
-	* cat-compat.c (bindtextdomain): Add missing { }.
-
-Sun Nov 26 18:21:41 1995  Ulrich Drepper  <drepper@myware>
-
-	* libintl.inst: Add missing __P definition.  Reported by Nelson Beebe.
-
-	* Makefile.in:
-	Add dummy `all' and `dvi' goals.  Reported by Tom Tromey.
-
-Sat Nov 25 16:12:01 1995  Franc,ois Pinard  <pinard@iro.umontreal.ca>
-
-	* hash-string.h: Capitalize arguments of macros.
-
-Sat Nov 25 12:01:36 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (DISTFILES): Prevent files names longer than 13
-	characters.  libintl.h.glibc->libintl.glibc,
-	libintl.h.install->libintl.inst.  Reported by Joshua R. Poulson.
-
-Sat Nov 25 11:31:12 1995  Eric Backus  <ericb@lsid.hp.com>
-
-	* dcgettext.c: Fix bug in preprocessor conditionals.
-
-Sat Nov 25 02:35:27 1995  Nelson H. F. Beebe  <beebe@math.utah.edu>
-
-	* libgettext.h: Solaris cc does not understand
-	 #if !SYMBOL1 && !SYMBOL2.  Sad	but true.
-
-Thu Nov 23 16:22:14 1995  Ulrich Drepper  <drepper@myware>
-
-	* hash-string.h (hash_string):
-	Fix for machine with >32 bit `unsigned long's.
-
-	* dcgettext.c (DCGETTEXT):
-	Fix horrible bug in loop for alternative translation.
-
-Thu Nov 23 01:45:29 1995  Ulrich Drepper  <drepper@myware>
-
-	* po2tbl.sed.in, linux-msg.sed, xopen-msg.sed:
-	Some further simplifications in message number generation.
-
-Mon Nov 20 21:08:43 1995  Ulrich Drepper  <drepper@myware>
-
-	* libintl.h.glibc: Use __const instead of const in prototypes.
-
-	* Makefile.in (install-src):
-	Install libintl.h.install instead of libintl.h.  This
-	is a stripped-down version.  Suggested by Peter Miller.
-
-	* libintl.h.install, libintl.h.glibc: Initial revision.
-
-	* localealias.c (_nl_expand_alias, read_alias_file):
-	Protect prototypes in type casts by __P.
-
-Tue Nov 14 16:43:58 1995  Ulrich Drepper  <drepper@myware>
-
-	* hash-string.h: Correct prototype for hash_string.
-
-Sun Nov 12 12:42:30 1995  Ulrich Drepper  <drepper@myware>
-
-	* hash-string.h (hash_string): Add prototype.
-
-	* gettextP.h: Fix copyright.
-	(SWAP): Add prototype.
-
-Wed Nov  8 22:56:33 1995  Ulrich Drepper  <drepper@myware>
-
-	* localealias.c (read_alias_file): Forgot sizeof.
-	Avoid calling *printf function.  This introduces a big overhead.
-	Patch by Roland McGrath.
-
-Tue Nov  7 14:21:08 1995  Ulrich Drepper  <drepper@myware>
-
-	* finddomain.c, cat-compat.c: Wrong indentation in #if for stpcpy.
-
-	* finddomain.c (stpcpy):
-	Define substitution function local.  The macro was to flaky.
-
-	* cat-compat.c: Fix typo.
-
-	* xopen-msg.sed, linux-msg.sed:
-	While bringing message number to right place only accept digits.
-
-	* linux-msg.sed, xopen-msg.sed: Now that the counter does not have
-	leading 0s we don't need to remove them.  Reported by Marcus
-	Daniels.
-
-	* Makefile.in (../po/cat-id-tbl.o): Use $(top_srdir) in
-	dependency.  Reported by Marcus Daniels.
-
-	* cat-compat.c: (stpcpy) [!_LIBC && !HAVE_STPCPY]: Define replacement.
-	Generally cleanup using #if instead of #ifndef.
-
-	* Makefile.in: Correct typos in comment.  By Franc,ois Pinard.
-
-Mon Nov  6 00:27:02 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (install-src): Don't install libintl.h and libintl.a
-	if we use an available gettext implementation.
-
-Sun Nov  5 22:02:08 1995  Ulrich Drepper  <drepper@myware>
-
-	* libgettext.h: Fix typo: HAVE_CATGETTS -> HAVE_CATGETS.  Reported
-	by Franc,ois Pinard.
-
-	* libgettext.h: Use #if instead of #ifdef/#ifndef.
-
-	* finddomain.c:
-	Comments describing what has to be done should start with FIXME.
-
-Sun Nov  5 19:38:01 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (DISTFILES): Split.  Use DISTFILES with normal meaning.
-	DISTFILES.common names the files common to both dist goals.
-	DISTFILES.gettext are the files only distributed in GNU gettext.
-
-Sun Nov  5 17:32:54 1995  Ulrich Drepper  <drepper@myware>
-
-	* dcgettext.c (DCGETTEXT): Correct searching in derived locales.
-	This was necessary since a change in _nl_find_msg several weeks
-	ago.  I really don't know this is still not fixed.
-
-Sun Nov  5 12:43:12 1995  Ulrich Drepper  <drepper@myware>
-
-	* loadmsgcat.c (_nl_load_domain): Test for FILENAME == NULL.  This
-	might mark a special condition.
-
-	* finddomain.c (make_entry_rec): Don't make illegal entry as decided.
-
-	* Makefile.in (dist): Suppress error message when ln failed.
-	Get files from $(srcdir) explicitly.
-
-	* libgettext.h (gettext_const): Rename to gettext_noop.
-
-Fri Nov  3 07:36:50 1995  Ulrich Drepper  <drepper@myware>
-
-	* finddomain.c (make_entry_rec):
-	Protect against wrong locale names by testing mask.
-
-	* libgettext.h (gettext_const): Add macro definition.
-	Capitalize macro arguments.
-
-Thu Nov  2 23:15:51 1995  Ulrich Drepper  <drepper@myware>
-
-	* finddomain.c (_nl_find_domain):
-	Test for pointer != NULL before accessing value.
-	Reported by Tom Tromey.
-
-	* gettext.c (NULL):
-	Define as (void*)0 instad of 0.  Reported by Franc,ois Pinard.
-
-Mon Oct 30 21:28:52 1995  Ulrich Drepper  <drepper@myware>
-
-	* po2tbl.sed.in: Serious typo bug fixed by Jim Meyering.
-
-Sat Oct 28 23:20:47 1995  Ulrich Drepper  <drepper@myware>
-
-	* libgettext.h: Disable dcgettext optimization for Solaris 2.3.
-
-	* localealias.c (alias_compare):
-	Peter Miller reported that tolower in some systems is
-	even dumber than I thought.  Protect call by `isupper'.
-
-Fri Oct 27 22:22:51 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (libdir, includedir): New variables.
-	(install-src): Install libintl.a and libintl.h in correct dirs.
-
-Fri Oct 27 22:07:29 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (SOURCES): Fix typo: intrl.compat.c -> intl-compat.c.
-
-	* po2tbl.sed.in: Patch for buggy SEDs by Christian von Roques.
-
-	* localealias.c:
-	Fix typo and superflous test.  Reported by Christian von Roques.
-
-Fri Oct  6 11:52:05 1995  Ulrich Drepper  <drepper@myware>
-
-	* finddomain.c (_nl_find_domain):
-	Correct some remainder from the pre-CEN syntax.  Now
-	we don't have a constant number of successors anymore.
-
-Wed Sep 27 21:41:13 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (DISTFILES): Add libintl.h.glibc.
-
-	* Makefile.in (dist-libc): Add goal for packing sources for glibc.
-	(COMSRCS, COMHDRS): Splitted to separate sources shared with glibc.
-
-	* loadmsgcat.c: Forget to continue #if line.
-
-	* localealias.c:
-	[_LIBC]: Rename strcasecmp to __strcasecmp to keep ANSI C name
-	space clean.
-
-	* dcgettext.c, finddomain.c: Better comment to last change.
-
-	* loadmsgcat.c:
-	[_LIBC]: Rename fstat, open, close, read, mmap, and munmap to
-	__fstat, __open, __close, __read, __mmap, and __munmap resp
-	to keep ANSI C name space clean.
-
-	* finddomain.c:
-	[_LIBC]: Rename stpcpy to __stpcpy to keep ANSI C name space clean.
-
-	* dcgettext.c:
-	[_LIBC]: Rename getced and stpcpy to __getcwd and __stpcpy resp to
-	keep ANSI C name space clean.
-
-	* libgettext.h:
-	Include sys/types.h for those old SysV systems out there.
-	Reported by Francesco Potorti`.
-
-	* loadmsgcat.c (use_mmap): Define if compiled for glibc.
-
-	* bindtextdom.c: Include all those standard headers
-	unconditionally if _LIBC is defined.
-
-	* finddomain.c: Fix 2 times defiend -> defined.
-
-	* textdomain.c: Include libintl.h instead of libgettext.h when
-	compiling for glibc.  Include all those standard headers
-	unconditionally if _LIBC is defined.
-
-	* localealias.c, loadmsgcat.c: Prepare to be compiled in glibc.
-
-	* gettext.c:
-	Include libintl.h instead of libgettext.h when compiling for glibc.
-	Get NULL from stddef.h if we compile for glibc.
-
-	* finddomain.c: Include libintl.h instead of libgettext.h when
-	compiling for glibc.  Include all those standard headers
-	unconditionally if _LIBC is defined.
-
-	* dcgettext.c: Include all those standard headers unconditionally
-	if _LIBC is defined.
-
-	* dgettext.c: If compiled in glibc include libintl.h instead of
-	libgettext.h.
-	(locale.h): Don't rely on HAVE_LOCALE_H when compiling for glibc.
-
-	* dcgettext.c: If compiled in glibc include libintl.h instead of
-	libgettext.h.
-	(getcwd): Don't rely on HAVE_GETCWD when compiling for glibc.
-
-	* bindtextdom.c:
-	If compiled in glibc include libintl.h instead of libgettext.h.
-
-Mon Sep 25 22:23:06 1995  Ulrich Drepper  <drepper@myware>
-
-	* localealias.c (_nl_expand_alias): Don't call bsearch if NMAP <= 0.
-	Reported by Marcus Daniels.
-
-	* cat-compat.c (bindtextdomain):
-	String used in putenv must not be recycled.
-	Reported by Marcus Daniels.
-
-	* libgettext.h (__USE_GNU_GETTEXT):
-	Additional symbol to signal that we use GNU gettext
-	library.
-
-	* cat-compat.c (bindtextdomain):
-	Fix bug with the strange stpcpy replacement.
-	Reported by Nelson Beebe.
-
-Sat Sep 23 08:23:51 1995  Ulrich Drepper  <drepper@myware>
-
-	* cat-compat.c: Include <string.h> for stpcpy prototype.
-
-	* localealias.c (read_alias_file):
-	While expand strdup code temporary variable `cp' hided
-	higher level variable with same name.  Rename to `tp'.
-
-	* textdomain.c (textdomain):
-	Avoid warning by using temporary variable in strdup code.
-
-	* finddomain.c (_nl_find_domain): Remove unused variable `application'.
-
-Thu Sep 21 15:51:44 1995  Ulrich Drepper  <drepper@myware>
-
-	* localealias.c (alias_compare):
-	Use strcasecmp() only if available.  Else use
-	implementation in place.
-
-	* intl-compat.c:
-	Wrapper functions now call *__ functions instead of __*.
-
-	* libgettext.h: Declare prototypes for *__ functions instead for __*.
-
-	* cat-compat.c, loadmsgcat.c:
-	Don't use xmalloc, xstrdup, and stpcpy.  These functions are not part
-	of the standard libc and so prevent libintl.a from being used
-	standalone.
-
-	* bindtextdom.c:
-	Don't use xmalloc, xstrdup, and stpcpy.  These functions are not part
-	of the standard libc and so prevent libintl.a from being used
-	standalone.
-	Rename to bindtextdomain__ if not used in GNU C Library.
-
-	* dgettext.c:
-	Rename function to dgettext__ if not used in GNU C Library.
-
-	* gettext.c:
-	Don't use xmalloc, xstrdup, and stpcpy.  These functions are not part
-	of the standard libc and so prevent libintl.a from being used
-	standalone.
-	Functions now called gettext__ if not used in GNU C Library.
-
-	* dcgettext.c, localealias.c, textdomain.c, finddomain.c:
-	Don't use xmalloc, xstrdup, and stpcpy.  These functions are not part
-	of the standard libc and so prevent libintl.a from being used
-	standalone.
-
-Sun Sep 17 23:14:49 1995  Ulrich Drepper  <drepper@myware>
-
-	* finddomain.c: Correct some bugs in handling of CEN standard
- 	locale definitions.
-
-Thu Sep  7 01:49:28 1995  Ulrich Drepper  <drepper@myware>
-
-	* finddomain.c: Implement CEN syntax.
-
-	* gettextP.h (loaded_domain): Extend number of successors to 31.
-
-Sat Aug 19 19:25:29 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (aliaspath): Remove path to X11 locale dir.
-
-	* Makefile.in: Make install-src depend on install.  This helps
- 	gettext to install the sources and other packages can use the
- 	install goal.
-
-Sat Aug 19 15:19:33 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (uninstall): Remove stuff installed by install-src.
-
-Tue Aug 15 13:13:53 1995  Ulrich Drepper  <drepper@myware>
-
-	* VERSION.in: Initial revision.
-
-	* Makefile.in (DISTFILES):
-	Add VERSION file.  This is not necessary for gettext, but
-	for other packages using this library.
-
-Tue Aug 15 06:16:44 1995  Ulrich Drepper  <drepper@myware>
-
-	* gettextP.h (_nl_find_domain):
-	New prototype after changing search strategy.
-
-	* finddomain.c (_nl_find_domain):
-	We now try only to find a specified catalog.  Fall back to other
-	catalogs listed in the locale list is now done in __dcgettext.
-
-	* dcgettext.c (__dcgettext):
-	Now we provide message fall back even to different languages.
-	I.e. if a message is not available in one language all the other
- 	in the locale list a tried.  Formerly fall back was only possible
- 	within one language.  Implemented by moving one loop from
- 	_nl_find_domain to here.
-
-Mon Aug 14 23:45:50 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (gettextsrcdir):
-	Directory where source of GNU gettext library are made
-	available.
-	(INSTALL, INSTALL_DATA): Programs used for installing sources.
-	(gettext-src): New.  Rule to install GNU gettext sources for use in
-	gettextize shell script.
-
-Sun Aug 13 14:40:48 1995  Ulrich Drepper  <drepper@myware>
-
-	* loadmsgcat.c (_nl_load_domain):
-	Use mmap for loading only when munmap function is
-	also available.
-
-	* Makefile.in (install): Depend on `all' goal.
-
-Wed Aug  9 11:04:33 1995  Ulrich Drepper  <drepper@myware>
-
-	* localealias.c (read_alias_file):
-	Do not overwrite '\n' when terminating alias value string.
-
-	* localealias.c (read_alias_file):
-	Handle long lines.  Ignore the rest not fitting in
-	the buffer after the initial `fgets' call.
-
-Wed Aug  9 00:54:29 1995  Ulrich Drepper  <drepper@myware>
-
-	* gettextP.h (_nl_load_domain):
-	Add prototype, replacing prototype for _nl_load_msg_cat.
-
-	* finddomain.c (_nl_find_domain):
-	Remove unneeded variable filename and filename_len.
-	(expand_alias): Remove prototype because functions does not
- 	exist anymore.
-
-	* localealias.c (read_alias_file):
-	Change type of fname_len parameter to int.
-	(xmalloc): Add prototype.
-
-	* loadmsgcat.c: Better prototypes for xmalloc.
-
-Tue Aug  8 22:30:39 1995  Ulrich Drepper  <drepper@myware>
-
-	* finddomain.c (_nl_find_domain):
-	Allow alias name to be constructed from the four components.
-
-	* Makefile.in (aliaspath): New variable.  Set to preliminary value.
-	(SOURCES): Add localealias.c.
-	(OBJECTS): Add localealias.o.
-
-	* gettextP.h: Add prototype for _nl_expand_alias.
-
-	* finddomain.c: Aliasing handled in intl/localealias.c.
-
-	* localealias.c: Aliasing for locale names.
-
-	* bindtextdom.c: Better prototypes for xmalloc and xstrdup.
-
-Mon Aug  7 23:47:42 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (DISTFILES): gettext.perl is now found in misc/.
-
-	* cat-compat.c (bindtextdomain):
-	Correct implementation.  dirname parameter was not used.
-	Reported by Marcus Daniels.
-
-	* gettextP.h (loaded_domain):
-	New fields `successor' and `decided' for oo, lazy
-	message handling implementation.
-
-	* dcgettext.c:
-	Adopt for oo, lazy message handliing.
-  	Now we can inherit translations from less specific locales.
-	(find_msg): New function.
-
-	* loadmsgcat.c, finddomain.c:
-	Complete rewrite.  Implement oo, lazy message handling :-).
-  	We now have an additional environment variable `LANGUAGE' with
- 	a higher priority than LC_ALL for the LC_MESSAGE locale.
-  	Here we can set a colon separated list of specifications each
- 	of the form `language[_territory[.codeset]][@modifier]'.
-
-Sat Aug  5 09:55:42 1995  Ulrich Drepper  <drepper@myware>
-
-	* finddomain.c (unistd.h):
-	Include to get _PC_PATH_MAX defined on system having it.
-
-Fri Aug  4 22:42:00 1995  Ulrich Drepper  <drepper@myware>
-
-	* finddomain.c (stpcpy): Include prototype.
-
-	* Makefile.in (dist): Remove `copying instead' message.
-
-Wed Aug  2 18:52:03 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (ID, TAGS): Do not use $^.
-
-Tue Aug  1 20:07:11 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (TAGS, ID): Use $^ as command argument.
-	(TAGS): Give etags -o option t write to current directory,
- 	not $(srcdir).
-	(ID): Use $(srcdir) instead os $(top_srcdir)/src.
-	(distclean): Remove ID.
-
-Sun Jul 30 11:51:46 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (gnulocaledir):
-	New variable, always using share/ for data directory.
-	(DEFS): Add GNULOCALEDIR, used in finddomain.c.
-
-	* finddomain.c (_nl_default_dirname):
-	Set to GNULOCALEDIR, because it always has to point
-	to the directory where GNU gettext Library writes it to.
-
-	* intl-compat.c (textdomain, bindtextdomain):
-	Undefine macros before function definition.
-
-Sat Jul 22 01:10:02 1995  Ulrich Drepper  <drepper@myware>
-
-	* libgettext.h (_LIBINTL_H):
-	Protect definition in case where this file is included as
-	libgettext.h on Solaris machines.  Add comment about this.
-
-Wed Jul 19 02:36:42 1995  Ulrich Drepper  <drepper@myware>
-
-	* intl-compat.c (textdomain): Correct typo.
-
-Wed Jul 19 01:51:35 1995  Ulrich Drepper  <drepper@myware>
-
-	* dcgettext.c (dcgettext): Function now called __dcgettext.
-
-	* dgettext.c (dgettext): Now called __dgettext and calls
- 	__dcgettext.
-
-	* gettext.c (gettext):
-	Function now called __gettext and calls __dgettext.
-
-	* textdomain.c (textdomain): Function now called __textdomain.
-
-	* bindtextdom.c (bindtextdomain): Function now called
- 	__bindtextdomain.
-
-	* intl-compat.c: Initial revision.
-
-	* Makefile.in (SOURCES): Add intl-compat.c.
-	(OBJECTS): We always compile the GNU gettext library functions.
-  	OBJECTS contains all objects but cat-compat.o, ../po/cat-if-tbl.o,
- 	and intl-compat.o.
-  	(GETTOBJS): Contains now only intl-compat.o.
-
-	* libgettext.h:
-	Re-include protection matches dualistic character of libgettext.h.
-	For all functions in GNU gettext library define __ counter part.
-
-	* finddomain.c (strchr): Define as index if not found in C library.
-	(_nl_find_domain): For relative paths paste / in between.
-
-Tue Jul 18 16:37:45 1995  Ulrich Drepper  <drepper@myware>
-
-	* loadmsgcat.c, finddomain.c: Add inclusion of sys/types.h.
-
-	* xopen-msg.sed: Fix bug with `msgstr ""' lines.
-	A little bit better comments.
-
-Tue Jul 18 01:18:27 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in:
-	po-mode.el, makelinks, combine-sh are now found in ../misc.
-
-	* po-mode.el, makelinks, combine-sh, elisp-comp:
-	Moved to ../misc/.
-
-	* libgettext.h, gettextP.h, gettext.h: Uniform test for __STDC__.
-
-Sun Jul 16 22:33:02 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (INSTALL, INSTALL_DATA): New variables.
-	(install-data, uninstall): Install/uninstall .elc file.
-
-	* po-mode.el (Installation comment):
-	Add .pox as possible extension of .po files.
-
-Sun Jul 16 13:23:27 1995  Ulrich Drepper  <drepper@myware>
-
-	* elisp-comp: Complete new version by Franc,ois: This does not
- 	fail when not compiling in the source directory.
-
-Sun Jul 16 00:12:17 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (../po/cat-id-tbl.o):
-	Use $(MAKE) instead of make for recursive make.
-
-	* Makefile.in (.el.elc): Use $(SHELL) instead of /bin/sh.
-	(install-exec): Add missing dummy goal.
-	(install-data, uninstall): @ in multi-line shell command at
- 	beginning, not in front of echo.  Reported by Eric Backus.
-
-Sat Jul 15 00:21:28 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (DISTFILES):
-	Rename libgettext.perl to gettext.perl to fit in 14 chars
-	file systems.
-
-	* gettext.perl:
- 	Rename to gettext.perl to fit in 14 chars file systems.
-
-Thu Jul 13 23:17:20 1995  Ulrich Drepper  <drepper@myware>
-
-	* cat-compat.c: If !STDC_HEADERS try to include malloc.h.
-
-Thu Jul 13 20:55:02 1995  Ulrich Drepper  <drepper@myware>
-
-	* po2tbl.sed.in: Pretty printing.
-
-	* linux-msg.sed, xopen-msg.sed:
-	Correct bugs with handling substitute flags in branches.
-
-	* hash-string.h (hash_string):
-	Old K&R compilers don't under stand `unsigned char'.
-
-	* gettext.h (nls_uint32):
-	Some old K&R compilers (eg HP) don't understand `unsigned int'.
-
-	* cat-compat.c (msg_to_cat_id): De-ANSI-fy prototypes.
-
-Thu Jul 13 01:34:33 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (ELCFILES): New variable.
-	(DISTFILES): Add elisp-comp.
-	Add implicit rule for .el -> .elc compilation.
-	(install-data): install $ELCFILES
-	(clean): renamed po-to-tbl and po-to-msg to po2tbl and po2msg resp.
-
-	* elisp-comp: Initial revision
-
-Wed Jul 12 16:14:52 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in:
-	cat-id-tbl.c is now found in po/.  This enables us to use an identical
-	intl/ directory in all packages.
-
-	* dcgettext.c (dcgettext): hashing does not work for table size <= 2.
-
-	* textdomain.c: fix typo (#if def -> #if defined)
-
-Tue Jul 11 18:44:43 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in (stamp-cat-id): use top_srcdir to address source files
-	(DISTFILES,distclean): move tupdate.perl to src/
-
-	* po-to-tbl.sed.in:
-	add additional jump to clear change flag to recognize multiline strings
-
-Tue Jul 11 01:32:50 1995  Ulrich Drepper  <drepper@myware>
-
-	* textdomain.c: Protect inclusion of stdlib.h and string.h.
-
-	* loadmsgcat.c: Protect inclusion of stdlib.h.
-
-	* libgettext.h: Protect inclusion of locale.h.
-	Allow use in C++ programs.
-	Define NULL is not happened already.
-
-	* Makefile.in (DISTFILES): ship po-to-tbl.sed.in instead of
-	po-to-tbl.sed.
-	(distclean): remove po-to-tbl.sed and tupdate.perl.
-
-	* tupdate.perl.in: Substitute Perl path even in exec line.
-	Don't include entries without translation from old .po file.
-
-Tue Jul  4 00:41:51 1995  Ulrich Drepper  <drepper@myware>
-
-	* tupdate.perl.in: use "Updated: " in msgid "".
-
-	* cat-compat.c: Fix typo (LOCALDIR -> LOCALEDIR).
- 	Define getenv if !__STDC__.
-
-	* bindtextdom.c: Protect stdlib.h and string.h inclusion.
- 	Define free if !__STDC__.
-
-	* finddomain.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
- 	Define free if !__STDC__.
-
-	* cat-compat.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
-
-Mon Jul  3 23:56:30 1995  Ulrich Drepper  <drepper@myware>
-
-	* Makefile.in: Use LOCALEDIR instead of DEF_MSG_DOM_DIR.
-	Remove unneeded $(srcdir) from Makefile.in dependency.
-
-	* makelinks: Add copyright and short description.
-
-	* po-mode.el: Last version for 0.7.
-
-	* tupdate.perl.in: Fix die message.
-
-	* dcgettext.c: Protect include of string.h.
-
-	* gettext.c: Protect include of stdlib.h and further tries to get NULL.
-
-	* finddomain.c: Some corrections in includes.
-
-	* Makefile.in (INCLUDES): Prune list correct path to Makefile.in.
-
-	* po-to-tbl.sed: Adopt for new .po file format.
-
-	* linux-msg.sed, xopen-msg.sed: Adopt for new .po file format.
-
-Sun Jul  2 23:55:03 1995  Ulrich Drepper  <drepper@myware>
-
-	* tupdate.perl.in: Complete rewrite for new .po file format.
-
-Sun Jul  2 02:06:50 1995  Ulrich Drepper  <drepper@myware>
-
-	* First official release.  This directory contains all the code
-	needed to internationalize own packages.  It provides functions
-	which allow to use the X/Open catgets function with an interface
-	like the Uniforum gettext function.  For system which does not
-	have neither of those a complete implementation is provided.
-
-
diff -purN ../lilypond-1.5.69/intl/GNUmakefile ./intl/GNUmakefile
--- ../lilypond-1.5.69/intl/GNUmakefile	Thu Mar  8 00:41:14 2001
+++ ./intl/GNUmakefile	Thu Jan  1 01:00:00 1970
@@ -1,45 +0,0 @@
-# intl/GNUmakefile
-
-depth = ..
-NAME = intl
-
-SED_FILES = $(wildcard *.sed)
-
-# should be set by configure...
-URG_DEFINES = -DGNULOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(localedir):\"
-EXTRA_CFLAGS = -I. $(URG_DEFINES)
-
-EXTRA_DIST_FILES = Makefile.in.dist cat-compat.c.dist ChangeLog $(SED_FILES)
-
-ifeq ($(strip $(LIBINTL)),)
-STEPMAKE_TEMPLATES=c
-else
-STEPMAKE_TEMPLATES=c library install-library
-endif
-
-# catch default targets: don't make, install etc.
-default: $(outdir)
-	@echo "*** To install libintl type 'make lib; make install-lib' ***"
-
-$(outdir)/library.a:
-	@echo "*** To install libintl type 'make lib; make install-lib' ***"
-
-local-install: $(outdir)
-	@echo "*** To install libintl type 'make lib; make install-lib' ***"
-
-local-uninstall: $(outdir)
-	@echo "*** To uninstall libintl type 'make uninstall-lib' ***"
-
-include $(depth)/make/stepmake.make
-
-
-# deferred targets
-lib:
-	$(MAKE) LIBINTL=yes all
-
-install-lib: $(LIBRARY)
-	$(MAKE) LIBINTL=yes local-install
-
-uninstall-lib:
-	$(MAKE) LIBINTL=yes local-uninstall
-
diff -purN ../lilypond-1.5.69/intl/Makefile.in.dist ./intl/Makefile.in.dist
--- ../lilypond-1.5.69/intl/Makefile.in.dist	Sat Aug 22 00:23:09 1998
+++ ./intl/Makefile.in.dist	Thu Jan  1 01:00:00 1970
@@ -1,166 +0,0 @@
-# Makefile for directory with message catalog handling in GNU NLS Utilities.
-# Copyright (C) 1995 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-
-SHELL = /bin/sh
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-transform = @program_transform_name@
-libdir = $(prefix)/lib
-includedir = $(prefix)/include
-datadir = $(prefix)/@DATADIRNAME@
-localedir = $(datadir)/locale
-gnulocaledir = $(prefix)/share/locale
-gettextsrcdir = $(prefix)/share/gettext
-aliaspath = $(localedir):.
-subdir = intl
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-
-AR = ar
-CC = @CC@
-RANLIB = @RANLIB@
-
-DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
--DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@
-CFLAGS = @CFLAGS@
-
-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
-
-HEADERS = $(COMHDRS) libgettext.h
-COMHDRS = gettext.h gettextP.h hash-string.h
-SOURCES = $(COMSRCS) intl-compat.c cat-compat.c
-COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \
-finddomain.c loadmsgcat.c localealias.c textdomain.c
-OBJECTS = @INTLOBJS@ bindtextdom.o dcgettext.o dgettext.o gettext.o \
-finddomain.o loadmsgcat.o localealias.o textdomain.o
-CATOBJS = cat-compat.o ../po/cat-id-tbl.o
-GETTOBJS = intl-compat.o
-DISTFILES.common = ChangeLog Makefile.in linux-msg.sed po2tbl.sed.in \
-xopen-msg.sed $(HEADERS) $(SOURCES)
-DISTFILES = $(DISTFILES.common) VERSION
-DISTFILES.gettext = $(DISTFILES.common) libintl.glibc libintl.inst
-
-.SUFFIXES:
-.SUFFIXES: .c .o
-.c.o:
-	$(COMPILE) $<
-
-INCLUDEs = -i.. -i. -i$(top_srcdir)/intl -i$(top_srcdir)/lib
-
-all: libintl.a
-
-
-libintl.a: $(OBJECTS)
-	rm -f $@
-	$(AR) cru $@ $(OBJECTS)
-	$(RANLIB) $@
-
-../po/cat-id-tbl.o: ../po/cat-id-tbl.c $(top_srcdir)/po/$(PACKAGE).pot
-	cd ../po && $(MAKE) cat-id-tbl.o
-
-check install: all
-
-# This installation goal is only used in GNU gettext.  Packages which
-# only use the library should use install instead.
-#
-# We must not install the libintl.h/libintl.a files if we are on a system
-# which has the gettext() function in its C library or in a separate
-# library.  A special case is where configure found a previously installed
-# GNU gettext library.  If you want to use the one which comes with this
-# version of the package, you have to use `configure --with-gnu-gettext'.
-install-src: install
-	$(top_srcdir)/mkinstalldirs $(libdir) $(includedir) $(gettextsrcdir)
-	if test -f libintl.h; then \
-	  $(INSTALL_DATA) $(srcdir)/libintl.inst \
-	    $(includedir)/libintl.h; \
-	  $(INSTALL_DATA) libintl.a $(libdir)/libintl.a; \
-	fi
-	cd $(srcdir) && \
-	for file in $(DISTFILES.common); do \
-	  $(INSTALL_DATA) $$file $(gettextsrcdir)/intl-$$file; \
-	done
-	$(INSTALL_DATA) VERSION $(gettextsrcdir)/intl-VERSION
-
-uninstall:
-	for file in $(DISTFILES); do \
-	  rm -f $(gettextsrcdir)/intl-$$file; \
-	done
-
-info dvi:
-
-$(OBJECTS): ../config.h libgettext.h
-bindtextdom.o finddomain.o loadmsgcat.o: gettextP.h gettext.h
-dcgettext.o: gettextP.h gettext.h hash-string.h
-
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES)
-	here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
-
-id: ID
-
-ID: $(HEADERS) $(SOURCES)
-	here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
-
-
-mostlyclean:
-	rm -f *.a *.o core core.*
-
-clean: mostlyclean
-
-distclean: clean
-	rm -f Makefile ID TAGS po2msg.sed po2tbl.sed libintl.h
-
-maintainer-clean: distclean
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-
-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
-dist: Makefile $(DISTFILES)
-	for file in $(DISTFILES); do \
-	  ln $(srcdir)/$$file $(distdir) 2> /dev/null \
-	    || cp -p $(srcdir)/$$file $(distdir); \
-	done
-
-# This dist goal is only used in GNU gettext.  GNU gettext needs not contain
-# the file `VERSION' but contains some other files which should not be
-# distributed in other packages.
-dist-gettext: Makefile $(DISTFILES.gettext)
-	for file in $(DISTFILES.gettext); do \
-	  ln $(srcdir)/$$file $(distdir) 2> /dev/null \
-	    || cp -p $(srcdir)/$$file $(distdir); \
-	done
-
-dist-libc:
-	tar zcvf intl-glibc.tar.gz $(COMSRCS) $(COMHDRS) libintl.h.glibc
-
-Makefile: Makefile.in ../config.status
-	cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff -purN ../lilypond-1.5.69/intl/bindtextdom.c ./intl/bindtextdom.c
--- ../lilypond-1.5.69/intl/bindtextdom.c	Wed Sep 27 21:14:38 1995
+++ ./intl/bindtextdom.c	Thu Jan  1 01:00:00 1970
@@ -1,172 +0,0 @@
-/* bindtextdom.c -- implementation of the bindtextdomain(3) function
-   Copyright (C) 1995 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#else
-# ifdef HAVE_MALLOC_H
-#  include <malloc.h>
-# else
-void free ();
-# endif
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-#include "gettext.h"
-#include "gettextP.h"
-
-/* @@ end of prolog @@ */
-
-/* Contains the default location of the message catalogs.  */
-extern const char _nl_default_dirname[];
-
-/* List with bindings of specific domains.  */
-extern struct binding *_nl_domain_bindings;
-
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define BINDTEXTDOMAIN __bindtextdomain
-#else
-# define BINDTEXTDOMAIN bindtextdomain__
-#endif
-
-/* Specify that the DOMAINNAME message catalog will be found
-   in DIRNAME rather than in the system locale data base.  */
-char *
-BINDTEXTDOMAIN (domainname, dirname)
-     const char *domainname;
-     const char *dirname;
-{
-  struct binding *binding;
-
-  /* Some sanity checks.  */
-  if (domainname == NULL || domainname[0] == '\0')
-    return NULL;
-
-  for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
-    {
-      int compare = strcmp (domainname, binding->domainname);
-      if (compare == 0)
-	/* We found it!  */
-	break;
-      if (compare < 0)
-	{
-	  /* It is not in the list.  */
-	  binding = NULL;
-	  break;
-	}
-    }
-
-  if (dirname == NULL)
-    /* The current binding has be to returned.  */
-    return binding == NULL ? (char *) _nl_default_dirname : binding->dirname;
-
-  if (binding != NULL)
-    {
-      /* The domain is already bound.  Replace the old binding.  */
-      char *new_dirname;
-
-      if (strcmp (dirname, _nl_default_dirname) == 0)
-	new_dirname = (char *) _nl_default_dirname;
-      else
-	{
-	  size_t len = strlen (dirname) + 1;
-	  new_dirname = (char *) malloc (len);
-	  if (new_dirname == NULL)
-	    return NULL;
-
-	  memcpy (new_dirname, dirname, len);
-	}
-
-      if (strcmp (binding->dirname, _nl_default_dirname) != 0)
-        free (binding->dirname);
-
-      binding->dirname = new_dirname;
-    }
-  else
-    {
-      /* We have to create a new binding.  */
-      size_t len;
-      struct binding *new_binding =
-	(struct binding *) malloc (sizeof (*new_binding));
-
-      if (new_binding == NULL)
-	return NULL;
-
-      len = strlen (domainname) + 1;
-      new_binding->domainname = (char *) malloc (len);
-      if (new_binding->domainname == NULL)
-	  return NULL;
-      memcpy (new_binding->domainname, domainname, len);
-
-      if (strcmp (dirname, _nl_default_dirname) == 0)
-	new_binding->dirname = (char *) _nl_default_dirname;
-      else
-	{
-	  len = strlen (dirname) + 1;
-	  new_binding->dirname = (char *) malloc (len);
-	  if (new_binding->dirname == NULL)
-	    return NULL;
-	  memcpy (new_binding->dirname, dirname, len);
-	}
-
-      /* Now enqueue it.  */
-      if (_nl_domain_bindings == NULL
-	  || strcmp (domainname, _nl_domain_bindings->domainname) < 0)
-	{
-	  new_binding->next = _nl_domain_bindings;
-	  _nl_domain_bindings = new_binding;
-	}
-      else
-	{
-	  binding = _nl_domain_bindings;
-	  while (binding->next != NULL
-		 && strcmp (domainname, binding->next->domainname) > 0)
-	    binding = binding->next;
-
-	  new_binding->next = binding->next;
-	  binding->next = new_binding;
-	}
-
-      binding = new_binding;
-    }
-
-  return binding->dirname;
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__bindtextdomain, bindtextdomain);
-#endif
diff -purN ../lilypond-1.5.69/intl/cat-compat.c.dist ./intl/cat-compat.c.dist
--- ../lilypond-1.5.69/intl/cat-compat.c.dist	Sat Dec  2 23:50:57 1995
+++ ./intl/cat-compat.c.dist	Thu Jan  1 01:00:00 1970
@@ -1,252 +0,0 @@
-/* Compatibility code for gettext-using-catgets interface.
-   Copyright (C) 1995 Free Software Foundation, Inc.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <string.h>
-#else
-char *getenv ();
-# ifdef HAVE_MALLOC_H
-#  include <malloc.h>
-# endif
-#endif
-
-#ifdef HAVE_NL_TYPES_H
-# include <nl_types.h>
-#endif
-
-#include "libgettext.h"
-
-/* @@ end of prolog @@ */
-
-/* The catalog descriptor.  */
-static nl_catd catalog = (nl_catd) -1;
-
-/* Name of the default catalog.  */
-static const char default_catalog_name[] = "messages";
-
-/* Name of currently used catalog.  */
-static const char *catalog_name = default_catalog_name;
-
-/* Get ID for given string.  If not found return -1.  */
-static int msg_to_cat_id __P ((const char *msg));
-
-/* Substitution for systems lacking this function in their C library.  */
-#if !_LIBC && !HAVE_STPCPY
-static char *stpcpy __P ((char *dest, const char *src));
-#endif
-
-
-/* Set currently used domain/catalog.  */
-char *
-textdomain (domainname)
-     const char *domainname;
-{
-  nl_catd new_catalog;
-  char *new_name;
-  size_t new_name_len;
-  char *lang;
-
-#if HAVE_SETLOCALE && HAVE_LC_MESSAGES && HAVE_SETLOCALE_NULL
-  lang = setlocale (LC_MESSAGES, NULL);
-#else
-  lang = getenv ("LC_ALL");
-  if (lang == NULL || lang[0] == '\0')
-    {
-      lang = getenv ("LC_MESSAGES");
-      if (lang == NULL || lang[0] == '\0')
-	lang = getenv ("LANG");
-    }
-#endif
-  if (lang == NULL || lang[0] == '\0')
-    lang = "C";
-
-  /* See whether name of currently used domain is asked.  */
-  if (domainname == NULL)
-    return (char *) catalog_name;
-
-  if (domainname[0] == '\0')
-    domainname = default_catalog_name;
-
-  /* Compute length of added path element.  */
-  new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang)
-		 + sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1
-		 + sizeof (".cat");
-
-  new_name = (char *) malloc (new_name_len);
-  if (new_name == NULL)
-    return NULL;
-
-  strcpy (new_name, PACKAGE);
-  new_catalog = catopen (new_name, 0);
-
-  if (new_catalog == (nl_catd) -1)
-    {
-      /* NLSPATH search didn't work, try absolute path */
-      sprintf (new_name, "%s/%s/LC_MESSAGES/%s.cat", LOCALEDIR, lang,
-	       PACKAGE);
-      new_catalog = catopen (new_name, 0);
-
-      if (new_catalog == (nl_catd) -1)
-	{
-	  free (new_name);
-	  return (char *) catalog_name;
-	}
-    }
-
-  /* Close old catalog.  */
-  if (catalog != (nl_catd) -1)
-    catclose (catalog);
-  if (catalog_name != default_catalog_name)
-    free ((char *) catalog_name);
-
-  catalog = new_catalog;
-  catalog_name = new_name;
-
-  return (char *) catalog_name;
-}
-
-char *
-bindtextdomain (domainname, dirname)
-     const char *domainname;
-     const char *dirname;
-{
-#if HAVE_SETENV || HAVE_PUTENV
-  char *old_val, *new_val, *cp;
-  size_t new_val_len;
-
-  /* This does not make much sense here but to be compatible do it.  */
-  if (domainname == NULL)
-    return NULL;
-
-  /* Compute length of added path element.  If we use setenv we don't need
-     the first byts for NLSPATH=, but why complicate the code for this
-     peanuts.  */
-  new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname)
-		+ sizeof ("/%L/LC_MESSAGES/%N.cat");
-
-  old_val = getenv ("NLSPATH");
-  if (old_val == NULL || old_val[0] == '\0')
-    {
-      old_val = NULL;
-      new_val_len += 1 + sizeof (LOCALEDIR) - 1
-	             + sizeof ("/%L/LC_MESSAGES/%N.cat");
-    }
-  else
-    new_val_len += strlen (old_val);
-
-  new_val = (char *) malloc (new_val_len);
-  if (new_val == NULL)
-    return NULL;
-
-# if HAVE_SETENV
-  cp = new_val;
-# else
-  cp = stpcpy (new_val, "NLSPATH=");
-# endif
-
-  cp = stpcpy (cp, dirname);
-  cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:");
-
-  if (old_val == NULL)
-    {
-# if __STDC__
-      stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat");
-# else
-
-      cp = stpcpy (cp, LOCALEDIR);
-      stpcpy (cp, "/%L/LC_MESSAGES/%N.cat");
-# endif
-    }
-  else
-    stpcpy (cp, old_val);
-
-# if HAVE_SETENV
-  setenv ("NLSPATH", new_val, 1);
-  free (new_val);
-# else
-  putenv (new_val);
-  /* Do *not* free the environment entry we just entered.  It is used
-     from now on.   */
-# endif
-
-#endif
-
-  return (char *) domainname;
-}
-
-#undef gettext
-char *
-gettext (msg)
-     const char *msg;
-{
-  int msgid;
-
-  if (msg == NULL || catalog == (nl_catd) -1)
-    return (char *) msg;
-
-  /* Get the message from the catalog.  We always use set number 1.
-     The message ID is computed by the function `msg_to_cat_id'
-     which works on the table generated by `po-to-tbl'.  */
-  msgid = msg_to_cat_id (msg);
-  if (msgid == -1)
-    return (char *) msg;
-
-  return catgets (catalog, 1, msgid, (char *) msg);
-}
-
-/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries
-   for the one equal to msg.  If it is found return the ID.  In case when
-   the string is not found return -1.  */
-static int
-msg_to_cat_id (msg)
-     const char *msg;
-{
-  int cnt;
-
-  for (cnt = 0; cnt < _msg_tbl_length; ++cnt)
-    if (strcmp (msg, _msg_tbl[cnt]._msg) == 0)
-      return _msg_tbl[cnt]._msg_number;
-
-  return -1;
-}
-
-
-/* @@ begin of epilog @@ */
-
-/* We don't want libintl.a to depend on any other library.  So we
-   avoid the non-standard function stpcpy.  In GNU C Library this
-   function is available, though.  Also allow the symbol HAVE_STPCPY
-   to be defined.  */
-#if !_LIBC && !HAVE_STPCPY
-static char *
-stpcpy (dest, src)
-     char *dest;
-     const char *src;
-{
-  while ((*dest++ = *src++) != '\0')
-    /* Do nothing. */ ;
-  return dest - 1;
-}
-#endif
diff -purN ../lilypond-1.5.69/intl/config.h ./intl/config.h
--- ../lilypond-1.5.69/intl/config.h	Wed Jun  3 17:00:33 1998
+++ ./intl/config.h	Thu Jan  1 01:00:00 1970
@@ -1,18 +0,0 @@
-/* urg */
-
-#include "config.hh"
-
-/* urg */
-#ifdef PACKAGE
-#undef PACKAGE
-#endif
-/* Define to the name of the distribution.  */
-#define PACKAGE "gettext"
-
-/* urg */
-#ifdef VERSION
-#undef VERSION
-#endif
-/* Define to the version of the distribution.  */
-#define VERSION "0.10"
-
diff -purN ../lilypond-1.5.69/intl/dcgettext.c ./intl/dcgettext.c
--- ../lilypond-1.5.69/intl/dcgettext.c	Sat Nov 25 12:30:40 1995
+++ ./intl/dcgettext.c	Thu Jan  1 01:00:00 1970
@@ -1,522 +0,0 @@
-/* dcgettext.c -- implemenatation of the dcgettext(3) function
-   Copyright (C) 1995 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <sys/types.h>
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# if defined HAVE_ALLOCA_H || defined _LIBC
-#  include <alloca.h>
-# else
-#  ifdef _AIX
- #pragma alloca
-#  else
-#   ifndef alloca
-char *alloca ();
-#   endif
-#  endif
-# endif
-#endif
-
-#include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#else
-char *getenv ();
-# ifdef HAVE_MALLOC_H
-#  include <malloc.h>
-# else
-void free ();
-# endif
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-#  define strchr index
-# endif
-#endif
-
-#if defined HAVE_UNISTD_H || defined _LIBC
-# include <unistd.h>
-#endif
-
-#include "gettext.h"
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-#include "hash-string.h"
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions.  This is required by the standard
-   because some ANSI C functions will require linking with this object
-   file and the name space must not be polluted.  */
-# define getcwd __getcwd
-# define stpcpy __stpcpy
-#endif
-
-#if !defined HAVE_GETCWD && !defined _LIBC
-char *getwd ();
-# define getcwd(buf, max) getwd (buf)
-#else
-char *getcwd ();
-#endif
-
-/* Amount to increase buffer size by in each try.  */
-#define PATH_INCR 32
-
-/* The following is from pathmax.h.  */
-/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
-   PATH_MAX but might cause redefinition warnings when sys/param.h is
-   later included (as on MORE/BSD 4.3).  */
-#if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) && !defined(__GNUC__))
-# include <limits.h>
-#endif
-
-#ifndef _POSIX_PATH_MAX
-# define _POSIX_PATH_MAX 255
-#endif
-
-#if !defined(PATH_MAX) && defined(_PC_PATH_MAX)
-# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))
-#endif
-
-/* Don't include sys/param.h if it already has been.  */
-#if defined(HAVE_SYS_PARAM_H) && !defined(PATH_MAX) && !defined(MAXPATHLEN)
-# include <sys/param.h>
-#endif
-
-#if !defined(PATH_MAX) && defined(MAXPATHLEN)
-# define PATH_MAX MAXPATHLEN
-#endif
-
-#ifndef PATH_MAX
-# define PATH_MAX _POSIX_PATH_MAX
-#endif
-
-/* XPG3 defines the result of `setlocale (category, NULL)' as:
-   ``Directs `setlocale()' to query `category' and return the current
-     setting of `local'.''
-   However it does not specify the exact format.  And even worse: POSIX
-   defines this not at all.  So we can use this feature only on selected
-   system (e.g. those using GNU C Library).  */
-#ifdef _LIBC
-# define HAVE_LOCALE_NULL
-#endif
-
-/* Name of the default domain used for gettext(3) prior any call to
-   textdomain(3).  The default value for this is "messages".  */
-const char _nl_default_default_domain[] = "messages";
-
-/* Value used as the default domain for gettext(3).  */
-const char *_nl_current_default_domain = _nl_default_default_domain;
-
-/* Contains the default location of the message catalogs.  */
-const char _nl_default_dirname[] = GNULOCALEDIR;
-
-/* List with bindings of specific domains created by bindtextdomain()
-   calls.  */
-struct binding *_nl_domain_bindings;
-
-/* Prototypes for local functions.  */
-static char *find_msg __P ((struct loaded_domain *domain, const char *msgid));
-static const char *category_to_name __P((int category));
-static const char *guess_category_value __P((int category,
-					     const char *categoryname));
-
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define DCGETTEXT __dcgettext
-#else
-# define DCGETTEXT dcgettext__
-#endif
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
-   locale.  */
-char *
-DCGETTEXT (domainname, msgid, category)
-     const char *domainname;
-     const char *msgid;
-     int category;
-{
-  struct loaded_domain *domain;
-  struct binding *binding;
-  const char *categoryname;
-  const char *categoryvalue;
-  char *dirname, *xdomainname;
-  char *single_locale;
-  char *retval;
-
-  /* If no real MSGID is given return NULL.  */
-  if (msgid == NULL)
-    return NULL;
-
-  /* If DOMAINNAME is NULL, we are interested in the default domain.  If
-     CATEGORY is not LC_MESSAGES this might not make much sense but the
-     defintion left this undefined.  */
-  if (domainname == NULL)
-    domainname = _nl_current_default_domain;
-
-  /* First find matching binding.  */
-  for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
-    {
-      int compare = strcmp (domainname, binding->domainname);
-      if (compare == 0)
-	/* We found it!  */
-	break;
-      if (compare < 0)
-	{
-	  /* It is not in the list.  */
-	  binding = NULL;
-	  break;
-	}
-    }
-
-  if (binding == NULL)
-    dirname = (char *) _nl_default_dirname;
-  else if (binding->dirname[0] == '/')
-    dirname = binding->dirname;
-  else
-    {
-      /* We have a relative path.  Make it absolute now.  */
-      size_t dirname_len = strlen (binding->dirname) + 1;
-      size_t path_max;
-      char *ret;
-
-      path_max = (unsigned) PATH_MAX;
-      path_max += 2;		/* The getcwd docs say to do this.  */
-
-      dirname = (char *) alloca (path_max + dirname_len);
-
-      errno = 0;
-      while ((ret = getcwd (dirname, path_max)) == NULL && errno == ERANGE)
-	{
-	  path_max += PATH_INCR;
-	  dirname = (char *) alloca (path_max + dirname_len);
-	  errno = 0;
-	}
-
-      if (ret == NULL)
-	/* We cannot get the current working directory.  Don't signal an
-	   error but simply return the default string.  */
-	return (char *) msgid;
-
-      /* We don't want libintl.a to depend on any other library.  So
-	 we avoid the non-standard function stpcpy.  In GNU C Library
-	 this function is available, though.  Also allow the symbol
-	 HAVE_STPCPY to be defined.  */
-#if defined _LIBC || defined HAVE_STPCPY
-      stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
-#else
-      strcat (dirname, "/");
-      strcat (dirname, binding->dirname);
-#endif
-    }
-
-  /* Now determine the symbolic name of CATEGORY and its value.  */
-  categoryname = category_to_name (category);
-  categoryvalue = guess_category_value (category, categoryname);
-
-  xdomainname = (char *) alloca (strlen (categoryname)
-				 + strlen (domainname) + 5);
-  /* We don't want libintl.a to depend on any other library.  So we
-     avoid the non-standard function stpcpy.  In GNU C Library this
-     function is available, though.  Also allow the symbol HAVE_STPCPY
-     to be defined.  */
-#if defined _LIBC || defined HAVE_STPCPY
-  stpcpy (stpcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
-		  domainname),
-	  ".mo");
-#else
-  strcpy (xdomainname, categoryname);
-  strcat (xdomainname, "/");
-  strcat (xdomainname, domainname);
-  strcat (xdomainname, ".mo");
-#endif
-
-  /* Creating working area.  */
-  single_locale = (char *) alloca (strlen (categoryvalue) + 1);
-
-
-  /* Search for the given string.  This is a loop because we perhaps
-     got an ordered list of languages to consider for th translation.  */
-  while (1)
-    {
-      /* Make CATEGORYVALUE point to the next element of the list.  */
-      while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
-	++categoryvalue;
-      if (categoryvalue[0] == '\0')
-	{
-	  /* The whole contents of CATEGORYVALUE has been searched but
-	     no valid entry has been found.  We solve this situation
-	     by implicitely appending a "C" entry, i.e. no translation
-	     will take place.  */
-	  single_locale[0] = 'C';
-	  single_locale[1] = '\0';
-	}
-      else
-	{
-	  char *cp = single_locale;
-	  while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
-	    *cp++ = *categoryvalue++;
-	  *cp = '\0';
-	}
-
-      /* If the current locale value is C (or POSIX) we don't load a
-	 domain.  Return the MSGID.  */
-      if (strcmp (single_locale, "C") == 0
-	  || strcmp (single_locale, "POSIX") == 0)
-	return (char *) msgid;
-
-
-      /* Find structure describing the message catalog matching the
-	 DOMAINNAME and CATEGORY.  */
-      domain = _nl_find_domain (dirname, single_locale, xdomainname);
-
-      if (domain != NULL)
-	{
-	  retval = find_msg (domain, msgid);
-
-	  if (retval == NULL)
-	    {
-	      int cnt;
-
-	      for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
-		{
-		  retval = find_msg (domain->successor[cnt], msgid);
-
-		  if (retval != NULL)
-		    break;
-		}
-	    }
-
-	  if (retval != NULL)
-	    return retval;
-	}
-    }
-  /* NOTREACHED */
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__dcgettext, dcgettext);
-#endif
-
-
-static char *
-find_msg (domain, msgid)
-     struct loaded_domain *domain;
-     const char *msgid;
-{
-  size_t top, act, bottom;
-
-  if (domain->decided == 0)
-    _nl_load_domain (domain);
-
-  if (domain->data == NULL)
-    return NULL;
-
-  /* Locate the MSGID and its translation.  */
-  if (domain->hash_size > 2 && domain->hash_tab != NULL)
-    {
-      /* Use the hashing table.  */
-      nls_uint32 len = strlen (msgid);
-      nls_uint32 hash_val = hash_string (msgid);
-      nls_uint32 idx = hash_val % domain->hash_size;
-      nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
-      nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);
-
-      if (nstr == 0)
-	/* Hash table entry is empty.  */
-	return NULL;
-
-      if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len
-	  && strcmp (msgid,
-		     domain->data + W (domain->must_swap,
-				       domain->orig_tab[nstr - 1].offset)) == 0)
-	return (char *) domain->data + W (domain->must_swap,
-					  domain->trans_tab[nstr - 1].offset);
-
-      while (1)
-	{
-	  if (idx >= W (domain->must_swap, domain->hash_size) - incr)
-	    idx -= W (domain->must_swap, domain->hash_size) - incr;
-	  else
-	    idx += incr;
-
-	  nstr = W (domain->must_swap, domain->hash_tab[idx]);
-	  if (nstr == 0)
-	    /* Hash table entry is empty.  */
-	    return NULL;
-
-	  if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len
-	      && strcmp (msgid,
-			 domain->data + W (domain->must_swap,
-					   domain->orig_tab[nstr - 1].offset))
-	         == 0)
-	    return (char *) domain->data
-	      + W (domain->must_swap, domain->trans_tab[nstr - 1].offset);
-	}
-      /* NOTREACHED */
-    }
-
-  /* Now we try the default method:  binary search in the sorted
-     array of messages.  */
-  bottom = 0;
-  top = domain->nstrings;
-  while (bottom < top)
-    {
-      int cmp_val;
-
-      act = (bottom + top) / 2;
-      cmp_val = strcmp (msgid, domain->data
-			       + W (domain->must_swap,
-				    domain->orig_tab[act].offset));
-      if (cmp_val < 0)
-	top = act;
-      else if (cmp_val > 0)
-	bottom = act + 1;
-      else
-	break;
-    }
-
-  /* If an translation is found return this.  */
-  return bottom >= top ? NULL : (char *) domain->data
-                                + W (domain->must_swap,
-				     domain->trans_tab[act].offset);
-}
-
-
-/* Return string representation of locale CATEGORY.  */
-static const char *category_to_name (category)
-     int category;
-{
-  const char *retval;
-
-  switch (category)
-  {
-#ifdef LC_COLLATE
-  case LC_COLLATE:
-    retval = "LC_COLLATE";
-    break;
-#endif
-#ifdef LC_CTYPE
-  case LC_CTYPE:
-    retval = "LC_CTYPE";
-    break;
-#endif
-#ifdef LC_MONETARY
-  case LC_MONETARY:
-    retval = "LC_MONETARY";
-    break;
-#endif
-#ifdef LC_NUMERIC
-  case LC_NUMERIC:
-    retval = "LC_NUMERIC";
-    break;
-#endif
-#ifdef LC_TIME
-  case LC_TIME:
-    retval = "LC_TIME";
-    break;
-#endif
-#ifdef LC_MESSAGES
-  case LC_MESSAGES:
-    retval = "LC_MESSAGES";
-    break;
-#endif
-#ifdef LC_RESPONSE
-  case LC_RESPONSE:
-    retval = "LC_RESPONSE";
-    break;
-#endif
-#ifdef LC_ALL
-  case LC_ALL:
-    /* This might not make sense but is perhaps better than any other
-       value.  */
-    retval = "LC_ALL";
-    break;
-#endif
-  default:
-    /* If you have a better idea for a default value let me know.  */
-    retval = "LC_XXX";
-  }
-
-  return retval;
-}
-
-/* Guess value of current locale from value of the environment variables.  */
-static const char *guess_category_value (category, categoryname)
-     int category;
-     const char *categoryname;
-{
-  const char *retval;
-
-  /* The highest priority value is the `LANGUAGE' environment
-     variable.  This is a GNU extension.  */
-  retval = getenv ("LANGUAGE");
-  if (retval != NULL && retval[0] != '\0')
-    return retval;
-
-  /* `LANGUAGE' is not set.  So we have to proceed with the POSIX
-     methods of looking to `LC_ALL', `LC_xxx', and `LANG'.  On some
-     systems this can be done by the `setlocale' function itself.  */
-#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
-  return setlocale (category, NULL);
-#else
-  /* Setting of LC_ALL overwrites all other.  */
-  retval = getenv ("LC_ALL");
-  if (retval != NULL && retval[0] != '\0')
-    return retval;
-
-  /* Next comes the name of the desired category.  */
-  retval = getenv (categoryname);
-  if (retval != NULL && retval[0] != '\0')
-    return retval;
-
-  /* Last possibility is the LANG environment variable.  */
-  retval = getenv ("LANG");
-  if (retval != NULL && retval[0] != '\0')
-    return retval;
-
-  /* We use C as the default domain.  POSIX says this is implementation
-     defined.  */
-  return "C";
-#endif
-}
diff -purN ../lilypond-1.5.69/intl/dgettext.c ./intl/dgettext.c
--- ../lilypond-1.5.69/intl/dgettext.c	Wed Sep 27 01:42:09 1995
+++ ./intl/dgettext.c	Thu Jan  1 01:00:00 1970
@@ -1,59 +0,0 @@
-/* dgettext.c -- implementation of the dgettext(3) function
-   Copyright (C) 1995 Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if defined HAVE_LOCALE_H || defined _LIBC
-# include <locale.h>
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define DGETTEXT __dgettext
-# define DCGETTEXT __dcgettext
-#else
-# define DGETTEXT dgettext__
-# define DCGETTEXT dcgettext__
-#endif
-
-/* Look up MSGID in the DOMAINNAME message catalog of the current
-   LC_MESSAGES locale.  */
-char *
-DGETTEXT (domainname, msgid)
-     const char *domainname;
-     const char *msgid;
-{
-  return DCGETTEXT (domainname, msgid, LC_MESSAGES);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__dgettext, dgettext);
-#endif
diff -purN ../lilypond-1.5.69/intl/finddomain.c ./intl/finddomain.c
--- ../lilypond-1.5.69/intl/finddomain.c	Tue Nov  7 15:21:04 1995
+++ ./intl/finddomain.c	Thu Jan  1 01:00:00 1970
@@ -1,503 +0,0 @@
-/* finddomain.c -- handle list of needed message catalogs
-   Copyright (C) 1995 Software Foundation, Inc.
-   Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <errno.h>
-#include <stdio.h>
-#include <sys/types.h>
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#else
-# ifdef HAVE_MALLOC_H
-#  include <malloc.h>
-# else
-void free ();
-# endif
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-#  define strchr index
-# endif
-#endif
-
-#if defined HAVE_UNISTD_H || defined _LIBC
-# include <unistd.h>
-#endif
-
-#include "gettext.h"
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions.  This is required by the standard
-   because some ANSI C functions will require linking with this object
-   file and the name space must not be polluted.  */
-# define stpcpy __stpcpy
-#endif
-
-/* Encoding of locale name parts.  */
-#define CEN_REVISION	1
-#define CEN_SPONSOR	2
-#define CEN_SPECIAL	4
-#define XPG_CODESET	8
-#define TERRITORY	16
-#define CEN_AUDIENCE	32
-#define XPG_MODIFIER	64
-
-#define CEN_SPECIFIC	(CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
-#define XPG_SPECIFIC	(XPG_CODESET|XPG_MODIFIER)
-
-
-/* List of already loaded domains.  */
-static struct loaded_domain *_nl_loaded_domains;
-
-/* Prototypes for local functions.  */
-static struct loaded_domain *make_entry_rec __P ((const char *dirname,
-						  int mask,
-						  const char *language,
-						  const char *territory,
-						  const char *codeset,
-						  const char *modifier,
-						  const char *special,
-						  const char *sponsor,
-						  const char *revision,
-						  const char *domainname,
-						  int do_allocate));
-
-/* Substitution for systems lacking this function in their C library.  */
-#if !_LIBC && !HAVE_STPCPY
-static char *stpcpy __P ((char *dest, const char *src));
-#endif
-
-
-/* Return a data structure describing the message catalog described by
-   the DOMAINNAME and CATEGORY parameters with respect to the currently
-   established bindings.  */
-struct loaded_domain *
-_nl_find_domain (dirname, locale, domainname)
-     const char *dirname;
-     char *locale;
-     const char *domainname;
-{
-  enum { undecided, xpg, cen } syntax;
-  struct loaded_domain *retval;
-  const char *language;
-  const char *modifier = NULL;
-  const char *territory = NULL;
-  const char *codeset = NULL;
-  const char *special = NULL;
-  const char *sponsor = NULL;
-  const char *revision = NULL;
-  const char *alias_value = NULL;
-  char *cp;
-  int mask;
-
-  /* CATEGORYVALUE now possibly contains a colon separated list of
-     locales.  Each single locale can consist of up to four recognized
-     parts for the XPG syntax:
-
-		language[_territory[.codeset]][@modifier]
-
-     and six parts for the CEN syntax:
-
-	language[_territory][+audience][+special][,sponsor][_revision]
-
-     Beside the first all of them are allowed to be missing.  If the
-     full specified locale is not found, the less specific one are
-     looked for.  The various part will be stripped of according to
-     the following order:
-		(1) revision
-		(2) sponsor
-		(3) special
-		(4) codeset
-		(5) territory
-		(6) audience/modifier
-   */
-
-  /* If we have already tested for this locale entry there has to
-     be one data set in the list of loaded domains.  */
-  retval = make_entry_rec (dirname, 0, locale, NULL, NULL, NULL,
-			   NULL, NULL, NULL, domainname, 0);
-  if (retval != NULL)
-    {
-      /* We know something about this locale.  */
-      int cnt;
-
-      if (retval->decided == 0)
-	_nl_load_domain (retval); /* @@@ */
-
-      if (retval->data != NULL)
-	return retval;
-
-      for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
-	{
-	  if (retval->successor[cnt]->decided == 0)
-	    _nl_load_domain (retval->successor[cnt]);
-
-	  if (retval->successor[cnt]->data != NULL)
-	    break;
-	}
-
-      /* We really found some usable information.  */
-      return cnt >= 0 ? retval : NULL;
-      /* NOTREACHED */
-    }
-
-  /* See whether the locale value is an alias.  If yes its value
-     *overwrites* the alias name.  No test for the original value is
-     done.  */
-  alias_value = _nl_expand_alias (locale);
-  if (alias_value != NULL)
-    {
-      size_t len = strlen (alias_value) + 1;
-      locale = (char *) malloc (len);
-      if (locale == NULL)
-	return NULL;
-
-      memcpy (locale, alias_value, len);
-    }
-
-  /* Now we determine the single parts of the locale name.  First
-     look for the language.  Termination symbols are `_' and `@' if
-     we use XPG4 style, and `_', `+', and `,' if we use CEN syntax.  */
-  mask = 0;
-  syntax = undecided;
-  language = cp = locale;
-  while (cp[0] != '\0' && cp[0] != '_' && cp[0] != '@'
-	 && cp[0] != '+' && cp[0] != ',')
-    ++cp;
-
-  if (language == cp)
-    /* This does not make sense: language has to be specified.  Use
-       this entry as it is without exploding.  Perhaps it is an alias.  */
-    cp = strchr (language, '\0');
-  else if (cp[0] == '_')
-    {
-      /* Next is the territory.  */
-      cp[0] = '\0';
-      territory = ++cp;
-
-      while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@'
-	     && cp[0] != '+' && cp[0] != ',' && cp[0] != '_')
-	++cp;
-
-      mask |= TERRITORY;
-
-      if (cp[0] == '.')
-	{
-	  /* Next is the codeset.  */
-	  syntax = xpg;
-	  cp[0] = '\0';
-	  codeset = ++cp;
-
-	  while (cp[0] != '\0' && cp[0] != '@')
-	    ++cp;
-
-	  mask |= XPG_CODESET;
-	}
-    }
-
-  if (cp[0] == '@' || (syntax != xpg && cp[0] == '+'))
-    {
-      /* Next is the modifier.  */
-      syntax = cp[0] == '@' ? xpg : cen;
-      cp[0] = '\0';
-      modifier = ++cp;
-
-      while (syntax == cen && cp[0] != '\0' && cp[0] != '+'
-	     && cp[0] != ',' && cp[0] != '_')
-	++cp;
-
-      mask |= XPG_MODIFIER | CEN_AUDIENCE;
-    }
-
-  if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_'))
-    {
-      syntax = cen;
-
-      if (cp[0] == '+')
-	{
- 	  /* Next is special application (CEN syntax).  */
-	  cp[0] = '\0';
-	  special = ++cp;
-
-	  while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_')
-	    ++cp;
-
-	  mask |= CEN_SPECIAL;
-	}
-
-      if (cp[0] == ',')
-	{
- 	  /* Next is sponsor (CEN syntax).  */
-	  cp[0] = '\0';
-	  sponsor = ++cp;
-
-	  while (cp[0] != '\0' && cp[0] != '_')
-	    ++cp;
-
-	  mask |= CEN_SPONSOR;
-	}
-
-      if (cp[0] == '_')
-	{
- 	  /* Next is revision (CEN syntax).  */
-	  cp[0] = '\0';
-	  revision = ++cp;
-
-	  mask |= CEN_REVISION;
-	}
-    }
-
-  /* For CEN sytnax values it might be important to have the
-     separator character in the file name, not for XPG syntax.  */
-  if (syntax == xpg)
-    {
-      if (territory != NULL && territory[0] == '\0')
-	mask &= ~TERRITORY;
-
-      if (codeset != NULL && codeset[0] == '\0')
-	mask &= ~XPG_CODESET;
-
-      if (modifier != NULL && modifier[0] == '\0')
-	mask &= ~XPG_MODIFIER;
-    }
-
-  /* Create all possible locale entries which might be interested in
-     generalzation.  */
-  retval = make_entry_rec (dirname, mask, language, territory, codeset,
-			   modifier, special, sponsor, revision,
-			   domainname, 1);
-  if (retval == NULL)
-    /* This means we are out of core.  */
-    return NULL;
-
-  if (retval->decided == 0)
-    _nl_load_domain (retval);
-  if (retval->data == NULL)
-    {
-      int cnt;
-      for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
-	{
-	  if (retval->successor[cnt]->decided == 0)
-	    _nl_load_domain (retval->successor[cnt]);
-	  if (retval->successor[cnt]->data != NULL)
-	    break;
-
-	  /* Signal that locale is not available.  */
-	  retval->successor[cnt] = NULL;
-	}
-      if (retval->successor[cnt] == NULL)
-	retval = NULL;
-    }
-
-  /* The room for an alias was dynamically allocated.  Free it now.  */
-  if (alias_value != NULL)
-    free (locale);
-
-  return retval;
-}
-
-
-static struct loaded_domain *
-make_entry_rec (dirname, mask, language, territory, codeset, modifier,
-		special, sponsor, revision, domain, do_allocate)
-     const char *dirname;
-     int mask;
-     const char *language;
-     const char *territory;
-     const char *codeset;
-     const char *modifier;
-     const char *special;
-     const char *sponsor;
-     const char *revision;
-     const char *domain;
-     int do_allocate;
-{
-  char *filename = NULL;
-  struct loaded_domain *last = NULL;
-  struct loaded_domain *retval;
-  char *cp;
-  size_t entries;
-  int cnt;
-
-
-  /* Process the current entry described by the MASK only when it is
-     valid.  Because the mask can have in the first call bits from
-     both syntaces set this is necessary to prevent constructing
-     illegal local names.  */
-  /* FIXME: Rewrite because test is necessary only in first round.  */
-  if ((mask & CEN_SPECIFIC) == 0 || (mask & XPG_SPECIFIC) == 0)
-    {
-      /* Allocate room for the full file name.  */
-      filename = (char *) malloc (strlen (dirname) + 1
-				  + strlen (language)
-				  + ((mask & TERRITORY) != 0
-				     ? strlen (territory) : 0)
-				  + ((mask & XPG_CODESET) != 0
-				     ? strlen (codeset) : 0)
-				  + ((mask & XPG_MODIFIER) != 0 ?
-				     strlen (modifier) : 0)
-				  + ((mask & CEN_SPECIAL) != 0
-				     ? strlen (special) : 0)
-				  + ((mask & CEN_SPONSOR) != 0
-				     ? strlen (sponsor) : 0)
-				  + ((mask & CEN_REVISION) != 0
-				     ? strlen (revision) : 0) + 1
-				  + strlen (domain) + 1);
-
-      if (filename == NULL)
-	return NULL;
-
-      retval = NULL;
-      last = NULL;
-
-      /* Construct file name.  */
-      cp = stpcpy (filename, dirname);
-      *cp++ = '/';
-      cp = stpcpy (cp, language);
-
-      if ((mask & TERRITORY) != 0)
-	{
-	  *cp++ = '_';
-	  cp = stpcpy (cp, territory);
-	}
-      if ((mask & XPG_CODESET) != 0)
-	{
-	  *cp++ = '.';
-      cp = stpcpy (cp, codeset);
-	}
-      if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)
-	{
-	  /* This component can be part of both syntaces but has different
-	     leading characters.  For CEN we use `+', else `@'.  */
-	  *cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';
-	  cp = stpcpy (cp, modifier);
-	}
-      if ((mask & CEN_SPECIAL) != 0)
-	{
-	  *cp++ = '+';
-	  cp = stpcpy (cp, special);
-	}
-      if ((mask & CEN_SPONSOR) != 0)
-	{
-	  *cp++ = ',';
-	  cp = stpcpy (cp, sponsor);
-	}
-      if ((mask & CEN_REVISION) != 0)
-	{
-	  *cp++ = '_';
-	  cp = stpcpy (cp, revision);
-	}
-
-      *cp++ = '/';
-      stpcpy (cp, domain);
-
-      /* Look in list of already loaded domains whether it is already
-	 available.  */
-      last = NULL;
-      for (retval = _nl_loaded_domains; retval != NULL; retval = retval->next)
-	if (retval->filename != NULL)
-	  {
-	    int compare = strcmp (retval->filename, filename);
-	    if (compare == 0)
-	      /* We found it!  */
-	      break;
-	    if (compare < 0)
-	      {
-		/* It's not in the list.  */
-		retval = NULL;
-		break;
-	      }
-
-	    last = retval;
-	  }
-
-      if (retval != NULL || do_allocate == 0)
-	{
-	  free (filename);
-	  return retval;
-	}
-    }
-
-  retval = (struct loaded_domain *) malloc (sizeof (*retval));
-  if (retval == NULL)
-    return NULL;
-
-  retval->filename = filename;
-  retval->decided = 0;
-
-  if (last == NULL)
-    {
-      retval->next = _nl_loaded_domains;
-      _nl_loaded_domains = retval;
-    }
-  else
-    {
-      retval->next = last->next;
-      last->next = retval;
-    }
-
-  entries = 0;
-  for (cnt = 126; cnt >= 0; --cnt)
-    if (cnt < mask && (cnt & ~mask) == 0
-	&& ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0))
-      retval->successor[entries++] = make_entry_rec (dirname, cnt,
-						     language, territory,
-						     codeset, modifier,
-						     special, sponsor,
-						     revision, domain, 1);
-  retval->successor[entries] = NULL;
-
-  return retval;
-}
-
-
-/* @@ begin of epilog @@ */
-
-/* We don't want libintl.a to depend on any other library.  So we
-   avoid the non-standard function stpcpy.  In GNU C Library this
-   function is available, though.  Also allow the symbol HAVE_STPCPY
-   to be defined.  */
-#if !_LIBC && !HAVE_STPCPY
-static char *
-stpcpy (dest, src)
-     char *dest;
-     const char *src;
-{
-  while ((*dest++ = *src++) != '\0')
-    /* Do nothing. */ ;
-  return dest - 1;
-}
-#endif
diff -purN ../lilypond-1.5.69/intl/gettext.c ./intl/gettext.c
--- ../lilypond-1.5.69/intl/gettext.c	Thu Nov  2 18:40:31 1995
+++ ./intl/gettext.c	Thu Jan  1 01:00:00 1970
@@ -1,70 +0,0 @@
-/* gettext.c -- implementation of gettext(3) function
-   Copyright (C) 1995 Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifdef _LIBC
-# define __need_NULL
-# include <stddef.h>
-#else
-# ifdef STDC_HEADERS
-#  include <stdlib.h>		/* Just for NULL.  */
-# else
-#  ifdef HAVE_STRING_H
-#   include <string.h>
-#  else
-#   define NULL ((void *) 0)
-#  endif
-# endif
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define GETTEXT __gettext
-# define DGETTEXT __dgettext
-#else
-# define GETTEXT gettext__
-# define DGETTEXT dgettext__
-#endif
-
-/* Look up MSGID in the current default message catalog for the current
-   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
-   text).  */
-char *
-GETTEXT (msgid)
-     const char *msgid;
-{
-  return DGETTEXT (NULL, msgid);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__gettext, gettext);
-#endif
diff -purN ../lilypond-1.5.69/intl/gettext.h ./intl/gettext.h
--- ../lilypond-1.5.69/intl/gettext.h	Tue Jul 18 02:23:16 1995
+++ ./intl/gettext.h	Thu Jan  1 01:00:00 1970
@@ -1,105 +0,0 @@
-/* gettext.h - internal header for GNU gettext internationalization functions
-   Copyright (C) 1995 Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
-
-#ifndef _GETTEXT_H
-#define _GETTEXT_H 1
-
-#include <stdio.h>
-
-#if HAVE_LIMITS_H || _LIBC
-# include <limits.h>
-#endif
-
-/* @@ end of prolog @@ */
-
-/* The magic number of the GNU message catalog format.  */
-#define _MAGIC 0x950412de
-#define _MAGIC_SWAPPED 0xde120495
-
-/* Revision number of the currently used .mo (binary) file format.  */
-#define MO_REVISION_NUMBER 0
-
-/* The following contortions are an attempt to use the C preprocessor
-   to determine an unsigned integral type that is 32 bits wide.  An
-   alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
-   doing that would require that the configure script compile and *run*
-   the resulting executable.  Locally running cross-compiled executables
-   is usually not possible.  */
-
-#if __STDC__
-# define UINT_MAX_32_BITS 4294967295U
-#else
-# define UINT_MAX_32_BITS 0xFFFFFFFF
-#endif
-
-/* If UINT_MAX isn't defined, assume it's a 32-bit type.
-   This should be valid for all systems GNU cares about because
-   that doesn't include 16-bit systems, and only modern systems
-   (that certainly have <limits.h>) have 64+-bit integral types.  */
-
-#ifndef UINT_MAX
-# define UINT_MAX UINT_MAX_32_BITS
-#endif
-
-#if UINT_MAX == UINT_MAX_32_BITS
-typedef unsigned nls_uint32;
-#else
-# if USHRT_MAX == UINT_MAX_32_BITS
-typedef unsigned short nls_uint32;
-# else
-#  if ULONG_MAX == UINT_MAX_32_BITS
-typedef unsigned long nls_uint32;
-#  else
-  /* The following line is intended to throw an error.  Using #error is
-     not portable enough.  */
-  "Cannot determine unsigned 32-bit data type."
-#  endif
-# endif
-#endif
-
-
-/* Header for binary .mo file format.  */
-struct mo_file_header
-{
-  /* The magic number.  */
-  nls_uint32 magic;
-  /* The revision number of the file format.  */
-  nls_uint32 revision;
-  /* The number of strings pairs.  */
-  nls_uint32 nstrings;
-  /* Offset of table with start offsets of original strings.  */
-  nls_uint32 orig_tab_offset;
-  /* Offset of table with start offsets of translation strings.  */
-  nls_uint32 trans_tab_offset;
-  /* Size of hashing table.  */
-  nls_uint32 hash_tab_size;
-  /* Offset of first hashing entry.  */
-  nls_uint32 hash_tab_offset;
-};
-
-struct string_desc
-{
-  /* Length of addressed string.  */
-  nls_uint32 length;
-  /* Offset of string in file.  */
-  nls_uint32 offset;
-};
-
-/* @@ begin of epilog @@ */
-
-#endif	/* gettext.h  */
diff -purN ../lilypond-1.5.69/intl/gettextP.h ./intl/gettextP.h
--- ../lilypond-1.5.69/intl/gettextP.h	Sun Nov 12 13:41:39 1995
+++ ./intl/gettextP.h	Thu Jan  1 01:00:00 1970
@@ -1,79 +0,0 @@
-/* gettextP.h -- header describing internals of gettext library
-   Copyright (C) 1995 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifndef _GETTEXTP_H
-#define _GETTEXTP_H
-
-/* @@ end of prolog @@ */
-
-#ifndef __P
-# if __STDC__
-#  define __P(args) args
-# else
-#  define __P(args) ()
-# endif
-#endif
-
-#ifndef W
-# define W(flag, data) ((flag) ? SWAP (data) : (data))
-#endif
-
-
-static nls_uint32 SWAP __P ((nls_uint32 i));
-
-static inline nls_uint32
-SWAP (i)
-     nls_uint32 i;
-{
-  return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
-}
-
-
-struct loaded_domain
-{
-  struct loaded_domain *next;
-  struct loaded_domain *successor[31];
-
-  const char *filename;
-  int decided;
-
-  const char *data;
-  int must_swap;
-  nls_uint32 nstrings;
-  struct string_desc *orig_tab;
-  struct string_desc *trans_tab;
-  nls_uint32 hash_size;
-  nls_uint32 *hash_tab;
-};
-
-struct binding
-{
-  struct binding *next;
-  char *domainname;
-  char *dirname;
-};
-
-struct loaded_domain *_nl_find_domain __P ((const char *__dirname,
-					    char *__locale,
-					    const char *__domainname));
-void _nl_load_domain __P ((struct loaded_domain *__domain));
-
-const char *_nl_expand_alias __P ((const char *__name));
-
-/* @@ begin of epilog @@ */
-
-#endif /* gettextP.h  */
diff -purN ../lilypond-1.5.69/intl/hash-string.h ./intl/hash-string.h
--- ../lilypond-1.5.69/intl/hash-string.h	Sat Nov 25 17:11:35 1995
+++ ./intl/hash-string.h	Thu Jan  1 01:00:00 1970
@@ -1,62 +0,0 @@
-/* hash-string - Implements a string hashing function.
-   Copyright (C) 1995 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_VALUES_H
-# include <values.h>
-#endif
-
-/* @@ end of prolog @@ */
-
-#ifndef __P
-# if __STDC__
-#  define __P(Args) Args
-# else
-#  define __P(Args) ()
-# endif
-#endif
-
-/* We assume to have `unsigned long int' value with at least 32 bits.  */
-#define HASHWORDBITS 32
-
-
-/* Defines the so called `hashpjw' function by P.J. Weinberger
-   [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
-   1986, 1987 Bell Telephone Laboratories, Inc.]  */
-static unsigned long hash_string __P ((const char *__str_param));
-
-static inline unsigned long
-hash_string (str_param)
-     const char *str_param;
-{
-  unsigned long int hval, g;
-  const char *str = str_param;
-
-  /* Compute the hash value for the given string.  */
-  hval = 0;
-  while (*str != '\0')
-    {
-      hval <<= 4;
-      hval += (unsigned long) *str++;
-      g = hval & ((unsigned long) 0xf << (HASHWORDBITS - 4));
-      if (g != 0)
-	{
-	  hval ^= g >> (HASHWORDBITS - 8);
-	  hval ^= g;
-	}
-    }
-  return hval;
-}
diff -purN ../lilypond-1.5.69/intl/intl-compat.c ./intl/intl-compat.c
--- ../lilypond-1.5.69/intl/intl-compat.c	Thu Sep 21 13:20:44 1995
+++ ./intl/intl-compat.c	Thu Jan  1 01:00:00 1970
@@ -1,76 +0,0 @@
-/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
-   Library.
-   Copyright (C) 1995 Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "libgettext.h"
-
-/* @@ end of prolog @@ */
-
-
-#undef gettext
-#undef dgettext
-#undef dcgettext
-#undef textdomain
-#undef bindtextdomain
-
-
-char *
-bindtextdomain (domainname, dirname)
-     const char *domainname;
-     const char *dirname;
-{
-  return bindtextdomain__ (domainname, dirname);
-}
-
-
-char *
-dcgettext (domainname, msgid, category)
-     const char *domainname;
-     const char *msgid;
-     int category;
-{
-  return dcgettext__ (domainname, msgid, category);
-}
-
-
-char *
-dgettext (domainname, msgid)
-     const char *domainname;
-     const char *msgid;
-{
-  return dgettext__ (domainname, msgid);
-}
-
-
-char *
-gettext (msgid)
-     const char *msgid;
-{
-  return gettext__ (msgid);
-}
-
-
-char *
-textdomain (domainname)
-     const char *domainname;
-{
-  return textdomain__ (domainname);
-}
diff -purN ../lilypond-1.5.69/intl/libgettext.h ./intl/libgettext.h
--- ../lilypond-1.5.69/intl/libgettext.h	Sat Nov 25 03:34:41 1995
+++ ./intl/libgettext.h	Thu Jan  1 01:00:00 1970
@@ -1,177 +0,0 @@
-/* libgettext.h -- Message catalogs for internationalization.
-   Copyright (C) 1995 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-/* Because on some systems (e.g. Solaris) we sometimes have to include
-   the systems libintl.h as well as this file we have more complex
-   include protection above.  But the systems header might perhaps also
-   define _LIBINTL_H and therefore we have to protect the definition here.  */
-
-#if !defined (_LIBINTL_H) || !defined (_LIBGETTEXT_H)
-#if !_LIBINTL_H
-# define _LIBINTL_H	1
-#endif
-#define _LIBGETTEXT_H	1
-
-/* We define an additional symbol to signal that we use the GNU
-   implementation of gettext.  */
-#define __USE_GNU_GETTEXT 1
-
-#include <sys/types.h>
-
-#if HAVE_LOCALE_H
-# include <locale.h>
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* @@ end of prolog @@ */
-
-#ifndef __P
-# if __STDC__
-#  define __P(args) args
-# else
-#  define __P(args) ()
-# endif
-#endif
-
-#ifndef NULL
-# if !defined __cplusplus || defined __GNUC__
-#  define NULL ((void *) 0)
-# else
-#  define NULL (0)
-# endif
-#endif
-
-#if !HAVE_LC_MESSAGES
-/* This value determines the behaviour of the gettext() and dgettext()
-   function.  But some system does not have this defined.  Define it
-   to a default value.  */
-# define LC_MESSAGES (-1)
-#endif
-
-
-/* Declarations for gettext-using-catgets interface.  Derived from
-   Jim Meyering's libintl.h.  */
-struct _msg_ent
-{
-  const char *_msg;
-  int _msg_number;
-};
-
-
-#if HAVE_CATGETS
-/* These two variables are defined in the automatically by po-to-tbl.sed
-   generated file `cat-id-tbl.c'.  */
-extern const struct _msg_ent _msg_tbl[];
-extern int _msg_tbl_length;
-#endif
-
-
-/* For automatical extraction of messages sometimes no real
-   translation is needed.  Instead the string itself is the result.  */
-#define gettext_noop(Str) (Str)
-
-/* Look up MSGID in the current default message catalog for the current
-   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
-   text).  */
-extern char *gettext __P ((const char *__msgid));
-extern char *gettext__ __P ((const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current
-   LC_MESSAGES locale.  */
-extern char *dgettext __P ((const char *__domainname, const char *__msgid));
-extern char *dgettext__ __P ((const char *__domainname, const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
-   locale.  */
-extern char *dcgettext __P ((const char *__domainname, const char *__msgid,
-			     int __category));
-extern char *dcgettext__ __P ((const char *__domainname, const char *__msgid,
-			       int __category));
-
-
-/* Set the current default message catalog to DOMAINNAME.
-   If DOMAINNAME is null, return the current default.
-   If DOMAINNAME is "", reset to the default of "messages".  */
-extern char *textdomain __P ((const char *__domainname));
-extern char *textdomain__ __P ((const char *__domainname));
-
-/* Specify that the DOMAINNAME message catalog will be found
-   in DIRNAME rather than in the system locale data base.  */
-extern char *bindtextdomain __P ((const char *__domainname,
-				  const char *__dirname));
-extern char *bindtextdomain__ __P ((const char *__domainname,
-				    const char *__dirname));
-
-#if ENABLE_NLS
-
-/* Solaris 2.3 has the gettext function but dcgettext is missing.
-   So we omit this optimization for Solaris 2.3.  BTW, Solaris 2.4
-   has dcgettext.  */
-# if !HAVE_CATGETS && (!HAVE_GETTEXT || HAVE_DCGETTEXT)
-
-#  define gettext(Msgid) \
-     dgettext (NULL, Msgid)
-
-#  define dgettext(Domainname, Msgid) \
-     dcgettext (Domainname, Msgid, LC_MESSAGES)
-
-#  if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ >= 7
-#   define dcgettext(Domainname, Msgid, Category) \
-  (__extension__							      \
-   ({									      \
-     char *result;							      \
-     if (__builtin_constant_p (Msgid))					      \
-       {								      \
-	 extern int _nl_msg_cat_cntr;					      \
-	 static char *__translation__;					      \
-	 static int __catalog_counter__;				      \
-	 if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr)    \
-	   {								      \
-	     __translation__ =						      \
-	       dcgettext__ ((Domainname), (Msgid), (Category));		      \
-	     __catalog_counter__ = _nl_msg_cat_cntr;			      \
-	   }								      \
-	 result = __translation__;					      \
-       }								      \
-     else								      \
-       result = dcgettext__ ((Domainname), (Msgid), (Category));	      \
-     result;								      \
-    }))
-#  endif
-# endif
-
-#else
-
-# define gettext(Msgid) (Msgid)
-# define dgettext(Domainname, Msgid) (Msgid)
-# define dcgettext(Domainname, Msgid, Category) (Msgid)
-# define textdomain(Domainname) while (0) /* nothing */
-# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */
-
-#endif
-
-/* @@ begin of epilog @@ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff -purN ../lilypond-1.5.69/intl/libintl.h ./intl/libintl.h
--- ../lilypond-1.5.69/intl/libintl.h	Wed Feb 17 10:25:33 1999
+++ ./intl/libintl.h	Thu Jan  1 01:00:00 1970
@@ -1,108 +0,0 @@
-/* libintl.h -- Message catalogs for internationalization.
-Copyright (C) 1995 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifndef _LIBINTL_H
-#define _LIBINTL_H	1
-
-#ifdef HAVE_LOCALE_H
-# include <locale.h>
-#endif
-
-/* We define an additional symbol to signal that we use the GNU
-   implementation of gettext.  */
-#define __USE_GNU_GETTEXT 1
-
-#ifndef __P
-# if __STDC__
-#  define __P(args) args
-# else
-#  define __P(args) ()
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Look up MSGID in the current default message catalog for the current
-   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
-   text).  */
-extern char *gettext __P ((const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current
-   LC_MESSAGES locale.  */
-extern char *dgettext __P ((const char *__domainname, const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
-   locale.  */
-extern char *dcgettext __P ((const char *__domainname, const char *__msgid,
-			     int __category));
-
-
-/* Set the current default message catalog to DOMAINNAME.
-   If DOMAINNAME is null, return the current default.
-   If DOMAINNAME is "", reset to the default of "messages".  */
-extern char *textdomain __P ((const char *__domainname));
-
-/* Specify that the DOMAINNAME message catalog will be found
-   in DIRNAME rather than in the system locale data base.  */
-extern char *bindtextdomain __P ((const char *__domainname,
-				  const char *__dirname));
-
-
-/* Optimized version of the functions above.  */
-#if defined __OPTIMIZED
-/* These must be a macro.  Inlined functions are useless because the
-   `__builtin_constant_p' predicate in dcgettext would always return
-   false.  */
-
-# define gettext(msgid) dgettext ((char *) 0, msgid)
-
-# define dgettext(domainname, msgid)					      \
-  dcgettext (domainname, msgid, LC_MESSAGES)
-
-# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-#  define dcgettext(domainname, msgid, category)			      \
-  (__extension__							      \
-   ({									      \
-     char *result;							      \
-     if (__builtin_constant_p (msgid))					      \
-       {								      \
-	 extern int _nl_msg_cat_cntr;					      \
-	 static char *__translation__;					      \
-	 static int __catalog_counter__;				      \
-	 if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr)    \
-	   {								      \
-	     __translation__ =						      \
-	       (dcgettext) ((domainname), (msgid), (category));		      \
-	     __catalog_counter__ = _nl_msg_cat_cntr;			      \
-	   }								      \
-	 result = __translation__;					      \
-       }								      \
-     else								      \
-       result = (dcgettext) ((domainname), (msgid), (category));	      \
-     result;								      \
-    }))
-# endif
-#endif /* Optimizing. */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* libintl.h */
diff -purN ../lilypond-1.5.69/intl/linux-msg.sed ./intl/linux-msg.sed
--- ../lilypond-1.5.69/intl/linux-msg.sed	Thu Nov 23 02:44:27 1995
+++ ./intl/linux-msg.sed	Thu Jan  1 01:00:00 1970
@@ -1,100 +0,0 @@
-# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file
-# Copyright (C) 1995 Free Software Foundation, Inc.
-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-#
-# The first directive in the .msg should be the definition of the
-# message set number.  We use always set number 1.
-#
-1 {
-  i\
-$set 1 # Automatically created by po2msg.sed
-  h
-  s/.*/0/
-  x
-}
-#
-# Mitch's old catalog format does not allow comments.
-#
-# We copy the original message as a comment into the .msg file.
-#
-/^msgid/ {
-  s/msgid[ 	]*"//
-#
-# This does not work now with the new format.
-# /"$/! {
-#   s/\\$//
-#   s/$/ ... (more lines following)"/
-# }
-  x
-# The following nice solution is by
-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
-  td
-# Increment a decimal number in pattern space.
-# First hide trailing `9' digits.
-  :d
-  s/9\(_*\)$/_\1/
-  td
-# Assure at least one digit is available.
-  s/^\(_*\)$/0\1/
-# Increment the last digit.
-  s/8\(_*\)$/9\1/
-  s/7\(_*\)$/8\1/
-  s/6\(_*\)$/7\1/
-  s/5\(_*\)$/6\1/
-  s/4\(_*\)$/5\1/
-  s/3\(_*\)$/4\1/
-  s/2\(_*\)$/3\1/
-  s/1\(_*\)$/2\1/
-  s/0\(_*\)$/1\1/
-# Convert the hidden `9' digits to `0's.
-  s/_/0/g
-  x
-  G
-  s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p
-}
-#
-# The .msg file contains, other then the .po file, only the translations
-# but each given a unique ID.  Starting from 1 and incrementing by 1 for
-# each message we assign them to the messages.
-# It is important that the .po file used to generate the cat-id-tbl.c file
-# (with po-to-tbl) is the same as the one used here.  (At least the order
-# of declarations must not be changed.)
-#
-/^msgstr/ {
-  s/msgstr[ 	]*"\(.*\)"/# \1/
-# Clear substitution flag.
-  tb
-# Append the next line.
-  :b
-  N
-# Look whether second part is continuation line.
-  s/\(.*\n\)"\(.*\)"/\1\2/
-# Yes, then branch.
-  ta
-  P
-  D
-# Note that D includes a jump to the start!!
-# We found a continuation line.  But before printing insert '\'.
-  :a
-  s/\(.*\)\(\n.*\)/\1\\\2/
-  P
-# We cannot use D here.
-  s/.*\n\(.*\)/\1/
-  tb
-}
-d
diff -purN ../lilypond-1.5.69/intl/loadmsgcat.c ./intl/loadmsgcat.c
--- ../lilypond-1.5.69/intl/loadmsgcat.c	Sun Nov  5 13:24:30 1995
+++ ./intl/loadmsgcat.c	Thu Jan  1 01:00:00 1970
@@ -1,191 +0,0 @@
-/* loadmsgcat.c -- load needed message catalogs
-   Copyright (C) 1995 Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#endif
-
-#if defined HAVE_UNISTD_H || defined _LIBC
-# include <unistd.h>
-#endif
-
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP) || defined _LIBC
-# include <sys/mman.h>
-#endif
-
-#include "gettext.h"
-#include "gettextP.h"
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions.  This is required by the standard
-   because some ANSI C functions will require linking with this object
-   file and the name space must not be polluted.  */
-# define fstat  __fstat
-# define open   __open
-# define close  __close
-# define read   __read
-# define mmap   __mmap
-# define munmap __munmap
-#endif
-
-/* We need a sign, whether a new catalog was loaded, which can be associated
-   with all translations.  This is important if the translations are
-   cached by one of GCC's features.  */
-int _nl_msg_cat_cntr;
-
-
-/* Load the message catalogs specified by FILENAME.  If it is no valid
-   message catalog do nothing.  */
-void
-_nl_load_domain (domain)
-     struct loaded_domain *domain;
-{
-  int fd;
-  struct stat st;
-  struct mo_file_header *data = (struct mo_file_header *) -1;
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
-    || defined _LIBC
-  int use_mmap = 0;
-#endif
-
-  domain->decided = 1;
-  domain->data = NULL;
-
-  /* If the record does not represent a valid locale the FILENAME
-     might be NULL.  This can happen when according to the given
-     specification the locale file name is different for XPG and CEN
-     syntax.  */
-  if (domain->filename == NULL)
-    return;
-
-  /* Try to open the addressed file.  */
-  fd = open (domain->filename, O_RDONLY);
-  if (fd == -1)
-    return;
-
-  /* We must know about the size of the file.  */
-  if (fstat (fd, &st) != 0
-      && st.st_size < (off_t) sizeof (struct mo_file_header))
-    {
-      /* Something went wrong.  */
-      close (fd);
-      return;
-    }
-
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
-    || defined _LIBC
-  /* Now we are ready to load the file.  If mmap() is available we try
-     this first.  If not available or it failed we try to load it.  */
-  data = (struct mo_file_header *) mmap (NULL, st.st_size, PROT_READ,
-					 MAP_PRIVATE, fd, 0);
-
-  if (data != (struct mo_file_header *) -1)
-    {
-      /* mmap() call was successful.  */
-      close (fd);
-      use_mmap = 1;
-    }
-#endif
-
-  /* If the data is not yet available (i.e. mmap'ed) we try to load
-     it manually.  */
-  if (data == (struct mo_file_header *) -1)
-    {
-      off_t to_read;
-      char *read_ptr;
-
-      data = (struct mo_file_header *) malloc (st.st_size);
-      if (data == NULL)
-	return;
-
-      to_read = st.st_size;
-      read_ptr = (char *) data;
-      do
-	{
-	  long int nb = (long int) read (fd, read_ptr, to_read);
-	  if (nb == -1)
-	    {
-	      close (fd);
-	      return;
-	    }
-
-	  read_ptr += nb;
-	  to_read -= nb;
-	}
-      while (to_read > 0);
-
-      close (fd);
-    }
-
-  /* Using the magic number we can test whether it really is a message
-     catalog file.  */
-  if (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED)
-    {
-      /* The magic number is wrong: not a message catalog file.  */
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
-    || defined _LIBC
-      if (use_mmap)
-	munmap ((caddr_t) data, st.st_size);
-      else
-#endif
-	free (data);
-      return;
-    }
-
-  domain->data = (char *) data;
-  domain->must_swap = data->magic != _MAGIC;
-
-  /* Fill in the information about the available tables.  */
-  switch (W (domain->must_swap, data->revision))
-    {
-    case 0:
-      domain->nstrings = W (domain->must_swap, data->nstrings);
-      domain->orig_tab = (struct string_desc *)
-	((char *) data + W (domain->must_swap, data->orig_tab_offset));
-      domain->trans_tab = (struct string_desc *)
-	((char *) data + W (domain->must_swap, data->trans_tab_offset));
-      domain->hash_size = W (domain->must_swap, data->hash_tab_size);
-      domain->hash_tab = (nls_uint32 *)
-	((char *) data + W (domain->must_swap, data->hash_tab_offset));
-      break;
-    default:
-      /* This is an illegal revision.  */
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
-    || defined _LIBC
-      if (use_mmap)
-	munmap ((caddr_t) data, st.st_size);
-      else
-#endif
-	free (data);
-      domain->data = NULL;
-      return;
-    }
-
-  /* Show that one domain is changed.  This might make some cached
-     translation invalid.  */
-  ++_nl_msg_cat_cntr;
-}
diff -purN ../lilypond-1.5.69/intl/localealias.c ./intl/localealias.c
--- ../lilypond-1.5.69/intl/localealias.c	Mon Nov 20 17:20:57 1995
+++ ./intl/localealias.c	Thu Jan  1 01:00:00 1970
@@ -1,317 +0,0 @@
-/* localealias.c -- handle aliases for locale names
-   Copyright (C) 1995 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <ctype.h>
-#include <stdio.h>
-#include <sys/types.h>
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# if defined HAVE_ALLOCA_H || defined _LIBC
-#  include <alloca.h>
-# else
-#  ifdef _AIX
- #pragma alloca
-#  else
-#   ifndef alloca
-char *alloca ();
-#   endif
-#  endif
-# endif
-#endif
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#else
-char *getenv ();
-# ifdef HAVE_MALLOC_H
-#  include <malloc.h>
-# else
-void free ();
-# endif
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-#  define strchr index
-# endif
-#endif
-
-#include "gettext.h"
-#include "gettextP.h"
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions.  This is required by the standard
-   because some ANSI C functions will require linking with this object
-   file and the name space must not be polluted.  */
-# define strcasecmp __strcasecmp
-#endif
-
-struct alias_map
-{
-  const char *alias;
-  const char *value;
-};
-
-
-static struct alias_map *map;
-static size_t nmap = 0;
-static size_t maxmap = 0;
-
-
-/* Prototypes for local functions.  */
-static size_t read_alias_file __P ((const char *fname, int fname_len));
-static void extend_alias_table __P ((void));
-static int alias_compare __P ((const struct alias_map *map1,
-			       const struct alias_map *map2));
-
-
-const char *
-_nl_expand_alias (name)
-    const char *name;
-{
-  static const char *locale_alias_path = LOCALE_ALIAS_PATH;
-  struct alias_map *retval;
-  size_t added;
-
-  do
-    {
-      struct alias_map item;
-
-      item.alias = name;
-
-      if (nmap > 0)
-	retval = (struct alias_map *) bsearch (&item, map, nmap,
-					       sizeof (struct alias_map),
-					       (int (*) __P ((const void *,
-							      const void *)))
-					         alias_compare);
-      else
-	retval = NULL;
-
-      /* We really found an alias.  Return the value.  */
-      if (retval != NULL)
-	return retval->value;
-
-      /* Perhaps we can find another alias file.  */
-      added = 0;
-      while (added == 0 && locale_alias_path[0] != '\0')
-	{
-	  const char *start;
-
-	  while (locale_alias_path[0] == ':')
-	    ++locale_alias_path;
-	  start = locale_alias_path;
-
-	  while (locale_alias_path[0] != '\0' && locale_alias_path[0] != ':')
-	    ++locale_alias_path;
-
-	  if (start < locale_alias_path)
-	    added = read_alias_file (start, locale_alias_path - start);
-	}
-    }
-  while (added != 0);
-
-  return NULL;
-}
-
-
-static size_t
-read_alias_file (fname, fname_len)
-     const char *fname;
-     int fname_len;
-{
-  FILE *fp;
-  char *full_fname;
-  size_t added;
-  static const char aliasfile[] = "/locale.alias";
-
-  full_fname = (char *) alloca (fname_len + sizeof aliasfile);
-  memcpy (full_fname, fname, fname_len);
-  memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
-
-  fp = fopen (full_fname, "r");
-  if (fp == NULL)
-    return 0;
-
-  added = 0;
-  while (!feof (fp))
-    {
-      /* It is a reasonable approach to use a fix buffer here because
-	 a) we are only interested in the first two fields
-	 b) these fields must be usable as file names and so must not
-	    be that long
-       */
-      char buf[BUFSIZ];
-      char *alias;
-      char *value;
-      char *cp;
-
-      if (fgets (buf, BUFSIZ, fp) == NULL)
-	/* EOF reached.  */
-	break;
-
-      cp = buf;
-      /* Ignore leading white space.  */
-      while (isspace (cp[0]))
-	++cp;
-
-      /* A leading '#' signals a comment line.  */
-      if (cp[0] != '\0' && cp[0] != '#')
-	{
-	  alias = cp++;
-	  while (cp[0] != '\0' && !isspace (cp[0]))
-	    ++cp;
-	  /* Terminate alias name.  */
-	  if (cp[0] != '\0')
-	    *cp++ = '\0';
-
-	  /* Now look for the beginning of the value.  */
-	  while (isspace (cp[0]))
-	    ++cp;
-
-	  if (cp[0] != '\0')
-	    {
-	      char *tp;
-	      size_t len;
-
-	      value = cp++;
-	      while (cp[0] != '\0' && !isspace (cp[0]))
-		++cp;
-	      /* Terminate value.  */
-	      if (cp[0] == '\n')
-		{
-		  /* This has to be done to make the following test
-		     for the end of line possible.  We are looking for
-		     the terminating '\n' which do not overwrite here.  */
-		  *cp++ = '\0';
-		  *cp = '\n';
-		}
-	      else if (cp[0] != '\0')
-		*cp++ = '\0';
-
-	      if (nmap >= maxmap)
-		extend_alias_table ();
-
-	      /* We cannot depend on strdup available in the libc.  Sigh!  */
-	      len = strlen (alias) + 1;
-	      tp = (char *) malloc (len);
-	      if (tp == NULL)
-		return added;
-	      memcpy (tp, alias, len);
-	      map[nmap].alias = tp;
-
-	      len = strlen (value) + 1;
-	      tp = (char *) malloc (len);
-	      if (tp == NULL)
-		return added;
-	      memcpy (tp, value, len);
-	      map[nmap].value = tp;
-
-	      ++nmap;
-	      ++added;
-	    }
-	}
-
-      /* Possibily not the whole line fitted into the buffer.  Ignore
-	 the rest of the line.  */
-      while (strchr (cp, '\n') == NULL)
-	{
-	  cp = buf;
-	  if (fgets (buf, BUFSIZ, fp) == NULL)
-	    /* Make sure the inner loop will be left.  The outer loop
-	       will exit at the `feof' test.  */
-	    *cp = '\n';
-	}
-    }
-
-  /* Should we test for ferror()?  I think we have to silently ignore
-     errors.  --drepper  */
-  fclose (fp);
-
-  if (added > 0)
-    qsort (map, nmap, sizeof (struct alias_map),
-	   (int (*) __P ((const void *, const void *))) alias_compare);
-
-  return added;
-}
-
-
-static void
-extend_alias_table ()
-{
-  size_t new_size;
-  struct alias_map *new_map;
-
-  new_size = maxmap == 0 ? 100 : 2 * maxmap;
-  new_map = (struct alias_map *) malloc (new_size
-					 * sizeof (struct alias_map));
-  if (new_map == NULL)
-    /* Simply don't extend: we don't have any more core.  */
-    return;
-
-  memcpy (new_map, map, nmap * sizeof (struct alias_map));
-
-  if (maxmap != 0)
-    free (map);
-
-  map = new_map;
-  maxmap = new_size;
-}
-
-
-static int
-alias_compare (map1, map2)
-     const struct alias_map *map1;
-     const struct alias_map *map2;
-{
-#if defined _LIBC || defined HAVE_STRCASECMP
-  return strcasecmp (map1->alias, map2->alias);
-#else
-  const unsigned char *p1 = (const unsigned char *) map1->alias;
-  const unsigned char *p2 = (const unsigned char *) map2->alias;
-  unsigned char c1, c2;
-
-  if (p1 == p2)
-    return 0;
-
-  do
-    {
-      /* I know this seems to be odd but the tolower() function in
-	 some systems libc cannot handle nonalpha characters.  */
-      c1 = isupper (*p1) ? tolower (*p1) : *p1;
-      c2 = isupper (*p2) ? tolower (*p2) : *p2;
-      if (c1 == '\0')
-	break;
-    }
-  while (c1 == c2);
-
-  return c1 - c2;
-#endif
-}
diff -purN ../lilypond-1.5.69/intl/po2tbl.sed.in ./intl/po2tbl.sed.in
--- ../lilypond-1.5.69/intl/po2tbl.sed.in	Thu Nov 23 02:45:24 1995
+++ ./intl/po2tbl.sed.in	Thu Jan  1 01:00:00 1970
@@ -1,102 +0,0 @@
-# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets
-# Copyright (C) 1995 Free Software Foundation, Inc.
-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-1 {
-  i\
-/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot.  */\
-\
-#if HAVE_CONFIG_H\
-# include <config.h>\
-#endif\
-\
-#include "libgettext.h"\
-\
-const struct _msg_ent _msg_tbl[] = {
-  h
-  s/.*/0/
-  x
-}
-#
-# Write msgid entries in C array form.
-#
-/^msgid/ {
-  s/msgid[ 	]*\(".*"\)/  {\1/
-  tb
-# Append the next line
-  :b
-  N
-# Look whether second part is continuation line.
-  s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/
-# Yes, then branch.
-  ta
-# Because we assume that the input file correctly formed the line
-# just read cannot be again be a msgid line.  So it's safe to ignore
-# it.
-  s/\(.*\)\n.*/\1/
-  bc
-# We found a continuation line.  But before printing insert '\'.
-  :a
-  s/\(.*\)\(\n.*\)/\1\\\2/
-  P
-# We cannot use D here.
-  s/.*\n\(.*\)/\1/
-# Some buggy seds do not clear the `successful substitution since last ``t'''
-# flag on `N', so we do a `t' here to clear it.
-  tb
-# Not reached
-  :c
-  x
-# The following nice solution is by
-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
-  td
-# Increment a decimal number in pattern space.
-# First hide trailing `9' digits.
-  :d
-  s/9\(_*\)$/_\1/
-  td
-# Assure at least one digit is available.
-  s/^\(_*\)$/0\1/
-# Increment the last digit.
-  s/8\(_*\)$/9\1/
-  s/7\(_*\)$/8\1/
-  s/6\(_*\)$/7\1/
-  s/5\(_*\)$/6\1/
-  s/4\(_*\)$/5\1/
-  s/3\(_*\)$/4\1/
-  s/2\(_*\)$/3\1/
-  s/1\(_*\)$/2\1/
-  s/0\(_*\)$/1\1/
-# Convert the hidden `9' digits to `0's.
-  s/_/0/g
-  x
-  G
-  s/\(.*\)\n\([0-9]*\)/\1, \2},/
-  s/\(.*\)"$/\1/
-  p
-}
-#
-# Last line.
-#
-$ {
-  i\
-};\
-
-  g
-  s/0*\(.*\)/int _msg_tbl_length = \1;/p
-}
-d
diff -purN ../lilypond-1.5.69/intl/textdomain.c ./intl/textdomain.c
--- ../lilypond-1.5.69/intl/textdomain.c	Wed Sep 27 01:55:11 1995
+++ ./intl/textdomain.c	Thu Jan  1 01:00:00 1970
@@ -1,97 +0,0 @@
-/* textdomain.c -- implementation of the textdomain(3) function
-   Copyright (C) 1995 Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#endif
-
-#if defined STDC_HEADERS || defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Name of the default text domain.  */
-extern const char _nl_default_default_domain[];
-
-/* Default text domain in which entries for gettext(3) are to be found.  */
-extern const char *_nl_current_default_domain;
-
-
-/* Names for the libintl functions are a problem.  They must not clash
-   with existing names and they should follow ANSI C.  But this source
-   code is also used in GNU C Library where the names have a __
-   prefix.  So we have to make a difference here.  */
-#ifdef _LIBC
-# define TEXTDOMAIN __textdomain
-#else
-# define TEXTDOMAIN textdomain__
-#endif
-
-/* Set the current default message catalog to DOMAINNAME.
-   If DOMAINNAME is null, return the current default.
-   If DOMAINNAME is "", reset to the default of "messages".  */
-char *
-TEXTDOMAIN (domainname)
-     const char *domainname;
-{
-  char *old;
-
-  /* A NULL pointer requests the current setting.  */
-  if (domainname == NULL)
-    return (char *) _nl_current_default_domain;
-
-  old = (char *) _nl_current_default_domain;
-
-  /* If domain name is the null string set to default domain "messages".  */
-  if (domainname[0] == '\0'
-      || strcmp (domainname, _nl_default_default_domain) == 0)
-    _nl_current_default_domain = _nl_default_default_domain;
-  else
-    {
-      /* If the following malloc fails `_nl_current_default_domain'
-	 will be NULL.  This value will be returned and so signals we
-	 are out of core.  */
-      size_t len = strlen (domainname) + 1;
-      char *cp = (char *) malloc (len);
-      if (cp != NULL)
-	memcpy (cp, domainname, len);
-      _nl_current_default_domain = cp;
-    }
-
-  if (old != _nl_default_default_domain)
-    free (old);
-
-  return (char *) _nl_current_default_domain;
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library.  */
-weak_alias (__textdomain, textdomain);
-#endif
diff -purN ../lilypond-1.5.69/intl/xopen-msg.sed ./intl/xopen-msg.sed
--- ../lilypond-1.5.69/intl/xopen-msg.sed	Thu Nov 23 02:43:41 1995
+++ ./intl/xopen-msg.sed	Thu Jan  1 01:00:00 1970
@@ -1,104 +0,0 @@
-# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file
-# Copyright (C) 1995 Free Software Foundation, Inc.
-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-#
-# The first directive in the .msg should be the definition of the
-# message set number.  We use always set number 1.
-#
-1 {
-  i\
-$set 1 # Automatically created by po2msg.sed
-  h
-  s/.*/0/
-  x
-}
-#
-# We copy all comments into the .msg file.  Perhaps they can help.
-#
-/^#/ s/^#[ 	]*/$ /p
-#
-# We copy the original message as a comment into the .msg file.
-#
-/^msgid/ {
-# Does not work now
-#  /"$/! {
-#    s/\\$//
-#    s/$/ ... (more lines following)"/
-#  }
-  s/^msgid[ 	]*"\(.*\)"$/$ Original Message: \1/
-  p
-}
-#
-# The .msg file contains, other then the .po file, only the translations
-# but each given a unique ID.  Starting from 1 and incrementing by 1 for
-# each message we assign them to the messages.
-# It is important that the .po file used to generate the cat-id-tbl.c file
-# (with po-to-tbl) is the same as the one used here.  (At least the order
-# of declarations must not be changed.)
-#
-/^msgstr/ {
-  s/msgstr[ 	]*"\(.*\)"/\1/
-  x
-# The following nice solution is by
-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
-  td
-# Increment a decimal number in pattern space.
-# First hide trailing `9' digits.
-  :d
-  s/9\(_*\)$/_\1/
-  td
-# Assure at least one digit is available.
-  s/^\(_*\)$/0\1/
-# Increment the last digit.
-  s/8\(_*\)$/9\1/
-  s/7\(_*\)$/8\1/
-  s/6\(_*\)$/7\1/
-  s/5\(_*\)$/6\1/
-  s/4\(_*\)$/5\1/
-  s/3\(_*\)$/4\1/
-  s/2\(_*\)$/3\1/
-  s/1\(_*\)$/2\1/
-  s/0\(_*\)$/1\1/
-# Convert the hidden `9' digits to `0's.
-  s/_/0/g
-  x
-# Bring the line in the format `<number> <message>'
-  G
-  s/^[^\n]*$/& /
-  s/\(.*\)\n\([0-9]*\)/\2 \1/
-# Clear flag from last substitution.
-  tb
-# Append the next line.
-  :b
-  N
-# Look whether second part is a continuation line.
-  s/\(.*\n\)"\(.*\)"/\1\2/
-# Yes, then branch.
-  ta
-  P
-  D
-# Note that `D' includes a jump to the start!!
-# We found a continuation line.  But before printing insert '\'.
-  :a
-  s/\(.*\)\(\n.*\)/\1\\\2/
-  P
-# We cannot use the sed command `D' here
-  s/.*\n\(.*\)/\1/
-  tb
-}
-d
diff -purN ../lilypond-1.5.69/lily/GNUmakefile ./lily/GNUmakefile
--- ../lilypond-1.5.69/lily/GNUmakefile	Mon Mar  4 11:16:09 2002
+++ ./lily/GNUmakefile	Fri Jul 26 13:53:40 2002
@@ -8,11 +8,12 @@ MODULE_LIBS=$(depth)/flower 
 MODULE_INCLUDES= $(depth)/flower/include
 MODULE_CXXFLAGS=
 HELP2MAN_EXECS = lilypond
-
 STEPMAKE_TEMPLATES= c++ executable po help2man
 
 include $(depth)/make/stepmake.make 
 
+ETAGS_FLAGS += -r '/^LY_DEFINE *(\([^,]+\),/\1/'  -r '/^LY_DEFINE *([^,]+, *"\([^"]+\)"/\1/' 
+
 default: 
 
 # force these: Make can't know these have to be generated in advance
diff -purN ../lilypond-1.5.69/lily/a2-engraver.cc ./lily/a2-engraver.cc
--- ../lilypond-1.5.69/lily/a2-engraver.cc	Sun Jul 14 15:10:02 2002
+++ ./lily/a2-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -26,7 +26,7 @@ protected:
   virtual void process_acknowledged_grobs ();
   virtual void stop_translation_timestep ();
 private:
-  Item* text_p_;
+  Item* text_;
   enum State { SOLO, SPLIT_INTERVAL, UNIRHYTHM, UNISILENCE, UNISON } state_;
 };
 
@@ -34,7 +34,7 @@ private:
 
 A2_engraver::A2_engraver ()
 {
-  text_p_ = 0;
+  text_ = 0;
   state_ = UNISILENCE;
 }
 
@@ -43,7 +43,7 @@ A2_engraver::process_acknowledged_grobs 
 {
   if (!to_boolean (get_property ("combineParts")))
     return ;
-  if (!text_p_)
+  if (!text_)
     {
       SCM unison = get_property ("unison");
       SCM solo = get_property ("solo");
@@ -52,18 +52,18 @@ A2_engraver::process_acknowledged_grobs 
       if (solo_adue == SCM_BOOL_T
 	  && ((solo == SCM_BOOL_T && state_ != SOLO)
 	      || (unison == SCM_BOOL_T && state_ != UNISON
-		  && daddy_trans_l_->id_str_.left_str (3) == "one")))
+		  && daddy_trans_->id_string_.left_string (3) == "one")))
 	{
-	  text_p_ = new Item (get_property ("TextScript"));
-	  Side_position_interface::set_axis (text_p_, Y_AXIS);
-	  announce_grob(text_p_, SCM_EOL);
+	  text_ = new Item (get_property ("TextScript"));
+	  Side_position_interface::set_axis (text_, Y_AXIS);
+	  announce_grob(text_, SCM_EOL);
       
 	  Direction dir = UP;
 	  SCM text = SCM_EOL;
 	  if (solo == SCM_BOOL_T)
 	    {
 	      state_ = SOLO;
-	      if (daddy_trans_l_->id_str_.left_str (3) == "one")
+	      if (daddy_trans_->id_string_.left_string (3) == "one")
 		{
 		  text = get_property ("soloText");
 		}
@@ -76,12 +76,12 @@ A2_engraver::process_acknowledged_grobs 
 	  else if (unison == SCM_BOOL_T)
 	    {
 	      state_ = UNISON;
-	      if (daddy_trans_l_->id_str_.left_str (3) == "one")
+	      if (daddy_trans_->id_string_.left_string (3) == "one")
 		text = get_property ("aDueText");
 	    }
 	  
-	  Side_position_interface::set_direction (text_p_, dir);
-	  text_p_->set_grob_property ("text", text);
+	  Side_position_interface::set_direction (text_, dir);
+	  text_->set_grob_property ("text", text);
 	}
     }
 }
@@ -92,19 +92,19 @@ A2_engraver::acknowledge_grob (Grob_info
   if (!to_boolean (get_property ("combineParts")))
     return ;
   
-  if (text_p_)
+  if (text_)
     {
-      if (Note_head::has_interface (i.grob_l_))
+      if (Note_head::has_interface (i.grob_))
 	{
-	  Grob*t = text_p_;
-	  Side_position_interface::add_support (t, i.grob_l_);
+	  Grob*t = text_;
+	  Side_position_interface::add_support (t, i.grob_);
 	  if (Side_position_interface::get_axis (t) == X_AXIS
 	      && !t->get_parent (Y_AXIS))
-	    t->set_parent (i.grob_l_, Y_AXIS);
+	    t->set_parent (i.grob_, Y_AXIS);
 	}
-      if (Stem::has_interface (i.grob_l_))
+      if (Stem::has_interface (i.grob_))
 	{
-	  Side_position_interface::add_support (text_p_, i.grob_l_);
+	  Side_position_interface::add_support (text_, i.grob_);
 	}
     }
 	  
@@ -131,27 +131,27 @@ A2_engraver::acknowledge_grob (Grob_info
     state_ = UNIRHYTHM;
 
   Direction d = CENTER;
-  if (daddy_trans_l_->id_str_.left_str (3) == "one")
+  if (daddy_trans_->id_string_.left_string (3) == "one")
     d =  UP;
-  else if (daddy_trans_l_->id_str_.left_str (3) == "two")
+  else if (daddy_trans_->id_string_.left_string (3) == "two")
     d = DOWN;
 
   /* Must only set direction for VoiceCombines, not for StaffCombines:
      we can't detect that here, so we use yet another property */
   if (!to_boolean (get_property ("noDirection"))
-      && (Stem::has_interface (i.grob_l_)
-	  || Slur::has_interface (i.grob_l_)
-	  || Tie::has_interface (i.grob_l_)
+      && (Stem::has_interface (i.grob_)
+	  || Slur::has_interface (i.grob_)
+	  || Tie::has_interface (i.grob_)
 	  /* Usually, dynamics are removed by *_devnull_engravers for
 	     the second voice.  On the one hand, we don't want all
 	     dynamics for the first voice to be placed above the
 	     staff.  On the other hand, colliding of scripts may be
 	     worse.  So, we don't set directions for these when we're
 	     playing solo. */
-	  || (i.grob_l_->internal_has_interface (ly_symbol2scm
+	  || (i.grob_->internal_has_interface (ly_symbol2scm
 						 ("dynamic-interface"))
 	      && state_ != SOLO)
-	  || (i.grob_l_->internal_has_interface (ly_symbol2scm
+	  || (i.grob_->internal_has_interface (ly_symbol2scm
 						 ("text-interface"))
 	      && state_ != SOLO)
 	  ))
@@ -174,28 +174,28 @@ A2_engraver::acknowledge_grob (Grob_info
 	{
 	
 	  /* Blunt axe method: every grob gets a propertysetting. */
-	  i.grob_l_->set_grob_property ("direction", gh_int2scm (d));
+	  i.grob_->set_grob_property ("direction", gh_int2scm (d));
 	}
     }
 
   /* Should we have separate state variable for being "rest
      while other has solo?"  */
-  if (Multi_measure_rest::has_interface (i.grob_l_) && d)
+  if (Multi_measure_rest::has_interface (i.grob_) && d)
     if (state_ == UNIRHYTHM
 	&& unisilence != SCM_BOOL_T)
     {
-      i.grob_l_->set_grob_property ("staff-position", gh_int2scm (d * 6));
+      i.grob_->set_grob_property ("staff-position", gh_int2scm (d * 6));
     }
 }
 
 void 
 A2_engraver::stop_translation_timestep ()
 {
-  if (text_p_)
+  if (text_)
     {
-      Side_position_interface::add_staff_support (text_p_);
-      typeset_grob (text_p_);
-      text_p_ = 0;
+      Side_position_interface::add_staff_support (text_);
+      typeset_grob (text_);
+      text_ = 0;
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/accidental-engraver.cc ./lily/accidental-engraver.cc
--- ../lilypond-1.5.69/lily/accidental-engraver.cc	Sun Jul  7 03:32:06 2002
+++ ./lily/accidental-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -79,9 +79,9 @@ public:
   /*
     The next 
    */
-  Array<Accidental_entry> accidental_arr_;
+  Array<Accidental_entry> accidentals_;
   
-  Link_array<Grob> tie_arr_;
+  Link_array<Grob> ties_;
 
 
 };
@@ -107,13 +107,13 @@ Accidental_engraver::initialize ()
 {
   last_keysig_ = get_property ("keySignature");
 
-  Translator_group * trans_ = daddy_trans_l_;
+  Translator_group * trans_ = daddy_trans_;
   while (trans_)
     {
       trans_ -> set_property ("localKeySignature",  ly_deep_copy (last_keysig_));
-      trans_ = trans_->daddy_trans_l_;
+      trans_ = trans_->daddy_trans_;
     }
-  set_property_on_children (daddy_trans_l_,"localKeySignature", last_keysig_);
+  set_property_on_children (daddy_trans_,"localKeySignature", last_keysig_);
 }
 
 /*
@@ -125,12 +125,12 @@ calculates the number of accidentals on 
 
 */
 static int
-number_accidentals (SCM sig, Note_req * note_l, Pitch *pitch, SCM curbarnum, SCM lazyness, 
+number_accidentals (SCM sig, Note_req * note, Pitch *pitch, SCM curbarnum, SCM lazyness, 
 		    bool ignore_octave_b)
 {
-  int n = pitch->notename_i_;
-  int o = pitch->octave_i_;
-  int a = pitch->alteration_i_;
+  int n = pitch->notename_;
+  int o = pitch->octave_;
+  int a = pitch->alteration_;
   int curbarnum_i = gh_scm2int (curbarnum);
   int accbarnum_i = 0;
 
@@ -159,7 +159,7 @@ number_accidentals (SCM sig, Note_req * 
 
   int num;
   if (a == p
-      && !to_boolean (note_l->get_mus_property ("force-accidental"))
+      && !to_boolean (note->get_mus_property ("force-accidental"))
       && gh_number_p (prev_acc))
     num = 0;
   else if ( (abs (a)<abs (p) || p*a<0) && a != 0 )
@@ -171,7 +171,7 @@ number_accidentals (SCM sig, Note_req * 
 }
 
 static int
-number_accidentals (Note_req * note_l, Pitch *pitch, Translator_group * origin_l, 
+number_accidentals (Note_req * note, Pitch *pitch, Translator_group * origin, 
 		    SCM accidentals, SCM curbarnum)
 {
   int number = 0;
@@ -179,16 +179,16 @@ number_accidentals (Note_req * note_l, P
   bool diff = false;
   if (gh_pair_p (accidentals) && !gh_symbol_p (ly_car (accidentals)))
     warning (_f ("Accidental typesetting list must begin with context-name: %s", 
-		 ly_scm2string (ly_car (accidentals)).ch_C ()));
+		 ly_scm2string (ly_car (accidentals)).to_str0 ()));
   
-  while (gh_pair_p (accidentals) && origin_l)
+  while (gh_pair_p (accidentals) && origin)
     {
       // If pair then it is a new accidentals typesetting rule to be checked
       if (gh_pair_p (ly_car (accidentals)))
 	{
 	  SCM type = gh_caar (accidentals);
 	  SCM lazyness = gh_cdar (accidentals);
-	  SCM localsig = origin_l->get_property ("localKeySignature");
+	  SCM localsig = origin->get_property ("localKeySignature");
 	  
 	  bool same_octave_b = 
 	    gh_eq_p (ly_symbol2scm ("same-octave"), type);
@@ -198,13 +198,13 @@ number_accidentals (Note_req * note_l, P
 	  if (same_octave_b || any_octave_b)
 	    {
 	      int n = number_accidentals
-		(localsig, note_l, pitch, curbarnum, lazyness, any_octave_b);
+		(localsig, note, pitch, curbarnum, lazyness, any_octave_b);
 	      diff = diff || (n < 0);
 	      number = max (number, abs (n));     
 	    }
 	  else
 	    warning (_f ("unknown accidental typesetting: %s. Ignored", 
-			 ly_symbol2string (type).ch_C ()));
+			 ly_symbol2string (type).to_str0 ()));
 	}
       
 
@@ -215,15 +215,15 @@ number_accidentals (Note_req * note_l, P
 	{
 	  String context = ly_symbol2string (ly_car (accidentals));
 	  
-	  while (origin_l && !origin_l->is_alias_b (context))
-	    origin_l = origin_l->daddy_trans_l_;
+	  while (origin && !origin->is_alias_b (context))
+	    origin = origin->daddy_trans_;
       
-	  if (!origin_l)
+	  if (!origin)
 	    warning (_f ("Symbol is not a parent context: %s. Ignored", 
-			 context.ch_C ()));
+			 context.to_str0 ()));
 	}
       else warning (_f ("Accidental typesetting must be pair or context-name: %s", 
-			ly_scm2string (ly_car (accidentals)).ch_C ()));
+			ly_scm2string (ly_car (accidentals)).to_str0 ()));
       
       accidentals = ly_cdr (accidentals);
     }
@@ -233,7 +233,7 @@ number_accidentals (Note_req * note_l, P
 void
 Accidental_engraver::process_acknowledged_grobs ()
 {
-  if (accidental_arr_.size () && !accidental_arr_.top().done_)
+  if (accidentals_.size () && !accidentals_.top().done_)
     {
       //SCM localsig = get_property ("localKeySignature");
       SCM accidentals =  get_property ("autoAccidentals");
@@ -241,19 +241,19 @@ Accidental_engraver::process_acknowledge
       SCM barnum = get_property ("currentBarNumber");
 
       bool extra_natural_b = get_property ("extraNatural") == SCM_BOOL_T;
-      for (int i = 0; i  < accidental_arr_.size (); i++) 
+      for (int i = 0; i  < accidentals_.size (); i++) 
 	{
-	  if (accidental_arr_[i].done_ )
+	  if (accidentals_[i].done_ )
 	    continue;
-	  accidental_arr_[i].done_  = true;
-	  Grob * support_l = accidental_arr_[i].head_;
-	  Note_req * note_l = accidental_arr_[i].melodic_;
-	  Translator_group * origin_l = accidental_arr_[i].origin_;
-
-	  Pitch * pitch = unsmob_pitch (note_l->get_mus_property ("pitch"));
-	  int num = number_accidentals (note_l, pitch, origin_l, accidentals, barnum);
-	  int num_caut = number_accidentals (note_l, pitch, origin_l, cautionaries, barnum);
-	  bool cautionary = to_boolean (note_l->get_mus_property ("cautionary"));
+	  accidentals_[i].done_  = true;
+	  Grob * support = accidentals_[i].head_;
+	  Note_req * note = accidentals_[i].melodic_;
+	  Translator_group * origin = accidentals_[i].origin_;
+
+	  Pitch * pitch = unsmob_pitch (note->get_mus_property ("pitch"));
+	  int num = number_accidentals (note, pitch, origin, accidentals, barnum);
+	  int num_caut = number_accidentals (note, pitch, origin, cautionaries, barnum);
+	  bool cautionary = to_boolean (note->get_mus_property ("cautionary"));
 	  
 	  if (abs (num_caut) > abs (num))
 	    {
@@ -270,8 +270,8 @@ Accidental_engraver::process_acknowledge
 
 	  Grob *tie_break_reminder = 0;
 	  bool tie_changes = false;
-	  for (int j = 0; j < tie_arr_.size (); j++)
-	    if (support_l == Tie::head (tie_arr_[j], RIGHT))
+	  for (int j = 0; j < ties_.size (); j++)
+	    if (support == Tie::head (ties_[j], RIGHT))
 	      {
 		tie_changes = different;
 
@@ -282,14 +282,14 @@ Accidental_engraver::process_acknowledge
 		   
 		Maybe check property noTieBreakForceAccidental? */
 		if (different)
-		  tie_break_reminder = tie_arr_[j];
+		  tie_break_reminder = ties_[j];
 		break;
 	      }
 
 	  if (num)
 	    {
 	      Grob * a = new Item (get_property ("Accidental"));
-	      a->set_parent (support_l, Y_AXIS);
+	      a->set_parent (support, Y_AXIS);
 
 	      if (!accidental_placement_)
 		{
@@ -301,7 +301,7 @@ Accidental_engraver::process_acknowledge
 	      announce_grob (a, SCM_EOL);
 
 	      
-	      SCM accs = gh_cons (gh_int2scm (pitch->alteration_i_), SCM_EOL);
+	      SCM accs = gh_cons (gh_int2scm (pitch->alteration_), SCM_EOL);
 	      if (num == 2 && extra_natural_b)
 		accs = gh_cons (gh_int2scm (0), accs);
 
@@ -322,10 +322,10 @@ Accidental_engraver::process_acknowledge
 		}
 	      
 	      
-	      support_l->set_grob_property ("accidental-grob", a->self_scm ());
+	      support->set_grob_property ("accidental-grob", a->self_scm ());
 
 	      a->set_grob_property ("accidentals", accs);
-	      accidental_arr_[i].accidental_ = a;
+	      accidentals_[i].accidental_ = a;
  /*
 	We add the accidentals to the support of the arpeggio, so it is put left of the
 	accidentals. 
@@ -345,9 +345,9 @@ Accidental_engraver::process_acknowledge
 	  */
 	  
 
-	  int n = pitch->notename_i_;
-	  int o = pitch->octave_i_;
-	  int a = pitch->alteration_i_;
+	  int n = pitch->notename_;
+	  int o = pitch->octave_;
+	  int a = pitch->alteration_;
 	  SCM on_s = gh_cons (gh_int2scm (o), gh_int2scm (n));
 
 	  /*
@@ -368,9 +368,9 @@ Accidental_engraver::process_acknowledge
 	    
 	  */
 
-	  while (origin_l)
+	  while (origin)
 	    {
-	      SCM localsig = origin_l->get_property ("localKeySignature");
+	      SCM localsig = origin->get_property ("localKeySignature");
 	      if (tie_changes)
 		{
 		  /*
@@ -389,8 +389,8 @@ Accidental_engraver::process_acknowledge
 		  localsig = ly_assoc_front_x
 		    (localsig, on_s, gh_cons (gh_int2scm (a), barnum)); 
 		}
-	      origin_l->set_property ("localKeySignature",  localsig);
-	      origin_l = origin_l->daddy_trans_l_;
+	      origin->set_property ("localKeySignature",  localsig);
+	      origin = origin->daddy_trans_;
 	    }
 	}
     }
@@ -405,9 +405,9 @@ Accidental_engraver::finalize ()
 void
 Accidental_engraver::stop_translation_timestep ()
 {
-  for (int i = 0; i < accidental_arr_.size(); i++)
+  for (int i = 0; i < accidentals_.size(); i++)
     {
-      Grob *a = accidental_arr_[i].accidental_;
+      Grob *a = accidentals_[i].accidental_;
       if (a)
 	{
 	  typeset_grob (a);
@@ -418,32 +418,32 @@ Accidental_engraver::stop_translation_ti
     typeset_grob(accidental_placement_);
   accidental_placement_ = 00;
   
-  accidental_arr_.clear();
+  accidentals_.clear();
   arpeggios_.clear ();
-  tie_arr_.clear ();
+  ties_.clear ();
 }
 
 void
 Accidental_engraver::acknowledge_grob (Grob_info info)
 {
-  Note_req * note_l =  dynamic_cast <Note_req *> (info.music_cause ());
+  Note_req * note =  dynamic_cast <Note_req *> (info.music_cause ());
 
-  if (note_l && Rhythmic_head::has_interface (info.grob_l_))
+  if (note && Rhythmic_head::has_interface (info.grob_))
     {
       Accidental_entry entry ;
-      entry.head_ = info.grob_l_;
-      entry.origin_ = info.origin_trans_l_->daddy_trans_l_;
-      entry.melodic_ = note_l;
+      entry.head_ = info.grob_;
+      entry.origin_ = info.origin_trans_->daddy_trans_;
+      entry.melodic_ = note;
 
-      accidental_arr_.push (entry);
+      accidentals_.push (entry);
     }
-  else if (Tie::has_interface (info.grob_l_))
+  else if (Tie::has_interface (info.grob_))
     {
-      tie_arr_.push (info.grob_l_);
+      ties_.push (info.grob_);
     }
-  else if (Arpeggio::has_interface (info.grob_l_))
+  else if (Arpeggio::has_interface (info.grob_))
     {
-      arpeggios_.push (info.grob_l_); 
+      arpeggios_.push (info.grob_); 
     }
   
 }
@@ -458,13 +458,13 @@ Accidental_engraver::process_music ()
   */
   if (last_keysig_ != sig)
     {
-      Translator_group * trans_ = daddy_trans_l_;
+      Translator_group * trans_ = daddy_trans_;
       while (trans_)
 	{
 	  trans_ -> set_property ("localKeySignature",  ly_deep_copy (sig));
-	  trans_ = trans_->daddy_trans_l_;
+	  trans_ = trans_->daddy_trans_;
 	}
-      set_property_on_children(daddy_trans_l_,"localKeySignature", sig);
+      set_property_on_children(daddy_trans_,"localKeySignature", sig);
 
       last_keysig_ = sig;
     }
diff -purN ../lilypond-1.5.69/lily/accidental-placement.cc ./lily/accidental-placement.cc
--- ../lilypond-1.5.69/lily/accidental-placement.cc	Mon Jul 22 12:21:57 2002
+++ ./lily/accidental-placement.cc	Fri Jul 26 12:26:58 2002
@@ -20,19 +20,6 @@ source file of the GNU LilyPond music ty
 #include "note-collision.hh"
 #include "accidental-interface.hh"
 
-MAKE_SCHEME_CALLBACK(Accidental_placement,extent_callback, 2);
-SCM
-Accidental_placement::extent_callback(SCM s, SCM axis)
-{
-  Grob * me =unsmob_grob (s);
-  Axis a = Axis (gh_scm2int (axis));
-
-  assert (a == X_AXIS);
-
-  SCM w = position_accidentals (me);
-  return w;
-}
-
 MAKE_SCHEME_CALLBACK(Accidental_placement,alignment_callback, 2);
 SCM
 Accidental_placement::alignment_callback(SCM s, SCM )
@@ -67,9 +54,9 @@ Accidental_placement::add_accidental (Gr
 
   Pitch *p= unsmob_pitch (mcause->get_mus_property ("pitch"));
 
-  int n = p->notename_i_;
+  int n = p->notename_;
 
-  SCM accs = me->get_grob_property ("accidentals");
+  SCM accs = me->get_grob_property ("accidental-grobs");
   SCM key = gh_int2scm (n);
   SCM entry = scm_assq (key, accs);
   if (entry == SCM_BOOL_F)
@@ -83,9 +70,67 @@ Accidental_placement::add_accidental (Gr
 
   accs = scm_assq_set_x (accs,  key, entry);
 
-  me->set_grob_property ("accidentals", accs);
+  me->set_grob_property ("accidental-grobs", accs);
+}
+
+/*
+  Split into break reminders.
+ */
+void
+Accidental_placement::split_accidentals (Grob * accs,
+					 Link_array<Grob> *break_reminder,
+					 Link_array<Grob> *real_acc)
+{
+  for (SCM acs =accs->get_grob_property ("accidental-grobs"); gh_pair_p (acs);
+       acs =gh_cdr (acs))
+    for (SCM s = gh_cdar (acs); gh_pair_p (s); s = gh_cdr (s))
+      {
+	Grob *a = unsmob_grob (gh_car (s));
+
+	if (unsmob_grob (a->get_grob_property ("tie")))
+	  break_reminder->push (a);
+	else
+	  real_acc->push (a);
+      }
 }
 
+/*
+  Accidentals are special, because they appear and disappear after
+  ties at will.
+*/
+Interval
+Accidental_placement::get_relevant_accidental_extent (Grob *me,
+						      Item *item_col,
+						      Grob *left_object)
+{
+  Link_array<Grob> br, ra;
+  Link_array<Grob> *which = 0;
+
+  Accidental_placement::split_accidentals (me, &br, &ra);
+  br.concat (ra);
+  
+  if (dynamic_cast<Item*>(left_object)->break_status_dir () == RIGHT)
+    which = & br;
+  else
+    which = & ra;
+  
+  Interval extent;
+  for (int i = 0; i < which->size(); i++)
+    {
+      extent.unite (which->elem(i)->extent (item_col, X_AXIS));
+    }
+
+  if (!extent.empty_b())
+    {
+      Real p = gh_scm2double (me->get_grob_property ("left-padding"));
+      extent[LEFT] -= p;
+    }
+  
+  return extent;
+}
+
+
+
 struct Accidental_placement_entry
 {
   Array<Skyline_entry> left_skyline_;
@@ -163,8 +208,6 @@ stagger_apes (Link_array<Accidental_plac
   
 
 /*
-  Return: width as SCM interval.
-
 
   This routine computes placements of accidentals. During
   add_accidental(), accidentals are already grouped by note, so that
@@ -195,7 +238,10 @@ stagger_apes (Link_array<Accidental_plac
 SCM
 Accidental_placement::position_accidentals (Grob * me)
 {
-  SCM accs = me->get_grob_property ("accidentals");
+  if (!me->live ())
+    return SCM_UNSPECIFIED;
+  
+  SCM accs = me->get_grob_property ("accidental-grobs");
 
   /*
     TODO: there is a bug in this code. If two accs are on the same
@@ -403,10 +449,10 @@ Accidental_placement::position_accidenta
   for (int i = apes.size(); i--;)
     delete apes[i];
 
-  return scm_width;
+  return SCM_UNSPECIFIED;
 }
 
 ADD_INTERFACE(Accidental_placement,
 	      "accidental-placement-interface",
 	      "Take care of complex accidental collisions.",
-	      "left-padding padding right-padding accidentals alignment-done")
+	      "left-padding padding right-padding accidental-grobs alignment-done")
diff -purN ../lilypond-1.5.69/lily/accidental.cc ./lily/accidental.cc
--- ../lilypond-1.5.69/lily/accidental.cc	Mon Jul 22 12:21:57 2002
+++ ./lily/accidental.cc	Fri Jul 26 12:26:58 2002
@@ -32,7 +32,7 @@ Accidental_interface::after_line_breakin
   Grob *me  = unsmob_grob (smob);
   Grob *tie = unsmob_grob (me->get_grob_property ("tie"));
 
-  if (tie && !tie->original_l_)
+  if (tie && !tie->original_)
     {
       me->suicide ();
     }
@@ -148,7 +148,7 @@ Accidental_interface::brew_molecule (SCM
       
       Molecule acc (fm->find_by_name (String ("accidentals-") +
 				      style +
-				      to_str (gh_scm2int(entry))));
+				      to_string (gh_scm2int(entry))));
       
       mol.add_at_edge (X_AXIS,  RIGHT, acc, 0.1);
     }
diff -purN ../lilypond-1.5.69/lily/afm.cc ./lily/afm.cc
--- ../lilypond-1.5.69/lily/afm.cc	Wed May 22 16:52:31 2002
+++ ./lily/afm.cc	Fri Jul 26 12:26:58 2002
@@ -72,7 +72,7 @@ Adobe_font_metric::find_char_metric (Str
     {
       if (warn)
 	{
-	  warning (_f ("can't find character called: `%s'", nm.ch_C ()));
+	  warning (_f ("can't find character called: `%s'", nm.to_str0 ()));
 	}
       return 0;
     }
@@ -101,7 +101,7 @@ Adobe_font_metric::get_char (int code) c
 SCM
 read_afm_file (String nm)
 {
-  FILE *f = fopen (nm.ch_C () , "r");
+  FILE *f = fopen (nm.to_str0 () , "r");
   char s[2048];
   char *check_key = "TfmCheckSum"; 
   fgets (s, sizeof (s), f);
@@ -122,7 +122,7 @@ read_afm_file (String nm)
 
   if (ok)
     {
-      error (_f ("Error parsing AFM file: `%s'", nm.ch_C ()));
+      error (_f ("Error parsing AFM file: `%s'", nm.to_str0 ()));
       exit (2);
     }
   fclose (f);
diff -purN ../lilypond-1.5.69/lily/all-font-metrics.cc ./lily/all-font-metrics.cc
--- ../lilypond-1.5.69/lily/all-font-metrics.cc	Thu Jul 11 12:55:23 2002
+++ ./lily/all-font-metrics.cc	Fri Jul 26 12:26:58 2002
@@ -18,7 +18,7 @@
 #include "scm-hash.hh"
 #include "kpath.hh"
 
-static const char * default_font_sz_ = "cmr10";
+static const char * default_font_str0_ = "cmr10";
 
 All_font_metrics::All_font_metrics (String path)
 {
@@ -37,9 +37,9 @@ All_font_metrics::~All_font_metrics ()
 Adobe_font_metric *
 All_font_metrics::find_afm (String name)
 {
-  SCM sname = ly_symbol2scm (name.ch_C ());
+  SCM sname = ly_symbol2scm (name.to_str0 ());
 
-  SCM name_str = ly_str02scm (name.ch_C ());
+  SCM name_string = ly_str02scm (name.to_str0 ());
 
   SCM val;
   
@@ -52,8 +52,8 @@ All_font_metrics::find_afm (String name)
 
       if (path.empty_b ())
 	{
-	  String p = ly_find_afm (name.ch_C ());
-	  if (p.length_i ())
+	  String p = ly_find_afm (name.to_str0 ());
+	  if (p.length ())
 	    path = p;
 	}
 
@@ -65,7 +65,7 @@ All_font_metrics::find_afm (String name)
       val = read_afm_file (path);
       unsmob_metrics (val)->path_ = path;
       
-      unsmob_metrics (val)->description_ = gh_cons (name_str, gh_double2scm (1.0));
+      unsmob_metrics (val)->description_ = gh_cons (name_string, gh_double2scm (1.0));
 
       if (verbose_global_b)
 	progress_indication ("]");
@@ -93,11 +93,11 @@ All_font_metrics::find_afm (String name)
 	  if (tfm && tfm->info_.checksum != afm->checksum_)
 	    {
 	      String s = _f ("checksum mismatch for font file: `%s'",
-			     path.ch_C ());
-	      s += " " + _f ("does not match: `%s'", tfm->path_.ch_C ()); // FIXME
+			     path.to_str0 ());
+	      s += " " + _f ("does not match: `%s'", tfm->path_.to_str0 ()); // FIXME
 	      s += "\n";
-	      s += " TFM: " + to_str ((int) tfm->info_.checksum);
-	      s += " AFM: " + to_str ((int) afm->checksum_);
+	      s += " TFM: " + to_string ((int) tfm->info_.checksum);
+	      s += " AFM: " + to_string ((int) afm->checksum_);
 	      s += "\n";
 	      s += _ (" Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V to show font paths.");
 	      
@@ -113,8 +113,8 @@ All_font_metrics::find_afm (String name)
 Tex_font_metric *
 All_font_metrics::find_tfm (String name)
 {
-  SCM sname = ly_symbol2scm (name.ch_C ());
-  SCM name_str = ly_str02scm (name.ch_C ());
+  SCM sname = ly_symbol2scm (name.to_str0 ());
+  SCM name_string = ly_str02scm (name.to_str0 ());
 
   SCM val;
   if (!tfm_p_dict_->try_retrieve (sname, &val))
@@ -123,8 +123,8 @@ All_font_metrics::find_tfm (String name)
       
       if (path.empty_b ())
 	{
-	  String p = ly_find_tfm (name.ch_C ());
-	  if (p.length_i ())
+	  String p = ly_find_tfm (name.to_str0 ());
+	  if (p.length ())
 	    path = p;
 	}
 
@@ -142,7 +142,7 @@ All_font_metrics::find_tfm (String name)
 	progress_indication ("]");
 
       unsmob_metrics (val)->path_ = path;
-      unsmob_metrics (val)->description_ = gh_cons (name_str, gh_double2scm (1.0));
+      unsmob_metrics (val)->description_ = gh_cons (name_string, gh_double2scm (1.0));
       tfm_p_dict_->set (sname, val);
 
       scm_gc_unprotect_object (val);
@@ -164,10 +164,10 @@ All_font_metrics::find_font (String name
   if (f)
     return f;
 
-  warning (_f ("can't find font: `%s'", name.ch_C ()));
+  warning (_f ("can't find font: `%s'", name.to_str0 ()));
   warning (_ ("Loading default font"));
   
-  String def_name = default_font_sz_;
+  String def_name = default_font_str0_;
 
   /*
     we're in emergency recovery mode here anyway, so don't try to do
@@ -180,8 +180,8 @@ All_font_metrics::find_font (String name
   if (f)
     return f;
 
-  error (_f ("can't find default font: `%s'", def_name.ch_C ()));
-  error (_f ("(search path: `%s')", search_path_.str ()));
+  error (_f ("can't find default font: `%s'", def_name.to_str0 ()));
+  error (_f ("(search path: `%s')", search_path_.string ()));
   error (_ ("Giving up"));
 
   return 0;
diff -purN ../lilypond-1.5.69/lily/ambitus-engraver.cc ./lily/ambitus-engraver.cc
--- ../lilypond-1.5.69/lily/ambitus-engraver.cc	Tue Jul  2 01:52:24 2002
+++ ./lily/ambitus-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -64,62 +64,77 @@ class Ambitus_engraver : public Engraver
 {
 public:
 TRANSLATOR_DECLARATIONS(Ambitus_engraver);
+  virtual void process_music ();
   virtual void acknowledge_grob (Grob_info);
   virtual void stop_translation_timestep ();
   virtual void finalize ();
 
 private:
   void create_ambitus ();
-  Item *ambitus_p_;
-  int isActive;
+  Item *ambitus_;
+  int/*bool*/ is_typeset;
   Pitch pitch_min, pitch_max;
 };
 
 Ambitus_engraver::Ambitus_engraver ()
 {
-  ambitus_p_ = 0; isActive = 0;
+  ambitus_ = 0;
+  is_typeset = 0;
 
-  // (pitch_min > pitch_max) means that pitches are not yet
-  // initialized
+  /*
+   * (pitch_min > pitch_max) means that pitches are not yet
+   * initialized
+   */
   pitch_min = Pitch (0, 0, +1);
   pitch_max = Pitch (0, 0, -1);
 }
 
 void
-Ambitus_engraver::stop_translation_timestep ()
+Ambitus_engraver::process_music ()
 {
-  if (!ambitus_p_) {
-    // Create ambitus not before stopping timestep.  centralCPosition
-    // will then be the same as that for the first timestep.
-    //
-    // TODO: is this really a good idea?  At least, creating the
-    // ambitus in start_translation_timestep is a *bad* idea, since we
-    // may then oversee a clef that is defined in a staff context if
-    // we are in a voice context; centralCPosition would then be
-    // assumed to be 0.
+  /*
+   * Ensure that ambitus is created in the very first timestep (on
+   * which lily does not call start_translation_timestep ()).
+   * Otherwise, if a voice begins with a rest, the ambitus grob will
+   * be placed after the rest.
+   */
+  if (!ambitus_) {
     create_ambitus ();
   }
-  if (ambitus_p_ && isActive)
+}
+
+void
+Ambitus_engraver::stop_translation_timestep ()
+{
+  if (ambitus_ && !is_typeset)
     {
+      /*
+       * Evaluate centralCPosition not until now, since otherwise we
+       * may then oversee a clef that is defined in a staff context if
+       * we are in a voice context; centralCPosition would then be
+       * assumed to be 0.
+       */
+      SCM c0 = get_property ("centralCPosition");
+      ambitus_->set_grob_property ("centralCPosition", c0);
+
+      /*
+       * Similar for keySignature.
+       */
       SCM key_signature = get_property ("keySignature");
-      ambitus_p_->set_grob_property ("keySignature", key_signature);
-      typeset_grob (ambitus_p_);
-      isActive = 0;
+      ambitus_->set_grob_property ("keySignature", key_signature);
+
+      typeset_grob (ambitus_);
+      is_typeset = 1;
     }
 }
 
 void
 Ambitus_engraver::acknowledge_grob (Grob_info info)
 {
-  if (!ambitus_p_) {
-    create_ambitus ();
-  }
-  if (!ambitus_p_)
-    return;
-  Item *item = dynamic_cast <Item *>(info.grob_l_);
+  Item *item = dynamic_cast <Item *>(info.grob_);
   if (item)
     {
-      if (Note_head::has_interface (info.grob_l_))
+      if (Note_head::has_interface (info.grob_))
 	{
 	  Note_req *nr = dynamic_cast<Note_req*> (info.music_cause ());
 	  if (nr)
@@ -148,33 +163,33 @@ void
 Ambitus_engraver::create_ambitus ()
 {
   SCM basicProperties = get_property ("Ambitus");
-  SCM c0 = get_property ("centralCPosition");
-  ambitus_p_ = new Item (basicProperties); isActive = 1;
-  ambitus_p_->set_grob_property ("centralCPosition", c0);
-  announce_grob (ambitus_p_, SCM_EOL);
+  ambitus_ = new Item (basicProperties); is_typeset = 0;
+  announce_grob (ambitus_, SCM_EOL);
 }
 
 void
 Ambitus_engraver::finalize ()
 {
-  if (ambitus_p_)
+  if (ambitus_)
     {
       if (Pitch::compare (pitch_min, pitch_max) <= 0)
 	{
-	  ambitus_p_->set_grob_property ("pitch-min",
+	  ambitus_->set_grob_property ("pitch-min",
 					 pitch_min.smobbed_copy ());
-	  ambitus_p_->set_grob_property ("pitch-max",
+	  ambitus_->set_grob_property ("pitch-max",
 					 pitch_max.smobbed_copy ());
 	}
       else // have not seen any pitch, so forget about the ambitus
 	{
-	  // Do not print a warning on empty ambitus range, since this
-	  // most probably arises from an empty voice, such as shared
-	  // global timesig/clef definitions.
+	  /*
+	   * Do not print a warning on empty ambitus range, since this
+	   * most probably arises from an empty voice, such as shared
+	   * global timesig/clef definitions.
+	   */
 #if 0
-	  ambitus_p_->warning("empty ambitus range [ignored]");
+	  ambitus_->warning("empty ambitus range [ignored]");
 #endif
-	  ambitus_p_->suicide();
+	  ambitus_->suicide();
 	}
     }
 }
diff -purN ../lilypond-1.5.69/lily/ambitus.cc ./lily/ambitus.cc
--- ../lilypond-1.5.69/lily/ambitus.cc	Tue Jul  2 01:52:24 2002
+++ ./lily/ambitus.cc	Fri Jul 26 12:26:58 2002
@@ -45,16 +45,16 @@
  * Possible return values:
  *
  * 0: do not show any accidental
- * 1: show pitch->alteration_i_ only
- * 2: show pitch->alteration_i_, preceded by a natural sign
+ * 1: show pitch->alteration_ only
+ * 2: show pitch->alteration_, preceded by a natural sign
  */
 static int
 number_accidentals (SCM key_signature, Pitch *pitch,
 		    bool ignore_octave_b, bool force_accidental)
 {
-  int notename = pitch->notename_i_;
-  int octave = pitch->octave_i_;
-  int alteration = pitch->alteration_i_;
+  int notename = pitch->notename_;
+  int octave = pitch->octave_;
+  int alteration = pitch->alteration_;
 
   if (force_accidental) // ignore key signature
     return 1;
@@ -101,12 +101,12 @@ add_accidentals (Item *me, Molecule *hea
 {
   if (!num_acc)
     return;
-  if (pitch->alteration_i_)
+  if (pitch->alteration_)
     {
       Molecule accidental (Font_interface::get_default_font (me)->
 			   find_by_name (String ("accidentals-") +
 					 accidentals_style +
-					 to_str (pitch->alteration_i_)));
+					 to_string (pitch->alteration_)));
       accidental.translate_axis (yoffs, Y_AXIS);
       head->add_at_edge (X_AXIS,  LEFT, accidental, 0.1);
     }
@@ -115,7 +115,7 @@ add_accidentals (Item *me, Molecule *hea
       Molecule natural (Font_interface::get_default_font (me)->
 			find_by_name (String ("accidentals-") +
 				      accidentals_style +
-				      to_str ("0")));
+				      to_string ("0")));
       natural.translate_axis (yoffs, Y_AXIS);
       head->add_at_edge (X_AXIS,  LEFT, natural, 0.1);
     }
@@ -142,7 +142,7 @@ Ambitus::brew_molecule (SCM smob)
   if (Font_interface::get_default_font (me)->find_by_name (note_head_style).empty_b ())
     {
       String message = "Ambitus: no such note head: `" + note_head_style + "'";
-      me->warning (_ (message.ch_C ()));
+      me->warning (_ (message.to_str0 ()));
       return SCM_EOL;
     }
 
@@ -191,8 +191,8 @@ Ambitus::brew_molecule (SCM smob)
   if (to_boolean (me->get_grob_property ("join-heads")) &&
       ((p_max - p_min) >= 3))
     {
-      Real linethickness = me->paper_l ()->get_var ("linethickness");
-      Real blotdiameter = me->paper_l ()->get_var ("blotdiameter");
+      Real linethickness = me->get_paper ()->get_var ("linethickness");
+      Real blotdiameter = me->get_paper ()->get_var ("blotdiameter");
       Interval x_extent = 0.5 * Interval (-linethickness, +linethickness);
       Interval y_extent = 0.5 * Interval (p_min + 1.35, p_max - 1.35);
       Box line_box (x_extent, y_extent);
diff -purN ../lilypond-1.5.69/lily/arpeggio-engraver.cc ./lily/arpeggio-engraver.cc
--- ../lilypond-1.5.69/lily/arpeggio-engraver.cc	Wed Mar 13 01:18:41 2002
+++ ./lily/arpeggio-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -57,25 +57,25 @@ Arpeggio_engraver::acknowledge_grob (Gro
 {
   if (arpeggio_)
     {
-      if (Stem::has_interface (info.grob_l_))
+      if (Stem::has_interface (info.grob_))
 	{
 	  if (!arpeggio_->get_parent  (Y_AXIS))
-	    arpeggio_->set_parent (info.grob_l_, Y_AXIS);
+	    arpeggio_->set_parent (info.grob_, Y_AXIS);
       
-	  Pointer_group_interface::add_grob (arpeggio_, ly_symbol2scm ("stems"), info.grob_l_);
+	  Pointer_group_interface::add_grob (arpeggio_, ly_symbol2scm ("stems"), info.grob_);
 	}
       
       /*
 	We can't catch local key items (accidentals) from Voice context,
 	see Local_key_engraver
       */
-      else if (Rhythmic_head::has_interface (info.grob_l_))
+      else if (Rhythmic_head::has_interface (info.grob_))
 	{
-	  Side_position_interface::add_support (arpeggio_, info.grob_l_);
+	  Side_position_interface::add_support (arpeggio_, info.grob_);
 	}
-      else if (Note_column::has_interface (info.grob_l_ ))
+      else if (Note_column::has_interface (info.grob_ ))
 	{
-	  info.grob_l_->set_grob_property ("arpeggio", arpeggio_->self_scm ());
+	  info.grob_->set_grob_property ("arpeggio", arpeggio_->self_scm ());
 	}
     }
 }
diff -purN ../lilypond-1.5.69/lily/arpeggio.cc ./lily/arpeggio.cc
--- ../lilypond-1.5.69/lily/arpeggio.cc	Wed Apr 10 19:25:35 2002
+++ ./lily/arpeggio.cc	Fri Jul 26 12:26:58 2002
@@ -28,7 +28,7 @@ Arpeggio::brew_molecule (SCM smob) 
   for (SCM s = me->get_grob_property ("stems"); gh_pair_p (s); s = ly_cdr (s))
     {
       Grob * stem =  unsmob_grob (ly_car (s));
-      common =  common->common_refpoint (Staff_symbol_referencer::staff_symbol_l (stem),
+      common =  common->common_refpoint (Staff_symbol_referencer::get_staff_symbol (stem),
 				 Y_AXIS);
     }
 
@@ -46,7 +46,7 @@ Arpeggio::brew_molecule (SCM smob) 
   for (SCM s = me->get_grob_property ("stems"); gh_pair_p (s); s = ly_cdr (s))
     {
       Grob * stem = unsmob_grob (ly_car (s));
-      Grob * ss = Staff_symbol_referencer::staff_symbol_l (stem);
+      Grob * ss = Staff_symbol_referencer::get_staff_symbol (stem);
       Interval iv =Stem::head_positions (stem);
       iv *= Staff_symbol::staff_space (ss)/2.0;
       
@@ -84,7 +84,7 @@ Arpeggio::brew_molecule (SCM smob) 
   mol.translate_axis (heads[LEFT], Y_AXIS);
   if (dir)
     mol.add_at_edge (Y_AXIS, dir,
-		     fm->find_by_name ("scripts-arpeggio-arrow-" + to_str (dir)), 0.0);
+		     fm->find_by_name ("scripts-arpeggio-arrow-" + to_string (dir)), 0.0);
   
   return mol.smobbed_copy () ;
 }
@@ -102,7 +102,7 @@ Arpeggio::brew_chord_bracket (SCM smob) 
   for (SCM s = me->get_grob_property ("stems"); gh_pair_p (s); s = ly_cdr (s))
     {
       Grob * stem =  unsmob_grob (ly_car (s));
-      common =  common->common_refpoint (Staff_symbol_referencer::staff_symbol_l (stem),
+      common =  common->common_refpoint (Staff_symbol_referencer::get_staff_symbol (stem),
 				 Y_AXIS);
     }
 
@@ -112,13 +112,13 @@ Arpeggio::brew_chord_bracket (SCM smob) 
   for (SCM s = me->get_grob_property ("stems"); gh_pair_p (s); s = ly_cdr (s))
     {
       Grob * stem = unsmob_grob (ly_car (s));
-      Grob * ss = Staff_symbol_referencer::staff_symbol_l (stem);
+      Grob * ss = Staff_symbol_referencer::get_staff_symbol (stem);
       Interval iv = Stem::head_positions (stem);
       iv *= Staff_symbol::staff_space (ss)/2.0;      
       heads.unite (iv  +  ss->relative_coordinate (common, Y_AXIS)  -  my_y);
     }
 
-  Real lt =  me->paper_l ()->get_var ("linethickness");
+  Real lt =  me->get_paper ()->get_var ("linethickness");
   Real sp = 1.5 * Staff_symbol_referencer::staff_space (me);
   Real dy = heads.length() + sp;
   Real x = 0.7;
diff -purN ../lilypond-1.5.69/lily/audio-column.cc ./lily/audio-column.cc
--- ../lilypond-1.5.69/lily/audio-column.cc	Thu Jul 11 12:55:23 2002
+++ ./lily/audio-column.cc	Fri Jul 26 12:26:58 2002
@@ -15,14 +15,14 @@
 Audio_column::Audio_column (Moment at_mom)
 {
   at_mom_ = at_mom;
-  performance_l_ = 0;
+  performance_ = 0;
 }
 
 void
 Audio_column::add_audio_item (Audio_item* l)
 {
-  audio_item_l_arr_.push (l);
-  l->audio_column_l_ = this; 
+  audio_items_.push (l);
+  l->audio_column_ = this; 
 }
 
 Moment
diff -purN ../lilypond-1.5.69/lily/audio-element-info.cc ./lily/audio-element-info.cc
--- ../lilypond-1.5.69/lily/audio-element-info.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/audio-element-info.cc	Fri Jul 26 12:26:58 2002
@@ -9,31 +9,31 @@
 #include "audio-element-info.hh"
 #include "translator-group.hh"
 
-Audio_element_info::Audio_element_info (Audio_element*s_l, Music *r_l)
+Audio_element_info::Audio_element_info (Audio_element*s, Music *r)
 {
-  elem_l_ = s_l;
-  origin_trans_l_ =0;
-  req_l_ = r_l;
+  elem_ = s;
+  origin_trans_ =0;
+  req_ = r;
 }
 
 
 Audio_element_info::Audio_element_info ()
 {
-  elem_l_ = 0;
-  req_l_ = 0;
-  origin_trans_l_ =0;
+  elem_ = 0;
+  req_ = 0;
+  origin_trans_ =0;
 }
 
 
 Link_array<Translator>
-Audio_element_info::origin_trans_l_arr (Translator* end) const
+Audio_element_info::origin_transes (Translator* end) const
 {
-  Translator * t = origin_trans_l_;
+  Translator * t = origin_trans_;
   Link_array<Translator> r;
   do {
     r.push (t);
-    t = t->daddy_trans_l_;
-  } while (t && t != end->daddy_trans_l_);
+    t = t->daddy_trans_;
+  } while (t && t != end->daddy_trans_);
   
   return r;
 }
diff -purN ../lilypond-1.5.69/lily/audio-item.cc ./lily/audio-item.cc
--- ../lilypond-1.5.69/lily/audio-item.cc	Thu Jul 11 12:55:23 2002
+++ ./lily/audio-item.cc	Fri Jul 26 12:26:58 2002
@@ -10,14 +10,14 @@
 #include "midi-item.hh"
 #include "audio-column.hh"
 
-Audio_instrument::Audio_instrument (String instrument_str)
+Audio_instrument::Audio_instrument (String instrument_string)
 {
-  str_ = instrument_str;
+  str_ = instrument_string;
 }
 
 Audio_item::Audio_item ()
 {
-  audio_column_l_ = 0;
+  audio_column_ = 0;
 }
 
 Audio_note::Audio_note (Pitch p, Moment m, int transposing_i)
@@ -25,7 +25,7 @@ Audio_note::Audio_note (Pitch p, Moment 
   pitch_ = p;
   length_mom_ = m;
   tied_ = 0;
-  transposing_i_ = transposing_i;
+  transposing_ = transposing_i;
 }
 
 void
@@ -53,18 +53,18 @@ Audio_dynamic::Audio_dynamic (Real volum
 
 Audio_tempo::Audio_tempo (int per_minute_4_i)
 {
-  per_minute_4_i_ = per_minute_4_i;
+  per_minute_4_ = per_minute_4_i;
 }
 
 Audio_time_signature::Audio_time_signature (int beats, int one_beat)
 {
-  beats_i_ = beats;
-  one_beat_i_ = one_beat;
+  beats_ = beats;
+  one_beat_ = one_beat;
 }
 
-Audio_text::Audio_text (Audio_text::Type type, String text_str)
+Audio_text::Audio_text (Audio_text::Type type, String text_string)
 {
-  text_str_ = text_str;
+  text_string_ = text_string;
   type_ = type;
 }
 
@@ -75,13 +75,13 @@ Audio_tie::Audio_tie ()
 }
 
 void
-Audio_tie::set_note (Direction d, Audio_note* note_l)
+Audio_tie::set_note (Direction d, Audio_note* note)
 {
   assert (!note_l_drul_[d]);
-  note_l_drul_[d] = note_l;
-  //set_bound (d, head_l);
+  note_l_drul_[d] = note;
+  //set_bound (d, head);
 
-  //  add_dependency (head_l);
+  //  add_dependency (head);
 }
 
 
diff -purN ../lilypond-1.5.69/lily/audio-staff.cc ./lily/audio-staff.cc
--- ../lilypond-1.5.69/lily/audio-staff.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/audio-staff.cc	Fri Jul 26 12:26:58 2002
@@ -15,7 +15,7 @@
 void
 Audio_staff::add_audio_item (Audio_item* l)
 {
-  audio_item_l_arr_.push (l);
+  audio_items_.push (l);
 }
 
 
@@ -23,8 +23,8 @@ void
 Audio_staff::output (Midi_stream& midi_stream_r, int track_i)
 {
   Midi_track midi_track;
-  midi_track.number_i_ = track_i;
-  midi_track.channel_i_ = channel_i_;
+  midi_track.number_ = track_i;
+  midi_track.channel_ = channel_;
   for (Midi_walker i (this, &midi_track); i.ok (); i++)
     i.process ();
   midi_stream_r << midi_track;
diff -purN ../lilypond-1.5.69/lily/auto-beam-engraver.cc ./lily/auto-beam-engraver.cc
--- ../lilypond-1.5.69/lily/auto-beam-engraver.cc	Sat Jul 13 19:33:59 2002
+++ ./lily/auto-beam-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -38,7 +38,7 @@ private:
   bool test_moment (Direction, Moment);
   void consider_begin (Moment);
   void consider_end (Moment);
-  Spanner* create_beam_p ();
+  Spanner* create_beam ();
   void begin_beam ();
   void end_beam ();
   void junk_beam ();
@@ -49,11 +49,11 @@ private:
     shortest_mom is the shortest note in the beam.
    */
   Moment shortest_mom_;
-  Spanner *finished_beam_p_;
-  Link_array<Item>* stem_l_arr_p_;
+  Spanner *finished_beam_;
+  Link_array<Item>* stems_;
 
 
-  int count_i_;
+  int count_;
   Moment last_add_mom_;
   /*
     Projected ending of the  beam we're working on.
@@ -66,22 +66,22 @@ private:
   Moment beat_length_;
   
   // We act as if beam were created, and start a grouping anyway.
-  Beaming_info_list*grouping_p_;
+  Beaming_info_list*grouping_;
   SCM beam_settings_ ;		// ugh. should protect ? 
   
-  Beaming_info_list*finished_grouping_p_;
+  Beaming_info_list*finished_grouping_;
 };
 
 
 
 Auto_beam_engraver::Auto_beam_engraver ()
 {
-  count_i_ = 0;
-  stem_l_arr_p_ = 0;
+  count_ = 0;
+  stems_ = 0;
   shortest_mom_ = Moment (Rational (1, 8));
-  finished_beam_p_ = 0;
-  finished_grouping_p_ = 0;
-  grouping_p_ = 0;
+  finished_beam_ = 0;
+  finished_grouping_ = 0;
+  grouping_ = 0;
   beam_settings_ = SCM_EOL;  
 }
 
@@ -204,7 +204,7 @@ void
 Auto_beam_engraver::consider_begin (Moment test_mom)
 {
   bool on = to_boolean (get_property ("autoBeaming"));
-  if (!stem_l_arr_p_ && on)
+  if (!stems_ && on)
     {
       bool b = test_moment (START, test_mom);
       if (b)
@@ -215,7 +215,7 @@ Auto_beam_engraver::consider_begin (Mome
 void
 Auto_beam_engraver::consider_end (Moment test_mom)
 {
-  if (stem_l_arr_p_)
+  if (stems_)
     {
       /* Allow already started autobeam to end:
 	 don't check for autoBeaming */
@@ -226,39 +226,39 @@ Auto_beam_engraver::consider_end (Moment
 }
 
 Spanner*
-Auto_beam_engraver::create_beam_p ()
+Auto_beam_engraver::create_beam ()
 {
   if (to_boolean (get_property ("skipTypesetting")))
     {
      return 0;
     }
   
-  Spanner* beam_p = new Spanner (beam_settings_);
-  for (int i = 0; i < stem_l_arr_p_->size (); i++)
+  Spanner* beam = new Spanner (beam_settings_);
+  for (int i = 0; i < stems_->size (); i++)
     {
       /*
 	watch out for stem tremolos and abbreviation beams
        */
-      if (Stem::beam_l ((*stem_l_arr_p_)[i]))
+      if (Stem::get_beam ((*stems_)[i]))
 	{
-	  scm_gc_unprotect_object (beam_p->self_scm ());
+	  scm_gc_unprotect_object (beam->self_scm ());
 	  return 0;
 	}
-      Beam::add_stem (beam_p, (*stem_l_arr_p_)[i]);
+      Beam::add_stem (beam, (*stems_)[i]);
     }
   
-  announce_grob(beam_p, SCM_EOL);
+  announce_grob(beam, SCM_EOL);
 
-  return beam_p;
+  return beam;
 }
 
 void
 Auto_beam_engraver::begin_beam ()
 {
-  assert (!stem_l_arr_p_);
-  stem_l_arr_p_ = new Link_array<Item>;
-  assert (!grouping_p_);
-  grouping_p_ = new Beaming_info_list;
+  assert (!stems_);
+  stems_ = new Link_array<Item>;
+  assert (!grouping_);
+  grouping_ = new Beaming_info_list;
   beam_settings_ = get_property ("Beam");
   
   beam_start_moment_ = now_mom ();
@@ -271,12 +271,12 @@ Auto_beam_engraver::begin_beam ()
 void
 Auto_beam_engraver::junk_beam () 
 {
-  assert (stem_l_arr_p_);
+  assert (stems_);
   
-  delete stem_l_arr_p_;
-  stem_l_arr_p_ = 0;
-  delete grouping_p_;
-  grouping_p_ = 0;
+  delete stems_;
+  stems_ = 0;
+  delete grouping_;
+  grouping_ = 0;
   beam_settings_ = SCM_EOL;
   
   shortest_mom_ = Moment (Rational (1, 8));
@@ -285,19 +285,19 @@ Auto_beam_engraver::junk_beam () 
 void
 Auto_beam_engraver::end_beam ()
 {
-  if (stem_l_arr_p_->size () < 2)
+  if (stems_->size () < 2)
     {
       junk_beam ();
     }
   else
     
     {
-      finished_beam_p_ = create_beam_p ();
-      if (finished_beam_p_)
-	finished_grouping_p_ = grouping_p_;
-      delete stem_l_arr_p_;
-      stem_l_arr_p_ = 0;
-      grouping_p_ = 0;
+      finished_beam_ = create_beam ();
+      if (finished_beam_)
+	finished_grouping_ = grouping_;
+      delete stems_;
+      stems_ = 0;
+      grouping_ = 0;
       beam_settings_ = SCM_EOL;
     }
 
@@ -307,26 +307,26 @@ Auto_beam_engraver::end_beam ()
 void
 Auto_beam_engraver::typeset_beam ()
 {
-  if (finished_beam_p_)
+  if (finished_beam_)
     {
-      finished_grouping_p_->beamify(beat_length_, subdivide_beams_);
-      Beam::set_beaming (finished_beam_p_, finished_grouping_p_);
-      typeset_grob (finished_beam_p_);
-      finished_beam_p_ = 0;
+      finished_grouping_->beamify(beat_length_, subdivide_beams_);
+      Beam::set_beaming (finished_beam_, finished_grouping_);
+      typeset_grob (finished_beam_);
+      finished_beam_ = 0;
     
-      delete finished_grouping_p_;
-      finished_grouping_p_= 0;
+      delete finished_grouping_;
+      finished_grouping_= 0;
     }
 }
 
 void
 Auto_beam_engraver::start_translation_timestep ()
 {
-  count_i_ = 0;
+  count_ = 0;
   /*
     don't beam over skips
    */
-  if (stem_l_arr_p_)
+  if (stems_)
     {
       Moment now = now_mom ();
       if (extend_mom_ < now)
@@ -348,7 +348,7 @@ Auto_beam_engraver::finalize ()
   /* finished beams may be typeset */
   typeset_beam ();
   /* but unfinished may need another announce/acknowledge pass */
-  if (stem_l_arr_p_)
+  if (stems_)
     junk_beam ();
 }
 
@@ -356,25 +356,25 @@ Auto_beam_engraver::finalize ()
 void
 Auto_beam_engraver::acknowledge_grob (Grob_info info)
 {
-  if (stem_l_arr_p_)
+  if (stems_)
     {
-      if (Beam::has_interface (info.grob_l_))
+      if (Beam::has_interface (info.grob_))
 	{
 	  end_beam ();
 	}
-      else if (Bar_line::has_interface (info.grob_l_))
+      else if (Bar_line::has_interface (info.grob_))
 	{
 	  end_beam ();
 	}
-      else if (Rest::has_interface (info.grob_l_))
+      else if (Rest::has_interface (info.grob_))
 	{
 	  end_beam ();
 	}
     }
   
-  if (Stem::has_interface (info.grob_l_))
+  if (Stem::has_interface (info.grob_))
     {
-      Item* stem_l = dynamic_cast<Item *> (info.grob_l_);
+      Item* stem = dynamic_cast<Item *> (info.grob_);
 				       
       Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.music_cause ());
       if (!rhythmic_req)
@@ -386,16 +386,16 @@ Auto_beam_engraver::acknowledge_grob (Gr
       /*
 	Don't (start) auto-beam over empty stems; skips or rests
 	*/
-      if (!Stem::head_count (stem_l))
+      if (!Stem::head_count (stem))
 	{
-	  if (stem_l_arr_p_)
+	  if (stems_)
 	    end_beam ();
 	  return;
 	}
 
-      if (Stem::beam_l (stem_l))
+      if (Stem::get_beam (stem))
 	{
-	  if (stem_l_arr_p_)
+	  if (stems_)
 	    junk_beam ();
 	  return ;
 	}
@@ -404,7 +404,7 @@ Auto_beam_engraver::acknowledge_grob (Gr
       
       if (durlog <= 2)
 	{
-	  if (stem_l_arr_p_)
+	  if (stems_)
 	    end_beam ();
 	  return;
 	}
@@ -444,14 +444,14 @@ Auto_beam_engraver::acknowledge_grob (Gr
       consider_begin (shortest_mom_);
 #endif
 
-      if (!stem_l_arr_p_)
+      if (!stems_)
 	return;
       
       Moment now = now_mom ();
       
-      grouping_p_->add_stem (now - beam_start_moment_ + beam_start_location_,
+      grouping_->add_stem (now - beam_start_moment_ + beam_start_location_,
 			     durlog - 2);
-      stem_l_arr_p_->push (stem_l);
+      stems_->push (stem);
       last_add_mom_ = now;
       extend_mom_ = (extend_mom_ >? now) + rhythmic_req->length_mom ();
     }
@@ -460,14 +460,14 @@ Auto_beam_engraver::acknowledge_grob (Gr
 void
 Auto_beam_engraver::process_acknowledged_grobs ()
 {
-  if (!count_i_)
+  if (!count_)
     {
       consider_end (shortest_mom_);
       consider_begin (shortest_mom_);
     }
-  else if (count_i_ > 1)
+  else if (count_ > 1)
     {
-      if (stem_l_arr_p_)
+      if (stems_)
 	{
 	  Moment now = now_mom ();
 	  if ((extend_mom_ < now)
@@ -475,7 +475,7 @@ Auto_beam_engraver::process_acknowledged
 	    {
 	      end_beam ();
 	    }
-	  else if (!stem_l_arr_p_->size ())
+	  else if (!stems_->size ())
 	    {
 	      junk_beam ();
 	    }
@@ -483,10 +483,10 @@ Auto_beam_engraver::process_acknowledged
     }
 
   /*
-    count_i_++ -> 
+    count_++ -> 
 
         auto-beam-engraver.cc:459: warning: value computed is not used (gcc: 2.96) */
-  count_i_ = count_i_ + 1;
+  count_ = count_ + 1;
 }
 ENTER_DESCRIPTION(Auto_beam_engraver,
 /* descr */       "Generate beams based on measure characteristics and observed
diff -purN ../lilypond-1.5.69/lily/auto-change-iterator.cc ./lily/auto-change-iterator.cc
--- ../lilypond-1.5.69/lily/auto-change-iterator.cc	Mon Feb  4 00:12:07 2002
+++ ./lily/auto-change-iterator.cc	Fri Jul 26 12:26:58 2002
@@ -18,7 +18,7 @@ void
 Auto_change_iterator::change_to (Music_iterator *it, String to_type,
 				 String to_id)
 {
-  Translator_group * current = it->report_to_l ();
+  Translator_group * current = it->report_to ();
   Translator_group * last = 0;
 
   /*
@@ -31,13 +31,13 @@ Auto_change_iterator::change_to (Music_i
      
      If \translator Staff = bass, then look for Staff = *
    */
-  while (current && current->type_str_ != to_type)
+  while (current && current->type_string_ != to_type)
     {
       last = current;
-      current = current->daddy_trans_l_;
+      current = current->daddy_trans_;
     }
 
-  if (current && current->id_str_ == to_id)
+  if (current && current->id_string_ == to_id)
     {
       String msg;
       msg += _ ("Can't switch translators, I'm there already");
@@ -47,8 +47,8 @@ Auto_change_iterator::change_to (Music_i
     if (last)
       {
 	Translator_group * dest = 
-	  it->report_to_l ()->find_create_translator_l (to_type, to_id);
-	current->remove_translator_p (last);
+	  it->report_to ()->find_create_translator (to_type, to_id);
+	current->remove_translator (last);
 	dest->add_used_group_translator (last);
       }
     else
@@ -57,7 +57,7 @@ Auto_change_iterator::change_to (Music_i
 	  We could change the current translator's id, but that would make 
 	  errors hard to catch
 	  
-	   last->translator_id_str_  = change_l ()->change_to_id_str_;
+	   last->translator_id_string_  = get_change ()->change_to_id_string_;
 	*/
 	//	error (_ ("I'm one myself"));
       }
@@ -80,11 +80,11 @@ Auto_change_iterator::change_to (Music_i
 Array<Pitch>
 Auto_change_iterator::pending_pitch (Moment m) const
 {
-  Music_iterator * iter = child_iter_p_ ->clone ();
+  Music_iterator * iter = child_iter_ ->clone ();
   Array<Pitch> ps;
   while (1)
     {
-      SCM muses = iter->get_music (m);
+      SCM muses = iter->get_pending_events (m);
       for (SCM s = muses; gh_pair_p (s); s=ly_cdr (s))
 	if (Note_req* nr = dynamic_cast<Note_req*> (unsmob_music (ly_car (s))))
 	  {
@@ -130,8 +130,8 @@ Auto_change_iterator::process (Moment m)
 	{
 	  where_dir_ = s;
 	  String to_id = (s >= 0) ?  "up" : "down";
-	  String wh = ly_scm2string (music_l ()->get_mus_property ("what"));
-	  change_to (child_iter_p_, wh, to_id);	  
+	  String wh = ly_scm2string (get_music ()->get_mus_property ("what"));
+	  change_to (child_iter_, wh, to_id);	  
 	}
     }
 }
diff -purN ../lilypond-1.5.69/lily/axis-group-engraver.cc ./lily/axis-group-engraver.cc
--- ../lilypond-1.5.69/lily/axis-group-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/axis-group-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -19,13 +19,13 @@
 class Axis_group_engraver : public Engraver
 {
 protected:
-  Spanner *staffline_p_;
+  Spanner *staffline_;
   Link_array<Grob> elts_;
   virtual void initialize ();
   virtual void finalize ();
   virtual void acknowledge_grob (Grob_info);
   virtual void process_acknowledged_grobs ();
-  virtual Spanner* get_spanner_p () const;
+  virtual Spanner* get_spanner () const;
   virtual void add_element (Grob*) ;
 public:  
 TRANSLATOR_DECLARATIONS(Axis_group_engraver );
@@ -35,23 +35,23 @@ TRANSLATOR_DECLARATIONS(Axis_group_engra
 
 Axis_group_engraver::Axis_group_engraver ()
 {
-  staffline_p_ = 0;
+  staffline_ = 0;
 }
 
 void
 Axis_group_engraver::initialize ()
 {
-  staffline_p_ = get_spanner_p ();
+  staffline_ = get_spanner ();
 
   Grob *  it = unsmob_grob (get_property ("currentCommandColumn"));
 
-  staffline_p_->set_bound (LEFT,it);
+  staffline_->set_bound (LEFT,it);
 
-  announce_grob(staffline_p_, SCM_EOL);
+  announce_grob(staffline_, SCM_EOL);
 }
 
 Spanner*
-Axis_group_engraver::get_spanner_p () const
+Axis_group_engraver::get_spanner () const
 {
   return new Spanner (get_property ("VerticalAxisGroup"));
 }
@@ -59,43 +59,43 @@ Axis_group_engraver::get_spanner_p () co
 void
 Axis_group_engraver::finalize ()
 {
-  String type = daddy_grav_l ()->type_str_ ;
+  String type = get_daddy_grav ()->type_string_ ;
   SCM dims = get_property ("verticalExtent");
   
   if (gh_pair_p (dims) && gh_number_p (ly_car (dims))
       && gh_number_p (ly_cdr (dims)))
     {
-      staffline_p_->set_extent (Grob::preset_extent_proc, Y_AXIS);
-      staffline_p_->set_grob_property ("extent-Y", dims);
+      staffline_->set_extent (Grob::preset_extent_proc, Y_AXIS);
+      staffline_->set_grob_property ("extent-Y", dims);
     }
 
   dims = get_property ("minimumVerticalExtent");
   if (gh_pair_p (dims) && gh_number_p (ly_car (dims))
       && gh_number_p (ly_cdr (dims)))
-    staffline_p_->set_grob_property ("minimum-extent-Y", dims);
+    staffline_->set_grob_property ("minimum-extent-Y", dims);
 
   dims = get_property ("extraVerticalExtent");
   if (gh_pair_p (dims) && gh_number_p (ly_car (dims))
       && gh_number_p (ly_cdr (dims)))
-    staffline_p_->set_grob_property ("extra-extent-Y", dims);
+    staffline_->set_grob_property ("extra-extent-Y", dims);
 
   Grob *  it = unsmob_grob (get_property ("currentCommandColumn"));
 
 
-  staffline_p_->set_bound (RIGHT,it);
+  staffline_->set_bound (RIGHT,it);
 
-  typeset_grob (staffline_p_);
-  staffline_p_ = 0;
+  typeset_grob (staffline_);
+  staffline_ = 0;
 }
 
 void
 Axis_group_engraver::acknowledge_grob (Grob_info i)
 {
-  elts_.push (i.grob_l_);
+  elts_.push (i.grob_);
 }
 
 /*
-  maybe should check if our parent_l is set, because we now get a
+  maybe should check if our parent is set, because we now get a
   cyclic parent relationship if we have two Axis_group_engravers in
   the context.  */
 void
@@ -116,7 +116,7 @@ Axis_group_engraver::process_acknowledge
 void
 Axis_group_engraver::add_element (Grob*e)
 {
-  Axis_group_interface::add_element (staffline_p_, e);
+  Axis_group_interface::add_element (staffline_, e);
 }
 
 ////////////////////////////////////////////////////////
@@ -128,7 +128,7 @@ Axis_group_engraver::add_element (Grob*e
 class Hara_kiri_engraver : public Axis_group_engraver
 {
 protected:
-  virtual Spanner*get_spanner_p ()const;
+  virtual Spanner*get_spanner ()const;
   virtual void acknowledge_grob (Grob_info);
   virtual void add_element (Grob *e);
 public:
@@ -138,12 +138,12 @@ public:
 void
 Hara_kiri_engraver::add_element (Grob*e)
 {
-  Hara_kiri_group_spanner::add_element (staffline_p_, e);
+  Hara_kiri_group_spanner::add_element (staffline_, e);
 }
 
 
 Spanner*
-Hara_kiri_engraver::get_spanner_p () const
+Hara_kiri_engraver::get_spanner () const
 {
   Spanner * sp = new Spanner (get_property ("HaraKiriVerticalGroup"));
 
@@ -154,10 +154,10 @@ void
 Hara_kiri_engraver::acknowledge_grob (Grob_info i)
 {
   Axis_group_engraver::acknowledge_grob (i);
-  if (Rhythmic_head::has_interface (i.grob_l_)
-      || i.grob_l_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")))
+  if (Rhythmic_head::has_interface (i.grob_)
+      || i.grob_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")))
     {
-      Hara_kiri_group_spanner::add_interesting_item (staffline_p_, i.grob_l_);
+      Hara_kiri_group_spanner::add_interesting_item (staffline_, i.grob_);
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/bar-check-iterator.cc ./lily/bar-check-iterator.cc
--- ../lilypond-1.5.69/lily/bar-check-iterator.cc	Tue Jul  2 21:31:52 2002
+++ ./lily/bar-check-iterator.cc	Fri Jul 26 12:26:58 2002
@@ -44,7 +44,7 @@ Bar_check_iterator::process (Moment m)
   Simple_music_iterator::process(m);
   if (!m.to_bool ())
     {
-      Translator_group *tr = report_to_l ();
+      Translator_group *tr = report_to ();
 
       SCM mp = tr->get_property ("measurePosition");
       SCM sync= tr->get_property ("barCheckSynchronize");
@@ -55,8 +55,8 @@ Bar_check_iterator::process (Moment m)
       
       if (where->main_part_)
 	{
-	  music_l ()->origin ()->warning (_f ("barcheck failed at: %s", 
-					      where->str ()));
+	  get_music ()->origin ()->warning (_f ("barcheck failed at: %s", 
+					      where->string ()));
 	  if (to_boolean (sync))
 	    {
 	      tr = tr->where_defined (ly_symbol2scm("measurePosition"));
diff -purN ../lilypond-1.5.69/lily/bar-engraver.cc ./lily/bar-engraver.cc
--- ../lilypond-1.5.69/lily/bar-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/bar-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -23,7 +23,7 @@ class Bar_engraver : public Engraver
 {
 public:
   TRANSLATOR_DECLARATIONS(  Bar_engraver );
-  void request_bar (String type_str);
+  void request_bar (String type_string);
     
 protected:
   virtual void finalize ();
@@ -34,25 +34,25 @@ private:
   void typeset_bar ();
   void create_bar ();
 
-  Item * bar_p_;
+  Item * bar_;
 };
 
 Bar_engraver::Bar_engraver ()
 {
-  bar_p_ =0;
+  bar_ =0;
 }
 
 void
 Bar_engraver::create_bar ()
 {
-  if (!bar_p_)
+  if (!bar_)
     {
-      bar_p_ = new Item (get_property ("BarLine"));
+      bar_ = new Item (get_property ("BarLine"));
       SCM gl = get_property ("whichBar");
-      if (scm_equal_p (gl, bar_p_->get_grob_property ("glyph")) != SCM_BOOL_T)
-	  bar_p_->set_grob_property ("glyph", gl);
+      if (scm_equal_p (gl, bar_->get_grob_property ("glyph")) != SCM_BOOL_T)
+	  bar_->set_grob_property ("glyph", gl);
       
-      announce_grob(bar_p_, SCM_EOL);
+      announce_grob(bar_, SCM_EOL);
     }
 }
 
@@ -77,7 +77,7 @@ Bar_engraver::finalize ()
 void
 Bar_engraver::process_acknowledged_grobs ()
 {
-  if (!bar_p_ && gh_string_p (get_property ("whichBar")))
+  if (!bar_ && gh_string_p (get_property ("whichBar")))
     {
       create_bar ();
     }
@@ -86,10 +86,10 @@ Bar_engraver::process_acknowledged_grobs
 void
 Bar_engraver::typeset_bar ()
 {
-  if (bar_p_) 
+  if (bar_) 
     {
-      typeset_grob (bar_p_);
-      bar_p_ =0;
+      typeset_grob (bar_);
+      bar_ =0;
     }
 }
 
@@ -99,7 +99,7 @@ Bar_engraver::typeset_bar ()
 void 
 Bar_engraver::stop_translation_timestep ()
 {
-  if (!bar_p_)
+  if (!bar_)
     {
       top_engraver ()->forbid_breaks ();	// guh. Use properties!
     }
diff -purN ../lilypond-1.5.69/lily/bar-line.cc ./lily/bar-line.cc
--- ../lilypond-1.5.69/lily/bar-line.cc	Thu Jul 11 12:55:23 2002
+++ ./lily/bar-line.cc	Fri Jul 26 12:26:58 2002
@@ -53,7 +53,7 @@ Bar_line::compound_barline (Grob*me, Str
   Real hair = gh_scm2double (me->get_grob_property ("hair-thickness"));
   Real fatline = gh_scm2double (me->get_grob_property ("thick-thickness"));
 
-  Real staffline = me->paper_l ()->get_var ("linethickness");
+  Real staffline = me->get_paper ()->get_var ("linethickness");
   Real staff_space = Staff_symbol_referencer::staff_space (me);
 
   kern *= staffline;
@@ -175,7 +175,7 @@ Bar_line::get_staff_bar_size (SCM smob) 
   SCM size = me->get_grob_property ("bar-size");
   if (gh_number_p (size))
     return gh_double2scm (gh_scm2double (size)*ss);
-  else if (Staff_symbol_referencer::staff_symbol_l (me))
+  else if (Staff_symbol_referencer::get_staff_symbol (me))
     {
       /*
 	If there is no staff-symbol, we get -1 from the next
diff -purN ../lilypond-1.5.69/lily/bar-number-engraver.cc ./lily/bar-number-engraver.cc
--- ../lilypond-1.5.69/lily/bar-number-engraver.cc	Sun Jul 14 15:36:41 2002
+++ ./lily/bar-number-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -28,7 +28,7 @@ staff-group, add padding to the bar numb
 class Bar_number_engraver : public Engraver
 {
 protected:
-  Item* text_p_;
+  Item* text_;
 protected:
   virtual void stop_translation_timestep ();
   virtual void acknowledge_grob (Grob_info);
@@ -62,8 +62,8 @@ Bar_number_engraver::process_music ()
 	  create_items ();
 	  
 	  // guh.
-	  text_p_->set_grob_property ("text",
-				      ly_str02scm (to_str (gh_scm2int (bn)).ch_C ()));
+	  text_->set_grob_property ("text",
+				      ly_str02scm (to_string (gh_scm2int (bn)).to_str0 ()));
 	}
     }
 
@@ -73,33 +73,33 @@ Bar_number_engraver::process_music ()
 
 Bar_number_engraver::Bar_number_engraver ()
 {
-  text_p_ =0;
+  text_ =0;
 }
 
 					       
 void
 Bar_number_engraver::acknowledge_grob (Grob_info inf)
 {
-  Grob * s = inf.grob_l_;
-  if (text_p_
+  Grob * s = inf.grob_;
+  if (text_
       && dynamic_cast<Item*> (s)
       && s->get_grob_property ("break-align-symbol") == ly_symbol2scm ("left-edge"))
     {
       /*
 	By default this would land on the Paper_column -- so why
 	doesn't it work when you leave this out?  */
-      text_p_->set_parent (s, X_AXIS);
+      text_->set_parent (s, X_AXIS);
     }
 }
 
 void 
 Bar_number_engraver::stop_translation_timestep ()
 {
-  if (text_p_)
+  if (text_)
     {
-      text_p_->set_grob_property ("side-support-elements", get_property ("stavesFound"));
-      typeset_grob (text_p_);
-      text_p_ =0;
+      text_->set_grob_property ("side-support-elements", get_property ("stavesFound"));
+      typeset_grob (text_);
+      text_ =0;
     }
 }
 
@@ -107,14 +107,14 @@ Bar_number_engraver::stop_translation_ti
 void
 Bar_number_engraver::create_items ()
 {
-  if (text_p_)
+  if (text_)
     return;
 
   SCM b = get_property ("BarNumber");
-  text_p_ = new Item (b);
-  Side_position_interface::set_axis (text_p_,Y_AXIS);
+  text_ = new Item (b);
+  Side_position_interface::set_axis (text_,Y_AXIS);
 
-  announce_grob(text_p_, SCM_EOL);
+  announce_grob(text_, SCM_EOL);
 }
 
 ENTER_DESCRIPTION(Bar_number_engraver,
diff -purN ../lilypond-1.5.69/lily/beam-engraver.cc ./lily/beam-engraver.cc
--- ../lilypond-1.5.69/lily/beam-engraver.cc	Sun Jul  7 03:32:06 2002
+++ ./lily/beam-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -24,12 +24,12 @@ class Beam_engraver : public Engraver
 protected:  
   Drul_array<Span_req*> reqs_drul_;
   
-  Spanner *finished_beam_p_;
-  Spanner *beam_p_;
+  Spanner *finished_beam_;
+  Spanner *beam_;
   Span_req * prev_start_req_;
 
-  Beaming_info_list * beam_info_p_;
-  Beaming_info_list * finished_beam_info_p_;  
+  Beaming_info_list * beam_info_;
+  Beaming_info_list * finished_beam_info_;  
 
   /// location  within measure where beam started.
   Moment beam_start_location_;
@@ -84,10 +84,10 @@ Beam_engraver::valid_end_moment()
 
 Beam_engraver::Beam_engraver ()
 {
-  beam_p_ = 0;
-  finished_beam_p_ =0;
-  finished_beam_info_p_=0;
-  beam_info_p_ =0;
+  beam_ = 0;
+  finished_beam_ =0;
+  finished_beam_info_=0;
+  beam_info_ =0;
   reqs_drul_[LEFT] = reqs_drul_[RIGHT] =0;
   prev_start_req_ =0;
   
@@ -103,9 +103,9 @@ Beam_engraver::try_music (Music *m)
 	{
 	  reqs_drul_[START] = 0;
 	  reqs_drul_[STOP] = 0;
-	  if (beam_p_)
-	    beam_p_->suicide ();
-	  beam_p_ = 0;
+	  if (beam_)
+	    beam_->suicide ();
+	  beam_ = 0;
 	}
       else if (scm_equal_p (c->get_mus_property ("span-type"),
 			    ly_str02scm ("beam")) == SCM_BOOL_T)
@@ -139,7 +139,7 @@ Beam_engraver::try_music (Music *m)
 void
 Beam_engraver::set_melisma (bool m)
 {
-  daddy_trans_l_->set_property ("beamMelismaBusy", m ? SCM_BOOL_T :SCM_BOOL_F);
+  daddy_trans_->set_property ("beamMelismaBusy", m ? SCM_BOOL_T :SCM_BOOL_F);
 }
 
 void
@@ -148,39 +148,39 @@ Beam_engraver::process_music ()
   if (reqs_drul_[STOP])
     {
       prev_start_req_ =0;
-      finished_beam_p_ = beam_p_;
-      finished_beam_info_p_ = beam_info_p_;
+      finished_beam_ = beam_;
+      finished_beam_info_ = beam_info_;
 
-      beam_info_p_ =0;
-      beam_p_ = 0;
+      beam_info_ =0;
+      beam_ = 0;
     }
 
 
-  if (beam_p_)
+  if (beam_)
     {
       top_engraver ()->forbid_breaks ();
     }
   if (reqs_drul_[START])
     {
-      if (beam_p_)
+      if (beam_)
 	{
 	  reqs_drul_[START]->origin ()->warning (_ ("already have a beam"));
 	  return;
 	}
 
       prev_start_req_ = reqs_drul_[START];
-      beam_p_ = new Spanner (get_property ("Beam"));
+      beam_ = new Spanner (get_property ("Beam"));
       SCM smp = get_property ("measurePosition");
       Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
 
       beam_start_location_ = mp;
       beam_start_mom_ = now_mom ();
       
-      beam_info_p_ = new Beaming_info_list;
+      beam_info_ = new Beaming_info_list;
       
       /* urg, must copy to Auto_beam_engraver too */
  
-      announce_grob(beam_p_, reqs_drul_[START]->self_scm());
+      announce_grob(beam_, reqs_drul_[START]->self_scm());
     }
 
 }
@@ -189,14 +189,14 @@ Beam_engraver::process_music ()
 void
 Beam_engraver::typeset_beam ()
 {
-  if (finished_beam_p_)
+  if (finished_beam_)
     {
-      finished_beam_info_p_->beamify(beat_length_, subdivide_beams_);
-      Beam::set_beaming (finished_beam_p_, finished_beam_info_p_);
-      typeset_grob (finished_beam_p_);
-      delete finished_beam_info_p_;
-      finished_beam_info_p_ =0;
-      finished_beam_p_ = 0;
+      finished_beam_info_->beamify(beat_length_, subdivide_beams_);
+      Beam::set_beaming (finished_beam_, finished_beam_info_);
+      typeset_grob (finished_beam_);
+      delete finished_beam_info_;
+      finished_beam_info_ =0;
+      finished_beam_ = 0;
     }
 }
 
@@ -206,7 +206,7 @@ Beam_engraver::start_translation_timeste
   reqs_drul_ [START] =0;
   reqs_drul_[STOP] = 0;
   
-  if (beam_p_)
+  if (beam_)
     {
       SCM m = get_property ("automaticMelismata");
       SCM b = get_property ("autoBeaming");
@@ -229,36 +229,36 @@ void
 Beam_engraver::finalize ()
 {
   typeset_beam ();
-  if (beam_p_)
+  if (beam_)
     {
       prev_start_req_->origin ()->warning (_ ("unterminated beam"));
 
       /*
 	we don't typeset it, (we used to, but it was commented
 	out. Reason unknown) */
-      beam_p_->suicide ();
-      delete beam_info_p_;
+      beam_->suicide ();
+      delete beam_info_;
     }
 }
 
 void
 Beam_engraver::acknowledge_grob (Grob_info info)
 {
-  if (beam_p_)
+  if (beam_)
     {
-      if (Rest::has_interface (info.grob_l_))
+      if (Rest::has_interface (info.grob_))
 	{
-	  info.grob_l_->add_offset_callback (Beam::rest_collision_callback_proc, Y_AXIS);
+	  info.grob_->add_offset_callback (Beam::rest_collision_callback_proc, Y_AXIS);
 	}
-      else if (Stem::has_interface (info.grob_l_))
+      else if (Stem::has_interface (info.grob_))
 	{
 	  Moment now = now_mom();
 
 	  if (!valid_start_moment ())
 	    return ;
 	  
-	  Item *stem_l = dynamic_cast<Item*> (info.grob_l_);
-	  if (Stem::beam_l (stem_l))
+	  Item *stem = dynamic_cast<Item*> (info.grob_);
+	  if (Stem::get_beam (stem))
 	    return;
 
 	  Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *> (info.music_cause ());
@@ -287,12 +287,12 @@ Beam_engraver::acknowledge_grob (Grob_in
 	      */
 	    }
 
-	  stem_l->set_grob_property ("duration-log",
+	  stem->set_grob_property ("duration-log",
 				    gh_int2scm (durlog));
 	  Moment stem_location = now - beam_start_mom_ + beam_start_location_;
-	  beam_info_p_->add_stem (stem_location,
+	  beam_info_->add_stem (stem_location,
  (durlog- 2) >? 0);
-	  Beam::add_stem (beam_p_, stem_l);
+	  Beam::add_stem (beam_, stem);
 	}
     }
 }
@@ -336,7 +336,7 @@ Grace_beam_engraver::valid_start_moment(
 bool
 Grace_beam_engraver::valid_end_moment ()
 {
-  return beam_p_ && last_stem_added_at_.grace_part_ != Rational(0);
+  return beam_ && last_stem_added_at_.grace_part_ != Rational(0);
 }
 
 
diff -purN ../lilypond-1.5.69/lily/beam-quanting.cc ./lily/beam-quanting.cc
--- ../lilypond-1.5.69/lily/beam-quanting.cc	Mon Jul 22 12:21:58 2002
+++ ./lily/beam-quanting.cc	Fri Jul 26 12:26:58 2002
@@ -74,7 +74,7 @@ Beam::quanting (SCM smob)
 
   Real ss = Staff_symbol_referencer::staff_space (me);
   Real thickness = gh_scm2double (me->get_grob_property ("thickness")) / ss;
-  Real slt = me->paper_l ()->get_var ("linethickness") / ss;
+  Real slt = me->get_paper ()->get_var ("linethickness") / ss;
 
 
   SCM sdy = me->get_grob_property ("least-squares-dy");
@@ -191,7 +191,7 @@ Beam::quanting (SCM smob)
   for (int i = qscores.size (); i--;)
     {
       qscores[i].demerits
-	+= score_slopes_dy (me, qscores[i].yl, qscores[i].yr,
+	+= score_slopes_dy (qscores[i].yl, qscores[i].yr,
 			    dy_mus, yr- yl, xstaff); 
     }
 
@@ -206,12 +206,12 @@ Beam::quanting (SCM smob)
     if (qscores[i].demerits < reasonable_score)
       {
 	qscores[i].demerits
-	  += score_forbidden_quants (me, qscores[i].yl, qscores[i].yr,
+	  += score_forbidden_quants (qscores[i].yl, qscores[i].yr,
 				     rad, slt, thickness, beam_translation,
 				     beam_count, ldir, rdir); 
       }
 
-
+  ; /* silly gdb thinks best_idx is inside for loop. */
   for (int i = qscores.size (); i--;)
     if (qscores[i].demerits < reasonable_score)
       {
@@ -220,10 +220,10 @@ Beam::quanting (SCM smob)
 				 base_lengths, stem_xposns,
 				 xl, xr,
 				 knee_b,
-				 me, qscores[i].yl, qscores[i].yr);
+				 qscores[i].yl, qscores[i].yr);
       }
 
-
+  ; /* silly gdb thinks best_idx is inside for loop. */
   int best_idx = best_quant_score_idx (qscores);
   me->set_grob_property ("positions",
 			 gh_cons (gh_double2scm (qscores[best_idx].yl),
@@ -248,7 +248,6 @@ Beam::score_stem_lengths (Link_array<Gro
 			  Array<Real> stem_xs,
 			  Real xl, Real xr, 
 			  bool knee, 
-			  Grob*me,
 			  Real yl, Real yr)
 {
   Real pen = STEM_LENGTH_LIMIT_PENALTY;
@@ -297,8 +296,7 @@ Beam::score_stem_lengths (Link_array<Gro
 }
 
 Real
-Beam::score_slopes_dy (Grob *me,
-		       Real yl, Real yr,
+Beam::score_slopes_dy (Real yl, Real yr,
 		       Real dy_mus, Real dy_damp,
 		       bool xstaff)
 {
@@ -333,8 +331,7 @@ my_modf (Real x)
 }
 
 Real
-Beam::score_forbidden_quants (Grob*me,
-			      Real yl, Real yr,
+Beam::score_forbidden_quants (Real yl, Real yr,
 			      Real rad,
 			      Real slt,
 			      Real thickness, Real beam_translation,
diff -purN ../lilypond-1.5.69/lily/beam.cc ./lily/beam.cc
--- ../lilypond-1.5.69/lily/beam.cc	Mon Jul 22 12:21:58 2002
+++ ./lily/beam.cc	Fri Jul 26 12:26:58 2002
@@ -63,7 +63,7 @@ Beam::add_stem (Grob *me, Grob *s)
   
   s->add_dependency (me);
 
-  assert (!Stem::beam_l (s));
+  assert (!Stem::get_beam (s));
   s->set_grob_property ("beam", me->self_scm ());
 
   add_bound_item (dynamic_cast<Spanner*> (me), dynamic_cast<Item*> (s));
@@ -104,7 +104,7 @@ Beam::space_function (SCM smob, SCM beam
   Grob *me = unsmob_grob (smob);
   
   Real staff_space = Staff_symbol_referencer::staff_space (me);
-  Real line = me->paper_l ()->get_var ("linethickness");
+  Real line = me->get_paper ()->get_var ("linethickness");
   Real thickness = gh_scm2double (me->get_grob_property ("thickness"))
     * staff_space;
   
@@ -279,7 +279,7 @@ Beam::brew_molecule (SCM grob)
 
   SCM gap = me->get_grob_property ("gap");
   Molecule the_beam;
-  Real lt = me->paper_l ()->get_var ("linethickness");
+  Real lt = me->get_paper ()->get_var ("linethickness");
   for (int i = 0; i< stems.size(); i++)
     {
       Grob * st =stems[i];
@@ -408,16 +408,16 @@ Beam::brew_molecule (SCM grob)
       String str;
       if (1)
 	{
-	  str += to_str (gh_scm2int (me->get_grob_property ("best-idx")));
+	  str += to_string (gh_scm2int (me->get_grob_property ("best-idx")));
 	  str += ":";
 	}
-      str += to_str (gh_scm2double (me->get_grob_property ("quant-score")),
+      str += to_string (gh_scm2double (me->get_grob_property ("quant-score")),
 		     "%.2f");
 
       SCM properties = Font_interface::font_alist_chain (me);
 
       
-      Molecule tm = Text_item::text2molecule (me, ly_str02scm (str.ch_C ()), properties);
+      Molecule tm = Text_item::text2molecule (me, ly_str02scm (str.to_str0 ()), properties);
       the_beam.add_at_edge (Y_AXIS, UP, tm, 5.0);
     }
 #endif
@@ -484,75 +484,95 @@ Beam::set_stem_directions (Grob *me, Dir
   for (int i=0; i <stems.size (); i++)
     {
       Grob *s = stems[i];
-      SCM force = s->remove_grob_property ("dir-forced");
-      if (!gh_boolean_p (force) || !gh_scm2bool (force))
-	Directional_element_interface::set (s, d);
+      /* For knees, non-forced stems should probably have their
+	 natural direction. In any case, when knee, beam direction is
+	 foe.
+	 
+	 TODO: for x staff knees, set direction pointing to 'the
+	 other' staff, rather than natural.
+      */
+      if (knee_b(me))
+	{
+	  Stem::get_direction (s); // this actually sets it, if necessary
+	}
+      else
+	{
+	  SCM force = s->remove_grob_property ("dir-forced");
+	  if (!gh_boolean_p (force) || !gh_scm2bool (force))
+	    Directional_element_interface::set (s, d);
+	}
     }
 } 
 
 /* Simplistic auto-knees; only consider vertical gap between two
    adjacent chords.
 
-  `Forced' stem directions are ignored.  If you don't want auto-knees,
-  don't set, or unset auto-knee-gap. */
+   This may decide for a knee that's impossible to fit sane scoring
+   criteria (eg, stem lengths).  We may need something smarter. */
 void
 Beam::consider_auto_knees (Grob *me, Direction d)
 {
   SCM scm = me->get_grob_property ("auto-knee-gap");
 
-  if (gh_number_p (scm))
-    {
-      bool knee_b = false;
-      Real knee_y = 0;
-      Real staff_space = Staff_symbol_referencer::staff_space (me);
-      Real gap = gh_scm2double (scm) / staff_space;
+  if (!gh_number_p (scm))
+    return;
+  
+  bool knee_b = false;
+  
+  Real staff_space = Staff_symbol_referencer::staff_space (me);
+  Real gap = gh_scm2double (scm) / staff_space;
 
-      Link_array<Grob> stems=
-	Pointer_group_interface__extract_grobs (me, (Grob*)0, "stems");
+  Link_array<Grob> stems=
+    Pointer_group_interface__extract_grobs (me, (Grob*)0, "stems");
       
-      Grob *common = common_refpoint_of_array (stems, me,  Y_AXIS);
+  Grob *common = common_refpoint_of_array (stems, me,  Y_AXIS);
 
-      int l = 0;
-      for (int i=1; i < stems.size (); i++)
-        {
-	  if (!Stem::invisible_b (stems[i-1]))
-	    l = i - 1;
-	  if (Stem::invisible_b (stems[l]))
-	    continue;
-	  if (Stem::invisible_b (stems[i]))
-	    continue;
+  int l = 0;
+  for (int r=1; r < stems.size (); r++)
+    {
+      if (!Stem::invisible_b (stems[r-1]))
+	l = r - 1;
+      Grob *right = stems[r];
+      Grob *left = stems[l];
+      if (Stem::invisible_b (left))
+	continue;
+      if (Stem::invisible_b (right))
+	continue;
 	  
-	  Real left = Stem::extremal_heads (stems[l])[d]
-	    ->relative_coordinate (common, Y_AXIS);
-	  Real right = Stem::extremal_heads (stems[i])[-d]
-	    ->relative_coordinate (common, Y_AXIS);
+      Real left_y = Stem::extremal_heads (left)[d]
+	->relative_coordinate (common, Y_AXIS);
+      Real right_y = Stem::extremal_heads (right)[-d]
+	->relative_coordinate (common, Y_AXIS);
 
-	  Real dy = right - left;
+      Real dy = right_y - left_y;
 
-	  if (abs (dy) >= gap)
-	    {
-	      knee_y = (right + left) / 2;
-	      knee_b = true;
-	      break;
-	    }
-	}
-      
-      if (knee_b)
+      if (abs (dy) >= gap)
 	{
-	  for (int i=0; i < stems.size (); i++)
+	  knee_b = true;
+	  Direction knee_dir = (right_y > left_y ? UP : DOWN);
+	  if (!Stem::invisible_b (left)
+	      && left->get_grob_property ("dir-forced") != SCM_BOOL_T)
 	    {
-	      Grob *s = stems[i];	  
-	      if (Stem::invisible_b (s) || 
-		  s->get_grob_property ("dir-forced") == SCM_BOOL_T)
-		continue;
-	      Real y = Stem::extremal_heads (stems[i])[d]
-		->relative_coordinate (common, Y_AXIS);
+	      Directional_element_interface::set (left, knee_dir);
+	      left->set_grob_property ("dir-forced", SCM_BOOL_T);
 
-	      Directional_element_interface::set (s, y < knee_y ? UP : DOWN);
-	      s->set_grob_property ("dir-forced", SCM_BOOL_T);
+	    }
+	  if (!Stem::invisible_b (right)
+	      && stems[r]->get_grob_property ("dir-forced") != SCM_BOOL_T)
+	    {
+	      Directional_element_interface::set (right, -knee_dir);
+	      right->set_grob_property ("dir-forced", SCM_BOOL_T);
 	    }
 	}
     }
+
+  if (knee_b)
+    {
+      me->set_grob_property ("knee", SCM_BOOL_T);
+       
+      for (int i=0; i < stems.size (); i++)
+	stems[i]->set_grob_property ("stem-info", SCM_EOL);
+    }
 }
 
 /* Set stem's shorten property if unset.
@@ -1274,31 +1294,29 @@ Beam::rest_collision_callback (SCM eleme
 bool
 Beam::knee_b (Grob*me)
 {
-  SCM k=   me->get_grob_property ("knee");
-  if (gh_boolean_p(k))
+  SCM k = me->get_grob_property ("knee");
+  if (gh_boolean_p (k))
     return gh_scm2bool (k);
 
-  Link_array<Grob> stems=
-    Pointer_group_interface__extract_grobs (me, (Grob*)0, "stems");
-
-  Drul_array<bool> dirs_found(0,0);
-  
-  for (int i= 0; i < stems.size(); i++)
+  bool knee = false;
+  int d = 0;
+  for (SCM s = me->get_grob_property ("stems"); gh_pair_p (s); s = ly_cdr (s))
     {
-      Grob*s = stems[i];
-      dirs_found[Directional_element_interface::get(s)] = true;
-
-      if (dirs_found[LEFT]&&dirs_found[RIGHT])
-	break;
+      Direction dir = Directional_element_interface::get
+	(unsmob_grob (ly_car (s)));
+      if (d && d != dir)
+	{
+	  knee = true;
+	  break;
+	}
+      d = dir;
     }
-
-  bool knee = dirs_found[LEFT]&&dirs_found[RIGHT];
+  
   me->set_grob_property ("knee", gh_bool2scm (knee));
 
   return knee;
 }
 
-
 ADD_INTERFACE (Beam, "beam-interface",
   "A beam.
 
diff -purN ../lilypond-1.5.69/lily/bezier.cc ./lily/bezier.cc
--- ../lilypond-1.5.69/lily/bezier.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/bezier.cc	Fri Jul 26 12:26:58 2002
@@ -30,28 +30,28 @@ binomial_coefficient (Real over , int un
 }
 
 void
-scale (Array<Offset>* arr_p, Real x , Real y)
+scale (Array<Offset>* array, Real x , Real y)
 {
-  for (int i = 0; i < arr_p->size (); i++)
+  for (int i = 0; i < array->size (); i++)
     {
-      (*arr_p)[i][X_AXIS] = x* (*arr_p)[i][X_AXIS];
-      (*arr_p)[i][Y_AXIS] = y* (*arr_p)[i][Y_AXIS];
+      (*array)[i][X_AXIS] = x* (*array)[i][X_AXIS];
+      (*array)[i][Y_AXIS] = y* (*array)[i][Y_AXIS];
     }
 }
 
 void
-rotate (Array<Offset>* arr_p, Real phi)
+rotate (Array<Offset>* array, Real phi)
 {
   Offset rot (complex_exp (Offset (0, phi)));
-  for (int i = 0; i < arr_p->size (); i++)
-    (*arr_p)[i] = complex_multiply (rot, (*arr_p)[i]);
+  for (int i = 0; i < array->size (); i++)
+    (*array)[i] = complex_multiply (rot, (*array)[i]);
 }
 
 void
-translate (Array<Offset>* arr_p, Offset o)
+translate (Array<Offset>* array, Offset o)
 {
-  for (int i = 0; i < arr_p->size (); i++)
-    (*arr_p)[i] += o;
+  for (int i = 0; i < array->size (); i++)
+    (*array)[i] += o;
 }
 
 /*
diff -purN ../lilypond-1.5.69/lily/break-algorithm.cc ./lily/break-algorithm.cc
--- ../lilypond-1.5.69/lily/break-algorithm.cc	Fri Jul 12 01:07:09 2002
+++ ./lily/break-algorithm.cc	Fri Jul 26 12:26:58 2002
@@ -21,14 +21,14 @@
 Array<int>
 Break_algorithm::find_break_indices () const
 {
-  Link_array<Grob> all = pscore_l_->line_l_->column_l_arr ();
+  Link_array<Grob> all = pscore_->system_->columns ();
   Array<int> retval;
 
   for (int i=0; i < all.size (); i++)
     if (Item::breakable_b (all[i]))
       retval.push (i);
 
-  if (linewidth_f_ <=0)
+  if (linewidth_ <=0)
     while (retval.size () >2)
       retval.del (1);
 
@@ -39,14 +39,14 @@ Break_algorithm::find_break_indices () c
 Link_array<Grob>
 Break_algorithm::find_breaks () const
 {
-  Link_array<Grob> all = pscore_l_->line_l_->column_l_arr ();
+  Link_array<Grob> all = pscore_->system_->columns ();
   Link_array<Grob> retval;
 
   for (int i=0; i < all.size (); i++)
     if (Item::breakable_b (all[i]))
       retval.push (all[i]);
 
-  if (linewidth_f_ <=0)
+  if (linewidth_ <=0)
     while (retval.size () >2)
       retval.del (1);
 
@@ -64,20 +64,20 @@ Break_algorithm::generate_spacing_proble
     this is hardcoded, but this shouldn't happen anyway.
     used to be get_var ("loose_column_distance");        
    */
-  sp->default_space_f_ = 1.0;
+  sp->default_space_ = 1.0;
 
 
-  sp->indent_f_ = line[LEFT];
+  sp->indent_ = line[LEFT];
 
   /*
     sort out how interfacing this should work;
    */
   if (line.empty_b ())
     {
-     sp->line_len_f_ = -1;
+     sp->line_len_ = -1;
     }
   else
-    sp->line_len_f_ = line.length ();
+    sp->line_len_ = line.length ();
   
   sp->add_columns (curline);
 
@@ -87,15 +87,15 @@ Break_algorithm::generate_spacing_proble
 
 Break_algorithm::Break_algorithm ()
 {
-  pscore_l_ = 0;
-  linewidth_f_ = 0;
+  pscore_ = 0;
+  linewidth_ = 0;
 }
 
 void
 Break_algorithm::set_pscore (Paper_score*s)
 {
-  pscore_l_ = s;
-  linewidth_f_ = s->paper_l_->get_var ("linewidth");
+  pscore_ = s;
+  linewidth_ = s->paper_->get_var ("linewidth");
 }
 
 Array<Column_x_positions>
diff -purN ../lilypond-1.5.69/lily/break-align-engraver.cc ./lily/break-align-engraver.cc
--- ../lilypond-1.5.69/lily/break-align-engraver.cc	Sun Jul  7 15:41:22 2002
+++ ./lily/break-align-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -16,7 +16,7 @@
 
 class Break_align_engraver : public Engraver
 {
-  Item *align_l_;
+  Item *align_;
   Protected_scm column_alist_;
   void add_to_group (SCM,Item*);
 protected:
@@ -33,7 +33,7 @@ void
 Break_align_engraver::add_column (SCM smob)
 {
   Grob * e = unsmob_grob (smob);
-  Break_align_interface::add_element (align_l_,e);
+  Break_align_interface::add_element (align_,e);
   typeset_grob (e);
 }
 
@@ -66,10 +66,10 @@ Break_align_engraver::stop_translation_t
   
   column_alist_ = SCM_EOL;
 
-  if (align_l_)
+  if (align_)
     {
-      typeset_grob (align_l_);
-      align_l_ = 0;
+      typeset_grob (align_);
+      align_ = 0;
     }
 }
 
@@ -77,43 +77,43 @@ Break_align_engraver::stop_translation_t
 Break_align_engraver::Break_align_engraver ()
 {
   column_alist_ = SCM_EOL;
-  align_l_ =0;
+  align_ =0;
 }
 
 void
 Break_align_engraver::acknowledge_grob (Grob_info inf)
 {
-  if (Item * item_l = dynamic_cast <Item *> (inf.grob_l_))
+  if (Item * item = dynamic_cast <Item *> (inf.grob_))
     {
-      if (item_l->empty_b (X_AXIS) || item_l->get_parent (X_AXIS))
+      if (item->empty_b (X_AXIS) || item->get_parent (X_AXIS))
 	return;
 
-      SCM bp=item_l->get_grob_property ("breakable");
+      SCM bp=item->get_grob_property ("breakable");
       bool breakable = (to_boolean (bp));
       if (!breakable)
 	return ;
 
-      SCM align_name = item_l->get_grob_property ("break-align-symbol");
+      SCM align_name = item->get_grob_property ("break-align-symbol");
       if (!gh_symbol_p (align_name))
 	return ;
 
-      if (!align_l_)
+      if (!align_)
 	{
-	  align_l_ = new Item (get_property ("BreakAlignment"));
+	  align_ = new Item (get_property ("BreakAlignment"));
 
-	  announce_grob (align_l_, SCM_EOL);
+	  announce_grob (align_, SCM_EOL);
 
 	  Item * edge = new Item (get_property ("LeftEdge"));
 	  add_to_group (edge->get_grob_property ("break-align-symbol"), edge);
 	  announce_grob(edge, SCM_EOL);
 	}
       
-      add_to_group (align_name, item_l);
+      add_to_group (align_name, item);
     }
 }
 
 void
-Break_align_engraver::add_to_group(SCM align_name, Item*item_l)
+Break_align_engraver::add_to_group(SCM align_name, Item*item)
 {
   SCM s = scm_assoc (align_name, column_alist_);
   Item * group = 0;
@@ -128,13 +128,13 @@ Break_align_engraver::add_to_group(SCM a
       group = new Item (get_property ("BreakAlignGroup"));
 
       group->set_grob_property ("break-align-symbol", align_name);
-      group->set_parent (align_l_, Y_AXIS);
-      announce_grob(group, item_l->self_scm());
+      group->set_parent (align_, Y_AXIS);
+      announce_grob(group, item->self_scm());
 	  
       column_alist_ = scm_assoc_set_x (column_alist_, align_name, group->self_scm ());
 
     }
-  Axis_group_interface::add_element (group, item_l);
+  Axis_group_interface::add_element (group, item);
 }
 
 ENTER_DESCRIPTION(Break_align_engraver,
diff -purN ../lilypond-1.5.69/lily/break-align-interface.cc ./lily/break-align-interface.cc
--- ../lilypond-1.5.69/lily/break-align-interface.cc	Wed Jul  3 13:57:22 2002
+++ ./lily/break-align-interface.cc	Fri Jul 26 12:26:58 2002
@@ -155,17 +155,17 @@ Break_align_interface::do_alignment (Gro
       bool entry_found = gh_pair_p (entry);
       if (!entry_found)
 	{
-	  String sym_str;
-	  if(gh_symbol_p(rsym))
-	    sym_str = ly_symbol2string (rsym);
+	  String sym_string;
+	  if(gh_symbol_p (rsym))
+	    sym_string = ly_symbol2string (rsym);
 
-	  String orig_str ;
+	  String orig_string ;
 	  if (unsmob_grob (l->get_grob_property ("cause")))
-	    orig_str = unsmob_grob (l->get_grob_property ("cause"))->name ();
+	    orig_string = unsmob_grob (l->get_grob_property ("cause"))->name ();
 	  
 	  programming_error (_f("No spacing entry from %s to `%s'",
-				orig_str.ch_C (),
-				sym_str.ch_C()));
+				orig_string.to_str0 (),
+				sym_string.to_str0 ()));
 	}
 
       Real distance = 1.0;
diff -purN ../lilypond-1.5.69/lily/break-substitution.cc ./lily/break-substitution.cc
--- ../lilypond-1.5.69/lily/break-substitution.cc	Wed Jul  3 13:57:22 2002
+++ ./lily/break-substitution.cc	Thu Jul 25 12:40:28 2002
@@ -30,17 +30,17 @@ substitute_grob (Grob *sc)
     {
       System * line
 	= dynamic_cast<System*> (unsmob_grob (break_criterion));
-      if (sc->line_l () != line)
+      if (sc->get_system () != line)
 	{
 	  sc = sc->find_broken_piece (line);
 
 	}
 	  
-      /* now: !sc || (sc && sc->line_l () == line) */
+      /* now: !sc || (sc && sc->get_system () == line) */
       if (!sc)
 	return SCM_UNDEFINED;
 
-      /* now: sc && sc->line_l () == line */
+      /* now: sc && sc->get_system () == line */
       if (!line)
 	return sc->self_scm();
 
diff -purN ../lilypond-1.5.69/lily/breathing-sign-engraver.cc ./lily/breathing-sign-engraver.cc
--- ../lilypond-1.5.69/lily/breathing-sign-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/breathing-sign-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -27,28 +27,28 @@ public:
   TRANSLATOR_DECLARATIONS(Breathing_sign_engraver);
   
 protected:
-  virtual bool try_music (Music *req_l);
+  virtual bool try_music (Music *req);
   virtual void process_acknowledged_grobs ();
   virtual void stop_translation_timestep ();
   virtual void start_translation_timestep ();
 
 private:
-  Breathing_sign_req * breathing_sign_req_l_;
-  Grob * breathing_sign_p_;
+  Breathing_sign_req * breathing_sign_req_;
+  Grob * breathing_sign_;
 };
 
 Breathing_sign_engraver::Breathing_sign_engraver ()
 {
-  breathing_sign_p_ = 0;
-  breathing_sign_req_l_ = 0;
+  breathing_sign_ = 0;
+  breathing_sign_req_ = 0;
 }
 
 bool
-Breathing_sign_engraver::try_music (Music*r_l)
+Breathing_sign_engraver::try_music (Music*r)
 {
-  if (Breathing_sign_req  * b= dynamic_cast <Breathing_sign_req *> (r_l))
+  if (Breathing_sign_req  * b= dynamic_cast <Breathing_sign_req *> (r))
     {
-      breathing_sign_req_l_ = b;
+      breathing_sign_req_ = b;
       return true;
     }
  
@@ -58,30 +58,30 @@ Breathing_sign_engraver::try_music (Musi
 void
 Breathing_sign_engraver::process_acknowledged_grobs ()
 {
-  if (breathing_sign_req_l_ && ! breathing_sign_p_)
+  if (breathing_sign_req_ && ! breathing_sign_)
     {
       SCM b = get_property ("BreathingSign");
-      breathing_sign_p_ = new Item (b);
+      breathing_sign_ = new Item (b);
 
-      announce_grob(breathing_sign_p_, breathing_sign_req_l_->self_scm());
-      breathing_sign_req_l_ = 0;
+      announce_grob(breathing_sign_, breathing_sign_req_->self_scm());
+      breathing_sign_req_ = 0;
     }
 }
 
 void 
 Breathing_sign_engraver::stop_translation_timestep ()
 {
-  if (breathing_sign_p_)
+  if (breathing_sign_)
     {
-      typeset_grob (breathing_sign_p_);
-      breathing_sign_p_ = 0;
+      typeset_grob (breathing_sign_);
+      breathing_sign_ = 0;
     }
 }
 
 void
 Breathing_sign_engraver::start_translation_timestep ()
 {
-  breathing_sign_req_l_ = 0;
+  breathing_sign_req_ = 0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/change-iterator.cc ./lily/change-iterator.cc
--- ../lilypond-1.5.69/lily/change-iterator.cc	Thu Jul 11 12:55:23 2002
+++ ./lily/change-iterator.cc	Fri Jul 26 12:26:58 2002
@@ -16,8 +16,8 @@
 void
 Change_iterator::error (String reason)
 {
-  String to_type = ly_scm2string (music_l ()->get_mus_property ("change-to-type"));
-  String to_id =  ly_scm2string (music_l ()->get_mus_property ("change-to-id"));
+  String to_type = ly_scm2string (get_music ()->get_mus_property ("change-to-type"));
+  String to_id =  ly_scm2string (get_music ()->get_mus_property ("change-to-id"));
 
   String warn1 = _f ("can't change `%s' to `%s'", to_type, to_id) 
     + ": " + reason;
@@ -25,10 +25,10 @@ Change_iterator::error (String reason)
     GUHG!
    */
   String warn2= "Change_iterator::process (): " 
-    + report_to_l ()->type_str_ + " = `"
-    + report_to_l ()->id_str_ + "': ";
+    + report_to ()->type_string_ + " = `"
+    + report_to ()->id_string_ + "': ";
   warning (warn2);
-  music_l ()->origin ()->warning (warn1);
+  get_music ()->origin ()->warning (warn1);
 }
 
 /*
@@ -37,24 +37,24 @@ Change_iterator::error (String reason)
 void
 Change_iterator::process (Moment m)
 {
-  Translator_group * current = report_to_l ();
+  Translator_group * current = report_to ();
   Translator_group * last = 0;
 
-  String to_type = ly_scm2string (music_l ()->get_mus_property ("change-to-type"));
-  String to_id =  ly_scm2string (music_l ()->get_mus_property ("change-to-id"));
+  String to_type = ly_scm2string (get_music ()->get_mus_property ("change-to-type"));
+  String to_id =  ly_scm2string (get_music ()->get_mus_property ("change-to-id"));
 
 
   /* find the type  of translator that we're changing.
      
      If \translator Staff = bass, then look for Staff = *
    */
-  while (current && current->type_str_ != to_type)
+  while (current && current->type_string_ != to_type)
     {
       last = current;
-      current = current->daddy_trans_l_;
+      current = current->daddy_trans_;
     }
 
-  if (current && current->id_str_ == to_id)
+  if (current && current->id_string_ == to_id)
     {
       String msg;
       msg += _ ("Can't switch translators, I'm there already");
@@ -64,8 +64,8 @@ Change_iterator::process (Moment m)
     if (last)
       {
 	Translator_group * dest = 
-	  report_to_l ()->find_create_translator_l (to_type, to_id);
-	current->remove_translator_p (last);
+	  report_to ()->find_create_translator (to_type, to_id);
+	current->remove_translator (last);
 	dest->add_used_group_translator (last);
       }
     else
@@ -74,7 +74,7 @@ Change_iterator::process (Moment m)
 	  We could change the current translator's id, but that would make 
 	  errors hard to catch
 	  
-	   last->translator_id_str_  = change_l ()->change_to_id_str_;
+	   last->translator_id_string_  = get_change ()->change_to_id_string_;
 	*/
 	error (_ ("I'm one myself"));
       }
diff -purN ../lilypond-1.5.69/lily/chord-name-engraver.cc ./lily/chord-name-engraver.cc
--- ../lilypond-1.5.69/lily/chord-name-engraver.cc	Sun Jul  7 15:41:22 2002
+++ ./lily/chord-name-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -30,7 +30,7 @@ protected:
 private:
   void add_note (Note_req *);
   
-  Item* chord_name_p_;
+  Item* chord_name_;
 
   Protected_scm chord_;
   Protected_scm last_chord_;
@@ -40,7 +40,7 @@ private:
 
 Chord_name_engraver::Chord_name_engraver ()
 {
-  chord_name_p_ = 0;
+  chord_name_ = 0;
   chord_ = gh_cons (SCM_EOL, gh_cons (SCM_EOL, SCM_EOL));
   last_chord_ = chord_;
 }
@@ -79,24 +79,24 @@ Chord_name_engraver::process_music ()
 {
   if (ly_car (chord_) != SCM_EOL)
     {
-      chord_name_p_ = new Item (get_property ("ChordName"));
-      chord_name_p_->set_grob_property ("chord", chord_);
-      announce_grob(chord_name_p_, SCM_EOL);
+      chord_name_ = new Item (get_property ("ChordName"));
+      chord_name_->set_grob_property ("chord", chord_);
+      announce_grob(chord_name_, SCM_EOL);
       SCM s = get_property ("chordChanges");
       if (to_boolean (s) && ly_car (last_chord_) != SCM_EOL
 	  	  && gh_equal_p (chord_, last_chord_))
-	chord_name_p_->set_grob_property ("begin-of-line-visible", SCM_BOOL_T);
+	chord_name_->set_grob_property ("begin-of-line-visible", SCM_BOOL_T);
     }
 }
 
 void
 Chord_name_engraver::stop_translation_timestep ()
 {
-  if (chord_name_p_)
+  if (chord_name_)
     {
-      typeset_grob (chord_name_p_);
+      typeset_grob (chord_name_);
     }
-  chord_name_p_ = 0;
+  chord_name_ = 0;
 
   if (ly_car (chord_) != SCM_EOL)
     last_chord_ = chord_;
diff -purN ../lilypond-1.5.69/lily/chord-name.cc ./lily/chord-name.cc
--- ../lilypond-1.5.69/lily/chord-name.cc	Fri Apr 12 19:43:33 2002
+++ ./lily/chord-name.cc	Fri Jul 26 12:26:58 2002
@@ -26,8 +26,8 @@ Chord_name::after_line_breaking (SCM smo
   SCM s = me->get_grob_property ("begin-of-line-visible");
   if (to_boolean (s))
     {
-      if (Paper_column::rank_i (me->column_l ()) -
-	  me->line_l ()->spanned_rank_iv ()[LEFT] > 1)
+      if (Paper_column::get_rank (me->get_column ()) -
+	  me->get_system ()->spanned_rank_iv ()[LEFT] > 1)
 	me->suicide ();
     }
   return SCM_UNSPECIFIED;
diff -purN ../lilypond-1.5.69/lily/chord-tremolo-engraver.cc ./lily/chord-tremolo-engraver.cc
--- ../lilypond-1.5.69/lily/chord-tremolo-engraver.cc	Wed Jul 17 15:18:44 2002
+++ ./lily/chord-tremolo-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -48,13 +48,13 @@ protected:
   /// moment (global time) where beam started.
   Moment start_mom_;
   Moment stop_mom_;
-  int flags_i_ ;
+  int flags_ ;
   /// location  within measure where beam started.
   Moment beam_start_location_;
 
   bool sequential_body_b_;
-  Spanner * beam_p_;
-  Spanner * finished_beam_p_;
+  Spanner * beam_;
+  Spanner * finished_beam_;
   Item * stem_tremolo_;
 protected:
   virtual void finalize ();
@@ -67,9 +67,9 @@ protected:
 
 Chord_tremolo_engraver::Chord_tremolo_engraver ()
 {
-  beam_p_  = finished_beam_p_ = 0;
+  beam_  = finished_beam_ = 0;
   repeat_ =0;
-  flags_i_ = 0;
+  flags_ = 0;
   stem_tremolo_ = 0;
   sequential_body_b_ = false;
 }
@@ -90,7 +90,7 @@ Chord_tremolo_engraver::try_music (Music
 
       Rational total_dur = l.main_part_;
       Rational note_dur = (total_dur / Rational (repeat_->repeat_count ()));
-       flags_i_ = intlog2 ((total_dur / note_dur).num ());
+       flags_ = intlog2 ((total_dur / note_dur).num ());
       
       return true;
     }
@@ -103,26 +103,26 @@ Chord_tremolo_engraver::process_music ()
 {
   if (repeat_)
     {
-      if (sequential_body_b_ && !beam_p_)
+      if (sequential_body_b_ && !beam_)
 	{
-	  beam_p_ = new Spanner (get_property ("Beam"));
-	  beam_p_->set_grob_property ("chord-tremolo", SCM_BOOL_T);
+	  beam_ = new Spanner (get_property ("Beam"));
+	  beam_->set_grob_property ("chord-tremolo", SCM_BOOL_T);
 
 	  SCM smp = get_property ("measurePosition");
 	  Moment mp
 	    = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
 	  beam_start_location_ = mp;
-	  announce_grob(beam_p_, repeat_->self_scm());
+	  announce_grob(beam_, repeat_->self_scm());
 	}
       else if (!sequential_body_b_ && !stem_tremolo_)
 	{
 
-	  if (flags_i_)
+	  if (flags_)
 	    {
 	      stem_tremolo_ = new Item (get_property ("StemTremolo"));
 	      announce_grob(stem_tremolo_, repeat_->self_scm());
 	      stem_tremolo_->set_grob_property ("flag-count",
-						gh_int2scm (flags_i_));
+						gh_int2scm (flags_));
 
 	    }
 	}
@@ -132,20 +132,20 @@ void
 Chord_tremolo_engraver::finalize ()
 {
   typeset_beam ();
-  if (beam_p_)
+  if (beam_)
     {
       repeat_->origin ()->warning (_ ("unterminated chord tremolo"));
-      beam_p_->suicide ();
+      beam_->suicide ();
     }
 }
 
 void
 Chord_tremolo_engraver::typeset_beam ()
 {
-  if (finished_beam_p_)
+  if (finished_beam_)
     {
-      typeset_grob (finished_beam_p_);
-      finished_beam_p_ = 0;
+      typeset_grob (finished_beam_);
+      finished_beam_ = 0;
     }
 }
 
@@ -153,22 +153,22 @@ Chord_tremolo_engraver::typeset_beam ()
 void
 Chord_tremolo_engraver::acknowledge_grob (Grob_info info)
 {
-  if (beam_p_ && Stem::has_interface (info.grob_l_))
+  if (beam_ && Stem::has_interface (info.grob_))
     {
-      Grob * s = info.grob_l_;
-      Stem::set_beaming (s, flags_i_, LEFT);
-      Stem::set_beaming (s, flags_i_, RIGHT);
+      Grob * s = info.grob_;
+      Stem::set_beaming (s, flags_, LEFT);
+      Stem::set_beaming (s, flags_, RIGHT);
 	  
       SCM d = s->get_grob_property ("direction");
       if (Stem::duration_log (s) != 1)
 	{
-	  beam_p_->set_grob_property ("gap", gh_double2scm (0.8));
+	  beam_->set_grob_property ("gap", gh_double2scm (0.8));
 	}
       s->set_grob_property ("direction", d);
 
       if (dynamic_cast <Rhythmic_req *> (info.music_cause ()))
 	{
-	  Beam::add_stem (beam_p_, s);
+	  Beam::add_stem (beam_, s);
 	}
       else
 	{
@@ -179,10 +179,10 @@ Chord_tremolo_engraver::acknowledge_grob
 	    ::warning (s);
 	}
     }
-  else if (stem_tremolo_ && Stem::has_interface (info.grob_l_))
+  else if (stem_tremolo_ && Stem::has_interface (info.grob_))
     {
-       Stem_tremolo::set_stem (stem_tremolo_, info.grob_l_);
-       stem_tremolo_->set_parent (info.grob_l_,X_AXIS);
+       Stem_tremolo::set_stem (stem_tremolo_, info.grob_);
+       stem_tremolo_->set_parent (info.grob_,X_AXIS);
     }
 }
 
@@ -190,12 +190,12 @@ Chord_tremolo_engraver::acknowledge_grob
 void
 Chord_tremolo_engraver::start_translation_timestep ()
 {
-  if (beam_p_ && stop_mom_ == now_mom ())
+  if (beam_ && stop_mom_ == now_mom ())
     {
-      finished_beam_p_ = beam_p_;
+      finished_beam_ = beam_;
 
       repeat_ = 0;
-      beam_p_ = 0;
+      beam_ = 0;
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/chord-tremolo-iterator.cc ./lily/chord-tremolo-iterator.cc
--- ../lilypond-1.5.69/lily/chord-tremolo-iterator.cc	Wed Jul 17 15:18:44 2002
+++ ./lily/chord-tremolo-iterator.cc	Fri Jul 26 12:26:58 2002
@@ -20,22 +20,22 @@
 void
 Chord_tremolo_iterator::construct_children ()
 {
-  Repeated_music * rep = dynamic_cast<Repeated_music*> (music_l ());
+  Repeated_music * rep = dynamic_cast<Repeated_music*> (get_music ());
   factor_  = Moment (Rational(1, 1));
-  child_iter_p_ = get_iterator_p (rep->body ());
+  child_iter_ = get_iterator (rep->body ());
 }
 
 Chord_tremolo_iterator::Chord_tremolo_iterator ()
 {
   factor_ = 1;
-  child_iter_p_ = 0;
+  child_iter_ = 0;
 }
 
 Chord_tremolo_iterator::Chord_tremolo_iterator (Chord_tremolo_iterator const &src)
   : Music_iterator (src)
 {
   factor_ = src.factor_;
-  child_iter_p_ = src.child_iter_p_ ? src.child_iter_p_->clone () : 0; 
+  child_iter_ = src.child_iter_ ? src.child_iter_->clone () : 0; 
 }
 
 void
@@ -43,37 +43,37 @@ Chord_tremolo_iterator::process (Moment 
 {
   if (!m.to_bool () )
     {
-      Music_iterator *yeah = try_music (music_l ());
+      Music_iterator *yeah = try_music (get_music ());
       if (yeah)
-	set_translator (yeah->report_to_l ());
+	set_translator (yeah->report_to ());
       else
-	music_l ()->origin ()->warning (_ ("no one to print a tremolos"));
+	get_music ()->origin ()->warning (_ ("no one to print a tremolos"));
     }
 
-  child_iter_p_->process (factor_ * m);
+  child_iter_->process (factor_ * m);
 }
 
 Moment
 Chord_tremolo_iterator::pending_moment () const
 {
-  return child_iter_p_->pending_moment () / factor_;
+  return child_iter_->pending_moment () / factor_;
 }
 
 bool
 Chord_tremolo_iterator::ok () const
 {
-  return child_iter_p_ && child_iter_p_->ok ();
+  return child_iter_ && child_iter_->ok ();
 }
 
 Chord_tremolo_iterator::~Chord_tremolo_iterator ()
 {
-  delete child_iter_p_;
+  delete child_iter_;
 }
 
 Music_iterator*
 Chord_tremolo_iterator::try_music_in_children (Music  *m) const
 {
-  return child_iter_p_->try_music (m);
+  return child_iter_->try_music (m);
 }
 
 
diff -purN ../lilypond-1.5.69/lily/chord.cc ./lily/chord.cc
--- ../lilypond-1.5.69/lily/chord.cc	Thu Jul 11 12:55:23 2002
+++ ./lily/chord.cc	Fri Jul 26 12:26:58 2002
@@ -81,8 +81,8 @@ Chord::member_notename (SCM p, SCM pitch
 	    Urg, eindelijk gevonden: () != #f, kan maar niet aan wennen.
 	    Anders kon iets korter...
 	   */
-	  if (unsmob_pitch (p)->notename_i_
-	      == unsmob_pitch (ly_car (i))->notename_i_)
+	  if (unsmob_pitch (p)->notename_
+	      == unsmob_pitch (ly_car (i))->notename_)
 	    {
 	      member = ly_car (i);
 	      break;
@@ -104,10 +104,10 @@ Chord::member_pitch (SCM p, SCM pitches)
     {
       for (SCM i = pitches; gh_pair_p (i); i = ly_cdr (i))
 	{
-	  if (unsmob_pitch (p)->notename_i_
-	      == unsmob_pitch (ly_car (i))->notename_i_
-	      && unsmob_pitch (p)->alteration_i_
-	      == unsmob_pitch (ly_car (i))->alteration_i_)
+	  if (unsmob_pitch (p)->notename_
+	      == unsmob_pitch (ly_car (i))->notename_
+	      && unsmob_pitch (p)->alteration_
+	      == unsmob_pitch (ly_car (i))->alteration_)
 	    {
 	      member = ly_car (i);
 	      break;
@@ -123,10 +123,10 @@ SCM
 Chord::step_scm (SCM tonic, SCM p)
 {
   /* De Pitch intervaas is nog beetje sleutelgat? */
-  int i = unsmob_pitch (p)->notename_i_
-    - unsmob_pitch (tonic)->notename_i_
-    + (unsmob_pitch (p)->octave_i_
-       - unsmob_pitch (tonic)->octave_i_) * 7;
+  int i = unsmob_pitch (p)->notename_
+    - unsmob_pitch (tonic)->notename_
+    + (unsmob_pitch (p)->octave_
+       - unsmob_pitch (tonic)->octave_) * 7;
   while (i < 0)
     i += 7;
   i++;
@@ -165,10 +165,10 @@ Chord::missing_thirds (SCM pitches)
       SCM p = ly_car (i);
       int step = gh_scm2int (step_scm (tonic, p));
       
-      if (unsmob_pitch (last)->notename_i_ == unsmob_pitch (p)->notename_i_)
+      if (unsmob_pitch (last)->notename_ == unsmob_pitch (p)->notename_)
 	{
-	  int third = (unsmob_pitch (last)->notename_i_
-		       - unsmob_pitch (tonic)-> notename_i_ + 7) % 7;
+	  int third = (unsmob_pitch (last)->notename_
+		       - unsmob_pitch (tonic)-> notename_ + 7) % 7;
 	  last = ly_pitch_transpose (last, scm_vector_ref (thirds, gh_int2scm (third)));
 	}
       
@@ -177,8 +177,8 @@ Chord::missing_thirds (SCM pitches)
 	  while (step > gh_scm2int (step_scm (tonic, last)))
 	    {
 	      missing = gh_cons (last, missing);
-	      int third = (unsmob_pitch (last)->notename_i_
-			   - unsmob_pitch (tonic)->notename_i_ + 7) % 7;
+	      int third = (unsmob_pitch (last)->notename_
+			   - unsmob_pitch (tonic)->notename_ + 7) % 7;
 	      last = ly_pitch_transpose (last, scm_vector_ref (thirds,
 						      gh_int2scm (third)));
 	    }
@@ -239,9 +239,9 @@ Chord::tonic_add_sub_to_pitches (SCM ton
 	This chord modifier stuff should really be fixed
        Cmaj7 yields C 7/7-
       */
-      if (p->octave_i ()  == -100)
+      if (p->get_octave ()  == -100)
         {
-          p->octave_i_ = 0;
+          p->octave_ = 0;
 	  dim_b = true;
 	}
     }
@@ -311,7 +311,7 @@ Chord::tonic_add_sub_to_pitches (SCM ton
   
   for (SCM i = sub; gh_pair_p (i); i = ly_cdr (i))
     warning (_f ("invalid subtraction: not part of chord: %s",
-		 unsmob_pitch (ly_car (i))->str ()));
+		 unsmob_pitch (ly_car (i))->string ()));
 
   return pitches;
 }
@@ -340,7 +340,7 @@ Chord::get_chord (SCM tonic, SCM add, SC
 	}
       else
 	warning (_f ("invalid inversion pitch: not part of chord: %s",
-		     unsmob_pitch (inversion)->str ()));
+		     unsmob_pitch (inversion)->string ()));
     }
 
   /* Bass is easy, just add if requested */
diff -purN ../lilypond-1.5.69/lily/clef-engraver.cc ./lily/clef-engraver.cc
--- ../lilypond-1.5.69/lily/clef-engraver.cc	Mon Jul 15 20:01:15 2002
+++ ./lily/clef-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -34,8 +34,8 @@ protected:
   virtual void process_music ();
   virtual void acknowledge_grob (Grob_info);
 private:
-  Item * clef_p_;
-  Item * octavate_p_;
+  Item * clef_;
+  Item * octavate_;
 
   SCM prev_glyph_;
   SCM prev_cpos_;
@@ -47,9 +47,9 @@ private:
 
 Clef_engraver::Clef_engraver ()
 {
-  clef_p_ = 0;
+  clef_ = 0;
   octave_dir_ = CENTER;
-  octavate_p_ = 0;
+  octavate_ = 0;
 
   /*
     will trigger a clef at the start since #f != ' ()
@@ -65,8 +65,8 @@ Clef_engraver::set_glyph ()
 
   SCM basic = ly_symbol2scm ("Clef");
   
-  daddy_trans_l_->execute_single_pushpop_property (basic, glyph_sym, SCM_UNDEFINED);
-  daddy_trans_l_->execute_single_pushpop_property (basic, glyph_sym, glyph);
+  daddy_trans_->execute_single_pushpop_property (basic, glyph_sym, SCM_UNDEFINED);
+  daddy_trans_->execute_single_pushpop_property (basic, glyph_sym, glyph);
 }
 
 /** 
@@ -76,10 +76,10 @@ Clef_engraver::set_glyph ()
 void
 Clef_engraver::acknowledge_grob (Grob_info info)
 {
-  Item * item =dynamic_cast <Item *> (info.grob_l_);
+  Item * item =dynamic_cast <Item *> (info.grob_);
   if (item)
     {
-      if (Bar_line::has_interface (info.grob_l_)
+      if (Bar_line::has_interface (info.grob_)
 	  && gh_string_p (get_property ("clefGlyph")))
 	create_clef ();
 
@@ -89,31 +89,31 @@ Clef_engraver::acknowledge_grob (Grob_in
 void
 Clef_engraver::create_clef ()
 {
-  if (!clef_p_)
+  if (!clef_)
     {
       Item *c= new Item (get_property ("Clef"));
       announce_grob(c, SCM_EOL);
 
-      clef_p_ = c;
+      clef_ = c;
     }
   SCM cpos = get_property ("clefPosition");
 
   if (gh_number_p (cpos))
-    Staff_symbol_referencer::set_position (clef_p_, gh_scm2int (cpos));
+    Staff_symbol_referencer::set_position (clef_, gh_scm2int (cpos));
 
   SCM oct =  get_property ("clefOctavation");
   if (gh_number_p (oct) && gh_scm2int (oct))
     {
       Item * g = new Item (get_property ("OctavateEight"));
 
-      Side_position_interface::add_support (g,clef_p_);      
+      Side_position_interface::add_support (g,clef_);      
 
-      g->set_parent (clef_p_, Y_AXIS);
-      g->set_parent (clef_p_, X_AXIS);
+      g->set_parent (clef_, Y_AXIS);
+      g->set_parent (clef_, X_AXIS);
 
       g->set_grob_property ("direction", gh_int2scm (sign (gh_scm2int (oct))));
-      octavate_p_ = g;
-      announce_grob(octavate_p_, SCM_EOL);
+      octavate_ = g;
+      announce_grob(octavate_, SCM_EOL);
     }
 }
 
@@ -141,7 +141,7 @@ Clef_engraver::inspect_clef_properties (
       set_glyph ();
       create_clef ();
 
-      clef_p_->set_grob_property ("non-default", SCM_BOOL_T);
+      clef_->set_grob_property ("non-default", SCM_BOOL_T);
 
       prev_cpos_ = clefpos;
       prev_glyph_ = glyph;
@@ -150,7 +150,7 @@ Clef_engraver::inspect_clef_properties (
 
   if (to_boolean (force_clef))
     {
-      Translator_group * w = daddy_trans_l_->where_defined (ly_symbol2scm ("forceClef"));
+      Translator_group * w = daddy_trans_->where_defined (ly_symbol2scm ("forceClef"));
       w->set_property ("forceClef", SCM_EOL);
     }
 }
@@ -159,34 +159,34 @@ Clef_engraver::inspect_clef_properties (
 void
 Clef_engraver::stop_translation_timestep ()
 {
-  if (clef_p_)
+  if (clef_)
     {
       SCM vis = 0; 
-      if (to_boolean (clef_p_->get_grob_property ("non-default")))
+      if (to_boolean (clef_->get_grob_property ("non-default")))
 	{
 	  vis = get_property ("explicitClefVisibility");
 	}
 
       if (vis)
 	{
-	  clef_p_->set_grob_property ("break-visibility", vis);
-	  if (octavate_p_)
+	  clef_->set_grob_property ("break-visibility", vis);
+	  if (octavate_)
 	    {
-	      octavate_p_->set_grob_property ("break-visibility", vis);
+	      octavate_->set_grob_property ("break-visibility", vis);
 
 	    }
 	}
       
-      typeset_grob (clef_p_);
-      clef_p_ =0;
+      typeset_grob (clef_);
+      clef_ =0;
 
-      if (octavate_p_)
+      if (octavate_)
 	{
-	  Side_position_interface::add_staff_support (octavate_p_);	  
-	  typeset_grob (octavate_p_);
+	  Side_position_interface::add_staff_support (octavate_);	  
+	  typeset_grob (octavate_);
 	}
 
-      octavate_p_ = 0;
+      octavate_ = 0;
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/clef.cc ./lily/clef.cc
--- ../lilypond-1.5.69/lily/clef.cc	Mon May 13 15:07:31 2002
+++ ./lily/clef.cc	Fri Jul 26 12:26:58 2002
@@ -32,7 +32,7 @@ Clef::before_line_breaking (SCM smob)
 	  && !to_boolean (s->get_grob_property ("full-size-change")))
 	{
 	  str += "_change";
-	  s->set_grob_property ("glyph-name", ly_str02scm (str.ch_C ()));	  
+	  s->set_grob_property ("glyph-name", ly_str02scm (str.to_str0 ()));	  
 	}
     }
   else
diff -purN ../lilypond-1.5.69/lily/collision-engraver.cc ./lily/collision-engraver.cc
--- ../lilypond-1.5.69/lily/collision-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/collision-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -16,8 +16,8 @@
   collect Note_column, and as soon as there are 2 or more, put them in
   a collision object.  */
 class Collision_engraver : public Engraver {
-  Item * col_p_;
-  Link_array<Grob> note_column_l_arr_;
+  Item * col_;
+  Link_array<Grob> note_columns_;
 
 protected:
   virtual void acknowledge_grob (Grob_info);
@@ -31,45 +31,45 @@ public:
 void
 Collision_engraver::process_acknowledged_grobs ()
 {
-  if (col_p_ || note_column_l_arr_.size () < 2)
+  if (col_ || note_columns_.size () < 2)
     return ;
-  if (!col_p_) 
+  if (!col_) 
     {
-      col_p_ = new Item (get_property ("NoteCollision"));
-      announce_grob (col_p_, SCM_EOL);
+      col_ = new Item (get_property ("NoteCollision"));
+      announce_grob (col_, SCM_EOL);
     }
   
-  for (int i=0; i< note_column_l_arr_.size (); i++)
-    Note_collision_interface::add_column (col_p_,note_column_l_arr_[i]);
+  for (int i=0; i< note_columns_.size (); i++)
+    Note_collision_interface::add_column (col_,note_columns_[i]);
 }
 
 void
 Collision_engraver::acknowledge_grob (Grob_info i)
 {
-  if (Note_column::has_interface (i.grob_l_))
+  if (Note_column::has_interface (i.grob_))
     {
       /*should check Y axis? */
-      if (Note_column::rest_b (i.grob_l_) || i.grob_l_->get_parent (X_AXIS))
+      if (Note_column::rest_b (i.grob_) || i.grob_->get_parent (X_AXIS))
 	return ;
 
-      note_column_l_arr_.push (i.grob_l_);
+      note_columns_.push (i.grob_);
     }
 }
 
 void
 Collision_engraver::stop_translation_timestep ()
 {
-  if (col_p_) 
+  if (col_) 
     {
-      typeset_grob (col_p_);
-      col_p_ =0;
+      typeset_grob (col_);
+      col_ =0;
     }
-  note_column_l_arr_.clear ();
+  note_columns_.clear ();
 }
 
 Collision_engraver::Collision_engraver ()
 {
-  col_p_ =0;
+  col_ =0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/column-x-positions.cc ./lily/column-x-positions.cc
--- ../lilypond-1.5.69/lily/column-x-positions.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/column-x-positions.cc	Fri Jul 26 12:26:58 2002
@@ -13,7 +13,7 @@
 Column_x_positions::Column_x_positions ()
 {
   satisfies_constraints_b_ = false;
-  force_f_ = 0;
+  force_ = 0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/command-request.cc ./lily/command-request.cc
--- ../lilypond-1.5.69/lily/command-request.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/command-request.cc	Fri Jul 26 12:26:58 2002
@@ -32,10 +32,10 @@ Key_change_req::transpose (Pitch p)
 
 	  orig.transpose (p);
 
-	  SCM key = gh_cons (gh_int2scm (orig.octave_i ()),
-			     gh_int2scm (orig.notename_i_));
+	  SCM key = gh_cons (gh_int2scm (orig.get_octave ()),
+			     gh_int2scm (orig.notename_));
 
-	  newlist = gh_cons (gh_cons (key, gh_int2scm (orig.alteration_i_)),
+	  newlist = gh_cons (gh_cons (key, gh_int2scm (orig.alteration_)),
 			     newlist);
 	}
       else if (gh_number_p (key))
@@ -43,8 +43,8 @@ Key_change_req::transpose (Pitch p)
 	  Pitch orig (0, gh_scm2int (key), gh_scm2int (alter));
 	  orig.transpose (p);
 
-	  key =gh_int2scm (orig.notename_i_);
-	  alter = gh_int2scm (orig.alteration_i_);
+	  key =gh_int2scm (orig.notename_);
+	  alter = gh_int2scm (orig.alteration_);
 	  newlist = gh_cons (gh_cons (key, alter), newlist);
 	}
     }
diff -purN ../lilypond-1.5.69/lily/completion-note-heads-engraver.cc ./lily/completion-note-heads-engraver.cc
--- ../lilypond-1.5.69/lily/completion-note-heads-engraver.cc	Sun Apr  7 12:54:41 2002
+++ ./lily/completion-note-heads-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -34,10 +34,10 @@
 
 class Completion_heads_engraver : public Engraver
 {
-  Link_array<Item> note_p_arr_;
+  Link_array<Item> notes_;
   
-  Link_array<Item> dot_p_arr_;
-  Link_array<Music> note_req_l_arr_;
+  Link_array<Item> dots_;
+  Link_array<Music> note_reqs_;
   Link_array<Music> scratch_note_reqs_;
 
   Moment note_end_mom_;
@@ -53,7 +53,7 @@ public:
 protected:
   virtual void initialize ();
   virtual void start_translation_timestep ();
-  virtual bool try_music (Music *req_l) ;
+  virtual bool try_music (Music *req) ;
   virtual void process_music ();
   virtual void stop_translation_timestep ();
 };
@@ -69,7 +69,7 @@ Completion_heads_engraver::try_music (Mu
 {
   if (Note_req * n =dynamic_cast <Note_req *> (m))
     {
-      note_req_l_arr_.push (n);
+      note_reqs_.push (n);
 
       first_b_ = true;
       Moment musiclen = m->length_mom ();
@@ -85,7 +85,7 @@ Completion_heads_engraver::try_music (Mu
     }
   else if (dynamic_cast<Busy_playing_req*> (m))
     {
-      return note_req_l_arr_.size ();
+      return note_reqs_.size ();
     }
   
   return false;
@@ -157,7 +157,7 @@ Completion_heads_engraver::process_music
     }
   else
     {
-      orig = unsmob_duration (note_req_l_arr_[0]->get_mus_property ("duration"));
+      orig = unsmob_duration (note_reqs_[0]->get_mus_property ("duration"));
       note_dur = *orig;
     }
 
@@ -179,36 +179,36 @@ Completion_heads_engraver::process_music
   if (orig && note_dur.length_mom() != orig->length_mom())
     {
       if (!scratch_note_reqs_.size ())
-	for (int i = 0; i < note_req_l_arr_.size (); i++)
+	for (int i = 0; i < note_reqs_.size (); i++)
 	  {
-	    Music * m = note_req_l_arr_[i]->clone ();
+	    Music * m = note_reqs_[i]->clone ();
 	    scratch_note_reqs_.push (m);
 	  }
     }
 
   
   for (int i = 0;
-       left_to_do_ && i < note_req_l_arr_.size (); i++)
+       left_to_do_ && i < note_reqs_.size (); i++)
     {
-      Item *note_p  = new Item (get_property ("NoteHead"));
+      Item *note  = new Item (get_property ("NoteHead"));
       
-      Music * req =  note_req_l_arr_[i];
+      Music * req =  note_reqs_[i];
       if (scratch_note_reqs_.size())
 	{
 	  req = scratch_note_reqs_[i];
-	  SCM pits = note_req_l_arr_[i]->get_mus_property ("pitch");
+	  SCM pits = note_reqs_[i]->get_mus_property ("pitch");
 	  req->set_mus_property ("pitch",pits);
 	}
       
       req->set_mus_property ("duration", note_dur.smobbed_copy ());
-      note_p->set_grob_property ("duration-log",
+      note->set_grob_property ("duration-log",
 				 gh_int2scm (note_dur.duration_log ()));
       
       int dots= note_dur.dot_count ();
       if (dots)
 	{
 	  Item * d = new Item (get_property ("Dots"));
-	  Rhythmic_head::set_dots (note_p, d);
+	  Rhythmic_head::set_dots (note, d);
 
 	  /*
 	   measly attempt to save an eeny-weenie bit of memory.
@@ -216,9 +216,9 @@ Completion_heads_engraver::process_music
 	  if (dots != gh_scm2int (d->get_grob_property ("dot-count")))
 	    d->set_grob_property ("dot-count", gh_int2scm (dots));
 
-	  d->set_parent (note_p, Y_AXIS);
+	  d->set_parent (note, Y_AXIS);
 	  announce_grob (d, SCM_EOL);
-	  dot_p_arr_.push (d);
+	  dots_.push (d);
 	}
 
       Pitch *pit =unsmob_pitch (req->get_mus_property ("pitch"));
@@ -228,9 +228,9 @@ Completion_heads_engraver::process_music
       if (gh_number_p (c0))
 	pos += gh_scm2int (c0);
 
-      note_p->set_grob_property ("staff-position",   gh_int2scm (pos));
-      announce_grob (note_p,req->self_scm ());
-      note_p_arr_.push (note_p);
+      note->set_grob_property ("staff-position",   gh_int2scm (pos));
+      announce_grob (note,req->self_scm ());
+      notes_.push (note);
     }
 
   left_to_do_ -= note_dur.length_mom ();
@@ -250,17 +250,17 @@ Completion_heads_engraver::process_music
 void
 Completion_heads_engraver::stop_translation_timestep ()
 {
-  for (int i=0; i < note_p_arr_.size (); i++)
+  for (int i=0; i < notes_.size (); i++)
     {
-      typeset_grob (note_p_arr_[i]);
+      typeset_grob (notes_[i]);
     }
-  note_p_arr_.clear ();
+  notes_.clear ();
   
-  for (int i=0; i < dot_p_arr_.size (); i++)
+  for (int i=0; i < dots_.size (); i++)
     {
-      typeset_grob (dot_p_arr_[i]);
+      typeset_grob (dots_[i]);
     }
-  dot_p_arr_.clear ();
+  dots_.clear ();
 
   for (int i = scratch_note_reqs_.size(); i--;)
     {
@@ -278,7 +278,7 @@ Completion_heads_engraver::start_transla
   Moment now = now_mom ();
   if (note_end_mom_.main_part_ <= now.main_part_)
     {
-      note_req_l_arr_.clear ();
+      note_reqs_.clear ();
     }
 
   if (left_to_do_)
@@ -286,7 +286,7 @@ Completion_heads_engraver::start_transla
       if (!tie_req)
 	tie_req = new Tie_req;
       
-      bool succ = daddy_trans_l_->try_music (tie_req);
+      bool succ = daddy_trans_->try_music (tie_req);
       if (!succ)
 	{
 	  programming_error ("Completion_heads_engraver: no-one to make tie.");
diff -purN ../lilypond-1.5.69/lily/custos-engraver.cc ./lily/custos-engraver.cc
--- ../lilypond-1.5.69/lily/custos-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/custos-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -34,7 +34,7 @@ TRANSLATOR_DECLARATIONS(  Custos_engrave
 private:
   Item * create_custos ();
   bool custos_permitted;
-  Link_array<Grob> custos_arr_;
+  Link_array<Grob> custodes_;
   Array<Pitch> pitches_;
 };
 
@@ -55,11 +55,11 @@ Custos_engraver::stop_translation_timest
 void
 Custos_engraver::start_translation_timestep ()
 {
-  for (int i = custos_arr_.size (); i--;)
+  for (int i = custodes_.size (); i--;)
     {
-      typeset_grob (custos_arr_[i]);
+      typeset_grob (custodes_[i]);
     }
-  custos_arr_.clear ();
+  custodes_.clear ();
   pitches_.clear ();
 
   custos_permitted = false;
@@ -69,12 +69,12 @@ Custos_engraver::start_translation_times
 void
 Custos_engraver::acknowledge_grob (Grob_info info)
 {
-  Item *item = dynamic_cast <Item *> (info.grob_l_);
+  Item *item = dynamic_cast <Item *> (info.grob_);
   if (item)
     {
-      if (Bar_line::has_interface (info.grob_l_))
+      if (Bar_line::has_interface (info.grob_))
 	custos_permitted = true;
-      else if (Note_head::has_interface (info.grob_l_))
+      else if (Note_head::has_interface (info.grob_))
 	{
 
 	  /*
@@ -126,7 +126,7 @@ Custos_engraver::create_custos ()
   Item* custos = new Item (basicProperties);
   
   announce_grob(custos, SCM_EOL);
-  custos_arr_.push (custos);
+  custodes_.push (custos);
   
   return custos;
 }
@@ -134,12 +134,12 @@ Custos_engraver::create_custos ()
 void
 Custos_engraver::finalize ()
 {
-  for (int i = custos_arr_.size (); i--;)
+  for (int i = custodes_.size (); i--;)
     {
-      custos_arr_[i]->suicide ();
-      typeset_grob (custos_arr_[i]);
+      custodes_[i]->suicide ();
+      typeset_grob (custodes_[i]);
     }
-  custos_arr_.clear ();
+  custodes_.clear ();
 }
 
 
diff -purN ../lilypond-1.5.69/lily/custos.cc ./lily/custos.cc
--- ../lilypond-1.5.69/lily/custos.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/custos.cc	Fri Jul 26 12:26:58 2002
@@ -61,7 +61,7 @@ Custos::brew_molecule (SCM smob)
       Direction neutral_direction =
 	to_dir (me->get_grob_property ("neutral-direction"));
 
-      int pos = (int)rint (Staff_symbol_referencer::position_f (me));
+      int pos = (int)rint (Staff_symbol_referencer::get_position (me));
       int sz = Staff_symbol_referencer::line_count (me)-1;
 
       if (pos < neutral_pos)
@@ -89,13 +89,13 @@ Custos::brew_molecule (SCM smob)
       if (molecule.empty_b ())
         {
 	  String message = "no such custos: `" + idx + "'";
-	  warning (_ (message.ch_C ()));
+	  warning (_ (message.to_str0 ()));
 	  return SCM_EOL;
 	}
       else
         {
 	  // add ledger lines
-	  int pos = (int)rint (Staff_symbol_referencer::position_f (me));
+	  int pos = (int)rint (Staff_symbol_referencer::get_position (me));
 	  int interspaces = Staff_symbol_referencer::line_count (me)-1;
 	  if (abs (pos) - interspaces > 1)
 	    {
diff -purN ../lilypond-1.5.69/lily/cxx-function-smob.cc ./lily/cxx-function-smob.cc
--- ../lilypond-1.5.69/lily/cxx-function-smob.cc	Sat Jul 13 16:40:40 2002
+++ ./lily/cxx-function-smob.cc	Fri Jul 26 12:26:58 2002
@@ -31,7 +31,7 @@ free_smob (SCM)
   return 0;
 }
 
-LY_DEFINE(cxx_function_type_p, "c++-function?", 1, 0, 0, (SCM x),
+LY_DEFINE(cxx_function_type, "c++-function?", 1, 0, 0, (SCM x),
 	  "Is this an encapsulated C++ function ?")
 {
   return (SCM_CELL_TYPE (x)) == callback_tag ? SCM_BOOL_T : SCM_BOOL_F; 
diff -purN ../lilypond-1.5.69/lily/dimension-cache.cc ./lily/dimension-cache.cc
--- ../lilypond-1.5.69/lily/dimension-cache.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/dimension-cache.cc	Fri Jul 26 12:26:58 2002
@@ -20,7 +20,7 @@ Dimension_cache::Dimension_cache (Dimens
   offset_ = d.offset_;
   offset_callbacks_ = d.offset_callbacks_;
   offsets_left_ = d.offsets_left_;
-  parent_l_ = d.parent_l_;  
+  parent_ = d.parent_;  
 }
 
 Dimension_cache::Dimension_cache ()
@@ -37,7 +37,7 @@ Dimension_cache::init ()
   offset_callbacks_ = SCM_EOL;
   offset_ =0.0;
   
-  parent_l_ =0;
+  parent_ =0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/dimensions.cc ./lily/dimensions.cc
--- ../lilypond-1.5.69/lily/dimensions.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/dimensions.cc	Fri Jul 26 12:26:58 2002
@@ -7,8 +7,8 @@
 String
 print_dimen (Real r)
 {
-  String s = to_str (r, "%.3f");
-  if (s.index_i ("NaN") != -1)
+  String s = to_string (r, "%.3f");
+  if (s.index ("NaN") != -1)
     {
       warning (_ ("NaN"));
       s = "0.0";
diff -purN ../lilypond-1.5.69/lily/dot-column-engraver.cc ./lily/dot-column-engraver.cc
--- ../lilypond-1.5.69/lily/dot-column-engraver.cc	Mon Feb  4 00:12:07 2002
+++ ./lily/dot-column-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -18,7 +18,7 @@ class Dot_column_engraver : public Engra
 {
   Grob *dotcol_ ;
   Grob * stem_;
-  Link_array<Item> head_l_arr_;
+  Link_array<Item> heads_;
 public:
   TRANSLATOR_DECLARATIONS(
   Dot_column_engraver );
@@ -52,14 +52,14 @@ Dot_column_engraver::stop_translation_ti
       typeset_grob (dotcol_);
       dotcol_ =0;
     }
-  head_l_arr_.clear ();
+  heads_.clear ();
   stem_ =0;
 }
 
 void
 Dot_column_engraver::acknowledge_grob (Grob_info info)
 {
-  Grob *d = unsmob_grob (info.grob_l_->get_grob_property ("dot"));
+  Grob *d = unsmob_grob (info.grob_->get_grob_property ("dot"));
   if (d)
     {
       if (!dotcol_)
@@ -68,11 +68,11 @@ Dot_column_engraver::acknowledge_grob (G
 	  announce_grob(dotcol_, SCM_EOL);
 	}
 
-      Dot_column::add_head (dotcol_, info.grob_l_);
+      Dot_column::add_head (dotcol_, info.grob_);
     }
-  else if (Stem::has_interface (info.grob_l_))
+  else if (Stem::has_interface (info.grob_))
     {
-      stem_ = info.grob_l_;
+      stem_ = info.grob_;
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/dot-column.cc ./lily/dot-column.cc
--- ../lilypond-1.5.69/lily/dot-column.cc	Sun Apr 21 16:01:36 2002
+++ ./lily/dot-column.cc	Fri Jul 26 12:26:58 2002
@@ -43,7 +43,7 @@ Dot_column::side_position (SCM element_s
 
   Grob * stem = unsmob_grob (me->get_grob_property ("stem"));
   if (stem
-      && !Stem::beam_l (stem)
+      && !Stem::get_beam (stem)
       && Stem::duration_log (stem) > 2
       && !Stem::invisible_b (stem)
       )
@@ -95,7 +95,7 @@ Dot_column::do_shifts (SCM l)
   int conflicts = 0;
   for (int i=0; i < dots.size (); i++)
     {
-      Real p = Staff_symbol_referencer::position_f (dots[i]);
+      Real p = Staff_symbol_referencer::get_position (dots[i]);
       for (int j=0; j < taken_posns.size (); j++)
 	{
 	  if (taken_posns[j] == (int) p)
diff -purN ../lilypond-1.5.69/lily/duration.cc ./lily/duration.cc
--- ../lilypond-1.5.69/lily/duration.cc	Wed Jul 17 15:18:44 2002
+++ ./lily/duration.cc	Fri Jul 26 12:26:58 2002
@@ -27,15 +27,15 @@ Duration::compare (Duration const &left,
 
 Duration::Duration ()
 {
-  durlog_i_ = 0;
-  dots_i_ = 0;
+  durlog_ = 0;
+  dots_ = 0;
   factor_ = Rational (1,1);
 }
 
 Duration::Duration (int l, int d)
 {
-  durlog_i_ = l;
-  dots_i_ = d;
+  durlog_ = l;
+  dots_ = d;
   factor_ = Rational (1,1);
 }
 
@@ -50,14 +50,14 @@ Duration::compressed (Rational m) const
 Rational
 Duration::length_mom () const
 {
-  Rational mom (1 << abs (durlog_i_));
+  Rational mom (1 << abs (durlog_));
 
-  if (durlog_i_> 0)
+  if (durlog_> 0)
     mom = Rational (1)/mom;
 
   Rational delta = mom;
 
-  for (int d = dots_i_; d; d--)
+  for (int d = dots_; d; d--)
     {
       delta /= Rational (2);
       mom += delta;
@@ -69,19 +69,19 @@ Duration::length_mom () const
 
 
 String
-Duration::str () const
+Duration::string () const
 {
   String s;
 
-  if (durlog_i_ < 0  )
-    s = "log = "  + to_str (durlog_i_);
+  if (durlog_ < 0  )
+    s = "log = "  + to_string (durlog_);
   else
-    s = to_str (1 << durlog_i_);
+    s = to_string (1 << durlog_);
   
-  s += to_str ('.', dots_i_);
+  s += to_string ('.', dots_);
   if (factor_ != Moment (Rational (1,1)))
     {
-      s += "*" + factor_.str ();
+      s += "*" + factor_.string ();
     }
   return s;
 }
@@ -102,7 +102,7 @@ Duration::print_smob (SCM s, SCM port, s
   Duration  *r = (Duration *) ly_cdr (s);
      
   scm_puts ("#<Duration ", port);
-  scm_display (ly_str02scm (r->str ().ch_C ()), port);
+  scm_display (ly_str02scm (r->string ().to_str0 ()), port);
   scm_puts (" >", port);
   
   return 1;
@@ -114,8 +114,8 @@ Duration::equal_p (SCM a , SCM b)
   Duration  *p = (Duration *) ly_cdr (a);
   Duration  *q = (Duration *) ly_cdr (b);  
 
-  bool eq = p->dots_i_ == q->dots_i_
-    && p->durlog_i_ == q->durlog_i_
+  bool eq = p->dots_ == q->dots_
+    && p->durlog_ == q->durlog_
     && p->factor_ == q->factor_;
 
   return eq ? SCM_BOOL_T : SCM_BOOL_F;
@@ -151,20 +151,20 @@ dots. 
 
 ")
 {
-  SCM_ASSERT_TYPE(gh_number_p(length), length, SCM_ARG1, __FUNCTION__, "integer");
-  SCM_ASSERT_TYPE(gh_number_p(dotcount), dotcount, SCM_ARG2, __FUNCTION__, "integer");
+  SCM_ASSERT_TYPE(gh_number_p (length), length, SCM_ARG1, __FUNCTION__, "integer");
+  SCM_ASSERT_TYPE(gh_number_p (dotcount), dotcount, SCM_ARG2, __FUNCTION__, "integer");
 
   bool compress = false;
   if (num != SCM_UNDEFINED)
     {
-      SCM_ASSERT_TYPE(gh_number_p(num), length, SCM_ARG3, __FUNCTION__, "integer");
+      SCM_ASSERT_TYPE(gh_number_p (num), length, SCM_ARG3, __FUNCTION__, "integer");
       compress = true;
     }
   else
     num = gh_int2scm (1);
   
   if (den != SCM_UNDEFINED)
-    SCM_ASSERT_TYPE(gh_number_p(den), length, SCM_ARG4, __FUNCTION__, "integer");
+    SCM_ASSERT_TYPE(gh_number_p (den), length, SCM_ARG4, __FUNCTION__, "integer");
   else
     den = gh_int2scm (1);
   
@@ -236,12 +236,12 @@ Duration::smobbed_copy ()const
 int
 Duration::duration_log () const
 {
-  return durlog_i_;
+  return durlog_;
 }
 
 int
 Duration::dot_count () const
 {
-  return dots_i_;
+  return dots_;
 }
 
diff -purN ../lilypond-1.5.69/lily/dynamic-engraver.cc ./lily/dynamic-engraver.cc
--- ../lilypond-1.5.69/lily/dynamic-engraver.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/dynamic-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -39,11 +39,11 @@
  */
 class Dynamic_engraver : public Engraver
 {
-  Item * script_p_;
-  Spanner * finished_cresc_p_;
-  Spanner * cresc_p_;
+  Item * script_;
+  Spanner * finished_cresc_;
+  Spanner * cresc_;
 
-  Text_script_req* script_req_l_;
+  Text_script_req* script_req_;
   
   Span_req * current_cresc_req_;
   Drul_array<Span_req*> accepted_spanreqs_drul_;
@@ -51,8 +51,8 @@ class Dynamic_engraver : public Engraver
   Spanner* line_spanner_;
   Spanner* finished_line_spanner_;
 
-  Link_array<Note_column> pending_column_arr_;
-  Link_array<Grob> pending_element_arr_;
+  Link_array<Note_column> pending_columns_;
+  Link_array<Grob> pending_elements_;
   
   void typeset_all ();
 
@@ -61,7 +61,7 @@ TRANSLATOR_DECLARATIONS(Dynamic_engraver
 protected:
   virtual void finalize ();
   virtual void acknowledge_grob (Grob_info);
-  virtual bool try_music (Music *req_l);
+  virtual bool try_music (Music *req);
   virtual void stop_translation_timestep ();
   virtual void process_music ();  
   virtual void start_translation_timestep ();
@@ -72,14 +72,14 @@ protected:
 
 Dynamic_engraver::Dynamic_engraver ()
 {
-  script_p_ = 0;
-  finished_cresc_p_ = 0;
+  script_ = 0;
+  finished_cresc_ = 0;
   line_spanner_ = 0;
   finished_line_spanner_ = 0;
   current_cresc_req_ = 0;
-  cresc_p_ =0;
+  cresc_ =0;
 
-  script_req_l_ = 0;
+  script_req_ = 0;
   accepted_spanreqs_drul_[START] = 0;
   accepted_spanreqs_drul_[STOP] = 0;
 }
@@ -87,7 +87,7 @@ Dynamic_engraver::Dynamic_engraver ()
 void
 Dynamic_engraver::start_translation_timestep ()
 {
-  script_req_l_ = 0;
+  script_req_ = 0;
   accepted_spanreqs_drul_[START] = 0;
   accepted_spanreqs_drul_[STOP] = 0;
 }
@@ -98,7 +98,7 @@ Dynamic_engraver::try_music (Music * m)
   if (dynamic_cast <Text_script_req*> (m)
       && m->get_mus_property ("text-type") == ly_symbol2scm ("dynamic"))
     {
-      script_req_l_ = dynamic_cast<Text_script_req*> (m);
+      script_req_ = dynamic_cast<Text_script_req*> (m);
       return true;
     }
   else if (Span_req* s =  dynamic_cast <Span_req*> (m))
@@ -115,9 +115,9 @@ Dynamic_engraver::try_music (Music * m)
 	    It will disappear by itself when stop_translation_timestep
  () finds that there is nothing to support anymore.  */
 	  
-	  if (cresc_p_)
-	    cresc_p_->suicide ();
-	  cresc_p_ = 0;
+	  if (cresc_)
+	    cresc_->suicide ();
+	  cresc_ = 0;
 	}
       else if (t == "crescendo"
 	   || t == "decrescendo")
@@ -132,15 +132,15 @@ Dynamic_engraver::try_music (Music * m)
 void
 Dynamic_engraver::process_music ()
 {
-  if (accepted_spanreqs_drul_[START] || accepted_spanreqs_drul_[STOP] || script_req_l_)
+  if (accepted_spanreqs_drul_[START] || accepted_spanreqs_drul_[STOP] || script_req_)
     {
       if (!line_spanner_)
 	{
 	  line_spanner_ = new Spanner (get_property ("DynamicLineSpanner"));
 
 	  Music * rq = accepted_spanreqs_drul_[START];
-	  if (script_req_l_)
-	    rq =  script_req_l_ ;
+	  if (script_req_)
+	    rq =  script_req_ ;
 	  announce_grob(line_spanner_, rq ? rq->self_scm(): SCM_EOL);
 	}
     }
@@ -160,18 +160,18 @@ Dynamic_engraver::process_music ()
     maybe we should leave dynamic texts to the text-engraver and
     simply acknowledge them?
   */
-  if (script_req_l_)
+  if (script_req_)
     {
-      script_p_ = new Item (get_property ("DynamicText"));
-      script_p_->set_grob_property ("text",
-				   script_req_l_->get_mus_property ("text"));
+      script_ = new Item (get_property ("DynamicText"));
+      script_->set_grob_property ("text",
+				   script_req_->get_mus_property ("text"));
       
-      if (Direction d = script_req_l_->get_direction ())
+      if (Direction d = script_req_->get_direction ())
 	Directional_element_interface::set (line_spanner_, d);
 
-      Axis_group_interface::add_element (line_spanner_, script_p_);
+      Axis_group_interface::add_element (line_spanner_, script_);
 
-      announce_grob(script_p_, script_req_l_->self_scm());
+      announce_grob(script_, script_req_->self_scm());
     }
 
   if (accepted_spanreqs_drul_[STOP])
@@ -181,7 +181,7 @@ Dynamic_engraver::process_music ()
 	there are no new dynamics.
        */
  
-      if (!cresc_p_)
+      if (!cresc_)
 	{
 	  accepted_spanreqs_drul_[STOP]->origin ()->warning
  (_ ("can't find start of (de)crescendo"));
@@ -189,16 +189,16 @@ Dynamic_engraver::process_music ()
 	}
       else
 	{
-	  assert (!finished_cresc_p_ && cresc_p_);
+	  assert (!finished_cresc_ && cresc_);
 
-	  cresc_p_->set_bound (RIGHT, script_p_
-			       ? script_p_
+	  cresc_->set_bound (RIGHT, script_
+			       ? script_
 			       : unsmob_grob (get_property ("currentMusicalColumn")));
-	  add_bound_item (line_spanner_, cresc_p_->get_bound (RIGHT));
+	  add_bound_item (line_spanner_, cresc_->get_bound (RIGHT));
 	  
 
-	  finished_cresc_p_ = cresc_p_;
-	  cresc_p_ = 0;
+	  finished_cresc_ = cresc_;
+	  cresc_ = 0;
 	  current_cresc_req_ = 0;
 	}
     }
@@ -227,11 +227,11 @@ Dynamic_engraver::process_music ()
 	  /*
 	    ugh. Use push/pop?
 	  */
-	  SCM s = get_property ((start_type + "Spanner").ch_C ());
+	  SCM s = get_property ((start_type + "Spanner").to_str0 ());
 	  if (!gh_symbol_p (s) || s == ly_symbol2scm ("hairpin"))
 	    {
-	      cresc_p_  = new Spanner (get_property ("Hairpin"));
-	      cresc_p_->set_grob_property ("grow-direction",
+	      cresc_  = new Spanner (get_property ("Hairpin"));
+	      cresc_->set_grob_property ("grow-direction",
 					   gh_int2scm ((start_type == "crescendo")
 						       ? BIGGER : SMALLER));
 	      
@@ -243,32 +243,32 @@ Dynamic_engraver::process_music ()
 	  */
 	  else
 	    {
-	      cresc_p_  = new Spanner (get_property ("TextSpanner"));
-	      cresc_p_->set_grob_property ("type", s);
-	      daddy_trans_l_->set_property ((start_type
-					    + "Spanner").ch_C(), SCM_UNDEFINED);
-	      s = get_property ((start_type + "Text").ch_C ());
+	      cresc_  = new Spanner (get_property ("TextSpanner"));
+	      cresc_->set_grob_property ("type", s);
+	      daddy_trans_->set_property ((start_type
+					    + "Spanner").to_str0 (), SCM_UNDEFINED);
+	      s = get_property ((start_type + "Text").to_str0 ());
 	      /*
-		FIXME: use markup_p () to check type.
+		FIXME: use get_markup () to check type.
 	      */
 	      if (gh_string_p (s) || gh_pair_p (s))
 		{
-		  cresc_p_->set_grob_property ("edge-text",
+		  cresc_->set_grob_property ("edge-text",
 					       gh_cons (s, ly_str02scm ("")));
-		  daddy_trans_l_->set_property ((start_type + "Text").ch_C(),
+		  daddy_trans_->set_property ((start_type + "Text").to_str0 (),
 						SCM_EOL);
 		}
 	    }
 
-	  cresc_p_->set_bound (LEFT, script_p_
-			       ? script_p_
+	  cresc_->set_bound (LEFT, script_
+			       ? script_
 			       : unsmob_grob (get_property ("currentMusicalColumn")));
 
-	  Axis_group_interface::add_element (line_spanner_, cresc_p_);
+	  Axis_group_interface::add_element (line_spanner_, cresc_);
 
-	  add_bound_item (line_spanner_, cresc_p_->get_bound (LEFT));
+	  add_bound_item (line_spanner_, cresc_->get_bound (LEFT));
 	  
-	  announce_grob(cresc_p_, accepted_spanreqs_drul_[START]->self_scm());
+	  announce_grob(cresc_, accepted_spanreqs_drul_[START]->self_scm());
 	}
     }
 }
@@ -299,14 +299,14 @@ Dynamic_engraver::finalize ()
       typeset_all ();
     }
 
-  if (cresc_p_
-      && !cresc_p_->live())
-    cresc_p_ = 0;
-  if (cresc_p_)
+  if (cresc_
+      && !cresc_->live())
+    cresc_ = 0;
+  if (cresc_)
     {
       current_cresc_req_->origin ()->warning (_ ("unterminated (de)crescendo"));
-      cresc_p_->suicide ();
-      cresc_p_ = 0;
+      cresc_->suicide ();
+      cresc_ = 0;
     }
 }
 
@@ -319,33 +319,33 @@ Dynamic_engraver::typeset_all ()
     Hmm, how to do this, cleanly?
     Maybe just check at typeset_grob ()?
   */
-  if (finished_cresc_p_
-      && !finished_cresc_p_->live())
-    finished_cresc_p_ = 0;
+  if (finished_cresc_
+      && !finished_cresc_->live())
+    finished_cresc_ = 0;
   if (finished_line_spanner_
       && !finished_line_spanner_->live())
     finished_line_spanner_ = 0;
 
-  if (finished_cresc_p_)
+  if (finished_cresc_)
     {
-      if (!finished_cresc_p_->get_bound (RIGHT))
+      if (!finished_cresc_->get_bound (RIGHT))
 	{
-	  finished_cresc_p_->set_bound (RIGHT, script_p_
-					? script_p_
+	  finished_cresc_->set_bound (RIGHT, script_
+					? script_
 					: unsmob_grob (get_property ("currentMusicalColumn")));
 
 	  if (finished_line_spanner_)
 	    add_bound_item (finished_line_spanner_,
-			    finished_cresc_p_->get_bound (RIGHT));
+			    finished_cresc_->get_bound (RIGHT));
 	}
-      typeset_grob (finished_cresc_p_);
-      finished_cresc_p_ =0;
+      typeset_grob (finished_cresc_);
+      finished_cresc_ =0;
     }
   
-  if (script_p_)
+  if (script_)
     {
-      typeset_grob (script_p_);
-      script_p_ = 0;
+      typeset_grob (script_);
+      script_ = 0;
     }
   if (finished_line_spanner_)
     {
@@ -392,30 +392,30 @@ Dynamic_engraver::acknowledge_grob (Grob
   if (!line_spanner_)
     return ;
   
-  if (Note_column::has_interface (i.grob_l_))
+  if (Note_column::has_interface (i.grob_))
     {
       if (line_spanner_
 	  /* Don't refill killed spanner */
 	  && line_spanner_->live())
 	{
-	  Side_position_interface::add_support (line_spanner_,i.grob_l_);
-	  add_bound_item (line_spanner_,dynamic_cast<Item*> (i.grob_l_));
+	  Side_position_interface::add_support (line_spanner_,i.grob_);
+	  add_bound_item (line_spanner_,dynamic_cast<Item*> (i.grob_));
 	}
 
-      if (script_p_ && !script_p_->get_parent (X_AXIS))
+      if (script_ && !script_->get_parent (X_AXIS))
 	{
-	  script_p_->set_parent (i.grob_l_,  X_AXIS);
+	  script_->set_parent (i.grob_,  X_AXIS);
 	}
       
     }
-  else if (Script_interface::has_interface (i.grob_l_) && script_p_)
+  else if (Script_interface::has_interface (i.grob_) && script_)
     {
-      SCM p = i.grob_l_->get_grob_property ("script-priority");
+      SCM p = i.grob_->get_grob_property ("script-priority");
 
       if (gh_number_p (p)
-	  && gh_scm2int (p) < gh_scm2int (script_p_->get_grob_property ("script-priority")))
+	  && gh_scm2int (p) < gh_scm2int (script_->get_grob_property ("script-priority")))
 	{
-	  Side_position_interface::add_support (line_spanner_, i.grob_l_);
+	  Side_position_interface::add_support (line_spanner_, i.grob_);
 
 	}	  
     }
diff -purN ../lilypond-1.5.69/lily/dynamic-performer.cc ./lily/dynamic-performer.cc
--- ../lilypond-1.5.69/lily/dynamic-performer.cc	Tue Feb 26 19:33:55 2002
+++ ./lily/dynamic-performer.cc	Fri Jul 26 12:26:58 2002
@@ -24,27 +24,27 @@ class Dynamic_performer : public Perform
 public:
   TRANSLATOR_DECLARATIONS(Dynamic_performer);
 protected:
-  virtual bool try_music (Music* req_l);
+  virtual bool try_music (Music* req);
   virtual void stop_translation_timestep ();
   virtual void create_audio_elements ();
 
 private:
-  Music* script_req_l_;
-  Audio_dynamic* audio_p_;
+  Music* script_req_;
+  Audio_dynamic* audio_;
 };
 
 
 
 Dynamic_performer::Dynamic_performer ()
 {
-  script_req_l_ = 0;
-  audio_p_ = 0;
+  script_req_ = 0;
+  audio_ = 0;
 }
 
 void
 Dynamic_performer::create_audio_elements ()
 {
-  if (script_req_l_)
+  if (script_req_)
     {
       SCM proc = get_property ("dynamicAbsoluteVolumeFunction");
 
@@ -52,7 +52,7 @@ Dynamic_performer::create_audio_elements
       if (gh_procedure_p (proc))
 	{
 	  // urg
-	  svolume = gh_call1 (proc, script_req_l_->get_mus_property ("text"));
+	  svolume = gh_call1 (proc, script_req_->get_mus_property ("text"));
 	}
 
       Real volume = 0.5; 
@@ -102,32 +102,32 @@ Dynamic_performer::create_audio_elements
 	    }
 	}
       
-      audio_p_ = new Audio_dynamic (volume);
-      Audio_element_info info (audio_p_, script_req_l_);
+      audio_ = new Audio_dynamic (volume);
+      Audio_element_info info (audio_, script_req_);
       announce_element (info);
-      script_req_l_ = 0;
+      script_req_ = 0;
     }
 }
 
 void
 Dynamic_performer::stop_translation_timestep ()
 {
-  if (audio_p_)
+  if (audio_)
     {
-      play_element (audio_p_);
-      audio_p_ = 0;
+      play_element (audio_);
+      audio_ = 0;
     }
 }
 
 bool
 Dynamic_performer::try_music (Music* r)
 {
-  if (!script_req_l_)
+  if (!script_req_)
     {
       if (dynamic_cast <Text_script_req*> (r)
 	  && r->get_mus_property ("text-type") == ly_symbol2scm ("dynamic"))
 	{
-	  script_req_l_ = r;
+	  script_req_ = r;
 	  return true;
 	}
     }
diff -purN ../lilypond-1.5.69/lily/engraver-group-engraver.cc ./lily/engraver-group-engraver.cc
--- ../lilypond-1.5.69/lily/engraver-group-engraver.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/engraver-group-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -16,7 +16,7 @@
 void
 Engraver_group_engraver::announce_grob (Grob_info info)
 {
-  announce_info_arr_.push (info);
+  announce_infos_.push (info);
   Engraver::announce_grob (info);
 }
 
@@ -68,7 +68,7 @@ SCM find_acknowledge_engravers (SCM grav
 void
 Engraver_group_engraver::acknowledge_grobs ()
 {
-  if (!announce_info_arr_.size ())
+  if (!announce_infos_.size ())
     return ;
   
   SCM tab = get_property ("acknowledgeHashTable");
@@ -76,11 +76,11 @@ Engraver_group_engraver::acknowledge_gro
   SCM meta_sym = ly_symbol2scm ("meta");  
 
   
-  for (int j =0; j < announce_info_arr_.size (); j++)
+  for (int j =0; j < announce_infos_.size (); j++)
     {
-      Grob_info info = announce_info_arr_[j];
+      Grob_info info = announce_infos_[j];
       
-      SCM meta = info.grob_l_->internal_get_grob_property (meta_sym);
+      SCM meta = info.grob_->internal_get_grob_property (meta_sym);
       SCM nm = scm_assoc (name_sym, meta);
       if (gh_pair_p (nm))
 	nm = ly_cdr (nm);
@@ -109,7 +109,7 @@ Engraver_group_engraver::acknowledge_gro
 	{
 	  Translator * t = unsmob_translator (ly_car (p));
 	  Engraver * eng = dynamic_cast<Engraver*> (t);
-	  if (eng && eng!= info.origin_trans_l_)
+	  if (eng && eng!= info.origin_trans_)
 	    eng->acknowledge_grob (info);
 	}
     }
@@ -129,10 +129,10 @@ Engraver_group_engraver::do_announces ()
    do
     {
       acknowledge_grobs ();
-      announce_info_arr_.clear ();
+      announce_infos_.clear ();
       process_acknowledged_grobs_in_simple_children ();
     }
-   while (announce_info_arr_.size ());
+   while (announce_infos_.size ());
 }
 
 
diff -purN ../lilypond-1.5.69/lily/engraver.cc ./lily/engraver.cc
--- ../lilypond-1.5.69/lily/engraver.cc	Mon Feb  4 00:12:07 2002
+++ ./lily/engraver.cc	Fri Jul 26 12:26:58 2002
@@ -17,7 +17,7 @@
 void
 Engraver::announce_grob (Grob_info inf)
 {
-  daddy_grav_l ()->announce_grob (inf);
+  get_daddy_grav ()->announce_grob (inf);
 }
 
 void
@@ -32,9 +32,9 @@ Engraver::announce_grob (Grob* e, SCM ca
     e->set_grob_property ("cause", cause);
 
   Grob_info i (e);
-  if (!i.origin_trans_l_)
-    i.origin_trans_l_ = this;
-  daddy_grav_l ()->announce_grob (i);
+  if (!i.origin_trans_)
+    i.origin_trans_ = this;
+  get_daddy_grav ()->announce_grob (i);
 }
 
 
@@ -42,15 +42,15 @@ Engraver::announce_grob (Grob* e, SCM ca
 void
 Engraver::typeset_grob (Grob*p)
 {
-  daddy_grav_l ()->typeset_grob (p);
+  get_daddy_grav ()->typeset_grob (p);
 }
 
 
 Engraver_group_engraver*
-Engraver::daddy_grav_l () const
+Engraver::get_daddy_grav () const
 {
-  return (daddy_trans_l_)
-       ? dynamic_cast<Engraver_group_engraver *> (daddy_trans_l_)
+  return (daddy_trans_)
+       ? dynamic_cast<Engraver_group_engraver *> (daddy_trans_)
        : 0;
 }
 
@@ -74,8 +74,8 @@ Engraver::top_engraver () const
   if (dynamic_cast<Score_engraver*>((Engraver*)this))
     return dynamic_cast<Score_engraver*> ((Engraver*)this);
 
-  if (daddy_trans_l_)
-    return dynamic_cast<Engraver*> (daddy_trans_l_)->top_engraver ();
+  if (daddy_trans_)
+    return dynamic_cast<Engraver*> (daddy_trans_)->top_engraver ();
 
   programming_error ("No score engraver!");
   return 0;
diff -purN ../lilypond-1.5.69/lily/extender-engraver.cc ./lily/extender-engraver.cc
--- ../lilypond-1.5.69/lily/extender-engraver.cc	Wed Apr 10 19:25:36 2002
+++ ./lily/extender-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -28,10 +28,10 @@
   then.  */
 class Extender_engraver : public Engraver
 {
-  Grob *last_lyric_l_;
-  Grob *current_lyric_l_;
-  Extender_req* req_l_;
-  Spanner* extender_p_;
+  Grob *last_lyric_;
+  Grob *current_lyric_;
+  Extender_req* req_;
+  Spanner* extender_;
 public:
   TRANSLATOR_DECLARATIONS(Extender_engraver);
 
@@ -51,24 +51,24 @@ private:
 
 Extender_engraver::Extender_engraver ()
 {
-  current_lyric_l_ = 0;
-  last_lyric_l_ = 0;
-  extender_p_ = 0;
-  req_l_ = 0;
+  current_lyric_ = 0;
+  last_lyric_ = 0;
+  extender_ = 0;
+  req_ = 0;
 }
 
 void
 Extender_engraver::acknowledge_grob (Grob_info i)
 {
   // -> text_item
-  if (i.grob_l_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")))
+  if (i.grob_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")))
     {
-      current_lyric_l_ = i.grob_l_;
-      if (extender_p_
-	  && !extender_p_->get_bound (RIGHT)
+      current_lyric_ = i.grob_;
+      if (extender_
+	  && !extender_->get_bound (RIGHT)
 	    )
 	  {
-	    Lyric_extender::set_textitem (extender_p_, RIGHT, dynamic_cast<Item*> (i.grob_l_));
+	    Lyric_extender::set_textitem (extender_, RIGHT, dynamic_cast<Item*> (i.grob_));
 	  }
     }
 }
@@ -79,10 +79,10 @@ Extender_engraver::try_music (Music* r)
 {
   if (Extender_req* p = dynamic_cast <Extender_req *> (r))
     {
-      if (req_l_)
+      if (req_)
 	return false;
 
-      req_l_ = p;
+      req_ = p;
       return true;
     }
   return false;
@@ -91,29 +91,29 @@ Extender_engraver::try_music (Music* r)
 void
 Extender_engraver::finalize ()
 {
-  if (extender_p_)
+  if (extender_)
     {
-      req_l_->origin ()->warning (_ ("unterminated extender"));
-      extender_p_->set_bound (RIGHT, unsmob_grob (get_property ("currentCommandColumn")));
+      req_->origin ()->warning (_ ("unterminated extender"));
+      extender_->set_bound (RIGHT, unsmob_grob (get_property ("currentCommandColumn")));
     }
 }
 
 void
 Extender_engraver::process_music ()
 {
-  if (req_l_ && ! extender_p_)
+  if (req_ && ! extender_)
     {
-      if (!last_lyric_l_)
+      if (!last_lyric_)
 	{
-	  req_l_->origin ()->warning (_ ("Nothing to connect extender to on the left.  Ignoring extender request."));
+	  req_->origin ()->warning (_ ("Nothing to connect extender to on the left.  Ignoring extender request."));
 	  return;
 	}
       
-      extender_p_ = new Spanner (get_property ("LyricExtender"));
+      extender_ = new Spanner (get_property ("LyricExtender"));
 
 
-      Lyric_extender::set_textitem (extender_p_, LEFT, last_lyric_l_);
-      announce_grob(extender_p_, req_l_->self_scm());
+      Lyric_extender::set_textitem (extender_, LEFT, last_lyric_);
+      announce_grob(extender_, req_->self_scm());
     }
 }
 
@@ -121,23 +121,23 @@ Extender_engraver::process_music ()
 void
 Extender_engraver::stop_translation_timestep ()
 {
-  if (extender_p_)
+  if (extender_)
     {
-      typeset_grob (extender_p_);
-      extender_p_ = 0;
+      typeset_grob (extender_);
+      extender_ = 0;
     }
 
-  if (current_lyric_l_)
+  if (current_lyric_)
     {
-      last_lyric_l_ = current_lyric_l_;
-      current_lyric_l_ =0;
+      last_lyric_ = current_lyric_;
+      current_lyric_ =0;
     }
 }
 
 void
 Extender_engraver::start_translation_timestep ()
 {
-  req_l_ = 0;
+  req_ = 0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/fingering-engraver.cc ./lily/fingering-engraver.cc
--- ../lilypond-1.5.69/lily/fingering-engraver.cc	Fri Jun 21 00:30:57 2002
+++ ./lily/fingering-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -54,21 +54,21 @@ void
 Fingering_engraver::acknowledge_grob (Grob_info inf)
 {
   
-  if (Stem::has_interface (inf.grob_l_))
+  if (Stem::has_interface (inf.grob_))
     {
       for (int i=0; i < fingerings_.size (); i++)
 	{
-	  Side_position_interface::add_support (fingerings_[i],inf.grob_l_);
+	  Side_position_interface::add_support (fingerings_[i],inf.grob_);
 	}
     }
-  else if (Rhythmic_head::has_interface (inf.grob_l_))
+  else if (Rhythmic_head::has_interface (inf.grob_))
     {
       Music * mc =inf.music_cause ();
       Pitch * mp = mc? unsmob_pitch (mc->get_mus_property ("pitch")) :0;
       for (int i=0; i < fingerings_.size (); i++)
 	{
 	  Grob*t = fingerings_[i];
-	  Side_position_interface::add_support (t,inf.grob_l_);
+	  Side_position_interface::add_support (t,inf.grob_);
 	  Pitch *fp = unsmob_pitch (t->get_grob_property ("pitch"));
 	  if (fp)
 	    {
@@ -78,13 +78,13 @@ Fingering_engraver::acknowledge_grob (Gr
 	      if (*fp == *mp)
 		{
 		  Axis other = other_axis (Side_position_interface::get_axis (t));
-		  t->set_parent (inf.grob_l_, other);
+		  t->set_parent (inf.grob_, other);
 		}
 	    }
 	  else
 	    {
 	      if (!t->get_parent (X_AXIS))
-		t->set_parent (inf.grob_l_, X_AXIS);
+		t->set_parent (inf.grob_, X_AXIS);
 	    }
 	}
     }
diff -purN ../lilypond-1.5.69/lily/folded-repeat-iterator.cc ./lily/folded-repeat-iterator.cc
--- ../lilypond-1.5.69/lily/folded-repeat-iterator.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/folded-repeat-iterator.cc	Fri Jul 26 12:26:58 2002
@@ -10,7 +10,7 @@
 
 /*
    Folded repeats are a stupid idea at this point, so we refrain from
-   implementing get_music () and skip ().
+   implementing get_pending_events () and skip ().
 */
 
 #include "folded-repeat-iterator.hh"
@@ -21,47 +21,47 @@
 
 Folded_repeat_iterator::Folded_repeat_iterator ()
 {
-  main_iter_p_ = 0;
-  alternative_iter_p_ = 0;
+  main_iter_ = 0;
+  alternative_iter_ = 0;
 }
 
 bool
 Folded_repeat_iterator::ok () const
 {
-  return main_iter_p_ || alternative_iter_p_;
+  return main_iter_ || alternative_iter_;
 }
 
 Folded_repeat_iterator::~Folded_repeat_iterator ()
 {
-  delete main_iter_p_;
-  delete alternative_iter_p_;
+  delete main_iter_;
+  delete alternative_iter_;
 }
 
 Folded_repeat_iterator::Folded_repeat_iterator (Folded_repeat_iterator const &src)
   : Music_iterator (src)
 {
-  main_iter_p_ = src.main_iter_p_ ? src.main_iter_p_->clone () : 0;
-  alternative_iter_p_ = src.alternative_iter_p_ ? src.alternative_iter_p_->clone () : 0;
+  main_iter_ = src.main_iter_ ? src.main_iter_->clone () : 0;
+  alternative_iter_ = src.alternative_iter_ ? src.alternative_iter_->clone () : 0;
   main_length_mom_ = src.main_length_mom_;
 }
 
 Moment
 Folded_repeat_iterator::pending_moment () const
 {
-  if (main_iter_p_)
+  if (main_iter_)
     {
-      return main_iter_p_->pending_moment ();
+      return main_iter_->pending_moment ();
     }
   else
-    return main_length_mom_ + alternative_iter_p_->pending_moment ();
+    return main_length_mom_ + alternative_iter_->pending_moment ();
 }
 
 void
 Folded_repeat_iterator::construct_children ()
 {
-  Repeated_music  *  mus = dynamic_cast<Repeated_music*> (music_l ());
-  main_iter_p_ = get_iterator_p (mus->body ());
-  if (!main_iter_p_->ok ())
+  Repeated_music  *  mus = dynamic_cast<Repeated_music*> (get_music ());
+  main_iter_ = get_iterator (mus->body ());
+  if (!main_iter_->ok ())
     {
      leave_body ();
       enter_alternative ();
@@ -73,30 +73,30 @@ Folded_repeat_iterator::process (Moment 
 {
   if (!m.to_bool () )
     {
-      bool success = try_music (music_l ());
+      bool success = try_music (get_music ());
       if (!success)
-	music_l ()->origin ()->warning (_ ("no one to print a repeat brace"));
+	get_music ()->origin ()->warning (_ ("no one to print a repeat brace"));
     }
   
-  if (main_iter_p_)
+  if (main_iter_)
     {
-      main_iter_p_->process (m);
-      if (!main_iter_p_->ok ())
+      main_iter_->process (m);
+      if (!main_iter_->ok ())
 	leave_body ();
     }
 
-  if (!main_iter_p_ && !alternative_iter_p_)
+  if (!main_iter_ && !alternative_iter_)
     {
       enter_alternative ();
     }
   
-  if (alternative_iter_p_)
+  if (alternative_iter_)
     {
-      alternative_iter_p_->process (m - main_length_mom_);
-      if (!alternative_iter_p_->ok ())
+      alternative_iter_->process (m - main_length_mom_);
+      if (!alternative_iter_->ok ())
 	{
-	  delete alternative_iter_p_;
-	  alternative_iter_p_ =0;
+	  delete alternative_iter_;
+	  alternative_iter_ =0;
 	}
     }
 }
@@ -104,24 +104,24 @@ Folded_repeat_iterator::process (Moment 
 void
 Folded_repeat_iterator::leave_body ()
 {
-  Repeated_music *  mus = dynamic_cast<Repeated_music *> (music_l ());
-  delete main_iter_p_;
-  main_iter_p_ = 0;
+  Repeated_music *  mus = dynamic_cast<Repeated_music *> (get_music ());
+  delete main_iter_;
+  main_iter_ = 0;
   main_length_mom_ +=  mus->body ()->length_mom ();
 }
 
 void
 Folded_repeat_iterator::enter_alternative ()
 {
-  Repeated_music *  mus = dynamic_cast<Repeated_music *> (music_l ());  
+  Repeated_music *  mus = dynamic_cast<Repeated_music *> (get_music ());  
   if (mus->alternatives ())
     {
       Simultaneous_music_iterator * s = new Simultaneous_music_iterator;
       s->separate_contexts_b_ = true;
-      s->init_translator (mus, report_to_l ());
+      s->init_translator (mus, report_to ());
       
-      alternative_iter_p_ = s;
-      alternative_iter_p_->construct_children ();
+      alternative_iter_ = s;
+      alternative_iter_->construct_children ();
     }
 }
 
@@ -129,12 +129,12 @@ Folded_repeat_iterator::enter_alternativ
 Music_iterator*
 Folded_repeat_iterator::try_music_in_children (Music * m) const
 {
-  if (main_iter_p_)
+  if (main_iter_)
     {
-      return main_iter_p_->try_music (m);
+      return main_iter_->try_music (m);
     }
-  if (alternative_iter_p_)
-    return alternative_iter_p_->try_music (m);
+  if (alternative_iter_)
+    return alternative_iter_->try_music (m);
   return 0;
 }
 
diff -purN ../lilypond-1.5.69/lily/font-interface.cc ./lily/font-interface.cc
--- ../lilypond-1.5.69/lily/font-interface.cc	Wed Jul  3 13:57:22 2002
+++ ./lily/font-interface.cc	Fri Jul 26 12:26:58 2002
@@ -39,7 +39,7 @@ Font_interface::font_alist_chain (Grob *
     Ugh: why the defaults?
    */
   SCM defaults = ly_cdr (scm_assoc (ly_symbol2scm ("font-defaults"),
-				    me->paper_l ()->style_sheet_));
+				    me->get_paper ()->style_sheet_));
 
   SCM ch = me->get_property_alist_chain (defaults);
   
@@ -107,7 +107,7 @@ Font_interface::get_font (Grob *me, SCM 
   
   if (!gh_string_p (name))
     {
-      SCM ss = me->paper_l ()->style_sheet_;
+      SCM ss = me->get_paper ()->style_sheet_;
 
       SCM proc = ly_cdr (scm_assoc (ly_symbol2scm ("properties-to-font"),
 				    ss));
@@ -121,7 +121,7 @@ Font_interface::get_font (Grob *me, SCM 
   SCM mag = me->get_grob_property ("font-magnification");
   Real rmag = gh_number_p (mag) ? gh_scm2double (mag) : 1.0;
   
-  Font_metric *fm = me->paper_l ()->find_font (name, rmag);
+  Font_metric *fm = me->get_paper ()->find_font (name, rmag);
   return fm;
 }
 
@@ -130,7 +130,7 @@ Font_interface::add_style (Grob* me, SCM
 {
   assert (gh_symbol_p (style));
   
-  SCM sheet = me->paper_l ()->style_sheet_;
+  SCM sheet = me->get_paper ()->style_sheet_;
       
   SCM style_alist = ly_cdr (scm_assoc (ly_symbol2scm ("style-alist"), sheet));
   SCM entry = scm_assoc (style, style_alist);
@@ -161,7 +161,7 @@ so a 14% speedup.
 
 */
 
-static SCM shape_sym, family_sym, series_sym, rel_sz_sym, design_sz_sym, wild_sym;
+static SCM shape_sym, family_sym, series_sym, rel_str0_sym, design_str0_sym, wild_sym;
 
 
 static void
@@ -170,8 +170,8 @@ init_syms ()
   shape_sym  = scm_permanent_object (ly_symbol2scm ("font-shape"));
   family_sym = scm_permanent_object (ly_symbol2scm ("font-family"));
   series_sym = scm_permanent_object (ly_symbol2scm ("font-series"));
-  rel_sz_sym = scm_permanent_object (ly_symbol2scm ("font-relative-size"));
-  design_sz_sym = scm_permanent_object (ly_symbol2scm ("font-design-size"));
+  rel_str0_sym = scm_permanent_object (ly_symbol2scm ("font-relative-size"));
+  design_str0_sym = scm_permanent_object (ly_symbol2scm ("font-design-size"));
   wild_sym = scm_permanent_object (ly_symbol2scm ("*"));
 }
 
@@ -193,8 +193,8 @@ Font_interface::properties_to_font_name 
   SCM series = SCM_BOOL_F;
 
   
-  SCM point_sz = ly_assoc_chain (design_sz_sym, alist_chain);
-  SCM rel_sz = SCM_BOOL_F;
+  SCM point_str0 = ly_assoc_chain (design_str0_sym, alist_chain);
+  SCM rel_str0 = SCM_BOOL_F;
 
   shape = ly_assoc_chain (shape_sym, alist_chain);
   family = ly_assoc_chain (family_sym, alist_chain);
@@ -208,13 +208,13 @@ Font_interface::properties_to_font_name 
     series = ly_cdr (series);
 
 
-  if (gh_pair_p (point_sz))
-    point_sz = ly_cdr (point_sz);
+  if (gh_pair_p (point_str0))
+    point_str0 = ly_cdr (point_str0);
   else
     {
-      rel_sz = ly_assoc_chain (rel_sz_sym, alist_chain);
-      if (gh_pair_p (rel_sz))
-	rel_sz = ly_cdr (rel_sz);
+      rel_str0 = ly_assoc_chain (rel_str0_sym, alist_chain);
+      if (gh_pair_p (rel_str0))
+	rel_str0 = ly_cdr (rel_str0);
     }
 
   for (SCM s = fonts ; gh_pair_p (s); s = ly_cdr (s))
@@ -228,7 +228,7 @@ Font_interface::properties_to_font_name 
       if (!wild_compare (scm_list_ref (qlist, gh_int2scm (3)), family))
 	continue;
   
-      if (point_sz == SCM_BOOL_F && !wild_compare (ly_car (qlist), rel_sz))
+      if (point_str0 == SCM_BOOL_F && !wild_compare (ly_car (qlist), rel_str0))
 	continue;
           
       SCM qname = ly_cdar (s);
@@ -236,7 +236,7 @@ Font_interface::properties_to_font_name 
     }
 
   warning (_ ("couldn't find any font satisfying "));
-  scm_write (scm_list_n (point_sz, shape, series , family, rel_sz, SCM_UNDEFINED), scm_current_error_port ());
+  scm_write (scm_list_n (point_str0, shape, series , family, rel_str0, SCM_UNDEFINED), scm_current_error_port ());
   scm_flush (scm_current_error_port ());
  
   return ly_str02scm ("cmr10");
diff -purN ../lilypond-1.5.69/lily/font-metric.cc ./lily/font-metric.cc
--- ../lilypond-1.5.69/lily/font-metric.cc	Sun May 19 01:45:15 2002
+++ ./lily/font-metric.cc	Fri Jul 26 12:26:58 2002
@@ -23,14 +23,14 @@ Font_metric::text_dimension (String text
   Interval ydims;
   Real w=0.0;
   
-  for (int i = 0; i < text.length_i (); i++) 
+  for (int i = 0; i < text.length (); i++) 
     {
       
       switch (text[i]) 
 	{
 	case '\\':
   // accent marks use width of base letter
-         if (i +1 < text.length_i ())
+         if (i +1 < text.length ())
 	   {
 	     if (text[i+1]=='\'' || text[i+1]=='`' || text[i+1]=='"' ||
 		 text[i+1]=='^')
@@ -45,7 +45,7 @@ Font_metric::text_dimension (String text
 	       }
 	   }
 	  
-	  for (i++; (i < text.length_i ()) && !isspace (text[i]) 
+	  for (i++; (i < text.length ()) && !isspace (text[i]) 
 		 && text[i]!='{' && text[i]!='}'; i++)
 	    ;
 	  // ugh.
diff -purN ../lilypond-1.5.69/lily/font-size-engraver.cc ./lily/font-size-engraver.cc
--- ../lilypond-1.5.69/lily/font-size-engraver.cc	Sun Apr 28 01:02:00 2002
+++ ./lily/font-size-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -36,9 +36,9 @@ Font_size_engraver::acknowledge_grob (Gr
 
   if (gh_number_p (sz)
       && gh_scm2int (sz)
-      && !gh_number_p (gi.grob_l_->get_grob_property ("font-relative-size")))
+      && !gh_number_p (gi.grob_->get_grob_property ("font-relative-size")))
     {
-      gi.grob_l_->set_grob_property ("font-relative-size", sz);
+      gi.grob_->set_grob_property ("font-relative-size", sz);
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/global-ctor.cc ./lily/global-ctor.cc
--- ../lilypond-1.5.69/lily/global-ctor.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/global-ctor.cc	Fri Jul 26 12:26:58 2002
@@ -9,19 +9,19 @@
 #include "global-ctor.hh"
 #include "array.hh"
 
-static Array<Global_ctor> *ctor_global_static_arr_p_;
+static Array<Global_ctor> *ctor_global_statics_;
 
 void
 add_constructor (Global_ctor c)
 {
-  if (!ctor_global_static_arr_p_)
-    ctor_global_static_arr_p_ = new Array<Global_ctor>;
-  ctor_global_static_arr_p_->push (c);
+  if (!ctor_global_statics_)
+    ctor_global_statics_ = new Array<Global_ctor>;
+  ctor_global_statics_->push (c);
 }
 
 void
 call_constructors ()
 {
-  for (int i=0; i < ctor_global_static_arr_p_->size (); i++)
-    (ctor_global_static_arr_p_->elem (i)) ();
+  for (int i=0; i < ctor_global_statics_->size (); i++)
+    (ctor_global_statics_->elem (i)) ();
 }
diff -purN ../lilypond-1.5.69/lily/global-translator.cc ./lily/global-translator.cc
--- ../lilypond-1.5.69/lily/global-translator.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/global-translator.cc	Fri Jul 26 12:26:58 2002
@@ -42,7 +42,7 @@ Global_translator::sneaky_insert_extra_m
 }
 
 int
-Global_translator::moments_left_i () const
+Global_translator::get_moments_left () const
 {
   return extra_mom_pq_.size ();
 }
@@ -63,7 +63,7 @@ Global_translator::now_mom () const
 
 
 Music_output*
-Global_translator::get_output_p ()
+Global_translator::get_output ()
 {
   return 0;
 }
@@ -88,7 +88,7 @@ Global_translator::run_iterator_on_me (M
     prev_mom_ = now_mom_ = iter->pending_moment ();
 
   bool first = true;
-  while (iter->ok () || moments_left_i ())
+  while (iter->ok () || get_moments_left ())
     {
       Moment w;
       w.set_infinite (1);
@@ -99,7 +99,7 @@ Global_translator::run_iterator_on_me (M
 
       w = sneaky_insert_extra_moment (w);
       
-      //      printf ("proccing %s\n ",       w.str().ch_C());
+      //      printf ("proccing %s\n ",       w.string ().to_str0 ());
 
 
       
diff -purN ../lilypond-1.5.69/lily/gourlay-breaking.cc ./lily/gourlay-breaking.cc
--- ../lilypond-1.5.69/lily/gourlay-breaking.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/gourlay-breaking.cc	Fri Jul 26 12:26:58 2002
@@ -6,6 +6,7 @@
   (c)  1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 #include <math.h>		// rint
+#include <stdio.h>
 
 #include "gourlay-breaking.hh"
 #include "column-x-positions.hh"
@@ -28,20 +29,20 @@ struct Break_node {
     considered: this path has infinite energy
     
     */
-  int prev_break_i_;
+  int prev_break_;
   /**
      Which system number so far?
    */
-  int line_i_;
+  int line_;
 
-  Real demerits_f_;
+  Real demerits_;
   Column_x_positions line_config_;
   
   Break_node () 
   {
-    prev_break_i_ = -1;
-    line_i_ = 0;
-    demerits_f_ = 0;
+    prev_break_ = -1;
+    line_ = 0;
+    demerits_ = 0;
   }
 };
 
@@ -56,7 +57,7 @@ Gourlay_breaking::do_solve () const
 {
   Array<Break_node> optimal_paths;
   Link_array<Grob> all =
-    pscore_l_->line_l_->column_l_arr ();
+    pscore_->system_->columns ();
   
   Array<int> breaks = find_break_indices ();
   
@@ -77,7 +78,7 @@ Gourlay_breaking::do_solve () const
       
       Real minimal_demerits = infinity_f;
 
-      bool ragged = to_boolean (pscore_l_->paper_l_->get_scmvar ("raggedright"));
+      bool ragged = to_boolean (pscore_->paper_->get_scmvar ("raggedright"));
 
       for (int start_idx = break_idx; start_idx--;)
 	{
@@ -90,13 +91,13 @@ Gourlay_breaking::do_solve () const
 	  cp.cols_ = line;
 
 	  Interval line_dims
-	    = pscore_l_->paper_l_->line_dimensions_int (optimal_paths[start_idx].line_i_);
+	    = pscore_->paper_->line_dimensions_int (optimal_paths[start_idx].line_);
 	  Simple_spacer * sp = generate_spacing_problem (line, line_dims);
 	  sp->solve (&cp, ragged);
 	  delete sp;
 
-	  if (fabs (cp.force_f_) > worst_force)
-	    worst_force = fabs (cp.force_f_);
+	  if (fabs (cp.force_) > worst_force)
+	    worst_force = fabs (cp.force_);
 
 	  /*
 	    We remember this solution as a "should always work
@@ -106,11 +107,11 @@ Gourlay_breaking::do_solve () const
 	 	  
 	  Real this_demerits;
 
-	  if (optimal_paths[start_idx].demerits_f_ >= infinity_f)
+	  if (optimal_paths[start_idx].demerits_ >= infinity_f)
 	    this_demerits = infinity_f;
 	  else
 	    this_demerits = combine_demerits (optimal_paths[start_idx].line_config_, cp)
-	      + optimal_paths[start_idx].demerits_f_;
+	      + optimal_paths[start_idx].demerits_;
 
 	  if (this_demerits < minimal_demerits) 
 	    {
@@ -131,26 +132,26 @@ Gourlay_breaking::do_solve () const
       Break_node bnod;
       if (minimal_start_idx < 0) 
 	{
-	  bnod.demerits_f_ = infinity_f;
+	  bnod.demerits_ = infinity_f;
 	  bnod.line_config_ = backup_sol;
-	  bnod.prev_break_i_ = break_idx - 1;	  
+	  bnod.prev_break_ = break_idx - 1;	  
 	}
       else 
 	{
-	  bnod.prev_break_i_ = minimal_start_idx;
-	  bnod.demerits_f_ = minimal_demerits;
+	  bnod.prev_break_ = minimal_start_idx;
+	  bnod.demerits_ = minimal_demerits;
 	  bnod.line_config_ = minimal_sol;
 	}
-      bnod.line_i_ = optimal_paths[bnod.prev_break_i_].line_i_ + 1;
+      bnod.line_ = optimal_paths[bnod.prev_break_].line_ + 1;
       optimal_paths.push (bnod);
       
       if (! (break_idx % HAPPY_DOTS_I))
-	progress_indication (String ("[") + to_str (break_idx) + "]");
+	progress_indication (String ("[") + to_string (break_idx) + "]");
     }
 
   /* do the last one */
   if (breaks.size () % HAPPY_DOTS_I)
-    progress_indication (String ("[") + to_str (breaks.size()) + "]");    
+    progress_indication (String ("[") + to_string (breaks.size()) + "]");    
 
 
   progress_indication ("\n");
@@ -162,12 +163,15 @@ Gourlay_breaking::do_solve () const
   for (int i = optimal_paths.size ()-1; i> 0;) 
     {
       final_breaks.push (i);
-      int prev = optimal_paths[i].prev_break_i_;
+      int prev = optimal_paths[i].prev_break_;
       assert (i > prev);
       i = prev;
     }
 
-  if (optimal_paths.top ().demerits_f_ >= infinity_f)
+  if (verbose_global_b)
+    printf ("Optimal demerits: %f\n", optimal_paths.top ().demerits_); 
+  
+  if (optimal_paths.top ().demerits_ >= infinity_f)
     warning (_ ("No feasible line breaking found"));
   
   for (int i= final_breaks.size (); i--;)
@@ -201,7 +205,7 @@ Gourlay_breaking::combine_demerits (Colu
 {
   Real break_penalties = 0.0;
   Grob * pc = this_one.cols_.top ();
-  if (pc->original_l_)
+  if (pc->original_)
     {
       SCM pen = pc->get_grob_property ("penalty");
       if (gh_number_p (pen) && fabs (gh_scm2double (pen)) < 10000)
@@ -214,10 +218,10 @@ Gourlay_breaking::combine_demerits (Colu
   /*
     Q: do want globally non-cramped lines, or locally equally cramped lines. 
    */
-  Real demerit = abs (this_one.force_f_) + 0.1 *abs (prev.force_f_ - this_one.force_f_)
+  Real demerit = abs (this_one.force_) + 0.1 *abs (prev.force_ - this_one.force_)
     + break_penalties;
 #else
-  Real demerit = abs (this_one.force_f_) + break_penalties;
+  Real demerit = abs (this_one.force_) + break_penalties;
 #endif
 
    if (!this_one.satisfies_constraints_b_)
diff -purN ../lilypond-1.5.69/lily/grace-iterator.cc ./lily/grace-iterator.cc
--- ../lilypond-1.5.69/lily/grace-iterator.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/grace-iterator.cc	Fri Jul 26 12:26:58 2002
@@ -17,7 +17,7 @@
 
 Grace_iterator::~Grace_iterator () 
 {
-  //  child_iter_p_ = 0;
+  //  child_iter_ = 0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/grob-info.cc ./lily/grob-info.cc
--- ../lilypond-1.5.69/lily/grob-info.cc	Fri May 17 00:35:07 2002
+++ ./lily/grob-info.cc	Fri Jul 26 12:26:58 2002
@@ -11,36 +11,36 @@
 #include "music.hh"
 #include "translator-group.hh"
 
-Grob_info::Grob_info (Grob*s_l)
+Grob_info::Grob_info (Grob*s)
 {
-  grob_l_ = s_l;
-  origin_trans_l_ = 0;  
+  grob_ = s;
+  origin_trans_ = 0;  
 }
 
 
 Grob_info::Grob_info ()
 {
-  grob_l_ = 0;
-  origin_trans_l_ = 0;
+  grob_ = 0;
+  origin_trans_ = 0;
 }
 
 Music*
 Grob_info::music_cause ()
   
 {
-  SCM cause = grob_l_->get_grob_property ("cause"); 
+  SCM cause = grob_->get_grob_property ("cause"); 
   return unsmob_music (cause);
 }
 
 Link_array<Translator>
-Grob_info::origin_trans_l_arr (Translator* end) const
+Grob_info::origin_transes (Translator* end) const
 {
-  Translator * t = origin_trans_l_;
+  Translator * t = origin_trans_;
   Link_array<Translator> r;
   do {
     r.push (t);
-    t = t->daddy_trans_l_;
-  } while (t && t != end->daddy_trans_l_);
+    t = t->daddy_trans_;
+  } while (t && t != end->daddy_trans_);
   
   return r;
 }
diff -purN ../lilypond-1.5.69/lily/grob-interface.cc ./lily/grob-interface.cc
--- ../lilypond-1.5.69/lily/grob-interface.cc	Sun May 19 01:45:15 2002
+++ ./lily/grob-interface.cc	Fri Jul 26 12:26:58 2002
@@ -22,8 +22,8 @@ void add_interface (const char * symbol,
 LY_DEFINE(ly_add_interface, "ly-add-interface", 3,0,0, (SCM a, SCM b, SCM c),
 	  "Add an interface description.")
 {
-  SCM_ASSERT_TYPE (gh_symbol_p(a), a, SCM_ARG1, __FUNCTION__, "symbol");
-  SCM_ASSERT_TYPE (gh_string_p(b), b, SCM_ARG2, __FUNCTION__, "string");  
+  SCM_ASSERT_TYPE (gh_symbol_p (a), a, SCM_ARG1, __FUNCTION__, "symbol");
+  SCM_ASSERT_TYPE (gh_string_p (b), b, SCM_ARG2, __FUNCTION__, "string");  
   SCM_ASSERT_TYPE (gh_list_p(c), c,  SCM_ARG3, __FUNCTION__, "list of syms");    
   if (!gh_vector_p (all_ifaces))
     {
@@ -66,8 +66,8 @@ check_interfaces_for_property (Grob cons
       SCM iface = scm_hashq_ref (all_ifaces , gh_car (ifs), SCM_BOOL_F);
       if (iface == SCM_BOOL_F)
 	{
-	  String msg = to_str ("Unknown interface `%s'",
-			       ly_scm2string (scm_symbol_to_string (gh_car(ifs))).ch_C());
+	  String msg = to_string ("Unknown interface `%s'",
+			       ly_scm2string (scm_symbol_to_string (gh_car(ifs))).to_str0 ());
 	  programming_error (msg);
 	  continue;
 	}
@@ -77,9 +77,9 @@ check_interfaces_for_property (Grob cons
 
   if (!found)
     {
-     String str = to_str("Grob %s has no interface for property %s",
-			 me->name ().ch_C(),
-			 ly_symbol2string(sym).ch_C());
+     String str = to_string ("Grob %s has no interface for property %s",
+			 me->name ().to_str0 (),
+			 ly_symbol2string(sym).to_str0 ());
      programming_error (str);
     }
 }
diff -purN ../lilypond-1.5.69/lily/grob-pitch-tuple.cc ./lily/grob-pitch-tuple.cc
--- ../lilypond-1.5.69/lily/grob-pitch-tuple.cc	Fri Feb  1 19:17:38 2002
+++ ./lily/grob-pitch-tuple.cc	Fri Jul 26 12:26:58 2002
@@ -21,13 +21,13 @@ int compare (Grob_pitch_tuple const &a, 
 
 Grob_pitch_tuple::Grob_pitch_tuple ()
 {
-  head_l_ =0;
+  head_ =0;
   end_ = 0;
 }
 
 Grob_pitch_tuple::Grob_pitch_tuple (Grob *h, Melodic_req*m, Moment mom)
 {
-  head_l_ = h;
+  head_ = h;
   pitch_ = *unsmob_pitch (m->get_mus_property ("pitch"));
   end_ = mom;
 }
diff -purN ../lilypond-1.5.69/lily/grob-pq-engraver.cc ./lily/grob-pq-engraver.cc
--- ../lilypond-1.5.69/lily/grob-pq-engraver.cc	Mon Jun 17 00:43:05 2002
+++ ./lily/grob-pq-engraver.cc	Fri Jul 26 12:26:58 2002
@@ -50,7 +50,7 @@ Grob_pq_engraver::Grob_pq_engraver()
 void
 Grob_pq_engraver::initialize ()
 {
-  daddy_trans_l_->set_property ("busyGrobs", SCM_EOL); 
+  daddy_trans_->set_property ("busyGrobs", SCM_EOL); 
 }
 
 void
@@ -72,7 +72,7 @@ Grob_pq_engraver::acknowledge_grob (Grob
 	  l.main_part_ = 0;
 	}
 
-      current_grobs_.push (Grob_mom (gi.grob_l_, n + l));
+      current_grobs_.push (Grob_mom (gi.grob_, n + l));
     }
 }
 
@@ -128,7 +128,7 @@ Grob_pq_engraver::stop_translation_times
     }
 
   current_grobs_.clear ();
-  daddy_trans_l_->set_property ("busyGrobs", start);
+  daddy_trans_->set_property ("busyGrobs", start);
 }
 
 void
@@ -146,7 +146,7 @@ Grob_pq_engraver::start_translation_time
     }
 
   if (start_busy != busy)
-    daddy_trans_l_->set_property ("busyGrobs", busy);
+    daddy_trans_->set_property ("busyGrobs", busy);
 
 }
 
diff -purN ../lilypond-1.5.69/lily/grob-scheme.cc ./lily/grob-scheme.cc
--- ../lilypond-1.5.69/lily/grob-scheme.cc	Wed Jul 17 15:18:44 2002
+++ ./lily/grob-scheme.cc	Fri Jul 26 12:36:08 2002
@@ -3,6 +3,7 @@
 #include "spanner.hh"
 #include "item.hh"
 #include "paper-def.hh"
+#include "system.hh"
 
 LY_DEFINE(ly_set_grob_property,"ly-set-grob-property!", 3, 0, 0,
   (SCM grob, SCM sym, SCM val),
@@ -10,7 +11,7 @@ LY_DEFINE(ly_set_grob_property,"ly-set-g
 {
   Grob * sc = unsmob_grob (grob);
   SCM_ASSERT_TYPE(sc, grob, SCM_ARG1, __FUNCTION__, "grob");
-  SCM_ASSERT_TYPE(gh_symbol_p(sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
+  SCM_ASSERT_TYPE(gh_symbol_p (sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
 
   if (!type_check_assignment (sym, val, ly_symbol2scm ("backend-type?")))
     error ("typecheck failed");
@@ -46,7 +47,7 @@ initially read from @file{scm/grob-descr
 {
   Grob * sc = unsmob_grob (grob);
   SCM_ASSERT_TYPE(sc, grob, SCM_ARG1, __FUNCTION__, "grob");
-  SCM_ASSERT_TYPE(gh_symbol_p(sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
+  SCM_ASSERT_TYPE(gh_symbol_p (sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
 
   return sc->internal_get_grob_property (sym);
 }
@@ -69,9 +70,9 @@ LY_DEFINE(ly_get_paper_var,"ly-get-paper
 {
   Grob * sc = unsmob_grob (grob);
   SCM_ASSERT_TYPE(sc, grob, SCM_ARG1, __FUNCTION__, "grob");
-  SCM_ASSERT_TYPE(gh_symbol_p(sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
+  SCM_ASSERT_TYPE(gh_symbol_p (sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
 
-  return sc->paper_l() ->get_scmvar_scm (sym);
+  return sc->get_paper () ->get_scmvar_scm (sym);
 }
 
 
@@ -86,7 +87,7 @@ grob @var{refp}")
   SCM_ASSERT_TYPE(sc, grob, SCM_ARG1, __FUNCTION__, "grob");
   SCM_ASSERT_TYPE(ref, refp, SCM_ARG2, __FUNCTION__, "grob");
   
-  SCM_ASSERT_TYPE(ly_axis_p(axis), axis, SCM_ARG3, __FUNCTION__, "axis");
+  SCM_ASSERT_TYPE(ly_axis_p (axis), axis, SCM_ARG3, __FUNCTION__, "axis");
 
   return ly_interval2scm ( sc->extent (ref, Axis (gh_scm2int (axis))));
 }
@@ -97,8 +98,58 @@ for the Y-axis.")
 {
   Grob * sc = unsmob_grob (grob);
   SCM_ASSERT_TYPE(sc, grob, SCM_ARG1, __FUNCTION__, "grob");
-  SCM_ASSERT_TYPE(ly_axis_p(axis), axis, SCM_ARG2, __FUNCTION__, "axis");
+  SCM_ASSERT_TYPE(ly_axis_p (axis), axis, SCM_ARG2, __FUNCTION__, "axis");
 
-  return sc->get_parent (Axis (gh_scm2int (axis)))->self_scm();
+  Grob * par = sc->get_parent (Axis (gh_scm2int (axis)));
+  return par ? par->self_scm() : SCM_EOL;
+}
+
+/* ly prefix? */
+LY_DEFINE (get_system,
+	   "get-system",
+	   1, 0, 0, (SCM grob),
+	   "
+Return the System Grob of @var{grob}.
+")
+{
+  Grob *me = unsmob_grob (grob);
+  SCM_ASSERT_TYPE (me, grob, SCM_ARG1, __FUNCTION__, "grob");
+  
+  if (System *g = me->get_system ())
+    return g->self_scm ();
+    
+  return SCM_EOL;
+}
+
+/* ly prefix? */
+LY_DEFINE (get_original,
+	   "get-original",
+	   1, 0, 0, (SCM grob),
+	   "
+Return the original Grob of @var{grob}
+")
+{
+  Grob *me = unsmob_grob (grob);
+  SCM_ASSERT_TYPE (me, grob, SCM_ARG1, __FUNCTION__, "grob");
+  return me->original_ ? me->original_->self_scm () : me->self_scm ();
+}
+
+
+/* ly prefix? spanner in name? */
+LY_DEFINE (get_broken_into,
+	  "get-broken-into", 1, 0, 0, (SCM spanner),
+	   "
+Return broken-into list for @var{spanner}.
+"
+)
+{
+  ///  Spanner *me = unsmob_spanner (spanner);
+  Spanner *me = dynamic_cast<Spanner*> (unsmob_grob (spanner));
+  SCM_ASSERT_TYPE (me, spanner, SCM_ARG1, __FUNCTION__, "spanner");
+
+  SCM s = SCM_EOL;
+  for (int i = me->broken_intos_.size (); i; i--)
+    s = gh_cons (me->broken_intos_[i-1]->self_scm (), s);
+  return s;
 }
 
diff -purN ../lilypond-1.5.69/lily/grob.cc ./lily/grob.cc
--- ../lilypond-1.5.69/lily/grob.cc	Sat Jul 13 20:47:17 2002
+++ ./lily/grob.cc	Fri Jul 26 12:26:59 2002
@@ -46,9 +46,9 @@ Grob::Grob (SCM basicprops)
     fixme: default should be no callback.
    */
 
-  pscore_l_=0;
-  status_c_ = 0;
-  original_l_ = 0;
+  pscore_=0;
+  status_ = 0;
+  original_ = 0;
   immutable_property_alist_ =  basicprops;
   mutable_property_alist_ = SCM_EOL;
 
@@ -121,7 +121,7 @@ Grob::Grob (SCM basicprops)
 Grob::Grob (Grob const&s)
    : dim_cache_ (s.dim_cache_)
 {
-  original_l_ = (Grob*) &s;
+  original_ = (Grob*) &s;
   immutable_property_alist_ = s.immutable_property_alist_;
 
   mutable_property_alist_ = SCM_EOL;
@@ -130,8 +130,8 @@ Grob::Grob (Grob const&s)
     No properties are copied. That is the job of handle_broken_dependencies.
    */
   
-  status_c_ = s.status_c_;
-  pscore_l_ = s.pscore_l_;
+  status_ = s.status_;
+  pscore_ = s.pscore_;
 
   smobify_self ();
 
@@ -189,24 +189,24 @@ Grob::preset_extent (SCM element_smob, S
 
 
 Paper_def*
-Grob::paper_l ()  const
+Grob::get_paper ()  const
 {
- return pscore_l_ ? pscore_l_->paper_l_ : 0;
+ return pscore_ ? pscore_->paper_ : 0;
 }
 
 void
 Grob::calculate_dependencies (int final, int busy, SCM funcname)
 {
-  if (status_c_ >= final)
+  if (status_ >= final)
     return;
 
-  if (status_c_== busy)
+  if (status_== busy)
     {
       programming_error ("Element is busy, come back later");
       return;
     }
   
-  status_c_= busy;
+  status_= busy;
 
   for (SCM d = get_grob_property ("dependencies"); gh_pair_p (d);
        d = ly_cdr (d))
@@ -220,7 +220,7 @@ Grob::calculate_dependencies (int final,
   if (gh_procedure_p (proc))
     gh_call1 (proc, this->self_scm ());
  
-  status_c_= final;
+  status_= final;
 }
 
 Molecule *
@@ -243,6 +243,7 @@ Grob::get_molecule ()  const
   
   return unsmob_molecule (mol);  
 }
+
 SCM
 Grob::get_uncached_molecule ()const
 {
@@ -297,13 +298,8 @@ Grob::do_break_processing ()
 {
 }
 
-
-
-
-
-
 System *
-Grob::line_l () const
+Grob::get_system () const
 {
   return 0;
 }
@@ -320,20 +316,19 @@ Grob::add_dependency (Grob*e)
 }
 
 
-
 void
 Grob::handle_broken_dependencies ()
 {
   Spanner * s= dynamic_cast<Spanner*> (this);
-  if (original_l_ && s)
+  if (original_ && s)
     return;
 
   if (s)
     {
-      for (int i = 0;  i< s->broken_into_l_arr_ .size (); i++)
+      for (int i = 0;  i< s->broken_intos_ .size (); i++)
 	{
-	  Grob * sc = s->broken_into_l_arr_[i];
-	  System * l = sc->line_l ();
+	  Grob * sc = s->broken_intos_[i];
+	  System * l = sc->get_system ();
 
 	  sc->substitute_mutable_properties (l ? l->self_scm () : SCM_UNDEFINED,
 				   mutable_property_alist_);
@@ -341,12 +336,12 @@ Grob::handle_broken_dependencies ()
     }
 
 
-  System *line = line_l ();
+  System *system = get_system ();
 
   if (live ()
-      && line && common_refpoint (line, X_AXIS) && common_refpoint (line, Y_AXIS))
+      && system && common_refpoint (system, X_AXIS) && common_refpoint (system, Y_AXIS))
     {
-      substitute_mutable_properties (line ? line->self_scm () : SCM_UNDEFINED,
+      substitute_mutable_properties (system ? system->self_scm () : SCM_UNDEFINED,
 			       mutable_property_alist_);
     }
   else if (dynamic_cast <System*> (this))
@@ -396,11 +391,11 @@ Grob::handle_prebroken_dependencies ()
     Don't do this in the derived method, since we want to keep access to
     mutable_property_alist_ centralized.
    */
-  if (original_l_)
+  if (original_)
     {
       Item * it = dynamic_cast<Item*> (this);
       substitute_mutable_properties (gh_int2scm (it->break_status_dir ()),
-			       original_l_->mutable_property_alist_);
+			       original_->mutable_property_alist_);
     }
 }
 
@@ -442,10 +437,10 @@ Grob::relative_coordinate (Grob const*re
     not ask for the absolute coordinate (ie. REFP == nil.)
     
    */
-  if (refp == dim_cache_[a].parent_l_)
+  if (refp == dim_cache_[a].parent_)
     return get_offset (a);
   else
-    return get_offset (a) + dim_cache_[a].parent_l_->relative_coordinate (refp, a);
+    return get_offset (a) + dim_cache_[a].parent_->relative_coordinate (refp, a);
 }
 
 
@@ -551,8 +546,8 @@ Grob::common_refpoint (Grob const* s, Ax
     I don't like the quadratic aspect of this code, but I see no other
     way. The largest chain of parents might be 10 high or so, so
     it shouldn't be a real issue. */
-  for (Grob const *c = this; c; c = c->dim_cache_[a].parent_l_)
-    for (Grob const * d = s; d; d = d->dim_cache_[a].parent_l_)
+  for (Grob const *c = this; c; c = c->dim_cache_[a].parent_)
+    for (Grob const * d = s; d; d = d->dim_cache_[a].parent_)
       if (d == c)
 	return (Grob*)d;
 
@@ -638,7 +633,7 @@ Grob::set_extent (SCM dc, Axis a)
 void
 Grob::set_parent (Grob *g, Axis a)
 {
-  dim_cache_[a].parent_l_ = g;
+  dim_cache_[a].parent_ = g;
 }
 
 MAKE_SCHEME_CALLBACK (Grob,fixup_refpoint,1);
@@ -654,9 +649,9 @@ Grob::fixup_refpoint (SCM smob)
       if (!parent)
 	continue;
       
-      if (parent->line_l () != me->line_l () && me->line_l ())
+      if (parent->get_system () != me->get_system () && me->get_system ())
 	{
-	  Grob * newparent = parent->find_broken_piece (me->line_l ());
+	  Grob * newparent = parent->find_broken_piece (me->get_system ());
 	  me->set_parent (newparent, ax);
 	}
 
@@ -734,8 +729,8 @@ Grob::mark_smob (SCM ses)
        */
     }
   
-  if (s->original_l_)
-    scm_gc_mark (s->original_l_->self_scm ());
+  if (s->original_)
+    scm_gc_mark (s->original_->self_scm ());
 
   s->do_derived_mark ();  
   return s->mutable_property_alist_;
@@ -747,7 +742,7 @@ Grob::print_smob (SCM s, SCM port, scm_p
   Grob *sc = (Grob *) ly_cdr (s);
      
   scm_puts ("#<Grob ", port);
-  scm_puts ((char *)sc->name ().ch_C (), port);
+  scm_puts ((char *)sc->name ().to_str0 (), port);
 
   /*
     don't try to print properties, that is too much hassle.
@@ -777,6 +772,35 @@ Grob::internal_has_interface (SCM k)
   return scm_memq (k, ifs) != SCM_BOOL_F;
 }
 
+
+/** Return Array of Grobs in SCM list L */
+Link_array<Grob>
+ly_scm2grobs (SCM l)
+{
+  Link_array<Grob> arr;
+
+  for (SCM s = l; gh_pair_p (s); s = gh_cdr (s))
+    {
+      SCM e = gh_car (s);
+      arr.push (unsmob_grob (e));
+    }
+
+  arr.reverse ();
+  return arr;
+}
+
+/** Return SCM list of Grob array A */
+SCM
+ly_grobs2scm (Link_array<Grob> a)
+{
+  SCM s = SCM_EOL;
+  for (int i = a.size (); i; i--)
+    s = gh_cons (a[i-1]->self_scm (), s);
+
+  return s;
+}
+
+
 IMPLEMENT_TYPE_P (Grob, "ly-grob?");
 
 ADD_INTERFACE (Grob, "grob-interface",
@@ -807,9 +831,10 @@ is also an abstract grob: it only moves 
 anything.
 ",
   "X-offset-callbacks Y-offset-callbacks X-extent-callback molecule cause
-Y-extent-callback molecule-callback extra-offset
-spacing-procedure
-staff-symbol interfaces dependencies extra-extent-X causes meta
-layer before-line-breaking-callback after-line-breaking-callback extra-extent-Y minimum-extent-X minimum-extent-Y transparent");
+Y-extent-callback molecule-callback extra-offset spacing-procedure
+staff-symbol interfaces dependencies extent-X extent-Y extra-extent-X
+causes meta layer before-line-breaking-callback
+after-line-breaking-callback extra-extent-Y minimum-extent-X
+minimum-extent-Y transparent");
 
 
diff -purN ../lilypond-1.5.69/lily/group-interface.cc ./lily/group-interface.cc
--- ../lilypond-1.5.69/lily/group-interface.cc	Wed Jul  3 13:57:22 2002
+++ ./lily/group-interface.cc	Fri Jul 26 12:26:59 2002
@@ -19,13 +19,13 @@ Group_interface::add_thing (Grob*me, SCM
 void
 Group_interface::add_thing (Grob*me, String name, SCM thing)
 {
-  add_thing (me, ly_symbol2scm (name.ch_C()), thing);
+  add_thing (me, ly_symbol2scm (name.to_str0 ()), thing);
 }
 
 int
 Group_interface::count (Grob *me, String name)
 {
-  return scm_ilength (me->get_grob_property (name.ch_C ()));
+  return scm_ilength (me->get_grob_property (name.to_str0 ()));
 }
 
 
diff -purN ../lilypond-1.5.69/lily/hairpin.cc ./lily/hairpin.cc
--- ../lilypond-1.5.69/lily/hairpin.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/hairpin.cc	Fri Jul 26 12:26:59 2002
@@ -24,7 +24,7 @@ Hairpin::brew_molecule (SCM smob) 
   Grob *me= unsmob_grob (smob);
   Spanner *spanner = dynamic_cast<Spanner*> (me);
 
-  Real line = me->paper_l ()->get_var ("linethickness");  
+  Real line = me->get_paper ()->get_var ("linethickness");  
   
   SCM s = me->get_grob_property ("grow-direction");
   if (!ly_dir_p (s))
diff -purN ../lilypond-1.5.69/lily/hyphen-engraver.cc ./lily/hyphen-engraver.cc
--- ../lilypond-1.5.69/lily/hyphen-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/hyphen-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -22,10 +22,10 @@
   then.  */
 class Hyphen_engraver : public Engraver
 {
-  Grob *last_lyric_l_;
-  Grob *current_lyric_l_;
-  Hyphen_req* req_l_;
-  Spanner* hyphen_p_;
+  Grob *last_lyric_;
+  Grob *current_lyric_;
+  Hyphen_req* req_;
+  Spanner* hyphen_;
 public:
   TRANSLATOR_DECLARATIONS(Hyphen_engraver);
 
@@ -44,24 +44,24 @@ private:
 
 Hyphen_engraver::Hyphen_engraver ()
 {
-  current_lyric_l_ = 0;
-  last_lyric_l_ = 0;
-  hyphen_p_ = 0;
-  req_l_ = 0;
+  current_lyric_ = 0;
+  last_lyric_ = 0;
+  hyphen_ = 0;
+  req_ = 0;
 }
 
 void
 Hyphen_engraver::acknowledge_grob (Grob_info i)
 {
   // -> text-item
-  if (i.grob_l_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")))
+  if (i.grob_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")))
     {
-      current_lyric_l_ = i.grob_l_;
-      if (hyphen_p_
-	  && !hyphen_p_->get_bound (RIGHT)
+      current_lyric_ = i.grob_;
+      if (hyphen_
+	  && !hyphen_->get_bound (RIGHT)
 	    )
 	  {
-	    Hyphen_spanner (hyphen_p_).set_textitem (RIGHT, i.grob_l_);
+	    Hyphen_spanner (hyphen_).set_textitem (RIGHT, i.grob_);
 	  }
     }
 }
@@ -72,10 +72,10 @@ Hyphen_engraver::try_music (Music* r)
 {
   if (Hyphen_req* p = dynamic_cast <Hyphen_req *> (r))
     {
-      if (req_l_)
+      if (req_)
 	return false;
 
-      req_l_ = p;
+      req_ = p;
       return true;
     }
   return false;
@@ -84,28 +84,28 @@ Hyphen_engraver::try_music (Music* r)
 void
 Hyphen_engraver::finalize ()
 {
-  if (hyphen_p_)
+  if (hyphen_)
     {
-      req_l_->origin ()->warning (_ ("unterminated hyphen"));
-      hyphen_p_->set_bound (RIGHT, unsmob_grob (get_property ("currentCommandColumn")));
+      req_->origin ()->warning (_ ("unterminated hyphen"));
+      hyphen_->set_bound (RIGHT, unsmob_grob (get_property ("currentCommandColumn")));
     }
 }
 
 void
 Hyphen_engraver::process_acknowledged_grobs ()
 {
-  if (req_l_ &&! hyphen_p_)
+  if (req_ &&! hyphen_)
     {
-      if (!last_lyric_l_)
+      if (!last_lyric_)
 	{
-	  req_l_->origin ()->warning (_ ("Nothing to connect hyphen to on the left.  Ignoring hyphen request."));
+	  req_->origin ()->warning (_ ("Nothing to connect hyphen to on the left.  Ignoring hyphen request."));
 	  return;
 	}
       
-      hyphen_p_ = new Spanner (get_property ("LyricHyphen"));
+      hyphen_ = new Spanner (get_property ("LyricHyphen"));
 
-      Hyphen_spanner (hyphen_p_).set_textitem (LEFT, last_lyric_l_);
-      announce_grob(hyphen_p_, req_l_->self_scm());
+      Hyphen_spanner (hyphen_).set_textitem (LEFT, last_lyric_);
+      announce_grob(hyphen_, req_->self_scm());
     }
 }
 
@@ -113,23 +113,23 @@ Hyphen_engraver::process_acknowledged_gr
 void
 Hyphen_engraver::stop_translation_timestep ()
 {
-  if (hyphen_p_)
+  if (hyphen_)
     {
-      typeset_grob (hyphen_p_);
-      hyphen_p_ = 0;
+      typeset_grob (hyphen_);
+      hyphen_ = 0;
     }
 
-  if (current_lyric_l_)
+  if (current_lyric_)
     {
-      last_lyric_l_ = current_lyric_l_;
-      current_lyric_l_ =0;
+      last_lyric_ = current_lyric_;
+      current_lyric_ =0;
     }
 }
 
 void
 Hyphen_engraver::start_translation_timestep ()
 {
-  req_l_ = 0;
+  req_ = 0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/hyphen-spanner.cc ./lily/hyphen-spanner.cc
--- ../lilypond-1.5.69/lily/hyphen-spanner.cc	Mon Apr  1 01:12:19 2002
+++ ./lily/hyphen-spanner.cc	Fri Jul 26 12:26:59 2002
@@ -45,7 +45,7 @@ Hyphen_spanner::brew_molecule (SCM smob)
     }
   while (flip (&d) != LEFT);
   
-  Real lt = sp->paper_l ()->get_var ("linethickness");
+  Real lt = sp->get_paper ()->get_var ("linethickness");
   Real th = gh_scm2double (sp->get_grob_property ("thickness")) * lt ;
   Real h = gh_scm2double (sp->get_grob_property ("height"));
 
@@ -80,7 +80,7 @@ Hyphen_spanner::brew_molecule (SCM smob)
          the offset for stuff */
       /* This test for being on the first column has been shamelessly
          ripped from spanner.cc */
-      Paper_column *sc = dynamic_cast<Paper_column*> (sp->get_bound (LEFT)->column_l ());
+      Paper_column *sc = dynamic_cast<Paper_column*> (sp->get_bound (LEFT)->get_column ());
       if (sc != NULL &&
 	  sc->break_status_dir () == RIGHT)
 	{
@@ -105,13 +105,13 @@ Hyphen_spanner::brew_molecule (SCM smob)
 void
 Hyphen_spanner::set_textitem (Direction d, Grob* b)
 {
-  elt_l_->set_bound (d, b);
-  elt_l_->add_dependency (b);
+  elt_->set_bound (d, b);
+  elt_->add_dependency (b);
 }
 
 Hyphen_spanner::Hyphen_spanner (Spanner*s)
 {
-  elt_l_ = s;
+  elt_ = s;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/includable-lexer.cc ./lily/includable-lexer.cc
--- ../lilypond-1.5.69/lily/includable-lexer.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/includable-lexer.cc	Fri Jul 26 12:26:59 2002
@@ -43,18 +43,18 @@ Includable_lexer::new_input (String s, S
       return;
     }
   
-  Source_file * sl = global_sources->get_file_l (s);
+  Source_file * sl = global_sources->get_file (s);
   if (!sl)
     {
       String msg = _f ("can't find file: `%s'", s);
       msg += "\n";
-      msg += _f ("(search path: `%s')", global_sources->path_C_->str ().ch_C ());
+      msg += _f ("(search path: `%s')", global_sources->path_C_->string ().to_str0 ());
       msg += "\n";
-      LexerError (msg.ch_C ());
+      LexerError (msg.to_str0 ());
 
       return;
     }
-  filename_str_arr_.push (sl->name_str ());
+  filename_strings_.push (sl->name_string ());
 
   char_count_stack_.push (0);
   if (yy_current_buffer)
@@ -72,7 +72,7 @@ Includable_lexer::new_input (String s, S
     filelength but a BUFFERSIZE. Maybe this is why reading stdin fucks up.
 
   */
-  yy_switch_to_buffer (yy_create_buffer (sl->istream_l (), YY_BUF_SIZE));
+  yy_switch_to_buffer (yy_create_buffer (sl->get_istream (), YY_BUF_SIZE));
 
 }
 void
@@ -80,7 +80,7 @@ Includable_lexer::new_input (String name
 {
   Source_file* file = new Source_file (name, data);
   sources->add (file);
-  filename_str_arr_.push (name);
+  filename_strings_.push (name);
 
   char_count_stack_.push (0);
   if (yy_current_buffer)
@@ -90,7 +90,7 @@ Includable_lexer::new_input (String name
     progress_indication (String ("[") + name);
   include_stack_.push (file);
 
-  yy_switch_to_buffer (yy_create_buffer (file->istream_l (), YY_BUF_SIZE));
+  yy_switch_to_buffer (yy_create_buffer (file->get_istream (), YY_BUF_SIZE));
 }
 
 /** pop the inputstack.  conceptually this is a destructor, but it
@@ -117,11 +117,11 @@ Includable_lexer::close_input ()
 }
 
 char const*
-Includable_lexer::here_ch_C () const
+Includable_lexer::here_str0 () const
 {
   if (include_stack_.empty ())
     return 0;
-  return include_stack_.top ()->ch_C () + char_count_stack_.top ();
+  return include_stack_.top ()->to_str0 () + char_count_stack_.top ();
 }
 
 Includable_lexer::~Includable_lexer ()
@@ -142,7 +142,7 @@ Includable_lexer::add_lexed_char (int co
 }
 
 Source_file*
-Includable_lexer::source_file_l () const
+Includable_lexer::get_source_file () const
 {
   if (include_stack_.empty ())
     return 0;
diff -purN ../lilypond-1.5.69/lily/include/accidental-placement.hh ./lily/include/accidental-placement.hh
--- ../lilypond-1.5.69/lily/include/accidental-placement.hh	Sun Apr 21 15:52:04 2002
+++ ./lily/include/accidental-placement.hh	Wed Jul 24 17:11:29 2002
@@ -16,9 +16,14 @@ class Accidental_placement
 {
 public:
   DECLARE_SCHEME_CALLBACK (alignment_callback, (SCM element, SCM axis));
-  DECLARE_SCHEME_CALLBACK (extent_callback, (SCM element, SCM axis));  
   static void add_accidental (Grob *,Grob* );
 
+  static Interval get_relevant_accidental_extent (Grob *me,
+						  Item *item_col,
+						  Grob *acc);
+  static void split_accidentals (Grob * accs,
+			  Link_array<Grob> *break_reminder,
+			  Link_array<Grob> *real_acc);
   
   static SCM position_accidentals (Grob* );
   static bool has_interface (Grob*);
diff -purN ../lilypond-1.5.69/lily/include/afm.hh ./lily/include/afm.hh
--- ../lilypond-1.5.69/lily/include/afm.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/afm.hh	Fri Jul 26 12:27:00 2002
@@ -27,7 +27,7 @@ struct Adobe_font_metric : Font_metric
   AFM_CharMetricInfo const *find_char_metric (String name, bool warn=true) const;
   AFM_CharMetricInfo const *find_ascii_metric (int, bool warn=true) const;  
 
-  String str () const;
+  String string () const;
   ~Adobe_font_metric ();
   static SCM make_afm (AFM_Font_info*, unsigned);
 
diff -purN ../lilypond-1.5.69/lily/include/audio-column.hh ./lily/include/audio-column.hh
--- ../lilypond-1.5.69/lily/include/audio-column.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/audio-column.hh	Fri Jul 26 12:27:00 2002
@@ -21,12 +21,12 @@ class Audio_column : public Audio_elemen
 public:
   Audio_column (Moment at_mom);
 
-  void add_audio_item (Audio_item* i_l);
+  void add_audio_item (Audio_item* i);
   Moment at_mom () const;
   void print () const;
 
-  Link_array<Audio_item> audio_item_l_arr_;
-  Performance * performance_l_;
+  Link_array<Audio_item> audio_items_;
+  Performance * performance_;
 
 private:
   Audio_column (Audio_column const&);
diff -purN ../lilypond-1.5.69/lily/include/audio-element-info.hh ./lily/include/audio-element-info.hh
--- ../lilypond-1.5.69/lily/include/audio-element-info.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/audio-element-info.hh	Fri Jul 26 12:27:00 2002
@@ -17,10 +17,10 @@
   Data container for broadcasts 
   */
 struct Audio_element_info {
-  Audio_element * elem_l_;
-  Music *req_l_;
-  Translator *  origin_trans_l_;
-  Link_array<Translator> origin_trans_l_arr (Translator*) const;  
+  Audio_element * elem_;
+  Music *req_;
+  Translator *  origin_trans_;
+  Link_array<Translator> origin_transes (Translator*) const;  
 
   Audio_element_info (Audio_element*, Music*);
   Audio_element_info ();
diff -purN ../lilypond-1.5.69/lily/include/audio-item.hh ./lily/include/audio-item.hh
--- ../lilypond-1.5.69/lily/include/audio-item.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/audio-item.hh	Fri Jul 26 12:27:00 2002
@@ -27,7 +27,7 @@ class Audio_item : public Audio_element
 public:
   Audio_item ();
 
-  Audio_column* audio_column_l_;
+  Audio_column* audio_column_;
 
   
 private:
@@ -55,7 +55,7 @@ public:
 class Audio_instrument : public Audio_item
 {
 public:
-  Audio_instrument (String instrument_str);
+  Audio_instrument (String instrument_string);
 
   String str_;
 };
@@ -71,14 +71,14 @@ public:  
   Moment length_mom_;
   Moment delayed_mom_;
   Moment delayed_until_mom_;
-  int transposing_i_;
+  int transposing_;
   Audio_note* tied_;
 };
 
 class Audio_piano_pedal : public Audio_item
 {
 public:
-  String type_str_;
+  String type_string_;
   Direction dir_;
 };
 
@@ -90,10 +90,10 @@ public:
     MARKER, CUE_POINT
   };
   
-  Audio_text (Audio_text::Type type, String text_str);
+  Audio_text (Audio_text::Type type, String text_string);
 
   Type type_;
-  String text_str_;
+  String text_string_;
 };
 
 class Audio_tempo : public Audio_item
@@ -101,7 +101,7 @@ class Audio_tempo : public Audio_item
 public:
   Audio_tempo (int per_minute_4_i);
 
-  int per_minute_4_i_;
+  int per_minute_4_;
 };
 
 class Audio_tie : public Audio_item
@@ -117,8 +117,8 @@ class Audio_time_signature : public Audi
 public:
   Audio_time_signature (int beats, int one_beat);
 
-  int beats_i_;
-  int one_beat_i_;
+  int beats_;
+  int one_beat_;
 };
 
 #endif // AUDIO_ITEM_HH
diff -purN ../lilypond-1.5.69/lily/include/audio-staff.hh ./lily/include/audio-staff.hh
--- ../lilypond-1.5.69/lily/include/audio-staff.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/audio-staff.hh	Fri Jul 26 12:27:00 2002
@@ -15,8 +15,8 @@ struct Audio_staff : public Audio_elemen
   void add_audio_item (Audio_item*  l);
   void output (Midi_stream& midi_stream_r, int track_i);
 
-  Link_array<Audio_item> audio_item_l_arr_;
-  int channel_i_;
+  Link_array<Audio_item> audio_items_;
+  int channel_;
 };
 
 #endif // AUDIO_STAFF_HH
diff -purN ../lilypond-1.5.69/lily/include/beam.hh ./lily/include/beam.hh
--- ../lilypond-1.5.69/lily/include/beam.hh	Mon Jul 22 12:22:00 2002
+++ ./lily/include/beam.hh	Wed Jul 24 15:28:12 2002
@@ -39,13 +39,12 @@ public:
   DECLARE_SCHEME_CALLBACK (slope_damping, (SCM));
   DECLARE_SCHEME_CALLBACK (shift_region_to_valid, (SCM));  
   DECLARE_SCHEME_CALLBACK (quanting, (SCM));
-  static Real score_slopes_dy (Grob*, Real,Real,Real,Real, bool);
+  static Real score_slopes_dy (Real, Real, Real, Real, bool);
   static Real score_stem_lengths (Link_array<Grob>,
 				  Array<Stem_info>,
 				  Array<Real>, Array<Real>,
-				  Real, Real,
-				  bool,Grob*,Real , Real);
-  static Real score_forbidden_quants (Grob*, Real, Real,
+				  Real, Real, bool, Real, Real);
+  static Real score_forbidden_quants (Real, Real,
 				      Real, Real, Real, Real,
 				      int, Direction, Direction);
   
diff -purN ../lilypond-1.5.69/lily/include/bezier.hh ./lily/include/bezier.hh
--- ../lilypond-1.5.69/lily/include/bezier.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/bezier.hh	Fri Jul 26 12:27:00 2002
@@ -46,9 +46,9 @@ public:
   Offset control_[4];
 };
 
-void scale (Array<Offset>* arr_p, Real xscale, Real yscale);
-void rotate (Array<Offset>* arr_p, Real phi);
-void translate (Array<Offset>* arr_p, Offset o);
+void scale (Array<Offset>* array, Real xscale, Real yscale);
+void rotate (Array<Offset>* array, Real phi);
+void translate (Array<Offset>* array, Offset o);
 
 #endif // BEZIER_HH
 
diff -purN ../lilypond-1.5.69/lily/include/break-algorithm.hh ./lily/include/break-algorithm.hh
--- ../lilypond-1.5.69/lily/include/break-algorithm.hh	Sun Apr 21 15:52:04 2002
+++ ./lily/include/break-algorithm.hh	Fri Jul 26 12:27:00 2002
@@ -24,8 +24,8 @@
   */
 class Break_algorithm {
 protected:
-  Paper_score *pscore_l_;
-  Real linewidth_f_;
+  Paper_score *pscore_;
+  Real linewidth_;
 
   /// search all pcols which are breakable.
   Link_array<Grob> find_breaks () const;
diff -purN ../lilypond-1.5.69/lily/include/chord-tremolo-iterator.hh ./lily/include/chord-tremolo-iterator.hh
--- ../lilypond-1.5.69/lily/include/chord-tremolo-iterator.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/chord-tremolo-iterator.hh	Fri Jul 26 12:27:00 2002
@@ -29,7 +29,7 @@ protected:
 
 private:
   Moment factor_;
-  Music_iterator * child_iter_p_;
+  Music_iterator * child_iter_;
 };
 
 
diff -purN ../lilypond-1.5.69/lily/include/column-x-positions.hh ./lily/include/column-x-positions.hh
--- ../lilypond-1.5.69/lily/include/column-x-positions.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/column-x-positions.hh	Fri Jul 26 12:27:00 2002
@@ -17,7 +17,7 @@ struct Column_x_positions
   Link_array<Grob> loose_cols_;
   
   Array<Real> config_;
-  Real force_f_;
+  Real force_;
   bool satisfies_constraints_b_;
 
   Column_x_positions ();
diff -purN ../lilypond-1.5.69/lily/include/command-request.hh ./lily/include/command-request.hh
--- ../lilypond-1.5.69/lily/include/command-request.hh	Fri May 17 00:35:08 2002
+++ ./lily/include/command-request.hh	Fri Jul 26 12:27:00 2002
@@ -30,7 +30,7 @@ public:
 };
 
 /*
-    int metronome_i_;
+    int metronome_;
  */
 class Tempo_req : public Request
 {
diff -purN ../lilypond-1.5.69/lily/include/custos.hh ./lily/include/custos.hh
--- ../lilypond-1.5.69/lily/include/custos.hh	Sun Mar 11 19:10:33 2001
+++ ./lily/include/custos.hh	Fri Jul 26 12:27:00 2002
@@ -17,7 +17,7 @@ struct Custos
   static bool has_interface (Grob*);
 
 private:
-  static void add_streepjes (Grob* me, int pos, int interspaces, Molecule* custos_p_);
+  static void add_streepjes (Grob* me, int pos, int interspaces, Molecule* custos_);
   static Molecule create_ledger_line (Interval x_extent, Grob *me) ;
 
 };
diff -purN ../lilypond-1.5.69/lily/include/dimension-cache.hh ./lily/include/dimension-cache.hh
--- ../lilypond-1.5.69/lily/include/dimension-cache.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/dimension-cache.hh	Fri Jul 26 12:27:00 2002
@@ -33,7 +33,7 @@ struct Dimension_cache
   SCM dimension_;
 
   /**
-    The offset wrt. to the center of #parent_l_#
+    The offset wrt. to the center of #parent_#
    */
 
   Real offset_;
@@ -44,7 +44,7 @@ struct Dimension_cache
   /**
      What to call to find extent.  Nil means empty. 
    */
-  Grob * parent_l_;
+  Grob * parent_;
 
   Dimension_cache (Dimension_cache const&);
   Dimension_cache ();
diff -purN ../lilypond-1.5.69/lily/include/duration.hh ./lily/include/duration.hh
--- ../lilypond-1.5.69/lily/include/duration.hh	Wed Jul 17 15:18:46 2002
+++ ./lily/include/duration.hh	Fri Jul 26 12:27:00 2002
@@ -22,7 +22,7 @@ public:
   
   Duration ();
   Duration (int, int);
-  String str () const;
+  String string () const;
 
   Duration compressed (Rational) const;
   Rational length_mom () const ;
@@ -38,16 +38,15 @@ public:
 
 private:
     /// Logarithm of the base duration.
-  int durlog_i_;
-  int dots_i_;
+  int durlog_;
+  int dots_;
 
   Rational factor_;
 };
 
 #include "compare.hh"
 INSTANTIATE_COMPARE (Duration, Duration::compare);
-DECLARE_UNSMOB(Duration,duration);
-
+DECLARE_UNSMOB (Duration, duration);
 
 #endif // DURATION_HH
 
diff -purN ../lilypond-1.5.69/lily/include/engraver-group-engraver.hh ./lily/include/engraver-group-engraver.hh
--- ../lilypond-1.5.69/lily/include/engraver-group-engraver.hh	Sun Jul  7 16:43:58 2002
+++ ./lily/include/engraver-group-engraver.hh	Fri Jul 26 12:27:00 2002
@@ -26,7 +26,7 @@ class Engraver_group_engraver : public E
 				public virtual Translator_group
 {
 protected:
-  Array<Grob_info> announce_info_arr_;
+  Array<Grob_info> announce_infos_;
 
   
   
diff -purN ../lilypond-1.5.69/lily/include/engraver.hh ./lily/include/engraver.hh
--- ../lilypond-1.5.69/lily/include/engraver.hh	Wed Jun 19 21:06:33 2002
+++ ./lily/include/engraver.hh	Fri Jul 26 12:27:00 2002
@@ -28,7 +28,7 @@ protected:
   /*
     Call this when you're finished with ELEM_P.
    */
-  virtual void typeset_grob (Grob*elem_p);
+  virtual void typeset_grob (Grob*elem);
   /*
     take note of item/spanner
     put item in spanner. Adjust local key; etc.
@@ -51,7 +51,7 @@ protected:
 
   Score_engraver * top_engraver () const;
 public:
-  Engraver_group_engraver * daddy_grav_l () const;
+  Engraver_group_engraver * get_daddy_grav () const;
   /**
     override other ctor
    */
diff -purN ../lilypond-1.5.69/lily/include/file-results.hh ./lily/include/file-results.hh
--- ../lilypond-1.5.69/lily/include/file-results.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/file-results.hh	Fri Jul 26 12:27:00 2002
@@ -11,11 +11,11 @@
 #define FILE_RESULTS_HH
 #include "flower-proto.hh"
 
-void do_one_file (String init_str, String file_str);
-extern Scheme_hash_table *global_header_p;
-extern Array<String> target_str_global_array;
-extern Array<String> inclusion_global_array;
-extern Link_array<Score> score_global_array;
+void do_one_file (String init_string, String file_string);
+extern Scheme_hash_table *global_header;
+extern Array<String> target_string_globals;
+extern Array<String> inclusion_globals;
+extern Link_array<Score> score_globals;
 void do_scores ();
 void clear_scores ();
 
diff -purN ../lilypond-1.5.69/lily/include/folded-repeat-iterator.hh ./lily/include/folded-repeat-iterator.hh
--- ../lilypond-1.5.69/lily/include/folded-repeat-iterator.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/folded-repeat-iterator.hh	Fri Jul 26 12:27:00 2002
@@ -38,8 +38,8 @@ protected:
   virtual Music_iterator *try_music_in_children (Music *) const;
 
 private:
-  Music_iterator * main_iter_p_;
-  Music_iterator * alternative_iter_p_;
+  Music_iterator * main_iter_;
+  Music_iterator * alternative_iter_;
 
   Moment main_length_mom_;
 };
diff -purN ../lilypond-1.5.69/lily/include/global-translator.hh ./lily/include/global-translator.hh
--- ../lilypond-1.5.69/lily/include/global-translator.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/global-translator.hh	Fri Jul 26 12:27:00 2002
@@ -24,12 +24,12 @@ public:
   Moment now_mom_;
   Global_translator ();
 
-  int moments_left_i () const;
+  int get_moments_left () const;
   Moment sneaky_insert_extra_moment (Moment);
   void add_moment_to_process (Moment);
   void run_iterator_on_me (Music_iterator*);
   
-  virtual Music_output *get_output_p ();     
+  virtual Music_output *get_output ();     
   virtual void prepare (Moment);
   virtual void one_time_step ();
   virtual void finish ();
diff -purN ../lilypond-1.5.69/lily/include/grob-info.hh ./lily/include/grob-info.hh
--- ../lilypond-1.5.69/lily/include/grob-info.hh	Mon Feb  4 00:12:07 2002
+++ ./lily/include/grob-info.hh	Fri Jul 26 12:27:00 2002
@@ -18,14 +18,14 @@
   Data container for broadcasts.
   */
 struct Grob_info {
-  Translator * origin_trans_l_;
+  Translator * origin_trans_;
   friend class Engraver;
 
-  Grob * grob_l_;
+  Grob * grob_;
 
 public:
   Music * music_cause ();
-  Link_array<Translator> origin_trans_l_arr (Translator*) const;
+  Link_array<Translator> origin_transes (Translator*) const;
   Grob_info (Grob*);
   Grob_info ();
 };
diff -purN ../lilypond-1.5.69/lily/include/grob-pitch-tuple.hh ./lily/include/grob-pitch-tuple.hh
--- ../lilypond-1.5.69/lily/include/grob-pitch-tuple.hh	Fri Nov  9 00:47:52 2001
+++ ./lily/include/grob-pitch-tuple.hh	Fri Jul 26 12:27:00 2002
@@ -16,7 +16,7 @@ source file of the GNU LilyPond music ty
 
 struct Grob_pitch_tuple {
   Pitch pitch_;
-  Grob *head_l_;
+  Grob *head_;
   Moment end_;
 
   Grob_pitch_tuple ();
diff -purN ../lilypond-1.5.69/lily/include/grob.hh ./lily/include/grob.hh
--- ../lilypond-1.5.69/lily/include/grob.hh	Wed Jul  3 13:57:22 2002
+++ ./lily/include/grob.hh	Fri Jul 26 12:27:00 2002
@@ -43,7 +43,7 @@ private:
 
   void substitute_mutable_properties(SCM,SCM);
 public:
-  Grob *original_l_;
+  Grob *original_;
 
   /**
     Administration: Where are we?. This is mainly used by Super_element and
@@ -51,7 +51,7 @@ public:
 
     0 means ORPHAN,
    */
-  char status_c_;
+  char status_;
 
 
   /*
@@ -59,7 +59,7 @@ public:
     elements, I think it is safe to assume that we will not have
     scores being formatted multithreadedly.
    */
-  Paper_score *pscore_l_;
+  Paper_score *pscore_;
   Dimension_cache dim_cache_[NO_AXES];
 
   Grob (SCM basic_props);
@@ -82,13 +82,13 @@ public:
   /*
     related classes.
    */
-  Paper_def *paper_l () const;
+  Paper_def *get_paper () const;
 
   /**
     add a dependency. It may be the 0 pointer, in which case, it is ignored.
     */
   void add_dependency (Grob*);    
-  virtual System * line_l () const;
+  virtual System * get_system () const;
   bool linked_b () const;
 
 
@@ -96,7 +96,7 @@ public:
  
   /**
      Recursively track all dependencies of this Grob.  The
-     status_c_ field is used as a mark-field.  It is marked with
+     status_ field is used as a mark-field.  It is marked with
      #busy# during execution of this function, and marked with #final#
      when finished.
 
@@ -152,7 +152,7 @@ public:
   
   void set_parent (Grob* e, Axis);
   
-  Grob *get_parent (Axis a) const {   return  dim_cache_[a].parent_l_; }
+  Grob *get_parent (Axis a) const {   return  dim_cache_[a].parent_; }
   DECLARE_SCHEME_CALLBACK (fixup_refpoint, (SCM));
 };
 
@@ -166,6 +166,8 @@ Grob*common_refpoint_of_array (Link_arra
 void set_break_subsititution (SCM criterion);
 SCM substitute_mutable_property_alist (SCM alist);
 
+Link_array<Grob> ly_scm2grobs (SCM l);
+SCM ly_grobs2scm (Link_array<Grob> a);
 
 #endif // STAFFELEM_HH
 
diff -purN ../lilypond-1.5.69/lily/include/group-interface.hh ./lily/include/group-interface.hh
--- ../lilypond-1.5.69/lily/include/group-interface.hh	Sun Apr 28 01:02:01 2002
+++ ./lily/include/group-interface.hh	Tue Jul 23 23:32:50 2002
@@ -35,24 +35,6 @@ struct Pointer_group_interface : public 
 public:
   static void add_grob (Grob*, SCM nm, Grob*e);
 };
-/** 
-  Put all score elements of ELT's property called NAME into an array,
-  and return it.  */
-
-inline Link_array<Grob>
-list_to_grob_array (SCM l)
-{
-  Link_array<Grob> arr;
-
-  for (SCM s = l; gh_pair_p (s); s = gh_cdr (s))
-    {
-      SCM e = gh_car (s);
-      arr.push (unsmob_grob (e));
-    }
-
-  arr.reverse ();
-  return arr;
-}
 
 template<class T>
 Link_array<T>
diff -purN ../lilypond-1.5.69/lily/include/hyphen-spanner.hh ./lily/include/hyphen-spanner.hh
--- ../lilypond-1.5.69/lily/include/hyphen-spanner.hh	Wed Apr 10 19:25:36 2002
+++ ./lily/include/hyphen-spanner.hh	Fri Jul 26 12:27:00 2002
@@ -12,7 +12,7 @@
 struct Hyphen_spanner 
 {
 public:
-  Spanner* elt_l_;
+  Spanner* elt_;
   Hyphen_spanner (Spanner*);
   void set_textitem (Direction, Grob*);
   bool has_interface (Grob*);
diff -purN ../lilypond-1.5.69/lily/include/includable-lexer.hh ./lily/include/includable-lexer.hh
--- ../lilypond-1.5.69/lily/include/includable-lexer.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/includable-lexer.hh	Fri Jul 26 12:27:00 2002
@@ -38,14 +38,14 @@ public:
   ~Includable_lexer ();
 
   /// store dependencies for Makefile stuff.
-  Array<String> filename_str_arr_;
+  Array<String> filename_strings_;
 
-  Source_file* source_file_l () const;
+  Source_file* get_source_file () const;
   void new_input (String s, Sources*);
   void new_input (String name, String data, Sources*);
 
   void add_lexed_char (int);
-  char const * here_ch_C () const;
+  char const * here_str0 () const;
 };
 
 
diff -purN ../lilypond-1.5.69/lily/include/interpretation-context-handle.hh ./lily/include/interpretation-context-handle.hh
--- ../lilypond-1.5.69/lily/include/interpretation-context-handle.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/interpretation-context-handle.hh	Fri Jul 26 12:27:00 2002
@@ -21,10 +21,10 @@ public:
   bool try_music (Music *);
   void operator = (Interpretation_context_handle const&);
   Interpretation_context_handle (Interpretation_context_handle const&);
-  Translator_group * report_to_l () const;
+  Translator_group * report_to () const;
 
 private:
-  Translator_group * report_to_l_;
+  Translator_group * report_to_;
   void down ();
   void up (Translator_group*);
 };
diff -purN ../lilypond-1.5.69/lily/include/item.hh ./lily/include/item.hh
--- ../lilypond-1.5.69/lily/include/item.hh	Fri May 17 00:35:08 2002
+++ ./lily/include/item.hh	Fri Jul 26 12:27:00 2002
@@ -30,18 +30,18 @@ public:
   Item (SCM);
   Item (Item const &);
 
-  static bool breakable_b (Grob*me);
+  static bool breakable_b (Grob *);
   bool broken_b () const;
   
   Direction break_status_dir () const;
   
-  Item * find_prebroken_piece (Direction) const;
-  Grob * find_broken_piece (System*) const;    
+  Item *find_prebroken_piece (Direction) const;
+  Grob *find_broken_piece (System *) const;    
 
-  virtual System * line_l () const;
-  virtual Paper_column * column_l () const;
+  virtual System *get_system () const;
+  virtual Paper_column *get_column () const;
   virtual void handle_prebroken_dependencies ();
-  static  bool has_interface (Grob*);
+  static  bool has_interface (Grob *);
 protected:
   virtual void discretionary_processing ();
   void copy_breakable_items ();
diff -purN ../lilypond-1.5.69/lily/include/ligature-engraver.hh ./lily/include/ligature-engraver.hh
--- ../lilypond-1.5.69/lily/include/ligature-engraver.hh	Sun May 19 02:14:05 2002
+++ ./lily/include/ligature-engraver.hh	Fri Jul 26 12:27:00 2002
@@ -24,8 +24,8 @@ protected:
   virtual void try_stop_ligature ();
   virtual Spanner *create_ligature_spanner ();
 
-  Spanner *finished_ligature_p_;
-  Spanner *ligature_p_;
+  Spanner *finished_ligature_;
+  Spanner *ligature_;
   SCM brew_ligature_primitive_proc;
 
 public:
diff -purN ../lilypond-1.5.69/lily/include/lily-guile.hh ./lily/include/lily-guile.hh
--- ../lilypond-1.5.69/lily/include/lily-guile.hh	Mon Jul 22 12:22:00 2002
+++ ./lily/include/lily-guile.hh	Fri Jul 26 12:27:00 2002
@@ -134,7 +134,7 @@ SCM my_gh_symbol2scm (const char* x);
 */
 #define ly_symbol2scm(x) ({ static SCM cached;  \
  SCM value = cached;  /* We store this one locally, since G++ -O2 fucks up else */   \
- if ( __builtin_constant_p ((x)))\
+ if ( get___builtin_constant ((x)))\
  {  if (!cached)\
      value = cached =  scm_gc_protect_object (my_gh_symbol2scm((x)));\
  } else\
@@ -190,7 +190,7 @@ inline bool ly_pair_p (SCM x) { return S
 #endif
 inline bool ly_symbol_p (SCM x) { return SCM_SYMBOLP (x); }
 inline bool ly_number_p (SCM x) { return SCM_NUMBERP (x); }
-inline bool ly_procedure_p (SCM x) { return SCM_NFALSEP (scm_procedure_p(x)); }
+inline bool ly_procedure_p (SCM x) { return SCM_NFALSEP (scm_procedure_p (x)); }
 
 /*
   display and print newline.
@@ -202,7 +202,7 @@ void ly_display_scm (SCM s);
 #include "array.hh"
 
 void read_lily_scm_file (String);
-void init_lily_guile (String dir);
+void ly_init_guile ();
 
 bool ly_dir_p (SCM s);
 bool ly_number_pair_p (SCM);
diff -purN ../lilypond-1.5.69/lily/include/lily-version.hh ./lily/include/lily-version.hh
--- ../lilypond-1.5.69/lily/include/lily-version.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/lily-version.hh	Fri Jul 26 12:27:00 2002
@@ -12,9 +12,9 @@
 
 #include "string.hh"
 
-String version_str ();
-String gnu_lilypond_str ();
-String gnu_lilypond_version_str ();
+String version_string ();
+String gnu_lilypond_string ();
+String gnu_lilypond_version_string ();
 
 #endif // LILY_VERSION_HH
 
diff -purN ../lilypond-1.5.69/lily/include/lilypond-input-version.hh ./lily/include/lilypond-input-version.hh
--- ../lilypond-1.5.69/lily/include/lilypond-input-version.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/lilypond-input-version.hh	Fri Jul 26 12:27:00 2002
@@ -17,13 +17,13 @@ struct Lilypond_version 
   Lilypond_version (int major, int minor, int patch);
   Lilypond_version (String str);
 
-  String str () const;
+  String string () const;
   operator int () const;
 
-  int major_i_;
-  int minor_i_;
-  int patch_i_;
-  String extra_patch_str_;
+  int major_;
+  int minor_;
+  int patch_;
+  String extra_patch_string_;
 };
 
 extern Lilypond_version oldest_version;
diff -purN ../lilypond-1.5.69/lily/include/line-group-group-engraver.hh ./lily/include/line-group-group-engraver.hh
--- ../lilypond-1.5.69/lily/include/line-group-group-engraver.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/line-group-group-engraver.hh	Fri Jul 26 12:27:00 2002
@@ -21,7 +21,7 @@
 class Line_group_engraver_group : public Engraver_group_engraver
 {
 protected:
-  Spanner *staffline_p_;   
+  Spanner *staffline_;   
 
   virtual void create_line_spanner ();
   virtual void initialize ();
diff -purN ../lilypond-1.5.69/lily/include/ly-smobs.icc ./lily/include/ly-smobs.icc
--- ../lilypond-1.5.69/lily/include/ly-smobs.icc	Sun Jul 14 15:10:44 2002
+++ ./lily/include/ly-smobs.icc	Fri Jul 26 12:27:00 2002
@@ -14,12 +14,12 @@
 
 
 #define IMPLEMENT_TYPE_P(CL, FUNCNAME)\
-void init_type_p_ ## CL ()\
+void init_type_ ## CL ()\
 {\
   scm_c_define_gsubr (FUNCNAME, 1, 0, 0, (Scheme_function_unknown) CL::smob_p);\
   ly_add_function_documentation (FUNCNAME, "(SCM x)", "Check if @var{x} is a " #CL " object");\
 }\
-ADD_SCM_INIT_FUNC (init_type_p_ ## CL, init_type_p_ ## CL)
+ADD_SCM_INIT_FUNC (init_type_ ## CL, init_type_ ## CL)
 
 #ifndef SCM_CELL_TYPE
 #define SCM_CELL_TYPE(X) SCM_CAR (X)
diff -purN ../lilypond-1.5.69/lily/include/lyric-combine-music-iterator.hh ./lily/include/lyric-combine-music-iterator.hh
--- ../lilypond-1.5.69/lily/include/lyric-combine-music-iterator.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/lyric-combine-music-iterator.hh	Fri Jul 26 12:27:00 2002
@@ -31,8 +31,8 @@ protected:
 
 private:
   bool get_busy_status ()const ;
-  Music_iterator * music_iter_p_;
-  Music_iterator * lyric_iter_p_;
+  Music_iterator * music_iter_;
+  Music_iterator * lyric_iter_;
 };
 #endif /* LYRIC_COMBINE_MUSIC_ITERATOR_HH */
 
diff -purN ../lilypond-1.5.69/lily/include/lyric-combine-music.hh ./lily/include/lyric-combine-music.hh
--- ../lilypond-1.5.69/lily/include/lyric-combine-music.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/lyric-combine-music.hh	Fri Jul 26 12:27:00 2002
@@ -15,8 +15,8 @@
 class Lyric_combine_music : public Music
 {
 public:
-  Music * music_l () const;
-  Music * lyrics_l () const;
+  Music * get_music () const;
+  Music * get_lyrics () const;
   
   Lyric_combine_music ();
   Lyric_combine_music (SCM);
diff -purN ../lilypond-1.5.69/lily/include/lyric-phrasing-engraver.hh ./lily/include/lyric-phrasing-engraver.hh
--- ../lilypond-1.5.69/lily/include/lyric-phrasing-engraver.hh	Wed Jun 19 21:06:33 2002
+++ ./lily/include/lyric-phrasing-engraver.hh	Fri Jul 26 12:27:00 2002
@@ -86,20 +86,20 @@ private:
   
   */
   Protected_scm voice_alist_;
-  Grob * any_notehead_l_;
+  Grob * any_notehead_;
 };
 
 
 class Syllable_group
 {
   bool first_in_phrase_b_;
-  Grob * notehead_l_;
+  Grob * notehead_;
   Link_array<Grob> lyric_list_;
-  Grob * longest_lyric_l_;
-  Grob * shortest_lyric_l_;
-  int alignment_i_;
+  Grob * longest_lyric_;
+  Grob * shortest_lyric_;
+  int alignment_;
   bool melisma_b_;
-  Real group_translation_f_;
+  Real group_translation_;
 public:
   static SCM make_entry ();
   void set_first_in_phrase (bool f);
@@ -111,7 +111,7 @@ public:
   int lyric_count () { return lyric_list_.size (); }
   void clear ();
   bool is_empty ();
-  bool set_lyric_align (const char *punc, Grob *default_notehead_l);
+  bool set_lyric_align (const char *punc, Grob *default_notehead);
   void adjust_melisma_align ();
   int appropriate_alignment (const char *punc);
   Real amount_to_translate ();
diff -purN ../lilypond-1.5.69/lily/include/main.hh ./lily/include/main.hh
--- ../lilypond-1.5.69/lily/include/main.hh	Thu Jul 11 12:55:26 2002
+++ ./lily/include/main.hh	Fri Jul 26 12:27:00 2002
@@ -36,10 +36,10 @@ extern bool internal_type_checking_globa
 
 
 /* misc */
-extern All_font_metrics *all_fonts_global_p;
+extern All_font_metrics *all_fonts_global;
 extern int exit_status_global;
 extern File_path global_path;
 extern int score_count_global;
-extern Sources* source_global_l;
+extern Sources* source_global;
 
 #endif /* MAIN_HH */
diff -purN ../lilypond-1.5.69/lily/include/midi-def.hh ./lily/include/midi-def.hh
--- ../lilypond-1.5.69/lily/include/midi-def.hh	Fri Feb  1 19:16:22 2002
+++ ./lily/include/midi-def.hh	Fri Jul 26 12:27:00 2002
@@ -20,14 +20,14 @@
   definitions for midi output. Rather empty
  */
 class Midi_def : public Music_output_def {
-  static int score_count_i_;
+  static int score_count_;
 
 public:
   VIRTUAL_COPY_CONS (Music_output_def);
 
   Midi_def ();
 
-  int get_tempo_i (Moment moment);
+  int get_tempo (Moment moment);
   void set_tempo (Moment moment, int count_per_minute_i);
   virtual int get_next_score_count () const;
   static void reset_score_count ();
diff -purN ../lilypond-1.5.69/lily/include/midi-item.hh ./lily/include/midi-item.hh
--- ../lilypond-1.5.69/lily/include/midi-item.hh	Fri May 17 12:16:01 2002
+++ ./lily/include/midi-item.hh	Fri Jul 26 12:27:00 2002
@@ -25,13 +25,13 @@ public:
   virtual ~Midi_item ();
 
   /// factory
-  static Midi_item* midi_p (Audio_item* a);
+  static Midi_item* get_midi (Audio_item* a);
 
-  static String i2varint_str (int i);
+  static String i2varint_string (int i);
 
-  virtual String str () const = 0;
+  virtual String string () const = 0;
 
-  int channel_i_;
+  int channel_;
 };
 
 /**
@@ -40,11 +40,11 @@ public:
 class Midi_event
 {
 public:
-  Midi_event (Moment delta_mom, Midi_item* midi_l);
+  Midi_event (Moment delta_mom, Midi_item* midi);
 
   Moment delta_mom_;
-  Midi_item* midi_p_;
-  String str () const;
+  Midi_item* midi_;
+  String string () const;
 };
 
 /**
@@ -53,14 +53,14 @@ public:
 class Midi_chunk : public Midi_item
 {
 public:
-  void set (String header_str, String data_str, String footer_str);
-  virtual String str () const;
-  virtual String data_str () const;
+  void set (String header_string, String data_string, String footer_string);
+  virtual String string () const;
+  virtual String data_string () const;
 
 private:
-  String data_str_;
-  String footer_str_;
-  String header_str_;
+  String data_string_;
+  String footer_string_;
+  String header_string_;
 };
 
 class Midi_duration : public Midi_item
@@ -68,8 +68,8 @@ class Midi_duration : public Midi_item
 public:
   Midi_duration (Real seconds_f);
 
-  virtual String str () const;
-  Real seconds_f_;
+  virtual String string () const;
+  Real seconds_;
 };
 
 class Midi_header : public Midi_chunk
@@ -86,9 +86,9 @@ class Midi_instrument : public Midi_item
 public:
   Midi_instrument (Audio_instrument*);
 
-  virtual String str () const;
+  virtual String string () const;
 
-  Audio_instrument* audio_l_;
+  Audio_instrument* audio_;
 };
                                       
 
@@ -97,9 +97,9 @@ class Midi_key : public Midi_item
 public:
   Midi_key (Audio_key*);
 	
-  virtual String str () const;
+  virtual String string () const;
 
-  Audio_key* audio_l_;
+  Audio_key* audio_;
 };
 
 class Midi_time_signature : public Midi_item
@@ -107,10 +107,10 @@ class Midi_time_signature : public Midi_
 public:
   Midi_time_signature (Audio_time_signature*);
   
-  virtual String str () const;
+  virtual String string () const;
 
-  Audio_time_signature* audio_l_;
-  int clocks_per_1_i_;
+  Audio_time_signature* audio_;
+  int clocks_per_1_;
 };
 
 /**
@@ -122,12 +122,12 @@ public:
   Midi_note (Audio_note*);
 
   Moment length_mom () const;
-  int pitch_i () const;
-  virtual String str () const;
+  int get_pitch () const;
+  virtual String string () const;
 
-  Audio_note* audio_l_;
+  Audio_note* audio_;
 
-  static int const c0_pitch_i_c_ = 60;
+  static int const c0_pitch_i_ = 60;
   Byte dynamic_byte_;
 };
 
@@ -139,9 +139,9 @@ class Midi_note_off : public Midi_note
 public:
   Midi_note_off (Midi_note*); 
 
-  virtual String str () const;
+  virtual String string () const;
 
-  Midi_note* on_l_;
+  Midi_note* on_;
   Byte aftertouch_byte_;
 };
 
@@ -155,9 +155,9 @@ public:
 
   Midi_text (Audio_text*);
     
-  virtual String str () const;
+  virtual String string () const;
 
-  Audio_text* audio_l_;
+  Audio_text* audio_;
 };
 
 class Midi_dynamic : public Midi_item
@@ -165,9 +165,9 @@ class Midi_dynamic : public Midi_item
 public:
   Midi_dynamic (Audio_dynamic*);
   
-  virtual String str () const;
+  virtual String string () const;
 
-  Audio_dynamic* audio_l_;
+  Audio_dynamic* audio_;
 };
 
 class Midi_piano_pedal : public Midi_item
@@ -175,9 +175,9 @@ class Midi_piano_pedal : public Midi_ite
 public:
   Midi_piano_pedal (Audio_piano_pedal*);
   
-  virtual String str () const;
+  virtual String string () const;
 
-  Audio_piano_pedal* audio_l_;
+  Audio_piano_pedal* audio_;
 };
 
 class Midi_tempo : public Midi_item
@@ -185,15 +185,15 @@ class Midi_tempo : public Midi_item
 public:
   Midi_tempo (Audio_tempo*);
   
-  virtual String str () const;
+  virtual String string () const;
 
-  Audio_tempo* audio_l_;
+  Audio_tempo* audio_;
 };
 
 class Midi_track : public Midi_chunk
 {
 public:
-  int number_i_;
+  int number_;
 
   /*
     Compensate for starting grace notes.
@@ -202,8 +202,8 @@ public:
   
   Midi_track ();
 
-  void add (Moment delta_time_mom, Midi_item* midi_l);
-  virtual String data_str () const;
+  void add (Moment delta_time_mom, Midi_item* midi);
+  virtual String data_string () const;
 };
 
 #endif // MIDI_ITEM_HH
diff -purN ../lilypond-1.5.69/lily/include/midi-stream.hh ./lily/include/midi-stream.hh
--- ../lilypond-1.5.69/lily/include/midi-stream.hh	Fri Jul  5 15:29:37 2002
+++ ./lily/include/midi-stream.hh	Fri Jul 26 12:27:00 2002
@@ -12,7 +12,7 @@
 
 /// Midi outputfile
 struct Midi_stream {
-  Midi_stream (String filename_str);
+  Midi_stream (String filename_string);
   ~Midi_stream ();
 
   Midi_stream& operator << ( String str);
@@ -21,8 +21,8 @@ struct Midi_stream {
 
   void open ();
 
-  std::ostream* os_p_;
-  String filename_str_;
+  std::ostream* os_;
+  String filename_string_;
 };
 
 #endif // MIDI_STREAM_HH
diff -purN ../lilypond-1.5.69/lily/include/midi-walker.hh ./lily/include/midi-walker.hh
--- ../lilypond-1.5.69/lily/include/midi-walker.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/midi-walker.hh	Fri Jul 26 12:27:00 2002
@@ -26,7 +26,7 @@ int compare (Midi_note_event const& left
 class Midi_walker
 {
 public:
-  Midi_walker (Audio_staff* audio_staff_l, Midi_track* midi_track_l);
+  Midi_walker (Audio_staff* audio_staff, Midi_track* midi_track);
   ~Midi_walker ();
 
   void process ();
@@ -34,14 +34,14 @@ public:
   bool ok () const;
 
 private:
-  void do_start_note (Midi_note* note_p);
+  void do_start_note (Midi_note* note);
   void do_stop_notes (Moment now_mom);
   void output_event (Moment now_mom, Midi_item* l);
   
-  Midi_track* track_l_;
-  Audio_staff* staff_l_;
+  Midi_track* track_;
+  Audio_staff* staff_;
   int index_;
-  Link_array<Audio_item> * item_l_arr_l_;
+  Link_array<Audio_item> * items_;
   PQueue<Midi_note_event> stop_note_queue;
   Moment last_mom_;
 };
diff -purN ../lilypond-1.5.69/lily/include/moment.hh ./lily/include/moment.hh
--- ../lilypond-1.5.69/lily/include/moment.hh	Fri Jul  5 15:29:37 2002
+++ ./lily/include/moment.hh	Fri Jul 26 12:27:00 2002
@@ -47,7 +47,7 @@ public:
     Deliver a copy of THIS as a smobified SCM
    */
   SCM smobbed_copy () const;
-  String str () const;
+  String string () const;
   static int compare (Moment const&, Moment const&);
   
 };
diff -purN ../lilypond-1.5.69/lily/include/music-constructor.hh ./lily/include/music-constructor.hh
--- ../lilypond-1.5.69/lily/include/music-constructor.hh	Sun Mar 11 19:10:33 2001
+++ ./lily/include/music-constructor.hh	Thu Jul 25 18:51:01 2002
@@ -25,7 +25,7 @@ static void  _ ## type ## _adder () {\
 ADD_GLOBAL_CTOR (_ ## type ## _adder);
 
 void add_music_ctor (String, Music* (*) ());
-Music*get_music (String);
+Music*make_music (String);
 
 
 
diff -purN ../lilypond-1.5.69/lily/include/music-iterator.hh ./lily/include/music-iterator.hh
--- ../lilypond-1.5.69/lily/include/music-iterator.hh	Sun May 19 01:45:17 2002
+++ ./lily/include/music-iterator.hh	Fri Jul 26 12:27:00 2002
@@ -45,7 +45,7 @@
     * Typically this reports the music to an interpretation context,
     thus changing the state of the interpretation context.
 
-  get_music (M) -- return all events starting at M (pre: no events
+  get_pending_events (M) -- return all events starting at M (pre: no events
     before M). No side-effects
 
   skip (M) -- remove all events starting before M (leave the ones that
@@ -80,19 +80,19 @@ public:
   /**
     The translation unit that we this iterator is reporting  to now.
    */
-  Translator_group* report_to_l () const;
+  Translator_group* report_to () const;
 
   void set_translator (Translator_group*);
   
   /** Get an iterator matching the type of MUS, and use TRANS to find
     an accompanying translation unit
    */
-  static Music_iterator* static_get_iterator_p (Music * mus);
+  static Music_iterator* get_static_get_iterator (Music * mus);
   void init_translator (Music  *, Translator_group *); 
 
   virtual Moment pending_moment () const;
   virtual bool ok () const;
-  virtual SCM get_music (Moment until)const;
+  virtual SCM get_pending_events (Moment until)const;
   virtual void process (Moment until);
   virtual void skip (Moment until);
 
@@ -106,14 +106,14 @@ public:
   /**
     Get an iterator for MUS, inheriting the translation unit from THIS.
    */
-  Music_iterator* get_iterator_p (Music *) const;
+  Music_iterator* get_iterator (Music *) const;
 
   virtual Music_iterator* try_music_in_children (Music *) const;
 
-  Music * music_l () const;
+  Music * get_music () const;
 private:
   Interpretation_context_handle handle_;
-  Music  * music_l_;
+  Music  * music_;
 };
 
 
diff -purN ../lilypond-1.5.69/lily/include/music-output-def.hh ./lily/include/music-output-def.hh
--- ../lilypond-1.5.69/lily/include/music-output-def.hh	Sat Mar 23 03:42:23 2002
+++ ./lily/include/music-output-def.hh	Fri Jul 26 12:27:00 2002
@@ -34,11 +34,11 @@ public:
   Music_output_def ();
   virtual int get_next_score_count () const;
 
-  Global_translator *get_global_translator_p ();
-  Translator_group *get_group_translator_p (String type) const;
+  Global_translator *get_global_translator ();
+  Translator_group *get_group_translator (String type) const;
   void assign_translator (SCM transdef);
-  SCM find_translator_l (SCM name) const;
-  String outname_str () ;
+  SCM find_translator (SCM name) const;
+  String outname_string () ;
   
   DECLARE_SMOBS (Music_output_def,);
 };
diff -purN ../lilypond-1.5.69/lily/include/music-output.hh ./lily/include/music-output.hh
--- ../lilypond-1.5.69/lily/include/music-output.hh	Sat Mar 23 03:42:23 2002
+++ ./lily/include/music-output.hh	Fri Jul 26 12:27:00 2002
@@ -19,16 +19,16 @@
 class Music_output 
 {
 public:
-  Scheme_hash_table * header_l_;
-  String default_out_str_;
-  String origin_str_;
-  int errorlevel_i_;
+  Scheme_hash_table * header_;
+  String default_out_string_;
+  String origin_string_;
+  int errorlevel_;
 
   virtual void process () {} 
   virtual ~Music_output (){}
   Music_output () 
   {
-    errorlevel_i_ = 0;
+    errorlevel_ = 0;
   }
        
 };
diff -purN ../lilypond-1.5.69/lily/include/music-wrapper-iterator.hh ./lily/include/music-wrapper-iterator.hh
--- ../lilypond-1.5.69/lily/include/music-wrapper-iterator.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/music-wrapper-iterator.hh	Fri Jul 26 12:27:01 2002
@@ -30,14 +30,14 @@ public:
   virtual void construct_children () ;
   virtual Moment pending_moment () const;
   virtual bool ok () const;
-  virtual SCM get_music (Moment)const;
+  virtual SCM get_pending_events (Moment)const;
   virtual void skip (Moment);
 
 protected:
   virtual void process (Moment);
   virtual Music_iterator *try_music_in_children (Music *) const;
 
-  Music_iterator *child_iter_p_;
+  Music_iterator *child_iter_;
 };
 
 #endif /* MUSIC_WRAPPER_ITERATOR_HH */
diff -purN ../lilypond-1.5.69/lily/include/musical-request.hh ./lily/include/musical-request.hh
--- ../lilypond-1.5.69/lily/include/musical-request.hh	Wed Jul 17 15:18:47 2002
+++ ./lily/include/musical-request.hh	Fri Jul 26 12:27:01 2002
@@ -61,7 +61,7 @@ protected:
 class Articulation_req : public Script_req
 {
 public:
-  String get_articulation_str ();
+  String get_articulation_string ();
 protected:
   virtual bool do_equal_b (Request const*) const;
 
diff -purN ../lilypond-1.5.69/lily/include/my-lily-lexer.hh ./lily/include/my-lily-lexer.hh
--- ../lilypond-1.5.69/lily/include/my-lily-lexer.hh	Sat Mar 23 03:42:23 2002
+++ ./lily/include/my-lily-lexer.hh	Fri Jul 26 12:27:01 2002
@@ -29,8 +29,8 @@ void set_lexer ();
 class My_lily_lexer : public Includable_lexer 
 {
 public:
-  String main_input_str_;
-  void * lexval_l;
+  String main_input_string_;
+  void * lexval;
   Scheme_hash_table * toplevel_variable_tab_;
   bool main_input_b_;
 
@@ -40,9 +40,9 @@ public:
   Protected_scm chordmodifier_tab_;
   Protected_scm pitchname_tab_;
   
-  Link_array<Scheme_hash_table> scope_l_arr_;
-  Keyword_table * keytable_p_;
-  int errorlevel_i_;
+  Link_array<Scheme_hash_table> scopes_;
+  Keyword_table * keytable_;
+  int errorlevel_;
 
   My_lily_lexer ();
   ~My_lily_lexer ();
@@ -59,7 +59,7 @@ public:
   void push_lyric_state ();
   void pop_state ();
   void LexerError (char const *);
-  void set_identifier (SCM name_str, SCM);
+  void set_identifier (SCM name_string, SCM);
   bool note_state_b () const;
   bool chord_state_b () const;
   bool lyric_state_b () const;
diff -purN ../lilypond-1.5.69/lily/include/my-lily-parser.hh ./lily/include/my-lily-parser.hh
--- ../lilypond-1.5.69/lily/include/my-lily-parser.hh	Sun May 19 02:14:05 2002
+++ ./lily/include/my-lily-parser.hh	Fri Jul 26 12:27:01 2002
@@ -30,23 +30,23 @@
 class My_lily_parser 
 {
 public:
-  My_lily_parser (Sources * sources_l);
+  My_lily_parser (Sources * sources);
   ~My_lily_parser ();
 
   void do_init_file ();
-  void parse_file ( String init_str, String file_str);
+  void parse_file ( String init_string, String file_string);
   void set_version_check (bool ignore);
 
 public:
   Duration default_duration_;
 
-  Scheme_hash_table *default_header_p_;
+  Scheme_hash_table *default_header_;
 
-  int fatal_error_i_;
-  Sources * source_l_;
-  int error_level_i_;
+  int fatal_error_;
+  Sources * source_;
+  int error_level_;
 
-  My_lily_lexer * lexer_p_;
+  My_lily_lexer * lexer_;
   bool ignore_version_b_;
 
   SCM last_beam_start_;
@@ -65,13 +65,13 @@ public:
   DECLARE_SCHEME_CALLBACK (paper_description, ());
 private:
 
-  Array<Input> define_spot_array_;
+  Array<Input> define_spots_;
 
-  char const* here_ch_C () const;
+  char const* here_str0 () const;
 
-  Simultaneous_music * get_chord (Pitch tonic, Array<Pitch>* add_arr_p,
-				  Array<Pitch>* sub_arr_p, Pitch* inversion_p,
-				  Pitch* bass_p, Duration d);
+  Simultaneous_music * get_chord (Pitch tonic, Array<Pitch>* adds,
+				  Array<Pitch>* subs, Pitch* inversion,
+				  Pitch* bass, Duration d);
   
   void set_chord_tremolo (int type_i);
   void set_last_duration (Duration const *);
diff -purN ../lilypond-1.5.69/lily/include/note-collision.hh ./lily/include/note-collision.hh
--- ../lilypond-1.5.69/lily/include/note-collision.hh	Tue Jul 16 11:31:07 2002
+++ ./lily/include/note-collision.hh	Fri Jul 26 12:27:01 2002
@@ -36,7 +36,7 @@ public:
   static Drul_array< Link_array <Grob>  > get_clash_groups (Grob *me);
   DECLARE_SCHEME_CALLBACK (force_shift_callback, (SCM element, SCM axis));
   static void do_shifts (Grob*);
-  static void add_column (Grob*me,Grob*ncol_l);
+  static void add_column (Grob*me,Grob*ncol);
   static bool has_interface(Grob*);
 };
 #endif // COLLISION_HH
diff -purN ../lilypond-1.5.69/lily/include/note-column.hh ./lily/include/note-column.hh
--- ../lilypond-1.5.69/lily/include/note-column.hh	Sun Apr 21 01:02:56 2002
+++ ./lily/include/note-column.hh	Fri Jul 26 12:27:01 2002
@@ -41,7 +41,7 @@ public:
   static bool rest_b (Grob*me);
   static bool has_interface (Grob*);
   
-  static Item *stem_l (Grob*);
+  static Item *get_stem (Grob*);
 };
 
 #endif // NOTE_COLUMN_HH
diff -purN ../lilypond-1.5.69/lily/include/note-head.hh ./lily/include/note-head.hh
--- ../lilypond-1.5.69/lily/include/note-head.hh	Sun May 19 12:37:02 2002
+++ ./lily/include/note-head.hh	Fri Jul 26 12:27:01 2002
@@ -27,7 +27,7 @@ public:
   DECLARE_SCHEME_CALLBACK (brew_ez_molecule, (SCM ));
   static bool has_interface (Grob*);
   static Real stem_attachment_coordinate (Grob *, Axis a);
-  static int balltype_i (Grob*) ;  
+  static int get_balltype (Grob*) ;  
 };
 #endif // NOTEHEAD_HH
 
diff -purN ../lilypond-1.5.69/lily/include/paper-column.hh ./lily/include/paper-column.hh
--- ../lilypond-1.5.69/lily/include/paper-column.hh	Wed Jul 10 15:34:12 2002
+++ ./lily/include/paper-column.hh	Fri Jul 26 12:27:01 2002
@@ -20,15 +20,15 @@ public:
   VIRTUAL_COPY_CONS (Grob);
 
   static bool has_interface (Grob*);
-  int  rank_i_;
+  int  rank_;
   virtual void do_break_processing ();
-  virtual Paper_column *column_l () const;
-  virtual System *line_l () const;
+  virtual Paper_column *get_column () const;
+  virtual System *get_system () const;
   
   /// if lines are broken then this column is in #line#
-  System *line_l_;
+  System *system_;
 
-  static int rank_i (Grob*);
+  static int get_rank (Grob*);
 
   DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM));
   DECLARE_SCHEME_CALLBACK(before_line_breaking, (SCM));
diff -purN ../lilypond-1.5.69/lily/include/paper-def.hh ./lily/include/paper-def.hh
--- ../lilypond-1.5.69/lily/include/paper-def.hh	Fri May 17 00:35:08 2002
+++ ./lily/include/paper-def.hh	Fri Jul 26 12:27:01 2002
@@ -52,7 +52,7 @@ protected:
 public:    
   SCM font_descriptions ()const;
   virtual ~Paper_def ();
-  static int score_count_i_;
+  static int score_count_;
   
   /*
     JUNKME
@@ -70,7 +70,7 @@ public:    
   virtual int get_next_score_count () const;
   static void reset_score_count ();
   void output_settings (Paper_outputter*) const;
-  Paper_outputter* paper_outputter_p () ;
+  Paper_outputter* get_paper_outputter () ;
 
   Font_metric * find_font (SCM name, Real mag);
   
diff -purN ../lilypond-1.5.69/lily/include/paper-score.hh ./lily/include/paper-score.hh
--- ../lilypond-1.5.69/lily/include/paper-score.hh	Fri May 17 00:35:08 2002
+++ ./lily/include/paper-score.hh	Fri Jul 26 12:27:01 2002
@@ -25,10 +25,10 @@ class Paper_score : public Music_output
 {
   SCM main_smob_;
 public:
-  Paper_def *paper_l_;
+  Paper_def *paper_;
 
-  Paper_outputter *outputter_l_;  
-  System * line_l_;
+  Paper_outputter *outputter_;  
+  System *system_;
   
   Paper_score ();
 
diff -purN ../lilypond-1.5.69/lily/include/part-combine-music-iterator.hh ./lily/include/part-combine-music-iterator.hh
--- ../lilypond-1.5.69/lily/include/part-combine-music-iterator.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/part-combine-music-iterator.hh	Fri Jul 26 12:27:01 2002
@@ -26,7 +26,7 @@ protected:
   virtual void construct_children ();
   virtual Moment pending_moment () const;
   virtual void process (Moment);
-  virtual SCM get_music (Moment)const;
+  virtual SCM get_pending_events (Moment)const;
   virtual Music_iterator *try_music_in_children (Music *) const;
   virtual bool ok () const;
 
@@ -34,8 +34,8 @@ private:
   void change_to (Music_iterator*, String, String);
   int get_state (Moment m);
 
-  Music_iterator * first_iter_p_;
-  Music_iterator * second_iter_p_;
+  Music_iterator * first_iter_;
+  Music_iterator * second_iter_;
   Moment first_until_;
   Moment second_until_;
   int state_;
diff -purN ../lilypond-1.5.69/lily/include/part-combine-music.hh ./lily/include/part-combine-music.hh
--- ../lilypond-1.5.69/lily/include/part-combine-music.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/part-combine-music.hh	Fri Jul 26 12:27:01 2002
@@ -19,8 +19,8 @@ public:
   VIRTUAL_COPY_CONS (Music);
   Part_combine_music (SCM l);
 
-  Music * first_l () const;
-  Music * second_l () const;
+  Music * get_first () const;
+  Music * get_second () const;
   
   virtual void transpose (Pitch);
 
diff -purN ../lilypond-1.5.69/lily/include/percent-repeat-iterator.hh ./lily/include/percent-repeat-iterator.hh
--- ../lilypond-1.5.69/lily/include/percent-repeat-iterator.hh	Sun Mar 11 19:10:33 2001
+++ ./lily/include/percent-repeat-iterator.hh	Fri Jul 26 12:27:01 2002
@@ -28,7 +28,7 @@ protected:
   virtual Music_iterator *try_music_in_children (Music *) const;
 
 private:
-  Music_iterator * child_iter_p_;
+  Music_iterator * child_iter_;
   Moment finish_mom_;
 };
 
diff -purN ../lilypond-1.5.69/lily/include/performance.hh ./lily/include/performance.hh
--- ../lilypond-1.5.69/lily/include/performance.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/performance.hh	Fri Jul 26 12:27:01 2002
@@ -29,9 +29,9 @@ public:
   void print () const;
   void process ();
 
-  Link_array<Audio_staff> audio_staff_l_arr_;
+  Link_array<Audio_staff> audio_staffs_;
   Cons<Audio_element> *audio_elem_p_list_;
-  Midi_def  * midi_l_;
+  Midi_def  * midi_;
 };
 
 #endif // PERFORMANCE_HH
diff -purN ../lilypond-1.5.69/lily/include/performer-group-performer.hh ./lily/include/performer-group-performer.hh
--- ../lilypond-1.5.69/lily/include/performer-group-performer.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/performer-group-performer.hh	Fri Jul 26 12:27:01 2002
@@ -24,7 +24,7 @@ public:
   virtual void do_announces ();
   virtual void announce_element (Audio_element_info);
 protected:
-  Array<Audio_element_info> announce_info_arr_;
+  Array<Audio_element_info> announce_infos_;
   void create_audio_elements ();
 
 private:
diff -purN ../lilypond-1.5.69/lily/include/performer.hh ./lily/include/performer.hh
--- ../lilypond-1.5.69/lily/include/performer.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/performer.hh	Fri Jul 26 12:27:01 2002
@@ -23,14 +23,14 @@ class Performer : public virtual Transla
 public:
   VIRTUAL_COPY_CONS (Translator);
   friend class Performer_group_performer;  
-  Performer_group_performer* daddy_perf_l () const;
+  Performer_group_performer* get_daddy_perf () const;
 
 protected:
   virtual void announce_element (Audio_element_info);
   virtual void acknowledge_audio_element (Audio_element_info);
   virtual void create_audio_elements ();
-  virtual int get_tempo_i () const;
-  virtual void play_element (Audio_element * elem_p );
+  virtual int get_tempo () const;
+  virtual void play_element (Audio_element * elem );
 };
 
 
diff -purN ../lilypond-1.5.69/lily/include/pitch.hh ./lily/include/pitch.hh
--- ../lilypond-1.5.69/lily/include/pitch.hh	Sun May 19 01:45:17 2002
+++ ./lily/include/pitch.hh	Fri Jul 26 12:27:01 2002
@@ -26,13 +26,13 @@ public:				// fixme
    */
 
     /// 0 is c, 6 is b
-  int notename_i_;
+  int notename_;
   
   /// 0 natural, 1 sharp, etc
-  int alteration_i_;
+  int alteration_;
 
   /// 0 is central c
-  int octave_i_;
+  int octave_;
   /*
     mutators, so JUNKME.
    */
@@ -42,9 +42,9 @@ public:				// fixme
 
 public:
 
-  int octave_i () const;
-  int notename_i () const;
-  int alteration_i () const;
+  int get_octave () const;
+  int get_notename () const;
+  int get_alteration () const;
 
   void normalise ();
   /*
@@ -61,7 +61,7 @@ public:
   int steps () const;
   /// return pitch from central c (in halfnotes)
   int semitone_pitch () const; 
-  String str () const;
+  String string () const;
   
 
 
diff -purN ../lilypond-1.5.69/lily/include/request-chord-iterator.hh ./lily/include/request-chord-iterator.hh
--- ../lilypond-1.5.69/lily/include/request-chord-iterator.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/request-chord-iterator.hh	Fri Jul 26 12:27:01 2002
@@ -17,11 +17,11 @@
  */
 class Request_chord_iterator : public Simple_music_iterator
 {
-  Request_chord * elt_l () const;
+  Request_chord * get_elt () const;
   /**
      Find a bottom notation context to deliver requests to.
    */
-  virtual Translator_group* get_req_translator_l ();
+  virtual Translator_group* get_req_translator ();
 
 
   /*
@@ -35,7 +35,7 @@ public:
   Request_chord_iterator ();
   Request_chord_iterator (Request_chord_iterator const&);
 
-  virtual SCM get_music (Moment) const;
+  virtual SCM get_pending_events (Moment) const;
 protected:
   virtual void process (Moment);
   virtual void construct_children ();
diff -purN ../lilypond-1.5.69/lily/include/request.hh ./lily/include/request.hh
--- ../lilypond-1.5.69/lily/include/request.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/request.hh	Fri Jul 26 12:27:01 2002
@@ -52,8 +52,8 @@ public:
 */
 class Span_req  : public virtual Request  {
 public:
-  String get_span_type_str () const;
-  void set_span_type_str (String);
+  String get_span_type_string () const;
+  void set_span_type_string (String);
   void set_span_dir (Direction d);
   Direction get_span_dir () const;  
   
diff -purN ../lilypond-1.5.69/lily/include/rhythmic-head.hh ./lily/include/rhythmic-head.hh
--- ../lilypond-1.5.69/lily/include/rhythmic-head.hh	Sun May 19 12:37:02 2002
+++ ./lily/include/rhythmic-head.hh	Fri Jul 26 12:27:01 2002
@@ -18,8 +18,8 @@ class Rhythmic_head
 public:
   static int duration_log (Grob*);
   static void set_dots (Grob*,Item *);
-  static Item * stem_l (Grob*) ;
-  static Item * dots_l (Grob*) ;
+  static Item * get_stem (Grob*) ;
+  static Item * get_dots (Grob*) ;
   static int dot_count (Grob*) ;
   DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM ));
   static bool has_interface (Grob*);
diff -purN ../lilypond-1.5.69/lily/include/rod.hh ./lily/include/rod.hh
--- ../lilypond-1.5.69/lily/include/rod.hh	Sat Jul 13 20:47:17 2002
+++ ./lily/include/rod.hh	Fri Jul 26 12:27:01 2002
@@ -17,7 +17,7 @@
 struct Rod
 {
   Drul_array <Item*> item_l_drul_;
-  Real distance_f_;
+  Real distance_;
 
   /**
     translate the rod so as to refer to Paper_columns  
diff -purN ../lilypond-1.5.69/lily/include/scaled-font-metric.hh ./lily/include/scaled-font-metric.hh
--- ../lilypond-1.5.69/lily/include/scaled-font-metric.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/scaled-font-metric.hh	Fri Jul 26 12:27:01 2002
@@ -23,8 +23,8 @@ struct Scaled_font_metric : public Font_
   virtual int count () const;
 protected:
   virtual   Box get_char (int)const;
-  Font_metric *orig_l_;
-  Real magnification_f_;
+  Font_metric *orig_;
+  Real magnification_;
   
   Scaled_font_metric (Font_metric*,Real);
 };
diff -purN ../lilypond-1.5.69/lily/include/score-engraver.hh ./lily/include/score-engraver.hh
--- ../lilypond-1.5.69/lily/include/score-engraver.hh	Sun May  5 23:11:56 2002
+++ ./lily/include/score-engraver.hh	Fri Jul 26 12:27:01 2002
@@ -7,8 +7,8 @@
 */
 
 
-#ifndef SCORE_GRAV_HH
-#define SCORE_GRAV_HH
+#ifndef SCORE_ENGRAVER_HH
+#define SCORE_ENGRAVER_HH
 
 #include "engraver-group-engraver.hh"
 #include "global-translator.hh"
@@ -19,30 +19,30 @@
 class Score_engraver : 
   public Engraver_group_engraver, public Global_translator 
 {
-  System * scoreline_l_;
-  int breaks_i_;
+  System *system_;
+  int breaks_;
   
   
-  Link_array<Grob> elem_p_arr_;
+  Link_array<Grob> elems_;
     
-  Paper_column* command_column_l_;
-  Paper_column* musical_column_l_;
+  Paper_column* command_column_;
+  Paper_column* musical_column_;
   void make_columns ();
   void set_columns (Paper_column*,Paper_column*);
   void typeset_all ();
     
 public:
   TRANSLATOR_DECLARATIONS(Score_engraver);
-  Paper_score * pscore_p_;
+  Paper_score * pscore_;
   
   void forbid_breaks ();
 
-  virtual Music_output *get_output_p ();  
+  virtual Music_output *get_output ();  
 protected:   
   virtual void prepare (Moment);
   virtual void finish ();
   virtual void one_time_step ();
-  virtual int depth_i () const { return Global_translator::depth_i ();}
+  virtual int get_depth () const { return Global_translator::get_depth ();}
 
 protected:
   /* Engraver_group_engraver interface */
@@ -52,9 +52,9 @@ protected:
   virtual void initialize ();
   virtual void finalize ();
   virtual void announce_grob (Grob_info);
-  virtual void typeset_grob (Grob*elem_p);
+  virtual void typeset_grob (Grob*elem);
 
   virtual void stop_translation_timestep ();
 };
 
-#endif // SCORE_GRAV_HH
+#endif /* SCORE_ENGRAVER_HH */
diff -purN ../lilypond-1.5.69/lily/include/score-performer.hh ./lily/include/score-performer.hh
--- ../lilypond-1.5.69/lily/include/score-performer.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/score-performer.hh	Fri Jul 26 12:27:01 2002
@@ -20,7 +20,7 @@ class Score_performer: 
 public:
   TRANSLATOR_DECLARATIONS(Score_performer);
   ~Score_performer ();
-  Performance *performance_p_;
+  Performance *performance_;
 
 protected:
   virtual void finish ();
@@ -29,14 +29,14 @@ protected:
   virtual void start ();
   virtual void initialize ();
   virtual void announce_element (Audio_element_info);
-  virtual int get_tempo_i () const;
+  virtual int get_tempo () const;
   virtual void play_element (Audio_element* p);
-  virtual Music_output *get_output_p ();
+  virtual Music_output *get_output ();
 
 private:
   void header (Midi_stream&);
 
-  Audio_column* audio_column_l_;
+  Audio_column* audio_column_;
 };
 
 #endif // SCORE_PERFORMER_HH
diff -purN ../lilypond-1.5.69/lily/include/score.hh ./lily/include/score.hh
--- ../lilypond-1.5.69/lily/include/score.hh	Fri May 17 00:35:08 2002
+++ ./lily/include/score.hh	Fri Jul 26 12:27:01 2002
@@ -20,11 +20,11 @@
 class Score: public Input {
 public:
   /// paper_, staves_ and commands_ form the problem definition.
-  Link_array<Music_output_def> def_p_arr_;
+  Link_array<Music_output_def> defs_;
   SCM music_;
-  Scheme_hash_table * header_p_;
+  Scheme_hash_table * header_;
 
-  int errorlevel_i_;
+  int errorlevel_;
     
   /// construction
   Score ();
@@ -32,7 +32,7 @@ public:
 
 
   void process ();
-  void add_output (Music_output_def *def_p);
+  void add_output (Music_output_def *def);
   DECLARE_SMOBS (Score,foo);
 private:
   void run_translator (Music_output_def*);
diff -purN ../lilypond-1.5.69/lily/include/separation-item.hh ./lily/include/separation-item.hh
--- ../lilypond-1.5.69/lily/include/separation-item.hh	Sun Mar 24 21:46:53 2002
+++ ./lily/include/separation-item.hh	Tue Jul 23 19:48:34 2002
@@ -15,8 +15,11 @@
 struct Separation_item
 {
   static bool has_interface (Grob*);
-  static Interval my_width (Grob*) ;
+  static Interval conditional_width (Grob*,Grob*) ;
+  static Interval width (Grob*) ;
+
   static void add_item (Grob*,Item*);
+  static void add_conditional_item (Grob*,Grob*);  
 };
 
 #endif /* SINGLE_MALT_GROUPING_ITEM_HH */
diff -purN ../lilypond-1.5.69/lily/include/sequential-iterator.hh ./lily/include/sequential-iterator.hh
--- ../lilypond-1.5.69/lily/include/sequential-iterator.hh	Sat Jul 13 19:07:19 2002
+++ ./lily/include/sequential-iterator.hh	Fri Jul 26 12:27:01 2002
@@ -63,7 +63,7 @@ public:
   virtual Moment pending_moment () const;
   virtual bool ok () const;
   virtual void skip (Moment);
-  virtual SCM get_music (Moment)const;
+  virtual SCM get_pending_events (Moment)const;
 
 protected:
   virtual void process (Moment);
@@ -71,7 +71,7 @@ protected:
 
 protected:
   Moment here_mom_;
-  Music_iterator * iter_p_;
+  Music_iterator * iter_;
   Protected_scm  list_;
   SCM cursor_;
   
diff -purN ../lilypond-1.5.69/lily/include/simple-spacer.hh ./lily/include/simple-spacer.hh
--- ../lilypond-1.5.69/lily/include/simple-spacer.hh	Sun Apr 21 15:52:04 2002
+++ ./lily/include/simple-spacer.hh	Fri Jul 26 12:27:01 2002
@@ -16,11 +16,11 @@
 
 struct Spring_description
 {
-  Real ideal_f_;
-  Real hooke_f_;
+  Real ideal_;
+  Real hooke_;
   bool active_b_;
 
-  Real block_force_f_;
+  Real block_force_;
 
   Real length (Real force) const;
   Spring_description ();
@@ -33,10 +33,10 @@ struct Simple_spacer
   Array<Spring_description> springs_;
   Link_array<Grob> spaced_cols_;
   Link_array<Grob> loose_cols_;
-  Real force_f_;
-  Real indent_f_;
-  Real line_len_f_;
-  Real default_space_f_;
+  Real force_;
+  Real indent_;
+  Real line_len_;
+  Real default_space_;
   int active_count_;
   bool compression_penalty_b_;
   
diff -purN ../lilypond-1.5.69/lily/include/simultaneous-music-iterator.hh ./lily/include/simultaneous-music-iterator.hh
--- ../lilypond-1.5.69/lily/include/simultaneous-music-iterator.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/simultaneous-music-iterator.hh	Fri Jul 26 12:27:01 2002
@@ -24,12 +24,12 @@ public:
   
   /// make a new context for every child.
   bool separate_contexts_b_;
-  int cursor_i_;
+  int cursor_;
 
   virtual void construct_children ();
   virtual Moment pending_moment () const;
   virtual bool ok () const;
-  virtual SCM get_music (Moment)const;
+  virtual SCM get_pending_events (Moment)const;
   virtual void skip (Moment);
 
 protected:
diff -purN ../lilypond-1.5.69/lily/include/slur-bezier-bow.hh ./lily/include/slur-bezier-bow.hh
--- ../lilypond-1.5.69/lily/include/slur-bezier-bow.hh	Sun Apr 28 01:02:01 2002
+++ ./lily/include/slur-bezier-bow.hh	Fri Jul 26 12:27:01 2002
@@ -35,9 +35,9 @@ public:
   void minimise_enclosed_area (Real beauty, SCM props);
   Real fit_factor () const;
   void blow_fit ();
-  Real enclosed_area_f () const;
+  Real get_enclosed_area () const;
 private:
-  Array<Real> area_x_gradients_array (Real area);
+  Array<Real> area_x_gradientses (Real area);
 };
  
 #endif /* SLUR_BEZIER_BOW_HH */
diff -purN ../lilypond-1.5.69/lily/include/slur.hh ./lily/include/slur.hh
--- ../lilypond-1.5.69/lily/include/slur.hh	Tue Mar 19 18:48:49 2002
+++ ./lily/include/slur.hh	Fri Jul 26 12:27:01 2002
@@ -18,7 +18,7 @@ public:
   DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM));
   static void set_interface (Grob*);
   static bool  has_interface (Grob*);
-  static Array<Offset> get_encompass_offset_arr (Grob *me);
+  static Array<Offset> get_encompass_offsets (Grob *me);
   static Bezier get_curve (Grob *me);
   static Direction get_default_dir (Grob *me);
   DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM));
diff -purN ../lilypond-1.5.69/lily/include/spanner.hh ./lily/include/spanner.hh
--- ../lilypond-1.5.69/lily/include/spanner.hh	Mon Jul 15 12:56:33 2002
+++ ./lily/include/spanner.hh	Fri Jul 26 12:27:01 2002
@@ -33,9 +33,9 @@ class Spanner : public  Grob {
   Drul_array<Item*> spanned_drul_;
 
 public:
-  DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM ));
+  DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM));
   
-  Link_array<Spanner> broken_into_l_arr_;
+  Link_array<Spanner> broken_intos_;
 
   // todo: move to somewhere else.
   Real get_broken_left_end_align () const;
@@ -60,11 +60,11 @@ protected:
 
   VIRTUAL_COPY_CONS (Grob);
   virtual void do_break_processing ();
-  virtual System*line_l () const;
+  virtual System *get_system () const;
 };
 
 
 void add_bound_item (Spanner*, Grob*);
-
+///DECLARE_UNSMOB (Spanner, spanner);
 
 #endif
diff -purN ../lilypond-1.5.69/lily/include/spring.hh ./lily/include/spring.hh
--- ../lilypond-1.5.69/lily/include/spring.hh	Mon Mar 11 01:49:51 2002
+++ ./lily/include/spring.hh	Fri Jul 26 12:27:01 2002
@@ -17,9 +17,9 @@
 struct Spring_smob
 {
   Grob *other_;
-  Real distance_f_;
+  Real distance_;
   bool expand_only_b_;
-  Real strength_f_;
+  Real strength_;
   
   DECLARE_SIMPLE_SMOBS(Spring_smob,dummy);
 public:
@@ -30,13 +30,13 @@ DECLARE_UNSMOB(Spring_smob, spring);
 
 struct Spring{
   Drul_array<Item*> item_l_drul_;
-  Real distance_f_;
+  Real distance_;
   bool expand_only_b_;
 
   /*
     TODO: make 2 strengths: one for stretching, and one for shrinking.
   */
-  Real strength_f_;
+  Real strength_;
   void add_to_cols ();
   void set_to_cols ();
   Spring ();
diff -purN ../lilypond-1.5.69/lily/include/staff-symbol-referencer.hh ./lily/include/staff-symbol-referencer.hh
--- ../lilypond-1.5.69/lily/include/staff-symbol-referencer.hh	Sun Apr 21 01:02:56 2002
+++ ./lily/include/staff-symbol-referencer.hh	Fri Jul 26 12:27:01 2002
@@ -33,11 +33,11 @@ public:
   */
  
   static Real staff_space (Grob*);
-  static Grob * staff_symbol_l (Grob*);
+  static Grob * get_staff_symbol (Grob*);
   static bool on_staffline (Grob*);
   static bool on_staffline (Grob*,int);
   static int line_count (Grob*);
-  static Real position_f (Grob*);
+  static Real get_position (Grob*);
   static Real staff_radius (Grob*);
 };
 
diff -purN ../lilypond-1.5.69/lily/include/staff-symbol.hh ./lily/include/staff-symbol.hh
--- ../lilypond-1.5.69/lily/include/staff-symbol.hh	Sun Apr 21 01:02:56 2002
+++ ./lily/include/staff-symbol.hh	Fri Jul 26 12:27:01 2002
@@ -20,7 +20,7 @@ class Staff_symbol 
 {
 public:
   static Real staff_space (Grob*) ;
-  static int steps_i (Grob*) ;
+  static int get_steps (Grob*) ;
   static int line_count (Grob*);
   DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
   static bool has_interface (Grob*);
diff -purN ../lilypond-1.5.69/lily/include/stem.hh ./lily/include/stem.hh
--- ../lilypond-1.5.69/lily/include/stem.hh	Sat Jul 13 20:05:19 2002
+++ ./lily/include/stem.hh	Fri Jul 26 12:27:01 2002
@@ -20,7 +20,7 @@ public:
   static Array<int> note_head_positions (Grob*);
   static  int duration_log (Grob*) ;
   static void set_beaming (Grob*,int,  Direction d);
-  static Grob * beam_l (Grob*);
+  static Grob * get_beam (Grob*);
   static Grob * first_head (Grob*) ;
   static Grob * last_head  (Grob*) ;
   static Drul_array<Grob*> extremal_heads (Grob*);
diff -purN ../lilypond-1.5.69/lily/include/system.hh ./lily/include/system.hh
--- ../lilypond-1.5.69/lily/include/system.hh	Tue Jul  2 21:31:53 2002
+++ ./lily/include/system.hh	Fri Jul 26 12:27:01 2002
@@ -5,8 +5,8 @@
   (c) 1996--2002 Han-Wen Nienhuys
 */
 
-#ifndef SCORELINE_HH
-#define SCORELINE_HH
+#ifndef SYSTEM_HH
+#define SYSTEM_HH
 
 
 #include "column-x-positions.hh"
@@ -22,7 +22,7 @@ represents a system (i.e. a line of musi
 class System : public Spanner
 {
 public:
-  int rank_i_;
+  int rank_;
   void post_processing (bool);
 
   System (SCM);
@@ -35,7 +35,7 @@ public:
   static bool has_interface (Grob*);
   
   Link_array<Item> broken_col_range (Item const*, Item const*) const;
-  Link_array<Grob> column_l_arr () const;
+  Link_array<Grob> columns () const;
   
   void add_column (Paper_column*);
   void typeset_grob (Grob*);
@@ -46,5 +46,5 @@ protected:
   VIRTUAL_COPY_CONS (Grob);
 };
 
-#endif
+#endif /* SYSTEM_HH */
 
diff -purN ../lilypond-1.5.69/lily/include/tfm-reader.hh ./lily/include/tfm-reader.hh
--- ../lilypond-1.5.69/lily/include/tfm-reader.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/tfm-reader.hh	Fri Jul 26 12:27:01 2002
@@ -19,15 +19,15 @@
 class Tex_font_metric_reader
 {
 private:
-  Real get_U32_fix_f ();
-  Real get_U32_fix_scaled_f ();
-  String get_bcpl_str ();
+  Real get_U32_fix ();
+  Real get_U32_fix_scaled ();
+  String get_bcpl_string ();
   void read_header ();
   void read_params ();
   void read_char_metrics ();
   Tex_font_char_metric read_char_metric (Char_code code);
   Tex_font_char_metric read_char ();
-  void read_lig_kern_program (Array<Tfm_ligature>* ligature_arr_p, Array <Tfm_kern>* kern_arr_p);
+  void read_lig_kern_program (Array<Tfm_ligature>* ligatures, Array <Tfm_kern>* kerns);
 
 
   Binary_source_file input_;
diff -purN ../lilypond-1.5.69/lily/include/tfm.hh ./lily/include/tfm.hh
--- ../lilypond-1.5.69/lily/include/tfm.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/tfm.hh	Fri Jul 26 12:27:01 2002
@@ -135,10 +135,10 @@ struct Tex_font_char_metric
   Char_code code_;
   Real width_, height_, depth_, italic_correction_;
   Fix width_fix_, height_fix_, depth_fix_, italic_correction_fix_;
-  Array<Tfm_kern> kern_arr_;
-  Array<Tfm_ligature> ligature_arr_;
+  Array<Tfm_kern> kerns_;
+  Array<Tfm_ligature> ligatures_;
 
-  String str () const;
+  String string () const;
   Tex_font_char_metric ();
 
   Box dimensions () const; 
@@ -154,7 +154,7 @@ public:
   virtual Box get_char (int) const;
   Tex_font_char_metric const *find_ascii (int ascii, bool warn=true) const;
 
-  String str () const;
+  String string () const;
 
 
   
diff -purN ../lilypond-1.5.69/lily/include/tie.hh ./lily/include/tie.hh
--- ../lilypond-1.5.69/lily/include/tie.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/tie.hh	Fri Jul 26 12:27:01 2002
@@ -17,11 +17,11 @@
 class Tie
 {
 public:
-  static void set_head (Grob*,Direction, Item*head_l);
+  static void set_head (Grob*,Direction, Item*head);
   static void set_interface (Grob*);
   static bool has_interface (Grob*);
   static Grob * head (Grob*,Direction) ;
-  static Real position_f (Grob*) ;
+  static Real get_position (Grob*) ;
   DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
   static Direction get_default_dir (Grob*) ;
   static SCM get_control_points (SCM);
diff -purN ../lilypond-1.5.69/lily/include/translator-change.hh ./lily/include/translator-change.hh
--- ../lilypond-1.5.69/lily/include/translator-change.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/translator-change.hh	Fri Jul 26 12:27:01 2002
@@ -10,8 +10,8 @@
 #ifndef TRANSLATOR_CHANGE_HH
 #define TRANSLATOR_CHANGE_HH
 
-/** Change the nesting of the current translation.  Uses the type_str_
-  and id_str_ differently.
+/** Change the nesting of the current translation.  Uses the type_string_
+  and id_string_ differently.
   */
 class Translator_change : public Music
 {
diff -purN ../lilypond-1.5.69/lily/include/translator-def.hh ./lily/include/translator-def.hh
--- ../lilypond-1.5.69/lily/include/translator-def.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/translator-def.hh	Fri Jul 26 12:27:01 2002
@@ -45,7 +45,7 @@ public:
   void add_push_property (SCM,SCM,SCM);
   void add_pop_property (SCM,SCM);
   void add_property_assign (SCM, SCM);
-  Link_array<Translator_def> path_to_acceptable_translator (SCM type_str, Music_output_def* odef) const;
+  Link_array<Translator_def> path_to_acceptable_translator (SCM type_string, Music_output_def* odef) const;
   Translator_group * instantiate (Music_output_def*);
 
   SCM to_alist () const;
diff -purN ../lilypond-1.5.69/lily/include/translator-group.hh ./lily/include/translator-group.hh
--- ../lilypond-1.5.69/lily/include/translator-group.hh	Sun Jul  7 03:32:06 2002
+++ ./lily/include/translator-group.hh	Fri Jul 26 12:27:01 2002
@@ -45,25 +45,25 @@ public:
   void internal_set_property (SCM var_sym, SCM value);  
   Translator_group *where_defined (SCM name_sym) const;
 
-  String id_str_;
+  String id_string_;
 
   VIRTUAL_COPY_CONS (Translator);
   Translator_group (Translator_group const &);
   Translator_group ();
-  void add_fresh_group_translator (Translator *trans_p);
-  void add_used_group_translator (Translator *trans_p);
+  void add_fresh_group_translator (Translator *trans);
+  void add_used_group_translator (Translator *trans);
   
   /// Score_register = 0, Staff_registers = 1, etc)
-  Translator_group* ancestor_l (int l=1);
-  int depth_i () const;
+  Translator_group* get_ancestor (int l=1);
+  int get_depth () const;
   bool is_bottom_translator_b () const;
   bool removable_b () const;
-  void terminate_translator (Translator*r_l);
-  Translator *remove_translator_p (Translator*trans_l);
+  void terminate_translator (Translator*r);
+  Translator *remove_translator (Translator*trans);
   void check_removal ();
   // Translator *get_simple_translator (String) const;
-  Translator_group *find_existing_translator_l (String n, String id);
-  Translator_group *find_create_translator_l (String n, String id);
+  Translator_group *find_existing_translator (String n, String id);
+  Translator_group *find_create_translator (String n, String id);
   Link_array<Translator_group> path_to_acceptable_translator (String alias, Music_output_def*) const;
   Translator_group*get_default_interpreter ();
 
@@ -71,7 +71,7 @@ public:
   bool try_music_on_nongroup_children (Music *m);
   
   virtual void do_announces ();
-  virtual bool try_music (Music* req_l);       
+  virtual bool try_music (Music* req);       
   virtual void stop_translation_timestep ();
   virtual void start_translation_timestep ();   
   virtual void initialize ();
diff -purN ../lilypond-1.5.69/lily/include/translator.hh ./lily/include/translator.hh
--- ../lilypond-1.5.69/lily/include/translator.hh	Sun Jul  7 15:41:23 2002
+++ ./lily/include/translator.hh	Fri Jul 26 12:27:01 2002
@@ -36,8 +36,8 @@ class Translator
 {
   void init ();
 public:
-  Music_output_def * output_def_l_;
-  String type_str_;
+  Music_output_def * output_def_;
+  String type_string_;
   
   bool is_alias_b (String) const;
     
@@ -45,12 +45,12 @@ public:
   Translator (Translator const &);
 
   
-  Translator_group * daddy_trans_l_ ;
+  Translator_group * daddy_trans_ ;
   void removal_processing ();
   /**
     ask daddy for a feature
     */
-  Music_output_def *output_def_l () const;
+  Music_output_def *get_output_def () const;
 
   SCM internal_get_property (SCM symbol) const;
   
@@ -77,7 +77,7 @@ public:
     true: request swallowed. Don't try to put the request elsewhere.
 
     */
-  virtual bool try_music (Music *req_l);
+  virtual bool try_music (Music *req);
   virtual void stop_translation_timestep ();
   virtual void start_translation_timestep ();
   virtual void do_announces () ;
@@ -95,7 +95,7 @@ static void  _ ## T ## _adder () {\
       T *t = new T;\
       T::static_description_ = t->static_translator_description ();\
       scm_permanent_object (T::static_description_);\
-      t->type_str_ = classname (t);\
+      t->type_string_ = classname (t);\
       add_translator (t);\
 }\
 SCM T::translator_description() const\
@@ -136,9 +136,9 @@ classname::static_translator_description
 
 
 
-extern Dictionary<Translator*> *global_translator_dict_p;
-void add_translator (Translator*trans_p);
+extern Dictionary<Translator*> *global_translator_dict;
+void add_translator (Translator*trans);
 
-Translator*get_translator_l (String s);
+Translator*get_translator (String s);
 DECLARE_UNSMOB(Translator,translator);
 #endif // TRANSLATOR_HH
diff -purN ../lilypond-1.5.69/lily/include/type-swallow-translator.hh ./lily/include/type-swallow-translator.hh
--- ../lilypond-1.5.69/lily/include/type-swallow-translator.hh	Fri Feb  1 19:16:23 2002
+++ ./lily/include/type-swallow-translator.hh	Fri Jul 26 12:27:01 2002
@@ -18,7 +18,7 @@
 class Type_swallow_translator : public virtual Translator
 {
 protected:
-  String swallow_str_;
+  String swallow_string_;
   bool try_music (Music*);
 public:  
   VIRTUAL_COPY_CONS (Translator);
@@ -29,7 +29,7 @@ struct TYPE ## _swallow_translator : pub
   TRANSLATOR_DECLARATIONS (TYPE ## _swallow_translator);  \
 };									\
   TYPE ## _swallow_translator :: TYPE ## _swallow_translator() {\
-      swallow_str_ =  #TYPE;						\
+      swallow_string_ =  #TYPE;						\
   }									\
 ENTER_DESCRIPTION(TYPE ## _swallow_translator,				\
 		  "Swallow requests of " #TYPE " type.",		\
diff -purN ../lilypond-1.5.69/lily/input-smob.cc ./lily/input-smob.cc
--- ../lilypond-1.5.69/lily/input-smob.cc	Sat Jul 13 16:40:40 2002
+++ ./lily/input-smob.cc	Fri Jul 26 12:26:59 2002
@@ -23,8 +23,8 @@ SCM mark_smob (SCM)
 static int
 print_smob (SCM s, SCM port, scm_print_state *)
 {
-  String str = "#<location " +  unsmob_input (s)->location_str () + ">";
-  scm_puts (str.ch_C (), port);
+  String str = "#<location " +  unsmob_input (s)->location_string () + ">";
+  scm_puts (str.to_str0 (), port);
   return 1;
 }
 
@@ -39,7 +39,7 @@ free_smob (SCM s)
   We don't use IMPLEMENT_TYPE_P, since the smobification part is
   implemented separately from the class.
  */
-LY_DEFINE(ly_input_p, "ly-input-location?", 1, 0, 0,
+LY_DEFINE(ly_input, "ly-input-location?", 1, 0, 0,
 	  (SCM x),
 	  "Return whether @var{x} is an input location")
 {
@@ -53,7 +53,7 @@ location in @var{sip}.")
   Input *ip  = unsmob_input(sip);
   
   SCM_ASSERT_TYPE(ip, sip, SCM_ARG1, __FUNCTION__, "input location");
-  SCM_ASSERT_TYPE(gh_string_p(msg), msg, SCM_ARG2, __FUNCTION__, "string");
+  SCM_ASSERT_TYPE(gh_string_p (msg), msg, SCM_ARG2, __FUNCTION__, "string");
 
   String m = ly_scm2string (msg);
 
diff -purN ../lilypond-1.5.69/lily/instrument-name-engraver.cc ./lily/instrument-name-engraver.cc
--- ../lilypond-1.5.69/lily/instrument-name-engraver.cc	Sun Jul 14 15:36:41 2002
+++ ./lily/instrument-name-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -42,7 +42,7 @@ Instrument_name_engraver::Instrument_nam
 void
 Instrument_name_engraver::initialize ()
 {
-  daddy_trans_l_->set_property ("instrumentSupport", SCM_EOL); 
+  daddy_trans_->set_property ("instrumentSupport", SCM_EOL); 
 }
 
 void
@@ -77,7 +77,7 @@ Instrument_name_engraver::create_text (S
 void
 Instrument_name_engraver::acknowledge_grob (Grob_info i)
 {
-  if (Bar_line::has_interface (i.grob_l_))
+  if (Bar_line::has_interface (i.grob_))
     {
       SCM s = get_property ("instrument");
   
@@ -85,14 +85,14 @@ Instrument_name_engraver::acknowledge_gr
 	s = get_property ("instr");
 
       /*
-	FIXME: use markup_p () to check type.
+	FIXME: use get_markup () to check type.
       */
       if (gh_string_p (s) || gh_pair_p (s))
 	create_text (s);
     }
 
-  if (dynamic_cast<Spanner*> (i.grob_l_)
-      && i.grob_l_->internal_has_interface (ly_symbol2scm ("dynamic-interface")))
+  if (dynamic_cast<Spanner*> (i.grob_)
+      && i.grob_->internal_has_interface (ly_symbol2scm ("dynamic-interface")))
     return;
 
   /*
@@ -106,15 +106,15 @@ Instrument_name_engraver::acknowledge_gr
     without staffs as well.
 
   */
-  if (dynamic_cast<Spanner*> (i.grob_l_)
-      && ((Axis_group_interface::has_interface (i.grob_l_)
-	   && Axis_group_interface::axis_b (i.grob_l_, Y_AXIS)))
-      && !Align_interface::has_interface (i.grob_l_))
+  if (dynamic_cast<Spanner*> (i.grob_)
+      && ((Axis_group_interface::has_interface (i.grob_)
+	   && Axis_group_interface::axis_b (i.grob_, Y_AXIS)))
+      && !Align_interface::has_interface (i.grob_))
     {
-      SCM nl = gh_cons (i.grob_l_->self_scm (),
+      SCM nl = gh_cons (i.grob_->self_scm (),
 			get_property ("instrumentSupport"));
 
-      daddy_trans_l_->set_property ("instrumentSupport", nl);
+      daddy_trans_->set_property ("instrumentSupport", nl);
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/interpretation-context-handle.cc ./lily/interpretation-context-handle.cc
--- ../lilypond-1.5.69/lily/interpretation-context-handle.cc	Mon Mar 11 01:49:51 2002
+++ ./lily/interpretation-context-handle.cc	Fri Jul 26 12:26:59 2002
@@ -11,71 +11,71 @@
 
 Interpretation_context_handle::Interpretation_context_handle ()
 {
-  report_to_l_ =0;
+  report_to_ =0;
 }
 
 Interpretation_context_handle::Interpretation_context_handle (Interpretation_context_handle const&s)
 {
-  report_to_l_ =0;
-  if (s.report_to_l_)
-    up (s.report_to_l_);
+  report_to_ =0;
+  if (s.report_to_)
+    up (s.report_to_);
 }
 
 Interpretation_context_handle*
 Interpretation_context_handle::clone () const
 {
   Interpretation_context_handle* handle = new Interpretation_context_handle;
-  handle->report_to_l_ = this->report_to_l_;
+  handle->report_to_ = this->report_to_;
   return handle;
 }
 
 Interpretation_context_handle::~Interpretation_context_handle ()
 {
-  if (report_to_l_)
+  if (report_to_)
     down ();
 }
 
 void
 Interpretation_context_handle::up (Translator_group*t)
 {
-  report_to_l_ = t;
+  report_to_ = t;
   t->iterator_count_ ++;
 }
 
 void
 Interpretation_context_handle::down ()
 {
-  report_to_l_->iterator_count_ --;
-  report_to_l_ = 0;
+  report_to_->iterator_count_ --;
+  report_to_ = 0;
 }
 
 bool
 Interpretation_context_handle::try_music (Music *m)
 {
-  return  report_to_l_->try_music (m);
+  return  report_to_->try_music (m);
 }
 
 void
 Interpretation_context_handle::operator = (Interpretation_context_handle const &s)
 {
-  set_translator (s.report_to_l_);
+  set_translator (s.report_to_);
 }
 
 void
 Interpretation_context_handle::set_translator (Translator_group*trans)
 {
-  if (report_to_l_ ==trans)
+  if (report_to_ ==trans)
     return;
-  if (report_to_l_)
+  if (report_to_)
     down ();
   if (trans)
     up (trans);
 }
 
 Translator_group*
-Interpretation_context_handle::report_to_l ()const
+Interpretation_context_handle::report_to ()const
 {
-  return report_to_l_;
+  return report_to_;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/item.cc ./lily/item.cc
--- ../lilypond-1.5.69/lily/item.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/item.cc	Fri Jul 26 12:26:59 2002
@@ -36,7 +36,7 @@ Item::Item (Item const &s)
 bool
 Item::breakable_b (Grob*me) 
 {
-  if (me->original_l_)
+  if (me->original_)
     return false;
 
   if (!dynamic_cast<Item*> (me))
@@ -47,17 +47,17 @@ Item::breakable_b (Grob*me) 
 }
 
 Paper_column *
-Item::column_l () const
+Item::get_column () const
 {
   Item *parent = dynamic_cast<Item*> (get_parent (X_AXIS));
-  return parent ? parent->column_l () : 0;
+  return parent ? parent->get_column () : 0;
 }
 
 System *
-Item::line_l () const
+Item::get_system () const
 {
   Grob *g = get_parent (X_AXIS);
-  return g ?  g->line_l () : 0;
+  return g ?  g->get_system () : 0;
 }
 
 
@@ -69,9 +69,9 @@ Item::copy_breakable_items ()
   do 
     {
       Grob * dolly = clone ();
-      Item * item_p = dynamic_cast<Item*> (dolly);
-      pscore_l_->line_l_->typeset_grob (item_p);
-      new_copies[i] =item_p;
+      Item * item = dynamic_cast<Item*> (dolly);
+      pscore_->system_->typeset_grob (item);
+      new_copies[i] =item;
     }
   while (flip (&i) != LEFT);
   broken_to_drul_= new_copies;
@@ -101,13 +101,13 @@ Item::discretionary_processing ()
 Grob*
 Item::find_broken_piece (System*l) const
 {
-  if (line_l () == l) 
+  if (get_system () == l) 
     return (Item*) (this);
 
   Direction d = LEFT;
   do {
     Grob *s = broken_to_drul_[d];
-    if (s && s->line_l () == l)
+    if (s && s->get_system () == l)
       return s;
   }
   while (flip (&d) != LEFT);
@@ -129,9 +129,9 @@ Item::find_prebroken_piece (Direction d)
 Direction
 Item::break_status_dir () const
 {
-  if (original_l_)
+  if (original_)
     {
-      Item * i = dynamic_cast<Item*> (original_l_);
+      Item * i = dynamic_cast<Item*> (original_);
 
       return (i->broken_to_drul_[LEFT] == this) ? LEFT : RIGHT;
     }
diff -purN ../lilypond-1.5.69/lily/key-engraver.cc ./lily/key-engraver.cc
--- ../lilypond-1.5.69/lily/key-engraver.cc	Fri Jun 21 17:10:20 2002
+++ ./lily/key-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -25,8 +25,8 @@ class Key_engraver : public Engraver
 {
   void create_key (bool);
   void read_req (Key_change_req const * r);
-  Key_change_req * keyreq_l_;
-  Item * item_p_;
+  Key_change_req * keyreq_;
+  Item * item_;
 
 public:
   TRANSLATOR_DECLARATIONS(Key_engraver);
@@ -34,7 +34,7 @@ public:
 protected:
   virtual void initialize ();
   virtual void finalize ();
-  virtual bool try_music (Music *req_l);
+  virtual bool try_music (Music *req);
   virtual void stop_translation_timestep ();
   virtual void start_translation_timestep ();
   virtual void process_music ();
@@ -50,56 +50,56 @@ Key_engraver::finalize ()
 
 Key_engraver::Key_engraver ()
 {
-  keyreq_l_ = 0;
-  item_p_ = 0;
+  keyreq_ = 0;
+  item_ = 0;
 }
 
 
 void
 Key_engraver::create_key (bool def)
 {
-  if (!item_p_) 
+  if (!item_) 
     {
-      item_p_ = new Item (get_property ("KeySignature"));
+      item_ = new Item (get_property ("KeySignature"));
 
-      item_p_->set_grob_property ("c0-position",
+      item_->set_grob_property ("c0-position",
 				  get_property ("centralCPosition"));
       
       // todo: put this in basic props.
-      item_p_->set_grob_property ("old-accidentals", get_property ("lastKeySignature"));
-      item_p_->set_grob_property ("new-accidentals", get_property ("keySignature"));
+      item_->set_grob_property ("old-accidentals", get_property ("lastKeySignature"));
+      item_->set_grob_property ("new-accidentals", get_property ("keySignature"));
 
-      announce_grob(item_p_, keyreq_l_ ? keyreq_l_->self_scm() : SCM_EOL);
+      announce_grob(item_, keyreq_ ? keyreq_->self_scm() : SCM_EOL);
     }
 
   if (!def)
     {
       SCM vis = get_property ("explicitKeySignatureVisibility"); 
       if (gh_procedure_p (vis))
-	item_p_->set_grob_property ("break-visibility",vis);
+	item_->set_grob_property ("break-visibility",vis);
     }
 }      
 
 
 bool
-Key_engraver::try_music (Music * req_l)
+Key_engraver::try_music (Music * req)
 {
-  if (Key_change_req *kc = dynamic_cast <Key_change_req *> (req_l))
+  if (Key_change_req *kc = dynamic_cast <Key_change_req *> (req))
     {
-      if (keyreq_l_ && !keyreq_l_->equal_b (kc))
+      if (keyreq_ && !keyreq_->equal_b (kc))
 	{
 	  kc->origin ()->warning (_ ("Conflicting key signatures found."));
-	  keyreq_l_->origin ()->warning (_ ("This was the other key definition."));	  
+	  keyreq_->origin ()->warning (_ ("This was the other key definition."));	  
 	  return false;
 	}
 
-      if (!keyreq_l_)
+      if (!keyreq_)
 	{
 	  /*
 	    do this only once, just to be on the safe side.
 	    */	    
-	  keyreq_l_ = kc;
-	  read_req (keyreq_l_);
+	  keyreq_ = kc;
+	  read_req (keyreq_);
 	}
       
       return true;
@@ -111,7 +111,7 @@ Key_engraver::try_music (Music * req_l)
 void
 Key_engraver::acknowledge_grob (Grob_info info)
 {
-  if (Clef::has_interface (info.grob_l_))
+  if (Clef::has_interface (info.grob_))
     {
       SCM c =  get_property ("createKeyOnClefChange");
       if (to_boolean (c))
@@ -119,7 +119,7 @@ Key_engraver::acknowledge_grob (Grob_inf
 	  create_key (false);
 	}
     }
-  else if (Bar_line::has_interface (info.grob_l_)
+  else if (Bar_line::has_interface (info.grob_)
 	   && gh_pair_p (get_property ("keySignature")))
     {
       create_key (true);
@@ -130,7 +130,7 @@ Key_engraver::acknowledge_grob (Grob_inf
 void
 Key_engraver::process_music ()
 {
-  if (keyreq_l_ ||
+  if (keyreq_ ||
       get_property ("lastKeySignature") != get_property ("keySignature"))
     create_key (false);
 }
@@ -139,10 +139,10 @@ Key_engraver::process_music ()
 void
 Key_engraver::stop_translation_timestep ()
 {
-  if (item_p_) 
+  if (item_) 
     {
-      typeset_grob (item_p_);
-      item_p_ = 0;
+      typeset_grob (item_);
+      item_ = 0;
     }
 }
 
@@ -171,27 +171,27 @@ Key_engraver::read_req (Key_change_req c
       accs = gh_cons (ly_car (s), accs);
 
 #if 0
-  daddy_trans_l_->set_property ("lastKeySignature",
+  daddy_trans_->set_property ("lastKeySignature",
 				get_property ("keySignature"));
 #endif
   
-  daddy_trans_l_->set_property ("keySignature", accs);
+  daddy_trans_->set_property ("keySignature", accs);
 }
 
 
 void
 Key_engraver::start_translation_timestep ()
 {
-  keyreq_l_ = 0;
-  daddy_trans_l_->set_property ("lastKeySignature", get_property ("keySignature"));
+  keyreq_ = 0;
+  daddy_trans_->set_property ("lastKeySignature", get_property ("keySignature"));
 }
 
 
 void
 Key_engraver::initialize ()
 {
-  daddy_trans_l_->set_property ("keySignature", SCM_EOL);
-  daddy_trans_l_->set_property ("lastKeySignature", SCM_EOL);
+  daddy_trans_->set_property ("keySignature", SCM_EOL);
+  daddy_trans_->set_property ("lastKeySignature", SCM_EOL);
 }
 
 
diff -purN ../lilypond-1.5.69/lily/key-performer.cc ./lily/key-performer.cc
--- ../lilypond-1.5.69/lily/key-performer.cc	Wed Mar 20 02:12:36 2002
+++ ./lily/key-performer.cc	Fri Jul 26 12:26:59 2002
@@ -20,19 +20,19 @@ public:
   ~Key_performer ();
 
 protected:
-  virtual bool try_music (Music* req_l);
+  virtual bool try_music (Music* req);
   virtual void create_audio_elements ();
   virtual void stop_translation_timestep ();
 
 private:
-  Key_change_req* key_req_l_;
-  Audio_key* audio_p_;
+  Key_change_req* key_req_;
+  Audio_key* audio_;
 };
 
 Key_performer::Key_performer ()
 {
-  key_req_l_ = 0;
-  audio_p_ = 0;
+  key_req_ = 0;
+  audio_ = 0;
 }
 
 Key_performer::~Key_performer ()
@@ -42,9 +42,9 @@ Key_performer::~Key_performer ()
 void
 Key_performer::create_audio_elements ()
 {
-  if (key_req_l_) 
+  if (key_req_) 
     {
-      SCM pitchlist = key_req_l_->get_mus_property ("pitch-alist");
+      SCM pitchlist = key_req_->get_mus_property ("pitch-alist");
       SCM proc = scm_primitive_eval (ly_symbol2scm ("accidentals-in-key")); 
       SCM acc = gh_call1 (proc, pitchlist);
       proc = scm_primitive_eval (ly_symbol2scm ("major-key"));
@@ -58,7 +58,7 @@ Key_performer::create_audio_elements ()
 		   -gh_scm2int (ly_cdar (pitchlist)));
 
       my_do.transpose (to_c);
-      to_c.alteration_i_ -= my_do.alteration_i_;
+      to_c.alteration_ -= my_do.alteration_;
 
       Key_change_req *key = new Key_change_req;
       key->set_mus_property ("pitch-alist", scm_list_copy (pitchlist));
@@ -66,32 +66,32 @@ Key_performer::create_audio_elements ()
       SCM c_pitchlist = key->get_mus_property ("pitch-alist");
       SCM major = gh_call1 (proc, c_pitchlist);
 
-      audio_p_ = new Audio_key (gh_scm2int (acc), major == SCM_BOOL_T); 
-      Audio_element_info info (audio_p_, key_req_l_);
+      audio_ = new Audio_key (gh_scm2int (acc), major == SCM_BOOL_T); 
+      Audio_element_info info (audio_, key_req_);
       announce_element (info);
-      key_req_l_ = 0;
+      key_req_ = 0;
     }
 }
 
 void
 Key_performer::stop_translation_timestep ()
 {
-  if (audio_p_)
+  if (audio_)
     {
-      play_element (audio_p_);
-      audio_p_ = 0;
+      play_element (audio_);
+      audio_ = 0;
     }
 }
 
 bool
-Key_performer::try_music (Music* req_l)
+Key_performer::try_music (Music* req)
 {
-  if (Key_change_req *kc = dynamic_cast <Key_change_req *> (req_l))
+  if (Key_change_req *kc = dynamic_cast <Key_change_req *> (req))
     {
-      if (key_req_l_)
+      if (key_req_)
 	warning (_ ("FIXME: key change merge"));
 
-      key_req_l_ = kc;
+      key_req_ = kc;
       return true;
     }
 
diff -purN ../lilypond-1.5.69/lily/key-signature-interface.cc ./lily/key-signature-interface.cc
--- ../lilypond-1.5.69/lily/key-signature-interface.cc	Sat Apr 20 18:49:52 2002
+++ ./lily/key-signature-interface.cc	Fri Jul 26 12:26:59 2002
@@ -131,7 +131,7 @@ Key_signature_interface::brew_molecule (
       int pos = alteration_pos (what, alter, c0p);
       
       Molecule m = Font_interface::get_default_font (me)->
-	  find_by_name (String ("accidentals-") + style + to_str (alter));
+	  find_by_name (String ("accidentals-") + style + to_string (alter));
       m.translate_axis (pos * inter, Y_AXIS);
       mol.add_at_edge (X_AXIS, LEFT, m, 0);
     }
diff -purN ../lilypond-1.5.69/lily/kpath.cc ./lily/kpath.cc
--- ../lilypond-1.5.69/lily/kpath.cc	Fri May 17 00:56:57 2002
+++ ./lily/kpath.cc	Fri Jul 26 12:26:59 2002
@@ -54,7 +54,7 @@ ly_find_tfm (char const * name)
 {
   String p = global_path.find (String (name) + ".tfm");
 
-  if (p.length_i ())
+  if (p.length ())
     return p;
   
 #if (KPATHSEA && HAVE_KPSE_FIND_FILE)
diff -purN ../lilypond-1.5.69/lily/lexer.ll ./lily/lexer.ll
--- ../lilypond-1.5.69/lily/lexer.ll	Thu Jul 11 12:55:24 2002
+++ ./lily/lexer.ll	Fri Jul 26 12:26:59 2002
@@ -65,7 +65,7 @@ valid_version_b (String s);
 	yylval.string = new String
 
 #define yylval \
-	(*(YYSTYPE*)lexval_l)
+	(*(YYSTYPE*)lexval)
 
 #define YY_USER_ACTION	add_lexed_char (YYLeng ());
 /*
@@ -152,7 +152,7 @@ HYPHEN		--
 }
 <version>\"[^"]*\"     { /* got the version number */
 	String s (YYText ()+1);
-	s = s.left_str (s.index_last_i ('"'));
+	s = s.left_string (s.index_last ('"'));
 
 	yy_pop_state ();
 	if (!valid_version_b (s))
@@ -172,7 +172,7 @@ HYPHEN		--
 		yy_pop_state ();
 	}
 	<<EOF>> 	{
-		LexerError (_ ("EOF found inside a comment").ch_C ());
+		LexerError (_ ("EOF found inside a comment").to_str0 ());
 		if (! close_input ()) 
 		  yyterminate (); // can't move this, since it actually rets a YY_NULL
 	}
@@ -194,25 +194,25 @@ HYPHEN		--
 }
 <incl>\"[^"]*\";?   { /* got the include file name */
 	String s (YYText ()+1);
-	s = s.left_str (s.index_last_i ('"'));
+	s = s.left_string (s.index_last ('"'));
 
-	new_input (s,source_global_l);
+	new_input (s,source_global);
 	yy_pop_state ();
 }
 <incl>\\{BLACK}*;?{WHITE} { /* got the include identifier */
 	String s = YYText () + 1;
 	strip_trailing_white (s);
-	if (s.length_i () && (s[s.length_i () - 1] == ';'))
-	  s = s.left_str (s.length_i () - 1);
+	if (s.length () && (s[s.length () - 1] == ';'))
+	  s = s.left_string (s.length () - 1);
 
 	SCM sid = lookup_identifier (s);
 	if (gh_string_p (sid)) {
-		new_input (ly_scm2string (sid), source_global_l);
+		new_input (ly_scm2string (sid), source_global);
 		yy_pop_state ();
 	} else { 
 	    String msg (_f ("wrong or undefined identifier: `%s'", s ));
 
-	    LexerError (msg.ch_C ());
+	    LexerError (msg.to_str0 ());
 	    SCM err = scm_current_error_port ();
 	    scm_puts ("This value was found in the table: ", err);
 	    scm_display (sid, err);
@@ -232,12 +232,12 @@ HYPHEN		--
 }
 <INITIAL,chords,lyrics,notes,figures>\\\${BLACK}*{WHITE}	{
 	String s=YYText () + 2;
-	s=s.left_str (s.length_i () - 1);
+	s=s.left_string (s.length () - 1);
 	return scan_escaped_word (s); 
 }
 <INITIAL,chords,lyrics,notes,figures>\${BLACK}*{WHITE}		{
 	String s=YYText () + 1;
-	s=s.left_str (s.length_i () - 1);
+	s=s.left_string (s.length () - 1);
 	return scan_bare_word (s);
 }
 <INITIAL,chords,lyrics,notes,figures>\\\${BLACK}*		{ // backup rule
@@ -251,7 +251,7 @@ HYPHEN		--
 
 <INITIAL,chords,lyrics,notes,figures>#	{ //embedded scm
 	//char const* s = YYText () + 1;
-	char const* s = here_ch_C ();
+	char const* s = here_str0 ();
 	int n = 0;
 	if (main_input_b_ && safe_global_b) {
 		error (_ ("Can't evaluate Scheme in safe mode"));
@@ -293,11 +293,11 @@ HYPHEN		--
 	}
 
 	{DIGIT}		{
-		yylval.i = String_convert::dec2_i (String (YYText ()));
+		yylval.i = String_convert::dec2int (String (YYText ()));
 		return DIGIT;
 	}
 	{UNSIGNED}		{
-		yylval.i = String_convert::dec2_i (String (YYText ()));
+		yylval.i = String_convert::dec2int (String (YYText ()));
 		return UNSIGNED;
 	}
 
@@ -311,7 +311,7 @@ HYPHEN		--
 }
 <quote>{
 	\\{ESCAPED}	{
-		*yylval.string += to_str (escaped_char (YYText ()[1]));
+		*yylval.string += to_string (escaped_char (YYText ()[1]));
 	}
 	[^\\"]+	{
 		*yylval.string += YYText ();
@@ -322,7 +322,7 @@ HYPHEN		--
 
 		/* yylval is union. Must remember STRING before setting SCM*/
 		String *sp = yylval.string;
-		yylval.scm = ly_str02scm (sp->ch_C ());
+		yylval.scm = ly_str02scm (sp->to_str0 ());
 		delete sp;
 		return STRING;
 	}
@@ -340,7 +340,7 @@ HYPHEN		--
 		return FRACTION;
 	}
 	{UNSIGNED}		{
-		yylval.i = String_convert::dec2_i (String (YYText ()));
+		yylval.i = String_convert::dec2int (String (YYText ()));
 		return UNSIGNED;
 	}
 	{NOTECOMMAND}	{
@@ -355,11 +355,11 @@ HYPHEN		--
 			return yylval.i = HYPHEN;
 		s = lyric_fudge (s);
 
-		char c = s[s.length_i () - 1];
+		char c = s[s.length () - 1];
 		if (c == '{' ||  c == '}') // brace open is for not confusing dumb tools.
 			here_input ().warning (
 				_ ("Brace found at end of lyric. Did you forget a space?"));
-		yylval.scm = ly_str02scm (s.ch_C ());
+		yylval.scm = ly_str02scm (s.to_str0 ());
 
 
 		return STRING;
@@ -380,7 +380,7 @@ HYPHEN		--
 		return FRACTION;
 	}
 	{UNSIGNED}		{
-		yylval.i = String_convert::dec2_i (String (YYText ()));
+		yylval.i = String_convert::dec2int (String (YYText ()));
 		return UNSIGNED;
 	}
 	\" {
@@ -428,7 +428,7 @@ HYPHEN		--
 }
 
 {UNSIGNED}	{
-	yylval.i = String_convert::dec2_i (String (YYText ()));
+	yylval.i = String_convert::dec2int (String (YYText ()));
 	return UNSIGNED;
 }
 
@@ -475,7 +475,7 @@ HYPHEN		--
 
 <*>.		{
 	String msg = _f ("invalid character: `%c'", YYText ()[0]);
-	LexerError (msg.ch_C ());
+	LexerError (msg.to_str0 ());
 	return YYText ()[0];
 }
 
@@ -515,7 +515,7 @@ My_lily_lexer::scan_escaped_word (String
 {
 	// use more SCM for this.
 
-	SCM sym = ly_symbol2scm (str.ch_C ());
+	SCM sym = ly_symbol2scm (str.to_str0 ());
 
 	int l = lookup_keyword (str);
 	if (l != -1) {
@@ -561,9 +561,9 @@ My_lily_lexer::scan_escaped_word (String
 		}
 	}
 	String msg (_f ("unknown escaped string: `\\%s'", str));	
-	LexerError (msg.ch_C ());
+	LexerError (msg.to_str0 ());
 
-	yylval.scm = ly_str02scm (str.ch_C ());
+	yylval.scm = ly_str02scm (str.to_str0 ());
 
 	return STRING;
 }
@@ -571,7 +571,7 @@ My_lily_lexer::scan_escaped_word (String
 int
 My_lily_lexer::scan_bare_word (String str)
 {
-	SCM sym = ly_symbol2scm (str.ch_C ());
+	SCM sym = ly_symbol2scm (str.to_str0 ());
 	if ((YYSTATE == notes) || (YYSTATE == chords)) {
 		SCM pitch = scm_hashq_get_handle (pitchname_tab_, sym);
 		if (gh_pair_p (pitch)) {
@@ -584,7 +584,7 @@ My_lily_lexer::scan_bare_word (String st
 		}
 	}
 
-	yylval.scm = ly_str02scm (str.ch_C ());
+	yylval.scm = ly_str02scm (str.to_str0 ());
 	return STRING;
 }
 
@@ -620,22 +620,22 @@ void
 strip_leading_white (String&s)
 {
 	int i=0;
-	for (;  i < s.length_i (); i++) 
+	for (;  i < s.length (); i++) 
 		if (!isspace (s[i]))
 			break;
 
-	s = s.nomid_str (0, i);
+	s = s.nomid_string (0, i);
 }
 
 void
 strip_trailing_white (String&s)
 {
-	int i=s.length_i ();	
+	int i=s.length ();	
 	while (i--) 
 		if (!isspace (s[i]))
 			break;
 
-	s = s.left_str (i+1);
+	s = s.left_string (i+1);
 }
 
 
@@ -651,7 +651,7 @@ valid_version_b (String s)
   Lilypond_version ver (s);
   if (! ((ver >= oldest_version) && (ver <= current)))
 	{	
-		non_fatal_error (_f ("incorrect lilypond version: %s (%s, %s)", ver.str (), oldest_version.str (), current.str ()));
+		non_fatal_error (_f ("incorrect lilypond version: %s (%s, %s)", ver.string (), oldest_version.string (), current.string ()));
 		non_fatal_error (_ ("Consider converting the input with the convert-ly script")); 
 		return false;
     }
@@ -662,7 +662,7 @@ valid_version_b (String s)
 String
 lyric_fudge (String s)
 {
-  char  * chars  =s.copy_ch_p ();
+  char  * chars  =s.get_copy_str0 ();
 
   for (char * p = chars; *p ; p++)
     {
@@ -674,10 +674,10 @@ lyric_fudge (String s)
   delete[] chars;
 
   int i =0;	
-  if ((i=s.index_i ("\\,")) != -1)   // change "\," to TeX's "\c "
+  if ((i=s.index ("\\,")) != -1)   // change "\," to TeX's "\c "
     {
-      * (s.ch_l () + i + 1) = 'c';
-      s = s.left_str (i+2) + " " + s.right_str (s.length_i ()-i-2);
+      * (s.get_str0 () + i + 1) = 'c';
+      s = s.left_string (i+2) + " " + s.right_string (s.length ()-i-2);
     }
 
   return s;
@@ -689,13 +689,13 @@ Convert "NUM/DEN" into a '(NUM . DEN) co
 SCM
 scan_fraction (String frac)
 {
-	int i = frac.index_i ('/');
-	int l = frac.length_i ();
-	String left = frac.left_str (i);
-	String right = frac.right_str (l - i - 1);
+	int i = frac.index ('/');
+	int l = frac.length ();
+	String left = frac.left_string (i);
+	String right = frac.right_string (l - i - 1);
 
-	int n = String_convert::dec2_i (left);
-	int d = String_convert::dec2_i (right);
+	int n = String_convert::dec2int (left);
+	int d = String_convert::dec2int (right);
 	return gh_cons (gh_int2scm (n), gh_int2scm (d));
 }
 		
diff -purN ../lilypond-1.5.69/lily/ligature-bracket.cc ./lily/ligature-bracket.cc
--- ../lilypond-1.5.69/lily/ligature-bracket.cc	Sun May 19 02:14:05 2002
+++ ./lily/ligature-bracket.cc	Fri Jul 26 12:26:59 2002
@@ -43,10 +43,10 @@ Ligature_bracket::brew_molecule (SCM smo
 {
   Grob *me = unsmob_grob (smob);
   Spanner *spanner = dynamic_cast<Spanner*> (me);
-  Real blotdiameter = me->paper_l ()->get_var ("blotdiameter");
+  Real blotdiameter = me->get_paper ()->get_var ("blotdiameter");
   Real staff_space = Staff_symbol_referencer::staff_space (me);
 
-  Real thickness = me->paper_l ()->get_var ("linethickness");  
+  Real thickness = me->get_paper ()->get_var ("linethickness");  
   SCM grob_thickness = me->get_grob_property ("thickness");
   if (gh_number_p (grob_thickness))
     thickness *= gh_scm2double (grob_thickness);
@@ -109,7 +109,7 @@ Ligature_bracket::brew_molecule (SCM smo
     {
       Molecule right_edge =
 	brew_edge (RIGHT, thickness, edge_width, edge_height, blotdiameter);
-      Grob *staff_symbol = Staff_symbol_referencer::staff_symbol_l (me);
+      Grob *staff_symbol = Staff_symbol_referencer::get_staff_symbol (me);
       Grob *right_common_bound_x =
 	right_bound->common_refpoint (staff_symbol, X_AXIS);
 
diff -purN ../lilypond-1.5.69/lily/ligature-engraver.cc ./lily/ligature-engraver.cc
--- ../lilypond-1.5.69/lily/ligature-engraver.cc	Sun May 19 02:06:24 2002
+++ ./lily/ligature-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -33,8 +33,8 @@
  */
 Ligature_engraver::Ligature_engraver ()
 {
-  ligature_p_ = 0;
-  finished_ligature_p_ = 0;
+  ligature_ = 0;
+  finished_ligature_ = 0;
   reqs_drul_[LEFT] = reqs_drul_[RIGHT] = 0;
   prev_start_req_ = 0;
   last_bound = 0;
@@ -51,9 +51,9 @@ Ligature_engraver::try_music (Music *m)
 	{
 	  reqs_drul_[START] = 0;
 	  reqs_drul_[STOP] = 0;
-	  if (ligature_p_)
-	    ligature_p_->suicide ();
-	  ligature_p_ = 0;
+	  if (ligature_)
+	    ligature_->suicide ();
+	  ligature_ = 0;
 	}
       else if (scm_equal_p (req_->get_mus_property ("span-type"),
 			    ly_str02scm ("ligature")) == SCM_BOOL_T)
@@ -77,7 +77,7 @@ Ligature_engraver::process_music ()
 {
   if (reqs_drul_[STOP])
     {
-      if (!ligature_p_)
+      if (!ligature_)
 	reqs_drul_[STOP]->origin ()->warning (_ ("can't find start of ligature"));
       else
 	{
@@ -87,32 +87,32 @@ Ligature_engraver::process_music ()
 	    }
 	  else
 	    {
-	      ligature_p_->set_bound (RIGHT, last_bound);
+	      ligature_->set_bound (RIGHT, last_bound);
 	    }
 	}
       prev_start_req_ = 0;
-      finished_ligature_p_ = ligature_p_;
-      ligature_p_ = 0;
+      finished_ligature_ = ligature_;
+      ligature_ = 0;
     }
   last_bound = unsmob_grob (get_property ("currentMusicalColumn"));
 
-  if (ligature_p_)
+  if (ligature_)
     {
       // TODO: maybe forbid breaks only if not transcribing
       top_engraver ()->forbid_breaks ();
     }
   if (reqs_drul_[START])
     {
-      if (ligature_p_)
+      if (ligature_)
 	{
 	  reqs_drul_[START]->origin ()->warning (_ ("already have a ligature"));
 	  return;
 	}
 
       prev_start_req_ = reqs_drul_[START];
-      ligature_p_ = create_ligature_spanner ();
+      ligature_ = create_ligature_spanner ();
       brew_ligature_primitive_proc =
-	ligature_p_->get_grob_property ("ligature-primitive-callback");
+	ligature_->get_grob_property ("ligature-primitive-callback");
       if (brew_ligature_primitive_proc == SCM_EOL)
 	{
 	  warning ("Ligature_engraver: ligature-primitive-callback undefined");
@@ -125,12 +125,12 @@ Ligature_engraver::process_music ()
 	}
       else
 	{
-	  ligature_p_->set_bound (LEFT, bound);
+	  ligature_->set_bound (LEFT, bound);
 	}
 
       ligature_start_mom_ = now_mom ();
       
-      announce_grob(ligature_p_, reqs_drul_[START]->self_scm());
+      announce_grob(ligature_, reqs_drul_[START]->self_scm());
     }
 }
 
@@ -144,10 +144,10 @@ Ligature_engraver::start_translation_tim
 void
 Ligature_engraver::try_stop_ligature ()
 {
-  if (finished_ligature_p_)
+  if (finished_ligature_)
     {
-      typeset_grob (finished_ligature_p_);
-      finished_ligature_p_ = 0;
+      typeset_grob (finished_ligature_);
+      finished_ligature_ = 0;
     }
 }
 
@@ -161,24 +161,24 @@ void
 Ligature_engraver::finalize ()
 {
   try_stop_ligature ();
-  if (ligature_p_)
+  if (ligature_)
     {
       prev_start_req_->origin ()->warning (_ ("unterminated ligature"));
-      ligature_p_->suicide ();
+      ligature_->suicide ();
     }
 }
 
 void
 Ligature_engraver::acknowledge_grob (Grob_info info)
 {
-  if (ligature_p_)
+  if (ligature_)
     {
-      if (Ligature_head::has_interface (info.grob_l_))
+      if (Ligature_head::has_interface (info.grob_))
 	{
-	  info.grob_l_->set_grob_property ("ligature-primitive-callback",
+	  info.grob_->set_grob_property ("ligature-primitive-callback",
 					   brew_ligature_primitive_proc);
 	}
-      else if (Rest::has_interface (info.grob_l_))
+      else if (Rest::has_interface (info.grob_))
 	{
 	  info.music_cause ()->origin ()->warning (_ ("ligature may not contain rest; ignoring rest"));
 	  prev_start_req_->origin ()->warning (_ ("ligature was started here"));
diff -purN ../lilypond-1.5.69/lily/lily-guile.cc ./lily/lily-guile.cc
--- ../lilypond-1.5.69/lily/lily-guile.cc	Mon Jul 22 12:21:58 2002
+++ ./lily/lily-guile.cc	Fri Jul 26 12:26:59 2002
@@ -159,7 +159,7 @@ gulp_file_to_string (String fn)
     {
       String e = _f ("can't find file: `%s'", fn);
       e += " ";
-      e += _f ("(load path: `%s')", global_path.str ());
+      e += _f ("(load path: `%s')", global_path.string ());
       error (e);
     }
   else if (verbose_global_b)
@@ -167,7 +167,7 @@ gulp_file_to_string (String fn)
 
 
   Simple_file_storage f (s);
-  String result (f.ch_C ());
+  String result (f.to_str0 ());
   if (verbose_global_b)
     progress_indication ("]");
   return result;
@@ -180,7 +180,7 @@ file is looked up using the lilypond sea
 
 ")
 {
-  return ly_str02scm (gulp_file_to_string (ly_scm2string (name)).ch_C ());
+  return ly_str02scm (gulp_file_to_string (ly_scm2string (name)).to_str0 ());
 }
 
 
@@ -194,7 +194,7 @@ file is looked up using the lilypond sea
 void
 read_lily_scm_file (String fn)
 {
-  gh_eval_str ((char *) gulp_file_to_string (fn).ch_C ());
+  gh_eval_str ((char *) gulp_file_to_string (fn).to_str0 ());
 }
 
 extern "C" {
@@ -243,7 +243,7 @@ LY_DEFINE(ly_warning,"ly-warn", 1, 0, 0,
   return SCM_BOOL_T;
 }
 
-LY_DEFINE(ly_isdir_p,  "dir?", 1,0, 0,  (SCM s),
+LY_DEFINE(ly_isdir,  "dir?", 1,0, 0,  (SCM s),
 	  "type predicate. A direction is a -1, 0 or 1, where -1 represents left or
 down and 1 represents right or up.
 ")
@@ -273,26 +273,12 @@ void add_scm_init_func (void (*f) ())
   scm_init_funcs_->push (f);
 }
 
-extern  void init_cxx_function_smobs ();
+extern void init_cxx_function_smobs ();
 
-void
-prepend_load_path (String p )
-{
-  char s[1024];
-  sprintf (s, 
-	   "(set! %%load-path (cons \"%s\" %%load-path))", p.ch_C());
-
-  scm_c_eval_string (s);
-}
 
 void
-init_lily_guile (String p )
+ly_init_guile ()
 {
-  prepend_load_path (p);
-
-  // todo: junk this. We should make real modules iso. just loading files.
-  prepend_load_path (p + "/scm/");
-
   SCM last_mod = scm_current_module ();
   scm_set_current_module (scm_c_resolve_module ("guile"));
   
@@ -666,8 +652,8 @@ String
 print_scm_val (SCM val)
 {
   String realval = ly_scm2string (ly_write2scm (val));
-  if (realval.length_i () > 200)
-    realval = realval.left_str (100) + "\n :\n :\n" + realval.right_str (100);
+  if (realval.length () > 200)
+    realval = realval.left_string (100) + "\n :\n :\n" + realval.right_string (100);
   
   return realval;	 
 }
@@ -687,35 +673,35 @@ type_check_assignment (SCM sym, SCM val,
     return ok;
 
   
-  SCM type_p = SCM_EOL;
+  SCM type = SCM_EOL;
 
   if (gh_symbol_p (sym))
-    type_p = scm_object_property (sym, type_symbol);
+    type = scm_object_property (sym, type_symbol);
 
-  if (type_p != SCM_EOL && !gh_procedure_p (type_p))
+  if (type != SCM_EOL && !gh_procedure_p (type))
       {
 	warning (_f ("Can't find property type-check for `%s' (%s).  Perhaps you made a typing error? Doing assignment anyway.",
-		     ly_symbol2string (sym).ch_C (),
-		     ly_symbol2string (type_symbol).ch_C ()
+		     ly_symbol2string (sym).to_str0 (),
+		     ly_symbol2string (type_symbol).to_str0 ()
 
 		     ));
       }
   else
     {
       if (val != SCM_EOL
-	  && gh_procedure_p (type_p)
-	  && gh_call1 (type_p, val) == SCM_BOOL_F)
+	  && gh_procedure_p (type)
+	  && gh_call1 (type, val) == SCM_BOOL_F)
 	{
 	  SCM errport = scm_current_error_port ();
 	  ok = false;
 	  SCM typefunc = scm_primitive_eval (ly_symbol2scm ("type-name"));
-	  SCM type_name = gh_call1 (typefunc, type_p);
+	  SCM type_name = gh_call1 (typefunc, type);
 
 	 
 	  scm_puts (_f ("Type check for `%s' failed; value `%s' must be of type `%s'",
-			ly_symbol2string (sym).ch_C (),
+			ly_symbol2string (sym).to_str0 (),
 			print_scm_val (val),
-			ly_scm2string (type_name).ch_C ()).ch_C (),
+			ly_scm2string (type_name).to_str0 ()).to_str0 (),
 		    errport);
 	  scm_puts ("\n", errport);		      
 	}
@@ -773,7 +759,7 @@ ly_split_list (SCM s, SCM list)
 
 
 void
-taint (SCM * foo)
+taint (SCM *)
 {
   /*
     nop.
@@ -816,14 +802,15 @@ int_list_to_slice (SCM l)
 
 
 /*
-  return I-th element, or last elt L
+  Return I-th element, or last elt L. If I < 0, then we take the first
+  element.
 
   PRE: length (L) > 0
  */
 SCM
 robust_list_ref(int i, SCM l)
 {
-  while (i--  && gh_pair_p (gh_cdr(l)))
+  while (i-- > 0 && gh_pair_p (gh_cdr(l)))
     l = gh_cdr (l);
 
   return gh_car(l);
diff -purN ../lilypond-1.5.69/lily/lily-version.cc ./lily/lily-version.cc
--- ../lilypond-1.5.69/lily/lily-version.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/lily-version.cc	Fri Jul 26 12:26:59 2002
@@ -11,9 +11,9 @@
 #include "lily-version.hh"
 
 String
-version_str ()
+version_string ()
 {
-  String str (MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL);
+  String str = MAJOR_VERSION "." MINOR_VERSION "."  PATCH_LEVEL;
   String mpl ("." MY_PATCH_LEVEL);
   if (mpl != ".")
     str += mpl;
@@ -21,16 +21,16 @@ version_str ()
 }
 
 String 
-gnu_lilypond_str ()
+gnu_lilypond_string ()
 {
   String str = "GNU LilyPond";
   return str;
 }
 
 String 
-gnu_lilypond_version_str ()
+gnu_lilypond_version_string ()
 {
-  String str = gnu_lilypond_str () + " " + version_str ();
+  String str = gnu_lilypond_string () + " " + version_string ();
   return str;
 }
 
diff -purN ../lilypond-1.5.69/lily/lilypond-version.cc ./lily/lilypond-version.cc
--- ../lilypond-1.5.69/lily/lilypond-version.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/lilypond-version.cc	Fri Jul 26 12:26:59 2002
@@ -13,35 +13,35 @@
 
 Lilypond_version::Lilypond_version (int major, int minor, int patch)
 {
-  major_i_ = major;
-  minor_i_ = minor;
-  patch_i_ = patch;
+  major_ = major;
+  minor_ = minor;
+  patch_ = patch;
 }
 
 Lilypond_version::Lilypond_version (String str)
 {
   Array<String> version;
-  version = String_convert::split_arr (str, '.');
+  version = String_convert::split (str, '.');
   
-  major_i_ = version[0].value_i ();
-  minor_i_ = version[1].value_i ();
-  patch_i_ = 0;
+  major_ = version[0].to_int ();
+  minor_ = version[1].to_int ();
+  patch_ = 0;
   if (version.size () >= 3)
-    patch_i_ = version[2].value_i ();
+    patch_ = version[2].to_int ();
 
   if (version.size () >= 4)
-    extra_patch_str_ = version[3];
+    extra_patch_string_ = version[3];
 }
 
 String
-Lilypond_version::str () const
+Lilypond_version::string () const
 {
-  return to_str (major_i_) + "." + to_str (minor_i_) + "." + to_str (patch_i_);
+  return to_string (major_) + "." + to_string (minor_) + "." + to_string (patch_);
 }
 
 Lilypond_version::operator int () const
 {
     // ugh
-  return 100000 * major_i_ + 1000 * minor_i_ + patch_i_;
+  return 100000 * major_ + 1000 * minor_ + patch_;
 }
 
diff -purN ../lilypond-1.5.69/lily/line-spanner.cc ./lily/line-spanner.cc
--- ../lilypond-1.5.69/lily/line-spanner.cc	Mon Apr  1 01:12:19 2002
+++ ./lily/line-spanner.cc	Fri Jul 26 12:26:59 2002
@@ -114,9 +114,9 @@ Line_spanner::get_broken_offset (Grob *m
   if (!bound->break_status_dir ())
     {
       Grob *common[] = {
-	bound->common_refpoint (Staff_symbol_referencer::staff_symbol_l (me),
+	bound->common_refpoint (Staff_symbol_referencer::get_staff_symbol (me),
 				X_AXIS),
-	bound->common_refpoint (Staff_symbol_referencer::staff_symbol_l (me),
+	bound->common_refpoint (Staff_symbol_referencer::get_staff_symbol (me),
 				Y_AXIS)
       };
   
@@ -133,15 +133,15 @@ Line_spanner::broken_trend_offset (Grob 
      the unbroken line-spanner would have had.
      From slur */
   Offset o;
-  if (Spanner *mother =  dynamic_cast<Spanner*> (me->original_l_))
+  if (Spanner *mother =  dynamic_cast<Spanner*> (me->original_))
     {
-      for (int i = dir == LEFT ? 0 : mother->broken_into_l_arr_.size () - 1;
-	   dir == LEFT ? i < mother->broken_into_l_arr_.size () : i > 0;
+      for (int i = dir == LEFT ? 0 : mother->broken_intos_.size () - 1;
+	   dir == LEFT ? i < mother->broken_intos_.size () : i > 0;
 	   dir == LEFT ? i++ : i--)
 	{
-	  if (mother->broken_into_l_arr_[i - dir] == me)
+	  if (mother->broken_intos_[i - dir] == me)
 	    {
-	      Grob *neighbour = mother->broken_into_l_arr_[i];
+	      Grob *neighbour = mother->broken_intos_[i];
 	      Offset neighbour_o = get_broken_offset (neighbour, dir);
 	      Offset me_o = get_broken_offset (me, -dir);
 	      // Hmm, why not return me_o[X], but recalc in brew_mol?
@@ -244,7 +244,7 @@ Line_spanner::brew_molecule (SCM smob) 
       
       }
 
-  Real thick = me->paper_l ()->get_var ("linethickness");  
+  Real thick = me->get_paper ()->get_var ("linethickness");  
 
   SCM s = me->get_grob_property ("thickness");
   if (gh_number_p (s))
diff -purN ../lilypond-1.5.69/lily/lookup.cc ./lily/lookup.cc
--- ../lilypond-1.5.69/lily/lookup.cc	Sun Jun 16 14:25:09 2002
+++ ./lily/lookup.cc	Fri Jul 26 12:26:59 2002
@@ -328,33 +328,33 @@ Lookup::accordion (SCM s, Real staff_spa
     {
       Molecule r = fm->find_by_name ("accordion-accDiscant");
       m.add_molecule (r);
-      if (reg.left_str (1) == "F")
+      if (reg.left_string (1) == "F")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 2.5 PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
       int eflag = 0x00;
-      if (reg.left_str (3) == "EEE")
+      if (reg.left_string (3) == "EEE")
 	{
 	  eflag = 0x07;
-	  reg = reg.right_str (reg.length_i ()-3);
+	  reg = reg.right_string (reg.length ()-3);
 	}
-      else if (reg.left_str (2) == "EE")
+      else if (reg.left_string (2) == "EE")
 	{
 	  eflag = 0x05;
-	  reg = reg.right_str (reg.length_i ()-2);
+	  reg = reg.right_string (reg.length ()-2);
 	}
-      else if (reg.left_str (2) == "Eh")
+      else if (reg.left_string (2) == "Eh")
 	{
 	  eflag = 0x04;
-	  reg = reg.right_str (reg.length_i ()-2);
+	  reg = reg.right_string (reg.length ()-2);
 	}
-      else if (reg.left_str (1) == "E")
+      else if (reg.left_string (1) == "E")
 	{
 	  eflag = 0x02;
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
       if (eflag & 0x02)
 	{
@@ -376,7 +376,7 @@ Lookup::accordion (SCM s, Real staff_spa
 	  d.translate_axis (-0.8 * staff_space PT, X_AXIS);
 	  m.add_molecule (d);
 	}
-      if (reg.left_str (2) == "SS")
+      if (reg.left_string (2) == "SS")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (0.5 * staff_space PT, Y_AXIS);
@@ -384,26 +384,26 @@ Lookup::accordion (SCM s, Real staff_spa
 	  m.add_molecule (d);
 	  d.translate_axis (-0.8 * staff_space PT, X_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-2);
+	  reg = reg.right_string (reg.length ()-2);
 	}
-      if (reg.left_str (1) == "S")
+      if (reg.left_string (1) == "S")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (0.5 * staff_space PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
     }
   else if (sym == "Freebase")
     {
       Molecule r = fm->find_by_name ("accordion-accFreebase");
       m.add_molecule (r);
-      if (reg.left_str (1) == "F")
+      if (reg.left_string (1) == "F")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 1.5 PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
       if (reg == "E")
 	{
@@ -416,22 +416,22 @@ Lookup::accordion (SCM s, Real staff_spa
     {
       Molecule r = fm->find_by_name ("accordion-accBayanbase");
       m.add_molecule (r);
-      if (reg.left_str (1) == "T")
+      if (reg.left_string (1) == "T")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 2.5 PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
       /* include 4' reed just for completeness. You don't want to use this. */
-      if (reg.left_str (1) == "F")
+      if (reg.left_string (1) == "F")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 1.5 PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
-      if (reg.left_str (2) == "EE")
+      if (reg.left_string (2) == "EE")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 0.5 PT, Y_AXIS);
@@ -439,55 +439,55 @@ Lookup::accordion (SCM s, Real staff_spa
 	  m.add_molecule (d);
 	  d.translate_axis (-0.8 * staff_space PT, X_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-2);
+	  reg = reg.right_string (reg.length ()-2);
 	}
-      if (reg.left_str (1) == "E")
+      if (reg.left_string (1) == "E")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 0.5 PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
     }
   else if (sym == "Stdbase")
     {
       Molecule r = fm->find_by_name ("accordion-accStdbase");
       m.add_molecule (r);
-      if (reg.left_str (1) == "T")
+      if (reg.left_string (1) == "T")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 3.5 PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
-      if (reg.left_str (1) == "F")
+      if (reg.left_string (1) == "F")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 2.5 PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
-      if (reg.left_str (1) == "M")
+      if (reg.left_string (1) == "M")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 2 PT, Y_AXIS);
 	  d.translate_axis (staff_space PT, X_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
-      if (reg.left_str (1) == "E")
+      if (reg.left_string (1) == "E")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 1.5 PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
-      if (reg.left_str (1) == "S")
+      if (reg.left_string (1) == "S")
 	{
 	  Molecule d = fm->find_by_name ("accordion-accDot");
 	  d.translate_axis (staff_space * 0.5 PT, Y_AXIS);
 	  m.add_molecule (d);
-	  reg = reg.right_str (reg.length_i ()-1);
+	  reg = reg.right_string (reg.length ()-1);
 	}
     }
   /* ugh maybe try to use regular font for S.B. and B.B and only use one font
@@ -564,7 +564,7 @@ may be negative. The thickness is given 
   SCM_ASSERT_TYPE(ly_axis_p (a), a, SCM_ARG1, __FUNCTION__, "axis") ;
   SCM_ASSERT_TYPE(ly_number_pair_p (iv), iv, SCM_ARG2, __FUNCTION__, "number pair") ;
   SCM_ASSERT_TYPE(gh_number_p (t), a, SCM_ARG3, __FUNCTION__, "number") ;
-  SCM_ASSERT_TYPE(gh_number_p(p), a, SCM_ARG4, __FUNCTION__, "number") ;
+  SCM_ASSERT_TYPE(gh_number_p (p), a, SCM_ARG4, __FUNCTION__, "number") ;
 
 
   return Lookup::bracket ((Axis)gh_scm2int (a), ly_scm2interval (iv),
diff -purN ../lilypond-1.5.69/lily/lyric-combine-music-iterator.cc ./lily/lyric-combine-music-iterator.cc
--- ../lilypond-1.5.69/lily/lyric-combine-music-iterator.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/lyric-combine-music-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -35,31 +35,31 @@ Lyric_combine_music_iterator::Lyric_comb
   melisma_start_req->set_span_dir (START);
   melisma_stop_req->set_span_dir (STOP);
   
-  music_iter_p_ =0;
-  lyric_iter_p_ =0;
+  music_iter_ =0;
+  lyric_iter_ =0;
 }
 
 Moment
 Lyric_combine_music_iterator::pending_moment () const
 {
-  Moment musnext = music_iter_p_->pending_moment ();
+  Moment musnext = music_iter_->pending_moment ();
   return musnext;
 }
 
 bool
 Lyric_combine_music_iterator::ok () const
 {
-  return music_iter_p_->ok ();
+  return music_iter_->ok ();
 }
 
 
 void
 Lyric_combine_music_iterator::construct_children ()
 {
-  Lyric_combine_music const * m = dynamic_cast<Lyric_combine_music const*> (music_l ());
+  Lyric_combine_music const * m = dynamic_cast<Lyric_combine_music const*> (get_music ());
   
-  music_iter_p_ = get_iterator_p (m->music_l ());
-  lyric_iter_p_ = get_iterator_p (m->lyrics_l ());
+  music_iter_ = get_iterator (m->get_music ());
+  lyric_iter_ = get_iterator (m->get_lyrics ());
 }
 
 bool
@@ -72,7 +72,7 @@ Lyric_combine_music_iterator::get_busy_s
   if (try_music (busy_req))
     return true;
   
-  Translator_group * tr = music_iter_p_->report_to_l ();
+  Translator_group * tr = music_iter_->report_to ();
 
   SCM grobs = tr->get_property ("busyGrobs");
   Moment now = tr->now_mom();
@@ -96,29 +96,29 @@ Lyric_combine_music_iterator::get_busy_s
 void
 Lyric_combine_music_iterator::process (Moment m)
 {
-  Moment my_next = music_iter_p_->pending_moment ();
+  Moment my_next = music_iter_->pending_moment ();
   if (my_next > m)
     return;
   
-  music_iter_p_->process (m);
+  music_iter_->process (m);
 
   if ( get_busy_status ())
     {
       bool melisma_b = try_music (melisma_playing_req);
       if (!melisma_b)
 	{
-	  if (lyric_iter_p_->ok ())
+	  if (lyric_iter_->ok ())
 	    {
 	      // FIXME
 #if 0				// devise a new way for this
 	      if (melisma_b && !melisma_started_b_)
-		lyric_iter_p_->try_music (melisma_start_req);
+		lyric_iter_->try_music (melisma_start_req);
 	      else if (melisma_started_b_)
-		lyric_iter_p_->try_music (melisma_stop_req);
+		lyric_iter_->try_music (melisma_stop_req);
 #endif
 	      
-	      Moment m= lyric_iter_p_->pending_moment ();
-	      lyric_iter_p_->process (m);
+	      Moment m= lyric_iter_->pending_moment ();
+	      lyric_iter_->process (m);
 	    }
 	}
     }
@@ -127,25 +127,25 @@ Lyric_combine_music_iterator::process (M
 
 Lyric_combine_music_iterator::~Lyric_combine_music_iterator ()
 {
-  delete lyric_iter_p_;
-  delete music_iter_p_;
+  delete lyric_iter_;
+  delete music_iter_;
 }
 
 Lyric_combine_music_iterator::Lyric_combine_music_iterator (Lyric_combine_music_iterator const & src)
     : Music_iterator (src)
 {
-  lyric_iter_p_ = src.lyric_iter_p_ ? src.lyric_iter_p_->clone () : 0;
-  music_iter_p_ = src.music_iter_p_ ? src.music_iter_p_->clone () : 0;  
+  lyric_iter_ = src.lyric_iter_ ? src.lyric_iter_->clone () : 0;
+  music_iter_ = src.music_iter_ ? src.music_iter_->clone () : 0;  
 }
 
 Music_iterator*
 Lyric_combine_music_iterator::try_music_in_children (Music *m) const
 {
-  Music_iterator * i =  music_iter_p_->try_music (m);
+  Music_iterator * i =  music_iter_->try_music (m);
   if (i)
     return i;
   else
-    return lyric_iter_p_->try_music (m);
+    return lyric_iter_->try_music (m);
 }
 
 
diff -purN ../lilypond-1.5.69/lily/lyric-combine-music.cc ./lily/lyric-combine-music.cc
--- ../lilypond-1.5.69/lily/lyric-combine-music.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/lyric-combine-music.cc	Fri Jul 26 12:26:59 2002
@@ -22,34 +22,34 @@ Lyric_combine_music::Lyric_combine_music
 void
 Lyric_combine_music::transpose (Pitch p)
 {
-  music_l ()->transpose (p);
-  lyrics_l () ->transpose (p);
+  get_music ()->transpose (p);
+  get_lyrics () ->transpose (p);
 }
 
 
 Moment
 Lyric_combine_music::length_mom () const
 {
-  return music_l ()->length_mom ();
+  return get_music ()->length_mom ();
 }
 
 Pitch
 Lyric_combine_music::to_relative_octave (Pitch p)
 {
-  p = music_l ()->to_relative_octave (p);
-  return lyrics_l () ->to_relative_octave (p);
+  p = get_music ()->to_relative_octave (p);
+  return get_lyrics () ->to_relative_octave (p);
 }
 
 void
 Lyric_combine_music::compress (Moment m)
 {
-  music_l ()->compress (m);
+  get_music ()->compress (m);
 }
 
 
 
 Music*
-Lyric_combine_music::music_l () const
+Lyric_combine_music::get_music () const
 {
   SCM l = get_mus_property ("elements");
   if (!gh_pair_p (l))
@@ -59,7 +59,7 @@ Lyric_combine_music::music_l () const
 
 
 Music*
-Lyric_combine_music::lyrics_l () const
+Lyric_combine_music::get_lyrics () const
 {
   SCM l = get_mus_property ("elements");
   if (!gh_pair_p (l))
diff -purN ../lilypond-1.5.69/lily/lyric-engraver.cc ./lily/lyric-engraver.cc
--- ../lilypond-1.5.69/lily/lyric-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/lyric-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -29,8 +29,8 @@ protected:
 public:
   TRANSLATOR_DECLARATIONS(Lyric_engraver);
 private:
-  Lyric_req * req_l_;
-  Item* text_p_;
+  Lyric_req * req_;
+  Item* text_;
 };
 
 
@@ -38,8 +38,8 @@ private:
 
 Lyric_engraver::Lyric_engraver ()
 {
-  text_p_ =0;
-  req_l_ =0;
+  text_ =0;
+  req_ =0;
 }
 
 bool
@@ -47,9 +47,9 @@ Lyric_engraver::try_music (Music*r)
 {
   if (Lyric_req* l = dynamic_cast <Lyric_req *> (r))
     {
-      if (req_l_)
+      if (req_)
 	return false;
-      req_l_ =l;
+      req_ =l;
       return true;
     }
   return false;
@@ -58,11 +58,11 @@ Lyric_engraver::try_music (Music*r)
 void
 Lyric_engraver::process_acknowledged_grobs ()
 {
-  if (req_l_)
+  if (req_)
     {
-      text_p_=  new Item (get_property ("LyricText"));
+      text_=  new Item (get_property ("LyricText"));
       
-      text_p_->set_grob_property ("text", req_l_->get_mus_property ("text"));
+      text_->set_grob_property ("text", req_->get_mus_property ("text"));
 
       /*
 	We can't reach the notehead where we're centered from here. So
@@ -71,27 +71,27 @@ Lyric_engraver::process_acknowledged_gro
  (UGH UGH, pulled amount of space out of thin air)
       */
       
-      text_p_->translate_axis (0.66, X_AXIS);
+      text_->translate_axis (0.66, X_AXIS);
       
-      announce_grob(text_p_, req_l_->self_scm());
-      req_l_ = 0;
+      announce_grob(text_, req_->self_scm());
+      req_ = 0;
     }
 }
 
 void
 Lyric_engraver::stop_translation_timestep ()
 {
-  if (text_p_)
+  if (text_)
     {
-      typeset_grob (text_p_);
-      text_p_ =0;
+      typeset_grob (text_);
+      text_ =0;
     }
 }
 
 void
 Lyric_engraver::start_translation_timestep ()
 {
-  req_l_ =0;
+  req_ =0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/lyric-extender.cc ./lily/lyric-extender.cc
--- ../lilypond-1.5.69/lily/lyric-extender.cc	Mon Jul 22 12:21:58 2002
+++ ./lily/lyric-extender.cc	Fri Jul 26 12:26:59 2002
@@ -26,7 +26,7 @@ Lyric_extender::brew_molecule (SCM smob)
   
   Real leftext = l->extent (l, X_AXIS).length ();
 
-  Real sl = sp->paper_l ()->get_var ("linethickness");  
+  Real sl = sp->get_paper ()->get_var ("linethickness");  
   Real righttrim = 0.5; // default to half a space gap on the right
 
 
diff -purN ../lilypond-1.5.69/lily/lyric-performer.cc ./lily/lyric-performer.cc
--- ../lilypond-1.5.69/lily/lyric-performer.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/lyric-performer.cc	Fri Jul 26 12:26:59 2002
@@ -17,13 +17,13 @@ public:
   TRANSLATOR_DECLARATIONS(Lyric_performer);
 protected:
 
-  virtual bool try_music (Music* req_l);
+  virtual bool try_music (Music* req);
   virtual void stop_translation_timestep ();
   virtual void create_audio_elements ();
 
 private:
-  Link_array<Lyric_req> lreq_arr_;
-  Audio_text* audio_p_;
+  Link_array<Lyric_req> lreqs_;
+  Audio_text* audio_;
 };
 
 
@@ -31,7 +31,7 @@ private:
 
 Lyric_performer::Lyric_performer ()
 {
-  audio_p_ = 0;
+  audio_ = 0;
 }
 
 
@@ -39,35 +39,35 @@ void
 Lyric_performer::create_audio_elements ()
 {
   // FIXME: won't work with fancy lyrics
-  if (lreq_arr_.size ()
-      && gh_string_p (lreq_arr_[0]->get_mus_property ("text"))
-      && ly_scm2string (lreq_arr_[0]->get_mus_property ("text")).length_i ())
+  if (lreqs_.size ()
+      && gh_string_p (lreqs_[0]->get_mus_property ("text"))
+      && ly_scm2string (lreqs_[0]->get_mus_property ("text")).length ())
     {
-      audio_p_ = new Audio_text (Audio_text::LYRIC,
-				 ly_scm2string (lreq_arr_[0]->get_mus_property ("text")));
-      Audio_element_info info (audio_p_, lreq_arr_[0]);
+      audio_ = new Audio_text (Audio_text::LYRIC,
+				 ly_scm2string (lreqs_[0]->get_mus_property ("text")));
+      Audio_element_info info (audio_, lreqs_[0]);
       announce_element (info);
     }
-  lreq_arr_.clear ();
+  lreqs_.clear ();
 }
 
 void
 Lyric_performer::stop_translation_timestep ()
 {
-  if (audio_p_)
+  if (audio_)
     {
-      play_element (audio_p_);
-      audio_p_ = 0;
+      play_element (audio_);
+      audio_ = 0;
     }
-  lreq_arr_.clear ();
+  lreqs_.clear ();
 }
 
 bool
-Lyric_performer::try_music (Music* req_l)
+Lyric_performer::try_music (Music* req)
 {
-  if (Lyric_req *lr = dynamic_cast <Lyric_req *> (req_l))
+  if (Lyric_req *lr = dynamic_cast <Lyric_req *> (req))
     {
-      lreq_arr_.push (lr);
+      lreqs_.push (lr);
       return true;
     }
   return false;
diff -purN ../lilypond-1.5.69/lily/lyric-phrasing-engraver.cc ./lily/lyric-phrasing-engraver.cc
--- ../lilypond-1.5.69/lily/lyric-phrasing-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/lyric-phrasing-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -79,7 +79,7 @@ String trim_suffix (String &id);
 Lyric_phrasing_engraver::Lyric_phrasing_engraver ()
 {
   voice_alist_ = SCM_EOL;
-  any_notehead_l_ = 0;
+  any_notehead_ = 0;
 }
 
 Lyric_phrasing_engraver::~Lyric_phrasing_engraver ()
@@ -103,7 +103,7 @@ Lyric_phrasing_engraver::finalize ()
 Syllable_group * 
 Lyric_phrasing_engraver::lookup_context_id (const String &context_id)
 {
-  SCM key = ly_str02scm (context_id.ch_C ());
+  SCM key = ly_str02scm (context_id.to_str0 ());
   if (! gh_null_p (voice_alist_))
     {
       SCM s = scm_assoc (key, voice_alist_);
@@ -138,8 +138,8 @@ Lyric_phrasing_engraver::record_notehead
 {
   Syllable_group * v = lookup_context_id (context_id);
   v->set_notehead (notehead);
-  if (!any_notehead_l_)
-    any_notehead_l_ = notehead;
+  if (!any_notehead_)
+    any_notehead_ = notehead;
 }
   
 void 
@@ -152,7 +152,7 @@ Lyric_phrasing_engraver::record_lyric (c
 void 
 Lyric_phrasing_engraver::record_extender (const String &context_id, Grob * extender)
 {
-  SCM key = ly_str02scm (context_id.ch_C ());
+  SCM key = ly_str02scm (context_id.to_str0 ());
   if (! gh_null_p (voice_alist_))
     {
       SCM s = scm_assoc (key, voice_alist_);
@@ -185,18 +185,18 @@ Lyric_phrasing_engraver::acknowledge_gro
     return;
 
 
-  Grob *h = i.grob_l_;
+  Grob *h = i.grob_;
 
   if (Note_head::has_interface (h))
     {
       /* caught a note head ... do something with it */
 
       /* what's its Voice context name? */
-      String voice_context_id = get_context_id (i.origin_trans_l_->daddy_trans_l_, "Voice");
+      String voice_context_id = get_context_id (i.origin_trans_->daddy_trans_, "Voice");
       record_notehead (voice_context_id, h);
 
       /* is it in a melisma ? */
-      if (to_boolean (i.origin_trans_l_->get_property ("melismaEngraverBusy")))
+      if (to_boolean (i.origin_trans_->get_property ("melismaEngraverBusy")))
 	{
 	  record_melisma (voice_context_id);
 	}
@@ -209,13 +209,13 @@ Lyric_phrasing_engraver::acknowledge_gro
 
       /* what's its LyricsVoice context name? */
       String voice_context_id;
-      SCM voice_context_scm = i.origin_trans_l_->get_property ("associatedVoice");
+      SCM voice_context_scm = i.origin_trans_->get_property ("associatedVoice");
       if (gh_string_p (voice_context_scm))
 	{
 	  voice_context_id = ly_scm2string (voice_context_scm);
 	}
       else {
-	voice_context_id = get_context_id (i.origin_trans_l_->daddy_trans_l_, "LyricsVoice");
+	voice_context_id = get_context_id (i.origin_trans_->daddy_trans_, "LyricsVoice");
 	voice_context_id = trim_suffix (voice_context_id);
       }
       record_lyric (voice_context_id, h);
@@ -237,7 +237,7 @@ Lyric_phrasing_engraver::acknowledge_gro
   */
   if (h->internal_has_interface (ly_symbol2scm ("lyric-extender-interface")))
     {
-      String voice_context_id = get_context_id (i.origin_trans_l_->daddy_trans_l_, "LyricsVoice");
+      String voice_context_id = get_context_id (i.origin_trans_->daddy_trans_, "LyricsVoice");
       record_extender (trim_suffix (voice_context_id), h);
       return;
     }
@@ -246,14 +246,14 @@ Lyric_phrasing_engraver::acknowledge_gro
 String 
 get_context_id (Translator_group * ancestor, const char *type)
 {
-  while (ancestor != 0 && ancestor->type_str_ != type)
+  while (ancestor != 0 && ancestor->type_string_ != type)
     {
-      ancestor = ancestor->daddy_trans_l_;
+      ancestor = ancestor->daddy_trans_;
     }
 
   if (ancestor != 0)
     {
-      return ancestor->id_str_;
+      return ancestor->id_string_;
     }
 
   return "";
@@ -262,10 +262,10 @@ get_context_id (Translator_group * ances
 String 
 trim_suffix (String &id)
 {
-  int index = id.index_i ('-');
+  int index = id.index ('-');
   if (index >= 0)
     {
-      return id.left_str (index);
+      return id.left_string (index);
     }
   return id;
 }
@@ -297,7 +297,7 @@ Lyric_phrasing_engraver::process_acknowl
 	  /*
 	    TODO: give context for warning.
 	  */
-	  if (! entry->set_lyric_align (punc.ch_C (), any_notehead_l_))
+	  if (! entry->set_lyric_align (punc.to_str0 (), any_notehead_))
 	    warning (_ ("lyrics found without any matching notehead"));
 
 	  // is this note melismatic? If so adjust alignment of previous one.
@@ -338,7 +338,7 @@ Lyric_phrasing_engraver::stop_translatio
 	}
       entry->next_lyric ();
     }
-  any_notehead_l_ = 0;
+  any_notehead_ = 0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/main.cc ./lily/main.cc
--- ../lilypond-1.5.69/lily/main.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/main.cc	Fri Jul 26 12:26:59 2002
@@ -79,7 +79,7 @@ String init_scheme_code_string = "(begin
  */
 
 
-All_font_metrics *all_fonts_global_p;
+All_font_metrics *all_fonts_global;
 int exit_status_global;
 File_path global_path;
 
@@ -109,7 +109,7 @@ static Long_option_init options_static[]
   {_i ("EXPR"), "evaluate", 'e',_i ("Scheme options: try -e \"(set-lily-option 'help 0)\" for more help.")},
   /* another bug in option parser: --output=foe is taken as an abbreviation
      for --output-format */
-  {_i ("EXT"), "format", 'f',  _i ("use output format EXT (tex [default], pdftex, ps, scm or as)")},
+  {_i ("EXT"), "format", 'f',  _i ("use output format EXT")},
   {0, "help", 'h',  _i ("this help")},
   {_i ("FIELD"), "header", 'H',  _i ("write header field to BASENAME.FIELD")},
   {_i ("DIR"), "include", 'I',  _i ("add DIR to search path")},
@@ -131,48 +131,48 @@ static Long_option_init options_static[]
 };
 
 void
-identify (FILE* os)
+identify (FILE *out)
 {
-  fputs(gnu_lilypond_version_str ().ch_C(), os);
+  fputs (gnu_lilypond_version_string ().to_str0 (), out);
+}
+
+void
+dirinfo (FILE *out)
+{
+  fputs ("\n", out);
+  fprintf (out, "lilypond_datadir: `%s'\n", LILYPOND_DATADIR);
+  fprintf (out, "local_lilypond_datadir: `%s'\n", LOCAL_LILYPOND_DATADIR);
+  fprintf (out, "localedir: `%s'\n", LOCALEDIR);
+
+  char *lilypond_prefix = getenv ("LILYPONDPREFIX");
+  fprintf (out, "LILYPONDPREFIX: `%s'\n",
+	   (lilypond_prefix ? lilypond_prefix : ""));
 }
 
 void
 usage ()
 {
-  
-  /*
-    No version number or newline here. It confuses help2man
-   */
-  std::cout << _f ("Usage: %s [OPTION]... FILE...", "lilypond").ch_C();
+  std::cout << "\n";
+  /* No version number or newline here. It confuses help2man.  */
+  std::cout << _f ("Usage: %s [OPTION]... FILE...", "lilypond").to_str0 ();
   std::cout << "\n\n";
-  std::cout << _ ("Typeset music and or play MIDI from FILE").ch_C();
+  std::cout << _ ("Typeset music and or play MIDI from FILE").to_str0 ();
   std::cout << "\n\n";
   std::cout << 
 _ (
 "LilyPond is a music typesetter.  It produces beautiful sheet music\n"
 "using a high level description file as input.  LilyPond is part of \n"
 "the GNU Project.\n"
-).ch_C();
+).to_str0 ();
 
   std::cout << '\n';
-  std::cout << _ ("Options:").ch_C();
+  std::cout << _ ("Options:").to_str0 ();
   std::cout << '\n';
-  std::cout << Long_option_init::table_str (options_static).ch_C();
+  std::cout << Long_option_init::table_string (options_static).to_str0 ();
   std::cout << '\n';
-  std::cout << _ ("This binary was compiled with the following options:") .ch_C()
-    << " " <<
-#ifdef NDEBUG
-    "NDEBUG "
-#endif
-    "\n"
-    "datadir: `" DIR_DATADIR "'\n"
-    "localedir: `" DIR_LOCALEDIR "'\n"
-    "\n";
-
-
   std::cout << std::endl;
 
-  std::cout << _f ("Report bugs to %s", "bug-lilypond@gnu.org").ch_C() << std::endl;
+  std::cout << _f ("Report bugs to %s", "bug-lilypond@gnu.org").to_str0 () << std::endl;
 }
 
 void
@@ -184,10 +184,10 @@ version ()
   "This is free software.  It is covered by the GNU General Public License,\n"
   "and you are welcome to change it and/or distribute copies of it under\n"
   "certain conditions.  Invoke as `%s --warranty' for more information.\n",
-    "lilypond").ch_C();
+    "lilypond").to_str0 ();
   std::cout << std::endl;
 
-  std::cout << _f ("Copyright (c) %s by", "1996--2002").ch_C();
+  std::cout << _f ("Copyright (c) %s by", "1996--2002").to_str0 ();
   std::cout << '\n';
   std::cout << "  Han-Wen Nienhuys <hanwen@cs.uu.nl>\n";
   std::cout << "  Jan Nieuwenhuizen <janneke@gnu.org>\n";
@@ -197,9 +197,9 @@ void
 notice ()
 {
   std::cout << '\n';
-  std::cout << _ ("GNU LilyPond -- The music typesetter").ch_C();
+  std::cout << _ ("GNU LilyPond -- The music typesetter").to_str0 ();
   std::cout << '\n';
-  std::cout << _f ("Copyright (c) %s by", "1996--2002").ch_C();
+  std::cout << _f ("Copyright (c) %s by", "1996--2002").to_str0 ();
   std::cout << '\n';
   std::cout << "  Han-Wen Nienhuys <hanwen@cs.uu.nl>\n";
   std::cout << "  Jan Nieuwenhuizen <janneke@gnu.org>\n";
@@ -217,19 +217,20 @@ notice ()
 	     "    You should have received a copy (refer to the file COPYING) of the\n"
 	     "GNU General Public License along with this program; if not, write to\n"
 	     "the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
-	     "USA.\n").ch_C();
+	     "USA.\n").to_str0 ();
 }
 
-String prefix_directory;
+
+/* Where LilyPond's init files live.  Typically:
+   LILYPOND_DATADIR = /usr/local/share/lilypond
+   LOCAL_LILYPOND_DATADIR = /usr/local/share/lilypond/1.5.68 */
+char const *prefix_directory[2] = {LILYPOND_DATADIR, LOCAL_LILYPOND_DATADIR};
 
 void
 setup_paths ()
 {
-  // facilitate binary distributions
-  char const *env_lily = getenv ("LILYPONDPREFIX");
-
-  if (env_lily)
-    prefix_directory = env_lily;
+  if (char const *lilypond_prefix = getenv ("LILYPONDPREFIX"))
+    prefix_directory[1] = lilypond_prefix;
 
 #if HAVE_GETTEXT
   setlocale (LC_ALL, ""); /* enable locales */
@@ -242,14 +243,14 @@ setup_paths ()
     urg; what *do* we want with $LILYPONDPREFIX, DIR_DATADIR and $prefix/share
     handy for multiple source-dir runs, though...
    */
-  if (!prefix_directory.empty_b ())
+  if (!String (prefix_directory[0]).empty_b ())
     {
-      lily_locale_dir = prefix_directory + "/share/locale";
-      bindtextdomain (name.ch_C (), lily_locale_dir.ch_C ());
+      lily_locale_dir = String (prefix_directory[0]) + "/share/locale";
+      bindtextdomain (name.to_str0 (), lily_locale_dir.to_str0 ());
     }
   else
-    bindtextdomain (name.ch_C (), DIR_LOCALEDIR);
-  textdomain (name.ch_C ());
+    bindtextdomain (name.to_str0 (), LOCALEDIR);
+  textdomain (name.to_str0 ());
 #endif
 
   global_path.add ("");
@@ -259,22 +260,22 @@ setup_paths ()
      LILYPONDPREFIX to lilypond-x.y.z */
   char *suffixes[] = {"ly", "afm", "mf/out", "scm", "tfm", "ps", 0};
 
-  if (prefix_directory.empty_b ())
-    prefix_directory =  DIR_DATADIR;
-  for (char **s = suffixes; *s; s++)
-    {
-      String p =  prefix_directory + to_str ('/') + String (*s);
-      global_path.add (p);
-
+  for (unsigned i = 0; i < sizeof (prefix_directory)
+	 / sizeof (*prefix_directory); i++)
+    for (char **s = suffixes; *s; s++)
+      {
+	String p = prefix_directory[i] + to_string ('/') + String (*s);
+	global_path.add (p);
+	
 #if !KPATHSEA
-      /* Urg: GNU make's $ (word) index starts at 1 */
-      int i  = 1;
-      while (global_path.try_add (p + to_str (".") + to_str (i)))
-	i++;
+	/* Urg: GNU make's $ (word) index starts at 1 */
+	int i  = 1;
+	while (global_path.try_add (p + to_string (".") + to_string (i)))
+	  i++;
 #endif
-    }
-}
-
+      }
+  }
+  
 /**
   Make input file name from command argument.
 
@@ -297,11 +298,11 @@ distill_inname (String str)
 	  if (*extensions[i] && !p.ext.empty_b ())
 	    p.ext += ".";
 	  p.ext += extensions[i];
-	  if (!global_path.find (p.str ()).empty_b ())
+	  if (!global_path.find (p.string ()).empty_b ())
 	      break;
 	}
       /* Reshuffle extension */
-      p = split_path (p.str ());
+      p = split_path (p.string ());
     }
   return p;
 }
@@ -316,26 +317,40 @@ format_to_ext (String format)
 }
 
 void
-main_prog (void * , int, char**)
+prepend_load_path (String dir)
 {
-  /*
-    need to do this first. Engravers use lily.scm contents.
-   */
-  
-  /*
-    prepend onto GUILE  loadpath.
-
-    Very ugh.
-   */
+  String s = "(set! %load-path (cons \""
+    + dir
+    + "\" %load-path))";
+  scm_c_eval_string (s.to_str0 ());
+}
 
-  init_lily_guile (prefix_directory);
+void
+main_prog (void *, int, char **)
+{
+  /* Engravers use lily.scm contents, need to make Guile find it.
+     Prepend onto GUILE %load-path, very ugh. */
+     
+  for (unsigned i = 0; i < sizeof (prefix_directory)
+	 / sizeof (*prefix_directory); i++)
+    {
+      prepend_load_path (prefix_directory[i]);
+      /* Junk this.  We should make real modules iso. just loading files. */
+      prepend_load_path (String (prefix_directory[i]) + "/scm");
+    }
+      
+  if (verbose_global_b)
+    dirinfo (stderr);
+  
+  ly_init_guile ();
+  
   std::cout << std::endl;
 
   call_constructors ();
-  all_fonts_global_p = new All_font_metrics (global_path.str ());
+  all_fonts_global = new All_font_metrics (global_path.string ());
 
   init_scheme_code_string += ")";
-  gh_eval_str ((char *)init_scheme_code_string.ch_C());
+  gh_eval_str ((char *)init_scheme_code_string.to_str0 ());
   
   int p=0;
   const char *arg  = oparser_p_static->get_next_arg ();
@@ -346,28 +361,18 @@ main_prog (void * , int, char**)
       /* No FILE arguments is now a usage error */
       exit (2);
     }
-  else
-    do 
+  
+  do
     {
       String infile (arg);
-      	
-      /* What/when was this supposed to do?
-       It looks like it reset the outname_str_global for every new
-       file, but only if user didn't specify a outname?  Huh?
-
-       // if (outname_str_global == "")
-
-      */
-      {
-	Midi_def::reset_score_count ();
-	Paper_def::reset_score_count ();
-      }
+      Midi_def::reset_score_count ();
+      Paper_def::reset_score_count ();
 
       Path inpath = distill_inname (infile);
 
       /* By default, use base name of input file for output file name */
       Path outpath = inpath;
-      if (inpath.str () != "-")
+      if (inpath.string () != "-")
 	outpath.ext = format_to_ext (output_format_global);
 
       /* By default, write output to cwd; do not copy directory part
@@ -388,8 +393,8 @@ main_prog (void * , int, char**)
 	
       /* Burp: output name communication goes through _global */
       String save_output_name_global = output_name_global;
-      output_name_global = outpath.str ();
-      do_one_file (init, inpath.str ());
+      output_name_global = outpath.string ();
+      do_one_file (init, inpath.string ());
       output_name_global = save_output_name_global;
       
       p++;
@@ -404,7 +409,7 @@ static int
 sane_putenv (char const* key, char const* value, bool overwrite)
 {
   if (overwrite || !getenv (key))
-    return putenv ((char*)((String (key) + "=" + value).ch_C ()));
+    return putenv ((char*)((String (key) + "=" + value).to_str0 ()));
   return -1;
 }
 
@@ -428,11 +433,12 @@ main (int argc, char **argv)
   sane_putenv ("GUILE_MAX_SEGMENT_SIZE", "8388608", false);
 
   ly_init_kpath (argv[0]);
-  
+
+  bool help_b = false;
   oparser_p_static = new Getopt_long (argc, argv, options_static);
   while (Long_option_init const * opt = (*oparser_p_static) ())
     {
-      switch (opt->shortname_ch_)
+      switch (opt->shortname_char_)
 	{
 	case 'v':
 	  version ();
@@ -440,39 +446,45 @@ main (int argc, char **argv)
 	  break;
 	case 'o':
 	  {
-	    String s = oparser_p_static->optional_argument_ch_C_;
+	    String s = oparser_p_static->optional_argument_str0_;
 	    Path p = split_path (s);
 	    if (s != "-" && p.ext.empty_b ())
 	      p.ext = format_to_ext (output_format_global);
-	    output_name_global = p.str ();
+	    output_name_global = p.string ();
 	  }
 	  break;
 	case 'e':
 	  init_scheme_code_string +=
-	    oparser_p_static->optional_argument_ch_C_;
+	    oparser_p_static->optional_argument_str0_;
 	  break;
 	case 'w':
 	  notice ();
 	  exit (0);
 	  break;
 	case 'f':
-	    output_format_global = oparser_p_static->optional_argument_ch_C_;
+	  if (output_name_global == "help")
+	    {
+	      cout << \
+		"See http://lilypond.org/wiki?OutputFormats for more information.\n"\
+		"This option is for developers only.\n";
+	      exit (0);
+	    }
+	  output_format_global = oparser_p_static->optional_argument_str0_;
 	  break;
 	case 'P':
-	    dependency_prefix_global = oparser_p_static->optional_argument_ch_C_;
+	    dependency_prefix_global = oparser_p_static->optional_argument_str0_;
 	  break;
 	case 'H':
-	  dump_header_fieldnames_global.push (oparser_p_static->optional_argument_ch_C_);
+	  dump_header_fieldnames_global.push (oparser_p_static->optional_argument_str0_);
 	  break;
 	case 'I':
-	  global_path.push (oparser_p_static->optional_argument_ch_C_);
+	  global_path.push (oparser_p_static->optional_argument_str0_);
 	  break;
 	case 'i':
-	  init_name_global = oparser_p_static->optional_argument_ch_C_;
+	  init_name_global = oparser_p_static->optional_argument_str0_;
 	  break;
 	case 'h':
-	  usage ();
-	  exit (0);
+	  help_b = true;
 	  break;
 	case 'V':
 	  verbose_global_b = true;
@@ -493,6 +505,14 @@ main (int argc, char **argv)
     }
   identify (stderr);
 
+  if (help_b)
+    {
+      usage ();
+      if (verbose_global_b)
+	dirinfo (stdout);
+      exit (0);
+    }
+
 #ifdef WINNT
   scm_boot_guile (argc, argv, main_prog, 0);
 #else
diff -purN ../lilypond-1.5.69/lily/mark-engraver.cc ./lily/mark-engraver.cc
--- ../lilypond-1.5.69/lily/mark-engraver.cc	Wed Jul 17 15:18:44 2002
+++ ./lily/mark-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -29,18 +29,18 @@ class Mark_engraver : public Engraver
 public:
   TRANSLATOR_DECLARATIONS(Mark_engraver);
 protected:
-  Item* text_p_;
+  Item* text_;
   
 protected:
   virtual void stop_translation_timestep ();
   virtual void acknowledge_grob (Grob_info);
   void create_items (Request*);
-  virtual bool try_music (Music *req_l);
+  virtual bool try_music (Music *req);
   virtual void start_translation_timestep ();
   virtual void process_music ();
   
 private:
-  Mark_req * mark_req_l_;
+  Mark_req * mark_req_;
 };
 
 
@@ -49,32 +49,32 @@ private:
 
 Mark_engraver::Mark_engraver ()
 {
-  text_p_ =0;
-  mark_req_l_ = 0;
+  text_ =0;
+  mark_req_ = 0;
 }
 
 void
 Mark_engraver::acknowledge_grob (Grob_info inf)
 {
-  Grob * s = inf.grob_l_;
-  if (text_p_ && Bar_line::has_interface (s))
+  Grob * s = inf.grob_;
+  if (text_ && Bar_line::has_interface (s))
     {
       /*
 	Ugh. Figure out how to do this right at beginning of line, (without
 	creating class Bar_script : public Item).
       */
-      text_p_->set_parent (s, X_AXIS);
+      text_->set_parent (s, X_AXIS);
     }
 }
 
 void 
 Mark_engraver::stop_translation_timestep ()
 {
-  if (text_p_)
+  if (text_)
     {
-      text_p_->set_grob_property ("side-support-elements" , get_property ("stavesFound"));
-      typeset_grob (text_p_);
-      text_p_ =0;
+      text_->set_grob_property ("side-support-elements" , get_property ("stavesFound"));
+      typeset_grob (text_);
+      text_ =0;
     }
 }
 
@@ -82,34 +82,34 @@ Mark_engraver::stop_translation_timestep
 void
 Mark_engraver::create_items (Request *rq)
 {
-  if (text_p_)
+  if (text_)
     return;
 
   SCM s = get_property ("RehearsalMark");
-  text_p_ = new Item (s);
+  text_ = new Item (s);
 
 
-  announce_grob(text_p_, rq->self_scm());
+  announce_grob(text_, rq->self_scm());
 }
 
 
 void
 Mark_engraver::start_translation_timestep ()
 {
-  mark_req_l_ = 0;
+  mark_req_ = 0;
 }
 
 
 bool
-Mark_engraver::try_music (Music* r_l)
+Mark_engraver::try_music (Music* r)
 {
-  if (Mark_req *mr = dynamic_cast <Mark_req *> (r_l))
+  if (Mark_req *mr = dynamic_cast <Mark_req *> (r))
     {
-      if (mark_req_l_ && mr->equal_b (mark_req_l_))
+      if (mark_req_ && mr->equal_b (mark_req_))
 	return true;
-      if (mark_req_l_)
+      if (mark_req_)
 	return false;
-      mark_req_l_ = mr;
+      mark_req_ = mr;
       return true;
     }
   return false;
@@ -124,9 +124,9 @@ Mark_engraver::try_music (Music* r_l)
 void
 Mark_engraver::process_music ()
 {
-  if (mark_req_l_)
+  if (mark_req_)
     {
-      create_items (mark_req_l_);
+      create_items (mark_req_);
 
       String t;
 
@@ -134,9 +134,9 @@ Mark_engraver::process_music ()
 	automatic marks.
        */
       
-      SCM m = mark_req_l_->get_mus_property ("label");
+      SCM m = mark_req_->get_mus_property ("label");
       if (gh_pair_p (m)) // markup text
-	text_p_->set_grob_property ("text",m);
+	text_->set_grob_property ("text",m);
       else 
 	{
 	  if (!gh_string_p (m) && !gh_number_p (m)) 
@@ -145,7 +145,7 @@ Mark_engraver::process_music ()
 	  if (gh_number_p (m))
 	    {
 	      int mark_count = gh_scm2int (m);
-	      t = to_str (mark_count);
+	      t = to_string (mark_count);
 	      mark_count ++;
 	      m = gh_int2scm (mark_count);
 	    }
@@ -153,26 +153,26 @@ Mark_engraver::process_music ()
 	    {
 	      t = ly_scm2string (m);
 	      String next;
-	      if (t.length_i ())
+	      if (t.length ())
 		{
 		  char c = t[0];
 		  c++;
-		  next = to_str (c);
+		  next = to_string (c);
 		}
-	      m = ly_str02scm (next.ch_C ());
+	      m = ly_str02scm (next.to_str0 ());
 	    }
 	  else
 	    {
 	      m = gh_int2scm (1);
 	    }
 	  
-	  daddy_trans_l_->set_property ("rehearsalMark", m);
+	  daddy_trans_->set_property ("rehearsalMark", m);
 	  
-	  text_p_->set_grob_property ("text",
-				      ly_str02scm (t.ch_C ()));
+	  text_->set_grob_property ("text",
+				      ly_str02scm (t.to_str0 ()));
 
 	  String style = "mark-number";
-	  for (int i=0; i < t.length_i (); i++)
+	  for (int i=0; i < t.length (); i++)
 	    {
 	      if (!isdigit (t[i])) 
 		{
@@ -180,8 +180,8 @@ Mark_engraver::process_music ()
 		  break;
 		}
 	    }
-	  SCM st = ly_symbol2scm (style.ch_C ());
-	  text_p_->set_grob_property ("font-style",  st);
+	  SCM st = ly_symbol2scm (style.to_str0 ());
+	  text_->set_grob_property ("font-style",  st);
 	}
 
     }
diff -purN ../lilypond-1.5.69/lily/melisma-engraver.cc ./lily/melisma-engraver.cc
--- ../lilypond-1.5.69/lily/melisma-engraver.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/melisma-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -39,11 +39,11 @@ Melisma_engraver::try_music (Music *m) 
 	  || (to_boolean (tie))
 	  || (to_boolean (beam))) {
 
-	daddy_trans_l_->set_property ("melismaEngraverBusy",SCM_BOOL_T);
+	daddy_trans_->set_property ("melismaEngraverBusy",SCM_BOOL_T);
 	return true;
       }
     }
-  daddy_trans_l_->set_property ("melismaEngraverBusy",SCM_BOOL_F);
+  daddy_trans_->set_property ("melismaEngraverBusy",SCM_BOOL_F);
   return false;
 }
 Melisma_engraver::Melisma_engraver()
diff -purN ../lilypond-1.5.69/lily/mensural-ligature-engraver.cc ./lily/mensural-ligature-engraver.cc
--- ../lilypond-1.5.69/lily/mensural-ligature-engraver.cc	Sun May 19 12:37:01 2002
+++ ./lily/mensural-ligature-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -69,7 +69,7 @@
  * implemented, such as a Vaticana_ligature_engraver.  There will be
  * redundant code between these engravers and the
  * Mensural_ligature_engraver.  In particular these are functions
- * set_column_l_, fold_up_primitives, join_primitives, and
+ * set_column_, fold_up_primitives, join_primitives, and
  * ackowledge_grob; further the code for handling accidentals.  It is
  * not appropriate to put these things into Ligature_engraver, since,
  * for example, Ligature_bracket_engraver does not share any of this
@@ -80,8 +80,8 @@
  */
 class Mensural_ligature_engraver : public Ligature_engraver
 {
-  Real distance_f_;
-  Array<Grob_info> primitives_arr_;
+  Real distance_;
+  Array<Grob_info> primitives_;
 
 protected:
   virtual void acknowledge_grob (Grob_info);
@@ -97,19 +97,19 @@ private:
   void propagate_properties ();
   void fold_up_primitives ();
   void join_primitives ();
-  void set_column_l (Item *item, Paper_column *new_col);
+  void get_set_column (Item *item, Paper_column *new_col);
 };
 
 
 Mensural_ligature_engraver::Mensural_ligature_engraver ()
 {
-  distance_f_ = 0;
+  distance_ = 0;
 }
 
 Spanner *
 Mensural_ligature_engraver::create_ligature_spanner ()
 {
-  distance_f_ = 0;
+  distance_ = 0;
   return new Spanner (get_property ("MensuralLigature"));
 }
 
@@ -117,7 +117,7 @@ Mensural_ligature_engraver::create_ligat
  * TODO: move this function to class Item?
  */
 void
-Mensural_ligature_engraver::set_column_l (Item *item, Paper_column *column)
+Mensural_ligature_engraver::get_set_column (Item *item, Paper_column *column)
 {
   Item *parent = dynamic_cast<Item*> (item->get_parent (X_AXIS));
   if (!parent)
@@ -127,18 +127,18 @@ Mensural_ligature_engraver::set_column_l
     }
 
   String name = parent->name ();
-  if (!String::compare_i (name, "PaperColumn"))
+  if (!String::compare (name, "PaperColumn"))
     {
       // Change column not only for targeted item (NoteColumn), but
       // also for all associated grobs (NoteSpacing, SeparationItem).
-      Grob *sl = Staff_symbol_referencer::staff_symbol_l (item);
+      Grob *sl = Staff_symbol_referencer::get_staff_symbol (item);
       for (SCM tail = parent->get_grob_property ("elements");
 	   gh_pair_p (tail);
 	   tail = ly_cdr (tail))
 	{
 	  Item *sibling = unsmob_item (ly_car (tail));
 	  if ((sibling) &&
-	      (Staff_symbol_referencer::staff_symbol_l (sibling) == sl))
+	      (Staff_symbol_referencer::get_staff_symbol (sibling) == sl))
 	    {
 	      sibling->set_parent (column, X_AXIS);
 	    }
@@ -146,7 +146,7 @@ Mensural_ligature_engraver::set_column_l
     }
   else
     {
-      set_column_l (parent, column);
+      get_set_column (parent, column);
     }
 }
 
@@ -265,11 +265,11 @@ Mensural_ligature_engraver::apply_transi
 {
   int output = transition_output[state][input];
   Item *last_last_primitive = (i > 1) ?
-    dynamic_cast<Item*> (primitives_arr_[i-2].grob_l_) : 0;
+    dynamic_cast<Item*> (primitives_[i-2].grob_) : 0;
   Item *last_primitive = (i > 0) ?
-    dynamic_cast<Item*> (primitives_arr_[i-1].grob_l_) : 0;
-  Item *primitive = (i < primitives_arr_.size ()) ?
-    dynamic_cast<Item*> (primitives_arr_[i].grob_l_) : 0;
+    dynamic_cast<Item*> (primitives_[i-1].grob_) : 0;
+  Item *primitive = (i < primitives_.size ()) ?
+    dynamic_cast<Item*> (primitives_[i].grob_) : 0;
   switch (output)
     {
       case MLP_NONE:
@@ -327,7 +327,7 @@ Mensural_ligature_engraver::apply_transi
 void
 Mensural_ligature_engraver::transform_heads ()
 {
-  if (primitives_arr_.size () < 2)
+  if (primitives_.size () < 2)
     {
       warning (_f ("ligature with less than 2 heads -> skipping"));
       return;
@@ -335,12 +335,12 @@ Mensural_ligature_engraver::transform_he
   int state = STATE_START;
   Pitch last_pitch, pitch;
   bool have_last_pitch = 0, have_pitch = 0;
-  for (int i = 0; i < primitives_arr_.size (); i++) {
+  for (int i = 0; i < primitives_.size (); i++) {
     last_pitch = pitch;
     have_last_pitch = have_pitch;
-    Grob_info info = primitives_arr_[i];
+    Grob_info info = primitives_[i];
     int duration_log =
-      Note_head::balltype_i (dynamic_cast<Item*> (info.grob_l_));
+      Note_head::get_balltype (dynamic_cast<Item*> (info.grob_));
     Note_req *nr = dynamic_cast<Note_req*> (info.music_cause ());
     if (!nr)
       {
@@ -389,7 +389,7 @@ Mensural_ligature_engraver::transform_he
     // TODO: if (state == STATE_ERROR) { ... }
   }
 
-  state = apply_transition (state, INPUT_AE, primitives_arr_.size ());
+  state = apply_transition (state, INPUT_AE, primitives_.size ());
   // TODO: if (state == STATE_ERROR) { ... }
 }
 
@@ -421,23 +421,23 @@ void
 Mensural_ligature_engraver::propagate_properties ()
 {
   SCM thickness_scm =
-    finished_ligature_p_->get_grob_property ("thickness");
+    finished_ligature_->get_grob_property ("thickness");
   Real thickness = (thickness_scm != SCM_EOL) ?
     gh_scm2double (thickness_scm) : 1.4;
-  thickness *= finished_ligature_p_->paper_l ()->get_var ("linethickness");
+  thickness *= finished_ligature_->get_paper ()->get_var ("linethickness");
 
   /*
    * FIXME: Since character "noteheads--1mensural" is defined in
    * parmesan font only, the right-hand expression in the
    * following assignment evaluates to a width of 0.0, in case
-   * font-family of finished_ligature_p_ is _not_ set to "ancient"
+   * font-family of finished_ligature_ is _not_ set to "ancient"
    * (by default, it is; see grob properties of MensuralLigature
    * in scm/grob-description.scm).  This may arise severe problems
    * in the future when switching between fonts (e.g. mensural
    * versus neo-mensural).
    */
   Real head_width =
-    Font_interface::get_default_font (finished_ligature_p_)->
+    Font_interface::get_default_font (finished_ligature_)->
     find_by_name ("noteheads--1mensural").extent (X_AXIS).length ();
   if (head_width == 0.0)
     {
@@ -445,16 +445,16 @@ Mensural_ligature_engraver::propagate_pr
     }
 
   SCM flexa_width_scm =
-    finished_ligature_p_->get_grob_property ("flexa-width");
+    finished_ligature_->get_grob_property ("flexa-width");
   Real flexa_width = (flexa_width_scm != SCM_EOL) ?
     gh_scm2double (flexa_width_scm) : 2.0;
-  flexa_width *= Staff_symbol_referencer::staff_space (finished_ligature_p_);
+  flexa_width *= Staff_symbol_referencer::staff_space (finished_ligature_);
 
   Real half_flexa_width = 0.5 * (flexa_width + thickness);
 
-  for (int i = 0; i < primitives_arr_.size (); i++)
+  for (int i = 0; i < primitives_.size (); i++)
     {
-      Item *primitive = dynamic_cast<Item*> (primitives_arr_[i].grob_l_);
+      Item *primitive = dynamic_cast<Item*> (primitives_[i].grob_);
       int output = gh_scm2int (primitive->get_grob_property ("primitive"));
       primitive->set_grob_property ("thickness",
 				    gh_double2scm (thickness));
@@ -477,7 +477,7 @@ Mensural_ligature_engraver::propagate_pr
 	  primitive->set_grob_property ("flexa-width",
 					gh_double2scm (flexa_width));
 	  set_delta_pitch (primitive,
-			   primitives_arr_[i], primitives_arr_[i+1]);
+			   primitives_[i], primitives_[i+1]);
 	  break;
 	default:
 	  programming_error (_f ("unexpected case fall-through"));
@@ -490,29 +490,29 @@ void
 Mensural_ligature_engraver::fold_up_primitives ()
 {
   Item *first = 0;
-  for (int i = 0; i < primitives_arr_.size (); i++)
+  for (int i = 0; i < primitives_.size (); i++)
     {
-      Item *current = dynamic_cast<Item*> (primitives_arr_[i].grob_l_);
+      Item *current = dynamic_cast<Item*> (primitives_[i].grob_);
       if (i == 0)
 	{
 	  first = current;
 	}
 
-      set_column_l (current, first->column_l ());
+      get_set_column (current, first->get_column ());
 
       if (i > 0)
 	{
 #if 0
 	  Rod r;
-	  r.distance_f_ = distance_f_;
+	  r.distance_ = distance_;
 	  r.item_l_drul_[LEFT] = first;
 	  r.item_l_drul_[RIGHT] = current;
 	  r.add_to_cols ();
 #endif
-	  current->translate_axis (distance_f_, X_AXIS);
+	  current->translate_axis (distance_, X_AXIS);
 	}
 
-      distance_f_ +=
+      distance_ +=
 	gh_scm2double (current->get_grob_property ("head-width")) -
 	gh_scm2double (current->get_grob_property ("thickness"));
     }
@@ -522,14 +522,14 @@ void
 Mensural_ligature_engraver::join_primitives ()
 {
   Pitch last_pitch;
-  for (int i = 0; i < primitives_arr_.size (); i++)
+  for (int i = 0; i < primitives_.size (); i++)
     {
-      Grob_info info = primitives_arr_[i];
+      Grob_info info = primitives_[i];
       Note_req *nr = dynamic_cast<Note_req*> (info.music_cause ());
       Pitch pitch = *unsmob_pitch (nr->get_mus_property ("pitch"));
       if (i > 0)
         {
-	  Item *primitive = dynamic_cast<Item*> (info.grob_l_);
+	  Item *primitive = dynamic_cast<Item*> (info.grob_);
 	  int output = gh_scm2int (primitive->get_grob_property ("primitive"));
 	  if (output & MLP_ANY)
 	    {
@@ -545,20 +545,20 @@ Mensural_ligature_engraver::join_primiti
 void
 Mensural_ligature_engraver::try_stop_ligature ()
 {
-  if (finished_ligature_p_)
+  if (finished_ligature_)
     {
       transform_heads ();
       propagate_properties ();
       fold_up_primitives ();
       join_primitives ();
 
-      for (int i = 0; i < primitives_arr_.size (); i++)
+      for (int i = 0; i < primitives_.size (); i++)
 	{
-	  typeset_grob (primitives_arr_[i].grob_l_);
+	  typeset_grob (primitives_[i].grob_);
 	}
 
-      primitives_arr_.clear ();
-      finished_ligature_p_ = 0;
+      primitives_.clear ();
+      finished_ligature_ = 0;
     }
 }
 
@@ -566,11 +566,11 @@ void
 Mensural_ligature_engraver::acknowledge_grob (Grob_info info)
 {
   Ligature_engraver::acknowledge_grob (info);
-  if (ligature_p_)
+  if (ligature_)
     {
-      if (Note_head::has_interface (info.grob_l_))
+      if (Note_head::has_interface (info.grob_))
 	{
-	  primitives_arr_.push (info);
+	  primitives_.push (info);
 	}
     }
 }
diff -purN ../lilypond-1.5.69/lily/mensural-ligature.cc ./lily/mensural-ligature.cc
--- ../lilypond-1.5.69/lily/mensural-ligature.cc	Sun May 19 02:06:24 2002
+++ ./lily/mensural-ligature.cc	Fri Jul 26 12:26:59 2002
@@ -150,7 +150,7 @@ internal_brew_primitive (Grob *me, bool 
       else
 	{
 	  programming_error (_f ("Mensural_ligature: thickness undefined on flexa %d; assuming 1.4", primitive));
-	  thickness = 1.4 * me->paper_l ()->get_var ("linethickness");
+	  thickness = 1.4 * me->get_paper ()->get_var ("linethickness");
 	}
     }
 
@@ -215,7 +215,7 @@ internal_brew_primitive (Grob *me, bool 
       int join_left = gh_scm2int (join_left_scm);
       if (!join_left)
 	programming_error (_f ("Menusral_ligature: (join_left == 0)"));
-      Real blotdiameter = (me->paper_l ()->get_var ("blotdiameter"));
+      Real blotdiameter = (me->get_paper ()->get_var ("blotdiameter"));
       Interval x_extent = Interval (0, thickness);
       Interval y_extent = (join_left > 0) ?
 	Interval (-join_left * 0.5 * staff_space, 0) :
@@ -227,7 +227,7 @@ internal_brew_primitive (Grob *me, bool 
       out.add_molecule (stem);
     }
 
-  int pos = (int)rint (Staff_symbol_referencer::position_f (me));
+  int pos = (int)rint (Staff_symbol_referencer::get_position (me));
   add_ledger_lines(me, &out, pos, 0, ledger_take_space);
   if (primitive & MLP_FLEXA)
     {
@@ -248,7 +248,7 @@ Mensural_ligature::brew_ligature_primiti
 
 MAKE_SCHEME_CALLBACK (Mensural_ligature, brew_molecule, 1);
 SCM
-Mensural_ligature::brew_molecule (SCM smob)
+Mensural_ligature::brew_molecule (SCM)
 {
   return SCM_EOL;
 }
diff -purN ../lilypond-1.5.69/lily/midi-def.cc ./lily/midi-def.cc
--- ../lilypond-1.5.69/lily/midi-def.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/midi-def.cc	Fri Jul 26 12:26:59 2002
@@ -20,7 +20,7 @@ Midi_def::Midi_def ()
 }
 
 int
-Midi_def::get_tempo_i (Moment one_beat_mom)
+Midi_def::get_tempo (Moment one_beat_mom)
 {
   SCM wis  = ly_symbol2scm ("whole-in-seconds");
   Moment *w = unsmob_moment (variable_tab_->get (wis));
@@ -50,16 +50,16 @@ Midi_def::set_tempo (Moment one_beat_mom
 }
 
 
-int Midi_def::score_count_i_=0;
+int Midi_def::score_count_=0;
 
 int
 Midi_def::get_next_score_count () const
 {
-  return score_count_i_++;
+  return score_count_++;
 }
 
 void
 Midi_def::reset_score_count ()
 {
-  score_count_i_ = 0;
+  score_count_ = 0;
 }
diff -purN ../lilypond-1.5.69/lily/midi-item.cc ./lily/midi-item.cc
--- ../lilypond-1.5.69/lily/midi-item.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/midi-item.cc	Fri Jul 26 12:26:59 2002
@@ -20,12 +20,12 @@
 #include "killing-cons.tcc"
 
 Midi_item*
-Midi_item::midi_p (Audio_item* a)
+Midi_item::get_midi (Audio_item* a)
 {
   if (Audio_key* i = dynamic_cast<Audio_key*> (a))
     return new Midi_key (i);
   else if (Audio_instrument* i = dynamic_cast<Audio_instrument*> (a))
-    return i->str_.length_i () ? new Midi_instrument (i) : 0;
+    return i->str_.length () ? new Midi_instrument (i) : 0;
   else if (Audio_note* i = dynamic_cast<Audio_note*> (a))
     return new Midi_note (i);
   else if (Audio_dynamic* i = dynamic_cast<Audio_dynamic*> (a))
@@ -37,7 +37,7 @@ Midi_item::midi_p (Audio_item* a)
   else if (Audio_time_signature* i = dynamic_cast<Audio_time_signature*> (a))
     return new Midi_time_signature (i);
   else if (Audio_text* i = dynamic_cast<Audio_text*> (a))
-    //return i->text_str_.length_i () ? new Midi_text (i) : 0;
+    //return i->text_string_.length () ? new Midi_text (i) : 0;
     return new Midi_text (i);
   else
     assert (0);
@@ -47,64 +47,64 @@ Midi_item::midi_p (Audio_item* a)
 }
 
 void
-Midi_chunk::set (String header_str, String data_str, String footer_str)
+Midi_chunk::set (String header_string, String data_string, String footer_string)
 {
-  data_str_ = data_str;
-  footer_str_ = footer_str;
-  header_str_ = header_str;
+  data_string_ = data_string;
+  footer_string_ = footer_string;
+  header_string_ = header_string;
 }
   
 String
-Midi_chunk::data_str () const
+Midi_chunk::data_string () const
 {
-  return data_str_;
+  return data_string_;
 }
 
 String
-Midi_chunk::str () const
+Midi_chunk::string () const
 {
-  String str = header_str_;
-  String dat = data_str ();
-  String length_str = String_convert::i2hex_str (dat.length_i () 
-    + footer_str_.length_i (), 8, '0');
-  length_str = String_convert::hex2bin_str (length_str);
-  str += length_str;
+  String str = header_string_;
+  String dat = data_string ();
+  String length_string = String_convert::int2hex (dat.length () 
+    + footer_string_.length (), 8, '0');
+  length_string = String_convert::hex2bin (length_string);
+  str += length_string;
   str += dat;
-  str += footer_str_;
+  str += footer_string_;
   return str;
 }
 
 Midi_duration::Midi_duration (Real seconds_f)
 {
-  seconds_f_ = seconds_f;
+  seconds_ = seconds_f;
 }
 
 String
-Midi_duration::str () const
+Midi_duration::string () const
 {
-  return String ("<duration: ") + to_str (seconds_f_) + ">";
+  return String ("<duration: ") + to_string (seconds_) + ">";
 }
 
-Midi_event::Midi_event (Moment delta_mom, Midi_item* midi_p)
+Midi_event::Midi_event (Moment delta_mom, Midi_item* midi)
 {
   delta_mom_ = delta_mom;
-  midi_p_ = midi_p;
+  midi_ = midi;
 }
 
 /*
   ugh. midi output badly broken since grace note hackage.
  */
 String
-Midi_event::str () const
+Midi_event::string () const
 {
   Rational rat_dt = (delta_mom_.main_part_ * Rational (384) +
     delta_mom_.grace_part_ * Rational (100))*Rational (4);
   int delta_i = int (rat_dt);
 
-  String delta_str = Midi_item::i2varint_str (delta_i);
-  String midi_str = midi_p_->str ();
-  assert (midi_str.length_i ());
-  return delta_str + midi_str;
+  String delta_string = Midi_item::i2varint_string (delta_i);
+  String midi_string = midi_->string ();
+  assert (midi_string.length ());
+  return delta_string + midi_string;
 }
 
 
@@ -112,45 +112,45 @@ Midi_header::Midi_header (int format_i, 
 {
   String str;
 	
-  String format_str = String_convert::i2hex_str (format_i, 4, '0');
-  str += String_convert::hex2bin_str (format_str);
+  String format_string = String_convert::int2hex (format_i, 4, '0');
+  str += String_convert::hex2bin (format_string);
 	
-  String tracks_str = String_convert::i2hex_str (tracks_i, 4, '0');
-  str += String_convert::hex2bin_str (tracks_str);
+  String tracks_string = String_convert::int2hex (tracks_i, 4, '0');
+  str += String_convert::hex2bin (tracks_string);
 
-  String tempo_str = String_convert::i2hex_str (clocks_per_4_i, 4, '0');
-  str += String_convert::hex2bin_str (tempo_str);
+  String tempo_string = String_convert::int2hex (clocks_per_4_i, 4, '0');
+  str += String_convert::hex2bin (tempo_string);
 
   set ("MThd", str, "");
 }
 
 Midi_instrument::Midi_instrument (Audio_instrument* a)
 {
-  audio_l_ = a;
-  audio_l_->str_.to_lower ();
+  audio_ = a;
+  audio_->str_.to_lower ();
 }
 
 String
-Midi_instrument::str() const
+Midi_instrument::string () const
 {
   Byte program_byte = 0;
   bool found = false;
   SCM proc = scm_primitive_eval (ly_symbol2scm ("midi-program")); 
-  SCM program = gh_call1 (proc, ly_symbol2scm (audio_l_->str_.ch_C()));
+  SCM program = gh_call1 (proc, ly_symbol2scm (audio_->str_.to_str0 ()));
   found = (program != SCM_BOOL_F);
   if (found)
     program_byte = gh_scm2int(program);
   else
-      warning (_f ("no such instrument: `%s'", audio_l_->str_.ch_C ()));
+      warning (_f ("no such instrument: `%s'", audio_->str_.to_str0 ()));
 
-  String str = to_str ((char) (0xc0 + channel_i_)); //YIKES! FIXME: Should be track. -rz
-  str += to_str ((char)program_byte);
+  String str = to_string ((char) (0xc0 + channel_)); //YIKES! FIXME: Should be track. -rz
+  str += to_string ((char)program_byte);
   return str;
 }
 
 Midi_item::Midi_item ()
 {
-  channel_i_ = 0;
+  channel_ = 0;
 }
 
 Midi_item::~Midi_item ()
@@ -158,7 +158,7 @@ Midi_item::~Midi_item ()
 }
 
 String
-Midi_item::i2varint_str (int i)
+Midi_item::i2varint_string (int i)
 {
   int buffer_i = i & 0x7f;
   while ((i >>= 7) > 0) 
@@ -171,7 +171,7 @@ Midi_item::i2varint_str (int i)
   String str;
   while (1) 
     {
-      str += to_str ((char)buffer_i);
+      str += to_string ((char)buffer_i);
       if (buffer_i & 0x80)
 	buffer_i >>= 8;
       else
@@ -182,51 +182,51 @@ Midi_item::i2varint_str (int i)
 
 Midi_key::Midi_key (Audio_key*a)
 {
-  audio_l_ = a;
+  audio_ = a;
 }
 
 String
-Midi_key::str () const
+Midi_key::string () const
 {
   String str = "ff5902";
-  str += String_convert::i2hex_str (audio_l_->accidentals_, 2, '0');
-  if (audio_l_->major_)
-    str += String_convert::i2hex_str (0, 2, '0');
+  str += String_convert::int2hex (audio_->accidentals_, 2, '0');
+  if (audio_->major_)
+    str += String_convert::int2hex (0, 2, '0');
   else
-    str += String_convert::i2hex_str (1, 2, '0');
-  return String_convert::hex2bin_str (str);
+    str += String_convert::int2hex (1, 2, '0');
+  return String_convert::hex2bin (str);
 }
 
 Midi_time_signature::Midi_time_signature (Audio_time_signature* a)
 {
-  audio_l_ = a;
-  clocks_per_1_i_ = 18;
+  audio_ = a;
+  clocks_per_1_ = 18;
 }
 
 String
-Midi_time_signature::str () const
+Midi_time_signature::string () const
 {
-  int num = audio_l_->beats_i_;
-  int den = audio_l_->one_beat_i_;
+  int num = audio_->beats_;
+  int den = audio_->one_beat_;
 
   String str = "ff5804";
-  str += String_convert::i2hex_str (num, 2, '0');
-  str += String_convert::i2hex_str (intlog2 (den) , 2, '0');
-  str += String_convert::i2hex_str (clocks_per_1_i_, 2, '0');
-  str += String_convert::i2hex_str (8, 2, '0');
-  return String_convert::hex2bin_str (str);
+  str += String_convert::int2hex (num, 2, '0');
+  str += String_convert::int2hex (intlog2 (den) , 2, '0');
+  str += String_convert::int2hex (clocks_per_1_, 2, '0');
+  str += String_convert::int2hex (8, 2, '0');
+  return String_convert::hex2bin (str);
 }
 
 Midi_note::Midi_note (Audio_note* a)
 {
-  audio_l_ = a;
+  audio_ = a;
   dynamic_byte_ = 0x7f;
 }
 
 Moment
 Midi_note::length_mom () const
 {
-  Moment m = audio_l_->length_mom_;
+  Moment m = audio_->length_mom_;
 #if 0
   //junkme?
   if (m < Moment (Rational (1, 1000)))
@@ -239,9 +239,9 @@ Midi_note::length_mom () const
 }
 
 int
-Midi_note::pitch_i () const
+Midi_note::get_pitch () const
 {
-  int p = audio_l_->pitch_.semitone_pitch () + audio_l_->transposing_i_;
+  int p = audio_->pitch_.semitone_pitch () + audio_->transposing_;
   if (p == INT_MAX)
     {
       warning (_ ("silly pitch"));
@@ -251,22 +251,22 @@ Midi_note::pitch_i () const
 }
 
 String
-Midi_note::str () const
+Midi_note::string () const
 {
-  Byte status_byte = (char) (0x90 + channel_i_);
+  Byte status_byte = (char) (0x90 + channel_);
 
-  String str = to_str ((char)status_byte);
-  str += to_str ((char) (pitch_i () + c0_pitch_i_c_));
+  String str = to_string ((char)status_byte);
+  str += to_string ((char) (get_pitch () + c0_pitch_i_));
 
-  str += to_str ((char)dynamic_byte_);
+  str += to_string ((char)dynamic_byte_);
   return str;
 }
 
 Midi_note_off::Midi_note_off (Midi_note* n)
-  : Midi_note (n->audio_l_)
+  : Midi_note (n->audio_)
 {
-  on_l_ = n;
-  channel_i_ = n->channel_i_;
+  on_ = n;
+  channel_ = n->channel_;
 
   // Anybody who hears any difference, or knows how this works?
   //  0 should definitely be avoided, notes stick on some sound cards.
@@ -276,26 +276,26 @@ Midi_note_off::Midi_note_off (Midi_note*
 }
 
 String
-Midi_note_off::str () const
+Midi_note_off::string () const
 {
-  Byte status_byte = (char) (0x80 + channel_i_);
+  Byte status_byte = (char) (0x80 + channel_);
 
-  String str = to_str ((char)status_byte);
-  str += to_str ((char) (pitch_i () + Midi_note::c0_pitch_i_c_));
-  str += to_str ((char)aftertouch_byte_);
+  String str = to_string ((char)status_byte);
+  str += to_string ((char) (get_pitch () + Midi_note::c0_pitch_i_));
+  str += to_string ((char)aftertouch_byte_);
   return str;
 }
 
 Midi_dynamic::Midi_dynamic (Audio_dynamic* a)
 {
-  audio_l_ = a;
+  audio_ = a;
 }
 
 String
-Midi_dynamic::str () const
+Midi_dynamic::string () const
 {
-  Byte status_byte = (char) (0xB0 + channel_i_);
-  String str = to_str ((char)status_byte);
+  Byte status_byte = (char) (0xB0 + channel_);
+  String str = to_string ((char)status_byte);
 
   /*
     Main volume controller (per channel):
@@ -304,66 +304,66 @@ Midi_dynamic::str () const
    */
   static Real const full_scale = 127;
   
-  int volume = (int) (audio_l_->volume_*full_scale);
+  int volume = (int) (audio_->volume_*full_scale);
   if (volume <= 0)
     volume = 1;
   if (volume > full_scale)
     volume = (int)full_scale;
 
-  str += to_str ((char)0x07);
-  str += to_str ((char)volume);
+  str += to_string ((char)0x07);
+  str += to_string ((char)volume);
   return str;
 }
 
 Midi_piano_pedal::Midi_piano_pedal (Audio_piano_pedal* a)
 {
-  audio_l_ = a;
+  audio_ = a;
 }
 
 String
-Midi_piano_pedal::str () const
+Midi_piano_pedal::string () const
 {
-  Byte status_byte = (char) (0xB0 + channel_i_);
-  String str = to_str ((char)status_byte);
+  Byte status_byte = (char) (0xB0 + channel_);
+  String str = to_string ((char)status_byte);
 
-  if (audio_l_->type_str_ == "Sostenuto")
-    str += to_str ((char)0x42);
-  else if (audio_l_->type_str_ == "Sustain")
-    str += to_str ((char)0x40);
-  else if (audio_l_->type_str_ == "UnaCorda")
-    str += to_str ((char)0x43);
+  if (audio_->type_string_ == "Sostenuto")
+    str += to_string ((char)0x42);
+  else if (audio_->type_string_ == "Sustain")
+    str += to_string ((char)0x40);
+  else if (audio_->type_string_ == "UnaCorda")
+    str += to_string ((char)0x43);
 
-  int pedal = ((1 - audio_l_->dir_) / 2) * 0x7f;
-  str += to_str ((char)pedal);
+  int pedal = ((1 - audio_->dir_) / 2) * 0x7f;
+  str += to_string ((char)pedal);
   return str;
 }
 
 Midi_tempo::Midi_tempo (Audio_tempo* a)
 {
-  audio_l_ = a;
+  audio_ = a;
 }
 
 String
-Midi_tempo::str () const
+Midi_tempo::string () const
 {
-  int useconds_per_4_i = 60 * (int)1e6 / audio_l_->per_minute_4_i_;
+  int useconds_per_4_i = 60 * (int)1e6 / audio_->per_minute_4_;
   String str = "ff5103";
-  str += String_convert::i2hex_str (useconds_per_4_i, 6, '0');
-  return String_convert::hex2bin_str (str);
+  str += String_convert::int2hex (useconds_per_4_i, 6, '0');
+  return String_convert::hex2bin (str);
 }
 
 Midi_text::Midi_text (Audio_text* a)
 {
-  audio_l_ = a;
+  audio_ = a;
 }
 
 String
-Midi_text::str () const
+Midi_text::string () const
 {
-  String str = "ff" + String_convert::i2hex_str (audio_l_->type_, 2, '0');
-  str = String_convert::hex2bin_str (str);
-  str += i2varint_str (audio_l_->text_str_.length_i ());
-  str += audio_l_->text_str_;
+  String str = "ff" + String_convert::int2hex (audio_->type_, 2, '0');
+  str = String_convert::hex2bin (str);
+  str += i2varint_string (audio_->text_string_.length ());
+  str += audio_->text_string_;
   return str;
 }
 
@@ -384,9 +384,9 @@ Midi_track::Midi_track ()
 //         mi = 0:  major key
 //         mi = 1:  minor key
 
-  number_i_ = 0;
+  number_ = 0;
 	
-  char const* data_ch_C = ""
+  char const* data_str0 = ""
     //        "00" "ff58" "0404" "0218" "08"
     //	"00" "ff51" "0307" "a120"
     // why a key at all, in midi?
@@ -396,34 +396,34 @@ Midi_track::Midi_track ()
     //				  "00" "ff59" "02" "ff" "00"
 	;
 
-  String data_str;
+  String data_string;
   // only for format 0 (currently using format 1)?
-  data_str += String_convert::hex2bin_str (data_ch_C);
+  data_string += String_convert::hex2bin (data_str0);
 
-  char const* footer_ch_C = "00" "ff2f" "00";
-  String footer_str = String_convert::hex2bin_str (footer_ch_C);
+  char const* footer_str0 = "00" "ff2f" "00";
+  String footer_string = String_convert::hex2bin (footer_str0);
 
-  set ("MTrk", data_str, footer_str);
+  set ("MTrk", data_string, footer_string);
 }
 
 void 
-Midi_track::add (Moment delta_time_mom, Midi_item* midi_p)
+Midi_track::add (Moment delta_time_mom, Midi_item* midi)
 {
   assert (delta_time_mom >= Moment (0));
 
-  Midi_event * e = new Midi_event (delta_time_mom, midi_p);
+  Midi_event * e = new Midi_event (delta_time_mom, midi);
   event_p_list_.append (new Killing_cons<Midi_event> (e, 0));
 }
 
 String
-Midi_track::data_str () const
+Midi_track::data_string () const
 {
-  String str = Midi_chunk::data_str ();
+  String str = Midi_chunk::data_string ();
   if (midi_debug_global_b)
     str += "\n";
   for (Cons<Midi_event> *i=event_p_list_.head_; i; i = i->next_) 
     {
-      str += i->car_->str ();
+      str += i->car_->string ();
       if (midi_debug_global_b)
         str += "\n";
     }
diff -purN ../lilypond-1.5.69/lily/midi-stream.cc ./lily/midi-stream.cc
--- ../lilypond-1.5.69/lily/midi-stream.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/midi-stream.cc	Fri Jul 26 12:26:59 2002
@@ -19,47 +19,47 @@
 
 Midi_stream::Midi_stream (String filename)
 {
-  filename_str_ = filename;
-  os_p_ = open_file_stream (filename, std::ios::out|std::ios::binary);
+  filename_string_ = filename;
+  os_ = open_file_stream (filename, std::ios::out|std::ios::binary);
 }
 
 Midi_stream::~Midi_stream ()
 {
-  close_file_stream (os_p_);
+  close_file_stream (os_);
 }
 
 Midi_stream&
 Midi_stream::operator << (String str)
 {
-  Byte * b = str.byte_l();
-  for (int sz = str.length_i (); sz--;)
-    *os_p_ << *b ++;
+  Byte * b = str.get_bytes ();
+  for (int sz = str.length (); sz--;)
+    *os_ << *b ++;
   return *this;
 }
 
 Midi_stream&
 Midi_stream::operator << (Midi_item const& midi_c_r)
 {
-  String str = midi_c_r.str ();
+  String str = midi_c_r.string ();
 
 
   if (midi_debug_global_b)
     {
-     str = String_convert::bin2hex_str (str) + "\n";
+     str = String_convert::bin2hex (str) + "\n";
     // ugh, should have separate debugging output with Midi*::print routines
-    int i = str.index_i ("0a");
+    int i = str.index ("0a");
     while (i >= 0)
       {
         str[i] = '\n';
         str[i + 1] = '\t';
-    	i = str.index_i ("0a");
+    	i = str.index ("0a");
       }
     }
   else
     {
-      Byte * b = str.byte_l();
-      for (int sz = str.length_i (); sz--;)
-	*os_p_ << *b++;
+      Byte * b = str.get_bytes ();
+      for (int sz = str.length (); sz--;)
+	*os_ << *b++;
     }
   
   return *this;
@@ -69,7 +69,7 @@ Midi_stream&
 Midi_stream::operator << (int i)
 {
   // output binary string ourselves
-  *this << Midi_item::i2varint_str (i);
+  *this << Midi_item::i2varint_string (i);
   return *this;
 }
 
diff -purN ../lilypond-1.5.69/lily/midi-walker.cc ./lily/midi-walker.cc
--- ../lilypond-1.5.69/lily/midi-walker.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/midi-walker.cc	Fri Jul 26 12:26:59 2002
@@ -33,11 +33,11 @@ compare (Midi_note_event const& left, Mi
     return 0;
 }
 
-Midi_walker::Midi_walker (Audio_staff* audio_staff_l, Midi_track* track_l)
+Midi_walker::Midi_walker (Audio_staff* audio_staff, Midi_track* track)
 {
-  track_l_ = track_l;
+  track_ = track;
   index_= 0;
-  item_l_arr_l_ = &audio_staff_l->audio_item_l_arr_;
+  items_ = &audio_staff->audio_items_;
 
   last_mom_ = 0;
 }
@@ -52,16 +52,16 @@ Midi_walker::~Midi_walker ()
   Find out if start_note event is needed, and do it if needed.
  */
 void 
-Midi_walker::do_start_note (Midi_note* note_p)
+Midi_walker::do_start_note (Midi_note* note)
 {
-  Audio_item* ptr = (*item_l_arr_l_)[index_];
-  Moment stop_mom = note_p->length_mom () + ptr->audio_column_l_->at_mom ();
+  Audio_item* ptr = (*items_)[index_];
+  Moment stop_mom = note->length_mom () + ptr->audio_column_->at_mom ();
 
   bool play_start = true;
   for (int i=0; i < stop_note_queue.size (); i++) 
     {
       /* if this pith already in queue */
-      if (stop_note_queue[i].val->pitch_i () == note_p->pitch_i ()) 
+      if (stop_note_queue[i].val->get_pitch () == note->get_pitch ()) 
 	{
 	  if (stop_note_queue[i].key < stop_mom)
 	    {
@@ -76,22 +76,22 @@ Midi_walker::do_start_note (Midi_note* n
 	    {
 	      /* skip this stopnote,
 		 don't play the start note */
-	      delete note_p;
-	      note_p = 0;
+	      delete note;
+	      note = 0;
 	      break;
 	  }
 	}
     }
 
-  if (note_p)
+  if (note)
     {
       Midi_note_event e;
-      e.val = new Midi_note_off (note_p);
+      e.val = new Midi_note_off (note);
       e.key = stop_mom;
       stop_note_queue.insert (e);
 
       if (play_start)
-	output_event (ptr->audio_column_l_->at_mom (), note_p);
+	output_event (ptr->audio_column_->at_mom (), note);
     }
 }
 
@@ -111,9 +111,9 @@ Midi_walker::do_stop_notes (Moment max_m
 	}
       
       Moment stop_mom = e.key;
-      Midi_note* note_p = e.val;
+      Midi_note* note = e.val;
 	
-      output_event (stop_mom, note_p);
+      output_event (stop_mom, note);
     }
 }
 
@@ -136,33 +136,33 @@ Midi_walker::output_event (Moment now_mo
     }
 
   
-  track_l_->add (delta_t, l);
+  track_->add (delta_t, l);
 }
 
 void
 Midi_walker::process ()
 {
-  Audio_item* audio_p = (*item_l_arr_l_)[index_];
-  do_stop_notes (audio_p->audio_column_l_->at_mom ());
+  Audio_item* audio = (*items_)[index_];
+  do_stop_notes (audio->audio_column_->at_mom ());
 
-  if (Midi_item* midi_p = Midi_item::midi_p (audio_p))
+  if (Midi_item* midi = Midi_item::get_midi (audio))
     {
-      midi_p->channel_i_ = track_l_->channel_i_;
-      //midi_p->channel_i_ = track_l_->number_i_;
-      if (Midi_note* note_p = dynamic_cast<Midi_note*> (midi_p))
+      midi->channel_ = track_->channel_;
+      //midi->channel_ = track_->number_;
+      if (Midi_note* note = dynamic_cast<Midi_note*> (midi))
 	{
-	  if (note_p->length_mom ().to_bool ())
-	    do_start_note (note_p);
+	  if (note->length_mom ().to_bool ())
+	    do_start_note (note);
 	}
       else
-	output_event (audio_p->audio_column_l_->at_mom (), midi_p);
+	output_event (audio->audio_column_->at_mom (), midi);
     }
 }
 
 bool
 Midi_walker::ok () const
 {
-  return index_ <item_l_arr_l_->size ();
+  return index_ <items_->size ();
 }
 
 void
diff -purN ../lilypond-1.5.69/lily/molecule.cc ./lily/molecule.cc
--- ../lilypond-1.5.69/lily/molecule.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/molecule.cc	Fri Jul 26 12:26:59 2002
@@ -146,7 +146,7 @@ smaller than @code{B}, and is often nega
 {
   Molecule* m = unsmob_molecule (mol);
   SCM_ASSERT_TYPE (m, mol, SCM_ARG1, __FUNCTION__, "molecule");
-  SCM_ASSERT_TYPE (ly_axis_p(axis), axis, SCM_ARG2, __FUNCTION__, "axis");
+  SCM_ASSERT_TYPE (ly_axis_p (axis), axis, SCM_ARG2, __FUNCTION__, "axis");
   SCM_ASSERT_TYPE (ly_number_pair_p (np), np, SCM_ARG3, __FUNCTION__, "number pair");
 
   Interval iv = ly_scm2interval (np);
@@ -163,7 +163,7 @@ LY_DEFINE(ly_get_molecule_extent,
 {
   Molecule *m = unsmob_molecule (mol);
   SCM_ASSERT_TYPE (m, mol, SCM_ARG1, __FUNCTION__, "molecule");
-  SCM_ASSERT_TYPE (ly_axis_p(axis), axis, SCM_ARG2, __FUNCTION__, "axis");
+  SCM_ASSERT_TYPE (ly_axis_p (axis), axis, SCM_ARG2, __FUNCTION__, "axis");
  
   return ly_interval2scm (m->extent (Axis (gh_scm2int (axis))));
 }
@@ -184,9 +184,9 @@ space to add in between measured in glob
   Molecule result;
 
 
-  SCM_ASSERT_TYPE(ly_axis_p(axis), axis, SCM_ARG2, __FUNCTION__, "axis");
+  SCM_ASSERT_TYPE(ly_axis_p (axis), axis, SCM_ARG2, __FUNCTION__, "axis");
   SCM_ASSERT_TYPE(ly_dir_p (direction), direction, SCM_ARG3, __FUNCTION__, "dir");
-  SCM_ASSERT_TYPE(gh_number_p(padding), padding, SCM_ARG4, __FUNCTION__, "number");
+  SCM_ASSERT_TYPE(gh_number_p (padding), padding, SCM_ARG4, __FUNCTION__, "number");
 
   if (m1)
     result = *m1;
@@ -283,7 +283,7 @@ LY_DEFINE(ly_align_to_x,"ly-align-to!", 
 	  "Align @var{mol} using its own extents.")
 {
   SCM_ASSERT_TYPE(unsmob_molecule (mol), mol, SCM_ARG1, __FUNCTION__, "molecule");
-  SCM_ASSERT_TYPE(ly_axis_p(axis), axis, SCM_ARG2, __FUNCTION__, "axis");
+  SCM_ASSERT_TYPE(ly_axis_p (axis), axis, SCM_ARG2, __FUNCTION__, "axis");
   SCM_ASSERT_TYPE(ly_dir_p (dir), dir, SCM_ARG3, __FUNCTION__, "dir");
 
   unsmob_molecule (mol)->align_to ((Axis)gh_scm2int (axis), Direction (gh_scm2int (dir)));
@@ -325,8 +325,8 @@ Molecule::print_smob (SCM , SCM port, sc
   scm_puts ("#<Molecule ", port);
 #if 0
   Molecule  *r = (Molecule *) ly_cdr (s);
-  String str (r->str ());
-  scm_puts ((char *)str.ch_C (), port);
+  String string (r->string ());
+  scm_puts ((char *)str.to_str0 (), port);
 #endif
   scm_puts (" >", port);
   
diff -purN ../lilypond-1.5.69/lily/moment.cc ./lily/moment.cc
--- ../lilypond-1.5.69/lily/moment.cc	Sat Jul 13 16:40:40 2002
+++ ./lily/moment.cc	Fri Jul 26 12:26:59 2002
@@ -37,8 +37,8 @@ Moment::print_smob (SCM s, SCM port, scm
   Moment  *r = (Moment *) ly_cdr (s);
      
   scm_puts ("#<Mom ", port);
-  String str (r->str ());
-  scm_puts ((char *)str.ch_C (), port);
+  String str = r->string ();
+  scm_puts ((char *)str.to_str0 (), port);
   scm_puts (" >", port);
   
   return 1;
@@ -182,12 +182,12 @@ Moment::set_infinite (int k)
 
 
 String
-Moment::str () const
+Moment::string () const
 {
-  String s =  main_part_.str ();
+  String s =  main_part_.string ();
   if (grace_part_)
     {
-      s += "G" + grace_part_.str ();
+      s += "G" + grace_part_.string ();
     }
   return s;
 }
@@ -206,7 +206,7 @@ Moment::operator - () const
 std::ostream &
 operator << (std::ostream &os, Moment const &m)
 {
-  os << m.str ();
+  os << m.string ();
   return os;
 }
 #endif
diff -purN ../lilypond-1.5.69/lily/multi-measure-rest-engraver.cc ./lily/multi-measure-rest-engraver.cc
--- ../lilypond-1.5.69/lily/multi-measure-rest-engraver.cc	Sun Mar 24 21:46:54 2002
+++ ./lily/multi-measure-rest-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -32,30 +32,30 @@ protected:
   virtual void finalize ();
 
 private:
-  Span_req * new_req_l_;
-  Span_req * busy_span_req_l_;
-  Span_req * stop_req_l_;
-  int start_measure_i_;
+  Span_req * new_req_;
+  Span_req * busy_span_req_;
+  Span_req * stop_req_;
+  int start_measure_;
   Moment start_moment_;
   
-  Spanner *mmrest_p_;
-  Spanner *lastrest_p_;
+  Spanner *mmrest_;
+  Spanner *lastrest_;
 };
 
 
 
 Multi_measure_rest_engraver::Multi_measure_rest_engraver ()
 {
-  start_measure_i_ = 0;
-  mmrest_p_  = lastrest_p_ =0;
-  new_req_l_ = busy_span_req_l_ = stop_req_l_ =0;
+  start_measure_ = 0;
+  mmrest_  = lastrest_ =0;
+  new_req_ = busy_span_req_ = stop_req_ =0;
 }
 
 
 bool
-Multi_measure_rest_engraver::try_music (Music* req_l)
+Multi_measure_rest_engraver::try_music (Music* req)
 {
-  if (Span_req * sp = dynamic_cast<Span_req*> (req_l))
+  if (Span_req * sp = dynamic_cast<Span_req*> (req))
     {
       
       if (scm_equal_p (sp->get_mus_property ("span-type"),
@@ -63,11 +63,11 @@ Multi_measure_rest_engraver::try_music (
 	{
 	  if (sp->get_span_dir () == STOP)
 	    {
-	      stop_req_l_ = sp;
+	      stop_req_ = sp;
 	    }
-	  else if (sp->get_span_dir () == START && !new_req_l_)
+	  else if (sp->get_span_dir () == START && !new_req_)
 	    {
-	      new_req_l_ = sp;
+	      new_req_ = sp;
 	    }
 	  return true;
 	}
@@ -78,30 +78,30 @@ Multi_measure_rest_engraver::try_music (
 void
 Multi_measure_rest_engraver::process_music ()
 {
-  if (new_req_l_ && stop_req_l_)
-    stop_req_l_ = 0;
+  if (new_req_ && stop_req_)
+    stop_req_ = 0;
 
-  if (new_req_l_)
+  if (new_req_)
     start_moment_ = now_mom ();
 
-  if (stop_req_l_)
+  if (stop_req_)
     {
-      busy_span_req_l_ =0;
-      stop_req_l_ = 0;
+      busy_span_req_ =0;
+      stop_req_ = 0;
     }
   
-  if (new_req_l_)
+  if (new_req_)
     {
-      busy_span_req_l_ = new_req_l_;
-      new_req_l_ =0;
+      busy_span_req_ = new_req_;
+      new_req_ =0;
     }
 
-  if (busy_span_req_l_ && !mmrest_p_)
+  if (busy_span_req_ && !mmrest_)
     {
-      mmrest_p_ = new Spanner (get_property ("MultiMeasureRest"));
+      mmrest_ = new Spanner (get_property ("MultiMeasureRest"));
 
-      announce_grob(mmrest_p_, busy_span_req_l_->self_scm());
-      start_measure_i_
+      announce_grob(mmrest_, busy_span_req_->self_scm());
+      start_measure_
 	= gh_scm2int (get_property ("currentBarNumber"));
     }
 
@@ -109,10 +109,10 @@ Multi_measure_rest_engraver::process_mus
     {
       Grob *cmc = unsmob_grob (get_property( "currentCommandColumn"));
       Item *it = dynamic_cast<Item*> (cmc);
-      if (mmrest_p_)
-	add_bound_item (mmrest_p_, it);
-      if (lastrest_p_)
-	add_bound_item (lastrest_p_,it);
+      if (mmrest_)
+	add_bound_item (mmrest_, it);
+      if (lastrest_)
+	add_bound_item (lastrest_,it);
     }
 }
 
@@ -122,30 +122,30 @@ Multi_measure_rest_engraver::stop_transl
   SCM smp = get_property ("measurePosition");
   Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
 
-  if (mmrest_p_ && (now_mom () >= start_moment_) 
+  if (mmrest_ && (now_mom () >= start_moment_) 
       && !mp.to_bool ()
-      && mmrest_p_->get_bound (LEFT) && mmrest_p_->get_bound (RIGHT))
+      && mmrest_->get_bound (LEFT) && mmrest_->get_bound (RIGHT))
     {
-      typeset_grob (mmrest_p_);
+      typeset_grob (mmrest_);
       /*
-	we must keep mmrest_p_ around to set measure-count, so
-	no mmrest_p_ = 0 here. 
+	we must keep mmrest_ around to set measure-count, so
+	no mmrest_ = 0 here. 
        */
     }
 
-  if (lastrest_p_)
+  if (lastrest_)
     {
       /* sanity check */
-      if (lastrest_p_->get_bound (LEFT) && lastrest_p_->get_bound (RIGHT)
-	  && lastrest_p_->get_bound (LEFT) != lastrest_p_->get_bound (RIGHT))
-	typeset_grob (lastrest_p_);
-      lastrest_p_ = 0;
+      if (lastrest_->get_bound (LEFT) && lastrest_->get_bound (RIGHT)
+	  && lastrest_->get_bound (LEFT) != lastrest_->get_bound (RIGHT))
+	typeset_grob (lastrest_);
+      lastrest_ = 0;
     }
 
-  if (new_req_l_)
+  if (new_req_)
     {
-      busy_span_req_l_ = new_req_l_;
-      new_req_l_ =0;
+      busy_span_req_ = new_req_;
+      new_req_ =0;
     }
   
 }
@@ -156,13 +156,13 @@ Multi_measure_rest_engraver::start_trans
   SCM smp = get_property ("measurePosition");
   Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
   
-  if (mmrest_p_ && !mp.to_bool ())
+  if (mmrest_ && !mp.to_bool ())
     {
-      lastrest_p_ = mmrest_p_;
+      lastrest_ = mmrest_;
       int cur = gh_scm2int (get_property ("currentBarNumber"));
-      lastrest_p_->set_grob_property ("measure-count",
-				     gh_int2scm (cur - start_measure_i_));
-      mmrest_p_ = 0;
+      lastrest_->set_grob_property ("measure-count",
+				     gh_int2scm (cur - start_measure_));
+      mmrest_ = 0;
     }
 }
 
@@ -170,10 +170,10 @@ Multi_measure_rest_engraver::start_trans
 void
 Multi_measure_rest_engraver::finalize ()
 {
-  if (mmrest_p_)
-    typeset_grob (mmrest_p_);
-  if (lastrest_p_)
-    typeset_grob (lastrest_p_);
+  if (mmrest_)
+    typeset_grob (mmrest_);
+  if (lastrest_)
+    typeset_grob (lastrest_);
 }
 
 ENTER_DESCRIPTION(Multi_measure_rest_engraver,
diff -purN ../lilypond-1.5.69/lily/multi-measure-rest.cc ./lily/multi-measure-rest.cc
--- ../lilypond-1.5.69/lily/multi-measure-rest.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/multi-measure-rest.cc	Fri Jul 26 12:26:59 2002
@@ -37,7 +37,7 @@ Multi_measure_rest::percent (SCM smob)
   Direction d = LEFT;
   do
     {
-      Item * col = sp->get_bound (d)->column_l ();
+      Item * col = sp->get_bound (d)->get_column ();
 
       Interval coldim = col->extent (0, X_AXIS);
 
@@ -84,7 +84,7 @@ Multi_measure_rest::brew_molecule (SCM s
   Grob *common = sp->get_bound (LEFT)->common_refpoint (sp->get_bound (RIGHT), X_AXIS);
   do
     {
-      Item * col = sp->get_bound (d)->column_l ();
+      Item * col = sp->get_bound (d)->get_column ();
 
       Interval coldim = col->extent (common, X_AXIS);
 
@@ -116,7 +116,7 @@ Multi_measure_rest::brew_molecule (SCM s
   if (measures > gh_scm2int (s))
     {
       Molecule s = Text_item::text2molecule (me,
-					     ly_str02scm (to_str (measures).ch_C ()),
+					     ly_str02scm (to_string (measures).to_str0 ()),
 					     alist_chain);
 
       s.align_to (X_AXIS, CENTER);
@@ -170,7 +170,7 @@ Multi_measure_rest::symbol_molecule (Gro
       /*
 	ugh.
        */
-      if (Staff_symbol_referencer::position_f (me) == 0.0)
+      if (Staff_symbol_referencer::get_position (me) == 0.0)
 	s.translate_axis (staff_space, Y_AXIS);
 
       s.translate_axis ((space - s.extent (X_AXIS).length ())/2, X_AXIS);
@@ -191,7 +191,7 @@ Multi_measure_rest::big_rest (Grob *me, 
   Real thick = gh_scm2double (me->get_grob_property ("thickness"));
   Real ss = Staff_symbol_referencer::staff_space (me);
   
-  Real slt = me->paper_l ()->get_var ("linethickness");
+  Real slt = me->get_paper ()->get_var ("linethickness");
   Real y = slt * thick/2 * ss;
   Box b(Interval (0, width), Interval (-y, y));
   Real ythick = slt * ss;
@@ -241,7 +241,7 @@ Multi_measure_rest::church_rest (Grob*me
 	  l --;
 	}
 
-      Molecule r (musfont->find_by_name ("rests-" + to_str (k)));
+      Molecule r (musfont->find_by_name ("rests-" + to_string (k)));
       if (k == 0)
 	{
 	  Real staff_space = Staff_symbol_referencer::staff_space (me);
@@ -295,8 +295,8 @@ Multi_measure_rest::set_spacing_rods (SC
       return SCM_UNSPECIFIED;
     }
 
-  Item * l = sp->get_bound (LEFT)->column_l ();
-  Item * r = sp->get_bound (RIGHT)->column_l ();
+  Item * l = sp->get_bound (LEFT)->get_column ();
+  Item * r = sp->get_bound (RIGHT)->get_column ();
   Item * lb = l->find_prebroken_piece (RIGHT);
   Item * rb = r->find_prebroken_piece (LEFT);      
   
@@ -317,7 +317,7 @@ Multi_measure_rest::set_spacing_rods (SC
       rod.item_l_drul_[RIGHT] = r;
 
       
-      rod.distance_f_ = l->extent (l, X_AXIS)[BIGGER] - r->extent (r, X_AXIS)[SMALLER]
+      rod.distance_ = l->extent (l, X_AXIS)[BIGGER] - r->extent (r, X_AXIS)[SMALLER]
 	+ sym_width  + 2.0;			// 2.0 = magic!
   
       rod.add_to_cols ();
diff -purN ../lilypond-1.5.69/lily/music-constructor.cc ./lily/music-constructor.cc
--- ../lilypond-1.5.69/lily/music-constructor.cc	Mon Feb 25 00:29:30 2002
+++ ./lily/music-constructor.cc	Thu Jul 25 18:51:19 2002
@@ -33,7 +33,7 @@ get_music_ctor (String s)
 }
 
 Music* 
-get_music (String s)
+make_music (String s)
 {
   return (*get_music_ctor (s)) () ;
 }
diff -purN ../lilypond-1.5.69/lily/music-iterator.cc ./lily/music-iterator.cc
--- ../lilypond-1.5.69/lily/music-iterator.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/music-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -24,7 +24,7 @@ Music_iterator::Music_iterator ()
 Music_iterator::Music_iterator (Music_iterator const& src)
 {
   handle_ = *src.handle_.clone ();
-  music_l_ = src.music_l_;
+  music_ = src.music_;
   music_length_ = src.music_length_;
   start_mom_ = src.start_mom_;
 }
@@ -37,9 +37,9 @@ Music_iterator::~Music_iterator ()
 
 
 Translator_group* 
-Music_iterator::report_to_l () const
+Music_iterator::report_to () const
 {
-  return handle_.report_to_l ();
+  return handle_.report_to ();
 }
 
 
@@ -77,13 +77,13 @@ Music_iterator::skip (Moment)
 }
 
 SCM
-Music_iterator::get_music (Moment)const
+Music_iterator::get_pending_events (Moment)const
 {
   return SCM_EOL;
 }
 
 Music_iterator*
-Music_iterator::static_get_iterator_p (Music *m)
+Music_iterator::get_static_get_iterator (Music *m)
 {
   Music_iterator * p =0;
 
@@ -101,7 +101,7 @@ Music_iterator::static_get_iterator_p (M
       p = new Simple_music_iterator ;
     }
 
-  p->music_l_ = m;
+  p->music_ = m;
   assert (m);
   p->music_length_ = m->length_mom ();
   p->start_mom_ = m->start_mom ();
@@ -123,9 +123,9 @@ Music_iterator::music_start_mom ()const
 }
 
 void
-Music_iterator::init_translator (Music *m, Translator_group *report_l)
+Music_iterator::init_translator (Music *m, Translator_group *report)
 {
-  music_l_ = m;
+  music_ = m;
   assert (m);
   if (Context_specced_music * csm =dynamic_cast<Context_specced_music *> (m))
     {
@@ -140,22 +140,22 @@ Music_iterator::init_translator (Music *
 	c_id = ly_scm2string (ci);
       
       Translator_group* a
-	=report_l->find_create_translator_l (c_type, c_id);
+	=report->find_create_translator (c_type, c_id);
 
       set_translator (a);
       
     }
 
-  if (! report_to_l ())
-    set_translator (report_l);
+  if (! report_to ())
+    set_translator (report);
 }
 
 
 Music_iterator*
-Music_iterator::get_iterator_p (Music *m) const
+Music_iterator::get_iterator (Music *m) const
 {
-  Music_iterator*p = static_get_iterator_p (m);
-  p->init_translator (m, report_to_l ());
+  Music_iterator*p = get_static_get_iterator (m);
+  p->init_translator (m, report_to ());
   
   p->construct_children ();
   return p;
@@ -170,7 +170,7 @@ Music_iterator::get_iterator_p (Music *m
 Music_iterator*
 Music_iterator::try_music (Music *m) const
 {
-  bool b = report_to_l ()->try_music ((Music*)m); // ugh
+  bool b = report_to ()->try_music ((Music*)m); // ugh
   Music_iterator * it = b ? (Music_iterator*) this : 0;	// ugh
   if (!it)
     it = try_music_in_children (m);
@@ -186,7 +186,7 @@ Music_iterator::try_music_in_children (M
 IMPLEMENT_CTOR_CALLBACK (Music_iterator);
 
 Music *
-Music_iterator::music_l () const
+Music_iterator::get_music () const
 {
-  return music_l_;
+  return music_;
 }
diff -purN ../lilypond-1.5.69/lily/music-output-def.cc ./lily/music-output-def.cc
--- ../lilypond-1.5.69/lily/music-output-def.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/music-output-def.cc	Fri Jul 26 12:26:59 2002
@@ -92,7 +92,7 @@ Music_output_def::assign_translator (SCM
   find the translator for NAME. NAME may be a string or a symbol.
  */
 SCM
-Music_output_def::find_translator_l (SCM name) const
+Music_output_def::find_translator (SCM name) const
 {  
   if (gh_string_p (name))
     name = scm_string_to_symbol (name);
@@ -104,10 +104,10 @@ Music_output_def::find_translator_l (SCM
 
 
 Global_translator *
-Music_output_def::get_global_translator_p () 
+Music_output_def::get_global_translator () 
 {
   SCM key = ly_symbol2scm ("Score");
-  Translator_def * t = unsmob_translator_def (find_translator_l (key));
+  Translator_def * t = unsmob_translator_def (find_translator (key));
 
   if (!t)
     error (_f ("can't find `%s' context", "Score"));
@@ -124,7 +124,11 @@ Music_output_def::print_smob (SCM s, SCM
 {
   Music_output_def * def = unsmob_music_output_def (s);
   scm_puts ("#<Music_output_def ", p);
-  //scm_write (def->type_name_, p);
+#if 0  
+  scm_write (def->type_name_, p);
+#else  
+  (void) def;
+#endif  
   scm_puts (">", p);
   return 1;
 }
@@ -133,15 +137,15 @@ Music_output_def::print_smob (SCM s, SCM
   ugh: should move into Music_output_def (complication: .midi and .tex
   need separate counts.)  */
 String
-Music_output_def::outname_str () 
+Music_output_def::outname_string () 
 {
   String out = output_name_global;
   int def = get_next_score_count ();
   if (def && out != "-")
     {
       Path p = split_path (out);
-      p.base += "-" + to_str (def);
-      out = p.str ();
+      p.base += "-" + to_string (def);
+      out = p.string ();
     }
   return out;
 }
diff -purN ../lilypond-1.5.69/lily/music-wrapper-iterator.cc ./lily/music-wrapper-iterator.cc
--- ../lilypond-1.5.69/lily/music-wrapper-iterator.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/music-wrapper-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -12,35 +12,35 @@
 
 Music_wrapper_iterator::Music_wrapper_iterator ()
 {
-  child_iter_p_ =0;
+  child_iter_ =0;
 }
 
 Music_wrapper_iterator::Music_wrapper_iterator (Music_wrapper_iterator const &src)
   : Music_iterator (src)
 {
-  if (src.child_iter_p_)
-    child_iter_p_ = src.child_iter_p_->clone ();
+  if (src.child_iter_)
+    child_iter_ = src.child_iter_->clone ();
   else
-    child_iter_p_ = 0;
+    child_iter_ = 0;
 }
 
 Music_wrapper_iterator::~Music_wrapper_iterator ()
 {
-  delete child_iter_p_;
+  delete child_iter_;
 }
 
 
 void
 Music_wrapper_iterator::construct_children ()
 {
-  child_iter_p_ =
-    get_iterator_p (dynamic_cast<Music_wrapper const*> (music_l ())->element ());
+  child_iter_ =
+    get_iterator (dynamic_cast<Music_wrapper const*> (get_music ())->element ());
 }
 
 bool
 Music_wrapper_iterator::ok () const
 {
-  return child_iter_p_ && child_iter_p_->ok ();
+  return child_iter_ && child_iter_->ok ();
 }
 void
 Music_wrapper_iterator::skip (Moment m)
@@ -54,31 +54,31 @@ Music_wrapper_iterator::skip (Moment m)
     iter->process ()
 
   */
-  child_iter_p_->skip (m);
+  child_iter_->skip (m);
 }
 
 void
 Music_wrapper_iterator::process (Moment m)
 {
-  child_iter_p_->process (m);
+  child_iter_->process (m);
 }
 
 SCM
-Music_wrapper_iterator::get_music (Moment m)const
+Music_wrapper_iterator::get_pending_events (Moment m)const
 {
-  return child_iter_p_->get_music (m);
+  return child_iter_->get_pending_events (m);
 }
 
 Moment
 Music_wrapper_iterator::pending_moment () const
 {
-  return child_iter_p_->pending_moment ();
+  return child_iter_->pending_moment ();
 }
 
 Music_iterator*
 Music_wrapper_iterator::try_music_in_children (Music *m) const
 {
-  return child_iter_p_->try_music (m);
+  return child_iter_->try_music (m);
 }
 
 IMPLEMENT_CTOR_CALLBACK (Music_wrapper_iterator);
diff -purN ../lilypond-1.5.69/lily/music.cc ./lily/music.cc
--- ../lilypond-1.5.69/lily/music.cc	Wed Jul 17 15:18:44 2002
+++ ./lily/music.cc	Fri Jul 26 12:26:59 2002
@@ -154,10 +154,10 @@ Music::transpose (Pitch delta)
   Pitch np = *p;
   np.transpose (delta);
   
-  if (abs (np.alteration_i_) > 2)
+  if (abs (np.alteration_) > 2)
     {
 	warning (_f ("Transposition by %s makes accidental larger than two",
-	  delta.str ()));
+	  delta.string ()));
     }
 
   set_mus_property ("pitch", np.smobbed_copy ());
@@ -221,7 +221,7 @@ LY_DEFINE(ly_get_mus_property,
 {
   Music * sc = unsmob_music (mus);
   SCM_ASSERT_TYPE(sc, mus, SCM_ARG1, __FUNCTION__, "music");
-  SCM_ASSERT_TYPE(gh_symbol_p(sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
+  SCM_ASSERT_TYPE(gh_symbol_p (sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
 
   return sc->internal_get_mus_property (sym);
 }
@@ -233,7 +233,7 @@ LY_DEFINE(ly_set_mus_property,
 {
   Music * sc = unsmob_music (mus);
   SCM_ASSERT_TYPE(sc, mus, SCM_ARG1, __FUNCTION__, "grob");
-  SCM_ASSERT_TYPE(gh_symbol_p(sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
+  SCM_ASSERT_TYPE(gh_symbol_p (sym), sym, SCM_ARG2, __FUNCTION__, "symbol");  
 
   bool ok = type_check_assignment (sym, val, ly_symbol2scm ("music-type?"));
   if (ok)
@@ -258,10 +258,9 @@ Music is the data type that music expres
 type does not yet offer many manipulations.
 ")
 {
-  SCM_ASSERT_TYPE(gh_string_p(type), type, SCM_ARG1, __FUNCTION__, "string");
+  SCM_ASSERT_TYPE(gh_string_p (type), type, SCM_ARG1, __FUNCTION__, "string");
   
-  
-  SCM s = get_music (ly_scm2string (type))->self_scm ();
+  SCM s = make_music (ly_scm2string (type))->self_scm ();
   scm_gc_unprotect_object (s);
 
   return s;
diff -purN ../lilypond-1.5.69/lily/my-lily-lexer.cc ./lily/my-lily-lexer.cc
--- ../lilypond-1.5.69/lily/my-lily-lexer.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/my-lily-lexer.cc	Fri Jul 26 12:26:59 2002
@@ -95,29 +95,29 @@ static Keyword_ent the_key_tab[]={
 
 My_lily_lexer::My_lily_lexer ()
 {
-  keytable_p_ = new Keyword_table (the_key_tab);
+  keytable_ = new Keyword_table (the_key_tab);
   toplevel_variable_tab_ = new Scheme_hash_table ;
-  scope_l_arr_.push (toplevel_variable_tab_);
+  scopes_.push (toplevel_variable_tab_);
   
-  errorlevel_i_ = 0;
+  errorlevel_ = 0;
   main_input_b_ = false;
 }
 
 int
 My_lily_lexer::lookup_keyword (String s)
 {
-  return keytable_p_->lookup (s.ch_C ());
+  return keytable_->lookup (s.to_str0 ());
 }
 
 SCM
 My_lily_lexer::lookup_identifier (String s)
 {
-  SCM sym = ly_symbol2scm (s.ch_C ());
+  SCM sym = ly_symbol2scm (s.to_str0 ());
   
-  for (int i = scope_l_arr_.size (); i--;)
+  for (int i = scopes_.size (); i--;)
     {
       SCM val = SCM_UNSPECIFIED;
-      if (scope_l_arr_[i]->try_retrieve (sym, &val))
+      if (scopes_[i]->try_retrieve (sym, &val))
 	return val;
     }
   return SCM_UNSPECIFIED;
@@ -126,7 +126,7 @@ My_lily_lexer::lookup_identifier (String
 void
 My_lily_lexer::start_main_input ()
 {  
-  new_input (main_input_str_, source_global_l);
+  new_input (main_input_string_, source_global);
   allow_includes_b_ = allow_includes_b_ &&  ! (safe_global_b);
 }
 
@@ -143,12 +143,12 @@ My_lily_lexer::set_identifier (SCM name,
       free  (str);
     }
   
-  scope_l_arr_.top ()->set (scm_string_to_symbol (name), s);
+  scopes_.top ()->set (scm_string_to_symbol (name), s);
 }
 
 My_lily_lexer::~My_lily_lexer ()
 {
-  delete keytable_p_;
+  delete keytable_;
   scm_gc_unprotect_object (toplevel_variable_tab_->self_scm ());
 }
 
@@ -163,8 +163,8 @@ My_lily_lexer::LexerError (char const *s
     }
   else
     {
-      errorlevel_i_ |= 1;
-      Input spot (source_file_l (),here_ch_C ());
+      errorlevel_ |= 1;
+      Input spot (get_source_file (),here_str0 ());
       spot.error (s);
     }
 }
@@ -190,6 +190,6 @@ My_lily_lexer::escaped_char (char c) con
 Input
 My_lily_lexer::here_input () const
 {
-  Source_file * f_l= source_file_l ();
-  return Input (f_l, (char*)here_ch_C ());
+  Source_file * f= get_source_file ();
+  return Input (f, (char*)here_str0 ());
 }
diff -purN ../lilypond-1.5.69/lily/my-lily-parser.cc ./lily/my-lily-parser.cc
--- ../lilypond-1.5.69/lily/my-lily-parser.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/my-lily-parser.cc	Fri Jul 26 12:26:59 2002
@@ -15,22 +15,22 @@
 #include "file-results.hh"
 #include "scm-hash.hh"
 
-My_lily_parser::My_lily_parser (Sources * source_l)
+My_lily_parser::My_lily_parser (Sources * source)
 {
-  source_l_ = source_l;
-  lexer_p_ = 0;
+  source_ = source;
+  lexer_ = 0;
   default_duration_ = Duration (2,0);
-  error_level_i_ = 0;
+  error_level_ = 0;
   last_beam_start_ = SCM_EOL;
 
-  default_header_p_ =0;
+  default_header_ =0;
 }
 
 My_lily_parser::~My_lily_parser ()
 {
-  delete lexer_p_;
-  if (default_header_p_)
-    scm_gc_unprotect_object (default_header_p_->self_scm());
+  delete lexer_;
+  if (default_header_)
+    scm_gc_unprotect_object (default_header_->self_scm());
 }
 
 void
@@ -41,46 +41,46 @@ My_lily_parser::set_version_check (bool)
 void
 My_lily_parser::parse_file (String init, String s)
 {
-  lexer_p_ = new My_lily_lexer;
+  lexer_ = new My_lily_lexer;
 
-  lexer_p_->main_input_str_ = s;
+  lexer_->main_input_string_ = s;
 
   progress_indication (_ ("Parsing..."));
 
   set_yydebug (0);
-  lexer_p_->new_input (init, source_l_);
+  lexer_->new_input (init, source_);
   do_yyparse ();
 
   progress_indication ("\n");
   
-  if (!define_spot_array_.empty ())
+  if (!define_spots_.empty ())
     {
-      define_spot_array_.top ().warning (_ ("Braces don't match"));
-      error_level_i_ = 1;
+      define_spots_.top ().warning (_ ("Braces don't match"));
+      error_level_ = 1;
     }
 
-  inclusion_global_array = lexer_p_->filename_str_arr_;
+  inclusion_globals = lexer_->filename_strings_;
 
-  error_level_i_ = error_level_i_ | lexer_p_->errorlevel_i_; // ugh naming.
+  error_level_ = error_level_ | lexer_->errorlevel_; // ugh naming.
 }
 
 void
 My_lily_parser::push_spot ()
 {
-  define_spot_array_.push (here_input ());
+  define_spots_.push (here_input ());
 }
 
 char const *
-My_lily_parser::here_ch_C () const
+My_lily_parser::here_str0 () const
 {
-  return lexer_p_->here_ch_C ();
+  return lexer_->here_str0 ();
 }
 
 void
 My_lily_parser::parser_error (String s)
 {
   here_input ().error (s);
-  error_level_i_ = 1;
+  error_level_ = 1;
   exit_status_global = 1;
 }
 
@@ -89,13 +89,13 @@ My_lily_parser::parser_error (String s)
 Input
 My_lily_parser::pop_spot ()
 {
-  return define_spot_array_.pop ();
+  return define_spots_.pop ();
 }
 
 Input
 My_lily_parser::here_input () const
 {
-  return  lexer_p_->here_input ();
+  return  lexer_->here_input ();
 }
 
 // move me?
@@ -111,7 +111,7 @@ My_lily_parser::paper_description ()
 {
   My_lily_parser * me = current_parser;
 
-  Music_output_def *id = unsmob_music_output_def (me->lexer_p_->lookup_identifier ("$defaultpaper"));
+  Music_output_def *id = unsmob_music_output_def (me->lexer_->lookup_identifier ("$defaultpaper"));
   Paper_def *p = dynamic_cast<Paper_def*> (id->clone ());
 
   SCM al = p->translator_tab_->to_alist ();
diff -purN ../lilypond-1.5.69/lily/new-accidental-engraver.cc ./lily/new-accidental-engraver.cc
--- ../lilypond-1.5.69/lily/new-accidental-engraver.cc	Sun Jul  7 03:32:06 2002
+++ ./lily/new-accidental-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -88,9 +88,9 @@ protected:
   /*
     The next 
    */
-  Array<New_accidental_entry> accidental_arr_;
+  Array<New_accidental_entry> accidentals_;
   
-  Link_array<Grob> tie_arr_;
+  Link_array<Grob> ties_;
 
 
 };
@@ -131,7 +131,7 @@ static void merge_property_on_family (Tr
 				      const char * from_sym, const char * to_sym)
 {
   merge_property_on_children (trans, from_sym, to_sym);
-  trans = trans->daddy_trans_l_;
+  trans = trans->daddy_trans_;
   while (trans)
     {
       SCM from = trans->get_property(from_sym);
@@ -139,7 +139,7 @@ static void merge_property_on_family (Tr
       to = merge_alists_front_x(from, to);
       trans->set_property (to_sym,  to);
       trans->set_property (from_sym, SCM_EOL);
-      trans = trans->daddy_trans_l_;
+      trans = trans->daddy_trans_;
     }
 }
 
@@ -155,11 +155,11 @@ static void set_property_on_children (Tr
 static void set_property_on_family(Translator_group * trans, const char * sym, SCM val)
 {
   set_property_on_children (trans, sym, val);
-  trans = trans->daddy_trans_l_;
+  trans = trans->daddy_trans_;
   while (trans)
     {
       trans -> set_property (sym,  ly_deep_copy (val));
-      trans = trans->daddy_trans_l_;
+      trans = trans->daddy_trans_;
     }
 }
 
@@ -178,12 +178,12 @@ calculates the number of accidentals on 
 
 */
 static int
-number_accidentals (SCM sig, Note_req * note_l, Pitch *pitch, SCM curbarnum, SCM lazyness, 
+number_accidentals (SCM sig, Note_req * note, Pitch *pitch, SCM curbarnum, SCM lazyness, 
 		    bool ignore_octave_b)
 {
-  int n = pitch->notename_i_;
-  int o = pitch->octave_i_;
-  int a = pitch->alteration_i_;
+  int n = pitch->notename_;
+  int o = pitch->octave_;
+  int a = pitch->alteration_;
   int curbarnum_i = gh_scm2int (curbarnum);
   int accbarnum_i = 0;
 
@@ -212,7 +212,7 @@ number_accidentals (SCM sig, Note_req * 
 
   int num;
   if (a == p
-      && !to_boolean (note_l->get_mus_property ("force-accidental"))
+      && !to_boolean (note->get_mus_property ("force-accidental"))
       && gh_number_p (prev_acc))
     num = 0;
   else if ( (abs (a)<abs (p) || p*a<0) && a != 0 )
@@ -224,7 +224,7 @@ number_accidentals (SCM sig, Note_req * 
 }
 
 static int
-number_accidentals (Note_req * note_l, Pitch *pitch, Translator_group * origin_l, 
+number_accidentals (Note_req * note, Pitch *pitch, Translator_group * origin, 
 		    SCM accidentals, SCM curbarnum)
 {
   int number = 0;
@@ -232,16 +232,16 @@ number_accidentals (Note_req * note_l, P
   bool diff = false;
   if (gh_pair_p (accidentals) && !gh_symbol_p (ly_car (accidentals)))
     warning (_f ("Accidental typesetting list must begin with context-name: %s", 
-		 ly_scm2string (ly_car (accidentals)).ch_C ()));
+		 ly_scm2string (ly_car (accidentals)).to_str0 ()));
   
-  while (gh_pair_p (accidentals) && origin_l)
+  while (gh_pair_p (accidentals) && origin)
     {
       // If pair then it is a new accidentals typesetting rule to be checked
       if (gh_pair_p (ly_car (accidentals)))
 	{
 	  SCM type = gh_caar (accidentals);
 	  SCM lazyness = gh_cdar (accidentals);
-	  SCM localsig = origin_l->get_property ("localKeySignature");
+	  SCM localsig = origin->get_property ("localKeySignature");
 	  
 	  bool same_octave_b = 
 	    gh_eq_p (ly_symbol2scm ("same-octave"), type);
@@ -251,13 +251,13 @@ number_accidentals (Note_req * note_l, P
 	  if (same_octave_b || any_octave_b)
 	    {
 	      int n = number_accidentals
-		(localsig, note_l, pitch, curbarnum, lazyness, any_octave_b);
+		(localsig, note, pitch, curbarnum, lazyness, any_octave_b);
 	      diff = diff || (n < 0);
 	      number = max (number, abs (n));     
 	    }
 	  else
 	    warning (_f ("unknown accidental typesetting: %s. Ignored", 
-			 ly_symbol2string (type).ch_C ()));
+			 ly_symbol2string (type).to_str0 ()));
 	}
       
 
@@ -268,15 +268,15 @@ number_accidentals (Note_req * note_l, P
 	{
 	  String context = ly_symbol2string (ly_car (accidentals));
 	  
-	  while (origin_l && !origin_l->is_alias_b (context))
-	    origin_l = origin_l->daddy_trans_l_;
+	  while (origin && !origin->is_alias_b (context))
+	    origin = origin->daddy_trans_;
       
-	  if (!origin_l)
+	  if (!origin)
 	    warning (_f ("Symbol is not a parent context: %s. Ignored", 
-			 context.ch_C ()));
+			 context.to_str0 ()));
 	}
       else warning (_f ("Accidental typesetting must be pair or context-name: %s", 
-			ly_scm2string (ly_car (accidentals)).ch_C ()));
+			ly_scm2string (ly_car (accidentals)).to_str0 ()));
       
       accidentals = ly_cdr (accidentals);
     }
@@ -296,40 +296,40 @@ New_accidental_engraver::process_grobs_f
   SCM cautionaries =  get_property ("autoCautionaries");
   SCM barnum = get_property ("currentBarNumber");
 
-  for (int i = 0; i  < accidental_arr_.size (); i++) 
+  for (int i = 0; i  < accidentals_.size (); i++) 
     {
-      if (accidental_arr_[i].pass_done_ >= 1)
+      if (accidentals_[i].pass_done_ >= 1)
 	continue;
-      accidental_arr_[i].pass_done_  = 1;
+      accidentals_[i].pass_done_  = 1;
 
-      Grob * support_l = accidental_arr_[i].head_;
-      Note_req * note_l = accidental_arr_[i].melodic_;
-      Translator_group * origin_l = accidental_arr_[i].origin_;
-      Pitch * pitch = unsmob_pitch (note_l->get_mus_property ("pitch"));
+      Grob * support = accidentals_[i].head_;
+      Note_req * note = accidentals_[i].melodic_;
+      Translator_group * origin = accidentals_[i].origin_;
+      Pitch * pitch = unsmob_pitch (note->get_mus_property ("pitch"));
 
       int num;
-      num = number_accidentals (note_l, pitch, origin_l, accidentals, barnum);
-      accidental_arr_[i].number_accidentals_ = abs(num);
-      accidental_arr_[i].different_ = num<0;
-
-      num = number_accidentals (note_l, pitch, origin_l, cautionaries, barnum);
-      accidental_arr_[i].number_cautionaries_ = abs(num);
-      accidental_arr_[i].different_ = accidental_arr_[i].different_ || num<0;
+      num = number_accidentals (note, pitch, origin, accidentals, barnum);
+      accidentals_[i].number_accidentals_ = abs(num);
+      accidentals_[i].different_ = num<0;
+
+      num = number_accidentals (note, pitch, origin, cautionaries, barnum);
+      accidentals_[i].number_cautionaries_ = abs(num);
+      accidentals_[i].different_ = accidentals_[i].different_ || num<0;
 
       bool tie_changes = false;
-      for (int j = 0; j < tie_arr_.size (); j++)
-	if (support_l == Tie::head (tie_arr_[j], RIGHT))
-	  tie_changes = accidental_arr_[i].different_;
-      int n = pitch->notename_i_;
-      int o = pitch->octave_i_;
-      int a = pitch->alteration_i_;
+      for (int j = 0; j < ties_.size (); j++)
+	if (support == Tie::head (ties_[j], RIGHT))
+	  tie_changes = accidentals_[i].different_;
+      int n = pitch->notename_;
+      int o = pitch->octave_;
+      int a = pitch->alteration_;
       SCM o_s = gh_int2scm (o);
       SCM n_s = gh_int2scm (n);
       SCM on_s = gh_cons (o_s,n_s);
       
-      while (origin_l)
+      while (origin)
 	{
-	  SCM sigch = origin_l->get_property ("localKeySignatureChanges");
+	  SCM sigch = origin->get_property ("localKeySignatureChanges");
 	  SCM alt;
 	  if (tie_changes)
 	    /*
@@ -359,8 +359,8 @@ New_accidental_engraver::process_grobs_f
 	  if(other_alt_any_oct && !other_alt_same_oct) {
 	    sigch = ly_assoc_front_x (sigch, on_s, gh_cons(SCM_BOOL_T,barnum));
 	  }
-	  origin_l->set_property ("localKeySignatureChanges",  sigch);
-	  origin_l = origin_l->daddy_trans_l_;  
+	  origin->set_property ("localKeySignatureChanges",  sigch);
+	  origin = origin->daddy_trans_;  
 	}
     }
 }
@@ -373,52 +373,52 @@ New_accidental_engraver::process_grobs_s
   SCM barnum = get_property ("currentBarNumber");
   
   bool extra_natural_b = get_property ("extraNatural") == SCM_BOOL_T;
-  for (int i = 0; i  < accidental_arr_.size (); i++) 
+  for (int i = 0; i  < accidentals_.size (); i++) 
     {
-      if (accidental_arr_[i].pass_done_ >= 2)
+      if (accidentals_[i].pass_done_ >= 2)
 	continue;
-      accidental_arr_[i].pass_done_  = 2;
-      Grob * support_l = accidental_arr_[i].head_;
-      Note_req * note_l = accidental_arr_[i].melodic_;
-      Translator_group * origin_l = accidental_arr_[i].origin_;
+      accidentals_[i].pass_done_  = 2;
+      Grob * support = accidentals_[i].head_;
+      Note_req * note = accidentals_[i].melodic_;
+      Translator_group * origin = accidentals_[i].origin_;
       
-      Pitch * pitch = unsmob_pitch (note_l->get_mus_property ("pitch"));
+      Pitch * pitch = unsmob_pitch (note->get_mus_property ("pitch"));
 
       int num;
-      num = number_accidentals (note_l, pitch, origin_l, accidentals, barnum);
-      accidental_arr_[i].number_accidentals_ =
-	max (accidental_arr_[i].number_accidentals_, abs(num));
-      accidental_arr_[i].different_ = accidental_arr_[i].different_ || num<0;
-
-      num = number_accidentals (note_l, pitch, origin_l, cautionaries, barnum);
-      accidental_arr_[i].number_cautionaries_ =
-	max (accidental_arr_[i].number_cautionaries_, abs(num));
-      accidental_arr_[i].different_ = accidental_arr_[i].different_ || num<0;
+      num = number_accidentals (note, pitch, origin, accidentals, barnum);
+      accidentals_[i].number_accidentals_ =
+	max (accidentals_[i].number_accidentals_, abs(num));
+      accidentals_[i].different_ = accidentals_[i].different_ || num<0;
+
+      num = number_accidentals (note, pitch, origin, cautionaries, barnum);
+      accidentals_[i].number_cautionaries_ =
+	max (accidentals_[i].number_cautionaries_, abs(num));
+      accidentals_[i].different_ = accidentals_[i].different_ || num<0;
 
 
-      bool cautionary = to_boolean (note_l->get_mus_property ("cautionary"));
+      bool cautionary = to_boolean (note->get_mus_property ("cautionary"));
       
-      if (accidental_arr_[i].number_cautionaries_ >accidental_arr_[i].number_accidentals_ )
+      if (accidentals_[i].number_cautionaries_ >accidentals_[i].number_accidentals_ )
 	{
-	  num = accidental_arr_[i].number_cautionaries_;
+	  num = accidentals_[i].number_cautionaries_;
 	  cautionary = true;
 	}
       else
-	  num = accidental_arr_[i].number_accidentals_;
+	  num = accidentals_[i].number_accidentals_;
 
       bool tie_changes = false;
       Grob *tie_break_reminder = 0;
-      for (int j = 0; j < tie_arr_.size (); j++)
-	if (support_l == Tie::head (tie_arr_[j], RIGHT))
+      for (int j = 0; j < ties_.size (); j++)
+	if (support == Tie::head (ties_[j], RIGHT))
 	  {
-	    tie_changes = accidental_arr_[i].different_;
-	    tie_break_reminder = tie_arr_[j];
+	    tie_changes = accidentals_[i].different_;
+	    tie_break_reminder = ties_[j];
 	  }
       
       if (num)
 	{
 	  Grob * a = new Item (get_property ("Accidental"));
-	  a->set_parent (support_l, Y_AXIS);
+	  a->set_parent (support, Y_AXIS);
 	  
 	  if (!accidental_placement_)
 	    {
@@ -430,7 +430,7 @@ New_accidental_engraver::process_grobs_s
 	  announce_grob (a, SCM_EOL);
 	  
 	  
-	  SCM accs = gh_cons (gh_int2scm (pitch->alteration_i_), SCM_EOL);
+	  SCM accs = gh_cons (gh_int2scm (pitch->alteration_), SCM_EOL);
 	  if (num == 2 && extra_natural_b)
 	    accs = gh_cons (gh_int2scm (0), accs);
 	  
@@ -445,10 +445,10 @@ New_accidental_engraver::process_grobs_s
 	    }
 	  
 	  
-	  support_l->set_grob_property ("accidental-grob", a->self_scm ());
+	  support->set_grob_property ("accidental-grob", a->self_scm ());
 	  
 	  a->set_grob_property ("accidentals", accs);
-	  accidental_arr_[i].accidental_ = a;
+	  accidentals_[i].accidental_ = a;
 	  /*
 	    We add the accidentals to the support of the arpeggio, so it is
 	    put left of the accidentals. 
@@ -462,7 +462,7 @@ New_accidental_engraver::process_grobs_s
 void
 New_accidental_engraver::process_acknowledged_grobs ()
 {
-  if (accidental_arr_.size () && accidental_arr_.top().pass_done_ < 1)
+  if (accidentals_.size () && accidentals_.top().pass_done_ < 1)
     process_grobs_first_pass ();
 }
 
@@ -475,13 +475,13 @@ New_accidental_engraver::finalize ()
 void
 New_accidental_engraver::stop_translation_timestep ()
 {
-  merge_property_on_family(daddy_trans_l_, "localKeySignatureChanges", "localKeySignature");
-  if (accidental_arr_.size () && accidental_arr_.top().pass_done_ < 2)
+  merge_property_on_family(daddy_trans_, "localKeySignatureChanges", "localKeySignature");
+  if (accidentals_.size () && accidentals_.top().pass_done_ < 2)
     process_grobs_second_pass ();
 
-  for (int i = 0; i < accidental_arr_.size(); i++)
+  for (int i = 0; i < accidentals_.size(); i++)
     {
-      Grob *a = accidental_arr_[i].accidental_;
+      Grob *a = accidentals_[i].accidental_;
       if (a)
 	{
 	  typeset_grob (a);
@@ -492,33 +492,33 @@ New_accidental_engraver::stop_translatio
     typeset_grob(accidental_placement_);
   accidental_placement_ = 00;
 
-  set_property_on_family(daddy_trans_l_, "localKeySignatureChanges", SCM_EOL);  
-  accidental_arr_.clear();
+  set_property_on_family(daddy_trans_, "localKeySignatureChanges", SCM_EOL);  
+  accidentals_.clear();
   arpeggios_.clear ();
-  tie_arr_.clear ();
+  ties_.clear ();
 }
 
 void
 New_accidental_engraver::acknowledge_grob (Grob_info info)
 {
-  Note_req * note_l =  dynamic_cast <Note_req *> (info.music_cause ());
+  Note_req * note =  dynamic_cast <Note_req *> (info.music_cause ());
 
-  if (note_l && Rhythmic_head::has_interface (info.grob_l_))
+  if (note && Rhythmic_head::has_interface (info.grob_))
     {
       New_accidental_entry entry ;
-      entry.head_ = info.grob_l_;
-      entry.origin_ = info.origin_trans_l_->daddy_trans_l_;
-      entry.melodic_ = note_l;
+      entry.head_ = info.grob_;
+      entry.origin_ = info.origin_trans_->daddy_trans_;
+      entry.melodic_ = note;
 
-      accidental_arr_.push (entry);
+      accidentals_.push (entry);
     }
-  else if (Tie::has_interface (info.grob_l_))
+  else if (Tie::has_interface (info.grob_))
     {
-      tie_arr_.push (info.grob_l_);
+      ties_.push (info.grob_);
     }
-  else if (Arpeggio::has_interface (info.grob_l_))
+  else if (Arpeggio::has_interface (info.grob_))
     {
-      arpeggios_.push (info.grob_l_); 
+      arpeggios_.push (info.grob_); 
     }
   
 }
@@ -533,8 +533,8 @@ New_accidental_engraver::process_music (
   */
   if (last_keysig_ != sig)
     {
-      set_property_on_family(daddy_trans_l_, "localKeySignature", sig);
-      set_property_on_family(daddy_trans_l_, "localKeySignatureChanges", SCM_EOL); //This souldn't be neccesary
+      set_property_on_family(daddy_trans_, "localKeySignature", sig);
+      set_property_on_family(daddy_trans_, "localKeySignatureChanges", SCM_EOL); //This souldn't be neccesary
       last_keysig_ = sig;
     }
 }
diff -purN ../lilypond-1.5.69/lily/note-collision.cc ./lily/note-collision.cc
--- ../lilypond-1.5.69/lily/note-collision.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/note-collision.cc	Fri Jul 26 12:26:59 2002
@@ -52,8 +52,8 @@ check_meshing_chords (Grob*me,
   Grob *cu =clash_groups[UP][0];
   Grob *cd =clash_groups[DOWN][0];
 
-  Grob * nu_l= Note_column::first_head (cu);
-  Grob * nd_l = Note_column::first_head (cd);
+  Grob * nu= Note_column::first_head (cu);
+  Grob * nd = Note_column::first_head (cd);
       
      
 
@@ -83,8 +83,8 @@ check_meshing_chords (Grob*me,
   /*
     Let's not crash. 
    */
-  if (!Note_column::stem_l (cu)
-      || !Note_column::stem_l (cd))
+  if (!Note_column::get_stem (cu)
+      || !Note_column::get_stem (cd))
     return ;
   
   
@@ -101,8 +101,8 @@ check_meshing_chords (Grob*me,
 
     
    */
-  Array<int> ups = Stem::note_head_positions (Note_column::stem_l (cu));
-  Array<int> dps = Stem::note_head_positions (Note_column::stem_l (cd));
+  Array<int> ups = Stem::note_head_positions (Note_column::get_stem (cu));
+  Array<int> dps = Stem::note_head_positions (Note_column::get_stem (cd));
 
   /*
     they're too far apart to collide. 
@@ -120,13 +120,13 @@ check_meshing_chords (Grob*me,
     don't merge whole notes (or longer, like breve, longa, maxima) 
    */
 
-  int upball_type = Note_head::balltype_i (nu_l);
-  int dnball_type = Note_head::balltype_i (nd_l);
+  int upball_type = Note_head::get_balltype (nu);
+  int dnball_type = Note_head::get_balltype (nd);
   
   merge_possible = merge_possible && (upball_type > 0);
 
   if (!to_boolean (me->get_grob_property ("merge-differently-dotted")))
-    merge_possible = merge_possible && Rhythmic_head::dot_count (nu_l) == Rhythmic_head::dot_count (nd_l);
+    merge_possible = merge_possible && Rhythmic_head::dot_count (nu) == Rhythmic_head::dot_count (nd);
 
   
   if (!to_boolean (me->get_grob_property ("merge-differently-headed")))
@@ -137,10 +137,10 @@ check_meshing_chords (Grob*me,
       Can't merge quarter and half notes.
      */
     merge_possible = merge_possible &&
-      !((Rhythmic_head::duration_log (nu_l) == 1
-	 && Rhythmic_head::duration_log (nd_l) == 2)
-	||(Rhythmic_head::duration_log (nu_l) == 2
-	   && Rhythmic_head::duration_log (nd_l) == 1));
+      !((Rhythmic_head::duration_log (nu) == 1
+	 && Rhythmic_head::duration_log (nd) == 2)
+	||(Rhythmic_head::duration_log (nu) == 2
+	   && Rhythmic_head::duration_log (nd) == 1));
 
   int i = 0, j=0;
   while (i < ups.size () && j < dps.size ())
@@ -185,7 +185,7 @@ check_meshing_chords (Grob*me,
     for full collisions, the right hand head may obscure dots, so
     make sure the dotted heads go to the right.
    */
-  if ((Rhythmic_head::dot_count (nu_l) > Rhythmic_head::dot_count (nd_l)
+  if ((Rhythmic_head::dot_count (nu) > Rhythmic_head::dot_count (nd)
        && full_collide))
     shift_amount = 1;
 
@@ -199,9 +199,9 @@ check_meshing_chords (Grob*me,
       Grob *wipe_ball = 0;
       
       if (upball_type  <  dnball_type)
-	wipe_ball = nd_l;
+	wipe_ball = nd;
       else if (upball_type > dnball_type)
-	wipe_ball = nu_l;
+	wipe_ball = nu;
 
       if (wipe_ball)
 	{
@@ -219,7 +219,7 @@ check_meshing_chords (Grob*me,
   /*
     we're meshing.
   */
-  else if (Rhythmic_head::dot_count (nu_l) || Rhythmic_head::dot_count (nd_l))
+  else if (Rhythmic_head::dot_count (nu) || Rhythmic_head::dot_count (nd))
     shift_amount *= 0.1;
   else
     shift_amount *= 0.25;
@@ -271,7 +271,7 @@ Note_collision_interface::do_shifts (Gro
       Grob * s = unsmob_grob (ly_caar (autos));
       Real amount = gh_scm2double (ly_cdar (autos));
       
-      if (!done.find_l (s))
+      if (!done.find (s))
 	s->translate_axis (amount * wid, X_AXIS);
     }
 }
@@ -422,11 +422,11 @@ Note_collision_interface::forced_shift (
 }
 
 void
-Note_collision_interface::add_column (Grob*me,Grob* ncol_l)
+Note_collision_interface::add_column (Grob*me,Grob* ncol)
 {
-  ncol_l->add_offset_callback (Note_collision_interface::force_shift_callback_proc, X_AXIS);
-  Axis_group_interface::add_element (me, ncol_l);
-  me->add_dependency (ncol_l);
+  ncol->add_offset_callback (Note_collision_interface::force_shift_callback_proc, X_AXIS);
+  Axis_group_interface::add_element (me, ncol);
+  me->add_dependency (ncol);
 }
 
 
diff -purN ../lilypond-1.5.69/lily/note-column.cc ./lily/note-column.cc
--- ../lilypond-1.5.69/lily/note-column.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/note-column.cc	Fri Jul 26 12:26:59 2002
@@ -36,7 +36,7 @@ Note_column::shift_compare (Grob *const 
 }
 
 Item *
-Note_column::stem_l (Grob*me) 
+Note_column::get_stem (Grob*me) 
 {
   SCM s = me->get_grob_property ("stem");
   return  unsmob_item (s);
@@ -54,7 +54,7 @@ Note_column::head_positions_interval (Gr
     {
       Grob *se = unsmob_grob (ly_car (h));
       
-      int j = int (Staff_symbol_referencer::position_f (se));
+      int j = int (Staff_symbol_referencer::get_position (se));
       iv.unite (Slice (j,j));
     }
   return iv;
@@ -75,11 +75,11 @@ Note_column::dir (Grob*  me)
 
 
 void
-Note_column::set_stem (Grob*me,Grob * stem_l)
+Note_column::set_stem (Grob*me,Grob * stem)
 {
-  me->set_grob_property ("stem", stem_l->self_scm ());
-  me->add_dependency (stem_l);
-  Axis_group_interface::add_element (me, stem_l);
+  me->set_grob_property ("stem", stem->self_scm ());
+  me->add_dependency (stem);
+  Axis_group_interface::add_element (me, stem);
 }
 
 void
@@ -123,7 +123,7 @@ Note_column::set_dotcol (Grob*me,Grob *d
 Grob*
 Note_column::first_head (Grob*me) 
 {
-  Grob * st = stem_l (me);
+  Grob * st = get_stem (me);
   return st?  Stem::first_head (st): 0; 
 }
 
diff -purN ../lilypond-1.5.69/lily/note-head-line-engraver.cc ./lily/note-head-line-engraver.cc
--- ../lilypond-1.5.69/lily/note-head-line-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/note-head-line-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -75,16 +75,16 @@ Note_head_line_engraver::try_music (Musi
 void
 Note_head_line_engraver::acknowledge_grob (Grob_info info)
 {
-  if (Rhythmic_head::has_interface (info.grob_l_))
+  if (Rhythmic_head::has_interface (info.grob_))
     {
-      head_ = info.grob_l_;
+      head_ = info.grob_;
       if (to_boolean (get_property ("followVoice")))
 	{
-	  Translator_group  * tr = daddy_trans_l_;
-	  while (tr && tr->type_str_ != "Staff")
-	    tr = tr->daddy_trans_l_ ;
+	  Translator_group  * tr = daddy_trans_;
+	  while (tr && tr->type_string_ != "Staff")
+	    tr = tr->daddy_trans_ ;
 
-	  if (tr && tr->type_str_ == "Staff" && tr != last_staff_)
+	  if (tr && tr->type_string_ == "Staff" && tr != last_staff_)
 	    {
 	      if (last_head_)
 		follow_ = true;
@@ -117,7 +117,7 @@ Note_head_line_engraver::process_acknowl
 	  /* Note, mustn't set y-parent of breakable symbol to simple item:
 	     one of the two broken parts won't have an y-parent! */
 	  /* X parent is set by set_bound */
-      line_->set_parent (Staff_symbol_referencer::staff_symbol_l (last_head_),
+      line_->set_parent (Staff_symbol_referencer::get_staff_symbol (last_head_),
 			 Y_AXIS);
 	  
       SCM c = last_req_? last_req_->self_scm () : SCM_EOL;
diff -purN ../lilypond-1.5.69/lily/note-head.cc ./lily/note-head.cc
--- ../lilypond-1.5.69/lily/note-head.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/note-head.cc	Fri Jul 26 12:26:59 2002
@@ -73,9 +73,9 @@ Note_head::brew_ledger_lines (Grob *me,
   if (lines_i)
     {
       Real ledgerlinethickness =
-	(me->paper_l ()->get_var ("ledgerlinethickness"));
+	(me->get_paper ()->get_var ("ledgerlinethickness"));
       Real blotdiameter = ledgerlinethickness;
-      //	(me->paper_l ()->get_var ("blotdiameter"));
+      //	(me->get_paper ()->get_var ("blotdiameter"));
       Interval y_extent =
 	Interval (-0.5*(ledgerlinethickness),
 		  +0.5*(ledgerlinethickness));
@@ -116,7 +116,7 @@ internal_brew_molecule (Grob *me,  bool 
 
     UGH: use grob-property.
   */
-  SCM log = gh_int2scm (Note_head::balltype_i (me));
+  SCM log = gh_int2scm (Note_head::get_balltype (me));
   SCM exp = scm_list_n (ly_symbol2scm ("find-notehead-symbol"), log,
 			ly_quote_scm (style),
 			SCM_UNDEFINED);
@@ -124,11 +124,11 @@ internal_brew_molecule (Grob *me,  bool 
   Molecule out = Font_interface::get_default_font (me)->find_by_name (name);
   if (out.empty_b())
     {
-      warning (_f("Symbol not found, ", name.ch_C()));
+      warning (_f("Symbol not found, ", name.to_str0 ()));
     }
   
   int interspaces = Staff_symbol_referencer::line_count (me)-1;
-  int pos = (int)rint (Staff_symbol_referencer::position_f (me));
+  int pos = (int)rint (Staff_symbol_referencer::get_position (me));
   if (abs (pos) - interspaces > 1)
     {
       Interval hd = out.extent (X_AXIS);
@@ -190,7 +190,7 @@ SCM
 Note_head::brew_ez_molecule (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
-  int l = Note_head::balltype_i (me);
+  int l = Note_head::get_balltype (me);
 
   int b = (l >= 2);
 
@@ -199,7 +199,7 @@ Note_head::brew_ez_molecule (SCM smob)
   Pitch* pit =  unsmob_pitch (spitch);
 
   char s[2] = "a";
-  s[0] = (pit->notename_i_ + 2)%7 + 'a';
+  s[0] = (pit->notename_ + 2)%7 + 'a';
   s[0] = toupper (s[0]);
   
   SCM charstr = ly_str02scm (s);
@@ -212,7 +212,7 @@ Note_head::brew_ez_molecule (SCM smob)
   Box bx (Interval (0, 1.0), Interval (-0.5, 0.5));
   Molecule m (bx, at);
 
-  int pos = (int)rint (Staff_symbol_referencer::position_f (me));
+  int pos = (int)rint (Staff_symbol_referencer::get_position (me));
   int interspaces = Staff_symbol_referencer::line_count (me)-1;
   if (abs (pos) - interspaces > 1)
     {
@@ -247,7 +247,7 @@ Note_head::stem_attachment_coordinate (G
 
 
 int
-Note_head::balltype_i (Grob*me) 
+Note_head::get_balltype (Grob*me) 
 {
   SCM s = me->get_grob_property ("duration-log");
   return gh_number_p (s) ? gh_scm2int (s) <? 2 : 0;
diff -purN ../lilypond-1.5.69/lily/note-heads-engraver.cc ./lily/note-heads-engraver.cc
--- ../lilypond-1.5.69/lily/note-heads-engraver.cc	Wed Jul 17 15:18:45 2002
+++ ./lily/note-heads-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -20,17 +20,17 @@
  */
 class Note_heads_engraver : public Engraver
 {
-  Link_array<Item> note_p_arr_;
+  Link_array<Item> notes_;
   
-  Link_array<Item> dot_p_arr_;
-  Link_array<Note_req> note_req_l_arr_;
+  Link_array<Item> dots_;
+  Link_array<Note_req> note_reqs_;
 
 public:
   TRANSLATOR_DECLARATIONS(Note_heads_engraver);
 
 protected:
   virtual void start_translation_timestep ();
-  virtual bool try_music (Music *req_l) ;
+  virtual bool try_music (Music *req) ;
   virtual void process_music ();
 
   virtual void stop_translation_timestep ();
@@ -49,12 +49,12 @@ Note_heads_engraver::try_music (Music *m
 {
   if (Note_req * n =dynamic_cast <Note_req *> (m))
     {
-      note_req_l_arr_.push (n);
+      note_reqs_.push (n);
       return true;
     }
   else if (dynamic_cast<Busy_playing_req*> (m))
     {
-      return note_req_l_arr_.size ();
+      return note_reqs_.size ();
     }
   else if (Span_req *req_ = dynamic_cast<Span_req*> (m))
     {
@@ -77,29 +77,29 @@ Note_heads_engraver::try_music (Music *m
 void
 Note_heads_engraver::process_music ()
 {
-  for (int i=0; i < note_req_l_arr_.size (); i++)
+  for (int i=0; i < note_reqs_.size (); i++)
     {
-      Item *note_p =
+      Item *note =
 	new Item (get_property ((in_ligature) ? "LigatureHead" : "NoteHead"));
 
-      Music * req = note_req_l_arr_[i];
+      Music * req = note_reqs_[i];
       
       Duration dur = *unsmob_duration (req->get_mus_property ("duration"));
 
-      note_p->set_grob_property ("duration-log", gh_int2scm (dur.duration_log ()));
+      note->set_grob_property ("duration-log", gh_int2scm (dur.duration_log ()));
 
       if (dur.dot_count ())
 	{
 	  Item * d = new Item (get_property ("Dots"));
-	  Rhythmic_head::set_dots (note_p, d);
+	  Rhythmic_head::set_dots (note, d);
 	  
 	  if (dur.dot_count ()
 	      != gh_scm2int (d->get_grob_property ("dot-count")))
 	    d->set_grob_property ("dot-count", gh_int2scm (dur.dot_count ()));
 
-	  d->set_parent (note_p, Y_AXIS);
+	  d->set_parent (note, Y_AXIS);
 	  announce_grob (d, SCM_EOL);
-	  dot_p_arr_.push (d);
+	  dots_.push (d);
 	}
 
       Pitch *pit =unsmob_pitch (req->get_mus_property ("pitch"));
@@ -109,28 +109,28 @@ Note_heads_engraver::process_music ()
       if (gh_number_p (c0))
 	pos += gh_scm2int (c0);
 
-      note_p->set_grob_property ("staff-position",   gh_int2scm (pos));
-      announce_grob (note_p,req->self_scm());
-      note_p_arr_.push (note_p);
+      note->set_grob_property ("staff-position",   gh_int2scm (pos));
+      announce_grob (note,req->self_scm());
+      notes_.push (note);
     }
 }
 
 void
 Note_heads_engraver::stop_translation_timestep ()
 {
-  for (int i=0; i < note_p_arr_.size (); i++)
+  for (int i=0; i < notes_.size (); i++)
     {
-      typeset_grob (note_p_arr_[i]);
+      typeset_grob (notes_[i]);
     }
 
-  note_p_arr_.clear ();
-  for (int i=0; i < dot_p_arr_.size (); i++)
+  notes_.clear ();
+  for (int i=0; i < dots_.size (); i++)
     {
-      typeset_grob (dot_p_arr_[i]);
+      typeset_grob (dots_[i]);
     }
-  dot_p_arr_.clear ();
+  dots_.clear ();
   
-  note_req_l_arr_.clear ();
+  note_reqs_.clear ();
 }
 
 void
diff -purN ../lilypond-1.5.69/lily/note-name-engraver.cc ./lily/note-name-engraver.cc
--- ../lilypond-1.5.69/lily/note-name-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/note-name-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -16,7 +16,7 @@ class Note_name_engraver : public Engrav
 public:
   TRANSLATOR_DECLARATIONS(Note_name_engraver);
 
-  Link_array<Note_req> req_l_arr_;
+  Link_array<Note_req> reqs_;
   Link_array<Item> texts_;
   virtual bool  try_music (Music*m);
   virtual void process_acknowledged_grobs ();
@@ -28,7 +28,7 @@ Note_name_engraver::try_music (Music *m)
 {
   if (Note_req *r = dynamic_cast<Note_req* > (m))
     {
-      req_l_arr_.push (r);
+      reqs_.push (r);
       return true;
     }
   return false;
@@ -40,17 +40,17 @@ Note_name_engraver::process_acknowledged
   if (texts_.size ())
     return;
   String s ;
-  for (int i=0; i < req_l_arr_.size (); i++)
+  for (int i=0; i < reqs_.size (); i++)
     {
       if (i)
 	s += " ";
-      s += unsmob_pitch (req_l_arr_[i]->get_mus_property ("pitch"))->str ();
+      s += unsmob_pitch (reqs_[i]->get_mus_property ("pitch"))->string ();
     }
-  if (s.length_i ())
+  if (s.length ())
     {
       Item * t = new Item (get_property ("NoteName"));
-      t->set_grob_property ("text", ly_str02scm (s.ch_C ()));
-      announce_grob(t, req_l_arr_[0]->self_scm());
+      t->set_grob_property ("text", ly_str02scm (s.to_str0 ()));
+      announce_grob(t, reqs_[0]->self_scm());
       texts_.push (t);
     }
 }
@@ -63,7 +63,7 @@ Note_name_engraver::stop_translation_tim
       typeset_grob (texts_[i]);
     }
   texts_.clear () ;
-  req_l_arr_.clear ();
+  reqs_.clear ();
 }
 
 
diff -purN ../lilypond-1.5.69/lily/note-performer.cc ./lily/note-performer.cc
--- ../lilypond-1.5.69/lily/note-performer.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/note-performer.cc	Fri Jul 26 12:26:59 2002
@@ -21,22 +21,22 @@ public:
   TRANSLATOR_DECLARATIONS(Note_performer);
   
 protected:
-  virtual bool try_music (Music *req_l) ;
+  virtual bool try_music (Music *req) ;
 
   virtual void stop_translation_timestep ();
   virtual void create_audio_elements ();
-  Global_translator* global_translator_l ();
+  Global_translator* get_global_translator ();
 
 private:
-  Array<Note_req*> note_req_l_arr_;
-  Array<Audio_note*> note_p_arr_;
-  Array<Audio_note*> delayed_p_arr_;
+  Array<Note_req*> note_reqs_;
+  Array<Audio_note*> notes_;
+  Array<Audio_note*> delayeds_;
 };
 
 void 
 Note_performer::create_audio_elements ()
 {
-  if (note_req_l_arr_.size ())
+  if (note_reqs_.size ())
     {
       int transposing_i = 0;
       //urg
@@ -44,32 +44,32 @@ Note_performer::create_audio_elements ()
       if (gh_number_p (prop)) 
 	transposing_i = gh_scm2int (prop);
 
-      while (note_req_l_arr_.size ())
+      while (note_reqs_.size ())
 	{
-	  Note_req* n = note_req_l_arr_.pop ();
+	  Note_req* n = note_reqs_.pop ();
 	  Pitch pit =  * unsmob_pitch (n->get_mus_property ("pitch"));
 	  Audio_note* p = new Audio_note (pit,  n->length_mom (), transposing_i);
 	  Audio_element_info info (p, n);
 	  announce_element (info);
-	  note_p_arr_.push (p);
+	  notes_.push (p);
 	}
-      note_req_l_arr_.clear ();
+      note_reqs_.clear ();
     }
 }
 
 Global_translator*
-Note_performer::global_translator_l ()
+Note_performer::get_global_translator ()
 {
   Translator *t = this;
-  Global_translator *global_l =0;
+  Global_translator *global =0;
   do
     {
-      t = t->daddy_trans_l_ ;
-      global_l = dynamic_cast<Global_translator*> (t);
+      t = t->daddy_trans_ ;
+      global = dynamic_cast<Global_translator*> (t);
     }
-  while (!global_l);
+  while (!global);
 
-  return global_l;
+  return global;
 }
 
 
@@ -79,47 +79,47 @@ Note_performer::stop_translation_timeste
 
   // why don't grace notes show up here?
   // --> grace notes effectively do not get delayed
-  Global_translator* global_l = global_translator_l ();
-  for (int i=0; i < note_p_arr_.size (); i++)
+  Global_translator* global = get_global_translator ();
+  for (int i=0; i < notes_.size (); i++)
     {
-      Audio_note* n = note_p_arr_[i];
+      Audio_note* n = notes_[i];
       Moment m= n->delayed_until_mom_;
       if (m.to_bool ())
 	{
-	  global_l->add_moment_to_process (m);
-	  delayed_p_arr_.push (n);
-	  note_p_arr_[i] = 0;
-	  note_p_arr_.del (i);
+	  global->add_moment_to_process (m);
+	  delayeds_.push (n);
+	  notes_[i] = 0;
+	  notes_.del (i);
 	  i--;
 	}
     }
 
   Moment now = now_mom ();
-  for (int i=0; i < note_p_arr_.size (); i++)
+  for (int i=0; i < notes_.size (); i++)
     {
-      play_element (note_p_arr_[i]);
+      play_element (notes_[i]);
     }
-  note_p_arr_.clear ();
-  note_req_l_arr_.clear ();
-  for (int i=0; i < delayed_p_arr_.size (); i++)
+  notes_.clear ();
+  note_reqs_.clear ();
+  for (int i=0; i < delayeds_.size (); i++)
     {
-      Audio_note* n = delayed_p_arr_[i];
+      Audio_note* n = delayeds_[i];
       if (n->delayed_until_mom_ <= now)
 	{
 	  play_element (n);
-	  delayed_p_arr_[i] = 0;
-	  delayed_p_arr_.del (i);
+	  delayeds_[i] = 0;
+	  delayeds_.del (i);
 	  i--;
 	}
     }
 }
  
 bool
-Note_performer::try_music (Music* req_l)
+Note_performer::try_music (Music* req)
 {
-  if (Note_req *nr = dynamic_cast <Note_req *> (req_l))
+  if (Note_req *nr = dynamic_cast <Note_req *> (req))
     {
-      note_req_l_arr_.push (nr);
+      note_reqs_.push (nr);
       return true;
     }
   return false;
diff -purN ../lilypond-1.5.69/lily/note-spacing.cc ./lily/note-spacing.cc
--- ../lilypond-1.5.69/lily/note-spacing.cc	Wed Jul  3 13:57:22 2002
+++ ./lily/note-spacing.cc	Fri Jul 26 12:26:59 2002
@@ -17,7 +17,7 @@
 #include "stem.hh"
 #include "separation-item.hh"
 #include "staff-spacing.hh"
-
+#include "accidental-placement.hh"
 
 void
 Note_spacing::get_spacing (Grob *me, Item* right_col,
@@ -49,13 +49,13 @@ Note_spacing::get_spacing (Grob *me, Ite
 	  if (!it)
 	    continue; 
 
-	  Item *it_col = it->column_l ();
+	  Item *it_col = it->get_column ();
 	  if (d == RIGHT && right_col != it_col)
 	    continue;
 	  
 	  if (Separation_item::has_interface (it))
 	    {
-	      extents[d].unite (Separation_item::my_width (it));
+	      extents[d].unite (Separation_item::width (it));
 	      continue;
 	    }
 
@@ -78,7 +78,12 @@ Note_spacing::get_spacing (Grob *me, Ite
 		accs = Note_column::accidentals (it->get_parent (X_AXIS));
 	      
 	      if (accs)
-		extents[d].unite (accs->extent (it_col, X_AXIS));
+		{
+		  Interval v =
+		    Accidental_placement::get_relevant_accidental_extent (accs, it_col, me);
+		    
+		  extents[d].unite (v);
+		}
 	    }
 	}
 
@@ -122,7 +127,7 @@ Note_spacing::left_column (Grob *me)
   if (!me->live())
     return 0;
   
-  return dynamic_cast<Item*> (me)->column_l ();
+  return dynamic_cast<Item*> (me)->get_column ();
 }
 
 /*
@@ -147,8 +152,8 @@ Note_spacing::right_column (Grob*me)
     {
       Item * ri = unsmob_item (gh_car (s));
 
-      Item * col = ri->column_l ();
-      int rank = Paper_column::rank_i (col);
+      Item * col = ri->get_column ();
+      int rank = Paper_column::get_rank (col);
 
       if (rank < min_rank)
 	{
@@ -166,7 +171,7 @@ Note_spacing::right_column (Grob*me)
       SCM newright  = SCM_EOL;
       for (SCM s = right ; gh_pair_p (s) ; s =gh_cdr (s))
 	{
-	  if (unsmob_item (gh_car (s))->column_l () == mincol)
+	  if (unsmob_item (gh_car (s))->get_column () == mincol)
 	    newright = gh_cons (gh_car (s), newright);
 	}
 
@@ -176,7 +181,7 @@ Note_spacing::right_column (Grob*me)
   if (!mincol)
     {
       /*
-      int r = Paper_column::rank_i (dynamic_cast<Item*>(me)->column_l ());
+      int r = Paper_column::get_rank (dynamic_cast<Item*>(me)->get_column ());
       programming_error (_f("Spacing wish column %d has no right item.", r));
       */
 
@@ -226,13 +231,13 @@ Note_spacing::stem_dir_correction (Grob*
 	  if (d == RIGHT)
 	    acc_right = acc_right || Note_column::accidentals (it);
 	  
-	  Grob *stem = Note_column::stem_l (it);
+	  Grob *stem = Note_column::get_stem (it);
 
 	  if (!stem)
 	    {
 	      if (d == RIGHT && Separation_item::has_interface (it))
 		{
-		  if (it->column_l () != rcolumn)
+		  if (it->get_column () != rcolumn)
 		    {
 		      it = it->find_prebroken_piece (rcolumn->break_status_dir ());
 		    }
@@ -253,7 +258,7 @@ Note_spacing::stem_dir_correction (Grob*
 	      return ;
 	    }
 
-	  beams_drul[d] = Stem::beam_l (stem);
+	  beams_drul[d] = Stem::get_beam (stem);
 	    
 	  
 	  Direction sd = Stem::get_direction (stem);
@@ -268,7 +273,7 @@ Note_spacing::stem_dir_correction (Grob*
 	    hanging from the note.
 	   */
 	  if (d == LEFT
-	      && Stem::duration_log (stem) > 2  && !Stem::beam_l (stem))
+	      && Stem::duration_log (stem) > 2  && !Stem::get_beam (stem))
 	    {
 
 	      return;
diff -purN ../lilypond-1.5.69/lily/output-property-engraver.cc ./lily/output-property-engraver.cc
--- ../lilypond-1.5.69/lily/output-property-engraver.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/output-property-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -60,12 +60,12 @@ Output_property_engraver::acknowledge_gr
 	should typecheck pred. 
        */
       SCM result=gh_apply (pred,
-			   scm_list_n (inf.grob_l_->self_scm (), SCM_UNDEFINED));
+			   scm_list_n (inf.grob_->self_scm (), SCM_UNDEFINED));
       if (to_boolean (result))
 	{
 	  SCM sym = o->get_mus_property ("grob-property");
 	  SCM val = o->get_mus_property ("grob-value");
-	  inf.grob_l_->internal_set_grob_property (sym, val);
+	  inf.grob_->internal_set_grob_property (sym, val);
 	}
     }
 }
diff -purN ../lilypond-1.5.69/lily/output-property-music-iterator.cc ./lily/output-property-music-iterator.cc
--- ../lilypond-1.5.69/lily/output-property-music-iterator.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/output-property-music-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -15,10 +15,10 @@ Output_property_music_iterator::process 
 {
   if (last_processed_mom_ < Moment (0))
     {
-      bool accepted = try_music (music_l ());
+      bool accepted = try_music (get_music ());
       if (!accepted)
-	music_l ()->origin ()->warning (_f ("Junking request: `%s'",
-					  classname (music_l ())));
+	get_music ()->origin ()->warning (_f ("Junking request: `%s'",
+					  classname (get_music ())));
     }
 
   skip (m);
diff -purN ../lilypond-1.5.69/lily/paper-column.cc ./lily/paper-column.cc
--- ../lilypond-1.5.69/lily/paper-column.cc	Mon Jul 15 02:18:30 2002
+++ ./lily/paper-column.cc	Fri Jul 26 12:26:59 2002
@@ -50,19 +50,19 @@ Paper_column::do_break_processing ()
 
 
 int
-Paper_column::rank_i (Grob*me) 
+Paper_column::get_rank (Grob*me) 
 {
-  return dynamic_cast<Paper_column*> (me)->rank_i_;
+  return dynamic_cast<Paper_column*> (me)->rank_;
 }
 
 System*
-Paper_column::line_l () const
+Paper_column::get_system () const
 {
-  return line_l_;
+  return system_;
 }
 
 Paper_column*
-Paper_column::column_l () const
+Paper_column::get_column () const
 {
   return (Paper_column*) (this);
 }
@@ -70,8 +70,8 @@ Paper_column::column_l () const
 Paper_column::Paper_column (SCM l)
   : Item (l)		// guh.?
 {
-  line_l_=0;
-  rank_i_ = -1;
+  system_=0;
+  rank_ = -1;
 }
 
 Moment
@@ -118,10 +118,10 @@ Paper_column::brew_molecule (SCM p)
 {
   Grob *me = unsmob_grob (p);
 
-  String r = to_str (Paper_column::rank_i (me));
+  String r = to_string (Paper_column::get_rank (me));
   SCM properties = Font_interface::font_alist_chain (me);
   
-  Molecule t = Text_item::text2molecule (me, ly_str02scm (r.ch_C()),
+  Molecule t = Text_item::text2molecule (me, ly_str02scm (r.to_str0 ()),
 					 properties);
   t.align_to (X_AXIS, CENTER);
   t.align_to (Y_AXIS, DOWN);
diff -purN ../lilypond-1.5.69/lily/paper-def.cc ./lily/paper-def.cc
--- ../lilypond-1.5.69/lily/paper-def.cc	Fri Jul 12 01:08:54 2002
+++ ./lily/paper-def.cc	Fri Jul 26 12:26:59 2002
@@ -16,7 +16,7 @@
 #include "scaled-font-metric.hh"
 #include "main.hh"
 #include "scm-hash.hh"
-#include "file-results.hh" // urg? header_global_p
+#include "file-results.hh" // urg? header_global
 #include "paper-outputter.hh"
 
 /*
@@ -42,13 +42,13 @@ Paper_def::Paper_def (Paper_def const&sr
 Real
 Paper_def::get_var (String s) const
 {
-  return get_realvar (ly_symbol2scm (s.ch_C ()));
+  return get_realvar (ly_symbol2scm (s.to_str0 ()));
 }
 
 SCM
 Paper_def::get_scmvar (String s) const
 {
-  return variable_tab_->get (ly_symbol2scm (s.ch_C ()));
+  return variable_tab_->get (ly_symbol2scm (s.to_str0 ()));
 }
 
 
@@ -100,33 +100,33 @@ Paper_def::line_dimensions_int (int n) c
 
 
 
-int Paper_def::score_count_i_ = 0;
+int Paper_def::score_count_ = 0;
 
 int
 Paper_def::get_next_score_count () const
 {
-  return score_count_i_ ++;
+  return score_count_ ++;
 }
 
 void
 Paper_def::reset_score_count ()
 {
-  score_count_i_ = 0;
+  score_count_ = 0;
 }
 
 
 Paper_outputter*
-Paper_def::paper_outputter_p () 
+Paper_def::get_paper_outputter () 
 {
-  String outname = outname_str (); 
+  String outname = outname_string (); 
   progress_indication (_f ("paper output to `%s'...",
 			   outname == "-" ? String ("<stdout>") : outname));
 
-  target_str_global_array.push (outname);
+  target_string_globals.push (outname);
   Paper_outputter * po = new Paper_outputter (outname);
   Path p = split_path (outname);
   p.ext = "";
-  po->basename_ = p.str ();
+  po->basename_ = p.string ();
   return po;
 }
 
@@ -149,7 +149,7 @@ Paper_def::find_font (SCM fn, Real m)
       m /= gh_scm2double (ssc);
     }
   
-  Font_metric*  f = all_fonts_global_p->find_font (ly_scm2string (fn));
+  Font_metric*  f = all_fonts_global->find_font (ly_scm2string (fn));
   SCM val = Scaled_font_metric::make_scaled_font_metric (f, m);
   scaled_fonts_ = scm_acons (key, val, scaled_fonts_);
 
diff -purN ../lilypond-1.5.69/lily/paper-outputter.cc ./lily/paper-outputter.cc
--- ../lilypond-1.5.69/lily/paper-outputter.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/paper-outputter.cc	Fri Jul 26 12:26:59 2002
@@ -35,11 +35,11 @@ Paper_outputter::Paper_outputter (String
       gh_define ("security-paranoia", SCM_BOOL_T);      
     }
   
-  file_ = scm_open_file (ly_str02scm (name.ch_C()),
+  file_ = scm_open_file (ly_str02scm (name.to_str0 ()),
 			    ly_str02scm ("w"));
   
   SCM exp = scm_list_n (ly_symbol2scm ("find-dumper"),
-			ly_str02scm (output_format_global.ch_C()),
+			ly_str02scm (output_format_global.to_str0 ()),
 			SCM_UNDEFINED);
 
   output_func_  = scm_primitive_eval (exp);
@@ -57,16 +57,16 @@ Paper_outputter::output_header ()
   String       generate = _ (", at ");
   time_t t (time (0));
   generate += ctime (&t);
-  generate = generate.left_str (generate.length_i () - 1);
+  generate = generate.left_string (generate.length () - 1);
   
   /*
     Make fixed length time stamps
    */
-  generate = generate + to_str (' ' * (120 - generate.length_i ())>? 0)  ;
+  generate = generate + to_string (' ' * (120 - generate.length ())>? 0)  ;
   String creator = "lelie";
   
-  SCM args_scm = scm_list_n (ly_str02scm (creator.ch_C ()),
-			     ly_str02scm (generate.ch_C ()), SCM_UNDEFINED);
+  SCM args_scm = scm_list_n (ly_str02scm (creator.to_str0 ()),
+			     ly_str02scm (generate.to_str0 ()), SCM_UNDEFINED);
 
 
   SCM scm = gh_cons (ly_symbol2scm ("header"), args_scm);
@@ -80,7 +80,7 @@ void
 Paper_outputter::output_comment (String str)
 {
   output_scheme (scm_list_n (ly_symbol2scm ("comment"),
-			  ly_str02scm ((char*)str.ch_C ()),
+			  ly_str02scm ((char*)str.to_str0 ()),
 			  SCM_UNDEFINED)
 		 );
 }
@@ -119,11 +119,11 @@ Paper_outputter::output_scope (Scheme_ha
 void
 Paper_outputter::output_version ()
 {
-  String id_str = "Lily was here";
-  id_str += String_convert::pad_to (String (", ") + version_str (), 40);
+  String id_string = "Lily was here";
+  id_string += String_convert::pad_to (String (", ") + version_string (), 40);
 
-  output_String_def ("lilypondtagline", id_str);
-  output_String_def ("LilyPondVersion", version_str ());
+  output_String_def ("lilypondtagline", id_string);
+  output_String_def ("LilyPondVersion", version_string ());
   output_String_def ("lilypondpaperunit", String (INTERNAL_UNIT));  
 }
 
@@ -133,8 +133,8 @@ Paper_outputter::output_Real_def (String
 {
   
   SCM scm = scm_list_n (ly_symbol2scm ("lily-def"),
-			ly_str02scm (k.ch_l ()),
-			ly_str02scm (to_str (v).ch_l ()),
+			ly_str02scm (k.get_str0 ()),
+			ly_str02scm (to_string (v).get_str0 ()),
 			SCM_UNDEFINED);
   output_scheme (scm);
 }
@@ -144,8 +144,8 @@ Paper_outputter::output_String_def (Stri
 {
   
   SCM scm = scm_list_n (ly_symbol2scm ("lily-def"),
-		     ly_str02scm (k.ch_l ()),
-		     ly_str02scm (v.ch_l ()),
+		     ly_str02scm (k.get_str0 ()),
+		     ly_str02scm (v.get_str0 ()),
 		     SCM_UNDEFINED);
   output_scheme (scm);
 }
@@ -154,8 +154,8 @@ void
 Paper_outputter::output_int_def (String k, int v)
 {
   SCM scm = scm_list_n (ly_symbol2scm ("lily-def"),
-		     ly_str02scm (k.ch_l ()),
-		     ly_str02scm (to_str (v).ch_l ()),
+		     ly_str02scm (k.get_str0 ()),
+		     ly_str02scm (to_string (v).get_str0 ()),
 		     SCM_UNDEFINED);
   output_scheme (scm);
 }
@@ -164,7 +164,7 @@ void
 Paper_outputter::write_header_field_to_file (String filename, SCM key, SCM value)
 {
   output_scheme (scm_list_n (ly_symbol2scm ("header-to-file"),
-			     ly_str02scm (filename.ch_C()),
+			     ly_str02scm (filename.to_str0 ()),
 			     ly_quote_scm (key), value,
 			     SCM_UNDEFINED));
 }
@@ -178,7 +178,7 @@ Paper_outputter::write_header_fields_to_
       for (int i = 0; i < dump_header_fieldnames_global.size (); i++)
 	{
 	  String key = dump_header_fieldnames_global[i];
-	  SCM val = gh_assoc (ly_symbol2scm (key.ch_C ()), fields);
+	  SCM val = gh_assoc (ly_symbol2scm (key.to_str0 ()), fields);
 	  String s;
 	  /* Only write header field to file if it exists */
 	  if (gh_pair_p (val))
diff -purN ../lilypond-1.5.69/lily/paper-score.cc ./lily/paper-score.cc
--- ../lilypond-1.5.69/lily/paper-score.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/paper-score.cc	Fri Jul 26 12:26:59 2002
@@ -24,21 +24,21 @@
 
 Paper_score::Paper_score ()
 {
-  paper_l_ =0;
-  outputter_l_ =0;
-  line_l_ = 0;
+  paper_ =0;
+  outputter_ =0;
+  system_ = 0;
   main_smob_ = SCM_EOL;
 }
 
 void
 Paper_score::typeset_line (System *l)
 {
-  if (!line_l_)
+  if (!system_)
     {
-      line_l_ = l;		// ugh.
+      system_ = l;		// ugh.
     }
   main_smob_ = gh_cons (l->self_scm (), main_smob_);
-  l->pscore_l_ = this;
+  l->pscore_ = this;
 
   /*
     We don't unprotect l->self_scm (), we haven't got any place else to
@@ -55,13 +55,13 @@ Paper_score::Paper_score (Paper_score co
 Array<Column_x_positions>
 Paper_score::calc_breaking ()
 {
-  Break_algorithm *algorithm_p=0;
+  Break_algorithm *algorithm=0;
   Array<Column_x_positions> sol;
 
-  algorithm_p = new Gourlay_breaking ;
-  algorithm_p->set_pscore (this);
-  sol = algorithm_p->solve ();
-  delete algorithm_p;
+  algorithm = new Gourlay_breaking ;
+  algorithm->set_pscore (this);
+  sol = algorithm->solve ();
+  delete algorithm;
 
   return sol;
 }
@@ -73,7 +73,7 @@ void
 Paper_score::process ()
 {
   if (verbose_global_b)
-    progress_indication (_f ("Element count %d ",  line_l_->element_count ()));
+    progress_indication (_f ("Element count %d ",  system_->element_count ()));
 
   
   progress_indication (_ ("Preprocessing elements...") + " ");
@@ -81,54 +81,54 @@ Paper_score::process ()
   /*
     Be sure to set breakability on first & last column.
    */
-  Link_array<Grob> pc (line_l_->column_l_arr ());
+  Link_array<Grob> pc (system_->columns ());
   
   pc[0]->set_grob_property ("breakable", SCM_BOOL_T);
   pc.top ()->set_grob_property ("breakable", SCM_BOOL_T);
 
-  line_l_->pre_processing ();
+  system_->pre_processing ();
  
   Array<Column_x_positions> breaking = calc_breaking ();
-  line_l_->break_into_pieces (breaking);
+  system_->break_into_pieces (breaking);
   
-  outputter_l_ = paper_l_->paper_outputter_p ();
+  outputter_ = paper_->get_paper_outputter ();
 ;
-  outputter_l_->output_header ();
-  outputter_l_->output_version ();
+  outputter_->output_header ();
+  outputter_->output_version ();
 
   progress_indication ("\n");
 
-  if (global_header_p)
+  if (global_header)
     {
 
-      outputter_l_->output_scope (global_header_p, "lilypond");
-      outputter_l_->write_header_fields_to_file (global_header_p);
+      outputter_->output_scope (global_header, "lilypond");
+      outputter_->write_header_fields_to_file (global_header);
     }
-  if (header_l_)
+  if (header_)
     {
-      outputter_l_->output_scope (header_l_, "lilypond");
-      outputter_l_->write_header_fields_to_file (header_l_);
+      outputter_->output_scope (header_, "lilypond");
+      outputter_->write_header_fields_to_file (header_);
     }
   
-  outputter_l_->output_comment (_ ("Outputting Score, defined at: "));
-  outputter_l_->output_comment (origin_str_);
+  outputter_->output_comment (_ ("Outputting Score, defined at: "));
+  outputter_->output_comment (origin_string_);
 
-  if (paper_l_->variable_tab_)
-    outputter_l_->output_scope (paper_l_->variable_tab_, "lilypondpaper");
+  if (paper_->variable_tab_)
+    outputter_->output_scope (paper_->variable_tab_, "lilypondpaper");
 
   SCM scm = scm_list_n (ly_symbol2scm ("header-end"), SCM_UNDEFINED);
-  outputter_l_->output_scheme (scm);
+  outputter_->output_scheme (scm);
 
-  line_l_->output_lines ();
+  system_->output_lines ();
 
   scm = scm_list_n (ly_symbol2scm ("end-output"), SCM_UNDEFINED);
-  outputter_l_->output_scheme (scm);
+  outputter_->output_scheme (scm);
 
   progress_indication ("\n");
 
   // huh?
-  delete outputter_l_;
-  outputter_l_ = 0;
+  delete outputter_;
+  outputter_ = 0;
   
   if (verbose_global_b)
     ly_display_scm (scm_gc_stats ()); 
diff -purN ../lilypond-1.5.69/lily/parser.yy ./lily/parser.yy
--- ../lilypond-1.5.69/lily/parser.yy	Mon Jul 22 12:21:58 2002
+++ ./lily/parser.yy	Fri Jul 26 12:26:59 2002
@@ -66,7 +66,7 @@ bool
 regular_identifier_b (SCM id)
 {
   String str = ly_scm2string (id);
-  char const *s = str.ch_C() ;
+  char const *s = str.to_str0 () ;
 
   bool v = true;
   while (*s && v)
@@ -120,10 +120,10 @@ set_music_properties (Music *p, SCM a)
 
 #define YYERROR_VERBOSE 1
 
-#define YYPARSE_PARAM my_lily_parser_l
-#define YYLEX_PARAM my_lily_parser_l
+#define YYPARSE_PARAM my_lily_parser
+#define YYLEX_PARAM my_lily_parser
 #define THIS\
-	((My_lily_parser *) my_lily_parser_l)
+	((My_lily_parser *) my_lily_parser)
 
 #define yyerror THIS->parser_error
 #define ARRAY_SIZE(a,s)   if (a.size () != s) THIS->parser_error (_f ("Expecting %d arguments", s))
@@ -155,13 +155,13 @@ of the parse stack onto the heap. */
 %{
 
 int
-yylex (YYSTYPE *s,  void * v_l)
+yylex (YYSTYPE *s,  void * v)
 {
-	My_lily_parser	 *pars_l = (My_lily_parser*) v_l;
-	My_lily_lexer * lex_l = pars_l->lexer_p_;
+	My_lily_parser	 *pars = (My_lily_parser*) v;
+	My_lily_lexer * lex = pars->lexer_;
 
-	lex_l->lexval_l = (void*) s;
-	return lex_l->yylex ();
+	lex->lexval = (void*) s;
+	return lex->yylex ();
 }
 
 
@@ -336,33 +336,33 @@ lilypond:	/* empty */
 	| lilypond toplevel_expression {}
 	| lilypond assignment  { }
 	| lilypond error {
-		THIS->error_level_i_  = 1;
+		THIS->error_level_  = 1;
 	}
 	| lilypond INVALID	{
-		THIS->error_level_i_  = 1;
+		THIS->error_level_  = 1;
 	}
 	;
 
 toplevel_expression:
 	notenames_block			{
-		THIS->lexer_p_->pitchname_tab_ =  $1;
+		THIS->lexer_->pitchname_tab_ =  $1;
 	}
 	| chordmodifiers_block			{
-		THIS->lexer_p_->chordmodifier_tab_  = $1;
+		THIS->lexer_->chordmodifier_tab_  = $1;
 	}
 	| lilypond_header {
-		if (global_header_p)
-			scm_gc_unprotect_object (global_header_p->self_scm ());
-		global_header_p = $1;
+		if (global_header)
+			scm_gc_unprotect_object (global_header->self_scm ());
+		global_header = $1;
 	}
 	| score_block {
-		score_global_array.push ($1);
+		score_globals.push ($1);
 	}
 	| output_def {
 		if (dynamic_cast<Paper_def*> ($1))
-			THIS->lexer_p_->set_identifier (gh_str02scm ("$defaultpaper"), $1->self_scm ());
+			THIS->lexer_->set_identifier (gh_str02scm ("$defaultpaper"), $1->self_scm ());
 		else if (dynamic_cast<Midi_def*> ($1))
-			THIS->lexer_p_->set_identifier (gh_str02scm ("$defaultmidi"), $1->self_scm ());
+			THIS->lexer_->set_identifier (gh_str02scm ("$defaultmidi"), $1->self_scm ());
 	}
 	| embedded_scm {
 		// junk value
@@ -403,7 +403,7 @@ notenames_body:
 lilypond_header_body:
 	{
 		$$ = new Scheme_hash_table;
-		THIS->lexer_p_-> scope_l_arr_.push ($$);
+		THIS->lexer_-> scopes_.push ($$);
 	}
 	| lilypond_header_body assignment  { 
 
@@ -413,7 +413,7 @@ lilypond_header_body:
 lilypond_header:
 	HEADER '{' lilypond_header_body '}'	{
 		$$ = $3;
-		THIS->lexer_p_->scope_l_arr_.pop ();
+		THIS->lexer_->scopes_.pop ();
 	}
 	;
 
@@ -437,7 +437,7 @@ assignment:
 			ip.warning (_ ("Identifier should have  alphabetic characters only"));
 		}
 
-	        THIS->lexer_p_->set_identifier ($1, $4);
+	        THIS->lexer_->set_identifier ($1, $4);
 
 /*
  TODO: devise standard for protection in parser.
@@ -558,10 +558,10 @@ score_block:
 	/*cont*/ '{' score_body '}' 	{
 		THIS->pop_spot ();
 		$$ = $4;
-		if (!$$->def_p_arr_.size ())
+		if (!$$->defs_.size ())
 		{
 		  Music_output_def *id =
-			unsmob_music_output_def (THIS->lexer_p_->lookup_identifier ("$defaultpaper"));
+			unsmob_music_output_def (THIS->lexer_->lookup_identifier ("$defaultpaper"));
 		  $$->add_output (id ? id->clone () :  new Paper_def );
 		}
 	}
@@ -590,7 +590,7 @@ score_body:
 	}
 	| score_body lilypond_header 	{
 		scm_gc_unprotect_object ($2->self_scm ()); 
-		$$->header_p_ = $2;
+		$$->header_ = $2;
 	}
 	| score_body output_def {
 		$$->add_output ($2);
@@ -607,13 +607,13 @@ score_body:
 output_def:
 	music_output_def_body '}' {
 		$$ = $1;
-		THIS-> lexer_p_-> scope_l_arr_.pop ();
+		THIS-> lexer_-> scopes_.pop ();
 	}
 	;
 
 music_output_def_body:
 	MIDI '{'    {
-	   Music_output_def *id = unsmob_music_output_def (THIS->lexer_p_->lookup_identifier ("$defaultmidi"));
+	   Music_output_def *id = unsmob_music_output_def (THIS->lexer_->lookup_identifier ("$defaultmidi"));
 
 		
 	 Midi_def* p =0;
@@ -623,29 +623,29 @@ music_output_def_body:
 		p = new Midi_def;
 
 	 $$ = p;
-	 THIS->lexer_p_->scope_l_arr_.push (p->variable_tab_);
+	 THIS->lexer_->scopes_.push (p->variable_tab_);
 	}
 	| PAPER '{' 	{
-		Music_output_def *id = unsmob_music_output_def (THIS->lexer_p_->lookup_identifier ("$defaultpaper"));
+		Music_output_def *id = unsmob_music_output_def (THIS->lexer_->lookup_identifier ("$defaultpaper"));
 		  Paper_def *p = 0;
 		if (id)
 			p = dynamic_cast<Paper_def*> (id->clone ());
 		else
 			p = new Paper_def;
-		THIS-> lexer_p_-> scope_l_arr_.push (p->variable_tab_);
+		THIS-> lexer_-> scopes_.push (p->variable_tab_);
 		$$ = p;
 	}
 	| PAPER '{' MUSIC_OUTPUT_DEF_IDENTIFIER 	{
 		Music_output_def *p = unsmob_music_output_def ($3);
 		p = p->clone ();
-		THIS->lexer_p_->scope_l_arr_.push (p->variable_tab_);
+		THIS->lexer_->scopes_.push (p->variable_tab_);
 		$$ = p;
 	}
 	| MIDI '{' MUSIC_OUTPUT_DEF_IDENTIFIER 	{
 		Music_output_def *p = unsmob_music_output_def ($3);
 		p = p->clone ();
 
-		THIS->lexer_p_->scope_l_arr_.push (p->variable_tab_);
+		THIS->lexer_->scopes_.push (p->variable_tab_);
 		$$ = p;
 	}
 	| music_output_def_body assignment  {
@@ -854,8 +854,8 @@ Composite_music:
 		Sequential_music_iterator in combination with grace notes.
 	*/
 
-		SCM start = THIS->lexer_p_->lookup_identifier ("startGraceMusic");
-		SCM stop = THIS->lexer_p_->lookup_identifier ("stopGraceMusic");
+		SCM start = THIS->lexer_->lookup_identifier ("startGraceMusic");
+		SCM stop = THIS->lexer_->lookup_identifier ("stopGraceMusic");
 		Music *startm = unsmob_music (start);
 		Music *stopm = unsmob_music (stop);
 
@@ -947,13 +947,13 @@ Composite_music:
 		$$ = m;
 	}
 	| NOTES
-		{ THIS->lexer_p_->push_note_state (); }
+		{ THIS->lexer_->push_note_state (); }
 	Music
 		{ $$ = $3;
-		  THIS->lexer_p_->pop_state ();
+		  THIS->lexer_->pop_state ();
 		}
 	| FIGURES
-		{ THIS->lexer_p_->push_figuredbass_state (); }
+		{ THIS->lexer_->push_figuredbass_state (); }
 	Music
 		{
 		  Music * chm = new Untransposable_music () ;
@@ -961,10 +961,10 @@ Composite_music:
 		  $$ = chm;
 		  scm_gc_unprotect_object ($3->self_scm());
 
-		  THIS->lexer_p_->pop_state ();
+		  THIS->lexer_->pop_state ();
 	}
 	| CHORDS
-		{ THIS->lexer_p_->push_chord_state (); }
+		{ THIS->lexer_->push_chord_state (); }
 	Music
 		{
 		  Music * chm = new Un_relativable_music ;
@@ -972,14 +972,14 @@ Composite_music:
 		  scm_gc_unprotect_object ($3->self_scm());
 		  $$ = chm;
 
-		  THIS->lexer_p_->pop_state ();
+		  THIS->lexer_->pop_state ();
 	}
 	| LYRICS
-		{ THIS->lexer_p_->push_lyric_state (); }
+		{ THIS->lexer_->push_lyric_state (); }
 	Music
 		{
 		  $$ = $3;
-		  THIS->lexer_p_->pop_state ();
+		  THIS->lexer_->pop_state ();
 	}
 	| relative_music	{ $$ = $1; }
 	| re_rhythmed_music	{ $$ = $1; } 
@@ -1308,11 +1308,11 @@ shorthand_command_req:
 
 verbose_command_req:
 	COMMANDSPANREQUEST bare_int STRING { /*TODO: junkme */
-		Span_req * sp_p = new Span_req;
-		sp_p-> set_span_dir ( Direction ($2));
-		sp_p->set_mus_property ("span-type",$3);
-		sp_p->set_spot (THIS->here_input ());
-		$$ = sp_p;
+		Span_req * sp = new Span_req;
+		sp-> set_span_dir ( Direction ($2));
+		sp->set_mus_property ("span-type",$3);
+		sp->set_spot (THIS->here_input ());
+		$$ = sp;
 	}
 	| MARK DEFAULT  {
 		Mark_req * m = new Mark_req;
@@ -1334,24 +1334,24 @@ verbose_command_req:
 		$$ = b;
 	}
 	| SKIP duration_length {
-		Skip_req * skip_p = new Skip_req;
-		skip_p->set_mus_property ("duration", $2);
+		Skip_req * skip = new Skip_req;
+		skip->set_mus_property ("duration", $2);
 
-		$$ = skip_p;
+		$$ = skip;
 	}
 	| tempo_request {
 		$$ = $1;
 	}
 	| KEY DEFAULT {
-		Key_change_req *key_p= new Key_change_req;
-		$$ = key_p;
+		Key_change_req *key= new Key_change_req;
+		$$ = key;
 	}
 	| KEY NOTENAME_PITCH SCM_IDENTIFIER 	{
-		Key_change_req *key_p= new Key_change_req;
+		Key_change_req *key= new Key_change_req;
 		
-		key_p->set_mus_property ("pitch-alist", $3);
- 		((Music*)key_p)->transpose (* unsmob_pitch ($2));
-		$$ = key_p; 
+		key->set_mus_property ("pitch-alist", $3);
+ 		((Music*)key)->transpose (* unsmob_pitch ($2));
+		$$ = key; 
 	}
 	;
 
@@ -1376,7 +1376,7 @@ request_that_take_dir:
 	gen_text_def
 	| verbose_request
 	| script_abbreviation {
-		SCM s = THIS->lexer_p_->lookup_identifier ("dash" + ly_scm2string ($1));
+		SCM s = THIS->lexer_->lookup_identifier ("dash" + ly_scm2string ($1));
 		Articulation_req *a = new Articulation_req;
 		if (gh_string_p (s))
 			a->set_mus_property ("articulation-type", s);
@@ -1412,11 +1412,11 @@ verbose_request:
 		$$ = d;
 	}
 	| SPANREQUEST bare_int STRING {
-		Span_req * sp_p = new Span_req;
-		sp_p->set_span_dir ( Direction ($2));
-		sp_p->set_mus_property ("span-type", $3);
-		sp_p->set_spot (THIS->here_input ());
-		$$ = sp_p;
+		Span_req * sp = new Span_req;
+		sp->set_span_dir ( Direction ($2));
+		sp->set_mus_property ("span-type", $3);
+		sp->set_spot (THIS->here_input ());
+		$$ = sp;
 	}
 	| tremolo_type  {
                Tremolo_req* a = new Tremolo_req;
@@ -1469,13 +1469,13 @@ steno_pitch:
 	}
 	| NOTENAME_PITCH sup_quotes 	{
 		Pitch p = *unsmob_pitch ($1);
-		p.octave_i_ +=  $2;
+		p.octave_ +=  $2;
 		$$ = p.smobbed_copy ();
 	}
 	| NOTENAME_PITCH sub_quotes	 {
 		Pitch p =* unsmob_pitch ($1);
 
-		p.octave_i_ +=  -$2;
+		p.octave_ +=  -$2;
 		$$ = p.smobbed_copy ();
 
 	}
@@ -1491,13 +1491,13 @@ steno_tonic_pitch:
 	}
 	| TONICNAME_PITCH sup_quotes 	{
 		Pitch p = *unsmob_pitch ($1);
-		p.octave_i_ +=  $2;
+		p.octave_ +=  $2;
 		$$ = p.smobbed_copy ();
 	}
 	| TONICNAME_PITCH sub_quotes	 {
 		Pitch p =* unsmob_pitch ($1);
 
-		p.octave_i_ +=  -$2;
+		p.octave_ +=  -$2;
 		$$ = p.smobbed_copy ();
 
 	}
@@ -1535,7 +1535,7 @@ verbose_duration:
 
 extender_req:
 	EXTENDER {
-		if (!THIS->lexer_p_->lyric_state_b ())
+		if (!THIS->lexer_->lyric_state_b ())
 			THIS->parser_error (_ ("Have to be in Lyric mode for lyrics"));
 		$$ = new Extender_req;
 	}
@@ -1543,7 +1543,7 @@ extender_req:
 
 hyphen_req:
 	HYPHEN {
-		if (!THIS->lexer_p_->lyric_state_b ())
+		if (!THIS->lexer_->lyric_state_b ())
 			THIS->parser_error (_ ("Have to be in Lyric mode for lyrics"));
 		$$ = new Hyphen_req;
 	}
@@ -1628,10 +1628,10 @@ gen_text_def:
 		$$ = t;
 	}
 	| DIGIT {
-		String ds = to_str ($1);
+		String ds = to_string ($1);
 		Text_script_req* t = new Text_script_req;
 		SCM finger = ly_symbol2scm ("finger");
-		t->set_mus_property ("text",  ly_str02scm (ds.ch_C ()));
+		t->set_mus_property ("text",  ly_str02scm (ds.to_str0 ()));
 		t->set_mus_property ("text-type" , finger);
 		t->set_spot (THIS->here_input ());
 		$$ = t;
@@ -1800,7 +1800,7 @@ bass_figure:
 		Music *m = unsmob_music ($1);
 		if ($2) {
 			SCM salter =m->get_mus_property ("alteration");
-			int alter = gh_number_p( salter) ? gh_scm2int (salter) : 0;
+			int alter = gh_number_p ( salter) ? gh_scm2int (salter) : 0;
 			m->set_mus_property ("alteration",
 				gh_int2scm (alter + $2));
 		} else {
@@ -1851,7 +1851,7 @@ simple_element:
 	pitch exclamations questions optional_notemode_duration optional_rest {
 
 		Input i = THIS->pop_spot ();
-		if (!THIS->lexer_p_->note_state_b ())
+		if (!THIS->lexer_->note_state_b ())
 			THIS->parser_error (_ ("Have to be in Note mode for notes"));
 
 		Music *n = 0;
@@ -1893,22 +1893,22 @@ simple_element:
  		SCM e = SCM_UNDEFINED;
  		if (ly_scm2string ($1) =="s") {
 			/* Space */
-			Skip_req * skip_p = new Skip_req;
-			skip_p->set_mus_property ("duration" ,$2);
-			skip_p->set_spot (i);
-			e = skip_p->self_scm ();
+			Skip_req * skip = new Skip_req;
+			skip->set_mus_property ("duration" ,$2);
+			skip->set_spot (i);
+			e = skip->self_scm ();
 		  }
 		  else {
- 			Rest_req * rest_req_p = new Rest_req;
-		      	rest_req_p->set_mus_property ("duration", $2);
-		      	rest_req_p->set_spot (i);
-			e = rest_req_p->self_scm ();
+ 			Rest_req * rest_req = new Rest_req;
+		      	rest_req->set_mus_property ("duration", $2);
+		      	rest_req->set_spot (i);
+			e = rest_req->self_scm ();
 		    }
- 		Simultaneous_music* velt_p = new Request_chord (SCM_EOL);
-		velt_p-> set_mus_property ("elements", scm_list_n (e,SCM_UNDEFINED));
-		velt_p->set_spot (i);
+ 		Simultaneous_music* velt = new Request_chord (SCM_EOL);
+		velt-> set_mus_property ("elements", scm_list_n (e,SCM_UNDEFINED));
+		velt->set_spot (i);
 
- 		$$ = velt_p;
+ 		$$ = velt;
 	}
 	| MULTI_MEASURE_REST optional_notemode_duration  	{
 		Input i = THIS->pop_spot ();
@@ -1938,19 +1938,19 @@ simple_element:
 	| STRING optional_notemode_duration 	{
 		Input i = THIS->pop_spot ();
 
-		Lyric_req* lreq_p = new Lyric_req;
-                lreq_p->set_mus_property ("text", $1);
-		lreq_p->set_mus_property ("duration",$2);
-		lreq_p->set_spot (i);
-		Simultaneous_music* velt_p = new Request_chord (SCM_EOL);
-		velt_p->set_mus_property ("elements", scm_list_n (lreq_p->self_scm (), SCM_UNDEFINED));
+		Lyric_req* lreq = new Lyric_req;
+                lreq->set_mus_property ("text", $1);
+		lreq->set_mus_property ("duration",$2);
+		lreq->set_spot (i);
+		Simultaneous_music* velt = new Request_chord (SCM_EOL);
+		velt->set_mus_property ("elements", scm_list_n (lreq->self_scm (), SCM_UNDEFINED));
 
-		$$= velt_p;
+		$$= velt;
 	}
 	| chord {
 		Input i = THIS->pop_spot ();
 
-		if (!THIS->lexer_p_->chord_state_b ())
+		if (!THIS->lexer_->chord_state_b ())
 			THIS->parser_error (_ ("Have to be in Chord mode for chords"));
 		$$ = $1;
 	}
@@ -2025,26 +2025,26 @@ chord_step:
 chord_note:
 	bare_unsigned {
 		 Pitch m;
-		m.notename_i_ = ($1 - 1) % 7;
-		m.octave_i_ = $1 > 7 ? 1 : 0;
-		m.alteration_i_ = 0;
+		m.notename_ = ($1 - 1) % 7;
+		m.octave_ = $1 > 7 ? 1 : 0;
+		m.alteration_ = 0;
 
 		$$ = m.smobbed_copy ();
         } 
 	| bare_unsigned '+' {
 		Pitch m;
-		m.notename_i_ = ($1 - 1) % 7;
-		m.octave_i_ = $1 > 7 ? 1 : 0;
-		m.alteration_i_ = 1;
+		m.notename_ = ($1 - 1) % 7;
+		m.octave_ = $1 > 7 ? 1 : 0;
+		m.alteration_ = 1;
 
 
 		$$ = m.smobbed_copy ();
 	}
 	| bare_unsigned CHORD_MINUS {
 		Pitch m;
-		m.notename_i_ = ($1 - 1) % 7;
-		m.octave_i_ = $1 > 7 ? 1 : 0;
-		m.alteration_i_ = -1;
+		m.notename_ = ($1 - 1) % 7;
+		m.octave_ = $1 > 7 ? 1 : 0;
+		m.alteration_ = -1;
 
 		$$ = m.smobbed_copy ();
 	}
diff -purN ../lilypond-1.5.69/lily/part-combine-music-iterator.cc ./lily/part-combine-music-iterator.cc
--- ../lilypond-1.5.69/lily/part-combine-music-iterator.cc	Sun Jul 14 15:10:02 2002
+++ ./lily/part-combine-music-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -16,23 +16,23 @@
 
 Part_combine_music_iterator::Part_combine_music_iterator ()
 {
-  first_iter_p_ = 0;
-  second_iter_p_ = 0;
+  first_iter_ = 0;
+  second_iter_ = 0;
   first_until_ = 0;
   second_until_ = 0;
 }
 
 Part_combine_music_iterator::~Part_combine_music_iterator ()
 {
-  delete second_iter_p_;
-  delete first_iter_p_;
+  delete second_iter_;
+  delete first_iter_;
 }
 
 Part_combine_music_iterator::Part_combine_music_iterator (Part_combine_music_iterator const &src)
   : Music_iterator (src)
 {
-  second_iter_p_ = src.second_iter_p_ ? src.second_iter_p_->clone () : 0;
-  first_iter_p_ = src.first_iter_p_ ? src.first_iter_p_->clone () : 0;
+  second_iter_ = src.second_iter_ ? src.second_iter_->clone () : 0;
+  first_iter_ = src.first_iter_ ? src.first_iter_->clone () : 0;
 
   first_until_ = src.first_until_;
   second_until_ = src.second_until_;
@@ -45,34 +45,34 @@ Part_combine_music_iterator::pending_mom
 {
   Moment p;
   p.set_infinite (1);
-  if (first_iter_p_->ok ())
-    p = p <? first_iter_p_->pending_moment ();
+  if (first_iter_->ok ())
+    p = p <? first_iter_->pending_moment ();
 
-  if (second_iter_p_->ok ())
-    p = p <? second_iter_p_->pending_moment ();
+  if (second_iter_->ok ())
+    p = p <? second_iter_->pending_moment ();
   return p;
 }
 
 bool
 Part_combine_music_iterator::ok () const
 {
-  return first_iter_p_->ok () || second_iter_p_->ok ();
+  return first_iter_->ok () || second_iter_->ok ();
 }
 
 void
 Part_combine_music_iterator::construct_children ()
 {
-  Part_combine_music const * m = dynamic_cast<Part_combine_music const*> (music_l ());
+  Part_combine_music const * m = dynamic_cast<Part_combine_music const*> (get_music ());
   
-  first_iter_p_ = get_iterator_p (m->first_l ());
-  second_iter_p_ = get_iterator_p (m->second_l ());
+  first_iter_ = get_iterator (m->get_first ());
+  second_iter_ = get_iterator (m->get_second ());
 }
 
 void
 Part_combine_music_iterator::change_to (Music_iterator *it, String to_type,
 					String to_id)
 {
-  Translator_group * current = it->report_to_l ();
+  Translator_group * current = it->report_to ();
   Translator_group * last = 0;
 
   /*
@@ -85,13 +85,13 @@ Part_combine_music_iterator::change_to (
      
      If \translator Staff = bass, then look for Staff = *
    */
-  while (current && current->type_str_ != to_type)
+  while (current && current->type_string_ != to_type)
     {
       last = current;
-      current = current->daddy_trans_l_;
+      current = current->daddy_trans_;
     }
 
-  if (current && current->id_str_ == to_id)
+  if (current && current->id_string_ == to_id)
     {
       String msg;
       msg += _ ("Can't switch translators, I'm there already");
@@ -101,8 +101,8 @@ Part_combine_music_iterator::change_to (
     if (last)
       {
 	Translator_group * dest = 
-	  it->report_to_l ()->find_create_translator_l (to_type, to_id);
-	current->remove_translator_p (last);
+	  it->report_to ()->find_create_translator (to_type, to_id);
+	current->remove_translator (last);
 	dest->add_used_group_translator (last);
       }
     else
@@ -111,12 +111,12 @@ Part_combine_music_iterator::change_to (
 	  We could change the current translator's id, but that would make 
 	  errors hard to catch
 	  
-	   last->translator_id_str_  = change_l ()->change_to_id_str_;
+	   last->translator_id_string_  = get_change ()->change_to_id_string_;
 	*/
-	error (_f ("I'm one myself: `%s'", to_type.ch_C ()));
+	error (_f ("I'm one myself: `%s'", to_type.to_str0 ()));
       }
   else
-    error (_f ("none of these in my family: `%s'", to_id.ch_C ()));
+    error (_f ("none of these in my family: `%s'", to_id.to_str0 ()));
 }
 
 
@@ -126,7 +126,7 @@ get_music_info (Moment m, Music_iterator
 {
   if (iter->ok ())
     {
-      for (SCM i = iter->get_music (m); gh_pair_p (i); i = ly_cdr (i))
+      for (SCM i = iter->get_pending_events (m); gh_pair_p (i); i = ly_cdr (i))
 	{
 	  Music *m = unsmob_music (ly_car (i));
 	  if (Melodic_req *r = dynamic_cast<Melodic_req *> (m))
@@ -148,12 +148,12 @@ int
 Part_combine_music_iterator::get_state (Moment)
 {
   int state = UNKNOWN;
-  Part_combine_music const *p = dynamic_cast<Part_combine_music const* > (music_l ());
+  Part_combine_music const *p = dynamic_cast<Part_combine_music const* > (get_music ());
 
   String w = ly_scm2string (p->get_mus_property ("what"));
     
   
-  Translator_group *first_translator = first_iter_p_->report_to_l ()->find_create_translator_l (w, "one" + suffix_);
+  Translator_group *first_translator = first_iter_->report_to ()->find_create_translator (w, "one" + suffix_);
 
   SCM s = first_translator->get_property ("changeMoment");
   if (!gh_pair_p (s))
@@ -177,8 +177,8 @@ Part_combine_music_iterator::get_state (
       Moment diff_until = diff_mom + now;
 
       bool first = true;
-      Music_iterator *first_iter = first_iter_p_->clone ();
-      Music_iterator *second_iter = second_iter_p_->clone ();
+      Music_iterator *first_iter = first_iter_->clone ();
+      Music_iterator *second_iter = second_iter_->clone ();
 
       Moment last_pending (-1);
       Moment pending = now;
@@ -337,8 +337,8 @@ Part_combine_music_iterator::process (Mo
    */
  
   if (suffix_.empty_b ())
-    suffix_ = first_iter_p_->report_to_l ()
-      ->daddy_trans_l_->id_str_.cut_str (3, INT_MAX);
+    suffix_ = first_iter_->report_to ()
+      ->daddy_trans_->id_string_.cut_string (3, INT_MAX);
 
   int state = get_state (m);
   if (state)
@@ -347,11 +347,11 @@ Part_combine_music_iterator::process (Mo
     state = state_;
   
   Part_combine_music const *p =
-    dynamic_cast<Part_combine_music const* > (music_l ());
+    dynamic_cast<Part_combine_music const* > (get_music ());
 
 
-  bool previously_combined_b = first_iter_p_->report_to_l ()->daddy_trans_l_
-    == second_iter_p_->report_to_l ()->daddy_trans_l_;
+  bool previously_combined_b = first_iter_->report_to ()->daddy_trans_
+    == second_iter_->report_to ()->daddy_trans_;
 
   bool combine_b = previously_combined_b;
 
@@ -374,16 +374,16 @@ Part_combine_music_iterator::process (Mo
   
   if (combine_b && combine_b != previously_combined_b)
     {
-      if (second_iter_p_ && second_iter_p_->ok ())
-	second_iter_p_->try_music (abort_req);
+      if (second_iter_ && second_iter_->ok ())
+	second_iter_->try_music (abort_req);
      }
   String w = ly_scm2string (p->get_mus_property ("what"));
   if (combine_b != previously_combined_b)
-    change_to (second_iter_p_, w, (combine_b ? "one" : "two")
+    change_to (second_iter_, w, (combine_b ? "one" : "two")
 	       + suffix_);
   
-  Translator_group *first_translator = first_iter_p_->report_to_l ()->find_create_translator_l (w, "one" + suffix_);
-  Translator_group *second_translator = second_iter_p_->report_to_l ()->find_create_translator_l (w, "two" + suffix_);
+  Translator_group *first_translator = first_iter_->report_to ()->find_create_translator (w, "one" + suffix_);
+  Translator_group *second_translator = second_iter_->report_to ()->find_create_translator (w, "two" + suffix_);
   
 
   /* Hmm */
@@ -419,32 +419,32 @@ Part_combine_music_iterator::process (Mo
   first_translator->set_property ("othersolo", b2);
   second_translator->set_property ("othersolo", b1);
 
-  if (first_iter_p_->ok ())
-    first_iter_p_->process (m);
+  if (first_iter_->ok ())
+    first_iter_->process (m);
   
-  if (second_iter_p_->ok ())
-    second_iter_p_->process (m);
+  if (second_iter_->ok ())
+    second_iter_->process (m);
 }
 
 Music_iterator*
 Part_combine_music_iterator::try_music_in_children (Music *m) const
 {
-  Music_iterator * i =  first_iter_p_->try_music (m);
+  Music_iterator * i =  first_iter_->try_music (m);
   if (i)
     return i;
   else
-    return second_iter_p_->try_music (m);
+    return second_iter_->try_music (m);
 }
 
 
 SCM
-Part_combine_music_iterator::get_music (Moment m)const
+Part_combine_music_iterator::get_pending_events (Moment m)const
 {
   SCM s = SCM_EOL;
-  if (first_iter_p_)
-    s = gh_append2 (s,first_iter_p_->get_music (m));
-  if (second_iter_p_)
-    s = gh_append2 (second_iter_p_->get_music (m),s);
+  if (first_iter_)
+    s = gh_append2 (s,first_iter_->get_pending_events (m));
+  if (second_iter_)
+    s = gh_append2 (second_iter_->get_pending_events (m),s);
   return s;
 }
 
diff -purN ../lilypond-1.5.69/lily/part-combine-music.cc ./lily/part-combine-music.cc
--- ../lilypond-1.5.69/lily/part-combine-music.cc	Mon Jul  8 01:22:59 2002
+++ ./lily/part-combine-music.cc	Fri Jul 26 12:26:59 2002
@@ -21,32 +21,32 @@ Part_combine_music::Part_combine_music (
 void
 Part_combine_music::transpose (Pitch p)
 {
-  first_l ()->transpose (p);
-  second_l () ->transpose (p);
+  get_first ()->transpose (p);
+  get_second () ->transpose (p);
 }
 
 Moment
 Part_combine_music::length_mom () const
 {
-  return first_l ()->length_mom ();
+  return get_first ()->length_mom ();
 }
 
 Pitch
 Part_combine_music::to_relative_octave (Pitch p)
 {
-  p = first_l ()->to_relative_octave (p);
-  return second_l ()->to_relative_octave (p);
+  p = get_first ()->to_relative_octave (p);
+  return get_second ()->to_relative_octave (p);
 }
 
 void
 Part_combine_music::compress (Moment m)
 {
-  first_l ()->compress (m);
-  second_l ()->compress (m);
+  get_first ()->compress (m);
+  get_second ()->compress (m);
 }
 
 Music*
-Part_combine_music::first_l () const
+Part_combine_music::get_first () const
 {
   SCM l = get_mus_property ("elements");
   if (!gh_pair_p (l))
@@ -56,7 +56,7 @@ Part_combine_music::first_l () const
 
 
 Music*
-Part_combine_music::second_l () const
+Part_combine_music::get_second () const
 {
   SCM l = get_mus_property ("elements");
   if (!gh_pair_p (l))
diff -purN ../lilypond-1.5.69/lily/percent-repeat-engraver.cc ./lily/percent-repeat-engraver.cc
--- ../lilypond-1.5.69/lily/percent-repeat-engraver.cc	Sun Mar  3 03:32:46 2002
+++ ./lily/percent-repeat-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -58,8 +58,8 @@ protected:
 
   Item * beat_slash_;
   Item * double_percent_;
-  Spanner * perc_p_;
-  Spanner * finished_perc_p_;
+  Spanner * perc_;
+  Spanner * finished_perc_;
   Item * stem_tremolo_;
 protected:
   virtual void finalize ();
@@ -71,7 +71,7 @@ protected:
 
 Percent_repeat_engraver::Percent_repeat_engraver ()
 {
-  perc_p_  = finished_perc_p_ = 0;
+  perc_  = finished_perc_ = 0;
   repeat_ =0;
   stem_tremolo_ = 0;
 
@@ -120,17 +120,17 @@ Percent_repeat_engraver::try_music (Musi
       repeat_ = rp;
 
       
-      Global_translator *global_l =0;
+      Global_translator *global =0;
       Translator *t = this;
       do
 	{
-	  t = t->daddy_trans_l_ ;
-	  global_l = dynamic_cast<Global_translator*> (t);
+	  t = t->daddy_trans_ ;
+	  global = dynamic_cast<Global_translator*> (t);
 	}
-      while (!global_l);
+      while (!global);
 
       for (int i = 0; i < count; i++)  
-	global_l->add_moment_to_process (now + Moment (1+i) * body_length_);
+	global->add_moment_to_process (now + Moment (1+i) * body_length_);
   
       return true;
     }
@@ -150,12 +150,12 @@ Percent_repeat_engraver::process_music (
 	}
       else if (repeat_sign_type_ == MEASURE)
 	{
-	  finished_perc_p_ = perc_p_;
+	  finished_perc_ = perc_;
 	  typeset_perc ();
-	  perc_p_ = new Spanner (get_property ("PercentRepeat"));
+	  perc_ = new Spanner (get_property ("PercentRepeat"));
 	  SCM col =get_property ("currentCommandColumn");
-	  perc_p_->set_bound (LEFT, unsmob_grob (col));
-	  announce_grob(perc_p_, repeat_->self_scm());
+	  perc_->set_bound (LEFT, unsmob_grob (col));
+	  announce_grob(perc_, repeat_->self_scm());
 	}
       else if (repeat_sign_type_ == DOUBLE_MEASURE)
 	
@@ -177,22 +177,22 @@ void
 Percent_repeat_engraver::finalize ()
 {
   typeset_perc ();
-  if (perc_p_)
+  if (perc_)
     {
       repeat_->origin ()->warning (_ ("unterminated chord tremolo"));
-      perc_p_->suicide ();
+      perc_->suicide ();
     }
 }
 
 void
 Percent_repeat_engraver::typeset_perc ()
 {
-  if (finished_perc_p_)
+  if (finished_perc_)
     {
       SCM col =get_property ("currentCommandColumn");
-      finished_perc_p_->set_bound (RIGHT, unsmob_grob (col));
-      typeset_grob (finished_perc_p_);
-      finished_perc_p_ = 0;
+      finished_perc_->set_bound (RIGHT, unsmob_grob (col));
+      typeset_grob (finished_perc_);
+      finished_perc_ = 0;
     }
 
   if (beat_slash_)
@@ -216,13 +216,13 @@ Percent_repeat_engraver::start_translati
 {
   if (stop_mom_ == now_mom ())
     {
-      if (perc_p_)
+      if (perc_)
 	{
-	  finished_perc_p_ = perc_p_;
+	  finished_perc_ = perc_;
 	  typeset_perc ();
 	}
       repeat_ = 0;
-      perc_p_ = 0;
+      perc_ = 0;
       repeat_sign_type_ = UNKNOWN;
     }
 }
diff -purN ../lilypond-1.5.69/lily/percent-repeat-iterator.cc ./lily/percent-repeat-iterator.cc
--- ../lilypond-1.5.69/lily/percent-repeat-iterator.cc	Fri Feb  1 19:17:38 2002
+++ ./lily/percent-repeat-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -22,22 +22,22 @@ Percent_repeat_iterator::Percent_repeat_
 Percent_repeat_iterator::Percent_repeat_iterator (Percent_repeat_iterator const & p)
   : Music_iterator (p)
 {
-  child_iter_p_ = p.child_iter_p_ ? p.child_iter_p_->clone (): 0;
+  child_iter_ = p.child_iter_ ? p.child_iter_->clone (): 0;
   finish_mom_ = p.finish_mom_ ;
 }
 
 bool
 Percent_repeat_iterator::ok () const
 {
-  return child_iter_p_;
+  return child_iter_;
 }
 
 void
 Percent_repeat_iterator::construct_children ()
 {
-  Repeated_music * mus =dynamic_cast<Repeated_music *> (music_l ());
+  Repeated_music * mus =dynamic_cast<Repeated_music *> (get_music ());
   finish_mom_ = mus->length_mom ();
-  child_iter_p_ = get_iterator_p (mus->body ());
+  child_iter_ = get_iterator (mus->body ());
 }
 
 
@@ -46,28 +46,28 @@ Percent_repeat_iterator::process (Moment
 {
   if (!m.to_bool ())
     {
-      Music_iterator *yeah = try_music (music_l ());
+      Music_iterator *yeah = try_music (get_music ());
       if (yeah)
-	set_translator (yeah->report_to_l ());
+	set_translator (yeah->report_to ());
       else
-	music_l ()->origin ()->warning ( _ ("no one to print a percent"));
+	get_music ()->origin ()->warning ( _ ("no one to print a percent"));
     }
   
-  if (child_iter_p_->ok ())
-    child_iter_p_->process (m);
+  if (child_iter_->ok ())
+    child_iter_->process (m);
 
   if (finish_mom_ <= m )
     {
-      delete child_iter_p_;
-      child_iter_p_ = 0;
+      delete child_iter_;
+      child_iter_ = 0;
     }
 }
 
 Moment
 Percent_repeat_iterator::pending_moment ()const
 {
-  if (child_iter_p_->ok ())
-    return child_iter_p_->pending_moment ();
+  if (child_iter_->ok ())
+    return child_iter_->pending_moment ();
   else
     return finish_mom_ ;
 }
@@ -75,11 +75,11 @@ Percent_repeat_iterator::pending_moment 
 Music_iterator*
 Percent_repeat_iterator::try_music_in_children (Music *m) const
 {
-  return child_iter_p_->try_music (m);
+  return child_iter_->try_music (m);
 }
 
 
 Percent_repeat_iterator::~Percent_repeat_iterator ()
 {
-  delete child_iter_p_;
+  delete child_iter_;
 }
diff -purN ../lilypond-1.5.69/lily/performance.cc ./lily/performance.cc
--- ../lilypond-1.5.69/lily/performance.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/performance.cc	Fri Jul 26 12:26:59 2002
@@ -27,7 +27,7 @@
 
 Performance::Performance ()
 {
-  midi_l_ =0;
+  midi_ =0;
   audio_elem_p_list_ = 0;
 }
 
@@ -40,7 +40,7 @@ Performance::~Performance ()
 void
 Performance::output (Midi_stream& midi_stream)
 {
-  int tracks_i = audio_staff_l_arr_.size () + 1;
+  int tracks_i = audio_staffs_.size () + 1;
 
   // ugh
   int clocks_per_4_i = 384;
@@ -50,11 +50,11 @@ Performance::output (Midi_stream& midi_s
   progress_indication ("\n");
   progress_indication (_ ("Track ... "));
   int channel = 0;
-  for (int i =0; i < audio_staff_l_arr_.size (); i++)
+  for (int i =0; i < audio_staffs_.size (); i++)
     {
-      Audio_staff *s = audio_staff_l_arr_[i];
+      Audio_staff *s = audio_staffs_[i];
       if (verbose_global_b)
-	progress_indication ("[" + to_str (i)) ;
+	progress_indication ("[" + to_string (i)) ;
 
       /*
 	MIDI players tend to ignore instrument settings on
@@ -62,8 +62,8 @@ Performance::output (Midi_stream& midi_s
        */
       if (channel == 9)
 	 channel++;
-      if (s->channel_i_ < 0)
-	 s->channel_i_ = channel;
+      if (s->channel_ < 0)
+	 s->channel_ = channel;
       s->output (midi_stream, channel++);
       if (verbose_global_b)
 	progress_indication ("]");
@@ -76,13 +76,13 @@ Performance::output_header_track (Midi_s
 {
   Midi_track midi_track;
 
-  midi_track.channel_i_ = 9;
+  midi_track.channel_ = 9;
 
   // perhaps multiple text events?
-  String id_str;
+  String id_string;
   String str = String (_ ("Creator: "));
-  id_str = String_convert::pad_to (gnu_lilypond_version_str (), 30);
-  str += id_str;
+  id_string = String_convert::pad_to (gnu_lilypond_version_string (), 30);
+  str += id_string;
 
   /*
     This seems silly, but in fact the audio elements should
@@ -94,7 +94,7 @@ Performance::output_header_track (Midi_s
 
   /* Better not translate this */
   str = "Generated automatically by: ";
-  str += id_str;
+  str += id_string;
   
   Audio_text generate_a (Audio_text::TEXT, str);
   Midi_text generate (&generate_a);
@@ -103,7 +103,7 @@ Performance::output_header_track (Midi_s
   str = _ ("at ");
   time_t t (time (0));
   str += ctime (&t);
-  str = str.left_str (str.length_i () - 1);
+  str = str.left_string (str.length () - 1);
   str = String_convert::pad_to (str, 60);
   
   Audio_text at_a (Audio_text::TEXT, str);
@@ -111,20 +111,20 @@ Performance::output_header_track (Midi_s
   midi_track.add (Moment (0), &at);
 
   
-  str = _f ("from musical definition: %s", origin_str_);
+  str = _f ("from musical definition: %s", origin_string_);
 
   Audio_text from_a (Audio_text::TEXT, str);
   Midi_text from (&from_a);
   midi_track.add (Moment (0), &from);
 
   Audio_text track_name_a (Audio_text::TRACK_NAME, "Track "
-			   + String_convert::i2dec_str (0, 0, '0'));
+			   + String_convert::int2dec (0, 0, '0'));
   Midi_text track_name (&track_name_a);
 			
   midi_track.add (Moment (0), &track_name);
 
   // Some sequencers read track 0 last.
-  //  Audio_tempo tempo_a (midi_l_->get_tempo_i (Moment (Rational (1, 4))));
+  //  Audio_tempo tempo_a (midi_->get_tempo (Moment (Rational (1, 4))));
   //  Midi_tempo tempo (&tempo_a);
   //  midi_track.add (Moment (0), &tempo);
 
@@ -136,11 +136,11 @@ Performance::add_element (Audio_element 
 {
   if (Audio_staff*s=dynamic_cast<Audio_staff *> (p)) 
     {
-      audio_staff_l_arr_.push (s);
+      audio_staffs_.push (s);
     }
   else if (Audio_column *c = dynamic_cast<Audio_column*> (p))
     {
-      c->performance_l_ = this;
+      c->performance_ = this;
     }
   audio_elem_p_list_ = new Killing_cons<Audio_element> (p, audio_elem_p_list_);
 }
@@ -152,22 +152,22 @@ Performance::process ()
   String out = output_name_global;
   if (out == "-")
     out = "lelie.midi";
-  int def = midi_l_->get_next_score_count ();
+  int def = midi_->get_next_score_count ();
   if (def)
     {
       Path p = split_path (out);
-      p.base += "-" + to_str (def);
-      out = p.str ();
+      p.base += "-" + to_string (def);
+      out = p.string ();
     }
 
   /* Maybe a bit crude, but we had this before */
   Path p = split_path (out);
   p.ext = "midi";
-  out = p.str ();
+  out = p.string ();
   
   Midi_stream midi_stream (out);
   progress_indication (_f ("MIDI output to `%s'...", out));
-  target_str_global_array.push (out);
+  target_string_globals.push (out);
 
   output (midi_stream);
   progress_indication ("\n");
diff -purN ../lilypond-1.5.69/lily/performer-group-performer.cc ./lily/performer-group-performer.cc
--- ../lilypond-1.5.69/lily/performer-group-performer.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/performer-group-performer.cc	Fri Jul 26 12:26:59 2002
@@ -25,7 +25,7 @@ ENTER_DESCRIPTION(Performer_group_perfor
 void
 Performer_group_performer::announce_element (Audio_element_info info)
 {
-  announce_info_arr_.push (info);
+  announce_infos_.push (info);
   Performer::announce_element (info);
 }
 
@@ -46,15 +46,15 @@ Performer_group_performer::create_audio_
 void
 Performer_group_performer::acknowledge_audio_elements ()
 {
-  for (int j =0; j < announce_info_arr_.size (); j++)
+  for (int j =0; j < announce_infos_.size (); j++)
     {
-      Audio_element_info info = announce_info_arr_[j];
+      Audio_element_info info = announce_infos_[j];
 
       for (SCM p = simple_trans_list_; gh_pair_p (p); p = ly_cdr (p))
 	{
 	  Translator * t = unsmob_translator (ly_car (p));
 	  Performer * eng = dynamic_cast<Performer*> (t);
-	  if (eng && eng!= info.origin_trans_l_)
+	  if (eng && eng!= info.origin_trans_)
 	    eng->acknowledge_audio_element (info);
 	}
     }
@@ -72,20 +72,20 @@ Performer_group_performer::do_announces 
   
   create_audio_elements ();
     
-  while (announce_info_arr_.size ())
+  while (announce_infos_.size ())
     {
       acknowledge_audio_elements ();
-      announce_info_arr_.clear ();
+      announce_infos_.clear ();
       create_audio_elements ();
     }
 
-  if (announce_info_arr_.size ())
+  if (announce_infos_.size ())
     {
 #if 0  //printf?  -> include <stdio.h>     
       printf ("do_announces: elt: %s\n",
-	      classname (announce_info_arr_[0].elem_l_));
+	      classname (announce_infos_[0].elem_));
 #endif      
-      announce_info_arr_.clear ();
+      announce_infos_.clear ();
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/performer.cc ./lily/performer.cc
--- ../lilypond-1.5.69/lily/performer.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/performer.cc	Fri Jul 26 12:26:59 2002
@@ -14,20 +14,20 @@
 void 
 Performer::play_element (Audio_element* p) 
 { 
-  daddy_perf_l ()->play_element (p); 
+  get_daddy_perf ()->play_element (p); 
 }
 
 int
-Performer::get_tempo_i () const
+Performer::get_tempo () const
 {
-  return daddy_perf_l ()->get_tempo_i ();
+  return get_daddy_perf ()->get_tempo ();
 }
 
 Performer_group_performer*
-Performer::daddy_perf_l () const
+Performer::get_daddy_perf () const
 {
-  return (daddy_trans_l_) 
-    ?dynamic_cast<Performer_group_performer *> (daddy_trans_l_)
+  return (daddy_trans_) 
+    ?dynamic_cast<Performer_group_performer *> (daddy_trans_)
     : 0;
 }
 
@@ -45,7 +45,7 @@ Performer::create_audio_elements ()
 void
 Performer::announce_element (Audio_element_info i)
 {
-  if (!i.origin_trans_l_)
-    i.origin_trans_l_= this;
-  daddy_perf_l ()->announce_element (i);
+  if (!i.origin_trans_)
+    i.origin_trans_= this;
+  get_daddy_perf ()->announce_element (i);
 }
diff -purN ../lilypond-1.5.69/lily/phrasing-slur-engraver.cc ./lily/phrasing-slur-engraver.cc
--- ../lilypond-1.5.69/lily/phrasing-slur-engraver.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/phrasing-slur-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -14,10 +14,10 @@
 
 class Phrasing_slur_engraver : public Engraver
 {
-  Link_array<Span_req> requests_arr_;
-  Link_array<Span_req> new_phrasing_slur_req_l_arr_;
+  Link_array<Span_req> requestses_;
+  Link_array<Span_req> new_phrasing_slur_reqs_;
   Link_array<Grob> phrasing_slur_l_stack_;
-  Link_array<Grob> end_phrasing_slur_l_arr_;
+  Link_array<Grob> end_phrasing_slurs_;
   Moment last_start_;
 
 protected:
@@ -39,9 +39,9 @@ Phrasing_slur_engraver::Phrasing_slur_en
 }
 
 bool
-Phrasing_slur_engraver::try_music (Music *req_l)
+Phrasing_slur_engraver::try_music (Music *req)
 {
-  if (Span_req *sl = dynamic_cast <Span_req *> (req_l))
+  if (Span_req *sl = dynamic_cast <Span_req *> (req))
     {
       String t =  ly_scm2string (sl->get_mus_property ("span-type"));
       if (t == "abort")
@@ -51,13 +51,13 @@ Phrasing_slur_engraver::try_music (Music
 	      phrasing_slur_l_stack_[i]->suicide ();
 	    }
 	  phrasing_slur_l_stack_.clear ();
-	  for (int i = 0; i < end_phrasing_slur_l_arr_.size (); i++)
+	  for (int i = 0; i < end_phrasing_slurs_.size (); i++)
 	    {
-	      end_phrasing_slur_l_arr_[i]->suicide ();
+	      end_phrasing_slurs_[i]->suicide ();
 	    }
-	  end_phrasing_slur_l_arr_.clear ();
-	  requests_arr_.clear ();
-	  new_phrasing_slur_req_l_arr_.clear ();
+	  end_phrasing_slurs_.clear ();
+	  requestses_.clear ();
+	  new_phrasing_slur_reqs_.clear ();
 	}
       else if (t == "phrasing-slur")
 	{
@@ -68,14 +68,14 @@ Phrasing_slur_engraver::try_music (Music
 	    {
 	      if (now_mom () > last_start_)
 	        {
-	          new_phrasing_slur_req_l_arr_.push (sl);
+	          new_phrasing_slur_reqs_.push (sl);
 		  last_start_ = now_mom ();
 	          return true;
 		}
 	    }
 	  else
 	    {
-	      new_phrasing_slur_req_l_arr_.push (sl);
+	      new_phrasing_slur_reqs_.push (sl);
 	      return true;
 	    }
 	}
@@ -86,13 +86,13 @@ Phrasing_slur_engraver::try_music (Music
 void
 Phrasing_slur_engraver::acknowledge_grob (Grob_info info)
 {
-  if (Note_column::has_interface (info.grob_l_))
+  if (Note_column::has_interface (info.grob_))
     {
-      Grob *e =info.grob_l_;
+      Grob *e =info.grob_;
       for (int i = 0; i < phrasing_slur_l_stack_.size (); i++)
 	Slur::add_column (phrasing_slur_l_stack_[i], e);
-      for (int i = 0; i < end_phrasing_slur_l_arr_.size (); i++)
-	Slur::add_column (end_phrasing_slur_l_arr_[i], e);
+      for (int i = 0; i < end_phrasing_slurs_.size (); i++)
+	Slur::add_column (end_phrasing_slurs_[i], e);
     }
 }
 
@@ -112,61 +112,61 @@ Phrasing_slur_engraver::finalize ()
     }
   phrasing_slur_l_stack_.clear ();
 
-    for (int i=0; i < requests_arr_.size (); i++)
+    for (int i=0; i < requestses_.size (); i++)
       {
-	requests_arr_[i]->origin ()->warning (_ ("unterminated phrasing slur"));
+	requestses_[i]->origin ()->warning (_ ("unterminated phrasing slur"));
       }
 }
 
 void
 Phrasing_slur_engraver::process_acknowledged_grobs ()
 {
-  Link_array<Grob> start_phrasing_slur_l_arr;
-  for (int i=0; i< new_phrasing_slur_req_l_arr_.size (); i++)
+  Link_array<Grob> start_phrasing_slurs;
+  for (int i=0; i< new_phrasing_slur_reqs_.size (); i++)
     {
-      Span_req* phrasing_slur_req_l = new_phrasing_slur_req_l_arr_[i];
+      Span_req* phrasing_slur_req = new_phrasing_slur_reqs_[i];
       // end phrasing slur: move the phrasing slur to other array
-      if (phrasing_slur_req_l->get_span_dir () == STOP)
+      if (phrasing_slur_req->get_span_dir () == STOP)
 	{
 	  if (phrasing_slur_l_stack_.empty ())
-	    phrasing_slur_req_l->origin ()->warning (_f ("can't find start of phrasing slur"));
+	    phrasing_slur_req->origin ()->warning (_f ("can't find start of phrasing slur"));
 	  else
 	    {
 	      Grob* phrasing_slur = phrasing_slur_l_stack_.pop ();
-	      end_phrasing_slur_l_arr_.push (phrasing_slur);
-	      requests_arr_.pop ();
+	      end_phrasing_slurs_.push (phrasing_slur);
+	      requestses_.pop ();
 	    }
 	}
-      else  if (phrasing_slur_req_l->get_span_dir () == START)
+      else  if (phrasing_slur_req->get_span_dir () == START)
 	{
 	  // push a new phrasing_slur onto stack.
 	  // (use temp. array to wait for all phrasing_slur STOPs)
 	  Grob* phrasing_slur = new Spanner (get_property ("PhrasingSlur"));
 	  Slur::set_interface (phrasing_slur); // can't remove.
-	  start_phrasing_slur_l_arr.push (phrasing_slur);
-	  requests_arr_.push (phrasing_slur_req_l);
-	  announce_grob(phrasing_slur, phrasing_slur_req_l->self_scm());
+	  start_phrasing_slurs.push (phrasing_slur);
+	  requestses_.push (phrasing_slur_req);
+	  announce_grob(phrasing_slur, phrasing_slur_req->self_scm());
 	}
     }
-  for (int i=0; i < start_phrasing_slur_l_arr.size (); i++)
-    phrasing_slur_l_stack_.push (start_phrasing_slur_l_arr[i]);
-  new_phrasing_slur_req_l_arr_.clear ();
+  for (int i=0; i < start_phrasing_slurs.size (); i++)
+    phrasing_slur_l_stack_.push (start_phrasing_slurs[i]);
+  new_phrasing_slur_reqs_.clear ();
 }
 
 void
 Phrasing_slur_engraver::stop_translation_timestep ()
 {
-  for (int i = 0; i < end_phrasing_slur_l_arr_.size (); i++)
+  for (int i = 0; i < end_phrasing_slurs_.size (); i++)
     {
-      typeset_grob (end_phrasing_slur_l_arr_[i]);
+      typeset_grob (end_phrasing_slurs_[i]);
     }
-  end_phrasing_slur_l_arr_.clear ();
+  end_phrasing_slurs_.clear ();
 }
 
 void
 Phrasing_slur_engraver::start_translation_timestep ()
 {
-  new_phrasing_slur_req_l_arr_.clear ();
+  new_phrasing_slur_reqs_.clear ();
 }
 
 
diff -purN ../lilypond-1.5.69/lily/piano-pedal-engraver.cc ./lily/piano-pedal-engraver.cc
--- ../lilypond-1.5.69/lily/piano-pedal-engraver.cc	Wed Jul  3 13:57:22 2002
+++ ./lily/piano-pedal-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -25,11 +25,11 @@
 struct Pedal_info
 {
   char const * name_;
-  Span_req* start_req_l_;
+  Span_req* start_req_;
   Drul_array<Span_req*> req_l_drul_;
-  Item* item_p_;
-  Spanner* bracket_p_;     // A single portion of a pedal bracket
-  Spanner* finished_bracket_p_;
+  Item* item_;
+  Spanner* bracket_;     // A single portion of a pedal bracket
+  Spanner* finished_bracket_;
 
   /*
     This grob contains all the pedals of the same type on the same staff
@@ -66,7 +66,7 @@ private:
     Why 4, why not 3. Why not 3423 ?  ---hwn.
   */
   
-  Spanner *previous_p_ [4];
+  Spanner *previous_ [4];
   
   int spanner_count_;
 
@@ -95,7 +95,7 @@ Piano_pedal_engraver::initialize ()
 
   spanner_count_ = 0;
   for (int i = 0; i < 3; ++i)
-    previous_p_[i] = 0; 
+    previous_[i] = 0; 
 
 
   char * names [] = { "Sostenuto", "Sustain", "UnaCorda", 0  };
@@ -103,15 +103,15 @@ Piano_pedal_engraver::initialize ()
   do
     {
       p->name_ = *np;
-      p->item_p_ = 0;
-      p->bracket_p_ = 0;
-      p->finished_bracket_p_ = 0;
+      p->item_ = 0;
+      p->bracket_ = 0;
+      p->finished_bracket_ = 0;
       p->line_spanner_ = 0;
       p->finished_line_spanner_ = 0;
       p->current_bracket_req_ = 0;
       p->req_l_drul_[START] = 0;
       p->req_l_drul_[STOP] = 0;
-      p->start_req_l_ = 0;
+      p->start_req_ = 0;
 
       p++;
     }
@@ -132,16 +132,16 @@ Piano_pedal_engraver::acknowledge_grob (
 {
   for (Pedal_info*p = info_list_; p && p->name_; p ++)
     {
-      if (Note_column::has_interface (info.grob_l_))
+      if (Note_column::has_interface (info.grob_))
 	{
 	  if (p->line_spanner_)
 	    {
-	      Side_position_interface::add_support (p->line_spanner_, info.grob_l_);
+	      Side_position_interface::add_support (p->line_spanner_, info.grob_);
 	      
-	      add_bound_item (p->line_spanner_,info.grob_l_);
+	      add_bound_item (p->line_spanner_,info.grob_);
 	    }	  
-	  if (p->bracket_p_)
-	    add_bound_item (p->bracket_p_,info.grob_l_);		  
+	  if (p->bracket_)
+	    add_bound_item (p->bracket_,info.grob_);		  
 	  
 	}
     }
@@ -159,9 +159,9 @@ Piano_pedal_engraver::try_music (Music *
 	      p->req_l_drul_[START] = 0;
 	      p->req_l_drul_[STOP] = 0;
 	      
-	      if (p->bracket_p_)
-		p->bracket_p_->suicide (); /* as in dynamic-engraver.cc */
-	      p->bracket_p_ = 0;
+	      if (p->bracket_)
+		p->bracket_->suicide (); /* as in dynamic-engraver.cc */
+	      p->bracket_ = 0;
 	    }  
 	  if (scm_equal_p (s->get_mus_property ("span-type"),
 			   ly_str02scm (p->name_))==SCM_BOOL_T)
@@ -184,7 +184,7 @@ Piano_pedal_engraver::process_acknowledg
 	  if (!p->line_spanner_)
 	    {
 	      String name  = String (p->name_) + "PedalLineSpanner";
-	      p->line_spanner_ = new Spanner (get_property (name.ch_C ()));
+	      p->line_spanner_ = new Spanner (get_property (name.to_str0 ()));
 	      Side_position_interface::set_axis (p->line_spanner_, Y_AXIS);
 	      Music * rq = (p->req_l_drul_[START]  ?  p->req_l_drul_[START]  :  p->req_l_drul_[STOP]);
 	      announce_grob (p->line_spanner_, rq->self_scm ());
@@ -194,11 +194,11 @@ Piano_pedal_engraver::process_acknowledg
 	   These can be text items or text-spanners
 	  */
 	  SCM type = ly_cdr (scm_assoc (ly_symbol2scm ("pedal-type"), 
-					get_property ( (String (p->name_) + "Pedal").ch_C ())));
+					get_property ( (String (p->name_) + "Pedal").to_str0 ())));
 	  if (type == ly_symbol2scm ("text") ||      // Ped.     *Ped.  *
 	      type == ly_symbol2scm ("mixed")  )    // Ped. _____/\____|
 	    {
-	      if (! p->item_p_)
+	      if (! p->item_)
 		create_text_grobs (p, type);
 	    }
 	  if (type == ly_symbol2scm ("bracket") ||   // |_________/\____|
@@ -216,7 +216,7 @@ Piano_pedal_engraver::create_text_grobs 
 {
   SCM b;
   SCM s = SCM_EOL;
-  SCM strings = get_property ( ("pedal" + String (p->name_) + "Strings").ch_C ());
+  SCM strings = get_property ( ("pedal" + String (p->name_) + "Strings").to_str0 ());
 
   if (scm_ilength (strings) >= 3)
     {
@@ -224,7 +224,7 @@ Piano_pedal_engraver::create_text_grobs 
 	{
 	  if (pedaltype == ly_symbol2scm ("text")) 
 	    {
-	      if (!p->start_req_l_)
+	      if (!p->start_req_)
 		{
 		  p->req_l_drul_[STOP]->origin ()->warning (_f ("can't find start of piano pedal: `%s'",  p->name_));
 		}
@@ -232,14 +232,14 @@ Piano_pedal_engraver::create_text_grobs 
 		{
 		  s = ly_cadr (strings);
 		}
-	      p->start_req_l_ = p->req_l_drul_[START];
+	      p->start_req_ = p->req_l_drul_[START];
 	    }
 	}
       else if (p->req_l_drul_[STOP])
 	{ 
 	  if (pedaltype == ly_symbol2scm ("text"))
 	    {
-	      if (!p->start_req_l_)
+	      if (!p->start_req_)
 		{
 		  p->req_l_drul_[STOP]->origin ()->warning (_f ("can't find start of piano pedal: `%s'", p->name_));
 		}
@@ -248,33 +248,33 @@ Piano_pedal_engraver::create_text_grobs 
 		  s = ly_caddr (strings);
 		  spanner_count_ --;
 		}
-	      p->start_req_l_ = 0;
+	      p->start_req_ = 0;
 	    }
 	}
       else if (p->req_l_drul_[START])
 	{
-	  p->start_req_l_ = p->req_l_drul_[START];
+	  p->start_req_ = p->req_l_drul_[START];
 	  s = ly_car (strings);
 	  if (pedaltype == ly_symbol2scm ("text"))
 	    {
 	      spanner_count_ ++;
-	      previous_p_[spanner_count_] = p->line_spanner_;
+	      previous_[spanner_count_] = p->line_spanner_;
 	      if (spanner_count_ > 1)
 		// add extra space below the previous already-occuring pedal
 		Side_position_interface::add_support (p->line_spanner_,
-						     previous_p_[spanner_count_ - 1]);
+						     previous_[spanner_count_ - 1]);
 	    }
 	}
       
       if (gh_string_p (s))
 	{
 	  String propname = String (p->name_) + "Pedal";
-	  b = get_property (propname.ch_C ());
-	  p->item_p_ = new Item (b);
-	  p->item_p_->set_grob_property ("text", s);
-	  Axis_group_interface::add_element (p->line_spanner_, p->item_p_);
+	  b = get_property (propname.to_str0 ());
+	  p->item_ = new Item (b);
+	  p->item_->set_grob_property ("text", s);
+	  Axis_group_interface::add_element (p->line_spanner_, p->item_);
 	  
-	  announce_grob (p->item_p_,
+	  announce_grob (p->item_,
 			 (p->req_l_drul_[START]
 			 ? p->req_l_drul_[START]
 			 : p->req_l_drul_[STOP])->self_scm ());
@@ -294,45 +294,45 @@ Piano_pedal_engraver::create_bracket_gro
 
   if (p->req_l_drul_[STOP])
     {
-      if (!p->start_req_l_)
+      if (!p->start_req_)
 	{
 	  p->req_l_drul_[STOP]->origin ()->warning (_f ("can't find start of piano pedal: `%s'", p->name_));
 	}
       else if (!p->req_l_drul_[START])
 	spanner_count_ -- ;
 
-      assert (!p->finished_bracket_p_ && p->bracket_p_);
+      assert (!p->finished_bracket_ && p->bracket_);
 
       Grob *cmc = unsmob_grob (get_property ("currentMusicalColumn"));
-      p->bracket_p_->set_bound (RIGHT, cmc);
+      p->bracket_->set_bound (RIGHT, cmc);
 
       /*
 	Set properties so that the molecule-creating function will
 	know whether the right edge should be flared ___/
        */
-      SCM eleft = ly_car (p->bracket_p_->get_grob_property ("edge-widen"));
+      SCM eleft = ly_car (p->bracket_->get_grob_property ("edge-widen"));
       SCM eright = (p->req_l_drul_[START]  ? edge_width_drul_[RIGHT] : gh_double2scm (0));
-      p->bracket_p_->set_grob_property ("edge-widen", gh_cons (eleft, eright));
+      p->bracket_->set_grob_property ("edge-widen", gh_cons (eleft, eright));
       
-      p->finished_bracket_p_ = p->bracket_p_;
-      p->bracket_p_ = 0;
+      p->finished_bracket_ = p->bracket_;
+      p->bracket_ = 0;
       p->current_bracket_req_ = 0;
-      p->start_req_l_ = p->req_l_drul_[START];
+      p->start_req_ = p->req_l_drul_[START];
     }
 
   if (p->req_l_drul_[START])
     {
-      p->start_req_l_ = p->req_l_drul_[START];
+      p->start_req_ = p->req_l_drul_[START];
       p->current_bracket_req_ = p->req_l_drul_[START];
 
-      p->bracket_p_  = new Spanner (get_property ("PianoPedalBracket"));
+      p->bracket_  = new Spanner (get_property ("PianoPedalBracket"));
 
       /*
 	Set properties so that the molecule-creating function will
 	know whether the left edge should be flared \___
       */
 
-      SCM ew = p->bracket_p_->get_grob_property ("edge-widen");
+      SCM ew = p->bracket_->get_grob_property ("edge-widen");
       edge_width_drul_[LEFT] =  ly_car (ew);
       edge_width_drul_[RIGHT] = ly_cdr (ew);
       
@@ -340,13 +340,13 @@ Piano_pedal_engraver::create_bracket_gro
 		    edge_width_drul_[LEFT]  :
 		    gh_double2scm (0));
       SCM eright = gh_double2scm (0);
-      p->bracket_p_->set_grob_property ("edge-widen", gh_cons (eleft, eright));
+      p->bracket_->set_grob_property ("edge-widen", gh_cons (eleft, eright));
 
       /* Set this property for 'mixed style' pedals,    Ped._______/\ ,  
         so the molecule function will shorten the ____ line by the length of the Ped. text.
       */
       
-      p->bracket_p_->set_grob_property ("text-start", 
+      p->bracket_->set_grob_property ("text-start", 
 				       pedaltype == ly_symbol2scm ("mixed") ? 
 				       gh_bool2scm ( (bool) ! p->req_l_drul_[STOP]) :
 				       gh_bool2scm (false));
@@ -355,23 +355,23 @@ Piano_pedal_engraver::create_bracket_gro
 	Mixed style: Store a pointer to the preceding text for use in
 	calculating the length of the line 
       */
-      if (p->item_p_)
-	p->bracket_p_->set_grob_property ("pedal-text", p->item_p_->self_scm ());
+      if (p->item_)
+	p->bracket_->set_grob_property ("pedal-text", p->item_->self_scm ());
       
-      p->bracket_p_->set_bound (LEFT, unsmob_grob (get_property ("currentMusicalColumn")));
-      Axis_group_interface::add_element (p->line_spanner_, p->bracket_p_);	      
+      p->bracket_->set_bound (LEFT, unsmob_grob (get_property ("currentMusicalColumn")));
+      Axis_group_interface::add_element (p->line_spanner_, p->bracket_);	      
 
-      add_bound_item (p->line_spanner_, p->bracket_p_->get_bound (LEFT));
-      announce_grob (p->bracket_p_, p->req_l_drul_[START]->self_scm ());
+      add_bound_item (p->line_spanner_, p->bracket_->get_bound (LEFT));
+      announce_grob (p->bracket_, p->req_l_drul_[START]->self_scm ());
 
       if (!p->req_l_drul_[STOP])
 	{
 	  spanner_count_ ++;
-	  previous_p_[spanner_count_] = p->line_spanner_;	
+	  previous_[spanner_count_] = p->line_spanner_;	
 
 	  if (spanner_count_ > 1) 
 	    // position new pedal spanner below the current one
-	    Side_position_interface::add_support (p->line_spanner_, previous_p_[spanner_count_ - 1]);
+	    Side_position_interface::add_support (p->line_spanner_, previous_[spanner_count_ - 1]);
 	}
     }
 
@@ -396,14 +396,14 @@ Piano_pedal_engraver::finalize ()
 	  p->finished_line_spanner_ = p->line_spanner_;
 	  typeset_all ();
 	}
-      if (p->bracket_p_
-	  && !p->bracket_p_->live())
-	p->bracket_p_ = 0;
-      if (p->bracket_p_)
+      if (p->bracket_
+	  && !p->bracket_->live())
+	p->bracket_ = 0;
+      if (p->bracket_)
 	{
 	  p->current_bracket_req_->origin ()->warning (_ ("unterminated pedal bracket"));
-	  p->bracket_p_->suicide ();
-	  p->bracket_p_ = 0;
+	  p->bracket_->suicide ();
+	  p->bracket_ = 0;
 	}
     }
 }
@@ -414,7 +414,7 @@ Piano_pedal_engraver::stop_translation_t
 {
   for (Pedal_info*p = info_list_; p && p->name_; p ++)
     {
-      if (!p->bracket_p_)
+      if (!p->bracket_)
 	{
 	  p->finished_line_spanner_ = p->line_spanner_;
 	  p->line_spanner_ = 0;
@@ -437,15 +437,15 @@ Piano_pedal_engraver::typeset_all ()
       if (p->finished_line_spanner_
 	  && !p->finished_line_spanner_->live ())
 	p->finished_line_spanner_ = 0;
-      if (p->finished_bracket_p_
-	  && !p->finished_bracket_p_->live())
-	p->finished_bracket_p_ = 0;
+      if (p->finished_bracket_
+	  && !p->finished_bracket_->live())
+	p->finished_bracket_ = 0;
 
 
       if (p->name_ == String ("Sustain"))
-	sustain = p->item_p_;
+	sustain = p->item_;
 
-      if (p->item_p_)
+      if (p->item_)
 	{
 	  /*
 	    Hmm.
@@ -454,24 +454,24 @@ Piano_pedal_engraver::typeset_all ()
 	    {
 	      if (sustain)
 		{
-		  Side_position_interface::add_support (p->item_p_,sustain);
+		  Side_position_interface::add_support (p->item_,sustain);
 		}
 	    }
-	  typeset_grob (p->item_p_);
-	  p->item_p_ = 0;
+	  typeset_grob (p->item_);
+	  p->item_ = 0;
 	}
       
-      if (p->finished_bracket_p_)
+      if (p->finished_bracket_)
 	{
-	  Grob * l = p->finished_bracket_p_->get_bound (LEFT);
-	  Grob * r = p->finished_bracket_p_->get_bound (RIGHT);      
+	  Grob * l = p->finished_bracket_->get_bound (LEFT);
+	  Grob * r = p->finished_bracket_->get_bound (RIGHT);      
 	  if (!r)
 	    {
-	      p->finished_bracket_p_->set_bound (RIGHT, unsmob_grob (get_property ("currentMusicalColumn")));
+	      p->finished_bracket_->set_bound (RIGHT, unsmob_grob (get_property ("currentMusicalColumn")));
 	    }
 
-	  typeset_grob (p->finished_bracket_p_);
-	  p->finished_bracket_p_ =0;
+	  typeset_grob (p->finished_bracket_);
+	  p->finished_bracket_ =0;
 	}
 
       if (p->finished_line_spanner_)
diff -purN ../lilypond-1.5.69/lily/piano-pedal-performer.cc ./lily/piano-pedal-performer.cc
--- ../lilypond-1.5.69/lily/piano-pedal-performer.cc	Tue Feb 26 19:26:15 2002
+++ ./lily/piano-pedal-performer.cc	Fri Jul 26 12:26:59 2002
@@ -19,7 +19,7 @@ class Piano_pedal_performer : public Per
   struct Pedal_info
   {
     char const *name_;
-    Span_req* start_req_l_;
+    Span_req* start_req_;
     Drul_array<Span_req*> req_l_drul_;
   };
 
@@ -35,7 +35,7 @@ protected:
   virtual void start_translation_timestep ();
 
 private:
-  Link_array<Audio_piano_pedal> audio_p_arr_;
+  Link_array<Audio_piano_pedal> audios_;
   Pedal_info * info_alist_;
 };
 
@@ -62,7 +62,7 @@ Piano_pedal_performer::initialize ()
       p->name_ = *np;
       p->req_l_drul_[START] = 0;
       p->req_l_drul_[STOP] = 0;
-      p->start_req_l_ = 0;
+      p->start_req_ = 0;
 
       p++;
     }
@@ -77,27 +77,27 @@ Piano_pedal_performer::create_audio_elem
     {
       if (p->req_l_drul_[STOP])
 	{
-	  if (!p->start_req_l_)
+	  if (!p->start_req_)
 	    {
 	      p->req_l_drul_[STOP]->origin ()->warning (_f ("can't find start of piano pedal: `%s'", String (p->name_)));
 	    }
 	  else
 	    {
 	      Audio_piano_pedal* a = new Audio_piano_pedal;
-	      a->type_str_ = String (p->name_);
+	      a->type_string_ = String (p->name_);
 	      a->dir_ = STOP;
-	      audio_p_arr_.push (a);
+	      audios_.push (a);
 	    }
-	  p->start_req_l_ = 0;
+	  p->start_req_ = 0;
 	}
 
       if (p->req_l_drul_[START])
 	{
-	  p->start_req_l_ = p->req_l_drul_[START];
+	  p->start_req_ = p->req_l_drul_[START];
 	  Audio_piano_pedal* a = new Audio_piano_pedal;
-	  a->type_str_ = String (p->name_);
+	  a->type_string_ = String (p->name_);
 	  a->dir_ = START;
-	  audio_p_arr_.push (a);
+	  audios_.push (a);
 	}
       p->req_l_drul_[START] = 0;
       p->req_l_drul_[STOP] = 0;
@@ -107,9 +107,9 @@ Piano_pedal_performer::create_audio_elem
 void
 Piano_pedal_performer::stop_translation_timestep ()
 {
-  for (int i=0; i< audio_p_arr_.size (); i++)
-    play_element (audio_p_arr_[i]);
-  audio_p_arr_.clear ();
+  for (int i=0; i< audios_.size (); i++)
+    play_element (audios_[i]);
+  audios_.clear ();
 }
 
 void
diff -purN ../lilypond-1.5.69/lily/pitch-squash-engraver.cc ./lily/pitch-squash-engraver.cc
--- ../lilypond-1.5.69/lily/pitch-squash-engraver.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/pitch-squash-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -22,9 +22,9 @@ void
 Pitch_squash_engraver::acknowledge_grob (Grob_info i)
 {
   SCM newpos = get_property ("squashedPosition");
-  if (Note_head::has_interface (i.grob_l_))
+  if (Note_head::has_interface (i.grob_))
     {
-      i.grob_l_->set_grob_property ("staff-position", newpos);
+      i.grob_->set_grob_property ("staff-position", newpos);
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/pitch.cc ./lily/pitch.cc
--- ../lilypond-1.5.69/lily/pitch.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/pitch.cc	Fri Jul 26 12:26:59 2002
@@ -15,16 +15,16 @@
 
 Pitch::Pitch (int o, int n, int a)
 {
-  notename_i_ = n;
-  alteration_i_ = a;
-  octave_i_ = o;
+  notename_ = n;
+  alteration_ = a;
+  octave_ = o;
 
   if (n < 0 || n >= 7 ||
       a < -2 || a > 2)
     {
       String s = _ ("Pitch arguments out of range");
-      s += ": alteration = " + to_str (a);
-      s += ", notename = " + to_str (n);
+      s += ": alteration = " + to_string (a);
+      s += ", notename = " + to_string (n);
       warning (s);
     }
   normalise ();
@@ -32,17 +32,17 @@ Pitch::Pitch (int o, int n, int a)
 
 Pitch::Pitch ()
 {
-  notename_i_ = 0;
-  alteration_i_ = 0;
-  octave_i_ = 0;
+  notename_ = 0;
+  alteration_ = 0;
+  octave_ = 0;
 }
 
 int
 Pitch::compare (Pitch const &m1, Pitch const &m2)
 {
-  int o=  m1.octave_i_ - m2.octave_i_;
-  int n = m1.notename_i_ - m2.notename_i_;
-  int a = m1.alteration_i_ - m2.alteration_i_;
+  int o=  m1.octave_ - m2.octave_;
+  int n = m1.notename_ - m2.notename_;
+  int a = m1.alteration_ - m2.alteration_;
 
   if (o)
 	return o;
@@ -56,7 +56,7 @@ Pitch::compare (Pitch const &m1, Pitch c
 int
 Pitch::steps () const
 {
-  return  notename_i_ + octave_i_*7;
+  return  notename_ + octave_*7;
 }
 
 /*
@@ -70,57 +70,57 @@ static Byte pitch_byte_a[  ] = { 0, 2, 4
 int
 Pitch::semitone_pitch () const
 {
-  int o = octave_i_;
-  int n = notename_i_;
+  int o = octave_;
+  int n = notename_;
   while (n < 0)
     {
       n += 7;
       o --;
     }
-  return (o + n / 7) * 12 + pitch_byte_a[n % 7] + alteration_i_;
+  return (o + n / 7) * 12 + pitch_byte_a[n % 7] + alteration_;
 }
 
 void
 Pitch::normalise ()
 {
   int pitch = semitone_pitch ();
-  while (notename_i_ >= 7)
+  while (notename_ >= 7)
     {
-      notename_i_ -= 7;
-      octave_i_++;
-      alteration_i_ -= semitone_pitch () - pitch;
+      notename_ -= 7;
+      octave_++;
+      alteration_ -= semitone_pitch () - pitch;
     }
-  while (notename_i_ < 0)
+  while (notename_ < 0)
     {
-      notename_i_ += 7;
-      octave_i_--;
-      alteration_i_ -= semitone_pitch () - pitch;
+      notename_ += 7;
+      octave_--;
+      alteration_ -= semitone_pitch () - pitch;
     }
-  while (alteration_i_ >= 3)
+  while (alteration_ >= 3)
     {
-      if (notename_i_ == 6)
+      if (notename_ == 6)
 	{
-	  notename_i_ = 0;
-	  octave_i_++;
+	  notename_ = 0;
+	  octave_++;
 	}
       else
-	notename_i_++;
+	notename_++;
 
-      alteration_i_ = 0;
-      alteration_i_ -= semitone_pitch () - pitch;
+      alteration_ = 0;
+      alteration_ -= semitone_pitch () - pitch;
     }
-  while (alteration_i_ <= -3)
+  while (alteration_ <= -3)
     {
-      if (notename_i_ == 0)
+      if (notename_ == 0)
 	{
-	  notename_i_ = 6;
-	  octave_i_--;
+	  notename_ = 6;
+	  octave_--;
 	}
       else
-	notename_i_--;
+	notename_--;
 
-      alteration_i_ = 0;
-      alteration_i_ -= semitone_pitch () - pitch;
+      alteration_ = 0;
+      alteration_ -= semitone_pitch () - pitch;
     }
 }
 
@@ -130,12 +130,12 @@ Pitch::transpose (Pitch delta)
 {
   int old_semi = semitone_pitch ();
   int delta_semi = delta.semitone_pitch ();
-  octave_i_ += delta.octave_i_;
-  notename_i_ += delta.notename_i_;
+  octave_ += delta.octave_;
+  notename_ += delta.notename_;
 
   int new_semi = semitone_pitch ();
   int delta_acc = new_semi - old_semi - delta_semi;
-  alteration_i_ -= delta_acc;
+  alteration_ -= delta_acc;
 
   normalise ();
 }
@@ -147,24 +147,24 @@ Pitch::transpose (Pitch delta)
 char const *accname[] = {"eses", "es", "", "is" , "isis"};
 
 String
-Pitch::str () const
+Pitch::string () const
 {
-  int n = (notename_i_ + 2) % 7;
-  String s = to_str (char (n + 'a'));
-  if (alteration_i_)
-    s += String (accname[alteration_i_ + 2]);
+  int n = (notename_ + 2) % 7;
+  String s = to_string (char (n + 'a'));
+  if (alteration_)
+    s += String (accname[alteration_ + 2]);
 
-  if (octave_i_ >= 0)
+  if (octave_ >= 0)
     {
-      int o = octave_i_ + 1;
+      int o = octave_ + 1;
       while (o--)
 	s += "'";
     }
-  else if (octave_i_ < 0)
+  else if (octave_ < 0)
     {
-      int o = (-octave_i_) - 1;
+      int o = (-octave_) - 1;
       while (o--)
-	s += to_str (',');
+	s += to_string (',');
     }
 
   return s;
@@ -177,16 +177,16 @@ Pitch::str () const
 Pitch
 Pitch::to_relative_octave (Pitch p)
 {
-  int oct_mod = octave_i_  + 1;	// account for c' = octave 1 iso. 0 4
+  int oct_mod = octave_  + 1;	// account for c' = octave 1 iso. 0 4
   Pitch up_pitch (p);
   Pitch down_pitch (p);
 
-  up_pitch.alteration_i_ = alteration_i_;
-  down_pitch.alteration_i_ = alteration_i_;
+  up_pitch.alteration_ = alteration_;
+  down_pitch.alteration_ = alteration_;
   
   Pitch n = *this;
-  up_pitch.up_to (notename_i_);
-  down_pitch.down_to (notename_i_);
+  up_pitch.up_to (notename_);
+  down_pitch.down_to (notename_);
 
   int h = p.steps ();
   if (abs (up_pitch.steps () - h) < abs (down_pitch.steps () - h))
@@ -194,7 +194,7 @@ Pitch::to_relative_octave (Pitch p)
   else
     n = down_pitch;
   
-  n.octave_i_ += oct_mod;
+  n.octave_ += oct_mod;
 
   *this = n;
   return *this;
@@ -203,21 +203,21 @@ Pitch::to_relative_octave (Pitch p)
 void
 Pitch::up_to (int notename)
 {
-  if (notename_i_  > notename)
+  if (notename_  > notename)
     {
-      octave_i_ ++;
+      octave_ ++;
     }
-  notename_i_  = notename;
+  notename_  = notename;
 }
 
 void
 Pitch::down_to (int notename)
 {
-  if (notename_i_ < notename)
+  if (notename_ < notename)
     {
-      octave_i_ --;
+      octave_ --;
     }
-  notename_i_ = notename;
+  notename_ = notename;
 }
  
 LY_DEFINE(ly_pitch_transpose,
@@ -255,7 +255,7 @@ Pitch::print_smob (SCM s, SCM port, scm_
   Pitch  *r = (Pitch *) ly_cdr (s);
      
   scm_puts ("#<Pitch ", port);
-  scm_display (ly_str02scm (r->str ().ch_C ()), port);
+  scm_display (ly_str02scm (r->string ().to_str0 ()), port);
   scm_puts (" >", port);
   
   return 1;
@@ -267,9 +267,9 @@ Pitch::equal_p (SCM a , SCM b)
   Pitch  *p = (Pitch *) ly_cdr (a);
   Pitch  *q = (Pitch *) ly_cdr (b);  
 
-  bool eq = p->notename_i_ == q->notename_i_
-    && p->octave_i_ == q->octave_i_
-    && p->alteration_i_ == q->alteration_i_;
+  bool eq = p->notename_ == q->notename_
+    && p->octave_ == q->octave_
+    && p->alteration_ == q->alteration_;
 
   return eq ? SCM_BOOL_T : SCM_BOOL_F;
 }
@@ -301,9 +301,9 @@ flats, or positive for sharps.
 
 ")
 {
-  SCM_ASSERT_TYPE(gh_number_p(o), o, SCM_ARG1, __FUNCTION__, "number");
-  SCM_ASSERT_TYPE(gh_number_p(n), n, SCM_ARG2, __FUNCTION__, "number");
-  SCM_ASSERT_TYPE(gh_number_p(a), a, SCM_ARG3, __FUNCTION__, "number");
+  SCM_ASSERT_TYPE(gh_number_p (o), o, SCM_ARG1, __FUNCTION__, "number");
+  SCM_ASSERT_TYPE(gh_number_p (n), n, SCM_ARG2, __FUNCTION__, "number");
+  SCM_ASSERT_TYPE(gh_number_p (a), a, SCM_ARG3, __FUNCTION__, "number");
 
   Pitch p (gh_scm2int (o), gh_scm2int (n), gh_scm2int (a));
   return p.smobbed_copy ();
@@ -316,7 +316,7 @@ LY_DEFINE(pitch_octave, "pitch-octave", 
 {
   Pitch *p = unsmob_pitch (pp);
    SCM_ASSERT_TYPE(p, pp, SCM_ARG1, __FUNCTION__, "Pitch");
-  int q = p->octave_i ();
+  int q = p->get_octave ();
 
   return gh_int2scm (q);
 }
@@ -327,7 +327,7 @@ LY_DEFINE(pitch_alteration, "pitch-alter
 {
   Pitch *p = unsmob_pitch (pp);
   SCM_ASSERT_TYPE(p, pp, SCM_ARG1, __FUNCTION__, "Pitch");
-  int     q = p->alteration_i ();
+  int     q = p->get_alteration ();
 
   return gh_int2scm (q);
 }
@@ -338,7 +338,7 @@ LY_DEFINE(pitch_notename, "pitch-notenam
 {
   Pitch *p = unsmob_pitch (pp);
   SCM_ASSERT_TYPE(p, pp, SCM_ARG1, __FUNCTION__, "Pitch");
-  int q  = p->notename_i ();
+  int q  = p->get_notename ();
 
   return gh_int2scm (q);
 }
@@ -376,20 +376,20 @@ Pitch::smobbed_copy ()const
 }
 
 int
-Pitch::octave_i ()const
+Pitch::get_octave ()const
 {
-  return octave_i_;
+  return octave_;
 }
 
 int
-Pitch::notename_i () const
+Pitch::get_notename () const
 {
-  return notename_i_;
+  return notename_;
 }
 
 int
-Pitch::alteration_i () const
+Pitch::get_alteration () const
 {
-  return alteration_i_;
+  return alteration_;
 }
 
diff -purN ../lilypond-1.5.69/lily/porrectus-engraver.cc ./lily/porrectus-engraver.cc
--- ../lilypond-1.5.69/lily/porrectus-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/porrectus-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -46,7 +46,7 @@ public:
   TRANSLATOR_DECLARATIONS(Porrectus_engraver);
   
 protected:
-  virtual bool try_music (Music *req_l);
+  virtual bool try_music (Music *req);
   virtual void process_music ();
   virtual void process_acknowledged_grobs ();
   virtual void stop_translation_timestep ();
@@ -55,23 +55,23 @@ protected:
 
 private:
   PQueue<Grob_pitch_tuple> past_notes_pq_;
-  Porrectus_req *porrectus_req_l_;
+  Porrectus_req *porrectus_req_;
   Array<Grob_pitch_tuple> left_heads_;
   Array<Grob_pitch_tuple> right_heads_;
-  Link_array<Grob> porrectus_p_arr_;
+  Link_array<Grob> porrectuses_;
 };
 
 Porrectus_engraver::Porrectus_engraver ()
 {
-  porrectus_req_l_ = 0;
+  porrectus_req_ = 0;
 }
 
 bool
 Porrectus_engraver::try_music (Music *m)
 {
-  if (Porrectus_req *req_l_ = dynamic_cast <Porrectus_req *> (m))
+  if (Porrectus_req *req_ = dynamic_cast <Porrectus_req *> (m))
     {
-      porrectus_req_l_ = req_l_;
+      porrectus_req_ = req_;
       return true;
     }
   else
@@ -81,30 +81,30 @@ Porrectus_engraver::try_music (Music *m)
 void
 Porrectus_engraver::process_music ()
 {
-  if (porrectus_req_l_)
+  if (porrectus_req_)
     {
       top_engraver ()->forbid_breaks ();
     }
 }
 
 void
-Porrectus_engraver::acknowledge_grob (Grob_info info_l_)
+Porrectus_engraver::acknowledge_grob (Grob_info info_)
 {
-  if (Rhythmic_head::has_interface (info_l_.grob_l_))
+  if (Rhythmic_head::has_interface (info_.grob_))
     {
-      Note_req *note_req_l_ = dynamic_cast <Note_req *> (info_l_.music_cause ());
-      if (!note_req_l_)
+      Note_req *note_req_ = dynamic_cast <Note_req *> (info_.music_cause ());
+      if (!note_req_)
 	return;
-      right_heads_.push (Grob_pitch_tuple (info_l_.grob_l_, note_req_l_,
+      right_heads_.push (Grob_pitch_tuple (info_.grob_, note_req_,
 					      now_mom () +
-					      note_req_l_->length_mom ()));
+					      note_req_->length_mom ()));
     }
 }
 
 void
 Porrectus_engraver::process_acknowledged_grobs ()
 {
-  if (porrectus_req_l_)
+  if (porrectus_req_)
     {
       left_heads_.sort (Grob_pitch_tuple::pitch_compare);
       right_heads_.sort (Grob_pitch_tuple::pitch_compare);
@@ -113,16 +113,16 @@ Porrectus_engraver::process_acknowledged
 
       while ((i >= 0) && (j >= 0))
 	{
-	  Item *left_head = dynamic_cast<Item*> (left_heads_[i].head_l_);
-	  Item *right_head = dynamic_cast<Item*> (right_heads_[j].head_l_);
+	  Item *left_head = dynamic_cast<Item*> (left_heads_[i].head_);
+	  Item *right_head = dynamic_cast<Item*> (right_heads_[j].head_);
 	  left_head->set_grob_property("transparent", gh_bool2scm(true));
 	  right_head->set_grob_property("transparent", gh_bool2scm(true));
 
-	  Grob *porrectus_p_ = new Item (get_property ("Porrectus"));
-	  Porrectus::set_left_head(porrectus_p_, left_head);
-	  Porrectus::set_right_head(porrectus_p_, right_head);
-	  porrectus_p_arr_.push (porrectus_p_);
-	  announce_grob(porrectus_p_, porrectus_req_l_->self_scm());
+	  Grob *porrectus_ = new Item (get_property ("Porrectus"));
+	  Porrectus::set_left_head(porrectus_, left_head);
+	  Porrectus::set_right_head(porrectus_, right_head);
+	  porrectuses_.push (porrectus_);
+	  announce_grob(porrectus_, porrectus_req_->self_scm());
 
 	  past_notes_pq_. insert (right_heads_[i]);
 	  left_heads_.del (i);
@@ -142,17 +142,17 @@ Porrectus_engraver::stop_translation_tim
     }
   right_heads_.clear ();
 
-  for (int i = 0; i < porrectus_p_arr_.size (); i++)
+  for (int i = 0; i < porrectuses_.size (); i++)
     {
-      typeset_grob (porrectus_p_arr_[i]);
+      typeset_grob (porrectuses_[i]);
     }
-  porrectus_p_arr_.clear ();
+  porrectuses_.clear ();
 }
 
 void
 Porrectus_engraver::start_translation_timestep ()
 {
-  porrectus_req_l_ = 0;
+  porrectus_req_ = 0;
   Moment now = now_mom ();
   while (past_notes_pq_.size () && past_notes_pq_.front ().end_ < now)
     past_notes_pq_.delmin ();
diff -purN ../lilypond-1.5.69/lily/porrectus.cc ./lily/porrectus.cc
--- ../lilypond-1.5.69/lily/porrectus.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/porrectus.cc	Fri Jul 26 12:26:59 2002
@@ -128,7 +128,7 @@ Porrectus::brew_molecule (SCM smob)
   if (auto_properties)
       // determine add_stem and stem_direction automatically from durations
     {
-      if (String::compare_i (style, "mensural") != 0)
+      if (String::compare (style, "mensural") != 0)
 	me->warning (String("auto-property should be used for\r\n") +
 		 String("mensural style porrectus only; trying anyway"));
 
@@ -165,8 +165,8 @@ Porrectus::brew_molecule (SCM smob)
 	}
     }
 
-  Real left_position_f = Staff_symbol_referencer::position_f (left_head);
-  Real right_position_f = Staff_symbol_referencer::position_f (right_head);
+  Real left_position_f = Staff_symbol_referencer::get_position (left_head);
+  Real right_position_f = Staff_symbol_referencer::get_position (right_head);
   Real interval = right_position_f - left_position_f;
 
   Molecule molecule;
@@ -182,7 +182,7 @@ Porrectus::brew_molecule (SCM smob)
       line_thickness = 1.0;
     }
   Real thickness =
-    line_thickness * me->paper_l ()->get_var ("linethickness");
+    line_thickness * me->get_paper ()->get_var ("linethickness");
 
   SCM porrectus_width_scm = me->get_grob_property ("width");
   Real porrectus_width;
@@ -196,11 +196,11 @@ Porrectus::brew_molecule (SCM smob)
     }
   Real width = porrectus_width * Staff_symbol_referencer::staff_space (me);
 
-  if (String::compare_i (style, "vaticana") == 0)
+  if (String::compare (style, "vaticana") == 0)
     molecule = brew_vaticana_molecule (me, interval,
 				       solid, width, thickness,
 				       add_stem, stem_direction);
-  else if (String::compare_i (style, "mensural") == 0)
+  else if (String::compare (style, "mensural") == 0)
     molecule = brew_mensural_molecule (me, interval,
 				       solid, width, thickness,
 				       add_stem, stem_direction);
diff -purN ../lilypond-1.5.69/lily/property-iterator.cc ./lily/property-iterator.cc
--- ../lilypond-1.5.69/lily/property-iterator.cc	Mon Mar 11 01:49:51 2002
+++ ./lily/property-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -21,15 +21,15 @@ bool check_grob(Music *mus, SCM sym);
 void
 Property_iterator::process (Moment m)
 {
-  SCM sym = music_l ()->get_mus_property ("symbol");
+  SCM sym = get_music ()->get_mus_property ("symbol");
   if (gh_symbol_p (sym))
     {
-      SCM val = music_l ()->get_mus_property ("value");
+      SCM val = get_music ()->get_mus_property ("value");
       bool ok= true;
       if (val != SCM_EOL)
 	ok = type_check_assignment (sym, val, ly_symbol2scm ("translation-type?"));
       if (ok)
-	report_to_l ()->internal_set_property (sym, val);
+	report_to ()->internal_set_property (sym, val);
     }
   Simple_music_iterator::process (m);
 }
@@ -37,9 +37,9 @@ Property_iterator::process (Moment m)
 void
 Property_unset_iterator::process (Moment m)
 {
-  SCM sym = music_l ()->get_mus_property ("symbol");
+  SCM sym = get_music ()->get_mus_property ("symbol");
   type_check_assignment (sym, SCM_EOL, ly_symbol2scm ("translation-type?"));  
-  report_to_l ()->unset_property (sym);
+  report_to ()->unset_property (sym);
 
   Simple_music_iterator::process (m);
 }
@@ -56,8 +56,8 @@ check_grob(Music *mus, SCM sym)
     }
   
   
-  SCM type_p = scm_object_property (sym, ly_symbol2scm ("translation-type?"));
-  bool ok = type_p == list_p;
+  SCM type = scm_object_property (sym, ly_symbol2scm ("translation-type?"));
+  bool ok = type == list_p;
 
   if (!ok)
     {
@@ -69,17 +69,17 @@ check_grob(Music *mus, SCM sym)
 void
 Push_property_iterator::process (Moment m)
 {
-  SCM sym = music_l ()->get_mus_property ("symbol");
-  if (check_grob (music_l (), sym))
+  SCM sym = get_music ()->get_mus_property ("symbol");
+  if (check_grob (get_music (), sym))
     {
-      SCM eprop = music_l ()->get_mus_property ("grob-property");
-      SCM val = music_l ()->get_mus_property ("grob-value");
+      SCM eprop = get_music ()->get_mus_property ("grob-property");
+      SCM val = get_music ()->get_mus_property ("grob-value");
 
-      if (to_boolean (music_l ()->get_mus_property ("pop-first")))
-	Translator_def::apply_pushpop_property (report_to_l (),
+      if (to_boolean (get_music ()->get_mus_property ("pop-first")))
+	Translator_def::apply_pushpop_property (report_to (),
 						sym, eprop, SCM_UNDEFINED);
 
-      Translator_def::apply_pushpop_property (report_to_l (), sym, eprop, val);
+      Translator_def::apply_pushpop_property (report_to (), sym, eprop, val);
     }
   Simple_music_iterator::process (m);
 }
@@ -87,11 +87,11 @@ Push_property_iterator::process (Moment 
 void
 Pop_property_iterator::process (Moment m)
 {
-  SCM sym = music_l ()->get_mus_property ("symbol");
-  if (check_grob (music_l (), sym))
+  SCM sym = get_music ()->get_mus_property ("symbol");
+  if (check_grob (get_music (), sym))
     {
-      SCM eprop = music_l ()->get_mus_property ("grob-property");
-      Translator_def::apply_pushpop_property (report_to_l (), sym, eprop, SCM_UNDEFINED);
+      SCM eprop = get_music ()->get_mus_property ("grob-property");
+      Translator_def::apply_pushpop_property (report_to (), sym, eprop, SCM_UNDEFINED);
     }  
   Simple_music_iterator::process (m);
 }
diff -purN ../lilypond-1.5.69/lily/repeat-acknowledge-engraver.cc ./lily/repeat-acknowledge-engraver.cc
--- ../lilypond-1.5.69/lily/repeat-acknowledge-engraver.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/repeat-acknowledge-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -38,7 +38,7 @@ void
 Repeat_acknowledge_engraver::initialize ()
 {
   first_b_ = true;
-  daddy_trans_l_->set_property ("repeatCommands", SCM_EOL);
+  daddy_trans_->set_property ("repeatCommands", SCM_EOL);
 }
 
 
@@ -50,9 +50,9 @@ void
 Repeat_acknowledge_engraver::start_translation_timestep ()
 {
   first_b_ = true;
-  Translator_group * tr = daddy_trans_l_->where_defined (ly_symbol2scm ("repeatCommands"));
+  Translator_group * tr = daddy_trans_->where_defined (ly_symbol2scm ("repeatCommands"));
   if (!tr)
-    tr = daddy_trans_l_;
+    tr = daddy_trans_;
 
   tr->set_property ("repeatCommands", SCM_EOL);
 }
@@ -105,7 +105,7 @@ Repeat_acknowledge_engraver::process_mus
     {
       if (s != "" || (volta_found && !gh_string_p (wb)))
 	{
-	  daddy_trans_l_->set_property ("whichBar", ly_str02scm (s.ch_C ()));
+	  daddy_trans_->set_property ("whichBar", ly_str02scm (s.to_str0 ()));
 	}
     }
 }
diff -purN ../lilypond-1.5.69/lily/request-chord-iterator.cc ./lily/request-chord-iterator.cc
--- ../lilypond-1.5.69/lily/request-chord-iterator.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/request-chord-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -22,36 +22,36 @@ Request_chord_iterator::Request_chord_it
 }
 
 Translator_group*
-Request_chord_iterator::get_req_translator_l ()
+Request_chord_iterator::get_req_translator ()
 {
-  assert (report_to_l ());
-  if (report_to_l ()->is_bottom_translator_b ())
-    return report_to_l ();
+  assert (report_to ());
+  if (report_to ()->is_bottom_translator_b ())
+    return report_to ();
 
-  set_translator (report_to_l ()->get_default_interpreter ());
-  return report_to_l ();
+  set_translator (report_to ()->get_default_interpreter ());
+  return report_to ();
 }
 
 void
 Request_chord_iterator::construct_children ()
 {
   Simple_music_iterator::construct_children ();
-  get_req_translator_l ();
+  get_req_translator ();
 }
 
 Request_chord*
-Request_chord_iterator::elt_l () const
+Request_chord_iterator::get_elt () const
 {
-  return (Request_chord*) music_l ();
+  return (Request_chord*) get_music ();
 }
 
 SCM
-Request_chord_iterator::get_music (Moment) const
+Request_chord_iterator::get_pending_events (Moment) const
 {
   SCM s = SCM_EOL;
   if (last_processed_mom_ < Moment (0))
     {
-      Music_sequence * ms = dynamic_cast<Music_sequence*> (music_l ());
+      Music_sequence * ms = dynamic_cast<Music_sequence*> (get_music ());
      
       for (SCM m = ms->music_list (); gh_pair_p (m); m = ly_cdr (m))
 	{
@@ -66,7 +66,7 @@ Request_chord_iterator::process (Moment 
 {
   if (last_processed_mom_ < Moment (0))
     {
-      for (SCM s = dynamic_cast<Music_sequence *> (music_l ())->music_list ();
+      for (SCM s = dynamic_cast<Music_sequence *> (get_music ())->music_list ();
 	   gh_pair_p (s);  s = ly_cdr (s))
 	{
 	  Music *mus = unsmob_music (ly_car (s));
diff -purN ../lilypond-1.5.69/lily/rest-collision-engraver.cc ./lily/rest-collision-engraver.cc
--- ../lilypond-1.5.69/lily/rest-collision-engraver.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/rest-collision-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -14,9 +14,9 @@
 
 class Rest_collision_engraver : public Engraver
 {
-  Item* rest_collision_p_;
+  Item* rest_collision_;
 
-  Link_array<Grob> note_column_l_arr_;
+  Link_array<Grob> note_columns_;
 protected:
   virtual void acknowledge_grob (Grob_info);
   virtual void process_acknowledged_grobs ();
@@ -29,38 +29,38 @@ public:
 
 Rest_collision_engraver::Rest_collision_engraver ()
 {
-  rest_collision_p_ =0;
+  rest_collision_ =0;
 }
 
 void
 Rest_collision_engraver::process_acknowledged_grobs ()
 {
-  if (rest_collision_p_ || note_column_l_arr_.size () < 2)
+  if (rest_collision_ || note_columns_.size () < 2)
     return;
 
-  rest_collision_p_ = new Item (get_property ("RestCollision"));
+  rest_collision_ = new Item (get_property ("RestCollision"));
 
-  announce_grob(rest_collision_p_, SCM_EOL);
-  for (int i=0; i< note_column_l_arr_.size (); i++)
-    Rest_collision::add_column (rest_collision_p_,note_column_l_arr_[i]);
+  announce_grob(rest_collision_, SCM_EOL);
+  for (int i=0; i< note_columns_.size (); i++)
+    Rest_collision::add_column (rest_collision_,note_columns_[i]);
 }
 
 void
 Rest_collision_engraver::acknowledge_grob (Grob_info i)
 {
-  if (Note_column::has_interface (i.grob_l_))
-    note_column_l_arr_.push (i.grob_l_);
+  if (Note_column::has_interface (i.grob_))
+    note_columns_.push (i.grob_);
 }
 
 void
 Rest_collision_engraver::stop_translation_timestep ()
 {
-  if (rest_collision_p_) 
+  if (rest_collision_) 
     {
-      typeset_grob (rest_collision_p_);
-      rest_collision_p_ = 0;
+      typeset_grob (rest_collision_);
+      rest_collision_ = 0;
     }
-  note_column_l_arr_.clear ();
+  note_columns_.clear ();
 }
 ENTER_DESCRIPTION(Rest_collision_engraver,
 /* descr */       "Handles collisions of rests.",
diff -purN ../lilypond-1.5.69/lily/rest-engraver.cc ./lily/rest-engraver.cc
--- ../lilypond-1.5.69/lily/rest-engraver.cc	Sun Mar 24 21:46:54 2002
+++ ./lily/rest-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -15,9 +15,9 @@
 
 class Rest_engraver : public Engraver
 {
-  Rest_req *rest_req_l_;
-  Item * dot_p_;
-  Grob* rest_p_;
+  Rest_req *rest_req_;
+  Item * dot_;
+  Grob* rest_;
 protected:
   virtual bool try_music (Music *);
   virtual void stop_translation_timestep ();
@@ -34,59 +34,59 @@ public:
  */
 Rest_engraver::Rest_engraver ()
 {
-  rest_req_l_ =0;
-  rest_p_ =0;
-  dot_p_ =0;
+  rest_req_ =0;
+  rest_ =0;
+  dot_ =0;
 }
 
 void
 Rest_engraver::start_translation_timestep ()
 {
-  rest_req_l_ =0;
+  rest_req_ =0;
 }
 
 void
 Rest_engraver::stop_translation_timestep ()
 {
-  if (rest_p_)
+  if (rest_)
     {
-      typeset_grob (rest_p_);
-      rest_p_ =0;
+      typeset_grob (rest_);
+      rest_ =0;
     }
-  if (dot_p_)
+  if (dot_)
     {
-      typeset_grob (dot_p_);
-      dot_p_ =0;
+      typeset_grob (dot_);
+      dot_ =0;
     }    
 }
 
 void
 Rest_engraver::process_music ()
 {
-  if (rest_req_l_ && !rest_p_) 
+  if (rest_req_ && !rest_) 
     {
-      rest_p_ = new Item (get_property ("Rest"));
+      rest_ = new Item (get_property ("Rest"));
 
 
       
-      int durlog  = unsmob_duration (rest_req_l_->get_mus_property ("duration"))-> duration_log ();
+      int durlog  = unsmob_duration (rest_req_->get_mus_property ("duration"))-> duration_log ();
       
-      rest_p_->set_grob_property ("duration-log",
+      rest_->set_grob_property ("duration-log",
 				  gh_int2scm (durlog));
 
-      int dots =unsmob_duration (rest_req_l_->get_mus_property ("duration"))->dot_count ();
+      int dots =unsmob_duration (rest_req_->get_mus_property ("duration"))->dot_count ();
       
       if (dots)
 	{
-	  dot_p_ = new Item (get_property ("Dots"));
+	  dot_ = new Item (get_property ("Dots"));
 
-	  Rhythmic_head::set_dots (rest_p_, dot_p_);
-	  dot_p_->set_parent (rest_p_, Y_AXIS);
-	  dot_p_->set_grob_property ("dot-count", gh_int2scm (dots));
-	  announce_grob (dot_p_, SCM_EOL);
+	  Rhythmic_head::set_dots (rest_, dot_);
+	  dot_->set_parent (rest_, Y_AXIS);
+	  dot_->set_grob_property ("dot-count", gh_int2scm (dots));
+	  announce_grob (dot_, SCM_EOL);
 	}
 
-      Pitch *p = unsmob_pitch (rest_req_l_->get_mus_property ("pitch"));
+      Pitch *p = unsmob_pitch (rest_req_->get_mus_property ("pitch"));
 
       /*
 	This is ridiculous -- rests don't have pitch, but we act as if
@@ -99,10 +99,10 @@ Rest_engraver::process_music ()
 	  if (gh_number_p (c0))
 	    pos += gh_scm2int (c0);
 	  
-	  rest_p_->set_grob_property ("staff-position", gh_int2scm (pos));
+	  rest_->set_grob_property ("staff-position", gh_int2scm (pos));
 	}
       
-      announce_grob(rest_p_, rest_req_l_->self_scm());
+      announce_grob(rest_, rest_req_->self_scm());
     }
 }
 
@@ -111,7 +111,7 @@ Rest_engraver::try_music (Music *m)
 {
   if (Rest_req *r = dynamic_cast <Rest_req *> (m))
     {
-      rest_req_l_ = r;
+      rest_req_ = r;
       return true;
     }  
   return false;
diff -purN ../lilypond-1.5.69/lily/rest.cc ./lily/rest.cc
--- ../lilypond-1.5.69/lily/rest.cc	Wed Jul 17 15:18:45 2002
+++ ./lily/rest.cc	Fri Jul 26 12:26:59 2002
@@ -48,7 +48,7 @@ Rest::glyph_name (Grob * me, int balltyp
   if (balltype == 0 || balltype == 1)
     {
       Real rad = Staff_symbol_referencer::staff_radius (me) * 2.0;
-      Real pos = Staff_symbol_referencer::position_f (me);
+      Real pos = Staff_symbol_referencer::get_position (me);
 
       /*
 	Figure out when the rest is far enough outside the staff. This
@@ -61,7 +61,7 @@ Rest::glyph_name (Grob * me, int balltyp
 			      (pos  <= -rad -2 || pos > rad));
     }
 
-  return ("rests-") + to_str (balltype)
+  return ("rests-") + to_string (balltype)
     + (ledger_b ? "o" : "") + style;
 }
 
diff -purN ../lilypond-1.5.69/lily/rhythmic-column-engraver.cc ./lily/rhythmic-column-engraver.cc
--- ../lilypond-1.5.69/lily/rhythmic-column-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/rhythmic-column-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -47,10 +47,10 @@
 
 class Rhythmic_column_engraver :public Engraver
 {
-  Link_array<Grob> rhead_l_arr_;
-  Grob * stem_l_;
+  Link_array<Grob> rheads_;
+  Grob * stem_;
   Grob * note_column_;
-  Grob * dotcol_l_;
+  Grob * dotcol_;
 
   Grob * last_spacing_;
   Grob * spacing_;
@@ -71,16 +71,16 @@ Rhythmic_column_engraver::Rhythmic_colum
   spacing_ =0 ;
   last_spacing_ = 0;
   
-  stem_l_ =0;
+  stem_ =0;
   note_column_=0;
-  dotcol_l_ =0;
+  dotcol_ =0;
 }
 
 
 void
 Rhythmic_column_engraver::process_acknowledged_grobs ()
 {
-  if (rhead_l_arr_.size ())
+  if (rheads_.size ())
     {
       if (!note_column_)
 	{
@@ -101,28 +101,28 @@ Rhythmic_column_engraver::process_acknow
 
 	}
 
-      for (int i=0; i < rhead_l_arr_.size (); i++)
+      for (int i=0; i < rheads_.size (); i++)
 	{
-	  if (!rhead_l_arr_[i]->get_parent (X_AXIS))
-	    Note_column::add_head (note_column_, rhead_l_arr_[i]);
+	  if (!rheads_[i]->get_parent (X_AXIS))
+	    Note_column::add_head (note_column_, rheads_[i]);
 	}
-      rhead_l_arr_.set_size (0);
+      rheads_.set_size (0);
     }
 
   
   if (note_column_)
     {
-      if (dotcol_l_
-	  && !dotcol_l_->get_parent (X_AXIS))
+      if (dotcol_
+	  && !dotcol_->get_parent (X_AXIS))
 	{
-	  Note_column::set_dotcol (note_column_, dotcol_l_);
+	  Note_column::set_dotcol (note_column_, dotcol_);
 	}
 
-      if (stem_l_
-	  && !stem_l_->get_parent (X_AXIS))
+      if (stem_
+	  && !stem_->get_parent (X_AXIS))
 	{
-	  Note_column::set_stem (note_column_, stem_l_);
-	  stem_l_ = 0;
+	  Note_column::set_stem (note_column_, stem_);
+	  stem_ = 0;
 	}
 
     }
@@ -131,20 +131,20 @@ Rhythmic_column_engraver::process_acknow
 void
 Rhythmic_column_engraver::acknowledge_grob (Grob_info i)
 {
-  Item * item =  dynamic_cast <Item *> (i.grob_l_);
+  Item * item =  dynamic_cast <Item *> (i.grob_);
   if (!item || item->get_parent (X_AXIS))
     return ; 
   if (Stem::has_interface (item))
     {
-      stem_l_ = item;
+      stem_ = item;
     }
   else if (Rhythmic_head::has_interface (item))
     {
-      rhead_l_arr_.push (item);
+      rheads_.push (item);
     }
   else if (Dot_column::has_interface (item))
     {
-      dotcol_l_ = item;
+      dotcol_ = item;
     }
 }
 
@@ -168,8 +168,8 @@ Rhythmic_column_engraver::stop_translati
 void
 Rhythmic_column_engraver::start_translation_timestep ()
 {
-  dotcol_l_ =0;
-  stem_l_ =0;
+  dotcol_ =0;
+  stem_ =0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/rhythmic-head.cc ./lily/rhythmic-head.cc
--- ../lilypond-1.5.69/lily/rhythmic-head.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/rhythmic-head.cc	Fri Jul 26 12:26:59 2002
@@ -15,14 +15,14 @@
 
 
 Item*
-Rhythmic_head::dots_l (Grob*me) 
+Rhythmic_head::get_dots (Grob*me) 
 {
   SCM s = me->get_grob_property ("dot");
   return unsmob_item (s);
 }
 
 Item*
-Rhythmic_head::stem_l (Grob*me) 
+Rhythmic_head::get_stem (Grob*me) 
 {
   SCM s = me->get_grob_property ("stem");
   return unsmob_item (s);
@@ -31,14 +31,14 @@ Rhythmic_head::stem_l (Grob*me) 
 int
 Rhythmic_head::dot_count (Grob*me) 
 {
-  return dots_l (me)
-    ? gh_scm2int (dots_l (me)->get_grob_property ("dot-count")) : 0;
+  return get_dots (me)
+    ? gh_scm2int (get_dots (me)->get_grob_property ("dot-count")) : 0;
 }
 
 void
-Rhythmic_head::set_dots (Grob*me,Item *dot_l)
+Rhythmic_head::set_dots (Grob*me,Item *dot)
 {
-  me->set_grob_property ("dot", dot_l->self_scm ());
+  me->set_grob_property ("dot", dot->self_scm ());
 }
 
 
diff -purN ../lilypond-1.5.69/lily/rod.cc ./lily/rod.cc
--- ../lilypond-1.5.69/lily/rod.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/rod.cc	Fri Jul 26 12:26:59 2002
@@ -14,7 +14,7 @@
 
 Rod::Rod ()
 {
-  distance_f_ = 0.0;
+  distance_ = 0.0;
   item_l_drul_[LEFT] = item_l_drul_[RIGHT] =0;
 }
 
@@ -25,8 +25,8 @@ Rod::columnize ()
 {
   Direction d = LEFT;
   do {
-    Paper_column * pc = item_l_drul_[d]->column_l ();
-    distance_f_ += - d * item_l_drul_[d]->relative_coordinate (pc, X_AXIS);
+    Paper_column * pc = item_l_drul_[d]->get_column ();
+    distance_ += - d * item_l_drul_[d]->relative_coordinate (pc, X_AXIS);
     item_l_drul_[d] = pc;
   } while ((flip (&d))!=LEFT);
 
@@ -39,6 +39,6 @@ Rod::add_to_cols ()
   if (item_l_drul_[LEFT] != item_l_drul_[RIGHT])
     Spaceable_grob::add_rod (item_l_drul_[LEFT],
 				item_l_drul_[RIGHT],
-				distance_f_);
+				distance_);
 }
 
diff -purN ../lilypond-1.5.69/lily/scaled-font-metric.cc ./lily/scaled-font-metric.cc
--- ../lilypond-1.5.69/lily/scaled-font-metric.cc	Fri Feb  1 19:16:15 2002
+++ ./lily/scaled-font-metric.cc	Fri Jul 26 12:26:59 2002
@@ -14,12 +14,12 @@
 
 Scaled_font_metric::Scaled_font_metric (Font_metric* m, Real magn)
 {
-  magnification_f_ = magn;
+  magnification_ = magn;
   SCM desc = m->description_;
 
   Real total_mag = magn * gh_scm2double (ly_cdr (desc));
   description_ = gh_cons (ly_car (desc), gh_double2scm (total_mag));
-  orig_l_ = m;
+  orig_ = m;
 }
 
 SCM
@@ -32,9 +32,9 @@ Scaled_font_metric::make_scaled_font_met
 Molecule
 Scaled_font_metric::find_by_name (String s) const
 {
-  Molecule m = orig_l_->find_by_name (s);
+  Molecule m = orig_->find_by_name (s);
   Box b = m.extent_box ();
-  b.scale (magnification_f_);
+  b.scale (magnification_);
   Molecule q (b,fontify_atom ((Font_metric*) this, m.get_expr ()));
 
   return q ;
@@ -43,22 +43,22 @@ Scaled_font_metric::find_by_name (String
 Box 
 Scaled_font_metric::get_char (int i) const
 {
-  Box b = orig_l_->get_char (i);
-  b.scale (magnification_f_);
+  Box b = orig_->get_char (i);
+  b.scale (magnification_);
   return b;  
 }
 
 Box
 Scaled_font_metric::text_dimension (String t) const
 {
-  Box b (orig_l_->text_dimension (t));
+  Box b (orig_->text_dimension (t));
 
-  b.scale (magnification_f_);
+  b.scale (magnification_);
   return b;
 }
 
 int
 Scaled_font_metric::count () const
 {
-  return orig_l_->count ();
+  return orig_->count ();
 }
diff -purN ../lilypond-1.5.69/lily/scm-option.cc ./lily/scm-option.cc
--- ../lilypond-1.5.69/lily/scm-option.cc	Sun Jul  7 03:32:06 2002
+++ ./lily/scm-option.cc	Fri Jul 26 12:26:59 2002
@@ -83,7 +83,7 @@ variables. Usage:
   (set-lily-option SYMBOL VAL)
 
 possible options for SYMBOL are :
-").ch_C()<< std::endl;
+").to_str0 ()<< std::endl;
       
       std::cout << "  help (any-symbol)"<< std::endl; 
       std::cout << "  internal-type-checking (boolean)"<< std::endl; 
diff -purN ../lilypond-1.5.69/lily/score-engraver.cc ./lily/score-engraver.cc
--- ../lilypond-1.5.69/lily/score-engraver.cc	Mon Jul 22 12:21:59 2002
+++ ./lily/score-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -28,11 +28,11 @@
  */
 Score_engraver::Score_engraver ()
 {
-  scoreline_l_ =0;
-  command_column_l_ =0;
-  musical_column_l_ =0;
-  breaks_i_ =0;
-  pscore_p_ = 0;
+  system_ =0;
+  command_column_ =0;
+  musical_column_ =0;
+  breaks_ =0;
+  pscore_ = 0;
 }
 
 void
@@ -41,19 +41,19 @@ Score_engraver::make_columns ()
   /*
     ugh.
    */
-  if (!command_column_l_)
+  if (!command_column_)
     {
       set_columns (new Paper_column (get_property ("NonMusicalPaperColumn")),
 		   new Paper_column (get_property ("PaperColumn")));
   
-      command_column_l_->set_grob_property ("breakable", SCM_BOOL_T);
+      command_column_->set_grob_property ("breakable", SCM_BOOL_T);
 
 
-      Grob_info i1 (command_column_l_);
-      i1.origin_trans_l_ = this;
+      Grob_info i1 (command_column_);
+      i1.origin_trans_ = this;
   
-      Grob_info i2 (musical_column_l_);
-      i2.origin_trans_l_ = this;
+      Grob_info i2 (musical_column_);
+      i2.origin_trans_ = this;
 
   
       announce_grob (i1);
@@ -73,8 +73,8 @@ Score_engraver::prepare (Moment w)
    */
   make_columns ();
   
-  command_column_l_->set_grob_property ("when", now_mom_.smobbed_copy ());
-  musical_column_l_->set_grob_property ("when", now_mom_.smobbed_copy ());
+  command_column_->set_grob_property ("when", now_mom_.smobbed_copy ());
+  musical_column_->set_grob_property ("when", now_mom_.smobbed_copy ());
 
   
   Translator_group::start_translation_timestep();
@@ -83,8 +83,8 @@ Score_engraver::prepare (Moment w)
 void
 Score_engraver::finish ()
 {
-  if ((breaks_i_%8))
-    progress_indication ("[" + to_str (breaks_i_) + "]");
+  if ((breaks_%8))
+    progress_indication ("[" + to_string (breaks_) + "]");
    
   check_removal ();
   removal_processing ();
@@ -98,25 +98,25 @@ void
 Score_engraver::initialize ()
 {
   Font_metric *fm =
-    all_fonts_global_p->find_afm("feta20");
+    all_fonts_global->find_afm("feta20");
   if (!fm)
     error (_("Could not find feta20.afm. Fonts have not been installed properly; Aborting"));
    
   unsmob_translator_def (definition_)->apply_property_operations (this);
 
-  assert (dynamic_cast<Paper_def *> (output_def_l_));
-  assert (!daddy_trans_l_);
-  pscore_p_ = new Paper_score;
-  pscore_p_->paper_l_ = dynamic_cast<Paper_def*> (output_def_l_);
+  assert (dynamic_cast<Paper_def *> (output_def_));
+  assert (!daddy_trans_);
+  pscore_ = new Paper_score;
+  pscore_->paper_ = dynamic_cast<Paper_def*> (output_def_);
 
   SCM props = get_property ("System");
 
-  pscore_p_->typeset_line (new System (props));
+  pscore_->typeset_line (new System (props));
   
   make_columns ();
-  scoreline_l_ = pscore_p_->line_l_;
-  scoreline_l_->set_bound (LEFT, command_column_l_);
-  command_column_l_->set_grob_property ("breakable", SCM_BOOL_T);
+  system_ = pscore_->system_;
+  system_->set_bound (LEFT, command_column_);
+  command_column_->set_grob_property ("breakable", SCM_BOOL_T);
 
   Engraver_group_engraver::initialize ();
 }
@@ -129,7 +129,7 @@ Score_engraver::finalize ()
 
   Grob * cc
     = unsmob_grob (get_property ("currentCommandColumn"));
-  scoreline_l_->set_bound (RIGHT, cc);
+  system_->set_bound (RIGHT, cc);
   cc->set_grob_property ("breakable", SCM_BOOL_T);
   
   typeset_all ();
@@ -148,9 +148,9 @@ Score_engraver::one_time_step ()
   check_removal ();
 
 
-  for (int i = announce_info_arr_.size(); i--;)
+  for (int i = announce_infos_.size(); i--;)
     {
-      Grob *g = announce_info_arr_[i].grob_l_;
+      Grob *g = announce_infos_[i].grob_;
       if (!dynamic_cast<Paper_column*> (g)) // ugh.
 	{
       
@@ -160,34 +160,34 @@ Score_engraver::one_time_step ()
 	  g->programming_error (msg);
 	}
     }
-  announce_info_arr_.clear ();
+  announce_infos_.clear ();
 }
 
 void
 Score_engraver::announce_grob (Grob_info info)
 {
-  announce_info_arr_.push (info);
-  pscore_p_->line_l_->typeset_grob (info.grob_l_);
+  announce_infos_.push (info);
+  pscore_->system_->typeset_grob (info.grob_);
 }
 
 void
-Score_engraver::typeset_grob (Grob *elem_p)
+Score_engraver::typeset_grob (Grob *elem)
 {
-  if (!elem_p)
+  if (!elem)
     programming_error ("Score_engraver: empty elt\n");
   else
 
-    elem_p_arr_.push (elem_p);
+    elems_.push (elem);
 }
 
 void
 Score_engraver::typeset_all ()
 {
-  for (int i =0; i < elem_p_arr_.size (); i++) 
+  for (int i =0; i < elems_.size (); i++) 
     {
-      Grob * elem_p = elem_p_arr_[i];
+      Grob * elem = elems_[i];
       
-      if (Spanner *s = dynamic_cast <Spanner *> (elem_p))
+      if (Spanner *s = dynamic_cast <Spanner *> (elem))
 	{
 	  /*
 	    do something sensible if spanner not 
@@ -197,14 +197,14 @@ Score_engraver::typeset_all ()
 	  do {
 	    if (!s->get_bound (d))
 	      {
-		s->set_bound (d, command_column_l_);
+		s->set_bound (d, command_column_);
 		/* don't warn for empty/suicided spanners,
 		   it makes real warningsinvisible.
 		   maybe should be junked earlier? */
-		if (!elem_p->live())
+		if (!elem->live())
 		  ; // gdb hook
 		else
-		  elem_p->warning (_f ("unbound spanner `%s'", s->name ().ch_C ()));
+		  elem->warning (_f ("unbound spanner `%s'", s->name ().to_str0 ()));
 	      }
 	  }
 	  while (flip (&d) != LEFT);
@@ -214,17 +214,17 @@ Score_engraver::typeset_all ()
 	}
       else 
 	{
-	  if (!elem_p->get_parent (X_AXIS))
+	  if (!elem->get_parent (X_AXIS))
 	    {
-	      bool br = to_boolean (elem_p->get_grob_property ("breakable"));
-	      Axis_group_interface::add_element (br ? command_column_l_ : musical_column_l_, elem_p);
+	      bool br = to_boolean (elem->get_grob_property ("breakable"));
+	      Axis_group_interface::add_element (br ? command_column_ : musical_column_, elem);
 
 	    }
 	}
-      if (!elem_p->get_parent (Y_AXIS))
-	Axis_group_interface::add_element (scoreline_l_, elem_p);
+      if (!elem->get_parent (Y_AXIS))
+	Axis_group_interface::add_element (system_, elem);
     }
-  elem_p_arr_.clear ();
+  elems_.clear ();
 }
 
 void
@@ -234,45 +234,45 @@ Score_engraver::stop_translation_timeste
   Engraver_group_engraver::stop_translation_timestep ();
   
   typeset_all ();
-  if (to_boolean (command_column_l_->get_grob_property ("breakable")))
+  if (to_boolean (command_column_->get_grob_property ("breakable")))
     {
-      breaks_i_ ++;
-      if (! (breaks_i_%8))
-	progress_indication ("[" + to_str (breaks_i_) + "]");
+      breaks_ ++;
+      if (! (breaks_%8))
+	progress_indication ("[" + to_string (breaks_) + "]");
     }
 
 
-  scoreline_l_->add_column (command_column_l_);
-  scoreline_l_->add_column (musical_column_l_);
+  system_->add_column (command_column_);
+  system_->add_column (musical_column_);
   
-  command_column_l_ = 0;
-  musical_column_l_ = 0;
+  command_column_ = 0;
+  musical_column_ = 0;
 }
 
 void
-Score_engraver::set_columns (Paper_column *new_command_l, 
-			     Paper_column *new_musical_l)
+Score_engraver::set_columns (Paper_column *new_command, 
+			     Paper_column *new_musical)
 {
-  assert (!command_column_l_ && !musical_column_l_);
+  assert (!command_column_ && !musical_column_);
 
-  command_column_l_ = new_command_l;
-  musical_column_l_ = new_musical_l;
-  if (new_command_l)
+  command_column_ = new_command;
+  musical_column_ = new_musical;
+  if (new_command)
     {
-      set_property ("currentCommandColumn", new_command_l->self_scm ());  
+      set_property ("currentCommandColumn", new_command->self_scm ());  
     }
   
-  if (new_musical_l)
+  if (new_musical)
     {
-      set_property ("currentMusicalColumn", new_musical_l->self_scm ());
+      set_property ("currentMusicalColumn", new_musical->self_scm ());
     }
 }
 
 Music_output*
-Score_engraver::get_output_p ()
+Score_engraver::get_output ()
 {
-  Music_output * o = pscore_p_;
-  pscore_p_=0;
+  Music_output * o = pscore_;
+  pscore_=0;
   return o;
 }
 
@@ -288,7 +288,7 @@ Score_engraver::try_music (Music*r)
 	  gotcha = true;
 
 
-	  SCM pen = command_column_l_->get_grob_property ("penalty");
+	  SCM pen = command_column_->get_grob_property ("penalty");
 	  Real total_penalty = gh_number_p (pen)
 	    ? gh_scm2double (pen)
 	    : 0.0;
@@ -300,7 +300,7 @@ Score_engraver::try_music (Music*r)
 	  if (total_penalty > 10000.0) //  ugh. arbitrary.
 	    forbid_breaks ();
 
-	  command_column_l_->set_grob_property ("penalty",
+	  command_column_->set_grob_property ("penalty",
 					       gh_double2scm (total_penalty));
 	}
     }
@@ -316,24 +316,24 @@ Score_engraver::forbid_breaks ()
   /*
     result is junked.
    */
-  if (command_column_l_)
-    command_column_l_->remove_grob_property ("breakable");
+  if (command_column_)
+    command_column_->remove_grob_property ("breakable");
 }
   
 void
 Score_engraver::acknowledge_grob (Grob_info gi)
 {
-  if (Staff_spacing::has_interface (gi.grob_l_))
+  if (Staff_spacing::has_interface (gi.grob_))
     {
-      Pointer_group_interface::add_grob (command_column_l_,
+      Pointer_group_interface::add_grob (command_column_,
 					 ly_symbol2scm ("spacing-wishes"),
-					 gi.grob_l_);
+					 gi.grob_);
     }
-  if (Note_spacing::has_interface (gi.grob_l_))
+  if (Note_spacing::has_interface (gi.grob_))
     {
-      Pointer_group_interface::add_grob (musical_column_l_,
+      Pointer_group_interface::add_grob (musical_column_,
 					 ly_symbol2scm ("spacing-wishes"),
-					 gi.grob_l_);
+					 gi.grob_);
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/score-performer.cc ./lily/score-performer.cc
--- ../lilypond-1.5.69/lily/score-performer.cc	Thu Jul 11 12:55:24 2002
+++ ./lily/score-performer.cc	Fri Jul 26 12:26:59 2002
@@ -28,7 +28,7 @@ ENTER_DESCRIPTION(Score_performer,
 
 Score_performer::Score_performer ()
 {
-  performance_p_ = 0;
+  performance_ = 0;
 }
 
 
@@ -41,23 +41,23 @@ Score_performer::play_element (Audio_ele
 {
   if (Audio_item * i=dynamic_cast<Audio_item *> (p)) 
     {
-      audio_column_l_->add_audio_item (i);
+      audio_column_->add_audio_item (i);
     }
-  performance_p_->add_element (p);
+  performance_->add_element (p);
 }
 
 void
 Score_performer::announce_element (Audio_element_info info)
 {
-  announce_info_arr_.push (info);
+  announce_infos_.push (info);
 
 
   /*
     huh?
     copied from score-engraver, but
     this way staff gets in list twice
-  if (Audio_item* i = dynamic_cast<Audio_item*> (info.elem_l_))
-    performance_p_->add_element (i);
+  if (Audio_item* i = dynamic_cast<Audio_item*> (info.elem_))
+    performance_->add_element (i);
   */
 }
 
@@ -65,8 +65,8 @@ void 
 Score_performer::prepare (Moment m)
 {
   Global_translator::prepare (m);
-  audio_column_l_ = new Audio_column (m);
-  play_element (audio_column_l_);
+  audio_column_ = new Audio_column (m);
+  play_element (audio_column_);
   start_translation_timestep ();
 }
 
@@ -88,9 +88,9 @@ Score_performer::start ()
 
 
 int
-Score_performer::get_tempo_i () const
+Score_performer::get_tempo () const
 {
-  return performance_p_->midi_l_->get_tempo_i (Moment (Rational (1, 4)));
+  return performance_->midi_->get_tempo (Moment (Rational (1, 4)));
 }
 
 void
@@ -101,10 +101,10 @@ Score_performer::finish ()
 }
 
 Music_output *
-Score_performer::get_output_p ()
+Score_performer::get_output ()
 {
-  Music_output * o = performance_p_;
-  performance_p_ =0;
+  Music_output * o = performance_;
+  performance_ =0;
   return o;
 }
 
@@ -112,9 +112,9 @@ void
 Score_performer::initialize ()
 {
   unsmob_translator_def (definition_)->apply_property_operations (this);
-  assert (dynamic_cast<Midi_def *> (output_def_l_));
-  performance_p_ = new Performance;
-  performance_p_->midi_l_ = dynamic_cast<Midi_def*> (output_def_l_);
+  assert (dynamic_cast<Midi_def *> (output_def_));
+  performance_ = new Performance;
+  performance_->midi_ = dynamic_cast<Midi_def*> (output_def_);
 
   Translator_group::initialize ();
 }
diff -purN ../lilypond-1.5.69/lily/score.cc ./lily/score.cc
--- ../lilypond-1.5.69/lily/score.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/score.cc	Fri Jul 26 12:26:59 2002
@@ -29,9 +29,9 @@
 Score::Score ()
   : Input ()
 {
-  header_p_ = 0;
+  header_ = 0;
   music_ = SCM_EOL;
-  errorlevel_i_ = 0;
+  errorlevel_ = 0;
 
   smobify_self ();
 }
@@ -46,21 +46,21 @@ Score::Score (Score const &s)
   : Input (s)
 {
   music_ = SCM_EOL;
-  header_p_ = 0;
+  header_ = 0;
   smobify_self ();
 
   Music * m =unsmob_music (s.music_);
   music_ =  m?m->clone ()->self_scm () : SCM_EOL;
   scm_gc_unprotect_object (music_);
   
-  for (int i=0; i < s.def_p_arr_.size (); i++)
-    def_p_arr_.push (s.def_p_arr_[i]->clone ());
-  errorlevel_i_ = s.errorlevel_i_;
-  if (s.header_p_)
+  for (int i=0; i < s.defs_.size (); i++)
+    defs_.push (s.defs_[i]->clone ());
+  errorlevel_ = s.errorlevel_;
+  if (s.header_)
     {
-      header_p_ = (s.header_p_) ? new Scheme_hash_table (*s.header_p_): 0;
+      header_ = (s.header_) ? new Scheme_hash_table (*s.header_): 0;
 
-      scm_gc_unprotect_object (header_p_->self_scm ());
+      scm_gc_unprotect_object (header_->self_scm ());
     }
 }
 
@@ -80,7 +80,7 @@ Score::~Score ()
 #endif
 
 void
-Score::run_translator (Music_output_def *odef_l)
+Score::run_translator (Music_output_def *odef)
 {
 
 
@@ -101,8 +101,8 @@ Score::run_translator (Music_output_def 
   store_locations_global_b = (gh_eval_str ("point-and-click") !=  SCM_BOOL_F);
   
   Cpu_timer timer;
-  Global_translator * trans_p = odef_l->get_global_translator_p ();
-  if (!trans_p)
+  Global_translator * trans = odef->get_global_translator ();
+  if (!trans)
     {
       programming_error ("no toplevel translator");
       return ;
@@ -110,10 +110,10 @@ Score::run_translator (Music_output_def 
   progress_indication (_ ("Interpreting music..."));
   Music * music = unsmob_music (music_);
   
-  trans_p->final_mom_ = music->length_mom ();
+  trans->final_mom_ = music->length_mom ();
 
-  Music_iterator * iter = Music_iterator::static_get_iterator_p (music);
-  iter->init_translator (music, trans_p);
+  Music_iterator * iter = Music_iterator::get_static_get_iterator (music);
+  iter->init_translator (music, trans);
 
   iter->construct_children ();
 
@@ -121,32 +121,32 @@ Score::run_translator (Music_output_def 
     {
       delete iter;
       warning (_ ("Need music in a score"));
-      errorlevel_i_ =1;
+      errorlevel_ =1;
       return ;
     }
 
-  trans_p->start ();
-  trans_p->run_iterator_on_me (iter);
+  trans->start ();
+  trans->run_iterator_on_me (iter);
   delete iter;
-  trans_p->finish ();
+  trans->finish ();
 
-  if (errorlevel_i_)
+  if (errorlevel_)
     {
       // should we? hampers debugging.
       warning (_ ("Errors found/*, not processing score*/"));
     }
 
-  Music_output * output = trans_p->get_output_p ();
-  scm_gc_unprotect_object (trans_p->self_scm ());
+  Music_output * output = trans->get_output ();
+  scm_gc_unprotect_object (trans->self_scm ());
   
   if (verbose_global_b)
     progress_indication (_f ("elapsed time: %.2f seconds",  timer.read ()));
 
-  if (!header_p_)
-    header_p_ = new Scheme_hash_table; // ugh
+  if (!header_)
+    header_ = new Scheme_hash_table; // ugh
 
-  output->header_l_ = header_p_;
-  output->origin_str_ =  location_str ();
+  output->header_ = header_;
+  output->origin_string_ =  location_string ();
 
   progress_indication ("\n");
   output->process ();
@@ -167,12 +167,12 @@ Score::process ()
     return;
 
 
-  for (int i=0; i < def_p_arr_.size (); i++)
+  for (int i=0; i < defs_.size (); i++)
     {
       if (no_paper_global_b 
-	  && dynamic_cast<Paper_def*> (def_p_arr_[i]))
+	  && dynamic_cast<Paper_def*> (defs_[i]))
 	continue;
-      run_translator (def_p_arr_[i]);
+      run_translator (defs_[i]);
     }
 }
 
@@ -180,9 +180,9 @@ Score::process ()
 
 
 void
-Score::add_output (Music_output_def *pap_p)
+Score::add_output (Music_output_def *pap)
 {
-  def_p_arr_.push (pap_p);
+  defs_.push (pap);
 }
 
 IMPLEMENT_SMOBS (Score);
@@ -193,10 +193,10 @@ SCM
 Score::mark_smob (SCM s)
 {
   Score * sc = (Score*) SCM_CELL_WORD_1 (s);
-  if (sc->header_p_)
-    scm_gc_mark (sc->header_p_->self_scm ());
-  for (int i = sc->def_p_arr_.size (); i--;)
-    scm_gc_mark (sc->def_p_arr_[i]->self_scm ());
+  if (sc->header_)
+    scm_gc_mark (sc->header_->self_scm ());
+  for (int i = sc->defs_.size (); i--;)
+    scm_gc_mark (sc->defs_[i]->self_scm ());
   
   return sc->music_;
 }
diff -purN ../lilypond-1.5.69/lily/scores.cc ./lily/scores.cc
--- ../lilypond-1.5.69/lily/scores.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/scores.cc	Fri Jul 26 12:26:59 2002
@@ -31,11 +31,11 @@
 #include "lily-version.hh"
 #include "scm-hash.hh"
 
-Sources* source_global_l = 0;
-Array<String> inclusion_global_array;
-Array<String> target_str_global_array;
-Link_array<Score> score_global_array;
-Scheme_hash_table * global_header_p;
+Sources* source_global = 0;
+Array<String> inclusion_globals;
+Array<String> target_string_globals;
+Link_array<Score> score_globals;
+Scheme_hash_table * global_header;
 
 
 void write_dependency_file (String fn, Array<String> targets,
@@ -43,13 +43,13 @@ void write_dependency_file (String fn, A
 {
   const int WRAPWIDTH = 65;
 
-  progress_indication (_f ("dependencies output to `%s'...", fn.ch_C ()));
+  progress_indication (_f ("dependencies output to `%s'...", fn.to_str0 ()));
   progress_indication ("\n");
-  FILE * f = fopen  (fn.ch_C (), "w");
+  FILE * f = fopen  (fn.to_str0 (), "w");
   if (!f)
     warning (_f ("can't open file: `%s'", fn));
 
-  fprintf (f, "# Generated automatically by: %s\n", gnu_lilypond_version_str ().ch_C());
+  fprintf (f, "# Generated automatically by: %s\n", gnu_lilypond_version_string ().to_str0 ());
   
   String out;
   for (int i=0; i < targets.size (); i ++)
@@ -58,25 +58,25 @@ void write_dependency_file (String fn, A
 
   for (int i=0; i < deps.size (); i ++)
     {
-      if (out.length_i () > WRAPWIDTH)
+      if (out.length () > WRAPWIDTH)
 	{
-	  fprintf (f, "%s\\\n", out.ch_C());
+	  fprintf (f, "%s\\\n", out.to_str0 ());
 	  out = "  ";
 	}
       String dep = deps[i];
       if (!dependency_prefix_global.empty_b ())
 	{
 #if 0//thinko?
-	  if (stat (dep.ch_C (), &stat_buf) == -1 && errno == ENOENT)
+	  if (stat (dep.to_str0 (), &stat_buf) == -1 && errno == ENOENT)
 	    ; //make emacs happy
 #else
-	  if (dep.index_i ('/') < 0)
+	  if (dep.index ('/') < 0)
 #endif
 	    dep = dependency_prefix_global + dep;
 	}
       out  += " " +  dep;
     }
-  fprintf (f, "%s\n",  out.ch_C());
+  fprintf (f, "%s\n",  out.to_str0 ());
 }
 
 void
@@ -86,9 +86,9 @@ do_deps ()
     {
       Path p = split_path (output_name_global);
       p.ext = "dep";
-      write_dependency_file (p.str (),
-			     target_str_global_array,
-			     inclusion_global_array);
+      write_dependency_file (p.string (),
+			     target_string_globals,
+			     inclusion_globals);
     }
 }
 
@@ -96,20 +96,20 @@ do_deps ()
 void
 do_scores ()
 {
-  if (!global_header_p)
-    global_header_p = new Scheme_hash_table;
-  for (int i=0; i < score_global_array.size (); i++)
+  if (!global_header)
+    global_header = new Scheme_hash_table;
+  for (int i=0; i < score_globals.size (); i++)
     {
-      Score* is_p = score_global_array[i];
+      Score* is = score_globals[i];
 
-      if (is_p->errorlevel_i_)
+      if (is->errorlevel_)
 	{
-	  is_p->warning (_ ("Score contains errors; will not process it"));
+	  is->warning (_ ("Score contains errors; will not process it"));
 	  exit_status_global |= 1;
 	}
       else
 	{
-	  is_p->process ();
+	  is->process ();
 	}
     }
   do_deps ();
@@ -118,43 +118,43 @@ do_scores ()
 void
 clear_scores ()
 {
-  for (int i=0; i < score_global_array.size (); i++)
-    scm_gc_unprotect_object (score_global_array[i]->self_scm ());
-  score_global_array.clear ();
+  for (int i=0; i < score_globals.size (); i++)
+    scm_gc_unprotect_object (score_globals[i]->self_scm ());
+  score_globals.clear ();
   
-  inclusion_global_array.clear ();
-  if (global_header_p)
-    scm_gc_unprotect_object (global_header_p ->self_scm ());
-  global_header_p =0; 
+  inclusion_globals.clear ();
+  if (global_header)
+    scm_gc_unprotect_object (global_header ->self_scm ());
+  global_header =0; 
 }
 
 
 void
-do_one_file (String init_str, String file_str)
+do_one_file (String init_string, String file_string)
 {
-  if (init_str.length_i () && global_path.find (init_str).empty_b ())
+  if (init_string.length () && global_path.find (init_string).empty_b ())
     {
-      warning (_f ("can't find file: `%s'", init_str));
-      warning (_f ("(search path: `%s')", global_path.str ().ch_C ()));
+      warning (_f ("can't find file: `%s'", init_string));
+      warning (_f ("(search path: `%s')", global_path.string ().to_str0 ()));
       return;
     }
-  if ((file_str != "-") && global_path.find (file_str).empty_b ())
+  if ((file_string != "-") && global_path.find (file_string).empty_b ())
     {
-      warning (_f ("can't find file: `%s'", file_str));
+      warning (_f ("can't find file: `%s'", file_string));
       return;
     }
 
   Sources sources;
-  source_global_l = &sources;
-  source_global_l->set_path (&global_path);
+  source_global = &sources;
+  source_global->set_path (&global_path);
   {
-    My_lily_parser parser (source_global_l);
+    My_lily_parser parser (source_global);
     parser.set_version_check (false);
-    progress_indication (_f ("Now processing: `%s'", file_str.ch_C ()));
+    progress_indication (_f ("Now processing: `%s'", file_string.to_str0 ()));
     progress_indication ("\n");
-    parser.parse_file (init_str, file_str);
+    parser.parse_file (init_string, file_string);
 
-    if (parser.error_level_i_)
+    if (parser.error_level_)
       {
 	exit_status_global  = 1;
       }
@@ -162,6 +162,6 @@ do_one_file (String init_str, String fil
       do_scores ();
     clear_scores ();
   }
-  source_global_l = 0;
+  source_global = 0;
 }
 
diff -purN ../lilypond-1.5.69/lily/script-column-engraver.cc ./lily/script-column-engraver.cc
--- ../lilypond-1.5.69/lily/script-column-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/script-column-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -17,8 +17,8 @@
    Script_column, that will fix the collisions.  */
 class Script_column_engraver : public Engraver
 {
-  Grob *scol_p_;
-  Link_array<Item> script_l_arr_;
+  Grob *scol_;
+  Link_array<Item> scripts_;
 
 public:
   TRANSLATOR_DECLARATIONS(Script_column_engraver);
@@ -32,36 +32,36 @@ protected:
 
 Script_column_engraver::Script_column_engraver ()
 {
-  scol_p_ =0;
+  scol_ =0;
 }
 
 void
 Script_column_engraver::stop_translation_timestep ()
 {
-  if (scol_p_)
+  if (scol_)
     {
-      typeset_grob (scol_p_);
-      scol_p_ =0;
+      typeset_grob (scol_);
+      scol_ =0;
     }
 }
 
 void
 Script_column_engraver::start_translation_timestep ()
 {
-  script_l_arr_.clear ();
+  scripts_.clear ();
 
 }
 
 void
 Script_column_engraver::acknowledge_grob (Grob_info inf) 
 {
-  Item *thing = dynamic_cast<Item*> (inf.grob_l_);
-  if (thing && Side_position_interface::has_interface (inf.grob_l_)) // ugh FIXME
+  Item *thing = dynamic_cast<Item*> (inf.grob_);
+  if (thing && Side_position_interface::has_interface (inf.grob_)) // ugh FIXME
     {
       if (!Item::breakable_b (thing)
-	  && Side_position_interface::get_axis (inf.grob_l_) == Y_AXIS)
+	  && Side_position_interface::get_axis (inf.grob_) == Y_AXIS)
 	{
-	  script_l_arr_.push (thing);
+	  scripts_.push (thing);
 	}
     }
 }
@@ -69,17 +69,17 @@ Script_column_engraver::acknowledge_grob
 void
 Script_column_engraver::process_acknowledged_grobs ()
 {
-  if (!scol_p_ && script_l_arr_.size () > 1)
+  if (!scol_ && scripts_.size () > 1)
     {
-      scol_p_ = new Item (get_property ("ScriptColumn"));
-      announce_grob(scol_p_, SCM_EOL);
+      scol_ = new Item (get_property ("ScriptColumn"));
+      announce_grob(scol_, SCM_EOL);
     }
 
-  if (scol_p_)
+  if (scol_)
     {
-      for (int i=0; i < script_l_arr_.size (); i++)
-	Script_column::add_staff_sided (scol_p_, script_l_arr_[i]);
-      script_l_arr_.clear ();
+      for (int i=0; i < scripts_.size (); i++)
+	Script_column::add_staff_sided (scol_, scripts_[i]);
+      scripts_.clear ();
     }
 
 }
diff -purN ../lilypond-1.5.69/lily/script-column.cc ./lily/script-column.cc
--- ../lilypond-1.5.69/lily/script-column.cc	Tue May 21 23:58:59 2002
+++ ./lily/script-column.cc	Thu Jul 25 12:40:31 2002
@@ -58,7 +58,8 @@ Script_column::before_line_breaking (SCM
 
   Direction d = DOWN;
   do {
-    Link_array<Grob> &arr (arrs[d]);
+    Link_array<Grob> &arr
+      (arrs[d]);
     
     arr.sort (staff_side_compare);
 
diff -purN ../lilypond-1.5.69/lily/script-engraver.cc ./lily/script-engraver.cc
--- ../lilypond-1.5.69/lily/script-engraver.cc	Fri Jun 21 00:30:57 2002
+++ ./lily/script-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -14,8 +14,8 @@
 
 class Script_engraver : public Engraver
 {
-  Link_array<Grob> script_p_arr_;
-  Link_array<Articulation_req> script_req_l_arr_;
+  Link_array<Grob> scripts_;
+  Link_array<Articulation_req> script_reqs_;
 
 public:
   TRANSLATOR_DECLARATIONS(Script_engraver);
@@ -31,20 +31,20 @@ protected:
 void
 Script_engraver::initialize ()
 {
-  script_req_l_arr_.clear ();
+  script_reqs_.clear ();
 }
 
 bool
-Script_engraver::try_music (Music *r_l)
+Script_engraver::try_music (Music *r)
 {
-  if (Articulation_req *mr = dynamic_cast <Articulation_req *> (r_l))
+  if (Articulation_req *mr = dynamic_cast <Articulation_req *> (r))
     {
-      for (int i=0; i < script_req_l_arr_.size (); i++) 
+      for (int i=0; i < script_reqs_.size (); i++) 
 	{
-	  if (script_req_l_arr_[i]->equal_b (mr))
+	  if (script_reqs_[i]->equal_b (mr))
 	    return true;
 	}
-      script_req_l_arr_.push (mr);
+      script_reqs_.push (mr);
       return true;
     }
   return false;
@@ -53,9 +53,9 @@ Script_engraver::try_music (Music *r_l)
 void
 Script_engraver::process_music ()
 {
-  for (int i=0; i < script_req_l_arr_.size (); i++)
+  for (int i=0; i < script_reqs_.size (); i++)
     {
-      Articulation_req* l=script_req_l_arr_[i];
+      Articulation_req* l=script_reqs_[i];
 
       SCM alist = get_property ("scriptDefinitions");
       SCM art = scm_assoc (l->get_mus_property ("articulation-type"), alist);
@@ -63,7 +63,7 @@ Script_engraver::process_music ()
       if (art == SCM_BOOL_F)
 	{
 	  String a = ly_scm2string (l->get_mus_property ("articulation-type"));
-	  l->origin ()->warning (_f ("Don't know how to interpret articulation `%s'", a.ch_C ()));
+	  l->origin ()->warning (_f ("Don't know how to interpret articulation `%s'", a.to_str0 ()));
 			
 	  continue;
 	}
@@ -114,7 +114,7 @@ Script_engraver::process_music ()
       
       p->set_grob_property ("script-priority", gh_int2scm (priority));
   
-      script_p_arr_.push (p);
+      scripts_.push (p);
       
       announce_grob (p, l->self_scm());
     }
@@ -123,33 +123,33 @@ Script_engraver::process_music ()
 void
 Script_engraver::acknowledge_grob (Grob_info inf)
 {
-  if (Stem::has_interface (inf.grob_l_))
+  if (Stem::has_interface (inf.grob_))
     {
-      for (int i=0; i < script_p_arr_.size (); i++)
+      for (int i=0; i < scripts_.size (); i++)
 	{
-	  Grob*e = script_p_arr_[i];
+	  Grob*e = scripts_[i];
 
-	  e->set_grob_property ("direction-source", inf.grob_l_->self_scm ());
-	  e->add_dependency (inf.grob_l_);
-	  Side_position_interface::add_support (e, inf.grob_l_);
+	  e->set_grob_property ("direction-source", inf.grob_->self_scm ());
+	  e->add_dependency (inf.grob_);
+	  Side_position_interface::add_support (e, inf.grob_);
 	}
     }
-  else if (Rhythmic_head::has_interface (inf.grob_l_))
+  else if (Rhythmic_head::has_interface (inf.grob_))
     {
-      for (int i=0; i < script_p_arr_.size (); i++)
+      for (int i=0; i < scripts_.size (); i++)
 	{
-	  Grob *e = script_p_arr_[i];
+	  Grob *e = scripts_[i];
 	  
 	  if (Side_position_interface::get_axis (e) == X_AXIS
 	      && !e->get_parent (Y_AXIS))
 	    {
-	      e->set_parent (inf.grob_l_, Y_AXIS);
-	      e->add_dependency (inf.grob_l_); // ??
+	      e->set_parent (inf.grob_, Y_AXIS);
+	      e->add_dependency (inf.grob_); // ??
 	    }
-	  Side_position_interface::add_support (e,inf.grob_l_);
+	  Side_position_interface::add_support (e,inf.grob_);
 	}
     }
-  else if (Note_column::has_interface (inf.grob_l_))
+  else if (Note_column::has_interface (inf.grob_))
     {
 
       /*
@@ -160,14 +160,14 @@ Script_engraver::acknowledge_grob (Grob_
 	Script_interface::before_line_breaking ().
  
        */
-      for (int i=0; i < script_p_arr_.size (); i++)
+      for (int i=0; i < scripts_.size (); i++)
 	{
-	  Grob *e = script_p_arr_[i];
+	  Grob *e = scripts_[i];
 	  
 	  if (!e->get_parent (X_AXIS) &&
 	      Side_position_interface::get_axis (e) == Y_AXIS)
 	    {
-	      e->set_parent (inf.grob_l_, X_AXIS);
+	      e->set_parent (inf.grob_, X_AXIS);
 	    }
 	}
     }
@@ -176,26 +176,26 @@ Script_engraver::acknowledge_grob (Grob_
 void
 Script_engraver::stop_translation_timestep ()
 {
-  for (int i=0; i < script_p_arr_.size (); i++) 
+  for (int i=0; i < scripts_.size (); i++) 
     {
 
       /*
 	TODO: junk staff-support.
        */
-      Grob * sc = script_p_arr_[i];
+      Grob * sc = scripts_[i];
       if (to_boolean (sc->get_grob_property ("staff-support")))
 	{
 	  Side_position_interface::add_staff_support (sc);
 	}
       typeset_grob (sc);
     }
-  script_p_arr_.clear ();
+  scripts_.clear ();
 }
 
 void
 Script_engraver::start_translation_timestep ()
 {
-  script_req_l_arr_.clear ();
+  script_reqs_.clear ();
 }
 
 
diff -purN ../lilypond-1.5.69/lily/script.cc ./lily/script.cc
--- ../lilypond-1.5.69/lily/script.cc	Sat Jul 13 03:30:04 2002
+++ ./lily/script.cc	Fri Jul 26 12:26:59 2002
@@ -61,7 +61,7 @@ Script_interface::before_line_breaking (
 
   if (Grob * par = me->get_parent (X_AXIS))
     {
-      Grob * stem = Note_column::stem_l (par);
+      Grob * stem = Note_column::get_stem (par);
       if (stem && Stem::first_head (stem))
 	{
 	  me->set_parent (Stem::first_head (stem), X_AXIS);
diff -purN ../lilypond-1.5.69/lily/separating-group-spanner.cc ./lily/separating-group-spanner.cc
--- ../lilypond-1.5.69/lily/separating-group-spanner.cc	Fri Jun 21 01:42:34 2002
+++ ./lily/separating-group-spanner.cc	Fri Jul 26 12:26:59 2002
@@ -17,14 +17,16 @@
 void
 Separating_group_spanner::find_rods (Item * r, SCM next)
 {
-  Interval ri (Separation_item::my_width (r));
-  if (ri.empty_b ())
-    return;
 
   /*
-    This is an inner loop, however, in most cases, the interesting L
-    will just be the first entry of NEXT, making it linear in most of
-    the cases.  */
+    This is an inner loop: look for the first normal (unbroken) Left
+    grob.  This looks like an inner loop (ie. quadratic total), but in
+    most cases, the interesting L will just be the first entry of
+    NEXT, making it linear in most of the cases.
+  */
+  if (Separation_item::width (r).empty_b ())
+    return; 
+  
   for(; gh_pair_p (next); next = ly_cdr (next))
     {
       Item *l = dynamic_cast<Item*> (unsmob_grob (ly_car( next)));
@@ -32,42 +34,40 @@ Separating_group_spanner::find_rods (Ite
 
       if (lb)
 	{
-	  Interval li (Separation_item::my_width (lb));
-
-	  if (!li.empty_b ())
+	  Interval li (Separation_item::width (lb));
+	  Interval ri (Separation_item::conditional_width (r, lb));
+	  if (!li.empty_b () && !ri.empty_b())
 	    {
 	      Rod rod;
 
 	      rod.item_l_drul_[LEFT] = lb;
 	      rod.item_l_drul_[RIGHT] = r;
 
-	      rod.distance_f_ = li[RIGHT] - ri[LEFT];
-	
-	      rod.columnize ();
+	      rod.distance_ = li[RIGHT] - ri[LEFT];
 	      rod.add_to_cols ();
 	    }
 	}
 
-      Interval li (Separation_item::my_width (l));
-      if (!li.empty_b ())
+      Interval li (Separation_item::width (l));
+      Interval ri (Separation_item::conditional_width (r, l));
+      if (!li.empty_b () && !ri.empty_b())
 	{
 	  Rod rod;
 
 	  rod.item_l_drul_[LEFT] =l;
 	  rod.item_l_drul_[RIGHT]=r;
 
-	  rod.distance_f_ = li[RIGHT] - ri[LEFT];
+	  rod.distance_ = li[RIGHT] - ri[LEFT];
 	
-	  rod.columnize ();
 	  rod.add_to_cols ();
-
 	  break;
 	}
-      else
-	/*
-	  this grob doesn't cause a constraint. We look further until we
-	  find one that does.  */
-	;
+
+      /*
+	this grob doesn't cause a constraint. We look further until we
+	find one that does.
+      */
+
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/separating-line-group-engraver.cc ./lily/separating-line-group-engraver.cc
--- ../lilypond-1.5.69/lily/separating-line-group-engraver.cc	Mon Jul 15 02:18:30 2002
+++ ./lily/separating-line-group-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -15,6 +15,7 @@
 #include "axis-group-interface.hh"
 #include "note-spacing.hh"
 #include "group-interface.hh"
+#include "accidental-placement.hh"
 
 struct Spacings
 {
@@ -39,14 +40,14 @@ struct Spacings
 class Separating_line_group_engraver : public Engraver
 {
 protected:
-  Item * break_malt_p_;
-  Item * musical_malt_p_;
-  Item * last_musical_malt_p_;
+  Item * break_malt_;
+  Item * musical_malt_;
+  Item * last_musical_malt_;
 
   Spacings current_spacings_;
   Spacings last_spacings_;
   
-  Spanner * sep_span_p_;
+  Spanner * sep_span_;
   
   virtual void acknowledge_grob (Grob_info);
   virtual void initialize ();
@@ -59,18 +60,18 @@ public:
 
 Separating_line_group_engraver::Separating_line_group_engraver ()
 {
-  sep_span_p_ = 0;
-  break_malt_p_ = 0;
-  musical_malt_p_ =0;
+  sep_span_ = 0;
+  break_malt_ = 0;
+  musical_malt_ =0;
 }
 
 void
 Separating_line_group_engraver::initialize ()
 {
-  sep_span_p_ = new Spanner (get_property ("SeparatingGroupSpanner"));
+  sep_span_ = new Spanner (get_property ("SeparatingGroupSpanner"));
 
-  announce_grob(sep_span_p_, SCM_EOL);
-  sep_span_p_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
+  announce_grob(sep_span_, SCM_EOL);
+  sep_span_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
 }
 
 void
@@ -79,9 +80,9 @@ Separating_line_group_engraver::finalize
   SCM ccol = get_property ("currentCommandColumn");
   Grob *column = unsmob_grob (ccol);
   
-  sep_span_p_->set_bound (RIGHT, unsmob_grob (ccol));
-  typeset_grob (sep_span_p_);
-  sep_span_p_ =0;
+  sep_span_->set_bound (RIGHT, unsmob_grob (ccol));
+  typeset_grob (sep_span_);
+  sep_span_ =0;
 
   for  (int i= 0 ; i < last_spacings_.note_spacings_.size(); i++)
     {
@@ -91,7 +92,7 @@ Separating_line_group_engraver::finalize
     }
    
   if(last_spacings_.staff_spacing_
-     && last_spacings_.staff_spacing_->column_l () == column)
+     && last_spacings_.staff_spacing_->get_column () == column)
     {
       last_spacings_.staff_spacing_->suicide ();
     }
@@ -100,7 +101,7 @@ Separating_line_group_engraver::finalize
 void
 Separating_line_group_engraver::acknowledge_grob (Grob_info i)
 {
-  Item * it = dynamic_cast <Item *> (i.grob_l_);
+  Item * it = dynamic_cast <Item *> (i.grob_);
   if (!it)
     return;
   if (it->get_parent (X_AXIS)
@@ -108,7 +109,6 @@ Separating_line_group_engraver::acknowle
       ->has_extent_callback_b(Axis_group_interface::group_extent_callback_proc, X_AXIS))
     return;
 
-
   
   if (to_boolean (it->get_grob_property ("no-spacing-rods")))
     return ;
@@ -120,8 +120,8 @@ Separating_line_group_engraver::acknowle
     }
   
   bool ib =Item::breakable_b (it);
-  Item *&p_ref_ (ib ? break_malt_p_
-		 : musical_malt_p_);
+  Item *&p_ref_ (ib ? break_malt_
+		 : musical_malt_);
 
   if (!p_ref_)
     {
@@ -131,11 +131,11 @@ Separating_line_group_engraver::acknowle
 	p_ref_->set_grob_property ("breakable", SCM_BOOL_T);
       announce_grob(p_ref_, SCM_EOL);
 
-      if (p_ref_ == break_malt_p_)
+      if (p_ref_ == break_malt_)
 	{
 	  Item *it  = new Item (get_property ("StaffSpacing"));
 	  current_spacings_.staff_spacing_ = it;
-	  it->set_grob_property ("left-items", gh_cons (break_malt_p_->self_scm (), SCM_EOL));
+	  it->set_grob_property ("left-items", gh_cons (break_malt_->self_scm (), SCM_EOL));
 	  
 	  announce_grob(it, SCM_EOL);
 
@@ -144,19 +144,22 @@ Separating_line_group_engraver::acknowle
 	      for (; i--;)
 		Pointer_group_interface::add_grob (last_spacings_.note_spacings_[i],
 						   ly_symbol2scm ("right-items"),
-						   break_malt_p_);
+						   break_malt_);
 				     
 	    }
 	  else if (last_spacings_.staff_spacing_)
 	    {
 	      
 	      last_spacings_.staff_spacing_->set_grob_property ("right-items",
-								gh_cons (break_malt_p_->self_scm(), SCM_EOL));
+								gh_cons (break_malt_->self_scm(), SCM_EOL));
 	    }
 	}
     }
 
-  Separation_item::add_item (p_ref_,it);
+  if (Accidental_placement::has_interface (it))
+    Separation_item::add_conditional_item (p_ref_, it);
+  else
+    Separation_item::add_item (p_ref_,it);
 }
 
 void
@@ -168,12 +171,12 @@ Separating_line_group_engraver::start_tr
 void
 Separating_line_group_engraver::stop_translation_timestep ()
 {
-  if (break_malt_p_)
+  if (break_malt_)
     {
-      Separating_group_spanner::add_spacing_unit (sep_span_p_, break_malt_p_);
-      typeset_grob (break_malt_p_);
+      Separating_group_spanner::add_spacing_unit (sep_span_, break_malt_);
+      typeset_grob (break_malt_);
 
-      break_malt_p_ =0;
+      break_malt_ =0;
     }
   
   if (Item * sp = current_spacings_.staff_spacing_)
@@ -182,9 +185,9 @@ Separating_line_group_engraver::stop_tra
 	TODO: should really look at the left-items of following
 	note-spacing grobs.
        */
-      if (musical_malt_p_)
+      if (musical_malt_)
 	Pointer_group_interface::add_grob (sp, ly_symbol2scm ("right-items"),
-					   musical_malt_p_);
+					   musical_malt_);
 
       typeset_grob (sp);
     }
@@ -197,13 +200,13 @@ Separating_line_group_engraver::stop_tra
 
   current_spacings_.clear ();
   
-  if (musical_malt_p_)
+  if (musical_malt_)
     {
-      Separating_group_spanner::add_spacing_unit (sep_span_p_, musical_malt_p_);
-      typeset_grob (musical_malt_p_);
+      Separating_group_spanner::add_spacing_unit (sep_span_, musical_malt_);
+      typeset_grob (musical_malt_);
     }
   
-  musical_malt_p_ =0;
+  musical_malt_ =0;
 }
 
 
diff -purN ../lilypond-1.5.69/lily/separation-item.cc ./lily/separation-item.cc
--- ../lilypond-1.5.69/lily/separation-item.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/separation-item.cc	Fri Jul 26 12:26:59 2002
@@ -11,7 +11,7 @@
 #include "paper-column.hh"
 #include "warn.hh"
 #include "group-interface.hh"
-
+#include "accidental-placement.hh"
 
 void
 Separation_item::add_item (Grob*s,Item* i)
@@ -21,16 +21,71 @@ Separation_item::add_item (Grob*s,Item* 
   s->add_dependency (i);
 }
 
-/*
-  DOCME:
+void
+Separation_item::add_conditional_item (Grob* me , Grob *e)
+{
+  Pointer_group_interface::add_grob (me, ly_symbol2scm ("conditional-elements"), e);
+}
 
-  why don't we use extent()
+/*
+  Return the width of ME given that we are considering the object on
+  the LEFT.
  */
 Interval
-Separation_item::my_width (Grob *me)
+Separation_item::conditional_width (Grob * me, Grob * left)
+{
+  Interval w = width (me);
+  
+  Item *item = dynamic_cast<Item*> (me);
+  Paper_column * pc = item->get_column ();
+  
+  
+  for (SCM s =  me->get_grob_property ("conditional-elements"); gh_pair_p (s); s = ly_cdr (s))
+    {
+      SCM elt = ly_car (s);
+      if (!unsmob_grob (elt))
+	continue;
+      
+      Item *il = unsmob_item (elt);
+      if (pc != il->get_column ())
+	{
+	  /* this shouldn't happen, but let's continue anyway. */
+	  programming_error (_ ("Separation_item:  I've been drinking too much"));
+	  continue;		/*UGH UGH*/ 
+	}
+
+      if (to_boolean (il->get_grob_property ("no-spacing-rods")))
+	{
+	  continue;
+	}
+
+      if (Accidental_placement::has_interface (il))
+	{
+	  w.unite (Accidental_placement::get_relevant_accidental_extent (il, pc, left));
+	}
+    }
+
+  SCM pad = me->get_grob_property ("padding");
+
+  if (gh_number_p (pad))
+    {
+      w[RIGHT] += gh_scm2double (pad)/2;
+      w[LEFT] -= gh_scm2double (pad)/2;    
+    }
+  return w;
+}
+
+Interval
+Separation_item::width (Grob *me)
 {
+  SCM sw = me->get_grob_property ("extent-X");
+  if (ly_number_pair_p (sw))
+    {
+      return ly_scm2interval (sw);
+    }
+
   Item *item = dynamic_cast<Item*> (me);
-  Paper_column * pc = item->column_l ();
+  Paper_column * pc = item->get_column ();
   Interval w;
   
   for (SCM s =  me->get_grob_property ("elements"); gh_pair_p (s); s = ly_cdr (s))
@@ -40,7 +95,7 @@ Separation_item::my_width (Grob *me)
 	continue;
 
       Item *il = unsmob_item (elt);
-      if (pc != il->column_l ())
+      if (pc != il->get_column ())
 	{
 	  /* this shouldn't happen, but let's continue anyway. */
 	  programming_error (_ ("Separation_item:  I've been drinking too much"));
@@ -66,6 +121,10 @@ Separation_item::my_width (Grob *me)
     w[RIGHT] += gh_scm2double (pad)/2;
     w[LEFT] -= gh_scm2double (pad)/2;    
   }
+
+
+  me->set_grob_property ("extent-X", ly_interval2scm (w));
+  
   
   return w;
  // add this->offset_ ? this-> relative_coordinate ()? 
@@ -82,4 +141,4 @@ Calc dimensions for the Separating_group
 an item to get dependencies correct.  It can't be an grob_group
 since these usually are in a different X_group
 ",
-  "elements");
+  "extent-X conditional-elements elements");
diff -purN ../lilypond-1.5.69/lily/sequential-iterator.cc ./lily/sequential-iterator.cc
--- ../lilypond-1.5.69/lily/sequential-iterator.cc	Sat Jul 13 19:07:18 2002
+++ ./lily/sequential-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -24,14 +24,14 @@ Grace_fixup *get_grace_fixups (SCM curso
 /*
 
   TODO: the grace note handling hasn't been done for skip() and
-  get_music(), meaning that staff-switching and partcombining will be
+  get_pending_events(), meaning that staff-switching and partcombining will be
   broken with grace notes.
   
  */
 /*
 
   TODO: the grace note handling hasn't been done for skip() and
-  get_music(), meaning that staff-switching and partcombining will be
+  get_pending_events(), meaning that staff-switching and partcombining will be
   broken with grace notes.
   
  */
@@ -40,9 +40,9 @@ Grace_fixup *get_grace_fixups (SCM curso
 
 
   if (gh_pair_p (cursor_))
-    iter_p_->music_l_ == unsmob_music (ly_car (cursor_))
+    iter_->music_ == unsmob_music (ly_car (cursor_))
   else
-    iter_p_ == 0;
+    iter_ == 0;
 
   The length of musiclist from start to up to cursor_ (cursor_ not
   including), is summed
@@ -54,7 +54,7 @@ Sequential_iterator::Sequential_iterator
 {
   here_mom_ = Moment (0);
   grace_fixups_ = 0;
-  iter_p_ =0;
+  iter_ =0;
 }
 
 SCM 
@@ -70,15 +70,15 @@ Sequential_iterator::Sequential_iterator
   cursor_ = src.cursor_;
   list_ = src.cursor_;
   here_mom_ = src.here_mom_;
-  if (src.iter_p_)
-    iter_p_ = src.iter_p_->clone ();
+  if (src.iter_)
+    iter_ = src.iter_->clone ();
   else
-    iter_p_ = 0;
+    iter_ = 0;
 }
 
 Sequential_iterator::~Sequential_iterator ()
 {
-  delete iter_p_;
+  delete iter_;
 }
 
 
@@ -143,19 +143,19 @@ Sequential_iterator::construct_children 
   list_ = get_music_list ();
   cursor_ = list_; 
 
-  iter_p_ = gh_pair_p (cursor_) ?  get_iterator_p (unsmob_music (ly_car (cursor_))) : 0;
-  while (iter_p_ && !iter_p_->ok ())
+  iter_ = gh_pair_p (cursor_) ?  get_iterator (unsmob_music (ly_car (cursor_))) : 0;
+  while (iter_ && !iter_->ok ())
     {
       next_element (true);
     }
 
-  here_mom_ = music_l ()->start_mom ();
+  here_mom_ = get_music ()->start_mom ();
   grace_fixups_ = get_grace_fixups (cursor_);
 
   /*
-    iter_p_->ok () is tautology, but what the heck.
+    iter_->ok () is tautology, but what the heck.
    */
-  if (iter_p_ && iter_p_->ok ()) 
+  if (iter_ && iter_->ok ()) 
     descend_to_child ();
 }
 
@@ -167,7 +167,7 @@ Sequential_iterator::construct_children 
 void
 Sequential_iterator::next_element (bool side_effect)
 {
-  Moment len =iter_p_->music_length_mom () - iter_p_->music_start_mom ();
+  Moment len =iter_->music_length_mom () - iter_->music_start_mom ();
   assert (!grace_fixups_  || grace_fixups_->start_ >= here_mom_);
   
   if (len.main_part_ && grace_fixups_ &&
@@ -196,13 +196,13 @@ Sequential_iterator::next_element (bool 
       here_mom_ += len;
     }
   
-  delete iter_p_;
+  delete iter_;
   cursor_ = ly_cdr (cursor_);
 
   if (gh_pair_p (cursor_))
-    iter_p_ = get_iterator_p (unsmob_music (ly_car (cursor_)));
+    iter_ = get_iterator (unsmob_music (ly_car (cursor_)));
   else
-    iter_p_ = 0;
+    iter_ = 0;
 }
 
 /*
@@ -232,7 +232,7 @@ Sequential_iterator::descend_to_child ()
 */
 
 SCM
-Sequential_iterator::get_music (Moment until)const
+Sequential_iterator::get_pending_events (Moment until)const
 {
   SCM s = SCM_EOL;
   if (until <  pending_moment ())
@@ -242,7 +242,7 @@ Sequential_iterator::get_music (Moment u
     dynamic_cast<Sequential_iterator*> (clone ());
   while (me->ok ())
     {
-      SCM nm = me->iter_p_->get_music (until - me->here_mom_);
+      SCM nm = me->iter_->get_pending_events (until - me->here_mom_);
       s = gh_append2 (nm, s);
       
       Moment m = 0;
@@ -282,12 +282,12 @@ Sequential_iterator::skip (Moment until)
 	  /*
 	    do the stuff/note/rest preceding a grace.
 	   */
-	  iter_p_->skip (iter_p_->music_length_mom ());
+	  iter_->skip (iter_->music_length_mom ());
 	}
-      else if (iter_p_->music_length_mom () >= until - here_mom_)
-	iter_p_->skip (until - here_mom_ + iter_p_->music_start_mom ());
+      else if (iter_->music_length_mom () >= until - here_mom_)
+	iter_->skip (until - here_mom_ + iter_->music_start_mom ());
 
-      if (iter_p_->ok ())
+      if (iter_->ok ())
 	return ; 
 
       next_element (false);
@@ -297,7 +297,7 @@ Sequential_iterator::skip (Moment until)
 void
 Sequential_iterator::process (Moment until)
 {
-  while (iter_p_)
+  while (iter_)
     {
       if (grace_fixups_ &&
 	  grace_fixups_->start_ == here_mom_
@@ -307,10 +307,10 @@ Sequential_iterator::process (Moment unt
 	  /*
 	    do the stuff/note/rest preceding a grace.
 	   */
-	  iter_p_->process (iter_p_->music_length_mom ());
+	  iter_->process (iter_->music_length_mom ());
 	}
       else
-	iter_p_->process (until - here_mom_ + iter_p_->music_start_mom ());
+	iter_->process (until - here_mom_ + iter_->music_start_mom ());
 
       /*
 	if the iter is still OK, there must be events left that have
@@ -318,7 +318,7 @@ Sequential_iterator::process (Moment unt
 	  TIME > LEFT
 	  
       */
-      if (iter_p_->ok ())
+      if (iter_->ok ())
 	return ;
 
       descend_to_child ();
@@ -329,13 +329,13 @@ Sequential_iterator::process (Moment unt
 Moment
 Sequential_iterator::pending_moment () const
 {
-  Moment cp = iter_p_->pending_moment ();
+  Moment cp = iter_->pending_moment ();
 
   /*
     Fix-up a grace note halfway in the music.
   */
   if (grace_fixups_ && here_mom_ == grace_fixups_->start_
-      && grace_fixups_->length_ + iter_p_->music_start_mom () == cp)
+      && grace_fixups_->length_ + iter_->music_start_mom () == cp)
     {
       return here_mom_ + grace_fixups_->length_ + Moment (0, grace_fixups_->grace_start_);
     }
@@ -343,20 +343,20 @@ Sequential_iterator::pending_moment () c
   /*
     Fix-up a grace note at  the start of the music.
   */
-  return cp + here_mom_ - iter_p_->music_start_mom ();
+  return cp + here_mom_ - iter_->music_start_mom ();
 }
 
 
 bool
 Sequential_iterator::ok () const
 {
-  return iter_p_;
+  return iter_;
 }
 
 Music_iterator*
 Sequential_iterator::try_music_in_children (Music *m) const
 { 
-  return iter_p_ ? iter_p_->try_music (m) : 0;
+  return iter_ ? iter_->try_music (m) : 0;
 }
 
 IMPLEMENT_CTOR_CALLBACK (Sequential_iterator);
diff -purN ../lilypond-1.5.69/lily/sequential-music-iterator.cc ./lily/sequential-music-iterator.cc
--- ../lilypond-1.5.69/lily/sequential-music-iterator.cc	Fri Jul 12 01:07:09 2002
+++ ./lily/sequential-music-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -18,13 +18,13 @@
 void
 Sequential_music_iterator::descend_to_child ()
 {
-  Translator_group  * child_report = child_report = iter_p_->report_to_l ();
-  Translator_group * me_report = report_to_l ();
+  Translator_group  * child_report = child_report = iter_->report_to ();
+  Translator_group * me_report = report_to ();
 
   Translator_group * c = child_report;
   while (c && c != me_report)
     {
-      c= c->daddy_trans_l_;
+      c= c->daddy_trans_;
     }
   
   if (c == me_report)
@@ -37,5 +37,5 @@ IMPLEMENT_CTOR_CALLBACK (Sequential_musi
 SCM
 Sequential_music_iterator::get_music_list()const
 {
-  return  dynamic_cast<Music_sequence const*> (music_l ())->music_list ();
+  return  dynamic_cast<Music_sequence const*> (get_music ())->music_list ();
 }
diff -purN ../lilypond-1.5.69/lily/side-position-interface.cc ./lily/side-position-interface.cc
--- ../lilypond-1.5.69/lily/side-position-interface.cc	Mon Jul 15 20:09:18 2002
+++ ./lily/side-position-interface.cc	Fri Jul 26 12:26:59 2002
@@ -167,7 +167,7 @@ Side_position_interface::quantised_posit
 
   if (Staff_symbol_referencer::has_interface (me))
     {
-      Real p = Staff_symbol_referencer::position_f (me);
+      Real p = Staff_symbol_referencer::get_position (me);
       Real rp = directed_round (p, d);
       Real rad = Staff_symbol_referencer::staff_radius (me) *2 ;
       int ip = int (rp);
@@ -218,7 +218,7 @@ Side_position_interface::aligned_side (S
 void
 Side_position_interface::add_staff_support (Grob*me)
 {
-  Grob* st = Staff_symbol_referencer::staff_symbol_l (me);
+  Grob* st = Staff_symbol_referencer::get_staff_symbol (me);
   if (st && get_axis (me) == Y_AXIS)
     {
       add_support (me,st);
diff -purN ../lilypond-1.5.69/lily/simple-music-iterator.cc ./lily/simple-music-iterator.cc
--- ../lilypond-1.5.69/lily/simple-music-iterator.cc	Fri Feb  1 19:16:16 2002
+++ ./lily/simple-music-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -55,7 +55,7 @@ Simple_music_iterator::skip (Moment m)
     uncommented because setting MUSIC_L_ = 0 causes core dumps with
     grace notes.  */
   
-  //  music_l_ = 0;
+  //  music_ = 0;
   
   last_processed_mom_ = m;
 }
diff -purN ../lilypond-1.5.69/lily/simple-spacer.cc ./lily/simple-spacer.cc
--- ../lilypond-1.5.69/lily/simple-spacer.cc	Thu Jul 11 12:48:43 2002
+++ ./lily/simple-spacer.cc	Fri Jul 26 12:26:59 2002
@@ -64,9 +64,9 @@ Simple_spacer::Simple_spacer ()
   */
   compression_penalty_b_ = false;
   active_count_ = 0;
-  force_f_ = 0.;
-  indent_f_ =0.0;
-  default_space_f_ = 20 PT;
+  force_ = 0.;
+  indent_ =0.0;
+  default_space_ = 20 PT;
 }
 
 void
@@ -87,11 +87,11 @@ Simple_spacer::add_rod (int l, int r, Re
        */
       Real total_dist = 0.;
       for (int i = l ; i < r; i++)
-	total_dist += springs_[i].ideal_f_;
+	total_dist += springs_[i].ideal_;
 
       if (total_dist < dist)
 	for (int i = l ; i < r; i++)
-	  springs_[i].ideal_f_ *= dist/total_dist;
+	  springs_[i].ideal_ *= dist/total_dist;
 
       return;
     }
@@ -100,11 +100,11 @@ Simple_spacer::add_rod (int l, int r, Re
   Real block_stretch = dist - d;
   
   Real block_force = c * block_stretch;
-  force_f_ = force_f_ >? block_force;
+  force_ = force_ >? block_force;
 
   for (int i=l; i < r; i++)
-    springs_[i].block_force_f_ = block_force >?
-      springs_[i].block_force_f_ ;
+    springs_[i].block_force_ = block_force >?
+      springs_[i].block_force_ ;
 }
 
 Real
@@ -112,7 +112,7 @@ Simple_spacer::range_ideal_len (int l, i
 {
   Real d =0.;
   for (int i=l; i < r; i++)
-    d += springs_[i].ideal_f_;
+    d += springs_[i].ideal_;
   return d;
 }
 
@@ -123,7 +123,7 @@ Simple_spacer::range_stiffness (int l, i
   for (int i=l; i < r; i++)
     {
       if (springs_[i].active_b_)
-	den += 1 / springs_[i].hooke_f_;
+	den += 1 / springs_[i].hooke_;
     }
 
   return 1 / den;
@@ -136,7 +136,7 @@ Simple_spacer::active_blocking_force () 
   for (int i=0; i < springs_.size (); i++)
     if (springs_[i].active_b_)
       {
-	bf = bf >? springs_[i].block_force_f_;
+	bf = bf >? springs_[i].block_force_;
       }
   return bf;
 }
@@ -148,7 +148,7 @@ Simple_spacer::active_springs_stiffness 
   for (int i=0; i < springs_.size (); i++)
     if (springs_[i].active_b_)
       {
-	den += 1 / springs_[i].hooke_f_;
+	den += 1 / springs_[i].hooke_;
       }
   return 1/den;
 }
@@ -159,7 +159,7 @@ Simple_spacer::set_active_states ()
   /* float comparison is safe, since force is only copied.  */
   for (int i=0 ; i <springs_.size (); i++)
     if (springs_[i].active_b_
-	&& springs_[i].block_force_f_ >= force_f_)
+	&& springs_[i].block_force_ >= force_)
       {
 	springs_[i].active_b_ = false;
 	active_count_ --; 
@@ -171,7 +171,7 @@ Simple_spacer::configuration_length () c
 {
   Real l =0.;
   for (int i=0; i < springs_.size (); i++)
-    l += springs_[i].length (force_f_);
+    l += springs_[i].length (force_);
 
   return l;
 }
@@ -187,12 +187,12 @@ Simple_spacer::my_solve_linelen ()
 {
   while (active_b ())
     {
-      force_f_ = active_blocking_force ();
+      force_ = active_blocking_force ();
       Real conf = configuration_length ();
 
-      if (conf < line_len_f_)
+      if (conf < line_len_)
 	{
-	  force_f_ += (line_len_f_  - conf) * active_springs_stiffness ();
+	  force_ += (line_len_  - conf) * active_springs_stiffness ();
 	  break;
 	}
       else
@@ -206,9 +206,9 @@ Simple_spacer::my_solve_natural_len ()
 {
   while (active_b ())
     {
-      force_f_ = active_blocking_force () >? 0.0;
+      force_ = active_blocking_force () >? 0.0;
 
-      if (force_f_ < 1e-8) // ugh.,
+      if (force_ < 1e-8) // ugh.,
 	break;
       
       set_active_states ();
@@ -246,16 +246,16 @@ Simple_spacer::add_columns (Link_array<G
       Spring_description desc;
       if (spring)
 	{
-	  desc.ideal_f_ = spring->distance_f_;
-	  desc.hooke_f_ = spring->strength_f_;
+	  desc.ideal_ = spring->distance_;
+	  desc.hooke_ = spring->strength_;
 	}
       else
 	{
 	  programming_error (_f("No spring between column %d and next one",
-				Paper_column::rank_i (cols[i])
+				Paper_column::get_rank (cols[i])
 				));
-	  desc.hooke_f_ = 1.0;
-	  desc.ideal_f_ = default_space_f_;
+	  desc.hooke_ = 1.0;
+	  desc.ideal_ = default_space_;
 
 	  continue;
 	}
@@ -264,18 +264,18 @@ Simple_spacer::add_columns (Link_array<G
 	{
 	  programming_error ("Insane spring found. Setting to unit spring.");
 
-	  desc.hooke_f_ = 1.0;
-	  desc.ideal_f_ = 1.0;
+	  desc.hooke_ = 1.0;
+	  desc.ideal_ = 1.0;
 	}
 
-      if (isinf (desc.hooke_f_))
+      if (isinf (desc.hooke_))
 	{
 	  desc.active_b_ = false;
 	  springs_.push (desc);
 	}
       else
 	{
-	  desc.block_force_f_ = - desc.hooke_f_ * desc.ideal_f_; // block at distance 0
+	  desc.block_force_ = - desc.hooke_ * desc.ideal_; // block at distance 0
 	  springs_.push (desc);
       
 	  active_count_ ++;
@@ -294,7 +294,7 @@ Simple_spacer::add_columns (Link_array<G
 	   gh_pair_p (s); s = ly_cdr (s))
 	{
 	  Grob * other = unsmob_grob (ly_caar (s));
-	  int oi = cols.find_i (other);
+	  int oi = cols.find_index (other);
 	  if (oi >= 0)
 	    {
 	      add_rod (i, oi, gh_scm2double (ly_cdar (s)));
@@ -305,7 +305,7 @@ Simple_spacer::add_columns (Link_array<G
   /*
     TODO: should support natural length on only the last line.
    */
-  if (line_len_f_ < 0)
+  if (line_len_ < 0)
     my_solve_natural_len ();
   else
     my_solve_linelen ();
@@ -316,8 +316,8 @@ Simple_spacer::add_columns (Link_array<G
 void
 Simple_spacer::solve (Column_x_positions *positions, bool ragged) const
 {
-  positions->force_f_ = force_f_;
-  if ((force_f_ < 0))
+  positions->force_ = force_;
+  if ((force_ < 0))
     {
 
       /*
@@ -327,13 +327,13 @@ Simple_spacer::solve (Column_x_positions
 	maybe this should be tunable?
        */
       if (compression_penalty_b_)
-	; //	positions->force_f_ *= 2; //  hmm.
+	; //	positions->force_ *= 2; //  hmm.
     }
   
-  positions->config_.push (indent_f_);
+  positions->config_.push (indent_);
   for (int i=0; i <springs_.size (); i++)
     {
-      Real  l = springs_[i].length ((ragged) ? 0.0 : force_f_);
+      Real  l = springs_[i].length ((ragged) ? 0.0 : force_);
       positions->config_.push (positions->config_.top () + l);
       /*
 	we have l>= 0 here, up to rounding errors 
@@ -342,7 +342,7 @@ Simple_spacer::solve (Column_x_positions
   positions->cols_ = spaced_cols_;
   positions->loose_cols_ = loose_cols_;
   
-  positions->satisfies_constraints_b_ = (line_len_f_ < 0) || active_b ();
+  positions->satisfies_constraints_b_ = (line_len_ < 0) || active_b ();
 
 
   /*
@@ -366,7 +366,7 @@ Simple_spacer::solve (Column_x_positions
   positions->satisfies_constraints_b_ =
     positions->satisfies_constraints_b_ && break_satisfy;
 
-  if (ragged && force_f_ < 0)
+  if (ragged && force_ < 0)
     positions->satisfies_constraints_b_ = false;
 }
 
@@ -374,23 +374,23 @@ Simple_spacer::solve (Column_x_positions
 
 Spring_description::Spring_description ()
 {
-  ideal_f_ =0.0;
-  hooke_f_ =0.0;
+  ideal_ =0.0;
+  hooke_ =0.0;
   active_b_ = true;
-  block_force_f_ = 0.0;
+  block_force_ = 0.0;
 }
 
 
 bool
 Spring_description::sane_b () const
 {
-  return (hooke_f_ > 0) &&  !isinf (ideal_f_) && !isnan (ideal_f_);
+  return (hooke_ > 0) &&  !isinf (ideal_) && !isnan (ideal_);
 }
 
 Real
 Spring_description::length (Real f) const
 {
   if (!active_b_)
-    f = block_force_f_;
-  return ideal_f_ + f / hooke_f_ ;
+    f = block_force_;
+  return ideal_ + f / hooke_ ;
 }
diff -purN ../lilypond-1.5.69/lily/simultaneous-music-iterator.cc ./lily/simultaneous-music-iterator.cc
--- ../lilypond-1.5.69/lily/simultaneous-music-iterator.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/simultaneous-music-iterator.cc	Fri Jul 26 12:26:59 2002
@@ -35,12 +35,12 @@ Simultaneous_music_iterator::~Simultaneo
 }
 
 SCM
-Simultaneous_music_iterator::get_music (Moment m)const
+Simultaneous_music_iterator::get_pending_events (Moment m)const
 {
   SCM s = SCM_EOL;
   for (Cons<Music_iterator> *p = children_p_list_.head_; p; p = p->next_)
     {
-      s = gh_append2 (p->car_->get_music (m), s);
+      s = gh_append2 (p->car_->get_pending_events (m), s);
     }
   return s;
 }
@@ -50,22 +50,22 @@ Simultaneous_music_iterator::construct_c
 {
   int j = 0;
 
-  SCM i = music_l ()->get_mus_property ("elements");
+  SCM i = get_music ()->get_mus_property ("elements");
   for (; gh_pair_p (i); i = ly_cdr (i), j++)
     {
       Music *mus = unsmob_music (ly_car (i));
-      Music_iterator * mi = static_get_iterator_p (mus);
+      Music_iterator * mi = get_static_get_iterator (mus);
 
       /* if separate_contexts_b_ is set, create a new context with the
 	 number number as name */
       
       Translator_group * t = (j && separate_contexts_b_)
-	? report_to_l ()->find_create_translator_l (report_to_l ()->type_str_,
-						    to_str (j))
-	: report_to_l ();
+	? report_to ()->find_create_translator (report_to ()->type_string_,
+						    to_string (j))
+	: report_to ();
 
       if (!t)
-	t = report_to_l ();
+	t = report_to ();
 
       mi->init_translator (mus, t);
       mi->construct_children ();
diff -purN ../lilypond-1.5.69/lily/slur-bezier-bow.cc ./lily/slur-bezier-bow.cc
--- ../lilypond-1.5.69/lily/slur-bezier-bow.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/slur-bezier-bow.cc	Fri Jul 26 12:26:59 2002
@@ -83,7 +83,7 @@ Slur_bezier_bow::blow_fit ()
 
 
 Real
-Slur_bezier_bow::enclosed_area_f () const
+Slur_bezier_bow::get_enclosed_area () const
 {
   Real a = 0;
   for (int i=0; i < encompass_.size (); i++)
@@ -124,7 +124,7 @@ Slur_bezier_bow::enclosed_area_f () cons
 }
 
 Array<Real>
-Slur_bezier_bow::area_x_gradients_array (Real area)
+Slur_bezier_bow::area_x_gradientses (Real area)
 {
   Real len = curve_.control_[3][X_AXIS]; 
   Real grow = len / 10.0;
@@ -133,7 +133,7 @@ Slur_bezier_bow::area_x_gradients_array 
     {
       Real r = curve_.control_[i+1][X_AXIS];
       curve_.control_[i+1][X_AXIS] += grow;
-      da[i] = (enclosed_area_f () - area) / grow;
+      da[i] = (get_enclosed_area () - area) / grow;
       curve_.control_[i+1][X_AXIS] = r; 
     }
   return da;
@@ -162,11 +162,11 @@ Slur_bezier_bow::minimise_enclosed_area 
 
   for (int i=0; i < steps; i++)
     {
-      Real area = enclosed_area_f ();
+      Real area = get_enclosed_area ();
       if (area <= beautiful)
 	break;
 
-      Array<Real> da = area_x_gradients_array (area);
+      Array<Real> da = area_x_gradientses (area);
 
       // urg
       Real pct = pct_c0 + pct_c3 * length * length * length;
diff -purN ../lilypond-1.5.69/lily/slur-engraver.cc ./lily/slur-engraver.cc
--- ../lilypond-1.5.69/lily/slur-engraver.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/slur-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -14,10 +14,10 @@
 
 class Slur_engraver : public Engraver
 {
-  Link_array<Span_req> requests_arr_;
-  Link_array<Span_req> new_slur_req_l_arr_;
+  Link_array<Span_req> requestses_;
+  Link_array<Span_req> new_slur_reqs_;
   Link_array<Grob> slur_l_stack_;
-  Link_array<Grob> end_slur_l_arr_;
+  Link_array<Grob> end_slurs_;
   Moment last_start_;
 
   void set_melisma (bool);
@@ -40,9 +40,9 @@ Slur_engraver::Slur_engraver ()
 }
 
 bool
-Slur_engraver::try_music (Music *req_l)
+Slur_engraver::try_music (Music *req)
 {
-  if (Span_req *sl = dynamic_cast <Span_req *> (req_l))
+  if (Span_req *sl = dynamic_cast <Span_req *> (req))
     {
       String t =  ly_scm2string (sl->get_mus_property ("span-type"));
       if (t == "abort")
@@ -52,13 +52,13 @@ Slur_engraver::try_music (Music *req_l)
 	      slur_l_stack_[i]->suicide ();
 	    }
 	  slur_l_stack_.clear ();
-	  for (int i = 0; i < end_slur_l_arr_.size (); i++)
+	  for (int i = 0; i < end_slurs_.size (); i++)
 	    {
-	      end_slur_l_arr_[i]->suicide ();
+	      end_slurs_[i]->suicide ();
 	    }
-	  end_slur_l_arr_.clear ();
-	  requests_arr_.clear ();
-	  new_slur_req_l_arr_.clear ();
+	  end_slurs_.clear ();
+	  requestses_.clear ();
+	  new_slur_reqs_.clear ();
 	}
       else if (t == "slur")
 	{
@@ -69,14 +69,14 @@ Slur_engraver::try_music (Music *req_l)
 	    {
 	      if (now_mom () > last_start_)
 	        {
-	          new_slur_req_l_arr_.push (sl);
+	          new_slur_reqs_.push (sl);
 		  last_start_ = now_mom ();
 	          return true;
 		}
 	    }
 	  else
 	    {
-	      new_slur_req_l_arr_.push (sl);
+	      new_slur_reqs_.push (sl);
 	      return true;
 	    }
 	}
@@ -87,19 +87,19 @@ Slur_engraver::try_music (Music *req_l)
 void
 Slur_engraver::set_melisma (bool m)
 {
-  daddy_trans_l_->set_property ("slurMelismaBusy", m ? SCM_BOOL_T :SCM_BOOL_F);
+  daddy_trans_->set_property ("slurMelismaBusy", m ? SCM_BOOL_T :SCM_BOOL_F);
 }
 
 void
 Slur_engraver::acknowledge_grob (Grob_info info)
 {
-  if (Note_column::has_interface (info.grob_l_))
+  if (Note_column::has_interface (info.grob_))
     {
-      Grob *e =info.grob_l_;
+      Grob *e =info.grob_;
       for (int i = 0; i < slur_l_stack_.size (); i++)
 	Slur::add_column (slur_l_stack_[i], e);
-      for (int i = 0; i < end_slur_l_arr_.size (); i++)
-	Slur::add_column (end_slur_l_arr_[i], e);
+      for (int i = 0; i < end_slurs_.size (); i++)
+	Slur::add_column (end_slurs_[i], e);
     }
 }
 
@@ -119,64 +119,64 @@ Slur_engraver::finalize ()
     }
   slur_l_stack_.clear ();
 
-  for (int i=0; i < requests_arr_.size (); i++)
+  for (int i=0; i < requestses_.size (); i++)
       {
-	requests_arr_[i]->origin ()->warning (_ ("unterminated slur"));
+	requestses_[i]->origin ()->warning (_ ("unterminated slur"));
       }
 }
 
 void
 Slur_engraver::process_acknowledged_grobs ()
 {
-  Link_array<Grob> start_slur_l_arr;
-  for (int i=0; i< new_slur_req_l_arr_.size (); i++)
+  Link_array<Grob> start_slurs;
+  for (int i=0; i< new_slur_reqs_.size (); i++)
     {
-      Span_req* slur_req_l = new_slur_req_l_arr_[i];
+      Span_req* slur_req = new_slur_reqs_[i];
       // end slur: move the slur to other array
-      if (slur_req_l->get_span_dir () == STOP)
+      if (slur_req->get_span_dir () == STOP)
 	{
 	  if (slur_l_stack_.empty ())
 	    /* How to shut up this warning, when Voice_devnull_engraver has
 	       eaten start request? */
-	    slur_req_l->origin ()->warning (_f ("can't find start of slur"));
+	    slur_req->origin ()->warning (_f ("can't find start of slur"));
 	  else
 	    {
 	      Grob* slur = slur_l_stack_.pop ();
 	    
-	      end_slur_l_arr_.push (slur);
-	      requests_arr_.pop ();
+	      end_slurs_.push (slur);
+	      requestses_.pop ();
 	    }
 	}
-      else  if (slur_req_l->get_span_dir () == START)
+      else  if (slur_req->get_span_dir () == START)
 	{
 	  // push a new slur onto stack.
 	  // (use temp. array to wait for all slur STOPs)
 	  Grob* slur = new Spanner (get_property ("Slur"));
 	  Slur::set_interface (slur); // cannot remove yet!
-	  start_slur_l_arr.push (slur);
-	  requests_arr_.push (slur_req_l);
-	  announce_grob (slur, slur_req_l->self_scm ());
+	  start_slurs.push (slur);
+	  requestses_.push (slur_req);
+	  announce_grob (slur, slur_req->self_scm ());
 	}
     }
-  for (int i=0; i < start_slur_l_arr.size (); i++)
-    slur_l_stack_.push (start_slur_l_arr[i]);
-  new_slur_req_l_arr_.clear ();
+  for (int i=0; i < start_slurs.size (); i++)
+    slur_l_stack_.push (start_slurs[i]);
+  new_slur_reqs_.clear ();
 }
 
 void
 Slur_engraver::stop_translation_timestep ()
 {
-  for (int i = 0; i < end_slur_l_arr_.size (); i++)
+  for (int i = 0; i < end_slurs_.size (); i++)
     {
-      typeset_grob (end_slur_l_arr_[i]);
+      typeset_grob (end_slurs_[i]);
     }
-  end_slur_l_arr_.clear ();
+  end_slurs_.clear ();
 }
 
 void
 Slur_engraver::start_translation_timestep ()
 {
-  new_slur_req_l_arr_.clear ();
+  new_slur_reqs_.clear ();
   SCM m = get_property ("automaticMelismata");
   if (to_boolean (m))
     {
diff -purN ../lilypond-1.5.69/lily/slur.cc ./lily/slur.cc
--- ../lilypond-1.5.69/lily/slur.cc	Sat Jul 13 03:30:04 2002
+++ ./lily/slur.cc	Fri Jul 26 12:26:59 2002
@@ -96,13 +96,13 @@ Slur::de_uglyfy (Grob*me, Slur_bezier_bo
 Direction
 Slur::get_default_dir (Grob*me) 
 {
-  Link_array<Grob> encompass_arr =
+  Link_array<Grob> encompasses =
     Pointer_group_interface__extract_grobs (me, (Grob*)0, "note-columns");
   
   Direction d = DOWN;
-  for (int i=0; i < encompass_arr.size (); i ++) 
+  for (int i=0; i < encompasses.size (); i ++) 
     {
-      if (Note_column::dir (encompass_arr[i]) < 0) 
+      if (Note_column::dir (encompasses[i]) < 0) 
 	{
 	  d = UP;
 	  break;
@@ -138,7 +138,7 @@ Slur::check_slope (Grob *me)
   SCM s = me->get_grob_property ("slope-limit");
   if (gh_number_p (s))
     {
-      Array<Offset> encompass = get_encompass_offset_arr (me);
+      Array<Offset> encompass = get_encompass_offsets (me);
       Drul_array<Offset> attachment;
       attachment[LEFT] = encompass[0];
       attachment[RIGHT] = encompass.top ();
@@ -223,12 +223,19 @@ Slur::set_extremities (Grob *me)
 Real
 Slur::get_first_notecolumn_y (Grob *me, Direction dir)
 {
-  Grob *col = dir == LEFT
-    ? unsmob_grob (ly_car (scm_reverse (me->get_grob_property
- ("note-columns"))))
-    : unsmob_grob
- (ly_car (me->get_grob_property ("note-columns")));
+  SCM cols = me->get_grob_property ("note-columns");
+
+  if(!gh_pair_p (cols))
+    {
+      programming_error ("No note-columns in slur?");
+      me->suicide ();
+      return 0.0;
+    }
+  
+  if (dir == LEFT)
+    cols = scm_reverse(cols);
   
+  Grob *col = unsmob_grob (ly_car (cols));
   Grob *common[] =
   {
     0,
@@ -255,15 +262,15 @@ Slur::broken_trend_offset (Grob *me, Dir
     the unbroken slur would have had.
   */
   Offset o;
-  if (Spanner *mother =  dynamic_cast<Spanner*> (me->original_l_))
+  if (Spanner *mother =  dynamic_cast<Spanner*> (me->original_))
     {
-      for (int i = dir == LEFT ? 0 : mother->broken_into_l_arr_.size () - 1;
-	   dir == LEFT ? i < mother->broken_into_l_arr_.size () : i > 0;
+      for (int i = dir == LEFT ? 0 : mother->broken_intos_.size () - 1;
+	   dir == LEFT ? i < mother->broken_intos_.size () : i > 0;
 	   dir == LEFT ? i++ : i--)
 	{
-	  if (mother->broken_into_l_arr_[i - dir] == me)
+	  if (mother->broken_intos_[i - dir] == me)
 	    {
-	      Grob *neighbour = mother->broken_into_l_arr_[i];
+	      Grob *neighbour = mother->broken_intos_[i];
 	      if (dir == RIGHT)
 		neighbour->set_grob_property ("direction",
 					     me->get_grob_property ("direction"));
@@ -308,7 +315,7 @@ Slur::get_attachment (Grob *me, Directio
   if (Note_column::has_interface (sp->get_bound (dir)))
     {
       Grob * n =sp->get_bound (dir);
-      if ((stem = Note_column::stem_l (n)))
+      if ((stem = Note_column::get_stem (n)))
 	{
 	  Real x_extent;
 	  if (Grob *head = Note_column::first_head (n))
@@ -345,7 +352,7 @@ Slur::get_attachment (Grob *me, Directio
 	       */
 	      Real stem_thickness =
 		gh_scm2double (stem->get_grob_property ("thickness"))
-		* stem->paper_l ()->get_var ("linethickness");
+		* stem->get_paper ()->get_var ("linethickness");
 	      o += Offset (0.5 *
 			   x_extent * (1 + Stem::get_direction (stem))
 			   - ((dir + 1)/2) * stem_thickness
@@ -408,19 +415,19 @@ Slur::encompass_offset (Grob*me,
 			Grob **common) 
 {
   Offset o;
-  Grob* stem_l = unsmob_grob (col->get_grob_property ("stem"));
+  Grob* stem = unsmob_grob (col->get_grob_property ("stem"));
   
   Direction dir = Directional_element_interface::get (me);
   
-  if (!stem_l)
+  if (!stem)
     {
       me->warning (_ ("Slur over rest?"));
       o[X_AXIS] = col->relative_coordinate (common[X_AXIS], X_AXIS);
       o[Y_AXIS] = col->relative_coordinate (common[Y_AXIS], Y_AXIS);
       return o;  
     }
-  Direction stem_dir = Directional_element_interface::get (stem_l);
-  o[X_AXIS] = stem_l->relative_coordinate (0, X_AXIS);
+  Direction stem_dir = Directional_element_interface::get (stem);
+  o[X_AXIS] = stem->relative_coordinate (0, X_AXIS);
 
   /*
     Simply set x to middle of notehead
@@ -433,9 +440,9 @@ Slur::encompass_offset (Grob*me,
   o[X_AXIS] -= 0.5 * stem_dir * x_extent;
 
   if ((stem_dir == dir)
-      && !stem_l->extent (stem_l, Y_AXIS).empty_b ())
+      && !stem->extent (stem, Y_AXIS).empty_b ())
     {
-      o[Y_AXIS] = stem_l->extent (common[Y_AXIS], Y_AXIS)[dir];
+      o[Y_AXIS] = stem->extent (common[Y_AXIS], Y_AXIS)[dir];
     }
   else
     {
@@ -451,7 +458,7 @@ Slur::encompass_offset (Grob*me,
 }
 
 Array<Offset>
-Slur::get_encompass_offset_arr (Grob *me)
+Slur::get_encompass_offsets (Grob *me)
 {
   Spanner*sp = dynamic_cast<Spanner*> (me);
   SCM eltlist = me->get_grob_property ("note-columns");
@@ -462,53 +469,53 @@ Slur::get_encompass_offset_arr (Grob *me
   common[X_AXIS] = common[X_AXIS]->common_refpoint (sp->get_bound (RIGHT), X_AXIS);
   common[X_AXIS] = common[X_AXIS]->common_refpoint (sp->get_bound (LEFT), X_AXIS);
   
-  Link_array<Grob>  encompass_arr = list_to_grob_array (eltlist);
-  Array<Offset> offset_arr;
+  Link_array<Grob>  encompasses = ly_scm2grobs (eltlist);
+  Array<Offset> offsets;
 
   Offset origin (me->relative_coordinate (common[X_AXIS], X_AXIS),
 		 me->relative_coordinate (common[Y_AXIS], Y_AXIS)); 
 
   int first = 1;
-  int last = encompass_arr.size () - 2;
+  int last = encompasses.size () - 2;
 
-  offset_arr.push (get_attachment (me, LEFT, common));
+  offsets.push (get_attachment (me, LEFT, common));
 
   /*
     left is broken edge
   */
-  if (encompass_arr[0] != sp->get_bound (LEFT))
+  if (encompasses[0] != sp->get_bound (LEFT))
     {
       first--;
 
       // ?
-      offset_arr[0][Y_AXIS] -=
-	encompass_arr[0]->relative_coordinate (common[Y_AXIS], Y_AXIS) 
+      offsets[0][Y_AXIS] -=
+	encompasses[0]->relative_coordinate (common[Y_AXIS], Y_AXIS) 
 	- me->relative_coordinate (common[Y_AXIS], Y_AXIS); 
     }
 
   /*
     right is broken edge
   */
-  if (encompass_arr.top () != sp->get_bound (RIGHT))
+  if (encompasses.top () != sp->get_bound (RIGHT))
     {
       last++;
     }
 
   for (int i = first; i <= last; i++)
     {
-      Offset o (encompass_offset (me, encompass_arr[i], common));
-      offset_arr.push (o - origin);
+      Offset o (encompass_offset (me, encompasses[i], common));
+      offsets.push (o - origin);
     }
 
-  offset_arr.push (Offset (sp->spanner_length (), 0) + get_attachment (me, RIGHT,common));
+  offsets.push (Offset (sp->spanner_length (), 0) + get_attachment (me, RIGHT,common));
 
-  if (encompass_arr[0] != sp->get_bound (LEFT))
+  if (encompasses[0] != sp->get_bound (LEFT))
     {
-      offset_arr.top ()[Y_AXIS] -= encompass_arr.top ()->relative_coordinate (common[Y_AXIS], Y_AXIS) 
+      offsets.top ()[Y_AXIS] -= encompasses.top ()->relative_coordinate (common[Y_AXIS], Y_AXIS) 
 	- me->relative_coordinate (common[Y_AXIS], Y_AXIS);
     }
 
-  return offset_arr;
+  return offsets;
 }
 
 
@@ -543,7 +550,7 @@ Slur::brew_molecule (SCM smob)
       return SCM_EOL;
     }
 
-  Real thick = me->paper_l ()->get_var ("linethickness") *
+  Real thick = me->get_paper ()->get_var ("linethickness") *
     gh_scm2double (me->get_grob_property ("thickness"));
   Bezier one = get_curve (me);
 
@@ -573,7 +580,7 @@ Slur::set_control_points (Grob*me)
   Real r_0 = gh_scm2double (ly_cdr (r_0_scm));
   Real h_inf = staff_space * gh_scm2double (ly_cdr (h_inf_scm));
   
-  Slur_bezier_bow bb (get_encompass_offset_arr (me),
+  Slur_bezier_bow bb (get_encompass_offsets (me),
 		      Directional_element_interface::get (me),
 		      h_inf, r_0);
 
@@ -600,7 +607,7 @@ Slur::set_control_points (Grob*me)
 
       
       Real beautiful = length * default_height * sb;
-      Real area = bb.enclosed_area_f ();
+      Real area = bb.get_enclosed_area ();
       
       /*
 	Slurs that fit beautifully are not ugly
@@ -659,7 +666,7 @@ Slur::get_curve (Grob*me) 
       i++;
     }
 
-  Array<Offset> enc (get_encompass_offset_arr (me));
+  Array<Offset> enc (get_encompass_offsets (me));
   Direction dir = Directional_element_interface::get (me);
   
   Real x1 = enc[0][X_AXIS];
diff -purN ../lilypond-1.5.69/lily/spaceable-grob.cc ./lily/spaceable-grob.cc
--- ../lilypond-1.5.69/lily/spaceable-grob.cc	Sun Jul  7 18:23:32 2002
+++ ./lily/spaceable-grob.cc	Fri Jul 26 12:26:59 2002
@@ -82,8 +82,8 @@ Spaceable_grob::add_spring (Grob*me, Gro
 #endif
   
   Spring_smob spring;
-  spring.strength_f_ = strength;
-  spring.distance_f_ = d;
+  spring.strength_ = strength;
+  spring.distance_ = d;
   spring.expand_only_b_ = expand_only;
   spring.other_ = p;
   
diff -purN ../lilypond-1.5.69/lily/spacing-engraver.cc ./lily/spacing-engraver.cc
--- ../lilypond-1.5.69/lily/spacing-engraver.cc	Wed Jul 17 15:18:45 2002
+++ ./lily/spacing-engraver.cc	Fri Jul 26 12:26:59 2002
@@ -44,7 +44,7 @@ class Spacing_engraver : public Engraver
   Array<Rhythmic_tuple> now_durations_;
   Array<Rhythmic_tuple> stopped_durations_;
   Moment now_;
-  Spanner * spacing_p_;
+  Spanner * spacing_;
   
   TRANSLATOR_DECLARATIONS(Spacing_engraver);
 protected:
@@ -70,35 +70,35 @@ Rhythmic_tuple::time_compare (Rhythmic_t
 
 Spacing_engraver::Spacing_engraver ()
 {
-  spacing_p_ = 0;
+  spacing_ = 0;
 }
 
 void
 Spacing_engraver::initialize ()
 {
-  spacing_p_  =new Spanner (get_property ("SpacingSpanner"));
-  spacing_p_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));  
-  announce_grob(spacing_p_, SCM_EOL);
+  spacing_  =new Spanner (get_property ("SpacingSpanner"));
+  spacing_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));  
+  announce_grob(spacing_, SCM_EOL);
 }
 
 void
 Spacing_engraver::finalize ()
 {
   Grob * p = unsmob_grob (get_property ("currentCommandColumn"));
-  spacing_p_->set_bound (RIGHT, p);
-  typeset_grob (spacing_p_);
-  spacing_p_ =0;
+  spacing_->set_bound (RIGHT, p);
+  typeset_grob (spacing_);
+  spacing_ =0;
 }
 
 void
 Spacing_engraver::acknowledge_grob (Grob_info i)
 {
-  if (Note_spacing::has_interface (i.grob_l_) || Staff_spacing::has_interface (i.grob_l_))
+  if (Note_spacing::has_interface (i.grob_) || Staff_spacing::has_interface (i.grob_))
     {
-      Pointer_group_interface::add_grob (spacing_p_, ly_symbol2scm  ("wishes"), i.grob_l_);
+      Pointer_group_interface::add_grob (spacing_, ly_symbol2scm  ("wishes"), i.grob_);
     }
   
-  if (i.grob_l_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")))
+  if (i.grob_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")))
     return;
 
   /*
diff -purN ../lilypond-1.5.69/lily/spacing-spanner.cc ./lily/spacing-spanner.cc
--- ../lilypond-1.5.69/lily/spacing-spanner.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/spacing-spanner.cc	Fri Jul 26 12:27:00 2002
@@ -28,9 +28,6 @@
 #include "break-align-interface.hh"
 #include "spacing-interface.hh"
 
-/*
-  paper-column:
- */
 class Spacing_spanner
 {
 public:
@@ -101,7 +98,7 @@ loose_column (Grob *l, Grob *c, Grob *r)
   if (!l_neighbor || !r_neighbor)
     return false;
 
-  l_neighbor = l_neighbor->column_l();
+  l_neighbor = l_neighbor->get_column ();
   r_neighbor = dynamic_cast<Item*> (Note_spacing::right_column  (r_neighbor));
 
   if (l == l_neighbor && r == r_neighbor)
@@ -241,7 +238,7 @@ Spacing_spanner::prune_loose_colunms (Gr
 	  while (flip (&d) != LEFT);
 
 	  Rod r;
-	  r.distance_f_ = dists[LEFT] + dists[RIGHT];
+	  r.distance_ = dists[LEFT] + dists[RIGHT];
 	  r.item_l_drul_[LEFT] = dynamic_cast<Item*> (cols->elem(i-1));
 	  r.item_l_drul_[RIGHT] = dynamic_cast<Item*> (cols->elem (i+1));
 
@@ -273,7 +270,7 @@ Spacing_spanner::set_explicit_neighbor_c
 	{
 	  Item * wish = dynamic_cast<Item*> (unsmob_grob (gh_car (s)));
 
-	  Item * lc = wish->column_l ();
+	  Item * lc = wish->get_column ();
 	  Grob * right = Note_spacing::right_column (wish);
 
 	  if (!right)
@@ -281,8 +278,8 @@ Spacing_spanner::set_explicit_neighbor_c
 
 	  Item * rc = dynamic_cast<Item*> (right);
 
-	  int right_rank = Paper_column::rank_i (rc);
-	  int left_rank = Paper_column::rank_i (lc);	  
+	  int right_rank = Paper_column::get_rank (rc);
+	  int left_rank = Paper_column::get_rank (lc);	  
 
 	  /*
 	    update the left column.
@@ -305,7 +302,7 @@ Spacing_spanner::set_explicit_neighbor_c
 	      && unsmob_grob (gh_car (left_neighs)))
 	    {
 	      Item * it = dynamic_cast<Item*> (unsmob_grob (gh_car (left_neighs)));
-	      maxrank = Paper_column::rank_i (it->column_l());
+	      maxrank = Paper_column::get_rank (it->get_column ());
 	    }
 
 	  if (left_rank >= maxrank)
@@ -364,7 +361,7 @@ Spacing_spanner::set_springs (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
 
-  Link_array<Grob> all (me->pscore_l_->line_l_->column_l_arr ()) ;
+  Link_array<Grob> all (me->pscore_->system_->columns ()) ;
 
   set_explicit_neighbor_columns (all);
 
@@ -379,7 +376,7 @@ Spacing_spanner::set_springs (SCM smob)
       global_shortest = find_shortest (me, all);
       if (verbose_global_b)
 	{
-	  progress_indication (_f("Global shortest duration is %s\n", global_shortest.str())); 
+	  progress_indication (_f("Global shortest duration is %s\n", global_shortest.string ())); 
 	}
     }
   prune_loose_colunms (me, &all, global_shortest);
@@ -572,7 +569,7 @@ Spacing_spanner::musical_column_spacing 
 
       Item *wish_rcol = Note_spacing::right_column (wish);
       if (Note_spacing::left_column (wish) != lc
-	  || (wish_rcol != rc && wish_rcol != rc->original_l_))
+	  || (wish_rcol != rc && wish_rcol != rc->original_))
 	continue;
 
       /*
@@ -595,7 +592,7 @@ Spacing_spanner::musical_column_spacing 
       max_fixed_note_space =  increment;
     }
 
-  bool ragged = to_boolean (me->paper_l ()->get_scmvar ("raggedright"));
+  bool ragged = to_boolean (me->get_paper ()->get_scmvar ("raggedright"));
 
   /*
     Whatever we do, the fixed space is smaller than the real
@@ -639,18 +636,25 @@ Spacing_spanner::standard_breakable_colu
 				   Real * fixed, Real * space,
 				   Moment shortest)
 {
+ 
   *fixed = 0.0;
   Direction d = LEFT;
   Drul_array<Item*> cols(l,r);
   
   do
     {
-      Interval lext = cols[d]->extent (cols [d], X_AXIS);
-
-      *fixed += -d * lext[-d];
+      if (!Paper_column::musical_b (cols[d]))
+	{
+	  /*
+	    Tied accidentals over barlines cause problems, so lets see
+	    what happens if we do this for non musical columns only.
+	   */
+	  Interval lext = cols[d]->extent (cols [d], X_AXIS);
+	  *fixed += -d * lext[-d];
+	}
     }
   while (flip (&d) != LEFT);
-  
+
   if (l->breakable_b (l) && r->breakable_b(r))
     {
       Moment *dt = unsmob_moment (l->get_grob_property ("measure-length"));
@@ -669,8 +673,6 @@ Spacing_spanner::standard_breakable_colu
 
       *space = *fixed + get_duration_space (me, dt, shortest.main_part_, &dummy);
     }
-  
-  
 }
 
 
@@ -702,7 +704,7 @@ Spacing_spanner::breakable_column_spacin
 	pointer munging.
 
       */
-      assert (spacing_grob-> column_l () == l);
+      assert (spacing_grob-> get_column () == l);
 
       Staff_spacing::get_spacing_params (spacing_grob,
 					 &space, &fixed_space);  
@@ -747,7 +749,7 @@ Spacing_spanner::breakable_column_spacin
     works on all architectures.
    */
   
-  bool ragged = to_boolean (me->paper_l ()->get_scmvar ("raggedright"));
+  bool ragged = to_boolean (me->get_paper ()->get_scmvar ("raggedright"));
   Real strength = (ragged) ? 1.0 : 1 / (max_space - max_fixed);
   Real distance = (ragged) ? max_fixed : max_space;
   Spaceable_grob::add_spring (l, r, distance, strength, false);
@@ -816,7 +818,7 @@ Spacing_spanner::note_spacing (Grob*me, 
   
   if (! shortest_playing_len.to_bool ())
     {
-      programming_error ("can't find a ruling note at " + Paper_column::when_mom (lc).str ());
+      programming_error ("can't find a ruling note at " + Paper_column::when_mom (lc).string ());
       shortest_playing_len = 1;
     }
 
diff -purN ../lilypond-1.5.69/lily/span-arpeggio-engraver.cc ./lily/span-arpeggio-engraver.cc
--- ../lilypond-1.5.69/lily/span-arpeggio-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/span-arpeggio-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -43,10 +43,10 @@ Span_arpeggio_engraver::Span_arpeggio_en
 void
 Span_arpeggio_engraver::acknowledge_grob (Grob_info info)
 {
-    if (info.origin_trans_l_arr (this).size ()
-        && Arpeggio::has_interface (info.grob_l_))
+    if (info.origin_transes (this).size ()
+        && Arpeggio::has_interface (info.grob_))
     {
-      arpeggios_.push (info.grob_l_);
+      arpeggios_.push (info.grob_);
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/span-bar-engraver.cc ./lily/span-bar-engraver.cc
--- ../lilypond-1.5.69/lily/span-bar-engraver.cc	Fri Jun 21 17:10:20 2002
+++ ./lily/span-bar-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -25,8 +25,8 @@
   */
 class Span_bar_engraver : public Engraver
 {
-  Item * spanbar_p_;
-  Link_array<Item> bar_l_arr_;
+  Item * spanbar_;
+  Link_array<Item> bars_;
 
 public:
   TRANSLATOR_DECLARATIONS(Span_bar_engraver);
@@ -39,7 +39,7 @@ protected:
 
 Span_bar_engraver::Span_bar_engraver ()
 {
-  spanbar_p_ =0;
+  spanbar_ =0;
 }
 
 
@@ -47,40 +47,40 @@ Span_bar_engraver::Span_bar_engraver ()
 void
 Span_bar_engraver::acknowledge_grob (Grob_info i)
 {
-  int depth = i.origin_trans_l_arr (this).size ();
+  int depth = i.origin_transes (this).size ();
   if (depth > 1
-      && Bar_line::has_interface (i.grob_l_))
+      && Bar_line::has_interface (i.grob_))
     {
-      Item * it = dynamic_cast<Item*> (i.grob_l_);
-      bar_l_arr_.push (it);
+      Item * it = dynamic_cast<Item*> (i.grob_);
+      bars_.push (it);
 
-      if (bar_l_arr_.size () >= 2 && !spanbar_p_) 
+      if (bars_.size () >= 2 && !spanbar_) 
 	{
-	  spanbar_p_ = new Item (get_property ("SpanBar"));
+	  spanbar_ = new Item (get_property ("SpanBar"));
 
-	  spanbar_p_->set_parent (bar_l_arr_[0], X_AXIS);
+	  spanbar_->set_parent (bars_[0], X_AXIS);
 
-	  announce_grob (spanbar_p_, SCM_EOL);
+	  announce_grob (spanbar_, SCM_EOL);
 	}
     }
 }
 void
 Span_bar_engraver::stop_translation_timestep ()
 {
-  if (spanbar_p_) 
+  if (spanbar_) 
     {
-      for (int i=0; i < bar_l_arr_.size () ; i++)
-	Span_bar::add_bar (spanbar_p_,bar_l_arr_[i]);
+      for (int i=0; i < bars_.size () ; i++)
+	Span_bar::add_bar (spanbar_,bars_[i]);
 
       SCM vissym =ly_symbol2scm ("break-visibility");
-      SCM vis = bar_l_arr_[0]->internal_get_grob_property (vissym);	  
-      if (scm_equal_p (spanbar_p_->internal_get_grob_property (vissym), vis) != SCM_BOOL_T)
-	spanbar_p_->internal_set_grob_property (vissym, vis);
+      SCM vis = bars_[0]->internal_get_grob_property (vissym);	  
+      if (scm_equal_p (spanbar_->internal_get_grob_property (vissym), vis) != SCM_BOOL_T)
+	spanbar_->internal_set_grob_property (vissym, vis);
 
-      typeset_grob (spanbar_p_);
-      spanbar_p_ =0;
+      typeset_grob (spanbar_);
+      spanbar_ =0;
     }
-  bar_l_arr_.set_size (0);
+  bars_.set_size (0);
 }
 
 
diff -purN ../lilypond-1.5.69/lily/span-bar.cc ./lily/span-bar.cc
--- ../lilypond-1.5.69/lily/span-bar.cc	Wed Apr 10 19:25:36 2002
+++ ./lily/span-bar.cc	Fri Jul 26 12:27:00 2002
@@ -74,7 +74,7 @@ Span_bar::brew_molecule (SCM smobbed_me)
   if (!gh_string_p (glyph))
     return SCM_EOL;
   
-  String glyph_str = ly_scm2string (glyph);
+  String glyph_string = ly_scm2string (glyph);
 
   // compose span_bar_mol
   Molecule span_bar_mol;
@@ -101,7 +101,7 @@ Span_bar::brew_molecule (SCM smobbed_me)
 	  else
 	    {
 	      Molecule interbar
-		= Bar_line::compound_barline (staff_bar, glyph_str, l.length());
+		= Bar_line::compound_barline (staff_bar, glyph_string, l.length());
 	      interbar.translate_axis (l.center (), Y_AXIS);
 	      span_bar_mol.add_molecule (interbar);
 	    }
@@ -218,7 +218,7 @@ Span_bar::evaluate_glyph (Grob*me)
       type = ".|.";
     }
 
-  gl = ly_str02scm (type.ch_C ());
+  gl = ly_str02scm (type.to_str0 ());
   if (scm_equal_p (me->internal_get_grob_property (glyph_symbol), gl) != SCM_BOOL_T)
     me->internal_set_grob_property (glyph_symbol, gl);
 }
diff -purN ../lilypond-1.5.69/lily/span-dynamic-performer.cc ./lily/span-dynamic-performer.cc
--- ../lilypond-1.5.69/lily/span-dynamic-performer.cc	Mon Sep 24 01:04:29 2001
+++ ./lily/span-dynamic-performer.cc	Fri Jul 26 12:27:00 2002
@@ -13,7 +13,7 @@
 
 struct Audio_dynamic_tuple
 {
-  Audio_dynamic* audio_l_;
+  Audio_dynamic* audio_;
   Moment mom_;
 };
 
@@ -33,12 +33,12 @@ protected:
   virtual void start_translation_timestep ();
 
 private:
-  Audio_dynamic* audio_p_;
+  Audio_dynamic* audio_;
   Real last_volume_;
-  Span_req* span_start_req_l_;
+  Span_req* span_start_req_;
   Drul_array<Span_req*> span_req_l_drul_;
-  Array<Audio_dynamic_tuple> dynamic_tuple_arr_;
-  Array<Audio_dynamic_tuple> finished_dynamic_tuple_arr_;
+  Array<Audio_dynamic_tuple> dynamic_tuples_;
+  Array<Audio_dynamic_tuple> finished_dynamic_tuples_;
   Direction dir_;
   Direction finished_dir_;
 };
@@ -47,15 +47,15 @@ Span_dynamic_performer::Span_dynamic_per
 {
   span_req_l_drul_[START] = 0;
   span_req_l_drul_[STOP] = 0;
-  span_start_req_l_ = 0;
-  audio_p_ = 0;
+  span_start_req_ = 0;
+  audio_ = 0;
   last_volume_ = 0;
 }
 
 void
 Span_dynamic_performer::acknowledge_audio_element (Audio_element_info i)
 {
-  if (Audio_dynamic * d = dynamic_cast <Audio_dynamic*> (i.elem_l_))
+  if (Audio_dynamic * d = dynamic_cast <Audio_dynamic*> (i.elem_))
     {
       last_volume_ = d->volume_;
     }
@@ -64,20 +64,20 @@ Span_dynamic_performer::acknowledge_audi
 void
 Span_dynamic_performer::process_music ()
 {
-  if (span_start_req_l_ || span_req_l_drul_[START])
+  if (span_start_req_ || span_req_l_drul_[START])
     {
-      audio_p_ = new Audio_dynamic (0);
-      Audio_element_info info (audio_p_, span_req_l_drul_[START]
+      audio_ = new Audio_dynamic (0);
+      Audio_element_info info (audio_, span_req_l_drul_[START]
 			       ? span_req_l_drul_[START]
 			       : span_req_l_drul_[STOP]);
       announce_element (info);
-      Audio_dynamic_tuple a = { audio_p_, now_mom () };
-      dynamic_tuple_arr_.push (a);
+      Audio_dynamic_tuple a = { audio_, now_mom () };
+      dynamic_tuples_.push (a);
     }
   
   if (span_req_l_drul_[STOP])
     {
-      if (!span_start_req_l_)
+      if (!span_start_req_)
 	{
 	  span_req_l_drul_[STOP]->origin ()->warning (_ ("can't find start of (de)crescendo"));
 	  span_req_l_drul_[STOP] = 0;
@@ -85,34 +85,34 @@ Span_dynamic_performer::process_music ()
       else
 	{
 	  finished_dir_ = dir_;
-	  finished_dynamic_tuple_arr_ = dynamic_tuple_arr_;
+	  finished_dynamic_tuples_ = dynamic_tuples_;
 	}
-      dynamic_tuple_arr_.clear ();
-      span_start_req_l_ = 0;
+      dynamic_tuples_.clear ();
+      span_start_req_ = 0;
     }
 
   if (span_req_l_drul_[START])
     {
       String t = ly_scm2string (span_req_l_drul_[START]->get_mus_property ("span-type"));
       dir_ = (t == "crescendo")	? RIGHT : LEFT;
-      span_start_req_l_ = span_req_l_drul_[START];
+      span_start_req_ = span_req_l_drul_[START];
       
-      dynamic_tuple_arr_.clear ();
-      Audio_dynamic_tuple a = { audio_p_, now_mom () };
-      dynamic_tuple_arr_.push (a);
+      dynamic_tuples_.clear ();
+      Audio_dynamic_tuple a = { audio_, now_mom () };
+      dynamic_tuples_.push (a);
     }
 
 
   if (span_req_l_drul_[STOP])
     { 
-      finished_dynamic_tuple_arr_.top ().audio_l_->volume_ = last_volume_;
+      finished_dynamic_tuples_.top ().audio_->volume_ = last_volume_;
     }
   
   if (span_req_l_drul_[START])
     {
-      dynamic_tuple_arr_[0].audio_l_->volume_ = last_volume_;
+      dynamic_tuples_[0].audio_->volume_ = last_volume_;
     }
-  span_start_req_l_ = 0;
+  span_start_req_ = 0;
   span_req_l_drul_[START] = 0;
   span_req_l_drul_[STOP] = 0;
 }
@@ -120,10 +120,10 @@ Span_dynamic_performer::process_music ()
 void
 Span_dynamic_performer::stop_translation_timestep ()
 {
-  if (finished_dynamic_tuple_arr_.size () > 1)
+  if (finished_dynamic_tuples_.size () > 1)
     {
-      Real start_volume = finished_dynamic_tuple_arr_[0].audio_l_->volume_;
-      Real dv = finished_dynamic_tuple_arr_.top ().audio_l_->volume_
+      Real start_volume = finished_dynamic_tuples_[0].audio_->volume_;
+      Real dv = finished_dynamic_tuples_.top ().audio_->volume_
 	- start_volume;
       /*
 	urg.
@@ -141,25 +141,25 @@ Span_dynamic_performer::stop_translation
 	  // urg.  20%: about two volume steps
 	  dv = (Real)finished_dir_ * 0.2;
 	  if (!start_volume)
-	    start_volume = finished_dynamic_tuple_arr_.top
- ().audio_l_->volume_ - dv;
+	    start_volume = finished_dynamic_tuples_.top
+ ().audio_->volume_ - dv;
 	}
-      Moment start_mom = finished_dynamic_tuple_arr_[0].mom_;
-      Moment dt = finished_dynamic_tuple_arr_.top ().mom_ - start_mom;
-      for (int i=0; i < finished_dynamic_tuple_arr_.size (); i++)
+      Moment start_mom = finished_dynamic_tuples_[0].mom_;
+      Moment dt = finished_dynamic_tuples_.top ().mom_ - start_mom;
+      for (int i=0; i < finished_dynamic_tuples_.size (); i++)
 	{
-	  Audio_dynamic_tuple* a = &finished_dynamic_tuple_arr_[i];
+	  Audio_dynamic_tuple* a = &finished_dynamic_tuples_[i];
 	  Real volume = start_volume + dv * (Real) (a->mom_ - start_mom).main_part_
 	    / (Real)dt.main_part_;
-	  a->audio_l_->volume_ = volume;
+	  a->audio_->volume_ = volume;
 	}
-      finished_dynamic_tuple_arr_.clear ();
+      finished_dynamic_tuples_.clear ();
     }
 
-  if (audio_p_)
+  if (audio_)
     {
-      play_element (audio_p_);
-      audio_p_ = 0;
+      play_element (audio_);
+      audio_ = 0;
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/spanner.cc ./lily/spanner.cc
--- ../lilypond-1.5.69/lily/spanner.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/spanner.cc	Fri Jul 26 12:27:00 2002
@@ -39,14 +39,14 @@ Spanner::do_break_processing ()
 	{
 	  if (!parent->spanned_rank_iv ().contains_b (this->spanned_rank_iv ()))
 	    {
-	      programming_error (to_str ("Spanner `%s' is not fully contained in parent spanner `%s'.",
-					 name ().ch_C (),
-					 parent->name ().ch_C ()));
+	      programming_error (to_string ("Spanner `%s' is not fully contained in parent spanner `%s'.",
+					 name ().to_str0 (),
+					 parent->name ().to_str0 ()));
 	    }
 	}
     }
   
-  if (line_l () || broken_b ())
+  if (get_system () || broken_b ())
     return;
 
   if (left == right)
@@ -60,22 +60,22 @@ Spanner::do_break_processing ()
 	  Item* bound = left->find_prebroken_piece (d);
 	  if (!bound)
 	    programming_error ("no broken bound");
-	  else if (bound->line_l ())
+	  else if (bound->get_system ())
 	    {
-	      Spanner * span_p = dynamic_cast<Spanner*> (clone ());
-	      span_p->set_bound (LEFT, bound);
-	      span_p->set_bound (RIGHT, bound);
-
-	      assert (span_p->line_l ()); 
-	      span_p->line_l ()->typeset_grob (span_p);
-	      broken_into_l_arr_.push (span_p);
+	      Spanner * span = dynamic_cast<Spanner*> (clone ());
+	      span->set_bound (LEFT, bound);
+	      span->set_bound (RIGHT, bound);
+
+	      assert (span->get_system ()); 
+	      span->get_system ()->typeset_grob (span);
+	      broken_intos_.push (span);
 	    }
 	}
       while ((flip (&d))!= LEFT);
     }
   else
     {
-      Link_array<Item> break_points = pscore_l_->line_l_->broken_col_range (left,right);
+      Link_array<Item> break_points = pscore_->system_->broken_col_range (left,right);
 
       break_points.insert (left,0);
       break_points.push (right);
@@ -88,7 +88,7 @@ Spanner::do_break_processing ()
 	  Direction d = LEFT;
 	  do
 	    {
-	      if (!bounds[d]->line_l ())
+	      if (!bounds[d]->get_system ())
 		bounds[d] = bounds[d]->find_prebroken_piece (- d);
 	    }
 	  while ((flip (&d))!= LEFT);
@@ -99,26 +99,26 @@ Spanner::do_break_processing ()
 	      continue; 
 	    }
 
-	  Spanner *span_p = dynamic_cast<Spanner*> (clone ());
-	  span_p->set_bound (LEFT,bounds[LEFT]);
-	  span_p->set_bound (RIGHT,bounds[RIGHT]);
+	  Spanner *span = dynamic_cast<Spanner*> (clone ());
+	  span->set_bound (LEFT,bounds[LEFT]);
+	  span->set_bound (RIGHT,bounds[RIGHT]);
 
-	  if (!bounds[LEFT]->line_l () 
+	  if (!bounds[LEFT]->get_system () 
 	    
-	      || !bounds[RIGHT]->line_l ()
-	      || bounds[LEFT]->line_l () != bounds[RIGHT]->line_l ())
+	      || !bounds[RIGHT]->get_system ()
+	      || bounds[LEFT]->get_system () != bounds[RIGHT]->get_system ())
 	    {
 	      programming_error ("bounds of spanner are invalid");
-	      span_p->suicide ();
+	      span->suicide ();
 	    }
 	  else
 	    {
-	      bounds[LEFT]->line_l ()->typeset_grob (span_p);
-	      broken_into_l_arr_.push (span_p);
+	      bounds[LEFT]->get_system ()->typeset_grob (span);
+	      broken_intos_.push (span);
 	    }
 	}
     }
-  broken_into_l_arr_.sort (Spanner::compare);
+  broken_intos_.sort (Spanner::compare);
 }
 
 void
@@ -127,7 +127,7 @@ Spanner::set_my_columns ()
   Direction i = (Direction) LEFT;
   do 
     {
-      if (!spanned_drul_[i]->line_l ())
+      if (!spanned_drul_[i]->get_system ())
 	set_bound (i,spanned_drul_[i]->find_prebroken_piece ((Direction) -i));
     } 
   while (flip (&i) != LEFT);
@@ -140,11 +140,11 @@ Spanner::spanned_rank_iv ()
 
   if (spanned_drul_[LEFT])
     {
-      iv[LEFT] = Paper_column::rank_i (spanned_drul_[LEFT]->column_l ());
+      iv[LEFT] = Paper_column::get_rank (spanned_drul_[LEFT]->get_column ());
     }
   if (spanned_drul_[RIGHT])
     {
-      iv[RIGHT] = Paper_column::rank_i (spanned_drul_[RIGHT]->column_l ());
+      iv[RIGHT] = Paper_column::get_rank (spanned_drul_[RIGHT]->get_column ());
     }
   return iv;
 }
@@ -222,38 +222,38 @@ Spanner::spanner_length () const
 }
 
 System *
-Spanner::line_l () const
+Spanner::get_system () const
 {
   if (!spanned_drul_[LEFT] || !spanned_drul_[RIGHT])
     return 0;
-  if (spanned_drul_[LEFT]->line_l () != spanned_drul_[RIGHT]->line_l ())
+  if (spanned_drul_[LEFT]->get_system () != spanned_drul_[RIGHT]->get_system ())
     return 0;
-  return spanned_drul_[LEFT]->line_l ();
+  return spanned_drul_[LEFT]->get_system ();
 }
 
 
 Grob*
 Spanner::find_broken_piece (System*l) const
 {
-  int idx = binsearch_link_array (broken_into_l_arr_, (Spanner*)l, Spanner::compare);
+  int idx = binsearch_links (broken_intos_, (Spanner*)l, Spanner::compare);
   
   if (idx < 0)
     return 0;
   else
-    return broken_into_l_arr_ [idx];
+    return broken_intos_ [idx];
 }
 
 
 int
 Spanner::compare (Spanner * const &p1, Spanner * const &p2)
 {
-  return  p1->line_l ()->rank_i_ - p2->line_l ()->rank_i_;
+  return  p1->get_system ()->rank_ - p2->get_system ()->rank_;
 }
 
 bool
 Spanner::broken_b () const
 {
-  return broken_into_l_arr_.size ();
+  return broken_intos_.size ();
 }
 
 
@@ -266,7 +266,7 @@ Spanner::broken_b () const
 Real
 Spanner::get_broken_left_end_align () const
 {
-  Paper_column *sc = dynamic_cast<Paper_column*> (spanned_drul_[LEFT]->column_l ());
+  Paper_column *sc = dynamic_cast<Paper_column*> (spanned_drul_[LEFT]->get_column ());
 
   // Relevant only if left span point is first column in line
   if (sc != NULL &&
@@ -289,7 +289,7 @@ Spanner::do_derived_mark ()
 {
   /*
     We'd be fucked if this is called before spanned_drul_[] is inited.  */
-  if (status_c_ == ORPHAN)
+  if (status_ == ORPHAN)
     return SCM_EOL;
   
   Direction d = LEFT;
@@ -298,8 +298,8 @@ Spanner::do_derived_mark ()
       scm_gc_mark (spanned_drul_[d]->self_scm ());
   while (flip (&d) != LEFT);
 
-  for (int i= broken_into_l_arr_.size () ; i--;)
-    scm_gc_mark (broken_into_l_arr_[i]->self_scm ());
+  for (int i= broken_intos_.size () ; i--;)
+    scm_gc_mark (broken_intos_[i]->self_scm ());
 
   return SCM_EOL;
 }
@@ -331,7 +331,7 @@ Spanner::set_spacing_rods (SCM smob)
   Spanner*sp = dynamic_cast<Spanner*> (me);
   r.item_l_drul_[LEFT] = sp->get_bound (LEFT);
   r.item_l_drul_[RIGHT] = sp->get_bound (RIGHT);
-  r.distance_f_ =
+  r.distance_ =
     gh_scm2double (me->get_grob_property ("minimum-length"))
     * 1.0;
 
diff -purN ../lilypond-1.5.69/lily/spring-smob.cc ./lily/spring-smob.cc
--- ../lilypond-1.5.69/lily/spring-smob.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/spring-smob.cc	Fri Jul 26 12:27:00 2002
@@ -13,8 +13,8 @@
 
 Spring_smob::Spring_smob()
 {
-  distance_f_ =0.;
-  strength_f_ =1.0;
+  distance_ =0.;
+  strength_ =1.0;
   expand_only_b_ = false;
   other_ = 0;
 }
@@ -29,7 +29,7 @@ int
 Spring_smob::print_smob (SCM s, SCM p, scm_print_state *)
 {
   Spring_smob *ss = unsmob_spring (s);
-  scm_puts (_f("#<spring smob d= %f>", ss->distance_f_).ch_C(), p);
+  scm_puts (_f("#<spring smob d= %f>", ss->distance_).to_str0 (), p);
   return 1;
 }
 
diff -purN ../lilypond-1.5.69/lily/staff-collecting-engraver.cc ./lily/staff-collecting-engraver.cc
--- ../lilypond-1.5.69/lily/staff-collecting-engraver.cc	Fri Feb  1 19:17:38 2002
+++ ./lily/staff-collecting-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -26,12 +26,12 @@ Staff_collecting_engraver::Staff_collect
 void
 Staff_collecting_engraver::acknowledge_grob (Grob_info gi)
 {
-  if (Staff_symbol::has_interface (gi.grob_l_))
+  if (Staff_symbol::has_interface (gi.grob_))
     {
       SCM staffs = get_property ("stavesFound");
-      staffs = gh_cons (gi.grob_l_->self_scm (), staffs);
+      staffs = gh_cons (gi.grob_->self_scm (), staffs);
 
-      daddy_trans_l_->set_property ("stavesFound", staffs);
+      daddy_trans_->set_property ("stavesFound", staffs);
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/staff-performer.cc ./lily/staff-performer.cc
--- ../lilypond-1.5.69/lily/staff-performer.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/staff-performer.cc	Fri Jul 26 12:27:00 2002
@@ -23,8 +23,8 @@ public:
   TRANSLATOR_DECLARATIONS(Staff_performer);
   ~Staff_performer ();
 
-  String new_instrument_str ();
-  String instrument_str_;
+  String new_instrument_string ();
+  String instrument_string_;
 
 protected:
   virtual void play_element (Audio_element* p);
@@ -34,22 +34,22 @@ protected:
   virtual void stop_translation_timestep ();
 
 private:
-  Audio_staff* audio_staff_p_;
-  Audio_instrument* instrument_p_;
-  Audio_text* instrument_name_p_;
-  Audio_text* name_p_;
-  Audio_tempo* tempo_p_;
+  Audio_staff* audio_staff_;
+  Audio_instrument* instrument_;
+  Audio_text* instrument_name_;
+  Audio_text* name_;
+  Audio_tempo* tempo_;
 };
 
 ENTER_DESCRIPTION (Staff_performer, "","","","","" );
 
 Staff_performer::Staff_performer ()
 {
-  audio_staff_p_ = 0;
-  instrument_p_ = 0;
-  instrument_name_p_ = 0;
-  name_p_ = 0;
-  tempo_p_ = 0;
+  audio_staff_ = 0;
+  instrument_ = 0;
+  instrument_name_ = 0;
+  name_ = 0;
+  tempo_ = 0;
 }
 
 Staff_performer::~Staff_performer ()
@@ -59,14 +59,14 @@ Staff_performer::~Staff_performer ()
 void
 Staff_performer::initialize ()
 {
-  audio_staff_p_ = new Audio_staff;
-  announce_element (Audio_element_info (audio_staff_p_, 0));
+  audio_staff_ = new Audio_staff;
+  announce_element (Audio_element_info (audio_staff_, 0));
 
-  name_p_ = new Audio_text (Audio_text::TRACK_NAME, id_str_);
-  announce_element (Audio_element_info (name_p_, 0));
+  name_ = new Audio_text (Audio_text::TRACK_NAME, id_string_);
+  announce_element (Audio_element_info (name_, 0));
 
-  tempo_p_ = new Audio_tempo (get_tempo_i ());
-  announce_element (Audio_element_info (tempo_p_, 0));
+  tempo_ = new Audio_tempo (get_tempo ());
+  announce_element (Audio_element_info (tempo_, 0));
 
   Performer_group_performer::initialize ();
 }
@@ -74,13 +74,13 @@ Staff_performer::initialize ()
 void
 Staff_performer::create_audio_elements ()
 {
-  String str = new_instrument_str ();
-  if (str.length_i ())
+  String str = new_instrument_string ();
+  if (str.length ())
     {
-      instrument_name_p_ = new Audio_text (Audio_text::INSTRUMENT_NAME, str);
-      announce_element (Audio_element_info (instrument_name_p_, 0));
-      instrument_p_ = new Audio_instrument (str);
-      announce_element (Audio_element_info (instrument_p_, 0));
+      instrument_name_ = new Audio_text (Audio_text::INSTRUMENT_NAME, str);
+      announce_element (Audio_element_info (instrument_name_, 0));
+      instrument_ = new Audio_instrument (str);
+      announce_element (Audio_element_info (instrument_, 0));
     }
   Performer_group_performer::create_audio_elements ();
 }
@@ -89,27 +89,27 @@ void
 Staff_performer::stop_translation_timestep ()
 {
   SCM proc = scm_primitive_eval (ly_symbol2scm ("percussion-p")); 
-  SCM drums_p = gh_call1 (proc, ly_symbol2scm (instrument_str_.ch_C()));
-  audio_staff_p_->channel_i_ = (drums_p == SCM_BOOL_T ? 9 : -1 );
-  if (name_p_)
+  SCM drums = gh_call1 (proc, ly_symbol2scm (instrument_string_.to_str0 ()));
+  audio_staff_->channel_ = (drums == SCM_BOOL_T ? 9 : -1 );
+  if (name_)
     {
-      play_element (name_p_);
-      name_p_ = 0;
+      play_element (name_);
+      name_ = 0;
     }
-  if (tempo_p_)
+  if (tempo_)
     {
-      play_element (tempo_p_);
-      tempo_p_ = 0;
+      play_element (tempo_);
+      tempo_ = 0;
     }
-  if (instrument_name_p_)
+  if (instrument_name_)
     {
-      play_element (instrument_name_p_);
-      instrument_name_p_ = 0;
+      play_element (instrument_name_);
+      instrument_name_ = 0;
     }
-  if (instrument_p_)
+  if (instrument_)
     {
-      play_element (instrument_p_);
-      instrument_p_ = 0;
+      play_element (instrument_);
+      instrument_ = 0;
     }
   Performer_group_performer::stop_translation_timestep ();
 }
@@ -118,12 +118,12 @@ void
 Staff_performer::finalize ()
 {
   Performer_group_performer::finalize ();
-  Performer::play_element (audio_staff_p_);
-  audio_staff_p_ = 0;
+  Performer::play_element (audio_staff_);
+  audio_staff_ = 0;
 }
 
 String 
-Staff_performer::new_instrument_str () 
+Staff_performer::new_instrument_string () 
 { 
   // mustn't ask Score for instrument: it will return piano!
   SCM minstr = get_property ("midiInstrument");
@@ -132,12 +132,12 @@ Staff_performer::new_instrument_str () 
     minstr = get_property ("instrument");
 
   if (!gh_string_p (minstr)
-      || ly_scm2string (minstr) == instrument_str_)
+      || ly_scm2string (minstr) == instrument_string_)
     return "";
 
-  instrument_str_ = ly_scm2string (minstr);
+  instrument_string_ = ly_scm2string (minstr);
 
-  return instrument_str_;
+  return instrument_string_;
 }
 
 void 
@@ -145,7 +145,7 @@ Staff_performer::play_element (Audio_ele
 {
   if (Audio_item *ai = dynamic_cast<Audio_item *> (p)) 
     {
-      audio_staff_p_->add_audio_item (ai);
+      audio_staff_->add_audio_item (ai);
     }
   Performer::play_element (p);
 }
diff -purN ../lilypond-1.5.69/lily/staff-spacing.cc ./lily/staff-spacing.cc
--- ../lilypond-1.5.69/lily/staff-spacing.cc	Wed Apr 10 19:25:36 2002
+++ ./lily/staff-spacing.cc	Fri Jul 26 12:27:00 2002
@@ -18,6 +18,7 @@
 #include "staff-symbol-referencer.hh"
 #include "note-column.hh"
 #include "stem.hh"
+#include "accidental-placement.hh"
 
 /*
   Insert some more space for the next note, in case it has a stem in
@@ -32,7 +33,7 @@ Staff_spacing::next_note_correction (Gro
   if (!g || !Note_column::has_interface (g))
     return 0.0;
 
-  Item *col =dynamic_cast<Item*> (g)->column_l ();
+  Item *col =dynamic_cast<Item*> (g)->get_column ();
   Real max_corr = 0. >? (- g->extent (col, X_AXIS)[LEFT]);
 
   /*
@@ -40,7 +41,15 @@ Staff_spacing::next_note_correction (Gro
    */
   if (Grob * a = Note_column::accidentals (g))
     {
-      max_corr = max_corr >? (- a->extent (col, X_AXIS)[LEFT]);
+      Interval v;
+      if (Accidental_placement::has_interface (a))
+	{
+	  v = Accidental_placement::get_relevant_accidental_extent(a, col, me);
+	}
+      else
+	v = a->extent (col, X_AXIS);
+      
+      max_corr = max_corr >? (- v[LEFT]);
     }
   if (Grob* a = unsmob_grob (g->get_grob_property ("arpeggio")))
     {
@@ -55,7 +64,7 @@ Staff_spacing::next_note_correction (Gro
     max_corr *= 0.75;
   
   if (!bar_size.empty_b())
-    if (Grob *stem = Note_column::stem_l  (g))
+    if (Grob *stem = Note_column::get_stem (g))
       {
 	Direction d = Stem::get_direction (stem);
 	if (d == DOWN)
@@ -92,8 +101,8 @@ Staff_spacing::bar_y_positions (Grob *ba
     {
       SCM glyph = bar_grob->get_grob_property ("glyph");
       
-      String glyph_str = gh_string_p (glyph) ? ly_scm2string (glyph) : "";
-      if (glyph_str.left_str (1) == "|" || glyph_str.left_str (1) == ".")
+      String glyph_string = gh_string_p (glyph) ? ly_scm2string (glyph) : "";
+      if (glyph_string.left_string (1) == "|" || glyph_string.left_string (1) == ".")
 	{
 	  SCM sz = Bar_line::get_staff_bar_size (bar_grob->self_scm());
 	  bar_size = Interval (-1,1);
@@ -138,7 +147,7 @@ Grob*
 Staff_spacing::extremal_break_aligned_grob (Grob *separation_item, Direction d,
 				   Interval * last_ext)
 {
-  Grob *left_col = dynamic_cast<Item*> (separation_item)->column_l ();
+  Grob *left_col = dynamic_cast<Item*> (separation_item)->get_column ();
   last_ext->set_empty ();
   Grob *last_grob = 0;
   for (SCM s = separation_item->get_grob_property ("elements");
@@ -164,8 +173,6 @@ Staff_spacing::extremal_break_aligned_gr
   return last_grob;  
 }
 
-/*
-*/
 void
 Staff_spacing::get_spacing_params (Grob *me, Real * space, Real * fixed)
 {
@@ -183,7 +190,7 @@ Staff_spacing::get_spacing_params (Grob 
 	separation_item = cand ;
     }
 
-  //  printf ("doing col %d\n" , Paper_column::rank_i(left_col));
+  //  printf ("doing col %d\n" , Paper_column::get_rank (left_col));
 
   if (!separation_item)
     {
@@ -196,7 +203,10 @@ Staff_spacing::get_spacing_params (Grob 
 						 &last_ext);
   if (!last_grob)
     {
-      programming_error ("empty break column? --fixme");
+      /*
+	we used to have a warning here, but itgenerates a lot of
+	spurious error messages.
+      */
       return ;
     }
 
diff -purN ../lilypond-1.5.69/lily/staff-symbol-engraver.cc ./lily/staff-symbol-engraver.cc
--- ../lilypond-1.5.69/lily/staff-symbol-engraver.cc	Mon Feb  4 00:12:07 2002
+++ ./lily/staff-symbol-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -18,7 +18,7 @@
   Manage the staff symbol.
  */
 class Staff_symbol_engraver : public Engraver { 
-  Spanner *span_p_;
+  Spanner *span_;
 public:
   TRANSLATOR_DECLARATIONS(Staff_symbol_engraver);
   
@@ -32,39 +32,39 @@ protected:
 
 Staff_symbol_engraver::~Staff_symbol_engraver ()
 {
-  assert (!span_p_);
+  assert (!span_);
 }
 
 Staff_symbol_engraver::Staff_symbol_engraver ()
 {
-  span_p_ = 0;
+  span_ = 0;
 }
 
 void
 Staff_symbol_engraver::initialize ()
 {
-  span_p_ = new Spanner (get_property ("StaffSymbol"));
+  span_ = new Spanner (get_property ("StaffSymbol"));
   
-  span_p_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
+  span_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
 
-  announce_grob(span_p_, SCM_EOL);
+  announce_grob(span_, SCM_EOL);
 }
 
 void
 Staff_symbol_engraver::finalize ()
 {
-  span_p_->set_bound (RIGHT,unsmob_grob (get_property ("currentCommandColumn")));
-  typeset_grob (span_p_);
-  span_p_ =0;
+  span_->set_bound (RIGHT,unsmob_grob (get_property ("currentCommandColumn")));
+  typeset_grob (span_);
+  span_ =0;
 }
 
 void
 Staff_symbol_engraver::acknowledge_grob (Grob_info s)
 {
-  s.grob_l_->set_grob_property ("staff-symbol", span_p_->self_scm ());
+  s.grob_->set_grob_property ("staff-symbol", span_->self_scm ());
 
   // remove this. probly not necessary?
-  s.grob_l_->add_dependency (span_p_); // UGH. UGH. UGH
+  s.grob_->add_dependency (span_); // UGH. UGH. UGH
 }
 
 
diff -purN ../lilypond-1.5.69/lily/staff-symbol-referencer.cc ./lily/staff-symbol-referencer.cc
--- ../lilypond-1.5.69/lily/staff-symbol-referencer.cc	Wed Apr 10 19:25:36 2002
+++ ./lily/staff-symbol-referencer.cc	Fri Jul 26 12:27:00 2002
@@ -22,14 +22,14 @@ Staff_symbol_referencer::has_interface (
 int
 Staff_symbol_referencer::line_count (Grob*me) 
 {
-  Grob *st = staff_symbol_l (me);
+  Grob *st = get_staff_symbol (me);
   return st  ?  Staff_symbol::line_count (st) : 0;
 }
 
 bool
 Staff_symbol_referencer::on_staffline (Grob*me)
 {
-  return on_staffline (me, (int) rint (position_f (me)));
+  return on_staffline (me, (int) rint (get_position (me)));
 }
 
 bool
@@ -40,7 +40,7 @@ Staff_symbol_referencer::on_staffline (G
 }
 
 Grob*
-Staff_symbol_referencer::staff_symbol_l (Grob*me) 
+Staff_symbol_referencer::get_staff_symbol (Grob*me) 
 {
   SCM st = me->get_grob_property ("staff-symbol");
   return unsmob_grob (st);
@@ -49,7 +49,7 @@ Staff_symbol_referencer::staff_symbol_l 
 Real
 Staff_symbol_referencer::staff_space (Grob*me) 
 {
-  Grob * st = staff_symbol_l (me);
+  Grob * st = get_staff_symbol (me);
   if (st)
     return Staff_symbol::staff_space (st);
 
@@ -57,10 +57,10 @@ Staff_symbol_referencer::staff_space (Gr
 }
 
 Real
-Staff_symbol_referencer::position_f (Grob*me) 
+Staff_symbol_referencer::get_position (Grob*me) 
 {
   Real p =0.0;
-  Grob * st = staff_symbol_l (me);
+  Grob * st = get_staff_symbol (me);
   Grob * c = st ? me->common_refpoint (st, Y_AXIS) : 0;
   if (st && c)
     {
@@ -121,10 +121,10 @@ Staff_symbol_referencer::callback (SCM e
 void
 Staff_symbol_referencer::set_position (Grob*me,Real p)
 {
-  Grob * st = staff_symbol_l (me);
+  Grob * st = get_staff_symbol (me);
   if (st && me->common_refpoint (st, Y_AXIS))
     {
-      Real oldpos = position_f (me);
+      Real oldpos = get_position (me);
       me->set_grob_property ("staff-position", gh_double2scm (p - oldpos));
     }
   else
@@ -153,8 +153,8 @@ Staff_symbol_referencer::staff_radius (G
 int
 compare_position (Grob *const  &a, Grob * const &b)
 {
-  return sign (Staff_symbol_referencer::position_f ((Grob*)a) - 
-    Staff_symbol_referencer::position_f ((Grob*)b));
+  return sign (Staff_symbol_referencer::get_position ((Grob*)a) - 
+    Staff_symbol_referencer::get_position ((Grob*)b));
 }
 
 
diff -purN ../lilypond-1.5.69/lily/staff-symbol.cc ./lily/staff-symbol.cc
--- ../lilypond-1.5.69/lily/staff-symbol.cc	Sun Jul 14 17:11:36 2002
+++ ./lily/staff-symbol.cc	Fri Jul 26 12:27:00 2002
@@ -63,9 +63,9 @@ Staff_symbol::brew_molecule (SCM smob)
       width = 0;
     }
 
-  Real t = me->paper_l ()->get_var ("linethickness");
+  Real t = me->get_paper ()->get_var ("linethickness");
   SCM my_thick = me->get_grob_property("thickness");
-  if (gh_number_p(my_thick))
+  if (gh_number_p (my_thick))
     t *= gh_scm2double (my_thick);
   
   int l = Staff_symbol::line_count (me);
@@ -86,7 +86,7 @@ Staff_symbol::brew_molecule (SCM smob)
 }
 
 int
-Staff_symbol::steps_i (Grob*me) 
+Staff_symbol::get_steps (Grob*me) 
 {
   return line_count (me) * 2;
 }
diff -purN ../lilypond-1.5.69/lily/stanza-number-engraver.cc ./lily/stanza-number-engraver.cc
--- ../lilypond-1.5.69/lily/stanza-number-engraver.cc	Wed Apr 10 19:25:36 2002
+++ ./lily/stanza-number-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -48,7 +48,7 @@ Stanza_number_engraver::process_music ()
       if (gh_string_p (s) || gh_pair_p (s))
 
 	/*
-	  if (i.grob_l_->internal_has_interface (symbol ("lyric-syllable-interface")))
+	  if (i.grob_->internal_has_interface (symbol ("lyric-syllable-interface")))
 
 	  Tried catching lyric items to generate stanza numbers, but it
 	  spoils lyric spacing.
diff -purN ../lilypond-1.5.69/lily/stem-engraver.cc ./lily/stem-engraver.cc
--- ../lilypond-1.5.69/lily/stem-engraver.cc	Sat May  4 14:55:08 2002
+++ ./lily/stem-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -30,28 +30,28 @@ protected:
   virtual bool try_music (Music*);
   
 private:
-  Grob  *stem_p_;
-  Grob *tremolo_p_;
-  Rhythmic_req *rhythmic_req_l_;
-  Tremolo_req* tremolo_req_l_;
+  Grob  *stem_;
+  Grob *tremolo_;
+  Rhythmic_req *rhythmic_req_;
+  Tremolo_req* tremolo_req_;
 };
 
 Stem_engraver::Stem_engraver ()
 {
-  tremolo_req_l_ = 0;
-  stem_p_ = 0;
-  tremolo_p_ = 0;
-  rhythmic_req_l_ =0;
+  tremolo_req_ = 0;
+  stem_ = 0;
+  tremolo_ = 0;
+  rhythmic_req_ =0;
 }
 
 
 void
 Stem_engraver::acknowledge_grob (Grob_info i)
 {
-  Grob* h = i.grob_l_;
+  Grob* h = i.grob_;
   if (Rhythmic_head::has_interface (h))
     {
-      if (Rhythmic_head::stem_l (h))
+      if (Rhythmic_head::get_stem (h))
 	return;
 
       /* Reverted to the old method so chord tremolos work again. /MB 
@@ -61,13 +61,13 @@ Stem_engraver::acknowledge_grob (Grob_in
       if (rhythmic_req)
 	duration_log = unsmob_duration (rhythmic_req->get_mus_property ("duration"))-> duration_log (); 
       
-      if (!stem_p_) 
+      if (!stem_) 
 	{
-	  stem_p_ = new Item (get_property ("Stem"));
+	  stem_ = new Item (get_property ("Stem"));
 
-	  stem_p_->set_grob_property ("duration-log", gh_int2scm (duration_log));
+	  stem_->set_grob_property ("duration-log", gh_int2scm (duration_log));
 
-	  if (tremolo_req_l_)
+	  if (tremolo_req_)
 	    {
 	      /*
 		Stem tremolo is never applied to a note by default,
@@ -78,18 +78,18 @@ Stem_engraver::acknowledge_grob (Grob_in
 
 		the first and last (quarter) note bothe get one tremolo flag.
 	       */
-	      int requested_type = gh_scm2int (tremolo_req_l_->get_mus_property ("tremolo-type"));
+	      int requested_type = gh_scm2int (tremolo_req_->get_mus_property ("tremolo-type"));
 	      
 	      SCM f = get_property ("tremoloFlags");
 	      if (!requested_type && gh_number_p (f))
 		requested_type = gh_scm2int (f);
 	      else
-		daddy_trans_l_->set_property ("tremoloFlags", gh_int2scm (requested_type));
+		daddy_trans_->set_property ("tremoloFlags", gh_int2scm (requested_type));
 
 	      if (requested_type)
 		{
-		  tremolo_p_ = new Item (get_property ("StemTremolo"));
-		  announce_grob(tremolo_p_, tremolo_req_l_->self_scm());
+		  tremolo_ = new Item (get_property ("StemTremolo"));
+		  announce_grob(tremolo_, tremolo_req_->self_scm());
 
 		  /*
 		    The number of tremolo flags is the number of flags of
@@ -100,50 +100,50 @@ Stem_engraver::acknowledge_grob (Grob_in
 		    - (duration_log > 2 ? duration_log - 2 : 0);
 		  if (tremolo_flags < 0)
 		    tremolo_flags = 0;
-		  tremolo_p_->set_grob_property ("flag-count",
+		  tremolo_->set_grob_property ("flag-count",
 						gh_int2scm (tremolo_flags));
-		  tremolo_p_->set_parent (stem_p_, X_AXIS);
+		  tremolo_->set_parent (stem_, X_AXIS);
 		}
 	    }
 
 	  /*
 	    We announce the cause of the head as cause of the stem.
 	    The stem needs a rhythmic structure to fit it into a beam.  */
-	  announce_grob(stem_p_, i.music_cause ()->self_scm());
+	  announce_grob(stem_, i.music_cause ()->self_scm());
 	}
 
-      if (Stem::duration_log (stem_p_) != duration_log)
+      if (Stem::duration_log (stem_) != duration_log)
 	{
-	  i.music_cause ()->origin ()->warning (_f ("Adding note head to incompatible stem (type = %d)", 1 <<  Stem::duration_log (stem_p_)));
+	  i.music_cause ()->origin ()->warning (_f ("Adding note head to incompatible stem (type = %d)", 1 <<  Stem::duration_log (stem_)));
 	}
 
-      Stem::add_head (stem_p_,h);
+      Stem::add_head (stem_,h);
     }
 }
 
 void
 Stem_engraver::stop_translation_timestep ()
 {
-  if (tremolo_p_)
+  if (tremolo_)
     {
-      Stem_tremolo::set_stem (tremolo_p_, stem_p_);
-      typeset_grob (tremolo_p_);
-      tremolo_p_ = 0;
+      Stem_tremolo::set_stem (tremolo_, stem_);
+      typeset_grob (tremolo_);
+      tremolo_ = 0;
     }
 
-  if (stem_p_)
+  if (stem_)
     {
       SCM prop = get_property ("stemLeftBeamCount");
       if (gh_number_p (prop))
 	{
-	  Stem::set_beaming (stem_p_,gh_scm2int (prop),LEFT);
-	  daddy_trans_l_->unset_property (ly_symbol2scm ("stemLeftBeamCount"));
+	  Stem::set_beaming (stem_,gh_scm2int (prop),LEFT);
+	  daddy_trans_->unset_property (ly_symbol2scm ("stemLeftBeamCount"));
 	}
       prop = get_property ("stemRightBeamCount");
       if (gh_number_p (prop))
 	{
-	  Stem::set_beaming (stem_p_,gh_scm2int (prop), RIGHT);
-	  daddy_trans_l_->unset_property (ly_symbol2scm ("stemRightBeamCount"));
+	  Stem::set_beaming (stem_,gh_scm2int (prop), RIGHT);
+	  daddy_trans_->unset_property (ly_symbol2scm ("stemRightBeamCount"));
 	}
 
       
@@ -158,18 +158,18 @@ Stem_engraver::stop_translation_timestep
 
 	(docme)
        */
-      SCM dir = stem_p_->get_grob_property ("direction");
+      SCM dir = stem_->get_grob_property ("direction");
       if (gh_number_p (dir) && to_dir (dir))
 	{
-	  stem_p_->set_grob_property ("dir-forced", SCM_BOOL_T);	  
+	  stem_->set_grob_property ("dir-forced", SCM_BOOL_T);	  
 	}
 
-      typeset_grob (stem_p_);
-      stem_p_ = 0;
+      typeset_grob (stem_);
+      stem_ = 0;
     }
 
 
-  tremolo_req_l_ = 0;
+  tremolo_req_ = 0;
 }
 
 bool
@@ -177,7 +177,7 @@ Stem_engraver::try_music (Music* r)
 {
   if (Tremolo_req* a = dynamic_cast <Tremolo_req *> (r))
     {
-      tremolo_req_l_ = a;
+      tremolo_req_ = a;
       return true;
     }
   return false;
diff -purN ../lilypond-1.5.69/lily/stem-tremolo.cc ./lily/stem-tremolo.cc
--- ../lilypond-1.5.69/lily/stem-tremolo.cc	Mon Jul 22 12:21:59 2002
+++ ./lily/stem-tremolo.cc	Fri Jul 26 12:27:00 2002
@@ -61,7 +61,7 @@ Stem_tremolo::brew_molecule (SCM smob)
 {
   Grob *me= unsmob_grob (smob);
   Grob * stem = unsmob_grob (me->get_grob_property ("stem"));
-  Grob * beam = Stem::beam_l (stem);
+  Grob * beam = Stem::get_beam (stem);
   
   Real dydx;
   if (beam)
diff -purN ../lilypond-1.5.69/lily/stem.cc ./lily/stem.cc
--- ../lilypond-1.5.69/lily/stem.cc	Mon Jul 22 12:21:59 2002
+++ ./lily/stem.cc	Fri Jul 26 12:27:00 2002
@@ -65,8 +65,8 @@ Stem::head_positions (Grob*me) 
 
   Drul_array<Grob*> e (extremal_heads (me));
 
-  return Interval (Staff_symbol_referencer::position_f (e[DOWN]),
-		   Staff_symbol_referencer::position_f (e[UP]));
+  return Interval (Staff_symbol_referencer::get_position (e[DOWN]),
+		   Staff_symbol_referencer::get_position (e[UP]));
 }
 
 
@@ -193,7 +193,7 @@ Stem::extremal_heads (Grob*me) 
       Grob * n = unsmob_grob (ly_car (s));
 
       
-      int p = int (Staff_symbol_referencer::position_f (n));
+      int p = int (Staff_symbol_referencer::get_position (n));
 
       Direction d = LEFT;
       do {
@@ -221,7 +221,7 @@ Stem::note_head_positions (Grob *me)
   for (SCM s = me->get_grob_property ("note-heads"); gh_pair_p (s); s = ly_cdr (s))
     {
       Grob * n = unsmob_grob (ly_car (s));
-      int p = int (Staff_symbol_referencer::position_f (n));
+      int p = int (Staff_symbol_referencer::get_position (n));
 
       ps.push (p);
     }
@@ -246,7 +246,7 @@ Stem::add_head (Grob*me, Grob *n)
 bool
 Stem::invisible_b (Grob*me)
 {
-  return ! (head_count (me) && Note_head::balltype_i (support_head (me)) >= 1);
+  return ! (head_count (me) && Note_head::get_balltype (support_head (me)) >= 1);
 }
 
 Direction
@@ -285,7 +285,7 @@ Stem::get_default_stem_end_position (Gro
   SCM s;
   Array<Real> a;
 
-  Real length_f = 0.;
+  Real length_f = 3.5;
   SCM scm_len = me->get_grob_property ("length");
   if (gh_number_p (scm_len))
     {
@@ -294,8 +294,6 @@ Stem::get_default_stem_end_position (Gro
   else
     {
       s = me->get_grob_property ("lengths");
-      length_f = 3.5;
-      
       if (gh_pair_p (s))
 	{
 	  length_f = 2* gh_scm2double (robust_list_ref (duration_log(me) -2, s));
@@ -344,16 +342,16 @@ Stem::get_default_stem_end_position (Gro
     good typesetting practice. 
     
   */
-  if (!beam_l (me) && dir == UP
+  if (!get_beam (me) && dir == UP
       && duration_log (me) > 2)
     {
       Grob * closest_to_flag = extremal_heads (me)[dir];
       Grob * dots = closest_to_flag
-	? Rhythmic_head::dots_l (closest_to_flag ) : 0;
+	? Rhythmic_head::get_dots (closest_to_flag ) : 0;
 
       if (dots)
 	{
-	  Real dp = Staff_symbol_referencer::position_f  (dots);
+	  Real dp = Staff_symbol_referencer::get_position (dots);
 	  Real flagy =  flag (me).extent (Y_AXIS)[-dir] * 2
 	    / Staff_symbol_referencer::staff_space (me); 
 
@@ -416,7 +414,7 @@ Stem::position_noteheads (Grob*me)
   Real thick = 0.0;
   if (invisible)
         thick = gh_scm2double (me->get_grob_property ("thickness"))
-	  * me->paper_l ()->get_var ("linethickness");
+	  * me->get_paper ()->get_var ("linethickness");
       
 
   Grob *hed = support_head (me);
@@ -428,10 +426,10 @@ Stem::position_noteheads (Grob*me)
     }
   
   bool parity= true;		// todo: make me settable.
-  int lastpos = int (Staff_symbol_referencer::position_f (heads[0]));
+  int lastpos = int (Staff_symbol_referencer::get_position (heads[0]));
   for (int i=1; i < heads.size (); i ++)
     {
-      Real p = Staff_symbol_referencer::position_f (heads[i]);
+      Real p = Staff_symbol_referencer::get_position (heads[i]);
       int dy =abs (lastpos- (int)p);
 
       if (dy <= 1)
@@ -540,7 +538,7 @@ Stem::flag (Grob*me)
     }
   bool adjust = to_boolean (me->get_grob_property ("adjust-if-on-staffline"));
 
-  if (String::compare_i (style, "mensural") == 0)
+  if (String::compare (style, "mensural") == 0)
     /* Mensural notation: For notes on staff lines, use different
        flags than for notes between staff lines.  The idea is that
        flags are always vertically aligned with the staff lines,
@@ -576,7 +574,7 @@ Stem::flag (Grob*me)
 	  */
 	  Grob *first = first_head(me);
 	  int sz = Staff_symbol_referencer::line_count (me)-1;
-	  int p = (int)rint (Staff_symbol_referencer::position_f (first));
+	  int p = (int)rint (Staff_symbol_referencer::get_position (first));
 	  staffline_offs = (((p ^ sz) & 0x1) == 0) ? "1" : "0";
 	}
       else
@@ -589,12 +587,12 @@ Stem::flag (Grob*me)
       staffline_offs = "";
     }
   char c = (get_direction (me) == UP) ? 'u' : 'd';
-  String index_str
-    = String ("flags-") + style + to_str (c) + staffline_offs + to_str (duration_log (me));
+  String index_string
+    = String ("flags-") + style + to_string (c) + staffline_offs + to_string (duration_log (me));
   Molecule m
-    = Font_interface::get_default_font (me)->find_by_name (index_str);
+    = Font_interface::get_default_font (me)->find_by_name (index_string);
   if (!fstyle.empty_b ())
-    m.add_molecule (Font_interface::get_default_font (me)->find_by_name (String ("flags-") + to_str (c) + fstyle));
+    m.add_molecule (Font_interface::get_default_font (me)->find_by_name (String ("flags-") + to_string (c) + fstyle));
   return m;
 }
 
@@ -646,14 +644,14 @@ Stem::brew_molecule (SCM smob) 
       Grob * lh = last_head (me);
       if (!lh)
 	return SCM_EOL;
-      y1 = Staff_symbol_referencer::position_f (lh);
+      y1 = Staff_symbol_referencer::get_position (lh);
     }
   else
     {
       Grob * lh = first_head (me);
       if (!lh)
 	return SCM_EOL;
-      y1 = Staff_symbol_referencer::position_f (lh);
+      y1 = Staff_symbol_referencer::get_position (lh);
     }
   
   Real y2 = stem_end_position (me);
@@ -680,14 +678,14 @@ Stem::brew_molecule (SCM smob) 
     {
       Real stem_width = gh_scm2double (me->get_grob_property ("thickness"))
 	// URG
-	* me->paper_l ()->get_var ("linethickness");
+	* me->get_paper ()->get_var ("linethickness");
       
       Molecule ss =Lookup::filledbox (Box (Interval (-stem_width/2, stem_width/2),
 					   Interval (stem_y[DOWN]*dy, stem_y[UP]*dy)));
       mol.add_molecule (ss);
     }
 
-  if (!beam_l (me) && abs (duration_log (me)) > 2)
+  if (!get_beam (me) && abs (duration_log (me)) > 2)
     {
       Molecule fl = flag (me);
       fl.translate_axis (stem_y[d]*dy, Y_AXIS);
@@ -740,7 +738,7 @@ Stem::off_callback (SCM element_smob, SC
 	{
 	  Real rule_thick
 	    = gh_scm2double (me->get_grob_property ("thickness"))
-	    * me->paper_l ()->get_var ("linethickness");
+	    * me->get_paper ()->get_var ("linethickness");
 
 	  
 	  r += - d * rule_thick * 0.5;
@@ -752,7 +750,7 @@ Stem::off_callback (SCM element_smob, SC
 
 
 Grob*
-Stem::beam_l (Grob*me)
+Stem::get_beam (Grob*me)
 {
   SCM b=  me->get_grob_property ("beam");
   return unsmob_grob (b);
@@ -800,7 +798,7 @@ Stem::calc_stem_info (Grob*me) 
   Real staff_space = Staff_symbol_referencer::staff_space (me);
   Real half_space = staff_space / 2;
 
-  Grob * beam = beam_l (me);
+  Grob * beam = get_beam (me);
   int beam_count = beam_multiplicity(me).length()+1;
   Real beam_translation= Beam::get_beam_translation (beam);
   Real thick = gh_scm2double (beam->get_grob_property ("thickness"));
@@ -838,10 +836,12 @@ Stem::calc_stem_info (Grob*me) 
     Although this (additional) rule is probably correct,
     I expect that highest beam (UP) should also never be lower
     than middle staffline, just as normal stems.
-	
+
+    Add: not for knees.  Not sure if that's is a good thing.
   */
   bool no_extend_b = to_boolean (me->get_grob_property ("no-stem-extend"));
-  if (!grace_b && !no_extend_b)
+  bool knee_b = to_boolean (beam->get_grob_property ("knee"));
+  if (!grace_b && !no_extend_b && !knee_b)
     {
       /* highest beam of (UP) beam must never be lower than middle
 	 staffline
diff -purN ../lilypond-1.5.69/lily/streams.cc ./lily/streams.cc
--- ../lilypond-1.5.69/lily/streams.cc	Fri Jul  5 15:29:37 2002
+++ ./lily/streams.cc	Fri Jul 26 12:27:00 2002
@@ -30,9 +30,9 @@ open_file_stream (String filename, int m
     {
       Path p = split_path (filename);
       if (!p.dir.empty_b ())
-        if (mkdir (p.dir.ch_C (), 0777) == -1 && errno != EEXIST)
+        if (mkdir (p.dir.to_str0 (), 0777) == -1 && errno != EEXIST)
           error (_f ("can't create directory: `%s'", p.dir));
-      os = new std::ofstream (filename.ch_C (), mode);
+      os = new std::ofstream (filename.to_str0 (), mode);
     }
   if (!*os)
     error (_f ("can't open file: `%s'", filename));
diff -purN ../lilypond-1.5.69/lily/sustain-pedal.cc ./lily/sustain-pedal.cc
--- ../lilypond-1.5.69/lily/sustain-pedal.cc	Fri Feb  1 19:16:16 2002
+++ ./lily/sustain-pedal.cc	Fri Jul 26 12:27:00 2002
@@ -46,16 +46,16 @@ Sustain_pedal::brew_molecule (SCM smob) 
     return mol.smobbed_copy ();
   String text = ly_scm2string (glyph);
 
-  for (int i = 0; i < text.length_i (); i++)
+  for (int i = 0; i < text.length (); i++)
     {
       String idx ("pedal-");
-      if (text.cut_str (i, 3) == "Ped")
+      if (text.cut_string (i, 3) == "Ped")
 	{
 	  idx += "Ped";
 	  i += 2;
 	}
       else
-	idx += String (&text.byte_C ()[i], 1);
+	idx += String (&text.to_bytes ()[i], 1);
       Molecule m = Font_interface::get_default_font (e)->find_by_name (idx);
       if (!m.empty_b ())
 	mol.add_at_edge (X_AXIS, RIGHT, m, 0);
diff -purN ../lilypond-1.5.69/lily/syllable-group.cc ./lily/syllable-group.cc
--- ../lilypond-1.5.69/lily/syllable-group.cc	Wed Apr 10 19:25:36 2002
+++ ./lily/syllable-group.cc	Fri Jul 26 12:27:00 2002
@@ -25,25 +25,25 @@ Syllable_group::Syllable_group ()
 void 
 Syllable_group::clear ()
 {
-  notehead_l_=0;
+  notehead_=0;
   lyric_list_.clear ();
-  longest_lyric_l_=0;
-  shortest_lyric_l_=0;
+  longest_lyric_=0;
+  shortest_lyric_=0;
   melisma_b_ = false;
-  group_translation_f_ = 0.0;
+  group_translation_ = 0.0;
 }
   
 void
 Syllable_group::copy (Syllable_group *from)
 {
-  notehead_l_ = from->notehead_l_;
+  notehead_ = from->notehead_;
   lyric_list_ = from->lyric_list_;
-  longest_lyric_l_ = from->longest_lyric_l_;
-  shortest_lyric_l_ = from->shortest_lyric_l_;
+  longest_lyric_ = from->longest_lyric_;
+  shortest_lyric_ = from->shortest_lyric_;
   melisma_b_ = from->melisma_b_;
-  alignment_i_ = from->alignment_i_;
+  alignment_ = from->alignment_;
   first_in_phrase_b_ = from->first_in_phrase_b_;
-  group_translation_f_ = from->group_translation_f_;
+  group_translation_ = from->group_translation_;
 }
 
 void 
@@ -55,9 +55,9 @@ Syllable_group::set_first_in_phrase (boo
 void 
 Syllable_group::set_notehead (Grob * notehead)
 {
-  if (!notehead_l_) {
+  if (!notehead_) {
     /* there should only be a single notehead, so silently ignore any extras */
-    notehead_l_=notehead;
+    notehead_=notehead;
   }
 }
 
@@ -66,21 +66,21 @@ Syllable_group::add_lyric (Grob * lyric)
 {
   lyric_list_.push (lyric);
   /* record longest and shortest lyrics */
-  if (longest_lyric_l_) {
-    if (lyric->extent (lyric,X_AXIS).length () > (longest_lyric_l_->extent (longest_lyric_l_, X_AXIS)).length ())
-      longest_lyric_l_ = lyric;
-    if (lyric->extent (lyric, X_AXIS).length () < (shortest_lyric_l_->extent (shortest_lyric_l_, X_AXIS)).length ())
-      shortest_lyric_l_ = lyric;
+  if (longest_lyric_) {
+    if (lyric->extent (lyric,X_AXIS).length () > (longest_lyric_->extent (longest_lyric_, X_AXIS)).length ())
+      longest_lyric_ = lyric;
+    if (lyric->extent (lyric, X_AXIS).length () < (shortest_lyric_->extent (shortest_lyric_, X_AXIS)).length ())
+      shortest_lyric_ = lyric;
   }
   else
-    longest_lyric_l_ = shortest_lyric_l_ = lyric;
+    longest_lyric_ = shortest_lyric_ = lyric;
 }
 
 void 
 Syllable_group::add_extender (Grob * extender)
 {
-  if (notehead_l_ && melisma_b_) {
-    dynamic_cast<Spanner*> (extender)->set_bound (RIGHT, notehead_l_);
+  if (notehead_ && melisma_b_) {
+    dynamic_cast<Spanner*> (extender)->set_bound (RIGHT, notehead_);
     // should the extender finish at the right of the last note of the melisma, or the left?
     // Comments in lyric-extender.hh say left, but right looks better to me. GP.
 
@@ -90,12 +90,12 @@ Syllable_group::add_extender (Grob * ext
     // Right:
     Real ss = 1.0;
     extender->set_grob_property ("right-trim-amount", 
-			       gh_double2scm (-notehead_l_->extent (notehead_l_, X_AXIS).length ()/ss));
+			       gh_double2scm (-notehead_->extent (notehead_, X_AXIS).length ()/ss));
   }
 }
 
 bool 
-Syllable_group::set_lyric_align (const char *punc, Grob *default_notehead_l)
+Syllable_group::set_lyric_align (const char *punc, Grob *default_notehead)
 {
   if (lyric_list_.size ()==0) {
     // No lyrics: nothing to do.
@@ -103,29 +103,29 @@ Syllable_group::set_lyric_align (const c
   }
 
   Grob * lyric;
-  alignment_i_ = appropriate_alignment (punc);
+  alignment_ = appropriate_alignment (punc);
   
   // If there was no notehead in the matching voice context, use the first 
   // notehead caught from any voice context (any port in a storm).
-  if (!notehead_l_) {
-    notehead_l_ = default_notehead_l;
+  if (!notehead_) {
+    notehead_ = default_notehead;
   }
 
-  group_translation_f_ = amount_to_translate ();
+  group_translation_ = amount_to_translate ();
 
   // set the x alignment of each lyric
   for (int l = 0; l < lyric_list_.size (); l++) {
     lyric = lyric_list_[l];
-    lyric->set_grob_property ("self-alignment-X", gh_int2scm (alignment_i_));
+    lyric->set_grob_property ("self-alignment-X", gh_int2scm (alignment_));
     // centre on notehead ... if we have one. 
-    if (notehead_l_) {
-      lyric->set_parent (notehead_l_, X_AXIS);
+    if (notehead_) {
+      lyric->set_parent (notehead_, X_AXIS);
       lyric->add_offset_callback (Self_alignment_interface::centered_on_parent_proc, X_AXIS);
       // reference is on the right of the notehead; move it left half way, and add translation
-      lyric->translate_axis (group_translation_f_- (notehead_l_->extent (notehead_l_, X_AXIS)).center (), X_AXIS);
+      lyric->translate_axis (group_translation_- (notehead_->extent (notehead_, X_AXIS)).center (), X_AXIS);
     }
   }
-  return (notehead_l_);
+  return (notehead_);
 }
 
 /** determine the distance to translate lyrics to get correct alignment
@@ -140,22 +140,22 @@ Real 
 Syllable_group::amount_to_translate ()
 {
   Real translate = 0.0;
-  if (alignment_i_ != CENTER) {
-    switch (alignment_i_) {
+  if (alignment_ != CENTER) {
+    switch (alignment_) {
       // FIXME: do we really know the lyric extent here? Some font sizing comes later?
     case LEFT: 
-      translate =  longest_lyric_l_->extent (longest_lyric_l_, X_AXIS).length () / gh_scm2double (longest_lyric_l_->get_grob_property("begin-alignment"));
+      translate =  longest_lyric_->extent (longest_lyric_, X_AXIS).length () / gh_scm2double (longest_lyric_->get_grob_property("begin-alignment"));
       break;
     case RIGHT: 
-      translate =   longest_lyric_l_->extent (longest_lyric_l_, X_AXIS).length () / gh_scm2double (longest_lyric_l_->get_grob_property("end-alignment"));
+      translate =   longest_lyric_->extent (longest_lyric_, X_AXIS).length () / gh_scm2double (longest_lyric_->get_grob_property("end-alignment"));
       break;
     }
-    if (!gh_scm2bool(longest_lyric_l_->get_grob_property("ignore-length-mismatch"))) {
-      Real l = shortest_lyric_l_->extent (shortest_lyric_l_, X_AXIS).length ();
+    if (!gh_scm2bool(longest_lyric_->get_grob_property("ignore-length-mismatch"))) {
+      Real l = shortest_lyric_->extent (shortest_lyric_, X_AXIS).length ();
       translate = l <? translate;
     }
     
-    translate *= alignment_i_ ;
+    translate *= alignment_ ;
   }
   return translate;
 }
@@ -171,7 +171,7 @@ int 
 Syllable_group::appropriate_alignment (const char *punc)
 {
 
-  SCM s=this->longest_lyric_l_->get_grob_property ("alignment");
+  SCM s=this->longest_lyric_->get_grob_property ("alignment");
     if (s!=SCM_EOL) {
       return gh_scm2int (s);
     }
@@ -185,10 +185,10 @@ Syllable_group::appropriate_alignment (c
   for (int l = 0; l < lyric_list_.size () && end_phrase; l++) {
     lyric = lyric_list_[l];
     SCM lyric_scm = lyric->get_grob_property ("text");
-    String lyric_str = gh_string_p (lyric_scm)?ly_scm2string (lyric_scm):"";
+    String lyric_string = gh_string_p (lyric_scm)?ly_scm2string (lyric_scm):"";
     char lastchar;
-    if (lyric_str.length_i ()>0) {
-      lastchar = lyric_str[lyric_str.length_i ()-1];
+    if (lyric_string.length ()>0) {
+      lastchar = lyric_string[lyric_string.length ()-1];
       /* If it doesn't end in punctuation then it ain't an end of phrase */
       if (! strchr (punc, lastchar)) {
 	/*
@@ -204,8 +204,8 @@ Syllable_group::appropriate_alignment (c
 	   FIXME: The extra space throws alignment out a bit.
 	*/
 	if (lastchar == ' ') {
-	  if (lyric_str.length_i ()>1) {
-	    lastchar = lyric_str[lyric_str.length_i ()-2];
+	  if (lyric_string.length ()>1) {
+	    lastchar = lyric_string[lyric_string.length ()-2];
 	    if (strchr (punc, lastchar))
 	      end_phrase=false;
 	  }
@@ -227,20 +227,20 @@ Syllable_group::appropriate_alignment (c
 void
 Syllable_group::adjust_melisma_align ()
 {
-  if (notehead_l_ && lyric_list_.size ()) {
+  if (notehead_ && lyric_list_.size ()) {
     // override any previous offset adjustments
-    Real translation = -group_translation_f_;
+    Real translation = -group_translation_;
     // melisma aligning:
-    switch (alignment_i_) {
+    switch (alignment_) {
       //  case LEFT: // that's all
     case CENTER: // move right so smallest lyric is left-aligned on notehead
-      translation += (shortest_lyric_l_->extent (shortest_lyric_l_, X_AXIS)).length ()/2;
+      translation += (shortest_lyric_->extent (shortest_lyric_, X_AXIS)).length ()/2;
       break;
     case RIGHT: // move right so smallest lyric is left-aligned on notehead
-      translation += (shortest_lyric_l_->extent (shortest_lyric_l_, X_AXIS)).length ();
+      translation += (shortest_lyric_->extent (shortest_lyric_, X_AXIS)).length ();
       break;
     }
-    group_translation_f_ += translation;
+    group_translation_ += translation;
     for (int l = 0; l < lyric_list_.size (); l++) {
       lyric_list_[l]->translate_axis (translation, X_AXIS);
     }
@@ -257,7 +257,7 @@ Syllable_group::is_empty ()
 void
 Syllable_group::next_lyric ()
 {
-  first_in_phrase_b_ = (alignment_i_ == RIGHT);
+  first_in_phrase_b_ = (alignment_ == RIGHT);
   clear ();
 }
 
diff -purN ../lilypond-1.5.69/lily/system-start-delimiter-engraver.cc ./lily/system-start-delimiter-engraver.cc
--- ../lilypond-1.5.69/lily/system-start-delimiter-engraver.cc	Sat May  4 19:59:20 2002
+++ ./lily/system-start-delimiter-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -32,17 +32,17 @@ protected:
 void
 System_start_delimiter_engraver::acknowledge_grob (Grob_info inf)
 {
-  if (Staff_symbol::has_interface (inf.grob_l_))
+  if (Staff_symbol::has_interface (inf.grob_))
     {
       /*
 	don't add as Axis_group_interface::add_element (delim_,),
 	because that would set the parent as well */
 	  
-      Pointer_group_interface::add_grob (delim_, ly_symbol2scm ("elements"),  inf.grob_l_);
+      Pointer_group_interface::add_grob (delim_, ly_symbol2scm ("elements"),  inf.grob_);
     }
-  else if (System_start_delimiter::has_interface (inf.grob_l_))
+  else if (System_start_delimiter::has_interface (inf.grob_))
     {
-      SCM gl = inf.grob_l_->get_grob_property ("glyph");
+      SCM gl = inf.grob_->get_grob_property ("glyph");
       SCM my_gl = delim_->get_grob_property ("glyph");
 
       /*
@@ -50,13 +50,13 @@ System_start_delimiter_engraver::acknowl
        */
       if (gh_string_p (gl) && gh_equal_p (gl, ly_str02scm  ("brace"))
 	  && gh_string_p (my_gl) && gh_equal_p (my_gl, ly_str02scm  ("bracket")))
-	inf.grob_l_->translate_axis (-0.8, X_AXIS); // ugh
+	inf.grob_->translate_axis (-0.8, X_AXIS); // ugh
       else if (gh_string_p (gl) && gh_equal_p (gl, ly_str02scm  ("bracket"))
 	       && gh_string_p (my_gl) && gh_equal_p (my_gl, ly_str02scm  ("bracket")))
        {
-         inf.grob_l_->translate_axis ( -0.8, X_AXIS); // ugh
-         inf.grob_l_->set_grob_property ("arch-height",
-           gh_double2scm(gh_scm2double(inf.grob_l_->get_grob_property
+         inf.grob_->translate_axis ( -0.8, X_AXIS); // ugh
+         inf.grob_->set_grob_property ("arch-height",
+           gh_double2scm(gh_scm2double(inf.grob_->get_grob_property
                                        ("arch-height"))+0.5));
        }
     }
diff -purN ../lilypond-1.5.69/lily/system-start-delimiter.cc ./lily/system-start-delimiter.cc
--- ../lilypond-1.5.69/lily/system-start-delimiter.cc	Wed Apr 10 19:25:36 2002
+++ ./lily/system-start-delimiter.cc	Fri Jul 26 12:27:00 2002
@@ -62,7 +62,7 @@ Will not fix it since I'm not sure.
 Molecule
 System_start_delimiter::simple_bar (Grob*me,Real h) 
 {
-  Real w = me->paper_l ()->get_var ("linethickness") *
+  Real w = me->get_paper ()->get_var ("linethickness") *
     gh_scm2double (me->get_grob_property ("thickness"));
   return Lookup::filledbox (Box (Interval (0,w), Interval (-h/2, h/2)));
 }
diff -purN ../lilypond-1.5.69/lily/system.cc ./lily/system.cc
--- ../lilypond-1.5.69/lily/system.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/system.cc	Fri Jul 26 12:27:00 2002
@@ -36,7 +36,7 @@ fixup_refpoints (SCM s)
 System::System (SCM s)
   : Spanner (s)
 {
-  rank_i_ = 0;
+  rank_ = 0;
 }
 
 int
@@ -46,11 +46,11 @@ System::element_count () const
 }
 
 void
-System::typeset_grob (Grob * elem_p)
+System::typeset_grob (Grob * elem)
 {
-  elem_p->pscore_l_ = pscore_l_;
-  Pointer_group_interface::add_grob (this, ly_symbol2scm ("all-elements"),elem_p);
-  scm_gc_unprotect_object (elem_p->self_scm ());
+  elem->pscore_ = pscore_;
+  Pointer_group_interface::add_grob (this, ly_symbol2scm ("all-elements"),elem);
+  scm_gc_unprotect_object (elem->self_scm ());
 }
 
 void
@@ -81,9 +81,9 @@ System::output_lines ()
     fixups must be done in broken line_of_scores, because new elements
     are put over there.  */
   int count = 0;
-  for (int i=0; i < broken_into_l_arr_.size (); i++)
+  for (int i=0; i < broken_intos_.size (); i++)
     {
-      Grob *se = broken_into_l_arr_[i];
+      Grob *se = broken_intos_[i];
       SCM all = se->get_grob_property ("all-elements");
       for (SCM s = all; gh_pair_p (s); s = ly_cdr (s))
 	{
@@ -109,30 +109,30 @@ System::output_lines ()
     progress_indication (_f ("Element count %d.",  count + element_count ()));
 
   
-  for (int i=0; i < broken_into_l_arr_.size (); i++)
+  for (int i=0; i < broken_intos_.size (); i++)
     {
-      System *line_l = dynamic_cast<System*> (broken_into_l_arr_[i]);
+      System *system = dynamic_cast<System*> (broken_intos_[i]);
 
       if (verbose_global_b)
 	progress_indication ("[");
-      line_l->post_processing (i+1 == broken_into_l_arr_.size ());
+      system->post_processing (i+1 == broken_intos_.size ());
 
       if (verbose_global_b)
 	{
-	  progress_indication (to_str (i));
+	  progress_indication (to_string (i));
 	  progress_indication ("]");
 	}
 
-      if (i < broken_into_l_arr_.size () - 1)
+      if (i < broken_intos_.size () - 1)
 	{
-	  SCM lastcol =  ly_car (line_l->get_grob_property ("columns"));
+	  SCM lastcol =  ly_car (system->get_grob_property ("columns"));
 	  Grob*  e = unsmob_grob (lastcol);
 
 	  SCM between = ly_symbol2scm ("between-system-string");
 	  SCM inter = e->internal_get_grob_property (between);
 	  if (gh_string_p (inter))
 	    {
-	      pscore_l_->outputter_l_
+	      pscore_->outputter_
 		->output_scheme (scm_list_n (between, 
 					     inter, SCM_UNDEFINED));	      
 	    }
@@ -155,7 +155,7 @@ set_loose_columns (System* which, Column
       Item *loose = dynamic_cast<Item*> (posns->loose_cols_[i]);
       Paper_column* col = dynamic_cast<Paper_column*> (loose);
       
-      if (col->line_l_)
+      if (col->system_)
 	continue;
 
       
@@ -176,12 +176,12 @@ set_loose_columns (System* which, Column
 	  
 	  if (!left && l)
 	    {
-	      left = l->column_l ();
+	      left = l->get_column ();
 	    }
 
 	  divide_over ++;
 
-	  loose = right = r->column_l ();
+	  loose = right = r->get_column ();
 	}
       while (1);
       
@@ -203,7 +203,7 @@ set_loose_columns (System* which, Column
 
 	  Paper_column *thiscol = dynamic_cast<Paper_column*> (loose);
 
-	  thiscol->line_l_ = which;
+	  thiscol->system_ = which;
 	  thiscol->translate_axis (lx + j*(rx - lx)/divide_over, X_AXIS);
 
 	  j ++;	
@@ -245,7 +245,7 @@ set_loose_columns (System* which, Column
       else
 	dx *= 0.5;
 
-      col->line_l_ = which;
+      col->system_ = which;
       col->translate_axis (lx + dx - cval[LEFT], X_AXIS); 
 #endif
     }
@@ -257,21 +257,21 @@ System::break_into_pieces (Array<Column_
 {
   for (int i=0; i < breaking.size (); i++)
     {
-      System *line_l = dynamic_cast <System*> (clone ());
-      line_l->rank_i_ = i;
-      //      line_l->set_immutable_grob_property ("rank", gh_int2scm (i));
+      System *system = dynamic_cast <System*> (clone ());
+      system->rank_ = i;
+      //      system->set_immutable_grob_property ("rank", gh_int2scm (i));
       Link_array<Grob> c (breaking[i].cols_);
-      pscore_l_->typeset_line (line_l);
+      pscore_->typeset_line (system);
       
-      line_l->set_bound (LEFT,c[0]);
-      line_l->set_bound (RIGHT,c.top ());
+      system->set_bound (LEFT,c[0]);
+      system->set_bound (RIGHT,c.top ());
       for (int j=0; j < c.size (); j++)
 	{
 	  c[j]->translate_axis (breaking[i].config_[j],X_AXIS);
-	  dynamic_cast<Paper_column*> (c[j])->line_l_ = line_l;
+	  dynamic_cast<Paper_column*> (c[j])->system_ = system;
 	}
-      set_loose_columns (line_l, &breaking[i]);
-      broken_into_l_arr_.push (line_l);
+      set_loose_columns (system, &breaking[i]);
+      broken_intos_.push (system);
     }
 }
 
@@ -291,8 +291,8 @@ System::output_molecule (SCM expr, Offse
 	  Input * ip = unsmob_input (head);
       
 
-	  pscore_l_->outputter_l_->output_scheme (scm_list_n (ly_symbol2scm ("define-origin"),
-							   ly_str02scm (ip->file_str ().ch_C ()),
+	  pscore_->outputter_->output_scheme (scm_list_n (ly_symbol2scm ("define-origin"),
+							   ly_str02scm (ip->file_string ().to_str0 ()),
 							   gh_int2scm (ip->line_number ()),
 							   gh_int2scm (ip->column_number ()),
 							   SCM_UNDEFINED));
@@ -300,7 +300,7 @@ System::output_molecule (SCM expr, Offse
 	}
       else  if (head ==  ly_symbol2scm ("no-origin"))
 	{
-	  pscore_l_->outputter_l_->output_scheme (scm_list_n (head, SCM_UNDEFINED));
+	  pscore_->outputter_->output_scheme (scm_list_n (head, SCM_UNDEFINED));
 	  expr = ly_cadr (expr);
 	}
       else if (head == ly_symbol2scm ("translate-molecule"))
@@ -315,7 +315,7 @@ System::output_molecule (SCM expr, Offse
 	}
       else
 	{
-	  pscore_l_->outputter_l_->
+	  pscore_->outputter_->
 	    output_scheme (scm_list_n (ly_symbol2scm ("placebox"),
 				    gh_double2scm (o[X_AXIS]),
 				    gh_double2scm (o[Y_AXIS]),
@@ -330,7 +330,7 @@ System::output_molecule (SCM expr, Offse
 void
 System::output_scheme (SCM s)
 {
-  pscore_l_->outputter_l_->output_scheme (s);
+  pscore_->outputter_->output_scheme (s);
 }
 
 void
@@ -340,7 +340,7 @@ System::add_column (Paper_column*p)
   SCM cs = me->get_grob_property ("columns");
   Grob * prev =  gh_pair_p (cs) ? unsmob_grob (ly_car (cs)) : 0;
 
-  p->rank_i_ = prev ? Paper_column::rank_i (prev) + 1 : 0; 
+  p->rank_ = prev ? Paper_column::get_rank (prev) + 1 : 0; 
 
   me->set_grob_property ("columns",  gh_cons (p->self_scm (), cs));
 
@@ -419,7 +419,7 @@ System::post_processing (bool last_line)
   /*
     font defs;
    */
-  SCM font_names = ly_quote_scm (paper_l ()->font_descriptions ());  
+  SCM font_names = ly_quote_scm (get_paper ()->font_descriptions ());  
   output_scheme (scm_list_n (ly_symbol2scm ("define-fonts"),
 			     font_names,
 			     SCM_UNDEFINED));
@@ -485,8 +485,8 @@ System::broken_col_range (Item const*l, 
 {
   Link_array<Item> ret;
 
-  l = l->column_l ();
-  r = r->column_l ();
+  l = l->get_column ();
+  r = r->get_column ();
   SCM s = get_grob_property ("columns");
 
   while (gh_pair_p (s) && ly_car (s) != r->self_scm ())
@@ -498,7 +498,7 @@ System::broken_col_range (Item const*l, 
   while (gh_pair_p (s) && ly_car (s) != l->self_scm ())
     {
       Paper_column*c = dynamic_cast<Paper_column*> (unsmob_grob (ly_car (s)));
-      if (Item::breakable_b (c) && !c->line_l_)
+      if (Item::breakable_b (c) && !c->system_)
 	ret.push (c);
 
       s = ly_cdr (s);
@@ -513,7 +513,7 @@ System::broken_col_range (Item const*l, 
    disrupt the spacing problem.
  */
 Link_array<Grob>
-System::column_l_arr ()const
+System::columns ()const
 {
   Link_array<Grob> acs
     = Pointer_group_interface__extract_grobs (this, (Grob*) 0, "columns");
diff -purN ../lilypond-1.5.69/lily/tab-note-heads-engraver.cc ./lily/tab-note-heads-engraver.cc
--- ../lilypond-1.5.69/lily/tab-note-heads-engraver.cc	Thu Jun 13 17:12:41 2002
+++ ./lily/tab-note-heads-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -21,17 +21,17 @@
  */
 class Tab_note_heads_engraver : public Engraver
 {
-  Link_array<Item> note_p_arr_;
+  Link_array<Item> notes_;
   
-  Link_array<Item> dot_p_arr_;
-  Link_array<Note_req> note_req_l_arr_;
-  Link_array<Text_script_req> tabstring_req_arr_;
+  Link_array<Item> dots_;
+  Link_array<Note_req> note_reqs_;
+  Link_array<Text_script_req> tabstring_reqs_;
 public:
   TRANSLATOR_DECLARATIONS(Tab_note_heads_engraver);
 
 protected:
   virtual void start_translation_timestep ();
-  virtual bool try_music (Music *req_l) ;
+  virtual bool try_music (Music *req) ;
   virtual void process_music ();
 
   virtual void stop_translation_timestep ();
@@ -47,21 +47,21 @@ Tab_note_heads_engraver::try_music (Musi
 {
   if (Note_req * n =dynamic_cast <Note_req *> (m))
     {
-      note_req_l_arr_.push (n);
+      note_reqs_.push (n);
       return true;
     }
   else if (Text_script_req * ts = dynamic_cast<Text_script_req*> (m))
     {
       if (m->get_mus_property ("text-type") != ly_symbol2scm ("finger")) return false;
       
-      //if (tabstring_req_arr_.size () < note_req_l_arr_.size ()) {
-        tabstring_req_arr_.push (ts);
+      //if (tabstring_reqs_.size () < note_reqs_.size ()) {
+        tabstring_reqs_.push (ts);
       //}
       return true;
     }
   else if (dynamic_cast<Busy_playing_req*> (m))
     {
-      return note_req_l_arr_.size ();
+      return note_reqs_.size ();
     }
   
   return false;
@@ -72,42 +72,42 @@ void
 Tab_note_heads_engraver::process_music ()
 {
   /*
-  for (int i=0; i < tabstring_req_arr_.size (); i++) {
-      Music * tabstring_req = tabstring_req_arr_[i];
+  for (int i=0; i < tabstring_reqs_.size (); i++) {
+      Music * tabstring_req = tabstring_reqs_[i];
       
       size_t lenp;
-      char* tab_string_as_str = gh_scm2newstr(tabstring_req->get_mus_property ("text"), &lenp);
+      char* tab_string_as_string = gh_scm2newstr(tabstring_req->get_mus_property ("text"), &lenp);
   }
   */
   
-  for (int i=0; i < note_req_l_arr_.size (); i++)
+  for (int i=0; i < note_reqs_.size (); i++)
     {
-      Item * note_p  = new Item (get_property ("TabNoteHead"));
+      Item * note  = new Item (get_property ("TabNoteHead"));
       
-      Music * req = note_req_l_arr_[i];
+      Music * req = note_reqs_[i];
       
-      Music * tabstring_req = tabstring_req_arr_[i];
+      Music * tabstring_req = tabstring_reqs_[i];
       
       size_t lenp;
-      char* tab_string_as_str = gh_scm2newstr(tabstring_req->get_mus_property ("text"), &lenp);
-      int tab_string = atoi(tab_string_as_str);
+      char* tab_string_as_string = gh_scm2newstr(tabstring_req->get_mus_property ("text"), &lenp);
+      int tab_string = atoi(tab_string_as_string);
       
       Duration dur = *unsmob_duration (req->get_mus_property ("duration"));
       
-      note_p->set_grob_property ("duration-log", gh_int2scm (dur.duration_log ()));
+      note->set_grob_property ("duration-log", gh_int2scm (dur.duration_log ()));
 
       if (dur.dot_count ())
 	{
 	  Item * d = new Item (get_property ("Dots"));
-	  Rhythmic_head::set_dots (note_p, d);
+	  Rhythmic_head::set_dots (note, d);
 	  
 	  if (dur.dot_count ()
 	      != gh_scm2int (d->get_grob_property ("dot-count")))
 	    d->set_grob_property ("dot-count", gh_int2scm (dur.dot_count ()));
 
-	  d->set_parent (note_p, Y_AXIS);
+	  d->set_parent (note, Y_AXIS);
 	  announce_grob (d, SCM_EOL);
-	  dot_p_arr_.push (d);
+	  dots_.push (d);
 	}
       
       SCM stringTunings = get_property ("stringTunings");
@@ -125,32 +125,32 @@ Tab_note_heads_engraver::process_music (
       SCM scm_pitch = req->get_mus_property ("pitch");
       SCM proc      = get_property ("tablatureFormat");
       SCM text      = gh_call3 (proc, gh_int2scm (tab_string), stringTunings, scm_pitch);
-      note_p->set_grob_property ("text", text);
+      note->set_grob_property ("text", text);
       
-      note_p->set_grob_property ("staff-position", gh_int2scm (pos));
-      announce_grob (note_p, req->self_scm());
-      note_p_arr_.push (note_p);
+      note->set_grob_property ("staff-position", gh_int2scm (pos));
+      announce_grob (note, req->self_scm());
+      notes_.push (note);
     }
 }
 
 void
 Tab_note_heads_engraver::stop_translation_timestep ()
 {
-  for (int i=0; i < note_p_arr_.size (); i++)
+  for (int i=0; i < notes_.size (); i++)
     {
-      typeset_grob (note_p_arr_[i]);
+      typeset_grob (notes_[i]);
     }
 
-  note_p_arr_.clear ();
-  for (int i=0; i < dot_p_arr_.size (); i++)
+  notes_.clear ();
+  for (int i=0; i < dots_.size (); i++)
     {
-      typeset_grob (dot_p_arr_[i]);
+      typeset_grob (dots_[i]);
     }
-  dot_p_arr_.clear ();
+  dots_.clear ();
   
-  note_req_l_arr_.clear ();
+  note_reqs_.clear ();
   
-  tabstring_req_arr_.clear ();
+  tabstring_reqs_.clear ();
 }
 
 void
diff -purN ../lilypond-1.5.69/lily/template5.cc ./lily/template5.cc
--- ../lilypond-1.5.69/lily/template5.cc	Fri Feb  1 19:16:16 2002
+++ ./lily/template5.cc	Fri Jul 26 12:27:00 2002
@@ -22,9 +22,9 @@ Interval_t<Rational>::infinity ()
 }
 
 String
-Interval_t<Rational>::T_to_str (Rational a)
+Interval_t<Rational>::T_to_string (Rational a)
 {
-  return a.str ();
+  return a.string ();
 }
 
 
diff -purN ../lilypond-1.5.69/lily/tempo-performer.cc ./lily/tempo-performer.cc
--- ../lilypond-1.5.69/lily/tempo-performer.cc	Fri Feb  1 19:16:16 2002
+++ ./lily/tempo-performer.cc	Fri Jul 26 12:27:00 2002
@@ -18,13 +18,13 @@ public:
 
 protected:
 
-  virtual bool try_music (Music* req_l);
+  virtual bool try_music (Music* req);
   virtual void stop_translation_timestep ();
   virtual void create_audio_elements ();
 
 private:
-  Tempo_req* tempo_req_l_;
-  Audio_tempo* audio_p_;
+  Tempo_req* tempo_req_;
+  Audio_tempo* audio_;
 };
 
 ENTER_DESCRIPTION (Tempo_performer, "","","","","" );
@@ -32,8 +32,8 @@ ENTER_DESCRIPTION (Tempo_performer, "","
 
 Tempo_performer::Tempo_performer ()
 {
-  tempo_req_l_ = 0;
-  audio_p_ = 0;
+  tempo_req_ = 0;
+  audio_ = 0;
 }
 
 Tempo_performer::~Tempo_performer ()
@@ -44,42 +44,42 @@ Tempo_performer::~Tempo_performer ()
 void
 Tempo_performer::create_audio_elements ()
 {
-  if (tempo_req_l_)
+  if (tempo_req_)
     {
 
-      SCM met = tempo_req_l_->get_mus_property ("metronome-count");
-      Duration *d = unsmob_duration (tempo_req_l_->get_mus_property ("duration"));
+      SCM met = tempo_req_->get_mus_property ("metronome-count");
+      Duration *d = unsmob_duration (tempo_req_->get_mus_property ("duration"));
       
       Rational r =  (d->length_mom () / Moment (Rational (1, 4)) * Moment (gh_scm2int (met))).main_part_;
       
-      audio_p_ = new Audio_tempo (int (r));
+      audio_ = new Audio_tempo (int (r));
 
-      Audio_element_info info (audio_p_, tempo_req_l_);
+      Audio_element_info info (audio_, tempo_req_);
       announce_element (info);
-      tempo_req_l_ = 0;
+      tempo_req_ = 0;
     }
 }
 
 void
 Tempo_performer::stop_translation_timestep ()
 {
-  if (audio_p_)
+  if (audio_)
     {
-      play_element (audio_p_);
-      audio_p_ = 0;
+      play_element (audio_);
+      audio_ = 0;
     }
 }
 
 bool
-Tempo_performer::try_music (Music* req_l)
+Tempo_performer::try_music (Music* req)
 {
-  if (tempo_req_l_)
+  if (tempo_req_)
     return false;
 
   if (Tempo_req *t =
-      dynamic_cast <Tempo_req *> (req_l))
+      dynamic_cast <Tempo_req *> (req))
     {
-      tempo_req_l_ = t;
+      tempo_req_ = t;
       return true;
     }
 
diff -purN ../lilypond-1.5.69/lily/text-engraver.cc ./lily/text-engraver.cc
--- ../lilypond-1.5.69/lily/text-engraver.cc	Fri Jun 21 00:30:57 2002
+++ ./lily/text-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -49,30 +49,30 @@ Text_engraver::try_music (Music *m)
 void
 Text_engraver::acknowledge_grob (Grob_info inf)
 {
-  if (Rhythmic_head::has_interface (inf.grob_l_))
+  if (Rhythmic_head::has_interface (inf.grob_))
     {
       for (int i=0; i < texts_.size (); i++)
 	{
 	  Grob*t = texts_[i];
-	  Side_position_interface::add_support (t,inf.grob_l_);
+	  Side_position_interface::add_support (t,inf.grob_);
 
 	  /*
 	    ugh.
 	   */
 	  if (Side_position_interface::get_axis (t) == X_AXIS
 	      && !t->get_parent (Y_AXIS))
-	    t->set_parent (inf.grob_l_, Y_AXIS);
+	    t->set_parent (inf.grob_, Y_AXIS);
 	  else if (Side_position_interface::get_axis (t) == Y_AXIS
 	      && !t->get_parent (X_AXIS))
-	    t->set_parent (inf.grob_l_, X_AXIS);
+	    t->set_parent (inf.grob_, X_AXIS);
 	}
     }
   
-  if (Stem::has_interface (inf.grob_l_))
+  if (Stem::has_interface (inf.grob_))
     {
       for (int i=0; i < texts_.size (); i++)
 	{
-	  Side_position_interface::add_support (texts_[i],inf.grob_l_);
+	  Side_position_interface::add_support (texts_[i],inf.grob_);
 	}
     }
 }
@@ -89,7 +89,7 @@ Text_engraver::process_acknowledged_grob
       // URG: Text vs TextScript
       String basic = "TextScript";
 
-      Item *text = new Item (get_property (basic.ch_C ()));
+      Item *text = new Item (get_property (basic.to_str0 ()));
 
       /*
 	FIXME -> need to use basic props.
diff -purN ../lilypond-1.5.69/lily/text-item.cc ./lily/text-item.cc
--- ../lilypond-1.5.69/lily/text-item.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/text-item.cc	Fri Jul 26 12:27:00 2002
@@ -89,7 +89,7 @@ Text_item::lookup_character (Grob *, Fon
 
 
 Molecule
-Text_item::lookup_text (Grob *me, Font_metric*fm, SCM text)
+Text_item::lookup_text (Grob *, Font_metric*fm, SCM text)
 {
   SCM list = scm_list_n (ly_symbol2scm ("text"), text, SCM_UNDEFINED);
   list = fontify_atom (fm, list);
@@ -111,7 +111,7 @@ Molecule
 Text_item::markup_text2molecule (Grob *me, SCM markup_text,
 				 SCM alist_chain)
 {
-  SCM sheet = me->paper_l ()->style_sheet_;
+  SCM sheet = me->get_paper ()->style_sheet_;
   SCM f = ly_cdr (scm_assoc (ly_symbol2scm ("markup-to-properties"), sheet));
   
   SCM markup = ly_car (markup_text);
diff -purN ../lilypond-1.5.69/lily/text-spanner-engraver.cc ./lily/text-spanner-engraver.cc
--- ../lilypond-1.5.69/lily/text-spanner-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/text-spanner-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -134,10 +134,10 @@ Text_spanner_engraver::process_acknowled
 void
 Text_spanner_engraver::acknowledge_grob (Grob_info info)
 {
-  if (span_ && Note_column::has_interface (info.grob_l_))
+  if (span_ && Note_column::has_interface (info.grob_))
     {
-      Side_position_interface::add_support (span_, info.grob_l_);
-      add_bound_item (span_, dynamic_cast<Item*> (info.grob_l_));
+      Side_position_interface::add_support (span_, info.grob_);
+      add_bound_item (span_, dynamic_cast<Item*> (info.grob_));
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/text-spanner.cc ./lily/text-spanner.cc
--- ../lilypond-1.5.69/lily/text-spanner.cc	Sat Jul 13 03:30:04 2002
+++ ./lily/text-spanner.cc	Fri Jul 26 12:27:00 2002
@@ -133,7 +133,7 @@ Text_spanner::brew_molecule (SCM smob) 
 
   /* ugh */
   
-  Real thick = me->paper_l ()->get_var ("linethickness");  
+  Real thick = me->get_paper ()->get_var ("linethickness");  
   SCM st = me->get_grob_property ("thickness");
   if (gh_number_p (st))
     {
@@ -195,7 +195,7 @@ void 
 Text_spanner::setup_pedal_bracket(Spanner *me)
 {
 
-  Real thick = me->paper_l ()->get_var ("linethickness");  
+  Real thick = me->get_paper ()->get_var ("linethickness");  
   SCM st = me->get_grob_property ("thickness");
   if (gh_number_p (st))
     {
diff -purN ../lilypond-1.5.69/lily/tfm-reader.cc ./lily/tfm-reader.cc
--- ../lilypond-1.5.69/lily/tfm-reader.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/tfm-reader.cc	Fri Jul 26 12:27:00 2002
@@ -14,7 +14,7 @@
 #include "warn.hh"
 #include "warn.hh"
 
-#define format_str String_convert::form_str
+#define format_string String_convert::form_string
 #define FIX_UNITY \
  (1 << 20)
 static const Real fix_to_real (Fix f);
@@ -43,7 +43,7 @@ fix_to_real (Fix f)
 /* Most quantities are fixed-point fractions.  */
 
 Real
-Tex_font_metric_reader::get_U32_fix_f ()
+Tex_font_metric_reader::get_U32_fix ()
 {
   return fix_to_real (input_.get_U32 ());
 }
@@ -51,16 +51,16 @@ Tex_font_metric_reader::get_U32_fix_f ()
 /* Dimensions are a `Fix' scaled by the design size.  */
 
 Real
-Tex_font_metric_reader::get_U32_fix_scaled_f ()
+Tex_font_metric_reader::get_U32_fix_scaled ()
 {
-  return get_U32_fix_f () * info_.design_size;
+  return get_U32_fix () * info_.design_size;
 }
 
 String
-Tex_font_metric_reader::get_bcpl_str ()
+Tex_font_metric_reader::get_bcpl_string ()
 {
   U8 length_u8 = input_.get_U8 ();
-  String str = input_.get_str (length_u8);
+  String str = input_.get_string (length_u8);
   return str;
 }
 
@@ -104,15 +104,15 @@ Tex_font_metric_reader::read_header ()
 
   if (header_length < 2)
     error (_f ("TFM header of `%s' has only %u word (s)",
-	       input_.name_str ().ch_C (), header_length));
+	       input_.name_string ().to_str0 (), header_length));
 
   info_.checksum = input_.get_U32 ();
-  info_.design_size = get_U32_fix_f ();
+  info_.design_size = get_U32_fix ();
 
   /* Although the coding scheme might be interesting to the caller, the
      font family and face byte probably aren't.  So we don't read them.  */
   info_.coding_scheme = header_length > 2
-    ? get_bcpl_str () : "unspecified";
+    ? get_bcpl_string () : "unspecified";
 
 }
 
@@ -131,14 +131,14 @@ Tex_font_metric_reader::read_params ()
 
   //brrr
   /* Move to the beginning of the parameter table in the file.  */
-  input_.seek_ch_C (-4 * header_.param_word_count);
+  input_.seek_str0 (-4 * header_.param_word_count);
 
   /* It's unlikely but possible that this TFM file has more fontdimens
      than we can deal with.  */
   if (header_.param_word_count > TFM_MAX_FONTDIMENS)
     {
       warning (_f ("%s: TFM file has %u parameters, which is more than the %u I can handle",
-		   input_.name_str ().ch_C (),
+		   input_.name_string ().to_str0 (),
 		   header_.param_word_count,
 		   TFM_MAX_FONTDIMENS));
       header_.param_word_count = TFM_MAX_FONTDIMENS;
@@ -146,10 +146,10 @@ Tex_font_metric_reader::read_params ()
 
   /* The first parameter is different than all the rest, because it
      isn't scaled by the design size.  */
-  info_.parameters[ (TFM_SLANT_PARAMETER) - 1] = get_U32_fix_f ();
+  info_.parameters[ (TFM_SLANT_PARAMETER) - 1] = get_U32_fix ();
 
   for (Char_code i = 2; i <= header_.param_word_count; i++)
-    info_.parameters[i - 1] = get_U32_fix_scaled_f ();
+    info_.parameters[i - 1] = get_U32_fix_scaled ();
 
 }
 
@@ -184,7 +184,7 @@ Tex_font_metric_reader::read_char_metric
   
   //brr
   /* Move to the appropriate place in the `char_info' array.  */
-  input_.seek_ch_C (header_.char_info_pos + (code - info_.first_charcode) * 4);
+  input_.seek_str0 (header_.char_info_pos + (code - info_.first_charcode) * 4);
 
   /* Read the character.  */
   tfm_char = read_char ();
@@ -222,7 +222,7 @@ Tex_font_metric_reader::read_char ()
 #define GET_CHAR_DIMEN(d) \
    if (d##_index != 0) \
      { \
-       input_.seek_ch_C (header_. d##_pos + d##_index*4); \
+       input_.seek_str0 (header_. d##_pos + d##_index*4); \
        tfm_char.d##_fix_ = input_.get_U32 (); \
        tfm_char.d##_ = fix_to_real (tfm_char.d##_fix_) \
                       * info_.design_size; \
@@ -241,8 +241,8 @@ Tex_font_metric_reader::read_char ()
 
   if (tag == 1)
     {
-      input_.seek_ch_C (header_.lig_kern_pos + remainder * 4);
-      read_lig_kern_program (&tfm_char.ligature_arr_, &tfm_char.kern_arr_);
+      input_.seek_str0 (header_.lig_kern_pos + remainder * 4);
+      read_lig_kern_program (&tfm_char.ligatures_, &tfm_char.kerns_);
     }
 
   /* We don't handle the other tags.  */
@@ -257,7 +257,7 @@ Tex_font_metric_reader::read_char ()
 #define KERN_FLAG 128
 
 void
-Tex_font_metric_reader::read_lig_kern_program (Array <Tfm_ligature>* ligature_arr_p, Array <Tfm_kern>* kern_arr_p)
+Tex_font_metric_reader::read_lig_kern_program (Array <Tfm_ligature>* ligatures, Array <Tfm_kern>* kerns)
 {
   bool end_b;
 
@@ -275,12 +275,12 @@ Tex_font_metric_reader::read_lig_kern_pr
 	  Tfm_kern kern_element;
 	  kern_element.character = next_char;
 
-	  char const* old_pos = input_.pos_ch_C ();
-	  input_.seek_ch_C (header_.kern_pos + remainder * 4);
-	  kern_element.kern = get_U32_fix_scaled_f ();
+	  char const* old_pos = input_.pos_str0 ();
+	  input_.seek_str0 (header_.kern_pos + remainder * 4);
+	  kern_element.kern = get_U32_fix_scaled ();
 	  input_.set_pos (old_pos);
 
-	  kern_arr_p->push (kern_element);
+	  kerns->push (kern_element);
 
 	}
       else
@@ -288,7 +288,7 @@ Tex_font_metric_reader::read_lig_kern_pr
 	  Tfm_ligature ligature_element;
 	  ligature_element.character = next_char;
 	  ligature_element.ligature = remainder;
-	  ligature_arr_p->push (ligature_element);
+	  ligatures->push (ligature_element);
 
 	}
   } while (!end_b);
diff -purN ../lilypond-1.5.69/lily/tfm.cc ./lily/tfm.cc
--- ../lilypond-1.5.69/lily/tfm.cc	Thu Jul 11 12:55:25 2002
+++ ./lily/tfm.cc	Fri Jul 26 12:27:00 2002
@@ -49,10 +49,10 @@ Tex_font_char_metric::Tex_font_char_metr
   italic_correction_fix_ = 0;
 }
 
-#define APPEND_CHAR_METRIC_ELT(k)  outstr += to_str (#k) + " "  + to_str (k ## _)  + "; "
+#define APPEND_CHAR_METRIC_ELT(k)  outstr += to_string (#k) + " "  + to_string (k ## _)  + "; "
 
 String
-Tex_font_char_metric::str () const
+Tex_font_char_metric::string () const
 {
   String outstr ;
 
@@ -109,11 +109,11 @@ Tex_font_metric::get_char (int a) const
 
 
 String
-Tex_font_metric::str () const
+Tex_font_metric::string () const
 {
   String outstr;
   for (int i=0; i < char_metrics_.size (); i++)
-    outstr += char_metrics_[i].str ();
+    outstr += char_metrics_[i].string ();
   
   return outstr;
 }
@@ -124,13 +124,13 @@ Tex_font_metric::str () const
 SCM
 Tex_font_metric::make_tfm (String fn)
 {
-  Tex_font_metric * tfm_p = new Tex_font_metric;
+  Tex_font_metric * tfm = new Tex_font_metric;
   Tex_font_metric_reader reader (fn);
 
-  tfm_p->info_ = reader.info_;
-  tfm_p->header_ = reader.header_;
-  tfm_p->char_metrics_ = reader.char_metrics_;
-  tfm_p->ascii_to_metric_idx_ = reader.ascii_to_metric_idx_;
+  tfm->info_ = reader.info_;
+  tfm->header_ = reader.header_;
+  tfm->char_metrics_ = reader.char_metrics_;
+  tfm->ascii_to_metric_idx_ = reader.ascii_to_metric_idx_;
   
-  return tfm_p->self_scm ();
+  return tfm->self_scm ();
 }
diff -purN ../lilypond-1.5.69/lily/thread-devnull-engraver.cc ./lily/thread-devnull-engraver.cc
--- ../lilypond-1.5.69/lily/thread-devnull-engraver.cc	Sun Jul 14 15:10:02 2002
+++ ./lily/thread-devnull-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -36,14 +36,14 @@ Thread_devnull_engraver::acknowledge_gro
   if (s == ly_symbol2scm ("always")
       || (s == SCM_EOL
 	  && to_boolean (get_property ("soloADue"))
-	  && ((daddy_trans_l_->id_str_.left_str (3) == "two"
+	  && ((daddy_trans_->id_string_.left_string (3) == "two"
 	       && (to_boolean (get_property ("unison"))
 		   || to_boolean (get_property ("unisilence"))))
 
 	      /* Maybe this should be optional? */
 	      || to_boolean (get_property ("othersolo")))))
     {
-      i.grob_l_->suicide ();
+      i.grob_->suicide ();
     }
 }
 Thread_devnull_engraver::Thread_devnull_engraver(){}
diff -purN ../lilypond-1.5.69/lily/tie-column.cc ./lily/tie-column.cc
--- ../lilypond-1.5.69/lily/tie-column.cc	Wed Apr 10 19:25:36 2002
+++ ./lily/tie-column.cc	Fri Jul 26 12:27:00 2002
@@ -41,7 +41,7 @@ int
 tie_compare (Grob* const & s1,
 	     Grob* const & s2)
 {
-  return sign (Tie::position_f (s1) - Tie::position_f (s2));
+  return sign (Tie::get_position (s1) - Tie::get_position (s2));
 }
 
 /*
@@ -94,7 +94,7 @@ Tie_column::set_directions (Grob*me)
   for (int i=ties.size (); i--;)
     {
       Grob *  t = ties[i];
-      Real p = Tie::position_f (t);
+      Real p = Tie::get_position (t);
       Direction d = (Direction) sign (p);
       if (!d)
 	d = UP;
diff -purN ../lilypond-1.5.69/lily/tie-engraver.cc ./lily/tie-engraver.cc
--- ../lilypond-1.5.69/lily/tie-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/tie-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -33,12 +33,12 @@ class Tie_engraver : public Engraver
   Moment end_mom_;
   Moment next_end_mom_;
 
-  Tie_req *req_l_;
+  Tie_req *req_;
   Link_array<Grob> now_heads_;
   Link_array<Grob> stopped_heads_;
-  Link_array<Grob> tie_p_arr_;
+  Link_array<Grob> ties_;
 
-  Spanner * tie_column_p_;
+  Spanner * tie_column_;
   
   void set_melisma (bool);
   
@@ -57,8 +57,8 @@ public:
 
 Tie_engraver::Tie_engraver ()
 {
-  req_l_ = 0;
-  tie_column_p_ = 0;
+  req_ = 0;
+  tie_column_ = 0;
 }
 
 
@@ -70,7 +70,7 @@ Tie_engraver::try_music (Music *m)
       /*      if (end_mom_ > now_mom ())
        return false;
       */
-      req_l_ = c;
+      req_ = c;
       SCM m = get_property ("automaticMelismata");
       bool am = gh_boolean_p (m) &&gh_scm2bool (m);
       if (am)
@@ -85,15 +85,15 @@ Tie_engraver::try_music (Music *m)
 void
 Tie_engraver::set_melisma (bool m)
 {
-  daddy_trans_l_->set_property ("tieMelismaBusy", m ? SCM_BOOL_T : SCM_BOOL_F);
+  daddy_trans_->set_property ("tieMelismaBusy", m ? SCM_BOOL_T : SCM_BOOL_F);
 }
 
 void
 Tie_engraver::acknowledge_grob (Grob_info i)
 {
-  if (Note_head::has_interface (i.grob_l_))
+  if (Note_head::has_interface (i.grob_))
     {
-      now_heads_.push (i.grob_l_);
+      now_heads_.push (i.grob_);
     }
 }
 
@@ -110,7 +110,7 @@ head_pitch_compare (Grob  *const&a,Grob 
 void
 Tie_engraver::process_acknowledged_grobs ()
 {
-  if (req_l_)
+  if (req_)
     {
       now_heads_.sort (&head_pitch_compare);
       /*
@@ -159,8 +159,8 @@ Tie_engraver::process_acknowledged_grobs
 	  Tie::set_head (p,LEFT, dynamic_cast<Item*> (unsmob_grob (ly_car (pair))));
 	  Tie::set_head (p,RIGHT, dynamic_cast<Item*> (unsmob_grob (ly_cdr (pair))));
 	  
-	  tie_p_arr_.push (p);
-	  announce_grob(p, req_l_->self_scm());
+	  ties_.push (p);
+	  announce_grob(p, req_->self_scm());
 	}
       else for (SCM s = head_list; gh_pair_p (s); s = ly_cdr (s))
 	{
@@ -170,17 +170,17 @@ Tie_engraver::process_acknowledged_grobs
 	  Tie::set_head (p, LEFT, dynamic_cast<Item*> (unsmob_grob (ly_caar (s))));
 	  Tie::set_head (p, RIGHT, dynamic_cast<Item*> (unsmob_grob (ly_cdar (s))));
 	  
-	  tie_p_arr_.push (p);
-	  announce_grob(p, req_l_->self_scm());
+	  ties_.push (p);
+	  announce_grob(p, req_->self_scm());
 	}
 
-      if (tie_p_arr_.size () > 1 && !tie_column_p_)
+      if (ties_.size () > 1 && !tie_column_)
 	{
-	  tie_column_p_ = new Spanner (get_property ("TieColumn"));
+	  tie_column_ = new Spanner (get_property ("TieColumn"));
 
-	  for (int i = tie_p_arr_.size (); i--;)
-	    Tie_column::add_tie (tie_column_p_,tie_p_arr_ [i]);
-	  announce_grob(tie_column_p_, SCM_EOL);
+	  for (int i = ties_.size (); i--;)
+	    Tie_column::add_tie (tie_column_,ties_ [i]);
+	  announce_grob(tie_column_, SCM_EOL);
 	}
     }
 }
@@ -189,7 +189,7 @@ Tie_engraver::process_acknowledged_grobs
 void
 Tie_engraver::stop_translation_timestep ()
 {
-  req_l_ = 0;
+  req_ = 0;
 
   now_heads_.clear ();
 
@@ -197,15 +197,15 @@ Tie_engraver::stop_translation_timestep 
     we don't warn for no ties, since this happens naturally when you
     use skipTypesetting.  */
   
-  for (int i=0; i<  tie_p_arr_.size (); i++)
+  for (int i=0; i<  ties_.size (); i++)
    {
-      typeset_tie (tie_p_arr_[i]);
+      typeset_tie (ties_[i]);
     }
-  tie_p_arr_.clear ();
-  if (tie_column_p_)
+  ties_.clear ();
+  if (tie_column_)
     {
-      typeset_grob (tie_column_p_);
-      tie_column_p_ =0;
+      typeset_grob (tie_column_);
+      tie_column_ =0;
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/tie-performer.cc ./lily/tie-performer.cc
--- ../lilypond-1.5.69/lily/tie-performer.cc	Fri Feb  1 19:16:16 2002
+++ ./lily/tie-performer.cc	Fri Jul 26 12:27:00 2002
@@ -14,8 +14,8 @@
 #include "performer.hh"
 
 struct CNote_melodic_tuple {
-  Melodic_req *req_l_ ;
-  Audio_note *note_l_;
+  Melodic_req *req_ ;
+  Audio_note *note_;
   Moment end_;
   CNote_melodic_tuple ();
   CNote_melodic_tuple (Audio_note*, Melodic_req*, Moment);
@@ -43,10 +43,10 @@ public:
 private:
   bool done_;
   PQueue<CNote_melodic_tuple> past_notes_pq_;
-  Tie_req *req_l_;
+  Tie_req *req_;
   Array<CNote_melodic_tuple> now_notes_;
   Array<CNote_melodic_tuple> stopped_notes_;
-  Link_array<Audio_tie> tie_p_arr_;
+  Link_array<Audio_tie> ties_;
   
 protected:
   virtual void initialize ();
@@ -60,7 +60,7 @@ protected:
 
 Tie_performer::Tie_performer ()
 {
-  req_l_ = 0;
+  req_ = 0;
   done_ = false;
 }
 
@@ -70,18 +70,18 @@ ENTER_DESCRIPTION (Tie_performer, "", ""
 void
 Tie_performer::initialize ()
 {
-  req_l_ = 0;
+  req_ = 0;
 }
 
 
 bool
 Tie_performer::try_music (Music *m)
 {
-  if (!req_l_)
+  if (!req_)
     {
       if (Tie_req * c = dynamic_cast<Tie_req*> (m))
 	{
-	  req_l_ = c;
+	  req_ = c;
 	  return true;
 	}
     }
@@ -91,9 +91,9 @@ Tie_performer::try_music (Music *m)
 void
 Tie_performer::acknowledge_audio_element (Audio_element_info i)
 {
-  if (Audio_note *nh = dynamic_cast<Audio_note *> (i.elem_l_))
+  if (Audio_note *nh = dynamic_cast<Audio_note *> (i.elem_))
     {
-      Note_req * m = dynamic_cast<Note_req *> (i.req_l_);
+      Note_req * m = dynamic_cast<Note_req *> (i.req_);
       if (!m)
 	return;
       now_notes_.push (CNote_melodic_tuple (nh, m, now_mom ()+ m->length_mom ()));
@@ -103,7 +103,7 @@ Tie_performer::acknowledge_audio_element
 void
 Tie_performer::create_audio_elements ()
 {
-  if (req_l_ && ! done_)
+  if (req_ && ! done_)
     {
       Moment now = now_mom ();
       Link_array<Audio_note> nharr;
@@ -116,7 +116,7 @@ Tie_performer::create_audio_elements ()
       return;
     }
 
-  if (req_l_)
+  if (req_)
     {
       now_notes_.sort (CNote_melodic_tuple::pitch_compare);
       stopped_notes_.sort (CNote_melodic_tuple::pitch_compare);
@@ -126,8 +126,8 @@ Tie_performer::create_audio_elements ()
       while (i < now_notes_.size () && j < stopped_notes_.size ())
 	{
 	  int comp
-	    = Pitch::compare (*unsmob_pitch (now_notes_[i].req_l_->get_mus_property ("pitch")),
-				      *unsmob_pitch (stopped_notes_[j].req_l_->get_mus_property ("pitch")));
+	    = Pitch::compare (*unsmob_pitch (now_notes_[i].req_->get_mus_property ("pitch")),
+				      *unsmob_pitch (stopped_notes_[j].req_->get_mus_property ("pitch")));
 
 	  if (comp)
 	    {
@@ -142,13 +142,13 @@ Tie_performer::create_audio_elements ()
 		 made. Not infallible. Due to reordering in sort (),
 		 we will make the wrong ties when notenotes are
 		 added.  */
-	      if (tie_count > tie_p_arr_.size ())
+	      if (tie_count > ties_.size ())
 		{
 		  Audio_tie * p = new Audio_tie;
-		  p->set_note (LEFT, stopped_notes_[j].note_l_);
-		  p->set_note (RIGHT, now_notes_[i].note_l_);
-		  tie_p_arr_.push (p);
-		      announce_element (Audio_element_info (p, req_l_));
+		  p->set_note (LEFT, stopped_notes_[j].note_);
+		  p->set_note (RIGHT, now_notes_[i].note_);
+		  ties_.push (p);
+		      announce_element (Audio_element_info (p, req_));
 		}
 	      i++;
 	      j++;
@@ -156,9 +156,9 @@ Tie_performer::create_audio_elements ()
 	    }
 	}
       
-      if (!tie_p_arr_.size ())
+      if (!ties_.size ())
 	{
-	  req_l_->origin ()->warning (_ ("No ties were created!"));
+	  req_->origin ()->warning (_ ("No ties were created!"));
 	}
     }
 }
@@ -173,18 +173,18 @@ Tie_performer::stop_translation_timestep
     }
   now_notes_.clear ();
 
-  for (int i=0; i<  tie_p_arr_.size (); i++)
+  for (int i=0; i<  ties_.size (); i++)
    {
-     //play_element (tie_p_arr_[i]);
-     tie_p_arr_[i]->note_l_drul_[RIGHT]->tie_to (tie_p_arr_[i]->note_l_drul_[LEFT]);
+     //play_element (ties_[i]);
+     ties_[i]->note_l_drul_[RIGHT]->tie_to (ties_[i]->note_l_drul_[LEFT]);
    }
-  tie_p_arr_.clear ();
+  ties_.clear ();
 }
 
 void
 Tie_performer::start_translation_timestep ()
 {
-  req_l_ =0;
+  req_ =0;
   done_ = false;
   Moment now = now_mom ();
   while (past_notes_pq_.size () && past_notes_pq_.front ().end_ < now)
@@ -194,15 +194,15 @@ Tie_performer::start_translation_timeste
 
 CNote_melodic_tuple::CNote_melodic_tuple ()
 {
-  note_l_ =0;
-  req_l_ =0;
+  note_ =0;
+  req_ =0;
   end_ = 0;
 }
 
 CNote_melodic_tuple::CNote_melodic_tuple (Audio_note *h, Melodic_req*m, Moment mom)
 {
-  note_l_ = h;
-  req_l_ = m;
+  note_ = h;
+  req_ = m;
   end_ = mom;
 }
 
@@ -210,8 +210,8 @@ int
 CNote_melodic_tuple::pitch_compare (CNote_melodic_tuple const&h1,
 				    CNote_melodic_tuple const &h2)
 {
-  SCM p1  = h1.req_l_->get_mus_property ("pitch");
-  SCM p2  = h2.req_l_->get_mus_property ("pitch");  
+  SCM p1  = h1.req_->get_mus_property ("pitch");
+  SCM p2  = h2.req_->get_mus_property ("pitch");  
   return Pitch::compare (*unsmob_pitch (p1),
 			       *unsmob_pitch (p2));
 }
diff -purN ../lilypond-1.5.69/lily/tie.cc ./lily/tie.cc
--- ../lilypond-1.5.69/lily/tie.cc	Sat Jul 13 03:30:04 2002
+++ ./lily/tie.cc	Fri Jul 26 12:27:00 2002
@@ -37,13 +37,13 @@
 
 
 void
-Tie::set_head (Grob*me,Direction d, Item * head_l)
+Tie::set_head (Grob*me,Direction d, Item * h)
 {
   assert (!head (me,d));
-  index_set_cell (me->get_grob_property ("heads"), d, head_l->self_scm ());
+  index_set_cell (me->get_grob_property ("heads"), d, h->self_scm ());
   
-  dynamic_cast<Spanner*> (me)->set_bound (d, head_l);
-  me->add_dependency (head_l);
+  dynamic_cast<Spanner*> (me)->set_bound (d, h);
+  me->add_dependency (h);
 }
 
 void
@@ -63,10 +63,10 @@ Tie::head (Grob*me, Direction d) 
 }
 
 Real
-Tie::position_f (Grob*me) 
+Tie::get_position (Grob*me) 
 {
   Direction d = head (me,LEFT) ? LEFT:RIGHT;
-  return Staff_symbol_referencer::position_f (head (me,d));
+  return Staff_symbol_referencer::get_position (head (me,d));
 }
 
 
@@ -81,8 +81,8 @@ Tie::position_f (Grob*me) 
 Direction
 Tie::get_default_dir (Grob*me) 
 {
-  Item * sl =  head (me,LEFT) ? Rhythmic_head::stem_l (head (me,LEFT)) :0;
-  Item * sr =  head (me,RIGHT) ? Rhythmic_head::stem_l (head (me,RIGHT)) :0;  
+  Item * sl =  head (me,LEFT) ? Rhythmic_head::get_stem (head (me,LEFT)) :0;
+  Item * sr =  head (me,RIGHT) ? Rhythmic_head::get_stem (head (me,RIGHT)) :0;  
 
   if (sl && sr)
     {
@@ -198,16 +198,16 @@ Tie::get_control_points (SCM smob)
 
   */
 
-  Real ypos = Tie::position_f (me) * staff_space/2
+  Real ypos = Tie::get_position (me) * staff_space/2
     + dir * gh_scm2double (me->get_grob_property ("y-offset"));;
 
   /*
     Make sure we don't start on a dots
    */
-  if (Note_head::has_interface (l) && Rhythmic_head::dots_l (l))
+  if (Note_head::has_interface (l) && Rhythmic_head::get_dots (l))
     {
-      Grob* dots = Rhythmic_head::dots_l(l);
-      if(fabs (staff_space * Staff_symbol_referencer::position_f (dots) /2
+      Grob* dots = Rhythmic_head::get_dots (l);
+      if(fabs (staff_space * Staff_symbol_referencer::get_position (dots) /2
 	       - ypos) < 0.5)
 	{
 	  ypos += 0.5 * dir ;
@@ -312,7 +312,7 @@ Tie::brew_molecule (SCM smob) 
   
   Real thick =
     gh_scm2double (me->get_grob_property ("thickness"))
-    * me->paper_l ()->get_var ("linethickness");
+    * me->get_paper ()->get_var ("linethickness");
 
   Bezier b;
   int i = 0;
diff -purN ../lilypond-1.5.69/lily/time-scaled-music-iterator.cc ./lily/time-scaled-music-iterator.cc
--- ../lilypond-1.5.69/lily/time-scaled-music-iterator.cc	Fri Feb  1 19:16:16 2002
+++ ./lily/time-scaled-music-iterator.cc	Fri Jul 26 12:27:00 2002
@@ -18,11 +18,11 @@ Time_scaled_music_iterator::process (Mom
 {
   if (!m.to_bool ())
     {
-      Music_iterator *yeah = try_music (music_l ());
+      Music_iterator *yeah = try_music (get_music ());
       if (yeah)
-	set_translator (yeah->report_to_l ());
+	set_translator (yeah->report_to ());
       else
-	music_l ()->origin ()->warning (_ ("no one to print a tuplet start bracket"));
+	get_music ()->origin ()->warning (_ ("no one to print a tuplet start bracket"));
     }
 
   Music_wrapper_iterator::process (m);
diff -purN ../lilypond-1.5.69/lily/time-signature-engraver.cc ./lily/time-signature-engraver.cc
--- ../lilypond-1.5.69/lily/time-signature-engraver.cc	Mon Mar 11 01:49:52 2002
+++ ./lily/time-signature-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -16,7 +16,7 @@
   */
 class Time_signature_engraver : public Engraver
 {
-  Item * time_signature_p_;
+  Item * time_signature_;
   SCM last_time_fraction_;
 
 protected:
@@ -29,7 +29,7 @@ public:
 
 Time_signature_engraver::Time_signature_engraver ()
 { 
-  time_signature_p_ =0;
+  time_signature_ =0;
   last_time_fraction_ = SCM_BOOL_F;
 }
 
@@ -40,24 +40,24 @@ Time_signature_engraver::process_music (
     not rigorously safe, since the value might get GC'd and
     reallocated in the same spot */
   SCM fr= get_property ("timeSignatureFraction");
-  if (!time_signature_p_ && last_time_fraction_ != fr)
+  if (!time_signature_ && last_time_fraction_ != fr)
     {
       last_time_fraction_ = fr; 
-      time_signature_p_ = new Item (get_property ("TimeSignature"));
-      time_signature_p_->set_grob_property ("fraction",fr);
+      time_signature_ = new Item (get_property ("TimeSignature"));
+      time_signature_->set_grob_property ("fraction",fr);
 
-      if (time_signature_p_)
-	announce_grob(time_signature_p_, SCM_EOL);
+      if (time_signature_)
+	announce_grob(time_signature_, SCM_EOL);
     }
 }
 
 void
 Time_signature_engraver::stop_translation_timestep ()
 {
-  if (time_signature_p_) 
+  if (time_signature_) 
     {
-      typeset_grob (time_signature_p_);
-      time_signature_p_ =0;
+      typeset_grob (time_signature_);
+      time_signature_ =0;
     }
 }
  
diff -purN ../lilypond-1.5.69/lily/time-signature-performer.cc ./lily/time-signature-performer.cc
--- ../lilypond-1.5.69/lily/time-signature-performer.cc	Fri Feb  1 19:16:16 2002
+++ ./lily/time-signature-performer.cc	Fri Jul 26 12:27:00 2002
@@ -25,14 +25,14 @@ protected:
   SCM prev_fraction_;
 private:
 
-  Audio_time_signature* audio_p_;
+  Audio_time_signature* audio_;
 };
 
 
 Time_signature_performer::Time_signature_performer ()
 {
   prev_fraction_ = SCM_BOOL_F;
-  audio_p_ = 0;
+  audio_ = 0;
 }
 
 Time_signature_performer::~Time_signature_performer ()
@@ -50,8 +50,8 @@ Time_signature_performer::create_audio_e
       int b = gh_scm2int (ly_car (fr));
       int o = gh_scm2int (ly_cdr (fr));
       
-      audio_p_ = new Audio_time_signature (b,o);
-      Audio_element_info info (audio_p_, 0);
+      audio_ = new Audio_time_signature (b,o);
+      Audio_element_info info (audio_, 0);
       announce_element (info);
 
     }
@@ -60,10 +60,10 @@ Time_signature_performer::create_audio_e
 void
 Time_signature_performer::stop_translation_timestep ()
 {
-  if (audio_p_)
+  if (audio_)
     {
-      play_element (audio_p_);
-      audio_p_ = 0;
+      play_element (audio_);
+      audio_ = 0;
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/time-signature.cc ./lily/time-signature.cc
--- ../lilypond-1.5.69/lily/time-signature.cc	Mon May 20 13:48:55 2002
+++ ./lily/time-signature.cc	Fri Jul 26 12:27:00 2002
@@ -68,7 +68,7 @@ Time_signature::special_time_signature (
   /*
     First guess: s contains only the signature style, append fraction.
   */
-  String symbolname = "timesig-" + s + to_str (n) + "/" + to_str (d);
+  String symbolname = "timesig-" + s + to_string (n) + "/" + to_string (d);
   
   Molecule m = feta->find_by_name (symbolname);
   if (!m.empty_b ())
@@ -96,10 +96,10 @@ Time_signature::time_signature (Grob*me,
   SCM chain = Font_interface::font_alist_chain (me);
 
   Molecule n = Text_item::text2molecule (me,
-					 ly_str02scm (to_str (num).ch_C ()),
+					 ly_str02scm (to_string (num).to_str0 ()),
 					 chain);
   Molecule d = Text_item::text2molecule (me,
-					 ly_str02scm (to_str (den).ch_C ()),
+					 ly_str02scm (to_string (den).to_str0 ()),
 					 chain);
   n.align_to (X_AXIS, CENTER);
   d.align_to (X_AXIS, CENTER);
diff -purN ../lilypond-1.5.69/lily/timing-engraver.cc ./lily/timing-engraver.cc
--- ../lilypond-1.5.69/lily/timing-engraver.cc	Thu Jul  4 18:36:41 2002
+++ ./lily/timing-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -76,14 +76,14 @@ Timing_engraver::start_translation_times
 	}
     }
 
-  daddy_trans_l_->set_property ("whichBar", which);
+  daddy_trans_->set_property ("whichBar", which);
 }
 
 void
 Timing_engraver::stop_translation_timestep ()
 {
   Timing_translator::stop_translation_timestep ();
-  daddy_trans_l_->set_property ("whichBar", SCM_EOL);
+  daddy_trans_->set_property ("whichBar", SCM_EOL);
   last_moment_ = now_mom ();
       
 }
diff -purN ../lilypond-1.5.69/lily/timing-translator.cc ./lily/timing-translator.cc
--- ../lilypond-1.5.69/lily/timing-translator.cc	Thu Jul 11 12:55:26 2002
+++ ./lily/timing-translator.cc	Fri Jul 26 12:27:00 2002
@@ -19,13 +19,13 @@ void
 Timing_translator::stop_translation_timestep ()
 {
   Translator *t = this;
-  Global_translator *global_l =0;
+  Global_translator *global =0;
   do
     {
-      t = t->daddy_trans_l_ ;
-      global_l = dynamic_cast<Global_translator*> (t);
+      t = t->daddy_trans_ ;
+      global = dynamic_cast<Global_translator*> (t);
     }
-  while (!global_l);
+  while (!global);
 
   /* allbars == ! skipbars */
   SCM sb = get_property ("skipBars");
@@ -45,21 +45,21 @@ Timing_translator::stop_translation_time
 	    moment.  A waste of cpu?
 	   */
 	  && !now.grace_part_)
-	global_l->add_moment_to_process (now + barleft);
+	global->add_moment_to_process (now + barleft);
     }
 }
 
 void
 Timing_translator::initialize ()
 {
-  daddy_trans_l_->set_property ("timing" , SCM_BOOL_T);  
-  daddy_trans_l_->set_property ("currentBarNumber" , gh_int2scm (1));
+  daddy_trans_->set_property ("timing" , SCM_BOOL_T);  
+  daddy_trans_->set_property ("currentBarNumber" , gh_int2scm (1));
 
-  daddy_trans_l_->set_property ("timeSignatureFraction",
+  daddy_trans_->set_property ("timeSignatureFraction",
 				gh_cons (gh_int2scm (4), gh_int2scm (4)));
-  daddy_trans_l_->set_property ("measurePosition", Moment (Rational (0)).smobbed_copy ());
-  daddy_trans_l_->set_property ("measureLength", Moment (Rational (1)).smobbed_copy ());
-  daddy_trans_l_->set_property ("beatLength", Moment (Rational (1,4)).smobbed_copy ());
+  daddy_trans_->set_property ("measurePosition", Moment (Rational (0)).smobbed_copy ());
+  daddy_trans_->set_property ("measureLength", Moment (Rational (1)).smobbed_copy ());
+  daddy_trans_->set_property ("beatLength", Moment (Rational (1,4)).smobbed_copy ());
 }
 
 Rational
@@ -97,16 +97,16 @@ void
 Timing_translator::start_translation_timestep ()
 {
   Translator *t = this;
-  Global_translator *global_l =0;
+  Global_translator *global =0;
   do
     {
-      t = t->daddy_trans_l_ ;
-      global_l = dynamic_cast<Global_translator*> (t);
+      t = t->daddy_trans_ ;
+      global = dynamic_cast<Global_translator*> (t);
     }
-  while (!global_l);
+  while (!global);
 
-  Moment now = global_l->now_mom_;
-  Moment dt = now  - global_l -> prev_mom_;
+  Moment now = global->now_mom_;
+  Moment dt = now  - global -> prev_mom_;
   if (dt < Moment (0))
     {
       programming_error ("Moving backwards in time");
@@ -126,7 +126,7 @@ Timing_translator::start_translation_tim
   else
     {
       measposp = now;
-      daddy_trans_l_->set_property ("measurePosition", measposp.smobbed_copy ());
+      daddy_trans_->set_property ("measurePosition", measposp.smobbed_copy ());
     }
   
   measposp += dt;
@@ -148,8 +148,8 @@ Timing_translator::start_translation_tim
       b ++;
     }
 
-  daddy_trans_l_->set_property ("currentBarNumber", gh_int2scm (b));
-  daddy_trans_l_->set_property ("measurePosition", measposp.smobbed_copy ());
+  daddy_trans_->set_property ("currentBarNumber", gh_int2scm (b));
+  daddy_trans_->set_property ("measurePosition", measposp.smobbed_copy ());
 }
 
 ENTER_DESCRIPTION (Timing_translator, "","","","","" );
diff -purN ../lilypond-1.5.69/lily/translator-ctors.cc ./lily/translator-ctors.cc
--- ../lilypond-1.5.69/lily/translator-ctors.cc	Thu Jul 11 12:55:26 2002
+++ ./lily/translator-ctors.cc	Fri Jul 26 12:27:00 2002
@@ -17,15 +17,15 @@
 /*
   UGH. Dictionary is deprecated
  */
-Dictionary<Translator*> *global_translator_dict_p=0;
+Dictionary<Translator*> *global_translator_dict=0;
 
 LY_DEFINE(ly_get_all_translators,"ly-get-all-translators", 0, 0, 0,  (),
 	  "Return an list of a all translator objects that may be instantiated
 during a lilypond run.")
 {
   SCM l = SCM_EOL;
-  for (std::map<String,Translator*>::const_iterator (ci (global_translator_dict_p->begin()));
-       ci != global_translator_dict_p->end (); ci++)
+  for (std::map<String,Translator*>::const_iterator (ci (global_translator_dict->begin()));
+       ci != global_translator_dict->end (); ci++)
     {
       l = scm_cons ((*ci).second->self_scm (), l);
     }
@@ -35,18 +35,18 @@ during a lilypond run.")
 void
 add_translator (Translator *t)
 {
-  if (!global_translator_dict_p)
-    global_translator_dict_p = new Dictionary<Translator*>;
+  if (!global_translator_dict)
+    global_translator_dict = new Dictionary<Translator*>;
 
- (*global_translator_dict_p)[classname (t)] = t;
+ (*global_translator_dict)[classname (t)] = t;
 }
 
 Translator*
-get_translator_l (String s)
+get_translator (String s)
 {
-  if (global_translator_dict_p->elem_b (s))
+  if (global_translator_dict->elem_b (s))
     {
-	Translator* t = (*global_translator_dict_p)[s];
+	Translator* t = (*global_translator_dict)[s];
 	return t;
     }
 
diff -purN ../lilypond-1.5.69/lily/translator-def.cc ./lily/translator-def.cc
--- ../lilypond-1.5.69/lily/translator-def.cc	Mon Jul 22 12:22:00 2002
+++ ./lily/translator-def.cc	Fri Jul 26 12:27:00 2002
@@ -83,7 +83,7 @@ SCM
 Translator_def::modify_definition (SCM list, SCM str, bool add)
 {
   String s = ly_scm2string (str);
-  if (!get_translator_l (s))
+  if (!get_translator (s))
     error (_ ("Program has no such type"));
 
   if (add)
@@ -150,40 +150,40 @@ Translator_def::apply_pushpop_property (
 
 
 Link_array<Translator_def>
-Translator_def::path_to_acceptable_translator (SCM type_str, Music_output_def* odef) const
+Translator_def::path_to_acceptable_translator (SCM type_string, Music_output_def* odef) const
 {
-  assert (gh_string_p (type_str));
+  assert (gh_string_p (type_string));
   
-  Link_array<Translator_def> accepted_arr;
+  Link_array<Translator_def> accepteds;
   for (SCM s = accepts_name_list_; gh_pair_p (s); s = ly_cdr (s))
     {
-      Translator_def *t = unsmob_translator_def (odef->find_translator_l (ly_car (s)));
+      Translator_def *t = unsmob_translator_def (odef->find_translator (ly_car (s)));
       if (!t)
 	continue;
-      accepted_arr.push (t);
+      accepteds.push (t);
     }
 
   Link_array<Translator_def> best_result;
-  for (int i=0; i < accepted_arr.size (); i++)
+  for (int i=0; i < accepteds.size (); i++)
     {
 
       /*
 	don't check aliases, because \context Staff should not create RhythmicStaff.
       */
-      if (gh_equal_p (accepted_arr[i]->type_name_, type_str))
+      if (gh_equal_p (accepteds[i]->type_name_, type_string))
 	{
-	  best_result.push (accepted_arr[i]);
+	  best_result.push (accepteds[i]);
 	  return best_result;
 	}
     }
       
   int best_depth= INT_MAX;
-  for (int i=0; i < accepted_arr.size (); i++)
+  for (int i=0; i < accepteds.size (); i++)
     {
-      Translator_def * g = accepted_arr[i];
+      Translator_def * g = accepteds[i];
 
       Link_array<Translator_def> result
-	= g->path_to_acceptable_translator (type_str, odef);
+	= g->path_to_acceptable_translator (type_string, odef);
       if (result.size () && result.size () < best_depth)
 	{
 	  result.insert (g,0);
@@ -204,7 +204,7 @@ trans_list (SCM namelist, Translator_gro
   SCM l = SCM_EOL;
   for (SCM s = namelist; gh_pair_p (s) ; s = ly_cdr (s))
     {
-      Translator * t = get_translator_l (ly_scm2string (ly_car (s)));
+      Translator * t = get_translator (ly_scm2string (ly_car (s)));
       if (!t)
 	warning (_f ("can't find: `%s'", s));
       else
@@ -213,8 +213,8 @@ trans_list (SCM namelist, Translator_gro
 	  SCM str = tr->self_scm ();
 	  l = gh_cons (str, l);
 
-	  tr->daddy_trans_l_ = tg;
-	  tr->output_def_l_  = tg->output_def_l_;
+	  tr->daddy_trans_ = tg;
+	  tr->output_def_  = tg->output_def_;
 
 	  scm_gc_unprotect_object (str);
 	}
@@ -226,13 +226,13 @@ trans_list (SCM namelist, Translator_gro
 Translator_group *
 Translator_def::instantiate (Music_output_def* md)
 {
-  Translator * g = get_translator_l (ly_scm2string (translator_group_type_));
+  Translator * g = get_translator (ly_scm2string (translator_group_type_));
   g = g->clone (); 
 
   Translator_group *tg = dynamic_cast<Translator_group*> (g);
-  tg->output_def_l_ = md;
+  tg->output_def_ = md;
   tg->definition_ = self_scm ();
-  tg->type_str_ = ly_scm2string (type_name_);
+  tg->type_string_ = ly_scm2string (type_name_);
 
   /*
     TODO: ugh. we're reversing CONSISTS_NAME_LIST_ here
diff -purN ../lilypond-1.5.69/lily/translator-group.cc ./lily/translator-group.cc
--- ../lilypond-1.5.69/lily/translator-group.cc	Thu Jul 11 12:55:26 2002
+++ ./lily/translator-group.cc	Fri Jul 26 12:27:00 2002
@@ -70,8 +70,8 @@ Translator_group::add_translator (SCM li
     Must append, since list ordering must be preserved.
    */
   list = gh_append2 (list, gh_cons (t->self_scm (), SCM_EOL));
-  t->daddy_trans_l_ = this;
-  t->output_def_l_ = output_def_l_;
+  t->daddy_trans_ = this;
+  t->output_def_ = output_def_;
 
   return list;
 }
@@ -104,9 +104,9 @@ Translator_group::removable_b () const
 }
 
 Translator_group *
-Translator_group::find_existing_translator_l (String n, String id)
+Translator_group::find_existing_translator (String n, String id)
 {
-  if (is_alias_b (n) && (id_str_ == id || id.empty_b ()))
+  if (is_alias_b (n) && (id_string_ == id || id.empty_b ()))
     return this;
 
   Translator_group* r = 0;
@@ -114,7 +114,7 @@ Translator_group::find_existing_translat
     {
       Translator *  t = unsmob_translator (ly_car (p));
       
-      r = dynamic_cast<Translator_group*> (t)->find_existing_translator_l (n, id);
+      r = dynamic_cast<Translator_group*> (t)->find_existing_translator (n, id);
     }
 
   return r;
@@ -124,14 +124,14 @@ Translator_group::find_existing_translat
 
 
 Translator_group*
-Translator_group::find_create_translator_l (String n, String id)
+Translator_group::find_create_translator (String n, String id)
 {
-  Translator_group * existing = find_existing_translator_l (n,id);
+  Translator_group * existing = find_existing_translator (n,id);
   if (existing)
     return existing;
 
   Link_array<Translator_def> path
-    = unsmob_translator_def (definition_)->path_to_acceptable_translator (ly_str02scm ((char*)n.ch_C ()), output_def_l ());
+    = unsmob_translator_def (definition_)->path_to_acceptable_translator (ly_str02scm ((char*)n.to_str0 ()), get_output_def ());
 
   if (path.size ())
     {
@@ -140,10 +140,10 @@ Translator_group::find_create_translator
       // start at 1.  The first one (index 0) will be us.
       for (int i=0; i < path.size (); i++)
 	{
-	  Translator_group * new_group = path[i]->instantiate (output_def_l_);
+	  Translator_group * new_group = path[i]->instantiate (output_def_);
 
 	  if (i == path.size () -1)
-	    new_group->id_str_ = id;	  
+	    new_group->id_string_ = id;	  
 	  current->add_fresh_group_translator (new_group);
 	  current = new_group;
 	}
@@ -152,8 +152,8 @@ Translator_group::find_create_translator
     }
 
   Translator_group *ret = 0;
-  if (daddy_trans_l_)
-    ret = daddy_trans_l_->find_create_translator_l (n,id);
+  if (daddy_trans_)
+    ret = daddy_trans_->find_create_translator (n,id);
   else
     {
       warning (_f ("can't find or create `%s' called `%s'", n, id));
@@ -179,34 +179,34 @@ Translator_group::try_music (Music* m)
 {
   bool hebbes_b = try_music_on_nongroup_children (m);
   
-  if (!hebbes_b && daddy_trans_l_)
-    hebbes_b = daddy_trans_l_->try_music (m);
+  if (!hebbes_b && daddy_trans_)
+    hebbes_b = daddy_trans_->try_music (m);
   return hebbes_b ;
 }
 
 int
-Translator_group::depth_i () const
+Translator_group::get_depth () const
 {
-  return (daddy_trans_l_) ? daddy_trans_l_->depth_i ()  + 1 : 0;
+  return (daddy_trans_) ? daddy_trans_->get_depth ()  + 1 : 0;
 }
 
 Translator_group*
-Translator_group::ancestor_l (int level)
+Translator_group::get_ancestor (int level)
 {
-  if (!level || !daddy_trans_l_)
+  if (!level || !daddy_trans_)
     return this;
 
-  return daddy_trans_l_->ancestor_l (level-1);
+  return daddy_trans_->get_ancestor (level-1);
 }
 
 void
-Translator_group::terminate_translator (Translator*r_l)
+Translator_group::terminate_translator (Translator*r)
 {
-  r_l->removal_processing ();
+  r->removal_processing ();
   /*
     Return value ignored. GC does the rest.
    */
-  remove_translator_p (r_l);
+  remove_translator (r);
 }
 
 
@@ -214,13 +214,13 @@ Translator_group::terminate_translator (
    Remove a translator from the hierarchy.
  */
 Translator *
-Translator_group::remove_translator_p (Translator*trans_l)
+Translator_group::remove_translator (Translator*trans)
 {
-  assert (trans_l);
+  assert (trans);
 
-  trans_group_list_ = scm_delq_x (trans_l->self_scm (), trans_group_list_);
-  trans_l->daddy_trans_l_ = 0;
-  return trans_l;
+  trans_group_list_ = scm_delq_x (trans->self_scm (), trans_group_list_);
+  trans->daddy_trans_ = 0;
+  return trans;
 }
 
 bool
@@ -236,15 +236,15 @@ Translator_group::get_default_interprete
   if (!is_bottom_translator_b ())
     {
       SCM nm = unsmob_translator_def (definition_)->default_child_context_name ();
-      SCM st = output_def_l ()->find_translator_l (nm);
+      SCM st = get_output_def ()->find_translator (nm);
 
       Translator_def *t = unsmob_translator_def (st);
       if (!t)
 	{
-	  warning (_f ("can't find or create: `%s'", ly_scm2string (nm).ch_C ()));
+	  warning (_f ("can't find or create: `%s'", ly_scm2string (nm).to_str0 ()));
 	  t = unsmob_translator_def (this->definition_);
 	}
-      Translator_group *tg = t->instantiate (output_def_l_);
+      Translator_group *tg = t->instantiate (output_def_);
       add_fresh_group_translator (tg);
 
       if (!tg->is_bottom_translator_b ())
@@ -282,7 +282,7 @@ Translator_group::where_defined (SCM sym
       return (Translator_group*)this;
     }
 
-  return (daddy_trans_l_) ? daddy_trans_l_->where_defined (sym) : 0;
+  return (daddy_trans_) ? daddy_trans_->where_defined (sym) : 0;
 }
 
 /*
@@ -295,8 +295,8 @@ Translator_group::internal_get_property 
   if (properties_dict ()->try_retrieve (sym, &val))
     return val;
 
-  if (daddy_trans_l_)
-    return daddy_trans_l_->internal_get_property (sym);
+  if (daddy_trans_)
+    return daddy_trans_->internal_get_property (sym);
   
   return val;
 }
@@ -416,7 +416,7 @@ LY_DEFINE(ly_get_context_property,
   Translator *t = unsmob_translator (context);
   Translator_group* tr=   dynamic_cast<Translator_group*> (t);
   SCM_ASSERT_TYPE(tr, context, SCM_ARG1, __FUNCTION__, "Translator group");
-  SCM_ASSERT_TYPE(gh_symbol_p(name), name, SCM_ARG2, __FUNCTION__, "symbol");
+  SCM_ASSERT_TYPE(gh_symbol_p (name), name, SCM_ARG2, __FUNCTION__, "symbol");
 
   return tr->internal_get_property (name);
   
diff -purN ../lilypond-1.5.69/lily/translator.cc ./lily/translator.cc
--- ../lilypond-1.5.69/lily/translator.cc	Thu Jul 11 12:55:26 2002
+++ ./lily/translator.cc	Fri Jul 26 12:27:00 2002
@@ -27,21 +27,21 @@ Translator::init ()
   trans_group_list_ = SCM_EOL;
   properties_scm_ = SCM_EOL;
   definition_ = SCM_EOL;
-  daddy_trans_l_ =0;
+  daddy_trans_ =0;
 }
 
 Translator::Translator ()
 {
   init ();
-  output_def_l_ = 0;
+  output_def_ = 0;
   smobify_self ();
 }
 
 Translator::Translator (Translator const &s)
 {
   init ();
-  output_def_l_ = s.output_def_l_;
-  type_str_ = s.type_str_;
+  output_def_ = s.output_def_;
+  type_string_ = s.type_string_;
 
   smobify_self ();
 }
@@ -49,7 +49,7 @@ Translator::Translator (Translator const
 bool
 Translator::is_alias_b (String s) const
 {
-  bool b  = s == type_str_;
+  bool b  = s == type_string_;
 
   for (SCM a = unsmob_translator_def (definition_)->type_aliases_;
        !b && gh_pair_p (a); a = ly_cdr (a))
@@ -68,7 +68,7 @@ Translator::try_music (Music *)
 Moment
 Translator::now_mom () const
 {
-  return daddy_trans_l_->now_mom ();
+  return daddy_trans_->now_mom ();
 }
 
 void
@@ -83,15 +83,15 @@ Translator::do_announces ()
 }
 
 Music_output_def *
-Translator::output_def_l () const
+Translator::get_output_def () const
 {
-  return output_def_l_;
+  return output_def_;
 }
 
 SCM
 Translator::internal_get_property (SCM sym) const
 {
-  return daddy_trans_l_->internal_get_property (sym);
+  return daddy_trans_->internal_get_property (sym);
 }
 
 void
diff -purN ../lilypond-1.5.69/lily/tuplet-bracket.cc ./lily/tuplet-bracket.cc
--- ../lilypond-1.5.69/lily/tuplet-bracket.cc	Sat Jul 13 03:30:04 2002
+++ ./lily/tuplet-bracket.cc	Fri Jul 26 12:27:00 2002
@@ -44,10 +44,10 @@
 static Grob*
 get_x_bound_grob (Grob *g, Direction my_dir)
 {
-  if (Note_column::stem_l (g)
+  if (Note_column::get_stem (g)
       && Note_column::dir (g) == my_dir)
     {
-      g = Note_column::stem_l (g);
+      g = Note_column::get_stem (g);
     }
   return g;
 }
@@ -60,11 +60,11 @@ Tuplet_bracket::parallel_beam (Grob *me,
   /*
     ugh: code dup. 
   */
-  Grob *s1 = Note_column::stem_l (cols[0]); 
-  Grob *s2 = Note_column::stem_l (cols.top());    
+  Grob *s1 = Note_column::get_stem (cols[0]); 
+  Grob *s2 = Note_column::get_stem (cols.top());    
 
-  Grob*b1 = s1 ? Stem::beam_l (s1) : 0;
-  Grob*b2 = s2 ? Stem::beam_l (s2) : 0;
+  Grob*b1 = s1 ? Stem::get_beam (s1) : 0;
+  Grob*b2 = s2 ? Stem::get_beam (s2) : 0;
   
   Spanner*sp = dynamic_cast<Spanner*> (me);  
 
@@ -100,14 +100,14 @@ Tuplet_bracket::brew_molecule (SCM smob)
 {
   Grob *me= unsmob_grob (smob);
   Molecule  mol;
-  Link_array<Grob> column_arr=
+  Link_array<Grob> columns=
     Pointer_group_interface__extract_grobs (me, (Grob*)0, "note-columns");
 
-  if (!column_arr.size ())
+  if (!columns.size ())
     return mol.smobbed_copy ();
 
   bool equally_long = false;
-  Grob * par_beam = parallel_beam (me, column_arr, &equally_long);
+  Grob * par_beam = parallel_beam (me, columns, &equally_long);
 
   Spanner*sp = dynamic_cast<Spanner*> (me);  
 
@@ -133,11 +133,11 @@ Tuplet_bracket::brew_molecule (SCM smob)
   else if (numb == ly_symbol2scm ("if-no-beam"))
     number_visibility = !par_beam;
 	
-  Grob * commonx = column_arr[0]->common_refpoint (column_arr.top (),X_AXIS);
+  Grob * commonx = columns[0]->common_refpoint (columns.top (),X_AXIS);
   Direction dir = Directional_element_interface::get (me);
 
-  Grob * lgr = get_x_bound_grob (column_arr[0], dir);
-  Grob * rgr = get_x_bound_grob (column_arr.top(), dir);  
+  Grob * lgr = get_x_bound_grob (columns[0], dir);
+  Grob * rgr = get_x_bound_grob (columns.top(), dir);  
   Real x0 = lgr->extent (commonx,X_AXIS)[LEFT];
   Real x1 = rgr->extent (commonx,X_AXIS)[RIGHT];
 
@@ -162,7 +162,7 @@ Tuplet_bracket::brew_molecule (SCM smob)
       
   if (bracket_visibility)      
     {
-      Real  lt =  me->paper_l ()->get_var ("linethickness");
+      Real  lt =  me->get_paper ()->get_var ("linethickness");
   
       SCM thick = me->get_grob_property ("thickness");
       if (gh_number_p (thick))
@@ -256,7 +256,7 @@ Tuplet_bracket::make_bracket (Axis protu
 void
 Tuplet_bracket::calc_position_and_height (Grob*me,Real *offset, Real * dy) 
 {
-  Link_array<Grob> column_arr=
+  Link_array<Grob> columns=
     Pointer_group_interface__extract_grobs (me, (Grob*)0, "note-columns");
 
 
@@ -270,17 +270,17 @@ Tuplet_bracket::calc_position_and_height
     Use outer non-rest columns to determine slope
    */
   int l = 0;
-  while (l <column_arr.size () && Note_column::rest_b (column_arr[l]))
+  while (l <columns.size () && Note_column::rest_b (columns[l]))
     l ++;
 
-  int r = column_arr.size ()- 1;
-  while (r >= l && Note_column::rest_b (column_arr[r]))
+  int r = columns.size ()- 1;
+  while (r >= l && Note_column::rest_b (columns[r]))
     r--;
   
   if (l < r)
     {
-      *dy = column_arr[r]->extent (commony, Y_AXIS) [dir]
-	- column_arr[l]->extent (commony, Y_AXIS) [dir] ;
+      *dy = columns[r]->extent (commony, Y_AXIS) [dir]
+	- columns[l]->extent (commony, Y_AXIS) [dir] ;
     }
   else
     * dy = 0;
@@ -288,13 +288,13 @@ Tuplet_bracket::calc_position_and_height
 
   *offset = - dir * infinity_f;
 
-  if (!column_arr.size ())
+  if (!columns.size ())
     return;
 
 
   
-  Grob * lgr = get_x_bound_grob (column_arr[0], dir);
-  Grob * rgr = get_x_bound_grob (column_arr.top(), dir);  
+  Grob * lgr = get_x_bound_grob (columns[0], dir);
+  Grob * rgr = get_x_bound_grob (columns.top(), dir);  
   Real x0 = lgr->extent (commonx,X_AXIS)[LEFT];
   Real x1 = rgr->extent (commonx,X_AXIS)[RIGHT];
 
@@ -302,14 +302,14 @@ Tuplet_bracket::calc_position_and_height
     /*
       Slope.
     */
-  Real factor = column_arr.size () > 1 ? 1/ (x1 - x0) : 1.0;
+  Real factor = columns.size () > 1 ? 1/ (x1 - x0) : 1.0;
   
-  for (int i = 0; i < column_arr.size ();  i++)
+  for (int i = 0; i < columns.size ();  i++)
     {
-      Real notey = column_arr[i]->extent (commony, Y_AXIS)[dir] 
+      Real notey = columns[i]->extent (commony, Y_AXIS)[dir] 
 	- me->relative_coordinate (commony, Y_AXIS);
 
-      Real x = column_arr[i]->relative_coordinate (commonx, X_AXIS) - x0;
+      Real x = columns[i]->relative_coordinate (commonx, X_AXIS) - x0;
       Real tuplety =  *dy * x * factor;
 
       if (notey * dir > (*offset + tuplety) * dir)
@@ -344,15 +344,15 @@ Tuplet_bracket::calc_position_and_height
 void
 Tuplet_bracket::calc_dy (Grob*me,Real * dy)
 {
-  Link_array<Grob> column_arr=
+  Link_array<Grob> columns=
     Pointer_group_interface__extract_grobs (me, (Grob*)0, "note-columns");
 
   /*
     ugh. refps.
    */
   Direction d = Directional_element_interface::get (me);
-  *dy = column_arr.top ()->extent (column_arr.top (), Y_AXIS) [d]
-    - column_arr[0]->extent (column_arr[0], Y_AXIS) [d];
+  *dy = columns.top ()->extent (columns.top (), Y_AXIS) [d]
+    - columns[0]->extent (columns[0], Y_AXIS) [d];
 }
 
 
@@ -364,14 +364,14 @@ SCM
 Tuplet_bracket::before_line_breaking (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
-  Link_array<Grob> column_arr=
+  Link_array<Grob> columns=
     Pointer_group_interface__extract_grobs (me, (Grob*)0, "note-columns");
 
 
-  for (int i = column_arr.size(); i--;)
+  for (int i = columns.size(); i--;)
     {
-      Grob * s =Note_column::stem_l (column_arr[i]);
-      Grob * b = s ? Stem::beam_l (s): 0;
+      Grob * s =Note_column::get_stem (columns[i]);
+      Grob * b = s ? Stem::get_beam (s): 0;
       if (b)
 	me->add_dependency (b);
     }
@@ -384,10 +384,10 @@ SCM
 Tuplet_bracket::after_line_breaking (SCM smob)
 {
   Grob * me = unsmob_grob (smob);
-  Link_array<Grob> column_arr=
+  Link_array<Grob> columns=
     Pointer_group_interface__extract_grobs (me, (Grob*)0, "note-columns");
 
-  if (!column_arr.size ())
+  if (!columns.size ())
     {
       me->suicide ();
       return SCM_UNSPECIFIED;
@@ -407,7 +407,7 @@ Tuplet_bracket::after_line_breaking (SCM
     }
   
   bool equally_long = false;
-  Grob * par_beam = parallel_beam (me, column_arr, &equally_long);
+  Grob * par_beam = parallel_beam (me, columns, &equally_long);
 
   /*
     We follow the beam only if there is one, and we are next to it.
diff -purN ../lilypond-1.5.69/lily/tuplet-engraver.cc ./lily/tuplet-engraver.cc
--- ../lilypond-1.5.69/lily/tuplet-engraver.cc	Wed Jun 19 21:06:33 2002
+++ ./lily/tuplet-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -23,14 +23,14 @@ public:
   TRANSLATOR_DECLARATIONS(Tuplet_engraver);
 
 protected:
-  Link_array<Time_scaled_music> time_scaled_music_arr_;
-  /// when does the scaled music stop? Array order is synced with time_scaled_music_arr_
+  Link_array<Time_scaled_music> time_scaled_musics_;
+  /// when does the scaled music stop? Array order is synced with time_scaled_musics_
   Array<Rational> stop_moments_;
-  /// when does the current spanner stop? Array order is synced with time_scaled_music_arr_
+  /// when does the current spanner stop? Array order is synced with time_scaled_musics_
   Array<Rational> span_stop_moments_;
   
-  /// The spanners. Array order is synced with time_scaled_music_arr_
-  Link_array<Spanner> started_span_p_arr_;
+  /// The spanners. Array order is synced with time_scaled_musics_
+  Link_array<Spanner> started_spanners_;
 
   virtual void finalize ();
   virtual void acknowledge_grob (Grob_info);
@@ -47,7 +47,7 @@ Tuplet_engraver::try_music (Music *r)
       Music *el = c->element ();
       if (!dynamic_cast<Request_chord*> (el))
 	{
-	  time_scaled_music_arr_.push (c);
+	  time_scaled_musics_.push (c);
 	  Rational m = now_mom ().main_part_ + c->length_mom ().main_part_;
 	  stop_moments_.push (m);
 
@@ -69,38 +69,38 @@ Tuplet_engraver::process_acknowledged_gr
   if (to_boolean (v))
     return;
 
-  for (int i= 0; i < time_scaled_music_arr_.size (); i++)
+  for (int i= 0; i < time_scaled_musics_.size (); i++)
     {
-      if (i < started_span_p_arr_.size () && started_span_p_arr_[i])
+      if (i < started_spanners_.size () && started_spanners_[i])
 	continue;
 
       Spanner* glep = new Spanner (get_property ("TupletBracket"));
 
-      if (i >= started_span_p_arr_.size ())
-	started_span_p_arr_.push (glep);
+      if (i >= started_spanners_.size ())
+	started_spanners_.push (glep);
       else
-	started_span_p_arr_[i] = glep;
+	started_spanners_[i] = glep;
       
 
       SCM proc = get_property ("tupletNumberFormatFunction");
       if (gh_procedure_p (proc))
 	{
-	  SCM t = gh_apply (proc, scm_list_n (time_scaled_music_arr_[i]->self_scm (), SCM_UNDEFINED));
+	  SCM t = gh_apply (proc, scm_list_n (time_scaled_musics_[i]->self_scm (), SCM_UNDEFINED));
 	  glep->set_grob_property ("text", t);
 	}
       
-      announce_grob(glep, time_scaled_music_arr_ [i]->self_scm());
+      announce_grob(glep, time_scaled_musics_ [i]->self_scm());
     }
 }
 
 void
 Tuplet_engraver::acknowledge_grob (Grob_info i)
 {
-  if (Note_column::has_interface (i.grob_l_))
+  if (Note_column::has_interface (i.grob_))
     {
-      for (int j =0; j  <started_span_p_arr_.size (); j++)
-	if (started_span_p_arr_[j]) 
-	  Tuplet_bracket::add_column (started_span_p_arr_[j], dynamic_cast<Item*> (i.grob_l_));
+      for (int j =0; j  <started_spanners_.size (); j++)
+	if (started_spanners_[j]) 
+	  Tuplet_bracket::add_column (started_spanners_[j], dynamic_cast<Item*> (i.grob_));
     }
 }
 
@@ -114,14 +114,14 @@ Tuplet_engraver::start_translation_times
   if (unsmob_moment (s))
     tsd = unsmob_moment (s)->main_part_;
 
-  for (int i= started_span_p_arr_.size (); i--;)
+  for (int i= started_spanners_.size (); i--;)
     {
       if (now.main_part_ >= span_stop_moments_[i])
 	{
-	  if (started_span_p_arr_[i])
+	  if (started_spanners_[i])
 	    {
-	      typeset_grob (started_span_p_arr_[i]);
-	      started_span_p_arr_[i] =0;
+	      typeset_grob (started_spanners_[i]);
+	      started_spanners_[i] =0;
 	    }
 	  
 	  if (tsd.to_bool ())
@@ -130,10 +130,10 @@ Tuplet_engraver::start_translation_times
 
       if (now.main_part_ >= stop_moments_[i])
 	{
-	  started_span_p_arr_.del (i);
+	  started_spanners_.del (i);
 	  stop_moments_.del (i);
 	  span_stop_moments_.del (i);
-	  time_scaled_music_arr_.del (i);
+	  time_scaled_musics_.del (i);
 	}
     }
 }
@@ -141,10 +141,10 @@ Tuplet_engraver::start_translation_times
 void
 Tuplet_engraver::finalize ()
 {
-  for (int i=0; i < started_span_p_arr_.size (); i++)
+  for (int i=0; i < started_spanners_.size (); i++)
     {
-      if (started_span_p_arr_[i])
-	typeset_grob (started_span_p_arr_[i]);
+      if (started_spanners_[i])
+	typeset_grob (started_spanners_[i]);
     }  
 }
 
diff -purN ../lilypond-1.5.69/lily/type-swallow-translator.cc ./lily/type-swallow-translator.cc
--- ../lilypond-1.5.69/lily/type-swallow-translator.cc	Fri Feb  1 19:16:16 2002
+++ ./lily/type-swallow-translator.cc	Fri Jul 26 12:27:00 2002
@@ -13,7 +13,7 @@
 bool
 Type_swallow_translator::try_music (Music*r)
 {
-  if (classname (r) == swallow_str_)
+  if (classname (r) == swallow_string_)
       return true;
   return false;
 }
diff -purN ../lilypond-1.5.69/lily/unfolded-repeat-iterator.cc ./lily/unfolded-repeat-iterator.cc
--- ../lilypond-1.5.69/lily/unfolded-repeat-iterator.cc	Fri Jul 12 01:07:09 2002
+++ ./lily/unfolded-repeat-iterator.cc	Fri Jul 26 12:27:00 2002
@@ -28,10 +28,10 @@ Unfolded_repeat_iterator::get_music_list
   SCM l = SCM_EOL;
   SCM *tail = &l;
   
-  SCM body = music_l ()->get_mus_property ("element");
-  SCM alts = music_l ()->get_mus_property ("elements");
+  SCM body = get_music ()->get_mus_property ("element");
+  SCM alts = get_music ()->get_mus_property ("elements");
   int alt_count = scm_ilength (alts);
-  int rep_count = gh_scm2int (music_l ()->get_mus_property ("repeat-count"));
+  int rep_count = gh_scm2int (get_music ()->get_mus_property ("repeat-count"));
 
   for (int i = 0; i < rep_count; i++)
     {
@@ -81,8 +81,8 @@ Volta_repeat_iterator::Volta_repeat_iter
 SCM
 Volta_repeat_iterator::get_music_list()const
 {
-  return gh_cons (music_l ()->get_mus_property ("element"),
-		  music_l ()->get_mus_property ("elements"));
+  return gh_cons (get_music ()->get_mus_property ("element"),
+		  get_music ()->get_mus_property ("elements"));
 }
 
 void
@@ -90,10 +90,10 @@ Volta_repeat_iterator::construct_childre
 {
   Sequential_iterator::construct_children();
   
-  SCM alts = music_l ()->get_mus_property ("elements");
+  SCM alts = get_music ()->get_mus_property ("elements");
 
   alt_count_ = scm_ilength (alts);
-  rep_count_ = gh_scm2int (music_l ()->get_mus_property ("repeat-count"));
+  rep_count_ = gh_scm2int (get_music ()->get_mus_property ("repeat-count"));
   done_count_ = 0;
 }
 
@@ -105,9 +105,9 @@ void
 Volta_repeat_iterator::add_repeat_command (SCM what)
 {
   SCM reps = ly_symbol2scm ("repeatCommands");
-  SCM current_reps = report_to_l ()->internal_get_property (reps);
+  SCM current_reps = report_to ()->internal_get_property (reps);
 
-  Translator_group * where = report_to_l ()->where_defined (reps);
+  Translator_group * where = report_to ()->where_defined (reps);
   if (where
       && current_reps == SCM_EOL || gh_pair_p (current_reps))
     {
@@ -128,7 +128,7 @@ Volta_repeat_iterator::next_element (boo
     {    
       if (alt_count_)
 	{
-	  String repstr = to_str (rep_count_ - alt_count_ + done_count_) + ".";
+	  String repstr = to_string (rep_count_ - alt_count_ + done_count_) + ".";
 	  if (done_count_ > 1)
 	    {
 	      add_repeat_command (scm_list_n (ly_symbol2scm ("volta"), SCM_BOOL_F, SCM_UNDEFINED));
@@ -141,12 +141,12 @@ Volta_repeat_iterator::next_element (boo
       
 	  if (done_count_ == 1 && alt_count_ < rep_count_)
 	    {
-	      repstr = "1.--" + to_str (rep_count_ - alt_count_ + done_count_) + ".";
+	      repstr = "1.--" + to_string (rep_count_ - alt_count_ + done_count_) + ".";
 	    }
 
 	  if (done_count_ <= alt_count_)
 	    add_repeat_command (scm_list_n (ly_symbol2scm ("volta"),
-					    ly_str02scm (repstr.ch_C ()), SCM_UNDEFINED));
+					    ly_str02scm (repstr.to_str0 ()), SCM_UNDEFINED));
 	}
       else
 	{
diff -purN ../lilypond-1.5.69/lily/vertical-align-engraver.cc ./lily/vertical-align-engraver.cc
--- ../lilypond-1.5.69/lily/vertical-align-engraver.cc	Mon Feb  4 00:12:07 2002
+++ ./lily/vertical-align-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -15,7 +15,7 @@
 
 class Vertical_align_engraver : public Engraver
 {
-  Spanner * valign_p_;
+  Spanner * valign_;
   bool qualifies_b (Grob_info) const;  
 public:
   TRANSLATOR_DECLARATIONS(Vertical_align_engraver);
@@ -27,33 +27,33 @@ protected:
 
 Vertical_align_engraver::Vertical_align_engraver ()
 {
-  valign_p_ =0;
+  valign_ =0;
 }
 
 void
 Vertical_align_engraver::initialize ()
 {
-  valign_p_ =new Spanner (get_property ("VerticalAlignment"));
-  valign_p_->set_bound (LEFT,unsmob_grob (get_property ("currentCommandColumn")));
-  announce_grob(valign_p_ , SCM_EOL);
+  valign_ =new Spanner (get_property ("VerticalAlignment"));
+  valign_->set_bound (LEFT,unsmob_grob (get_property ("currentCommandColumn")));
+  announce_grob(valign_ , SCM_EOL);
 }
 
 void
 Vertical_align_engraver::finalize ()
 {
-  valign_p_->set_bound (RIGHT,unsmob_grob (get_property ("currentCommandColumn")));
-  typeset_grob (valign_p_);
-  valign_p_ =0;
+  valign_->set_bound (RIGHT,unsmob_grob (get_property ("currentCommandColumn")));
+  typeset_grob (valign_);
+  valign_ =0;
 }
 
 
 bool
 Vertical_align_engraver::qualifies_b (Grob_info i) const
 {
-  int sz = i.origin_trans_l_arr ((Translator*)this).size ()  ;
+  int sz = i.origin_transes ((Translator*)this).size ()  ;
 
-  return sz > 1 && Axis_group_interface::has_interface (i.grob_l_)
-    && !i.grob_l_->get_parent (Y_AXIS) && Axis_group_interface::axis_b (i.grob_l_, Y_AXIS);
+  return sz > 1 && Axis_group_interface::has_interface (i.grob_)
+    && !i.grob_->get_parent (Y_AXIS) && Axis_group_interface::axis_b (i.grob_, Y_AXIS);
 }
 
 void
@@ -61,7 +61,7 @@ Vertical_align_engraver::acknowledge_gro
 {
   if (qualifies_b (i))
     {
-      Align_interface::add_element (valign_p_,i.grob_l_, get_property ("verticalAlignmentChildCallback"));
+      Align_interface::add_element (valign_,i.grob_, get_property ("verticalAlignmentChildCallback"));
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/voice-devnull-engraver.cc ./lily/voice-devnull-engraver.cc
--- ../lilypond-1.5.69/lily/voice-devnull-engraver.cc	Sun Jul 14 15:10:02 2002
+++ ./lily/voice-devnull-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -45,7 +45,7 @@ Voice_devnull_engraver::try_music (Music
 
   if (gh_equal_p (s, ly_symbol2scm ("always"))
       || (s == SCM_EOL
-	  && daddy_trans_l_->id_str_.left_str (3) == "two"
+	  && daddy_trans_->id_string_.left_string (3) == "two"
 	  && (to_boolean (get_property ("unison"))
 	      || to_boolean (get_property ("unisilence")))))
     {
@@ -95,14 +95,14 @@ Voice_devnull_engraver::acknowledge_grob
 	  soloADue requirement */
   if (s == ly_symbol2scm ("always")
       || (s == SCM_EOL
-	  && daddy_trans_l_->id_str_.left_str (3) == "two"
+	  && daddy_trans_->id_string_.left_string (3) == "two"
 	  && (to_boolean (get_property ("unison"))
 	      || to_boolean (get_property ("unisilence")))))
 #else
     if (s == ly_symbol2scm ("always")
 	|| (s == SCM_EOL
 	    && to_boolean (get_property ("soloADue"))
-	    && ((daddy_trans_l_->id_str_.left_str (3) == "two"
+	    && ((daddy_trans_->id_string_.left_string (3) == "two"
 		 && (to_boolean (get_property ("unison"))
 		     || to_boolean (get_property ("unisilence"))))
 		
@@ -111,9 +111,9 @@ Voice_devnull_engraver::acknowledge_grob
 #endif
     
     for (char const **p = junk_interfaces; *p; p++)
-      if (i.grob_l_->internal_has_interface (ly_symbol2scm (*p)))
+      if (i.grob_->internal_has_interface (ly_symbol2scm (*p)))
 	{
-	  i.grob_l_->suicide ();
+	  i.grob_->suicide ();
 	  return;
 	}
 }
diff -purN ../lilypond-1.5.69/lily/volta-bracket.cc ./lily/volta-bracket.cc
--- ../lilypond-1.5.69/lily/volta-bracket.cc	Thu Jul 11 12:55:26 2002
+++ ./lily/volta-bracket.cc	Fri Jul 26 12:27:00 2002
@@ -36,22 +36,22 @@ SCM
 Volta_bracket_interface::brew_molecule (SCM smob) 
 {
   Grob *me = unsmob_grob (smob);
-  Link_array<Item> bar_arr
+  Link_array<Item> bars
     = Pointer_group_interface__extract_grobs (me, (Item*)0, "bars");
 
-  if (!bar_arr.size ())
+  if (!bars.size ())
     return SCM_EOL;
 
-  Spanner *orig_span =  dynamic_cast<Spanner*> (me->original_l_);
+  Spanner *orig_span =  dynamic_cast<Spanner*> (me->original_);
 
-  bool first_bracket = orig_span && (orig_span->broken_into_l_arr_[0] == (Spanner*)me);
+  bool first_bracket = orig_span && (orig_span->broken_intos_[0] == (Spanner*)me);
   
-  bool last_bracket = orig_span && (orig_span->broken_into_l_arr_.top () == (Spanner*)me);
+  bool last_bracket = orig_span && (orig_span->broken_intos_.top () == (Spanner*)me);
 
   bool no_vertical_start = orig_span && !first_bracket;
   bool no_vertical_end = orig_span && !last_bracket;
-  SCM bars = me->get_grob_property ("bars");
-  Grob * endbar =   unsmob_grob (ly_car (bars));
+  SCM s = me->get_grob_property ("bars");
+  Grob * endbar =   unsmob_grob (ly_car (s));
   SCM glyph = endbar->get_grob_property("glyph");
   
   String str;
@@ -60,12 +60,12 @@ Volta_bracket_interface::brew_molecule (
   else
     return SCM_EOL;
   
-  const char* cs = str.ch_C();
+  const char* cs = str.to_str0 ();
   no_vertical_end |=
     (strcmp(cs,":|")!=0 && strcmp(cs,"|:")!=0 && strcmp(cs,"|.")!=0
      && strcmp(cs,":|:")!=0 && strcmp(cs,".|")!=0);
 
-  Real staff_thick = me->paper_l ()->get_var ("linethickness");  
+  Real staff_thick = me->get_paper ()->get_var ("linethickness");  
   Real half_space = 0.5;
 
   Item * bound = dynamic_cast<Spanner*> (me)->get_bound (LEFT);
@@ -76,7 +76,7 @@ Volta_bracket_interface::brew_molecule (
   Real left =0.;  
   if (bound->break_status_dir () == RIGHT)
   {
-    Paper_column *pc = bound->column_l ();
+    Paper_column *pc = bound->get_column ();
     left = pc->extent (pc, X_AXIS)[RIGHT]   - bound->relative_coordinate (pc, X_AXIS);
   }
   else
diff -purN ../lilypond-1.5.69/lily/volta-engraver.cc ./lily/volta-engraver.cc
--- ../lilypond-1.5.69/lily/volta-engraver.cc	Sun Jul 14 15:36:41 2002
+++ ./lily/volta-engraver.cc	Fri Jul 26 12:27:00 2002
@@ -34,17 +34,17 @@ protected:
   virtual void process_acknowledged_grobs ();
   
   Moment started_mom_;
-  Spanner *volta_span_p_;
-  Spanner *end_volta_span_p_;
+  Spanner *volta_span_;
+  Spanner *end_volta_span_;
   SCM staff_;
-  SCM start_str_;
+  SCM start_string_;
 };
 
 Volta_engraver::Volta_engraver ()
 {
   staff_ = SCM_EOL;
-  volta_span_p_ = 0;
-  end_volta_span_p_ = 0;
+  volta_span_ = 0;
+  end_volta_span_ = 0;
 }
 
 
@@ -77,7 +77,7 @@ Volta_engraver::process_music ()
   SCM cs = get_property ("repeatCommands");
 
   bool  end = false;
-  start_str_ = SCM_EOL;
+  start_string_ = SCM_EOL;
   while (gh_pair_p (cs))
     {
       SCM c = ly_car (cs);
@@ -88,13 +88,13 @@ Volta_engraver::process_music ()
 	  if (ly_cadr (c) ==  SCM_BOOL_F)
 	    end = true;
 	  else
-	    start_str_ = ly_cadr (c);
+	    start_string_ = ly_cadr (c);
 	}
       
       cs = ly_cdr (cs);
     }
 
-  if (volta_span_p_)
+  if (volta_span_)
     {
       SCM l (get_property ("voltaSpannerDuration"));
       Moment now = now_mom ();
@@ -106,28 +106,28 @@ Volta_engraver::process_music ()
     }
 
   
-  if (end && !volta_span_p_)
+  if (end && !volta_span_)
     {
       warning (_ ("No volta spanner to end")); // fixme: be more verbose.
     }
   else if (end)
     {
-      end_volta_span_p_ = volta_span_p_;
-      volta_span_p_ =0;
+      end_volta_span_ = volta_span_;
+      volta_span_ =0;
     }
 
-  if (gh_string_p (start_str_) && volta_span_p_)
+  if (gh_string_p (start_string_) && volta_span_)
     {
       warning (_ ("Already have a volta spanner.  Stopping that one prematurely."));
       
-      if (end_volta_span_p_)
+      if (end_volta_span_)
 	{
 	  warning (_ ("Also have a stopped spanner.  Giving up."));
 	  return ;
 	}
 
-      end_volta_span_p_ = volta_span_p_;
-      volta_span_p_ = 0;
+      end_volta_span_ = volta_span_;
+      volta_span_ = 0;
     }
 }
 
@@ -137,36 +137,36 @@ Volta_engraver::process_music ()
 void
 Volta_engraver::process_acknowledged_grobs ()
 {
-  if (!volta_span_p_ && gh_string_p (start_str_))
+  if (!volta_span_ && gh_string_p (start_string_))
     {
       started_mom_ = now_mom () ;
 
-      volta_span_p_ = new Spanner (get_property ("VoltaBracket"));
+      volta_span_ = new Spanner (get_property ("VoltaBracket"));
 
-      announce_grob (volta_span_p_, SCM_EOL);
-      volta_span_p_->set_grob_property ("text", start_str_);
+      announce_grob (volta_span_, SCM_EOL);
+      volta_span_->set_grob_property ("text", start_string_);
     }
 }
 
 void
 Volta_engraver::acknowledge_grob (Grob_info i)
 {
-  if (Item* item = dynamic_cast<Item*> (i.grob_l_))
+  if (Item* item = dynamic_cast<Item*> (i.grob_))
     {
       if (Note_column::has_interface (item))
 	{
-	  if (volta_span_p_)
-	    Volta_bracket_interface::add_column (volta_span_p_,item);
+	  if (volta_span_)
+	    Volta_bracket_interface::add_column (volta_span_,item);
 	}
       if (Bar_line::has_interface (item))
 	{
-	  if (volta_span_p_)
-	    Volta_bracket_interface::add_bar (volta_span_p_, item);
-	  if (end_volta_span_p_)
-	    Volta_bracket_interface::add_bar (end_volta_span_p_ , item);
+	  if (volta_span_)
+	    Volta_bracket_interface::add_bar (volta_span_, item);
+	  if (end_volta_span_)
+	    Volta_bracket_interface::add_bar (end_volta_span_ , item);
 	}
     }
-  else if (Staff_symbol::has_interface (i.grob_l_))
+  else if (Staff_symbol::has_interface (i.grob_))
     {
       /*
 	We only want to know about a single staff: then we add to the
@@ -175,20 +175,20 @@ Volta_engraver::acknowledge_grob (Grob_i
 	staff_ = SCM_UNDEFINED;
 
       if (staff_ != SCM_UNDEFINED)
-	staff_ = i.grob_l_->self_scm();
+	staff_ = i.grob_->self_scm();
     }
 }
 
 void
 Volta_engraver::finalize ()
 {
-  if (volta_span_p_)
+  if (volta_span_)
     {
-      typeset_grob (volta_span_p_);
+      typeset_grob (volta_span_);
     }
-  if (end_volta_span_p_)
+  if (end_volta_span_)
     {
-      typeset_grob (end_volta_span_p_);
+      typeset_grob (end_volta_span_);
     }
 }
 
@@ -197,10 +197,10 @@ Volta_engraver::finalize ()
 void 
 Volta_engraver::stop_translation_timestep ()
 {
-  if (end_volta_span_p_)
+  if (end_volta_span_)
     {
-      typeset_grob (end_volta_span_p_);
-      end_volta_span_p_ =0;
+      typeset_grob (end_volta_span_);
+      end_volta_span_ =0;
     }
 }
 
diff -purN ../lilypond-1.5.69/lily/warn.cc ./lily/warn.cc
--- ../lilypond-1.5.69/lily/warn.cc	Tue Jun  4 00:50:54 2002
+++ ./lily/warn.cc	Fri Jul 26 12:27:00 2002
@@ -13,7 +13,7 @@
 void
 progress_indication (String s)
 {
- fputs (s.ch_C(), stderr);
+ fputs (s.to_str0 (), stderr);
  fflush (stderr);
 }
 
diff -purN ../lilypond-1.5.69/ly/GNUmakefile ./ly/GNUmakefile
--- ../lilypond-1.5.69/ly/GNUmakefile	Thu Aug 30 22:41:39 2001
+++ ./ly/GNUmakefile	Wed Jul 24 17:18:28 2002
@@ -1,11 +1,9 @@
-# init/Makefile
-
 depth = ..
 
 INI_FILES = $(FLY_FILES) $(SLY_FILES) $(LY_FILES)
 EXTRA_DIST_FILES = $(SCM_FILES)
 
-INSTALLATION_DIR=$(datadir)/ly/
+INSTALLATION_DIR=$(local_lilypond_datadir)/ly/
 INSTALLATION_FILES=$(INI_FILES)
 
 STEPMAKE_TEMPLATES=install
diff -purN ../lilypond-1.5.69/make/GNUmakefile ./make/GNUmakefile
--- ../lilypond-1.5.69/make/GNUmakefile	Sat May  4 19:59:21 2002
+++ ./make/GNUmakefile	Wed Jul 24 17:18:28 2002
@@ -1,8 +1,7 @@
-# file make/Makefile 
-
 depth = ..
+
 STEPMAKE_TEMPLATES=makedir install
-INSTALLATION_DIR=$(datadir)/make
+INSTALLATION_DIR=$(local_lilypond_datadir)/make
 INSTALLATION_FILES=$(DIST_FILES)
 
 include $(depth)/make/stepmake.make 
diff -purN ../lilypond-1.5.69/make/lilypond-vars.make ./make/lilypond-vars.make
--- ../lilypond-1.5.69/make/lilypond-vars.make	Mon Jul 22 12:22:01 2002
+++ ./make/lilypond-vars.make	Wed Jul 24 15:28:12 2002
@@ -6,7 +6,7 @@ export PATH:=$(builddir)/lily/$(outconfb
 
 # LilyPond is often run from within $(outdir), making a relative
 # PREFIX incorrect.
-export LILYPONDPREFIX:=$(shell cd $(builddir)/share/lilypond/$(TOPLEVEL_VERSION); pwd)
+export LILYPONDPREFIX:=$(build_lilypond_datadir)
 
 export PYTHONPATH:=$(topdir)/python:$(PYTHONPATH)
 
diff -purN ../lilypond-1.5.69/make/ly-targets.make ./make/ly-targets.make
--- ../lilypond-1.5.69/make/ly-targets.make	Thu Apr  5 19:20:57 2001
+++ ./make/ly-targets.make	Tue Jul 23 13:36:53 2002
@@ -1,5 +1,3 @@
-# empty
-
 convert-ly: local-convert-ly
 	$(LOOP)
 
@@ -14,4 +12,3 @@ local-ly-help:
 "\
 #
 
-
diff -purN ../lilypond-1.5.69/make/lysdoc-targets.make ./make/lysdoc-targets.make
--- ../lilypond-1.5.69/make/lysdoc-targets.make	Tue Aug 14 00:12:27 2001
+++ ./make/lysdoc-targets.make	Fri Jul 26 12:27:02 2002
@@ -1,2 +1,2 @@
 
-local-WWW: $(outdir)/$(NAME).html
\ No newline at end of file
+local-WWW: $(outdir)/$(NAME).html $(outdir)/$(NAME).ps.gz $(outdir)/$(NAME).pdf
diff -purN ../lilypond-1.5.69/make/substitute.make ./make/substitute.make
--- ../lilypond-1.5.69/make/substitute.make	Thu Apr 19 12:56:40 2001
+++ ./make/substitute.make	Wed Jul 24 15:35:19 2002
@@ -11,6 +11,7 @@ ATVARIABLES = \
   GUILE\
   date\
   datadir\
+  local_lilypond_datadir\
   localedir\
   PACKAGE\
   package\
diff -purN ../lilypond-1.5.69/mf/GNUmakefile ./mf/GNUmakefile
--- ../lilypond-1.5.69/mf/GNUmakefile	Mon Jul 15 20:24:37 2002
+++ ./mf/GNUmakefile	Wed Jul 24 17:18:29 2002
@@ -38,18 +38,18 @@ TFM_FILES = $(addprefix $(outdir)/, $(FO
 ALL_GEN_FILES= $(TFM_FILES) $(TEXTABLES) $(AFM_FILES) $(TFM_FILES) $(LOG_FILES) $(ENC_FILES)
 
 #PRE_INSTALL=$(MAKE) "$(ALL_GEN_FILES)"
-INSTALLATION_DIR=$(datadir)/fonts/source
+INSTALLATION_DIR=$(local_lilypond_datadir)/fonts/source
 INSTALLATION_FILES=$(MF_FILES) $(AF_FILES)
 
 INSTALLATION_OUT_SUFFIXES=1 2 3 4 5
 
-INSTALLATION_OUT_DIR1=$(datadir)/tex
+INSTALLATION_OUT_DIR1=$(local_lilypond_datadir)/tex
 INSTALLATION_OUT_FILES1=$(TEXTABLES)
 
-INSTALLATION_OUT_DIR2=$(datadir)/fonts/afm
+INSTALLATION_OUT_DIR2=$(local_lilypond_datadir)/fonts/afm
 INSTALLATION_OUT_FILES2=$(AFM_FILES)
 
-INSTALLATION_OUT_DIR3=$(datadir)/fonts/tfm
+INSTALLATION_OUT_DIR3=$(local_lilypond_datadir)/fonts/tfm
 INSTALLATION_OUT_FILES3=$(TFM_FILES)
 
 # comment this out if you don't want pfa's to be generated
@@ -60,10 +60,10 @@ PFA_FILES = $(addprefix $(outdir)/, $(FO
 
 ifdef MAKE_PFA_FILES
 ALL_GEN_FILES += $(PFA_FILES) $(outdir)/lilypond.map $(outdir)/fonts.scale
-INSTALLATION_OUT_DIR4=$(datadir)/fonts/type1
+INSTALLATION_OUT_DIR4=$(local_lilypond_datadir)/fonts/type1
 INSTALLATION_OUT_FILES4=$(PFA_FILES) $(outdir)/fonts.scale
 
-INSTALLATION_OUT_DIR5=$(datadir)/dvips/
+INSTALLATION_OUT_DIR5=$(local_lilypond_datadir)/dvips/
 INSTALLATION_OUT_FILES5=$(outdir)/lilypond.map
 
 endif
diff -purN ../lilypond-1.5.69/po/fr.po ./po/fr.po
--- ../lilypond-1.5.69/po/fr.po	Mon Jul 22 12:22:02 2002
+++ ./po/fr.po	Fri Jul 26 12:27:02 2002
@@ -1,77 +1,77 @@
-# it.po -- GNU LilyPond's french language file
-# Laurent Martelli <laurent@linuxfan.com>, 1998.
+# Messages français pour lilypond.
+# Copyright © 2001 Free Software Foundation, Inc.
+# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
 #
-#
-#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 1.3.18\n"
+"Project-Id-Version: lilypond 1.5.69\n"
 "POT-Creation-Date: 2002-07-21 01:00+0200\n"
-"PO-Revision-Date: 1999-12-28 00:32 +1\n"
-"Last-Translator: Laurent Martelli <laurent@linuxfan.com>\n"
-"Language-Team: \n"
+"PO-Revision-Date: 2002-07-25 08:00-0500\n"
+"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
+"Language-Team: French <traduc@traduc.org>\n"
 "MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
 
 #: lilypond-book.py:1011 ly2dvi.py:442 ly2dvi.py:468
-#, fuzzy, c-format
+#, c-format
 msgid "Running %s..."
-msgstr "Cration des voix..."
+msgstr "Exécution de %s..."
 
 #: ly2dvi.py:126 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
 msgid "warning: "
-msgstr "avertissement: "
+msgstr "AVERTISSEMENT: "
 
 #: ly2dvi.py:129 ly2dvi.py:143 ly2dvi.py:813 ly2dvi.py:831 midi2ly.py:163
 #: midi2ly.py:1012 midi2ly.py:1081 mup2ly.py:146 mup2ly.py:160
 #: update-lily.py:152 update-lily.py:458 input.cc:92
 msgid "error: "
-msgstr "erreur: "
+msgstr "Erreur: "
 
 #: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-#, fuzzy
 msgid "Exiting ... "
-msgstr "Ligne ..."
+msgstr "Fin d'exécution... "
 
 #: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [OPTION]... FILE"
-msgstr "Usage: %s [OPTION... [FICHIER]"
+msgstr "Usage: %s [OPTION]... FICHIER"
 
 #: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:158
 msgid "Options:"
-msgstr "Options: "
+msgstr "Options:"
 
 #: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:175
-#, fuzzy, c-format
+#, c-format
 msgid "Report bugs to %s"
-msgstr "Rapporter les bugs "
+msgstr "Rapporter toutes anomalies à %s"
 
 #: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
 #, c-format
 msgid "Invoking `%s'"
-msgstr ""
+msgstr "Invocation de « %s »"
 
 #: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
 #, c-format
 msgid "command exited with value %d"
-msgstr ""
+msgstr "fin de la commande avec l'état %d"
 
 #: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
 msgid "(ignored)"
-msgstr ""
+msgstr "(ignoré)"
 
 #: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, fuzzy, c-format
+#, c-format
 msgid "Cleaning %s..."
-msgstr "Cration des voix..."
+msgstr "Nettoyage de %s..."
 
 #: ly2dvi.py:326
 msgid "Generate .dvi with LaTeX for LilyPond"
-msgstr ""
+msgstr "Générer un fichier .dvi à l'aide de LaTeX pour LilyPond"
 
 #: ly2dvi.py:329 main.cc:117
 msgid "write Makefile dependencies for every input file"
-msgstr ""
+msgstr "produire les dépendances pour Makefile concernant chaque fichier d'entrée"
 
 #: ly2dvi.py:330 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:113
 msgid "this help"
@@ -79,26 +79,24 @@ msgstr "cette aide"
 
 #: ly2dvi.py:331 main.cc:115 main.cc:120
 msgid "DIR"
-msgstr "REP"
+msgstr "RÉP"
 
 #: ly2dvi.py:331
-#, fuzzy
 msgid "add DIR to LilyPond's search path"
-msgstr "ajoute REP au chemin de recherche"
+msgstr "ajouter le RÉPERTOIRE au chemin de recherche de LilyPond"
 
 #: ly2dvi.py:332
 #, c-format
 msgid "keep all output, and name the directory %s.dir"
-msgstr ""
+msgstr "conserver toutes les sorties et nommer le répertoire %s.dir"
 
 #: ly2dvi.py:333
 msgid "don't run LilyPond"
-msgstr ""
+msgstr "ne pas exécuter LilyPond"
 
 #: ly2dvi.py:334 main.cc:118
-#, fuzzy
 msgid "produce MIDI output only"
-msgstr "produit seulement la sortie MIDI"
+msgstr "produire une sortie MIDI seulement"
 
 #: ly2dvi.py:335 ly2dvi.py:336 midi2ly.py:100 main.cc:116 main.cc:119
 msgid "FILE"
@@ -106,119 +104,119 @@ msgstr "FICHIER"
 
 #: ly2dvi.py:335 midi2ly.py:100
 msgid "write ouput to FILE"
-msgstr ""
+msgstr "produire la sortie dans le FICHIER"
 
 #: ly2dvi.py:336
 msgid "find pfa fonts used in FILE"
-msgstr ""
+msgstr "repérer les fontes pfa utilisées dans le FICHIER"
 
 #: ly2dvi.py:338
 msgid "Make a picture of the first system."
-msgstr ""
+msgstr "Produire une image de ce premier système."
 
 #: ly2dvi.py:339
 msgid "Set the resolution of the preview to RES."
-msgstr ""
+msgstr "Initialiser le résolution de la prévisualitation à la RÉSOLUTION"
 
 #: ly2dvi.py:340
 msgid "generate PostScript output"
-msgstr ""
+msgstr "générer une sortie PostScript"
 
 #: ly2dvi.py:341
 msgid "KEY=VAL"
-msgstr ""
+msgstr "CLÉ=VALEUR"
 
 #: ly2dvi.py:341
 msgid "change global setting KEY to VAL"
-msgstr ""
+msgstr "modifier le paramètre global de la CLÉ à VALEUR"
 
 #: ly2dvi.py:342 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:128
 msgid "verbose"
-msgstr ""
+msgstr "mode explicatif"
 
 #: ly2dvi.py:343 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:127
 msgid "print version number"
-msgstr "afficher le numro de version"
+msgstr "afficher le numéro de version"
 
 #: ly2dvi.py:344 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:129
 msgid "show warranty and copyright"
-msgstr ""
+msgstr "afficher la notice de garantie et du droit d'auteur"
 
 #: ly2dvi.py:432
-#, fuzzy, c-format
+#, c-format
 msgid "no such setting: %s"
-msgstr "Pas d'instrument tel: `%s'"
+msgstr "pas de telle initialisation: %s"
 
 #: ly2dvi.py:497
-#, fuzzy, c-format
+#, c-format
 msgid "Analyzing %s..."
-msgstr "Cration des voix..."
+msgstr "Analyse de %s..."
 
 #: ly2dvi.py:553
 #, c-format
 msgid "no lilypond output found for %s"
-msgstr ""
+msgstr "aucune sortie n'a été trouvée pour %s"
 
 #: ly2dvi.py:593
-#, fuzzy, c-format
+#, c-format
 msgid "invalid value: %s"
-msgstr "caractres illgal: `%c'"
+msgstr "valeur invalide: %s"
 
 #: ly2dvi.py:698
 msgid "LaTeX failed on the output file."
-msgstr ""
+msgstr "Échec de LaTex sur le fichier de sortie."
 
 #: ly2dvi.py:700
 #, c-format
 msgid " % logstr))"
-msgstr ""
+msgstr " % logstr))"
 
 #: ly2dvi.py:813
-#, fuzzy, c-format
+#, c-format
 msgid "not a PostScript file: `%s'"
-msgstr "impossible d'ouvrir le fichier: `%s'"
+msgstr "n'est pas un fichier PostScript: « %s »"
 
 #: ly2dvi.py:831 midi2ly.py:1012 update-lily.py:458
 #, c-format
 msgid "getopt says: `%s'"
-msgstr ""
+msgstr "getopt() indique: « %s »"
 
 #: ly2dvi.py:918
-#, fuzzy, c-format
+#, c-format
 msgid "filename should not contain spaces: `%s'"
-msgstr "Contient dj un `%s'"
+msgstr "le nom de fichier ne peut contenir des espaces: « %s »"
 
 #: ly2dvi.py:988 scores.cc:46
-#, fuzzy, c-format
+#, c-format
 msgid "dependencies output to `%s'..."
-msgstr "Sortie papier vers %s..."
+msgstr "dépendances produites dans « %s »"
 
 #: ly2dvi.py:999 midi2ly.py:996
-#, fuzzy, c-format
+#, c-format
 msgid "%s output to `%s'..."
-msgstr "Sortie de Lily vers %s..."
+msgstr "%s produites dans « %s »..."
 
 #: ly2dvi.py:1001 includable-lexer.cc:49 lily-guile.cc:160 scores.cc:137
 #: scores.cc:143
 #, c-format
 msgid "can't find file: `%s'"
-msgstr "ne peut pas trouver le fichier: `%s'"
+msgstr "ne peut repérer le fichier: « %s »"
 
 #: ly2dvi.py:1009 midi2ly.py:1081
 msgid "no files specified on command line."
-msgstr ""
+msgstr "aucun fichier spéficié sur la ligne de commande."
 
 #: midi2ly.py:92
 msgid "Convert MIDI to LilyPond source"
-msgstr ""
+msgstr "Convertir de MIDI en source LilyPond"
 
 #: midi2ly.py:95
 msgid "print absolute pitches"
-msgstr ""
+msgstr "afficher des tons absolus"
 
 #: midi2ly.py:96 midi2ly.py:101
 msgid "DUR"
-msgstr ""
+msgstr "DUR"
 
 #: midi2ly.py:96
 msgid "quantise note durations on DUR"
@@ -226,15 +224,16 @@ msgstr ""
 
 #: midi2ly.py:97
 msgid "print explicit durations"
-msgstr ""
+msgstr "afficher les durées explicites"
 
 #: midi2ly.py:99
 msgid "ALT[:MINOR]"
-msgstr ""
+msgstr "ALT[:MINEUR]"
 
 #: midi2ly.py:99
+#, fuzzy
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
-msgstr ""
+msgstr "définir la clef: ALT= +do dièse/-si bémol; MINEUR=1"
 
 #: midi2ly.py:101
 msgid "quantise note starts on DUR"
@@ -242,157 +241,155 @@ msgstr ""
 
 #: midi2ly.py:102
 msgid "DUR*NUM/DEN"
-msgstr ""
+msgstr "DUR*NUM/DEN"
 
 #: midi2ly.py:102
 msgid "allow tuplet durations DUR*NUM/DEN"
-msgstr ""
+msgstr "permettre un tuplet de durées DUR*NUM/DEN"
 
 #: midi2ly.py:106
 msgid "treat every text as a lyric"
-msgstr ""
+msgstr "traiter chaque texte comme des paroles"
 
 #: midi2ly.py:1027
 msgid "Example:"
-msgstr ""
+msgstr "Exemple:"
 
 #: mup2ly.py:69
 msgid "Convert mup to LilyPond source"
-msgstr ""
+msgstr "Conversion de mup en source LilyPond"
 
 #: mup2ly.py:72
 msgid "debug"
-msgstr ""
+msgstr "débug"
 
 #: mup2ly.py:73
 msgid "define macro NAME [optional expansion EXP]"
-msgstr ""
+msgstr "définit la macro NOM [EXPRESSION contient les options étendues]"
 
 #: mup2ly.py:75 main.cc:119
 msgid "write output to FILE"
-msgstr ""
+msgstr "produire la sortie dans le FICHIER"
 
 #: mup2ly.py:76
 msgid "only pre-process"
-msgstr ""
+msgstr "pré-traitement seulement"
 
 #: mup2ly.py:1073
-#, fuzzy, c-format
+#, c-format
 msgid "no such context: %s"
-msgstr "Pas d'instrument tel: `%s'"
+msgstr "pas de tel contexte: %s"
 
 #: mup2ly.py:1297
-#, fuzzy, c-format
+#, c-format
 msgid "Processing `%s'..."
-msgstr "Traitement..."
+msgstr "Traitement de « %s »..."
 
 #: mup2ly.py:1316
-#, fuzzy, c-format
+#, c-format
 msgid "Writing `%s'..."
-msgstr "Ligne ..."
+msgstr "Écriture de « %s »..."
 
 #: update-lily.py:76
 msgid "Fetch and rebuild from latest source package"
-msgstr ""
+msgstr "Repérer et reconstruire depuis les sources du dernier package"
 
 #: update-lily.py:79
 #, c-format
 msgid "unpack and build in DIR [%s]"
-msgstr ""
+msgstr "dépaqueter et construire dans le RÉPERTOIRE [%s]"
 
 #: update-lily.py:80
 msgid "execute COMMAND, subtitute:"
-msgstr ""
+msgstr "exécuter la COMMANDE de substitution:"
 
 #: update-lily.py:81
 msgid "%b: build root"
-msgstr ""
+msgstr "%b: construit la racine"
 
 #: update-lily.py:82
 #, c-format
 msgid "%n: package name"
-msgstr ""
+msgstr "%n: nom du package"
 
 #: update-lily.py:83
-#, fuzzy
 msgid "%r: release directory"
-msgstr "ne peut pas trouver ou crer `%s'"
+msgstr "%r: répertoire de production de version"
 
 #: update-lily.py:84
 msgid "%t: tarball"
-msgstr ""
+msgstr "%t: tarball"
 
 #: update-lily.py:85
 msgid "%v: package version"
-msgstr ""
+msgstr "%v: version du package"
 
 #: update-lily.py:88
 #, c-format
 msgid "keep all output, and name the directory %s"
-msgstr ""
+msgstr "conserver toutes les sorties et nommer le répertoire %s"
 
 #: update-lily.py:89
 msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr ""
+msgstr "lors d'un échec aviser par EMAIL[,EMAIL]"
 
 #: update-lily.py:90
 msgid "remove previous build"
-msgstr ""
+msgstr "enlever la construction précédente"
 
 #: update-lily.py:93
 #, c-format
 msgid "fetch and build URL [%s]"
-msgstr ""
+msgstr "rechercher et construire le URL [%s]"
 
 #: update-lily.py:429
-#, fuzzy, c-format
+#, c-format
 msgid "Listing `%s'..."
-msgstr "Ligne ..."
+msgstr "Listage de « %s »..."
 
 #: update-lily.py:497
 #, c-format
 msgid "latest is: %s"
-msgstr ""
+msgstr "le plus à jour est: %s"
 
 #: update-lily.py:498
 #, c-format
 msgid "relax, %s is up to date"
-msgstr ""
+msgstr "relaxer, %s est à jour"
 
 #: update-lily.py:507 update-lily.py:520
-#, fuzzy, c-format
+#, c-format
 msgid "Fetching `%s'..."
-msgstr "Cration des voix..."
+msgstr "Recherche de « %s »..."
 
 #: update-lily.py:529
-#, fuzzy, c-format
+#, c-format
 msgid "Building `%s'..."
-msgstr "Cration des voix..."
+msgstr "Construction de « %s »..."
 
 #: getopt-long.cc:146
 #, c-format
 msgid "option `%s' requires an argument"
-msgstr "l'option `%s' requiert un argument"
+msgstr "L'option « %s » requiert un argument"
 
 #: getopt-long.cc:150
 #, c-format
 msgid "option `%s' doesn't allow an argument"
-msgstr "l'option `%s' n'accepte pas d'argument"
+msgstr "L'option « %s » ne requiert pas d'argument"
 
 #: getopt-long.cc:154
 #, c-format
 msgid "unrecognized option: `%s'"
-msgstr "option non reconnue: `%s'"
+msgstr "option non reconnue: « %s »"
 
 #: getopt-long.cc:161
 #, c-format
 msgid "invalid argument `%s' to option `%s'"
-msgstr "argument `%s' invalide pour l'option `%s'"
+msgstr "argument invalide « %s » pour l'option « %s »"
 
 #: input.cc:98
-#, fuzzy
 msgid "non fatal error: "
-msgstr "Erreur non fatale: "
+msgstr "pas une erreur fatale: "
 
 #: input.cc:106 source-file.cc:68 source-file.cc:161
 msgid "position unknown"
@@ -400,167 +397,157 @@ msgstr "position inconnue"
 
 #: mapped-file-storage.cc:74
 msgid "can't map file"
-msgstr "impossible de mapper le fichier"
+msgstr "ne peut produire le fichier map"
 
 #: mapped-file-storage.cc:87 simple-file-storage.cc:44 scores.cc:50
 #: streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
-msgstr "impossible d'ouvrir le fichier: `%s'"
+msgstr "ne peut ouvrir le fichier: « %s »"
 
 #: simple-file-storage.cc:56
-#, fuzzy, c-format
+#, c-format
 msgid "Huh?  Got %d, expected %d characters"
-msgstr "Hein? %d caractres reus, %d attendus"
+msgstr "Euh?  Obtenu %d caractères, on s'attendait à %d"
 
 #: warn.cc:24
-#, fuzzy, c-format
+#, c-format
 msgid "warning: %s\n"
-msgstr "avertissement: "
+msgstr "AVERTISSEMENT: %s\n"
 
 #: warn.cc:30
-#, fuzzy, c-format
+#, c-format
 msgid "error: %s\n"
-msgstr "erreur: "
+msgstr "Erreur: %s\n"
 
 #: warn.cc:43
-#, fuzzy, c-format
+#, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
-msgstr " (je continure; croisez les doigts)"
+msgstr "Erreur de programmation: %s (Poursuite; croisons les doigts)\n"
 
 #: accidental-engraver.cc:181 new-accidental-engraver.cc:234
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
-msgstr ""
+msgstr "Liste de mise en page accidentelle doit débuter avec un nom de contexte: %s"
 
 #: accidental-engraver.cc:206 new-accidental-engraver.cc:259
-#, fuzzy, c-format
+#, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
-msgstr "chane d'chappement inconnue: `\\%s'"
+msgstr "mise en page accidentelle inconnue: %s. Ignorée"
 
 #: accidental-engraver.cc:222 new-accidental-engraver.cc:275
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
-msgstr ""
+msgstr "Symbole n'est pas un contexte parent: %s. Ignoré"
 
 #: accidental-engraver.cc:225 new-accidental-engraver.cc:278
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
-msgstr ""
+msgstr "Mise en page accidentelle doit être pair ou un nom de contexte: %s"
 
 #: afm.cc:60
-#, fuzzy, c-format
+#, c-format
 msgid "can't find character number: %d"
-msgstr "impossible de trouver le caractres numro %d"
+msgstr "ne peut repérer le nombre de caractères: %d"
 
 #: afm.cc:75
-#, fuzzy, c-format
+#, c-format
 msgid "can't find character called: `%s'"
-msgstr "impossible de trouver le caractres appel `%s'"
+msgstr "ne peut repérer le caractère portant le nom: « %s »"
 
 #: afm.cc:125
 #, c-format
 msgid "Error parsing AFM file: `%s'"
-msgstr ""
+msgstr "Erreur d'analyse syntaxique du fichier AFM: « %s »"
 
 #: all-font-metrics.cc:95
 #, c-format
 msgid "checksum mismatch for font file: `%s'"
-msgstr ""
+msgstr "somme de contrôle ne concorde pas pour le fichier de fontes: « %s »"
 
 #: all-font-metrics.cc:97
 #, c-format
 msgid "does not match: `%s'"
-msgstr ""
+msgstr "ne concorde pas: « %s »"
 
 #: all-font-metrics.cc:102
-msgid ""
-" Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V "
-"to show font paths."
-msgstr ""
+msgid " Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V to show font paths."
+msgstr " Reconstruire tous les fichiers .afm et enlever tous les fichiers .pk et .tfm. Ré-exécuter avec l'option -V pour afficher les chemins vers les fontes"
 
 #: all-font-metrics.cc:167
-#, fuzzy, c-format
+#, c-format
 msgid "can't find font: `%s'"
-msgstr "ne peut pas trouver le fichier: `%s'"
+msgstr "ne peut repérer la fonte: « %s »"
 
 #: all-font-metrics.cc:168
-#, fuzzy
 msgid "Loading default font"
-msgstr "Impossible de trouver la police `%s', chargement la police par dfaut"
+msgstr "Chargement de la fonte par défaut"
 
 #: all-font-metrics.cc:183
-#, fuzzy, c-format
+#, c-format
 msgid "can't find default font: `%s'"
-msgstr "Impossible de trouver la fonte par dfaut `%s', abandon."
+msgstr "ne peut reprérer la fonte par défaut: « %s »"
 
 #: all-font-metrics.cc:184 includable-lexer.cc:51 scores.cc:138
-#, fuzzy, c-format
+#, c-format
 msgid "(search path: `%s')"
-msgstr "chemin de recherche= %s"
+msgstr "(chemin de recherche: « %s »)"
 
 #: all-font-metrics.cc:185
 msgid "Giving up"
-msgstr ""
+msgstr "Abandon"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
 #: part-combine-music-iterator.cc:97
 msgid "Can't switch translators, I'm there already"
-msgstr ""
+msgstr "Ne peut commuter d'un traducteur à l'autre, je suis là déjà"
 
 #: bar-check-iterator.cc:58
 #, c-format
 msgid "barcheck failed at: %s"
-msgstr ""
+msgstr "échec du barcheck à: %s"
 
 #: beam-engraver.cc:167
-#, fuzzy
 msgid "already have a beam"
-msgstr "Il y a dj une barre"
+msgstr "faisceau déjà présent"
 
 #: beam-engraver.cc:234
-#, fuzzy
 msgid "unterminated beam"
-msgstr "Barre non termine"
+msgstr "faisceau non terminé"
 
 #: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
-#, fuzzy
 msgid "stem must have Rhythmic structure"
-msgstr "La tige doit avoir une structure rythmique."
+msgstr "la queue doit avoir une structure rythmiique"
 
 #: beam-engraver.cc:281
 msgid "stem doesn't fit in beam"
-msgstr "la tige ne rentre pas dans la barre"
+msgstr "la queue ne s'insère pas dans le faisceau"
 
 #: beam-engraver.cc:282
 msgid "beam was started here"
-msgstr "la barre a commenc ici"
+msgstr "faisceau a débuté ici"
 
 #: beam.cc:138
-#, fuzzy
 msgid "beam has less than two visible stems"
-msgstr "barre avec moins de deux tiges"
+msgstr "faisceau a moins que deux queues visibles"
 
 #: beam.cc:143
-#, fuzzy
 msgid "Beam has less than two stems. Removing beam."
-msgstr "barre avec moins de deux tiges"
+msgstr "faisceau a moins de deux queues. Retrait du faisceau."
 
 #: beam.cc:797
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
+msgid "Not sure that we can find a nice beam slope (no viable initial configuration found)."
 msgstr ""
 
 #: break-align-interface.cc:166
-#, fuzzy, c-format
+#, c-format
 msgid "No spacing entry from %s to `%s'"
-msgstr "traducteur inconnu `%s'"
+msgstr "Pas d'espacement des entrées à partir de %s à « %s »"
 
 #: change-iterator.cc:22
 #, c-format
 msgid "can't change `%s' to `%s'"
-msgstr "impossible de changer `%s' en `%s'"
+msgstr "ne peut changer de « %s » à « %s »"
 
 #.
 #. We could change the current translator's id, but that would make
@@ -570,19 +557,19 @@ msgstr "impossible de changer `%s' en `%
 #.
 #: change-iterator.cc:79
 msgid "I'm one myself"
-msgstr ""
+msgstr "J'en suis un moi-même"
 
 #: change-iterator.cc:82
 msgid "none of these in my family"
-msgstr ""
+msgstr "aucun de ceux-ci dans ma famille"
 
 #: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
 msgid "unterminated chord tremolo"
-msgstr ""
+msgstr "accord de tremolo non terminé"
 
 #: chord-tremolo-iterator.cc:50
 msgid "no one to print a tremolos"
-msgstr ""
+msgstr "aucun pour l'impression de tremolos"
 
 #: chord.cc:313
 #, c-format
@@ -592,139 +579,127 @@ msgstr "soustraction invalide: ne fait p
 #: chord.cc:342
 #, c-format
 msgid "invalid inversion pitch: not part of chord: %s"
-msgstr "renversement invalide: ne fait pas partie de l'accord: %s"
+msgstr "inversion de tons invalide: ne fait pas parti de l'accord: %s"
 
 #: dimensions.cc:13
 msgid "NaN"
-msgstr ""
+msgstr "NaN"
 
 #: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
-#, fuzzy
 msgid "can't find start of (de)crescendo"
-msgstr "ne peut pas trouver un (de)crescendo  la fin"
+msgstr "ne peut repérer le début du (de)crescendo"
 
 #: dynamic-engraver.cc:211
-#, fuzzy
 msgid "already have a crescendo"
-msgstr "Il y a dj une barre"
+msgstr "crescendo déjà présent"
 
 #: dynamic-engraver.cc:212
-#, fuzzy
 msgid "already have a decrescendo"
-msgstr "Il y a dj une barre"
+msgstr "decrescendo déjà présent"
 
 #: dynamic-engraver.cc:215
-#, fuzzy
 msgid "Cresc started here"
-msgstr "la barre a commenc ici"
+msgstr "Crescendo a débuté ici"
 
 #: dynamic-engraver.cc:307
-#, fuzzy
 msgid "unterminated (de)crescendo"
-msgstr "crescendo non termin"
+msgstr "(de)crescendo n'est pas terminé"
 
 #: extender-engraver.cc:96
 msgid "unterminated extender"
-msgstr ""
+msgstr "prolongation non terminée"
 
 #: extender-engraver.cc:108
 msgid "Nothing to connect extender to on the left.  Ignoring extender request."
-msgstr ""
+msgstr "Rien à relier à la prolongation sur la gauche. Requête de prolongation ignorée."
 
 #: folded-repeat-iterator.cc:78
 msgid "no one to print a repeat brace"
-msgstr ""
+msgstr "aucun pour l'impression d'accolades répétées"
 
 #: font-interface.cc:238
 msgid "couldn't find any font satisfying "
-msgstr ""
+msgstr "ne peut repérer aucune fonte satisfaisante"
 
 #: gourlay-breaking.cc:171
 msgid "No feasible line breaking found"
-msgstr ""
+msgstr "Aucun morcèlement de ligne faisable repéré"
 
 #: hairpin.cc:98
 msgid "decrescendo too small"
-msgstr ""
+msgstr "decrescendo trop petit"
 
 #: hairpin.cc:99
-#, fuzzy
 msgid "crescendo too small"
-msgstr "trop petit"
+msgstr "crescendo trop petit"
 
 #: hyphen-engraver.cc:89
 msgid "unterminated hyphen"
-msgstr ""
+msgstr "trait d'union non terminé"
 
 #: hyphen-engraver.cc:101
 msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
-msgstr ""
+msgstr "Rien à connecter au trait d'union sur la gauche. Requête de trait d'union ignoré"
 
 #: key-engraver.cc:91
 msgid "Conflicting key signatures found."
-msgstr ""
+msgstr "Clés de signature conflictuelles repérées."
 
 #: key-engraver.cc:92
 msgid "This was the other key definition."
-msgstr ""
+msgstr "C'était l'autre définition de clé"
 
 #: key-performer.cc:92
 msgid "FIXME: key change merge"
-msgstr ""
+msgstr "FIXME: changement de fusion de clés"
 
 #: kpath.cc:64
-#, fuzzy, c-format
+#, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
-msgstr "ne peut pas trouver le fichier: `%s'"
+msgstr "Kpathsea ne peut repérer le fichier TFM: « %s »"
 
 #: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
 msgid "no left bound"
-msgstr ""
+msgstr "pas de borne à gauche"
 
 #: ligature-engraver.cc:81
-#, fuzzy
 msgid "can't find start of ligature"
-msgstr "impossible de trouver le caractres numro %d"
+msgstr "ne peut repérer le début d'une ligature"
 
 #: ligature-engraver.cc:86
 msgid "no right bound"
-msgstr ""
+msgstr "pas de borne à droite"
 
 #: ligature-engraver.cc:108
-#, fuzzy
 msgid "already have a ligature"
-msgstr "Il y a dj une barre"
+msgstr "a déjà une ligature"
 
 #: ligature-engraver.cc:166
-#, fuzzy
 msgid "unterminated ligature"
-msgstr "Barre non termine"
+msgstr "ligature non terminée"
 
 #: ligature-engraver.cc:183
 msgid "ligature may not contain rest; ignoring rest"
-msgstr ""
+msgstr "ligature ne peut contenir une pause; pause ignorée"
 
 #: ligature-engraver.cc:184
-#, fuzzy
 msgid "ligature was started here"
-msgstr "la barre a commenc ici"
+msgstr "ligature a débuté ici"
 
 #: lily-guile.cc:162
 #, c-format
 msgid "(load path: `%s')"
-msgstr ""
+msgstr "(chemin de chargement: « %s »)"
 
 #: lily-guile.cc:697
 #, c-format
-msgid ""
-"Can't find property type-check for `%s' (%s).  Perhaps you made a typing "
-"error? Doing assignment anyway."
-msgstr ""
+msgid "Can't find property type-check for `%s' (%s).  Perhaps you made a typing error? Doing assignment anyway."
+msgstr "Ne peut repérer la propriété de vérification de type pour « %s » (%s). Peut-être avez-vous commis une erreur d'orthographe? Affectation faite de toutes manières."
 
 #: lily-guile.cc:715
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
-msgstr ""
+msgstr "Vérification de type pour « %s » a échoué; la valeur « %s » doit être de type « %s »"
 
 #: lookup.cc:141
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
@@ -736,88 +711,83 @@ msgstr ""
 
 #: lyric-phrasing-engraver.cc:301
 msgid "lyrics found without any matching notehead"
-msgstr ""
+msgstr "paroles trouvées sans aucune concordance avec une note de tête"
 
 #: lyric-phrasing-engraver.cc:307
 msgid "Huh? Melismatic note found to have associated lyrics."
-msgstr ""
+msgstr "Euh? Note mélismatique repéré associé à des paroles"
 
 #. print example usage:  lilypond -e "" ?
 #: main.cc:109
 msgid "EXPR"
-msgstr ""
+msgstr "EXPR"
 
 #: main.cc:109
 msgid "Scheme options: try -e \"(set-lily-option 'help 0)\" for more help."
-msgstr ""
+msgstr "Options de scheme: essayer -e \"(set-lily-option 'help 0)\" pour de l'aide"
 
 #. another bug in option parser: --output=foe is taken as an abbreviation
 #. for --output-format
 #: main.cc:112
 msgid "EXT"
-msgstr ""
+msgstr "EXT"
 
 #: main.cc:112
 msgid "use output format EXT (tex [default], pdftex, ps, scm or as)"
-msgstr ""
+msgstr "utiliser le format de sortie EXT (tex (par défaut), pdftex, ps, scm ou as)"
 
 #: main.cc:114
-#, fuzzy
 msgid "FIELD"
-msgstr "FICHIER"
+msgstr "CHAMP"
 
 #: main.cc:114
 msgid "write header field to BASENAME.FIELD"
-msgstr ""
+msgstr "écrire un champ d'en-tête dans BASENAME.FIELD"
 
 #: main.cc:115
-#, fuzzy
 msgid "add DIR to search path"
-msgstr "ajoute REP au chemin de recherche"
+msgstr "ajouter le RÉPERTOIRE au chemin de recherche"
 
 #: main.cc:116
-#, fuzzy
 msgid "use FILE as init file"
-msgstr "utilise FICHIER comme fichier d'initialisation"
+msgstr "utiliser le FICHIER comme fichier d'initialisation"
 
 #: main.cc:120
 msgid "prepend DIR to dependencies"
-msgstr ""
+msgstr "ajouter en préfixe le RÉPERTOIRE aux dépendances"
 
 #.
 #. should audit again.
 #.
 #: main.cc:125
 msgid "inhibit file output naming and exporting"
-msgstr ""
+msgstr "inhiber la dénomination de nom de fichier et l'exportation"
 
 #.
 #. No version number or newline here. It confuses help2man
 #.
 #: main.cc:146
-#, fuzzy, c-format
+#, c-format
 msgid "Usage: %s [OPTION]... FILE..."
-msgstr "Usage: %s [OPTION]... [FICHIER]..."
+msgstr "Usage: %s [OPTION]... FICHIER..."
 
 #: main.cc:148
 msgid "Typeset music and or play MIDI from FILE"
-msgstr ""
+msgstr "Composer la musique et/ou jouer en format MIDI à partir du FICHIER"
 
 #: main.cc:152
-#, fuzzy
 msgid ""
 "LilyPond is a music typesetter.  It produces beautiful sheet music\n"
 "using a high level description file as input.  LilyPond is part of \n"
 "the GNU Project.\n"
 msgstr ""
-"Lilypond est un formateur de musique. Il produit de belle\n"
-"paritions  partir de description de gaut niveau en entre. Lilypond\n"
-"fait partie du projet GNU.\n"
+"LilyPond est un logiciel de composition de musique. Il produit de jolies feuilles\n"
+"de musique en utilisant un fichier de description de haut niveau à l'entrée.\n"
+"LilyPond fait parti du projet GNU.\n"
 
 #: main.cc:162
-#, fuzzy
 msgid "This binary was compiled with the following options:"
-msgstr "Cet excutable a t compil avec les options suivantes:"
+msgstr "Ce binaire a été compilé avec les options suivantes:"
 
 #: main.cc:183
 #, c-format
@@ -826,16 +796,18 @@ msgid ""
 "and you are welcome to change it and/or distribute copies of it under\n"
 "certain conditions.  Invoke as `%s --warranty' for more information.\n"
 msgstr ""
+"Ce logiciel est libre. Il est couvert par la licence GNU General Public License,\n"
+"et vous êtes libre de le modifier et/ou distribuer sous certaines conditions\n"
+"Invoquer commme suit « %s --warranty » pour plus de détails.\n"
 
 #: main.cc:190 main.cc:202
 #, c-format
 msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s par"
+msgstr "Copyright (c) %s écrit par"
 
 #: main.cc:200
-#, fuzzy
 msgid "GNU LilyPond -- The music typesetter"
-msgstr "GNU LilyPond -- Il tipografo musicale del progetto GNU"
+msgstr "GNU LilyPond -- Le logiciel de composition de musique"
 
 #: main.cc:208
 msgid ""
@@ -853,22 +825,35 @@ msgid ""
 "the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
 "USA.\n"
 msgstr ""
+"    Ce logiciel est libre; vous pouvez le redistribuer et/ou le modifier\n"
+"sous les termes de la licence GNU General Public License version 2\n"
+"tel que publié par la Free Software Foundation.\n"
+"\n"
+"    Ce logiciel est distribué dans l'espoir qu'il soit utile\n"
+"mais sans AUCUNE GARANTIE;  tant pour des raisons\n"
+"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.. Consulter\n"
+"la license GNU General Public License for more details.\n"
+"\n"
+"    Vous devriez avoir reçu une copie (consulter le fichier COPYING) de la\n"
+"license GNU General Public License accompagnant ce logiciel; si absente écrire à\n"
+"la Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"USA.\n"
 
 #: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
 msgid "unexpected case fall-through"
-msgstr ""
+msgstr "cas inattendu non intercepté"
 
 #: mensural-ligature-engraver.cc:332
 msgid "ligature with less than 2 heads -> skipping"
-msgstr ""
+msgstr "ligature avec moins que 2 tête -> escamoté"
 
 #: mensural-ligature-engraver.cc:347
 msgid "can not determine pitch of ligature primitive -> skipping"
-msgstr ""
+msgstr "ne peut déterminer le ton de la primitive de la ligature -> escamoté"
 
 #: mensural-ligature-engraver.cc:370
 msgid "prime interval within ligature -> skipping"
-msgstr ""
+msgstr "premier interval dans la ligature -> escamoté"
 
 #: mensural-ligature-engraver.cc:380
 msgid "mensural ligature: duration none of L, B, S -> skipping"
@@ -898,37 +883,37 @@ msgid "Menusral_ligature: (join_left == 
 msgstr ""
 
 #: midi-item.cc:144
-#, fuzzy, c-format
+#, c-format
 msgid "no such instrument: `%s'"
-msgstr "Pas d'instrument tel: `%s'"
+msgstr "pas un tel instrument: « %s »"
 
 #: midi-item.cc:234
 msgid "silly duration"
-msgstr ""
+msgstr "durée ridicule"
 
 #: midi-item.cc:247
 msgid "silly pitch"
-msgstr ""
+msgstr "ton bizarre"
 
 #: music-output-def.cc:113
-#, fuzzy, c-format
+#, c-format
 msgid "can't find `%s' context"
-msgstr "ne peut pas trouver `%s'"
+msgstr "ne peut repérer le contexte « %s »"
 
 #: music.cc:159
 #, c-format
 msgid "Transposition by %s makes accidental larger than two"
-msgstr ""
+msgstr "Transposition faite par %s crée des accidentels plus grand que deux"
 
 #: my-lily-lexer.cc:142
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
-msgstr ""
+msgstr "Le nom de l'identificateur est un mot clé: « %s »"
 
 #: my-lily-lexer.cc:162
 #, c-format
 msgid "error at EOF: %s"
-msgstr ""
+msgstr "erreur à la fin du fichier (EOF): %s"
 
 #: my-lily-parser.cc:48
 msgid "Parsing..."
@@ -936,43 +921,42 @@ msgstr "Analyse..."
 
 #: my-lily-parser.cc:58
 msgid "Braces don't match"
-msgstr ""
+msgstr "Accolades non pairées"
 
 #: note-collision.cc:340
-#, fuzzy
 msgid "Too many clashing notecolumns.  Ignoring them."
-msgstr "Trop de colonnes de notes superposes. Je les ignore."
+msgstr "Trop de note-colonnes qui se heurtent. On les ignore."
 
 #: note-head.cc:127
 msgid "Symbol not found, "
-msgstr ""
+msgstr "Symbole non repéré, "
 
 #: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
 #, c-format
 msgid "Junking request: `%s'"
-msgstr ""
+msgstr "Requête de mise au rebut: « %s »"
 
 #: paper-def.cc:122
-#, fuzzy, c-format
+#, c-format
 msgid "paper output to `%s'..."
-msgstr "Sortie papier vers %s..."
+msgstr "sortie sur papier vers « %s »..."
 
 #: paper-outputter.cc:57
 msgid ", at "
-msgstr ",  "
+msgstr ", à "
 
 #: paper-score.cc:76
 #, c-format
 msgid "Element count %d "
-msgstr ""
+msgstr "Éléments dénombrés %d."
 
 #: paper-score.cc:79
 msgid "Preprocessing elements..."
-msgstr ""
+msgstr "Pré-traitement des éléments..."
 
 #: paper-score.cc:113
 msgid "Outputting Score, defined at: "
-msgstr ""
+msgstr "Production d'une feuille de musique, définie à: "
 
 #.
 #. We could change the current translator's id, but that would make
@@ -983,86 +967,81 @@ msgstr ""
 #: part-combine-music-iterator.cc:116
 #, c-format
 msgid "I'm one myself: `%s'"
-msgstr ""
+msgstr "J'en sui sun moi-même: « %s »"
 
 #: part-combine-music-iterator.cc:119
 #, c-format
 msgid "none of these in my family: `%s'"
-msgstr ""
+msgstr "aucun de ceux-ci dans ma famille: « %s »"
 
 #: percent-repeat-engraver.cc:116
-#, fuzzy
 msgid "Don't know how to handle a percent repeat of this length."
-msgstr "ne sait pas traiter les cls vides"
+msgstr "Ne sait comment traiter la répétition de pourcent de cette longueur."
 
 #: percent-repeat-iterator.cc:53
 msgid "no one to print a percent"
-msgstr ""
+msgstr "aucun pour l'impression de pourcent"
 
 #: performance.cc:51
-#, fuzzy
 msgid "Track ... "
 msgstr "Piste ... "
 
 #: performance.cc:83
 msgid "Creator: "
-msgstr "Auteur: "
+msgstr "Créateur: "
 
 #: performance.cc:103
-#, fuzzy
 msgid "at "
-msgstr ",  "
+msgstr "à "
 
 #: performance.cc:114
 #, c-format
 msgid "from musical definition: %s"
-msgstr ""
+msgstr "à partir de la définition musicale: %s"
 
 #: performance.cc:169
 #, c-format
 msgid "MIDI output to `%s'..."
-msgstr ""
+msgstr "Sortie MIDI vers « %s »..."
 
 #: phrasing-slur-engraver.cc:117
-#, fuzzy
 msgid "unterminated phrasing slur"
-msgstr "Barre non termine"
+msgstr "phrase de liaison non terminée"
 
 #: phrasing-slur-engraver.cc:132
-#, fuzzy
 msgid "can't find start of phrasing slur"
-msgstr "impossible de trouver le caractres numro %d"
+msgstr "ne peut repérer le début d'une phrase de liaison"
 
 #: piano-pedal-engraver.cc:229 piano-pedal-engraver.cc:244
 #: piano-pedal-engraver.cc:299 piano-pedal-performer.cc:82
-#, fuzzy, c-format
+#, c-format
 msgid "can't find start of piano pedal: `%s'"
-msgstr "ne peut pas trouver le fichier: `%s'"
+msgstr "ne peut repérer le début de la pédale de piano: « %s »"
 
 #: piano-pedal-engraver.cc:404
 #, fuzzy
 msgid "unterminated pedal bracket"
-msgstr "Barre non termine"
+msgstr "faisceau non terminé"
 
 #: pitch.cc:25
 msgid "Pitch arguments out of range"
-msgstr ""
+msgstr "Arguments des tons hors gamme"
 
 #: porrectus.cc:35
 msgid "(left_head == 0)"
-msgstr ""
+msgstr "(left_head == 0)"
 
 #: porrectus.cc:46
 msgid "undefined left_head"
-msgstr ""
+msgstr "left_head indéfini"
 
 #: porrectus.cc:65
 msgid "(right_head == 0)"
-msgstr ""
+msgstr "(right_head == 0)"
 
 #: porrectus.cc:76
 msgid "undefined right_head"
-msgstr ""
+msgstr "right_head indéfini"
 
 #: porrectus.cc:96
 msgid "junking lonely porrectus"
@@ -1083,67 +1062,66 @@ msgstr ""
 
 #: rest-collision.cc:186
 msgid "too many colliding rests"
-msgstr ""
+msgstr "trop de pauses en collision"
 
 #: scm-option.cc:77
 msgid "lilypond -e EXPR means"
-msgstr ""
+msgstr "lilypond -e EXPRESSION signifie"
 
 #: scm-option.cc:123
 msgid "Unknown internal option!"
-msgstr ""
+msgstr "Option interne inconnue!"
 
 #: score-engraver.cc:103
-msgid ""
-"Could not find feta20.afm. Fonts have not been installed properly; Aborting"
-msgstr ""
+msgid "Could not find feta20.afm. Fonts have not been installed properly; Aborting"
+msgstr "Ne peut repérer feta20.afm. Les fontes n'ont pas été installées correctement; abandon"
 
 #: score-engraver.cc:207
-#, fuzzy, c-format
+#, c-format
 msgid "unbound spanner `%s'"
-msgstr "traducteur inconnu `%s'"
+msgstr "clef sans borne « %s »"
 
 #: score.cc:93
 #, c-format
 msgid "stack size cur %d, max %d\n"
-msgstr ""
+msgstr "taille de la pile courante %d, max %d\n"
 
 #: score.cc:110
 msgid "Interpreting music..."
-msgstr ""
+msgstr "Interprétation de la musique..."
 
 #: score.cc:123
 msgid "Need music in a score"
-msgstr ""
+msgstr "Musique manquante pour produire la feuille de musique"
 
 #. should we? hampers debugging.
 #: score.cc:136
 msgid "Errors found/*, not processing score*/"
-msgstr ""
+msgstr "Erreurs trouvées/*, pas de traitement de la feuille de musique*/"
 
 #: score.cc:143
-#, fuzzy, c-format
+#, c-format
 msgid "elapsed time: %.2f seconds"
-msgstr "temps ecoul: %.2f secondes"
+msgstr "temps écoulé: %.2f seconds"
 
 #: scores.cc:107
 msgid "Score contains errors; will not process it"
-msgstr ""
+msgstr "La feuille de musique contient des erreurs; elle ne sera pas traitée"
 
 #: scores.cc:153
-#, fuzzy, c-format
+#, c-format
 msgid "Now processing: `%s'"
-msgstr "chane d'chappement inconnue: `\\%s'"
+msgstr "Maintenant en traitement: « %s »"
 
 #: script-engraver.cc:66
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
-msgstr ""
+msgstr "Ne sait comment interpréter l'articulation « %s »"
 
 #. this shouldn't happen, but let's continue anyway.
 #: separation-item.cc:46
 msgid "Separation_item:  I've been drinking too much"
-msgstr ""
+msgstr "Separation_item:  cela ne devrait pas se produire mais..."
 
 #: simple-spacer.cc:254
 #, c-format
@@ -1152,246 +1130,236 @@ msgstr ""
 
 #: slur-engraver.cc:124
 msgid "unterminated slur"
-msgstr ""
+msgstr "liaison non terminée"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
 #. eaten start request?
 #: slur-engraver.cc:141
-#, fuzzy
 msgid "can't find start of slur"
-msgstr "impossible de trouver le caractres numro %d"
+msgstr "ne peut repérer le début d'une liaison"
 
 #: slur.cc:53
 msgid "Putting slur over rest."
-msgstr ""
+msgstr "Mise en place d'un liaison par-dessus une pause."
 
 #: slur.cc:417
 msgid "Slur over rest?"
-msgstr ""
+msgstr "Liaison par-dessus une pause?"
 
 #: spacing-spanner.cc:382
 #, c-format
 msgid "Global shortest duration is %s\n"
-msgstr ""
+msgstr "La plus petite durée globale est %s\n"
 
 #: spring-smob.cc:32
 #, c-format
 msgid "#<spring smob d= %f>"
-msgstr ""
+msgstr "#<spring smob d= %f>"
 
 #: staff-symbol.cc:62
 msgid "staff symbol: indentation yields beyond end of line"
-msgstr ""
+msgstr "symbole staff: l'indentation a cédé avant la fin de la ligne"
 
 #: stem-engraver.cc:117
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
-msgstr ""
+msgstr "Ajout d'une note de tête à une hampe de not incompatible (type = %d)"
 
 #: stem.cc:118
-#, fuzzy
 msgid "Weird stem size; check for narrow beams"
-msgstr "dcallage de barre bizarre, check your knees"
+msgstr "Taille bizarre de hampe de not; vérifier pour des faisceaux étroits"
 
 #: streams.cc:34
-#, fuzzy, c-format
+#, c-format
 msgid "can't create directory: `%s'"
-msgstr "ne peut pas trouver ou crer `%s'"
+msgstr "ne peut créer le répertoire: « %s »"
 
 #: streams.cc:48
-#, fuzzy
 msgid "Error syncing file (disk full?)"
-msgstr ")"
+msgstr "Erreur de synchronisation du fichier (disque plein?)"
 
 #: system.cc:109
 #, c-format
 msgid "Element count %d."
-msgstr ""
+msgstr "Éléments dénombrés %d."
 
 #: system.cc:362
-#, c-format
+#, fuzzy, c-format
 msgid "Grob count %d "
-msgstr ""
+msgstr "Éléments dénombrés %d."
 
 #: system.cc:376
 msgid "Calculating column positions..."
-msgstr "Calcul de la position des colonnes..."
+msgstr "Calcul des positions des colonnes..."
 
 #: text-spanner-engraver.cc:92
-#, fuzzy
 msgid "can't find start of text spanner"
-msgstr "impossible de trouver le caractres numro %d"
+msgstr "ne peut repérer le début du texte de clef"
 
 #: text-spanner-engraver.cc:112
-#, fuzzy
 msgid "already have a text spanner"
-msgstr "Il y a dj une barre"
+msgstr "a déjà un texte de clef"
 
 #: text-spanner-engraver.cc:167
-#, fuzzy
 msgid "unterminated text spanner"
-msgstr "Barre non termine"
+msgstr "texte de clef non terminé"
 
 #: text-spanner.cc:130
 msgid "Text_spanner too small"
-msgstr ""
+msgstr "Text_spanner trop petit"
 
 #: tfm-reader.cc:106
 #, c-format
 msgid "TFM header of `%s' has only %u word (s)"
-msgstr ""
+msgstr "L'en-tête TFM de « %s » n'a seulement que %u mot(s)"
 
 #: tfm-reader.cc:140
 #, c-format
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
-msgstr ""
+msgstr "%s: le fichier TFM a %u paramètres qui sont plus que %u pouvant être traités"
 
 #: tfm.cc:83
-#, fuzzy, c-format
+#, c-format
 msgid "can't find ascii character: %d"
-msgstr "ne peut pas trouver le caractre ascii `%d'"
+msgstr "ne peut repérer le caractère ascii: %d"
 
 #: tie-engraver.cc:216
 msgid "lonely tie"
-msgstr "liaison solitaire"
+msgstr "lien isolé"
 
 #: tie-performer.cc:161
 msgid "No ties were created!"
-msgstr "Aucune liaison n'a t cre"
+msgstr "Aucun lien n'a été créé!"
 
 #: time-scaled-music-iterator.cc:25
 msgid "no one to print a tuplet start bracket"
-msgstr ""
+msgstr "aucun pour l'impression d'un tuplet d'accolades de départ"
 
 #: translator-ctors.cc:53
-#, fuzzy, c-format
+#, c-format
 msgid "unknown translator: `%s'"
-msgstr "traducteur inconnu `%s'"
+msgstr "traducteur inconnu: « %s »"
 
 #: translator-def.cc:87
 msgid "Program has no such type"
-msgstr ""
+msgstr "Programme ne peut traiter un tel type"
 
 #: translator-def.cc:93
-#, fuzzy, c-format
+#, c-format
 msgid "Already contains: `%s'"
-msgstr "Contient dj un `%s'"
+msgstr "Contient déjà: « %s »"
 
 #: translator-def.cc:94
-#, fuzzy, c-format
+#, c-format
 msgid "Not adding translator: `%s'"
-msgstr "traducteur inconnu `%s'"
+msgstr "Le traducteur n'est pas ajouté: « %s »"
 
 #: translator-def.cc:209
-#, fuzzy, c-format
+#, c-format
 msgid "can't find: `%s'"
-msgstr "ne peut pas trouver `%s'"
+msgstr "ne peut trouver: « %s »"
 
 #: translator-group.cc:159
 #, c-format
 msgid "can't find or create `%s' called `%s'"
-msgstr "ne peut pas trouver ou crer `%s' nomm `%s'"
+msgstr "ne peut trouver ou créer « %s » qui a appelé « %s »"
 
 #: translator-group.cc:244
-#, fuzzy, c-format
+#, c-format
 msgid "can't find or create: `%s'"
-msgstr "ne peut pas trouver ou crer `%s'"
+msgstr "ne peut toruver ou créer: « %s »"
 
 #: volta-engraver.cc:111
 msgid "No volta spanner to end"
-msgstr ""
+msgstr "Aucune clef volta pour terminer"
 
 #: volta-engraver.cc:121
 msgid "Already have a volta spanner.  Stopping that one prematurely."
-msgstr ""
+msgstr "A déjà une clef volta. Arrêt de celle-ci prématurément."
 
 #: volta-engraver.cc:125
 msgid "Also have a stopped spanner.  Giving up."
-msgstr ""
+msgstr "A aussi une clef arrêtée. Abandon."
 
 #: parser.yy:129
 #, c-format
 msgid "Expecting %d arguments"
-msgstr ""
+msgstr "%d arguments attendus"
 
 #: parser.yy:437
 msgid "Identifier should have  alphabetic characters only"
-msgstr ""
+msgstr "L'identificateur doit contenir des caractères alphabétiques seulement"
 
 #: parser.yy:732
 msgid "More alternatives than repeats.  Junking excess alternatives."
-msgstr ""
+msgstr "Plus d'alternatives que de répétitions. Rebuts dépasse la limite des alternatives."
 
 #: parser.yy:801
 msgid "Second argument must be a symbol"
-msgstr ""
+msgstr "Le second argument doit être un symbole"
 
 #: parser.yy:806
 msgid "First argument must be a procedure taking 1 argument"
-msgstr ""
+msgstr "Le premier argument doit être une procédure n'acceptant qu'un argument"
 
 #: parser.yy:1390
 msgid "Expecting string as script definition"
-msgstr ""
+msgstr "Chaîne attendue comme définition de script"
 
 #: parser.yy:1400
 msgid "Can't specify direction for this request"
-msgstr ""
+msgstr "Ne peut spécifier une direction pour cette requête"
 
 #: parser.yy:1526
 msgid "Expecting musical-pitch value"
-msgstr ""
+msgstr "Valeur du ton musical attendu"
 
 #: parser.yy:1537
-#, fuzzy
 msgid "Must have duration object"
-msgstr "Positionne la plus petite dure (?)"
+msgstr "Doit avoir une durée pour l'objet"
 
 #: parser.yy:1546 parser.yy:1554
-#, fuzzy
 msgid "Have to be in Lyric mode for lyrics"
-msgstr "il fayt tre en mode Parole pour les paroles"
+msgstr "Doit être en mode Lyric pour les paroles"
 
 #: parser.yy:1722 parser.yy:1775
 #, c-format
 msgid "not a duration: %d"
-msgstr "pas une dure: %d"
+msgstr "n'est pas une durée: %d"
 
 #: parser.yy:1862
-#, fuzzy
 msgid "Have to be in Note mode for notes"
-msgstr "il faut tre en mode Note pour les notes"
+msgstr "Doit être en mode Note pour les notes"
 
 #: parser.yy:1961
-#, fuzzy
 msgid "Have to be in Chord mode for chords"
-msgstr "il faut tre en mode Accord pour les accords"
+msgstr "Doit être en mode Chord pour les choeurs"
 
 #: parser.yy:2141
 msgid "need integer number arg"
-msgstr ""
+msgstr "A besoin d'un nombre entier pour l'argument"
 
 #: parser.yy:2213
 msgid "Suspect duration found following this beam"
-msgstr ""
+msgstr "Durée suspecte repéré après ce faisceau"
 
 #: lexer.ll:175
 msgid "EOF found inside a comment"
-msgstr "EOF trouv dans un commentaire"
+msgstr "Fin de fichier (EOF) à l'intérieur du commentaire"
 
 #: lexer.ll:189
 msgid "\\maininput disallowed outside init files"
-msgstr ""
+msgstr "\\maininput désactivé en dehord des fichiers init"
 
 #: lexer.ll:213
-#, fuzzy, c-format
+#, c-format
 msgid "wrong or undefined identifier: `%s'"
-msgstr "indentifiant non dfini: `%s'"
+msgstr "identificateur erroné ou non défini: « %s »"
 
 #. backup rule
 #: lexer.ll:222
 msgid "Missing end quote"
-msgstr ""
+msgstr "Caractère de fin de citation manquant"
 
 #. backup rule
 #: lexer.ll:244 lexer.ll:248
@@ -1400,431 +1368,239 @@ msgstr "blanche attendue"
 
 #: lexer.ll:257
 msgid "Can't evaluate Scheme in safe mode"
-msgstr ""
+msgstr "Ne peut évaluer le Schème de façon sûre"
 
 #: lexer.ll:361
 msgid "Brace found at end of lyric. Did you forget a space?"
-msgstr ""
+msgstr "Accolade repérée à la fin des paroles. Espace oublié?"
 
 #: lexer.ll:477
-#, fuzzy, c-format
+#, c-format
 msgid "invalid character: `%c'"
-msgstr "caractres illgal: `%c'"
+msgstr "caractère invalide: « %c »"
 
 #: lexer.ll:563
 #, c-format
 msgid "unknown escaped string: `\\%s'"
-msgstr "chane d'chappement inconnue: `\\%s'"
+msgstr "chaîne d'échappement inconnue: « \\%s »"
 
 #: lexer.ll:654
-#, fuzzy, c-format
+#, c-format
 msgid "incorrect lilypond version: %s (%s, %s)"
-msgstr "version de mudela incorrecte: %s (%s, %s)"
+msgstr "version de lilypond incorrecte: %s (%s, %s)"
 
 #: lexer.ll:655
 msgid "Consider converting the input with the convert-ly script"
-msgstr ""
+msgstr "Considérer la conversion de l'entrée à l'aide du script convert-ly"
+
+#~ msgid "%s is far from completed.  Not all constructs are recognised."
+#~ msgstr "%s est loin d'être complet. Tous les construits n'ont pas été reconnus."
+
+#~ msgid "Cleaning `%s'..."
+#~ msgstr "Nettoyage de « %s »..."
 
-#, fuzzy
 #~ msgid "EOF in a string"
-#~ msgstr "EOF dans une chane"
+#~ msgstr "Fin de fichier (EOF) dans la chaîne"
+
+#~ msgid "<stdin>"
+#~ msgstr "<stdin>"
 
-#, fuzzy
 #~ msgid "programming error: "
-#~ msgstr "Erreur de programmation: "
+#~ msgstr "erreur de programmation: "
 
-#, fuzzy
 #~ msgid "can't find start of beam"
-#~ msgstr "impossible de trouver le caractres numro %d"
+#~ msgstr "ne peut repérer le début du faisceau"
+
+#~ msgid "weird beam vertical offset"
+#~ msgstr "décalage bizarre vertical de faisceau"
 
-#, fuzzy
 #~ msgid "unknown spacing pair `%s', `%s'"
-#~ msgstr "traducteur inconnu `%s'"
+#~ msgstr "paire d'espacements inconnue « %s », « %s »"
+
+#~ msgid "no Grace context available"
+#~ msgstr "Aucun contexte disponible pour la note d'ornement"
+
+#~ msgid "Unattached grace notes.  Attaching to last musical column."
+#~ msgstr "Notes d'ornement non attachées. On les rattache à la dernière colonne musicale."
+
+#~ msgid "evalute EXPR as Scheme after .scm init is read"
+#~ msgstr "évaluer EXPR comme un Schème après la lecture de initialisation .scm"
+
+#~ msgid "ly_get_mus_property (): Not a Music"
+#~ msgstr "ly_get_mus_property (): n'est pas de la musique"
+
+#~ msgid "ly_set_mus_property (): Not a symbol"
+#~ msgstr "ly_set_mus_property (): n'est pas un symbole"
+
+#~ msgid "ly_set_mus_property ():  not of type Music"
+#~ msgstr "ly_set_mus_property ():  n'est pas un type de musique"
+
+#~ msgid "ly_make_music (): Not a string"
+#~ msgstr "ly_make_music (): n'est pas une chaîne"
+
+#~ msgid "ly_music_name (): Not a music expression"
+#~ msgstr "ly_music_name (): n'est pas une expression musicale"
+
+#~ msgid "writing header field `%s' to `%s'..."
+#~ msgstr "écriture du champ d'en-tête « %s » dans « %s »..."
+
+#~ msgid ""
+#~ "`%s' is deprecated.  Use\n"
+#~ " \\property %s.%s \\override #'%s = #%s"
+#~ msgstr ""
+#~ "« %s » est déprécié.  Utiliser\n"
+#~ " \\propriété %s.%s \\pour écraser #'%s = #%s"
 
-#, fuzzy
 #~ msgid "Wrong type for property: %s, type: %s, value found: %s, type: %s"
-#~ msgstr "Mauvais type pour la valeur de la proprit"
+#~ msgstr "Type erroné pour la propriété: %s, type: %s, valeur trouvée: %s, type: %s"
+
+#~ msgid "too many notes for rest collision"
+#~ msgstr "trop de notes pour la pause en collision"
 
-#, fuzzy
 #~ msgid "Scheme options:"
-#~ msgstr "Options: "
+#~ msgstr "Option de schèmes:"
 
-#~ msgid "Oldest supported input version: %s"
-#~ msgstr "Plus ancienne version supporte: %s"
+#~ msgid "ly-get-trans-property: expecting a Translator_group argument"
+#~ msgstr "ly-get-trans-property: s'attendait à un argument de type Translator_group"
 
-#, fuzzy
-#~ msgid "Cleaning `%s'..."
-#~ msgstr "Cration des voix..."
+#~ msgid "Oldest supported input version: %s"
+#~ msgstr "Version supportant les plus vieux formats: %s"
 
-#, fuzzy
-#~ msgid "writing header field `%s' to `%s'..."
-#~ msgstr "impossible d'ouvrir le fichier: `%s'"
+#~ msgid "#32 in quarter: %d"
+#~ msgstr "#32 dans le quart: %d"
 
-#, fuzzy
 #~ msgid "LY output to `%s'..."
-#~ msgstr "Sortie de Lily vers %s..."
+#~ msgstr "LY produit la sortie vers « %s »..."
 
-#, fuzzy
 #~ msgid "track %d:"
-#~ msgstr "piste "
+#~ msgstr "piste %d:"
 
 #~ msgid "Processing..."
 #~ msgstr "Traitement..."
 
 #~ msgid "Creating voices..."
-#~ msgstr "Cration des voix..."
+#~ msgstr "Création des voix..."
 
 #~ msgid "track "
 #~ msgstr "piste "
 
 #~ msgid "NOT Filtering tempo..."
-#~ msgstr "PAS de filtrage du tempo..."
+#~ msgstr "Pas de filtrage du tempo..."
 
 #~ msgid "NOT Quantifying columns..."
-#~ msgstr "PAS de quantification des colonnes..."
+#~ msgstr "Pas de quantification des colonnes..."
 
 #~ msgid "Quantifying columns..."
 #~ msgstr "Quantification des colonnes..."
 
-#, fuzzy
+#~ msgid "Settling columns..."
+#~ msgstr "Initialisation des colonnes"
+
+#~ msgid "% MIDI copyright:"
+#~ msgstr "% MIDI copyright:"
+
 #~ msgid "% MIDI instrument:"
-#~ msgstr "Pas d'instrument tel: `%s'"
+#~ msgstr "% MIDI instrument:"
 
 #~ msgid "lily indent level: %d"
-#~ msgstr "Niveau d'indentation de lily: %d"
+#~ msgstr "niveau d'indentation de lily: %d"
 
 #~ msgid "% Creator: "
-#~ msgstr "% Auteur: "
+#~ msgstr "% Créateur: "
 
 #~ msgid "% Automatically generated"
-#~ msgstr "% Gnr automatiquement"
+#~ msgstr "% Automatiquement généré"
 
+# msgstr "% à partir du fichier d'entrée: "
 #~ msgid "% from input file: "
-#~ msgstr "% dal file di input: "
+#~ msgstr "% à partir du fichier d'entrée: "
+
+#~ msgid "write exact durations, e.g.: a4*385/384"
+#~ msgstr "écrire les durées exactes i.e.: a4*385/384"
+
+#~ msgid "enable debugging output"
+#~ msgstr "autoriser la mise au point de sortie"
+
+#~ msgid "don't output tuplets, double dots or rests, smallest is 32"
+#~ msgstr "ne pas produire les tuplets, les doubles pointées ou les pauses, plus petits que 32"
 
-#, fuzzy
 #~ msgid "set FILE as default output"
-#~ msgstr "  -o, --output=FILE      set FILE come output di default\n"
+#~ msgstr "définir le FICHIER comme étant la sortie par défaut"
+
+#~ msgid "don't output tuplets"
+#~ msgstr "ne pas produire les tuplets"
 
 #~ msgid "be quiet"
-#~ msgstr "mode silencieux"
+#~ msgstr "travailler en silence"
+
+#~ msgid "don't output rests or skips"
+#~ msgstr "ne pas produire les pauses ou les sauts"
 
-#, fuzzy
 #~ msgid "set smallest duration"
-#~ msgstr "Positionne la plus petite dure (?)"
+#~ msgstr "définir la plus petite durée"
+
+#~ msgid "don't timestamp the output"
+#~ msgstr "ne pas dater la sortie"
+
+#~ msgid "be verbose"
+#~ msgstr "passer en mode explicatif"
+
+#~ msgid "assume no double dotted notes"
+#~ msgstr "assumer aucune note double pointée"
 
 #~ msgid "Usage: %s [OPTION]... [FILE]"
-#~ msgstr "Usage: %s [OPTION... [FICHIER]"
+#~ msgstr "Usage: %s [OPTION]... [FICHIER]"
 
-#, fuzzy
 #~ msgid "Translate MIDI-file to lilypond"
-#~ msgstr "Traduction du fichier MIDI en mudela"
+#~ msgstr "Traduire un fichier en format MIDI au format lilypond"
+
+#~ msgid "no_double_dots: %d\n"
+#~ msgstr "no_double_dots: %d\n"
+
+#~ msgid "no_rests: %d\n"
+#~ msgstr "no_rests: %d\n"
+
+#~ msgid "no_quantify_b_s: %d\n"
+#~ msgstr "no_quantify_b_s: %d\n"
+
+#~ msgid "no_smaller_than: %d (1/%d)\n"
+#~ msgstr "no_smaller_than: %d (1/%d)\n"
+
+#~ msgid "no_tuplets: %d\n"
+#~ msgstr "no_tuplets: %d\n"
 
 #~ msgid "zero length string encountered"
-#~ msgstr "chane de taille vide rencontre"
+#~ msgstr "chaîne de longueur zéro rencontrée"
 
 #~ msgid "MIDI header expected"
-#~ msgstr "entte MIDI attendue"
+#~ msgstr "En-tête de format MIDI attendue"
 
-#, fuzzy
 #~ msgid "invalid header length"
-#~ msgstr "Taille d'entte invalide"
+#~ msgstr "longueur invalide d'en-tête"
 
-#, fuzzy
 #~ msgid "invalid MIDI format"
-#~ msgstr "vnement MIDI invalide"
+#~ msgstr "format MIDI invalide"
 
-#, fuzzy
 #~ msgid "invalid number of tracks"
-#~ msgstr "Nombre de pistes invalide"
+#~ msgstr "nombre invalide de pistes"
 
-#, fuzzy
 #~ msgid "can't handle non-metrical time"
-#~ msgstr "temps non mtrique"
+#~ msgstr "ne peut traiter des temps non métriques"
+
+#~ msgid "Junking note-end event: channel = %d, pitch = %d"
+#~ msgstr "Mise au rebut d'un événement de fin de note: canal = %d, ton = %d"
+
+#~ msgid "invalid running status"
+#~ msgstr "état d'exécution invalide"
 
 #~ msgid "unimplemented MIDI meta-event"
-#~ msgstr "meta-vnement MIDI non implment"
+#~ msgstr "méta-événement MIDI non implanté"
 
 #~ msgid "invalid MIDI event"
-#~ msgstr "vnement MIDI invalide"
+#~ msgstr "événement MIDI invalide"
 
 #~ msgid "MIDI track expected"
 #~ msgstr "piste MIDI attendue"
 
 #~ msgid "invalid track length"
-#~ msgstr "taille de piste invalide"
-
-#, fuzzy
-#~ msgid "no Grace context available"
-#~ msgstr "pas une vrai variable"
-
-#, fuzzy
-#~ msgid "Fetching `%'s..."
-#~ msgstr "Cration des voix..."
-
-#, fuzzy
-#~ msgid "Lily output to %s..."
-#~ msgstr "Sortie de Lily vers %s..."
-
-#~ msgid "Wrong type for property value"
-#~ msgstr "Mauvais type pour la valeur de la proprit"
-
-#, fuzzy
-#~ msgid "not enough fields in Dstream init"
-#~ msgstr "Pas assez de champs dans l'initialisation de Dstream."
-
-#, fuzzy
-#~ msgid "floating point exception"
-#~ msgstr "Exceptions de virgule flottante"
-
-#, fuzzy
-#~ msgid "can't set mem-checking!"
-#~ msgstr "impossible de positionner mem-checking"
-
-#, fuzzy
-#~ msgid "Dependency file left in `%s'"
-#~ msgstr "impossible d'ouvrir le fichier: `%s'"
-
-#, fuzzy
-#~ msgid "Report bugs to bug-gnu-music@gnu.org"
-#~ msgstr "Rapporter les bugs "
-
-#, fuzzy
-#~ msgid "Usage: ly2dvi [OPTION]... FILE\n"
-#~ msgstr "Usage: %s [OPTION... [FICHIER]"
-
-#, fuzzy
-#~ msgid "wrong identifier type, expected: `%s'"
-#~ msgstr "Mauvais type d'indentifiant: "
-
-#~ msgid "Automatically generated"
-#~ msgstr "Gnr automatiquement"
-
-#, fuzzy
-#~ msgid "Wrong type for property"
-#~ msgstr "Mauvais type pour la valeur de la proprit"
-
-#, fuzzy
-#~ msgid "unknown clef type"
-#~ msgstr "type de cl inconnu"
-
-#~ msgid "Aborting"
-#~ msgstr "Annulation"
-
-#, fuzzy
-#~ msgid "lost in time:"
-#~ msgstr "perdu dans le temps"
-
-#, fuzzy
-#~ msgid "No key name, assuming `C'"
-#~ msgstr "Pas de nom de cl: Do assum"
-
-#, fuzzy
-#~ msgid "out of tune:"
-#~ msgstr "hors de la tonalit"
-
-#~ msgid "unknown paper variable: `%s'"
-#~ msgstr "variable papier inconnue: `%s'"
-
-#~ msgid "not a real variable"
-#~ msgstr "pas une vrai variable"
-
-#~ msgid "Debug output disabled.  Compiled with NPRINT."
-#~ msgstr "Messages de deboggage dsactivs. Compil avec NPRINT."
-
-#~ msgid "No Beam to end"
-#~ msgstr "Pas de barre  la fin (No beam to end)"
-
-#~ msgid "No beam to end"
-#~ msgstr "Pas de barre  la fin (No beam to end)"
-
-#~ msgid "0 lines"
-#~ msgstr "0 ligne"
-
-#~ msgid "1 line (of %.0f columns)"
-#~ msgstr "1 ligne (de %.0f colonnes)"
-
-#~ msgid "%d lines (with an average of %.1f columns)"
-#~ msgstr "%d lignes (avec une moyenne de %.f colonnes)"
-
-#~ msgid "score does not have any columns"
-#~ msgstr "la partition n'a aucune colonne"
-
-#, fuzzy
-#~ msgid "approximated %s"
-#~ msgstr "approximativement %s"
-
-#, fuzzy
-#~ msgid "calculated %s exactly"
-#~ msgstr "calcul %s exactement"
-
-#~ msgid "No abbreviation beam to end"
-#~ msgstr "Pas de barre d'abrviation  la fin"
-
-#~ msgid "Already have an abbreviation beam"
-#~ msgstr "Il y a dj une barre d'abrviation"
-
-#~ msgid "Unfinished abbreviation beam"
-#~ msgstr "Barre d'abrviation non termine"
-
-#~ msgid "Too many crescendi here"
-#~ msgstr "Trop de crescendi ici"
-
-#~ msgid "%s expected"
-#~ msgstr "%s attendu"
-
-#~ msgid "Can not find file `%s'"
-#~ msgstr "Ne peut pas trouver le fichier `%s'"
-
-#~ msgid "can't find"
-#~ msgstr "pas trouv"
-
-#~ msgid "Can't open `%s'\n"
-#~ msgstr "Ne peut pas ouvrir `%s'\n"
-
-#~ msgid "Search path %s\n"
-#~ msgstr "Chemin de recherche %s\n"
-
-#~ msgid " elements. "
-#~ msgstr " lments. "
-
-#~ msgid "time: %.2f seconds"
-#~ msgstr "dure: %.2f secondes"
-
-#~ msgid "cadenza"
-#~ msgstr "cadence"
-
-#~ msgid "partial measure must be non-negative"
-#~ msgstr "mesure partielle ne peut pas tre ngative"
-
-#~ msgid "partial measure too large"
-#~ msgstr "mesure partielle trop grande"
-
-#~ msgid "Will ignore \\relative for transposed music"
-#~ msgstr "\\relative sera ignor pour la musique transpose"
-
-#~ msgid "ugh, this measure is too long"
-#~ msgstr "oops, cette mesure est trop longue"
-
-#~ msgid "breakpoint: %d"
-#~ msgstr "point d'arrt: %d"
-
-#~ msgid "generating stupido solution"
-#~ msgstr "gnration de solutions stupides"
-
-#~ msgid "More than one music block"
-#~ msgstr "Plus d'un bloc de musique"
-
-#~ msgid "can't abbreviate"
-#~ msgstr "ne peut pas abrger"
-
-#~ msgid "Invalid midi format"
-#~ msgstr "Format MIDI invalide"
-
-#~ msgid "can't handle %s"
-#~ msgstr "ne peut pas traiter %s"
-
-#~ msgid "Parsing...\n"
-#~ msgstr "Analyse...\n"
-
-#, fuzzy
-#~ msgid "enable debugging output "
-#~ msgstr "  -D, --debug            abilita l'output di debugging\n"
-
-#, fuzzy
-#~ msgid "don't timestamp the output "
-#~ msgstr ""
-#~ "  -T, --no-timestamps    non inserisce marcatori temporali nell'output\n"
-
-#~ msgid "  -a, --about            about LilyPond\n"
-#~ msgstr "  -a, --about            cos' LilyPond\n"
-
-#~ msgid "  -h, --help             this help\n"
-#~ msgstr "  -h, --help             questo help\n"
-
-#~ msgid "  -f, --output-format=X  use output format X\n"
-#~ msgstr "  -f, --output-format=X  usa il formato dell'ouput X\n"
-
-#~ msgid "  -o, --output=FILE      set FILE as default output base\n"
-#~ msgstr ""
-#~ "  -o, --output=FILE      indica FILE come base di default per l'output\n"
-
-#~ msgid "  -V, --ignore-version   ignore mudela version\n"
-#~ msgstr "  -V, --ignore-version   ignora la versione di mudela\n"
-
-#~ msgid "GNU LilyPond is Free software, see --warranty"
-#~ msgstr "GNU LilyPond  Free software, vedi --warranty"
-
-#~ msgid "  -D, --debug            enable debugging output\n"
-#~ msgstr "  -D, --debug            abilita l'output di debugging\n"
-
-#, fuzzy
-#~ msgid "  -p, --no-tuplets       assume no tuplets\n"
-#~ msgstr "  -p, --no-plets         assume che non ci siano gruppetti\n"
-
-#~ msgid "  -q, --quiet            be quiet\n"
-#~ msgstr "  -q, --quiet            sii silenzioso\n"
-
-#~ msgid ""
-#~ "  -s, --smallest=N       assume no shorter (reciprocal) durations than N\n"
-#~ msgstr ""
-#~ "  -s, --smallest=N       assume che non ci siano durate (reciproche) "
-#~ "inferiori a N\n"
-
-#~ msgid "  -v, --verbose          be verbose\n"
-#~ msgstr "  -v, --verbose          sii loquace\n"
-
-#, fuzzy
-#~ msgid "Midi2ly, translate midi to mudela"
-#~ msgstr "Mi2mu, tradice midi in mudela"
-
-#~ msgid "of"
-#~ msgstr "de"
-
-#~ msgid "please fix me"
-#~ msgstr "corrigez moi, s'il vous plait"
-
-#~ msgid "stem at %s doesn't fit in beam"
-#~ msgstr "Queue  %s ne rentre pas dans la barre"
-
-#~ msgid "No stem direction set. Ignoring column in clash."
-#~ msgstr "."
-
-#~ msgid "\\relative mode changed here, old value: "
-#~ msgstr "\\mode relatif chang ici, valeur prcdante: "
-
-#~ msgid "ignoring zero duration added to column at %s"
-#~ msgstr "dure nulle ajoute  la colonne  %s ignore"
-
-#~ msgid "script needs stem direction"
-#~ msgstr "scipt a besoin de direction de la queue"
-
-#~ msgid "unconnected column: %d"
-#~ msgstr "colonne non connecte: %d"
-
-#~ msgid ""
-#~ "Staff_side::get_position_f(): somebody forgot to set my direction, "
-#~ "returning -20"
-#~ msgstr ""
-#~ "taff_side::get_position_f(): quelqu'un a oubli de positionner ma "
-#~ "direction,  je retourne -20"
-
-#~ msgid "have to be in Note mode for @chords"
-#~ msgstr "il faut tre en mode Note pour @chords"
-
-#~ msgid ""
-#~ "LilyPond is the GNU Project music typesetter.  This program can print\n"
-#~ "beautiful sheet music from a music definition file.  It can also play\n"
-#~ "mechanical performances to a MIDI file.  Features include multiple\n"
-#~ "staffs, meters, clefs, keys, lyrics, versatile input language, cadenzas,\n"
-#~ "beams, slurs, triplets, named chords, transposing, formatting scores, \n"
-#~ "part extraction.  It includes a nice font of musical symbols.\n"
-#~ msgstr ""
-#~ "Lilypond est le formateur de musique du projet GNU. Ce programme peut\n"
-#~ "imprimer de belles partitions de musiques  partir d'un fichier de\n"
-#~ "dfinition de musique. Il peut aussi jouer automaiquement le morceau\n"
-#~ "vers un fichier midi. Ses caractristiques incluent plusieurs portes,\n"
-#~ "mtre, cls, tonalits, paroles, language d'entre polyvalent, cadences,\n"
-#~ "barres, liaison, triplets, accords nomms, transposition, formattage des\n"
-#~ "paritions, extraction de parties. Il inclue une jolie police de symbol\n"
-#~ "musicaux.\n"
+#~ msgstr "longueur de piste invalide"
diff -purN ../lilypond-1.5.69/ps/GNUmakefile ./ps/GNUmakefile
--- ../lilypond-1.5.69/ps/GNUmakefile	Tue Nov  3 19:08:54 1998
+++ ./ps/GNUmakefile	Wed Jul 24 17:18:29 2002
@@ -1,13 +1,11 @@
-# ps/Makefile
-
 depth = ..
 
 PS_FILES = $(wildcard *.ps)
 
 STEPMAKE_TEMPLATES=install
-EXTRA_DIST_FILES =  $(PS_FILES) 
+EXTRA_DIST_FILES = $(PS_FILES) 
 
-INSTALLATION_DIR=$(datadir)/ps/
+INSTALLATION_DIR=$(local_lilypond_datadir)/ps/
 INSTALLATION_FILES=$(PS_FILES)
 
 include $(depth)/make/stepmake.make
diff -purN ../lilypond-1.5.69/python/GNUmakefile ./python/GNUmakefile
--- ../lilypond-1.5.69/python/GNUmakefile	Fri Oct 19 18:16:11 2001
+++ ./python/GNUmakefile	Wed Jul 24 17:18:29 2002
@@ -1,7 +1,7 @@
 depth = ..
 
 INSTALLATION_FILES=$(PY_MODULES) $(OUT_PY_MODULES) $(OUT_SO_MODULES)
-INSTALLATION_DIR=$(datadir)/python
+INSTALLATION_DIR=$(local_lilypond_datadir)/python
 
 STEPMAKE_TEMPLATES=c python-module install po
 
diff -purN ../lilypond-1.5.69/scm/GNUmakefile ./scm/GNUmakefile
--- ../lilypond-1.5.69/scm/GNUmakefile	Fri Nov  3 15:39:57 2000
+++ ./scm/GNUmakefile	Wed Jul 24 17:18:29 2002
@@ -2,7 +2,7 @@
 
 depth = ..
 
-INSTALLATION_DIR=$(datadir)/scm/
+INSTALLATION_DIR=$(local_lilypond_datadir)/scm/
 INSTALLATION_FILES=$(SCM_FILES)
 
 STEPMAKE_TEMPLATES=install scm
diff -purN ../lilypond-1.5.69/scm/ascii-script.scm ./scm/ascii-script.scm
--- ../lilypond-1.5.69/scm/ascii-script.scm	Mon Jul 22 12:22:02 2002
+++ ./scm/ascii-script.scm	Tue Jul 23 15:43:34 2002
@@ -154,7 +154,7 @@
 		(if (<= dy 1) "-" "="))
 	  (func "h-line" dx))))))
 
-(define (roundfilledbox breapth width depth height)
+(define (roundfilledbox breapth width depth height blot)
   (filledbox breapth width depth height))
 
 (define (font-load-command name-mag command)
diff -purN ../lilypond-1.5.69/scm/documentation-lib.scm ./scm/documentation-lib.scm
--- ../lilypond-1.5.69/scm/documentation-lib.scm	Mon Jul 22 12:22:02 2002
+++ ./scm/documentation-lib.scm	Fri Jul 26 12:27:03 2002
@@ -119,9 +119,6 @@ Add a ref if REF is set
    (texi-menu items-alist)))
 
 
-(define (pad-string-to str wid)
-  (string-append str (make-string (max (- wid (string-length str)) 0) #\ ))
-  )
 
 (define (texi-file-head name file-name top items-alist)
 
diff -purN ../lilypond-1.5.69/scm/grob-description.scm ./scm/grob-description.scm
--- ../lilypond-1.5.69/scm/grob-description.scm	Mon Jul 22 12:22:02 2002
+++ ./scm/grob-description.scm	Tue Jul 23 20:46:33 2002
@@ -22,7 +22,7 @@
 	))
     (AccidentalPlacement
      . (
-	(X-extent-callback . ,Accidental_placement::extent_callback)
+	(X-extent-callback . ,Axis_group_interface::group_extent_callback)
 	(left-padding . 0.3)
 	(right-padding . 0.3)
 	(meta . ((interfaces . (item-interface accidental-placement-interface))))
@@ -303,6 +303,7 @@
 	(X-extent-callback . ,Grob::point_dimension_callback)
 	(breakable . #t)
 	(space-alist . (
+			(custos . (extra-space . 0.0))
 			(ambitus . (extra-space . 2.0))
 			(time-signature . (extra-space . 0.0)) 
 			(staff-bar . (extra-space . 0.0))
diff -purN ../lilypond-1.5.69/scm/grob-property-description.scm ./scm/grob-property-description.scm
--- ../lilypond-1.5.69/scm/grob-property-description.scm	Mon Jul 22 12:22:02 2002
+++ ./scm/grob-property-description.scm	Thu Jul 25 18:52:53 2002
@@ -58,12 +58,9 @@ the grob to the nearest open space.
 ")
 (grob-property-description 'Y-extent-callback procedure? "see @code{X-extent-callback}.")
 (grob-property-description 'Y-offset-callbacks list? "see @code{X-offset-callbacks}.")
-(grob-property-description 'accidentals list? "Alist with (PITCH
-. OPTION-LIST) entries. OPTION-LIST can contain 'cautionary, 'natural
-and 'tie-break-reminder
 
-FIXME: outdated.
-")
+(grob-property-description 'accidental-grobs list? "Alis with (NOTENAME . GROBLIST) entries")
+(grob-property-description 'accidentals list? "List of alteration numbers.")
 (grob-property-description 'add-stem boolean? "Add stem to porrectus?.")
 (grob-property-description 'adjust-if-on-staffline boolean? "If this grob is on a staff line, adjust its appearance, so that it better fits into the staff.  E.g., if set true on stem grobs, flares of mensural flags will always be aligned with the staff lines, regardless if the associated note head is printed on a staff line or inbetween.")
 (grob-property-description 'after-line-breaking-callback procedure? "Procedure taking a grob as argument.
@@ -140,6 +137,7 @@ square of the inner notes involved.")
 (grob-property-description 'collapse-height number? "Minimum height of system start delimiter.  If equal or smaller, the bracket is removed.")
 
 (grob-property-description 'columns grob-list? "list of grobs, typically containing paper-columns.")
+(grob-property-description 'conditional-elements grob-list? "Internal use only")
 (grob-property-description 'control-points list? "List of 4 offsets (number-pairs) that form control points for the  tie/slur shape.")
 (grob-property-description 'damping integer? "amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams .")
 (grob-property-description 'dash-length number? "the length of a dash.")
@@ -177,6 +175,8 @@ mean centre distance weighted per note
 (grob-property-description 'expand-limit integer? "maximum number of measures expanded in church rests.")
 (grob-property-description 'extra-extent-X number-pair? "enlarge in X dimension by this much, measured in staff space.")
 (grob-property-description 'extra-extent-Y number-pair? "see @code{extra-extent-Y}.")
+(grob-property-description 'extent-X number-pair? "Store extent. internal use only. ")
+(grob-property-description 'extent-Y number-pair? "Store extent. internal use only. ")
 (grob-property-description 'extra-offset number-pair? "pair of reals
 (a cons) forcing an extra offset before outputting.
 @code{extra-offset} is added just before `printing' the grob, so the
@@ -503,8 +503,7 @@ no extent.
 (grob-property-description 'y-free number? "minimal vertical gap between slur and noteheads or stems.")
 (grob-property-description 'y-offset number? "extra vertical offset for ties away from the center line.")
 
-;;;;;;;;;;;;;;;;;;;;
-;;;;;;;;;;;;;;;; INTERNAL
+;;; INTERNAL
 
 (grob-property-description 'left-neighbors grob-list? " List of
 spacing-wish grobs that are close to the current column.
diff -purN ../lilypond-1.5.69/scm/lily.scm ./scm/lily.scm
--- ../lilypond-1.5.69/scm/lily.scm	Wed Jul 17 15:18:49 2002
+++ ./scm/lily.scm	Fri Jul 26 12:27:03 2002
@@ -111,19 +111,11 @@
   (string<? (symbol->string (car x))
 	    (symbol->string (car y))))
 
-
 (define (ly-load x)
-  (let*
-      (
-       (fn (%search-load-path x))
-       )
+  (let* ((fn (%search-load-path x)))
     (if (ly-verbose)
 	(format (current-error-port) "[~A]" fn))
-    (primitive-load fn)
-
-    ))
-
-
+    (primitive-load fn)))
 
 
 (use-modules (scm tex)
@@ -136,25 +128,33 @@
 
 (define output-alist
   `(
-    ("tex" . ,tex-output-expression)
-    ("ps" . ,ps-output-expression)
-    ("scm" . ,write)
-    ("as" . ,as-output-expression)
-    ("pysk" . ,pysk-output-expression)
-    ("sketch" . ,sketch-output-expression)
-    ("pdftex" . ,pdftex-output-expression)
-))
+    ("tex" . ("TeX output. The default output form." ,tex-output-expression))
+    ("ps" . ("Direct postscript. Requires setting GS_LIB and GS_FONTPATH" ,ps-output-expression))
+    ("scm" . ("Scheme dump: debug scheme molecule expressions" ,write))
+    ("as" . ("Asci-script. Postprocess with as2txt to get ascii art"  ,as-output-expression))
+    ("sketch" . ("Bare bones Sketch output. Requires sketch 0.7" ,sketch-output-expression))
+    ("pdftex" . ("PDFTeX output. Was last seen nonfunctioning." ,pdftex-output-expression))
+    ))
 
+(define (pad-string-to str wid)
+  (string-append str (make-string (max (- wid (string-length str)) 0) #\ ))
+  )
+
+(define (document-format-dumpers)
+  (map
+   (lambda (x)
+     (display (string-append  (pad-string-to 5 (car x)) (cadr x) "\n"))
+     output-alist)
+   ))
 
 (define (find-dumper format )
   (let*
       ((d (assoc format output-alist)))
     
-    (if (pair?  d)
-		(cdr d)
-	     scm-output-expression)
-	    ))
-
+    (if (pair? d)
+	(caddr d)
+	(scm-error "Could not find dumper for format ~s" format))
+    ))
 
 (define X 0)
 (define Y 1)
diff -purN ../lilypond-1.5.69/scm/pdf.scm ./scm/pdf.scm
--- ../lilypond-1.5.69/scm/pdf.scm	Sun Jun 16 14:25:07 2002
+++ ./scm/pdf.scm	Tue Jul 23 15:43:34 2002
@@ -151,7 +151,7 @@
 ;;		     (ly-number->string (radius))
 ;;		     " ??? "))) ;; how to draw a circle in PDF?
 ;;
-;;(define (roundfilledbox x width y height blotdiam)
+;;(define (roundfilledbox x y width height blotdiam)
 ;;  (string-append " "
 ;;    (dot x y blotdiam)
 ;;    (dot (+ x width) y blotdiam)
@@ -163,7 +163,7 @@
 ;;
 ;; WORKAROUND:
 ;;
-(define (roundfilledbox breadth width depth height) 
+(define (roundfilledbox breadth width depth height blot) 
   (filledbox breadth width depth height))
 ;;
 
diff -purN ../lilypond-1.5.69/scm/pdftex.scm ./scm/pdftex.scm
--- ../lilypond-1.5.69/scm/pdftex.scm	Sun Jun 16 14:25:07 2002
+++ ./scm/pdftex.scm	Tue Jul 23 15:43:34 2002
@@ -204,8 +204,8 @@
    "depth " (number->dim depth)
    "height " (number->dim height) " "))
 
-(define (roundfilledbox x width y height blotdiam)
-  (embedded-pdf (list 'roundfilledbox  x width y height blotdiam)))
+(define (roundfilledbox x y width height blotdiam)
+  (embedded-pdf (list 'roundfilledbox  x y width height blotdiam)))
 
 (define (text s)
   (string-append "\\hbox{" (output-tex-string s) "}"))
diff -purN ../lilypond-1.5.69/scm/ps.scm ./scm/ps.scm
--- ../lilypond-1.5.69/scm/ps.scm	Sun Jun 16 14:25:07 2002
+++ ./scm/ps.scm	Tue Jul 23 15:43:34 2002
@@ -175,10 +175,10 @@
   (string-append (numbers->string (list breapth width depth height))
 		 " draw_box" ))
 
-(define (roundfilledbox x width y height blotdiam)
+(define (roundfilledbox x y width height blotdiam)
    (string-append " "
       (numbers->string
-         (list x width y height blotdiam)) " draw_round_box"))
+         (list x y width height blotdiam)) " draw_round_box"))
 
 (define (dot x y radius)
     (string-append " "
diff -purN ../lilypond-1.5.69/scm/sketch.scm ./scm/sketch.scm
--- ../lilypond-1.5.69/scm/sketch.scm	Sun Jun 16 14:25:07 2002
+++ ./scm/sketch.scm	Tue Jul 23 15:43:34 2002
@@ -30,6 +30,12 @@
 ;;    ))
 
 
+;;
+;; All functions have the signature 
+;;
+;;  NAME X Y ARGUMENTS-PASSED-BY-LILYPOND
+;;
+
 ;; guile <= 1.4.x compatibility for eval
 (if (or (equal? (minor-version) "4.1")
 	(equal? (minor-version) "4")
@@ -63,9 +69,6 @@
 
 (define (dispatch-x-y x y expr)
   (apply (ly-eval (car expr) this-module) (append (list x y) (cdr expr))))
-
-
-
       
 (define (ascii->string i) (make-string 1 (integer->char i)))
 
@@ -95,6 +98,10 @@
    (sketch-numbers->string (map mul-scale (list width dy dx height x y)))
    ")\n"))
 
+
+(define (roundfilledbox x y dx dy w h b)
+  (filled-rectangle w 0 0 h x y))
+
 (define (sketch-bezier x y l)
   (let* ((c0 (car (list-tail l 3)))
 	 (c123 (list-head l 3))
@@ -106,6 +113,7 @@
      "bc(" (sketch-numbers->string (map mul-scale control)) ",2)\n")))
   
 
+
 (define (sketch-beziers x y l thick)
   (let* ((first (list-tail l 4))
 	 (second (list-head l 4)))
diff -purN ../lilypond-1.5.69/scripts/lilypond-book.py ./scripts/lilypond-book.py
--- ../lilypond-1.5.69/scripts/lilypond-book.py	Mon Jul 22 13:11:34 2002
+++ ./scripts/lilypond-book.py	Wed Jul 24 15:35:05 2002
@@ -92,12 +92,12 @@ if program_version == '@' + 'TOPLEVEL_VE
 
 # if set, LILYPONDPREFIX must take prevalence
 # if datadir is not set, we're doing a build and LILYPONDPREFIX 
-datadir = '@datadir@'
+datadir = '@local_lilypond_datadir@'
 
 if os.environ.has_key ('LILYPONDPREFIX') :
 	datadir = os.environ['LILYPONDPREFIX']
 else:
-	datadir = '@datadir@'
+	datadir = '@local_lilypond_datadir@'
 
 while datadir[-1] == os.sep:
 	datadir= datadir[:-1]
diff -purN ../lilypond-1.5.69/scripts/ly2dvi.py ./scripts/ly2dvi.py
--- ../lilypond-1.5.69/scripts/ly2dvi.py	Mon Jul 22 12:22:02 2002
+++ ./scripts/ly2dvi.py	Wed Jul 24 15:35:05 2002
@@ -296,12 +296,12 @@ def mkdir_p (dir, mode=0777):
 
 # if set, LILYPONDPREFIX must take prevalence
 # if datadir is not set, we're doing a build and LILYPONDPREFIX 
-datadir = '@datadir@'
+datadir = '@local_lilypond_datadir@'
 
 if os.environ.has_key ('LILYPONDPREFIX') :
 	datadir = os.environ['LILYPONDPREFIX']
 else:
-	datadir = '@datadir@'
+	datadir = '@local_lilypond_datadir@'
 
 
 while datadir[-1] == os.sep:
diff -purN ../lilypond-1.5.69/scripts/midi2ly.py ./scripts/midi2ly.py
--- ../lilypond-1.5.69/scripts/midi2ly.py	Sun Jun  9 13:04:27 2002
+++ ./scripts/midi2ly.py	Wed Jul 24 15:35:05 2002
@@ -30,11 +30,11 @@ import string
 
 
 # do fuddling: we must load the midi module from the right directory. 
-datadir = '@datadir@'
+datadir = '@local_lilypond_datadir@'
 if os.environ.has_key ('LILYPONDPREFIX'):
 	datadir = os.environ['LILYPONDPREFIX']
 else:
-	datadir = '@datadir@'
+	datadir = '@local_lilypond_datadir@'
 
 sys.path.append (os.path.join (datadir, 'python'))
 sys.path.append (os.path.join (datadir, 'python/out'))
diff -purN ../lilypond-1.5.69/scripts/mup2ly.py ./scripts/mup2ly.py
--- ../lilypond-1.5.69/scripts/mup2ly.py	Mon Jul 22 12:22:02 2002
+++ ./scripts/mup2ly.py	Wed Jul 24 15:35:05 2002
@@ -37,17 +37,17 @@ import tempfile
 
 # if set, LILYPONDPREFIX must take prevalence
 # if datadir is not set, we're doing a build and LILYPONDPREFIX 
-datadir = '@datadir@'
+datadir = '@local_lilypond_datadir@'
 if os.environ.has_key ('LILYPONDPREFIX') \
-   or '@datadir@' == '@' + 'datadir' + '@':
+   or '@local_lilypond_datadir@' == '@' + 'local_lilypond_datadir' + '@':
 	datadir = os.environ['LILYPONDPREFIX']
 else:
-	datadir = '@datadir@'
+	datadir = '@local_lilypond_datadir@'
 
 sys.path.append (os.path.join (datadir, 'python'))
 sys.path.append (os.path.join (datadir, 'python/out'))
 
-program_name = 'ly2dvi'
+program_name = 'mup2ly'
 program_version = '@TOPLEVEL_VERSION@'
 original_dir = os.getcwd ()
 temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
@@ -313,12 +313,12 @@ def mkdir_p (dir, mode=0777):
 
 # if set, LILYPONDPREFIX must take prevalence
 # if datadir is not set, we're doing a build and LILYPONDPREFIX 
-datadir = '@datadir@'
+datadir = '@local_lilypond_datadir@'
 
 if os.environ.has_key ('LILYPONDPREFIX') :
 	datadir = os.environ['LILYPONDPREFIX']
 else:
-	datadir = '@datadir@'
+	datadir = '@local_lilypond_datadir@'
 
 
 while datadir[-1] == os.sep:
diff -purN ../lilypond-1.5.69/stepmake/GNUmakefile.in ./stepmake/GNUmakefile.in
--- ../lilypond-1.5.69/stepmake/GNUmakefile.in	Thu Jun 13 15:47:35 2002
+++ ./stepmake/GNUmakefile.in	Wed Jul 24 17:18:29 2002
@@ -50,7 +50,7 @@ stepmake/aclocal.m4:
 	-$(LN) aclocal.m4 $@
 
 ifeq ($(PACKAGE),STEPMAKE)
-INSTALLATION_DIR=$(datadir)
+INSTALLATION_DIR=$(package_datadir)
 INSTALLATION_FILES=$(DIST_FILES) $(NON_ESSENTIAL_DIST_FILES) GNUmakefile config.make config.status
 include $(stepdir)/install-targets.make
 endif
diff -purN ../lilypond-1.5.69/stepmake/aclocal.m4 ./stepmake/aclocal.m4
--- ../lilypond-1.5.69/stepmake/aclocal.m4	Mon Jul 22 12:22:02 2002
+++ ./stepmake/aclocal.m4	Wed Jul 24 17:18:29 2002
@@ -236,22 +236,30 @@ AC_DEFUN(STEPMAKE_CXXTEMPLATE, [
 
 AC_DEFUN(STEPMAKE_DATADIR, [
     if test "$datadir" = "\${prefix}/share"; then
-	    datadir='${prefix}/share/'$package/$FULL_VERSION
+	    datadir='${prefix}/share'
     fi
-    DIR_DATADIR=${datadir}
     presome=${prefix}
     if test "$prefix" = "NONE"; then
-	    presome=${ac_default_prefix}
+	presome=${ac_default_prefix}
     fi
-    DIR_DATADIR=`echo ${DIR_DATADIR} | sed "s!\\\${prefix}!$presome!"`
-
-    AC_SUBST(datadir)
-    AC_SUBST(DIR_DATADIR)
-
-    # we used to set DIR_SHAREDSTATEDIR here,
-    # but apparently that broke something
     
-    AC_DEFINE_UNQUOTED(DIR_DATADIR, "${DIR_DATADIR}")
+    package_datadir=$datadir/$package
+    local_package_datadir=$package_datadir/$FULL_VERSION
+    build_package_datadir=$builddir/share/$package
+    
+    DATADIR=$(echo ${datadir} | sed "s!\\\${prefix}!$presome!")
+    PACKAGE_DATADIR=$(echo ${package_datadir} | sed "s!\\\${prefix}!$presome!")
+    LOCAL_PACKAGE_DATADIR=$(echo ${local_package_datadir} | sed "s!\\\${prefix}!$presome!")
+    BUILD_PACKAGE_DATADIR=$(echo ${build_package_datadir} | sed "s!\\\${prefix}!$presome!")
+    
+    AC_SUBST(datadir)
+    AC_SUBST(package_datadir)
+    AC_SUBST(local_package_datadir)
+    AC_SUBST(build_package_datadir)
+    AC_DEFINE_UNQUOTED(DATADIR, "${DATADIR}")
+    AC_DEFINE_UNQUOTED(PACKAGE_DATADIR, "${PACKAGE_DATADIR}")
+    AC_DEFINE_UNQUOTED(LOCAL_PACKAGE_DATADIR, "${LOCAL_PACKAGE_DATADIR}")
+    AC_DEFINE_UNQUOTED(BUILD_PACKAGE_DATADIR, "${BUILD_PACKAGE_DATADIR}")
 ])
 
 
@@ -329,16 +337,14 @@ AC_DEFUN(STEPMAKE_GCC, [
 
 
 AC_DEFUN(STEPMAKE_GETTEXT, [
-    DIR_LOCALEDIR=${localedir}
     presome=${prefix}
     if test "$prefix" = "NONE"; then
 	    presome=${ac_default_prefix}
     fi
-    DIR_LOCALEDIR=`echo ${DIR_LOCALEDIR} | sed "s!\\\${prefix}!$presome!"`
+    LOCALEDIR=$(echo ${localedir} | sed "s!\\\${prefix}!$presome!")
+    
     AC_SUBST(localedir)
-    AC_SUBST(DIR_LOCALEDIR)
-    AC_DEFINE_UNQUOTED(DIR_LOCALEDIR, "${DIR_LOCALEDIR}")
-
+    AC_DEFINE_UNQUOTED(LOCALEDIR, "${LOCALEDIR}")
     AC_CHECK_LIB(intl, gettext)
     AC_CHECK_FUNCS(gettext)
 ])
@@ -464,7 +470,7 @@ AC_DEFUN(STEPMAKE_INIT, [
     fi
 
     AC_MSG_CHECKING(Package)
-    if test "x$PACKAGE" = "xSTEPMAKE"; then
+    if test "$PACKAGE" = "STEPMAKE"; then
 	AC_MSG_RESULT(Stepmake package!)
 
 	AC_MSG_CHECKING(builddir)
@@ -525,7 +531,7 @@ AC_DEFUN(STEPMAKE_INIT, [
     AC_DEFINE_UNQUOTED(PACKAGE, "${PACKAGE_NAME}")
     AC_DEFINE_UNQUOTED(TOPLEVEL_VERSION, "${FULL_VERSION}")
 
-    if test "$package_depth" = "" ; then
+    if test -z "$package_depth"; then
     	package_depth="."
     else
     	package_depth="../$package_depth"
diff -purN ../lilypond-1.5.69/stepmake/config.hh.in ./stepmake/config.hh.in
--- ../lilypond-1.5.69/stepmake/config.hh.in	Tue Jun 23 15:26:11 1998
+++ ./stepmake/config.hh.in	Wed Jul 24 15:28:11 2002
@@ -7,8 +7,8 @@
 #define  TOPLEVEL_VERSION "@TOPLEVEL_VERSION@"
 
 /* default init and input dir */
-#define  DIR_DATADIR "@DIR_DATADIR@"
+#define DATADIR "@DATADIR@"
 
 /* default locale dir */
-#define  DIR_LOCALEDIR "@DIR_LOCALEDIR@"
+#define LOCALEDIR "@LOCALEDIR@"
 
diff -purN ../lilypond-1.5.69/tex/GNUmakefile ./tex/GNUmakefile
--- ../lilypond-1.5.69/tex/GNUmakefile	Tue Nov  3 19:08:54 1998
+++ ./tex/GNUmakefile	Wed Jul 24 17:18:29 2002
@@ -1,14 +1,11 @@
-# tex/Makefile
-
 depth = ..
 
-
 TEX_FILES = $(wildcard *.tex)
 
-EXTRA_DIST_FILES =  $(TEX_FILES)
+EXTRA_DIST_FILES = $(TEX_FILES)
 STEPMAKE_TEMPLATES=install
 
-INSTALLATION_DIR=$(datadir)/tex/
+INSTALLATION_DIR=$(local_lilypond_datadir)/tex/
 INSTALLATION_FILES=$(TEX_FILES)
 
 include $(depth)/make/stepmake.make
