--- /home/jeremy/tcl8.4.4/win/tclWinTime.c Sat May 10 15:42:26 2003 +++ tcl8.4.4/win/tclWinTime.c Wed Aug 13 11:52:52 2003 @@ -465,6 +465,8 @@ Tcl_Encoding encoding; ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); char *name = tsdPtr->tzName; + WCHAR *abbr; + int a, b; /* * tzset() under Borland doesn't seem to set up tzname[] at all. @@ -517,9 +519,18 @@ */ dst = 0; } + if (dst) + abbr=tz.DaylightName; + else + abbr=tz.StandardName; + for(a=0,b=0;abbr[a]&&a<32;a++) { + if (iswupper(abbr[a])) + abbr[b++]=abbr[a]; + } + abbr[b]=0; encoding = Tcl_GetEncoding(NULL, "unicode"); Tcl_ExternalToUtf(NULL, encoding, - (char *) ((dst) ? tz.DaylightName : tz.StandardName), -1, + (char *)abbr, -1, 0, NULL, name, sizeof(tsdPtr->tzName), NULL, NULL, NULL); Tcl_FreeEncoding(encoding); }