Hi, I noticed that whatsit subtype "write" has changed "data" field type. Documentation says "data -> table representing the token list to be written" but when I print it I see it as a string with LuaTeX, Version 1.10.0 (TeX Live 2019): HERE <node 277 < 82 > nil : whatsit 1> \foo\fee
With LuaTeX, Version 1.07.0 (TeX Live 2018/W32TeX) is ok: HERE <node 276 < 82 > nil : whatsit 1> table: 02D87EC8 Minimal example: \write1{\string\foo \unexpanded{\fee}}% \directlua{ local head = tex.nest[tex.nest.ptr].head local tl = node.tail(head) print ("HERE", tl, tl.data) } \bye The real world example will be: \documentclass{article} \usepackage[color=no]{nodetree} \nodetreeoption[channel]{log} \nodetreeregister{preout} % pre_output will rise an error trying to print whatsits data field \begin{document} \makeatletter \protected@write \@auxout {}{\string\@gobble\string\fee} %% this is ok \protected@write \@auxout {}{\string\@gobble\protect\foo} %% but this will rise \foo undefined error \makeatother \end{document} And this is very strange that accessing whatsits (subtype "write") "data" field executes it. Linas _______________________________________________ dev-luatex mailing list dev-luatex@ntg.nl https://mailman.ntg.nl/mailman/listinfo/dev-luatex