I used binaries - ActiveTcl8.4.4, 8.4.5
This applies to non-English Win9X, for languages where
codepages/encoding for DOS and Windows differ.
"Console applications" in Win9X return "error text" in
DOS codepage. Whereas "wish" always displays Error text
in Windows codepage. This leads to unreadable Error
messages returned to "wish" by console apps.
(Sometimes in Activetcl it's possible to save the trace
to journal (into logfile). In this case user/programmer
can read saved file (in DOS-codepage) )
This is no problem for English users (as English
codepage is the same).
This can be of less importance for end-user if we
assume that there are no error messages happening in
the "final" program.
For example (for me particulary):
Russian DOS codepage is cp866
Russian WIN codepage is cp1251
Example script:
place these two files in the same directory and run the
tcl-script
this will display error, returned by VBScript
the problem is visible on localized versions of Windows 9X
file1: testerr.tcl
#--------------------------------------------
# CScript - console version of Win9X interpreter for
VBScript, JScript et al
exec -- cscript [file join [file dirname [info script]]
"test.vbs"]
#--------------------------------------------
file2: test.vbs
'-This is VBScript-------------------------
Msgbox
'---------------------------------------------
Logged In: YES
user_id=119429
Even a simpler example, with only a tcl script, which tries
to execute "cscript" with nonexistent script filename:
exec -- cscript "C:\\nonexistent.vbs"
> Russian DOS codepage is cp866
> Russian WIN codepage is cp1251
more technical terminology is OEM and ANSI codepages
See Win32API's Reference (for list of codepages):
OEM: function - GetOEMCP : 866 MS-DOS Russian
ANSI: function - GetACP : 1251 Windows 3.1 Cyrillic