Hi Juha, On Mon, Oct 3, 2011 at 6:57 AM, Juha Erkkila <j...@turnipsi.no-ip.org> wrote:
> Howdy, > > I had some lilypond code that worked in 2.12 versions, but appears > broken in 2.14. I had used a construction in which a music function > calls itself. Here's an example: > > ---------------------------------------------------------------------- > tags = #(define-music-function (parser location tags music) > (list? ly:music?) > (cond ((null? tags) music) > (else (let ((firsttag (car tags)) > (othertags (cdr tags))) > #{ \tags $othertags \tag $firsttag $music #})))) > > foo = \tag #'a \tag #'b { c4 d e f } > bar = \tags #'(a b) { c4 d e f } > > \score { > { > \keepWithTag #'a \foo > \keepWithTag #'b \foo > > \keepWithTag #'a \bar > \keepWithTag #'b \bar > } > } > ---------------------------------------------------------------------- > > > Perhaps some definition in straight scheme might also work here? > Any ideas? > > I removed the $ from firsttag and othertags, and it seems to work in 2.14.2. tags = #(define-music-function (parser location tags music) (list? ly:music?) (cond ((null? tags) music) (else (let ((firsttag (car tags)) (othertags (cdr tags))) #{ \tags othertags \tag firsttag $music #}))))
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user