On 8/7/2018 7:23 AM, Marcel Krüger wrote:
---- On Fri, 03 Aug 2018 15:51:24 +0200 Hans Hagen
wrote ---- On 8/3/2018 1:09 AM, Marcel Krüger wrote:
Hello,
I want to suggest extending the tex.saveboxresource interface to accept a hlist or vlist node as an alternative to a box number as first argument. Currently creating a boxresource from Lua node list requires saving the list in a TeX box register, only to delete that register again by tex.saveboxresource. A direct way to transform a h/vlist into a boxresource would make such code easier and avoid potential side effects from changing the TeX registers. An experimental patch with a suggested implementation is attached.
ok, makes sense (but not entirely ok that way but i can fix it)
I also attached a patch implementing a node.scan method which I think would be another nice addition for LuaTeX: It scans a box with rules similar to `\setbox0` and returns the node. This allows passing box-like material to LuaTeX without requiring box registers.
this is tricky stuff so i need to have a close look at side effects (it's also more relatex to token scanning so belongs in another namespace)
i'll have a go at it
Thank you very much. Just so you know while testing the new changes I noticed that the current trunk generates a warning
warning (pdf backend): dangling objects discarded
for *every* non-empty document.
I'm checking some backend issues and in the process that can happen. If trunk generates that then it's something else triggering it. Experimental is just that: experimental and things can change there stuff showing up there can even go. Also, if something is not documented, then don't use it. (This dangling is something i noticed and will be fixed, in addition to a possible accessor.)
Anyway there is another maybe more controversial feature I would like to see in LuaTeX: Could you add a callback replacing the built-in `do_delimiter`? This would allow creating big delimiter in more flexible ways than just stacking boxes, especially I think about drawing custom-size delimiters using mplib > I am aware that this could be archieved by using the `mlist_to_hlist` callback but I think experimenting with delimiter construction should not require rewriting the entire mathlist conversion in Lua.
Won't happen. For such fundamental extensions, changes, patches, adaptions one can use lua. In fact, drawing delimiters with e.g. mp can already be done for many years. It really makes no sense to replace each bit. We're now more than a decade in luatex and imo we can do whatever we want to extend in lua now. Also, given history it's nearly impossible to get an agreement on extensions that have hard coded behaviour. Probably the only bit that might evolve a bit is cleaning up the backend. (And I might start experimenting with a stripped down luatex follow up for context some day.)
Another option might be adding a `<function>` argument to node.mlist_to_hlist which, when not nil, is called to create delimiters. Won't happen either. Basically we're now at a stage where there will be no more extensions added. If needed there will be more parameters to replace hard coded values, but that's it.
Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------