Issues with tinytex downloads

John Collins jcc8 at psu.edu
Fri Feb 3 19:51:04 CET 2023


On 2/3/23 11:54 AM, Zdenek Wagner wrote:
> pá 3. 2. 2023 v 17:01 odesílatel John Collins <jcc8 at psu.edu> napsal:
>>
>> Actually, in my experience, the old API does handle long filenames.  The
>> problems I have seen all arise when filenames contain non-ASCII characters that
>> are outside the current system code page.  When that happens, the API reverts
>> to using short filenames.  E.g., on my Windows 11 system with system code page
>> 1252, that happens when Perl scripts deal with files whose names containing
>> Cyrillic characters.
>>
>> I think it was this issue that Norbert was referring to as possibly being the
>> cause of Eli's problem.
>>
>> John
>>
> No, the old API _MUST_NOT_ support the long names because the space in
> memory for the file name (or an element of a directory path) is
> exactly eleven bytes. If the old API were allowed to return a longer
> name, it would overwrite other variables in the memory. This is the
> reason why the OS creates alias names as I wrote in my previous mail.
> The old API is intended for use in the DOS subsystem. It was the only
> API up to Windows 3.11. The new API was introduced about 30 years ago
> with the first release of Windows NT which was even before Windows 95.
> OS/2 had a similar issue but they decided that files and directories
> not complying with 8.3 convention would not be accessible by the old
> API at all. Now I see no reason to use the old API in nowaday's
> software so you should never see names with ~1 appended to the first 6
> charactes. I can admit that this is not the only reason but it
> definitely signals that a piece of an obsolete SW is being used. It
> can be some kind of an obsolete shell or something like this.

Sorry, I misunderstood which API you were referring to.  The complication is 
that there are 2 file APIs for Windows in addition to anything for the DOS 
subsystem.  One allows full Unicode in filenames, and the other is restricted 
to what Microsoft calls the ANSI codepage.  It was that second API that I was 
referring to, and using it can result in the use of short filenames.

John Collins


More information about the tex-live mailing list.