Thomas Morley <thomasmorle...@gmail.com> writes: > Am Mo., 12. Nov. 2018 um 12:22 Uhr schrieb David Kastrup <d...@gnu.org>: >> >> Well, it's basically that macros run less synchronously with the rest >> in Guilev2 compared to Guilev1. That's because they are no longer an >> entity of their own but rather a variation on syntax transforms. >> define-markup-command compiles information the markup macro needs for >> working, but the actual commands recording this information into data >> structures are only executed at execution rather than macro expansion >> time. The problem with macro expansion time stuff is that it's very >> fuzzy what parts of the execution environment may be present and what >> not. For example, closures are quite likely not to work at expansion >> time. >> >> I am not sure that it's even possible to let the markup macro >> postpone things in a reasonable manner without obliterating all >> advantages of using a macro in the first place. > > Many thanks for the detailed explanations. > I'm afraid it will take some time for me to understand.
Once you do, you can explain it to me. The above is basically handwaving except that I have some experience where your hands will get hurt if you choose to wave them there. So it's constrained handwaving. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel