]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/music-functions.scm
This fixes an endless loop in duration.cc:67.
[lilypond.git] / scm / music-functions.scm
index f9599af572b51782c6d390608c21e3e8f730f843..42a08cc344c0ec8731d3c1f428f0d7a06a6a5c4b 100644 (file)
@@ -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))