2006-11-10  Werner Lemberg  <wl@gnu.org>

	* Documentation/user/GNUmakefile ($(outdir)/lilypond/source,
	$(outdir)/music-glossary/source): Fixes for `make -j'.

	* Documentation/user/introduction.itely: Don't let images overlap
	and update its scaling values.

	* Documentation/user/lily-flat-bw.png,
	Documentation/user/henle-flat-gray.png: Add vertical whitespace:
	texinfo doesn't center images vertically for PDF output.

2006-11-09  Heikki Junes  <hjunes@gmail.com>

	* elisp/lilypond-font-lock.el: Should always have been GPL.

2006-11-07  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/break-substitution.cc: 
	* lily/dynamic-text-spanner.cc: 
	nitpicks.

	* lily/engraver.cc: 
	* lily/grob-property.cc: 
	use SCM_ASSERT_TYPE for graphing functions.

	* lily/cluster.cc: 
	formatting.

	* lily/all-font-metrics.cc: 
	excise cmr10

	* input/regression/collision-heads.ly: 
	trim example.

	* lily/note-collision.cc: 
	* input/regression/collision-merge-differently-headed.ly: 
	Examine Stem::duration_log() for preventing merge of quarter and
	halfnote.  Fixes collision-heads.ly.  Add separate regtest for that.

	* scripts/lilypond-invoke-editor.scm: 
	don't use guile -e main execution.

	* scm/define-grobs.scm: 
	use stem::calc-duration-log for rest.

	* scm/define-markup-commands.scm: 
	another (sign dir) fix for note markup

	* scm/define-markup-commands.scm: 
	use (sign dir) for computing attachment points.

	* buildscripts/git-update-changelog.py: 
	run cvs up before patching.

2006-11-06  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/note-head.cc: 
	trim note-head.cc includes.

	* lily/easy-notation.cc: 
	* lily/mensural-ligature-engraver.cc: 
	* lily/note-collision.cc: 
	* lily/note-head.cc: 
	* scm/define-grobs.scm: 
	* scm/output-lib.scm: 
	use Rhythmic_head::duration_log() iso. Note_head::get_balltype().

	* buildscripts/git-update-changelog.py: 
	also barf if file doesn't exist.

2006-11-07  Erlend Aasland  <erlenda@gmail.com>

	* scm/music-function.scm (add-ballon-text): add FIXME comment.

	* scm/define-grob-properties.scm: remove old balloon stuff,
	and do some trivial beautification.

2006-11-06  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/music-functions.scm (markup-expression->make-markup): fix
	the case when a markup found in a markup list is a simple
	string (Issue #147).

2006-11-05  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/instrument-name-engraver.cc: 
	* input/regression/instrument-name-dynamic.ly: 
	ignore dynamic and pedal line spanners.

	* Documentation/topdocs/NEWS.tely: 
	* Documentation/user/advanced-notation.itely: 
	* THANKS: 
	* input/regression/balloon.ly: 
	* lily/balloon.cc: 
	* ly/music-functions-init.ly: 
	* scm/define-event-classes.scm: 
	* scm/define-grobs.scm: 
	* scm/define-music-properties.scm: 
	* scm/define-music-types.scm: 
	* scm/output-lib.scm: 
	* lily/balloon-engraver.cc: 
	rewrite balloon-text support.  This is now a separate grob, with
	itsvictim as the parent.  This involves addingBalloon_engraver,
	AnnotateOutputEvent, annotate-output-event,\balloonText,
	\balloonGrobText, and modifying Balloon_interface::print.

	* lily/paper-score.cc: 
	remove progress again

	* lily/chord-name-engraver.cc: 
	formatting nitpicks.

	* lily/paper-score.cc: 
	some useless statistics.

	* buildscripts/git-update-changelog.py: 
	update todo/done after rejection due to removal analysis.

	* buildscripts/git-update-changelog.py: 
	check whether removals from a diff actually apply.

2006-11-05  Joe Neeman  <joeneeman@gmail.com>

	* lily/include/page-turn-page-breaking.hh: remove unused
	fields in Break_node

	* lily/page-turn-page-breaking.cc (calc_demerits): 
	* lily/optimal-page-breaking.cc (try_page_spacing): remove
	uniformity penalties.

2006-11-05  Werner Lemberg  <wl@gnu.org>

	* Documentation/user/changing-defaults.itely,
	Documentation/user/preface.itely: Use `--', not `---'.
	Minor improvements.

	* Documentation/user/introduction.itely: Minor improvements.
	(Automated engraving): Make example using \applyOutput work
	actually.

	* input/regression/apply-output.ly: Improve.

2006-11-05  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/dynamic-engraver.cc: 
	formatting cleanup

	* input/regression/note-head-harmonic.ly: 
	* lily/stem.cc: 
	* input/regression/note-head-harmonic-whole.ly: 
	Center harmonic heads if stem is invisible. Fixes #140

	* lily/input.cc: 
	end context snippet with '\n'

	* lily/parse-scm.cc: 
	catch all GUILE exceptions

	* VERSION: 
	bump version

	* lily/include/lily-lexer.hh: 
	* lily/lily-lexer.cc: 
	* lily/lily-parser.cc: 
	Lily_parser* arg for copy ctor too.

	* scripts/abc2ly.py: 
	abc2ly new tempo syntax

2006-11-04  Heikki Junes  <hjunes@gmail.com>

	* po/fi.po: update Finnish translation.

2006-11-03  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ {various}: rename page->spacing,
	global->non-music, invoking->running, example->templates.

2006-11-03  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/display-lily.scm: add a parser argument to display methods,
	instead of using a *parser* special variable.

	* scm/define-music-display-methods.scm: add a parser argument to
	display methods. Update the methods for \melisma, \melismaEnd,
	\breathe, \tempo, \partial.

	* input/no-notation/display-lily-tests.ly: update the test
	utilities according to the changes in display-lily.scm

2006-11-03  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* *: The Joy of Merging.

	* buildscripts/git-update-changelog.py: 
	sort commits, and use .git-commits-done file.

	* GNUmakefile.in: 
	* elisp/GNUmakefile: 
	dist emacs patches too.

2006-11-02  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/autochange.scm: 
	autochange thinko.

	* lily/context-def.cc: 
	* lily/include/parse-scm.hh: 
	* lily/include/smobs.hh: 
	* lily/parse-scm.cc: 
	* lily/prob.cc: 
	* lily/program-option.cc: 
	* scm/lily.scm: 
	implement and use ASSERT_LIVE_IS_ALLOWED()

	* ly/music-functions-init.ly: 
	* scm/autochange.scm: 
	set-part-combine fix for autochange.

	* lily/include/lily-lexer.hh: 
	* lily/include/lily-parser.hh: 
	* lily/lily-lexer.cc: 
	* lily/lily-parser-scheme.cc: 
	* lily/lily-parser.cc: 
	clear lexer scopes after parsing file. Plugs pseudo memory leak

	* ly/declarations-init.ly: 
	* ly/music-functions-init.ly: 
	* scm/part-combiner.scm: 
	Remove set-part-combine-listener. This plugs a memory leak.

	* .gitignore: 
	more ignores.

	* mf/GNUmakefile: 
	don't delete .scale.pfa; the FF script may not have read themyet. Fixes brace OTF bug

	* .gitignore: 
	ignore gcstat files.

	* lily/part-combine-iterator.cc: 
	don't allocate part combine events statically. Plugs small leak.

	* lily/lily-parser-scheme.cc: 
	plug memleak in case of failed files.

	* lily/include/source.hh: 
	* lily/source.cc: 
	clean up Sources

	* lily/lexer.ll: 
	hi-bit ascii is also counted as alpha chars. This allows unicodeidentifiers, and fixes premature stop at accented char. (#134)

	* lily/include/program-option.hh: 
	* lily/program-option.cc: 
	get_program_option() function

	* ly/titling-init.ly: 
	change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing.

	* lily/include/translator.hh: 
	* lily/include/translator.icc: 
	* lily/translator.cc: 
	minor cleanups

	* lily/figured-bass-engraver.cc: 
	don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128.

	* stepmake/stepmake/compile-vars.make: 
	don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC

2006-11-01  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* python/midi.c: 
	init running_status

	* python/midi.c: 
	trim warning messages.

	* configure.in: 
	strip -Werror.

	* input/regression/utf-8.ly: 
	document utf-8 meaning of phrases.

	* scm/define-markup-commands.scm: 
	make \caps markup default to smallCaps

	* lily/pango-font.cc: 
	* lily/ttf.cc: 
	use glyph indexing for glyph name .notdef

2006-11-02  Jan Nieuwenhuizen  <janneke@gnu.org>

	* input/regression/utf-8.ly: Fix doc to match order of language
	fonts.

2006-11-01  Joe Neeman  <joeneeman@gmail.com>

	* lily/optimal-page-breaking.cc (try_page_spacing): don't average
	page and line forces.

2006-11-01  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* GNUmakefile.in (SUBDIRS): remove cygwin dir too.

2006-10-31  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/user/GNUmakefile: 
	don't use ImageMagick, use GS directly.

	* mf/GNUmakefile: 
	otf depends on otf-g?table. Fixes race condition in -j2 build.
	(cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)

	* mf/GNUmakefile: 
	rm fontdir target.

	* mf/GNUmakefile: 
	remove .deb/.rpm downloading.

	* buildscripts/git-update-changelog.py: 
	bugfixes for git-update-changelog.py

	* Documentation/user/GNUmakefile: 
	remove .eps rules

2006-10-30  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* input/regression/tie-semi-single.ly:
	use position/direction from single tie case too. This fixes
	overrides and defaults for single laissez-vibrer and repeat ties.

	* buildscripts/git-update-changelog.py: 
	only prepend header if one patch was successful.

2006-10-31  Jan Nieuwenhuizen  <janneke@gnu.org>

	* cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
	stuff.  Remove cygwin packaging stuff.

2006-10-30  Jan Nieuwenhuizen  <janneke@gnu.org>

	* python/convertrules.py (conv): Part 2 fixes vertical extent.

	* input/test/vertical-extent.ly: Fix and elaborate on vertical
	staff extent.  (Thanks Mats)

2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* buildscripts/git-update-changelog.py (main): write .msg and cvs
	command.

	* scm/define-grobs.scm: 
	separation-items have width
	
	* VERSION: 
	bump version
	
	* .gitignore: 
	* Documentation/topdocs/NEWS.tely: 
	* lily/separating-group-spanner.cc: 
	* lily/slur-engraver.cc: 
	* lily/slur-scoring.cc: 
	* scm/define-grobs.scm: 
	* input/regression/slur-clef.ly:
	add breakableSeparationItem to extra encompass for slurs. This
	fixes slur/clef slur/key collisions etc. Should fix #49
	
	* lily/include/slur-scoring.hh: 
	* lily/slur-scoring.cc: 
	Use X of separation item as slur start. Fixes #120

2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* buildscripts/git-update-changelog.py (changelog_body): don't
	write committishes.

	* lily/grob.cc: add avoid-slur

2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* emacsclient.patch: 
	* server.el.patch: 
	move server/emacsclient to elisp/

	* buildscripts/git-update-changelog.py (Commit.note_del_file):
	apply patches too

	* elisp/server.el.patch: 
	move emacs patches.

	* elisp/emacsclient.patch: 
	emacsclient too.

	* buildscripts/git-update-changelog.py: 
	ignore ChangeLog

	* .gitignore: 
	update

	* ChangeLog: 
	* buildscripts/git-update-changelog.py: 
	script to update ChangeLog with Git messages.

	* lily/beam-engraver.cc: 
	* input/regression/rest-pitched-beam.ly: 
	don't set callback if staff-position set. Fixes #126.

	* lily/bar-number-engraver.cc: 
	* lily/beam.cc: 
	* lily/fingering-engraver.cc: 
	* lily/grob-property.cc: 
	* lily/grob.cc: 
	* lily/include/grob.hh: 
	* lily/include/lily-guile-macros.hh: 
	* lily/mark-engraver.cc: 
	* lily/melody-engraver.cc: 
	* lily/script-column.cc: 
	* lily/tie-formatting-problem.cc: 
	* lily/tie.cc: 
	internal_get_property_data() using ly_symbol2scm()

	* stepmake/stepmake/generic-targets.make: 
	create .gitignore in outdir.

	* .gitignore: 
	new file.

2006-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>

	* input/test/vertical-extent.ly: 
	* python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.

2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* stepmake/bin/add-html-footer.py (compose): remove setgcos

2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* GNUmakefile.in (install-help2man): install-help2man target. 

2006-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>

	* SConstruct (configure): Do not check for /bin/sh.

2006-10-27  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
	files.

	* Documentation/topdocs/NEWS.tely (Top): add FretBoards example. 

	* input/regression/fret-boards.ly: new file.

	* po/de.po: new po courtesy translation team.

	* scripts/lilypond-book.py (get_option_parser): add newline to doc
	string.

2006-10-27  Mats Bengtsson  <mabe@drongo.s3.kth.se>

	* ly/gregorian-init.ly (neumeDemoLayout): update
	minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent 

	* scm/define-context-properties.scm, ly/engraver-init.ly: Remove
	obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent

2006-10-27  Erlend Aasland  <erlenda@gmail.com>

	* GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
	Yet another build fix.

2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* SConstruct (lilypondprefix): use sorted() for list_sort()
	indent 4

2006-10-26  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/SConscript: Unit test rules.

	* flower/test-std.cc: Compile fix.

2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* python/midi.c (pymidi_parse_track): warning fixes.

	* lily/dot-column.cc (struct Dot_position): initialize extremal_head_
	include dot-column.hh

2006-10-26  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/{basic-, global}: minor changes from mailist.

2006-10-26  Erlend Aasland  <erlenda@gmail.com>

	* scm/define-grobs.scm: trivial beautification

	* lily/tie-performer.cc: no need to #include "pqueue.hh"

	* lily/source-file.cc: put multibyte var inside #if clause

	* scm/define-grob-interfaces.scm:
	* scm/define-grob-properties.scm:
	Build fix (string-fret-finger-combinations)

	* Documentation/topdocs/INSTALL.texi: Remove obsolete info about
	lexer-gcc-3.1.sh

	* Documentation/user/lilypond-book.itely: Build fix.

2006-10-26  Joe Neeman  <joeneeman@gmail.com>

	* lily/system.cc (get_paper_system): 
	* lily/paper-book.cc (systems): 
	move most of the backwards compatibility stuff into
	Paper_book::systems

	* Documentation/topdocs/NEWS.tely: add 2 entries for the
	page breaking stuff

	* Documentation/user/page.itely: remove time-scaled-music
	bug for the Page_turn_engraver

	* lily/paper-book.cc (set_system_penalty): backwards
	compatibility (breakbefore) for the old page breaker

2006-10-25  Graham Percival  <gpermus@gmail.com>

	* Diocumentation/user/instrument-notation.itely: added more
	info about stanzas; thanks Geoff!

	* Documentation/user/ {basic, advanced}: small fixes from
	mailist.

	* THANKS: add some bug reporters.

2006-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scm/define-context-properties.scm (all-user-translation-properties):
	noteToFretFunction: Add.

	* scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
	fret-diagram-interface (WAS: fret-board-interface).  Fixes build.

2006-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/file-name.cc (dos_to_posix): Help std::string.copy with
	trailing zero.

	* GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
	Remove bashism in delete.

2006-10-25  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/define-grobs.scm (all-grob-descriptions): set finger-code.

	* scm/translation-functions.scm (determine-frets-mf): flatten let*

	* scm/define-context-properties.scm
	(all-user-translation-properties): add maximumFretStretch property.

	* scm/translation-functions.scm (tunings): read and use maximumFretStretch.

	* lily/source-file.cc (get_counts): use multibyte variable.

	* scm/translation-functions.scm (determine-frets-mf): new
	function: compute fret numbers. 

	* scm/output-lib.scm (string-frets->description) new function.
	(fret-board::calc-stencil): new function

	* scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.

	* scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob. 

	* lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.

	* lily/tab-note-heads-engraver.cc: cleanups.

	* lily/fretboard-engraver.cc: new file

	* ly/engraver-init.ly: add FretBoards context

2006-10-24  Joe Neeman  <joeneeman@gmail.com>

	* lily/grob.cc (pure_relative_y_coordinate)
	(pure_height): use the new call_pure_function stuff

	* lily/grob-property.cc (call_pure_function): wrapper for the scheme
	call-pure-function

	* lily/side-position-interface.cc (pure_y_aligned_side): add an
	optarg

	* lily/simple-closure.cc (ly_eval_simple_closure): make
	simple-closure evaluatable from scheme
	(evaluate_with_simple_closure): make simple-closures pure-
	evaluatable

	* lily/slur.cc (pure_outside_slur_callback): new function

	* ly/paper-defaults.ly: change default blank-page-force to 2 (this
	fits in with previous changes that made the page forces much
	smaller)

	* scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
	and pure-Y-extent into this new function.
	(pure-conversions-alist): add outside-slur-callback

2006-10-24  Mats Bengtsson  <mabe@drongo.s3.kth.se>

	* Documentation/user/advanced-notation.itely (Instrument names):
	Remove obsolete bug workaround for instrument names on piano
	staff. 

2006-10-24  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/user/lilypond-book.itely (Integrating DocBook and
	music): patch by Bertalan Fodor for docbook.

	* Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
	of $(LILYPOND). Prevents lilypond run for .txt files.

	* INSTALL.txt: gitness.

	* .cvsignore: update to force gitness. 

2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/tuplet-bracket.cc (calc_position_and_height): robustness:
	detect suicide in nested tuplets.

2006-10-23  Werner Lemberg  <wl@gnu.org>

	* lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
	typo in argument to FT_Get_X11_Font_Format.

2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* stepmake/stepmake/po-vars.make: more gitness.

	* flower/polynomial.cc (check_sol): no empty if bodies. 

2006-10-30  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/stepmake/po-vars.make: Resolve.

2006-10-29  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/stepmake/po-vars.make: test change for GIT gateway.

2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* buildscripts/git-update-changelog.py (main): write .msg and cvs
	command.

	* scm/define-grobs.scm: 
	separation-items have width
	
	* VERSION: 
	bump version
	
	* .gitignore: 
	* Documentation/topdocs/NEWS.tely: 
	* lily/separating-group-spanner.cc: 
	* lily/slur-engraver.cc: 
	* lily/slur-scoring.cc: 
	* scm/define-grobs.scm: 
	* input/regression/slur-clef.ly:
	add breakableSeparationItem to extra encompass for slurs. This
	fixes slur/clef slur/key collisions etc. Should fix #49
	
	* lily/include/slur-scoring.hh: 
	* lily/slur-scoring.cc: 
	Use X of separation item as slur start. Fixes #120

2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* buildscripts/git-update-changelog.py (changelog_body): don't
	write committishes.

	* lily/grob.cc: add avoid-slur

2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* emacsclient.patch: 
	* server.el.patch: 
	move server/emacsclient to elisp/

	* buildscripts/git-update-changelog.py (Commit.note_del_file):
	apply patches too

	* elisp/server.el.patch: 
	move emacs patches.

	* elisp/emacsclient.patch: 
	emacsclient too.

	* buildscripts/git-update-changelog.py: 
	ignore ChangeLog

	* .gitignore: 
	update

	* ChangeLog: 
	* buildscripts/git-update-changelog.py: 
	script to update ChangeLog with Git messages.

	* lily/beam-engraver.cc: 
	* input/regression/rest-pitched-beam.ly: 
	don't set callback if staff-position set. Fixes #126.

	* lily/bar-number-engraver.cc: 
	* lily/beam.cc: 
	* lily/fingering-engraver.cc: 
	* lily/grob-property.cc: 
	* lily/grob.cc: 
	* lily/include/grob.hh: 
	* lily/include/lily-guile-macros.hh: 
	* lily/mark-engraver.cc: 
	* lily/melody-engraver.cc: 
	* lily/script-column.cc: 
	* lily/tie-formatting-problem.cc: 
	* lily/tie.cc: 
	internal_get_property_data() using ly_symbol2scm()

	* stepmake/stepmake/generic-targets.make: 
	create .gitignore in outdir.

	* .gitignore: 
	new file.

2006-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>

	* input/test/vertical-extent.ly: 
	* python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.

2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* stepmake/bin/add-html-footer.py (compose): remove setgcos

2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* GNUmakefile.in (install-help2man): install-help2man target. 

2006-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>

	* SConstruct (configure): Do not check for /bin/sh.

2006-10-27  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
	files.

	* Documentation/topdocs/NEWS.tely (Top): add FretBoards example. 

	* input/regression/fret-boards.ly: new file.

	* po/de.po: new po courtesy translation team.

	* scripts/lilypond-book.py (get_option_parser): add newline to doc
	string.

2006-10-27  Mats Bengtsson  <mabe@drongo.s3.kth.se>

	* ly/gregorian-init.ly (neumeDemoLayout): update
	minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent 

	* scm/define-context-properties.scm, ly/engraver-init.ly: Remove
	obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent

2006-10-27  Erlend Aasland  <erlenda@gmail.com>

	* GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
	Yet another build fix.

2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* SConstruct (lilypondprefix): use sorted() for list_sort()
	indent 4

2006-10-26  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/SConscript: Unit test rules.

	* flower/test-std.cc: Compile fix.

2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* python/midi.c (pymidi_parse_track): warning fixes.

	* lily/dot-column.cc (struct Dot_position): initialize extremal_head_
	include dot-column.hh

2006-10-26  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/{basic-, global}: minor changes from mailist.

2006-10-26  Erlend Aasland  <erlenda@gmail.com>

	* scm/define-grobs.scm: trivial beautification

	* lily/tie-performer.cc: no need to #include "pqueue.hh"

	* lily/source-file.cc: put multibyte var inside #if clause

	* scm/define-grob-interfaces.scm:
	* scm/define-grob-properties.scm:
	Build fix (string-fret-finger-combinations)

	* Documentation/topdocs/INSTALL.texi: Remove obsolete info about
	lexer-gcc-3.1.sh

	* Documentation/user/lilypond-book.itely: Build fix.

2006-10-26  Joe Neeman  <joeneeman@gmail.com>

	* lily/system.cc (get_paper_system): 
	* lily/paper-book.cc (systems): 
	move most of the backwards compatibility stuff into
	Paper_book::systems

	* Documentation/topdocs/NEWS.tely: add 2 entries for the
	page breaking stuff

	* Documentation/user/page.itely: remove time-scaled-music
	bug for the Page_turn_engraver

	* lily/paper-book.cc (set_system_penalty): backwards
	compatibility (breakbefore) for the old page breaker

2006-10-25  Graham Percival  <gpermus@gmail.com>

	* Diocumentation/user/instrument-notation.itely: added more
	info about stanzas; thanks Geoff!

	* Documentation/user/ {basic, advanced}: small fixes from
	mailist.

	* THANKS: add some bug reporters.

2006-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scm/define-context-properties.scm (all-user-translation-properties):
	noteToFretFunction: Add.

	* scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
	fret-diagram-interface (WAS: fret-board-interface).  Fixes build.

2006-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/file-name.cc (dos_to_posix): Help std::string.copy with
	trailing zero.

	* GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
	Remove bashism in delete.

2006-10-25  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/define-grobs.scm (all-grob-descriptions): set finger-code.

	* scm/translation-functions.scm (determine-frets-mf): flatten let*

	* scm/define-context-properties.scm
	(all-user-translation-properties): add maximumFretStretch property.

	* scm/translation-functions.scm (tunings): read and use maximumFretStretch.

	* lily/source-file.cc (get_counts): use multibyte variable.

	* scm/translation-functions.scm (determine-frets-mf): new
	function: compute fret numbers. 

	* scm/output-lib.scm (string-frets->description) new function.
	(fret-board::calc-stencil): new function

	* scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.

	* scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob. 

	* lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.

	* lily/tab-note-heads-engraver.cc: cleanups.

	* lily/fretboard-engraver.cc: new file

	* ly/engraver-init.ly: add FretBoards context

2006-10-24  Joe Neeman  <joeneeman@gmail.com>

	* lily/grob.cc (pure_relative_y_coordinate)
	(pure_height): use the new call_pure_function stuff

	* lily/grob-property.cc (call_pure_function): wrapper for the scheme
	call-pure-function

	* lily/side-position-interface.cc (pure_y_aligned_side): add an
	optarg

	* lily/simple-closure.cc (ly_eval_simple_closure): make
	simple-closure evaluatable from scheme
	(evaluate_with_simple_closure): make simple-closures pure-
	evaluatable

	* lily/slur.cc (pure_outside_slur_callback): new function

	* ly/paper-defaults.ly: change default blank-page-force to 2 (this
	fits in with previous changes that made the page forces much
	smaller)

	* scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
	and pure-Y-extent into this new function.
	(pure-conversions-alist): add outside-slur-callback

2006-10-24  Mats Bengtsson  <mabe@drongo.s3.kth.se>

	* Documentation/user/advanced-notation.itely (Instrument names):
	Remove obsolete bug workaround for instrument names on piano
	staff. 

2006-10-24  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/user/lilypond-book.itely (Integrating DocBook and
	music): patch by Bertalan Fodor for docbook.

	* Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
	of $(LILYPOND). Prevents lilypond run for .txt files.

	* INSTALL.txt: gitness.

	* .cvsignore: update to force gitness. 

2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/tuplet-bracket.cc (calc_position_and_height): robustness:
	detect suicide in nested tuplets.

2006-10-23  Werner Lemberg  <wl@gnu.org>

	* lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
	typo in argument to FT_Get_X11_Font_Format.

2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* stepmake/stepmake/po-vars.make: more gitness.

	* flower/polynomial.cc (check_sol): no empty if bodies. 

2006-10-22  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* stepmake/stepmake/po-vars.make: test change for GIT gateway.

2006-10-22  Jürgen Reuter  <reuter@ipd.uka.de>

	* Documentation/user/examples.itely (Transcription of mensural
	music): Added more comments in .ly source.  Suggest to remove
	Forbid_line_break_engraver to allow line breaking at all bars.

	* Documentation/user/instrument-notation.itely (Ancient
	articulations): Updated @refbugs regarding episem.

	* Documentation/user/instrument-notation.itely (Gregorian square
	neumes ligatures): Added \augmentum dots.  Updated @refbugs
	regarding \augmentum.

	* input/test/gregorian-scripts.ly: Removed obsolete TODOs.

	* input/test/ligature-vaticana.ly: Added \augmentum dots.  Updated
	comment.

	* lily/vaticana-ligature-engraver.cc: Added TODO comment for
	\augmentum dots.

	* ly/gregorian-init.ly: Added \augmentum macro.

2006-10-22  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.

	* lily/pango-font.cc (pango_item_string_stencil): use
	FT_Get_X11_Font_Format()

2006-10-22  John Mandereau  <john.mandereau@free.fr>

	* po/fr.po: update translation.

2006-10-21  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PATCH_LEVEL): bump version

	* input/regression/horizontal-bracket-break.ly: new file.

	* scm/define-grobs.scm (all-grob-descriptions): calc
	connect-to-neighbor. 

	* lily/horizontal-bracket.cc (make_bracket): support
	connect-to-neighbor.  Fix #118

	* VERSION: release 2.9.26-2

	* lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.

	* VERSION (PACKAGE_NAME): release 2.9.26

	* buildscripts/output-distance.py (test_basic_compare): add
	multipage test.
	(FileLink.multi_img_cell): new function, glob multi-page png
	images.

2006-10-20  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* po/lilypond.pot: update.

	* Documentation/topdocs/NEWS.tely (Top): remove TODOs.

	* Documentation/user/global.itely (File structure): remove
	\addqoute remark.

	* lily/parser.yy (FIXME): remove ADDQUOTE

	* Documentation/user/global.itely (Extracting fragments of
	notation): new node, about clip systems.

	* Documentation/user/lilypond-book.itely (Many quotes of a large
	score): ref to clip systems.

	* Documentation/user/instrument-notation.itely (Entering lyrics):
	add note about lyric ties and required font.

	* lily/open-type-font.cc (glyph_list): format errors.

	* Documentation/user/programming-interface.itely (Scheme
	procedures as properties): more doco on simple-closure and scheme
	callbacks.
	(Input variables and Scheme): use lilypond[verbatim], document
	dummy statement.

	* Documentation/user/page.itely (Displaying spacing): use \book
	explicitly, so arrows show .
	(Line breaking): add note about Forbid_line_break_engraver

	* Documentation/user/tweaks.itely (Common tweaks): also set length
	to prevent tie squeezing. 
	(Default files): use @var{}

	* Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
	(Generating LilyPond files): add FOMUS.

2006-10-20  Joe Neeman  <joeneeman@gmail.com>

	* scm/define-grobs.scm (all-grob-descriptions): set side-axis and
	Y-offset for TextScript and Script

	* lily/text-engraver.cc (make_item): 
	* lily/script-engraver.cc (make_script_from_event):
	remove call to Side_position_interface::set_axis since all scripts
	now have this set by default

	* lily/context.cc: 
	* lily/prob.cc: use variables

2006-10-20  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/page-turn-engraver.cc (acknowledge_note_head): don't look
	at typography, rather analyse stream event duration. 

	* Documentation/user/page.itely (Page formatting): set a6 paper
	for system separator example.
	
	* lily/arpeggio.cc (Module): idem.

	* lily/accidental-placement.cc: add script-priority property.

	* scm/framework-ps.scm (dump-stencil-as-EPS): thinko.

	* lily/ttf.cc (print_trailer): if all else fails: use
	glyphIndexXXXX as glyph name. Fixes #117.

	* lily/pango-font.cc (pango_item_string_stencil): only use cmap
	entry if cmap contains glyph.
	(get_index_to_charcode_map): remove from Pango_font class, use
	global filename -> font mapping.
	(get_glyph_index_name): new function.
	(pango_item_string_stencil): use glyphIndexXXXX as glyph name,
	only for TTF. 

	* scripts/lilypond-book.py (main): use -deps-box-padding=-3

	* scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
	a number.

	* scm/define-grob-properties.scm (all-user-grob-properties):
	remove outdated doc. Fixes #116

	* lily/completion-note-heads-engraver.cc (process_music): always
	clone input events; otherwise we may overwrite input 'duration
	property. Fixes #115.

	* lily/general-scheme.cc (LY_DEFINE): explicit cast in case
	scm_t_int32 != int

	* scm/output-svg.scm (pango-description-regexp-comma): Remove ^
	anchor. Fixes #114

	* VERSION (PATCH_LEVEL): bump version.

2006-10-19  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/engraver.cc (internal_make_grob): use variables.

	* flower/string-convert.cc (dec2double): clean-up warnings. 

	* configure.in (CXXFLAGS): add -Werror.

	* VERSION (PACKAGE_NAME): release 2.9.25

2006-10-18  Joe Neeman  <joeneeman@gmail.com>

	* lily/simple-spacer.cc (get_line_forces): test for non-fitting
	line even if we precede a forced break.

	* lily/optimal-page-breaking.cc (try_page_spacing): square line
	forces too. Make page-spacing weight default to 10 because the
	changes to vertical springs decreased the page force/line force
	proportions. Also, take the average of line force and page force
	instead of just the sum.

	* lily/constrained-breaking.cc (initialize): make the stiffness
	of the vertical springs depend on the height of the system. This
	prevents pages with only a few large systems from getting huge
	forces

	* Documentation/user/page.itely (Page formatting): document the
	change in default page-spacing-weight

	* lily/include/constrained-breaking.hh: initialise bottom_padding_

2006-10-18  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* input/typography-demo.ly (melody): remove superfluous slur.

	* scm/define-grob-interfaces.scm (piano-pedal-script-interface):
	add piano-pedal-script-interface

2006-10-18  Bertalan Fodor  <lilypondtool@organum.hu>

	* scripts/lilypond-book.py: DocBook support.

2006-10-18  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/piano-pedal-engraver.cc (struct Pedal_info): remove
	Y-alignment code.
	(stop_translation_timestep): set bound to currentMusicalColumn if
	not set yet. Fixes #102

	* lily/piano-pedal-bracket.cc: formatting.

	* input/test/engraver-one-by-one.ly (MyStaff): reformat.

	* lily/piano-pedal-align-engraver.cc: new class
	Piano_pedal_align_engraver. Handle side-positioning Y-alignment
	for piano pedals.  

2006-10-18  Heikki Junes  <hjunes@gmail.com>

	* po/fi.po: Update Finnish translation (before the next release).

2006-10-17  Joe Neeman  <joeneeman@gmail.com>

	* lily/system.cc (get_paper_system): reinstate the backwards-
	compatible page breaking for the old page breaker.

2006-10-17  Erik Sandberg  <mandolaerik@gmail.com>
	
	* lily/recording-group-engraver.cc: removed

	* lily/context.cc, lily/translator-group.cc: Don't touch
	Context::implementation_ if it's null

2006-10-17  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/paper.scm: only use left-margin if defined.

	* scm/define-grob-interfaces.scm (stroke-finger-interface): typo.

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.

	* lily/new-fingering-engraver.cc: stringFingerOrientations ->
	strokeFingerOrientations

	* lily/script-column.cc (row_before_line_breaking): also handle
	accidentals and arpeggios in horizontal script stacking.

	* lily/script-row-engraver.cc (acknowledge_accidental_placement):
	new function.

	* input/regression/script-stack-horizontal.ly: trim.

2006-10-16  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/output-lib.scm (stroke-finger::calc-text): allow reading of
	'text property too.

	* ly/music-functions-init.ly: rename to StrokeFingerEvent, set
	'text if string argument.

	* scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.

	* scm/define-context-properties.scm
	(all-user-translation-properties): change to strokeFingerOrientations

2006-10-16  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/parser.yy: remove debug output

2006-10-16  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* ly/paper-defaults.ly: set left/right margin.

	* scm/paper.scm (set-paper-dimensions): use left-margin and
	right-margin for computing linewidth.

	* Documentation/topdocs/NEWS.tely (Top): idem.

	* input/regression/lyric-tie.ly (texidoc): use vowels for tied
	lyrics example.

	* scm/define-markup-commands.scm (tied-lyric): increase negative
	space: space syllables tighter.

	* VERSION (PATCH_LEVEL): bump version.

	* scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
	Ax paper sizes. 

2006-10-15  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* COPYING: further clarification

	* VERSION: release 2.9.24

	* input/regression/script-stack-horizontal.ly: add version.

	* scm/lily-library.scm (list-join): use fold-right. Fixes #112

	* input/regression/lyric-tie.ly (texidoc): use different words.

	* mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1

2006-10-15  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
	macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
	
2006-10-15  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4; 

	* Doxyfile: remove file.

	* scm/define-grob-interfaces.scm (string-finger-interface): add
	string-finger-interface

	* lily/general-scheme.cc (LY_DEFINE): move
	ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[] 

	* Documentation/topdocs/NEWS.tely (Top): add note for
	string-finger feature.

	* scm/define-grobs.scm (all-grob-descriptions): add 'string-names
	property.

	* scm/output-lib.scm (string-finger::calc-text): read 'digit
	instead of 'text

	* input/regression/script-stack-horizontal.ly: new file.

	* ly/engraver-init.ly: add Script_row_engraver.

	* lily/script-column.cc (order_grobs): refactor: separate axis
	independent code.
	(row_before_line_breaking): new function.

	* lily/script-row-engraver.cc (Script_row_engraver): new file.

	* scm/define-grobs.scm (all-grob-descriptions): add ScriptRow

2006-10-14  Jürgen Reuter  <reuter@ipd.uka.de>

	* Documentation/user/instrument-notation.itely: Cleanup: Remove
	annoying skip notes from mensural ligature example.  Update
	@refbugs for ligatures and mensural ligatures.

	* lily/coherent-ligature-engraver.cc,
	lily/include/coherent-ligature-engraver.hh,
	lily/mensural-ligature-engraver.cc,
	lily/vaticana-ligature-engraver.cc: Revise code for item
	reparentizing.  There should now be less programming_error
	messages.

	* lily/mensural-ligature-engraver.cc: Improve placement of dots.

	* lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
	Maintenance bugfix: Don't create empty Stencil (), but empty box
	instead.  This fix should eliminate some programming_error
	messages.

	* ly/engraver-init.ly (MensuralStaff): Set default accidental
	style.

	* input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
	\layout block _before_ score.

2006-10-14  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* GNUmakefile.in (PATCH_FILES): remove darwin.patch.

	* lily/pango-font.cc (pango_item_string_stencil): more verbose message.

2006-10-13  Erlend Aasland  <erlenda@gmail.com>

	* lily/note-collision.cc: fix issue #44 (dot/notehead collision)

2006-10-13  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PATCH_LEVEL): bump version.

	* COPYING: clarify exception note.

	* lily/main.cc: remove remark about "COPYING".

	* scm/framework-ps.scm (clip-system-EPSes): change ordering, so
	system-count starts at 0 for each clip-region. Change name to
	FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
	layout block, per score.

