bug-lilypond
[Top][All Lists]
Advanced

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

Re: Documentation error for "on-the-fly"


From: Jean Abou Samra
Subject: Re: Documentation error for "on-the-fly"
Date: Sun, 5 Sep 2021 10:45:15 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0


Hello anyone on the bug list, could someone just verify what was reported by Paul (below) sounds correct and if this is a bug or just a doc edit (or both).

Thanks,

James


Thanks for reminding.


Le 25/08/2021 à 15:36, Paul Hodges a écrit :
On the page:

http://lilypond.org/doc/v2.23/Documentation/notation/custom-titles-headers-and-footers

the syntax for using \on-the-fly is specified as:

    variable = \markup {
      …
      \on-the-fly  \procedure  markup
      …
    }

and the following examples use the same.  Note the use of \ to introduce
the procedure.

However, this does not work for all procedures - specifically not in the
case of \(on-page n).  But using # instead of \ works in all cases, and
is also more logical as introducing the parameter for \on-the-fly.

Yeah, the documentation is weird here. Basically,
\ looks up a LilyPond variable. Since LilyPond and
its Scheme interpreter are very closely tied, Scheme
variables are available to LilyPond and vice-versa
(in fact they are stored exactly the same; just that
a variable called abc123xyz$^ will be accessible to
Scheme but not to LilyPond due to syntax restrictions).
In contrast, # starts a chunk of Scheme code, so it
is another way to access the variable. But

  (procedure argument1 argument2 ...)

is Scheme syntax. So it only works with #.


It would seem logical to change the documentation to specify and use #
instead of \ for these procedures.

Well, the implementation is also very weird here.
Perhaps an artifact of earlier design. I am pretty
sure there is no need for \on-the-fly whatsoever;
one could just implement it with the syntax

\if \first-page blablabla
\if \not \first-page blablabla
\if \on-page #5 blablabla
\if \not \single-page blablabla

etc.

I'll probably propose a patch.

Best,
Jean



reply via email to

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