Hi, based on an observation by Karl Berry on the TeX Live list I discovered an inconsistency in LuaTeX's handling of `-recorder`: While LuaTeX does record files loaded through `loadfile`, files loaded through `require` are ignored:
For example if the current directory contains two empty files l1.lua and l2.lua, then the document \directlua{ loadfile'l1.lua'() require'l2' } \bye compiled with `luatex -recorder recorded` IMO should write to recorded.fls the entries PWD /some/weird/pwd INPUT /usr/local/texlive/2019/texmf-var/web2c/luatex/luatex.fmt INPUT ./recorded.tex OUTPUT recorded.log INPUT l1.lua INPUT ./l2.lua but it does write PWD /some/weird/pwd INPUT /usr/local/texlive/2019/texmf-var/web2c/luatex/luatex.fmt INPUT ./recorded.tex OUTPUT recorded.log INPUT l1.lua I do not think that this is intentional, so I added a patch to add recorder entries iff the file is loaded successfully (similar to `loadfile`) -- Marcel
>From fd35512137fdf94439427a46f7b6c010a9b0aa6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20Fabian=20Kr=C3=BCger?= <t...@2krueger.de> Date: Thu, 7 Nov 2019 12:18:08 +0100 Subject: [PATCH] Record required files --- source/texk/web2c/luatexdir/lua/luainit.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/texk/web2c/luatexdir/lua/luainit.c b/source/texk/web2c/luatexdir/lua/luainit.c index 7570910b0..615a03706 100644 --- a/source/texk/web2c/luatexdir/lua/luainit.c +++ b/source/texk/web2c/luatexdir/lua/luainit.c @@ -682,6 +682,7 @@ static int luatex_kpse_lua_find(lua_State * L) lua_tostring(L, 1), filename, lua_tostring(L, -1)); } /*tex library loaded successfully */ + recorder_record_input(filename); return 1; } @@ -771,6 +772,9 @@ static int luatex_kpse_clua_find(lua_State * L) free(extensionless); free(total); free(temp_name); + if (lua_isfunction(L, -1)) { + recorder_record_input(filename); + } return 1; } } -- 2.24.0
_______________________________________________ dev-luatex mailing list dev-luatex@ntg.nl https://mailman.ntg.nl/mailman/listinfo/dev-luatex