Thomas Morley <thomasmorle...@gmail.com> writes: > 2017-06-11 15:08 GMT+02:00 David Kastrup <d...@gnu.org>: >> >> \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 _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel