ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Max Chernoff via ntg-context <ntg-context@ntg.nl>
To: ntg-context@ntg.nl
Cc: Max Chernoff <mseven@telus.net>
Subject: Re: missing mails
Date: Fri, 24 Jun 2022 00:28:50 -0600	[thread overview]
Message-ID: <6c254bff-7923-196d-de47-e3fbb8bb1d58@telus.net> (raw)
In-Reply-To: <40de6f07-b088-482a-1c95-c79072ad3f63@xs4all.nl>

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_suite_focus=true#check-step-9

     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
         <node :   2521 <=   2258 =>    nil : glue spaceskip>
         glue    spaceskip       341648  0       384354
         <node :   2509 <=   2521 =>   2258 : glyph unset>
         glyph   nil     213792  nil     nil
         <node :   2497 <=   2509 =>   2521 : glyph unset>
         glyph   nil     385140  nil     nil
         STOP
         START
         <node :   2611 <=   2357 =>    nil : glue userskip>
         glue    userskip        0       2       65536
         <node :   2274 <=   2611 =>   2357 : glyph unset>
         glyph   nil     385140  nil     nil
         <node :   2239 <=   2274 =>   2611 : rule strut>
         rule    strut   0       nil     nil
         STOP

     but with MkIV produces:

         START
         <node   1239 <   1041 >    nil : glue 15>
         glue    parfillskip     0       nil     65536
         <node   1034 <   1239 >   1041 : penalty 2>
         penalty linepenalty     nil     nil     nil
         <node   1027 <   1034 >   1239 : glyph 256>
         glyph   nil     213792  nil     nil
         STOP
         START
         <node   1375 <   1479 >    nil : glue 0>
         glue    userskip        0       nil     65536
         <node   1457 <   1375 >   1479 : glyph 256>
         glyph   nil     385140  nil     nil
         <node   1444 <   1457 >   1375 : hlist 2>
         hlist   box     0       nil     nil
         STOP

     This problem isn't very serious at all since I can work around it
     fairly easily, but I'm including it since it's so closely related
     to the issue above.

I _think_ that both of these are engine bugs, but I may just misreading
the docs or missing something completely. Please let me know if you have
any solutions.

Thanks,
-- Max
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

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

  reply	other threads:[~2022-06-24  6:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-23 15:05 Hans Hagen via ntg-context
2022-06-24  6:28 ` Max Chernoff via ntg-context [this message]
2022-06-24 17:43   ` Hans Hagen via ntg-context

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6c254bff-7923-196d-de47-e3fbb8bb1d58@telus.net \
    --to=ntg-context@ntg.nl \
    --cc=mseven@telus.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).