Am 28.06.2016 um 11:05 schrieb David Kastrup: > Urs Liska <u...@openlilylib.org> writes: > >> Hi all, >> >> I am surprised that \include refuses to accept a string that isn't >> passed literally but through a scheme-function: >> >> \version "2.19.43" givePath = #(define-scheme-function ()() >> "some/path/that/will/probably/not/be/found.ily") #(display (givePath)) >> \include \givePath > \include is not a scheme function. It switches input at a very low > level. \include is not even a reserved word and it never gets turned > into a token. It is a pattern of bytes causing an immediate reaction in > the lexer. That it accepts a #xxx or $xxx expression is hard-coded > right in the lexer: it does not pass through the normal parser > mechanisms for these constructs. > > Basically you are expecting something akin to the #include of the C > preprocessor to accept calls of functions defined in C for specifying > the file to include. >
Thank you for the explanation. Interestingly Harm provided a solution presumably working, but I have in the meantime wrapped everything into a ly:parser-parse-string call. Best Urs _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user