@end macro
-@documentencoding utf-8
+@documentencoding UTF-8
@documentlanguage en
@afourpaper
@end ignore
+@item
+LilyPond functions defined with @code{define-music-function},
+@code{define-event-function}, @code{define-scheme-function} and
+@code{define-void-function} can now be directly called from Scheme
+as if they were genuine Scheme procedures. Argument checking and
+matching will still be performed in the same manner as when
+calling the function through LilyPond input. This includes the
+insertion of defaults for optional arguments not matching their
+predicates. Instead of using @code{\default} in the actual
+argument list for explicitly skipping a sequence of optional
+arguments, @code{*unspecified*} can be employed.
+
+@item
+The definition of LilyPond functions with
+@code{define-music-function}, @code{define-event-function},
+@code{define-scheme-function} and @code{define-void-function} no
+longer requires specification of @code{parser} and @code{location}
+arguments. Current parser and input location are part of the
+current dynamic state and can be accessed with the function calls
+@code{(*parser*)} and @code{(*location*)} when required.
+
+LilyPond makes a best-faith attempt of recognizing legacy use of
+@code{parser} and @code{location} arguments and will provide
+backwards-compatible semantics for some time.
+
+@item
+In the "english" notename language, the long notenames for pitches
+with accidentals now contain a hyphen for better readability. You
+now have to write
+@example
+\key a-flat \major
+@end example
+instead of the previous
+@example
+\key aflat \major
+@end example
+
+Double accidentals do not get another hyphen, so the Dutch
+@code{cisis} has the long English notename @code{c-sharpsharp}.
+
+@item
+The visual style of tremolo slashes (shape, style and slope)
+is now more finely controlled.
+@lilypond[quote,relative=2]
+ a8:32 b: c: d:
+ \override StemTremolo.shape = #'beam-like
+ a: b: c: d:
+ \override StemTremolo.style = #'constant
+ a: b: c: d:
+ g,2
+@end lilypond
+
+
@item
Multi-measure rests have length according to their total duration,
under the control of @code{MultiMeasureRest.space-increment}.
@lilypond[quote]
{ \compressFullBarRests
- \override MultiMeasureRest.space-increment = 2.2
- R1 R1 R1*2 R1*8 R1*24 R1*80 }
+ \override Staff.MultiMeasureRest.space-increment = 3.0
+ R1*2 R1*12 R1*64 }
@end lilypond
@item
\new Staff { r16 c'16 ~ 8 ~ 4 ~ 2 | }
@end lilypond
+@item
+@code{\displayLilyMusic} and its underlying Scheme functions no
+longer omit redundant note durations. This makes it easier to
+reliably recognize and format standalone durations in expressions
+like
+@example
+@{ c4 d4 8 @}
+@end example
+
@item
Beaming exceptions can now be constructed using the
@code{\beamExceptions} scheme function. One can now write