I have the following script:
\version "2.26.0"
\book {
\bookpart{
foo = { c'1 } <-- Fehler: syntax error, unexpected SYMBOL.
\score {
\new Staff \foo
}
}%%bookpart
}%%book
The definition of foo is not allowed within bookpart.
Consequences: within bookpart, lilypond-definitions must be replaced by
scheme-definitions.
In the description of lilypond often is recommended to use
lilypond-variables, to prepare songs.
I expect, lilypond definitions of variables like "foo = { c'1}" should
be accepted.
your sincerely
Michael Jakob