[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