Missing parinitskips in \normalizelinemode=0
Hi Hans, When running in \normalizelinemode=0, the \parinitleftskip and \parinitrightskip nodes are either nonexistant or invisible from Lua, causing tex.linebreak to not work correctly. This sample file: \enabledirectives[system.callbacks.permitoverloads] \normalizelinemode=0 \directlua{ callback.register("pre_linebreak_filter", function(head) tex.preparelinebreak(head) local list, info = tex.linebreak(head) print(info) return head end) } \starttext \input knuth \stoptext Produces this output: luatex warning > linebreak: list seems already prepared luatex warning > linebreak: [ leftinit | rightinit | leftfill | rigthfill ] expected nil Thanks, -- Max
On 10/19/2022 3:01 AM, Max Chernoff via ntg-context wrote:
Hi Hans,
When running in \normalizelinemode=0, the \parinitleftskip and \parinitrightskip nodes are either nonexistant or invisible from Lua, causing tex.linebreak to not work correctly.
This sample file:
\enabledirectives[system.callbacks.permitoverloads]
\normalizelinemode=0
\directlua{ callback.register("pre_linebreak_filter", function(head) tex.preparelinebreak(head) local list, info = tex.linebreak(head) print(info)
return head end) }
\starttext \input knuth \stoptext
Produces this output:
luatex warning > linebreak: list seems already prepared luatex warning > linebreak: [ leftinit | rightinit | leftfill | rigthfill ] expected nil i'll bypass that warnign when the mode is zero
btw, you need to work with a copy of the list 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 -----------------------------------------------------------------
Hi Hans,
i'll bypass that warnign when the mode is zero
I saw that you made that change in the latest upload, thanks. Unfortunately, I'm still getting the same output: luatex warning > linebreak: list seems already prepared luatex warning > linebreak: [ leftinit | rightinit | leftfill | rigthfill ] expected nil Also, what's causing me issues isn't the warning but rather that tex.linebreak is returning nil instead of an info table as the second return value.
btw, you need to work with a copy of the list
Now that you point that out, I'm actually surprised that that example worked at all. The real code does use a copy of the list though (and also uses the proper callback interfaces instead of "system.callbacks. permitoverloads") Thanks, -- Max
participants (2)
-
Hans Hagen
-
Max Chernoff