Ticket UUID: | 3389978 | |||
Title: | Support for paths longer than MAX_PATH on Windows | |||
Type: | RFE | Version: | None | |
Submitter: | zoro2 | Created on: | 2011-08-11 10:25:10 | |
Subsystem: | 37. File System | Assigned To: | jan.nijtmans | |
Priority: | 5 Medium | Severity: | Minor | |
Status: | Closed | Last Modified: | 2014-05-09 12:24:31 | |
Resolution: | Fixed | Closed By: | jan.nijtmans | |
Closed on: | 2014-05-09 12:24:31 | |||
Description: |
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? | |||
User Comments: |
jan.nijtmans added on 2014-05-09 12:24:31:
Remark: extended paths only work with absolute paths (either with a drive prefix, either UNC paths), so you must use: % file mkdir [pwd]/[string repeat Test 50]/[string repeat Test 50] % glob [pwd]/[string repeat Test 50]/* C:/Users/nijtmaj/TestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest/TestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest % length [glob [pwd]/[string repeat Test 50]/*] invalid command name "length" % string length [glob [pwd]/[string repeat Test 50]/*] 418 jan.nijtmans added on 2014-05-09 12:00:58: Fixed in trunk: [34528a47d11a6b0ed08b50618fc932e12508e369|34528a47d1] |