[Dev-luatex] platform specific functionality

T T t34www at googlemail.com
Tue Mar 2 13:34:30 CET 2010

On 2 March 2010 09:21, Hans Hagen <pragma at wxs.nl> wrote:
> On 2-3-2010 8:01, Taco Hoekwater wrote:
>> T T wrote:
>>> With the other thread asking to add readlink, I would also like to ask
>>> for an addition of Windows specific GetShortPathName. Without this
>>> function it is impossible to check if two paths point to the same
>>> place.
>> Is that because of reparse points or so? I though GetShortPathName
>> was more or less obsolete now.
> indeed and luatex will not run nicely on windows < xp anyway (or os-9 or
> whatever old is around)

Win2000 should be OK too (or generally NT-based systems, although we
don't test anything prior to Win2k). Support for Win98 and below have
been officially dropped in TL'08 I think.

> best is to settle on long names consistently (i noticed some short name
> issues a while ago)

This is not possible for two reasons:
1) there is still some old software breaking on long paths
occasionally (or rather on names with spaces); we struggled recently
with dviout but this is resolved now; I'm not aware of any other
cases, atm.
2) even if we ignore old programs, short paths are accepted thoughout
the Windows API and pop-up in various places from time to time (e.g.
%TEMP% var); moreover, paths specified in mixed short/long convention
are OK too and the only way to get a cannonical path on Windows is
through GetShortPathName (or it's twin GetLongPathName, but this one
is not nearly as useful)

On 2 March 2010 07:01, Taco Hoekwater <taco at elvenkind.com> wrote:
> T T wrote:
>> However, I'm not sure if beefing up LuaTeX with this kind of
>> functionality is the best thing to do (there will be undoubtedly other
>> things worth adding).
> I am less hesitant than usual about adding stuff when the request is
> about scripting for texlive. If GetShortPathName is useful in such
> a context, I do not mind adding it.

I'm really glad to hear that. And yes, I think that GetShortPathName
is one of those essential functions you can't work around when you
need it. It's either there or not.

More information about the dev-luatex mailing list