lilypond-user
[Top][All Lists]
Advanced

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

Re: headers, and what include doesn't do


From: Jean Abou Samra
Subject: Re: headers, and what include doesn't do
Date: Sat, 17 Oct 2020 09:15:27 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Hi David,

Le 17/10/2020 à 05:45, David Wright a écrit :
On Fri 16 Oct 2020 at 15:50:55 (+0200), Jean Abou Samra wrote:

The reason for that is that \version, like \include, has nothing to do
with LP's functionality. \version is just a syntax property of the
file containing it. Used sensibly, it allows convert-ly to convert a
collection of files of different syntax vintages automatically,
without your having to specify the vintage of each file in the command
line. (It just reads the \version contained in each file.)

Yes, LP warns about the top-level file not containing a \version,
and generates an error message (and sets a return code) whenever
it meets a version number greater than its own. But so long as the
actual syntax encountered does not violate its own version, LP's
processing is unaffected, which is the point I'm trying to make.

I checked this and you are right.I thought there was an internal
mechanism for scoping, but investigation of the source code shows that
\version is actually recognized by a lexer rule.

Were the OP to carry out the cut&paste as I suggested, and possibly
reduce each movement to, say, a dozen measures, it might be easier
to appreciate the logical structure of the sonata's source without
being confused by the irrelevant physical structure of the files.
That's why I posted the two example files demonstrating which
lines in foo.ly generate which annotations in foo.pdf. (One hopes
that the OP is using an editor that can re-indent the pasted-together
source, which might also help to clarify the overall structure.)

Yes, absolutely. I was not trying to contradict you but just to
expand on your answer.

Cheers,
Jean



reply via email to

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