2006-10-13  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/input-smob.cc: add equal_p for Input

	* lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
	function

	* lily/parser.yy: MY_MAKE_MUSIC sets music origin

	* lily/prob.cc: Add equal_p predicate for Prob

	* lily/translator.cc: small cleanup

	* scm/document-music.cc: use data from translator listener
	registration to generate documentation for event classes

	* lily/*: Eliminate accept arg of ADD_TRANSLATOR
	
	* lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
	
2006-10-13  Jan Nieuwenhuizen  <janneke@gnu.org>

	* GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.

2006-10-12  Jan Nieuwenhuizen  <janneke@gnu.org>

	* Documentation/topdocs/INSTALL.texi: Thinko.

	* .cvsignore: Update.

	* lexer-gcc-3.1.sh: Remove.

	* Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
	Update anonymous cvs access.  Remove comment about gcc 3.0.4.

2006-10-12  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION: release 2.9.23

	* lily/paper-column-engraver.cc (stop_translation_timestep): also
	typecheck barnumber.

	* scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.

	* scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.

	* Documentation/topdocs/NEWS.tely (Top): doc new clipping feature

	* input/regression/clip-systems.ly (Notes): new file. 

	* scm/lily.scm (define-scheme-options): add clip-systems option.

	* scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
	function
	(dump-stencil-as-EPS): move bbox calculation from previous
	dump-stencil-as-EPS
	(output-framework): use -dclip-systems 

	* scm/lily-library.scm (filtered-map): new function

	* scm/framework-ps.scm (clip-system-EPS): new function.
	(clip-system-EPSes): new function.

	* lily/paper-column.cc: add rhythmic-location to interface

	* scm/define-grob-properties.scm (all-user-grob-properties): add
	rhythmic-location property.

	* scm/clip-region.scm: new file: rhythmic-location data type and
	system-clipped-x-extent function.

	* ly/init.ly: use (scm clip-region)

	* lily/paper-column-engraver.cc (stop_translation_timestep): set
	rhythmic-location for paper column grobs.

	* lily/grob-scheme.cc (LY_DEFINE): minor cleanup

2006-10-12  Jürgen Reuter  <reuter@ipd.uka.de>

	* ly/engraver-init.ly: Remove obsolete comment on
	Bar_number_engraver.

	* Documentation/user/instrument-notation.itely: Tune Ancient
	Articulations figure, such that the episem actually shows.

	* lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
	fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.

	* lily/vaticana-ligature-engraver.cc: Minor robustness fix /
	cleanup.

2006-10-12  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ {some}: minor edits that were lost somehow.

2006-10-12  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): bump version.

	* input/regression/lyric-tie.ly (texidoc): new file.

	* Documentation/topdocs/NEWS.tely (Top): add new feature.

	* lily/general-scheme.cc (LY_DEFINE): elucidate docstring.

	* scm/define-markup-commands.scm (tied-lyric): new function: split
	string along ~ and reattach with U+203F (tie character) and
	negative space.

	* scm/output-lib.scm (lyric-text::calc-text): new function.

	* lily/lyric-engraver.cc (process_music): don't set 'text.

	* scm/output-lib.scm (string-finger::calc-text): new function
	(lyric-text::print): new function.

	* lily/new-fingering-engraver.cc (add_fingering): refactor; make
	generic for fingering & string number. Use for string-finger. 

	* scm/define-music-types.scm (music-descriptions): add
	StringFingerEvent

	* lily/fingering-engraver.cc (listen_string_finger): new function

	* scm/define-grobs.scm (all-grob-descriptions): add StringFinger

	* scm/define-context-properties.scm
	(all-user-translation-properties): add stringFingerOrientations

2006-10-11  Jürgen Reuter  <reuter@ipd.uka.de>

	* mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
	ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.

	* lily/dots.cc: Added style property for dots.

	* mf/parmesan-heads.mf: Fix typo in comment.

	* mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
	adding longa head to feta font and removing obsolete default
	mapping scheme code.

2006-10-10  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/output-lib.scm (fingering::calc-text): use origin
	event-property, not music-property.

	* lily/lilypond.rc.in: spell my name correctly.

2006-10-10  Joe Neeman  <joeneeman@gmail.com>

	* lily/grob.cc (pure_height): only add minimum-Y-extent if we
	already have a non-empty extent. Fixes estimation for Hara-kiri
	staves.

2006-10-09  Jürgen Reuter  <reuter@ipd.uka.de>

	* ly/gregorian-init.ly: Simplify definition of \episemInitium and
	\episemFinis.

	* lily/ligature-engraver.cc: Remove unused #include.

	* lily/vaticana-ligature-engraver.cc: Fix placement of dots.
	Bugfix: remove method check_for_prefix_loss(Item *) from global
	namespace to avoid namespace pollution.

2006-10-09  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION: release 2.9.22

	* ly/generate-documentation.ly: update option name.

	* lily/dynamic-text-spanner.cc (print): revert fix.

	* scm/define-grob-interfaces.scm
	(trill-pitch-accidental-interface):
	add trill-pitch-accidental-interface

	* lily/dots-engraver.cc (acknowledge_rhythmic_head): only
	dereference if it's really a duration.

	* lily/figured-bass-engraver.cc (process_music): clear spanner if
	useBassFigureExtenders is not set.
	(listen_bass_figure): record as new event if
	useBassFigureExtenders not set. Fixes #103.

	* scm/stencil.scm (circle-stencil): don't center stencil argument,
	instead: move circle. Fixes #107.

	* scm/define-grobs.scm (all-grob-descriptions): set
	allow-loose-spacing for PaperColumn and
	NonMusicalPaperColumn. Kludge for #110.

	* lily/spaceable-grob.cc: add allow-loose-spacing property.

	* lily/spacing-determine-loose-columns.cc (is_loose_column):
	allow-loose-spacing property.

	* scm/define-markup-commands.scm (postscript): gsave & grestore
	around embedded PS. Do setlinewidth too. Fixes  #109.

2006-10-08  Jürgen Reuter  <reuter@ipd.uka.de>

	* lily/ligature-bracket-engraver: Bugfix: Add missing stream event
	code.  This patch fixes ligature brackets that were not at all
	engraved any more.

2006-10-08  Graham Percival  <gpermus@gmail.com>

	* Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.

	* ly/property-init.ly: fix sacred harp notehead shapes (bug 96).

	* scm/define-context-properties.scm: clarified docs (bug 91).

	* Documentation/user/basic-notation.itely: document volta brackets
	not aligning (bug 63).

	* Documentation/user/ global.itely invoking.itely: ignore or
	add warnings about texstr.

2006-10-08  John Mandereau  <john.mandereau@free.fr>

	* po/fr.po: update translation.

	* po/: update msgids.

2006-10-08  Jan Nieuwenhuizen  <janneke@gnu.org>

	* GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.

2006-10-08  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* Documentation/user/page.itely (Two-pass vertical spacing): add
	documentation for two-pass spacing technique.

2006-10-06  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/convert-ly.txt: new file; new
	storage place for this file (moved from bugs/ CVS).

2006-10-06  Jürgen Reuter  <reuter@ipd.uka.de>

	* lily/note-head.cc: Fixed programming_error message.

2006-10-06  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/define-grobs.scm (pure-conversion): move pure-callback
	further into body.

	* scm/script.scm (default-script-alist): set avoid-slur for turn,
	marcato, stopped, thumb.

2006-10-05  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/completion-note-heads-engraver.cc (process_music): don't
	skimp on memory usage.

	* lily/beam.cc (set_stem_lengths): do set_stemend for invisible
	stems too. Fixes #5

	* lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
	parenthesis item. This fixes premature Y-extent triggering. Fixes
	issue #95. 
 
	* VERSION (PATCH_LEVEL): bump version.

2006-10-04  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/advanced-notation.itely: added
	info about instrument names for piano or other contexts,
	thanks Marcus!

2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* mf/feta-bolletjes.mf (solfa_quarter_width): use
	solfa_base_notewidth as unit for non-DO-notes too.

	* input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.

	* VERSION: release 2.9.21

	* Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
	override.

2006-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>

	* python/lilylib.py (progress): Minor fix.

2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/note-name-engraver.cc: doc engraver.

	* scm/output-lib.scm (hairpin::calc-grow-direction): new function.

	* lily/dynamic-engraver.cc (process_music): don't set grow-direction.

	* scm/define-grobs.scm (all-grob-descriptions): calc duration-log
	by callback.

	* lily/stem-engraver.cc (make_stem): don't set duration-log

	* scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
	write snippet-names binary.

	* python/lilylib.py (system): use os.system for mingw32

	* scripts/lilypond-book.py (bindir): use os.pathsep for prepending
	to $PATH.

	* scm/backend-library.scm: update email address.

	* Documentation/topdocs/NEWS.tely (Top): add duration-log override
	example.

	* scm/define-grobs.scm (all-grob-descriptions): use callback to
	calc dot count.

	* lily/dots-engraver.cc (class Dots_engraver): new engraver:
	handle dot creation separately.

	* lily/tab-note-heads-engraver.cc (process_music): idem.

	* lily/drum-note-engraver.cc (process_music): idem.

	* lily/note-heads-engraver.cc (process_music): idem.

	* lily/rest-engraver.cc: don't set duration-log.

	* scm/output-lib.scm (string-number::calc-text): new function.
	(note-head::calc-duration-log): new function.

	* lily/fingering-engraver.cc (make_script): remove 'text setting.

	* scm/output-lib.scm (fingering::calc-text): new function.

2006-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>

	* scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
	 and include-eps-font -> include-eps-fonts

2006-10-03  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/multi-measure-rest-engraver.cc: use internalBarNumber

	* lily/timing-translator.cc: list properties.
	(start_translation_timestep): update internalBarNumber too.

	* scm/define-context-properties.scm
	(all-user-translation-properties): add internalBarNumber.

	* input/regression/spacing-no-note.ly: new file.

	* buildscripts/output-distance.py (link_file): verbosity for OSError.

	* lily/book.cc: #include cleanup.

	* lily/include/lily-guile-macros.hh: add assert to
	scm_or_str2symbol(SCM).

	* VERSION (PATCH_LEVEL): bump version.

	* lily/spacing-spanner.cc (musical_column_spacing): handle
	musical->nonmusical spacing case, where there is no spacing
	wish. Fixes issue #61.

	* lily/pango-font.cc (text_stencil): allow 'tight' bounds.
	(pango_item_string_stencil): use logical rect horizontally (to
	preserve spaces), ink_rect vertically (for time signatures).

	* lily/font-metric.cc (word_stencil): new interface function

	* input/regression/utf-8-mixed-text.ly: new file.

	* lily/percent-repeat-engraver.cc (listen_percent): remove
	spurious warning.

	* lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
	non-dynamic scripts. Fixes #30.

	* lily/slur.cc (outside_slur_callback): make offset_scm optional.

	* lily/beam.cc (rest_collision_callback): make prev_offset optional.

	* lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
	SCM_UNDEFINED for non-existent data.

	* lily/side-position-interface.cc (general_side_position): allow
	optional current_offset argument for chaining, so combinations of side-position
	and outside slur callback don't add up.  Fixes issue #92.

	* lily/pango-font.cc (pango_item_string_stencil): use
	logical_rect. This prevents spaces after words from disappearing,
	issue #72.
	
	* VERSION: release 2.9.20

2006-10-02  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/define-grob-properties.scm (all-user-grob-properties):
	mention stencil as user settable.

2006-10-02  Joe Neeman  <joeneeman@gmail.com>

	* Documentation/user/page.itely (Page formatting): 
	document auto-first-page-number

	* lily/page-breaking.cc (find_chunks_and_breaks): 
	* lily/paper-score.cc (calc_breaking): Follow changes to the
	Constrained_breaking interface

	* lily/constrained-breaking.cc (calc_subproblem): run the main loop
	here backwards, as an optimisation
	(initialize): new function; move most of the code in resize () here
	(combine_demerits): cache ragged_right_
	(Constrained_breaking): constructor now takes the Paper_score

2006-10-02  Erik Sandberg  <mandolaerik@gmail.com>
	
	* lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
	avoid parser lookahead for 0-ary functions.

	* lily/translator.cc: Extract event classes from
	IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.

2006-10-02  Heikki Junes  <hjunes@gmail.com>

	* po/fi.po: Fix spaces, commas etc. in Finnish translation using
	KBabel fix tool.

2006-10-01  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/layout-page-layout.scm (page-breaking-wrapper): new
	function. Call the page breaking function selected in the
	`page-breaking' \paper variable, then the post processing function
	chosen using the `page-post-process' \paper variable.
	(line-height): new function. Return the height of a system.
	(line-minimum-position-on-page): new function. Return the position
	of a system on page (using the previous line position), only
	considering between system padding.
	(stretchable-line?): new function. Says whether a line can be
	stretched (ie. is not a title nor a single staff system).
	(page-maximum-space-left): new function. Computes space left on a
	page, when all systems are separated by their padding.

	* lily/page-breaking.cc (breaking::make_pages): Move page post
	processing function call to page breaking wrapper (common to all
	page breakers).

	* lily/paper-book.cc (book::pages): call the page breaking
	wrapper, instead of the page breaker directly

	* ly/paper-defaults.ly: Add \paper variables for page breaking
	wrapper and page post processing function. Make
	`write-page-layout' value depend on the 'dump-tweaks option. Add a
	`system-maximum-stretch-procedure' variable for holding a function
	computing the maximum stretch a system allows.

	* scm/layout-page-dump.scm (write-page-breaks): computes the
	stretch to apply to systems on a page to minimize left
	space. Dump this stretch length.

	* ly/music-functions-init.ly (spacingTweaks): implement it. Read
	the system-stretch property of the tweak data to stretch the
	system.
	(includePageLayoutFile): Void function which includes the
	generated page-layout file if it exists and if the page layout
	dumping is not asked.
	(scoreTweak): if the score tweak named by the argument exists,
	return it.

2006-10-01  Joe Neeman  <joeneeman@gmail.com>

	* lily/page-spacing.cc (compress_lines, uncompress_solution):
	handle correctly the case where there are multiple \noPageBreaks
	in a row.

2006-09-30  Laura Conrad <lconrad@laymusic.org>

	* abc2ly.py adds segno (S) and Coda (O) to articulations.
	
	* abc2ly.py fix so that entering " -- " will translate to a -- in
	the lilypond instead of a " - - "
	
2006-09-30  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/align-interface.cc: fix typo

	* lily/dynamic-text-spanner.cc (print): Add a special case for
	trill spanner right sides. 

	* scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1

	* lily/align-interface.cc (get_extents_aligned_translates): add
	support for padding variable.

	* lily/break-align-interface.cc (self_align_callback): oops: use
	loop variable in guard.

	* input/regression/repeat-percent-grace.ly: new file.

	* lily/percent-repeat-engraver.cc (start_translation_timestep):
	remember first currentCommandColumn of a grace run. Fixes issue 70.

	* lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
	move class definition to CC file.

	* lily/multi-measure-rest.cc (percent): use robust_relative_extent()

	* lily/slash-repeat-engraver.cc (listen_percent): don't warn for
	measure-long  repeats.

	* flower/include/international.hh: include stdarg.h

2006-09-30  Joe Neeman  <joeneeman@gmail.com>

	* lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
	put_systems_on_pages to return an empty result, we need to assign
	demerits properly in that case.
	(put_systems_on_pages): Make the number of pages depend on the
	evenness of page_number. Add auto-first-page-number.
	(calc_subproblem): ensure that the page-number is even for the
	left-hand page. Warn if the first page-turn doesn't fit onto the
	first (right-hand) page.

	* lily/page-spacing.cc (solve): bug: demerits_ would always be inf
	(min_page_count): make this publicly accessible
	(min_page_count): fix a bug when there are forced page breaks that
	was introduced when I made this loop run backwards
	(space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
	replace space_systems_on_min_pages with these two. The logic in
	space_systems_on_min_pages was getting too convoluted and is better
	contained in page-turn-page-breaking.

	* lily/page-turn-engraver.cc (breakable_column): remove an always-true
	conditional
	(breakable_column): typo

	* lily/source-file.cc (get_line): fix off-by-one error
	and clean up some of the logic

2006-09-29  Joe Neeman  <joeneeman@gmail.com>

	* lily/page-breaking.cc (make_pages): honour the first-page-number
	property

2006-09-27  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): bump version.

2006-09-26  Pal Benko  <benko.pal@gmail.com>

	* scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
	(the latter is the same as petrucci-f which is kept for compatibility)

2006-09-26  Erik Sandberg  <mandolaerik@gmail.com>
	
	* lily/part-combine-iterator.cc: solo1-event -> solo-one-event

2006-09-26  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/global-context.cc (run_iterator_on_me): break out of loop
	if moment doesn't increase.

	* scm/define-grob-properties.scm (all-user-grob-properties): add
	forced property.

	* lily/accidental.cc (after_line_breaking): read forced property.

	* lily/accidental-engraver.cc (process_acknowledged): set 'forced
	property.

	* input/regression/accidental-forced-tie.ly:  new file.

2006-09-25  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.

	* lily/figured-bass-engraver.cc: only listen to rest events if
	ignoreFiguredBassRest is not set.

	* scm/define-context-properties.scm
	(all-user-translation-properties): add ignoreFiguredBassRest property

2006-09-24  Joe Neeman  <joeneeman@gmail.com>

	* lily/paper-book.cc (get_system_specs):
	(set_system_penalty): fix breakbefore.
	We used to set a penalty on the system after the break, now we
	set a permission on the system before the break

	* lily/grob-property.cc: add scm debugging hooks into
	property modification

	* lily/context-property.cc:
	* lily/engraver.cc:
	rename make_foo_from_properties to internal_make_foo and
	move it from context-property.cc to a member function of
	Engraver.
	
	* lily/include/lily-guile-macros.hh:
	overload ly_symbol2scm macro so that there is no more need
	to use internal_foo

	* lily/volta-repeat-iterator.cc:
	* lily/tweak-engraver.cc:
	* lily/tuplet-bracket.cc:
	* lily/span-bar-engraver.cc:
	* lily/script-engraver.cc:
	* lily/prob-scheme.cc:
	* lily/pointer-group-interface.cc:
	* lily/parser.yy:
	* lily/grob-scheme.cc:
	* lily/grob-property.cc:
	* lily/context.cc:
	* lily/context-property.cc:
	* lily/break-substitution.cc:
	* lily/break-align-engraver.cc:
	* lily/axis-group-interface.cc:
	* lily/align-interface.cc:
	remove calls to internal_FOO

	* lily/system-start-delimiter-engraver.cc:
	* lily/parenthesis-engraver.cc:
	* lily/accidental-engraver.cc:
	remove calls to make_foo_from_properties

2006-09-23  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/programming-iterfaces.itely: fix
	def-music-function -> define-music... leftover.

2006-09-23  Joe Neeman  <joeneeman@gmail.com>

	* lily/page-spacing.cc (min_page_count): by running the loop
	backwards, we can calculate ragged_last properly.

2006-09-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>

	* ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
	printfirst-page-number -> print-first-page-number

	* python/convertrules.py: corresponding rule.

	* Documentation/user/page.itely (Page formatting): Document the
	default values of all page layout parameters. 

2006-09-22  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/lexer.ll: remove limitation on music function arity. New
	mode extratoken, which inserts extra EXPECT_* tokens after
	MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.

	* lily/parser.yy: Change grammar for music function accordingly.

	* lily/include/lily-parser.hh: New method get_state, new member
	hidden_state. Works around a problem when parser fetches
	MUSIC_FUNCTION token but not the following EXPECT_* token.

	* lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
	remove try_music

	* lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
	references to Music; use ASSIGN_EVENT_ONCE everywhere

	* lily/grob-info.cc: junk *music_cause

	* lily/music.cc: copy eventified articulations to stream event

	* lily/part-combine-iterator.cc: Cleanup using enums

	* lily/translator-group.cc: Junk OldMusicEvent, and associated
	methods

	* lily/include/engraver.hh: Junk music.hh include

	* lily/stream-event.cc: Changed constructors

2006-09-21  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/tweaks.itely (Fitting music onto fewer
	pages): change settings to avoid warning messages.

2006-09-21  Mats Bengtsson  <mabe@drongo.s3.kth.se>

	* Documentation/user/tweaks.itely (Fitting music onto fewer
	pages): Add between-system-space setting. 

2006-09-21  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/accidental-placement.cc (calc_positioning_done): don't
	trigger Y-extent calculation too early. Use pure_height instead.

	* lily/scale.cc (LY_DEFINE): new file. 

2006-09-20  Joe Neeman  <joeneeman@gmail.com>

	* lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
	that happen at the start of a score: having a zero-length
	chunk was messing up min_system_count calculations.

	* lily/source-file.cc (get_line): lower_bound, not
	binary_search. Fixes problem where point-and-click would
	always point to the first line.

2006-09-20  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/accidental-placement.cc (calc_positioning_done): also put
	stems into accidental support. 

	* lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
	event_ detected.

	* scm/script.scm (default-script-alist): avoid-slur and
	slur-padding for portato script.

	* lily/stem-tremolo.cc (translated_stencil): new function. 
	(height): use new function. Fixes tremolos on whole notes.

	* lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
	slur found.

2006-09-19  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scripts/abc2ly.py (try_parse_comment): idem.

	* scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
	bar_string iso. string.find()

	* lily/*.cc: idem.

	* lily/slur.cc (get_curve): always use scm_is_pair() looping
	scheme lists.  

2006-09-18  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/basic-notation.itely: add bug
	warning about ties and octavation/clef.

2006-09-18  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): release 2.9.18

2006-08-29  Milan Zamazal  <pdm@brailcom.org>

	* elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
	figure out midi file names right here.
	
2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.

	* scm/backend-library.scm: option naming:  gs-font-load*s*

	* scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
	include-eps-fonts

2006-09-17  Joe Neeman  <joeneeman@gmail.com>

	* scm/define-music-types.scm (music-descriptions): remove
	BreakEvent and fix {Page,Line}{Break,Turn}Event so
	Music::to_event doesn't complain.

	* lily/accidental-placement.cc (ape_compare):
	* lily/semi-tie.cc (compare): 
	* lily/note-column.cc (shift_compare): replace by XXX_less

	* lily/tie-formatting-problem.cc (set_chord_outline): 
	* lily/tie-column.cc (calc_positioning_done): 
	* lily/system.cc (post_processing)
	(get_paper_system): 
	* lily/stem.cc (note_head_positions)
	(calc_positioning_done): 
	* lily/spanner.cc (do_break_processing)
	(find_broken_piece): 
	* lily/span-bar.cc (print): 
	* lily/semi-tie-column.cc (calc_positioning_done): 
	* lily/rest-collision.cc (calc_positioning_done): 
	* lily/program-option.cc (get_help_string): 
	* lily/note-collision.cc (get_clash_groups):
	* lily/new-fingering-engraver.cc (position_scripts):
	* lily/keyword.cc (Keyword_table):
	* lily/hara-kiri-group-spanner.cc (request_suicide):
	* lily/grob-pq-engraver.cc (stop_translation_timestep):
	* lily/accidental-placement.cc (calc_positioning_done):
	(stagger_apes):
	* lily/beam.cc (get_beam_segments):
	* lily/grob-array.cc (remove_duplicates):
	use new vector_sort
	
	* input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
	ragged-last-bottom = ##f (test the new page breaker)

	* flower/include/std-vector.hh (vector_sort): use STL sort stuff

	* scm/define-context-properties.scm
	(all-internal-translation-properties): remove properties that
	were used to communicate page-turn stuff to the paper-column
	engraver.

	* lily/lily-guile.cc (robust_scm2string): new function

	* lily/paper-column-engraver.cc: Clean up page turn stuff

	* lily/page-turn-engraver.cc: Re-write the page turn logic here
	instead of cluttering up paper-column-engraver.cc

2006-09-17  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/layout-page-dump.scm (scm): export utility function names,
	to allow user writing cutsom dumping functions.

	* scm/layout-page-layout.scm: export utility function names to
	enable custom page breaking function writing. Tabify.
	(line-next-space): use ?-suffix only for predicates
	(page-maximum-space-to-fill): new function. Return the space
	between first and bottom system of a page, to give to
	space-systems.
	(space-systems): use a space-to-fill argument (for instance as
	computed by page-maximum-space-to-fill) instead of computing
	internaly this space with the page height. That way, the caller
	can adjust the space to use.
	(make-page-from-systems, walk-paths): compute space to fill before
	calling space-systems.

2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/script.scm (default-script-alist): set paddings for every
	type here, increase for portato mark.

	* scm/lily.scm (define-scheme-options): typo: add s, so it is 
	-dinclude-eps-fonts

2006-09-16  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/define-grobs.scm (all-grob-descriptions): oops, typo:
	use spanner::set-spacing-rods

	* lily/note-column.cc: reformat.

	* lily/rest-collision.cc (calc_positioning_done): fix whole/half
	step positioning for note/rest combinations.

	* input/regression/rest-note-collision.ly: new file.

	* scm/define-grobs.scm (all-grob-descriptions): add
	springs-and-rods

	* flower/include/std-vector.hh: switch off again.

	* VERSION (PATCH_LEVEL): bump to 2.9.18

	* flower/include/std-string.hh: idem.

	* flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.

2006-09-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>

	* ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
	PianoStaff. 

2006-09-08  Joe Neeman  <joeneeman@gmail.com>

	* Documentation/user/page.itely: update page breaking documentation

2006-09-07  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/note-collision.cc (calc_positioning_done): only access
	first head if available.

	* lily/tuplet-engraver.cc: add tupletFullLengthNote to description.

	* scm/framework-ps.scm (output-preview-framework): use new name.

	* lily/program-option.cc (internal_set_option): use new names.

	* Documentation/user/SConscript (lilypond_book_flags): update -d
	variable names.

	* Documentation/user/lilypond-book.itely (Inserting LilyPond
	output into other programs): new variable names.

	* scm/lily.scm (define-scheme-options): uniformize var names.

	* lily/tuplet-engraver.cc (listen_tuplet_span): verify that
	tuplets_ is non-empty before popping.

2006-09-07  Joe Neeman  <joeneeman@gmail.com>

	* lily/spanner.cc (find_broken_piece): 
	* lily/spacing-spanner.cc (get_columns): 
	* lily/source-file.cc (get_line): 
	* lily/simple-spacer.cc (get_column_description): 
	* lily/keyword.cc (lookup): 
	use the new binary search.

	* flower/include/std-vector.hh: replace binary_search with
	a more STL-like version

2006-09-04  Michael Welsh Duggan  <md5i@cs.cmu.edu>

	* lily/tie-performer.cc: remove unused last_event_ property.
	(class Tie_performer): add now_tied_heads_ property for
	partially-tied heads.
	(acknowledge_audio_element): when adding an Audio_note, put the
	note in now_tied_heads_ if the audio note is partially tied.
	(stop_translation_timestep): always include entries in
	now_tied_heads_ in heads_to_tie_.

	* lily/drum-note-performer.cc (process_music): look for tie-events
	in the articulations; pass to Audio_note constructor.

	* lily/note-performer.cc (process_music): look for tie-events in
	the articulations; pass to Audio_note constructor.

	* lily/audio-item.cc (Audio_note): Initialize tie_event_ in
	constructor.

	* lily/include/audio-item.hh (class Audio_note): add tie_event_.
	include initializer in constructor.

2006-09-02  Joe Neeman  <joeneeman@gmail.com>

	* lily/simple-spacer.cc (get_line_forces): Ignore loose columns
	unless they are breakable. This fixes discrepancies between the forces
	calculated here and the forces calculated in get_line_configuration.

	* lily/grob.cc (pure_relative_y_coordinate): fix some
	mis-estimation that was happening with piano staves.

	* lily/constrained-breaking.cc (resize): don't choke if we get a
	measure that won't fit on a line.
	(combine_demerits): don't consider uniformity when ragged

	* lily/page-spacing.cc (solve): why the f* were there two of these?
	(calc_subproblem): properly handle the case where a system is taller
	than the page.

	* lily/system.cc (get_paper_system): ensure that all the permissions
	and penalties are passed to the paper systems.

	* lily/page-breaking.cc (create_system_list): support system-count.

	* scm/define-grobs.scm (pure-print-callbacks): add
	ly:script-interface::print

	* lily/page-spacing.cc (min_page_count): fix calculation of min
	pages if we are ragged and there are non-zero springs.

	* scm/layout-page-layout.scm: if the pure-height estimates are under
	the real height, allow space-systems to ignore padding if it is
	needed in order to fit the systems on one page

	* lily/optimal-page-breaking.cc (try_page_spacing): fix reading
	ragged properties
	(solve): fix performance problem. Make sure we always get at least
	one solution

	* lily/page-breaking.cc (make_pages): include write-page-breaks
	and page-stencil

	* lily/paper-score.cc (calc_breaking): remove Gourlay breaker

	* scm/define-grobs.scm: add the new slur-callback
	fix pure-relevant to not exclude grobs whose extent is already
	calculated

	* ly/paper-defaults.ly: make ly:optimal-breaking the new default
	page breaker

	* lily/slur.cc (pure_height): new callback to estimate the height
	of a slur

2006-09-02  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/invoking.itely: small update on
	MacOS X notes; thanks Trevor!

2006-09-01  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (MY_PATCH_LEVEL): release 2.9.17

	* lily/lexer.ll: accept EOF in all states.

	* lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.

	* lily/source-file.cc (Source_file): always 0-terminate character
	array, to prevent Flex from barfing.

	* lily/global-context.cc (get_output): robustness: don't crash if
	no Score context found.

	* lily/include/book.hh (class Book): idem.

	* lily/include/context-def.hh (struct Context_def): idem.

	* lily/include/score.hh (class Score): don't derive from Input.

	* lily/book.cc (Book): add a copy ctor. 

	* buildscripts/output-distance.py (FileLink.calc_distance): count
	orphans in distance too.

	* python/midi.c (midi_parse_track): robustness: don't read past
	end of string.

	* ly/performer-init.ly: add Control_track_performer, move
	Tempo_performer and Time_signature_performer to Score.        

	* lily/score-performer.cc (acknowledge_audio_elements): override
	from base class: add to audio-columns

	* lily/control-track-performer.cc (add_text): new file: generate
	the control track.

	* lily/performance.cc: move output_header_track to
	Control_track_performer ()

	* lily/midi-walker.cc (Midi_walker): get channel in constructor.

	* lily/include/midi-item.hh (class Midi_channel_item): insert
	class into hierarchy, for items that can have a channel setting. Dehungarify.

	* lily/include/performer.hh (class Performer): remove
	play_element();  move functionality into announce/acknowledge.

	* lily/audio-staff.cc (output): remove channel_ from Midi_track.

	* lily/tie-engraver.cc (stop_translation_timestep): only wipe
	heads_to_tie_ if there are new heads to tie.  Fixes polyphony in ties.

2006-08-28  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/tie-engraver.cc (stop_translation_timestep): robustness for
	ambituses.

	* lily/all-font-metrics.cc: remove TFM support.

	* lily/include/tfm.hh: remove TFM support, TFM reader.

	* lily/include/binary-source-file.hh: remove Binary_source_file.

2006-08-27  Graham Percival  <gpermus@gmail.com>

	* Documentation/topdocs/NEWS.itely: add @c marker for
	stuff I've processed.

	* Documentation/user/ various: info from NEWS.

2006-08-27  Joe Neeman  <joeneeman@gmail.com>

	* lily/paper-column-engraver.cc (finalize): Oops, this change
	should have gone in on 2006-08-23

2006-08-26  Mats Bengtsson  <mabe@s3.kth.se>

	* scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
	quotes to quote arguments. Fixes Windows problem.

	* python/lilylib.py (progress): idem

2006-08-26  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scripts/musicxml2ly.py: fix for importing
	minor key signatures from MusicXML.  (Phillip Kirlin)

2006-08-24  Phillip Kirlin  <pkirlin@acm.org>

	* python/musicxml.py: 
	(Attributes.get_key_signature): now correctly retrieves mode from 
	MusicXML. 

2006-08-25  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/parser.yy (output_def_body): take ownership of identifier
	back to C++.

	* Documentation/user/advanced-notation.itely (Metronome marks):
	update use of \tempo in \midi.

	* VERSION: release 2.9.16
	
2006-08-24  Erik Sandberg  <mandolaerik@gmail.com>

	* input/mutopia/*: upgrade to new midi tempo syntax (repairs make
	web partially)

2006-08-24  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* input/regression/tie-chord-partial.ly: clarify example.

	* scm/define-music-properties.scm (all-music-properties): remove
	untied.

	* ly/music-functions-init.ly: remove \untied.

	* lily/tie-engraver.cc (struct Head_event_tuple): store both
	stream events and music events.
	(stop_translation_timestep): search acknowledged heads for
	tie-event.

	* input/regression/tie-chord-partial.ly: new file.

	* scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
	for \char markup command.

	* scm/define-event-classes.scm (unlistened-music-event-classes): idem.

	* scm/define-music-types.scm (music-descriptions): consistency:
	Use solo-{one,two}-event iso. solo-[12]-event.

	* lily/part-combine-engraver.cc (process_music):
	Use solo-{one,two}-event iso. solo-[12]-event.

	* ly/declarations-init.ly (partCombineListener): add Timing as
	alias

	* flower/std-string.cc (string_copy): use copy ()

	* lily/source-file.cc (Source_file): use copy(). Remove contents_str0()

2006-08-24  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/changing-defaults.itely, global.itely,
	lilypond-book.itely, page.itely: minor changes from mailist.

2006-08-23  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
	snippet-map

	* scm/define-context-properties.scm
	(translator-property-description): robustness: detect type errors
	in property definitions.

	* lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
	after getting it from SCM. 

	* lily/smobs.cc (protect_smob): switch off fancy smob protection
	for now. 

	* lily/include/performer.hh (class Performer): strip get_tempo()
	method.

	* lily/midi-def.cc: strip file.

	* lily/lexer.ll (Lily_lexer): don't protect hash key separately.

	* lily/include/context-def.hh (struct Context_def): use
	VIRTUAL_COPY_CONSTRUCTOR().

	* lily/source-file.cc: smobification.

	* lily/include/source-file.hh (class Source_file): smobify
	Source_file. Trim redundant members.

	* lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
	clones after creation. This plugs a huge memory leak.

	* python/convertrules.py (FatalConversionError.sub_tempo):
	complete rule for \midi{ \tempo }

	* input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.

	* input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.

2006-08-23  Joe Neeman  <joeneeman@gmail.com>

	* input/regression/optimal-page-breaking-hstretch.ly: test for
	ragged-last-bottom also

	* lily/paper-column-engraver.cc (finalize): make the end of a score
	breakable by default. This is to balance out a change in behaviour
	of the page-turn-breaker which no longer makes the end of a score
	breakable.

	* lily/paper-book.cc (pages): set the systems_ once the pages are
	broken

	* lily/page-turn-page-breaking.cc (calc_subproblem): use the new
	Page_breaking interface.

	* lily/page-breaking.cc (class Page_breaking): make the interface
	more consistent and provide abstractions for dealing with
	Line_divisions.

	* lily/optimal-page-breaking.cc (solve): use a more straightforward
	algorithm. Use the new interface to Page_breaking.

	* lily/page-spacing.cc: better support for ragged-bottom and
	ragged-last-bottom

2006-08-22  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* python/convertrules.py (conv): warning on \tempo{}

	* ly/performer-init.ly: set tempoWholesPerMinute.

	* ly/midi-init.ly: remove \midi

	* lily/tempo-performer.cc: look at tempoWholesPerMinute to set
	MIDI tempo.

	* lily/metronome-engraver.cc (process_music): use tempoUnitCount
	tempoUnitDuration for determining what to print.

	* lily/lyric-extender.cc: typo.

	* lily/parser.yy (output_def_body): disallow \tempo in \midi{}

	* lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
	function.

	* scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.

	* scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
	eps-pad-boxes is set.

	* scripts/lilypond-book.py (main): use -deps-pad-boxes.

	* THANKS: update sponsors.

	* ly/english.ly: quarter tone naming (thanks, Trevor Baca)

	* Documentation/topdocs/NEWS.tely (Top): doc new feature.

	* input/regression/tie-chord-untied.ly: new file.

	* lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.

	* scm/define-music-properties.scm (all-music-properties): add
	'untied property.

	* buildscripts/mutopia-index.py (allfiles): look for .ly rather
	than .ly.txt.
	(headertext_nopics): sanitize no-examples text.

	* scm/page.scm (make-page-stencil): don't rely on extents of
	page-stencil. This fixes spurious space around .EPS files produced
	with the EPS backend.

2006-08-21  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.

	* lily/hara-kiri-engraver.cc (process_music): remember
	keepAliveInterfaces after processing \set

	* lily/lyric-extender.cc (print): support left/right-padding for
	extenders.

	* scm/documentation-generate.scm (string-append): revert lilypond/
	path, doc why.

2006-08-20  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/lilypond.tely: clarification to
	license presentation (not to actual license).

	* Documentation/user/basic-notation.itely,
	instrument-notation.itely: minor changes.

	* input/ {regression, test}/+.ly: clarification to
	text (you can click on examples).  Thanks, Mats!

	* input/manual/bar-lines.ly: adds ||: repeats.

2006-08-20  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES 

	* scm/documentation-lib.scm (texi-file-head): category LilyPond.

	* Documentation/user/lilypond.tely: strip lilypond/ from info
	links, rename to category LilyPond

	* lily/pango-font.cc (description_string): new function.

	* VERSION: release 2.9.15

	* lily/spacing-engraver.cc (stop_translation_timestep): use
	Dscho's fix for spacing spanner. 

	* scm/define-music-types.scm (music-descriptions): use
	apply-output-event for ApplyOutputEvent

	* lily/output-property-engraver.cc (listen_apply_output): rename
	from listen_layout_instruction.

	* lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
	function protect()

2006-08-19  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/lily.scm (lilypond-all): option read-file-list: substitute
	commandline args with contains, split by \n.

	* scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
	write snippet-names file, call with -dread-file-list. Fixes
	command limitations on 64-bit systems.

	* input/regression/stencil-color-rotation.ly: new file.

	* lily/include/translator.hh (struct Acknowledge_information):
	revert: don't use Protected_scm in global objects, as GUILE can't
	handle gc_unprotect from automated destructors on MacOS X.
 
	* lily/grob.cc (get_print_stencil): use retval.expr() as base for
	color, not the original stencil. Fixes combinations of
	color/transparency/rotation. 

	* scripts/lilypond-book.py (main): add --formats=eps for
	texinfo/latex.

	* lily/spacing-engraver.cc (stop_translation_timestep): don't
	crash if spacing_ is nonexistent.

2006-08-14  Mats Bengtsson  <mabe@s3.kth.se>

	* scripts/lilypond-book.py (output): Remove obsolete(!?)
	\catcode`\@=12 in the LaTeX output.

2006-08-11  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/define-music-types.scm (music-descriptions):
	use sustain-event iso. sustain-pedal-event.

2006-08-11  Joe Neeman  <joeneeman@gmail.com>

	* scripts/convert-ly.py: honour the -n command-line switch

2006-08-10  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
	break specification.

2006-08-10  Joe Neeman  <joeneeman@gmail.com>

	* Documentation/user: convert-ly the user manual

2006-08-09  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* stepmake/aclocal.m4: version check patch (thanks MWD)

	* ly/music-functions-init.ly: robustness. Don't crash if
	currentBarNumber is not a number.

	* VERSION (PATCH_LEVEL): bump.

2006-08-08  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* stepmake/aclocal.m4: better version check; handle fooX.Y
	binaries too.

	* ly/performer-init.ly: instrument name fixup.

	* input/manual/chord-names-jazz.ly (banterProperties):
	instrumentName update

	* scm/define-event-classes.scm (lambda): use ly:is-listened-event-class

	* lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys

	* lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
	function. Use hash tables to check membership.

	* lily/general-scheme.cc (LY_DEFINE): new function.

	* lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem

	* lily/include/translator.hh (struct Acknowledge_information): add
	Protected_scm

	* ly/music-functions-init.ly: change name to BreathingEvent

	* input/regression/*.ly: apply it.

	* python/convertrules.py (conv): better instrumentName conversion
	rule.

	* scm/define-music-types.scm (music-descriptions): add
	line-break-event to LineBreakEvent music

	* lily/music.cc (to_event): don't crash if music type not set.

	* lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
	spacing not set.

	* lily/spacing-engraver.cc (stop_translation_timestep): set
	spacing for proportional notation too.

	* scm/translation-functions.scm (format-bass-figure): inspect
	stream-event.

	* scripts/lilypond-book.py (bindir): add bindir to $PATH.

2006-08-08  Joe Neeman  <joeneeman@gmail.com>

	* lily/include/constrained-breaking.hh: add Line_details (Prob*)

	* scm/page.scm (make-page): make it friendlier to call (esp. from C++)

	* scm/layout-page-layout.scm (make-page-from-systems): new function
	(optimal-page-breaks): use the new page-breaking calling convention

	* scm/define-context-properties.scm (all-user-translation-properties):
	add revokePageTurns

	* lily/paper-column-engraver.cc (stop_translation_timestep): add
	revokePageTurns  functionality. If there is a special barline within
	the breakable region, break there instead of at the end of the region.

	* lily/paper-book.cc (pages): use the new page-breaking calling
	convention

2006-08-07  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command

	* scripts/lilypond-book.py: insert \sourcefileline command in
	output, so lilypond error messages refer to the spot in the
	original .lytex / .itely sourcefile.

2006-08-04  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/spacing-loose-columns.cc (set_loose_columns): oops: use
	space to next column for distance to fixed col.

	* VERSION (PACKAGE_NAME): release 2.9.14

	* lily/pitched-trill-engraver.cc (make_trill): do set_parent also
	if no accidental.

	* lily/accidental-engraver.cc (process_acknowledged): don't create
	accidental for trill span event. This fixes spurious accidentals
	on trills.

2006-08-04  Mats Bengtsson  <mabe@s3.kth.se>

	* scm/define-grob-properties.scm (all-user-grob-properties):
	Clarify documentation of side-axis and direction. Thanks to Paul
	for the inspiration.

	* lily/bar-line.cc: Add documentation for "||:" also in the
	interface documentation.

2006-08-04  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/spacing-loose-columns.cc (set_loose_columns): bugfix.

	* lily/paper-column.cc (set_system): new function.

	* lily/spacing-engraver.cc (stop_translation_timestep): store
	SpacingSpanner refs in Paper_column.

	* lily/spacing-loose-columns.cc (set_loose_columns): rewrite
	compute loose clique spacing using GraceSpacing/SpacingSpanner.

2006-08-03  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/beam-engraver.cc (listen_beam): add method for
	Grace_beam_engraver too.

2006-08-03  Mats Bengtsson  <mabe@s3.kth.se>

	* python/convertrules.py: Fix indentation bug that broke
	conversion of files older than 1.3.117.
	Fix escape error in the description for 2.9.6.

2006-08-02  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/*-engraver.cc: convert all try_music functions to listen_*
	functions.

	* lily/piano-pedal-engraver.cc: some additional cleanups: use
	enums to represent pedal types, and calculate more data statically.

	* scm/part-combiner.scm (recording-group-emulate): create a
	softcoded substitute for recording-group-engraver.cc.

	* lily/music.cc: make a common transpose function for events and
	music

	* ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
	ManualMelismaEvent, and obsoletes Melisma_translator.

2006-08-02  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* input/test/instrument-name-align.ly: update version.

2006-08-02  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/lilypond-book.itely (Invoking lilypond-book):
	Doc the --pdf flag to lilypond-book.

2006-07-31  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/topdocs/NEWS.tely (Top): add description.

	* input/regression/tuplet-full-length-note.ly: add file.

	* lily/instrument-name-engraver.cc (acknowledge_axis_group):
	always store axis group.

2006-07-27  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* input/regression/instrument-switch.ly: new file.

	* lily/instrument-switch-engraver.cc (process_music): new file.

	* ly/engraver-init.ly: add Instrument_switch_engraver

	* ly/music-functions-init.ly: \instrumentSwitch

	* scm/define-context-properties.scm
	(all-user-translation-properties): add instrumentCueName

	* scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch

2006-07-26  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* ly/music-functions-init.ly: music function \transposition.

	* lily/parser.yy (command_element): softcode \transposition.

	* lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
	(process_music): oops.

	* lily/instrument-name-engraver.cc (start_spanner): new
	function. Create spanner when property changes.
	(stop_spanner): new function.

	* python/convertrules.py (conv): add rule.

	* lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
	shortInstrumentName iso. instr.

	* scm/output-ps.scm (dashed-line): add phase argument to
	dashed-line.

	* lily/bar-line.cc (dashed_bar_line): new function.
	(compound_barline): support \bar "dashed". 

	* lily/lily-parser-scheme.cc (LY_DEFINE): only write
	--output=DIR to DIR/BASE if it is a dir. 

	* flower/file-name.cc (file_part): new function
	(dir_part): new function

	* lily/lily-parser-scheme.cc (LY_DEFINE): 

	* DEDICATION: update

2006-07-25  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/instrument-name-engraver.cc: formatting.

	* python/convertrules.py (conv): bugfix for \epsfile.

2006-07-25  Joe Neeman  <joeneeman@gmail.com>

	* lily/grob.cc:
	
	* lily/gourlay-breaking.cc: Oops, these should have been included
	in my last commit

2006-07-24  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scripts/*.py (program_name): cleanup relocation snippets.

	* scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.

2006-07-24  Joe Neeman  <joeneeman@gmail.com>

	* scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
	page-breakable by default

	* scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
	correctly calculated for a single-system page

	* scm/lily-library.scm (interval-sane?): also check that the first number is no
	bigger than the second number

	* lily/simple-spacer.cc (solve): allow compression even when ragged (but we
	acknowledge that we aren't satisfying constraints)

	* lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
	non-Items

	* lily/grob.cc (pure_height): add minimum-Y-extent

	* lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
	ragged

	* lily/constrained-breaking.cc: convert code to use new Matrix class
	(get_best_solution): new function

	* scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
	is a page with no systems

2006-07-23  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): release 2.9.13

	* scm/define-grobs.scm (all-grob-descriptions): remove stray
	assignment.

2006-07-21  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/topdocs/NEWS.tely (Top): doc new features.

	* scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
	function.

	* scm/define-grob-properties.scm (all-user-grob-properties):
	remove grace-space-factor.

	* scm/define-grob-interfaces.scm (grace-spacing-interface): add
	grace-spacing-interface
	(spacing-options-interface): add.

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver

	* lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc

	* lily/spacing-basic.cc (note_spacing): do init_from_grob on
	GraceSpacing object.

	* lily/note-spacing.cc: fix prop list formatting

	* lily/beaming-pattern.cc (de_grace): new function. Sensible
	beaming for grace notes too.

	* input/regression/spacing-grace.ly: update.

	* lily/grace-spacing-engraver.cc: new file.

	* lily/spacing-spanner.cc: add strict-grace-spacing.

2006-07-20  Graham Percival  <gpermus@gmail.com>

	* lily/parser.yy: compile fix.

2006-07-20  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/define-grobs.scm (all-grob-descriptions): typo.

	* scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
	.eps extension from includegraphics.

	* scripts/lilypond-book.py (main): add support for --pdf. 

	* lily/spacing-spanner.cc (calc_common_shortest_duration): use
	callback to compute common shortest duration.
	(set_springs): typo.

	* scm/define-grob-properties.scm (all-user-grob-properties): add
	strict-grace-spacing.

	* lily/spacing-determine-loose-columns.cc (is_loose_column):
	support float_grace_columns_.

	* lily/spacing-options.cc (init_from_grob): new file.

	* Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.

	* input/regression/spacing-loose-grace.ly: new file.

	* Documentation/topdocs/NEWS.tely (Top): document new feature.

	* lily/tuplet-engraver.cc (struct Tuplet_description): read
	tupletFullLengthNote too. Choose right bound depending on value.

	* input/regression/tuplet-full-length-note.ly: new file.

2006-07-19  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/*-performer.cc: Converted try_music to listen_*

	* lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
	as a stream-event internally. Introduce event_cause (), deprecate
	music_cause ().

	* scm/define-music-types.scm: Removed BusyPlayingEvent
	
2006-07-19  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/advanced-notation.itely (Font selection):
	Document how to get a list of available fonts using 'lilypond
	-dshow-available-fonts blabla'.

2006-07-19  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* GNUmakefile.in: filter lily-XXX.pdf files.

	* scm/define-grob-interfaces.scm (bend-after-interface): add thickness.

	* scm/define-grob-properties.scm (all-internal-grob-properties):
	remove delta-pitch. Use delta-position everywhere.

	* scm/output-lib.scm (fall::print): use new order.

	* scm/output-ps.scm (path): reorder arguments.

	* scm/output-svg.scm (path): support for path primitive.

	* input/regression/bend-after.ly: new file.

	* Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
	recipe for eps -> pdf conversion.

2006-07-19  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/parser.yy, lily/lexer.ll: added some simplifications by
	Angelo Contardi.

2006-07-19  Graham Percival  <gpermus@gmail.com>

	* input/manual/screech-boink.ly: moved to here.

	* input/screech-boink.ly: deleted.

	* scm/define-grob-properties.scm: clarify doc string.

2006-07-19  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/topdocs/NEWS.tely (Top): doc new feature.

	* scm/output-ps.scm (path): define path.

	* scm/define-stencil-commands.scm
	(ly:register-stencil-expression): add path.

	* scm/define-music-properties.scm (all-music-properties): add delta-pitch.

	* ly/engraver-init.ly: add Fall_engraver

	* lily/parser.yy (music_function_event): allow musicfunction
	without music arg as music_function_event.

	* lily/grob-scheme.cc (LY_DEFINE):
	ly:grob-robust-relative-extent. New function.

	* scm/define-grobs.scm (all-grob-descriptions): add BendAfter

	* scm/define-music-types.scm (music-descriptions): add BendAfterEvent.

	* scm/output-lib.scm (fall::print): new function

	* lily/fall-engraver.cc (stop_fall): new file.

	* ly/music-functions-init.ly: alphabetise.

	* Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
	base.

2006-07-17  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PATCH_LEVEL): bump version. Release 2.9.12

	* Documentation/user/lilypond-book.itely (Invoking lilypond-book):
	doc pdftex usage.

	* lily/translator-group.cc (connect_to_context): non const error message.

	* Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF

	* scm/paper.scm (internal-set-paper-size): define landscape to #f
	if unset.

	* scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape. 

	* stepmake/stepmake/texinfo-rules.make: strip DVI support.

	* scm/framework-eps.scm (dump-stencils-as-EPSes): generate
	systems.pdftex too.

	* scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.

	* make/lilypond-vars.make (TEXINPUTS): add pdf output format.

	* Documentation/topdocs/NEWS.tely (Top): add pdftex note.

	* scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.

	* lily/main.cc (parse_argv): don't overwrite previous --formats string.

	* scm/backend-library.scm (postscript->pdf): strip .eps too. 

2006-07-14  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/layout-page-layout.scm: Define module, tidy code, use more
	functions iso. a single big one.

	* scm/layout-page-dump.scm: move page dump functions used in two
	pass spacing to this file. Define module.

	* scm/lily.scm (ly:load): don't load layout-page-layout.scm
	 (separate module)

	* ly/paper-defaults.ly: use module layout-page-layout.

2006-07-14  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/music.cc: Revised MusicEvent event class. It now contains
	event data directly instead of encapsulating it in music. The
	previously used class is renamed to OldMusicEvent.

	* lily/stream-event.cc: Stream events are now probs.
	
	* lily/translator-group.cc, lily/translator.cc: Translators can
	now listen directly to stream events, by using macros
	[DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.

	* lily/arpeggio-engraver.cc: Converted to use new event system

	* THANKS: Corrected spelling mistake.

2006-07-12  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/SConscript, make/lilypond-vars.make,
	input/GNUmakefile: doc build looks in input/manual instead
	of input/test/

	* input/manual/ GNUmakefile, SConscript: build files for
	input/manual/

	* input/test/ various: some files moved to input/manual/ 

	* Documentation/user/basic-notation.itely: small updates;
	thanks Kieren and Charles!

2006-07-12  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): release 2.9.11

	* Documentation/topdocs/NEWS.tely (Top): update prop value 

	* Documentation/user/basic-notation.itely (Tuplets): new property
	value.

2006-07-11  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* python/convertrules.py (conv): tweaks. 

	* VERSION (PATCH_LEVEL): bump version.

	* python/convertrules.py (conv): add rule for
	tupletNumberFormatFunction.

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
	tupletNumberFormatFunction.

	* scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
	text through 'text callback.

	* lily/time-scaled-music-iterator.cc (construct_children): copy
	tweaks generated events.

	* scm/define-context-properties.scm
	(all-user-translation-properties): remove tupletNumberFormatFunction

	* lily/tuplet-engraver.cc (process_music): don't read
	tupletNumberFormatFunction

	* scm/output-lib.scm (tuplet-number::calc-fraction-text): new
	function.

2006-07-11  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/global-context-scheme.cc: Separated ly:run-translator into
	smaller pieces.

	* lily/score-engraver.cc, lily/score-performer.cc,
	scm/define-context-properties.scm: Make paper/midi output
	accessable as a context property.

	* lily/score-translator.cc, lily/score-context.cc: Removed.

2006-07-07  Guido Amoruso  <guidonte@katamail.com>

	* scm/ps-to-png.scm (Module): 
	* scm/framework-tex.scm (Module): 
	* scm/framework-ps.scm (Module): 
	* scm/backend-library.scm (Module): 
	* scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
	"dDEVICEHEIGHTPOINTS".

2006-07-04  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ various: general improvements to
	"working with lilypond files" section.

2006-07-03  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/sequential-iterator.cc: Change the default get_music_list
	to read elements-callback music property

	* scm/define-music-types.scm, scm/music-functions.scm: Cleaner
	processing of multimeasure rests. Softcoded
	sequential-music-iterator.

	* lily/sequential-music-iterator.cc: Removed.

2006-06-28  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/basic-notation.itely: clarify \repeatTie.

2006-06-27  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/parser.yy: Wrap non-post-events in EventChords before
	assigning them to identifiers.

2006-06-27  Mats Bengtsson  <mabe@s3.kth.se>

	* lily/bar-line.cc (compound_barline): Fix parenthesis error,
	gives correct vertical placement of \bar ":" in all staff
	sizes. Thanks Martial!

2006-06-26  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/invoking.itely : minor update from mailist.

2006-06-26  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/ various: Introduce stream events of types Prepare,
	OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
	ChangeContext, SetProperty, RevertProperty, Override and Revert.

	* lily/global-context*.cc: Time is now -inf before iteration
	starts.

	* lily/include/context.hh: Removed unique_, init_

	* Documentation/topdocs/NEWS: Make the feathered beam example
	avoid triggering a bug.

2006-06-24  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ various: small additions from mailist.

2006-06-22  Mats Bengtsson  <mabe@s3.kth.se>

	* ly/performer-init.ly: Add some missing links in the context
	hierarchy for MIDI output. There are probably some more missing!

2006-06-21  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ various: minor spelling fixes;
	thanks Dave Luttinen!

	* Documentation/user/ various: small clarifications;
	thanks Anthony Youngman!

2006-06-20  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* po/fr.po: add \n appropriately.

	* lily/lexer.ll: remove ? from version-seen?  

2006-06-19  John Mandereau  <john.mandereau@free.fr>

	* po/fr.po; update translation, by Jean-Charles Malahieude and
	John Mandereau.

2006-06-19  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* THANKS: add Markus Schneider.

	* lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
	Staff_symbol_engraver

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
	replace staff_engraver

	* lily/staff-symbol-engraver.cc (stop_spanner): announce end of
	spanner.

	* lily/staff-collecting-engraver.cc
	(acknowledge_end_staff_symbol): new function

	* lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function. 

	* lily/staff-collecting-engraver.cc
	(acknowledge_end_staff_symbol): new function.

	* lily/main.cc: switch on relocation by default.

2006-06-18  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/spacing-spanner.cc (musical_column_spacing): set
	compound_fixed_note_space to 0.0. Document why.

	* lily/simple-spacer.cc (is_sane): also have a kludge for numeric
	range of inverse_hooke_
	(Simple_spacer): init completely.
	(fits): const
	(get_line_configuration): don't use cols.resize(); it introduces
	initialized data.

	* scm/framework-ps.scm (dump-page): add setstrokeadjust. 

	* ps/music-drawing-routines.ps: remove selectfont L1 hack.

	* lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
	try. Divide by beatlength.

	* input/regression/beaming-ternary-metrum.ly: update doc.
	add beatLength hack.

	* scm/music-functions.scm (make-time-signature-set): add
	standard-beat-grouping. 

2006-06-17  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* input/regression/tie-whole.ly: new file.

	* lily/tie-formatting-problem.cc (set_column_chord_outline): don't
	cross center of note head in case of invisible stem. 

2006-06-16  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ various: small fixes from mailist.

2006-06-16  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/breathing-sign.cc (offset_callback): idem.

	* lily/align-interface.cc (align_to_fixed_distance): remove
	hungarian suffix.

	* lily/beaming-pattern.cc (count_factor_twos): oops. We want
	x%2==0.

2006-06-15  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): release 2.9.9

	* ly/lilypond-book-preamble.ly: add \version

2006-06-14  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scripts/lilypond-book.py (PREAMBLE_LY): include
	lilypond-book-preamble.ly

	* lily/stem.cc (get_beaming): return max of 0 and
	scm_ilength. Fixes slurring from/to beams.

	* ly/lilypond-book-preamble.ly: new file.

	* lily/slur.cc: add inspect-index feature.

2006-06-13  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/tutorial.itely: trivial fix.

2006-06-13  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
	all non-event music in the parser via MAKE_SYNTAX.

	* lily/parser-scheme.cc: Add ly:parser-error function

	* scm/paper.scm: fix typo

2006-06-13  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* THANKS: add RT.

	* lily/font-config.cc (init_fontconfig): add warning if cache_file
	is null.

	* buildscripts/output-distance.py (test_compare_signatures):
	timing routines.
	(read_signature_file): use new signature format.

	* scm/stencil.scm (write-system-signature): simpler signature
	format.

	* lily/stem.cc (calc_stem_end_position): calc quantized-positions
	for beamed case. 

	* lily/note-spacing.cc (stem_dir_correction): don't inspect
	stem_end_position, but estimate instead. 

	* lily/tuplet-bracket.cc (calc_positions): look at
	stem-end-position for tuplet bracket slope. Fixes sloped tuplet
	brackets narrower than beams. 

	* lily/lexer.ll: set version-seen? even if version is
	INVALID. 

	* lily/rest.cc (y_offset_callback): bugfix: decide position
	override based on scm_is_number(). Fixes \rest on center staff
	line. 

	* lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
	patterns for 16th triplets.

2006-06-10  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ page.itely, global.itely: editing
	and reorg.

	* Documentation/user/ various: findex -> funindex.

2006-06-10  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
	insert extra tuplet events.

2006-06-10  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/programming-interfaces.itely: add
	info from NEWS.

	* python/convertrules.py: add annotatefoo -> annotate-foo
	rules.

	* Documentation/user/global.itely: start editing.

	* Documentation/user/page.itely: major editing, new spacing
	docs.

2006-06-10  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/define-markup-commands.scm (wordwrap-markups): use
	output-def 'line-width if undefined.

	* HACKING: trim outdated info.

2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>

	* scm/define-grobs.scm (all-grob-descriptions): Add
	line-spanner-interface to all grobs that already have
	text-spanner-interface or dynamic-text-spanner-interface

	* scm/page.scm: Rename annotate{headers,systems,page}->
	annotate-*

	* input/regression/page-spacing.ly,
	input/regression/page-layout-manual-position.ly: idem

2006-06-09  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/line-spanner.cc: cleanup property list.

	* scripts/lilypond-book.py (find_toplevel_snippets): don't use
	generator expressions (2.3 compat). 

2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>

	* lily/vertical-align-engraver.cc: Make sure that the
	align{Above,Below}Context properties are included in the automatic
	documentation.

2006-06-08  Joe Neeman  <joeneeman@gmail.com>

	* scm/paper-system.scm (paper-system-annotate): also annotate the
	estimated pure-Y-extent

	* scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions

	* lily/system.cc (break_into_pieces): set the estimated height
	of each child system

	* lily/stem.cc (pure_height): new pure-Y-extent callback

	* lily/staff-symbol-referencer.cc (callback): don't destroy
	the staff-position property

	* lily/hara-kiri-group-spanner.cc (request_suicide): split
	consider_suicide into two functions

	* lily/constrained-breaking.cc (resize): use the new pure
	callbacks to estimate the height of a system

	* lily/axis-group-interface.cc (pure_group_height): new
	side-effect-free VerticalAxisGroup height-callback

	* lily/align-interface.cc (get_extents_aligned_translates):
	split align_elements_to_extents into two functions
	(get_pure_child_y_translation): new function

	* lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset

	* lily/item.cc: new functions pure_is_visible and spanned_rank_iv

	* lily/paper-score.cc: cache break_indices and columns

	* lily/side-position-interface.cc: new pure-Y-extent callbacks
	
2006-06-08  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/font-config.cc (init_fontconfig): do the init if
	cache_file, but don't look at cache_file.

	* input/regression/quote-tie.ly: new file.

	* lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
	to Head_event_tuple, so we deal gracefully with ties on
	cue-endings.

	* lily/pango-font.cc (pango_item_string_stencil): type correctness
	for FcChar8*

2006-06-08  Graham Percival  <gpermus@gmail.com>

	* input/test/ smart-transpose.ly, reverse-music.ly:
	\applyMusic to music functions update, thanks Michael!

2006-06-07  Graham Percival  <gpermus@gmail.com>

	* input/test/ add-staccato.ly, add-text-script.ly,
	unfold-all-repeats.ly, music-box.ly: \applyMusic to
	music functions update, thanks to Michael Meixner.

	* Documentation/user/music-glossary.tely: small fix
	from Francisco.

	* Documentation/user/ various: minor additions from mailist.

	* Documentation/user/lilypond.tely, basic-notation.itely:
	small test of @funindex.  (works here)

	* input/test/font-table.ly: reduce size to partially
	de-ugly version in manual.

	* Documentation/user/page.itely: new file (split former
	"global issues" into "page settings" and "non-musical
	output".

	* Documentation/user/ various: fix @ref{}s to match
	new chapter names (above).

2006-06-07  Jan Nieuwenhuizen  <janneke@gnu.org>

	* SConstruct (LILYPONDPREFIX): Bootstrap fix.

2006-06-06  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/advanced-notation.itely: add example
	for segno/coda on barline.

	* tex/texinfo.tex: merge from upstream.

2006-06-06  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scripts/lilypond-book.py (process_snippets): Argument fix.

	* SConstruct:
	* buildscripts/builder.py:
	* lily/SConscript: 
	* mf/SConscript: 
	* Documentation/user/SConscript:  More SCons fixes.

2006-06-03  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/font-config.cc (init_fontconfig): Only initialize if
	global cache_file is found.

2006-06-06  Erik Sandberg  <mandolaerik@gmail.com>

	* ly/music-functions-init.ly: Updated \overrideProperty to use the
	new \applyOutput.

2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): release 2.9.8

	* lily/ledger-line-engraver.cc (stop_translation_timestep): new
	function. Delay ledger modifying ledgered grobs to
	stop_translation_timestep(), to ensure that we're ledgering
	according to the new spanner.
	(acknowledge_staff_symbol): don't check for non-NULL
	staff_sym->get_bound()

	* lily/staff-symbol-engraver.cc (start_spanner): set left bound on
	creation.

	* Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
	pictures too.

	* GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
	directly from srcdir/stepmake/aclocal.m4
	
	* Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
	disting MISC files.

	* lily/simple-spacer.cc (get_column_desc): desc -> description.

2006-06-06  Joe Neeman  <joeneeman@gmail.com>

	* lily/simple-spacer.cc (get_line_configuration): add
	keep-inside-line rods
	(struct Column_desc): add constructor
	(struct Rod_desc): add constructor
	(get_line_forces): check for forced page breaks here too

	* lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
	support/elements cycles between InstrumentNames and AxisGroups

2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* config.make.in (METAFONT): remove MAKEINFO_VERSION

	* stepmake/stepmake/topdocs-targets.make (make-txt-files): define
	make-txt-files target.

	* stepmake/stepmake/toplevel-targets.make (do-top-doc): use
	make-txt-files target.

	* configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py

	* stepmake/stepmake/generic-vars.make (distdir): create dist in
	top-build-dir.

2006-06-06  Jürgen Reuter  <reuter@ipd.uka.de>

	* Documentation/user/instrument-notation.itely,
	input/regression/breathing-sign-ancient.ly,
	input/test/divisiones.ly: Removed redundant property settings for
	vaticana contexts.

	* ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
	fix lyrics alignment problems.  They are implemented now as scheme
	functions that add the appropriate unicode char to the first lyric
	event rather than adding a separate lyric event.  Minor edit of
	comments.

2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
	pollute src dir with built .txt files, but install directly from
	Documentation/topdocs/out/

	* buildscripts/output-distance.py
	(ComparisonData.create_html_result_page): put version/directories
	in table header.

	* Documentation/topdocs/NEWS.tely (Top): document spacing section
	feature.

	* configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
	Patch by Karl Hammar
	
	* buildscripts/readlink.py: add  file.
	Patch by Karl Hammar

2006-06-06  Joe Neeman  <joeneeman@gmail.com>

	* lily/tuplet-number.cc (print): prevent stencil from being
	garbage collected.

2006-06-05  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/stencil.scm (write-system-signature): explicitly 
	-well, superfluously- close output port.

	* buildscripts/output-distance.py (main): oops. Add extra argument.

2006-06-05  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/music-glossary.tely: clarified example
	from Francisco Vila, thanks!

2006-06-05  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* input/regression/spacing-section.ly: new file.

	* lily/input.cc (programming_error): new function.

	* lily/spacing-engraver.cc (try_music): new function. Accept
	spacing-section-event

	* lily/spacing-spanner.cc (set_springs): take slices of all
	columns for spacing.

	* lily/include/paper-column.hh (class Paper_column): add
	Paper_column::compare.

	* ly/spanners-init.ly (newSpacingSection): add newSpacingSection.

	* scm/define-music-types.scm (music-descriptions): add
	SpacingSectionEvent

	* lily/music-iterator.cc (report_event): use programming_error for
	sending non-event error.

	* lily/input.cc (programming_error): new function

	* buildscripts/output-distance.py (main): use compare-XXX for
	compare files.
	(main): --threshold option, default at 0.30

	* output-distance.py (main): add --threshold option.

2006-06-04  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/paper-system.scm (paper-system-annotate): fix problem when
	annotating an empty system

2006-06-04  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* GNUmakefile.in: reinstate old web tar/copying.

2006-06-03  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
	nothing changes. (Erik S) 

	* lily/percent-repeat-iterator.cc (get_music_list): fix repeat
	count. (Erik S)

2006-05-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/define-markup-commands.scm (whiteout): do not force
	foreground color of argument markup to black.

	* scm/stencil.scm (annotate-y-interval): put arrow dimension at
	the left of the arrow, instead of below the arrow name, so that,
	when two little arrows are vertically stacked, their dimensions
	and name should not overlap. Add a color key parameter.

	* scm/paper-system.scm (paper-system-annotate): Annotate
	next-space+next-padding instead of next-space. Annotate space
	between next-padding and next-space+padding, respectively, and
	following system extent and refpoint-Y-extent. Use colors.

	* scm/page.scm (annotate-page): translate annotations slightly to
	the right.

2006-06-03  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
	fix for x-staff slurs. Thanks Joe!

	* buildscripts/output-distance.py
	(SystemLink.output_expression_change_count): keep track of changed
	details, and dump in details html page.
 
	* input/regression/figured-bass-staff.ly: add note about setting
	properties in Staff context.

	* lily/figured-bass-position-engraver.cc (acknowledge_slur):
	add slurs and ties to support too.

	* buildscripts/output-distance.py (main): set dest_dir
	argument. Add --max-count option.

2006-06-02  Jürgen Reuter  <reuter@ipd.uka.de>

	* ly/gregorian-init.ly: Converted to utf-8.  Added memorable
	shortcuts for special unicode chars that are useful in chant
	notation.  Revised exisiting and added new comments.

2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* make/mutopia-rules.make: remove duplicate recipe.

2006-06-02  Werner Lemberg  <wl@gnu.org>

	* tex/texinfo.cnf: Fix typo (\euro -> \minus).
	Add support for U+0132 (IJ) and U+0133 (ij).

2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* buildscripts/output-distance.py (FileLink): new class. collect
	info systems from one .ly file. 
	(FileLink.link_files_for_html): further tweaks.

2006-06-02  Graham Percival  <gpermus@gmail.com>

	* tex/texinfo.tex: partial fix for @funindex.

	* Documentation/user/macros.tely: uncomment @funindex (doesn't
	break anything).

2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly

	* tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
	@example too. Backportme.

2006-06-02  Graham Percival  <gpermus@gmail.com>

	* tex/texinfo.cnf: added UTF-8 support for texinfo; patch
	from Werner Lemberg.

2006-06-02  Paco (Francisco Vila)  <fravd@ya.com>

	* Documentation/user/music-glossary.tely: additional spanish
	updates and a lyrics fix in an example.

2006-06-02  Jürgen Reuter  <reuter@ipd.uka.de>

	* scm/define-grob-properties.scm: Previous patch contained
	spurious line from another patch not yet committed.  Fixed.

	* scm/define-grob-properties.scm: Add missing doc strings for
	ancient notation.

2006-06-01  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* buildscripts/output-distance.py
	(ComparisonData.write_text_result_page): separate the scores, sort
	by geo_score.

	* scm/framework-eps.scm (output-classic-framework): start at 1 for
	system signatures.

	* buildscripts/output-distance.py (me_path): use argv[0] for
	sys.path extension
	(ComparisonData.img_cell): use colored borders.

	* scm/stencil.scm (write-system-signature): escape newlines too.
	(write-system-signature): use (1,-1) interval for empty interval

2006-01-01  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/music-glossary.tely: Spanish updates
	from Francisco Vila.

	* Documentation/user/lilypond-book.itely: addition from
	Vaclav Smilauer.

	* Documentation/user/ various: edits, small additions
	from mailist, etc.

2006-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>

	* GNUmakefile.in (tree-lib-prefix-current):
	(tree-share-prefix-current): Use version number in tree, add
	`current' symlinks.

2006-06-01  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* GNUmakefile.in: write VERSION, again.

	* make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
	$(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.

	* stepmake/aclocal.m4: robuster version detection.

	* buildscripts/output-distance.py
	(ComparisonData.create_html_result_page): copy only if file
	exists, fixup src paths.

	* stepmake/bin/add-html-footer.py (built): junk gulp_file()

2006-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/aclocal.m4: Robustification for (gcc) version detection.
	Another datarootdir reto.

	* cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
	available.  This should be moved to postinstall-lilypond-doc.

2006-05-31  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* GNUmakefile.in: simplify local-WWW-post. 
	remove -type l from find.

	* buildscripts/output-distance.py (ComparisonData.compare_trees):
	fixes. Don't follow symlinks.
	(ComparisonData.create_html_result_page): remove previous results.
	insert ../python in path.

	* scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.

2006-05-31  Jan Nieuwenhuizen  <janneke@gnu.org>

	* config.make.in (datadir): Add datarootdir to silence autoconf.

	* stepmake/aclocal.m4: Update for autoconf-2.59d.

2006-05-31  Erlend Aasland  <erlenda@gmail.com>

	* dynamic-engraver.cc: fix bug (dynamics collide with accidentals)

	* scm/output-ps.scm (repeat-slash): fix a bug that made repeat
	slash beams too wide.

2006-05-30  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION: release 2.9.7
	
2006-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/relocate.cc (read_relocation_dir): Do not blindly
	dereference DIR.

2006-05-30  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/parser.yy: replace THIS by PARSER

	* Documentation/index.html.in: add link to test-results.html page.

	* Documentation/topdocs/NEWS.tely (Top): update NEWS entry.

	* scm/translation-functions.scm (format-bass-figure): translate
	digits over 10 to the left

	* scm/define-markup-commands.scm (translate-scaled): new markup.

	* mf/feta-nummer-code.mf (code): overshoot the topright tip of the
	7 glyph. 

	* ly/engraver-init.ly: add Figured_bass_engraver

	* lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.

	* lily/figured-bass-engraver.cc (clear_spanners): use everywhere.

	* lily/score-engraver.cc (announce_grob): only note START announces.

	* lily/include/engraver-group.hh (Translator_group):
	acknowledge_hash_table_ is now drul.

	* lily/engraver.cc (announce_end_grob): new method.

	* lily/include/grob-info.hh (class Grob_info): add start_end_ member.

	* lily/translator-dispatch-list.cc (create): take start_end argument.

	* lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
	acknowledge_static_array_ to drul

	* lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.

	* scm/define-grob-interfaces.scm
	(bass-figure-alignment-interface): add bass-figure-alignment-interface

	* scm/define-grobs.scm (all-grob-descriptions): add
	BassFigureAlignmentPositioning

	* ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
	number stays up to date. Backportme.

2006-05-30  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/basic-notation.itely (Bar lines): Document
	the "||:" bar type. 

2006-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>

	* buildscripts/builder.py: Remove --ly option/target from mf-to-table.

	* scripts/lilypond-book.py: Bugfix: do not blindly attempt
	.../current hack if LILYPONDPREFIX is fine.  Fixes `scons doc'
	build.

	* Resurrect `scons lily' build.

	* SConstruct (symlink_tree): Bugfix: link
	music-drawing-routines.ps to file iso directory.

	* lily/SConscript: Remove kpath-guile from LIBS.

	* SConstruct (libdir_package_version): Typo.
	(configure): Comment-out fontforge for lack of fontforge.pc .
	Also add libdir* to environment.

2006-05-30  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ various: minor additions from mailist and
	editing.

2006-05-30  Paco <fravd@ya.com>

	* Documentation/user/music-glossary.tely: numerous corrections and
	some new translations.

2006-05-29  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* BackportmeStart.
	
	* buildscripts/output-distance.py
	(ComparisonData.create_html_result_page): new routine: summarise
	results in HTML page with images. 
	(ComparisonData.create_text_result_page): create summary text files too.

	* GNUmakefile.in (web-ext): package .signature files too. They
	compress well. 

	* scm/stencil.scm (write-system-signature): typo.

	* GNUmakefile.in: create web-root/VERSION to help upload scripts.

	* scm/stencil.scm (write-system-signature): better escaping.
	only write signature for music systems, not for markup systems.

	* scm/framework-ps.scm (output-framework): dump-signatures support
	for plain output.

	* make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.

	* scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
	for -dno-point-and-click

	* lily/grob.cc (get_print_stencil): don't read
	point_and_click_global to determine whether to set grob-cause.

2006-05-28  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* buildscripts/output-distance.py (main): new function.
	(ComparisonData): new class.

	* lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
	careful with generating new LedgerLineSpanners.

	* lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.

	* ly/engraver-init.ly: remove Ledger_line_engraver from Voice
	context. This fixes double ledger lines in output. 

	* lily/system.cc (get_paper_system): remove 3 layer limit.

	* buildscripts/output-distance.py (SystemLink.distance): new
	file. Compare signatures.

	* python/safeeval.py (SafeEval.visitUnarySub): new file.

	* lily/grob-array.cc (remove_duplicates): rename from
	uniq(). Sort before calling uniq() so it actually works.

2006-05-27  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
	\version from lilypond file snippet.
	(Lilypond_file_snippet.ly): oops. typo.
	(find_toplevel_snippets): urgh. again.

	* lily/system.cc (get_paper_systems): uniq all_elements_ , to
	prevent duplicated broken items in output.

	* scm/framework-eps.scm (output-classic-framework): only dump if
	dump-signatures is set.

	* scm/lily.scm (define-scheme-options): add dump-signatures option.

	* scm/stencil.scm (write-system-signature): new routine: write
	python parseable signature of a separate paper system.
	BackportmeEnd.
	
2006-05-26  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/stanza-number-engraver.cc (process_music): use is_markup()
	iso is_string().
	include header.

2006-05-25  Erik Sandberg  <mandolaerik@gmail.com>

	* translator-group.cc: send music events to engravers in
	non-bottom contexts.

	* tuplet-engraver.cc: process tuplet brackets in correct order.

2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
	arg 2 might point us to a new binary (patch by Karl Hammar)
	
2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): release 2.9.6

	* Documentation/topdocs/NEWS.tely (Top): trim explanation. 

	* Documentation/user/*.itely: 2nd
	attempt: replace funindex -> findex globally.

2006-05-24  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* input/no-notation/display-lily-tests.ly: fix \applyOutput
	test. Add \break, \pageBreak, \pageTurn, etc, tests.

	* scm/define-music-display-methods.scm: display methods for
	breaks. Fix \applyOutput.

2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/user/macros.itexi: comment out funindex expansion. 

	* Documentation/user/music-glossary.tely: junk \oldaddlyrics
	everywhere.

	* GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
	Karl Hammar. Backportme.
 
	* Documentation/user/advanced-notation.itely (Balloon help): idem.

	* Documentation/user/changing-defaults.itely (Creating contexts): idem.

	* Documentation/user/programming-interface.itely (Running a
	function on all layout objects): idem.

	* Documentation/user/introduction.itely (Automated engraving):
	update \applyOutput syntax

	* lily/lyric-combine-music-iterator.cc (start_new_syllable):
	remove debugging hook.

	* configure.in (LINK_GXX_STATICALLY): use "" to allow $
	expansion. 

	* Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.

	* stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
	TEXI2DVI_FLAGS to texi2dvi invocation. 

2006-05-24  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
	works. More work is done by iterator now, and engraver has been
	very much simplified.

	* lily/translator-group.cc: try_music is now invoked through a
	listener

	* lily/*-iterator.cc: Massive cleanups. Junked
	try_music_in_children globally. Renamed try_music to report_event,
	and made that method descend to a bottom context automatically.

	* lily/event-iterator.cc: New file.

	* lily/output-property-iterator.cc,
	lily/old-lyric-combine-music-iterator.cc: Removed.

	* python/convert-rules.py: Modified the syntax for \applyOutput.

2006-05-23  Graham Percival  <gpermus@gmail.com>

	* stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
	creation.

	* Documentation/user/ various: stuff that might have helped
	to fix the pdf creation, plus some minor doc additions.

	* Documentation/user/changing-defaults.itely: remove @b from
	@b{ @internasref{foo}}; this breaks texi2dvi -E.

2006-05-23  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/beaming-pattern.cc (beamify): deal with negative start
	moments for beaming patterns.

2006-05-22  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/beaming-info.cc (beamify): new function: read beatLength
	and beatGrouping from context. 

	* input/regression/beam-beat-grouping.ly (Module): new file.

	* input/regression/beam-unconnected-beamlets.ly (Module): new file.

	* lily/beam.cc (get_beam_segments): generate events for
	max_connect_ case too.
	(get_beam_segments): read Stem::max-beam-connect.

	* input/regression/beam-single-stem.ly: new file.

	* lily/stem.cc (set_beaming): use #f as signaling value for
	beamcount 0.

	* lily/beam-engraver.cc (typeset_beam): set right bound if unset.

	* lily/beam.cc (set_beaming): read clip-edges property.
	(calc_direction): don't suicide for single stem.

	* lily/beaming-info.cc (best_splitpoint_index): take bool*
	argument, remove 1<<15 hack. Remove clip_edges() 

	* lily/hairpin.cc (print): only do padding for nonmusical bounds

2006-05-21  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/basic-notation.itely: reorg.

	* Documentation/user/ various: minor fixes.

2006-05-20  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/stencil-expression.cc (register_stencil_head): opps, append
	to cdr of static SCM object.

2006-05-19  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/README.txt, lilypond.tely, macros.itexi:
	update framework for command index.  DOC WRITERS: use @funindex
	instead of @cindex @code{}.

	* Documentation/user/ various: replace @cindex @code{} => @funindex

2006-05-19  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
	case positions is set manually. 

2006-05-18  Erik Sandberg  <mandolaerik@gmail.com>
	
	* scm/ly-syntax-constructors.scm: New file. Converted a few syntax
	rules to Scheme.

2006-05-18  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/user/changing-defaults.itely (Contexts explained):
	use absolute dimension for @image.

	* Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
	out image for illustration too.
	($(outdir)/%.png): add more png <-> eps rules. 

2006-05-17  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ various: remove trailing whitespace, cosmetic
	change to reduce changes produced by diff.

2006-05-17  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/main.cc (do_chroot_jail): correctness tweak.

	* python/lilylib.py (system): import subprocess in system () only.

	* scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.

	* make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
	variable. Backportme.

2006-05-17  Erik Sandberg  <mandolaerik@gmail.com>
	
	* lily/parser.yy: Change all syntax rules of type Music to SCM type

2006-05-17  Werner Lemberg  <wl@gnu.org>

	* lily/lexer.ll (init_signature_has_table): Add
	`scm-scm-music-music'.

	* lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
	(Generic_prefix_music_scm): Add rule for it.

	* lily/quote-iterator.cc (Quote_iterator::process): Handle
	`quoted-transposition' property.

	* ly/music-functions-init.ly (transposedCueDuring): New function.

	* scm/define-music-properties.scm (all-music-properties): Updated.

	* Documenation/topdocs/NEWS.itely: Document it.

2006-05-17  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* python/lilylib.py (system): move import subprocess to system()
	definition. 

	* python/convertrules.py (conv): fix convert-ly rules for 2.9.4

	* VERSION (PATCH_LEVEL): release 2.9.5
	
	* Documentation/topdocs/INSTALL.texi (Top): update versions and
	build instructions. 

	* ly/engraver-init.ly: switch on hairpinToBarline by default.

2006-05-16  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/basic-notation.itely: editing from Dave, thanks!

	* Documentation/user/ various: minor fixes.

2006-05-16  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.

2006-05-16  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/advanced-notation.itely (Instrument names):
	Modified obsolete instruction on how to move instrument names away
	from the staves. Hmm, at second thought the bug probably has been
	solved, so the full bug description should probably be removed.

2006-05-16  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/dynamic-engraver.cc (typeset_all): hang ending on
	currentCommandColumn. 

	* lily/hairpin.cc (print): also add padding for non-neighbor
	hairpin bounds.

	* scm/define-context-properties.scm
	(all-user-translation-properties): add hairpinToBarline

	* input/regression/hairpin-to-barline.ly: new file.

	* lily/context.cc (internal_send_stream_event): thinko fix.

	* lily/tie.cc (set_default_control_points): robustness fix.

	* python/musicxml.py (Part.interpret): don't complain about
	incomplete measures.

	* scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
	new music if last_event_chord() returned None.

	* python/musicxml.py (Part.interpret): skip back over chord notes.

2006-05-16  Erik Sandberg  <mandolaerik@gmail.com>
	
	* lily/percent-repeat-engraver.cc, lily/parser.yy,
	lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
	lily/slash-repeat-engraver.cc,
	lily/include/percent-repeat-iterator.hh: Rework percent repeats:
	iterator sends PercentEvents

	* lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
	rework tuplets: send start/stop events to engraver

	* lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
	dispatchers event-source and events-below to Context
	
2006-05-15  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/README.txt: update info for doc writers.

	* Documentation/user/programming-interface.itely: integrate
	Nicolas' fixes for chapter rewrite.

	* Documentation/user/ various: minor fixes.

2006-05-15  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/clef-engraver.cc: cleanup.

	* Documentation/user/GNUmakefile: dist context-example.eps too.

	* lily/key-engraver.cc (create_key): use
	explicitKeySignatureVisibility for cancellation too. 

	* lily/font-config.cc (init_fontconfig): don't close file if
	f==NULL. 

2006-05-15  Erlend Aasland  <erlenda@gmail.com>

	* Documentation/topdocs/NEWS.tely: niente and rotation news

2006-05-14  Erlend Aasland  <erlenda@gmail.com>

	* lily/include/stencil.hh
	* lily/stencil.cc (rotate): new function. Makes it possible
	to rotate a stencil around a given offset.

	* lily/grob.cc (get_print_stencil): add rotation support

	* lily/stencil-interpret.cc (interpret_stencil_expression):
	add rotation support

	* lily/stencil-scheme.cc (ly:stencil-rotate): new function

	* scm/define-grob-properties.scm: add 'rotation property

	* scm/define-markup-commands.scm: add rotate markup command
	
	* scm/output-ps.scm: add rotation support in PostScript backend

	* scm/output-svg.scm: add rotation support in SVG backend

2006-05-13  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/music-glossary.itely: French correction.

	* Documentation/user/programming-interface.itely: major
	new docs, some reorg, some info from Nicolas.

	* Documentation/user/ various: small fixes.

2006-05-12  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/programming-interface.itely (Markup
	programmer interface): Remove duplicate text.

2006-05-12  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/context-example.eps: new file.

	* Documentation/user/changing-defaults.itely: set up file to
	use eps image.

	* Documentation/user/programming-interface.itely: changes
	from mailist.

2006-05-12  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* configure.in (LINK_GXX_STATICALLY): python 2.4 req.

2006-05-11  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/programming-interface.itely: first round of
	editing and merging emails from Nicolas.

	* Documentation/user/scheme-tutorial: minor edit.

2006-05-11  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* python/musicxml.py (Xml_node.__init__): _attribute_dict stores
	XML attributes.
	(Xml_node.message): use it.

	* scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): 
	oops. Add duration argument.

2006-05-10  Joe Neeman  <joeneeman@gmail.com>

	* lily/paper-column-engraver.cc (make_columns):
	* scm/define-grobs.scm: Revert my previous change and set the default
	in define-grobs.scm instead.

2006-05-09  Graham Percival  <gpermus@gmail.com>
	
	* Documentation/user/changing-defaults.itely: general editing,
	info about \set and \override.

	* Documentation/user/tweaking.itely, advanced-notation.itely:
	fixes from Dave Luttinen, thanks!

2006-05-09  Joe Neeman  <joeneeman@gmail.com>

	* lily/paper-column-engraver.cc (make_columns): By default, a column
	needs to be breakable.

2006-05-09  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
	Attributes methods
	(musicxml_time_to_lily): idem
	(musicxml_key_to_lily): idem
	(instrument_drumtype_dict): dict for supported drumtypes.
	(LilyPondVoiceBuilder.__init__): new class: sanely keep track of
	moments and pending mm rests
	(musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
	(musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
	(musicxml_voice_to_lily_voice): add mode change.
	(option_parser): lxml.etree (http://codespeak.net/lxml/) for more
	speed and less memory usage (factor 5 to 10).
	(convert): write -defs.ly  and driver file separately so people
	can script their own part extraction.

	* python/musicxml.py (minidom_demarshal_node): new function:
	separate minidom handling.
	(lxml_demarshal_node): new function: support lxml.etree too.
	(Xml_node.message): new function: verbose error message, with XML
	path to offending node.
	(Attributes.get_measure_length): sane interface to MusicXML attributes.
	(Part_list.generate_id_instrument_dict): new method: collect
	instrument names, to be able to set drum_type.
	(Part.interpret): handle underfull measures
	(Part.interpret): assign instrument names.

	* python/musicexp.py (Output_printer.close): new method
	(MusicWrapper.print_ly): new class: support other modes,
	eg. \drummode
	(BarCheck.print_ly): new class. Support bar checks, with comments
	and fancy barchecks. 
	(NoteEvent.__init__): also set drum_type for drum notes.
	(MultiMeasureRest.lisp_expression): dump mm rests.

	* lily/paper-column-engraver.cc (stop_translation_timestep): set
	line-break-permission if forbidBreak is not set.

2006-05-09  Joe Neeman  <joeneeman@gmail.com>

	* scm/define-context-properties.scm:
	* scm/define-grob-properties.scm:
	* scm/define-grobs.scm:
	* scm/define-music-display-methods.scm:
	* scm/define-music-properties.scm:
	* scm/define-music-types.scm:
	* scm/music-functions.scm:
	* ly/declarations-init.ly:
	* lily/include/constrained-breaking.hh:
	* lily/system.cc:
	* lily/spaceable-grob.cc:
	* lily/simple-spacer.cc:
	* lily/paper-score.cc:
	* lily/paper-column.cc:
	* lily/paper-column-engraver.cc:
	* lily/item.cc:
	* lily/gourlay-breaking.cc:
	* lily/constrained-breaking.cc:
	* python/convertrules.py:
	Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
	"page-break-penalty" and "line-break-permission".
	Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
	Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.

	* lily/bar-engraver.cc:
	* lily/beam-engraver.cc:
	* lily/forbid-break-engraver.cc:
	* lily/ligature-engraver.cc:
	* lily/paper-column-engraver.cc:
	* lily/percent-repeat-engraver.cc:
	* lily/score-engraver.cc:
	* lily/score-engraver.hh:
	* lily/paper-column-engraver.hh:
	Inter-engraver communication regarding line breaks is done through context
	properties (Score.forbidBreak) instead of function calls.

2006-05-08  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): release 2.9.4

2006-05-08  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/working.itely: proofreading from Dave
	Luttinen, thanks.

	* Doucmentation/user/README.txt: updated with manual style info.

	* Documentation/user/ various: trim linewidth to 78 chars.

2006-05-07  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/define-grob-properties.scm (all-internal-grob-properties):
	remove chord-tremolo property.

	* lily/beam.cc (get_beam_segments): don't use stem position as
	base for broken ends.

2006-05-06  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/putting.itely: proofreading from Dave
	Luttinen, thanks!

	* Documentation/user/ various: more reorg and clarifications.

2006-05-06  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.

	* ly/music-functions-init.ly: new function featherDurations

	* lily/beam.cc: read grow-direction for feathered beaming.

	* Documentation/topdocs/NEWS.tely (Top): typo.

2006-05-05  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
	tremolo beams.

2006-05-05  Erik Sandberg  <mandolaerik@gmail.com>
	* lily/context.cc, lily/global-context.cc: Added 'unique' member,
	used by music streams.

	* lily/dispatcher.cc, lily/dispatcher-scheme.cc,
	lily/stream-event.cc, lily/stream-event-scheme.cc,
	lily/listener.cc, lily/scheme-listener.cc,
	lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
	lily/include/stream-event.hh, lily/include/listener.hh,
	lily/include/scheme-listener.hh, scm/define-event-classes.scm:
	Created data structures for music streams.
	
2006-05-05  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/beam.cc (get_beam_segments): new function. Reorganise the
	construction of a beam. 
	(print): rewrite. 

	* flower/include/std-vector.hh (default_compare): use only one comparison.

	* scm/define-markup-commands.scm (note-by-number): remove debug display.
	(note-by-number): further attachment fixes.

	* scm/lily-library.scm (ordered-cons): new function.
	(interval-index): new function

	* lily/note-head-scheme.cc (LY_DEFINE): new file.

	* lily/note-head.cc (get_stem_attachment): new function.

	* scm/define-markup-commands.scm (note-by-number): read 'style
	property. 

	* input/regression/markup-note.ly: show note-head style option.

	* mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
	triangle head.

2006-05-04  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.

	* configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.

	* lily/include/constrained-breaking.hh: GCC 4 fix.

2006-05-04  Joe Neeman  <joeneeman@gmail.com>

	* lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
	Replace it with functions get_line_forces and get_line_configuration.
	(class Simple_spacer): Make data private.
	Rewrite compression algorithm to be faster and simpler.

	* lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
	* lily/gourlay-breaking.cc (solve):
	* lily/constrained_breaking.cc (space_line):
	Change it to the new simple-spacer code.

	* lily/paper-score.cc (get_paper_systems):
	(Paper_score):
	(process):
	Delay breaking the systems until they are requested.
	(find_break_indices):
	Use vsize for indices.
	(calc_breaking):
	Move the "Calculating line breaks" message here.

	* lily/system.cc (pre_processing):
	Move the "Calculating line breaks" message away from here.
	(break_into_pieces):
	Allow multiple calls to this function in sequence (with touching-but-
	not-overlapping breakpoints).

	* lily/constrained-breaking.cc:
	Replace most of the get_XXXX functions with get_line_details.
	Only calculate the force for each line. Calculate configurations only
	for the lines we will actually use.
	Replace cols_ with lines_.

2006-05-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* mf/GNUmakefile (depth): remove FC_FIND.

	* config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES

	* configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.

	* scm/framework-ps.scm (write-preamble): new function.
	(write-preamble): load mac fonts via fondu, even if gs-font-load
	is set.

2006-05-03  Werner Lemberg  <wl@gnu.org>

	* mf/GNUmakefile (FC_FIND): Fix typo.

2006-05-03  Erlend Aasland  <erlenda@gmail.com>

	* stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.

2006-05-03  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* stepmake/aclocal.m4: run python-config for crosscompiling
	flags. 

	* scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
	-f png for HTML, TEXINFO formats. 

	* input/tutorial/lbook-html-test.html: new file.

	* lily/include/tie-formatting-problem.hh (class
	Tie_formatting_problem): index Chord_outline_map by Tuple2 for
	[column, direction]. This fixes laissez vibrer ties.
 
	* flower/include/tuple.hh (struct Tuple2): new file.

	* mf/GNUmakefile (FC_FIND): new function. Find ncsb using
	$(FCMATCH), only if $(NCSB_DIR) not set. 

	* configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.

	* config.make.in (DOCUMENTATION): set FCMATCH.  

	* autogen.sh (srcdir): don't set --with-ncsb-dir. 

2006-05-03  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ various: final round of reorg.

	* Documentation/user/instrument-notation.itely: some more
	fixes from Eduardo, thanks!

2006-05-02  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): release 2.9.3

	* flower/file-path.cc (is_dir): canonicalize file name before stat'ing.

	* lily/relocate.cc (framework_relocation): remove old relocation stuff.

2006-05-01  Mats Bengtsson  <mabe@s3.kth.se>

	* scm/define-grob-properties.scm (all-user-grob-properties):
	Correct typo, thanks to Eduardo.

2006-05-01  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm

	* buildscripts/lilypond-words.py (F): indent fix.

	* input/regression/tie-arpeggio-collision.ly: new file.

	* lily/tie-formatting-problem.cc (set_column_chord_outline): new
	function: store outlines per column rank.

	* lily/include/tie-configuration.hh (class Tie_configuration): add
	column_ranks_ to specification and configuration, to distinguish
	between ties for different heads in arpegiated chords.

	* lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.

	* *.py: more 4 space indents.

	* autogen.sh (conf_flags): set sensible default for with-ncsb-dir

2006-05-01  Joe Neeman  <joeneeman@gmail.com>

	* scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?

2006-05-01  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* buildscripts/pfx2ttf.fontforge (err): create OTF files.

	* scripts/abc2ly.py (dump_score): indent of 4 for python code. 

	* configure.in (LINK_GXX_STATICALLY): remove locate() call.

2006-04-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* python/convertrules.py (conv): indent 4 for python files.

2006-04-29  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/changing-defaults.itely (Creating contexts):
	Clarify \new semantics.

2006-04-28  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ various: major new sections in the
	Learning manual, slight reorg elsewhere.

2006-04-27  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE) 

	* scm/framework-ps.scm (output-framework): remove PageMedia

2006-04-27  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ tweaks.itely, working.itely: new
	files, being more advanced "learning manual" chapters.

	* Documentation/user/ tutorial, putting, lilypond: reorg.

2006-04-26  Graham Percival  <gpermus@gmail.com>

	* input/regression/lyric-combine-polyphonic.ly: fixed test
	(no more "can't find context `one'" error).

2006-04-25  Joe Neeman <joeneeman@gmail.com>

	* lily/stem-tremolo.cc (print): fix whole note tremolo placement

	* input/regression/stem-tremolo.ly: add 2 more whole note examples
	
2006-04-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/relocate.cc (read_relocation_dir): new function.

2006-04-26  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/instrument-notation.itely: a few more fixes
	from Eduardo, thanks!

	* Documentation/user/README.txt: new file; contains info on
	style that used to be in lilypond.tely.

	* Documentation/user/ various: first round of doc reorg.

	* Documentation/user/baer-flat-bw.png: remove alpha bit from
	graphic; this probably causes problems on some pdf
	viewers, notably Adobe Acrobat.

2006-04-24  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/instrument-notation.itely: many alterations
	to Vocal music, from Eduardo Viera.

2006-04-23  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/instrument-notation.itely: fix \new
	instead of \context problem.

2006-04-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/relocate.cc (expand_environment_variables): new function.
	(read_line): id.
	(read_relocation_file): id.

	* scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code 

2006-04-21  Erlend Aasland  <erlenda@gmail.com>

	* ly/engraver-init.ly: remove old comments from TabVoice

2006-04-20  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/instrument-notation.itely: added Erlend's
	latest doc patch, thanks!

2006-04-19  Erlend Aasland <erlenda@gmail.com>

	* lily/include/slur.hh:
	* lily/slur.cc:
	* lily/phrasing-slur-engraver.cc:
	* lily/slur-engraver.cc: Fix 'cut & paste' code by merging
	acknowledge_extra_object () from Phrasing_slur_engraver:: and
	Slur_engraver:: and putting it in
	Slur::auxiliary_acknowledge_extra_object ().

	* ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug

	* lily/note-collision.cc: fix a comment

2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>

	* stepmake/bin/add-html-footer.py: fix footer position in
	generated html files: before </body> and </html> tags.

2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>

	* scripts/GNUmakefile: revert last "fix", which rather broke make.
	Earlier successive `make' commands finally compiled ok.

	* Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.

2006-04-18  Erlend Aasland <erlenda@gmail.com>

	* lily/include/stem-tremolo.hh:
	* lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
	callers.

	* lily/lookup.cc:
	* lily/include/lookup.hh: add rotated_box ()

2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>

	* scripts/GNUmakefile: bugfix: run help2man only after scripts have 
	been generated. Fixes "can't get `--help'" bug after make clean.

	* THANKS: alphabetize contributors.

2006-04-17  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/instrument-notation.itely: added Erlend's
	tabs and banjo doc patch.  Thanks!

2006-04-17  Erlend Aasland  <erlenda@gmail.com>

	* scm/define-grobs.scm: fix stem-attachment for tablature note heads.

	* ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.

	* scm/output-lib.scm: add some more predefined string tunings.

	* Documentation/user/instrument-notation.itely: and doc them.

2006-04-16  Jürgen Reuter  <reuter@ipd.uka.de>

	* ly/engraver.ly: Remove obsolete comments.

	* ly/gregorian-init.ly: Define default layout block.

	* input/puer-fragment.ly: Updated and extended.

2006-04-15  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
	pdf conversion behaviour.

	* flower/file-name.cc (dir_name)
	(get_working_directory): Move from relocate.cc.

	* lily/relocate.cc (setup_paths): Remove rogue stat calls.
	
	* lily/relocate.cc: Encapsulate sys/stat.h in
	HAVE_STAT_H.

2006-04-14  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ various: small updates from Cameron
	and Juergen, thanks!

	* Documentation/user/ various: small updates of my own.

	* THANKS: 2.7 -> 2.8.

2006-04-11  Graham Percival  <gpermus@gmail.com>

	* scm/define-context-properties.scm: typo.

	* Documentation/user/ : many more small updates.

2006-04-13  Jürgen Reuter  <reuter@ipd.uka.de>

	* scm/define-music-types.scm: disposed "docme".

2006-04-11  Erlend Aasland  <erlenda@gmail.com>

	* lily/hairpin.cc: make niente circles a bit smaller.

2006-04-10  Erlend Aasland  <erlenda@gmail.com>

	* mf/GNUmakefile: remove redundant mftrace check. Also remove
	get-pfa and get-*-fonts targets.

2006-04-10  Graham Percival  <gpermus@gmail.com>

	* THANKS, Documentation/user/ basic-notation, advanced-notation,
	music-glossary, programming-interface: more minor fixes
	from mailist.

	* scm/define-grob-properties.scm: clarified direction, thanks Mats!

	* scm/define-context-properties.scm: another old \property update.
	This time tested for compiling!

2006-04-10  Erlend Aasland  <erlenda@gmail.com>

	* mf/GNUmakefile: fix for mftrace version >= 1.2.0

2006-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scm/define-context-properties.scm (all-user-translation-properties): 
	* Documentation/user/global.itely (Page formatting): Compile fix.

2006-04-09  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/advanced-notation.itely (Polymetric
	notation): Update the example to use the "+" symbol and add link
	to input/test/compound-time.ly.

2006-04-08  Graham Percival  <gpermus@gmail.com>

	* scm/define-grob-properties.scm: clarify docs for #'direction.

	* scm/define-context-properties.scm: update old \property override.

	* Documentation/user/ advanced-notation, global, lilypond-book:
	more minor doc updates.

2006-04-07  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.

	* scm/backend-library.scm (search-gs): oops.

2006-04-06  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scripts/lilypond-book.py (output): use base, not filename for href.

	* scm/backend-library.scm: only look for gs.

	* scripts/lilypond-book.py (output): fix printfilename.

	* lily/parser.yy (music_function_musicless_prefix): fold together
	definitions of signature (SCM*) (Music|post_event|chord_body_element)

	* lily/slur.cc (print): only set font-size if not set yet.

	* lily/slur-configuration.cc (add_score): improved layout of debug
	scoring output.

2006-04-05  David Feuer  <David.Feuer@gmail.com>

	* music-drawing-routines.ps (draw_round_box): removed testing artifact.
	(draw_circle): Hopefully fixed regression.
	Improved documentation for several procedures.
	
2006-03-04  Werner Lemberg  <wl@gnu.org>

	* ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.

2006-04-05  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scripts/musicxml2ly.py (bindir): add dynamic
	relocation. 

2006-04-04  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ basic-notation, advanced-notation, putting,
	instrument-notation, invoking, lilypond, THANKS: another ream of small
	fixes from the Doc Helpers.

2006-04-03  David Feuer  <David.Feuer@gmail.com>

	* music-drawing-routines.ps: remove superfluous gsave/grestore pairs.

	* lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.

	* Cleaned up interfaces between PostScript and Scheme, and moved
	computations from PostScript to Scheme:

	* music-drawing-routines.ps
	(*SF, stroke_and_fill): new procedures.  Replaced stroke and fill
	with stroke_and_fill throughout.
	(euclidean_length, print_letter, draw_box): Deleted unused
	procedures.  If someone needs draw_box, implement it using
	draw_round_box; don't duplicate code.
	(print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
	Refactored/cleaned up interfaces.
	(mark_URI): Moved.

	* output-ps.scm: reordered arguments to PostScript functions to
	match new interfaces
	(glyph-string): Rewrote glyph-string.
	(grob-cause): Replaced string-append with format.
	(repeat-slash): Rewrote to do computation here.
	(round-filled-box): Rewrote to do computation here.

2006-04-04  Erlend Aasland  <erlenda@gmail.com>

	* stepmake/stepmake/generic-targets.make: add cvs-clean target

	* stepmake/stepmake/toplevel- targets.make: print help info about
	cvs-clean

2006-04-03  Erlend Aasland  <erlenda@gmail.com>

	* input/regression/hairpin-circled.ly: new file

2006-04-03  Erlend Aasland  <erlenda@gmail.com>

	* lily/hairpin.cc (print): add support for circled tip

	* scm/define-grob-properties.scm: add circled-tip parameter

	* scm/define-grobs.scm: init circled-tip to false
	
2006-04-03  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* scm/music-functions.scm (quote-substitute): set
	iterators-ctor. 

2006-03-31  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
	BSTINPUTS. 

	* Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.

	* scm/output-ps.scm (glyph-string): revert cid selectfont.

2006-03-31  David Feuer  <david.feuer@gmail.com>
	
	* scm/framework-ps.scm:
	
	* scm/output-ps.scm: glyph-string now produces smaller, more
	readable, and probably faster PostScript.  Several findfont
	scalefont setfont instances changed to selectfont
	Hacked-up string-appends changed to formats.

	* ps/music-drawing-routines.ps: add print_letter, print_glyphs.
	
2006-03-30  Graham Percival  <gpermus@gmail.com>

	* scm/lily-library.scm: make "no version" warning message more polite.

	* lily/music.cc: add double quotes to failed octave check.

	* Documentation/user/ advanced-notation, changing-defaults,
	instrument-notation, invoking, music-glossary: whole bunch of minor
	fixes from mailist.

2006-03-31  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
	$(buildscriptdir) iso. depth.

	* VERSION (PACKAGE_NAME): release 2.9.1

2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/pango-font.cc (pango_item_string_stencil): more robustness.

	* VERSION (PATCH_LEVEL): bump version number.

	* flower/include/guile-compatibility.hh (scm_from_uint32): add
	scm_from_uint32 ()

	* lily/pango-font.cc (pango_item_string_stencil): use
	scm_from_uint32 ()

	* mf/GNUmakefile ($(outdir)/emmentaler-%.otf
	$(outdir)/emmentaler-%.svg): remove canary.

	* lily/pango-font.cc (pango_item_string_stencil): only use uXXX
	glyphnames if we have a ttf font.

2006-03-30  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/advanced-notation.itely (Font selection):
	Corrected reference to the font-family-override.ly example.

2006-03-30  Joe Neeman  <joeneeman@gmail.com>
	
	* lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
	stem-tremolo object in the stem (or else the stem might not be
	long enough).

2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/ttf.cc (print_trailer): only print existing glyphs.

2006-03-30  Joe Neeman  <joeneeman@gmail.com>

	* lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
	position the tremolo based on the position of the notehead.

	* input/regression/stem-tremolo.ly: add example of unbeamed eighth
	notes and update the texidoc line with the new positioning rules.
	
2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/ttf.cc (print_trailer): don't always use uXXX glyphname.

	* scripts/lilypond-book.py (Module): set default for linewidth if
	preamble not found.

2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* VERSION (PACKAGE_NAME): release 2.9.0.

	* input/regression/stem-tremolo-position.ly: new file.

	* lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback

2006-03-28  Joe Neeman  <joeneeman@gmail.com>

	* lily/stem-tremolo.cc (print): position
	the tremolo depending only on the end of the stem
	and not on the notehead
	(raw_stencil): center, on the middle staff line, the
	flag that is closest to the end of the stem (previously
	the bottom flag)
	(calc_width): add this callback to shorten a tremolo when
	it is beamed or it is stemup with a flag
	(style): add this callback to make a tremolo rectangular when
	it is beamed or it is stemup with a flag
	(rotated_box): this is like Lookup::beam but makes a rotated
	rectangle instead of a parallelogram

	* lily/stem.cc (calc_stem_info): make sure the stem
	is long enough to fit the tremolo
	(calc-length): reduce the length of tremolo stems since the
	tremolo code is now capable of better positioning

	* scm/define-grobs.scm: make calc_width the default beam-width
	callback for stem-tremolo and add the style callback
		
2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/tuplet-bracket.cc (calc_control_points): handle suicide
	case. 

2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* lily/ttf.cc (make_index_to_charcode_map): restore old
	cmap. 

2006-03-28  Werner Lemberg  <wl@gnu.org>

	* lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.

2006-03-28  Graham Percival  <gpermus@gmail.com>

	* THANKS: update for 2.9, add section for Documentation helpers.

	* Documentation/topdocs/NEWS.tely: compile fix.

	* Documentation/user/ basic-notation, global, advanced-notation,
	examples.itely: minor fixes from mailist.

2006-03-28  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* mf/feta-bolletjes.mf: match width of solfa notes with normal
	note heads. 

	* lily/ttf.cc (print_trailer): use it.

	* lily/pango-font.cc (get_unicode_name): new function.

	* lily/ttf.cc (make_index_to_charcode_map): move function from
	open-type-font.cc
	(print_trailer): substitute uniXXXX name if applicable. 

	* lily/pango-font.cc (get_index_to_charcode_map): new function.
	(pango_item_string_stencil): use it to generate uniXXXX names.

	* mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
	note heads, for uniform widths in shape note output.
	(overdone_heads): hmm. remove them again.

	* scripts/lilypond-book.py (output): add links to filenames.

	* Documentation/topdocs/INSTALL.texi (Top): update versions.

	* lily/note-collision.cc (get_clash_groups): only consider when
	Note_column::dir <> CENTER. 

	* scripts/lilypond-book.py (get_option_parser): init output_name
	to ''. 

2006-03-24  Graham Percival  <gpermus@gmail.com>

	* Documentation/topdocs/NEWS.tely: add @end itemize

	* Documentation/user/ global, advanced-notation: minor
	stuff from mailist.

2006-03-23  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ lilypond.tely, music-glossary,
	preface: housekeeping; 2005->2006, remove "notes for 2.6"

2006-03-23  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* mf/GNUmakefile: don't install .enc files.

	* Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.

	* VERSION (PATCH_LEVEL): bump to 2.9.0

2006-03-22  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/advanced-notation.itely: minor fixes
	from mailist.

2006-03-22  Han-Wen Nienhuys  <hanwen@lilypond.org>

	* Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.

	* branch lilypond_2_8

2006-03-22  Han-Wen Nienhuys  <lilydev@localhost.localdomain>

	* scripts/lilypond-book.py (samefile): new function, for windoze
	compatibility.

2006-03-21  Graham Percival  <gpermus@gmail.com>

	* ly/engraver-init.ly: add info about StaffGroup.

2006-03-21  Han-Wen Nienhuys  <lilydev@localhost.localdomain>

	* input/regression/stem-direction-context.ly: idem.

	* Documentation/topdocs/NEWS.tely (Top): fix interpolation example.

	* THANKS: add Mats.

	* input/regression/page-layout-twopass.ly: comment out \markup so
	tweak-file is left.

	* lily/instrument-name-engraver.cc (finalize): add to instrument
	name global System. This also fixes chopped instrument names, but
	doesn't crash when there are slurs/beams.

	* lily/slur-configuration.cc (add_score): disallow negative slur
	scores.
	
2006-03-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.

	* lily/instrument-name-engraver.cc (process_music): kludge: add
	InstrumentName spanner to axis group of left bound. Fixes chopped
	off instrument names in EPS images.

	* input/regression/lyric-hyphen-retain.ly: elaborate explanation.

	* scripts/abc2ly.py (option_parser): update to 2.7.40

2006-03-20  Graham Percival  <gpermus@gmail.com>

	* THANKS: move small doc contributors to SUGGESTIONS.

	* Documentation/user/ basic-notation, advanced-notation,
	global: small changes from mailist.

2006-03-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/advanced-notation.itely (Text marks): update
	for new rehearsalMarkAlignSymbol convention.

	* VERSION (PATCH_LEVEL): bump version.

	* input/test/instrument-name-align.ly: new file.

	* scm/define-markup-commands.scm (hcenter-in): add hcenter-in.

	* input/test/instrument-name-align.ly: new file. Document how to
	align instrument names.

	* lily/mark-engraver.cc: remove properties.

	* scm/define-context-properties.scm
	(all-user-translation-properties): remove align symbol properties
	for barnumber/reh. mark.

	* lily/break-align-interface.cc (self_align_callback): new
	interface, new function. Look at complete alignment. This handles
	tunable break alignments in case break-align-symbols are missing.

	* lily/bar-number-engraver.cc (acknowledge_break_alignment): new function

	* lily/mark-engraver.cc (acknowledge_break_alignment): new function.

	* python/convertrules.py (conv): mark/bar number alignment rule.

	* lily/break-align-interface.cc (calc_positioning_done): also
	store offset from last visible break-alignment to its
	neighbor. This makes alignment on non-visible objects more reliable.

	* po/lilypond.pot (Module): ran po-replace.

	* input/regression/tie-single-manual.ly (Module): new file.

	* lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
	look at has_manual_position_.
	(from_ties): set has_manual_position_ if tie has staff-position set.

	* lily/tuplet-bracket.cc (calc_positions): idem.

	* lily/tuplet-number.cc (print): don't print tupletnumber if it
	doesn't span time.

2006-03-19  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/define-markup-commands.scm (smallCaps): new markup command
	for turning a text to small caps using smaller font size and upper
	casing.

2006-03-17  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ examples, instrument-notation,
	advnaced-notation: minor fixes from mailist.

2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/tutorial.itely (First steps): change example
	to verbatim.  

2006-03-17  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ examples, advanced: minor changes from mailist.

	* THANKS: add Geoff Horton, for documentation stuff.

2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* python/lilylib.py (system): revert have_select kludge.

	* Documentation/user/tutorial.itely (Commenting input files):
	update version numbers in doc. 

	* scm/define-grob-interfaces.scm (multi-measure-interface): add
	bound-padding to multi-measure-interface

2006-03-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* input/test/engraver-example.ily: update version number.

	* VERSION (PACKAGE_NAME): release 2.7.39

	* lily/note-spacing.cc (get_spacing): heighten threshold where
	accidentals/arpeggios influence previous spacing fully.

	* lily/rest.cc (y_offset_callback): only use direction if
	staff-position wasn't set before.

	* lily/bar-number-engraver.cc: add support for
	barNumberAlignSymbol. 
	add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe

	* lily/pointer-group-interface.cc (set_ordered): new function. 
	(add_unordered_grob): new function.

	* lily/grob-array.cc (Grob_array): grob-arrays are always assumed
	to ordered, unless the opposite has been proved.  This fixes
	random reordering of large object groups across linebreaks,
	eg. beams.

	* lily/main.cc (do_chroot_jail): printf format fix.

	* lily/tie-formatting-problem.cc (generate_configuration):
	multiply y-shift for dot with direction.
 
	* scm/define-markup-commands.scm (note-by-number): put (magstep
	size) in y-attach too.

	* Documentation/topdocs/NEWS.tely (Top): show override.

	* scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
	direction for stems.
	
2006-03-15  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ changing-defaults, global: minor
	fixes from mailist.

2006-03-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/lexer.ll (Lily_lexer): bump required version to 2.7.38

	* lily/spacing-spanner.cc (musical_column_spacing): crude fix for
	breakable items after uniformly stretched notes.

	* lily/tie-formatting-problem.cc (set_chord_outline): initialize
	outline with outer edge of note heads. This prevents infinity
	problems with tied whole notes.

	* scripts/lilypond-book.py (do_file): use os.popen

	* python/convertrules.py (conv): add rule for Stem #'beamed-*

2006-03-14 Erik Sandberg  <mandolaerik@gmail.com>

	* Documentation/user/invoking.itely: Add ragged-right to bug report
	guidelines.

2006-03-14  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/global.itely: small fix from mailist.

2006-03-14  Mats Bengtsson  <mabe@s3.kth.se>

	* scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
	file descriptor returned by tempfile.mkstemp() when writing
	to tmpfile and closing it. Solves problem with unlink(tmpfile)
	on mingw.

2006-03-14  Jan Nieuwenhuizen  <janneke@gnu.org>

	* po/fi.po: newline bugfix.

2006-03-12  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scm/paper.scm (paper-alist): Rounding fixes.

2006-03-13  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ changing-defaults, instrument-notation,
	tutorial: small fixes from mailist, mostly from Mats.  Thanks!

2006-03-13 Heikki Junes  <hjunes@cc.hut.fi>

	* po/fi.po: update.

2006-03-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* stepmake/bin/add-html-footer.py (mail_address_url): don't add
	mailto: to http:// 

	* python/lilylib.py (print_environment): move ps_page_count to
	lilypond-book.py

2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/music-glossary.tely (G clef): fix clef alignments.

	* scm/framework-ps.scm (embed-document): new function. Use to
	embed PFA files.

	* ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.

2006-03-12  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/instrument-notation.itely (Setting simple
	songs): Added \book{...} around the full example, so the separate
	markups are included in the printed example. 

2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/lilypond-book.py (get_latex_textwidth): explicitly close
	tmphandle.

	* python/lilylib.py (system): rewrite system() using
	subprocess. Remove >& redirection trickery.

2006-03-11  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ changing-defaults, global, scheme-tutorial,
	notation-appendices.itely: minor fixes from mailist.

2006-03-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
	unsplit man also needs images.

	* tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.

	* VERSION (PACKAGE_NAME): 2.7.38 released.

2006-03-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/lilypond-book.py (get_latex_textwidth): look for latex
	log in output dir.

2006-03-08  Johannes Schindelin  <Johannes.Schindelin@gmx.de>

	* lily/audio-column.cc, lily/score-performer.cc: MIDI output now
	respects the Score.skipTypesetting property.
	
2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/framework-ps.scm (ps-embed-cff): no Setup section in
	Prolog. No %%EOF after CFF file.

2006-03-08  Joe Neeman  <joeneeman@gmail.com>
	
	* lily/constrained-breaking.cc (get_max_systems): used to return a
	much too big value
	(combine_demerits): use pointers to reduce copying data
	(calc_subproblem): idem
	(get_page_penalty): add page turn penalties
	
2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/invoking.itely (Invoking lilypond): better
	explanation of -e usage.

	* lily/main.cc (main_with_guile): don't append to
	init_scheme_code_string

	* tex/texinfo.tex (sectionheading, q.v.): don't center @image.

	* Documentation/user/invoking.itely: add note about MacOS X scripts.

	* scripts/convert-ly.py (do_options): don't print help for
	--show-rules rule.

	* tex/texinfo.tex: patch texinfo.tex to leave single quotes in
	@code and @example. Update from texinfo.tex from CVS.

2006-03-08  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/scheme-tutorial.itely: clarifies distances
	measured in staff-spaces.

2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/slur.cc (outside_slur_callback): only calculate offsets if
	consider[k] is true.

	* scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)

	* lily/spacing-basic.cc (standard_breakable_column_spacing): also
	consider columns that have originals.  Unifies spacing for mm
	rests around line breaks.

	* lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
	(set_text_rods): idem.
	(calculate_spacing_rods): new function: share code between
	set_text_rods and set_spacing_rods.
	(set_text_rods): take extents of bounds into account.  

2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/basic-notation.itely (Writing music in
	parallel): don't use relative.

2006-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* ly/music-functions-init.ly (Module): add shiftDurations

	* ly/drumpitch-init.ly (drumPitchNames): add tamtam.

	* scm/paper.scm (paper-alist): no decimals for Ax paper sizes. 

	* ly/engraver-init.ly: init vocalName to nil.

2006-03-05 Erik Sandberg  <mandolaerik@gmail.com>

	* scm/music-functions.scm (music->make-music): bugfix,
	KeyChangeEvents are now handled correctly.

	* scripts/lilypond-book.py: Add --debug option.

2006-03-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* python/lilylib.py: add tempfile.

2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PACKAGE_NAME): release 2.7.37

	* python/lilylib.py (ps_page_count): remove make_ps_images().
	(ps_page_count): remove mkdir_p
	(system): remove cleanup_temp.
	(exit): remove lilypond_version_(check)
	(error_log): remove pseudo_filter_p
	remove read_pipe
	remove cp_to_dir
	remove identify

	* scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
	use __main__

	* lily/accidental-engraver.cc (make_standard_accidental): only add
	support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly

	* mf/GNUmakefile ($(outdir)/emmentaler-%.otf
	$(outdir)/emmentaler-%.svg): rewrite without functions; too many
	Make incompatibilities.

	* scm/output-ps.scm (grob-cause): replace backslashes by /
	(glyph-string): use ~$ for less decimals for glyph-string and grob-cause.

2006-03-02  Jan Nieuwenhuizen  <janneke@gnu.org>

	* cygwin/GNUmakefile: Install fixes.

	* scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.

	* lily/note-head.cc (head::get_balltype): Compile fix.

	* flower/file-name.cc (dos_to_posix): Flower string fix.

2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* python/lilylib.py: pychecker cleanups.

	* scripts/lilypond-book.py
	(Lilypond_snippet.output_print_filename): pychecker cleanups

	* scripts/midi2ly.py (Key.dump): pychecker cleanups.

	* python/lilylib.py (underscore): remove identify() , warranty()

	* ps/music-drawing-routines.ps: change Border routine for GSView
	compatibility.

	* lily/stem.cc (height): use quantize-positions.  This triggers
	set_stem_lengths, so scripts on beamed stems are handled correctly.

	* lily/side-position-interface.cc (aligned_side): check if edges
	of script are inside staff. Fixes accent of edge of the staff.

	* input/regression/staccato-pos.ly: more examples.

	* stepmake/aclocal.m4 (depth): fix bashism.

	* lily/lyric-combine-music-iterator.cc: move from
	new-lyric-combine-iterator.cc
	(process): add pending_grace_lyric_ member to delay lyrics on
	grace notes.

	* lily/system-start-text.cc (print): suicide if we don't have any
	elements. Fixes hara kiri'd instrument names.

	* scripts/mup2ly.py (Module): remove.

2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/global.itely (A single music expression):
	close @lilypond properly

	* lily/volta-bracket.cc (modify_edge_height): change from
	after_line_breaking_callback. Suicide last bracket if appropriate.
 
	* python/lilylib.py: strip getopt support

	* scripts/etf2ly.py (do_options): use optparse

	* scripts/midi2ly.py: optparse, strip lilylib copy. 

	* scripts/abc2ly.py (voices): use optparse.

	* stepmake/stepmake/generic-vars.make: new function absdir.

	* scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.

	* scripts/lilypond-book.py (find_file): use global_options for
	include path

	* scm/ps-to-png.scm (ps-page-count): prevent null characters
	entering C code.

2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* python/lilylib.py (get_global_option): ughness for extracting
	global options from lilylib.
	(NonDentedHeadingFormatter.format_heading): move from musicxml2ly

	* scripts/lilypond-book.py (get_option_parser): use optparse for
	option handling.  Put options in global_options variable.

2006-02-28  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/index.html.in: clarify.

2006-02-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/layout-page-layout.scm (write-page-breaks): add a
	music-system-heights property to the page layout output.

	* scm/page.scm (make-page-stencil): take footer into account when
	computing the 'space-left page property
	(annotate-space-left): take footer into account when annonating
	space left.

2006-02-28  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ advanced-notation, global: more (final)
	docs for music expressions, removed special fermatas.

2006-02-27  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ basic-notation, global: minor changes
	from mailist.

2006-02-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/framework-ps.scm: 	
	* scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
	layer for inf? and nan? from framework-ps to lily-library.

2006-02-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
	$(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.

	* buildscripts/substitute-encoding.py (Module): remove file.

	* mf/GNUmakefile: more PFA strippage.

	* mf/aybabtu.pe.in (i): remove PFAaybabtu generation

	* buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
	generation

	* scm/framework-ps.scm: remove font name munging.

	* Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.

2006-02-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/markup.scm (define-markup-command): change
	def-markup-command to define-markup-command

	* scm/music-functions.scm (define-music-function): change
	def-music-function to define-music-function.

	* python/convertrules.py (conv): rules for def-music-function
	and def-markup-commands

	* Documentation/user/programming-interface.itely,
	input/no-notation/display-lily-tests.ly,
	input/regression/lily-in-scheme.ly,
	input/regression/markup-user.ly,
	input/regression/music-function.ly, input/regression/tie-chord.ly,
	scm/fret-diagrams.scm, ly/music-functions-init.ly,
	ly/gregorian-init.ly: use new macro names (define-music-function,
	define-markup-command).

2006-02-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/lilypond-book.py (main): write Makefile dependencies file. 
	(output): add comments to lp-book latex output.

	* GNUmakefile.in (footifymail): use gmane address for webpage bug
	address.

2006-02-23  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ tutorial, global: minor changes.

2006-02-23  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* mf/GNUmakefile: add '\' in multi-line "define ... endef"
	blocks (for make 3.80)

	* scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
	\notemode so that user should not have to explicitely type it.

	* scm/define-music-display-methods.scm: various
	fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
	constructs)

	* input/no-notation/display-lily-tests.ly: new tests for
	\applyOutput and \applyContext

2006-02-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/constrained-breaking.cc: patch by Joe Neeman: "I have
	changed it slightly so that the number of systems returned by
	solve () will be the same as the last value passed to resize
	(). I've also added more documentation, removed casts, fixed style
	problems and put in some recovery if constraints aren't satisfied."

2006-02-23  Jan Nieuwenhuizen  <janneke@gnu.org>

	* elisp/lilypond-mode.el (count-matches-as-number): New funtion
	for emacs < 22 compatibility.
	(count-rexp): Use it.
	(LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
	substring juggling (Milan Zamazal).

2006-02-23  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ basic-notation, advanced-notation,
	global.itely, invoking.itely, tutorial,itely:
	minor fixes from mailist.

	* scm/define-markup-commands.scm: improve docs of \filled-box.

2006-02-23  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/index.html.in: changes concern the previous release.

	* input/regression/+.ly: cultivate typographical terminology.

2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/define-grob-interfaces.scm (parentheses-interface): add
	padding to parentheses-interface.

	* Documentation/user/GNUmakefile: remove $(CROSS) support from
	Documentation/user/GNUmakefile. Use --disable-documentation for that.

	* VERSION (PATCH_LEVEL): release 2.7.36

	* lily/slur.cc: add avoid-slur (ugh.)
	
	* lily/slur-configuration.cc (fit_factor): oops, skip point if
	intersection gets smaller. This fixes slurs over extreme points.

	* lily/melody-engraver.cc (stop_translation_timestep): ignore
	stems with neutral-direction set.

	* lily/piano-pedal-engraver.cc (create_text_grobs): idem.

	* lily/open-type-font.cc (load_table): format error.

	* lily/change-iterator.cc (process): format fix.

	* flower/include/international.hh (_f): idem.

	* flower/include/std-string.hh: add format printf attribute.

	* scm/define-grobs.scm (all-grob-descriptions): height of all
	PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly

	* lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
	ambitus lines.

	* input/regression/beam-cross-staff-slope.ly: remove decrescendo.

2006-02-22 Erik Sandberg  <mandolaerik@gmail.com>

	* input/regression/: upgraded syntax for some files.

	* THANKS: Add bughunters.

2006-02-22  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ invoking.itely, advanced-notation.itely,
	global.itely: long-awaited "let's make chapter 10 not suck"
	update.  Rearrange chapter 10; now called "global issues",
	addresses file structure, etc.  Some info from other files
	moved into global.itely.

2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
	catch trill-span-event notes.

	* Documentation/user/examples.itely (Ancient notation templates): typo.
	(Jazz combo): typo.

	* scripts/lilypond-book.py (main): scrap invokes_lilypond(). 

	* Documentation/user/basic-notation.itely (Ties): document \repeatTie.

	* Documentation/topdocs/NEWS.tely (Top): document \repeatTie.

	* scm/define-music-types.scm (music-descriptions): add RepeatTieEvent

	* lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
	froum Laissez_vibrer_engraver.

	* ly/declarations-init.ly (repeatTie): add \repeatTie

	* scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn

	* scm/define-grob-properties.scm (all-user-grob-properties): add
	head-direction property.

	* lily/tie-formatting-problem.cc (from_semi_ties): rename from
	from_lv_ties. Take head direction argument.

	* lily/semi-tie-column.cc: rename from
	laissez-vibrer-tie-column.cc. Rename class too.

	* lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
	class too.

	* lily/paper-score.cc (find_break_indices): move from Break_algorithm.

	* lily/break-algorithm.cc (find_break_indices): remove linewidth <
	0 case.
	(find_breaks): idem.

2006-02-21  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/advanced-notation.itely: fixed make-moment]
	example.

	* Documentation/user/basic-notation.itely: more clarification to
	transpose.

2006-02-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/include/constrained-breaking.hh (class
	Constrained_breaking): new file.

	* lily/constrained-breaking.cc (resize): new file.

	* lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast

	* Documentation/user/advanced-notation.itely (Clusters): insert
	end ignore too.

	* lily/tie-column.cc (calc_positioning_done): support for
	tie-score debugging

	* lily/tie-formatting-problem.cc
	(generate_extremal_tie_variations): factor out.
	(score_ties_configuration): annotate all tie 
	(print_ties_configuration): new routine.
	(generate_configuration): nudge extremal ties outside of the head
	Y extents.
	(score_ties_configuration): oops. convert to staff-space before
	determining position symmetry.

2006-02-20  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/*-notation.itely: misc minor editing,
	shifting doc sections around.

	* Documentation/user/*-notation-itely, global.itely,
	changing-defaults.itely: added new stuff from NEWS.

2006-02-20  Heikki Junes  <hjunes@cc.hut.fi>

	* po/fi.po: update.

2006-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
	lilypond --verbose for lp-book.

	* make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
	$(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).

	* make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
	$(buildscript-dir) iso. absolute depth.

	* buildscripts/genicon.py (dir): thinko.

	* Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.

2006-02-19 Erik Sandberg  <mandolaerik@gmail.com>

	* scm/output-lib.scm: swap darkcyan/darkyellow

	* THANKS: Add bughunters.

2006-02-19  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/programming-interfaces.itely: fixed example.

	* Documentation/user/instrument-notation.itely: fix @{ @}.

	* scm/script.scm: add avoid-slur for \open.

2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tie-formatting-problem.cc (score_configuration): use
	sliding score for min-length. 

	* Documentation/pictures/GNUmakefile (local-dist): loose the rule
	spaghetti for icons.

	* buildscripts/genicon.py (program_name): new file.

	* lily/tie-formatting-problem.cc (set_chord_outline): put dots
	in outline too.  
	(generate_configuration): for small ties, also look for collisions
	at Y + DIR*h + DELTA_Y.
	(get_variations): consider variation for dot positions too.

	* lily/side-position-interface.cc (aligned_side): take abs for
	quantized rounded position. Fixes tenuto below staff.

	* scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
	markers when necessary.

	* lily/program-option.cc (internal_set_option): add
	strict_infinity_checking option.

	* scm/output-lib.scm (cyan): swap yellow and cyan.

2006-02-19  Graham Percival  <gpermus@gmail.com>

	* darwin.patch: trivial linenumber update.

	* Documentation/user/ {various}: `\context foo = named' changed
	to `\new foo = "name"' in docs.

2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/stencil.scm (annotate-y-interval): use it.

	* scm/lily-library.scm (interval-sane?): new function.

	* buildscripts/mf-to-table.py (Char_metric.__init__): remove
	tfm_checksum stuff.

	* lily/tie-formatting-problem.cc (from_lv_ties): add heads for
	common refpoint.

	* flower/include/std-vector.hh (iterof): add iterof macro.

	* lily/enclosing-bracket.cc (width): new function.

	* lily/align-interface.cc (align_elements_to_extents): reinstate
	warning.

2006-02-18  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/index.html.in: fix spelling: thankyous.

2006-02-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/lyric-hyphen.cc: typo.

2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
	$(outdir)/%.hh): generate h and c in one rule; otherwise -jX
	builds don't work. 

	* VERSION: release 2.7.35

	* lily/beam.cc (get_default_dir): oops. Take abs () for
	extremes[DOWN].
	(get_default_dir): use extreme position criterion only in absence
	of forced stem directions.

	* VERSION (PATCH_LEVEL): bump VERSION.

	* mf/GNUmakefile: explicit rules for emmentaler/aybabtu
	dependencies. Necessary for -jX builds.  

2006-02-17  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/relocate.cc (setup_paths): Yet another const fix.

2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* configure.in (HOST_ARCH): determine HOST_ARCH in configure.

	* lily/relocate.cc (setup_paths): oops.

2006-02-17  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/index.html.in: order links: html before PDF.

2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tie-column-format.cc (Module): remove.

	* lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.

	* lily/text-spanner.cc (print): idem.

	* lily/dynamic-text-spanner.cc (print): only print line if longer
	than dash-period.

	* lily/auto-change-iterator.cc (change_to): formatting.

	* lily/beam.cc (get_default_dir): take extreme note head as input
	for stem direction.

	* lily/tie.cc (get_default_dir): only look directions for visible
	stems. 

	* lily/side-position-interface.cc (aligned_side): oops. Don't
	mutiply with direction. This fixes quantized (staccato, tenuto)
	scripts below notes.

	* lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
	direction. Fixes c-lyrics-center-align.ly

2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
	constructor.

	* lily/std-string.cc:
	* lily/include/std-vector.hh (split_string): Move and rename from
	lily/include/misc.hh, lily/misc.cc.  Update callers.

2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16

2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/test-file.cc: New file.

	* stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
	libraries.

	* flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.

2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* flower/include/file-storage.hh: remove file.

	* lily/include/midi-item.hh (class Midi_track): idem.

	* lily/include/source.hh (class Sources): idem.

	* lily/include/performance.hh (class Performance): use vector
	iso. Cons<>

	* flower/include/cons.hh (class Cons): remove file.

	* flower/include/flower-proto.hh: remove template cruft.

	* lily/include/font-metric.hh: use size_t not vsize for indices.

	* flower/include/flower-proto.hh (Module): remove std-vector.hh
	from proto.

	* lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2

	* lily/include/paper-book.hh (class Paper_book):
	make get_system_specs() public.

	* scm/layout-page-layout.scm (optimal-page-breaks): only consider
	the force=10000 case if we don't have a current-best. 

	* lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
	vsize 

	* flower/include/flower-proto.hh: remove outdated templates.

	* scm/page.scm: use annotate-spacing

2006-02-15  Graham Percival  <gpermus@gmail.com>

	* scm/translation-functions.scm: circle patch from Erlend, thanks!

	* THANKS: moved Erlend Aasland to contributors.

2006-02-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* config.hh.in: remove HAVE_PANGO_16

	* lily/tuplet-bracket.cc (calc_positions): multiply with
	staff-space for beam case. This fixes tuplets+beams on scaled
	staves.

	* config.hh.in: remove all Kpathsea related defines.

	* lily/dot-column.cc (side_position): reach stem via dots->
	head->stem. Inspect all stems for dot collisions. 

	* lily/dot-column-engraver.cc (class Dot_column_engraver): excise
	stem handling.

	* lily/bar-number-engraver.cc (process_music): document function
	of whichBar.

	* lily/score.cc (default_rendering): add pscore, not systems
	themselves.

	* lily/paper-book.cc (get_system_specs): separate generation of
	titles and systems.

	* flower/include/std-vector.hh: don't include config.hh

2006-02-15  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/include/std-vector.hh: Better wrapper compatibility with
	std::vector.

	* flower/include/flower-proto.hh: Remove cheap forward declaration
	attempts.

	* stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.

2006-02-14  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/invoking.itely: add warning about command line.

2006-02-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/include/lily-proto.hh: add Prob, rm Page.

	* flower/include/std-vector.hh (VPOS): use 64 bit-proof version.

	* VERSION: release 2.7.34

	* lily/relocate.cc (framework_relocation): show canary if
	GHOSTSCRIPT_VERSION undefined.

	* GNUmakefile.in: remove $(VERSION) symlink.

	* lily/relocate.cc (setup_paths): add + 

2006-02-13  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/index.html.in: specify sizes for all big HTML pages.

2006-02-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* config.hh.in: remove @FRAMEWORKDIR@

	* lily/system-start-text.cc (get_stencil): new file: separate out
	system-start-delimiter text support.

	* input/**ly: replace \context with \new where appropriate.
	
	* THANKS: add Don.

	* lily/slur-scoring.cc (get_base_attachments): use
	robust_relative_extent. This fixes problems with empty paper-columns. 

2006-02-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/topdocs/NEWS.tely (Top): document \new syntax.

	* scm/define-music-properties.scm (all-music-properties):
	create-new property.

	* lily/context-specced-music-iterator.cc (construct_children):
	inspect 'create-new property iso. magical $uniqueContextId context
	id.

	* lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.

	* lily/context-key-manager.cc (Module): new file. Encapsulate
	object key generation.

	* lily/include/context-key-manager.hh (Module): new file.

2006-02-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/define-grobs.scm (all-grob-descriptions): center instrument
	names vertically

	* configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
	options.
	(reloc_b): excise --enable-framework-dir

	* lily/relocate.cc (framework_relocation): use getenv
	LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.

2006-02-11  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/include/std-string.hh: 
	* flower/include/std-vector.hh: Finish std:: conversion; move
	flower extensions from std:: namespace.  Update users.

	* lily/include/lily-proto.hh: Replace Link_array__*_ macros by
	their expansion to vector<*>.  Update users.

2006-02-10  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/invoking.itely: add example to File structure.

	* Documentation/user/ instrument-notation.itely, cheatsheet.itely,
	examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.

2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* ly/paper-defaults.ly: typo.

	* lily/parenthesis-engraver.cc (acknowledge_grob): don't do
	set_parent() for parentheses. This will make it show up in bbox
	calculations.

	* scm/output-lib.scm (parentheses-item::print): rewrite, using
	ly:grob-common* functions.

	* lily/grob-scheme.cc (LY_DEFINE):
	ly:grob-common-refpoint-of-array: new function 
	ly:grob-common-refpoint: new function 
	ly:grob-relative-coordinate: new function 

	* lily/instrument-name-engraver.cc (process_music): use
	Text_interface::is_markup(). This fixes \markup on instrument names.  

	* scm/define-grobs.scm (all-grob-descriptions): set line-thickness
	for ties and slurs.

	* lily/slur.cc (print): idem.

	* lily/tie.cc: add line-thickness for ties. 

2006-02-10  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scm/output-svg.scm: Document diversion from GNU coding standards
	as a workaround for a bug in Microsoft Internet Explorer.

2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/instrument-name-engraver.cc (process_music): use
	is_markup() iso. is_string()

	* Documentation/user/changing-defaults.itely (Module): add menu entry.

	* lily/percent-repeat-engraver.cc (process_music): only look at
	main_part_ for % repeats.

	* lily/stem-tremolo.cc (get_beam_translation): new function.
	(calc_slope): new function.
	(height): don't use real slope.

2006-02-10  Jürgen Reuter  <reuter@ipd.uka.de>

	* scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
	new connect-to-neighbor, control-points and staff-padding
	properties to make ligature brackets showing up again.

2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: release 2.7.33

	* lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
	too many.

	* Documentation/user/changing-defaults.itely (Difficult tweaks):
	remove applyOutput example.
	(Objects connected to the input): document \tweak, \parenthesize

	* lily/relocate.cc (prefix_relocation): allow "current"
	iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
	changing VERSION in a lily tree less painful.

	* input/regression/parenthesize.ly: new file. 

	* scm/output-lib.scm (parenthesize-element): new function.

	* scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.

	* lily/parenthesis-engraver.cc (acknowledge_grob): new file.

	* lily/accidental-engraver.cc (make_standard_accidental): reroute
	cause: accidentals are caused by note heads, not note events. 

2006-02-08  Graham Percival  <gpermus@gmail.com>

	* darwin.patch: small patch from Erlend, thanks!

	* Documentation/user/basic-notation.itely: add stem-neutral example.

	* Documentation/user/putting.itely: clarifications.

2006-02-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
	note, add more guidelines to what should go into NEWS.

	* input/sakura-sakura.ly: document how to override font.

	* input/regression/font-family-override.ly:  doc -dshow-available-fonts

2006-02-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/midi-item.cc (to_string): truncate time sig at 255 beats.

2006-02-08  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scripts/convert-ly.py (lilypond_version_re_str): Move from
	convertrules.  Add explicit grouping, needed for python2.2.

2006-02-07  Jan Nieuwenhuizen  <janneke@gnu.org>

	* Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.

2006-02-07  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/global.itely: fix line-width in (text) docs.

	* Documentation/user/lilypond-book.itely: same.

2006-02-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PACKAGE_NAME): release 2.7.32

	* Documentation/topdocs/NEWS.tely (Top): document new variable
	naming.

	* flower/include/array.icc (Message): remove file.

	* flower/include/std-vector.hh: make sure vsize and VPOS are
	defined for binary_search_bounds().

	* flower/std-string.cc (std): add to_string(long unsigned).

	* configure.in (gui_b): excise std_string option.
	(gui_b): excise std_vector option.

	* flower/string.cc (Module): excise flower array & string

	* flower/include/std-string.hh: excise flower string.

	* {ly,lily,scm}/*: use dashes in \paper and \layout variables

	* python/convertrules.py (lilypond_version_re_str): require
	only numbers and dots in \version string.

2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/system-start-delimiter.cc (print): allow style = text too.

	* lily/system-start-delimiter-engraver.cc
	(acknowledge_system_start_text): new function, also add add to
	support of system-start-text (instrument names). This fixes
	instrument names on piano staves.

	* lily/instrument-name-engraver.cc: rewrite. Use
	system-start-delimiter approach. This save memory and cpu.

	* scm/define-grobs.scm (all-grob-descriptions): remove
	instrument-name from break-alignment.

	* mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.

2006-02-05  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
	jobserver going.

	* configure.in (std_vector): On by default.

	* lily/include/font-metric.hh:
	* lily/include/tfm-reader.hh: 
	* lily/include/spanner.hh: Use unsigned for indices and sizes.
	Update users.

	* Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.

2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PACKAGE_NAME): 2.7.31

	* scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
	EPS edge at 0, but take minimum with left-overshoot. This fixes
	cut off system start delims. 

	* lily/instrument-name-engraver.cc (stop_translation_timestep):
	hack: add to axis group if not added yet. This fixes hara kiri'd
	piano staves.

	* lily/hara-kiri-group-spanner.cc
	(force_hara_kiri_in_y_parent_callback): fix signatures.

	* lily/hairpin.cc (print): check next hairpin to see whether or
	not to be continuing.

2006-02-04  Jan Nieuwenhuizen  <janneke@gnu.org>

	* Remove trailing whitespace from makefiles.
	
	* flower/include/std-vector.hh: Add binary_search_bounds workaround
	for earlier gcc.

	* .cvsignore: Add out*, out-www, config-*.  Remove lots of cruft.

	* flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.

	* config.hh.in (HAVE_STL_DATA_METHOD): Add.

	* stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.

	* configure.in: Use it.

2006-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/music-functions.scm (pitch-of-note): new function.

	* ly/music-functions-init.ly: add \octave and \addquote

	* lily/parser.yy (music_function_chord_body): softcode \octave.
	(lilypond_header): softcode \addquote

2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/include/std-vector.hh[STD_VECTOR]: Do not include
	array.hh, parray.hh at all.  Getting ready to flip the
	configure default.

	* lily/include/lily-proto.hh (Link_array__char_): Bugfix.

	* lily/source-file.cc (file::get_line): Help binary_search_bounds
	a bit.

	* lily/include/lily-proto.hh (Link_array__char_): Bugfix.

2006-02-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* flower/include/array.hh: typo. 

2006-02-02  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/advanced-notation.itely: doc "\#" in text.

2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/include/pqueue.hh: Derive from std::vector.

	* flower/include/parray.hh: Conform to std::vector interface.
	Update users.

2006-02-02  Graham Percival  <gpermus@gmail.com>

	* Documentation/topdocs/NEWS.itely: grammar fix from Laura.

2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* flower/file-path.cc (is_file): remove if 0 section.

	* buildscripts/pfx2ttf.fontforge (err): robustness fix for
	selecting afii61352.

2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/include/std-vector.hh (boundary): Oops, reverse.

	* flower/string-convert.cc (convert::unsigned_string): Bugfix:
	remove superfluous `d'.

	* flower/include/std-vector.hh (boundary, top): Detach from class.
	Remove empty vector shell.

	* flower/include/array.hh (reverse, swap): Detach from class.
	Update users.
	
	* flower/include/std-vector.hh
	* flower/include/array.hh (concat): Globally change to insert ().

	* flower/include/std-vector.hh
	* flower/include/parray.hh
	* flower/include/array.hh (elem, elem_ref): Globally replace by
	at ().

2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.

	* python/convertrules.py (FatalConversionError.sub_cxx_id):
	anticipate on identifier substitutions.

2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/include/std-vector.hh (insert): Remove, replace by
	std::vector interface.  Update callers.

	* flower/include/array.icc (insert): Change signature to
	match std::vector interface.
	
	* flower/include/array.icc (vector_sort): Bugfix.

2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/parser.yy (output_def_head_with_mode_switch): new
	production. Result: dashes and underscores may be used in the
	\paper block.

	* lily/lexer.ll: add DASHED_WORD.  Accept in INITIAL mode.

	* python/convertrules.py (conv): oops. One slash too much.

2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/include/std-vector.hh (sort): Remove, replace by
	::vector_sort.  Update callers.

	* flower/include/std-vector.hh (slice): Remove.  Update callers.
	(sort): Bugfix.

	* flower/test-std.cc (vector_sort): New test.

2006-02-01  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/putting.itely: fixes from Erik.

2006-02-01  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/test-std.cc: Add simple unit test for vector migration.

	* stepmake/stepmake/test*: Unit test support.

	* flower/include/std-vector.hh (del): Remove.  Use erase (),
	update callers.

	* flower/include/array.hh (begin, end): Add.
	(del, get): Remove.

2006-02-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
	std::string not String. 

	* lily/context-def.cc (path_to_acceptable_context): use INT_MAX
	iso UINT_MAX.

	* lily/prob.cc (Prob): copy type_ too.

	* lily/lily-guile.cc (mangle_cxx_identifier): new
	function. Class_bla::foo_bar_[px] ->
	ly:class-bla::foo-bar[?!]. Changes throughout

2006-01-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().

	* lily/beam.cc (calc_direction): take dir from visible stem in
	degenerate case.

2006-01-31  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
	Fix -1, >=0 boundary checks for unsigned vsize.

	* lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
	loop for unsigned vsize.

	* configure.in (--enable-std-vector): New option.
	(--enable-std-string): On by default.

	* flower/include/std-vector.hh: New file.  Enable switch to
	std::vector, update client code.

2006-01-30  Graham Percival  <gpermus@gmail.com>

	* scm/document-translation.scm: clarify "this context is also
	known as".  Thanks, Werner!

	* Documentation/user/putting.itely: small fixes from Don Blaheta.

	* Documentation/user/invoking.itely: small fix from Don.

2006-01-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/lily.scm (define-scheme-options): rename option
	preview-include-book-title to book-title-preview
	(define-scheme-options): move force-eps-font-include (from paper
	block) to eps-font-include -d option.

	* VERSION (PATCH_LEVEL): release 2.7.30

	* input/bach-schenker.ly (staffPiano): new file.

	* buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.

	* Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
	credits to Nicolas.

	* scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.

	* ps/lilyponddefs.ps: remove start-system, stop-system,
	start-page fluff. This saves putting { } code on the stack, fixing
	stack overflows when including EPS files.

2006-01-29  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/putting.itely: minor fixes (comments on -devel).

2006-01-29  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.

2006-01-28  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/putting.itely: minor fixes (mostly tab->space).

2006-01-28  Jan Nieuwenhuizen  <janneke@gnu.org>

	* input/mutopia/claop.py: Update.

2006-01-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* input/regression/completion-heads.ly (texidoc): fix.

	* lily/staff-symbol-referencer.cc (on_staff_line): idem.

	* lily/tie-formatting-problem.cc
	(set_ties_config_standard_directions): use abs iso fabs for ints.

	* Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.

	* mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
	little less than noteheight, to prevent overlaps in chords.

	* lily/note-collision.cc (check_meshing_chords): wipe upper FA
	head, and fudge stem-attachment.

	* scm/lily-library.scm (not): define hash-for-each for guile 1.6

	* lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.

2006-01-27  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/main.cc (main): Debugging aid: catch exceptions.

	* flower/std-string.cc (to_string): Robustification.  Fixes midi
	output with std::string.

2006-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.

2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>

	* Fix -DSTRING_UTILS_INLINED.

2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PATCH_LEVEL): release 2.7.29

	* lily/relocate.cc (setup_paths): mingw uses std string too.

	* lily/*.cc: various fixes for substr(ARG).

	* lily/sustain-pedal.cc (print): 

	* flower/file-name.cc (slashify): use std strings.

	* flower/string-convert.cc: remove publib.h

	* scm/define-markup-commands.scm (verbatim-file): new markup
	command \verbatim-file

	* Documentation/topdocs/NEWS.tely: fixup URLs

	* input/regression/alignment-vertical-manual-setting.ly (Module):
	new file.

	* lily/align-interface.cc (align_elements_to_extents): overwrite
	translations with numbers in alignment-offsets from left bound

	* scm/page.scm (make-page-stencil): read X-offset from paper-system.
	(page-translate-systems): new function: take into account Y-offset.

	* Documentation/topdocs/NEWS.tely (Top): document new features.

	* input/regression/page-layout-manual-position.ly (Module): new
	file.

2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/file-path.cc (path::parse_path): Oops.

	* Finish std::string interface.  For now, use std:: marker
	throughout for easy s/r.

2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/putting.itely (Score is a single musical
	expression): typo.
	(Score is a single musical expression): more typos.

	* scm/page.scm (annotate-space-left): thinko.
	(annotate-page): more thinkos.

2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/layout-page-layout.scm (write-page-breaks): record tweaks
	for different \score blocks separately.
	(post-process-pages): put write-page-layout into paper block.

	* lily/output-def.cc (get_parser): new file.

	* lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
	file.

	* lily/include/output-def.hh (class Output_def): add parser_ member.

	* input/regression/page-layout-twopass.ly (Module): new file.

	* scm/lily.scm: remove cpp hack.

	* lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.

2006-01-25  Jan Nieuwenhuizen  <janneke@gnu.org>

	* GNUmakefile.in (c-clean): New target.

	* flower/include/std-string.hh: String/std::string compatibility:
	Use NPOS for `not found' (iso -1), use ssize for length () and pos
	type.

	* flower/rational.cc: 
	* flower/include/rational.hh: 

	* flower/offset.cc: 
	* flower/include/offset.hh: 

	* flower/interval.cc: 
	* flower/include/interval.hh: 

	* flower/string-convert.cc: 
	* flower/include/string-convert.hh: Use std::string [interface].
	Update callers.

2006-01-25  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/index.html.in: clean up.

2006-01-25  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/putting.itely: another new untested doc section.

2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/layout-page-layout.scm (write-page-breaks): write
	\spacingTweaks #ALIST. Handle grace timing.

	* scm/: more imports.

	* scm/page.scm (make-page): add footer/header.
	(annotate-space-left): revise: only take page argument.
	(layout->page-init): new function.

	* scm/layout-page-layout.scm (write-page-breaks): preliminary
	version of the system/spacing/linebreak hack writing to the output

	* lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
	ly:make-prob.

	* lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
	ly:spanner-bound

2006-01-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm

	* scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.

	* scm/layout-page-layout.scm (optimal-page-breaks): move all page
	handling to page.scm

	* lily/prob-scheme.cc (LY_DEFINE): new file.
	(LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)

	* lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
	prob functions.

	* lily/music.cc (derived_mark): derive Music from Prob.

	* lily/paper-system.cc (LY_DEFINE): derive from Prob.

	* lily/prob.cc (Module): Implement Prob (Property Object), object
	with shared and r/w property alists.  

	* lily/include/prob.hh (Module): new file. Declare Prob.

	* flower/string.cc: remove is_empty().

	* flower/include/string.hh (class String): remove String:: qualifier.

	* buildscripts/analyse-cxx-log.py: new file. Read compile log to
	substitute appropriate functions.

	* flower/include/string.hh (class String): remove to_str0 and
	is_empty(). S&R everywhere.

2006-01-23  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/basic-notation.itely: add hairpin
	after-linebreak tweak to commonprop.

	* Documentation/user/putting.itely: added two new sections.

2006-01-23  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/international.cc: 
	* flower/include/international.hh: 

	* flower/getopt-long.cc: 
	* flower/include/getopt-long.hh: Use std::string [interface].
	Update callers.

	* flower/include/std-string.hh: Oops, bugfix for --disable-std-string.

	* stepmake/stepmake/executable-rules.make: Add dependency on
	module libraries.

2006-01-22  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/file-path.cc: 
	* flower/include/file-path.hh: Use std::string [interface].
	Update callers.

	* flower/direction.cc: 
	* flower/axis.cc: Unused.  Remove.

	* configure.in (--enable-std-string): New option.

	* flower/std-string.cc: 
	* flower/include/std-string.hh: New file.

	* flower/file-name.cc[STD_STRING]:
	* flower/include/file-name.hh[STD_STRING]: Use it.  Update callers.

2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/output-svg.scm (placebox): no GNU coding standards in SVG output. 

	* scm/define-markup-commands.scm (with-dimensions):
	with-dimensions markup command.

	* input/test/font-table.ly: use it.

	* lily/open-type-font.cc (glyph_list): new function.

	* lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.

	* lily/ttf.cc: remove ly:font-glyph-list scheme function

2006-01-22  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* ly/music-functions-init.ly (parallelMusic): new music function
	for parallel music entry.

	* scm/define-music-properties.scm (all-music-properties): new
	'void music property

	* scm/music-functions.scm (ly:music-message): make public, to be
	used in music function definitions

	* scm/lily-library.scm (collect-music-for-book): discard music
	when the 'void property is set.

2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/ttf.cc (LY_DEFINE): store name before destroying face.

	* mf/GNUmakefile: idem.

	* buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.

	* stepmake/bin/install.py (dest): Only chmod/chown just created directories

	* Documentation/user/notation-appendices.itely (The Feta font):
	use it.

	* input/test/font-table.ly: new file. Generate font table within lily.

	* Documentation/user/notation-appendices.itely (The Feta font):
	use new font-table.ly file. 

	* stepmake/stepmake/install-out-targets.make
	(local-install-outfiles): only create directory if
	$(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.

2006-01-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.

	* VERSION (PACKAGE_NAME): release 2.7.28

	* scm/framework-ps.scm (write-preamble): use it to pick exactly
	the right font from a Mac dfont.
	(write-preamble): don't forget directory, only look at files.

	This fixes problems with TTF files in dfonts that don't match
	their PostScript names.
	 
	* lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
	PS name from TTF font.

	* input/regression/tie-manual.ly: document new feature.

	* Documentation/topdocs/NEWS.tely (Top): add tie NEWS.

	* VERSION (MY_PATCH_LEVEL): bump to .28

	* Documentation/user/basic-notation.itely (Ties): add tie examples
	refs.

	* lily/tie-formatting-problem.cc (score_ties_configuration):
	symmetry penalties for outer ties.

2006-01-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tie-formatting-problem.cc (generate_configuration) 
	(set_manual_tie_configuration): skip non-pair manual
	tie-configuration, so you can set individual ties as

	  #'tie-configuration = #'((7 . 1) #t (-3 . 1))

	* input/regression/tie-chord.ly: use generateTiePattern to
	simplify file.

	* lily/tie-formatting-problem.cc (peak_around): new function.
	(score_configuration): use sliding criterion for staff line collisions. 
	(score_configuration): idem for dot collisions.
	(generate_configuration): use separate stem_gap for gap to stem.

	* lily/include/tie-formatting-problem.hh (struct Tie_details):
	separate penalty factors for x and y distance.
	(struct Tie_details): separate penalties for tip and center line collisions.

2006-01-19 Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tie-formatting-problem.cc (generate_configuration): make
	large ties avoid stafflines in the horizontal section.
	(score_configuration): use softcoded penalties
	(score_aptitude): idem.

	* lily/tie-helper.cc (from_grob): softcode tie details

	* lily/staff-symbol-referencer.cc (on_staff_line): new function

	* lily/staff-symbol-referencer.cc (on_line): rename from
	on_staffline 

2006-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* ly/music-functions-init.ly: remove duplicate tag.

	* lily/include/*.hh: GCC 4.1 fixes.

006-01-16  Erlend Aasland  <erlenda@gmail.com>

	* Documentation/user/global.itely: fix typos; @bugs -> @refbugs

	* scm/define-music-types.scm: fix bug in desc. string
	for OverrideProperty

2006-01-15 Erik Sandberg  <mandolaerik@gmail.com>

	* scripts/lilypond-book.py: bugfix

	* scm/define-music-types.scm: fix typos.

2006-01-14  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ basic-notation.itely, global.itely,
	advanced-notation.itely, instrument-notation.itely: small
	additions (bugs and commonly tweaked properties).

2006-01-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
	detection of mingw build.
	(MINGW_BUILD): opps.

2006-01-12  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
	i686-mingw32.

2006-01-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/music-functions.scm (skip->rest): add skip->rest

2006-01-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
	explicitly.

	* lily/font-config-scheme.cc (LY_DEFINE): also display font and
	config dirs. Aids debugging. 
	(display_config): also display config files.

2006-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: release 2.7.27

	* lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
	for determining bar size.

	* lily/staff-symbol.cc (print): place lines at distance line-positions

	* scm/define-grob-properties.scm (all-user-grob-properties): add
	line-positions.

	* lily/staff-symbol.cc (height): new function.

	* input/regression/staff-line-positions.ly:  new file.

2006-01-06  Graham Percival  <gpermus@gmail.com>

	* input/test/add-staccato.ly: remove reference to old file.

2006-01-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/lilypond-book.py (invokes_lilypond): allow . in path to
	lilypond binary too.

2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* make/mutopia-rules.make (Module): use LILYPOND_BINARY

2006-01-06  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scripts/midi2ly.py: Bugfix: Declare datadir.

	* make/ly-rules.make:
	* make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
	that seems to be gone). Fixes make web.

	* The grand 2005-2006 replace.

	* VERSION (MY_PATCH_LEVEL): Stay on .26 for now.

2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* make/lilypond-vars.make: set LILYPOND_BINARY variable
	(LILYPOND_BOOK_LILYPOND_FLAGS): new variable
	LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
	like -dgs-font-load.

	* Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
	remove absolute path to lilypond binary.
	
2006-01-05 Pedro Kroeger    <kroeger@pedrokroeger.net>

	* configure.in (NCSB_DIR): fix --with-ncsb-dir option.

2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.

	* mf/GNUmakefile: remove broken dvips map symlink.

2006-01-04  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/main.cc: 
	* configure.in: Cosmetic fixes.

2006-01-04  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/music-glossary.tely (Pitch names): Added
	Spanish pitch names and durations, thanks to Ernesto Gancedo

2006-01-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/lily.scm (define-scheme-options): use quasi-quote for option
	init. Fixes verbose printing of .scm files.

	* stepmake/aclocal.m4: add spaces before - options.
	
2006-01-03  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/relocate.cc (setup_paths): Bugfix: do not store result
	of path search in local block variable.

2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* configure.in (NCSB_DIR): --enable-ncsb-dir
	(LINK_GXX_STATICALLY): denko.

	* mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH. 

	* configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option. 
	use locate to find c059033l.pfb. 
	
2006-01-02  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/tie-formatting-problem.cc
	(problem::generate_base_chord_configuration): Use my_round (was
	round).

	* lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
	do not invoke mbrtowc.

	* lily/relocate.cc (setup_paths): Add more debugging verbosity.

2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/lily.scm (lilypond-all): oops. remove debugging hack.

2005-01-02  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/user/invoking.itely (svg): revise.

2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/lexer.ll: use sourcefilename iso. renameinput.

2006-01-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
	<PostScriptName>.ttf instead of c059XXXttf.

	* lily/program-option.cc (LY_DEFINE): special support for
	--verbose, so it works before option init too.
 
	* mf/GNUmakefile (local-install): oops.

	* lily/lyric-hyphen.cc (print): oops.

	* buildscripts/pfx2ttf.fontforge: new file.
	
	* mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
	($(outdir)/%.ttf): new rule. 

	* scm/define-grobs.scm (all-grob-descriptions): add font-interface
	to LyricHyphen.

	* lily/lyric-hyphen.cc (print): multiply hyphen height by
	font-size

2005-12-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: release 2.7.26
	
	* mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.

2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/font-config.cc (init_fontconfig): verbosity.

	* THANKS: add Muziekacademie Lede. 

	* scripts/musicxml2ly.py (print_voice_definitions): new function 
	(print_score_setup): new function
	(convert): read part definition to output staves properly.

	* python/musicxml.py (Measure.get_notes): new class. Wrap lists of
	Music_xml notes.

	* python/musicexp.py (Output_printer.__init__): use _ in data
	members.
	(Output_printer.unformatted_output): new function: no formatting,
	but count braces.
	(Duration.get_length): remove isinstance() checks for
	Output_printer everywhere.

	* input/regression/lyrics-bar.ly (texidoc): add
	Separating_line_group_engraver.

2005-12-29  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/relocate.cc (framework_relocation): New function,
	factored from set_relocation ().
	(prefix_relocation): Rename from set_relocation ().
	(setup_paths): Use it.

2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
	numbers. Patch by Erlend Aasland.

2005-12-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/font-config.cc (init_fontconfig): print warning if cache
	file is not existant.

	* lily/main.cc: don't use #ifdef but #if

2005-12-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/grob-property.cc (internal_set_property): don't abort on
	calculation-in-progress.

	* lily/beam.cc (get_default_dir): robustness: don't divide by zero.

	* lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
	connect-to-neighbor property not connect-to-other

	* lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
	(LY_DEFINE): oops. don't forget protection.

	* flower/parse-afm.cc (Module): strip AFM handling completely.

	* lily/stencil-expression.cc: idem.

	* lily/grob-interface-scheme.cc (LY_DEFINE): idem.

	* lily/function-documentation.cc (ly_add_function_documentation):
	use static member iso. Protected_scm

	* lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW

	* config.make.in (prefix): remove HAVE_KPATHSEA_SO

2005-12-27  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/relocate.cc (set_env_dir): New function.
	(set_relocation): Use it to fix setting PANGO_PREFIX.

2005-12-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* input/regression/stem-direction-context.ly: remove rest.

	* lily/melody-engraver.cc (process_music): restart for bar lines.
	(acknowledge_slur): restart for slurs.

2005-12-27  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/user/invoking.itely: describe how to view SVG 
	output using Inkscape which replace embedded fonts with OTF fonts.

2005-12-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/relocate.cc (set_relocation): set PANGO_PREFIX

2005-12-23  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/melody-engraver.cc (class Melody_engraver): Remove lying
	comment.

2005-12-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PACKAGE_NAME): release 2.7.25

	* Documentation/topdocs/NEWS.tely (Top): document new feature.

	* input/regression/stem-direction-context.ly: new file.

	* lily/relocate.cc (set_relocation): add PANGO_PREFIX

	* lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
	on rest.

	* ly/engraver-init.ly: add Melody_engraver

	* lily/beam.cc (calc_direction): use default-direction
	iso. get_default_direction()

	* scm/define-grob-properties.scm (all-user-grob-properties): add
	default-direction property.

	* scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.

	* lily/stem.cc (calc_default_direction): remove
	Stem::get_default_direction, use default-direction with callback
	instead.

	* lily/melody-spanner.cc (calc_neutral_stem_direction): 

	* lily/melody-engraver.cc: new file. Acknowledge stems for
	interpolated stem directions. 

	* lily/melody-spanner.cc: new file. Interpolate stem directions.

	* scm/define-grobs.scm (all-grob-descriptions): add MelodyItem

	* lily/slur-configuration.cc (fit_factor): more robust check for
	point in curve X-extent.

	* lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
	(outside_slur_callback): check for 'outside avoidance.

	* lily/slur-configuration.cc (score_extra_encompass): don't use
	bound->column() == avoid->column() for checking extents, as this
	doesn't work for accidentals. 

	* lily/slur-engraver.cc (acknowledge_extra_object): remove
	DynamicText hardcoding.

	* lily/slur-scoring.cc (enumerate_attachments): robustness: don't
	crash if bound stem is NULL

	* lily/piano-pedal-performer.cc: patch by MWD for enabling piano
	pedals.

2005-12-22  Graham Percival  <gpermus@gmail.com>

	* scm/define-markup-commands.scm: typo.  @code{\raise}
	=> @code{\\raise}.

	* darwin.patch: now used again, includes a
	required patch from fink.

2005-12-21  Heikki Junes  <hjunes@cc.hut.fi>

	* po/TODO: mention gtranslator along with kbabel.
	* po/fi.po: update translations.

2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/relocate.cc (setup_paths): Bugfix.

2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/slur-configuration.cc (score_extra_encompass): don't use
	"avoid" choice for avoid-slur.

	* stepmake/bin/install.py (dest): don't create existing dir.

2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/bin/install.py: Remove file before copying.

	* config.make.in: 
	* stepmake/aclocal.m4: Do not substitute INSTALL.

2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
	depend on link-tree.

	* lily/relocate.cc (setup_paths): only check path for non-absolute
	dir without directory part.

	* flower/file-name.cc (is_absolute):  new method.
	(is_absolute): check root_ too.

2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
	relocation code.  Oops, don't comment out too much.

	* stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
	iso itself.

	* lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h.  Fixes mingw
	compile.

2005-12-20  Jan Nieuwenhuizen  <janneke@gnu.org>

	* .cvsignore: Add install-sh.

	* autogen.sh (srcdir): Typo.

2005-12-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* autogen.sh (srcdir): urg. Touch install-sh.

	* stepmake/bin/install-sh (Module): remove.

	* stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).

	* lily/include/relocate.hh: new file.

	* lily/relocate.cc: new file. Contain relocation logic.

	* lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
	(main): read LILYPOND_VERBOSE as the first thing.

	* stepmake/aclocal.m4: remove INSTALL variable.

	* GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
	separate target for making font symlinks.
	(documentation-dir): use $(if $(findstring )) for switching off
	Documentation.

	* stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
	something if DOCUMENTATION is no.

2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: release 2.7.24

	* lily/script-column-engraver.cc (stop_translation_timestep):
	delay adding to script-column.

	* lily/tuplet-bracket.cc (print): suicide if no control-points. 

	* python/convertrules.py (conv): rule for number-visibility

	* lily/slur-configuration.cc (score_extra_encompass): different
	distance measure for avoid and inside avoidance.
	(score_extra_encompass): use 1/(distance+eps) as penalty.

	* lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
	encompass objects for generating slur curves.

	* lily/slur.cc: use details iso. slur-details property.

	* input/regression/slur-tuplet.ly: new file.

	* lily/slur-engraver.cc (acknowledge_tuplet_number): new function.  

	* flower/include/offset.hh (class Offset): new operator /=

	* lily/tuplet-number.cc (print): new file, new interface.

	* scm/define-grob-properties.scm (all-user-grob-properties):
	remove number-visibility property.

	* lily/tuplet-bracket.cc (calc_control_points): new function
	(calc_connect_to_neighbors): new function.
	(print): remove text handling for tuplet numberdef.

	* lily/tuplet-engraver.cc (struct Tuplet_description): create
	TupletNumbers too. 

	* lily/lily-guile.cc (robust_scm2booldrul): new function

	* scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber

	* lily/tuplet-bracket.cc (calc_position_and_height): use
	staff-padding to control whether tuplet brackets are over staves.

	* lily/grob.cc (suicide): clear dim_caches_.

	* lily/dimension-cache.cc (clear): new function.

	* lily/grob.cc (extent): swap order of min-extent and extent
	calculations. This fixes hara kiri staves. 

2005-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/main.cc: Nitpick: relocation is not based on path, but on
	directory (location).

2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX

	* stepmake/stepmake/install-targets.make (local-uninstall): idem.

	* stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.

	* stepmake/stepmake/help2man-targets.make (install-help2man): idem.

	* stepmake/stepmake/generic-vars.make (Module): idem.

	* stepmake/stepmake/executable-targets.make (default): use it.

	* stepmake/bin/install.py (create_dir): new file. Replace install-sh.

	* make/GNUmakefile: don't install make rules.

	* lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
	slashes.
	(prepend_env_path): more verbosity.

2005-12-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* GNUmakefile.in: add dir argument for find command.

	* lily/parser.yy (bass_figure): set_spot() for bass figures. This
	fixes weird line numbers for point & click.

	* lily/source-file.cc (get_counts): init line/column/char counts.

2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.

2005-12-16  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/basic-notation.itely, advanced-notation.itely:
	minor fixes from Fredric.  Thanks!

2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* ly/music-functions-init.ly: add \bar and \clef music function 

	* lily/lily-lexer.cc: idem.

	* lily/parser.yy (FIXME): remove BAR and CLEF.

2005-12-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/topdocs/NEWS.tely (Top): doc string argument change.

	* lily/parser.yy (Generic_prefix_music_scm): allow strings as
	function arguments too

	* lily/main.cc (set_relocation): new function.

	* scripts/musicxml2ly.py (convert): add \version

	* lily/tie.cc: remove get_default_attachments()

	* VERSION (PACKAGE_NAME): release 2.7.23
	
	* lily/chord-tremolo-engraver.cc (acknowledge_stem): use
	ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly

	* Documentation/topdocs/NEWS.tely (Top): document new feature.

	* lily/tie-formatting-problem.cc (score_ties): new function
	(get_variations): new function. Try flipping dirs for collisions.
	(generate_optimal_chord_configuration): new function. 1-opt search
	for better configuration.

	* lily/tie-configuration.cc: new file.

	* lily/tie.cc: junk Tie::get_configuration()

	* lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
	(score_ties_configuration): new function.
	(generate_ties_configuration): new function.
	(generate_base_chord_configuration): new function.
	(set_ties_config_standard_directions): Move body from tie-column-format.cc 
	(set_manual_tie_configuration): Move body from tie-column-format.cc 

	* input/regression/tie-dot.ly: new file.

	* lily/tie-formatting-problem.cc (score_configuration): score
	tie/dot collisions.

	* lily/tie-helper.cc (get_transformed_bezier): new function

	* Documentation/topdocs/NEWS.tely (Top): strip out-www.

	* stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
	-undefined suppress iso. -framework Python 

	* scm/define-grobs.scm (all-grob-descriptions): set
	springs-and-rods (thanks Joe Neeman!)

2005-12-12  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* input/no-notation/display-lily-tests.ly (test): 
	* scm/display-lily.scm (tag->lily-string): the syntax for tags has
	changed from \tag #'(a b) to \tag #'a \tag #'b

2005-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/topdocs/NEWS.tely: strip out-www.

	* lily/include/grob-interface.hh: include lily-guile.hh not libguile.h

	* config.make.in (AR): add AR and RANLIB

	* flower/libc-extension.cc: include cassert

	* stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
	darwin check.

2005-12-11  Graham Percival  <gpermus@gmail.com>

	* stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.

	* stepmake/stepmake/python-modules-vars.make: define
	SHARED_FLAGS for OSX.  Thanks Johannes Schindelin!

	* THANKS: added Johannes Schindelin.

2005-12-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* python/midi.c (pymidi_parse): use memcmp() iso. strcmp().

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
	Span_arpeggio_engraver, add Tweak_engraver to Score context. 

	* lily/parser.yy: reorganize file layout.

	* ly/music-functions-init.ly: add tweak music function.

	* lily/grob-info.cc (ultimate_music_cause): new function:
	recursively lookup causes. 

	* lily/parser.yy (chord_body_element): allow music functions for
	post-events, allow music functions for chord elements. 
 
	* lily/font-config-scheme.cc (display_fontset): add cast.

	* python/convertrules.py (FatalConversionError.sub_syms): \tag
	#'(a b) -> \tag #'a \tag #'b rule.

	* python/musicexp.py (Output_printer.dump_version): new function

2005-12-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/parser.yy (FIXME): remove \tag
	(FIXME): remove tag_music() function.

	* lily/lily-lexer.cc: remove \tag

	* ly/music-functions-init.ly: define music-function "tag"

	* lily/parser.yy (chord_body_element): allow tags in chord bodies.

2005-12-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PATCH_LEVEL): release 2.7.22

	* input/regression/lyric-hyphen-retain.ly: renew.

	* scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
	grob

	* lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
	iso. minimum-length property for rods.

	* lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
	LyricSpace item to keep lyrics spaced apart.

	* ly/engraver-init.ly: remove Separating_line_group_engraver

	* Documentation/user/music-glossary.tely: do setfilename before
	music-glossary.

2005-12-07  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/user/lilypond-book.itely: use `,� after xref:
	See xref documentation, for example.

2005-12-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
	pending_skip iso. ly_voice[-1]
	(main): add if __main__ for debugging.

	* python/musicxml.py (Accidental.__init__): new class.

	* scripts/musicxml2ly.py (progress): new function
	(musicxml_key_to_lily): don't barf on modeless keys.
	(create_skip_music): new function.
	(musicxml_spanner_to_lily_event): new function. Handle beams too.
	(musicxml_note_to_lily_main_event): new function.

	* python/musicexp.py (Music.__init__): add comment field.
	(NestedMusic.append): new routine.
	(SequentialMusic.print_ly): print comment.
	(ArpeggioEvent.ly_expression): new class
	(BeamEvent.ly_expression): new class
	(NoteEvent.__init__): support for cautionary/forced accs.

	* lily/lookup.cc (slur): normal order for array loop.

	* scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
	to 0.0.

	* ly/engraver-init.ly: set bar-size, so bar-lines aren't
	collapsed.

2005-12-06 Erik Sandberg  <mandolaerik@gmail.com>

	* scm/music-functions.scm: Make phrasing slurs follow voice direction

	* scripts/lilypond-book.py: Introduce option
	    --preserve-line-breaks, for usage with srcltx

2005-12-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/output-lib.scm (print-circled-text-callback): draw circle
	around text using make-circle-markup.

	* Documentation/user/*: strip out-www from file names.

2005-12-05  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/user/lilypond.tely (direntry): remove empty lines;
	fixes invalid info entry issue with makeinfo 4.8 in debian sid.

2005-12-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/GNUmakefile: idem.

	* Documentation/user/macros.itexi: strip out-www

	* python/rational.py: python 2.3 compat.

	* VERSION (PATCH_LEVEL): release 2.7.21

	* scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
	option formatting, lilypond style.

	* python/musicexp.py: grab from Ikebana: a library for composing
	ly music expressions. 
	(Output_printer): class for advanced .ly printing.
	(eg. tupletting) 

	* python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
	convert to pythonesque structure.

	* python/rational.py: PD rational number class.

	* Documentation/user/converters.itely (Invoking musicxml2ly):  new node.

2005-12-04  Erik Sandberg  <mandolaerik@gmail.com>

	* lily/part-combine-iterator.cc: Minor bugfix
	
	* THANKS: Update bughunters

2005-12-02  Werner Lemberg  <wl@gnu.org>

	* mf/README: Document process for proper mf2pt1 conversion.

	* mf/feta-beugel.mf (draw_brace): Fix path to assure clean
	overlapping.

	* mf/feta-harmonica.mf: Removed.  Unused.

2005-12-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/lilypond-book.py (do_file): fix thinkos.

2005-12-01  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/GNUmakefile ($(outdir)/FlexLexer.h):
	($(outdir)/parser.cc): 
	($(outdir)/lexer.cc): Bugfix: depend on config.h.

2005-11-30  Pedro Kröger  <kroeger@pedrokroeger.net>

	* ly/titling-init.ly (tagline): it should be a space between
	"Music engraving by LilyPond" and the version number.

2005-12-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PACKAGE_NAME): release 2.7.20

2005-11-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/define-markup-commands.scm (pad-to-box): new markup command.

	* scm/define-grobs.scm (all-grob-descriptions): set thickness to
	1.0.
	(all-grob-descriptions): don't shift RehearsalMark arbitrarily.

2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.

	* kpath-guile/: remove directory

	* scm/kpathsea.scm (ly:kpathsea-expand-variable): new
	file. Encapsulate kpathsea using commandline tools.

	* lily/all-font-metrics.cc (kpathsea_find_file): use (scm
	kpathsea) module.

2005-11-29  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/advanced-notation.itely (Setting automatic
	beam behavior): Correct a few typos. Thanks to David Bobroff.

	* scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
	\usepackage instead of \RequirePackage. Thanks to Bernard Hurley.

2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/*.py: gmane address for bugs.

2005-11-28 Pal Benko <benkop@freestart.hu>
	
	* make/ly-rules.make: add -f switch to mv

	* scm/output-libs.scm: add new bar symbol "." for punctus divisionis

	* lily/bar-line.cc: interpret it

2005-11-28  Jan Nieuwenhuizen  <janneke@gnu.org>

	* configure.in (--disable-documentation): New switch.

	* GNUmakefile.in: Use it.

	* stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.

2005-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/lilypond-book.py (do_file): search chunks for
	\\begin{document}

	* GNUmakefile.in: add copy step in between so we can lose the
	out-www directories.

2005-11-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/pango-font.cc (pango_item_string_stencil): put
	geometry.width into glyph-string too.

2005-11-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* scm/define-music-display-methods.scm (RevertProperty):
	(OverrideProperty): Use grob-property-path property, a list of
	symbols, instead of grob-property, which used to be a single
	symbol.
	(BassFigureEvent): a figure can be a plain number, not necessarily a
	markup.

2005-11-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: release 2.7.19
	
	* lily/figured-bass-engraver.cc (process_music): check
	figuredBassCenterContinuations first.

	* scm/translation-functions.scm (format-bass-figure): make double
	sharp larger. 

	* lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
	determine X-parent.

	* lily/system-start-delimiter-engraver.cc: move from
	Nested_system_start_delimiter_engraver, rename
	Nested_system_start_delimiter_engraver ->
	System_start_delimiter_engraver.

	* lily/nested-system-start-delimiter-engraver.cc (from_list): read
	bracket type from hierarchy.

2005-11-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/rest.cc (y_offset_callback): read staff-position.

	* scm/define-grob-properties.scm (all-user-grob-properties): don't
	mark after-line-breaking-callback as internal.

	* lily/self-aligment-interface.cc: remove self-[XY]-offset.

2005-11-25  Werner Lemberg  <wl@gnu.org>

	* mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.

2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* stepmake/bin/add-html-footer.py (do_file): add google

	* lily/staff-symbol-engraver.cc (process_music): bugfix: stop
	staff if first_start_ is true.

2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/midi2ly.py (split_track): add __repr__ members.
	(track_first_item): only return Item if not None. This fixes a
	problem when dumping a track that starts with an empty channel.

	* python/midi.c: doc module.

2005-11-22  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/global.itely (Creating MIDI files): Fix
	compilation problem.

2005-11-22  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/basic-notation.itely: clarify dynamic
	padding text.

	* Documentation/user/advanced-notation.itely: add unicode
	escape control example, whatever that is.  :)

	* Documentation/user/global.itely: added "removing dynamics
	from MIDI" code.

2005-11-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PATCH_LEVEL): release 2.7.18

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
	System_start_delimiter_engraver by
	Nested_system_start_delimiter_engraver.

	* lily/nested-system-start-delimiter-engraver.cc (struct
	Bracket_nesting_node): new class.
	(struct Bracket_nesting_group): new class
	(struct Bracket_nesting_staff): new class.
	(process_music): create hierarchy of grobs. This allows separate
	tuning of different SSDs. 

	* scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
	(all-grob-descriptions): remove old NestedSystemStartDelimiter.

2005-11-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/side-position-interface.cc (aligned_side): multiply
	staff_radius by 2.

	* lily/script-engraver.cc (make_script_from_event): allow setting
	values to '()

2005-11-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/system-start-delimiter.cc (line_bracket): don't shorten height.

	* scm/define-grobs.scm (all-grob-descriptions): new grob
	NestedSystemStartDelimiter.

	* input/regression/system-start-heavy-bar.ly: new file.

	* lily/nested-system-start-delimiter-engraver.cc: new file.

	* lily/nested-system-start-delimiter.cc: new file.

	* input/regression/system-start-nesting.ly: new file.

	* scm/define-grobs.scm (all-grob-descriptions): use X side
	positioning for positioning braces for nested contexts.

	* lily/system-start-delimiter.cc (print): don't divide extent by
	staff_space.
	(print): use style iso. glyph.
	(staff_bracket): translate glyph inside routine already.

2005-11-18  Michael Welsh Duggan <md5i@cs.cmu.edu>

	* lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
	names.

2005-11-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/define-context-properties.scm
	(all-user-translation-properties): rename figuredBassFormatter
	from newFiguredBassFormatter.

	* scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure

	* lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc

	* lily/stem.cc (calc_stem_info): trigger beaming calculation.

	* lily/beam.cc (calc_beaming): new function.
	(calc_shorten): new function.

	* THANKS: add Edward Neeman.

	* input/regression/accidental-clef-change.ly: new file.

	* lily/note-collision.cc (check_meshing_chords): don't merge fa heads.

	* scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.

	* lily/clef-engraver.cc (inspect_clef_properties): reset
	localKeySignature for clef changes.

2005-11-17  Mats Bengtsson  <mabe@s3.kth.se>

	* python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3 
	add dummy definition that works in Linux and add information in
	INSTALL.texi on the specific Python requirements for Cygwin/Mingw.

	* Documentation/user/changing-defaults.itely (Modifying context
	plug-ins): Add index for \with.

	* Documentation/user/music-glossary.tely (dal segno): Updated
	example to version >=2.6.

2005-11-16  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/instrument-notation.itely (Printing chord
	names): Reorder \chordmode and \repeat in one example.

2005-11-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: release 2.7.17
	
	* Documentation/topdocs/NEWS.tely (Top): add note about
	refactoring.

	* lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
	new function. Search region of 3 positions for best tie.
	(score_configuration): new function.
	(score_aptitude): new function.
	(generate_configuration): new function.
	(get_configuration): new function.
	(Tie_formatting_problem): new function

	* input/regression/page-top-space.ly: a6 for page-top-space demo. 

	* stepmake/aclocal.m4: use $(if ) for config-FOOF.make

	* THANKS: add Eduardo Vieira & Ralph Little

	* mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
	narrower.

	* lily/include/tie-formatting-problem.hh (class
	Tie_formatting_problem): add Tie_details to
	Tie_formatting_problem. Update calling conventions.

	* stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
	config.make.

	* Documentation/user/lilypond.tely: remove musedata2ly entry.

2005-11-16  Jürgen Reuter  <reuter@ipd.uka.de>

	* lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
	scm/define-context-properties.scm: Maintenance bugfix: make
	ligature brackets work again by removing obsolete ligature
	primitive callback push/pop.

	* scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
	not call Tuplet_bracket::calc_direction.  Removed obsolete gap
	value.

2005-11-15  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/aclocal.m4 (depth): Explain why absolute directory is
	used and do not call it a path.
	(FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.

2005-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/include/tie-formatting-problem.hh (class
	Tie_formatting_problem): new file.

	* lily/tie-formatting-problem.cc (common_x_refpoint): new file.

	* Documentation/misc/ChangeLog-2.3:  new file.

	* lily/audio-staff.cc (output): degarianize.

2005-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
	Unset PYTHONOPTIMIZE.  Fixes install if set.

2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* python/convertrules.py (conv): add warning about drums. 

	* make/stepmake.make: include toplevel-version.make after config.make.

	* stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
	also allow python2.4

	* config.make.in (configure-srcdir): remove GXX GCC vars.

	* stepmake/aclocal.m4: don't do non-srcdir build with
	symlinks. Use inclusion, so the src directory name can be changed.

2005-11-13  Jan Nieuwenhuizen  <janneke@gnu.org>

	* make/mutopia-vars.make:
	* make/ly-vars.make: Use src-wildcard iso wildcard for source
	files.

2005-11-13  Werner Lemberg  <wl@gnu.org>

	* mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
	but the affected path.  This ensures that the (overlapping) outlines
	have the same direction, which is a necessary prerequisite for
	FontForge's algorithm to remove overlaps.
	Formatting.

	* mf/feta-haak.mf: Formatting.
	(draw_bracket): Slightly modify outline to avoid an unnecessary
	corner.
	Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
	them from the affected paths.

2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* mf/README: remove xpm / accordion notes.

	* lily/tie-column-format.cc (set_chord_outline): add dots into
	skyline extents. This fixes tie formatting if the left head has dots.

	* lily/tie.cc (get_configuration): only shift tie by a whole staff
	space inside the staff.
	(get_configuration): shift another position if necessary in case
	of left head tie  

2005-11-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
	buildscript-dir iso. $(depth)/buildscripts.

	* tex/GNUmakefile (local-uninstall): remove
	music-drawing-routines.ps juggling.

	* stepmake/stepmake/install-targets.make (local-install-files):
	prepend src-dir to install targets.

	* lily/system-start-delimiter-engraver.cc
	(acknowledge_system_start_delimiter): use
	add_offset_callback(). This fixes translation of nested
	staffgroups.

	* lily/grob-closure.cc (add_offset_callback): only encaps in
	simple_closure if it's a procedure.
	
	* lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
	from bar-line.

	* ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
	remove-empty where pertinent.

2005-11-12  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/instrument-notation.itely: added
	Cameron Horsburgh's multiple stanzas docs.  Thanks!

2005-11-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/GNUmakefile
	($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
	make picture in builddir, not srcdir.

2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: release 2.7.16
	
	* scripts/lilypond-book.py (main): use commands.mkarg () to quote
	shell arguments. 

2005-11-10  Mats Bengtsson  <mabe@s3.kth.se>

	* Documentation/user/examples.itely (Piano templates): Minor
	modification to the Piano centered lyrics example.

2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scripts/lilypond-invoke-editor.scm (run-browser): look at
	$BROWSER.

	* Documentation/user/point-and-click.itely: simplify p&c
	instruction: don't configure firefox. Put lilypond-invoke-editor
	in front of the browser.

	* scripts/lilypond-invoke-editor.scm (run-editor): new function.
	(run-browser): new function.

	* lily/parser.yy (Lily_lexer): recognize Book

	* lily/book.cc (clone): new function

	* lily/parser.yy (book_body): allow BOOK_IDENTIFIER.

2005-11-10  Jürgen Reuter  <reuter@ipd.uka.de>

	* lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
	Maintenance bugfix: reduce number of font related warnings by
	updating naming conventions for glyph-name.

2005-11-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/define-grobs.scm (all-grob-descriptions): add
	rhythmic-grob-interface to TabNoteHead.

	* scm/layout-beam.scm (check-quant-callbacks): remove
	set_stem_lengths()

2005-11-08  Jürgen Reuter  <reuter@ipd.uka.de>

	* ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
	alignment of centered divisiones.

	* scm/scripts.scm (articulations): Maintenance bugfix:
	follow-into-staff -> quantize-position.

	* lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
	plica head in porrectus deminutus.

2005-11-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* make/lilypond.fedora.spec.in (Group): add %clean section.

	* lily/tuplet-bracket.cc (print): change check: remove bracket if
	less then 1/5th of total length.  
	(print): use gap too.  Fixes tupletUp-single-bracket.ly

	* scm/music-functions.scm (glue-mm-rest-texts): also put other
	events into EventChord. This fixes textspanners on mm rests. Fixes
	spanner-rest.ly

	* lily/side-position-interface.cc (get_axis): read side-axis
	(set_axis): set side-axis.

	* scm/define-grobs.scm (all-grob-descriptions): add side-axis
	properties everywhere.

	* lily/spacing-spanner.cc (breakable_column_spacing): add
	average-spacing-wishes. Take maximum if not set.
	(musical_column_spacing): idem. Fixes: spacing-keysig-note.ly

	* scm/define-grobs.scm (all-grob-descriptions): add
	average-spacing-wishes.

	* lily/grob-closure.cc (add_offset_callback): bugfix: properly add
	offset callbacks. This fixes alignment for Fingering objects.

	* scm/define-grobs.scm (all-grob-descriptions): tiny bit less
	space for key - timesig combination. 

	* input/regression/script-stem-tremolo.ly (Module): new file.

	* scm/define-grobs.scm (all-grob-descriptions): decrease distance
	to key sig.

	* lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
	Fixes: c-tremolo-script.ly.
	
	* lily/text-engraver.cc (acknowledge_stem_tremolo): new function.

	* lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
	
	* scm/define-grobs.scm (all-grob-descriptions): remove
	self-X-offset. Fixes alignment of octavate-8.

	* scripts/lilypond-book.py (datadir): look in
	LILYPONDPREFIX/share/lilypond/current/

	* GNUmakefile.in: symlink current to <VERSION>. 

2005-11-07  Pedro Kroger  <kroeger@pedrokroeger.net>

	* lily/main.cc: eps listed as a backend.

2005-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/lily-library.scm (print-music-as-book): quote $defaultpaper.

2005-11-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/include/score.hh (class Score): remove texts_ member.

	* lily/beam.cc (set_stem_lengths): force direction callback.
	(print): read quantized-positions, so we can force
	Beam::set_stem_lengths to occur.
	(rest_collision_callback): use common X parent. 

2005-11-03  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/file-path.cc (find): Bugfix: Return name of file found.

	* lily/main.cc (setup_paths): Bugfix for argv0 logic.
	(setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
	(setup_paths)[__MINGW32__]: Also look for argv0 + .exe.

2005-11-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* flower/offset.cc: idem.

	* mf/*.mf: update email address.

	* lily/font-config-scheme.cc:  new file.

	* GNUmakefile.in (SUBDIRS): remove debian/ directory.

	* lily/*:  cs.uu.nl -> xs4all.nl

	* VERSION (PATCH_LEVEL): release 2.7.15

	* make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
	spec files.

	* make/lilypond.fedora.spec.in: add %{libdir}/lilypond/

2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.   

	* lily/staff-performer.cc (process_music): add audio
	elements. This makes MIDI instrument changes work once again.

	* lily/main.cc (LY_DEFINE): add gmane address.

	* lily/beam.cc: remove calc_positions()

	* lily/include/grob.hh (class Grob): move pscore, dim_cache_,
	original_ in private scope.
	(class Grob): drop pscore_ pointer, change to output_def pointer.
	(class Grob): cleanup class definition.

	* ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.

2005-11-02  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
	absolute.  Better diagnostics.

	* GNUmakefile.in: Add bin/ to tree and populate with some links.
	This makes lilypond run from the build directory using argv0
	relocation (without any --prefix or LILYPONDPREFIX setting).

2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/topdocs/NEWS.tely (Top): document new backend design.

	* scm/define-grobs.scm: purge self-[XY]-offset variables, replace
	with simple-closure.

	* lily/self-aligment-interface.cc (set_align_self): new function
	(set_center_parent): new function.

	* lily/side-position-interface.cc (set_axis): new function.

	* lily/new-fingering-engraver.cc (position_scripts): use drul for
	generic code. 

	* scm/define-grob-properties.scm (all-user-grob-properties):
	remove [XY]-offset-callbacks add [YX]-offset
	
2005-11-02  Mats Bengtsson  <mabe@s3.kth.se>

	* scm/define-grobs.scm (all-grob-descriptions): Added space-alist
	entry for time signatures after breathing signs. Bug report by
	Scott Russell.

2005-11-01  Jan Nieuwenhuizen  <janneke@gnu.org>

	* lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
	not absolute, make it absolute using PATH.

2005-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>

	* python/midi.c (initmidi): Fix type for mingw.

2005-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.

	* stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
	cross compiling.

	* stepmake/aclocal.m4: Support python cross compiling.

	* stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
	Add mingw section.

2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/output-lib.scm (chain-grob-member-functions): replace
	chained-callback.cc

	* lily/chained-callback.cc (Module): remove file.

	* lily/rest-collision.cc (force_shift_callback_rest): change to
	chained callback.

	* lily/rest.cc (y_offset_callback): merge function of 3 callbacks. 

	* lily/grob.cc (y_parent_positioning): remove axis argument from
	parent_positioning callbacks.
	(Grob): junk init code
	(get_offset): use generic property callbacks for
	X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
	(axis_parent_positioning): new function
	(axis_offset_symbol): new function
	(chain_offset_callback): new function
	(add_offset_callback): new function

	* lily/beam.cc (rest_collision_callback): change signature; this
	is now a chained callback.

	* lily/include/dimension-cache.hh (class Dimension_cache): remove
	callback administration.

	* lily/simple-closure.cc: new file. Smob type that allows "grob
	member functions",

	    (ly:make-simple-closure FUNC A B)

	is evaluated as (FUNC grob A B). This allows chaining of callbacks
	in various ways.

	* lily/slur-engraver.cc (acknowledge_extra_object): use chained
	callbacks.

	* lily/slur.cc (outside_slur_callback): take 2 arguments.

	* lily/rest.cc (polyphonic_offset_callback): remove.

	* lily/script-engraver.cc (try_music): remove bool* argument.

	* scm/script.scm (default-script-alist): set quantize-position
	appropriately.

	* lily/script-engraver.cc: remove follow_into_staff_ special coding. 

	* lily/side-position-interface.cc (aligned_side): move staff
	position quantization from
	Side_position_interface::quantised_position().
	(quantised_position): remove
	
2005-10-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* input/regression/beam-quant-standard.ly: reindent, set
	debug-beam-quanting to #t.

	* lily/beam-concave.cc (calc_concaveness): set concaveness to
	10000 if this is a "hard" concave beam.

	* lily/beam.cc (calc_least_squares_positions): change from
	calc_least_squares_dy
	(set_stem_lengths): this is now a chained callback.

	* lily/context-property.cc (execute_general_pushpop_property):
	bugfix override with procedure should have effect.

	* scm/define-grob-properties.scm (all-internal-grob-properties):
	remove position-callbacks.

	* scm/define-grobs.scm (all-grob-descriptions): use
	ly:make-callback-chain for positions property.

	* scm/layout-beam.scm (check-quant-callbacks): return list of
	chained callbacks.

	* scm/lily.scm (type-p-name-alist): add callback-chain

	* lily/lily-guile.cc (type_check_assignment): type check failure
	is warning not message.

	* lily/grob-property.cc (try_callback): walk callback chain if
	appropriate.

	* lily/chained-callback.cc: new file. new smob type.

	* lily/lily-guile.cc (procedure_arity): new function.

2005-10-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.

2005-10-25  John Mandereau  <john.mandereau@free.fr>
 
	* Documentation/user/instrument-notation.itely (Figured bass):
	describe new features

2005-10-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/beam.cc (calc_least_squares_dy): use property callback.

	* lily/beam-concave.cc (calc_concaveness): use property callback.

	* ly/paper-defaults.ly: move fixed dimensions from paper.scm 

2005-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>

	* HACKING: Update.

2005-10-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/layout-page-layout.scm (page-headfoot): annotate
	pagetopspace too.

	* scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit. 

	* scm/layout-page-layout.scm (annotate-y-interval): y-annotation
	doesn't take y-space.

	* scm/paper.scm (paper-alist): fix A7 dimensions. 

2005-10-24  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
	src-wildcard, remove $(wildcard).

	* po/GNUmakefile (PO_FILES): 
	* ps/GNUmakefile (PS_FILES): 
	* tex/GNUmakefile (TEX_FILES): 
	* cygwin/GNUmakefile (POSTINSTALLS):
	* vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
	some wildcard calls.

2005-10-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* THANKS: add Thomas Bushnell.

2005-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scm/lily.scm: Remove horrendous running-from-gui? kludge.
	(lilypond-main): Redirect to gui-main if 'gui is set.

	* scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
	for alternative installations kludging s/share/lib/g
	LILYPONDPREFIX. 

	* SConstruct (libdir_package_version): Define.

	* python/SConscript: 
	* python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
	module in libdir.  

2005-10-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/main.cc: clarify --safe.

2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: release 2.7.14
	
	* Documentation/user/*.itely: remove minimumVerticalExtent.

	* scm/define-grobs.scm (all-grob-descriptions): remove
	RemoveEmptyVerticalGroup

	* lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.

	* lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
	compile on MOSX

	* python/convertrules.py (conv): add rules.

	* lily/grob.cc: remove is_empty()

	* lily/grob-property.cc: remove add_to_list_property().

	* scripts/convert-ly.py (datadir): add prefix switching hack to
	.py too.

	* input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
	space-function tweak.

	* lily/grob.cc: remove X-extent-callback / Y-extent-callback.

	* scm/define-grob-properties.scm (all-user-grob-properties):
	remove callback property.

	* lily/include/grob.hh (class Grob): remove property_callbacks_
	member. Properties of procedure type are assumed to be callbacks.

	* lily/ligature-engraver.cc (override_stencil_callback):
	rewrite. Use noteHeadLigaturePrimitive as source.

	* scm/define-grob-properties.scm (all-internal-grob-properties):
	remove ligature-primitive-callback

	* lily/include/dimension-cache.hh (class Dimension_cache): make
	class, with Grob as friend.

	* lily/grob.cc: remove set_extent_callback(), set_extent() and
	has_extent_callback()

	* scm/translation-functions.scm (format-new-bass-figure): read
	figuredBassPlusDirection

	* scm/define-context-properties.scm
	(all-user-translation-properties): add figuredBassPlusDirection.

	* lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.

	* lily/align-interface.cc (set_ordered): new function.

	* lily/grob.cc (flush_extent_cache): rewrite.

	* lily/dimension-cache.cc (Dimension_cache): cache extent as
	Interval pointer directly.

	* lily/main.cc (setup_paths): insert extra / .
	(setup_paths): junk cff entry.

	* lily/font-config.cc (init_fontconfig): only add type1 / otf
	directories.

	* lily/axis-group-engraver.cc (finalize): remove
	extraVerticalExtent, minimumVerticalExtent verticalExtent.

	* lily/grob.cc (Grob): don't set extent from ctor.
	(extent): use property callbacks. 

	* lily/axis-group-interface.cc: remove set_axes() function.

	* lily/grob-property.cc (del_property): new function.

2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
	
2005-10-20  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops.  Add.

2005-10-19  Jan Nieuwenhuizen  <janneke@gnu.org>

	* mf/SConscript: Updates.

	* lily/GNUmakefile (OUT_DIST_FILES): Bugfix.

	* stepmake/stepmake/*:
	* */GNUmakefile:
	* config.make.in:
	* GNUmakefile.in:
	* stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
	from any directory in build-dir.  Cleanups.

	* make/srcdir.make.in: Remove.

	* lily/main.cc (setup_paths): Fix and document build-dir hack.

	* SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
	main).

	* lily/SConscript: Remove ttftools.

	* SConstruct: Resurrect.

