On 7/26/2022 8:18 AM, Max Chernoff via ntg-context wrote:
Hi Hans,

The new tex.preparelinebreak is great (thanks again), but I can't seem
to figure out how to manipulate the parfillskip nodes that it adds.

MWE:

\newbox\testbox

    \startluacode
        function test(head)
            if head.id ~= node.id "par" then
                return head
            end
new_head = node.copylist(head)
            tex.preparelinebreak(new_head)
local parfillskip = node.tail(new_head)
            inspect(parfillskip) -- Confirm that this really is a parfillskip
            parfillskip.stretchorder = 0
            parfillskip.stretch = 0
local broken = tex.linebreak(new_head)
            tex.setbox("global", "testbox", broken)
return head
        end
    \stopluacode
\starttext
        {\dorecurse{209}{Hello }\par}\page
{\parfillskip=0pt\dorecurse{209}{Hello }\par}\page {\ctxlua{nodes.tasks.appendaction("processors", "after", "test")}
         \dorecurse{209}{Hello }\par}\page
\box\testbox
    \stoptext

I would expect that pages 1 and 3 would be identical, and that pages 2
and 4 would be identical. However, page 4 is the same as pages 1 and 3,
which isn't what I'd expect. I can do a similar idea in LuaTeX/MkIV and
get the expected results, so I'm not too sure what I'm doing wrong here.
I'm probably just missing something obvious, but I'm not too sure what.
Any ideas?
looks like i don't update something, i'll fix it (probably bin later today)

btw, you can do this:

        local h, t, pil, pir, pfl, pfr = tex.preparelinebreak(new_head)
        inspect(pfr)
        pfr.stretchorder = 0
        pfr.stretch = 0

as well as use

        tex.show(broken)

to see the result

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
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

Reply via email to