lilypond-devel
[Top][All Lists]
Advanced

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

Re: What is the point of \on-the-fly ?


From: David Kastrup
Subject: Re: What is the point of \on-the-fly ?
Date: Mon, 12 Jun 2017 07:00:21 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Thomas Morley <address@hidden> writes:

> 2017-06-11 15:08 GMT+02:00 David Kastrup <address@hidden>:
>>
>> \on-the-fly gets as first argument a function that it calls on the
>> second argument as if the first argument was actually a markup command.
>>
>> Why not make the first argument actually a markup command?
>>
>> It would appear that we are mostly talking about a closed set here
>> anyway.  So why
>>
>> \markup \on-the-fly #(on-page 3) "blabla"
>>
>> instead of
>>
>> \markup \on-page #3 "blabla"
>>
>> ?  Where is the point in this particular obfuscation?
>>
>> --
>> David Kastrup
>
> on-the-fly is one (of two) markup-(list-)commands in
> define-markup-commands.scm which takes a procedure as argument (the
> other is map-markup-commands). This procedure needs to have three
> arguments: layout, props and the one which is actually worked on.
>
> I desperately tried to find such a procedure, being sufficiently
> different from markup-(list-)-commands. To no avail.
>
> So I'd vote for dropping on-the-fly entirely. (Unless somebody know a
> good use-case)

The use case is similar to that of lambda: creating a procedure on the
fly without giving it a name.  But most of the current uses of
\on-the-fly are on a procedure _with_ a name.

> Ofcourse several procedures in titling-init.ly would need to become
> markup-commands.

My guess is that this might have been an emergency measure because of
problems with the scopes/modules of markups (since the usual \on-the-fly
suspects are in the \paper module).  But I think that this may have been
solved in the mean time.

> map-markup-commands from define-markup-commands.scm needs to be
> changed as well.  And regtests and docs...

I don't think there's anything wrong with keeping \on-the-fly .  But
requiring its use does not seem like doing people a favor.

-- 
David Kastrup



reply via email to

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