- summary: Support for paths longer than MAX_PATH --> Support for paths longer than MAX_PATH on Windows
Currently Tcl does not support extended paths and does not allow modifying its behavior to use it in certain cases. For example:
The following works fine:
% file mkdir //?/[pwd]/[string repeat Test 50]/[string repeat Test 50]
% llength [glob //?/[pwd]/[string repeat Test 50]/[string repeat Test 50]]
1
The following does not work:
% file mkdir [string repeat Test 50]/[string repeat Test 50]
can't create directory "TestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest/TestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest": no such file or directory
% llength [glob //?/[pwd]/[string repeat Test 50]/*]
couldn't read directory "\\?\D:\temp\TestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest/*": no such file or directory
While being a big rework, perhaps a review of which APIs should not be called as well as addition of \\?\ to full paths should be made to make Tcl support paths longer than MAX_PATH (260) characters?