<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 7 Mar 2024 at 19:38, Joseph Wright <<a href="mailto:joseph@texdev.net">joseph@texdev.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello all,<br>
<br>
I wonder if the handling of wildcard arguments by LuaTeX running as<br>
texlua is documented anywhere, and if it's controllable.<br>
<br>
With LuaTeX, irrespective of platform, arguments are passed 'as is' to<br>
Lua, so if we have a test.tex file<br>
<br>
     \directlua{for _,v in ipairs(arg) do print(v) end}<br>
     \end<br>
<br>
and run<br>
<br>
     luatex test.tex '*' -- macOS/Linux<br>
     luatex test.tex *  -- Windows<br>
<br>
we print "*". On the other hand, if we have test.lua file<br>
<br>
     for _,v in ipairs(arg) do print(v) end<br>
<br>
and try<br>
<br>
     texlua test.lua '*' -- macOS/Linux<br>
     texlua test.lua *   -- Windows<br>
<br>
we get "*" on macOS/Linux and ... whatever is in the current directory<br>
on Windows. If we use '*' there, that's *exactly* what gets shown - no<br>
expansion, but also no loss of the ' chars (of course we can clean up).<br>
<br>
I *think* that the only expansion is the same as e.g. dir would do -<br>
only "*" and "?", and if there are no matches things are passed on as-is.<br>
<br>
I can't see that this behaviour is documented anywhere, nor if it's at<br>
all controllable.<br>
<br>
Does anyone have any insight?<br>
<br>
Joseph<br>
<br></blockquote><div><br></div><div>$ ls -1 *<br>boo<br>foo<br>test.lua<br><br>$ texlua test.lua *<br>boo<br>foo<br>test.lua<br><br>$ texlua test.lua '*'<br>*<br><br>$ texlua test.lua "*"<br>*<br><br>$ texlua test.lua '"*"'<br>"*"<br><br>$ texlua test.lua "'*'"<br>'*'<br></div><div> </div><div>and the same with luatex. I guess that it's not what you expect under windows, but at the moment I cannot test.</div><div><br></div><div>--</div><div>luigi</div><div><br></div></div></div>