2005-10-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
	Y coordinate. 

	* lily/paper-book.cc (add_score_title): put Paper_score title into
	systems_ list.

	* scm/translation-functions.scm (format-new-bass-figure): also
	allow plus in combination with _

2005-10-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: 2.7.13 released.

	* lily/note-collision.cc (check_meshing_chords): don't wipe
	stencil, merely set transparent.

	* Documentation/topdocs/NEWS.tely (Top): mention John Mandereau. 
	(Top): document #'callbacks.
	(Top): document nested \override.

	* input/regression/figured-bass.ly: update for slash and pluses.

	* input/regression/figured-bass-continuation-forbid.ly (Module):
	new file.

	* scm/translation-functions.scm (format-new-bass-figure): use
	slashed-digit if diminished is set.
	(format-new-bass-figure): add + if 'augmented is set.

	* scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.

	* input/test/piano-staff-distance.ly: remove file.

	* Documentation/user/advanced-notation.itely (Formatting cue
	notes): use length-fraction for making stems/beams smaller.

	* lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
	modifications.

	* lily/new-figured-bass-engraver.cc: new property
	centerFiguredBassContinuations

	* Documentation/user/changing-defaults.itely (Difficult tweaks):
	use callbacks.

	* lily/context-property.cc (execute_general_pushpop_property):
	robustness checks.

	* input/regression/override-nest.ly: new file.

	* python/convertrules.py (FatalConversionError.subber): conversion
	rule for #'callbacks

	* input/regression/override-nest.ly: new function.

	* lily/parser.yy (music_property_def): allow \override #'a #'b =
	#c too. 

	* lily/context-property.cc (lookup_nested_property): new function.
	(evict_from_alist): new function.
	(general_pushpop_property): new function.
	(execute_general_pushpop_property): rewrite. Support nested
	properties too.

