From: Nicolas Sceaux Date: Thu, 1 Jan 2009 18:43:45 +0000 (+0100) Subject: Fix i10n wrapper for music function docstrings X-Git-Tag: release/2.12.2-1~32^2~17^2~4^2~2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=2e8ce984210ec8fd09a8a1dad29a9c9f9495b013;p=lilypond.git Fix i10n wrapper for music function docstrings --- diff --git a/scm/music-functions.scm b/scm/music-functions.scm index f425eb1738..bc1cadace7 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -735,9 +735,18 @@ Syntax: (define-music-function (parser location arg1 arg2 ...) (arg1-type? arg2-type? ...) ...function body...) " - `(ly:make-music-function (list ,@signature) - (lambda (,@args) - ,@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)) + (body (cdr body))) + `(ly:make-music-function (list ,@signature) + (lambda (,@args) + ,docstring + ,@body))) + `(ly:make-music-function (list ,@signature) + (lambda (,@args) + ,@body)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;