X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fmusic-functions.scm;h=42a08cc344c0ec8731d3c1f428f0d7a06a6a5c4b;hb=c164fb878548121eb3e97abe81edba005088a813;hp=f9599af572b51782c6d390608c21e3e8f730f843;hpb=0e5d83a9ceb4a143f83d22406d7eb816314ff9f7;p=lilypond.git diff --git a/scm/music-functions.scm b/scm/music-functions.scm index f9599af572..42a08cc344 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -720,8 +720,10 @@ SkipEvent. Useful for extracting parts from crowded scores" -(defmacro-public def-grace-function (start stop) +(defmacro-public def-grace-function (start stop . docstring) + "Helper macro for defining grace music" `(define-music-function (parser location music) (ly:music?) + ,@docstring (make-music 'GraceMusic 'origin location 'element (make-music 'SequentialMusic @@ -735,7 +737,7 @@ Syntax: (define-music-function (parser location arg1 arg2 ...) (arg1-type? arg2-type? ...) ...function body...) " - (if (and (pair? body) (pair? (car body)) (eqv? '_i (caar body))) +(if (and (pair? body) (pair? (car body)) (eqv? '_i (caar body))) ;; When the music function definition contains a i10n doc string, ;; (_i "doc string"), keep the literal string only (let ((docstring (cadar body))