On 31/10/2023 4:32 a.m., Tomas Kalibera wrote:
On 10/30/23 19:07, Yihui Xie wrote:
Sure. I'm not sure if it's possible to make it easier to reproduce,
but for now the example would require installing TinyTeX (via
tinytex::install_tinytex(), which can be later uninstalled cleanly via
tinytex::uninstall_tinytex() after you finish the investigation). Then
run:
system2('fmtutil-sys', '--all')
# or tinytex:::fmtutil() if fmtutil-sys.exe is not on PATH
and TeX Live would throw an error like this:
...\username\AppData\Roaming\TinyTeX\bin\windows\runscript.tlu:864: no
appropriate script or program found: fmtuti~1
The command "fmtutil-sys" is longer than 8 characters and hence
shortened to "fmtutil~1". Yes, in principle, TeX Live should work with
short path names, but it doesn't at the moment. I haven't figured out
if it was a recent breakage in TeX Live or not (I've tried to contact
TeX Live developers).
BTW, shell('fmtutil-sys --all') works fine.
I can reproduce the problem, also separately from R. It is not an R problem
./fmtutil-sys.exe --version
works
./fmtuti~1 --version
doesn't work
The problem is in runscript.tlu, when it looks at "progname", it parses
it assuming it is the full name, looking for "-sys" suffix, which won't
be in the short name:
progname, substcount = string.gsub(progname, '%-sys$', '')
local sysprog = (substcount > 0) -- true if there was a -sys suffix removed
and it does further processing using the program name.
This has to be fixed on the luatex end, it must be able to work with
short paths (e.g. expand it appropriately). You could probably work
around the installation before it gets fixed, e.g. by creating another
wrapper which would expand to long names, delete the short name, patch
the script, etc. After all, if it works via a shell, then probably the
shell is expanding to the long names and you have a work-around (I don't
know how reliable).
Adding an option to R's system*() functions to use only long names
doesn't make sense.
On the other hand, not modifying the executable name would make a lot of
sense, wouldn't it? I'm pretty sure all supported versions of Windows
can handle long filenames.
Duncan Murdoch
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel