]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
* scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
[lilypond.git] / ChangeLog
index 9f753356b513c4f6c369dbd36a899c31267e2d61..7c7ad1a10f215f2bb07055713022cd7c3f439b61 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,659 @@
+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/control-track-performer.cc (add_text): new file: generate
        the control track.
 
-       * lily/performance.cc: move output_header_track to Control_track_performer()
+       * lily/performance.cc: move output_header_track to
+       Control_track_performer ()
 
        * lily/midi-walker.cc (Midi_walker): get channel in constructor.
 
        * 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
  
        * lily/grob.cc (get_print_stencil): use retval.expr() as base for
        color, not the original stencil. Fixes combinations of
-       color/transparency/rotation. Backportme.
+       color/transparency/rotation. 
 
        * scripts/lilypond-book.py (main): add --formats=eps for
        texinfo/latex.
        (get_line_configuration): don't use cols.resize(); it introduces
        initialized data.
 
-       * scm/framework-ps.scm (dump-page): add setstrokeadjust. Backportme.
+       * scm/framework-ps.scm (dump-page): add setstrokeadjust. 
 
        * ps/music-drawing-routines.ps: remove selectfont L1 hack.