lilypond-user
[Top][All Lists]
Advanced

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

Re: Book and variables -- lost how to remedy


From: Urs Liska
Subject: Re: Book and variables -- lost how to remedy
Date: Fri, 11 Nov 2016 20:11:32 +0100
User-agent: K-9 Mail for Android


Am 11. November 2016 19:41:21 MEZ, schrieb Bernhard Kleine <address@hidden>:
>I added this to testmain.ly before the \book
> parserDefine =
>#(define-void-function (name val)(symbol? not-null?)
>    (ly:parser-define! name val))
>and got this error:
>
>F:/Meine Noten/EigeneNoten/WeihnachtsLieder/testmain.ly:17:2 <0>:
>error:
>GUILE signaled an error for the expression beginning here
>
>#
>
>(define-void-function (name val)(symbol? not-null?)
>
>
>Maybe some other requirement is missing.

Ah, if you use 2.18 you have to write (parser location name val)

This was changed in the meantime.

HTH
Urs
>
>Bernhard
>
>Am 11.11.2016 um 18:43 schrieb Jan-Peter Voigt:
>> Hello
>>
>> there's one solution, I use in this cases:
>>
>> parserDefine =
>> #(define-void-function (name val)(symbol? not-null?)
>>     (ly:parser-define! name val))
>>
>> as parserDefine is a void function, you can all it anywhere - even
>> inside a music expression:
>>
>> \parserDefine global { ... }
>>
>> instead of
>>
>> global = { ... }
>>
>> Of course, you might use a shorter name like just 'def' instead of
>> parserDefine. But take care not to use a reserved name like 'define'.
>>
>> HTH
>> Jan-Peter
>>
>> Am 11.11.2016 um 17:15 schrieb Federico Bruni:
>>> Il giorno ven 11 nov 2016 alle 16:45, Bernhard Kleine
>>> <address@hidden> ha scritto:
>>>> However when the global variable to the top of 2test.ly, the file
>>>> could be compiled. I tried then the same on my full piece and I
>>>> failed while parsing with
>>>> F:/Meine Noten/EigeneNoten/WeihnachtsLieder/2test.ly:2:1: error:
>>>> syntax error, unexpected STRING
>>>> global = {
>>>>
>>>> To make this evident I include the files once more. I do not
>>>> understand this.
>>>
>>> I hit the same wall some time ago :)
>>>
>>> If you read the first error message:
>>>
>>> /tmp/2test.ly:2:1: error: syntax error, unexpected STRING
>>>
>>> it points to the definition of global in the included file.
>>>
>>> The problem here is that the variable is included (and evaluated)
>>> within a \bookpart block, but variables can be defined only at top
>>> level.
>>> That's why you need an extra file only for variables (the use of
>.ily
>>> extension is only a useful convention, as Urs already wrote).
>>>
>>> I don't think that there's another way to achieve what you want.
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> lilypond-user mailing list
>>> address@hidden
>>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>>
>> _______________________________________________
>> lilypond-user mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/lilypond-user

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.



reply via email to

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