+2004-06-17 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/framework-gnome.scm: Add pango decoders.
+
+ * lily/include/pangofc-afm-decoder.hh:
+ * lily/pangofc-afm-decoder.cc: New file.
+
+ * lily/lily-guile.cc (ly:pango-add-afm-decoder): New function.
+
+ * configure.in: Check for pango.
+
+ * stepmake/aclocal.m4 (PKG_CHECK_MODULES): New function (from
+ autoconf).
+ (STEPMAKE_GTK2, STEPMAKE_PANGO): New function.
+
+ * config.make.in (USER_CFLAGS, USER_LDLAGS): Update.
+
+2004-06-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * Documentation/user/tutorial.itely (Integrating text and music):
+ fix grammar & punctuation.
+
+2004-06-16 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/: Stray janitorial cleanups.
+
+ * scm/lily.scm (ly:all-stencil-expressions):
+ * scm/lily.scm (ly:all-output-backend-commands): New function.
+
+ * scm/safe-lily.scm (safe-objects): Add them.
+
+ * scm/framework-gnome.scm (<gnome-outputter>): New class.
+
+ * scm/output-gnome.scm: Move non-stencil evaluators to framework.
+
+2004-06-15 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * buildscripts/guile-gnome.sh: Pick-up user-installed pango.
+
+2004-06-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/page-layout.scm (default-page-make-stencil): add
+ raggedbottom, raggedlastbottom.
+
+ * Documentation/user/changing-defaults.itely (Page layout): add doc.
+
+ * scm/framework-tex.scm (define-fonts): fix export of
+ papersize.
+
+ * lily/paper-book.cc (classic_output): strip suffixes from
+ framework functions.
+
+ * lily/tuplet-bracket.cc (before_line_breaking): do not return
+ SCM_UNDEFINED to Scheme.
+
+2004-06-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/book.cc: remove Book::to_stencil().
+ (process): whoops. Score::book_rendering returns vector, not list.
+
+ * scripts/convert-ly.py (conv): remove \notes.
+ apply to input examples.
+
+ * lily/paper-outputter.cc (output_stencil): don't use
+ smobify_self() but self_scm()
+
+ * lily/include/ly-smobs.icc (IMPLEMENT_SMOBS): don't return SCM
+ from smobify_self().
+
+ * lily/paper-book.cc (output): load framework module
+ scm_c_resolve_module().
+
+ * python/lilylib.py (exit): exit with argument i.
+
+2004-06-14 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/framework-gnome.scm (output-framework-gnome): Try loading
+ gnome modules from non-toplevel.
+
+ * lily/ly-module.cc (ly:import-module): Export to ly:.
+
+ * lily/paper-score.cc (process): Do not show progress newline.
+
+ * lily/paper-book.cc (output, classic_output): Show progess
+ newline after score.
+
+2004-06-14 Heikki Junes <hjunes@cc.hut.fi>
+
+ * buildscripts/lilypond-words.py: add ly/vlaams.ly
+
+2004-06-14 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/score.cc (ly:run-translator): Do not crash on empty music
+ list.
+
+ * lily/book.cc (process): Do not render score when systems is empty.
+
+ * input/simple-song.ly: Down one octave.
+
+ * scm/output-gnome.scm: Remove script again; re-add modules fix
+ (CVS conflict resolve?)
+
+ * lily/stencil.cc (ly:interpret-stencil): Was:
+ interpret_stencil_expression.
+
+2004-06-13 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * buildscripts/guile-gnome.sh: New file.
+
+ * scm/output-gnome.scm: White background, better window size, sane
+ canvas size. Cleanups.
+
+2004-06-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * VERSION: release 2.3.4
+
+ * Documentation/user/invoking.itexi (Invoking the lilypond
+ binary): document --safe.
+
+ * scm/output-gnome.scm: set PATH in script.
+
+ * scm/page-layout.scm (default-page-make-stencil): don't stretch
+ if there is too few systems on a page.
+
+ * lily/parser.yy (relative_music): start at middle C without pitch
+ argument.
+
+ * Documentation/user/changing-defaults.itely (Page layout): new node.
+ (Paper size): rename node
+ (Page breaking): new node.
+ (Titling): move from invoking.
+ (File structure): new node.
+
+ * lily/parser.yy (score_body): allow \header and music anywhere in
+ \score body.
+
+2004-06-13 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/lily.scm (ly:load): Remove page-breaking.scm.
+
+2004-06-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/include/paper-system.hh: move cc/hh file from paper-line.*
+
+ * lily/include/paper-line.hh: rename to Paper_system.
+
+ * lily/include/paper-book.hh: doc class.
+
+ * lily/paper-book.cc (c_ragged_page_breaks): remove functions.
+
+ * scm/page-layout.scm (plain-footer): add tagline/copyright.
+ (plain-header): add instrument-name.
+ (default-page-make-stencil): bugfixes.
+
+ * lily/parser.yy (book_body): allow \header anywhere in \book{}
+
+ * lily/paper-book.cc: remove copyright & tagline. Remove
+ interactions with Page
+
+ * scm/page-layout.scm (ly:optimal-page-breaks): move back breaking
+ here,
+ (default-page-make-stencil): new function
+ (default-page-music-height): new function
+ (page-headfoot): new function
+ (ly:optimal-page-breaks): generate stencils directly from here
+
+ * scm/titling.scm: new file, group titling functions
+
+2004-06-13 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: Handle multiple pages.
+
+ * scm/framework-gnome.scm: Do not load output-gnome.
+ (framework-gnome): Invoke output-gnome::header and
+ output-gnome::end-output as faked stencils. Fixes experimental
+ gnome output.
+
+2004-06-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ly (rondo):
+ octavation compatibility fixes. Backportme.
+
+ * scm/page-breaking.scm (ly:optimal-page-breaks): allow overfull
+ pages.
+ (ly:optimal-page-breaks): combine-penalties: no shortcut for
+ negative. Now we handle negative penalties (ie. \pageBreak)
+ correctly.
+
+ * lily/system.cc (get_line): extract page-penalty from the left
+ bound.
+
+ * scm/fret-diagrams.scm (fret-diagram): use @table for documentation
+
+2004-06-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/framework-ps.scm: don't load output-XXX from framework-XXX
+
+2004-06-12 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: Update script. Move development to
+ lilypond_2_3_2 branch for now.
+
+2004-06-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/page-breaking.scm (ly:optimal-page-breaks): don't do
+ negative penalties.
+ cleanups.
+
+ * Documentation/user/changing-defaults.itely (Creating contexts):
+ index entries
+
+ * scm/page-breaking.scm (ly:optimal-page-breaks): new
+ file. Rewrite function.
+
+ * lily/paper-book.cc (pages): new interface: page-breaking returns
+ list of line-list.
+
+ * lily/page.cc (Page): take lines argument.
+
+ * scm/document-translation.scm (all-engravers-doc): link to user man
+
+ * scm/page-layout.scm (ly:optimal-page-breaks): use penalty iso. score.
+
+ * Documentation/user/notation.itely (Relative octaves): typo.
+
+ * lily/paper-book.cc (LY_DEFINE): ly:output-formats. New function.
+
+2004-06-11 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: Update build script.
+
+2004-06-10 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: Add font scaling. Attempt to resurrect
+ gnome backend.
+
+ * scm/framework-gnome.scm: New file.
+
+ * scm/lily.scm: Use it.
+
+ * lily/paper-outputter.cc: Janitorial cleanups.
+ (ly:outputter-dump-string): Remove unreachable statement.
+
+ * scm/framework-ps.scm: Add header. Janitorial cleanups.
+ (ice-9): Bugfix: Add srfi-1.
+
+ * scm/framework-tex.scm: Add header. Janitorial cleanups.
+
+2004-06-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/new-lyric-combine-music-iterator.cc (do_quit): put warning
+ in do_quit()
+
+2004-06-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * ly/book-paper-defaults.ly: set optimal-page-breaks as default
+
+2004-06-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
+ override of Beam::position-callbacks. Why would grace beams not be
+ quantized? Fixes: weird-stem-size-grace.
+
+ * lily/new-lyric-combine-music-iterator.cc (find_voice): issue
+ warning only once. Backportme.
+
+ * lily/accidental-engraver.cc (number_accidentals_from_sig):
+ bugfix, 2nd try. Backportme.
+
+ * ly/vlaams.ly: new file. (Thanks Hendrik Maryns)
+
+2004-06-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
+
+ * Documentation/user/notation.itely (Instrument transpositions):
+ Correct the name of the instrumentTransposition property.
+
+2004-06-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/output-ps.scm (ps-font-command): fix parmesan coding too.
+
+2004-06-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
+
+ * scripts/lilypond-book.py (output): Bug fix so preLilyPondExample
+ and postLilyPondExample are called when defined.
+
+2004-06-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * ly/nederlands.ly (pitchnames): use ly:parser-set-note-names.
+ This fixes setting notenames with `\include "nederlands.ly" '
+
+ * lily/my-lily-parser.cc (LY_DEFINE): ly:parser-set-note-names:
+ new function.
+
+2004-06-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/page-layout.scm: don't do piece, it should be in score-title
+ only.
+
+ * lily/lexer.ll: lex \score separately.
+
+ * lily/paper-book.cc: junk stencil2line.
+
+ * lily/paper-line.cc (Paper_line): construct from Stencil
+ directly. No futzing with the dimensions.
+
+ * lily/include/paper-line.hh (class Paper_line):
+
+ * lily/stencil.cc (interpret_stencil_expression): combine-stencil
+ takes arbitrary number of arguments.
+
+ * input/test/markup-score.ly (tuning): simplify example.
+
+2004-05-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/score.cc (LY_DEFINE): ly:score-embedded-format, new function.
+
+ * scm/define-markup-commands.scm (score): define score-markup
+
+ * lily/parser.yy (markup): use score-markup.
+
+ * lily/score.cc: add ly:score?
+
+2004-05-30 Carl Sorensen <carl_sorensen@byu.edu>
+
+ * scm/fret-diagrams.scm: add fret-diagram-verbose markup; modified
+ fret-parse-string so it prepares for calls to fret-diagram-verbose
+ Changed display constants to props so they are available for
+ \override.
+
+2004-05-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * VERSION: release 2.3.3
+
+ * stepmake/stepmake/generic-vars.make: unset LANG.
+
+ * input/regression/tuplet-nest.ly: bugfix.
+
+ * lily/tie-performer.cc (stop_translation_timestep): reset
+ ties_created_. Fixes: midi-tie.ly, midi-lyrics-barcheck.ly
+
+ * lily/chord-tremolo-engraver.cc (stop_translation_timestep):
+ clear repeat_ directly after setting stem_tremolo_. Fixes:
+ tremolo-repeat.ly
+
+ * input/regression/span-bar-break.ly: new file.
+
+ * scm/define-grobs.scm (all-grob-descriptions): remove
+ break-visibility from SpanBar. Fixes: piano-repeat.ly
+
+2004-05-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * python/lilylib.py (make_ps_images): only compute bbox when needed.
+
+ * scripts/lilypond-book.py (process_snippets): use lily -f ps
+ files for generating pngs. (failed experiment)
+
+ * scm/framework-ps.scm (output-classic-framework-ps): dump EPS
+ file with PFA fonts included.
+
+ * lily/score.cc (default_rendering): put header in too.
+
+ * lily/paper-line.cc (LY_DEFINE): change function to
+ ly:paper-line-extent
+
+ * scm/page-layout.scm (default-book-title): only add lines for
+ non-nil fields.
+ (default-score-title): idem.
+
+ * lily/my-lily-parser.cc (parse_string): delete lexer after use.
+
+ * lily/my-lily-lexer.cc (My_lily_lexer): copy keytable.
+
+ * lily/include/paper-book.hh (class Paper_book): remove height_
+ member.
+
+ * input/test/coriolan-margin.ly (texidoc): remove latex macros.
+
+ * lily/ly-module.cc (LY_DEFINE): bugfix.
+
+ * lily/paper-book.cc (book_title): separate function for the book
+ title.
+
+ * scm/page-layout.scm (default-book-title): only account for
+ markup fields.
+
+ * scm/framework-ps.scm: new file. Move high level interface from
+ output-ps.scm
+
+ * scm/music-functions.scm (def-grace-function): move macros from
+ ly/music-functions-init.ly
+
+ * lily/paper-outputter.cc (Paper_outputter): move scheme_calls to
+ framework-tex.scm
+
+ * scm/framework-tex.scm (dump-line): new file. High level
+ interface for output (pages, systems, header).
+
+ * lily/include/page.hh (class Page): add is_last_ field.
+
+ * lily/paper-outputter.cc (print_smob): smobify Paper_outputter.
+
+ * lily/paper-book.cc (split_string): new function
+ (output): output multiple formats, i.e. --format=ps,tex
+
+ * scm/output-ps.scm (output-scopes): dump variables directly.
+ (define-fonts): rewrite for new interface
+
+ * ps/lilyponddefs.ps: remove lilypondpaper redefinitions.
+
+ * lily/paper-outputter.cc (Paper_outputter): take format argument.
+
+ * lily/main.cc (parse_argv): don't set extension for output.
+
+ * lily/clef-engraver.cc (create_clef): remove
+ Staff_symbol_referencer::set_position() call.
+
+2004-05-30 Nicolas Sceaux <nicolas.sceaux@free.fr>
+
+ * ly/music-functions-init.ly (addlyrics): set the 'origin property
+ with the location argument in music function definitions.
+
+2004-05-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/staff-symbol-engraver.cc (acknowledge_grob): remove item ->
+ staffsymbol dependency.
+
+ * lily/include/grob.hh (class Grob): live () -> is_live (). Small
+ cleanups.
+
+ * lily/book.cc (process): return Paper_book
+ (to_stencil): use Book::process().
+
+ * lily/include/my-lily-parser.hh (class My_lily_parser): remove
+ header_ field. Store in $globalheader
+
+ * lily/parser.yy (book_body): book header is initted to
+ $globalheader.
+
+
+2004-05-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * input/test/fill-a4.ly: removed.
+
+ * lily/parser.yy (output_def): push scope of parent_ Output_def
+ too.
+
+2004-05-28 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: Update info.
+
+2004-05-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/book-paper-def.cc: collapse Book_output_def to Output_def.
+
+ * scm/lily.scm (ly:modules-lookup): handle empty list, and more
+ than 1 module.
+
+ * lily/include/ly-module.hh (ly_use_module): rename is_module to
+ ly_c_module_p.
+
+ * scm/page-layout.scm (default-book-title): move Scheme titling
+ functions to here.
+
+ * lily/parser.yy (book_paper_block): remove scope too.
+
+ * ly/engraver-init.ly (EasyNotation): remove OrchestralScoreContext
+
+ * lily/rest.cc: add direction to rest properties.
+
+ * lily/include/output-def.hh: new file, move from
+ music-output-def.hh
+
+2004-05-27 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: Describe feta-cork hack.
+
+2004-05-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/include/book-paper-def.hh: derive from Output_def
+
+ * lily/include/paper-def.hh: move all functionality out of class.
+ Junk header.
+
+ * lily/include/music-output-def.hh: rename Music_output_def to
+ Output_def.
+
+ * input/wilhelmus.ly: only set space for Paper formatting.
+
+ * lily/include/midi-def.hh: remove file, remove class.
+ Move functions to Music-output-def.
+
+ * lily/music-output-def.cc (Music_output_def): remove separate
+ translator table. Lookup translators in scope directly. This
+ obviates Context suffix for context identifiers, i.e.
+
+ \context {
+ \Staff
+ ..
+ }
+
+
+ will work.
+
+
+ * Documentation/user/notation.itely (Chords mode): typo: 13 -> 3.
+
+ * Documentation/user/changing-defaults.itely (Horizontal spacing):
+ document spacing override hack.
+
+2004-05-27 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: Add C-q, C-w keybindings. Update
+ installation info. Support point-and-click. Add +/- zoom
+ keybindings.
+
+2004-05-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * VERSION: 2.3.2 released
+
+ * lily/parser.yy (book_body): set default bookpaper.
+
+ * scm/output-tex.scm (header): kludge: hard code linewidth.
+
+ * lily/my-lily-parser.cc (My_lily_parser): don't delete lexer.
+
+2004-05-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/score.cc (default_rendering): scale outputdef before
+ starting.
+
+2004-05-25 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/fret-diagrams.scm: Add header.
+
+ * scm/output-gnome.scm: Hello world :-)
+
+2004-05-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scripts/lilypond.py (run_dvips): only add papersize if present.
+
+ * lily/accidental-engraver.cc (update_local_key_signature): new
+ function, fold code from initialize() and process_music().
+ (update_local_key_signature): use deep copy. This fixes one
+ problem from custom-key-signatures.ly.
+ (number_accidentals_from_sig): tighter check for
+ accidental-too-old.
+
+ * ly/engraver-init.ly: remove localKeySignature
+ definition from ChoirStaff, StaffGroup, Score.
+
+ * lily/percent-repeat-engraver.cc (try_music): add moments for
+ barlines too. Fixes: skipbars-percent-repeat.ly.
+
+2004-05-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/context-def.cc (filter_performers): don't go to cdrloc if
+ skipping last pair. Fixes: crash-bar-number.
+
+ * scm/fret-diagrams.scm (nil): fret-diagrams (courtesy Carl
+ D. Sorensen)
+
+ * input/test/fret-diagram.ly: new file.
+
+ * scm/paper.scm (paper-set-staff-size): scale linewidth too.
+ (scale-paper): divide by scale.
+
+2004-05-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/rest-collision.cc (do_shift): also do nothing for the (0,2)
+ case.
+
+2004-05-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/stencil.scm (fontify-text): reinstate function
+
+ * tex/lily-ps-defs.tex: remove lilypondblotdiam def.
+
+ * lily/book-paper-def.cc (Book_paper_def): add copy ctor.
+
+ * lily/parser.yy (book_paper_head): \bookpaper {}
+
+ * python/midi.c: remove config.h
+
+2004-05-18 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: Update.
+
+2004-05-17 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: New file.
+
+ * lily/include/book-paper-def.hh: Add. Janitorial fixes.
+
+2004-05-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/book-paper-def.cc (ly_bookpaper_fonts): move from Paperdef
+ (find_scaled_font): move from Paper_def
+
+2004-05-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/my-lily-parser.cc (LY_DEFINE): new function ly_parser_lookup
+ (LY_DEFINE): add SCM_ASSERT_TYPE everywhere.
+
+ * po/fr.po: update po.
+
+ * lily/include/book-paper-def.hh (class Book_paper_def): new file.
+
+ * lily/book-paper-def.cc (print_smob): new file.
+
+2004-05-16 Heikki Junes <hjunes@cc.hut.fi>
+
+ * buildscripts/lilypond-words.py: search words also from
+ music-functions-init.ly.
+
+2004-05-15 Nicolas Sceaux <nicolas.sceaux@free.fr>
+
+ * ly/music-functions-init.ly (def-music-function): new helper
+ macro for defining music functions. \addlyrics \appoggiatura
+ \acciaccatura \grace \partcombine \autochange \applycontext
+ \applyoutput and \breathe are now defined here thanks to it.
+
+ * lily/parser.yy:
+ * lily/my-lily-lexer.cc: \addlyrics \appoggiatura \acciaccatura
+ \grace \partcombine \autochange \applycontext \applyoutput and
+ \breathe keywords removed from the parser.
+
+ * lily/parser.yy:
+ * lily/music-function.cc (ly_make_music_function):
+ * lily/lexer.ll (music_function_type): added a case for 0-arg
+ music functions.
+
+2004-05-14 Nicolas Sceaux <nicolas.sceaux@free.fr>
+
+ * scm/ly-from-scheme.scm (read-lily-expression): A variable
+ refering to a music expression can be used in lily-inside-scheme:
+ #{ $music #}
+
+ * lily/my-lily-parser.cc (LY_DEFINE): introduce ly:clone-parser
+ and ly:parser-define, and change ly:parser-parse-string in order
+ to make #{ $music #} work.
+
+ * scm/new-markup.scm (compile-markup-expression): when an argument
+ is a string, use `make-simple-markup'.
+
+2004-05-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/parser.yy (My_lily_lexer): bugfix; op should be tag.
+
+2004-05-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scripts/convert-ly.py (FatalConversionError.func): handle + in
+ font-size. (backportme)
+
+2004-05-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/paper-outputter.cc (output_stencil): dump font definitions
+ before each stencil.
+
+ * lily/include/paper-book.hh (struct Score_lines): new
+ struct. Collect info per Paper-score.
+
+ * lily/include/page.hh (class Page): to_stencil() returns Stencil
+ everywhere.
+
+ * lily/stencil.cc (find_expression_fonts): new function
+
+ * lily/paper-outputter.cc (output_stencil): use
+ interpret_stencil_expr
+
+ * lily/stencil.cc (LY_DEFINE): ly_stencil_fonts: new function.
+ (interpret_stencil_expr): new function. Generic stencil
+ interpretation.
+
+ * lily/paper-def.cc (find_scaled_font): divide lookup
+ magnification by outpuscale for non-virtual fontmetrics. This
+ fixes ludicrously long font definitions for text
+ fonts. (backportme)
+
+ * lily/score-engraver.cc: remove
+ {Engraver,Score_engraver}::typeset_grob(), remove all calls.
+
+2004-05-09 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * input/test/markup-score.ly: Remove \notes.
+
+ * lily/parser.yy (book_body): Grok Composite_music and \header.
+ (markup): Push NOTES mode before score_block.
+
+ * VERSION: release 2.3.1
+
+ * mf/feta-klef.mf:
+ * mf/feta-bolletjes.mf: Oops. Comment-out canvast test code.
+
+ * Documentation/user/programming-interface.itely: Use @emph (was: @em).
+
+ * Documentation/user/out/tutorial.texi: Untrigger lilypond-book error.
+
+2004-05-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/output-tex.scm (output-tex-string): tighten safe security.
+
+ * lily/scm-option.cc (LY_DEFINE): add 'safe to ly:get-option
+
+ * scm/safe-lily.scm (make-safe-lilypond-module): new file. Define
+ allowed ly functions.
+
+ * lily/ly-module.cc (ly_module_define): only define variable if
+ bound.
+ (ly_make_anonymous_module): take safe option.
+
+2004-05-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scripts/lilypond-book.py (compose_ly): remove FRAGMENT_LY.
+
+2004-05-08 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * input/regression/newaddlyrics.ly: Fix.
+
+ * Documentation/user/tutorial.itely: Use \newlyrics, remove most
+ \score \notes.
+
+2004-05-08 Heikki Junes <hjunes@cc.hut.fi>
+
+ * Documentation/user/music-glossary.tely ([k-z]): last fixes.
+
+2004-05-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * input/mutopia/R.Schumann/romanze-op28-2.ly (d): use #(define .. )
+
+ * lily/paper-line.cc (Paper_line): don't store list of stencils,
+ but convert to single Stencil immediately.
+
+ * lily/paper-book.cc (title): don't return Stencil* but Stencil.
+
+2004-05-07 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-sodipodi.scm: Resurrect sodipodi output.
+
+2004-05-07 Kristof Bastiaensen <kristof.bastiaensen@vleeuwen.org>
+
+ * elisp/lilypond-mode.el: Changed the way defaults are created for
+ LilyPond-command-master. LilyPond-mode will now check the
+ timestamps of the files to see which command has to run next.
+
+2004-05-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/bass-figure.scm (format-bass-figure): don't set
+ number-markup for strings. This fixes string in bass
+ figure. (backportme)
+
+ * lily/parser.yy (bass_number): insert number-markup into figure
+ definition.
+
+ * scm/define-music-properties.scm (all-music-properties): make
+ 'figure a markup.
+
+ * scripts/convert-ly.py (conv): \apply -> \applymusic
+
+2004-05-06 Kristof Bastiaensen <kristof.bastiaensen@vleeuwen.org>
+
+ * elisp/lilypond-mode.el: changed the order of some commands
+ ("Midi" after "2Midi"), use the user-defined
+ LilyPond-command-default as default instead of "LilyPond"
+
+ * elisp/lilypond-mode.el: added a LilyPond-master-file variable,
+ to set the master file for the next command.
+
+ * elisp/lilypond-font-lock.el: replaced font-lock-warning-face
+ with font-lock-reference-face.
+
+2004-05-07 Heikki Junes <hjunes@cc.hut.fi>
+
+ * Documentation/user/music-glossary.tely ([ab]*): small fixes.
+
+ * Documentation/user/music-glossary.tely ([c-l]*): more fixes.
+
+2004-05-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * ly/music-functions-init.ly (TODO): new file.
+
+ * lily/parser.yy (Generic_prefix_music_scm): add more
+ music_function symbols.
+ (Prefix_composite_music): change \apply to music-function
+
+ * lily/include/music-function.hh: rename to music-function
+
+2004-05-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/music-head.cc (LY_DEFINE): change order of args.
+
+ * input/regression/music-head.ly (texidoc): new file.
+
+ * lily/parser.yy (Generic_prefix_music): allow generic
+ music-transformation functions.
+
+ * lily/include/music-head.hh (is_music_head): new file.
+
+ * lily/music-head.cc (get_music_head_transform): new file.
+
+2004-05-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/ottava-bracket.cc (print): use coordinate, not (0,0) for
+ empty extent. This fixes ottava brackets on rests. (backportme)
+
+ * make/lilypond.redhat.spec.in (Group): ln png files for info.
+
+ * lily/piano-pedal-engraver.cc (create_text_grobs): core dump fix.
+
+ * cygwin/lily-wins.py: update for the lily-wins.py script.
+
+2004-05-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/score-engraver.cc (typeset_all): switch off unbound spanner
+ code. This will obviate typeset_grob () in the future. The effect
+ of this is that improperly written spanner handling will result in
+ invalid spanner bounds.
+ (announce_grob): add to elems_ from here
+ (typeset_grob): comment out.
+
+ * lily/include/engraver.hh (make_spanner): new calling interface
+ for make_{item,spanner}. This obviates most calls to
+ announce_grob().
+
+ * scm/music-functions.scm (set-accidental-style): use GrandStaff
+ iso. PianoStaff for piano styles.
+
+2004-05-03 Heikki Junes <hjunes@cc.hut.fi>
+
+ * Documentation/user/music-glossary.tely: add segno after d.s.
+
+2004-05-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/include/audio-column.hh: remove unused variables.
+ (patch by Michael Welsh Duggan)
+
+ * flower/include/axes.hh (other_axis): inline Axes function
+ (thanks to David Brandon).
+
+2004-05-02 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * cygwin/mknetrel: Install image links (backportme).
+
+ * Documentation/user/GNUmakefile (local-install-info): Activate
+ actual installing of image links (backportme).
+
+2004-04-30 Mats Bengtsson <mabe@drongo.s3.kth.se>
+
+ * Documentation/user/notation.itely (Measure repeats): Removed
+ unnecessary (and confusing) \context Voice{.
+
+2004-04-29 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/topdocs/NEWS.texi: Mention use of \score as markup.
+
+ * lily/page.cc (Page): Do not use ly_scheme_function for
+ volatile/configurable variables (FIXME: better name).
+
+ * lily/music-output-def.cc (c_lookup_variable): Rename (WAS:
+ get_scmvar).
+
+2004-04-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scripts/convert-ly.py (FatalConversionError.subst): use
+ \transposition.
+
+2004-04-29 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/include/page.hh (class Page): Declare left_margin ().
+
+ * lily/page.cc: Remove paper var caching.
+
+2004-04-28 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/user/music-glossary.tely: Add name to @top node.
+ Remove comment from @table definitions (workaround for makinfo
+ bug).
+
+ * lily/stencil-scheme.cc (ly:stencil-expr): Rename (was:
+ ly:stencil-get-expr). Update callers.
+ (ly:stencil-align-to!): Return stencil too.
+
+ * lily/paper-outputter.cc (output_page): Bugfix. Use page
+ stencil. Remove looped line-based page output.
+ (output_line): Use line stencil. Remove looped stencil-based line
+ output.
+
+ * lily/page.cc (ly:page-paper-lines): New function.
+
+ * input/test/markup-score.ly: New file.
+
+ * scm/define-markup-commands.scm (stencil): New markup.
+
+ * lily/book.cc (to_stencil): New method.
+
+ * lily/parser.yy (markup): Use it to grok \score.
+
+2004-04-27 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/stencil.cc (expr): Rename (was: get_expr). Update callers.
+
+ * lily/paper-book.cc (pages): Change signature. Update callers.
+
+ * lily/include/page.hh:
+ * lily/page.cc: New file.
+
+ * lily/paper-line.cc (to_stencil): New method.
+
+ * lily/paper-outputter.cc (output_stencil): New method.
+
+ * lily/paper-outputter.cc (output_line): Use them.
+
+ * lily/warn.cc: Remove.
+
+ * lily/my-lily-parser.cc (distill_inname): Remove.
+
+ * flower/include/file-name.hh:
+ * flower/file-name.cc: New file. Update users.
+
+ * flower/file-path.cc [CYGWIN]: Junk testing code. Remove Path.
+ (find): New method of same name.
+
+ * lily/my-lily-parser.cc (ly:parse-file): Use it.
+
+ * lily/scm-option.cc (ly:set-option, ly:get-option): Bugfix:
+ constant error message.
+
+2004-04-27 Heikki Junes <hjunes@cc.hut.fi>
+
+ * input/test/{blank-notes.ly,staff-container.ly}: typos.
+
+2004-04-26 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/user/music-glossary.tely: @table @strong' replaced
+ by `@table @samp @c @strong'. This fixes invalid makeinfo output
+ (backportme).
+
+2004-04-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
+
+ * scm/lily.scm (ly:load): Add ly-from-scheme.scm loading.
+
+ * scm/ly-from-scheme.scm: New file. Introduce a new syntax:
+ #{ lily music expression #} that returns an equivalent scheme
+ music expression by parsing the string.
+
+2004-04-25 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/my-lily-parser.cc:
+ * lily/my-lily-lexer.cc: Another step towards parsing ly code from
+ SCM string (foo.ly/toto.scm support).
+
+2004-04-24 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/my-lily-parser.cc (ly:parser-parse-string): New function.
+
+2004-04-21 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * input/regression/newaddlyrics.ly: Remove lilypond-book kludge.
+
+ * scripts/lilypond-book.py: LY code that includes \header is
+ not assumed to be a fragment.
+
+2004-04-20 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/stem-tremolo.cc (print): If stem direction == CENTER, move
+ tremolo beams up.
+
+ * lily/stem.cc (chord_start_y): Return 0 if no heads.
+ (get_default_stem_end_position): No tremolo head juggling if no
+ heads. Fixes tremolo crash on rests (backportme).
+
+ * scripts/abc2ly.py: Oops use [\]proper[ty] 2.2 syntax.
+
+2004-04-19 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scripts/abc2ly.py: ABC beams preserve support (courtesy Guy
+ Gascoigne-Piggford). Also: TAB and whitespace fixes.
+
+ * lily/lexer.ll: Allow \encoding in NOTES mode.
+
+ * buildscripts/mf-to-table.py (write_fontlist): Use \lyrics
+ for lyrics, not for commands.
+
+ * lily/parser.yy (scalar): Bugfix: accept LYRICS_STRING.
+ FIXME: Replace some `Music's with Grouped_music_list; fixes make web.
+
+ * input/regression/newaddlyrics.ly: New file.
+
+ * Documentation/topdocs/NEWS.texi: Update.
+
+ * lily/parser.yy (new_lyrics): Return SCM list of lyric musics.
+ (Music_list): Allow embedded scm.
+
+ * lily/score.cc (ly:score-bookify): New function.
+
+ * lily/music.cc (ly:music-scorify): Idem.
+
+ * lily/my-lily-parser.cc (ly:parser-print-book): Idem.
+ (ly:parser-print-score): Idem.
+
+ * scm/lily.scm (default-toplevel-book-handler): Idem.
+ (default-toplevel-music-handler): Idem.
+ (default-toplevel-score-handler): Idem.
+
+ * ly/declarations-init.ly: Set default toplevel handlers.
+
+ * lily/parser.yy (book_block, score_block, toplevel_music): Use them.
+
+ * scripts/lilypond-book.py (PREAMBLE_LY): Select classic score
+ printer for score at toplevel.
+
+2004-04-18 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/parser.yy (NEWLYRICS): Switch to LYRICS mode for lyrics.
+ Fix for simple case: input/simple-song.ly, more complex stuff
+ does not work yet.
+
+2004-04-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/parser.yy (Prefix_composite_music): split Composite_music
+ in Prefix_composite_music and Grouped_music_list.
+ (re_rhythmed_music): use Grouped_music_list for NEWLYRICS.
+
+2004-04-18 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/lily.scm (toplevel-expression): New define.
+
+ * lily/my-lily-parser.cc (ly:parser-add-book-and-score): New function.
+
+ * lily/parser.yy (toplevel_expression): Use it.
+
+ * lily/include/my-lily-parser.hh: Smobbify.
+
+ * lily/my-lily-parser.cc (parse_string): New method.
+
+ * lily/my-lily-parser.cc (ly:parse-string): New function.
+
+ * Documentation/user/lilypond.tely: Add comment and workaround for
+ gs-8.01 crash. Fixes make web.
+
+ Simplification of toplevel music.
+
+ * lily/lexer.ll, lily/parser.yy:
+
+ * In LYRICS mode, return LYRICS_STRING. This fixes one
+ shift/reduce problem.
+
+ * Use NOTES mode at start of maininput.
+
+ * Grok toplevel composite music expression, put in score and book.
+
+ * Grok \relative COMPOSITE_MUSIC, make relative on middleC.
+
+ * \newlyrics is a shortcut for \context Lyrics \lyricsto "" \lyrics
+
+ * input/simple.ly: New file.
+
+ * input/simple-song.ly: Idem.
+
+2004-04-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/parser.yy: rename NEWADDLYRICS to LYRICSTO. Thanks to Erik
+ Sandberg.
+
+2004-04-17 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/font.scm (add-cmr-fonts): Narrow bold is ecrb.
+
+2004-04-17 Heikki Junes <hjunes@cc.hut.fi>
+
+ * input/regression/accidental-octave.ly: doc automatic showing
+ of note names.
+
+2004-04-16 Heikki Junes <janneke@gnu.org>
+
+ * po/fi.po: do "make po && make -C po po-update" at top-level,
+ then "cp po/out/fi.po po/fi.po" and update fields.
+
+ * po/fi.po: remove all designations of `fuzzy'; shows those elements.
+
+2004-04-15 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/user/introduction.itely (About this manual): Fix
+ templates and regression urls (backportme).
+
+2004-04-14 Mats Bengtsson <mabe@drongo.s3.kth.se>
+
+ * ly/engraver-init.ly (Score:graceSettings): Increase
+ beamed-lengths, especially for 32nd notes.
+
+ * Documentation/user/notation.itely (Grace notes): Correct the
+ syntax for add-grace-property example.
+
+2004-04-13 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * flower/parse-afm.cc [METATYPE1_BUG]: Grok Metatype1's global
+ `Generated' tag.
+
+ * scm/font.scm (add-cmr-fonts): Use super-cm/lmodern fonts. NOT.
+ Severely broken (the Debian package, at least).
+
+2004-04-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/context.cc (find_create_context): assign to lvalue.
+
+2004-04-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/include/translator.hh (class Translator): rename
+ get_parent_context() to context () to avoid confusion.
+
+ * lily/include/lily-guile.hh: is_x -> ly_c_X_p naming.
+
+ * lily/lexer.ll: change is_string -> ly_c_string_p
+
+ * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): use \book.
+
+ * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: use \book.
+
+ * VERSION: release 2.3.0
+
+ * mf/feta-nummer-code.mf: use ascii names for number glyphs.
+
+ * buildscripts/mf-to-table.py (parse_logfile): only prepend group-
+ if nonempty.
+
+ * lily/include/context.hh (class Context): make members protected.
+ (children_contexts): new accessor function.
+
+ * lily/include/translator.hh (class Translator): make
+ daddy_context_ protected.
+ (class Translator): clean up.
+
+ * lily/include/context.hh (class Context): make daddy_context_
+ private.
+
+ * lily/lyric-engraver.cc (get_voice_to_lyrics): recursively go
+ higher for finding Voice. (backportme)
+
+ * lily/include/context.hh (class Context): remove
+ find_context_below() as a method.
+
+ * Documentation/user/notation.itely (The Lyrics context): add note
+ about manual durations
+
+ * ly/chord-modifiers-init.ly (blackTriangleMarkup): use TeX-math
+ encoding.
+
+ * scm/output-tex.scm (text): dump \inputencoding{} for text.
+
+2004-04-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scripts/lilypond.py (global_latex_preamble): remove latin1 from
+ \usepackage{inputenc}
+
+ * lily/paper-book.cc (classic_output): don't advance Offset for
+ TeX output.
+
+ * make/mutopia-rules.make ($(outdir)-$(PAPERSIZE)/%.dvi): include
+ ec-sauter.map in rules
+
+ * mf/ecb.mf (font_identifier): new file, based on ecbx
+
+ * mf/ecb10.mf (gensize): new file.
+
+ * Documentation/topdocs/NEWS.texi (Top): document some more new
+ features.
+
+ * ly/declarations-init.ly: run convert-ly
+
+ * lily/my-lily-parser.cc (LY_DEFINE): move parse-file function
+ from input-file-results. Remove input-file-results.*
+
+2004-04-11 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-ps.scm (font-command): Fix, again.
+
+ * input/test/title-markup.ly: Add \noPagebreak test.
+
+ * lily/score-engraver.cc (try_music): Bugfix.
+
2004-04-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/main.cc (main_with_guile): excise dependency options -M and
+ --dep-prefix
+
+ * lily/input-file-results.cc: excise Makefile dependency code
+
+ * Documentation/user/invoking.itexi (Invoking the lilypond
+ binary): remove dep doco
+
+ * lily/main.cc (main_with_guile): call lilypond-main
+
+ * scm/lily.scm (lilypond-main): new function: handle multiple files.
+
+ * lily/input-file-results.cc (LY_DEFINE): throw ly-file-failed
+ exception.
+
+ * lily/my-lily-parser.cc: remove paper_description function
+
+ * lily/music-output-def.cc (LY_DEFINE): ly:output-description
+ new function.
+
+ * lily/main.cc: remove global_score_count.
+
+ * lily/book.cc (process): don't take header from global_input_file.
+
+ * buildscripts/lilypond-profile.sh (Error): set GS_FONTPATH
+
+ * lily/parser.yy (My_lily_lexer): remove current_parser global var.
+
+ * lily/music-output-def.cc (LY_DEFINE): new function
+ ly_output_description. This function does the bulk for setting,
+ parsing and breaking down of an input file.
+
+ * lily/ly-module.cc (ly_make_anonymous_module): don't protect
+ anonymous modules globally. Let's hope they get GCd
+
* scripts/lilypond.py (run_dvips): add sauter-mftrace.map
2004-04-11 Jan Nieuwenhuizen <janneke@gnu.org>