2005-10-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/beam.cc: use length-fraction too.

	* scm/define-grob-properties.scm (all-user-grob-properties):
	remove property flag-width-function
	(all-user-grob-properties): remove space-function.

	* scm/layout-beam.scm: remove flag-width-function.

	* lily/beam.cc: remove flag-width-function

	* scm/layout-beam.scm: remove beam dir functions.

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.

	* lily/stem.cc (calc_length): multiply with length_fraction. Makes
	for easier grace tweaks.

	* lily/beam.cc: remove dir-function.

	* lily/system.cc (pre_processing): use callback to trigger spacing procedures.

	* lily/grob.cc: remove spacing-procedure.

	* lily/note-head.cc (calc_stem_attachment): new function.
	(internal_print): use callback to get glyph-name.

	* lily/grob-property.cc (get_interfaces): new function.

	* lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces

	* lily/stem.cc (calc_stem_end_position): new function.
	(calc_length): new function.
	document details for stem.
	remove Stem::get_direction()

	* lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback! 

	* lily/grob-property.cc (set_callback): new function.

	* lily/script-engraver.cc (make_script_from_event): don't trigger callback.

	* lily/item-scheme.cc: new file.

	* lily/bar-line.cc (before_line_breaking): remove function.
	remove bar-size-procedure, break-glyph-function

	* lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name

	* lily/clef.cc (before_line_breaking): change to calc_glyph_name.

	* lily/system-start-delimiter.cc (print): suicide from
	here. Remove after_line_breaking_callback.

	* lily/script-interface.cc (calc_direction): use callback for direction.

	* lily/side-position-interface.cc (aligned_side): don't use
	Side_position_interface::get_direction directly. Use callback. 

	* lily/grob.cc (get_stencil): simplify: use callback mechanism to
	calculate stencil.
	(get_print_stencil): rename from get_stencil: create stencil with
	transparency, color and cause. 

	* scm/define-grobs.scm: change print-function to stencil callback everywhere.

	* python/convertrules.py (conv): insert temporary warning rule.

	* lily/multi-measure-rest.cc (set_text_rods): use stencil directly.

	* lily/grob-property.cc (try_callback): remove marker if applicable.

	* lily/grob.cc: elucidate doc about after/before-line-breaking

	* lily/slur-scoring.cc (enumerate_attachments): robustness fix.

	* lily/stem.cc (height): idem.

	* lily/stem-tremolo.cc: idem.

	* lily/slur.cc (height): don't use get_uncached_stencil()

	* lily/rest.cc (y_offset_callback): use offset callback
	iso. after-line-breaking callback.

	* lily/grob.cc: change after/before-line-breaking-callback to
	after/before-line-breaking dummy properties.

	* lily/include/grob.hh: remove Grob_status.

	* scm/define-context-properties.scm
	(all-user-translation-properties): remove verticalAlignmentChildCallback

	* lily/tuplet-bracket.cc: use positions property iso. left,right-position.
	(calc_direction): use callback
	(calc_positions): use callback.

	* lily/tie.cc (calc_direction): use callback. Only call parent
	positioning for more than one tie.

	* lily/tie-column.cc (calc_positioning_done): use callback

	* lily/slur-scoring.cc (calc_control_points): use callback

	* lily/slur.cc (calc_direction): use callback.

	* lily/note-collision.cc (force_shift_callback): remove.

	* lily/dot-column.cc (force_shift_callback): remove. Use
	other_axis_parent_positioning.

	* lily/grob.cc (other_axis_parent_positioning): new function.
	(same_axis_parent_positioning): new function

	* lily/align-interface.cc (alignment_callback): remove function.

	* lily/note-collision.cc (calc_positioning_done): use callback.

	* lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
	(calc_direction): idem.
	remove print function.

	* lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.

	* lily/dot-column.cc (calc_positioning_done): use callback.

	* lily/break-align-interface.cc (calc_positioning_done): use callback.

	* lily/beam.cc (calc_direction): use pseudo-property for beam
	direction callback.
	(calc_positions): use callback 

	* lily/align-interface.cc (calc_positioning_done): use
	callback. Fold fixed  distance and normal alignment in one function.

	* lily/stem.cc (calc_stem_end_position): use callback.
	(calc_positioning_done): idem.
	(calc_direction): idem.
	(calc_stem_end_position): idem
	(calc_stem_info): idem.

	* lily/grob-property.cc (get_property_data): new function: 
	(try_callback): new function.

	* scm/define-grob-properties.scm (all-user-grob-properties): doc
	callbacks property.

	* lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.

