appendaction in "shipouts" "after" fails in the latest version
Hello, dear Hans. I have a Lua module that doesn't work in the latest version 2024.08.16 16:30. After investigation, I found that the errors first occurred in the appendaction. It could be appended normally in the version 2024.04.01 08:59, but failed in the latest version. So, I made a minimum runnable example for the appendaction problem, mini-try.lmtx, as ```ConTeXt \startluacode Moduledata = Moduledata or {} Moduledata.vtypeset = Moduledata.vtypeset or {} function Moduledata.vtypeset.rotate_all1(head) print(">>>>>> HERE IS ROTATE_ALL1") return head, done end function Moduledata.vtypeset.rotate_all2(head) print(">>>>>> HERE IS ROTATE_ALL2") return head, done end nodes.tasks.appendaction("processors", "after", "Moduledata.vtypeset.rotate_all1") nodes.tasks.appendaction("shipouts", "after", "Moduledata.vtypeset.rotate_all2") -- fails here \stopluacode \starttext try \stoptext ``` Compiled the mini-try.lmtx and got outputs in terminal: ```text D:\ah21\TEX\vertical-typesetting>cd d:\ah21\TEX\vertical-typesetting & chcp 65001 & context d:\ah21\TEX\vertical-typesetting\mini-try.lmtx Active code page: 65001 resolvers | formats | executing runner 'run luametatex format': luametatex --jobname="d:/ah21/TEX/vertical-typesetting/mini-try.lmtx" --socket --shell-escape --fmt=D:/venvs/context-win64/tex/texmf-cache/luametatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luametatex/cont-en.fmt --lua=D:/venvs/context-win64/tex/texmf-cache/luametatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luametatex/cont-en.lui --c:currentrun=1 --c:fulljobname="d:/ah21/TEX/vertical-typesetting/mini-try.lmtx" --c:input="d:/ah21/TEX/vertical-typesetting/mini-try.lmtx" --c:kindofrun=1 --c:maxnofruns=9 --c:texmfbinpath="D:/venvs/context-win64/tex/texmf-win64/bin" system > system > ConTeXt ver: 2024.08.16 16:30 LMTX fmt: 2024.9.15 int: english/english system > system > 'cont-new.mkxl' loaded open source > level 1, order 1, name 'D:/venvs/context-win64/tex/texmf-context/tex/context/base/mkxl/cont-new.mkxl' system > beware: some patches loaded from cont-new.mkiv close source > level 1, order 1, name 'D:/venvs/context-win64/tex/texmf-context/tex/context/base/mkxl/cont-new.mkxl' system > files > jobname 'd:/ah21/TEX/vertical-typesetting/mini-try', input 'd:/ah21/TEX/vertical-typesetting/mini-try.lmtx', result 'd:/ah21/TEX/vertical-typesetting/mini-try' fonts > latin modern fonts are not preloaded languages > language 'en' is active open source > level 1, order 2, name 'd:/ah21/TEX/vertical-typesetting/mini-try.lmtx' fonts > preloading latin modern fonts (second stage) fonts > 'fallback modern rm 12pt' is loaded
HERE IS ROTATE_ALL1 HERE IS ROTATE_ALL1 lua error > lua error on line 1 in file d:/ah21/TEX/vertical-typesetting/mini-try.lmtx:
registered function call [254]: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: attempt to call a nil value stack traceback: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: in upvalue 'compile' ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:231: in upvalue 'create' ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:247: in upvalue 'actions' ...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:38: in function <...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:37> (...tail calls...) 1 >> \startluacode 2 Moduledata = Moduledata or {} 3 Moduledata.vtypeset = Moduledata.vtypeset or {} 4 5 function Moduledata.vtypeset.rotate_all1(head) 6 print(">>>>>> HERE IS ROTATE_ALL1") 7 return head, done 8 end 9 10 function Moduledata.vtypeset.rotate_all2(head) 11 print(">>>>>> HERE IS ROTATE_ALL2") mtx-context | fatal error: return code: 1 D:\ah21\TEX\vertical-typesetting> ``` and got a mini-try-error.log: ```text return { ["filename"]="d:/ah21/TEX/vertical-typesetting/mini-try.lmtx", ["lastcontext"]="", ["lastluaerror"]="registered function call [254]: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: attempt to call a nil value\nstack traceback:\n ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: in upvalue 'compile'\n ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:231: in upvalue 'create'\n ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:247: in upvalue 'actions'\n ...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:38: in function <...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:37>\n (...tail calls...)", ["lasttexerror"]="", ["linenumber"]=1, ["luaerrorline"]="328", ["offset"]=10, ["skiplinenumber"]=1, } ``` and got a mini-try.log: ```text system > system > ConTeXt ver: 2024.08.16 16:30 LMTX fmt: 2024.9.15 int: english/english system > system > 'cont-new.mkxl' loaded open source > level 1, order 1, name 'D:/venvs/context-win64/tex/texmf-context/tex/context/base/mkxl/cont-new.mkxl' system > beware: some patches loaded from cont-new.mkiv close source > level 1, order 1, name 'D:/venvs/context-win64/tex/texmf-context/tex/context/base/mkxl/cont-new.mkxl' system > files > jobname 'd:/ah21/TEX/vertical-typesetting/mini-try', input 'd:/ah21/TEX/vertical-typesetting/mini-try.lmtx', result 'd:/ah21/TEX/vertical-typesetting/mini-try' fonts > latin modern fonts are not preloaded languages > language 'en' is active open source > level 1, order 2, name 'd:/ah21/TEX/vertical-typesetting/mini-try.lmtx' fonts > preloading latin modern fonts (second stage) fonts > 'fallback modern rm 12pt' is loaded lua error > lua error on line 1 in file d:/ah21/TEX/vertical-typesetting/mini-try.lmtx: registered function call [254]: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: attempt to call a nil value stack traceback: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: in upvalue 'compile' ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:231: in upvalue 'create' ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:247: in upvalue 'actions' ...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:38: in function <...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:37> (...tail calls...) 1 >> \startluacode 2 Moduledata = Moduledata or {} 3 Moduledata.vtypeset = Moduledata.vtypeset or {} 4 5 function Moduledata.vtypeset.rotate_all1(head) 6 print(">>>>>> HERE IS ROTATE_ALL1") 7 return head, done 8 end 9 10 function Moduledata.vtypeset.rotate_all2(head) 11 print(">>>>>> HERE IS ROTATE_ALL2") ``` My question is: Can I still appendaction in "shipouts" "after"? If so, how to do it? Best regards, 黄复雄(Huang Fusyong)
Sorry for re-asking this question by replying to myself; after many
trials, I am sure this is a real problem.
Any hints are much appreciated.
Regards,
黄复雄(Huang Fusyong)
On Mon, Sep 16, 2024 at 11:52 AM 黄复雄
Hello, dear Hans.
I have a Lua module that doesn't work in the latest version 2024.08.16 16:30. After investigation, I found that the errors first occurred in the appendaction. It could be appended normally in the version 2024.04.01 08:59, but failed in the latest version. So, I made a minimum runnable example for the appendaction problem, mini-try.lmtx, as
```ConTeXt \startluacode Moduledata = Moduledata or {} Moduledata.vtypeset = Moduledata.vtypeset or {}
function Moduledata.vtypeset.rotate_all1(head) print(">>>>>> HERE IS ROTATE_ALL1") return head, done end
function Moduledata.vtypeset.rotate_all2(head) print(">>>>>> HERE IS ROTATE_ALL2") return head, done end
nodes.tasks.appendaction("processors", "after", "Moduledata.vtypeset.rotate_all1") nodes.tasks.appendaction("shipouts", "after", "Moduledata.vtypeset.rotate_all2") -- fails here
\stopluacode
\starttext
try
\stoptext ```
Compiled the mini-try.lmtx and got outputs in terminal:
```text D:\ah21\TEX\vertical-typesetting>cd d:\ah21\TEX\vertical-typesetting & chcp 65001 & context d:\ah21\TEX\vertical-typesetting\mini-try.lmtx Active code page: 65001
resolvers | formats | executing runner 'run luametatex format': luametatex --jobname="d:/ah21/TEX/vertical-typesetting/mini-try.lmtx" --socket --shell-escape --fmt=D:/venvs/context-win64/tex/texmf-cache/luametatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luametatex/cont-en.fmt --lua=D:/venvs/context-win64/tex/texmf-cache/luametatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luametatex/cont-en.lui --c:currentrun=1 --c:fulljobname="d:/ah21/TEX/vertical-typesetting/mini-try.lmtx" --c:input="d:/ah21/TEX/vertical-typesetting/mini-try.lmtx" --c:kindofrun=1 --c:maxnofruns=9 --c:texmfbinpath="D:/venvs/context-win64/tex/texmf-win64/bin" system > system > ConTeXt ver: 2024.08.16 16:30 LMTX fmt: 2024.9.15 int: english/english system > system > 'cont-new.mkxl' loaded open source > level 1, order 1, name 'D:/venvs/context-win64/tex/texmf-context/tex/context/base/mkxl/cont-new.mkxl' system > beware: some patches loaded from cont-new.mkiv close source > level 1, order 1, name 'D:/venvs/context-win64/tex/texmf-context/tex/context/base/mkxl/cont-new.mkxl' system > files > jobname 'd:/ah21/TEX/vertical-typesetting/mini-try', input 'd:/ah21/TEX/vertical-typesetting/mini-try.lmtx', result 'd:/ah21/TEX/vertical-typesetting/mini-try' fonts > latin modern fonts are not preloaded languages > language 'en' is active open source > level 1, order 2, name 'd:/ah21/TEX/vertical-typesetting/mini-try.lmtx' fonts > preloading latin modern fonts (second stage) fonts > 'fallback modern rm 12pt' is loaded
> HERE IS ROTATE_ALL1 > HERE IS ROTATE_ALL1 lua error > lua error on line 1 in file d:/ah21/TEX/vertical-typesetting/mini-try.lmtx:
registered function call [254]: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: attempt to call a nil value stack traceback: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: in upvalue 'compile' ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:231: in upvalue 'create' ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:247: in upvalue 'actions' ...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:38: in function <...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:37> (...tail calls...) 1 >> \startluacode 2 Moduledata = Moduledata or {} 3 Moduledata.vtypeset = Moduledata.vtypeset or {} 4 5 function Moduledata.vtypeset.rotate_all1(head) 6 print(">>>>>> HERE IS ROTATE_ALL1") 7 return head, done 8 end 9 10 function Moduledata.vtypeset.rotate_all2(head) 11 print(">>>>>> HERE IS ROTATE_ALL2") mtx-context | fatal error: return code: 1
D:\ah21\TEX\vertical-typesetting> ```
and got a mini-try-error.log:
```text return { ["filename"]="d:/ah21/TEX/vertical-typesetting/mini-try.lmtx", ["lastcontext"]="", ["lastluaerror"]="registered function call [254]: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: attempt to call a nil value\nstack traceback:\n ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: in upvalue 'compile'\n ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:231: in upvalue 'create'\n ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:247: in upvalue 'actions'\n ...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:38: in function <...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:37>\n (...tail calls...)", ["lasttexerror"]="", ["linenumber"]=1, ["luaerrorline"]="328", ["offset"]=10, ["skiplinenumber"]=1, }
```
and got a mini-try.log:
```text system > system > ConTeXt ver: 2024.08.16 16:30 LMTX fmt: 2024.9.15 int: english/english system > system > 'cont-new.mkxl' loaded open source > level 1, order 1, name 'D:/venvs/context-win64/tex/texmf-context/tex/context/base/mkxl/cont-new.mkxl' system > beware: some patches loaded from cont-new.mkiv close source > level 1, order 1, name 'D:/venvs/context-win64/tex/texmf-context/tex/context/base/mkxl/cont-new.mkxl' system > files > jobname 'd:/ah21/TEX/vertical-typesetting/mini-try', input 'd:/ah21/TEX/vertical-typesetting/mini-try.lmtx', result 'd:/ah21/TEX/vertical-typesetting/mini-try' fonts > latin modern fonts are not preloaded languages > language 'en' is active open source > level 1, order 2, name 'd:/ah21/TEX/vertical-typesetting/mini-try.lmtx' fonts > preloading latin modern fonts (second stage) fonts > 'fallback modern rm 12pt' is loaded lua error > lua error on line 1 in file d:/ah21/TEX/vertical-typesetting/mini-try.lmtx:
registered function call [254]: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: attempt to call a nil value stack traceback: ...n64/tex/texmf-context/tex/context/base/mkiv/util-seq.lua:328: in upvalue 'compile' ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:231: in upvalue 'create' ...n64/tex/texmf-context/tex/context/base/mkxl/node-tsk.lmt:247: in upvalue 'actions' ...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:38: in function <...n64/tex/texmf-context/tex/context/base/mkxl/node-shp.lmt:37> (...tail calls...) 1 >> \startluacode 2 Moduledata = Moduledata or {} 3 Moduledata.vtypeset = Moduledata.vtypeset or {} 4 5 function Moduledata.vtypeset.rotate_all1(head) 6 print(">>>>>> HERE IS ROTATE_ALL1") 7 return head, done 8 end 9 10 function Moduledata.vtypeset.rotate_all2(head) 11 print(">>>>>> HERE IS ROTATE_ALL2")
```
My question is: Can I still appendaction in "shipouts" "after"? If so, how to do it?
Best regards, 黄复雄(Huang Fusyong)
On 9/22/2024 2:31 AM, 黄复雄 wrote:
Sorry for re-asking this question by replying to myself; after many trials, I am sure this is a real problem. Any hints are much appreciated.
i'll fix it but be careful with messing at that level 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 -----------------------------------------------------------------
Thanks!
Best regards,
Huang Fusyong
On Sun, Sep 22, 2024 at 5:54 PM Hans Hagen
On 9/22/2024 2:31 AM, 黄复雄 wrote:
Sorry for re-asking this question by replying to myself; after many trials, I am sure this is a real problem. Any hints are much appreciated.
i'll fix it but be careful with messing at that level
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://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________
participants (2)
-
Hans Hagen
-
黄复雄