From 2e8ce984210ec8fd09a8a1dad29a9c9f9495b013 Mon Sep 17 00:00:00 2001 From: Nicolas Sceaux Date: Thu, 1 Jan 2009 19:43:45 +0100 Subject: [PATCH] Fix i10n wrapper for music function docstrings --- scm/music-functions.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -- 2.39.2