Hi Hans,
So, if there has been serious issues not resolved (the last year) let me know.
I've been having two issues with parfillskip nodes in LMTX that I
haven't been able to figure out myself. Neither of them are particularly
serious, but the first one is quite annoying.
(The below is mostly copied from an earlier email, "Callbacks (and
nodes) in LuaMetaTeX")
1. In LMTX, calling "tex.linebreak" produces a
luatex warning > tex: left parfill skip is gone
warning. I don't get this warning in Plain LuaTeX, LuaLaTeX, or
MkIV, so I think that it's specific to LuaMetaTeX. The LuaMetaTeX
manual hardly mentions "left parfill skip"/"parfillleftskip", so I'm
not too sure what to do to avoid this warning.
Any call to "tex.linebreak" seems to produce this warning. Here's a
minimal example:
\startluacode
function test(head)
tex.linebreak(node.copylist(head))
return head
end
nodes.tasks.appendaction("processors", "after", "test")
\stopluacode
\starttext
Hello!
\stoptext
And a less minimal example:
% From CTAN or modules.contextgarden.net
\usemodule[lua-widow-control]
\starttext
\dorecurse{10}{\samplefile{knuth}}
\stoptext
With the lwc module, I call "tex.linebreak" twice for every
paragraph, so these warning messages get quite annoying. The log
file for compiling the lwc manual
https://github.com/gucci-on-fleek/lua-widow-control/runs/6946059955?check_su...
is 22000 lines long, most of which are "left parfill skip" warnings.
2. The LuaMetaTeX manual says that "pre_linebreak_filter" is called
_after_ the parfillskip glue has been added, but this doesn't seem
to be the case. With LuaLaTeX/Plain LuaTeX/MkIV, this is true, but
the node list passed to the callback in MkXL is missing the
parfillskip.
This code:
\startluacode
function test(head)
local last = node.slide(head)
print "START"
for i=1,3 do
print(last)
print(
node.type(last.id),
node.subtypes(last.id)[last.subtype],
last.width,
last.stretchorder,
last.stretch
)
last = last.prev
end
print "STOP"
return head
end
nodes.tasks.appendaction("processors", "after", "test")
\stopluacode
\starttext
Hello!
\stoptext
with MkXL produces:
START