Here's the stack trace:
00000000()
TclpObjNormalizePath(Tcl_Interp * 0x00000000, Tcl_Obj *
0x00af58c8, int 0) line 2467 + 27 bytes
TclFSNormalizeToUniquePath(Tcl_Interp * 0x00000000,
Tcl_Obj * 0x00af58c8, int 0, void * * 0x0026f4e0) line
1380 + 17 bytes
TclFSNormalizeAbsolutePath(Tcl_Interp * 0x00000000,
Tcl_Obj * 0x00af5880, void * * 0x0026f530) line 385 +
19 bytes
Tcl_FSGetNormalizedPath(Tcl_Interp * 0x00000000,
Tcl_Obj * 0x00af5898) line 1816 + 31 bytes
TclNativeCreateNativeRep(Tcl_Obj * 0x00af5898) line
2860 + 11 bytes
Tcl_FSGetInternalRep(Tcl_Obj * 0x00af5898,
Tcl_Filesystem * 0x10118648 _tclNativeFilesystem) line
1959 + 9 bytes
Tcl_FSGetNativePath(Tcl_Obj * 0x00af5898) line 4129 +
14 bytes
TclpObjStat(Tcl_Obj * 0x00af5898, _stati64 *
0x0026f74c) line 1758 + 15 bytes
Tcl_FSStat(Tcl_Obj * 0x00af5898, _stati64 * 0x0026f74c)
line 1890 + 13 bytes
InitializeEncodingSearchPath(char * * 0x10111b60, int *
0x10111b5c, Tcl_Encoding_ * * 0x10111b64) line 3086 +
13 bytes
TclGetProcessGlobalValue(ProcessGlobalValue *
0x10111b58 encodingSearchPath) line 2805 + 29 bytes
TclGetEncodingSearchPath() line 281 + 10 bytes
MakeFileMap() line 385 + 5 bytes
InitializeEncodingFileMap(char * * 0x10111b80, int *
0x10111b7c, Tcl_Encoding_ * * 0x10111b84) line 3131 + 5
bytes
TclGetProcessGlobalValue(ProcessGlobalValue *
0x10111b78 encodingFileMap) line 2805 + 29 bytes
LoadEncodingFile(Tcl_Interp * 0x00000000, const char *
0x1011bb80) line 1346 + 10 bytes
Tcl_GetEncoding(Tcl_Interp * 0x00000000, const char *
0x1011bb80) line 670 + 13 bytes
Tcl_RegisterConfig(Tcl_Interp * 0x00af5118, const char
* 0x1011bb88, Tcl_Config * 0x1011b890 cfg, const char *
0x1011bb80) line 79 + 11 bytes
TclInitEmbeddedConfigurationInformation(Tcl_Interp *
0x00af5118) line 121 + 24 bytes
Tcl_CreateInterp() line 444 + 9 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ *
0x00000000, char * 0x00291f07, int 1) line 129 + 8 bytes
WinMainCRTStartup() line 330 + 54 bytes
it crashes because it calls/references
(*tclWinProcs->getFileAttributesExProc) which is NULL
because TclWinSetInterfaces has not been called yet.
Logged In: YES
user_id=80530
please test this possible fix.
In Tcl_CreateInterp (tclBasic.c)
right after the call to
TclInitSubsystems()
add a call to
TclpSetInitialEncodings().
Logged In: YES
user_id=32170
That fix solves the problem for me - thanks!
Logged In: YES
user_id=32170
p.s. Another difference I just noticed with the new code is
that encodings are now case sensitive.
Before I could do 'fconfigure $chan -encoding macroman', but
that now gives an error (I need 'macRoman').
That may well bite a few people, unless fixed.
Logged In: YES
user_id=80530
Thanks for the report and the testing.
Committing a fix for the crash...
Patch attached.
Please raise the case sensitivity
issue in another report.
It's an example of filesystem
differences (unintentionally?)
filtering up to become cross-platform
issues in scripts. From my (unix)
perspective, encoding names have
always been case sensitive.
Logged In: YES
user_id=79902
FWIW, from my perspective it was always a bug that encoding
names were not case sensitive on some platforms. :^)