lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: string concatenation 2.18 vs 2.16


From: David Kastrup
Subject: Re: string concatenation 2.18 vs 2.16
Date: Thu, 16 Jan 2014 16:47:47 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Tom van der Hoeven <address@hidden> writes:

> under 2.16 there were no errors in this
> ----------------
> \version "2.16.2"
> tom = "aap " + "noot"
> \book {
>    \header { title = \tom }
>    \relative {a  b c}
> }
> ----------------
> under 2.18 the expression tom = "aap " + "noot" seems not to be
> allowed

Quite so.  It was an undocumented feature (consequently not being used
almost anywhere) leading to problems elsewhere in the parser.  For
example,

tom = "aap " + "noot"
\tom

lead to an error message because tom was undefined at the point it was
queried since LilyPond could not finish the assignment without checking
whether "noot" was followed by another + here.

Use

tom = #(string-append "aap " "noot")

or

tom = \markup { "aap" "noot" }

or

tom = \markup \concat { "aap " "noot" }

depending on whether you want to concatenate strings programmatically or
markups.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]