2005-10-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tie.cc (get_position): robustness fix. Don't crash if a
	tie
	has no heads.
	
	* lily/include/*.hh (Module): compile fixes.

2005-10-14  Heikki Junes <hjunes@cc.hut.fi>

	* elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil 
	as an argument for char-syntax: use (char-syntax (or nil 0)) 
	instead of (char-syntax nil), thanks to Milan Zamazal.

2005-10-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* make/lilypond.fedora.spec.in (Group): add lilypond-internals to
	dist.

	* lily/tuplet-bracket.cc: check columns of bounds, not bounds
	themselves.

2005-10-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
	add class_name() method.

	* lily/music-scheme.cc: remove ly:music-name.

2005-10-11  Jan Nieuwenhuizen  <janneke@gnu.org>

	* cygwin/postinstall-lilypond.sh: Remove cruft.

	* cygwin/postremove-lilypond.sh: Remove.

	* cygwin/GNUmakefile (default): Remove postremove rules.

2005-10-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* ly/titling-init.ly (evenHeaderMarkup): use space in header on
	even header too.
	
	* scm/define-markup-commands.scm (wordwrap-string): bugfix for
	MacOS 9 users.

	* lily/hara-kiri-group-spanner.cc (consider_suicide): only
	consider break index for broken spanner.

	* scm/define-markup-commands.scm (wordwrap-string): remove \r
	characters from string before splitting.

2005-10-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/framework-ps.scm (output-preview-framework): use
	is-book-title to determine whether to chop off the booktitle.

	* lily/paper-book.cc (systems): init from book-title-properties
	(add_score_title): init score-title-properties.

	* ly/paper-defaults.ly: add {score,book}-title-properties.

	* scm/document-backend.scm (lookup-interface): error message if
	using unknown interface.

	* lily/volta-bracket.cc (after_line_breaking): new function. Set
	edge-height.

	* lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
	make_bracket.
	(make_bracket): new function.

	* scm/lily.scm (define-scheme-options): add paper-size option.

	* ly/declarations-init.ly (laissezVibrer): get paper size from
	-dpaper-size

	* scm/translation-functions.scm: use \fontsize for changing the
	fontsize.

	* scm/define-grobs.scm (all-grob-descriptions): set
	between-length-limit to 1.0

	* lily/tie-helper.cc: add between_length_limit_ detail property.

	* mf/feta-bolletjes.mf: typos.

	* lily/note-head.cc (internal_print): don't shadow idx
	parameter. This fixes wrong attachment for do shape heads.

2005-10-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm

	* scm/parser-clef.scm (supported-clefs): rename from clef.scm

	* scm/layout-slur.scm: rename from slur.scm

	* scm/layout-page-layout.scm: rename from page-layout.scm

	* scm/layout-beam.scm: rename from beam.scm

	* scm/define-grob-interfaces.scm (bass-figure-interface): add
	bass-figure-interface

	* lily/new-figured-bass-engraver.cc (process_music): add
	implicitBassFigures property.
	
	* scm/define-markup-commands.scm (pad-x): new markup.

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
	minimumVerticalExtent on FiguredBass context.

	* lily/figured-bass-continuation.cc (center_on_figures): kludge in
	case the continuation crosses a line break.

2005-10-09  Jan Nieuwenhuizen  <janneke@gnu.org>

	* flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
	unconverted value if cygwin_conv_to_posix_path () fails.  Fixes
	absolute file name bug.  

2005-10-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PACKAGE_NAME): release 2.7.12

	* input/regression/figured-bass-continuation-center.ly: new file.

	* input/regression/beam-outside-beamlets.ly: new file.

	* lily/beam.cc (set_beaming): don't clip edges.
	(connect_beams): don't clip edges.

	* lily/beaming-info.cc (clip_edges): new function.

	* lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.

	* Documentation/user/instrument-notation.itely (Figured bass):
	demonstrate extenders, update seealso links.

	* scm/titling.scm (marked-up-headfoot): change tagline
	handling. tagline = ##f will blank the tagline as well.

2005-10-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/topdocs/NEWS.tely: add entry for Figured bass.

	* lily/new-figured-bass-engraver.cc (struct
	New_figured_bass_engraver): add new_music_found_ member.

	* lily/lilypond-version.cc (Lilypond_version): deal with
	incorrectly formatted version strings. 

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
	New_figured_bass_engraver by default.

	* lily/ttf.cc (print_trailer): only define glyph names when
	FT_Face has FT_FACE_FLAG_GLYPH_NAMES

2005-10-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/horizontal-bracket.cc (make_bracket): new function.

	* scm/define-grobs.scm (all-grob-descriptions): new grobs
	NewBassFigure, BassFigureBracket, BassFigureContinuation,
	BassFigureLine, BassFigureAlignment

	* lily/new-figured-bass-engraver.cc (process_music): new file.

	* lily/figured-bass-continuation.cc: new file.

	* lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
	new file.

2005-10-04  Mats Bengtsson  <mabe@s3.kth.se>

	* scripts/lilypond-book.py: Bug fix, put the quote around the
	actual score for LaTeX documents.

	* scm/define-grobs.scm (all-grob-descriptions): Change
	collapse-height of the SystemStartBracket grob to 5.0, 
	so the bracket disappears for single stave score lines (similarly
	to SystemStartBraces). 

	* Documentation/user/advanced-notation.itely (Polymetric
	notation): Clarify the use of compressMusic.

	* Documentation/user/basic-notation.itely (Grace notes): Clarify
	that the grace spacer note in other staves need the same duration
	and document the stroke-style property.

2005-10-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/global.itely (Vertical spacing): document
	alignment-extra-space and fixed-alignment-extra-space.

	* Documentation/topdocs/NEWS.tely (Top): add entry.

	* input/regression/alignment-vertical-spacing.ly: new file.

	* python/convertrules.py (conv): add rule.

	* ly/music-functions-init.ly: rename outputProperty to overrideProperty

	* lily/align-interface.cc (stretch_after_break): new
	function. Read fixed-alignment-extra-space property.
	(align_elements_to_extents): read alignment-extra-space property.

	* lily/lily-guile.cc (robust_scm2dir): new function.

	* scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
	(annotate-space-left): new function. Annotate space left on page. 
	(annotate-y-interval): new function.
	(paper-system-annotate-last): new function. Annotate bottom-space.

	* mf/feta-beugel.mf (y): 

2005-10-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PACKAGE_NAME):  release 2.7.11

	* scm/lily-library.scm (interval-translate): new function
	(interval-center): new function. 

	* scm/page-layout.scm (paper-system-annotate): new function. Add
	arrows for dimensions.
 
	* scm/stencil.scm (dimension-arrows): new function.

	* Documentation/user/global.itely (Vertical spacing): mention annotatespacing

	* input/regression/page-spacing.ly: add annotatespacing

	* lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
	(LY_DEFINE): new function ly:paper-system-set-property!

	* Documentation/user/global.itely (Paper size): explain how to add
	sizes.

	* scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
	correspond to GS's definition.

	* lily/tuplet-bracket.cc (after_line_breaking): suicide empty
	tuplet bracket.
	(print): only connect to next bracket if the next one is alive.
	(print): set padding to 0.0 if the bound is a breakable
	column. This makes tupletFullLength brackets reach up to the staff
	line if it doesn't connect to the next line.

2005-09-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/bar-number-engraver.cc: correct docs.

	* scm/output-lib.scm (first-bar-number-invisible): rename from
	default-bar-number-visibility

2005-09-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/define-music-properties.scm (all-music-properties): remove
	predicate property.

2005-09-28  Heikki Junes  <hjunes@cc.hut.fi>

	* po/fi.po: refresh.

2005-09-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* input/regression/hara-kiri-pianostaff.ly (disappear): remove
	superfluous s1.
	(disappear): bugfix.

	* lily/stem-tremolo.cc (raw_stencil): read slope property.

	* lily/include/paper-system.hh (class Paper_system): remove
	staff_extents_ member.

	* lily/paper-system-scheme.cc (LY_DEFINE): remove.

	* lily/include/paper-system.hh (class Paper_system): remove
	number_ variable. Remove is_title_. Remove break_before_penalty_

	* lily/paper-book.cc (systems): use 'number property iso. number_
	member.

	* lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
	remove ly:paper-system-number.

	* scm/lily-library.scm (paper-system-title?): new function.

	* lily/book.cc (process): bugfix: flip ?: cases. 

	* Documentation/user/changing-defaults.itely (Difficult tweaks):
	add outputProperty.

	* ly/music-functions-init.ly: add outputProperty music function.

	* scm/paper.scm (set-paper-dimension-variables): add pagetopspace

	* scm/page-layout.scm (ly:optimal-page-breaks): read next-space
	and next-padding.
	(optimal-page-breaks): rename from ly:optimal-page-breaks.

	* lily/paper-system-scheme.cc (LY_DEFINE): new function.

	* lily/paper-system.cc (internal_get_property): new function.

	* Documentation/user/global.itely (Vertical spacing): refer to
	page-spacing.ly

	* scm/page-layout.scm (ly:optimal-page-breaks): add support for
	pagetopspace

	* input/regression/page-spacing.ly: new file.

	* input/regression/page-top-space.ly: new file.

	* lily/spacing-spanner.cc: cmath -> math.h

	* lily/paper-system.cc (read_left_bound): new function. Read
	line-break-system-details from left bound to determine extents.
 
	* Documentation/user/programming-interface.itely (Using LilyPond
	syntax inside Scheme): change applyxxx -> applyXxx.

	* ly/music-functions-init.ly: add outputProperty music function.

	* lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.

	* lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.

	* python/convertrules.py (conv): rule

	* ly/music-functions-init.ly: applyxxx -> applyXxx

	* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
	TabVoice to Voice.

2005-09-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* flower/include/real.hh: include <math.h> iso. <cmath>

	* flower/include/offset.hh: include real.hh

2005-09-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/changing-defaults.itely (Difficult tweaks):
	fix example, now that 'interfaces is no longer directly available.

	* lily/book.cc (process): don't crash if paper == NULL.

	* po/fr.po: update.

2005-09-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/define-music-types.scm (music-descriptions): set length and
	start-callback for QuoteMusic

2005-09-15  Mats Bengtsson  <mabe@s3.kth.se>

	* lily/tie.cc (get_configuration): Replace fabs -> abs for integer
	arguments. Fixes compilation error with gcc 3.3.

2005-09-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION: release 2.7.10

	* stepmake/stepmake/python-module-rules.make
	($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.  

	* lily/*.cc: remove <cmath> everywhere. <cmath> is included from
	real.hh

2005-09-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
	-Werror. Otherwise GCC barfs over various optimizations.

	* scm/define-grob-properties.scm (all-internal-grob-properties):
	add note-head property

	* Documentation/user/instrument-notation.itely (Laissez vibrer
	ties): new node.

	* input/regression/laissez-vibrer-ties.ly: new file.

	* lily/laissez-vibrer-engraver.cc: new file.	

	* lily/include/tie-column-format.hh: new file.

	* lily/tie-column-format.cc: new file. 

	* lily/tie-column.cc (set_manual_tie_configuration): new function.

	* lily/laissez-vibrer-tie.cc: new file.

	* lily/include/laissez-vibrer-tie.hh: new file.

	* ly/engraver-init.ly: add Laissez_vibrer_engraver

	* ly/declarations-init.ly (laissezVibrer): add \laissezVibrer

	* scm/define-grobs.scm (all-grob-descriptions): add
	LaissezVibrerTie, LaissezVibrerTieColumn

	* lily/tie-column.cc (set_tie_config_directions): new function
	(final_shape_adjustment): new function.
	(shift_small_ties): new function.

	* scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent

	* lily/include/tie.hh (struct Tie_details): add x_gap_
	(struct Tie_configuration): add head_position_

	* lily/tie-column.cc (set_chord_outline): new function.

	* mf/cmr.enc.in:  remove file.

2005-09-11  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/examples.itely: typo fix.  Thanks, Matevž

2005-09-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
	reduce aliasing effects.

	* lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
	box in skyline.

2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tie.cc (get_configuration): don't crash if left_dot is NULL.

	* flower/include/real.hh: std::fabs too.

2005-09-08  Jan Nieuwenhuizen  <janneke@gnu.org>

	* Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner). 

	* lily, flower: Include C++ iso C headers.  Import namespace std
	throughout.

	* lily/side-position-interface.cc: 
	* lily/scm-hash.cc: 
	* lily/note-head.cc: 
	* lily/include/includable-lexer.hh: 
	* flower/include/string-data.icc: Remove using std::*.

	* lily, flower: Include C++ iso C headers.  Import namespace std
	throughout.

	* lily/side-position-interface.cc: 
	* lily/scm-hash.cc: 
	* lily/note-head.cc: 
	* lily/include/includable-lexer.hh: 
	* flower/include/string-data.icc: Remove using std::*.

	* Documentation/user/instrument-notation.itely (Entering lyrics):
	Multiple latin-1->utf-8 conversion fix.

	* Documentation/user/*tely: Update Emacs cookie to utf-8.

2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tie.cc (get_configuration): also avoid dots for non-space
	situations.

2005-09-07  Jan Nieuwenhuizen  <janneke@gnu.org>

	* Documentation/user/instrument-notation.itely: Bugfix.

2005-09-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* tex/GNUmakefile: don't install texinfo.tex

	* tex/ : cleanup: remove unused files.

	* lily/general-scheme.cc: remove my_{isinf,isnan}.

	* flower/include/real.hh: using std::{isnan,isinf}
	
	* VERSION (PATCH_LEVEL): release 2.7.9

2005-09-05  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/ instrument-notation.itely,
	advanced-notation.itely: minor tweaks.

	* input/test/script-chart.ly: add item padding.

2005-09-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* flower/offset.cc: use math.h iso. <cmath>

	* scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
	of IE users.

	* scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
	(widen-left-stencil-edges): new function. Fix alignment problems
	with LaTeX includegraphics.

	* lily/text-interface.cc (interpret_markup): use abort().

2005-09-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* input/regression/tie-chord.ly (testLong): add a chord in 4ths

	* lily/tie.cc (get_configuration): update bezier shape as we
	change Y positions.
	(get_configuration): don't move large ties if we're outside of the
	staff.

2005-09-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/define-markup-commands.scm (strut): swap X and Y dims.
	
2005-09-03  Jan Nieuwenhuizen  <janneke@gnu.org>

	* .cvsignore: Add auto-generated configure files and then some.

2005-09-02  Jan Nieuwenhuizen  <janneke@gnu.org>

	* scm/define-grobs.scm (DynamicLineSpanner): Add
	X-extent-callback.  Fixes hairpin-slur collision.

2005-08-31  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/advanced-notation.itely,
	basic-notation.itely: minor changes.

2005-08-31  Mats Bengtsson  <mabe@s3.kth.se>

	* scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
	\linebreak between each .eps file if \betweenLilyPondSystem is
	undefined. 

	* Documentation/user/lilypond-book.itely (Integrating LaTeX and
	music): Document the \linebreak

	* Documentation/user/lilypond-book.itely,
	input/tutorial/lbook-latex-test.tex,
	Documentation/user/examples.itely: Remove \usepackage{graphics}

2005-08-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.

	* lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
	compat bugfix.

	* scripts/lilypond-book.py (PREAMBLE_LY): define
	inside-lilypond-book
	(modify_preamble): new function. Insert \RequirePackage{graphics}
	when no {graphics found in preamble.  

2005-08030  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/basic-notation.itely, global.itely,
	tutorial.itely: misc small changes.

2005-08-30  Jan Nieuwenhuizen  <janneke@gnu.org>

	* stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
	VERSION.

2005-08-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tie-column.cc (new_directions): put Tie down on center
	staff line. 

	* lily/script-interface.cc (before_line_breaking): use
	Grob::programming_error

	* scm/ps-to-png.scm (make-ps-images): use pngalpha device.

	* scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
	of splitext.

2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PACKAGE_NAME): VERSION release 2.7.8

2005-08-29  Werner Lemberg  <wl@gnu.org>

	* mf/GNUmakefile: Add `-f' flag to `rm' command while removing
	the `*.scale.pfa' files to avoid warnings.

2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tempo-performer.cc (process_music): idem.

	* lily/midi-def.cc (get_tempo): Rational to int conversion bug.

2005-08-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/advanced-notation.itely (Text markup): not a
	fragment.

	* lily/midi-item.cc (to_string): use to_int() iso. int cast.

	* lily/staff-performer.cc (initialize): add tempo/name to
	audio_staff_

2005-08-26  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/advanced.itely: add text-only example.

	* Documentation/user/invoking.itely: add index entries for
	convert-ly.

	* Documentation/user/ tutorial.itely, basic-notation.itely:
	small fixes suggested by Steve D.  Thanks!

2005-08-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* input/regression/markup-bidi-pango.ly: new file.

	* lily/pango-font.cc (pango_item_string_stencil): make Mingw code
	standard. Remove #ifdef. Remove memleak.
	(text_stencil): use text_dir to decide how to composite items.
	(text_stencil): determine uniform text direction for the entire
	string.

	* scripts/lilypond-book.py (output_name): remove
	latex_filter_cmd. Non-portable to non-Unix systems. 
	(get_latex_textwidth): use File.write and os.unlink() instead.

	* THANKS: add Vicente & Trevor.

	* lily/grob.cc (discretionary_processing): look up origin for
	programming_error too. 

	* input/regression/tie-broken.ly: new file.

	* lily/tie-column.cc (set_chord_outlines): set outline for line
	break case too.
	
2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/pango-font.cc (text_stencil): don't translate glyphs in
	unscaled transform, just translate stencils.

	* ly/performer-init.ly: init timing to #t.  Fixes bar checks in
	MIDI.

	* scm/define-markup-commands.scm (wordwrap-string): use
	text-direction
	(wordwrap-stencils): idem.
	(line): idem.
	(fill-line): idem.
	(wordwrap-stencils): translate last line to right for
	text-direction = LEFT.

	* scm/define-grob-properties.scm (all-user-grob-properties): add
	text-direction.

2005-08-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>

	* lily/lily-parser.cc (Lily_parser): also copy output_basename_
	when copying a Lily_parser object.

2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* scm/define-markup-commands.scm (null): add null markup.

2005-08-25  Mats Bengtsson  <mabe@s3.kth.se>

	* lily/item.cc: Add documentation of center-invisible

2005-08-24  Graham Percival  <gpermus@gmail.com>

	* Documentation/user/advanced-notation.itely: add info about
	raising text.

	* Documentation/user/programming-interface.itely: fix example
	involving raised text.

2005-08-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/beam.cc (print): fix X start/end points of isolated
	beamlets.

	* scm/output-ps.scm (grob-cause): escape spaces in URLs.

	* lily/multi-measure-rest.cc (set_text_rods): new function.

	* lily/vertical-align-engraver.cc (process_music): call
	Align_interface::set_axis(). This forces #'elements to be ordered,
	preventing random vertical reordering of staves.

	* scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
	add avoid-slur property. 

	* Documentation/user/basic-notation.itely (Measure repeats): add
	countPercentRepeats example.

	* Documentation/user/advanced-notation.itely (Other text markup
	issues): remove remark about normal-font.  We have \normal-text

	* input/regression/tie-chord.ly: add note about remaining bugs.

	* lily/tie.cc (print): try Tie_column::set_directions () if
	control-points not yet defined.

2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/system-start-delimiter.cc (staff_brace): don't remove brace
	extent. This fixes braces falling out of the EPS bbox.

	* mf/feta-beugel.mf (braces_per_font): make brace glyph align
	exactly to bbox.

2005-08-23  Graham Percival  <gpermus@gmail.com>

	* {various} : change #up->#UP and #down->#DOWN.

	* ly/titling-init.ly: Spacing fix when using printallheaders=##t.

	* Documentation/user/advanced-notation.itely: clarify
	what objects handles text on a multimeasure rest.

2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PATCH_LEVEL): release 2.7.7

2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* make/lilypond-vars.make: set -dgs-font-load for "make web" 

	* Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.

	* input/regression/*.ly: formatting clean-up. Default layout
	before music expression.

	* input/mutopia/R.Schumann/GNUmakefile (examples): switch off
	romanze28-2 example.

	* scm/ps-to-png.scm: remove dir-re function.
	(make-ps-images): generate page names, instead of globbing them.
	This brings down LilyPond memory usage for make web by a factor
	10. 

	* scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
	don't use glob. With 3000 files, globbing
	Documentation/user/out-www/ can take too much time. 
	
	* lily/lily-guile.cc (gulp_file_to_string): take size argument.

	* lily/general-scheme.cc (LY_DEFINE): take optional size argument.

	* input/regression/tie-manual.ly: new file

	* input/regression/tie-chord.ly: update.

	* flower/include/interval.hh (struct Interval_t): 

	* lily/tie.cc (distance): new function 
	(height): new function.
	(init): new function
	(Tie_details): new struct.

	* lily/skyline.cc (skyline_height): new function.

	* lily/tie-column.cc (set_chord_outlines): new function.
	(new_directions): read tie-configuration

	* lily/skyline.cc: fix ASCII art.
	
2005-08-22  Mats Bengtsson  <mabe@s3.kth.se>

	* python/convertrules.py (string_or_scheme): Fix spelling error

2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
	
	* lily/tie-column.cc (set_directions): set directions only once.
	(add_configuration): new function.

	* lily/tie.cc (set_control_points): new function

	* lily/tie-column.cc (new_directions): new function.

	* ly/music-functions-init.ly: set 'pitch property
	iso. trill-pitch. This makes \relative work with \pitchedTrill

	* lily/tie.cc (get_configuration): new function. Don't generate
	control points, rather, generate configuration.
	remove head-pair property.

	* lily/include/tie.hh (struct Tie_configuration): new struct.

2005-08-22  Heikki Junes  <hjunes@cc.hut.fi>

	* Documentation/topdocs/NEWS.tely: clarify.

2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/tie.cc: remove minimum-length

	* scm/define-grob-properties.scm (all-user-grob-properties):
	remove staffline-clearance, y-offset 

	* input/regression/tie-dots.ly (Module): remove.

	* lily/tie.cc (get_control_points): rewrite. Put short ties in
	staff-spaces, make long ties cross staff lines. Avoid flags and dots.

	* input/regression/tie-single.ly: new file.

2005-08-21  Graham Percival  <gpermus@gmail.com>

	* ly/bagpipe.ly: fix compile problem.

2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/midi-item.cc (name): new method.

	* lily/staff-performer.cc (acknowledge_audio_element): use
	signature of baseclass.

	* lily/engraver-group.cc (do_announces): move recursion call out
	of while loop. 

	* lily/drum-note-performer.cc (class Drum_note_performer): use
	process_music everywhere.

	* ly/performer-init.ly: add default children everywhere.

	* lily/paper-book.cc (output): call paper-book-write-midis
	directly: always write MIDI, even if no \layout {} block. 

2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* VERSION (PACKAGE_NAME): release 2.7.6

	* lily/percent-repeat-engraver.cc (try_music): don't print warning
	about not being able to handle repeat.

2005-08-19  Jan Nieuwenhuizen  <janneke@gnu.org>

	* Documentation/user/examples.itely (Piano templates):
	* lily/include/performer-group.hh: Remove last traces of
	Performer_group_performer.  Fixes make web.

2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* Documentation/user/examples.itely (Piano templates): change
	Engraver_group_engraver -> Engraver_group

	* lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
	scm_stand_in_procs is not weak_any.

	* lily/volta-bracket.cc (print): don't use strcmp().

	* lily/volta-engraver.cc (process_music): use
	Text_interface::is_markup() for setting the 'text property of the
	volta bracket.

	* input/mutopia/claop.py (accents): update syntax to 2.6

	* scm/define-context-properties.scm
	(all-user-translation-properties): add countPercentRepeats.

	* Documentation/user/basic-notation.itely (Measure repeats): add
	isolated percent example.

2005-08-18  Graham Percival  <gpermus@gmail.com>

	* input/ {various}: change direction #1, #-1 to
	#up/#down or \fooUp, \fooDown.

	* Documentation/user/music-glossary.tely: #-1 to #down.

	* ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
	to #up, #-1 to #down.

2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* lily/include/engraver-group.hh: rename.

	* lily/include/performer-group.hh: rename.

2005-08-18  Mats Bengtsson  <mabe@s3.kth.se>

	* input/test/script-abbreviations.ly: Removed some old LaTeX
	left overs.

2005-08-18  Jan Nieuwenhuizen  <janneke@gnu.org>

	* python/convertrules.py (conv): inside-slur -> avoid-slur.
	Remove functions.  Remove if 1: constructs, reindent.

	* scripts/convert-ly.py (add_version): Add functions from
	convertrules.py

	* scm/script.scm (default-script-alist):
	s/priority/script-priority.  Fixes script stacking.  Backportme.
	(Fermata): Very low priority.

2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>

	* input/regression/*.ly: remove superfluous \score blocks. Reindent.

	* input/regression/slur-script.ly: remove padding tweaks. Add
	comment strings.

	* lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
	time sigs and related stuff.

	* scm/define-grob-properties.scm (all-user-grob-properties): add
	@c
