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 ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
