]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/changes.tely
Issue 4446: Remove redundant function filter-out (equal to srfi-1 remove)
[lilypond.git] / Documentation / changes.tely
index 6735a03b08e3795e2a35cdb9e5e9648cd364e1d8..45fbb4f885ae1eddf00440c97e376e3a5a7c4924 100644 (file)
@@ -62,17 +62,44 @@ which scares away people.
 @end ignore
 
 @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.
+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
+Current input location and parser are now stored in GUILE fluids
+and can be referenced via the function calls @code{(*location*)}
+and @code{(*parser*)}.  Consequently, a lot of functions
+previously taking an explicit @code{parser} argument no longer do
+so.
+
+Functions defined with @code{define-music-function},
+@code{define-event-function}, @code{define-scheme-function} and
+@code{define-void-function} no longer use @code{parser} and
+@code{location} arguments.
+
+With those particular definitions, LilyPond will try to recognize
+legacy use of @code{parser} and @code{location} arguments,
+providing backwards-compatible semantics for some time.
+
+@item
+The @code{whiteout} grob property and @code{\whiteout} markup command
+now create a white background built from multiple displaced copies of
+the glyph in order to approximate the contours of its outline.
+The previous rounded box white background can be achieved with the
+new @code{whiteout-box} grob property and @code{\whiteout-box} markup
+command.  Setting the @code{whiteout} property to a number now sets
+the thickness of the white outline as a multiple of staff-line
+thickness.  Similarly, overriding the @code{thickness} property of
+the @code{\whiteout} markup command sets the thickness of the white
+outline it produces.
 
 @item
 In the "english" notename language, the long notenames for pitches