[Top][All Lists]

[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 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]