os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/changes
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/changes	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,6451 @@
     1.4 +Recent user-visible changes to Tcl:
     1.5 +
     1.6 +RCS: @(#) $Id: changes,v 1.79.2.50 2007/05/16 22:13:07 das Exp $
     1.7 +
     1.8 +1. No more [command1] [command2] construct for grouping multiple
     1.9 +commands on a single command line.
    1.10 +
    1.11 +2. Semi-colon now available for grouping commands on a line.
    1.12 +
    1.13 +3. For a command to span multiple lines, must now use backslash-return
    1.14 +at the end of each line but the last.
    1.15 +
    1.16 +4. "Var" command has been changed to "set".
    1.17 +
    1.18 +5. Double-quotes now available as an argument grouping character.
    1.19 +
    1.20 +6. "Return" may be used at top-level.
    1.21 +
    1.22 +7. More backslash sequences available now.  In particular, backslash-newline
    1.23 +may be used to join lines in command files.
    1.24 +
    1.25 +8. New or modified built-in commands:  case, return, for, glob, info,
    1.26 +print, return, set, source, string, uplevel.
    1.27 +
    1.28 +9. After an error, the variable "errorInfo" is filled with a stack
    1.29 +trace showing what was being executed when the error occurred.
    1.30 +
    1.31 +10. Command abbreviations are accepted when parsing commands, but
    1.32 +are not recommended except for purely-interactive commands.
    1.33 +
    1.34 +11. $, set, and expr all complain now if a non-existent variable is
    1.35 +referenced.
    1.36 +
    1.37 +12. History facilities exist now.  See Tcl.man and Tcl_RecordAndEval.man.
    1.38 +
    1.39 +13. Changed to distinguish between empty variables and those that don't
    1.40 +exist at all.  Interfaces to Tcl_GetVar and Tcl_ParseVar have changed
    1.41 +(NULL return value is now possible).  *** POTENTIAL INCOMPATIBILITY ***
    1.42 +
    1.43 +14. Changed meaning of "level" argument to "uplevel" command (1 now means
    1.44 +"go up one level", not "go to level 1"; "#1" means "go to level 1").
    1.45 +*** POTENTIAL INCOMPATIBILITY ***
    1.46 +
    1.47 +15. 3/19/90 Added "info exists" option to see if variable exists.
    1.48 +
    1.49 +16. 3/19/90 Added "noAbbrev" variable to prohibit command abbreviations.
    1.50 +
    1.51 +17. 3/19/90 Added extra errorInfo option to "error" command.
    1.52 +
    1.53 +18. 3/21/90 Double-quotes now only affect space:  command, variable,
    1.54 +and backslash substitutions still occur inside double-quotes.
    1.55 +*** POTENTIAL INCOMPATIBILITY ***
    1.56 +
    1.57 +19. 3/21/90 Added support for \r.
    1.58 +
    1.59 +20. 3/21/90 List, concat, eval, and glob commands all expect at least
    1.60 +one argument now.  *** POTENTIAL INCOMPATIBILITY ***
    1.61 +
    1.62 +21. 3/22/90 Added "?:" operators to expressions.
    1.63 +
    1.64 +22. 3/25/90 Fixed bug in Tcl_Result that caused memory to get trashed.
    1.65 +
    1.66 +------------------- Released version 3.1 ---------------------
    1.67 +
    1.68 +23. 3/29/90 Fixed bug that caused "file a.b/c ext" to return ".b/c".
    1.69 +
    1.70 +24. 3/29/90 Semi-colon is not treated specially when enclosed in
    1.71 +double-quotes.
    1.72 +
    1.73 +------------------- Released version 3.2 ---------------------
    1.74 +
    1.75 +25. 4/16/90 Rewrote "exec" not to use select or signals anymore.
    1.76 +Should be more Sys-V compatible, and no slower in the normal case.
    1.77 +
    1.78 +26. 4/18/90 Rewrote "glob" to eliminate GNU code (there's no GNU code
    1.79 +left in Tcl, now), and added Tcl_TildeSubst procedure.  Added automatic
    1.80 +tilde-substitution in many commands, including "glob".
    1.81 +
    1.82 +------------------- Released version 3.3 ---------------------
    1.83 +
    1.84 +27. 7/11/90 Added "Tcl_AppendResult" procedure.
    1.85 +
    1.86 +28. 7/20/90 "History" with no options now defaults to "history info"
    1.87 +rather than to "history redo".  Although this is a backward incompatibility,
    1.88 +it should only be used interactively and thus shouldn't present any
    1.89 +compatibility problems with scripts.
    1.90 +
    1.91 +29. 7/20/90 Added "Tcl_GetInteger", "Tcl_GetDouble", and "Tcl_GetBoolean"
    1.92 +procedures.
    1.93 +
    1.94 +30. 7/22/90 Removed "Tcl_WatchInterp" procedure:  doesn't seem to be
    1.95 +necessary, since the same effect can be achieved with the deletion
    1.96 +callbacks on individual commands.  *** POTENTIAL INCOMPATIBILITY ***
    1.97 +
    1.98 +31. 7/23/90 Added variable tracing:  Tcl_TraceVar, Tcl_UnTraceVar,
    1.99 +and Tcl_VarTraceInfo procedures, "trace" command.
   1.100 +
   1.101 +32. 8/9/90 Mailed out list of all bug fixes since 3.3 release.
   1.102 +
   1.103 +33. 8/29/90 Fixed bugs in Tcl_Merge relating to backslashes and
   1.104 +semi-colons.  Mailed out patch.
   1.105 +
   1.106 +34. 9/3/90 Fixed bug in tclBasic.c: quotes weren't quoting ]'s.
   1.107 +Mailed out patch.
   1.108 +
   1.109 +35. 9/19/90 Rewrote exec to always use files both for input and
   1.110 +output to the process.  The old pipe-based version didn't work if
   1.111 +the exec'ed process forked a child and then exited:  Tcl waited
   1.112 +around for stdout to get closed, which didn't happen until the
   1.113 +grandchild exited.
   1.114 +
   1.115 +36. 11/5/90 ERR_IN_PROGRESS flag wasn't being cleared soon enough
   1.116 +in Tcl_Eval, allowing error messages from different commands to
   1.117 +pile up in $errorInfo.  Fixed by re-arranging code in Tcl_Eval that
   1.118 +re-initializes result and ERR_IN_PROGRESS flag.  Didn't mail out
   1.119 +patch:  changes too complicated to describe.
   1.120 +
   1.121 +37. 12/19/90 Added Tcl_VarEval procedure as a convenience for
   1.122 +assembling and executing Tcl commands.
   1.123 +
   1.124 +38. 1/29/91 Fixed core leak in Tcl_AddErrorInfo.  Also changed procedure
   1.125 +and Tcl_Eval so that first call to Tcl_AddErrorInfo need not come from
   1.126 +Tcl_Eval.
   1.127 +
   1.128 +----------------- Released version 5.0 with Tk ------------------
   1.129 +
   1.130 +39. 4/3/91 Removed change bars from manual entries, leaving only those
   1.131 +that came after version 3.3 was released.
   1.132 +
   1.133 +40. 5/17/91 Changed tests to conform to Mary Ann May-Pumphrey's approach.
   1.134 + 
   1.135 +41. 5/23/91 Massive revision to Tcl parser to simplify the implementation
   1.136 +of string and floating-point support in expressions.  Newlines inside
   1.137 +[] are now treated as command separators rather than word separators
   1.138 +(this makes newline treatment consistent throughout Tcl).
   1.139 +*** POTENTIAL INCOMPATIBILITY ***
   1.140 +
   1.141 +42. 5/23/91 Massive rewrite of expression code to support floating-point
   1.142 +values and simple string comparisons.  The C interfaces to expression
   1.143 +routines have changed (Tcl_Expr is replaced by Tcl_ExprLong, Tcl_ExprDouble,
   1.144 +etc.), but all old Tcl expression strings should be accepted by the new
   1.145 +expression code.
   1.146 +*** POTENTIAL INCOMPATIBILITY ***
   1.147 +
   1.148 +43. 5/23/91 Modified tclHistory.c to check for negative "keep" value.
   1.149 +
   1.150 +44. 5/23/91 Modified Tcl_Backslash to handle backslash-newline.  It now
   1.151 +returns 0 to indicate that a backslash sequence should be replaced by
   1.152 +no character at all.
   1.153 +*** POTENTIAL INCOMPATIBILITY ***
   1.154 +
   1.155 +45. 5/29/91 Modified to use ANSI C function prototypes.  Must set
   1.156 +"USE_ANSI" switch when compiling to get prototypes.
   1.157 +
   1.158 +46. 5/29/91 Completed test suite by providing tests for all of the
   1.159 +built-in Tcl commands.
   1.160 +
   1.161 +47. 5/29/91 Changed Tcl_Concat to eliminate leading and trailing
   1.162 +white-space in each of the things it concatenates and to ignore
   1.163 +elements that are empty or have only white space in them.  This
   1.164 +produces cleaner output from the "concat" command.
   1.165 +*** POTENTIAL INCOMPATIBILITY ***
   1.166 +
   1.167 +48. 5/31/91 Changed "set" command and Tcl_SetVar procedure to return
   1.168 +new value of variable.
   1.169 +
   1.170 +49. 6/1/91 Added "while" and "cd" commands.
   1.171 +
   1.172 +50. 6/1/91 Changed "exec" to delete the last character of program
   1.173 +output if it is a newline.  In most cases this makes it easier to
   1.174 +process program-generated output.
   1.175 +*** POTENTIAL INCOMPATIBILITY ***
   1.176 +
   1.177 +51. 6/1/91 Made sure that pointers are never used after freeing them.
   1.178 +
   1.179 +52. 6/1/91 Fixed bug in TclWordEnd where it wasn't dealing with
   1.180 +[] inside quotes correctly.
   1.181 +
   1.182 +53. 6/8/91 Fixed exec.test to accept return values of either 1 or
   1.183 +255 from "false" command.
   1.184 +
   1.185 +54. 7/6/91 Massive overhaul of variable management.  Associative
   1.186 +arrays now available, along with "unset" command (and Tcl_UnsetVar
   1.187 +procedure).  Variable traces have been completely reworked:
   1.188 +interfaces different both from Tcl and C, and multiple traces may
   1.189 +exist on same variable.  Can no longer redefine existing local
   1.190 +variable to be global.  Calling sequences have changed slightly
   1.191 +for Tcl_GetVar and Tcl_SetVar ("global" is now "flags"). Tcl_SetVar
   1.192 +can fail and return a NULL result.  New forms of variable-manipulation
   1.193 +procedures:  Tcl_GetVar2, Tcl_SetVar2, etc.  Syntax of variable
   1.194 +$-notation changed to support array indexing.
   1.195 +*** POTENTIAL INCOMPATIBILITY ***
   1.196 +
   1.197 +55. 7/6/91 Added new list-manipulation procedures:  Tcl_ScanElement,
   1.198 +Tcl_ConvertElement, Tcl_AppendElement.
   1.199 +
   1.200 +56. 7/12/91 Created new procedure Tcl_EvalFile, which does most of the
   1.201 +work of the "source" command.
   1.202 +
   1.203 +57. 7/20/91 Major reworking of "exec" command to allow pipelines,
   1.204 +more redirection, background.  Added new procedures Tcl_Fork,
   1.205 +Tcl_WaitPids, Tcl_DetachPids, and Tcl_CreatePipeline.  The old
   1.206 +"< input" notation has been replaced by "<< input" ("<" is for
   1.207 +redirection from a file).  Also handles error returns and abnormal
   1.208 +terminations (e.g. signals) differently.
   1.209 +*** POTENTIAL INCOMPATIBILITY ***
   1.210 +
   1.211 +58. 7/21/91 Added "append" and "lappend" commands.
   1.212 +
   1.213 +59. 7/22/91 Reworked error messages and manual entries to use
   1.214 +?x? as the notation for an optional argument x, instead of [x].  The
   1.215 +bracket notation was often confused with the use of brackets for
   1.216 +command substitution.  Also modified error messages to be more
   1.217 +consistent.
   1.218 +
   1.219 +60. 7/23/91 Tcl_DeleteCommand now returns an indication of whether
   1.220 +or not the command actually existed, and the "rename" command uses
   1.221 +this information to return an error if an attempt is made to delete
   1.222 +a non-existent command.
   1.223 +*** POTENTIAL INCOMPATIBILITY ***
   1.224 +
   1.225 +61. 7/25/91 Added new "errorCode" mechanism, along with procedures
   1.226 +Tcl_SetErrorCode, Tcl_UnixError, and Tcl_ResetResult.  Renamed
   1.227 +Tcl_Return to Tcl_SetResult, but left a #define for Tcl_Return to
   1.228 +avoid compatibility problems.
   1.229 +
   1.230 +62. 7/26/91 Extended "case" command with alternate syntax where all
   1.231 +patterns and commands are together in a single list argument:  makes
   1.232 +it easier to write multi-line case statements.
   1.233 +
   1.234 +63. 7/27/91 Changed "print" command to perform tilde-substitution on
   1.235 +the file name.
   1.236 +
   1.237 +64. 7/27/91 Added "tolower", "toupper", "trim", "trimleft", and "trimright"
   1.238 +options to "string" command.
   1.239 +
   1.240 +65. 7/29/91 Added "atime", "mtime", "size", and "stat" options to "file"
   1.241 +command.
   1.242 +
   1.243 +66. 8/1/91 Added "split" and "join" commands.
   1.244 +
   1.245 +67. 8/11/91 Added commands for file I/O, including "open", "close",
   1.246 +"read", "gets", "puts", "flush", "eof", "seek", and "tell".
   1.247 +
   1.248 +68. 8/14/91 Switched to use a hash table for command lookups.  Command
   1.249 +abbreviations no longer have direct support in the Tcl interpreter, but
   1.250 +it should be possible to simulate them with the auto-load features
   1.251 +described below.  The "noAbbrev" variable is no longer used by Tcl.
   1.252 +*** POTENTIAL INCOMPATIBILITY ***
   1.253 +
   1.254 +68.5 8/15/91 Added support for "unknown" command, which can be used to
   1.255 +complete abbreviations, auto-load library files, auto-exec shell
   1.256 +commands, etc.
   1.257 +
   1.258 +69. 8/15/91 Added -nocomplain switch to "glob" command.
   1.259 +
   1.260 +70. 8/20/91 Added "info library" option and TCL_LIBRARY #define.  Also
   1.261 +added "info script" option.
   1.262 +
   1.263 +71. 8/20/91 Changed "file" command to take "option" argument as first
   1.264 +argument (before file name), for consistency with other Tcl commands.
   1.265 +*** POTENTIAL INCOMPATIBILITY ***
   1.266 +
   1.267 +72. 8/20/91 Changed format of information in $errorInfo variable:
   1.268 +comments such as 
   1.269 +    ("while" body line 1)
   1.270 +are now on separate lines from commands being executed.
   1.271 +*** POTENTIAL INCOMPATIBILITY ***
   1.272 +
   1.273 +73. 8/20/91 Changed Tcl_AppendResult so that it (eventually) frees
   1.274 +large buffers that it allocates.
   1.275 +
   1.276 +74. 8/21/91 Added "linsert", "lreplace", "lsearch", and "lsort"
   1.277 +commands.
   1.278 +
   1.279 +75. 8/28/91 Added "incr" and "exit" commands.
   1.280 +
   1.281 +76. 8/30/91 Added "regexp" and "regsub" commands.
   1.282 +
   1.283 +77. 9/4/91 Changed "dynamic" field in interpreters to "freeProc" (procedure
   1.284 +address).  This allows for alternative storage managers.
   1.285 +*** POTENTIAL INCOMPATIBILITY ***
   1.286 +
   1.287 +78. 9/6/91 Added "index", "length", and "range" options to "string"
   1.288 +command.  Added "lindex", "llength", and "lrange" commands.
   1.289 +
   1.290 +79. 9/8/91 Removed "index", "length", "print" and "range" commands.
   1.291 +"Print" is redundant with "puts", but less general, and the other
   1.292 +commands are replaced with the new commands described in change 78
   1.293 +above.
   1.294 +*** POTENTIAL INCOMPATIBILITY ***
   1.295 +
   1.296 +80. 9/8/91 Changed history revision to occur even when history command
   1.297 +is nested;  needed in order to allow "history" to be invoked from
   1.298 +"unknown" procedure.
   1.299 +
   1.300 +81. 9/13/91 Changed "panic" not to use vfprintf (it's uglier and less
   1.301 +general now, but makes it easier to run Tcl on systems that don't
   1.302 +have vfprintf).  Also changed "strerror" not to redeclare sys_errlist.
   1.303 +
   1.304 +82. 9/19/91 Lots of changes to improve portability to different UNIX
   1.305 +systems, including addition of "config" script to adapt Tcl to the
   1.306 +configuration of the system it's being compiled on.
   1.307 +
   1.308 +83. 9/22/91 Added "pwd" command.
   1.309 +
   1.310 +84. 9/22/91 Renamed manual pages so that their filenames are no more
   1.311 +than 14 characters in length, moved to "doc" subdirectory.
   1.312 +
   1.313 +85. 9/24/91 Redid manual entries so they contain the supplemental
   1.314 +macros that they need;  can just print with "troff -man" or "man"
   1.315 +now.
   1.316 +
   1.317 +86. 9/26/91 Created initial version of script library, including
   1.318 +a version of "unknown" that does auto-loading, auto-execution, and
   1.319 +abbreviation expansion.  This library is used by tclTest
   1.320 +automatically.  See the "library" manual entry for details.
   1.321 +
   1.322 +----------------- Released version 6.0, 9/26/91 ------------------
   1.323 +
   1.324 +87. 9/30/91 Made "string tolower" and "string toupper" check case
   1.325 +before converting:  on some systems, "tolower" and "toupper" assume
   1.326 +that character already has particular case.
   1.327 +
   1.328 +88. 9/30/91 Fixed bug in Tcl_SetResult:  wasn't always setting freeProc
   1.329 +correctly when called with NULL value.  This tended to cause memory
   1.330 +allocation errors later.
   1.331 +
   1.332 +89. 10/3/91 Added "upvar" command.
   1.333 +
   1.334 +90. 10/4/91 Changed "format" so that internally it converts %D to %ld,
   1.335 +%U to %lu, %O to %lo, and %F to %f.  This eliminates some compatibility
   1.336 +problems on some machines without affecting behavior.
   1.337 +
   1.338 +91. 10/10/91 Fixed bug in "regsub" that caused core dumps with the -all
   1.339 +option when the last match wasn't at the end of the string.
   1.340 +
   1.341 +92. 10/17/91 Fixed problems with backslash sequences:  \r support was
   1.342 +incomplete and \f and \v weren't supported at all.
   1.343 +
   1.344 +93. 10/24/91 Added Tcl_InitHistory procedure.
   1.345 +
   1.346 +94. 10/24/91 Changed "regexp" to store "-1 -1" in subMatchVars that
   1.347 +don't match, rather than returning an error.
   1.348 +
   1.349 +95. 10/27/91 Modified "regexp" to return actual strings in matchVar
   1.350 +and subMatchVars instead of indices.  Added "-indices" switch to cause
   1.351 +indices to be returned.
   1.352 +*** POTENTIAL INCOMPATIBILITY ***
   1.353 +
   1.354 +96. 10/27/91 Fixed bug in "scan" where it used hardwired constants for
   1.355 +sizes of floats and doubles instead of using "sizeof".
   1.356 +
   1.357 +97. 10/31/91 Fixed bug in tclParse.c where parse-related error messages
   1.358 +weren't being storage-managed correctly, causing spurious free's.
   1.359 +
   1.360 +98. 10/31/91 Form feed and vertical tab characters are now considered
   1.361 +to be space characters by the parser.
   1.362 +
   1.363 +99. 10/31/91 Added TCL_LEAVE_ERR_MSG flag to procedures like Tcl_SetVar.
   1.364 +
   1.365 +100. 11/7/91 Fixed bug in "case" where "in" argument couldn't be omitted
   1.366 +if all case branches were embedded in a single list.
   1.367 +
   1.368 +101. 11/7/91 Switched to use "pid_t" and "uid_t" and other official
   1.369 +POSIC types and function prototypes.
   1.370 +
   1.371 +----------------- Released version 6.1, 11/7/91 ------------------
   1.372 +
   1.373 +102. 12/2/91 Modified Tcl_ScanElement and Tcl_ConvertElement in several
   1.374 +ways.  First, allowed caller to request that only backslashes be used
   1.375 +(no braces).  Second, made Tcl_ConvertElement more aggressive in using
   1.376 +backslashes for braces and quotes.
   1.377 +
   1.378 +103. 12/5/91 Added "type", "lstat", and "readlink" options to "file"
   1.379 +command, plus added new "type" element to output of "stat" and "lstat"
   1.380 +options.
   1.381 +
   1.382 +104. 12/10/91 Manual entries had first lines that caused "man" program
   1.383 +to try weird preprocessor.  Added blank comment lines to fix problem.
   1.384 +
   1.385 +105. 12/16/91 Fixed a few bugs in auto_mkindex proc:  wasn't handling
   1.386 +errors properly, and hadn't been upgraded for new "regexp" syntax.
   1.387 +
   1.388 +106. 1/2/92 Fixed bug in "file" command where it didn't properly handle
   1.389 +a file names containing tildes where the indicated user doesn't exist.
   1.390 +
   1.391 +107. 1/2/92 Fixed lots of cases in tclUnixStr.c where two different
   1.392 +errno symbols (e.g. EWOULDBLOCK and EAGAIN) have the same number;  Tcl
   1.393 +will only use one of them.
   1.394 +
   1.395 +108. 1/2/92 Lots of changes to configuration script to handle many more
   1.396 +systems more gracefully.  E.g. should now detect the bogus strtoul that
   1.397 +comes with AIX and substitute Tcl's own version instead.
   1.398 +
   1.399 +----------------- Released version 6.2, 1/10/92 ------------------
   1.400 +
   1.401 +109. 1/20/92 Config didn't have code to actually use "uid_t" variable
   1.402 +to set TCL_UIT_T #define.
   1.403 +
   1.404 +110. 2/10/92 Tcl_Eval didn't properly reset "numLevels" variable when
   1.405 +too-deep recursion occurred.
   1.406 +
   1.407 +111. 2/29/92 Added "on" and "off" to keywords accepted by Tcl_GetBoolean.
   1.408 +
   1.409 +112. 3/19/92 Config wasn't installing default version of strtod.c for
   1.410 +systems that don't have one in libc.a.
   1.411 +
   1.412 +113. 3/23/92 Fixed bug in tclExpr.c where numbers with leading "."s,
   1.413 +like 0.75, couldn't be properly substituted into expressions with
   1.414 +variable or command substitution.
   1.415 +
   1.416 +114. 3/25/92 Fixed bug in tclUnixAZ.c where "gets" command wasn't
   1.417 +checking to make sure that it was able to write the variable OK.
   1.418 +
   1.419 +115. 4/16/92 Fixed bug in tclUnixAZ.c where "read" command didn't
   1.420 +compute file size right for device files.
   1.421 +
   1.422 +116. 4/23/92 Fixed but in tclCmdMZ.c where "trace vinfo" was overwriting
   1.423 +the trace command.
   1.424 +
   1.425 +----------------- Released version 6.3, 5/1/92 ------------------
   1.426 +
   1.427 +117. 5/1/92 Added Tcl_GlobalEval.
   1.428 +
   1.429 +118. 6/1/92 Changed auto-load facility to source files at global level.
   1.430 +
   1.431 +119. 6/8/92 Tcl_ParseVar wasn't always setting termPtr after errors, which
   1.432 +sometimes caused core dumps.
   1.433 +
   1.434 +120. 6/21/92 Fixed bug in initialization of regexp pattern cache.  This
   1.435 +bug caused segmentation violations in regexp commands under some conditions.
   1.436 +
   1.437 +121. 6/22/92 Changed implementation of "glob" command to eliminate
   1.438 +trailing slashes on directory names:  they confuse some systems.  There
   1.439 +shouldn't be any user-visible changes in functionality except for names
   1.440 +in error messages not having trailing slashes.
   1.441 +
   1.442 +122. 7/2/92 Fixed bug that caused 'string match ** ""' to return 0.
   1.443 +
   1.444 +123. 7/2/92 Fixed bug in Tcl_CreateCmdBuf where it wasn't initializing
   1.445 +the buffer to an empty string.
   1.446 +
   1.447 +124. 7/6/92 Fixed bug in "case" command where it used NULL pattern string
   1.448 +after errors in the "default" clause.
   1.449 +
   1.450 +125. 7/25/92 Speeded up auto_load procedure:  don't reread all the index
   1.451 +files unless the path has changed.
   1.452 +
   1.453 +126. 8/3/92 Changed tclUnix.h to define MAXPATHLEN from PATH_MAX, not
   1.454 +_POSIX_PATH_MAX.
   1.455 +
   1.456 +----------------- Released version 6.4, 8/7/92 ------------------
   1.457 +
   1.458 +127. 8/10/92 Changed tclBasic.c so that comment lines can be continued by
   1.459 +putting a backslash before the newline.
   1.460 +
   1.461 +128. 8/21/92 Modified "unknown" to allow the source-ing of a file for
   1.462 +an auto-load to trigger other nested auto-loads, as long as there isn't
   1.463 +any recursion on the same command name.
   1.464 +
   1.465 +129. 8/25/92 Modified "format" command to allow " " and "+" flags, and
   1.466 +allow flags in any order.
   1.467 +
   1.468 +130. 9/14/92 Modified Tcl_ParseVar so that it doesn't actually attempt
   1.469 +to look up the variable if "noEval" mode is in effect in the interpreter
   1.470 +(it just parses the name).  This avoids the errors that used to occur
   1.471 +in statements like "expr {[info exists foo] && $foo}".
   1.472 +
   1.473 +131. 9/14/92 Fixed bug in "uplevel" command where it didn't output the
   1.474 +correct error message if a level was specified but no command.
   1.475 +
   1.476 +132. 9/14/92 Renamed manual entries to have extensions like .3 and .n,
   1.477 +and added "install" target to Makefile.
   1.478 +
   1.479 +133. 9/18/92 Modified "unknown" command to emulate !!, !<num>, and
   1.480 +^<old>^<new> csh history substitutions.
   1.481 +
   1.482 +134. 9/21/92 Made the config script cleverer about figuring out which
   1.483 +switches to pass to "nm".
   1.484 +
   1.485 +135. 9/23/92 Fixed tclVar.c to be sure to copy flags when growing variables.
   1.486 +Used to forget about traces in progress and make extra recursive calls
   1.487 +on trace procs.
   1.488 +
   1.489 +136. 9/28/92 Fixed bug in auto_reset where it was unsetting variables
   1.490 +that might not exist.
   1.491 +
   1.492 +137. 10/7/92 Changed "parray" library procedure to print any array
   1.493 +accessible to caller, local or global.
   1.494 +
   1.495 +138. 10/15/92 Fixed bug where propagation of new environment variable
   1.496 +values among interpreters took N! time if there exist N interpreters.
   1.497 +
   1.498 +139. 10/16/92 Changed auto_reset procedure so that it also deletes any
   1.499 +existing procedures that are in the auto_load index (the assumption is
   1.500 +that they should be re-loaded to get the latest versions).
   1.501 +
   1.502 +140. 10/21/92 Fixed bug that caused lists to be incorrectly generated
   1.503 +for elements that contained backslash-newline sequences.
   1.504 +
   1.505 +141. 12/9/92 Added support for TCL_LIBRARY environment variable:  use
   1.506 +it as library location if it's present.
   1.507 +
   1.508 +142. 12/9/92 Added "info complete" command, Tcl_CommandComplete procedure.
   1.509 +
   1.510 +143. 12/16/92 Changed the Makefile to check to make sure "config" has been
   1.511 +run (can't run config directly from the Makefile because it modifies the
   1.512 +Makefile;  thus make has to be run again after running config).
   1.513 +
   1.514 +----------------- Released version 6.5, 12/17/92 ------------------
   1.515 +
   1.516 +144. 12/21/92 Changed config to look in several places for libc file.
   1.517 +
   1.518 +145. 12/23/92 Added "elseif" support to if.  Also, "then", "else", and
   1.519 +"elseif" may no longer be abbreviated.
   1.520 +*** POTENTIAL INCOMPATIBILITY ***
   1.521 +
   1.522 +146. 12/28/92 Changed "puts" and "read" to support initial "-nonewline"
   1.523 +switch instead of additional "nonewline" argument.  The old form is
   1.524 +still supported, but it is discouraged and is no longer documented.
   1.525 +Also changed "puts" to make the file argument default to stdout: e.g.
   1.526 +"puts foo" will print foo on standard output.
   1.527 +
   1.528 +147. 1/6/93 Fixed bug whereby backslash-newline wasn't working when
   1.529 +typed interactively, or in "info complete".
   1.530 +
   1.531 +148. 1/22/93 Fixed bugs in "lreplace" and "linsert" where close
   1.532 +quotes were being lost from last element before replacement or
   1.533 +insertion.
   1.534 +
   1.535 +149. 1/29/93 Fixed bug in Tcl_AssembleCmd where it wasn't requiring
   1.536 +a newline at the end of a line before considering a command to be
   1.537 +complete.  The bug caused some very long lines in script files to
   1.538 +be processed as multiple separate commands.
   1.539 +
   1.540 +150. 1/29/93 Various changes in Makefile to add more configuration
   1.541 +options, simplify installation, fix bugs (e.g. don't use -f switch
   1.542 +for cp), etc.
   1.543 +
   1.544 +151. 1/29/93 Changed "name1" and "name2" identifiers to "part1" and
   1.545 +"part2" to avoid name conflicts with stupid C++ implementations that
   1.546 +use "name1" and "name2" in a reserved way.
   1.547 +
   1.548 +152. 2/1/93 Added "putenv" procedure to replace the standard system
   1.549 +version so that it will work correctly with Tcl's environment handling.
   1.550 +
   1.551 +----------------- Released version 6.6, 2/5/93 ------------------
   1.552 +
   1.553 +153. 2/10/93 Fixed bugs in config script:  missing "endif" in libc loop,
   1.554 +and tried to use strncasecmp.c instead of strcasecmp.c.
   1.555 +
   1.556 +154. 2/10/93 Makefile improvements:  added RANLIB variable for easier
   1.557 +Sys-V configuration, added SHELL variable for SGI systems.
   1.558 +
   1.559 +----------------- Released version 6.7, 2/11/93 ------------------
   1.560 +
   1.561 +153. 2/6/93 Changes in backslash processing:
   1.562 +    - \Cx, \Mx, \CMx, \e sequences no longer special
   1.563 +    - \<newline> also eats up any space after the newline, replacing
   1.564 +      the whole sequence with a single space character
   1.565 +    - Hex sequences like \x24 are now supported, along with ANSI C's \a.
   1.566 +    - "format" no longer does backslash processing on its format string
   1.567 +    - there is no longer any special meaning to a 0 return value from
   1.568 +      Tcl_Backslash
   1.569 +    - unknown backslash sequences, like (e.g. \*), are replaced with
   1.570 +      the following character (e.g. *), instead of just treating the
   1.571 +      backslash as an ordinary character.
   1.572 +*** POTENTIAL INCOMPATIBILITY ***
   1.573 +
   1.574 +154. 2/6/93 Updated all copyright notices.  The meaning hasn't changed
   1.575 +at all but the wording does a better job of protecting U.C. from
   1.576 +liability (according to U.C. lawyers, anyway).
   1.577 +
   1.578 +155. 2/6/93 Changed "regsub" so that it overwrites the result variable
   1.579 +in all cases, even if there is no match.
   1.580 +*** POTENTIAL INCOMPATIBILITY ***
   1.581 +
   1.582 +156. 2/8/93 Added support for XPG3 %n$ conversion specifiers to "format"
   1.583 +command.
   1.584 +
   1.585 +157. 2/17/93 Fixed bug in Tcl_Eval where errors due to infinite
   1.586 +recursion could result in core dumps.
   1.587 +
   1.588 +158. 2/17/93 Improved the auto-load mechanism to deal gracefully (i.e.
   1.589 +return an error) with a situation where a library file that supposedly
   1.590 +defines a procedure doesn't actually define it.
   1.591 +
   1.592 +159. 2/17/93 Renamed Tcl_UnixError procedure to Tcl_PosixError, and
   1.593 +changed errorCode variable usage to use POSIX as keyword instead of
   1.594 +UNIX.
   1.595 +*** POTENTIAL INCOMPATIBILITY ***
   1.596 +
   1.597 +160. 2/19/93 Changes to exec and process control:
   1.598 +    - Added support for >>, >&, >>&, |&, <@, >@, and >&@ forms of redirection.
   1.599 +    - When exec puts processes into background, it returns a list of
   1.600 +      their pids as result.
   1.601 +    - Added support for <file, >file, etc. (i.e. no space between
   1.602 +      ">" and file name.
   1.603 +    - Added -keepnewline option.
   1.604 +    - Deleted Tcl_Fork and Tcl_WaitPids procedures (just use fork and
   1.605 +      waitpid instead).
   1.606 +    - Added waitpid compatibility procedure for systems that don't have
   1.607 +      it.
   1.608 +    - Added Tcl_ReapDetachedProcs procedure.
   1.609 +    - Changed "exec" to return an error if there is stderr output, even
   1.610 +      if the command returns a 0 exit status (it's always been documented
   1.611 +      this way, but the implementation wasn't correct).
   1.612 +    - If a process returns a non-zero exit status but doesn't generate
   1.613 +      any diagnostic output, then Tcl generates an error message for it.
   1.614 +*** POTENTIAL INCOMPATIBILITY ***
   1.615 +
   1.616 +161. 2/25/93 Fixed two memory-management problems having to do with
   1.617 +managing the old result during variable trace callbacks.
   1.618 +
   1.619 +162. 3/1/93 Added dynamic string library:  Tcl_DStringInit, Tcl_DStringAppend,
   1.620 +Tcl_DStringFree, Tcl_DStringResult, etc.
   1.621 +
   1.622 +163. 3/1/93 Modified glob command to only return the names of files that
   1.623 +exist, and to only return names ending in "/" if the file is a directory.
   1.624 +*** POTENTIAL INCOMPATIBILITY ***
   1.625 +
   1.626 +164. 3/19/93 Modified not to use system calls like "read" directly,
   1.627 +but instead to use special Tcl procedures that retry automatically
   1.628 +if interrupted by signals.
   1.629 +
   1.630 +165. 4/3/93 Eliminated "noSep" argument to Tcl_AppendElement, plus
   1.631 +TCL_NO_SPACE flag for Tcl_SetVar and Tcl_SetVar2.
   1.632 +*** POTENTIAL INCOMPATIBILITY ***
   1.633 +
   1.634 +166. 4/3/93 Eliminated "flags" and "termPtr" arguments to Tcl_Eval.
   1.635 +*** POTENTIAL INCOMPATIBILITY ***
   1.636 +
   1.637 +167. 4/3/93 Changes to expressions:
   1.638 +    - The "expr" command now accepts multiple arguments, which are
   1.639 +      concatenated together with space separators.
   1.640 +    - Integers aren't automatically promoted to floating-point if they
   1.641 +      overflow the word size:  errors are generated instead.
   1.642 +    - Tcl can now handle "NaN" and other special values if the underlying
   1.643 +      library procedures handle them.
   1.644 +    - When printing floating-point numbers, Tcl ensures that there is a "."
   1.645 +      or "e" in the number, so it can't be treated as an integer accidentally.
   1.646 +      The procedure Tcl_PrintDouble is available to provide this function
   1.647 +      in other contexts.  Also, the variable "tcl_precision" can be used
   1.648 +      to set the precision for printing (must be a decimal number giving
   1.649 +      digits of precision).
   1.650 +    - Expressions now support transcendental and other functions, e.g. sin,
   1.651 +      acos, hypot, ceil, and round.  Can add new math functions with
   1.652 +      Tcl_CreateMathFunc().
   1.653 +    - Boolean expressions can now have any of the string values accepted
   1.654 +      by Tcl_GetBoolean, such as "yes" or "no".
   1.655 +*** POTENTIAL INCOMPATIBILITY ***
   1.656 +
   1.657 +168. 4/5/93 Changed Tcl_UnsetVar and Tcl_UnsetVar2 to return TCL_OK
   1.658 +or TCL_ERROR instead of 0 or -1.
   1.659 +*** POTENTIAL INCOMPATIBILITY ***
   1.660 +
   1.661 +169. 4/5/93 Eliminated Tcl_CmdBuf structure and associated procedures;
   1.662 +can use Tcl_DStrings instead.
   1.663 +*** POTENTIAL INCOMPATIBILITY ***
   1.664 +
   1.665 +170. 4/8/93 Changed interface to Tcl_TildeSubst to use a dynamic
   1.666 +string for buffer space.  This makes the procedure re-entrant and
   1.667 +thread-safe, whereas it wasn't before.
   1.668 +*** POTENTIAL INCOMPATIBILITY ***
   1.669 +
   1.670 +171. 4/14/93 Eliminated tclHash.h, and moved everything from it to
   1.671 +tcl.h
   1.672 +*** POTENTIAL INCOMPATIBILITY ***
   1.673 +
   1.674 +172. 4/15/93 Eliminated Tcl_InitHistory, made "history" command always
   1.675 +be part of interpreter.
   1.676 +*** POTENTIAL INCOMPATIBILITY ***
   1.677 +
   1.678 +173. 4/16/93 Modified "file" command so that "readable" option always
   1.679 +exists, even on machines that don't support symbolic links (always returns
   1.680 +same error as if the file wasn't a symbolic link).
   1.681 +
   1.682 +174. 4/26/93 Fixed bugs in "regsub" where ^ patterns didn't get handled
   1.683 +right (pretended not to match when it really did, and looped infinitely
   1.684 +if -all was specified).
   1.685 +
   1.686 +175. 4/29/93 Various improvements in the handling of variables:
   1.687 +    - Can create variables and array elements during a read trace.
   1.688 +    - Can delete variables during traces (note: unset traces will be
   1.689 +      invoked when this happens).
   1.690 +    - Can upvar to array elements.
   1.691 +    - Can retarget an upvar to another variable by re-issuing the
   1.692 +      upvar command with a different "other" variable.
   1.693 +
   1.694 +176. 5/3/93 Added Tcl_GetCommandInfo, which returns info about a Tcl
   1.695 +command such as whether it exists and its ClientData.  Also added
   1.696 +Tcl_SetCommandInfo, which allows any of this information to be modified
   1.697 +and also allows a command's delete procedure to have a different
   1.698 +ClientData value than its command procedure.
   1.699 +
   1.700 +177. 5/5/93 Added Tcl_RegExpMatch procedure.
   1.701 +
   1.702 +178. 5/6/93 Fixed bug in "scan" where it didn't properly handle
   1.703 +%% conversion specifiers.  Also changed "scan" to use Tcl_PrintDouble
   1.704 +for printing real values.
   1.705 +
   1.706 +179. 5/7/93 Added "-exact", "-glob", and "-regexp" options to "lsearch"
   1.707 +command to allow different kinds of pattern matching.
   1.708 +
   1.709 +180. 5/7/93 Added many new switches to "lsort" to control the sorting
   1.710 +process: "-ascii", "-integer", "-real", "-command", "-increasing",
   1.711 +and "-decreasing".
   1.712 +
   1.713 +181. 5/10/93 Changes to file I/O:
   1.714 +    - Modified "open" command to support a list of POSIX access flags
   1.715 +      like {WRONLY CREAT TRUNC} in addition to current fopen-style
   1.716 +      access modes.  Also added "permissions" argument to set permissions
   1.717 +      of newly-created files.
   1.718 +    - Fixed Scott Bolte's bug (can close stdin etc. in application and
   1.719 +      then re-open them with Tcl commands).
   1.720 +    - Exported access to Tcl's file table with new procedures Tcl_EnterFile
   1.721 +      and Tcl_GetOpenFile.
   1.722 +
   1.723 +182. 5/15/93 Added new "pid" command, which can be used to retrieve
   1.724 +either the current process id or a list of the process ids in a
   1.725 +pipeline opened with "open |..."
   1.726 +
   1.727 +183. 6/3/93 Changed to use GNU autoconfig for configuration instead of
   1.728 +the home-brew "config" script.  Also made many other configuration-related
   1.729 +changes, such as using <unistd.h> instead of explicitly declaring system
   1.730 +calls in tclUnix.h.
   1.731 +
   1.732 +184. 6/4/93 Fixed bug where core-dumps could occur if a procedure
   1.733 +redefined itself (the memory for the procedure's body could get
   1.734 +reallocated in the middle of evaluating the body);  implemented
   1.735 +simple reference count mechanism.
   1.736 +
   1.737 +185. 6/5/93 Changed tclIndex file format in two ways:  (a) it's now
   1.738 +eval-ed instead of parsed, which makes it 3-4x faster; (b) the entries
   1.739 +in auto_index are now commands to evaluate, which allows commands to
   1.740 +be loaded in different ways such as dynamic-loading of C code.  The
   1.741 +old tclIndex file format is still supported.
   1.742 +
   1.743 +186. 6/7/93 Eliminated tclTest program, added new "tclsh" program
   1.744 +that is more like wish (allows script files to be invoked automatically
   1.745 +using "#!/usr/local/bin/tclsh", makes arguments available to script,
   1.746 +etc.).  Added support for Tcl_AppInit plus default version;  this
   1.747 +allows new Tcl applications to be created without modifying the
   1.748 +main program for tclsh.
   1.749 +
   1.750 +187. 6/7/93 Fixed bug in TclWordEnd that kept backslash-newline from
   1.751 +working correctly in some cases during interactive input.
   1.752 +
   1.753 +188. 6/9/93 Added Tcl_LinkVar and related procedures, which automatically
   1.754 +keep a Tcl variable in sync with a C variable.
   1.755 +
   1.756 +189. 6/16/93 Increased maximum nesting depth from 100 to 1000.
   1.757 +
   1.758 +190. 6/16/93 Modified "trace var" command so that error messages from
   1.759 +within traces are returned properly as the result of the variable
   1.760 +access, instead of the generic "access disallowed by trace command"
   1.761 +message.
   1.762 +
   1.763 +191. 6/16/93 Added Tcl_CallWhenDeleted to provide callbacks when an
   1.764 +interpreter is deleted (same functionality as Tcl_WatchInterp, which
   1.765 +used to exist in versions before 6.0).
   1.766 +
   1.767 +193. 6/16/93 Added "-code" argument to "return" command;  it's there
   1.768 +primarily for completeness, so that procedures implementing control
   1.769 +constructs can reflect exceptional conditions back to their callers.
   1.770 +
   1.771 +194. 6/16/93 Split up Tcl.n to make separate manual entries for each
   1.772 +Tcl command.  Tcl.n now contains a summary of the language syntax.
   1.773 +
   1.774 +195. 6/17/93 Added new "switch" command to replace "case": allows
   1.775 +alternate forms of pattern matching (exact, glob, regexp), replaces
   1.776 +pattern lists with single patterns (but you can use "-" bodies to
   1.777 +share one body among several patterns), eliminates "in" noise word.
   1.778 +"Case" command is now obsolete.
   1.779 +
   1.780 +196. 6/17/93 Changed the "exec", "glob", "regexp", and "regsub" commands
   1.781 +to include a "--" switch.  All initial arguments starting with "-" are now
   1.782 +treated as switches unless a "--" switch is present to end the list.
   1.783 +*** POTENTIAL INCOMPATIBILITY ***
   1.784 +
   1.785 +197. 6/17/93 Changed auto-exec so that the subprocess gets stdin, stdout,
   1.786 +and stderr from the parent.  This allows truly interactive sub-processes
   1.787 +(e.g. vi) to be auto-exec'ed from a tcl shell command line.
   1.788 +
   1.789 +198. 6/18/93 Added patchlevel.h, for use in coordinating future patch
   1.790 +releases, and also added "info patchlevel" command to make the patch
   1.791 +level available to Tcl scripts.
   1.792 +
   1.793 +199. 6/19/93 Modified "glob" command so that a leading "//" in a name
   1.794 +gets left as is (this is needed for systems like Apollos where "//" is
   1.795 +the super-root;  Tcl used to collapse the two slashes into a single
   1.796 +slash).
   1.797 +
   1.798 +200. 7/7/93 Added Tcl_SetRecursionLimit procedure so that the maximum
   1.799 +allowable nesting depth can be controlled for an interpreter from C.
   1.800 +
   1.801 +----------------- Released version 7.0 Beta 1, 7/9/93 ------------------
   1.802 +
   1.803 +201. 7/12/93 Modified Tcl_GetInt and tclExpr.c so that full-precision
   1.804 +unsigned integers can be specified without overflow errors.
   1.805 +
   1.806 +202. 7/12/93 Configuration changes:  eliminate leading blank line in
   1.807 +configure script;  provide separate targets in Makefile for installing
   1.808 +binary and non-binary information; check for size_t and a few other
   1.809 +potentially missing typedefs; don't put tclAppInit.o into libtcl.a;
   1.810 +better checks for matherr support.
   1.811 +
   1.812 +203. 7/14/93 Changed tclExpr.c to check the termination pointer before
   1.813 +errno after strtod calls, to avoid problems with some versions of
   1.814 +strtod that set errno in unexpected ways.
   1.815 +
   1.816 +204. 7/16/93 Changed "scan" command to be more ANSI-conformant:
   1.817 +eliminated %F, %D, etc., added code to ignore "l", "h", and "L"
   1.818 +modifiers but always convert %e, %f, and %g with implicit "l";
   1.819 +also added support for %u and %i.  Also changed "format" command
   1.820 +to eliminate %D, %U, %O, and add %i.
   1.821 +*** POTENTIAL INCOMPATIBILITY ***
   1.822 +
   1.823 +205. 7/17/93 Changed "uplevel" and "upvar" so that they can be used
   1.824 +from global level to global level:  this used to generate an error.
   1.825 +
   1.826 +206. 7/19/93 Renamed "setenv", "putenv", and "unsetenv" procedures
   1.827 +to avoid conflicts with system procedures with the same names.  If
   1.828 +you want Tcl's procedures to override the system procedures, do it
   1.829 +in the Makefile (instructions are in the Makefile).
   1.830 +*** POTENTIAL INCOMPATIBILITY ***
   1.831 +
   1.832 +----------------- Released version 7.0 Beta 2, 7/21/93 ------------------
   1.833 +
   1.834 +207. 7/21/93 Fixed bug in tclVar.c where freed memory was accidentally
   1.835 +used if a procedure returned an element of a local array.
   1.836 +
   1.837 +208. 7/22/93 Fixed bug in "unknown" where it didn't properly handle
   1.838 +errors occurring in the "auto_load" procedure, leaving its state
   1.839 +inconsistent.
   1.840 +
   1.841 +209. 7/23/93 Changed exec's ">2" redirection operator to "2>" for
   1.842 +consistency with sh.  This is incompatible with earlier beta releases
   1.843 +of 7.0 but not with pre-7.0 releases, which didn't support either
   1.844 +operator.
   1.845 +
   1.846 +210. 7/28/93 Changed backslash-newline handling so that the resulting
   1.847 +space character *is* treated as a word separator unless the backslash
   1.848 +sequence is in quotes or braces.  This is incompatible with 7.0b1
   1.849 +and 7.0b2 but is more compatible with pre-7.0 versions that the b1
   1.850 +and b2 releases were.
   1.851 +
   1.852 +211. 7/28/93 Eliminated Tcl_LinkedVarWritable, added TCL_LINK_READ_ONLY to
   1.853 +Tcl_LinkVar to accomplish same purpose.  This change is incompatible
   1.854 +with earlier beta releases, but not with releases before Tcl 7.0.
   1.855 +
   1.856 +212. 7/29/93 Renamed regexp C functions so they won't clash with POSIX
   1.857 +regexp functions that use the same name.
   1.858 +
   1.859 +213. 8/3/93 Added "-errorinfo" and "-errorcode" options to "return"
   1.860 +command: these allow for much better handling of the errorInfo
   1.861 +and errorCode variables in some cases.
   1.862 +
   1.863 +214. 8/12/93 Changed "expr" so that % always returns a remainder with
   1.864 +the same sign as the divisor and absolute value smaller than the
   1.865 +divisor.
   1.866 +
   1.867 +215. 8/14/93 Turned off auto-exec in "unknown" unless the command
   1.868 +was typed interactively.  This means you must use "exec" when
   1.869 +invoking subprocesses, unless it's a command that's typed interactively.
   1.870 +*** POTENTIAL INCOMPATIBILITY ***
   1.871 +
   1.872 +216. 8/14/93 Added support for tcl_prompt1 and tcl_prompt2 variables
   1.873 +to tclMain.c:  makes prompts user-settable.
   1.874 +
   1.875 +217. 8/14/93 Added asynchronous handlers (Tcl_AsyncCreate etc.) so
   1.876 +that signals can be taken cleanly by Tcl applications.
   1.877 +
   1.878 +218. 8/16/93 Moved information about open files from the interpreter
   1.879 +structure to global variables so that a file can be opened in one
   1.880 +interpreter and read or written in another.
   1.881 +
   1.882 +219. 8/16/93 Removed ENV_FLAGS from Makefile, so that there's no
   1.883 +official support for overriding setenv, unsetenv, and putenv.
   1.884 +
   1.885 +220. 8/20/93 Various configuration improvements:  coerce chars
   1.886 +to unsigned chars before using macros like isspace;  source ~/.tclshrc
   1.887 +file during initialization if it exists and program is running
   1.888 +interactively;  allow there to be directories in auto_path that don't
   1.889 +exist or don't have tclIndex files (ignore them); added Tcl_Init
   1.890 +procedure and changed Tcl_AppInit to call it.
   1.891 +
   1.892 +221. 8/21/93 Fixed bug in expr where "+", "-", and " " were all
   1.893 +getting treated as integers with value 0.
   1.894 +
   1.895 +222. 8/26/93 Added "tcl_interactive" variable to tclsh.
   1.896 +
   1.897 +223. 8/27/93 Added procedure Tcl_FilePermissions to return whether a
   1.898 +given file can be read or written or both.  Modified Tcl_EnterFile
   1.899 +to take a permissions mask rather than separate read and write arguments.
   1.900 +
   1.901 +224. 8/28/93 Fixed performance bug in "glob" command (unnecessary call
   1.902 +to "access" for each file caused a 5-10x slow-down for big directories).
   1.903 +
   1.904 +----------------- Released version 7.0 Beta 3, 8/28/93 ------------------
   1.905 +
   1.906 +225. 9/9/93 Renamed regexp.h to tclRegexp.h to avoid conflicts with system
   1.907 +include file by same name.
   1.908 +
   1.909 +226. 9/9/93 Added Tcl_DontCallWhenDeleted.
   1.910 +
   1.911 +227. 9/16/93 Changed not to call exit C procedure directly;  instead
   1.912 +always invoke "exit" Tcl command so that application can redefine the
   1.913 +command to do additional cleanup.
   1.914 +
   1.915 +228. 9/17/93 Changed auto-exec to handle names that contain slashes
   1.916 +(i.e. don't use PATH for them).
   1.917 +
   1.918 +229. 9/23/93 Fixed bug in "read" and "gets" commands where they didn't
   1.919 +clear EOF conditions.
   1.920 +
   1.921 +----------------- Released version 7.0, 9/29/93 ------------------
   1.922 +
   1.923 +230. 10/7/93 "Scan" command wasn't properly aligning things in memory,
   1.924 +so segmentation faults could arise under some circumstances.
   1.925 +
   1.926 +231. 10/7/93 Fixed bug in Tcl_ConvertElement where it forgot to
   1.927 +backslash leading curly brace when creating lists.
   1.928 +
   1.929 +232. 10/7/93 Eliminated dependency of tclMain.c on tclInt.h and
   1.930 +tclUnix.h, so that people can copy the file out of the Tcl source
   1.931 +directory to make modified private versions.
   1.932 +
   1.933 +233. 10/8/93 Fixed bug in auto-loader that reversed the priority order
   1.934 +of entries in auto_path for new-style index files.  Now things are
   1.935 +back to the way they were before 3.0:  first in auto_path is always
   1.936 +highest priority.
   1.937 +
   1.938 +234. 10/13/93 Fixed bug where Tcl_CommandComplete didn't recognize
   1.939 +comments and treat them as such.  Thus if you typed the line
   1.940 +    # {
   1.941 +interactively, Tcl would think that the command wasn't complete and
   1.942 +wait for more input before evaluating the script.
   1.943 +
   1.944 +235. 10/14/93 Fixed bug where "regsub" didn't set the output variable
   1.945 +if the input string was empty.
   1.946 +
   1.947 +236. 10/23/93 Fixed bug where Tcl_CreatePipeline didn't close off enough
   1.948 +file descriptors in child processes, causing children not to exit
   1.949 +properly in some cases.
   1.950 +
   1.951 +237. 10/28/93 Changed "list" and "concat" commands not to generate
   1.952 +errors if given zero arguments, but instead to just return an empty
   1.953 +string.
   1.954 +
   1.955 +----------------- Released version 7.1, 11/4/93 ------------------
   1.956 +
   1.957 +Note: there is no 7.2 release.  It was flawed and was thus withdrawn
   1.958 +shortly after it was released.
   1.959 +
   1.960 +238. 11/10/93 TclMain.c didn't compile on some systems because of
   1.961 +R_OK in call to "access".  Changed to eliminate call to "access".
   1.962 +
   1.963 +----------------- Released version 7.3, 11/26/93 ------------------
   1.964 +
   1.965 +239. 11/6/93 Modified "lindex", "linsert", "lrange", and "lreplace"
   1.966 +so that "end" can be specified as an index.
   1.967 +
   1.968 +240. 11/6/93 Modified "append" and "lappend" to allow only two
   1.969 +words total (i.e., nothing to append) without generating an error.
   1.970 +
   1.971 +241. 12/2/93 Changed to use EAGAIN as the errno for non-blocking
   1.972 +I/O instead of EWOULDBLOCK:  this should fix problem where non-blocking
   1.973 +I/O didn't work correctly on System-V systems.
   1.974 +
   1.975 +242. 12/22/93 Fixed bug in expressions where cancelled evaluation
   1.976 +wasn't always working correctly (e.g. "set one 1; eval {1 || 1/$one}"
   1.977 +failed with a divide by zero error).
   1.978 +
   1.979 +243. 1/6/94 Changed TCL_VOLATILE definition from -1 to the address of
   1.980 +a dummy procedure Tcl_Volatile, since -1 causes portability problems on
   1.981 +some machines (e.g., Crays).
   1.982 +
   1.983 +244. 2/4/94 Added support for unary plus.
   1.984 +
   1.985 +245. 2/17/94 Changed Tcl_RecordAndEval and "history" command to
   1.986 +call Tcl_GlobalEval instead of Tcl_Eval.  Otherwise, invocation of
   1.987 +these facilities in nested procedures can cause unwanted results.
   1.988 +
   1.989 +246. 2/17/94 Fixed bug in tclExpr.c where an expression such as
   1.990 +"expr {"12398712938788234-1298379" != ""}" triggers an integer
   1.991 +overflow error for the number in quotes, even though it isn't really
   1.992 +a proper integer anyway.
   1.993 +
   1.994 +247. 2/19/94 Added new procedure Tcl_DStringGetResult to move result
   1.995 +from interpreter to a dynamic string.
   1.996 +
   1.997 +248. 2/19/94 Fixed bug in Tcl_DStringResult that caused it to overwrite
   1.998 +the contents of a static result in some situations.  This can cause
   1.999 +bizarre errors such as variables suddenly having empty values.
  1.1000 +
  1.1001 +249. 2/21/94 Fixed bug in Tcl_AppendElement, Tcl_DStringAppendElement,
  1.1002 +and the "lappend" command that caused improper omission of a separator
  1.1003 +space in some cases.  For example, the script
  1.1004 +    set x "abc{"; lappend x "def"
  1.1005 +used to return the result "abc{def" instead of "abc{ def".
  1.1006 +
  1.1007 +250. 3/3/94 Tcl_ConvertElement was outputting empty elements as \0 if
  1.1008 +TCL_DONT_USE_BRACES was set.  This depends on old pre-7.0 meaning of
  1.1009 +\0, which is no longer in effect, so it didn't really work.  Changed
  1.1010 +to output empty elements as {} always.
  1.1011 +
  1.1012 +251. 3/3/94 Renamed Tcl_DStringTrunc to Tcl_DStringSetLength and extended
  1.1013 +it so that it can be used to lengthen a string as well as shorten it.
  1.1014 +Tcl_DStringTrunc is defined as a macro for backward compatibility, but
  1.1015 +it is deprecated.
  1.1016 +
  1.1017 +252. 3/3/94 Added Tcl_AllowExceptions procedure.
  1.1018 +
  1.1019 +253. 3/13/94 Fixed bug in Tcl_FormatCmd that could cause "format"
  1.1020 +to mis-behave on 64-bit Big-Endian machines.
  1.1021 +
  1.1022 +254. 3/13/94 Changed to use vfork instead of fork on systems where
  1.1023 +vfork exists.
  1.1024 +
  1.1025 +255. 3/23/94 Fixed bug in expressions where ?: didn't associate
  1.1026 +right-to-left as they should.
  1.1027 +
  1.1028 +256. 4/3/94 Fixed "exec" to flush any files used in >@ or >&@
  1.1029 +redirection in exec, so that data buffered for them is written
  1.1030 +before any new data added by the subprocess.
  1.1031 +
  1.1032 +257. 4/3/94 Added "subst" command.
  1.1033 +
  1.1034 +258. 5/20/94 The tclsh main program is now called Tcl_Main;  tclAppInit.c
  1.1035 +has a "main" procedure that calls Tcl_Main.  This makes it easier to use
  1.1036 +Tcl with C++ programs, which need their own main programs, and it also
  1.1037 +allows an application to prefilter the argument list before calling
  1.1038 +Tcl_Main.
  1.1039 +*** POTENTIAL INCOMPATIBILITY ***
  1.1040 +
  1.1041 +259. 6/6/94 Fixed bug in procedure returns where the errorInfo variable
  1.1042 +could get truncated if an unset trace was invoked as part of returning
  1.1043 +from the procedure.
  1.1044 +
  1.1045 +260. 6/13/94 Added "wordstart" and "wordend" options to "string" command.
  1.1046 +
  1.1047 +261. 6/27/94 Fixed bug in expressions where they didn't properly cancel
  1.1048 +the evaluation of math functions in &&, ||, and ?:.
  1.1049 +
  1.1050 +262. 7/11/94 Incorrect boolean values, like "ogle", weren't being
  1.1051 +handled properly.
  1.1052 +
  1.1053 +263. 7/15/94 Added Tcl_RegExpCompile, Tcl_RegExpExec, and Tcl_RegExpRange,
  1.1054 +which provide lower-level access to regular expression pattern matching.
  1.1055 +
  1.1056 +264. 7/22/94 Fixed bug in "glob" command where "glob -nocomplain ~bad_user"
  1.1057 +would complain about a missing user.  Now it doesn't complain anymore.
  1.1058 +
  1.1059 +265. 8/4/94 Fixed bug with linked variables where they didn't behave
  1.1060 +correctly when accessed via upvars.
  1.1061 +
  1.1062 +266. 8/17/94 Fixed bug in Tcl_EvalFile where it didn't clear interp->result.
  1.1063 +
  1.1064 +267. 8/31/94 Modified "open" command so that errors in exec-ing
  1.1065 +subprocesses are returned by the open immediately, rather than
  1.1066 +being delayed until the "close" is executed.
  1.1067 +
  1.1068 +268. 9/9/94 Modified "expr" command to generate errors for integer
  1.1069 +overflow (includes addition, subtraction, negation, multiplication,
  1.1070 +division).
  1.1071 +
  1.1072 +269. 9/23/94 Modified "regsub" to return a count of the number of
  1.1073 +matches and replacements, rather than 0/1.
  1.1074 +
  1.1075 +279. 10/4/94 Added new features to "array" command:
  1.1076 +    - added "get" and "set" commands for easy conversion between arrays
  1.1077 +      and lists.
  1.1078 +    - added "exists" command to see if a variable is an array, changed
  1.1079 +      "names" and "size" commands to treat a non-existent array (or scalar
  1.1080 +      variable) just like an empty one.
  1.1081 +    - added pattern option to "names" command.
  1.1082 +
  1.1083 +280. 10/6/94 Modified Tcl_SetVar2 so that read traces on variables get
  1.1084 +called during append operations.
  1.1085 +
  1.1086 +281. 10/20/94 Fixed bug in "read" command where reading from stdin
  1.1087 +required two control-D's to stop the reading.
  1.1088 +
  1.1089 +282. 11/3/94 Changed "expr" command to use longs for division just like
  1.1090 +all other expr operators;  it previously used ints for division.
  1.1091 +
  1.1092 +283. 11/4/94 Fixed bugs in "unknown" procedure:  it wasn't properly
  1.1093 +handling exception returns from commands that were executed after
  1.1094 +being auto-loaded.
  1.1095 +
  1.1096 +----------------- Released version 7.4b1, 12/23/94 ------------------
  1.1097 +
  1.1098 +284. 12/26/94 Fixed "install" target in Makefile (couldn't always
  1.1099 +find install program).
  1.1100 +
  1.1101 +285. 12/26/94 Added strcncasecmp procedure to compat directory.
  1.1102 +
  1.1103 +286. 1/3/95 Fixed all procedure calls to explicitly cast arguments:
  1.1104 +implicit conversions from prototypes (especially integer->double)
  1.1105 +don't work when compiling under non-ANSI compilers.  Tcl is now clean
  1.1106 +under gcc -Wconversion.
  1.1107 +
  1.1108 +287. 1/4/95 Fixed problem in Tcl_ArrayCmd where same name was used for
  1.1109 +both a label and a variable;  caused problems on several older compilers,
  1.1110 +making array command misbehave and causing many errors in Tcl test suite.
  1.1111 +
  1.1112 +----------------- Released version 7.4b2, 1/12/95 ------------------
  1.1113 +
  1.1114 +288. 2/9/95 Modified Tcl_CreateCommand to return a token, and added
  1.1115 +Tcl_GetCommandName procedure.  Together, these procedures make it possible
  1.1116 +to track renames of a command.
  1.1117 +
  1.1118 +289. 2/13/95 Fixed bug in expr where "089" was interpreted as a
  1.1119 +floating-point number rather than a bogus octal number.
  1.1120 +*** POTENTIAL INCOMPATIBILITY ***
  1.1121 +
  1.1122 +290. 2/14/95 Added code to Tcl_GetInt and Tcl_GetDouble to check for
  1.1123 +overflows when reading in numbers.
  1.1124 +
  1.1125 +291. 2/18/95 Changed "array set" to stop after first error, rather than
  1.1126 +continuing after error.
  1.1127 +
  1.1128 +292. 2/20/95 Upgraded to use autoconf version 2.2.
  1.1129 +
  1.1130 +293. 2/20/95 Fixed core dump that could occur in "scan" command if a
  1.1131 +close bracket was omitted.
  1.1132 +
  1.1133 +294. 2/27/95 Changed Makefile to always use install-sh for installations:
  1.1134 +there's just too much variation among "install" system programs, which
  1.1135 +makes installation flakey.
  1.1136 +
  1.1137 +----------------- Released version 7.4b3, 3/24/95 ------------------
  1.1138 +
  1.1139 +3/25/95 (bug fix) Changed "install" to "./install" in Makefile so that
  1.1140 +"make install" will work even when "." isn't in the search path.
  1.1141 +
  1.1142 +3/29/95 (bug fix) Fixed bug where the auto-loading mechanism wasn't
  1.1143 +protecting the values of the errorCode and errorInfo variables.
  1.1144 +
  1.1145 +3/29/95 (new feature) Added optional pattern argument to "parray" procedure.
  1.1146 +
  1.1147 +3/29/95 (bug fix) Made the full functionality of
  1.1148 +    "return -code ... -errorcode ..."
  1.1149 +work not just inside procedures, but also in sourced files and at
  1.1150 +top level.
  1.1151 +
  1.1152 +4/6/95 (new feature) Added "pattern" option to "array names" command.
  1.1153 +
  1.1154 +4/18/95 (bug fix) Fixed bug in parser where it didn't allow backslash-newline
  1.1155 +immediately after an argument in braces or quotes.
  1.1156 +
  1.1157 +4/19/95 (new feature) Added tcl_library variable, which application can
  1.1158 +set to override default library directory.
  1.1159 +
  1.1160 +4/30/95 (bug fix) During trace callbacks for array elements, the variable
  1.1161 +name used in the original reference would be temporarily modified to
  1.1162 +separate the array name and element name;  if the trace callback used
  1.1163 +the same name string, it would get the wrong name (the array name without
  1.1164 +element).  Fixed to restore the variable name before making trace
  1.1165 +callbacks.
  1.1166 +
  1.1167 +4/30/95 (new feature) Added -nobackslashes, -nocommands, and -novariables
  1.1168 +switches to "subst" command.
  1.1169 +
  1.1170 +5/4/95 (new feature) Added TCL_EVAL_GLOBAL flag to Tcl_RecordAndEval.
  1.1171 +
  1.1172 +5/5/95 (bug fix)  Format command would overrun memory when printing
  1.1173 +integers with very large precision, as in "format %.1000d 0".
  1.1174 +
  1.1175 +5/5/95 (portability improvement) Changed to use BSDgettimeofday on
  1.1176 +IRIX machines, to avoid compilation problems with the gettimeofday
  1.1177 +declaration.
  1.1178 +
  1.1179 +5/6/95 (bug fix) Changed manual entries to use the standard .TH
  1.1180 +macro instead of a custom .HS macro;  the .HS macro confuses index
  1.1181 +generators like makewhatis.
  1.1182 +
  1.1183 +5/9/95 (bug fix) Modified configure script to check for Solaris bug
  1.1184 +that makes vfork unreliable (core dumps result if vforked child
  1.1185 +changes a signal handler);  will use fork instead of vfork if the
  1.1186 +bug is present.
  1.1187 +
  1.1188 +6/5/95 (bug fix) Modified "lsort" command to disallow recursive calls
  1.1189 +to lsort from a comparison function.  This is needed because qsort
  1.1190 +is not reentrant.
  1.1191 +
  1.1192 +6/5/95 (bug fix) Undid change 243 above:  changed TCL_VOLATILE and
  1.1193 +TCL_DYNAMIC back to integer constants rather than procedure addresses.
  1.1194 +This was needed because procedure addresses can have multiple values
  1.1195 +under some dynamic loading systems (e.g. SunOS 4.1 and Windows).
  1.1196 +
  1.1197 +6/8/95 (feature change) Modified interface to Tcl_Main to pass in the
  1.1198 +address of the application-specific initialization procedure.
  1.1199 +Tcl_AppInit is no longer hardwired into Tcl_Main.  This is needed
  1.1200 +in order to make Tcl a shared library. 
  1.1201 +
  1.1202 +6/8/95 (feature change) Modified Makefile so that the installed versions
  1.1203 +of tclsh and libtcl.a have version number in them (e.g. tclsh7.4 and
  1.1204 +libtcl7.4.a) and the library directory name also has an embedded version
  1.1205 +number (e.g., /usr/local/lib/tcl7.4).  This should make it easier for
  1.1206 +Tcl 7.4 to coexist with earlier versions.
  1.1207 +
  1.1208 +----------------- Released version 7.4b4, 6/16/95 ------------------
  1.1209 +
  1.1210 +6/19/95 (bug fix) Fixed bugs in tclCkalloc.c that caused core dumps
  1.1211 +if TCL_MEM_DEBUG was enabled on word-addressed machines such as Crays.
  1.1212 +
  1.1213 +6/21/95 (feature removal) Removed overflow checks for integer arithmetic:
  1.1214 +they just cause too much trouble (e.g. for random  number generators).
  1.1215 +
  1.1216 +6/28/95 (new features) Added tcl_patchLevel and tcl_version variables,
  1.1217 +for consistency with Tk.
  1.1218 +
  1.1219 +6/29/95 (bug fix) Fixed problem in Tcl_Eval where it didn't record
  1.1220 +the right termination character if a script ended with a comment.  This
  1.1221 +caused erroneous output for the following command, among others:
  1.1222 +puts "[
  1.1223 +expr 1+1
  1.1224 +# duh!
  1.1225 +]"
  1.1226 +
  1.1227 +6/29/95 (message change) Changed the error message for ECHILD slightly
  1.1228 +to provide a hint about why the problem is occurring.
  1.1229 +
  1.1230 +----------------- Released version 7.4, 7/1/95 ------------------
  1.1231 +
  1.1232 +7/18/95 (bug fix) Changed "lreplace" so that nothing is deleted if
  1.1233 +the last index is less than the first index or if the last index
  1.1234 +is < 0.
  1.1235 +
  1.1236 +7/18/95 (bug fix) Fixed bugs with backslashes in comments:
  1.1237 +Tcl_CommandComplete (and "info complete") didn't properly handle
  1.1238 +strings ending in backslash-newline, and neither Tcl_CommandComplete
  1.1239 +nor the Tcl parser handled other backslash sequences right, such
  1.1240 +as two backslashes before a newline.
  1.1241 +
  1.1242 +7/19/95 (bug fix) Modified Tcl_DeleteCommand to delete the hash table
  1.1243 +entry for the command before invoking its callback.  This is needed in
  1.1244 +order to deal with reentrancy.
  1.1245 +
  1.1246 +7/22/95 (bug fix) "exec" wasn't reaping processes correctly after
  1.1247 +certain errors (e.g. if the name of the executable was bogus, as
  1.1248 +in "exec foobar").
  1.1249 +
  1.1250 +7/27/95 (bug fix) Makefile.in wasn't using the LIBS variable provided
  1.1251 +by the "configure" script.  This caused problems on some SCO systems.
  1.1252 +
  1.1253 +7/27/95 (bug fix) The version of strtod in fixstrtod.c didn't properly
  1.1254 +handle the case where endPtr == NULL.
  1.1255 +
  1.1256 +----------------- Released patch 7.4p1, 7/29/95 -----------------------
  1.1257 +
  1.1258 +8/4/95 (bug fix) C-level trace callbacks for variables were sometimes
  1.1259 +receiving the PART1_NOT_PARSED flag, which could cause errors in
  1.1260 +subsequent Tcl library calls using the flags. (JO)
  1.1261 +
  1.1262 +8/4/95 (bug fix) Calls to toupper and tolower weren't using the
  1.1263 +UCHAR macros, which caused trouble in non-U.S. locales. (JO)
  1.1264 +
  1.1265 +8/10/95 (new feature) Added the "load" command for dynamic loading of
  1.1266 +binary packages, and the Tcl_PackageInitProc prototype for package
  1.1267 +initialization procedures. (JO)
  1.1268 +
  1.1269 +8/23/95 (new features) Added "info sharedlibextension" and
  1.1270 +"info nameofexecutable" commands, plus Tcl_FindExtension procedure. (JO)
  1.1271 +
  1.1272 +8/25/95 (bug fix) If the target of an "upvar" was non-existent but
  1.1273 +had traces set, the traces were silently lost.  Change to generate
  1.1274 +an error instead. (JO)
  1.1275 +
  1.1276 +8/25/95 (bug fix) Undid change from 7/19, so that commands can stay
  1.1277 +around while their deletion callbacks execute.  Added lots of code to
  1.1278 +handle all of the reentrancy problems that this opens up. (JO)
  1.1279 +
  1.1280 +8/25/95 (bug fix) Fixed core dump that could occur in TclDeleteVars
  1.1281 +if there was an upvar from one entry in the table to the next entry
  1.1282 +in the same table. (JO)
  1.1283 +
  1.1284 +8/28/95 (bug fix) Exec wasn't handling bad user names properly, as
  1.1285 +in "exec ~bogus_user/foo". (JO)
  1.1286 +
  1.1287 +8/29/95 (bug fixes) Changed backslash-newline handling to correct two
  1.1288 +problems:
  1.1289 +    - Only spaces and tabs following the backslash-newline are now
  1.1290 +      absorbed as part of the backslash-newline.  Newlinew are no
  1.1291 +      longer absorbed (add another backslash if you want to absorb
  1.1292 +      another newline).
  1.1293 +    - TclWordEnd returns the character just before the backslash in
  1.1294 +      the sequence as the end of the sequence;  it used to not consider
  1.1295 +      the backslash-newline as a word separator. (JO)
  1.1296 +
  1.1297 +8/31/95 (new feature) Changed man page installation (with "mkLinks"
  1.1298 +script) to create additional links for manual pages corresponding to
  1.1299 +each of the procedure and command names described in the pages. (JO)
  1.1300 +
  1.1301 +9/10/95 Reorganized Tcl sources for Windows and Mac ports.  All sources
  1.1302 +are now in subdirectories:  "generic" contains sources that work on all
  1.1303 +platforms, "windows", "mac", and "unix" directories contain platform-
  1.1304 +specific sources.  Some UNIX sources are also used on other platforms. (SS)
  1.1305 +
  1.1306 +9/10/95 (feature change) Eliminated exported global variables (they
  1.1307 +don't work with Windows DLLs).  Replaced tcl_AsyncReady and
  1.1308 +tcl_FileCloseProc with procedures Tcl_AsyncReady() and
  1.1309 +Tcl_SetFileCloseProc().  Replaced C variable tcl_RcFileName with
  1.1310 +a Tcl variable tcl_rcFileName. (SS)
  1.1311 +*** POTENTIAL INCOMPATIBILITY ***
  1.1312 +
  1.1313 +9/11/95 (new feature) Added procedure Tcl_SetPanicProc to override
  1.1314 +the default implementation of "panic". (SS)
  1.1315 +
  1.1316 +9/11/95 (new feature) Added "interp" command to allow creation of
  1.1317 +new interpreters and execution of untrusted scripts.  Added many new
  1.1318 +procedures, such as Tcl_CreateSlave, Tcl_CreateAlias,and Tcl_MakeSafe,
  1.1319 +to provide C-level access to the interpreter facility. This mechanism
  1.1320 +now provides almost all of the generic functions of Borenstein's and
  1.1321 +Rose's Safe-Tcl (but not any Tk or email-related stuff).  (JL)
  1.1322 +
  1.1323 +9/11/95 (feature change) Changed file management so that files are
  1.1324 +no longer shared between interpreters:  a file cannot normally be
  1.1325 +referenced in one interpreter if it was opened in another.  This
  1.1326 +feature is needed to support safe interpreters.  Added Tcl_ShareHandle()
  1.1327 +procedure for allowing files to be shared, and added "interp" argument
  1.1328 +to Tcl_FilePermissions procedure. (JL)
  1.1329 +*** POTENTIAL INCOMPATIBILITY ***
  1.1330 +
  1.1331 +9/11/95 (new feature) Added "AssocData" mechanism, whereby extensions
  1.1332 +can associate their own data with an interpreter and get called back
  1.1333 +when the interpreter is deleted.  This is visible at C level via the
  1.1334 +procedures Tcl_SetAssocData and Tcl_GetAssocData.  (JL)
  1.1335 +
  1.1336 +9/11/95 (new feature) Added Tcl_ErrnoMsg to translate an errno value
  1.1337 +into a human-readable string.  This is now used instead of calling
  1.1338 +strerror because strerror mesages vary dramatically from platform
  1.1339 +to platform, which messes up Tcl tests.  Tcl_ErrnoMsg uses the standard
  1.1340 +POSIX messages for all the common signals, and calls strerror for
  1.1341 +signals it doesn't understand.
  1.1342 +
  1.1343 +----------------- Released patch 7.4p2, 9/15/95 -----------------------
  1.1344 +
  1.1345 +----------------- Released 7.5a1, 9/15/95 -----------------------
  1.1346 +
  1.1347 +9/22/95 (bug fix) Changed auto_mkindex to create tclIndex files that
  1.1348 +handle directories whose paths might contain spaces. (RJ)
  1.1349 +
  1.1350 +9/27/95 (bug fix) The "format" command didn't check for huge or negative
  1.1351 +width specifiers, which could cause core dumps. (JO)
  1.1352 +
  1.1353 +9/27/95 (bug fix) Core dumps could occur if an interactive command typed
  1.1354 +to tclsh returned a very long result for tclsh to print out.  The bug is
  1.1355 +actually in printf (in Solaris 2.3 and 2.4, at least);  switched to use
  1.1356 +puts instead.  (JO)
  1.1357 +
  1.1358 +9/28/95 (bug fix) Changed makefile.bc to eliminate a false dependency
  1.1359 +for tcl1675.dll on the Borland run time library. (SS)
  1.1360 +
  1.1361 +9/28/95 (bug fix) Fixed tcl75.dll so it looks for tcl1675.dll instead
  1.1362 +of tcl16.dll. (SS)
  1.1363 +
  1.1364 +9/28/95 (bug fix) Tcl was not correctly detecting the difference
  1.1365 +between Win32s and Windows '95. (SS)
  1.1366 +
  1.1367 +9/28/95 (bug fix) "exec" was not passing environment changes to child
  1.1368 +processes under Windows. (SS)
  1.1369 +
  1.1370 +9/28/95 (bug fix) Changed Tcl to ensure that open files are not passed
  1.1371 +to child processes under Windows. (SS)
  1.1372 +
  1.1373 +9/28/95 (bug fix) Fixed Windows '95 and NT versions of exec so it can
  1.1374 +handle both console and windows apps.   (SS)
  1.1375 +
  1.1376 +9/28/95 (bug fix) Fixed Windows version of exec so it no longer leaves
  1.1377 +temp files lying around.  Also changed it so the temp files are
  1.1378 +created in the appropriate system dependent temp directory. (SS)
  1.1379 +
  1.1380 +9/28/95 (bug fix) Eliminated source dependency on the Win32s Universal
  1.1381 +Thunk header file, since it is not bundled with VC++. (SS)
  1.1382 +
  1.1383 +9/28/95 (bug fix) Under Windows, Tcl now constructs the HOME
  1.1384 +environment variable from HOMEPATH and HOMEDRIVE when HOME is not
  1.1385 +already set. (SS)
  1.1386 +
  1.1387 +9/28/95 (bug fix) Added support for "info nameofexecutable" and "info
  1.1388 +sharedlibextension" to the Windows version. (SS)
  1.1389 +
  1.1390 +9/28/95 (bug fix) Changed tclsh to correctly parse command line
  1.1391 +arguments so that backslashes are preserved under Windows. (SS)
  1.1392 +
  1.1393 +9/29/95 (bug fix) Tcl 7.5a1 treated either return or newline as end
  1.1394 +of line in "gets", which caused lines ending in CRLF to be treated as
  1.1395 +two separate lines.  Changed to allow only character as end-of-line:
  1.1396 +carriage return on Macs, newline elsewhere. (JO)
  1.1397 +
  1.1398 +9/29/95 (new feature) Changed to install "configInfo" file in same
  1.1399 +directory as library scripts.  It didn't used to get installed. (JO)
  1.1400 +
  1.1401 +9/29/95 (bug fix) Tcl was not converting Win32 errors into POSIX
  1.1402 +errors under some circumstances. (SS)
  1.1403 +
  1.1404 +10/2/95 (bug fix) Safe interpreters no longer get initialized with
  1.1405 +a call to Tcl_Init(). (JL)
  1.1406 +
  1.1407 +10/1/95 (new feature) Added "tcl_platform" global variable to provide
  1.1408 +environment information such as the instruction set and operating
  1.1409 +system. (JO)
  1.1410 +
  1.1411 +10/1/95 (bug fix) "exec" command wasn't always generating the
  1.1412 +"child process exited abnormally" message when it should have.  (JO)
  1.1413 +
  1.1414 +10/2/95 (bug fix) Changed "mkLinks.tcl" so that the scripts it generates
  1.1415 +won't create links that overwrite original manual entries (there was
  1.1416 +a problem where pack-old.n was overwriting pack.n).  (JO)
  1.1417 +
  1.1418 +10/2/95 (feature change) Changed to use -ldl for dynamic loading under
  1.1419 +Linux if it is available, but fall back to -ldld if it isn't.  (JO)
  1.1420 +
  1.1421 +10/2/95 (bug fix) File sharing was causing refcounts to reach 0
  1.1422 +prematurely for stdin, stdout and stderr, under some circumstances. (JL)
  1.1423 +
  1.1424 +10/2/95 (platform support) Added support for Visual C++ compiler on
  1.1425 +Windows, Windows '95 and Windows NT, code donated by Gordon Chaffee. (JL)
  1.1426 +
  1.1427 +10/3/95 (bug fix) Tcl now frees any libraries that it loads before it
  1.1428 +exits. (SS)
  1.1429 +
  1.1430 +10/03/95 (bug fix) Fixed bug in Macintosh ls command where the -l
  1.1431 +and -C options would fail in anything but the HOME directory. (RJ)
  1.1432 +
  1.1433 +----------------- Released 7.5a2, 10/6/95 -----------------------
  1.1434 +
  1.1435 +10/10/95 (bug fix) "file dirnam /." was returning ":" on UNIX instead
  1.1436 +of "/". (JO)
  1.1437 +
  1.1438 +10/13/95 (bug fix) Eliminated dependency on MKS toolkit for generating
  1.1439 +the tcl.def file from Borland object files. (SS)
  1.1440 +
  1.1441 +10/17/95 (new features) Moved the event loop from Tcl to Tk, made major
  1.1442 +revisions along the way:
  1.1443 +    - New Tcl commands:  after, update, vwait (replaces "tkwait variable").
  1.1444 +    - "tkerror" is now replaced with "bgerror".
  1.1445 +    - The following procedures are similar to their old Tk counterparts:
  1.1446 +      Tcl_DoOneEvent, Tcl_Sleep, Tcl_DoWhenIdle, Tcl_CancelIdleCall,
  1.1447 +      Tcl_CreateFileHandler, Tcl_DeleteFileHandler, Tcl_CreateTimerHandler,
  1.1448 +      Tcl_DeleteTimerHandler, Tcl_BackgroundError.
  1.1449 +    - Revised notifier, add new concept of "event source" with the following
  1.1450 +      procedures:  Tcl_CreateEventSource, Tcl_DeleteEventSource,
  1.1451 +      Tcl_WatchFile, Tcl_SetMaxBlockTime, Tcl_FileReady, Tcl_QueueEvent,
  1.1452 +      Tcl_WaitForEvent. (JO)
  1.1453 +
  1.1454 +10/31/95 (new features) Implemented cross platform file name support to make
  1.1455 +it easier to write cross platform scripts.  Tcl now understands 4 file naming
  1.1456 +conventions: Windows (both DOS and UNC), Mac, Unix, and Network.  The network
  1.1457 +convention is a new naming mechanism that can be used to paths in a platform
  1.1458 +independent fashion.  See the "file" command manual page for more details.
  1.1459 +The primary interfaces changes are:
  1.1460 +    - All Tcl commands that expect a file name now accept both network and
  1.1461 +      native form.
  1.1462 +    - Two new "file" subcommands, "nativename" and "networkname", provide a
  1.1463 +      way to convert between network and native form.
  1.1464 +    - Renamed Tcl_TildeSubst to Tcl_TranslateFileName, and changed it so that
  1.1465 +      it always returns a filename in native form.  Tcl_TildeSubst is defined
  1.1466 +      as a macro for backward compatibility, but it is deprecated. (SS)
  1.1467 +
  1.1468 +11/5/95 (new feature) Made "tkerror" and "bgerror" synonyms, so that
  1.1469 +either name can be used to manipulate the command (provides temporary
  1.1470 +backward compatibility for existing scripts that use tkerror). (JO)
  1.1471 +
  1.1472 +11/5/95 (new feature) Added exit handlers and new C procedures
  1.1473 +Tcl_CreateExitHandler, Tcl_DeleteExitHandler, and Tcl_Exit. (JO)
  1.1474 +
  1.1475 +11/6/95 (new feature) Added pid command for Macintosh version of
  1.1476 +Tcl (it didn't previously exist on the Mac). (RJ)
  1.1477 +
  1.1478 +11/7/95 (new feature) New generic IO facility and support for IO to
  1.1479 +files, pipes and sockets based on a common buffering scheme. Support
  1.1480 +for asynchronous (non-blocking) IO and for event driver IO. Support
  1.1481 +for automatic (background) asynchronous flushing and asynchronous
  1.1482 +closing of channels. (JL)
  1.1483 +
  1.1484 +11/7/95 (new feature)  Added new commands "fconfigure" and "fblocked"
  1.1485 +to support new I/O features such as nonblocking I/O.  Added "socket"
  1.1486 +command for creating TCP client and server sockets. (JL).
  1.1487 +
  1.1488 +11/7/95 (new feature) Complete set of C APIs to the new generic IO
  1.1489 +facility:
  1.1490 +    - Opening channels: Tcl_OpenFileChannel, Tcl_OpenCommandChannel,
  1.1491 +      Tcl_OpenTcpClient, Tcl_OpenTcpServer.
  1.1492 +    - I/O procedures on channels, which roughly mirror the ANSI C stdio
  1.1493 +      library:  Tcl_Read, Tcl_Gets, Tcl_Write, Tcl_Flush, Tcl_Seek,
  1.1494 +      Tcl_Tell, Tcl_Close, Tcl_Eof, Tcl_InputBlocked, Tcl_GetChannelOption,
  1.1495 +      Tcl_SetChannelOption.
  1.1496 +    - Extension mechanism for creating new kinds of channels:
  1.1497 +      Tcl_CreateChannel, Tcl_GetChannelInstanceData, Tcl_GetChannelType,
  1.1498 +      Tcl_GetChannelName, Tcl_GetChannelFile, Tcl_RegisterChannel,
  1.1499 +      Tcl_UnregisterChannel, Tcl_GetChannel.
  1.1500 +    - Event-driven I/O on channels: Tcl_CreateChannelHandler,
  1.1501 +      Tcl_DeleteChannelHandler. (JL)
  1.1502 +
  1.1503 +11/7/95 (new feature) Channel driver interface specification to allow
  1.1504 +new types of channels to be added easily to Tcl. Currently being used
  1.1505 +in three drivers - for files, pipes and TCP-based sockets. (JL).
  1.1506 +
  1.1507 +11/7/95 (new feature) interp delete now takes any number of path
  1.1508 +names of interpreters to delete, including zero. (JL).
  1.1509 +
  1.1510 +11/8/95 (new feature) implemented 'info hostname' and Tcl_GetHostName
  1.1511 +command to get host name of machine on which the Tcl process is running. (JL)
  1.1512 +
  1.1513 +11/9/95 (new feature) Implemented file APIs for access to low level files
  1.1514 +on each system. The APIs are: Tcl_CloseFile, Tcl_OpenFile, Tcl_ReadFile,
  1.1515 +Tcl_WriteFile and Tcl_SeekFile. Also implemented Tcl_WaitPid which waits
  1.1516 +in a system dependent manner for a child process. (JL)
  1.1517 +
  1.1518 +11/9/95 (new feature) Added Tcl_UpdateLinkedVar procedure to force a
  1.1519 +Tcl variable to be updated after its C variable changes. (JO)
  1.1520 +
  1.1521 +11/9/95 (bug fix) The glob command has been totally reimplemented so
  1.1522 +that it can support different file name conventions.  It now handles
  1.1523 +Windows file names (both UNC and drive-relative) properly.  It also
  1.1524 +supports nested braces correctly now. (SS)
  1.1525 +
  1.1526 +11/13/95 (bug fix) Fixed Makefile.in so that configure can be run
  1.1527 +from a clean directory separate from the Tcl source tree, and compilations
  1.1528 +can be performed there. (JO)
  1.1529 +
  1.1530 +11/14/95 (bug fix) Fixed file sharing between interpreters and file
  1.1531 +transferring between interpreters to correctly manage the refcount so that
  1.1532 +files are closed when the last reference to them is discarded. (JL)
  1.1533 +
  1.1534 +11/14/95 (bug fix) Fixed gettimeofday implementation for the
  1.1535 +Macintosh.  This fixes several timing related bugs. (RJ)
  1.1536 +
  1.1537 +11/17/95 (new feature) Added missing support for info nameofexecutable
  1.1538 +on the Macintosh. (RJ)
  1.1539 +
  1.1540 +11/17/95 (bug fix) The Tcl variables argc argv and argv0 now return
  1.1541 +something reasonable on the Mac.  (RJ)
  1.1542 +
  1.1543 +11/22/95 (new feature) Implemented "auto-detect" mode for end of line
  1.1544 +translations. On input, standalone "\r" mean MAC mode, standalone "\n"
  1.1545 +mean Unix mode and "\r\n" means Windows mode. On output, the mode is
  1.1546 +modified to whatever the platform specific mode for that platform is. (JL)
  1.1547 +
  1.1548 +11/24/95 (feature change) Replaced "configInfo" file with tclConfig.sh,
  1.1549 +which is more complete and uses slightly different names.  Also
  1.1550 +arranged for tclConfig.sh to be installed in the platform-specific
  1.1551 +library directory instead of Tcl's script library directory. (JO)
  1.1552 +*** POTENTIAL INCOMPATIBILITY with Tcl 7.5a2, but not with Tcl 7.4 ***
  1.1553 +
  1.1554 +----------------- Released patch 7.4p3, 11/28/95 -----------------------
  1.1555 +
  1.1556 +12/5/95 (new feature) Added Tcl_File facility to support platform-
  1.1557 +independent file handles.  Changed all interfaces that used Unix-
  1.1558 +style integer fd's to use Tcl_File's instead. (SS)
  1.1559 +*** POTENTIAL INCOMPATIBILITY ***
  1.1560 +
  1.1561 +12/5/95 (new feature) Added a new "clock" command to Tcl.  The command
  1.1562 +allows you to get the current "clicks" or seconds & allows you to
  1.1563 +format or scan human readable time/date strings. (RJ)
  1.1564 +
  1.1565 +12/18/95 (new feature) Moved Tk_Preserve, Tk_Release, and Tk_EventuallyFree
  1.1566 +to Tcl, renamed to Tcl_Preserve, Tcl_Release, and Tcl_EventuallyFree. (JO)
  1.1567 +
  1.1568 +12/18/95 (new feature) Added new "package" command and associated
  1.1569 +procedures Tcl_PkgRequire and Tcl_PkgProvide.   Also wrote
  1.1570 +pkg_mkIndex library procedure to create index files from binaries
  1.1571 +and scripts. (JO)
  1.1572 +
  1.1573 +12/20/95 (new feature) Added Tcl_WaitForFile procedure. (JO)
  1.1574 +
  1.1575 +12/21/95 (new features) Made package name argument to "load" optional
  1.1576 +(Tcl will now attempt to guess the package name if necessary).  Also
  1.1577 +added Tcl_StaticPackage and support in "load" for statically linked
  1.1578 +packages.  (JO)
  1.1579 +
  1.1580 +12/22/95 (new feature) Upgraded the foreach command to accept multiple
  1.1581 +loop variables and multiple value lists.  This lets you iterate over
  1.1582 +multiple lists in parallel, and/or assign multiple loop variables from
  1.1583 +one value list during each iteration. The only potential compatibility
  1.1584 +problem is with scripts that used loop variables with a name that could be
  1.1585 +construed to be a list of variable names (i.e. contained spaces).  (BW)
  1.1586 +
  1.1587 +1/5/96 (new feature) Changed tclsh so it builds as a console mode
  1.1588 +application under Windows.  Now tclsh can be used from the command
  1.1589 +line with pipes or interactively.  Note that this only works under
  1.1590 +Windows 95 or NT. (SS)
  1.1591 +
  1.1592 +1/17/96 (new feature) Modified Makefile and configure script to allow
  1.1593 +Tcl to be compiled as a shared library:  use the --enable-shared option
  1.1594 +when configuing.  (JO)
  1.1595 +
  1.1596 +1/17/96 (removed obsolete features)  Removed the procedures Tcl_EnterFile
  1.1597 +and Tcl_GetOpenFile:  these no longer make sense with the new I/O system. (JL)
  1.1598 +*** POTENTIAL INCOMPATIBILITY ***
  1.1599 +
  1.1600 +1/19/96 (bug fixes) Prevented formation of circular aliases, through the
  1.1601 +Tcl 'interp alias' command and through the 'rename' command, as well as
  1.1602 +through the C API Tcl_CreateAlias. (JL)
  1.1603 +
  1.1604 +1/19/96 (bug fixes) Fixed several bugs in direct deletion of interpreters
  1.1605 +with Tcl_DeleteInterp when the interpreter is a slave; fixes based on a
  1.1606 +patch received from Viktor Dukhovni of ESM. (JL)
  1.1607 +
  1.1608 +1/19/96 (new feature) Implemented on-close handlers for channels; added
  1.1609 +the C APIs Tcl_CreateCloseHandler and Tcl_DeleteCloseHandler. (JL)
  1.1610 +
  1.1611 +1/19/96 (new feature) Implemented portable error reporting mechanism; added
  1.1612 +the C APIs Tcl_SetErrno and Tcl_GetErrno. (JL)
  1.1613 +
  1.1614 +1/24/96 (bug fix) Unknown command processing properly invokes external
  1.1615 +commands under Windows NT and Windows '95 now. (SS)
  1.1616 +
  1.1617 +1/23/96 (bug fix) Eliminated extremely long startup times under Windows '95.
  1.1618 +The problem was a result of the option database initialization code that
  1.1619 +concatenated $HOME with /.Xdefaults, resulting in a // in the middle of the
  1.1620 +file name.  Under Windows '95, this is incorrectly interpreted as a UNC
  1.1621 +path.  They delays came from the network timeouts needed to determine that
  1.1622 +the file name was invalid.  Tcl_TranslateFileName now suppresses duplicate
  1.1623 +slashes that aren't at the beginning of the file name. (SS)
  1.1624 +				     
  1.1625 +1/25/96 (bug fix) Changed exec and open to create children so they are
  1.1626 +attached to the application's console if it exists. (SS)
  1.1627 +
  1.1628 +1/31/96 (bug fix) Fixed command line parsing to handle embedded
  1.1629 +spaces under Windows. (SS)
  1.1630 +
  1.1631 +----------------- Released 7.5b1, 2/1/96 -----------------------
  1.1632 +
  1.1633 +2/7/96 (bug fix) Fixed off by one error in argument parsing code under
  1.1634 +Windows. (SS)
  1.1635 +
  1.1636 +2/7/96 (bug fix) Fixed bugs in VC++ makefile that improperly
  1.1637 +initialized the tcl75.dll.  Fixed bugs in Borland makefile that caused
  1.1638 +build failures under Windows NT. (SS)
  1.1639 +
  1.1640 +2/9/96 (bug fix) Fixed deadlock problem in AUTO end of line translation
  1.1641 +mode which would cause a socket server with several concurrent clients
  1.1642 +writing in CRLF mode to hang. (JL)
  1.1643 +
  1.1644 +2/9/96 (API change) Replaced -linemode option to fconfigure with a
  1.1645 +new -buffering option, added "none" setting to enable immediate write. (JL)
  1.1646 +*** INCOMPATIBILITY with b1 ***
  1.1647 +
  1.1648 +2/9/96 (new feature) Added C API Tcl_InputBuffered which returns the count
  1.1649 +of bytes currently buffered in the input buffer of a channel, and o for
  1.1650 +output only channels. (JL)
  1.1651 +
  1.1652 +2/9/96 (new feature) Implemented asynchronous connect for sockets. (JL)
  1.1653 +
  1.1654 +2/9/96 (new feature) Added C API Tcl_SetDefaultTranslation to set (per
  1.1655 +channel) the default end of line translation mode. This is the mode that
  1.1656 +will be installed if an output operation is done on the channel while it is
  1.1657 +still in AUTO mode. (JL)
  1.1658 +
  1.1659 +2/9/96 (bug fix) Changed Tcl_OpenCommandChannel interface to properly
  1.1660 +handle all of the combinations of stdio inheritance in background
  1.1661 +pipelines.  See the Tcl_OpenFileChannel(3) man page for more
  1.1662 +info.  This change fixes the bug where exec of a background pipeline
  1.1663 +was not getting passed the stdio handles properly. (SS)
  1.1664 +
  1.1665 +2/9/96 (bug fix) Removed the new Tcl_CreatePipeline interface, and
  1.1666 +restored the old version for Unix platforms only.  All new code should
  1.1667 +use Tcl_CreateCommandChannel instead. (SS)
  1.1668 +
  1.1669 +2/9/96 (bug fix) Changed Makefile.in to use -L and -ltcl7.5 for Tcl
  1.1670 +library so that shared libraries are more likely to be found correctly
  1.1671 +on more platforms. (JO)
  1.1672 +
  1.1673 +2/13/96 (new feature) Added C API Tcl_SetNotifierData and
  1.1674 +Tcl_GetNotifierData to allow notifier and channel driver writers to
  1.1675 +associate data with a Tcl_File.  The result of this change is that
  1.1676 +Tcl_GetFileInfo now always returns an OS file handle, and Tcl_GetFile
  1.1677 +can be used to construct a Tcl_File for an externally constructed OS
  1.1678 +handle. (SS)
  1.1679 +
  1.1680 +2/13/96 (bug fix) Changed Windows socket implementation so it doesn't
  1.1681 +set SO_REUSEADDR on server sockets.  Now attempts to create a server
  1.1682 +socket on a port that is already in use will be properly identified
  1.1683 +and an error will be generated. (SS)
  1.1684 +
  1.1685 +2/13/96 (bug fix) Fixed problems with DLL initialization under Visual
  1.1686 +C++ that left the C run time library uninitialized. (SS)
  1.1687 +
  1.1688 +2/13/96 (bug fix) Fixed Windows socket initialization so it loads
  1.1689 +winsock the first time it is used, rather than at the time tcl75.dll
  1.1690 +is loaded.  This should fix the bug where the modem immediately starts
  1.1691 +trying to connect to a service provider when wish or tclsh are
  1.1692 +started. (SS)
  1.1693 +
  1.1694 +2/13/96 (new feature) Added C APIs Tcl_MakeFileChannel and
  1.1695 +Tcl_MakeTcpClientChannel to wrap up existing fds and sockets into
  1.1696 +channels. Provided implementations on Unix and Windows. (JL)
  1.1697 +
  1.1698 +2/13/96 (bug fix) Fixed bug with seek leaving EOF and BLOCKING set. (JL)
  1.1699 +
  1.1700 +2/14/96 (bug fix) Fixed reentrancy problem in fileevent handling
  1.1701 +and made it more robust in the face of errors. (JL)
  1.1702 +
  1.1703 +2/14/96 (feature change) Made generic IO level emulate blocking mode if the
  1.1704 +channel driver is unable to provide it, e.g. if the low level device is
  1.1705 +always nonblocking. Thus, now blocking behavior is an advisory setting for
  1.1706 +channel drivers and can be ignored safely if the channel driver is unable
  1.1707 +to provide it. (JL)
  1.1708 +
  1.1709 +2/15/96 (new feature) Added "binary" end of line translation mode, which is
  1.1710 +a synonym of "lf" mode. (JL)
  1.1711 +
  1.1712 +2/15/96 (bug fix) Fixed reentrancy problem in fileevent handling vs
  1.1713 +deletion of channel event handlers. (JL)
  1.1714 +
  1.1715 +2/15/96 (bug fix) Fixed bug in event handling which would cause a
  1.1716 +nonblocking channel to not see further readable events after the first
  1.1717 +readable event that had insufficient input. (JL)
  1.1718 +
  1.1719 +2/17/96 (bug fix) "info complete" didn't properly handle comments
  1.1720 +in nested commands. (JO)
  1.1721 +
  1.1722 +2/21/96 (bug fix) "exec" under Windows NT/95 did not properly handle
  1.1723 +very long command lines (>200 chars). (SS)
  1.1724 +
  1.1725 +2/21/96 (bug fix) Sockets could get into an infinite loop if a read
  1.1726 +event arrived after all of the available data had been read. (SS)
  1.1727 +
  1.1728 +2/22/96 (bug fix) Added cast of st_size elements to (long) before
  1.1729 +sprintf-ing in "file size" command.  This is needed to handle systems
  1.1730 +like NetBSD with 64-bit file offsets.  (JO)
  1.1731 +
  1.1732 +----------------- Released 7.5b2, 2/23/96 -----------------------
  1.1733 +
  1.1734 +2/23/96 (bug fix) TCL_VARARGS macro in tcl.h wasn't defined properly
  1.1735 +when compiling with C++.  (JO)
  1.1736 +
  1.1737 +2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile:
  1.1738 +this caused problems on some platforms (like Linux?). (JO)
  1.1739 +
  1.1740 +2/24/96 (bug fix) Fixed configuration bug that made Tcl not compile
  1.1741 +correctly on Linux machines with neither -ldl or -ldld. (JO)
  1.1742 +
  1.1743 +2/24/96 (new feature) Added a block of comments and definitions to
  1.1744 +Makefile.in to make it easier to have Tcl's TclSetEnv etc. replace
  1.1745 +the library procedures setenv etc, so that calls to setenv etc. in
  1.1746 +the application automatically update the Tcl "env" variable. (JO)
  1.1747 +
  1.1748 +2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL)
  1.1749 +to C API Tcl_Close and simplified closing of command channels. (JL)
  1.1750 +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
  1.1751 +
  1.1752 +2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL)
  1.1753 +to C type definition Tcl_DriverCloseProc; modified all channel drivers to
  1.1754 +implement close procedures that accept the additional argument. (JL)
  1.1755 +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
  1.1756 +
  1.1757 +2/28/96 (bug fix) Fixed memory leak that could occur if an upvar
  1.1758 +referred to an element of an array in the same stack frame as the
  1.1759 +upvar. (JO)
  1.1760 +
  1.1761 +2/29/96 (feature change) Modified both Tcl_DoOneEvent and Tcl_WaitForEvent
  1.1762 +so that they return immediately in cases where they would otherwise
  1.1763 +block forever (e.g. if there are no event handlers of any sort). (JO)
  1.1764 +
  1.1765 +2/29/96 (new feature) Added C APIs Tcl_GetChannelBufferSize and
  1.1766 +Tcl_SetChannelBufferSize to set and retrieve the size, in bytes, for
  1.1767 +buffers allocated to store input or output in a channel. (JL)
  1.1768 +
  1.1769 +2/29/96 (new feature) Added option -buffersize to Tcl fconfigure command
  1.1770 +to allow Tcl scripts to query and set the size of channel buffers. (JL)
  1.1771 +
  1.1772 +2/29/96 (feature removed) Removed channel driver function to specify
  1.1773 +the buffer size to use when allocating a buffer. Removed the C typedef
  1.1774 +for Tcl_DriverBufferSizeProc. Channels are now created with a default
  1.1775 +buffer size of 4K. (JL)
  1.1776 +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
  1.1777 +
  1.1778 +2/29/96 (feature change) The channel driver function for setting blocking
  1.1779 +mode on the device may now be NULL. If the generic code detects that the
  1.1780 +function is NULL, operations that set the blocking mode on the channel
  1.1781 +simply succeed. (JL)
  1.1782 +
  1.1783 +3/2/96 (bug fix) Fixed core dump that could occur if a syntax error
  1.1784 +(such as missing close paren) occurred in an array reference with a
  1.1785 +very long array name. (JO)
  1.1786 +
  1.1787 +3/4/96 (bug fix) Removed code in the "auto_load" procedure that deletes
  1.1788 +all existing auto-load information whenever the "auto_path" variable
  1.1789 +is changed.  Instead, new information adds to what was already there.
  1.1790 +Otherwise, changing the "auto_path" variable causes all package-
  1.1791 +related information to be lost.  If you really want to get rid of
  1.1792 +existing auto-load information, use auto_reset before setting auto_path. (JO)
  1.1793 +
  1.1794 +3/5/96 (new feature) Added version suffix to shared library names so that
  1.1795 +Tcl will compile under NetBSD and FreeBSD (I hope).  (JO)
  1.1796 +
  1.1797 +3/6/96 (bug fix) Cleaned up error messages in new I/O system to correspond
  1.1798 +more closely to old I/O system. (JO)
  1.1799 +
  1.1800 +3/6/96 (new feature) Added -myaddr and -myport options to the socket
  1.1801 +command, removed -tcp and -- options.  This lets clients and servers
  1.1802 +choose a particular interface.  Also changed the default server address
  1.1803 +from the hostname to INADDR_ANY.  The server accept callback now gets
  1.1804 +passed the client's port as well as IP address.  The C interfaces for
  1.1805 +Tcl_OpenTcpClient and Tcl_OpenTcpServer have changed to support the
  1.1806 +above changes. (BW)
  1.1807 +*** POTENTIAL INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
  1.1808 +
  1.1809 +3/6/96 (changed feature) The library function auto_mkindex will now
  1.1810 +default to using the pattern "*.tcl" if no pattern is given. (RJ)
  1.1811 +
  1.1812 +3/6/96 (bug fix) The socket channel code for the Macintosh has been
  1.1813 +rewritten to use native MacTcp.  (RJ)
  1.1814 +
  1.1815 +3/7/96 (new feature) Added Tcl_SetStdChannel and Tcl_GetStdChannel
  1.1816 +interfaces to allow applications to explicitly set and get the global
  1.1817 +standard channels. (SS)
  1.1818 +
  1.1819 +3/7/96 (bug fix) Tcl did close not the file descriptors associated
  1.1820 +with "stdout", etc. when the corresponding channels were closed.  (SS)
  1.1821 +
  1.1822 +3/7/96 (bug fix) Reworked shared library and dynamic loading stuff to
  1.1823 +try to get it working under AIX.  Added new @SHLIB_LD_LIBS@ autoconf
  1.1824 +symbol as part of this.  AIX probably doesn't work yet, but it should
  1.1825 +be a lot closer. (JO)
  1.1826 +
  1.1827 +3/7/96 (feature change) Added Tcl_ChannelProc typedef and changed the
  1.1828 +signature of Tcl_CreateChannelHandler and Tcl_DeleteChannelHandler to take
  1.1829 +Tcl_ChannelProc arguments instead of Tcl_FileProc arguments. This change
  1.1830 +should not affect any code outside Tcl because the signatures of
  1.1831 +Tcl_ChannelProc and Tcl_FileProc are compatible. (JL)
  1.1832 +
  1.1833 +3/7/96 (API change) Modified signature of Tcl_GetChannelOption to return
  1.1834 +an int instead of char *, and to take a Tcl_DString * argument. Modified
  1.1835 +the implementation so that the option name can be NULL, to mean that the
  1.1836 +call should retrieve a list of alternating option names and values. (JL)
  1.1837 +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
  1.1838 +
  1.1839 +3/7/96 (API change) Added Tcl_DriverSetOptionProc, Tcl_DriverGetOptionProc
  1.1840 +typedefs, added two slots setOptionProc and getOptionProc to the channel
  1.1841 +type structure. These may be NULL to indicate that the channel type does
  1.1842 +not support any options. (JL)
  1.1843 +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
  1.1844 +
  1.1845 +3/7/96 (feature change) stdin, stdout and stderr can now be put into
  1.1846 +nonblocking mode. (JL)
  1.1847 +
  1.1848 +3/8/96 (feature change) Eliminated dependence on the registry for
  1.1849 +finding the Tcl library files. (SS)
  1.1850 +
  1.1851 +----------------- Released 7.5b3, 3/8/96 -----------------------
  1.1852 +
  1.1853 +3/12/96 (feature improvement) Modified startup script to look in several
  1.1854 +different places for the Tcl library directory.  This should allow Tcl
  1.1855 +to find the libraries under all but the weirdest conditions, even without
  1.1856 +the TCL_LIBRARY environment variable being set. (JO)
  1.1857 +
  1.1858 +3/13/96 (bug fix) Eliminated use of the "linger" option from the Windows
  1.1859 +socket implementation. (JL)
  1.1860 +
  1.1861 +3/13/96 (new feature) Added -peername and -sockname options for fconfigure
  1.1862 +for socket channels. Code contributed by John Haxby of HP. (JL)
  1.1863 +
  1.1864 +3/13/96 (bug fix) Fixed panic and core dump that would occur if the accept
  1.1865 +callback script on a server socket encountered an error. (JL)
  1.1866 +
  1.1867 +3/13/96 (feature change) Added -async option to the Tcl socket command.
  1.1868 +If the command is creating a client socket and the flag is present, the
  1.1869 +client is connected asynchronously. If the option is absent (the default),
  1.1870 +the client socket is connected synchronously, and the command returns only
  1.1871 +when the connection has been completed or failed. This change was suggested
  1.1872 +by Mark Diekhans. (JL)
  1.1873 +
  1.1874 +3/13/96 (feature change) Modified the signature of Tcl_OpenTcpClient to
  1.1875 +take an additional int argument, async. If nonzero, the client is connected
  1.1876 +to the server asynchronously. If the value is zero, the connection is made
  1.1877 +synchronously, and the call to Tcl_OpenTcpClient returns only when the
  1.1878 +connection fails or succeeds. This change was suggested by Mark Diekhans. (JL)
  1.1879 +*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
  1.1880 +
  1.1881 +3/14/96 (bug fix) "tclsh bogus_file_name" didn't print an error message. (JO)
  1.1882 +
  1.1883 +3/14/96 (bug fix) Added new procedures to tclCkalloc.c so that libraries
  1.1884 +and applications can be compiled with TCL_MEM_DEBUG even if Tcl isn't
  1.1885 +(however, the converse is still not true).  Patches provided by Jan
  1.1886 +Nijtmans. (JO)
  1.1887 +
  1.1888 +3/15/96 (bug fix) Marked standard IO handles of a process as close-on-exec
  1.1889 +to fix bug in Ultrix where exec was not sharing standard IO handles with
  1.1890 +subprocesses. Fix suggested by Mark Diekhans. (JL)
  1.1891 +
  1.1892 +3/15/96 (bug fix) Fixed asynchronous close mechanism so that it closes the
  1.1893 +channel instead of leaking system resources. The manifestation was that Tcl
  1.1894 +would eventually run out of file descriptors if it was handling a large
  1.1895 +number of nonblocking sockets or pipes with high congestion. (JL)
  1.1896 +
  1.1897 +3/15/96 (bug fix) Fixed tests so that they no longer leak file descriptors.
  1.1898 +The manifestation was that Tcl would eventually run out of file descriptors
  1.1899 +if the tests were rerun many times (> a hundred times on Solaris). (JL)
  1.1900 +
  1.1901 +3/15/96 (bug fix) Fixed channel creation code so that it never creates
  1.1902 +unnamed channels. This would cause a panic and core dump when the channel
  1.1903 +was closed. (JL)
  1.1904 +
  1.1905 +3/16/96 (bug fixes) Made lots of changes in configuration stuff to get
  1.1906 +Tcl working under AIX (finally).  Tcl should now support the "load"
  1.1907 +command under AIX and should work either with or without shared
  1.1908 +libraries for Tcl and Tk. (JO)
  1.1909 +
  1.1910 +3/21/96 (configuration improvement) Changed configure script so it
  1.1911 +doesn't use version numbers (as in -ltcl7.5 and libtcl7.5.so) under
  1.1912 +SunOS 4.1, where they don't work anyway.  (JO)
  1.1913 +
  1.1914 +3/22/96 (new feature) Added C API Tcl_InterpDeleted that allows extension
  1.1915 +writers to discover when an interpreter is being deleted. (JL)
  1.1916 +
  1.1917 +3/22/96 (bug fix) The standard IO channels are now added to each
  1.1918 +trusted interpreter as soon as the interpreter is created. This ensures
  1.1919 +against the bug where a child would do IO before the master had done any,
  1.1920 +and then the child is destroyed - the standard IO channels would be then
  1.1921 +closed and the master would be unable to do any IO. (JL)
  1.1922 +
  1.1923 +3/22/96 (bug fix) Made Tcl more robust against interpreter deletion, by
  1.1924 +using Tcl_Preserve, Tcl_Release and Tcl_EventuallyFree to split the process
  1.1925 +of interpreter deletion into two distinct phases. Also went through all of
  1.1926 +Tcl and added calls to Tcl_Preserve and Tcl_Delete where needed. (JL)
  1.1927 +
  1.1928 +3/22/96 (bug fix) Fixed several places where C code was reading and writing
  1.1929 +into freed memory, especially during interpreter deletion. (JL)
  1.1930 +
  1.1931 +3/22/96 (bug fix) Fixed very deep bug in Tcl_Release that caused memory to
  1.1932 +be freed twice if the release callback did Tcl_Preserve and Tcl_Release on
  1.1933 +the same memory as the chunk currently being freed. (JL)
  1.1934 +
  1.1935 +3/22/96 (bug fix) Removed several memory leaks that would cause memory
  1.1936 +buildup on half-K chunks in the generic IO level. (JL)
  1.1937 +
  1.1938 +3/22/96 (bug fix) Fixed several core dumps which occurred when new
  1.1939 +AssocData was being created during the cleanups in interpreter deletion.
  1.1940 +The solution implemented now is to loop repeatedly over the AssocData until
  1.1941 +none is left to clean up. (JL)
  1.1942 +
  1.1943 +3/22/96 (bug fix) Fixed a bug in event handling which caused an infinite
  1.1944 +loop if there were no files being watched and no timer. Fix suggested by
  1.1945 +Jan Nijtmans. (JL)
  1.1946 +
  1.1947 +3/22/96 (bug fix) Fixed Tcl_CreateCommand, Tcl_DeleteCommand to be more
  1.1948 +robust if the interpreter is being deleted. Also fixed several order
  1.1949 +dependency bugs in Tcl_DeleteCommand which kicked in when an interpreter
  1.1950 +was being deleted. (JL)
  1.1951 +
  1.1952 +3/26/96 (bug fix) Upon a "short read", the generic code no longer calls
  1.1953 +the driver for more input. Doing this caused blocking on some platforms
  1.1954 +even on nonblocking channels. Bug and fix courtesy Mark Roseman. (JL)
  1.1955 +
  1.1956 +3/26/96 (new feature) Added 'package Tcltest' which is present only in
  1.1957 +test versions of Tcl; this allows the testing commands to be loaded into
  1.1958 +new interpreters besides the main one. (JL)
  1.1959 +
  1.1960 +3/26/96 (restored feature) Recreated the Tcl_GetOpenFile C API. You can
  1.1961 +now get a FILE * from a registered channel; Unix only. (JL)
  1.1962 +
  1.1963 +3/27/96 (bug fix) The regular expression code did not support more
  1.1964 +than 9 subexpressions.  It now supports up to 20. (SS)
  1.1965 +
  1.1966 +4/1/96 (bug fixes) The CHANNEL_BLOCKED bit was being left on on a short
  1.1967 +read, so that fileevents wouldn't fire correctly. Bug reported by Mark
  1.1968 +Roseman.(JL, RJ)
  1.1969 +
  1.1970 +4/1/96 (bug fix) Moved Tcl_Release to match Tcl_Preserve exactly, in
  1.1971 +tclInterp.c; previously interpreters were being freed only conditionally
  1.1972 +and sometimes not at all. (JL)
  1.1973 +
  1.1974 +4/1/96 (bug fix) Fixed error reporting in slave interpreters when the
  1.1975 +error message was being generated directly by C code. Fix suggested by
  1.1976 +Viktor Dukhovni of ESM. (JL)
  1.1977 +
  1.1978 +4/2/96 (bug fixes) Fixed a series of bugs in Windows sockets that caused
  1.1979 +events to variously get lost, to get sent multiple times, or to be ignored
  1.1980 +by the driver. The manifestation was blocking if the channel is blocking,
  1.1981 +and either getting EAGAIN or infinite loops if the channel is nonblocking.
  1.1982 +This series of bugs was found by Ian Wallis of Cisco. Now all tests (also
  1.1983 +those that were previously commented out) in socket.test pass.  (JL, SS)
  1.1984 +
  1.1985 +4/2/96 (feature change/bug fix) Eliminated network name support in
  1.1986 +favor of better native name support.  Added "file split", "file join",
  1.1987 +and "file pathtype" commands.  See the "file" man page for more
  1.1988 +details. (SS)
  1.1989 +*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
  1.1990 +
  1.1991 +4/2/96 (bug fix) Changed implementation of auto_mkindex so tclIndex
  1.1992 +files will properly handle path names in a cross platform context. (SS)
  1.1993 +
  1.1994 +4/5/96 (bug fix) Fixed Tcl_ReadCmd to use the channel buffer size as the
  1.1995 +chunk size it reads, instead of a fixed 4K size. Thus, on large reads, the
  1.1996 +user can set the channel buffer size to a large size and the read will
  1.1997 +occur orders of magnitude faster. For example, on a 2MB file, reading in 4K
  1.1998 +chunks took 34 seconds, while reading in 1MB chunks took 1.5 seconds (on a
  1.1999 +SS-20). Problem identified and fix suggested by John Haxby of HP. (JL)
  1.2000 +
  1.2001 +4/5/96 (bug fix) Fixed socket creation code to invoke gethostbyname only if
  1.2002 +inet_addr failed (very unlikely). Before this change the order was reversed
  1.2003 +and this made things much slower than they needed to be (gethostbyname
  1.2004 +generally requires an RPC, which is slow). Problem identified and fix
  1.2005 +suggested by John Loverso of OSF. (JL)
  1.2006 +
  1.2007 +4/9/96 (feature change) Modified "auto" translation mode so that it
  1.2008 +recognizes any of "\n", "\r" and "\r\n" in input as end of line, so
  1.2009 +that a file can have mixed end-of-line sequences. It now outputs
  1.2010 +the platform specific end of line sequence on each platform for files and
  1.2011 +pipes, and for sockets it produces crlf in output on all platforms. (JL)
  1.2012 +*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
  1.2013 +
  1.2014 +4/11/96 (new feature) Added -eofchar option to Tcl_SetChannelOption to allow
  1.2015 +setting of an end of file character for input and output. If an input eof
  1.2016 +char is set, it is recognized as EOF and further input from the channel is
  1.2017 +not presented to the caller. If an output eof char is set, on output, that
  1.2018 +byte is appended to the channel when it is closed. On Unix and Macintosh,
  1.2019 +all channels start with no eof char set for input or output. On Windows,
  1.2020 +files and pipes start with input and output eof chars set to Crlt-Z (ascii
  1.2021 +26), and sockets start with no input or output eof char. (JL)
  1.2022 +*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
  1.2023 +
  1.2024 +4/17/96 (bug fix) Fixed series of bugs with handling of crlf sequence split
  1.2025 +across buffer boundaries in input, in AUTO mode. (JL, BW)
  1.2026 +
  1.2027 +4/17/96 (test suite improvement) Fixed test suite so that tests that
  1.2028 +depend on the availability of Unix commands such as echo, cat and others
  1.2029 +are not run if these commands are not present. (JL)
  1.2030 +
  1.2031 +4/17/96 (test suite improvement) The socket test now automatically starts,
  1.2032 +on platformst that support exec, a separate process for remote testsing. (JL)
  1.2033 +
  1.2034 +----------------- Released 7.5, 4/21/96 -----------------------
  1.2035 +
  1.2036 +5/1/96 (bug fix) "file tail ~" did not correctly return the tail
  1.2037 +portion of the user's home directory. (SS)
  1.2038 +
  1.2039 +5/1/96 (bug fix) Fixed bug in TclGetEnv where it didn't lookup environment
  1.2040 +variables correctly:  could confuse "H" and "HOME", for example.  (JO)
  1.2041 +
  1.2042 +5/1/96 (bug fix) Changed to install tclConfig.sh under "make install-binaries",
  1.2043 +not "make install-libraries".  (JO)
  1.2044 +
  1.2045 +5/2/96 (bug fix) Changed pkg_mkIndex not to attempt to "load" a file unless
  1.2046 +it has the standard shared library extension.  On SunOS, attempts to load
  1.2047 +Tcl scripts cause the whole application to be aborted (there's no way to
  1.2048 +get the error back into Tcl).  (JO)
  1.2049 +
  1.2050 +5/7/96 (bug fix) Moved initScript in tclUnixInit.c to writable memory to
  1.2051 +avoid potential core dumps. (JO)
  1.2052 +
  1.2053 +5/7/96 (bug fix) Auto_reset procedure was removing procedure from init.tcl,
  1.2054 +such as pkg_mkIndex.  (JO)
  1.2055 +
  1.2056 +5/7/96 (bug fix) Fixed cast on socket address resolution code that
  1.2057 +would cause a failure to connect on Dec Alphas. (JL)
  1.2058 +
  1.2059 +5/7/96 (bug fix) Added "time", "subst" and "fileevent" commands to set of
  1.2060 +commands available in a safe interpreter. (JL)
  1.2061 +
  1.2062 +5/13/96 (bug fix) Preventing OS level handles for stdin, stdout and stderr
  1.2063 +from being implicitly closed when the last reference to the standard
  1.2064 +channel containing that handle is discarded when an interpreter is deleted.
  1.2065 +Explicitly closing standard channels by using "close" still works. (JL)
  1.2066 +
  1.2067 +5/21/96 (bug fix) Do not create channels for stdin, stdout and stderr on
  1.2068 +Unix if the devices are closed. This prevents a duplicate channel name
  1.2069 +panic later on when the fd is used to open a channel and the channel is
  1.2070 +registered in an interpreter. (JL)
  1.2071 +
  1.2072 +5/23/96 (bug fix) Fixed bug that prevented the use of standard channels in
  1.2073 +interpreters created after the last interpreter was destroyed. In the sequence
  1.2074 +
  1.2075 +	interp = Tcl_CreateInterp();
  1.2076 +	Tcl_DeleteInterp(interp);
  1.2077 +	interp = Tcl_CreateInterp();
  1.2078 +
  1.2079 +channels for stdio would not be available in the second interpreter. (JL)
  1.2080 +
  1.2081 +5/23/96 (bug fix) Fixed bug that allowed Tcl_MakeFileChannel to create new
  1.2082 +channels with Tcl_Files in them that are already used by another channel.
  1.2083 +This would cause core dumps when the Tcl_Files were being freed twice. (JL)
  1.2084 +
  1.2085 +5/23/96 (bug fix) Fixed a logical timing bug that caused a standard channel
  1.2086 +to be removed from the standard channel table too early when the channel
  1.2087 +was being closed. If the channel was being flushed asynchronously, it could
  1.2088 +get recreated before being actually destroyed, and the recreated channel
  1.2089 +would contain the same Tcl_File as the one being closed, leading to
  1.2090 +dangling pointers and core dumps. (JL)
  1.2091 +
  1.2092 +5/27/96 (bug fix) Fixed a bug in Tcl_GetChannelOption which caused it to
  1.2093 +always return a list of one element, a list of the settings, for
  1.2094 +-translation and -eofchar options. Now correctly returns the value
  1.2095 +described by the documentation (Mark Diekhans found this, thanks!). (JL)
  1.2096 +
  1.2097 +5/30/96 (bug fix) Fixed a couple of syntax errors in io.test. (JL)
  1.2098 +
  1.2099 +5/30/96 (bug fix) If a fileevent scripts gets an error, delete it before
  1.2100 +causing a background error. This is to allow the error handler to reinstall
  1.2101 +the fileevent and to prevent infinite loops if the event loop is reentered
  1.2102 +in the error handler. (JL)
  1.2103 +
  1.2104 +5/31/96 (bug fix) Channels now will get properly flushed on exit. (JL)
  1.2105 +
  1.2106 +6/5/96 (bug fix) Changed Tcl_Ckalloc, Tcl_Ckfree, and Tcl_Ckrealloc to
  1.2107 +Tcl_Alloc, Tcl_Free, and Tcl_Realloc.  Added documentation for these
  1.2108 +routines now that they are officially supported.  Extension writers
  1.2109 +should use these routines instead of free() and malloc(). (SS)
  1.2110 +
  1.2111 +6/10/96 (bug fix) Changes the Tcl close command so that it no longer
  1.2112 +waits on nonblocking pipes for the piped processes to exit; instead it
  1.2113 +reaps them in the background. (JL)
  1.2114 +
  1.2115 +6/11/96 (bug fix) Increased the length of the listen queue for server
  1.2116 +sockets on Unix from 5 to 100. Some OSes will disregard this and reset it
  1.2117 +to 5, but we should try to get as long a queue as we can, for performance
  1.2118 +reasons. (JL)
  1.2119 +
  1.2120 +6/11/96 (bug fix) Fixed windows sockets bug that caused a cascade of events
  1.2121 +if the fileevent script read less than was available. Now reading less than
  1.2122 +is available does not cause a flood of Tcl events. (JL, SS)
  1.2123 +
  1.2124 +6/11/96 (bug fix) Fixed bug in background flushing on closed channels that
  1.2125 +would prevent the last buffer from getting flushed. (JL)
  1.2126 +
  1.2127 +6/13/96 (bug fix) Fixed bug in Windows sockets that caused a core dump if
  1.2128 +a DLL linked with tcl.dll and referred to e.g. ntohs() without opening a
  1.2129 +Tcl socket. The problem was that the indirection table was not being
  1.2130 +initialized. (JL)
  1.2131 +
  1.2132 +6/13/96 (bug fix) Fixed OS level resource leak that would occur when a
  1.2133 +Tcl channel was still registered in some interpreter when the process
  1.2134 +exits. Previously the channel was not being closed and the OS level handles
  1.2135 +were not being released; the output was being flushed but the device was
  1.2136 +not being closed. Now the device is properly closed. This was only a
  1.2137 +problem on Win3.1 and MacOS. (JL, SS)
  1.2138 +
  1.2139 +6/28/96 (bug fix) Fixed bug where transient errors were leaving an error
  1.2140 +code around, so that it would erroneously get reported later. This bug was
  1.2141 +exercised intermittently by closing a channel to a file on a very loaded
  1.2142 +NFS server, or to a socket whose other end blocked. (JL, BW)
  1.2143 +
  1.2144 +7/3/96 (bug fix) Fileevents declared in an interpreter are now deleted
  1.2145 +when the channel is closed in that interpreter. Before this fix, the
  1.2146 +fileevent would hang around until the channel is completely closed, and
  1.2147 +would cause errors if events happened before the channel was closed. This
  1.2148 +could happen in two cases: first if the channel is shared between several
  1.2149 +interpreters, and second if an async flush is in progress that prevents the
  1.2150 +channel from being closed until the flush finishes. (JL)
  1.2151 +
  1.2152 +7/10/96 (bug fix) Fixed bugs in both "lrange" and "lreplace" commands
  1.2153 +where too much white space was being removed. For example, the command
  1.2154 +		lreplace {\}\     hello} end end
  1.2155 +was returning "\}\", losing the significant space in the first list
  1.2156 +element and corrupting the list. (JO)
  1.2157 +
  1.2158 +7/20/96 (bug fix) The procedure pkg_mkIndex didn't work properly for
  1.2159 +extensions that depend on Tk, because it didn't load Tk into the child
  1.2160 +interpreter before loading the extension.  Now it loads Tk if Tk is
  1.2161 +present in the parent. (JO)
  1.2162 +
  1.2163 +7/23/96 (bug fix) Added compat version of strftime to fix crashes
  1.2164 +resulting from bad implementations under Windows. (SS)
  1.2165 +
  1.2166 +7/23/96 (bug fix) Standard implementations of gmtime() and localtime()
  1.2167 +under Windows did not handle dates before 1970, so they were replaced
  1.2168 +with a revised implementation. (SS)
  1.2169 +
  1.2170 +7/23/96 (bug fix) Tcl would crash on exit under Borland 5.0 because
  1.2171 +the global environ pointer was left pointing to freed memory. (SS)
  1.2172 +
  1.2173 +7/29/96 (bug fix) Fixed memory leak in Tcl_LoadCmd that could occur if
  1.2174 +a package's AppInit procedure called Tcl_StaticPackage to register
  1.2175 +static packages. (JO)
  1.2176 +
  1.2177 +8/1/96 (bug fix) Fixed a series of bugs in Windows sockets so that async
  1.2178 +writebehind in the presence of read event handlers now works, and so that
  1.2179 +async writebehind also works on sockets for which a read event handler was
  1.2180 +declared and whose channels were then closed before the async write
  1.2181 +finished. The bug was reported by John Loverso and Steven Wahl,
  1.2182 +independently, test case supplied by John Loverso. (JL)
  1.2183 +
  1.2184 +----------------- Released patch 7.5p1, 8/2/96 -----------------------
  1.2185 +
  1.2186 +5/8/96 (new feature) Added Tcl_GetChannelMode C API for retrieving whether
  1.2187 +a channel is open for reading and writing. (JL)
  1.2188 +
  1.2189 +5/8/96 (API changes) Revised C APIs for channel drivers:
  1.2190 +    - Removed all Tcl_Files from channel driver interface; you can now have
  1.2191 +      channels that are not based on Tcl_Files.
  1.2192 +    - Added channelReadyProc and watchChannelProc procedures to interface;
  1.2193 +      these are used to implement event notification for channels.
  1.2194 +    - Added getFileProc to channel driver, to allow the generic IO code
  1.2195 +      to retrieve a Tcl_File from a channel (presumably if the channel
  1.2196 +      uses Tcl_Files they will be stored inside its instanceData). (JL)
  1.2197 +*** INCOMPATIBILITY with Tcl 7.5 ***
  1.2198 +
  1.2199 +5/8/96 (API change) The Tcl_CreateChannel C API was modified to not take
  1.2200 +Tcl_File arguments, and instead to take a mask specifying whether the
  1.2201 +channel is readable and/or writable. (JL)
  1.2202 +*** INCOMPATIBILITY with Tcl 7.5 ***
  1.2203 +
  1.2204 +6/3/96 (bug fix) Made Tcl_SetVar2 robust against the case where the value
  1.2205 +of the variable is a NULL pointer instead of "". (JL)
  1.2206 +
  1.2207 +6/17/96 (bug fix) Fixed "reading uninitialized memory" error reported by
  1.2208 +Purify, in Tcl_Preserve/Tcl_Release. (JL)
  1.2209 +
  1.2210 +8/9/96 (bug fix) Fixed bug in init.tcl that caused incorrect error message
  1.2211 +if the act of autoloading a procedure caused the procedure to be invoked
  1.2212 +again. (JO)
  1.2213 +
  1.2214 +8/9/96 (bug fix) Configure script produced bad library names and extensions
  1.2215 +under SunOS and a few other platforms if the --disable-load switch was used.
  1.2216 +(JO)
  1.2217 +
  1.2218 +8/9/96 (bug fix) Tcl_UpdateLinkedVar generated an error if the variable
  1.2219 +being updated was read-only. (JO)
  1.2220 +
  1.2221 +8/14/96 (bug fix) The macintosh now supports synchronous socket
  1.2222 +connections.  Other minor bugs were also fixed. (RJ)
  1.2223 +
  1.2224 +8/15/96 (configuration improvement) Changed the file patchlevel.h
  1.2225 +to be tclPatch.h.  This avoids conflict with the Tk file and is now
  1.2226 +in 8.3 format on the Windows platform. (RJ)
  1.2227 +
  1.2228 +8/20/96 (bug fix) Fixed core dump in interp alias command for interpreters
  1.2229 +created with Tcl_CreateInterp (as opposed to with Tcl_CreateSlave). (JL)
  1.2230 +
  1.2231 +8/20/96 (bug fix) No longer masking ECONNRESET on Windows sockets so
  1.2232 +that the higher level of the IO mechanism sees the error instead of
  1.2233 +entering an infinite loop. (JL)
  1.2234 +
  1.2235 +8/20/96 (bug fix) Destroying the last interpreter no longer closes the
  1.2236 +standard channels. (JL)
  1.2237 +
  1.2238 +8/20/96 (bug fix) Closing one of the stdin, stdout or stderr channels and
  1.2239 +then opening a new channel now correctly assigns the new channel as the
  1.2240 +standard channel that was closed. (JL)
  1.2241 +
  1.2242 +8/20/96 (bug fix) Added code to unix/tclUnixChan.c for using ioctl with
  1.2243 +FIONBIO instead of fcntl with O_NONBLOCK, for those versions of Unix where
  1.2244 +either O_NONBLOCK is not supported or implemented incorrectly. (JL)
  1.2245 +
  1.2246 +8/21/96 (bug fix) Fixed "file extension" so it correctly returns the
  1.2247 +extension on files like "foo..c" as "..c" instead of ".c". (SS)
  1.2248 +
  1.2249 +8/22/96 (bug fix) If environ[] contains static strings, Tcl would core
  1.2250 +dump in TclSetupEnv because it was trying to write NULLs into the actual
  1.2251 +data in environ[]. Now we instead copy as appropriate. (JL)
  1.2252 +
  1.2253 +8/22/96 (added impl) Added missing implementation of Tcl_MakeTcpClientChannel
  1.2254 +for Windows platform. Code contributed by Mark Diekhans. (JL)
  1.2255 +
  1.2256 +8/22/96 (new feature) Added a new memory allocator for the Macintosh
  1.2257 +version of Tcl.  It's quite a bit faster than MetroWerk's version. (RJ)
  1.2258 +
  1.2259 +8/26/96 (documentation update) Removed old change bars (for all changes
  1.2260 +in Tcl 7.5 and earlier releases) from manual entries. (JO)
  1.2261 +
  1.2262 +8/27/96 (enhancement) The exec and open commands behave better and work in 
  1.2263 +more situations under Windows NT and Windows 95.  Documentation describes 
  1.2264 +what is still lacking. (CS)
  1.2265 +
  1.2266 +8/27/96 (enhancement) The Windows makefiles will now compile even if the
  1.2267 +compiler is not in the path and/or the compiler's environment variables
  1.2268 +have not been set up. (CS) 
  1.2269 +
  1.2270 +8/27/96 (configuration improvement) The Windows resource files are 
  1.2271 +automatically updated when the version/patch level changes.  The header file
  1.2272 +now has a comment that reminds the user which other files must be manually
  1.2273 +updated when the version/patch level changes. (CS)
  1.2274 +
  1.2275 +8/28/96 (new feature) Added file manipulation features (copy, rename, delete,
  1.2276 +mkdir) that are supported on all platforms. They are implemented as 
  1.2277 +subcommands to the "file" command. See the documentation for the "file"
  1.2278 +command for more information. (JH)
  1.2279 +
  1.2280 +----------------- Released 7.6b1, 8/30/96 -----------------------
  1.2281 +
  1.2282 +9/3/96 (bug fix) Simplified code so that standard channels are created
  1.2283 +lazily, they are added to an interpreter lazily, and they are never added
  1.2284 +to a safe interpreter. (JL)
  1.2285 +
  1.2286 +9/3/96 (bug fix) Closing a channel after closing a standard channel, e.g.
  1.2287 +stdout, would cause the implicit recreation of that standard channel. (JL)
  1.2288 +
  1.2289 +9/3/96 (new feature) Now calling Tcl_RegisterChannel with a NULL
  1.2290 +interpreter increments the refcount so that code outside any interpreter
  1.2291 +can use channels that are also registered in interpreters, without worrying
  1.2292 +that the channel may turn into a dangling pointer at any time. Calling
  1.2293 +Tcl_UnregisterChannel with a NULL interpreter only decrements the recount
  1.2294 +so that code outside any interpreter can safely declare it is no longer
  1.2295 +interested in a channel. (JL)
  1.2296 +
  1.2297 +9/4/96 (new features) Two changes to dynamic loading:
  1.2298 +    - If the file name is empty in the "load" command and there is no
  1.2299 +      statically loaded version of the package, a dynamically loaded
  1.2300 +      version will be used if there is one.
  1.2301 +    - Tcl_StaticPackage ignores redundant calls for the same package. (JO)
  1.2302 +
  1.2303 +9/6/96 (bug fix) Platform specific procedures for manipulating files are
  1.2304 +no longer macros and have been prefixed with "Tclp", such as TclpRenameFile.
  1.2305 +Unix file code now handles symbolic links and other special files correctly.
  1.2306 +The semantics of file copy and file rename has been changed so that if
  1.2307 +a target directory exists, the source files will NOT be merged with the
  1.2308 +existing files. (JH)
  1.2309 +
  1.2310 +9/6/96 (bug fix) If standard channel is NULL, because Tcl cannot connect
  1.2311 +to the standard channel, do not increment the refcount. The channel can
  1.2312 +be NULL if there is for example no standard input. (JL)
  1.2313 +
  1.2314 +9/6/96 (portability improvement) Changed parsing of backslash sequences
  1.2315 +like \n to translate directly to absolute values like 0xa instead of
  1.2316 +letting the compiler do the translation.  This guarantees that the
  1.2317 +translation is done the same everywhere. (JO)
  1.2318 +
  1.2319 +9/9/96 (bug fix) If channel is opened and not associated with any
  1.2320 +interpreter, but Tcl decides to use it as one of the standard channels, it
  1.2321 +became impossible to close the channel with Tcl_Close -- instead you had
  1.2322 +to call Tcl_UnregisterChannel. Fixed now so that it's safe to call
  1.2323 +Tcl_Close even when Tcl is using the channel as one of the standard ones. (JL)
  1.2324 +
  1.2325 +9/11/96 (feature change) The Tcl library is now placed in the Tcl
  1.2326 +shared libraries resource.  You no longer need to place the Tcl files
  1.2327 +in your applications explicitly.  (RJ)
  1.2328 +
  1.2329 +9/11/96 (feature change) Extensions no longer automatically have the
  1.2330 +resource fork of the extension opened for it.  Instead you need to
  1.2331 +use the tclMacLibrary.c file in your extension.  (RJ)
  1.2332 +*** POTENTIAL INCOMPATIBILITY ***
  1.2333 +
  1.2334 +9/12/96 (bug fix) The extension loading mechanism on the Macintosh now
  1.2335 +looks at the 'cfrg' resource to determine where to load the code
  1.2336 +fragment from.  This means FAT fragments should now work. (RJ)
  1.2337 +
  1.2338 +9/18/96 (enhancement) The exec and open commands behave better and work in
  1.2339 +more situations under Windows 3.X.  Documentation describes what is still
  1.2340 +lacking.  (CS)
  1.2341 +
  1.2342 +9/19/96 (bug fix) Fixed a panic which would occur if you delete a
  1.2343 +non-existent alias before any aliases are created. Now instead correctly
  1.2344 +returns an error that the alias is not found. (JL)
  1.2345 +
  1.2346 +9/19/96 (bug fix) Slave interpreters could rename aliases and they would
  1.2347 +not get deleted when the alias was being redefined. This led to dangling
  1.2348 +pointers etc. (JL)
  1.2349 +
  1.2350 +9/19/96 (bug fix) Fixed a panic where a hash table entry was being deleted
  1.2351 +twice during alias management operations. (JL)
  1.2352 +
  1.2353 +9/19/96 (bug fix) Fixed bug in event loop that could cause the input focus
  1.2354 +in Tk to get confused during menu traversal, among other problems.  The
  1.2355 +problem was related to handling of the "marker" when its event was
  1.2356 +deleted. (JO)
  1.2357 +
  1.2358 +9/26/96 (bug fix) Windows was losing EOF on a socket if the FD_CLOSE event
  1.2359 +happened to precede any left over FD_READ events. Now correctly remembers
  1.2360 +seeing FD_CLOSE, so that trailing FD_READ events are not discarded if they
  1.2361 +do not contain any data. This allows Tcl to correctly get a zero read and
  1.2362 +notice EOF. (JL)
  1.2363 +
  1.2364 +9/26/96 (bug fix) Was not resetting READABLE state properly on sockets
  1.2365 +under Windows if the driver discarded an FD_READ event because no data was
  1.2366 +present. Now correctly resets the state. (JL)
  1.2367 +
  1.2368 +9/30/96 (bug fix) Made EOF sticky on Windows sockets, so that fileevent
  1.2369 +readable will fire repeatedly until the socket is closed. Previously the
  1.2370 +fileevent fired only once. This could lead to never-closed connections if
  1.2371 +the Tcl script in the fileevent wasn't closing the socket immediately. (JL)
  1.2372 +
  1.2373 +10/2/96 (new feature) Improved the package loader:
  1.2374 +    - Added new variable tcl_pkgPath, which holds the default
  1.2375 +      directories under which packages are normally installed (each
  1.2376 +      package goes in a separate subdirectory of a directory in
  1.2377 +      $tcl_pkgPath).  These directories are included in auto_path by
  1.2378 +      default.
  1.2379 +    - Changed the package auto-loader to look for pkgIndex.tcl files 
  1.2380 +      not only in the auto_path directories but also in their immediate
  1.2381 +      children.  This should make it easier to install and uninstall
  1.2382 +      packages (don't have to change auto_path or merge pkgIndex.tcl
  1.2383 +      files). (JO)
  1.2384 +
  1.2385 +10/3/96 (bug fix) Changed tclsh to look for tclshrc.tcl instead of
  1.2386 +tclsh.rc on startup under Windows.  This is more consistent with wish and
  1.2387 +uses the right extension. (SS)
  1.2388 +*** POTENTIAL INCOMPATIBILITY ***
  1.2389 +
  1.2390 +10/8/96 (bug fix) Convertclock does not parse 24-hour times of the
  1.2391 +form "hhmm" correctly when hour = 00.  In the parse code, hour must be
  1.2392 +>= 100 for minutes to be non-zero.  Thanks to Lint LaCour for this
  1.2393 +bug fix. (RJ)
  1.2394 +
  1.2395 +10/11/96 (bug fix) Under Windows, the pid command returned the process
  1.2396 +handle instead of the process id. (SS)
  1.2397 +
  1.2398 +----------------- Released 7.6, 10/16/96 -----------------------
  1.2399 +
  1.2400 +10/29/96 (bug fix) Under Windows, sockets would consume 100% CPU time after
  1.2401 +the first accept(), due to a typo. (JL)
  1.2402 +
  1.2403 +10/29/96 (bug fix) Incorrect refcount management caused standard channels
  1.2404 +not to get deleted at process exit or DLL unload time, causing a memory
  1.2405 +leak of upwards of 20K each time. (JL)
  1.2406 +
  1.2407 +11/7/96 (bug fix) Auto-exec didn't work on file names that contained
  1.2408 +spaces. (JO)
  1.2409 +
  1.2410 +11/8/96 (bug fix) Fixed core dump that would occur if more than one call
  1.2411 +to Tcl_DeleteChannelHandler was made to delete a given channel handler. (JL)
  1.2412 +
  1.2413 +11/8/96 (bug fix) Fixed test for return value in Tcl_Seek and Tcl_SeekCmd
  1.2414 +to only treat -1 as error, instead of all negative numbers. (JL)
  1.2415 +
  1.2416 +11/12/96 (bug fix) Do not blocking waiting for processes at the end of a
  1.2417 +pipe during exit cleanup. (JL)
  1.2418 +
  1.2419 +11/12/96 (bug fix) If we are in exit cleanup, do not close the system level
  1.2420 +file descriptors 0, 1 and 2. Previously they were being closed which is
  1.2421 +incorrect, in the embedded case. This led to weird behavior for programs
  1.2422 +that want to interpose on I/O through the standard file descriptors (e.g.
  1.2423 +Netscape Navigator). (JL)
  1.2424 +
  1.2425 +11/15/96 (bug fix) Fixed core dump on Windows sockets due to dependency on
  1.2426 +deletion order at exit. Now all socket functions check to see if sockets
  1.2427 +are (still) initialized, before calling through function pointers. Before,
  1.2428 +they would call and might end up calling unloaded object code. (JL)
  1.2429 +
  1.2430 +11/15/96 (bug fix) Fixed core dump in Windows socket initialization routine
  1.2431 +if sockets were not installed on the system. Before, it was not properly
  1.2432 +checking the result of attempting to load the socket DLL, so it would call
  1.2433 +through uninitialized function pointers. (JL)
  1.2434 +
  1.2435 +11/15/96 (bug fix) Fixed memory leak in Windows sockets which left socket
  1.2436 +DLL handle open and could hold the socket DLL in memory uneccessarily,
  1.2437 +until a reboot. (JL)
  1.2438 +
  1.2439 +12/4/96 (bug fix) Fixed bug in Macintosh socket code that could result
  1.2440 +in lost data if a client was closed too soon after sending data. (RJ)
  1.2441 +
  1.2442 +12/17/96 (bug fix) Fixed deadlock bug in Windows sockets due to losing an
  1.2443 +event. This was happening because of an interaction between buffering and
  1.2444 +nonblocking mode on sockets. Now switched to sockets being blocking by
  1.2445 +default, so we are also no longer emulating blocking through a private
  1.2446 +event loop. (JL)
  1.2447 +
  1.2448 +1/21/97 (performance bug fix) Client TCP connections were slow to create
  1.2449 +because getservbyname was always called on the port.  Now this is only
  1.2450 +done if Tcl_GetInt fails. (BW)
  1.2451 +
  1.2452 +1/21/97 (configuration fix) Made it possible to override TCL_PACKAGE_PATH
  1.2453 +during make.  Previously it was only set during autoconf process.
  1.2454 +
  1.2455 +1/29/97 (bug fix) Fixed some problems with the clock command that
  1.2456 +impacted how dates were scaned after the year 2000. (RJ)
  1.2457 +
  1.2458 +----------------- Released 7.6p2, 1/31/97 -----------------------
  1.2459 +
  1.2460 +2/5/97 (bug fix) Fixed a bug where in CR-LF translation mode, \r bytes
  1.2461 +in the input stream were not being handled correctly. (JL)
  1.2462 +
  1.2463 +2/24/97 (bug fix) Fix bug with exec under Win32s not being able to create
  1.2464 +stderr file which caused all execs to fail.  Fixed temp file leak under
  1.2465 +Win32s.  Fixed optional parameter bug with SearchPath that only happened
  1.2466 +under Win32s 1.25. (CCS)
  1.2467 +
  1.2468 +----------------------------------------------------------
  1.2469 +Changes for Tcl 7.6 go above this line.
  1.2470 +Changes for Tcl 7.7 go below this line.
  1.2471 +----------------------------------------------------------
  1.2472 +
  1.2473 +5/8/96 (new feature) Added Tcl_Ungets C API for putting a sequence of bytes
  1.2474 +into a channel's input buffer. This can be used for "push" model channels
  1.2475 +where the input is obtained via callbacks instead of by request of the
  1.2476 +generic IO code. No Tcl procedure yet. (JL)
  1.2477 +
  1.2478 +11/15/96 (new feature) Implemented hidden commands. New C APIs:
  1.2479 +	Tcl_HideCommand		-- hides an existing exposed command.
  1.2480 +	Tcl_ExposeCommand	-- exposes an existing hidden command.
  1.2481 +New tcl APIs:
  1.2482 +	interp invokehidden	-- invokes a hidden command in a slave.
  1.2483 +	interp hide		-- hides an existing exposed command.
  1.2484 +	interp expose		-- exposes an existing hidden command.
  1.2485 +	interp hidden		-- returns a list of hidden commands.
  1.2486 +The implementation of Safe Tcl now uses the new hidden commands facility
  1.2487 +to implement the safe base, instead of deleting the commands from a safe
  1.2488 +interpreter. (JL)
  1.2489 +
  1.2490 +11/15/96 (new feature) Implemented the safe base, a mechanism for
  1.2491 +installing and requesting security policies, purely in Tcl code. Overloads
  1.2492 +the package command to also allow an interpreter to "require" a policy. The
  1.2493 +following new library commands are provided:
  1.2494 +	tcl_safeCreateInterp	-- creates a slave an initializes the
  1.2495 +				   policy mechanism.
  1.2496 +	tcl_safeInitInterp	-- initializes an existing slave with the
  1.2497 +				   policy mechanism.
  1.2498 +	tcl_safeDeleteInterp	-- deletes a slave and deinitializes the
  1.2499 +				   policy mechanism.
  1.2500 +Added a new file to the library, safeinit.tcl, to hold implementation. (JL)
  1.2501 +On 7/9/97, removed the policy loading mechanism from the Safe Base. Left
  1.2502 +only the Safe Base aliases dealing with auto-loading and source. (JL)
  1.2503 +
  1.2504 +12/6/96 (new feature) Implemented Tcl_Finalize, an API that should be
  1.2505 +called by a process when it is done using Tcl. This API runs all the exit
  1.2506 +handlers to allow them to clean up resources etc. (JL)
  1.2507 +
  1.2508 +12/17/96 (new feature) Add an http Tcl script package to the Tcl library.
  1.2509 +This package implements the client side of HTTP/1.0; the GET, HEAD,
  1.2510 +and POST requests. (BW)
  1.2511 +
  1.2512 +1/21/97 (new feature) Added a "marktrusted" subcommand to the "interp" and
  1.2513 +to the interpreter object command. It removes the "safe" mark on an
  1.2514 +interpreter and disables hard-wired checks for safety in the C sources. (JL)
  1.2515 +
  1.2516 +1/21/97 (removed feature) Removed "vwait" from set of commands available in
  1.2517 +a safe interpreter. (JL)
  1.2518 +
  1.2519 +2/11/97 (new feature, bug fix) http package.  Added -accept to http_config
  1.2520 +so you can set the Accept header.  Added -handler option to http_get so
  1.2521 +you can supply your own data handler.  Also fixed POST operation to
  1.2522 +set the correct MIME type on the request. (BW)
  1.2523 +
  1.2524 +----------------------------------------------------------
  1.2525 +Changes for Tcl 7.7 go above this line.
  1.2526 +Changes for Tcl 8.0 go below this line.
  1.2527 +----------------------------------------------------------
  1.2528 +
  1.2529 +9/17/96 (bug fix) Using "upvar" it was possible to turn an array element
  1.2530 +into an array itself.  Changed to disallow this; it was quirky and didn't
  1.2531 +really work correctly anyway. (JO)
  1.2532 +
  1.2533 +10/21/96 (new feature) The core of the Tcl interpreter has been replaced
  1.2534 +with an on-the-fly compiler that translates Tcl scripts to bytecoded
  1.2535 +instructions; a new interpreter then executes the bytecodes. The compiler
  1.2536 +introduces only a few minor changes at the level of Tcl scripts. The biggest
  1.2537 +changes are to expressions and lists.
  1.2538 +    - A second level of substitutions is no longer done for expressions.
  1.2539 +      This substantially improves their execution time. This means that
  1.2540 +      the expression "$x*4" produces a different result than in the past
  1.2541 +      if x is "$y+2". Fortunately, not much code depends on the old
  1.2542 +      two-level semantics. Some expressions that do, such as
  1.2543 +      "expr [join $list +]" can be recoded to work in Tcl8.0 by adding
  1.2544 +      an eval: e.g., "eval expr [join $list +]".
  1.2545 +    - Lists are now completely parsed on the first list operation to
  1.2546 +      create a faster internal representation. In the past, if you had a
  1.2547 +      misformed list but the erroneous part was after the point you
  1.2548 +      inserted or extracted an element, then you never saw an error.
  1.2549 +      In Tcl8.0 an error will be reported. This should only effect
  1.2550 +      incorrect programs that took advantage of behavior of the old
  1.2551 +      implementation that was not documented in the man pages.
  1.2552 +Other changes to Tcl scripts are discussed in the web page at
  1.2553 +http://www.scriptics.com/doc/compiler.html. (BL)
  1.2554 +*** POTENTIAL INCOMPATIBILITY ***
  1.2555 +
  1.2556 +10/21/96 (new feature) In earlier versions of Tcl, strings were used as a
  1.2557 +universal representation; in Tcl 8.0 strings are replaced with Tcl_Obj
  1.2558 +structures ("objects") that can hold both a string value and an internal
  1.2559 +form such as a binary integer or compiled bytecodes. The new objects make it
  1.2560 +possible to store information in efficient internal forms and avoid the
  1.2561 +constant translations to and from strings that occurred with the old
  1.2562 +interpreter. There are new many new C APIs for managing objects. Some of the
  1.2563 +new library procedures for objects (such as Tcl_EvalObj) resemble existing
  1.2564 +string-based procedures (such as Tcl_Eval) but take advantage of the
  1.2565 +internal form stored in Tcl objects for greater speed. Other new procedures
  1.2566 +manage objects and allow extension writers to define new kinds of objects.
  1.2567 +See the manual entries doc/*Obj*.3 (BL)
  1.2568 +
  1.2569 +10/24/96 (bug fix) Fixed memory leak on exit caused by some IO related
  1.2570 +data structures not being deallocated on exit because their refcount was
  1.2571 +artificially boosted. (JL)
  1.2572 +
  1.2573 +10/24/96 (bug fix) Fixed core dump in Tcl_Close if called with NULL
  1.2574 +Tcl_Channel. (JL)
  1.2575 +
  1.2576 +11/19/96 (new feature) Added library procedures for finding word
  1.2577 +breaks in strings in a platform specific manner.  See the library.n
  1.2578 +manual entry for more information. (SS)
  1.2579 +
  1.2580 +11/22/96 (feature improvements) Added support for different levels of
  1.2581 +tracing during bytecode compilation and execution. This should help in
  1.2582 +tracking down suspected problems with the compiler or with converting
  1.2583 +existing code to use Tcl8.0. Two global Tcl variables, traceCompile
  1.2584 +and traceExec, can be set to generate tracing information in stdout:
  1.2585 +    - traceCompile: 0  no tracing (default)
  1.2586 +                    1  trace compilations of top level commands and procs
  1.2587 +                    2  trace and display instructions for all compilations
  1.2588 +    - traceExec:    0  no tracing
  1.2589 +                    1  trace only calls to Tcl procs
  1.2590 +                    2  trace invocations of all commands including procs
  1.2591 +                    3  detailed trace showing the result of each instruction
  1.2592 +traceExec >= 2 provides a one line summary of each called command and
  1.2593 +its arguments. Commands that have been "compiled away" such as set are
  1.2594 +not shown. (BL)
  1.2595 +
  1.2596 +11/30/96 (bug fix) The command "info nameofexecutable" could sometimes
  1.2597 +return the name of a directory. (JO)
  1.2598 +
  1.2599 +11/30/96 (feature improvements) Changed the code in library/init.tcl
  1.2600 +that reads in pkgIndex.tcl so that (a) it reads the files from child
  1.2601 +directories before those in the parent, so that the parent gets
  1.2602 +precedence, and (b) it doesn't quit if there is an error in a
  1.2603 +pkgIndex.tcl file;  instead, it prints an error message on standard
  1.2604 +error and continues. (JO)
  1.2605 +
  1.2606 +10/5/96 (feature improvements) Partial implementation of binary string
  1.2607 +support: the ability for Tcl string values to contain embedded null bytes.
  1.2608 +Changed the Tcl object-based APIs to take a byte pointer and length pair
  1.2609 +instead of a null-terminated C string. Modified several object type managers
  1.2610 +to support binary strings but not, for example, the list type manager.
  1.2611 +Existing string-based C APIs are unchanged and will truncate binary
  1.2612 +strings. Compiled scripts containing nulls are also truncated. (BL)
  1.2613 +
  1.2614 +12/12/96 (feature change) Removed the commands "cp", "mkdir", "mv",
  1.2615 +"rm", and "rmdir" from the Macintosh version of Tcl.  They were never
  1.2616 +officially supported and their functionality is now available via
  1.2617 +the file command. (RJ)
  1.2618 +
  1.2619 +----------------- Released 8.0a1, 12/20/96 -----------------------
  1.2620 +
  1.2621 +1/7/97 (bug fix) Under Windows, "file stat c:" was returning error instead
  1.2622 +of stat for current dir on c: drive.
  1.2623 +
  1.2624 +1/10/97 (new feature) Added Tcl_GetIndexFromObj procedure for quick
  1.2625 +lookups of keyword arguments. (JO)
  1.2626 +
  1.2627 +1/12/97 (new feature) Serial IO channel drivers for Windows and Unix,
  1.2628 +available by using Tcl open command to open pseudo-files like "com1:" or
  1.2629 +"/dev/ttya".  New option to Tcl fconfigure command for serial files:  
  1.2630 +"-mode baud,parity,data,stop" to specify baud rate, parity, data bits, and
  1.2631 +stop bits.  Serial IO is not yet available on Mac.
  1.2632 +
  1.2633 +1/16/97 (feature change) Restored the Tcl7.x "two level substitution
  1.2634 +semantics" for expressions. Expressions not enclosed in braces are
  1.2635 +implemented, in general, by calling the expr command procedure
  1.2636 +(Tcl_ExprObjCmd) at runtime after the Tcl interpreter has already done a
  1.2637 +first round of substitutions. This is slow (about Tcl7.x speed) because new
  1.2638 +code for the expression is generally compiled each time. However, if the
  1.2639 +expression has only variable substitutions (and not command substitutions),
  1.2640 +"optimistic" fast code is generated inline. This inline code will fail if a
  1.2641 +second round of substitutions is needed (i.e., if the value of a substituted
  1.2642 +variable itself requires more substitutions). The optimistic code will
  1.2643 +catch the error and back off to call the slower but guaranteed correct
  1.2644 +expr command procedure. (BL)
  1.2645 +
  1.2646 +1/16/97 (feature improvements) Added Tcl_ExprLongObj and Tcl_ExprDoubleObj
  1.2647 +to round out expression-related procedures. (BL)
  1.2648 +
  1.2649 +1/16/97 (feature change) Under Windows, at startup the environment variables
  1.2650 +"path", "comspec", and "windir" in any capitalization are converted
  1.2651 +automatically to upper case.  The PATH variable could be spelled as path,
  1.2652 +Path, PaTh, etc. and it makes programming rather annoying.  All other
  1.2653 +environment variables are left alone. (CS)
  1.2654 +
  1.2655 +1/20/97 (new features) Rewrote the "lsort" command:
  1.2656 +    - The new version is based on reentrant merge sort code provided
  1.2657 +      by Richard Hipp, so it eliminates the reentrancy and stability
  1.2658 +      problems with the old qsort-based implementation.
  1.2659 +    - The new version supports a -dictionary option for sorting, and
  1.2660 +      it also supports a -index option for sorting lists using one
  1.2661 +      element for comparison.
  1.2662 +    - The new version is an object command, so it works well with the
  1.2663 +      Tcl compiler, especially in conjunction with the new -index
  1.2664 +      option.  When the -index option is used, this version of lsort
  1.2665 +      is more than 100 times faster than the Tcl 7.6 lsort, which had
  1.2666 +      to use the -command option to get the same effect. (JO)
  1.2667 +
  1.2668 +1/20/97 (feature improvements) Added the improved debugging support for Tcl
  1.2669 +objects prototyped by Karl Lehenbauer <karl@hammer1.ops.NeoSoft.com>.
  1.2670 +If TCL_MEM_DEBUG is defined, the object creation calls use Tcl_DbCkalloc
  1.2671 +directly in order to record the caller's source file name and line
  1.2672 +number. (BL)
  1.2673 +
  1.2674 +1/21/97 (removed feature) Desupported the tcl_precision variable: if
  1.2675 +set, it is ignored.  Tcl now uses the full 17 digits of precision when
  1.2676 +converting real numbers to strings (with the new object system real
  1.2677 +numbers are rarely converted to strings so there is no efficiency
  1.2678 +disadvantage to printing all 17 digits; the new scheme improves
  1.2679 +accuracy and simplifies several APIs). (JO)
  1.2680 +*** POTENTIAL INCOMPATIBILITY ***
  1.2681 +
  1.2682 +1/21/97 (feature change) Removed the "interp" argument for the
  1.2683 +procedures Tcl_GetStringFromObj, Tcl_StringObjAppend, and
  1.2684 +Tcl_StringObjAppendObj.  Also removed the "interp" argument for
  1.2685 +the updateStringProc procedure in Tcl_ObjType structures.  With
  1.2686 +the tcl_precision changes above, these are no longer needed. (JO)
  1.2687 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a1, but not with Tcl 7.6 ***
  1.2688 +
  1.2689 +1/22/97 (bug fix) Fixed http.tcl so that http_reset does not result in
  1.2690 +an extra call to the command callback.  In addition, if the transaction
  1.2691 +gets a premature eof, the state(status) is "eof", not "ok". (BW)
  1.2692 +
  1.2693 +----------------- Released 8.0a2, 1/24/97 -----------------------
  1.2694 +
  1.2695 +1/29/97 (feature change) Changed how two digit years are parsed in the
  1.2696 +clock command.  The old interface just added 1900 which will seem
  1.2697 +broken by the year 2000.  The new scheme follows the POSIX standard
  1.2698 +and treats dates 70-99 as 1970-1999 and dates 00-38 as 2000-2038.  All
  1.2699 +other two digit dates are undefined. (RJ)
  1.2700 +*** POTENTIAL INCOMPATIBILITY ***
  1.2701 +
  1.2702 +2/4/97 (bug fix) Fixed bug in clock code that dealt with relative
  1.2703 +dates.  Using the relative month code you could get an invalid date
  1.2704 +because it jumped into a non-existant day.  (For example, Jan 31
  1.2705 +to Feb 31.)  The code now will return the last valid day of the
  1.2706 +month in these situations.  Thanks to Hume Smith for sending in
  1.2707 +this bug fix.  (RJ)
  1.2708 +
  1.2709 +2/10/97 (feature change) Eliminated Tcl_StringObjAppend and 
  1.2710 +Tcl_StringObjAppendObj procedures, replaced them with Tcl_AppendToObj
  1.2711 +and Tcl_AppendStringsToObj procedures.  Added new procedure
  1.2712 +Tcl_SetObjLength. (JO)
  1.2713 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2, but not with Tcl 7.6 ***
  1.2714 +
  1.2715 +2/10/97 (new feature) Added Tcl_WrongNumArgs procedure for generating
  1.2716 +error messages about incorrect number of arguments. (JO)
  1.2717 +
  1.2718 +2/11/97 (new feature, bug fix) http package.  Added -accept to http_config
  1.2719 +so you can set the Accept header.  Added -handler option to http_get so
  1.2720 +you can supply your own data handler.  Also fixed POST operation to
  1.2721 +set the correct MIME type on the request. (BW)
  1.2722 +
  1.2723 +2/22/97 (bug fix) Fixed bug that caused $tcl_platform(osVersion) to be
  1.2724 +computed incorrectly under AIX. (JO)
  1.2725 +
  1.2726 +2/25/97 (new feature, feature change) Added support for both int and long
  1.2727 +integer objects. Added Tcl_NewLongObj/Tcl_GetLongFromObj/Tcl_SetLongFromObj
  1.2728 +procedures and renamed the Tcl_Obj internalRep intValue member to
  1.2729 +longValue. Tcl_GetIntFromObj now checks for integer values too large to
  1.2730 +represent as non-long integers. Changed Tcl_GetAllObjTypes to
  1.2731 +Tcl_AppendAllObjTypes. (BL)
  1.2732 +
  1.2733 +3/5/97 (new feature) Added new Tcl_SetListObj procedure to round out
  1.2734 +collection of procedures that set the type and value of existing Tcl
  1.2735 +objects. (BL)
  1.2736 +
  1.2737 +3/6/97 (new feature) Added -global flag for interp invokehidden. (JL)
  1.2738 +
  1.2739 +3/6/97 (new feature, feature change) Added isNativeObjectProc field to the
  1.2740 +Tcl_CmdInfo structure to indicate (when 1) if the command has an
  1.2741 +object-based command procedure. Removed the nameLength arg from
  1.2742 +Tcl_CreateObjCommand since command names can't contain null characters. (BL)
  1.2743 +
  1.2744 +3/6/97 (bug fix) Fixed bug in "unknown" procedure that caused auto-
  1.2745 +loading to fail on commands whose names begin with digits. (JO)
  1.2746 +
  1.2747 +3/7/97 (bug fix) Auto-loading now works in Safe Base. Safe interpreters
  1.2748 +only accept the Version 2 and onwards tclIndex files. (JL)
  1.2749 +
  1.2750 +3/13/97 (bug fix) Fixed core dump due to interaction between aliases and
  1.2751 +hidden commands. Bug found by Lindsay Marshall. (JL)
  1.2752 +
  1.2753 +3/14/97 (bug fix) Fixed mac bugs relating to time.  The -gmt option
  1.2754 +now adjusts the time in the correct direction.  (Thanks to Ed Hume for
  1.2755 +reporting a fix to this problem.)  Also fixed file "mtime" etc. to
  1.2756 +return times from GMT rather than local time zone.  (RJ)
  1.2757 +
  1.2758 +3/18/97 (feature change) Declaration of objv in Tcl_ObjCmdProc function
  1.2759 +changed from "Tcl_Obj *objv[]" to "Tcl_Obj *CONST objv[]".  All Tcl object
  1.2760 +commands changed to use new declaration of objv.  Naive translation of
  1.2761 +string-based command procs to object-based command procs could very easily
  1.2762 +have yielded code where the contents of the objv array were changed.  This
  1.2763 +is not a problem with string-based command procs, but doing something as
  1.2764 +simple as objv[2] = objv[3] would corrupt the runtime stack and cause Tcl to
  1.2765 +crash.  Introduced CONST in declaration of objv so that attempted assignment
  1.2766 +of new pointer values to elements of the objv array will be caught by the
  1.2767 +compiler. (CCS)
  1.2768 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 ***
  1.2769 +
  1.2770 +3/19/97 (bug fix) Fixed panic due to object sharing. The root cause was
  1.2771 +that old code was using Tcl_ResetResult instead of Tcl_ResetObjResult. (JL)
  1.2772 +
  1.2773 +3/20/97 (new feature) Added a new subcommand for the file
  1.2774 +command. file attributes filename can give a list of platform-specific
  1.2775 +options (such as file/creator type on the Mac, permissions on Unix) or
  1.2776 +set the values of them. Added a new subcommand for the file
  1.2777 +command. file nativename name gives back the platform-specific form
  1.2778 +for the file. This is useful when the filename is needed to pass to
  1.2779 +the OS, such as exec under Windows 95 or AppleScript on the Mac. For
  1.2780 +more info, see file.n. (SRP)
  1.2781 +
  1.2782 +3/24/97 (removed feature) Removed the tcl_safePolicyPath procedure. Now
  1.2783 +the policy path is computed from the auto_path by appending the directory
  1.2784 +'policies' to each element. Also fixed several bugs in automatic tracking
  1.2785 +of auto_path by computed policy path. (JL)
  1.2786 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 ***
  1.2787 +
  1.2788 +4/8/97 (new feature) If the variable whose name is passed to lappend doesn't
  1.2789 +already exist, and there are no value arguments, lappend now creates the
  1.2790 +variable with an empty value instead of returning an error. Change suggested
  1.2791 +by Tom Tromey. (BL)
  1.2792 +
  1.2793 +4/9/97 (feature change) Changed the name of the TCL_PART1_NOT_PARSED flag to
  1.2794 +TCL_PARSE_PART1. (BL)
  1.2795 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 ***
  1.2796 +
  1.2797 +4/10/97 (bug fixes) Fixed various compilation-related bugs:
  1.2798 +    - "UpdateStringOfCmdName should never be invoked" panic.
  1.2799 +    - Bad code generated for expressions not in {}'s inside catch commands.
  1.2800 +    - Segmentation fault in some command procedures when two argument
  1.2801 +      object pointers refer to the same object.
  1.2802 +    - Second level of substitutions were never done for expressions not
  1.2803 +      in {}'s that consist of a single variable reference: e.g.,
  1.2804 +      "set x 27; set bool {$x}; if $bool {puts foo}" would fail with error.
  1.2805 +    - Bad code generated when code storage was grown while compiling some
  1.2806 +      expressions: ones with compilation errors or consisting of only a
  1.2807 +      variable reference.
  1.2808 +    - Bugs involving multiple interpreters: wasn't checking that a
  1.2809 +      procedure's code was compiled for the same interpreter as the one
  1.2810 +      executing it, and didn't invalidate code on hidden-exposed command
  1.2811 +      transitions.
  1.2812 +    - "Bad stack top" panic when executing scripts that require a huge
  1.2813 +      amount of stack space.
  1.2814 +    - Incorrect sharing of code for procedure bodies, and procedure code
  1.2815 +      deallocated before last execution of the procedure finished.
  1.2816 +    - Fixed compilation of expression words in quotes. For example,
  1.2817 +      if "0 < 3" {puts foo}.
  1.2818 +    - Fixed performance bug in array set command with large assignments.
  1.2819 +    - Tcl_SetObjLength segmentation fault setting length of empty object.
  1.2820 +    - If Tcl_SetObjectResult was passed the same object as the interpreter's
  1.2821 +      result object, it freed the object instead of doing nothing. Bug fix
  1.2822 +      by Michael J. McLennan.
  1.2823 +    - Tcl_ListObjAppendList inserted elements from the wrong list. Bug fix
  1.2824 +      by Michael J. McLennan.
  1.2825 +    - Segmentation fault if empty variable list was specified in a foreach
  1.2826 +      command. Bug fix by Jan Nijtmans.
  1.2827 +    - NULL command name was always passed to Tcl_CreateTrace callback
  1.2828 +      procedure.
  1.2829 +    - Wrong string representation generated for the value LONG_MIN.
  1.2830 +      For example, expr 1<<31 printed incorrectly on a 32 bit machine.
  1.2831 +    - "set {a($x)} 1" stored value in wrong variable.
  1.2832 +    - Tcl_GetBooleanFromObj was not checking for garbage after a numeric
  1.2833 +      value.
  1.2834 +    - Garbled "bad operand type" error message when evaluating expressions
  1.2835 +      not surrounded by {}'s. (BL)
  1.2836 +
  1.2837 +4/16/97 (new feature) The expr command now has the "rand()" and
  1.2838 +"srand()" functions for getting random numbers in expr. (RJ)
  1.2839 +
  1.2840 +4/23/97 (bug fix) Fixed core dump in bgerror when the error handler command
  1.2841 +deletes the current interpreter. Found by Juergen Schoenwald. (JL)
  1.2842 +
  1.2843 +4/23/97 (feature change) The notifier interfaces have been redesigned
  1.2844 +to make embedding in applications with external event loops possible.
  1.2845 +A number of interfaces in the notifier and the channel drivers have
  1.2846 +changed.  Refer to the Notifier.3 and CrtChannel.3 manual entries for
  1.2847 +more details. (SS)
  1.2848 +*** POTENTIAL INCOMPATIBILITY ***
  1.2849 +
  1.2850 +4/23/97 (removed feature) The Tcl_File interfaces have been removed.
  1.2851 +The Tcl_CreateFileHandler/Tcl_DeleteFileHandler interfaces now take
  1.2852 +Unix fd's and are only supported on the Unix platform.
  1.2853 +Tcl_GetChannelFile has been replaced with Tcl_GetChannelHandle.
  1.2854 +Tcl_MakeFileChannel now takes a platform specific file handle. (SS)
  1.2855 +*** POTENTIAL INCOMPATIBILITY ***
  1.2856 +
  1.2857 +4/23/97 (removed feature) The modal timeout interface has been
  1.2858 +removed (Tcl_CreateModalTimeout/Tcl_DeleteModalTimeout) (SS)
  1.2859 +*** POTENTIAL INCOMPATIBILITY ***
  1.2860 +
  1.2861 +4/23/97 (feature change) Channel drivers are now required to correctly
  1.2862 +implement blocking behavior when they are in blocking mode. (SS)
  1.2863 +*** POTENTIAL INCOMPATIBILITY ***
  1.2864 +
  1.2865 +4/23/97 (new feature) Added the "binary" command for manipulating
  1.2866 +binary strings. Also, changed the "puts", "gets", and "read" commands
  1.2867 +to preserve embedded nulls.  (SS)
  1.2868 +
  1.2869 +4/23/97 (new feature) Added tcl_platform(byteOrder) element to the
  1.2870 +tcl_platform array to identify the native byte order for the current
  1.2871 +host. (SS)
  1.2872 +
  1.2873 +4/23/97 (bug fix) Fixed bug in date parsing around year boundaries. (SS)
  1.2874 +
  1.2875 +4/24/97 (bug fix) In the process of copying a file owned by another user,
  1.2876 +Tcl was changing the owner of the copy back to the owner of the original
  1.2877 +file, therefore causing further file operations to fail because the current
  1.2878 +user didn't own the copy anymore.  The owner of the copy is now left as the
  1.2879 +current user. (CCS)
  1.2880 +
  1.2881 +4/24/97 (feature change) Under Windows, don't automatically uppercase the
  1.2882 +environment variable "windir" -- it's supposed to be lower case.  (CCS)
  1.2883 +
  1.2884 +4/29/97 (new feature) Added namespace support based on a namespace
  1.2885 +implementation by Michael J. McLennan of Lucent Technologies. A namespace
  1.2886 +encapsulates a collection of commands and variables to ensure that they
  1.2887 +won't interfere the commands and variables of other namespaces. The global
  1.2888 +namespace holds all global variables and commands. Additional namespaces are
  1.2889 +created with the new namespace command. The new variable command lets you
  1.2890 +create Tcl variables inside a namespace. The names of Tcl variables and
  1.2891 +commands may now be qualified by the name of the namespace containing them.
  1.2892 +The key namespace-related commands are summarized below:
  1.2893 +    - namespace ?eval? name arg ?arg...?
  1.2894 +         Used to define the commands and variables in a namespace.
  1.2895 +         Optionally creates the namespace.
  1.2896 +    - namespace export ?-clear? ?pattern pattern...?
  1.2897 +         Specifies which commands are exported from a namespace. These
  1.2898 +         are the ones that can be imported into another namespace.
  1.2899 +    - namespace import ?-force? ?pattern pattern...?
  1.2900 +         Makes the specified commands accessible in the current namespace.
  1.2901 +    - namespace current
  1.2902 +         Returns the name of the current namespace.
  1.2903 +    - variable name ?value? ?name ?value?...?
  1.2904 +         Creates one or more namespace variables. (BTL)
  1.2905 +
  1.2906 +5/1/97 (bug fix) Under Windows, file times were reported in GMT.  Should be
  1.2907 +reported in local time. (CCS)
  1.2908 +
  1.2909 +5/2/97 (feature change) Changed the name of the two Tcl variables used for
  1.2910 +tracing bytecode compilation and execution to tcl_traceCompile and
  1.2911 +tcl_traceExec respectively. These variables are now documented in the
  1.2912 +tclvars man page. (BL)
  1.2913 +
  1.2914 +5/5/97 (new feature) Support "end" as the index for "lsort -index". (BW)
  1.2915 +
  1.2916 +5/5/97 (bug fixes) Cleaned up the way the http package resets connections (BW)
  1.2917 +
  1.2918 +5/8/97 (feature change) Newly created Tcl objects now have a reference count
  1.2919 +of zero instead of one. This simplifies C code that stores newly created
  1.2920 +objects in Tcl variables or in data structures such as list objects. That C
  1.2921 +code must increment the new object's reference count since the variable or
  1.2922 +data structure will contain a long-term reference to the object. Formerly,
  1.2923 +when new objects started out with reference count one, it was necessary to
  1.2924 +decrement the new object's reference count after the store to make sure it
  1.2925 +was left with the correct value; this is no longer necessary. (BL)
  1.2926 +
  1.2927 +5/9/97 (new feature) Added the Tcl_GetsObj interface that takes an
  1.2928 +object reference instead of a dynamic string (as in Tcl_Gets). (SS)
  1.2929 +
  1.2930 +5/12/97 (new feature) Added Tcl_CreateAliasObj and Tcl_GetAliasObj C APIs
  1.2931 +to allow an alias command to be created with a vector of Tcl_Obj structures
  1.2932 +and to get the vector back later. (JL)
  1.2933 +
  1.2934 +5/12/97 (feature change) Changed Tcl_ExposeCommand and Tcl_HideCommand to
  1.2935 +leave an object result instead of a string result. (JL)
  1.2936 +
  1.2937 +5/14/97 (feature change) Improved the handling of the interpreter result.
  1.2938 +This is still either an object or a string, but the two values are now kept
  1.2939 +consistent unless some C code reads or writes interp->result directly. See
  1.2940 +the SetResult man page for details. Removed the Tcl_ResetObjResult
  1.2941 +procedure. (BL)
  1.2942 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 ***
  1.2943 +
  1.2944 +5/16/97 (new feature) Added "fcopy" command to move data between
  1.2945 +channels.  Refer to the manual page for more information.  Removed the
  1.2946 +"unsupported0" command since it is obsolete now.  (SS)
  1.2947 +
  1.2948 +5/16/97 (new feature) Added Tcl_GetStringResult procedure to allow programs
  1.2949 +to get an interpreter's result as a string. If the result was previously set
  1.2950 +to an object, this procedure will convert the object to a string. Use of
  1.2951 +Tcl_GetStringResult is intended to replace direct access to interp->result,
  1.2952 +which is not safe. (BL)
  1.2953 +
  1.2954 +5/20/97 (new features) Fixed "fcopy" to return the number of bytes
  1.2955 +transferred in the blocking case.  Updated the http package to use
  1.2956 +fcopy instead of unsupported0.  Added -timeout and -handler options to
  1.2957 +http_get.  http_get is now blocking by default.  It is only non-blocking
  1.2958 +if you supply a -command argument. (BW)
  1.2959 +
  1.2960 +5/22/97 (bug fix) Fixed several bugs in the "lsort" command having to do
  1.2961 +with the -dictionary option and the presence of numbers embedded in the
  1.2962 +strings.  (JO)
  1.2963 +
  1.2964 +----------------- Released 8.0b1, 5/27/97 -----------------------
  1.2965 +
  1.2966 +6/2/97 (bug fix) Fixed bug in startup code that caused a problem in
  1.2967 +finding the library files when they are installed in a directory
  1.2968 +containing a space in the name. (SS)
  1.2969 +
  1.2970 +6/2/97 (bug fix) Fixed bug in Unix notifier where the select mask was
  1.2971 +not being cleared under some circumstances. (SS)
  1.2972 +
  1.2973 +6/4/97 (bug fix) Fixed bug that prevented creation of Tk widgets in
  1.2974 +namespaces. Tcl_CreateObjCommand and Tcl_CreateCommand now always create
  1.2975 +commands in the global namespace unless the command names are qualified. Tcl
  1.2976 +procedures continue to be created in the current namespace by default. (BL)
  1.2977 +
  1.2978 +6/6/97 (new features) Added new namespace API procedures
  1.2979 +Tcl_AppendExportList and Tcl_Export to allow C code to get and set a
  1.2980 +namespace's export list. (BL)
  1.2981 +
  1.2982 +6/11/97 (new feature) Added Tcl_ConcatObj. This object-based routine
  1.2983 +parallels the string-based routine Tcl_Concat. (SRP)
  1.2984 +
  1.2985 +6/11/97 (new feature) Added Tcl_SetObjErrorCode. This object-based
  1.2986 +routines parallels the string-based routine Tcl_SetErrorCode. (SRP)
  1.2987 +
  1.2988 +6/12/97 (bug fix) Fix the "unknown" procedure so that wish under Windows
  1.2989 +will exec an external program, instead of always complaining "console1 not
  1.2990 +opened for writing". (CCS)
  1.2991 +
  1.2992 +6/12/97 (bug fix) Fixed core dump experienced by the following simple
  1.2993 +script:
  1.2994 +	interp create x
  1.2995 +	x alias exec exec
  1.2996 +	interp delete x
  1.2997 +This panic was caused by not installing the new CmdDeleteProc when exec
  1.2998 +got redefined by the alias creation step. Reported by Lindsay Marshal (JL)
  1.2999 +
  1.3000 +6/13/97 (new features) Tcl objects newly created by Tcl_NewObj now have a
  1.3001 +string representation that points to a shared heap string of length 1. (They
  1.3002 +used to have NULL bytes and typePtr fields. This was treated as a special
  1.3003 +case to indicate an empty string, but made type manager implementations
  1.3004 +complex and error prone.) The new procedure Tcl_InvalidateStringRep is used
  1.3005 +to mark an object's string representation invalid and to free any storage
  1.3006 +associated with the old string representation. (BL)
  1.3007 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 ***
  1.3008 +
  1.3009 +6/16/97 (bug fix) Tcl_ScanCountedElement could leave braces unmatched
  1.3010 +if the string ended with a backslash. (JO)
  1.3011 +
  1.3012 +6/17/97 (bug fix) Fixed channel event bug where readable events would be
  1.3013 +lost during recursive events loops if the input buffers contained
  1.3014 +data. (SS)
  1.3015 +
  1.3016 +6/17/97 (bug fix) Fixed bug in Windows socket code that didn't
  1.3017 +reenable read events in the case where an external entity is also
  1.3018 +reading from the socket. (SS)
  1.3019 +
  1.3020 +6/18/97 (bug fix) Changed initial setting of the notifier service mode
  1.3021 +to TCL_SERVICE_NONE to avoid unexpected event handling during
  1.3022 +initialization. (SS)
  1.3023 +
  1.3024 +6/19/97 (bug fix/feature change) The command callback to fcopy is now
  1.3025 +called in case of errors during the background copy.  This adds a second,
  1.3026 +optional argument to the callback that is the error string.  The callback
  1.3027 +in case of errors is required for proper cleanup by the user of fcopy. (BW)
  1.3028 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
  1.3029 +
  1.3030 +6/19/97 (bug fix) Fixed a panic due to the following four line script:
  1.3031 +	interp create x
  1.3032 +	x alias foo bar
  1.3033 +	x eval rename foo blotz
  1.3034 +	x alias foo {}
  1.3035 +The problem was that the interp code was not using the actual current name
  1.3036 +of the command to be deleted as a result of un-aliasing foo. (JL)
  1.3037 +
  1.3038 +6/19/97 (feature change) Pass interp down to the ChannelOption and
  1.3039 +driver specific calls so system errors can be differentiated from syntax
  1.3040 +ones. Changed Tcl_DriverGetOptionProc type. Affects Tcl_GetChannelOption,
  1.3041 +TcpGetOptionProc,  TtyGetOptionProc, etc. (DL)
  1.3042 +*** POTENTIAL INCOMPATIBILITY ***
  1.3043 +
  1.3044 +6/19/97 (new feature) Added Tcl_BadChannelOption for use by by driver
  1.3045 +specific option procedures (Set and Get) to return a complete and
  1.3046 +meaningful error message. (DL)
  1.3047 +
  1.3048 +6/19/97 (bug fixes) If a system call error occurs while doing an
  1.3049 +fconfigure on tcp or tty/com channel: return the appropriate error
  1.3050 +message (instead of the syntax error one or none). (Fixed for Unix and
  1.3051 +most of the Win and Mac drivers). (DL)
  1.3052 +
  1.3053 +6/20/97 (feature change) Eval is no longer assumed as the subcommand name
  1.3054 +in namespace commands: you must now write "namespace eval nsName {...}".
  1.3055 +Abbreviations of namespace subcommand names are now allowed. (BL)
  1.3056 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 ***
  1.3057 +
  1.3058 +6/20/97 (feature change) Changed the errorInfo traceback message for
  1.3059 +compilation errors from "invoked from within" to "while compiling". (BL)
  1.3060 +
  1.3061 +6/20/97 (bug fixes) Fixed various compilation-related bugs:
  1.3062 +    - "UpdateStringOfCmdName should never be called" and
  1.3063 +      "UpdateStringOfByteCode should never be called" panics.
  1.3064 +    - Segfault in TclObjInterpProc getting procedure name after evaluation
  1.3065 +      stack is reallocated (grown).
  1.3066 +    - Could not use ":" at end of variable and command names.
  1.3067 +    - Bad code generated for while and for commands with test expressions
  1.3068 +      enclosed in quotes: e.g., "set i 0; while "$i > 5" {}".
  1.3069 +    - Command trace procedures would crash if they did a Tcl_EvalObj that
  1.3070 +      reallocated the evaluation stack.
  1.3071 +    - Break and continue commands did not reset the interpreter result.
  1.3072 +    - The Tcl_ExprXXX routines, both string- or object-based, always
  1.3073 +      modified the interpreter result even if there was no error.
  1.3074 +    - The argument parsing procedure used by several compile procedures
  1.3075 +      always treated "]" as end of a command: e.g., "set a ]" would fail.
  1.3076 +    - Changed errorInfo traceback message for compilation errors from 
  1.3077 +      "invoked from within" to "while compiling".
  1.3078 +    - Problem initializing Tcl object managers during interpreter creation.
  1.3079 +    - Added check and error message if formal parameter to a procedure is
  1.3080 +      an array element. (BL)
  1.3081 +
  1.3082 +6/23/97 (new feature) Added "registry" package to allow manipulation
  1.3083 +of the Windows system registry.  See manual entry for details. (SS)
  1.3084 +
  1.3085 +6/24/97 (feature change) Converted http to a package and added the
  1.3086 +http1.0 subdirectory of the Tcl script library.  This means you have
  1.3087 +to do a "package require http" to use this, as advertised in the man page. (BW)
  1.3088 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
  1.3089 +
  1.3090 +6/24/97 (bug fix) Ensure that Tcl_Set/GetVar C APIs, when called without
  1.3091 +TCL_LEAVE_ERR_MSG, don't touch the interp result. (DL)
  1.3092 +
  1.3093 +6/26/97 (feature change) Changed name of Tcl_ExprStringObj to
  1.3094 +Tcl_ExprObj. (BL)
  1.3095 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
  1.3096 +
  1.3097 +----------------- Released 8.0b2, 6/30/97 -----------------------
  1.3098 +
  1.3099 +7/1/97 (new feature) TCL_BUILD_SHARED flag set in tclConfig.sh
  1.3100 +when Tcl has been built with --enable-shared. A new tclLibObjs
  1.3101 +make target, echoing the list of the .o's needed to build a tcl
  1.3102 +library, is now provided. (DL)
  1.3103 +
  1.3104 +7/1/97 (feature change) compat/getcwd.c removed and changed the
  1.3105 +only place where getcwd is used so a new USEGETWD flag selects
  1.3106 +the use of the replacement "getwd". Adding this flag is recommended
  1.3107 +for SunOS 4 (because getcwd on SunOS 4 uses a pipe to pwd(1)!). (DL)
  1.3108 +
  1.3109 +7/7/97 (feature change) The split command now supports binary data (i.e.,
  1.3110 +null characters in strings). (BL)
  1.3111 +
  1.3112 +7/7/97 (bug fix) string first returned the wrong result if the first
  1.3113 +argument string was empty. (BL)
  1.3114 +
  1.3115 +7/8/97 (bug fix) Fixed core dump in fcopy that could occur when a command
  1.3116 +callback was supplied and an error or eof condition caused no background
  1.3117 +activity.  A refcount bug triggered a panic in Tcl_ListObjAppendElement. (BW)
  1.3118 +
  1.3119 +7/8/97 (bug fix) Relaxed the pattern matching on http_get so you do not
  1.3120 +need a trailing path component.  You can now get away with just
  1.3121 +http_get www.scriptics.com					(BW)
  1.3122 +
  1.3123 +7/9/97 (bug fix) Creating anonymous interpreters no longer smashes existing
  1.3124 +commands with names similar to the generated name. Previously creating an
  1.3125 +anonymous interpreter could smash an existing command, now it skips until
  1.3126 +it finds a command name that isn't being used. (JL)
  1.3127 +
  1.3128 +7/9/97 (feature change) Removed the policy management mechanism from the
  1.3129 +Safe Base; left the aliases to source and load modules, and to do a limited
  1.3130 +form of the "file" command. See entry of 11/15/96. (JL)
  1.3131 +
  1.3132 +7/9/97 (bug fixes) Fixed various compilation-related bugs:
  1.3133 +    - Line numbers in errorInfo now are the same as those in Tcl7.6 unless
  1.3134 +there are compilation errors. Compilation error messages now include the
  1.3135 +entire command in error.
  1.3136 +    - Trailing ::s after namespace names weren't being ignored.
  1.3137 +    - Could not refer to an namespace variable with an empty name using a
  1.3138 +name of the form "n::". (BL)
  1.3139 +
  1.3140 +7/9/97 (bug fix) Fixed bug in Tcl_Export that prevented you from exporting
  1.3141 +from other than the current namespace. (BL)
  1.3142 +
  1.3143 +7/9/97 (bug fix) env.test was removing env var needed for proper finding
  1.3144 +of libraries in child process. (DL)
  1.3145 +
  1.3146 +7/10/97 (bug fixes/new feature) Cleanup in Tcl_MakeSafe. Less information
  1.3147 +is leaked to safe interps. Error message fixes for interp sub commands.
  1.3148 +Likewise changes in safealias.tcl; tcl_safeCreateInterp can now be called
  1.3149 +without argument to generate the slave name (like in interp create). (DL)
  1.3150 +
  1.3151 +7/10/97 (bug fixes) Bytecode compiler now generates more detailed 
  1.3152 +command location information: subcommands as well as commands now have
  1.3153 +location information. This means command trace procedures now get the
  1.3154 +correct source string for each command in their command parameter. (BL)
  1.3155 +
  1.3156 +7/22/97 (bug fixes) Performance improvement in Safe interpreters
  1.3157 +handling. Added new mask value to (tclInt.h) Interp.flags record. (DL)
  1.3158 +
  1.3159 +7/22/97 (bug fix) Fixed panic in 'interp target {} foo'. This bug
  1.3160 +was present since Tcl 7.6. (JL)
  1.3161 +
  1.3162 +7/22/97 (bug fix) Fixed bug in compilation of procedures in namespaces: the
  1.3163 +procedure's namespace must be used to look up compile procedures, not the
  1.3164 +current namespace. (BL)
  1.3165 +
  1.3166 +7/22/97 (bug fix) Use of the -channel option of http_get was not setting
  1.3167 +the end of line translations mode on the channel, so copying binary data
  1.3168 +with the -channel option was corrupting the result on non-unix platforms. (BW)
  1.3169 +
  1.3170 +7/22/97 (bug fixes) file commands and ~user (seg fault and other
  1.3171 +improper returns). (DL)
  1.3172 +
  1.3173 +7/23/97 (feature change) Reenabled "vwait" in Safe Base. (JL)
  1.3174 +
  1.3175 +7/23/97 (bug fixes) Fixed two bugs involving read traces on array variables
  1.3176 +in procedures: trace procedures were sometimes not called, and reading
  1.3177 +nonexistant array elements didn't create undefined element variables that
  1.3178 +could later be defined by trace procedures. (BL)
  1.3179 +
  1.3180 +7/24/97 (bug fix) Windows memory allocation performance was
  1.3181 +superlinear in some cases.  Made the Mac allocator generic and changed
  1.3182 +both the Mac and Windows platforms to use the new allocator instead of
  1.3183 +malloc and free. (SS)
  1.3184 +
  1.3185 +7/24/97 - 8/12/97 (bug fixes/change of features) Completely revamped safe
  1.3186 +sourcing/loading (see safe.n) to hide pathnames, use virtual
  1.3187 +paths tokens instead, improved security in several respects and made it
  1.3188 +more tunable. Multi level interp loading can work too now. Package auto
  1.3189 +loading now works in safe interps as long as the package directory is in 
  1.3190 +the auto_path (no deep crawling allowed in safe interps). (DL)
  1.3191 +*** POTENTIAL INCOMPATIBILITY with previous alpha and beta releases ***
  1.3192 +
  1.3193 +7/24/97 (bug fixes) Made Tcl_SetVar* and Tcl_NewString* treat a NULL value
  1.3194 +as an empty string. (This fixes hairy crash case where you would crash
  1.3195 +because load command for other interps assumed presence of
  1.3196 +errorInfo...). (DL)
  1.3197 +
  1.3198 +7/28/97 (bug fix) Fixed pkg_mkIndex to understand namespaces.  It will
  1.3199 +use the export list of a namespace and create auto_index entries for
  1.3200 +all export commands.  Those names are in their fully qualified form in the
  1.3201 +auto_index.  Therefore, I tweaked unknown to try both $cmd and ::$cmd.
  1.3202 +Also fixed pkg_mkIndex so you can have "package require" commands inside
  1.3203 +your packages.  These commands are ignored, which is mostly ok except
  1.3204 +when you must load another package before loading yours because of
  1.3205 +linking dependencies. (BW)
  1.3206 +
  1.3207 +7/28/97 (bug fix) A variable created by the variable command now persists
  1.3208 +until the namespace is destroyed or the variable is unset. This is true even
  1.3209 +if the variable has not been initialized; these variables used to be
  1.3210 +destroyed if an error occurred when accessing them. In addition, the "info
  1.3211 +vars" command lists uninitialized namespace variables, while the "info
  1.3212 +exists" command returns 0 for them. (BL)
  1.3213 +
  1.3214 +7/29/97 (feature change)  Changed the http package to use the ::http
  1.3215 +namespace. http_get renamed to http::geturl, http_config renamed to
  1.3216 +http::config, http_formatQuery renamed to http::formatQuery.
  1.3217 +It now provides the 2.0 version of the package.  
  1.3218 +The 1.0 version is still available with the old names.
  1.3219 +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b2 but not with Tcl 7.6 ***
  1.3220 +
  1.3221 +7/29/97 (bug fix, new feature) Tcl_Main now uses Tcl objects internally to
  1.3222 +preserve NULLs in commands and command output. Added new API procedure
  1.3223 +Tcl_RecordAndEvalObj that resembles Tcl_RecordAndEval but takes an object
  1.3224 +containing a command. (BL)
  1.3225 +
  1.3226 +7/30/97 (bug fix) Tcl freed strings in the environ array even if it
  1.3227 +did not allocate them. (SS)
  1.3228 +
  1.3229 +7/30/97 (bug fix) If a procedure is renamed into a different namespace, it
  1.3230 +now executes in the context of that namespace. (BL)
  1.3231 +
  1.3232 +7/30/97 (bug fix) Prevent renaming of commands into and from namespaces as
  1.3233 +part of hiding them. (JL)
  1.3234 +
  1.3235 +7/31/97 (feature change) Moved the history command from C to tcl.
  1.3236 +This uses the ::history namespace.  The "words" and "substitute" options
  1.3237 +are no longer supported.  In addition, the "keep" option without a value
  1.3238 +returns the current keep limit.  There is a new "clear" option.
  1.3239 +The unknown command now supports !! again. (BW)
  1.3240 +*** POTENTIAL INCOMPATIBILTY  ***
  1.3241 +
  1.3242 +7/30/97 (bug fix) Made sure that a slave can not fool the master into
  1.3243 +hiding the wrong command. Made sure we don't crash in hiding + namespaces
  1.3244 +issues. (DL)
  1.3245 +
  1.3246 +8/4/97 (bug fix) Concat, eval, uplevel, and similar commands were
  1.3247 +incorrectly trimming trailing space characters from their arguments
  1.3248 +even when the space characters were preceded by a backslash. (JO)
  1.3249 +
  1.3250 +8/4/97 (bug fix) Removed the hard link between bgerror and tkerror.
  1.3251 +Only bgerror is supported in tcl core. Tk will still look for a
  1.3252 +tkerror but using regular tcl code for that feature. (DL)
  1.3253 +*** POTENTIAL INCOMPATIBILTY with code relying on the hard link ***
  1.3254 +
  1.3255 +8/6/97 (bug fix) Reduced size required for compiled bytecodes by using a
  1.3256 +more compact encoding for the command pc-to-source map. (BL)
  1.3257 +
  1.3258 +8/6/97 (new feature) Added support for additional compilation and execution
  1.3259 +statistics when Tcl is compiled with the TCL_COMPILE_STATS flag. (BL)
  1.3260 +
  1.3261 +8/7/97 (bug fix) Expressions not in {}s that have a comparison operator as
  1.3262 +the topmost operator must be compiled out-of-line (call the expr cmd at
  1.3263 +runtime) to properly support expr's two-level substitution semantics. An
  1.3264 +example is "set a 2; set b {$a}; puts [expr $b == 2]". (BL)
  1.3265 +
  1.3266 +8/11/97 (bug fix) The catch command would sometimes crash if a variable name
  1.3267 +was given and the bytecode evaluation stack was grown when executing the
  1.3268 +argument script. (BL)
  1.3269 +
  1.3270 +8/12/97 (feature change) Reinstated the variable tcl_precision to control
  1.3271 +the number of digits used when floating-point values are converted to
  1.3272 +strings, with default of 12 digits.  However, had to make tcl_precision
  1.3273 +shared among all interpreters (except that safe interpreters can't
  1.3274 +modify it).  This makes the Tcl 8.0 behavior almost identical to 7.6
  1.3275 +except that the default precision is 12 instead of 6. (JO)
  1.3276 +*** POTENTIAL INCOMPATIBILITY ***
  1.3277 +
  1.3278 +----------------- Released 8.0, 8/18/97 -----------------------
  1.3279 +
  1.3280 +8/19/97 (bug fix) Minimal fix for glob -nocomplain bugs:
  1.3281 +"glob -nocomplain unreadableDir/*" was generating an anonymous 
  1.3282 +error. More in depth fixes will come with 8.1. (DL).
  1.3283 +
  1.3284 +8/20/97 (bug fix) Removed check for FLT_MIN in binary command so
  1.3285 +underflow conditions are handled by the compiler automatic
  1.3286 +conversions. (SS)
  1.3287 +
  1.3288 +8/20/97 (bug fixes) Fixed several compilation-related bugs:
  1.3289 +    - Array cmd wasn't detecting arrays that, while compiled, do not yet
  1.3290 +      exist (e.g., are marked undefined since they haven't been assigned
  1.3291 +      to yet).
  1.3292 +    - The GetToken procedure in tclCompExpr.c wasn't recognizing properly
  1.3293 +      whether an integer token was invalid. For example, "0x$" is not
  1.3294 +      a valid integer.
  1.3295 +    - Performance bug in TclExecuteByteCode: the size of its stack frame
  1.3296 +      was reduced by over 20% by moving errorInfo code elsewhere.
  1.3297 +    - Uninitialized memory read error in tclCompile.c. (BL)
  1.3298 +
  1.3299 +8/21/97 (bug fix) safe::interpConfigure now behave like Tk widget's
  1.3300 +configure : it changes only the options you provide and you can get
  1.3301 +the current value of any single option. New ?-nested boolean? and
  1.3302 +?-statics boolean? for all safe::interp* commands but we still
  1.3303 +accept (upward compatibility) the previously defined non valued
  1.3304 +flags ?-noStatics? and ?-nestedLoadOk?. Improved the documentation. (DL).
  1.3305 +
  1.3306 +8/22/97 (bug fix) Updated PrintDbl.3 to reflect the fact that the
  1.3307 +tcl_precision variable is still used and that it is now shared by all
  1.3308 +interpreters. (BL)
  1.3309 +
  1.3310 +8/25/97 (bug fix) Fixed array access bug in IllegalExprOperandType
  1.3311 +procedure in tclExecute.c: it was not properly supporting the || and &&
  1.3312 +operators. (BL)
  1.3313 +
  1.3314 +8/27/97 (bug fix) In cases where a channel handler was created with an
  1.3315 +empty event mask while data was still buffered in the channel, the
  1.3316 +channel code would get stuck spinning on a timer that would starve
  1.3317 +idle handlers.  This mostly happened in Tk when reading from stdin. (SS)
  1.3318 +
  1.3319 +9/4/97 (bug fix) Slave interps now inherit the maximum recursion limit
  1.3320 +of their parent instead of starting back at the default. {nb: this still
  1.3321 +does not prevent stack overflow by multi-interps recursion or aliasing} (DL)
  1.3322 +
  1.3323 +9/11/97 (bug fix) An uninitialized variable in Tcl_WaitPid caused
  1.3324 +pipes to fail to report eof properly under Windows. (SS)
  1.3325 +
  1.3326 +9/12/97 (bug fix) "exec" was misidentifying some DOS executables as not 
  1.3327 +executable. (CCS)
  1.3328 +
  1.3329 +9/14/97 (bug fix) Was using the wrong structure in sizeof operation in
  1.3330 +tclUnixChan.c. (JL)
  1.3331 +
  1.3332 +9/15/97 (bug fix) Fixed notifier to break out of do-one-event loop if
  1.3333 +Tcl_WaitForEvent returns 1, so that callers of Tcl_DoOneEvent will get
  1.3334 +a chance to check whether the event just handled is significant. This
  1.3335 +affected mainly recursive calls to Tcl_VWaitCmd; these did not get a
  1.3336 +chance to notice that the variable they were waiting for has been set
  1.3337 +and thus they didn't terminate the vwait. (JL, DL, SS)
  1.3338 +
  1.3339 +9/15/97 (bug fix) Alignment problems in "binary format" would cause a
  1.3340 +crash on some platforms when formatting floating point numbers. (SS)
  1.3341 +
  1.3342 +9/15/97 (bug fix) Fixed bug in Macintosh socket code.  Now passes all
  1.3343 +tests in socket.test that are not platform specific. (Thanks to Mark
  1.3344 +Roseman for the pointer on the fix.)  (RJ)
  1.3345 +
  1.3346 +9/18/97 (bug fix) Fixed bug -dictionary option of lsort that could
  1.3347 +cause the compare function to run off the end of an array if the
  1.3348 +number only contained 0's. (Thanks to Greg Couch for the report.) (RJ)
  1.3349 +
  1.3350 +9/18/97 (bug fix) TclFinalizeEnvironment was not cleaning up 
  1.3351 +properly. (DL, JI)
  1.3352 +
  1.3353 +9/18/97 (bug fix) Fixed long-standing bug where an "array get" command
  1.3354 +did not trigger traces on the array or its elements. (BL)
  1.3355 +
  1.3356 +9/18/97 (bug fixes) Fixed compilation-related bugs:
  1.3357 +    - Fixed errorInfo traceback information for toplevel coomands that
  1.3358 +      contain nested commands.
  1.3359 +    - In the expr command, && and || now accept boolean operands as well
  1.3360 +      as numeric ones. (BL)
  1.3361 +
  1.3362 +9/22/97 (bug fix) Fixed bug that prevented translation modes from being
  1.3363 +set independently for input and output on sockets if input was "auto". (JL)
  1.3364 +
  1.3365 +9/24/97 (bug fix) Tcl_EvalFile(3) and thus source(n) now works fine on
  1.3366 +files containing NUL chars. (DL)
  1.3367 +
  1.3368 +9/26/97 (bug fix) Fixed use of uninitialized memory in the environ array
  1.3369 +that later could cause random core dumps. Applies to all platforms. (JL)
  1.3370 +
  1.3371 +9/26/97 (bug fix) Fixed use of uninitialized memory in socket address data
  1.3372 +structure under some circumstances. This could cause random core dumps.
  1.3373 +This applies only to Unix. (JL)
  1.3374 +
  1.3375 +9/26/97 (bug fix) Opening files on PC-NFS volumes would cause a hang
  1.3376 +until the system timed after the file was closed. (SS)
  1.3377 +
  1.3378 +10/6/97 (bug fix) The join(n) command, though objectified, was loosing
  1.3379 +NULs in the joinString and in list elements after the 2nd one.
  1.3380 +Now you can "join $list \0" for instance. (DL)
  1.3381 +
  1.3382 +10/9/97 (bug fix) Under windows, if env(TMP) or env(TEMP) referred to a
  1.3383 +non-existent directory, exec would fail when trying to create its temporary
  1.3384 +files. (CCS)
  1.3385 +
  1.3386 +10/9/97 (bug fix) Under mac and windows, "info hostname" would crash if 
  1.3387 +sockets were installed but the hostname could not be determined anyhow.
  1.3388 +Tcl_GetHostName() was returning NULL when it should have been returning 
  1.3389 +an empty string. (CCS)
  1.3390 +
  1.3391 +10/10/97 (bug fix) "file attribute /" returned error on windows. (CCS)
  1.3392 +
  1.3393 +10/10/97 (bug fix) Fixed the auto_load procedure to handle procedures
  1.3394 +defined in namespaces better.  Also fixed pgk_mkIndex so it sees procedures
  1.3395 +defined in nested namespaces.  Index entries are still only made for
  1.3396 +exported procedures. (BW)
  1.3397 +
  1.3398 +10/13/97 (bug fix) On unix, for files with unknown group or owner
  1.3399 +attributes, querying the "file attributes" would return an error rather than
  1.3400 +returning the group's or owner's id number, although tha command accepts
  1.3401 +numbers when setting the file's group or owner.  (CCS)
  1.3402 +
  1.3403 +10/22/97 (bug fix) "fcopy" did not eval the callback script at the
  1.3404 +global scope. (SS)
  1.3405 +
  1.3406 +10/22/97 (bug fix) Fixed the signature of the CopyDone callback used in
  1.3407 +the http package(s) so they can handle error cases properly. (BW)
  1.3408 +
  1.3409 +10/28/97 (bug fixes) Fixed a problem where lappend would free the Tcl object
  1.3410 +in a variable if a Tcl_ObjSetVar2 failed because of an error calling a trace
  1.3411 +on the variable. (BL)
  1.3412 +
  1.3413 +10/28/97 (bug fix) Changed binary scan to properly handle sign
  1.3414 +extension of integers on 64-bit or larger machines. (SS)
  1.3415 +
  1.3416 +11/3/97 (bug fixes) Fixed several bugs:
  1.3417 +    - expressions such as "expr ($x)" must be compiled out-of-line
  1.3418 +      (call the expr command procedure at runtime) to ensure the correct
  1.3419 +      behavior when "$x" is an expression such as "5+10".
  1.3420 +    - "array set a {}" now creates a new array var with an empty array
  1.3421 +      value if the var didn't already exist.
  1.3422 +    - "lreplace $foo end end" no longer returns an error (just an empty
  1.3423 +      list) if foo is empty.
  1.3424 +    - upvar will no longer create a variable in a namespace that refers
  1.3425 +      to a variable in a procedure.
  1.3426 +    - deleting a command trace within a command trace callback would
  1.3427 +      make the code that calls traces to reference freed memory.
  1.3428 +    - significantly sped up "string first" and "string last" (fix from
  1.3429 +      darrel@gemstone.com).
  1.3430 +    - seg fault in Tcl_NewStringObj() when a NULL is passed as the byte
  1.3431 +      pointer argument and Tcl is compiled with -DTCL_MEM_DEBUG.
  1.3432 +    - documentation and error msg fixes. (BL)
  1.3433 +
  1.3434 +11/3/97 (bug fix) Fixed a number of I/O bugs related to word sizes on
  1.3435 +64-bit machines. (SS)
  1.3436 +
  1.3437 +11/6/97 (bug fix) The exit code of the first process created by Tcl
  1.3438 +on Windows was not properly reported due to an initialization
  1.3439 +problem. (SS)
  1.3440 +
  1.3441 +----------------- Released 8.0p1, 11/7/97 -----------------------
  1.3442 +
  1.3443 +11/19/97 (bug fix) Fixed bug in linsert where it sometimes accidently
  1.3444 +cleared out a shared argument list object. (BL).
  1.3445 +
  1.3446 +11/19/97 (bug fix) Autoloading in namespaces was not working properly.
  1.3447 +auto_mkindex is still not really namespace aware but most common
  1.3448 +cases should now be handled properly (see init.test). (BW, DL)
  1.3449 +
  1.3450 +11/20/97 (enhancement) Made the changes required by the new Apple
  1.3451 +Universal Headers V.3.0, so that Tcl will compile with CW Pro 2.
  1.3452 +
  1.3453 +11/24/97 (bug fix) Fixed tests in clock test suite that needed the
  1.3454 +-gmt flag set.  Thanks to Jan Nijtmans for reporting the problem. (RJ)
  1.3455 +
  1.3456 +----------------- Released 8.0p2, 11/25/97 -----------------------
  1.3457 +
  1.3458 +12/3/97 (bug fix/optimization) Removed uneeded and potentially dangerous
  1.3459 +instances of double evaluations if "if" and "expr" statements from
  1.3460 +the library files. It is recommended that unless you need a double
  1.3461 +evaluation you always use "expr {...}" instead of "expr ..." and
  1.3462 +"if {...} ..." instead of "if ... ...". It will also be faster
  1.3463 +thanks to the byte compiler. (DL)
  1.3464 +
  1.3465 +---- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ----
  1.3466 +
  1.3467 +12/8/97 (bug fix) Need to protect the newly accepted channel in an
  1.3468 +accept callback on a socket, otherwise the callback may close it and
  1.3469 +cause an error, which would cause the C code to attempt to close the
  1.3470 +now deleted channel. Bumping the refcount assures that the channel sticks
  1.3471 +around to be really closed in this case. (JL)
  1.3472 +
  1.3473 +12/8/97 (bug fix) Need to protect the channel in a fileevent so that it
  1.3474 +is not deleted before the fileevent handler returns. (CS, JL)
  1.3475 +
  1.3476 +12/18/97 (bug fix) In the opt argument parsing package: if the description 
  1.3477 +had only flags, the "too many arguments" case was not detected. The default
  1.3478 +value was not used for the special "args" ending argument. (DL)
  1.3479 +
  1.3480 +1/15/98 (improvement) Moved common part of initScript in common file.
  1.3481 +Moved windows specific initialization to init.tcl so you can initialize
  1.3482 +Tcl in windows without having to call Tcl_Init which is now only
  1.3483 +searching for init.tcl {back ported from 8.1}. (DL)
  1.3484 +
  1.3485 +---- Shipped as part of the plugin as 8.0p2Plugin2, Jan 15th 98 ----
  1.3486 +
  1.3487 +5/27/98 (bug fix) Windows socket driver did not notice new data arriving
  1.3488 +on nonblocking sockets until the event loop was entered. (SS)
  1.3489 +
  1.3490 +5/27/98 (bug fix) Windows socket driver used FIONREAD, which is not
  1.3491 +supported correctly by WinSock. (SS)
  1.3492 +
  1.3493 +6/9/98 (bug fix) Generic channel code failed to report readable file
  1.3494 +events on buffered data that was left behind by a gets or read that
  1.3495 +did not consume all available data. (SS)
  1.3496 +
  1.3497 +6/18/98 (bug fix) Compilation of loop expressions was too aggressive
  1.3498 +and incorrectly inlined non-literal expressions. (SS)
  1.3499 +
  1.3500 +6/18/98 (bug fix) "info var" and "info locals" incorrectly reported
  1.3501 +the existence of compiler temporary variables. (SS)
  1.3502 +
  1.3503 +6/18/98 (bug fix) Dictionary sorting used signed character
  1.3504 +comparisons. (SS)
  1.3505 +
  1.3506 +6/18/98 (bug fix) Compile procs corrupted the exception stack in some
  1.3507 +cases. (SS)
  1.3508 +
  1.3509 +6/18/98 (bug fix) Array set had erratic behavior when initializing a
  1.3510 +variable from an empty value list. (SS)
  1.3511 +
  1.3512 +6/18/98 (bug fix) The Windows registry package had a bad bounds check
  1.3513 +that could lead to a crash. (SS)
  1.3514 +
  1.3515 +6/18/98 (bug fix) The foreach compile proc did not correctly handle
  1.3516 +non-local variable references. (SS)
  1.3517 +
  1.3518 +6/25/98 (new features) Added name resolution hooks to support [incr Tcl].
  1.3519 +There are new internal Tcl_*Resolver* APIs to add, query and remove the hooks. 
  1.3520 +With this changes it should be possible to dynamically load [incr Tcl]
  1.3521 +as an extension. (MM)
  1.3522 +
  1.3523 +7/1/97 (bug fix) The commands "info args, body, default, procs" did
  1.3524 +not correctly handle imported procedures. (RJ)
  1.3525 +
  1.3526 +7/6/98 (improvement) pkg_mkIndex now implements the "package require"
  1.3527 +command.  This makes it possible to create index files for packages
  1.3528 +that require another package and then execute code from that package in
  1.3529 +their file. Previously, this would throw an error because the required
  1.3530 +package had not been loaded.  The -nopkgrequied flag is provided to
  1.3531 +revert back to the old functionality. (EMS)
  1.3532 +
  1.3533 +7/6/98 (improvement) back-ported the -direct flag from 8.1 into
  1.3534 +pkg_mkIndex.  This results in pkgIndex.tcl files that contain direct
  1.3535 +source or load commands instead of tclPkgSetup commands. (EMS)
  1.3536 +
  1.3537 +7/6/98 (improvement) made changes to the AuxData items structures to support
  1.3538 +storage of compiled scripts on disk. Also some related minor changes in
  1.3539 +the compilation and execution engine. (EMS)
  1.3540 +
  1.3541 +6/4/98 (enhancement) Added new internal routines to support inserting
  1.3542 +and deleting from the stat, access, and open-file-channel mechanisms.
  1.3543 +TclAccessInsertProc, TclStatInsertProc, & TclOpenFileChannelInsertProc
  1.3544 +insert pointers to such routines; TclAccessDeleteProc, TclStatDeleteProc,
  1.3545 +& TclOpenFileChannelDeleteProc delete pointers to such routines.  See
  1.3546 +the file generic/tclIOUtils.c for more details. (SKS)
  1.3547 + 
  1.3548 +7/1/98 (enhancement) Added a new internal C variable
  1.3549 +tclPreInitScript.  This is a pointer to a string that may hold an
  1.3550 +initialization script; If this pointer is non-NULL it is evaluated in
  1.3551 +Tcl_Init() prior to the built-in initialization script defined in the
  1.3552 +file generic/tclInitScript.h.  (SKS)
  1.3553 +
  1.3554 +7/6/98 (bug fix) Removed dead code in PlatformInitExitHandler so that
  1.3555 +the TCL_LIBRARY value can be safely patched in binaries. (BW)
  1.3556 +
  1.3557 +7/24/98 (enhancement) Incorporated a new version of auto_mkindex that
  1.3558 +can support the [incr Tcl] class structures.  This version will index
  1.3559 +all procedures in a source file, not just those where "proc" starts
  1.3560 +at the beginning of the line.  If you want the old behavior, use the
  1.3561 +auto_mkindex_old procedure. (MM)
  1.3562 +
  1.3563 +7/24/98 (feature change) Changed the Windows registry key to be
  1.3564 +HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, and to store the path
  1.3565 +in the default value instead of "Root".  Also, this key can be
  1.3566 +specified at compile time in case Tcl is being used in a different
  1.3567 +context where it needs an alternate library path from the standard Tcl
  1.3568 +installation. (SS)
  1.3569 +
  1.3570 +7/24/98 (feature change) Changed the search order for init.tcl.  The
  1.3571 +tcl_library variable can now be set before calling Tcl_Init to avoid
  1.3572 +doing any searches.  If it isn't set, then Tcl checks
  1.3573 +env(TCL_LIBRARY), the static value set at compile time, an install
  1.3574 +directory relative to the executable, a source directory relative to
  1.3575 +the executable, and a tcl directory relative to the source heirarchy
  1.3576 +containing the executable.  See the comment at the top of
  1.3577 +generic/tclInitScript.h for more details. (SS)
  1.3578 +
  1.3579 +7/27/98 (config change) Changed the use of the DBGX flag in configure.in
  1.3580 +and the makefile to be TCL_DBGX.  Users of tclConfig.sh may need to pass
  1.3581 +this through their configure files with AC_SUBST. (BW)
  1.3582 +
  1.3583 +729/98 (bug fix) Changed [info body] to return a copy of the body of a
  1.3584 +compiled procedure instead of the body itself, to avoid invalidation
  1.3585 +of the internal rep and loss of the byte-codes. (EMS)
  1.3586 +
  1.3587 +8/5/98 (bug fix) The platform init code could walk off the end of a
  1.3588 +buffer when reading the PkgPath registry value on Windows. (SS)
  1.3589 +
  1.3590 +8/5/98 (Windows makefile change) Introduced a set of macros to deal with
  1.3591 +exporting symbols when compiling DLLS on Windows. See win/README for
  1.3592 +details. (EMS)
  1.3593 +
  1.3594 +8/5/98 (addendum) Added a second Windows registry key under
  1.3595 +HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, named "pkgPath".
  1.3596 +This is a multi-string value used to initialize the tcl_pkgPath
  1.3597 +variable. This is required if extension DLLs are in architecture specific
  1.3598 +subdirectories. (SS)
  1.3599 +
  1.3600 +8/6/98 (new feature) Added tcl_findLibrary to init.tcl for use by
  1.3601 +extensions, including Tk.  This searches in a canonical way for
  1.3602 +an extensions library directory and initialization file. (BW)
  1.3603 +
  1.3604 +8/10/98 (bug fix) Imported commands used to get lost if the target
  1.3605 +of the import was redefined.  Tcl_CreateCommand and Tcl_CreateObjCommand
  1.3606 +were updated to restore import links. (Note that if you rename a command,
  1.3607 +the import links move to the new name, and if you delete a command then
  1.3608 +the import links get lost. These semantics have not changed.) (MC)
  1.3609 +
  1.3610 +-------- Released 8.0.3 to the Tcl Consortium CD-ROM project, 8/10/98 ------
  1.3611 +
  1.3612 +9/3/98 (bug fix) Tcl_Realloc was failing under Windows because the
  1.3613 +GlobalReAlloc API was not correctly re-allocating blocks that were
  1.3614 +32k+.  The fix was to use newer Win32 APIs (HeapAlloc, HeapFree, and
  1.3615 +HeapReAlloc.) (BS)
  1.3616 +
  1.3617 +10/5/98 (bug fix) Fixed bug in pkg_mkIndex that caused some files that do
  1.3618 +a "package require" of packages in the Tcl libraries to give a warning like
  1.3619 +	warning: "xx.tcl" provides more than one package ({xx 2.0} {yy 0.3})
  1.3620 +and generate a broken pkgIndex.tcl file. (EMS)
  1.3621 +
  1.3622 +10/5/98 (bug fix) Pkg_mkIndex was not doing a case-insensitive comparison
  1.3623 +of extensions to determine whether to load or source a file. Thus, under
  1.3624 +Windows, MYDLLNAME.DLL was sourced, and mydllname.dll loaded. (EMS)
  1.3625 +
  1.3626 +10/5/98 (new feature) Created a new Tcl_Obj type, "procbody". This object's
  1.3627 +internal representation holds a pointer to a Proc structure. Extended
  1.3628 +TclCreateProc to take both strings and "procbody". (EMS)
  1.3629 +
  1.3630 +10/13/98 (bug fix) The "info complete" command can now handle strings
  1.3631 +with NULLs embedded.  Thanks to colin@field.medicine.adelaide.edu.au 
  1.3632 +for providing this fix. (RJ)
  1.3633 +
  1.3634 +10/13/98 (bug fix) The "lsort -dictionary" command did not properly
  1.3635 +handle some numbers starting with 0.  Thanks to Richard Hipp
  1.3636 +<drh@acm.org> for submitting the fix to Scriptics. (RJ)
  1.3637 +
  1.3638 +10/13/98 (bug fix) The function Tcl_SetListObj was creating an invalid
  1.3639 +Tcl_Obj if the list had zero elements (despite what the comments said
  1.3640 +it would do).  Thanks to Sebastian Wangnick for reporting the
  1.3641 +problem. (RJ)
  1.3642 +
  1.3643 +10/20/98 (new feature) Added tcl_platform(debug) element to the
  1.3644 +tcl_platform array on Windows platform.  The existence of the debug
  1.3645 +element of the tcl_platform array indicates that the particular Tcl
  1.3646 +shell has been compiled with debug information.  Using
  1.3647 +"info exists tcl_platform(debug)" a Tcl script can direct the
  1.3648 +interpreter to load debug versions of DLLs with the load
  1.3649 +command. (SKS)
  1.3650 +
  1.3651 +10/20/98 (feature change) The Makefile and configure scripts have been
  1.3652 +changed for IRIX to build n32 binaries instead of the old 32 abi
  1.3653 +format.  If you have extensions built with the o32 abi's you will need
  1.3654 +to update them to n32 for them to work with Tcl.  (RJ)
  1.3655 +*** POTENTIAL INCOMPATIBILITY ***
  1.3656 +
  1.3657 +10/23/98 (bug fix) tcl_findLibrary had a stray ] in one of the
  1.3658 +pathnames it searched for the initialization script.  tclInitScript.h
  1.3659 +was incorrectly adding the parent of tcl_library to tcl_pkgPath.  This
  1.3660 +logic was moved into init.tcl, and the initialization of auto_path was
  1.3661 +documented.  Thanks to Donald Porter and Tom Silva for related
  1.3662 +patches. (BW)
  1.3663 +
  1.3664 +10/29/98 (bug fix) Fixed Tcl_NotifyChannel to use Tcl_Preserve instead
  1.3665 +of Tcl_RegisterChannel so that 1) unregistered channels do not get
  1.3666 +closed after their first fileevent, and 2) errors that occur during
  1.3667 +close in a fileevent script are actually reflected by the close
  1.3668 +command. (BW)
  1.3669 +
  1.3670 +10/30/98 (bug fix) Overhaul of pkg_mkIndex to deal with transitive
  1.3671 +package requires and packages split among scripts and binary files.
  1.3672 +Also fixed ommision of global for errorInfo in tcl_findLibrary. (BW)
  1.3673 +
  1.3674 +11/08/98 (bug fix) Fixed the resource command to always detect
  1.3675 +the case where a file is opened a second time with the same
  1.3676 +permissions.  IM claims that this will always cause the same
  1.3677 +FileRef to be returned, but in MacOS 8.1+, this is no longer the case,
  1.3678 +so we have to test for this explicitly. (JI)
  1.3679 +
  1.3680 +11/10/98 (feature change) When compiling with Metrowerk's MSL, use the
  1.3681 +exit function from MSL rather than ExitToShell.  This allows MSL to
  1.3682 +clean up its temporary files. Thanks to Vince Darley for this
  1.3683 +improvement. (JI)
  1.3684 +
  1.3685 +----------------- Released 8.0.4, 11/19/98 -------------------------
  1.3686 +
  1.3687 +11/20/98 (bug fix) Handle possible NULL return in TclGetStdFiles. (RJ)
  1.3688 +
  1.3689 +11/20/98 (bug fix) The dltests would not build on SGI.  They reported
  1.3690 +that you could not mix n32 with 032 binaries.  The configure script
  1.3691 +has been modified to get the EXTRA_CFLAGS from the tcl configure
  1.3692 +script.  [Bug id: 840] (RJ)
  1.3693 +
  1.3694 +12/3/98 (bug fix) Windows NT creates sockets so they are inheritable
  1.3695 +by default.  Fixed socket code so it turns off this bit right after
  1.3696 +creation so sockets aren't kept open by exec'ed processes. [Bug: 892]
  1.3697 +Thanks to Kevin Kenny for this fix.  (SS)
  1.3698 +
  1.3699 +1/11/98 (bug fix)  On HP, "info sharedlibextension" was returning 
  1.3700 +empty string on static apps.  It now always returns ".sl".  (RJ)
  1.3701 +
  1.3702 +1/28/99 (configure change) Now support -pipe option on gcc.  (RJ)
  1.3703 +
  1.3704 +2/2/99 (bug fix) Fixed initialization problem on Windows where no
  1.3705 +searching for init.tcl would be performed if the registry keys were
  1.3706 +missing.  (stanton)
  1.3707 +
  1.3708 +2/2/99 (bug fix) Added support for HKEY_PERFORMANCE_DATA and
  1.3709 +HKEY_DYN_DATA keys in the "registry" command. (stanton)
  1.3710 +
  1.3711 +2/2/99 (bug fix) ENOTSUP and EOPNOTSUPP clashed on some Linux
  1.3712 +variants. (stanton)
  1.3713 +
  1.3714 +2/2/99 (enhancement) The "open" command has been changed to use the
  1.3715 +object interfaces. (stanton)
  1.3716 +
  1.3717 +2/2/99 (bug fix) In some cases Tcl would crash due to an overflow of
  1.3718 +the exception stack resulting from a missing byte code in some
  1.3719 +expressions. (stanton)
  1.3720 +
  1.3721 +2/2/99 (bug fix) Changed configure so Linux and IRIX shared libraries
  1.3722 +are linked with the system libraries. (stanton)
  1.3723 +
  1.3724 +2/2/99 (bug fix) Added support for BSDI 4.x (BSD/OS-4*) to the
  1.3725 +configure script. (stanton)
  1.3726 +
  1.3727 +2/2/99 (bug fix) Fixed bug where upvar could resurrect a namespace
  1.3728 +variable after the namespace had been deleted. (stanton)
  1.3729 +
  1.3730 +2/2/99 (bug fix) In some cases when creating variables, the
  1.3731 +interpreter result was being modified even if the TCL_LEAVE_ERR_MSG
  1.3732 +flag was set. (stanton)
  1.3733 +
  1.3734 +2/2/99 (bug fix & new feature) Changed the socket drivers to properly
  1.3735 +handle failures during an async socket connection.  Added a new
  1.3736 +fconfigure option "-error" to retrieve the failure message.  See the
  1.3737 +socket.n manual entry for details. (stanton)
  1.3738 +
  1.3739 +2/2/99 (bug fix) Deleting a renamed interp alias could result in a
  1.3740 +panic. (stanton)
  1.3741 +
  1.3742 +2/2/99 (feature change/bug fix) Changed the behavior of "file
  1.3743 +extension" so that it splits at the last period.  Now the extension of
  1.3744 +a file like "foo..o" is ".o" instead of "..o" as in previous versions. 
  1.3745 +*** POTENTIAL INCOMPATIBILITY ***
  1.3746 +
  1.3747 +----------------- Released 8.0.5, 3/9/99 -------------------------
  1.3748 +
  1.3749 +======== Changes for 8.0 go above this line ========
  1.3750 +======== Changes for 8.1 go below this line ========
  1.3751 +
  1.3752 +6/18/97 (new feature) Tcl now supports international character sets:
  1.3753 +    - All C APIs now accept UTF-8 strings instead of iso8859-1 strings,
  1.3754 +      wherever you see "char *", unless explicitly noted otherwise.
  1.3755 +    - All Tcl strings represented in UTF-8, which is a convenient
  1.3756 +      multi-byte encoding of Unicode.  Variable names, procedure names,
  1.3757 +      and all other values in Tcl may include arbitrary Unicode characters.
  1.3758 +      For example, the Tcl command "string length" returns how many
  1.3759 +      Unicode characters are in the argument string.
  1.3760 +    - For Java compatibility, embedded null bytes in C strings are
  1.3761 +      represented as \xC080 in UTF-8 strings, but the null byte at the end
  1.3762 +      of a UTF-8 string remains \0.  Thus Tcl strings once again do not
  1.3763 +      contain null bytes, except for termination bytes.
  1.3764 +    - For Java compatibility, "\uXXXX" is used in Tcl to enter a Unicode
  1.3765 +      character.  "\u0000" through "\uffff" are acceptable Unicode 
  1.3766 +      characters.  
  1.3767 +    - "\xXX" is used to enter a small Unicode character (between 0 and 255)
  1.3768 +      in Tcl.
  1.3769 +    - Tcl automatically translates between UTF-8 and the normal encoding for
  1.3770 +      the platform during interactions with the system.
  1.3771 +    - The fconfigure command now supports a -encoding option for specifying
  1.3772 +      the encoding of an open file or socket.  Tcl will automatically
  1.3773 +      translate between the specified encoding and UTF-8 during I/O. 
  1.3774 +      See the directory library/encoding to find out what encodings are
  1.3775 +      supported (eventually there will be an "encoding" command that
  1.3776 +      makes this information more accessible).
  1.3777 +    - There are several new C APIs that support UTF-8 and various encodings.
  1.3778 +      See Utf.3 for procedures that translate between Unicode and UTF-8
  1.3779 +      and manipulate UTF-8 strings. See Encoding.3 for procedures that
  1.3780 +      create new encodings and translate between encodings.  See
  1.3781 +      ToUpper.3 for procedures that perform case conversions on UTF-8
  1.3782 +      strings.
  1.3783 +
  1.3784 +9/18/97 (enhancement) Literal objects are now shared by the ByteCode
  1.3785 +structures created when compiled different scripts. This saves up to 45%
  1.3786 +of the total memory needed for all literals. (BL)
  1.3787 +
  1.3788 +9/24/97 (bug fixes) Fixed Tcl_ParseCommand parsing of backslash-newline
  1.3789 +sequences at start of command words. Suppressed Tcl_EvalDirect error logging
  1.3790 +if non-TCL_OK result wasn't an error. (BL)
  1.3791 +
  1.3792 +10/17/97 (feature enhancement) "~username" now refers to the users' home
  1.3793 +directory on Windows (previously always returned failure). (CCS)
  1.3794 +
  1.3795 +10/20/97 (implementation change) The Tcl parser has been completely rewritten
  1.3796 +to make it more modular.  It can now be used to parse a script without actually
  1.3797 +executing it.  The APIs for the new parser are not correctly exported, but
  1.3798 +they will eventually be exported and augmented with Tcl commands so that
  1.3799 +Tcl scripts can parse other Tcl scripts. (JO)
  1.3800 +
  1.3801 +10/21/97 (API change) Added "flags" argument to Tcl_EvalObj, removed
  1.3802 +Tcl_GlobalEvalObj procedure.  Added new procedures Tcl_Eval2 and
  1.3803 +Tcl_EvalObjv. (JO)
  1.3804 +*** POTENTIAL INCOMPATIBILITY ***
  1.3805 +
  1.3806 +10/22/97 (API change) Renamed Tcl_ObjSetVar2 and Tcl_ObjGetVar2 to
  1.3807 +Tcl_SetObjVar2 and Tcl_GetObjVar2 (for consistency with other C APIs)
  1.3808 +and changed the name arguments to be strings instead of objects.  (JO)
  1.3809 +*** POTENTIAL INCOMPATIBILITY ***
  1.3810 +
  1.3811 +10/27/97 (enhancement) Bytecode compiler rewritten to use the new Tcl
  1.3812 +parser. (BL)
  1.3813 +
  1.3814 +11/3/97 (New routines) Added Tcl_AppendObjToObj, which appends the
  1.3815 +string rep of one Tcl_Obj to another. Added Tcl_GetIndexFromObjStruct,
  1.3816 +which is similar to Tcl_GetIndexFromObj, except that you can give an
  1.3817 +offset between strings. This allows Tcl_GetIndexFromObjStruct to be
  1.3818 +called with a table of records which have strings in them. (SRP)
  1.3819 +
  1.3820 +12/4/97 (enhancement) New Tcl expression parser added. Added new procedure
  1.3821 +Tcl_ParseExpr and new token types TCL_TOKEN_SUB_EXPR and
  1.3822 +TCL_TOKEN_OPERATOR. Expression compiler is reimplemented to use this
  1.3823 +parser. (BL)
  1.3824 +
  1.3825 +12/9/97 (bug fix) Tcl_EvalObj() increments/decrements the refcount of the
  1.3826 +script object to prevent the object from deleting itself while in the
  1.3827 +middle of being evaluated. (CCS)
  1.3828 +
  1.3829 +12/9/97 (bug fix) Memory leak in Tcl_GetsObjCmd(). (CCS)
  1.3830 +
  1.3831 +12/11/97 (bug fix) Environment array leaked memory when compiled with
  1.3832 +Visual C++. (SS)
  1.3833 +
  1.3834 +12/11/97 (bug fix) File events and non-blocking I/O did not work on
  1.3835 +pipes under Windows.  Changed to use threads to achieve non-blocking
  1.3836 +behavior. (SS)
  1.3837 +
  1.3838 +12/18/97 (bug fixes) Fixed segfault in "namespace import"; importing a
  1.3839 +procedure that causes a cycle now returns an error. Modified "info procs",
  1.3840 +"info args", "info body", and "info default" to return information about
  1.3841 +imported procedures as well as procedures defined in a namespace. (BL)
  1.3842 +
  1.3843 +12/19/97 (enhancement) Added new Tcl_GetString() procedure that can be used
  1.3844 +in place of Tcl_GetStringFromObj() if the string representation's length
  1.3845 +isn't needed. (BL)
  1.3846 +
  1.3847 +12/18/97 (bug fix) In the opt argument parsing package: if the description 
  1.3848 +had only flags, the "too many arguments" case was not detected. The default
  1.3849 +value was not used for the special "args" ending argument. (DL)
  1.3850 +
  1.3851 +1/7/98 (clean up) Moved everything not absolutly necessary out of init.tcl
  1.3852 +procs now in auto.tcl and package.tcl can be autoloaded if needed. (DL)
  1.3853 +
  1.3854 +1/7/98 (enhancement) tcltest made at install time will search for it's
  1.3855 +init.tcl where it is, even when using virtual path compilation. (DL)
  1.3856 +
  1.3857 +1/8/98 (os bug workaround) when needed, using a replacement for memcmp so 
  1.3858 +string compare "char with high bit set" "char w/o high bit set" returns
  1.3859 +the expected value on all platforms. (DL)
  1.3860 +
  1.3861 +1/8/98 (unix portability/configure) building from .../unix/targetName/ 
  1.3862 +subdirectories and simply using "../configure" should now work fine. (DL)
  1.3863 +
  1.3864 +1/14/98 (enhancement) Added new regular expression package that
  1.3865 +supports AREs, EREs, and BREs.  The new package includes new escape
  1.3866 +characters, meta-syntax, and character classes inside brackets.
  1.3867 +Regexps involving backslashes may behave differently.  (MH)
  1.3868 +*** POTENTIAL INCOMPATIBILITY ***
  1.3869 +
  1.3870 +1/16/98 (os workaround) Under windows, "file volume" was causing chatter
  1.3871 +and/or several seconds of hanging when querying empty floppy drives.
  1.3872 +Changed implementation to call an empirically-derived function that doesn't
  1.3873 +cause this. (CCS)
  1.3874 +
  1.3875 +1/16/98 (enhancement) Converted regular expressions to a Tcl_Obj type so
  1.3876 +their compiled form gets cached automatically.  Reduced NSUBEXP from 100
  1.3877 +to 20. (BW)
  1.3878 +
  1.3879 +1/16/98 (documentation) Change unclear documentation and comments for
  1.3880 +functions like Tcl_TranslateFileName() and Tcl_ExternalToUtfDString().  Now
  1.3881 +it explicitly says they take an uninitialized or free DString.  A DString
  1.3882 +that is "empty" or "not holding anything" could have been interpreted as one
  1.3883 +currently with a zero length, but with a large dynamically allocated buffer.
  1.3884 +(CCS)
  1.3885 +
  1.3886 +----------------- Released 8.1a1, 1/22/98 -----------------------
  1.3887 +
  1.3888 +1/28/98 (new feature) Added a "-direct" optional flag to pkg_mkIndex
  1.3889 +to generate direct loading package indexes (such those you need
  1.3890 +if you use namespaces and plan on using namespace import just after
  1.3891 +package require). pkg_mkIndex still has limitations regarding
  1.3892 +package dependencies but errors are now ignored and with -direct, correct
  1.3893 +package indexes can be generated even if there are dependencies as long 
  1.3894 +as the "package provide" are done early enough in the files. (DL)
  1.3895 +
  1.3896 +1/28/98 (enhancement) Performance tuning of regexp and regsub. (CCS)
  1.3897 +
  1.3898 +1/28/98 (bug fix) regexp and regsub with "-indices" returned the byte-offsets
  1.3899 +of the characters in the UTF-8 representation, not the character offsets
  1.3900 +themselves. (CCS)
  1.3901 +
  1.3902 +1/28/98 (bug fix) "clock format 0 -format %Z -gmt 1" would return the local
  1.3903 +timezone string instead of "GMT" on Solaris and Windows.
  1.3904 +
  1.3905 +1/28/98 (bug fix) Restore tty settings when closing serial device on Unix.
  1.3906 +This is good behavior when closing real serial devices, essential when
  1.3907 +closing the pseudo-device /dev/tty because the user's terminal settings
  1.3908 +would be left useless, in raw mode, when tcl quit. (CCS)
  1.3909 +
  1.3910 +1/28/98 (bug fix) Tcl_OpenCommandChannel() was modifying the contents of the
  1.3911 +argv array passed to it, causing problems for any caller that wanted to
  1.3912 +continue to use the argv array after calling Tcl_OpenCommandChannel(). (CCS)
  1.3913 +
  1.3914 +2/1/98 (bug fix) More bugs with %Z in format string argument to strftime():
  1.3915 +1. Borland always returned empty string.
  1.3916 +2. MSVC always returned the timezone string for the current time, not the
  1.3917 +   timezone string for the specified time.  
  1.3918 +3. With MSVC, "clock format 0 -format %Z -gmt 1" would return "GMT" the first
  1.3919 +   time it was called, but would return the current timezone string on all
  1.3920 +   subsequent calls. (CCS)
  1.3921 +
  1.3922 +2/1/98 (bug fix) "file stat" was broken on Windows.
  1.3923 +1. "file stat" of a root directory (local or network) or a relative path that
  1.3924 +   resolved to a root directory (c:. when in pwd was c:/) was returning error.
  1.3925 +2. "file stat" on a regular file (S_IFREG), the st_mode was sign extended to
  1.3926 +   a negative int if the platform-dependant type "mode_t" was declared as a
  1.3927 +   short instead of an unsigned short.
  1.3928 +3. "file stat" of a network directory, the st_dev was incorrectly reported
  1.3929 +   as the id of the last accessed local drive rather than the id of the
  1.3930 +   network drive. (CCS)
  1.3931 +
  1.3932 +2/1/98 (bug fix) "file attributes" of a relative path that resolved to a
  1.3933 +root directory was returning error. (CCS)
  1.3934 +
  1.3935 +2/1/98 (bug fix) Change error message when "file attribute" could not
  1.3936 +determine the attributes for a file.  Previously it would return different
  1.3937 +error messages on Unix vs.  Windows vs. Mac. (CCS)
  1.3938 +
  1.3939 +2/4/98 (bug fixes) Fixed several instances of bugs where the parser/compiler 
  1.3940 +would reach outside the range of allocated memory. Improved the array
  1.3941 +lookup algorithm in set compilation. (DL)
  1.3942 +
  1.3943 +2/5/98 (change) The TCL_PARSE_PART1 flag for Set/Get(Obj)Var2 C APIs is now
  1.3944 +deprecated and ignored. The part1 is always parsed when the part2 argument
  1.3945 +is NULL. This is to avoid a pattern of errors for extension writers converting
  1.3946 +from string based Tcl_SetVar() to new Tcl_SetObjVar2() and who could easily
  1.3947 +forget to provide the flag and thus get code working for normal variables 
  1.3948 +but not for array elements. The performance hit is minimal. A side effect
  1.3949 +of that change is that is is no longer possible to create scalar variables
  1.3950 +that can't be accessed by tcl scripts because of their invalid name 
  1.3951 +(ending with parenthesis). Likewise it is also parsed and checked to 
  1.3952 +ensure that you don't create array elements of array whose name is a valid 
  1.3953 +array element because they would not be accessible from scripts anyway. 
  1.3954 +Note: There is still duplicate array elements parsing code. (DL)
  1.3955 +*** POTENTIAL INCOMPATIBILITY ***
  1.3956 +
  1.3957 +2/11/98 (bug fix) Sharing objects between interps, such as by "interp
  1.3958 +eval" or "send" could cause a crash later when dereferencing an interp
  1.3959 +that had been deleted, given code such as:
  1.3960 +	set a {set x y}
  1.3961 +	interp create foo
  1.3962 +	interp eval foo $a
  1.3963 +	interp delete foo
  1.3964 +	unset a
  1.3965 +Interp "foo" was gone, but "a" had a internal rep consisting of bytecodes
  1.3966 +containing a dangling pointer to "foo".  Unsetting "a" would attempt to
  1.3967 +return resources back to "foo", causing a crash as random memory was
  1.3968 +accessed.  The lesson is that that if an object's internal rep depends on
  1.3969 +an interp (or any other data structure) it must preserve that data in
  1.3970 +some fashion. (CCS)
  1.3971 +
  1.3972 +2/11/98 (enhancement) The "interp" command was returning inconsistent error
  1.3973 +messages when the specified slave interp could not be found. (CCS)
  1.3974 +
  1.3975 +2/11/98 (bug fix) Result codes like TCL_BREAK and TCL_CONTINUE were not
  1.3976 +propagating through the master/slave interp boundaries, such as "interp
  1.3977 +eval" and "interp alias".  TCL_OK, TCL_ERROR, and non-standard codes like
  1.3978 +teh integer 57 work.  There is still a question as to whether TCL_RETURN
  1.3979 +can/should propagate. (CCS)
  1.3980 +
  1.3981 +2/11/98 (bug fix) TclCompileScript() was derefering memory 1 byte before
  1.3982 +start of the string to compile, looking for ']'. (CCS,DL)
  1.3983 +
  1.3984 +2/11/98 (bug fix) Tcl_Eval2() was derefering memory 1 byte before start
  1.3985 +of the string to eval, looking for ']'. (CCS,DL)
  1.3986 +
  1.3987 +2/11/98 (bug fix) Compiling "set a(b" was running off end of string. (CCS,DL)
  1.3988 +
  1.3989 +2/11/98 (bug fix) Windows initialization code was dereferencing
  1.3990 +uninitialized memory if TCL_LIBRARY environment didn't exist. (CCS)
  1.3991 +
  1.3992 +2/11/98 (bug fix) Windows "registry" command was dereferencing
  1.3993 +uninitialized memory when constructing the $errorCode for a failed
  1.3994 +registry call. (CCS)
  1.3995 +
  1.3996 +2/11/98 (enhancement) Eliminate the TCL_USE_TIMEZONE_VAR definition from
  1.3997 +configure.in, because it was the same information as the already existing
  1.3998 +HAVE_TM_ZONE definition.  The lack of HAVE_TM_ZONE is used to work around a
  1.3999 +Solaris and Windows bug where "clock format [clock sec] -format %Z -gmt 1" 
  1.4000 +produces the local timezone string instead of "GMT". (CCS)
  1.4001 +
  1.4002 +2/11/98 (bug fix) Memleaks and dereferencing of uninitialized memory in
  1.4003 +regexp if an error occurred while compiling a regular expression. (CCS).
  1.4004 +
  1.4005 +2/18/98 (new feature) Added mutexes and thread local storage in order
  1.4006 +to make Tcl thread safe.  For testing purposes, there is a testthread
  1.4007 +command that creates a new thread and an interpreter inside it.  See
  1.4008 +thread.test for examples, but this script-level interface is not fixed.
  1.4009 +Each thread has its own notifier instance to manage its own events,
  1.4010 +and threads can post messages to each other's message queue.
  1.4011 +This uses pthreads on UNIX, and native thread support on other platforms.
  1.4012 +You enable this by configuring with --enable-threads.  Note that at
  1.4013 +this time *Tk* is still not thread safe. Special thanks to
  1.4014 +Richard Hipp: his earlier implementation inspired this work. (BW, SS, JI)
  1.4015 +
  1.4016 +2/18/98 (hidden feature change) The way the env() array is shared among
  1.4017 +interpreters changed.  Updates to env used to trigger write traces in
  1.4018 +other interpreters.  This undocumented feature is no longer implemented.
  1.4019 +Instead, variable tracing is used to keep the C-level environ array in sync
  1.4020 +with the Tcl-level env array. This required adding TCL_TRACE_ARRAY support
  1.4021 +to Tcl_TraceVar2 so that array names works properly. (BW)
  1.4022 +*** POTENTIAL INCOMPATIBILITY ***
  1.4023 +
  1.4024 +2/18/98 (enhancement) Conditional compilation for unix systems (e.g.,
  1.4025 +IRIX, SCO) that use f_bsize instead of st_blksize to determine disk block
  1.4026 +size. (CCS)
  1.4027 +
  1.4028 +2/23/98 (bug fix) Fixed the emulation of polling selects in the threaded
  1.4029 +version of the Unix notifier.  The bug was showing up on a multiprocessor
  1.4030 +as starvation of the notifier thread. (BW)
  1.4031 +
  1.4032 +----------------- Released 8.1a2, Feb 23 1998 -----------------------
  1.4033 +
  1.4034 +9/22/98 (bug fix) Changed the value of TCL_TRACE_ARRAY so it no longer
  1.4035 +conflicts with the deprecated TCL_PARSE_PART1 flag.  This should
  1.4036 +improve portability of C code. (stanton)
  1.4037 +
  1.4038 +10/6/98 (bug fix) The compile procedure for "if" incorrectly attempted
  1.4039 +to match against the literal string "if", resulting in a stack
  1.4040 +overflow when "::if" was compiled.  It also would incorrectly accept
  1.4041 +"if" instead of "elsif" in later clauses.  (stanton)
  1.4042 +
  1.4043 +10/15/98 (new feature) Added a "totitle" subcommand to the "string"
  1.4044 +command to convert strings to capitalize the first character of a string
  1.4045 +and lowercase all of the other characters. (stanton)
  1.4046 +
  1.4047 +10/15/98 (bug fix) Changed regexp and string commands to properly
  1.4048 +handle case folding according to the Unicode character
  1.4049 +tables. (stanton)
  1.4050 +
  1.4051 +10/21/98 (new feature) Added an "encoding" command to facilitate
  1.4052 +translations of strings between different character encodings.  See
  1.4053 +the encoding.n manual entry for more details. (stanton)
  1.4054 +
  1.4055 +11/3/98 (bug fix) The regular expression character classification
  1.4056 +syntax now includes Unicode characters in the supported
  1.4057 +classes. (stanton)
  1.4058 +
  1.4059 +11/6/98 (bug fix) Variable traces were causing crashes when upvar
  1.4060 +variables went out of scope. [Bug: 796] (stanton)
  1.4061 +
  1.4062 +11/9/98 (bug fix) "format" now correctly handles multibyte characters
  1.4063 +in %s format strings. (stanton)
  1.4064 +
  1.4065 +11/10/98 (new feature) "regexp" now accepts three new switches
  1.4066 +("-line", "-lineanchor", and "-linestop") that control how regular
  1.4067 +expressions treat line breaks. See the regexp manual entry for more
  1.4068 +details. (stanton)
  1.4069 +
  1.4070 +11/17/98 (bug fix) "scan" now correctly handles Unicode
  1.4071 +characters. (stanton)
  1.4072 +
  1.4073 +11/17/98 (new feature) "scan" now supports XPG3 position specifiers
  1.4074 +and the "%n" conversion character.  See the "scan" manual entry for
  1.4075 +more details. (stanton)
  1.4076 +
  1.4077 +11/17/98 (bug fix) The Tcl memory allocator now returns 8-byte aligned
  1.4078 +chunks of memory which improves performance on Windows and avoids
  1.4079 +crashes on other platforms. [Bug: 834] (stanton)
  1.4080 +
  1.4081 +11/23/98 (bug fix) Applied various regular expression performance bug
  1.4082 +fixes supplied by Henry Spencer. (stanton)
  1.4083 +
  1.4084 +11/30/98 (bug fix) Fixed various thread related race conditions. [Bug:
  1.4085 +880 & 607] (stanton)
  1.4086 +
  1.4087 +11/30/98 (bug fix) Fixed a number of memory overflow and leak
  1.4088 +bugs. [Bug: 584] (stanton)
  1.4089 +
  1.4090 +12/1/98 (new feaure) Added support for Korean encodings. (stanton)
  1.4091 +
  1.4092 +12/1/98 (feature change) Changed the Tcl_EvalObjv interface to remove
  1.4093 +the string and length arguments.
  1.4094 +*** POTENTIAL INCOMPATIBILITY with previous alpha releases ***
  1.4095 +
  1.4096 +12/2/98 (bug fix) Fixed various bugs related to line feed
  1.4097 +translation. [Bug: 887] (stanton)
  1.4098 +
  1.4099 +12/4/98 (new feature) Added a message catalog facility to help with
  1.4100 +localizing Tcl scripts.  Thanks to Mark Harrison for contributing the
  1.4101 +initial implementation of the "msgcat" package. (stanton)
  1.4102 +
  1.4103 +12/7/98 (bug fix) The memory allocator was failing to update the
  1.4104 +block list for large memory blocks that were reallocated into a
  1.4105 +different address. [Bug: 933] (stanton)
  1.4106 +
  1.4107 +----------------- Released 8.1b1, Dec 10 1998 -----------------------
  1.4108 +
  1.4109 +12/22/98 (performance improvement) Improved the -command option of the
  1.4110 +lsort command to better use the object system for improved
  1.4111 +performance (about 5x speed up).  Thanks to Syd Polk for suppling the
  1.4112 +patch. [RFE: 726] (rjohnson)
  1.4113 +
  1.4114 +2/10/99 (bug fix) Restored the Tcl_ObjSetVar2/Tcl_ObjGetVar2
  1.4115 +interfaces from 8.0 and renamed the Tcl_GetObjVar2/Tcl_SetObjVar2
  1.4116 +interfaces to Tcl_GetVar2Ex and Tcl_SetVar2Ex.  This should provide
  1.4117 +better compatibility with 8.0. (stanton)
  1.4118 +*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
  1.4119 +
  1.4120 +2/10/99 (bug fix) Made the eval interfaces compatible with 8.0 by
  1.4121 +renaming Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to
  1.4122 +Tcl_EvalEx and restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces
  1.4123 +so they match Tcl 8.0. (stanton)
  1.4124 +*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
  1.4125 +
  1.4126 +2/25/99 (bug fix/new feature) On Windows, the channel drivers for
  1.4127 +consoles and serial ports now completely support file events. (redman)
  1.4128 +
  1.4129 +3/5/99 (bug fix) Integrated patches to fix various configure problems
  1.4130 +that affected HP-UX-11, 64-bit IRIX, Linux, and Solaris. (stanton)
  1.4131 +
  1.4132 +3/9/99 (bug fix) Integrated various AIX related patches to improve
  1.4133 +support for shared libraries. (stanton)
  1.4134 +
  1.4135 +3/9/99 (new feature) Added tcl_platform(user) to provide a portable
  1.4136 +way to get the name of the current user. (welch)
  1.4137 +
  1.4138 +3/9/99 (new feature) Integrated the stub library mechanism contributed
  1.4139 +by Jan Nijtmans, Paul Duffin, and Jean-Claude Wippler.  This feature
  1.4140 +should make it possible to write extensions that support multiple
  1.4141 +versions of Tcl simultaneously.  It also makes it possible to
  1.4142 +dynamically load extensions into statically linked interpreters.  This
  1.4143 +patch includes the following changes:
  1.4144 +      -	Added a Tcl_InitStubs() interface
  1.4145 +      -	Added Tcl_PkgProvideEx, Tcl_PkgRequireEx, Tcl_PkgPresentEx,
  1.4146 +      	and Tcl_PkgPresent.
  1.4147 +      - Added va_list versions of all VARARGS functions so they can be
  1.4148 +	invoked from wrapper functions.
  1.4149 +See the manual for more information. (stanton)
  1.4150 +
  1.4151 +
  1.4152 +3/10/99 (feature change) Replaced Tcl_AlertNotifier with
  1.4153 +Tcl_ThreadAlert since the Tcl_AlertNotifier function relied on passing
  1.4154 +internal data structures. (stanton)
  1.4155 +*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
  1.4156 +
  1.4157 +3/10/99 (new feature) Added a Tcl_GetVersion API to make it easier to
  1.4158 +check the Tcl version and patch level from C. (redman)
  1.4159 +
  1.4160 +3/14/99 (feature change) Tried to unify the TclpInitLibrary path
  1.4161 +routines to look in similar places from Windows to UNIX.  The new
  1.4162 +library search path is: TCL_LIBRARY, TCL_LIBRARY/../tcl8.1, relative
  1.4163 +to DLL (Windows Only) relative to installed executable, relative to
  1.4164 +develop executable, and relative to compiled-in in location (UNIX
  1.4165 +Only.)  This fix included:
  1.4166 +    - Defining a TclpFindExecutable
  1.4167 +    - Moving Tcl_FindExecutable to a common area in tclEncoding.c
  1.4168 +    - Modifying the TclpInitLibraryPath routines.
  1.4169 +(surles)
  1.4170 +
  1.4171 +3/14/99 (feature change) Added hooks for TclPro Wrapper to initialize
  1.4172 +the location of the encoding files and libraries.  This fix included:
  1.4173 +    - Adding the TclSetPerInitScript routine.
  1.4174 +    - Modifying the Tcl_Init routines to evaluate the non-NULL
  1.4175 +      pre-init script.
  1.4176 +    - Adding the Tcl_SetdefaultEncodingDir and Tcl_GetDefaultEncodingDir
  1.4177 +      routines.
  1.4178 +    - Modifying the TclpInitLibrary routines to append the default
  1.4179 +      encoding dir.
  1.4180 +(surles)
  1.4181 +
  1.4182 +3/14/99 (feature change) Test suite now uses "test" namespace to
  1.4183 +define the test procedure and other auxiliary procedures as well as
  1.4184 +global variables.
  1.4185 +    - Global array testConfige is now called ::test::testConfig.
  1.4186 +    - Global variable VERBOSE is now called ::test::verbose, and
  1.4187 +      ::test::verbose no longer works with numerical values.  We've
  1.4188 +      switched to a bitwise character string.  You can set
  1.4189 +      ::test::verbose by using the -verbose option on the Tcl command
  1.4190 +      line.
  1.4191 +    - Global variable TESTS is now called ::test::matchingTests, and
  1.4192 +      can be set on the Tcl command line via the -match option.
  1.4193 +    - There is now a ::test::skipTests variable (works similarly to
  1.4194 +      ::test::matchTests) that can be set on the Tcl command line via
  1.4195 +      the -match option.
  1.4196 +    - The test suite can now be run in any working directory.  When
  1.4197 +      you run "make test", the working directory is nolonger switched
  1.4198 +      to ../tests.
  1.4199 +(hirschl)
  1.4200 +*** POTENTIAL INCOMPATIBILITY ***
  1.4201 +
  1.4202 +--------------- Released 8.1b2, March 16, 1999 ----------------------
  1.4203 +
  1.4204 +3/18/99 (bug fix) Fixed missing/incorrect characters in shift-jis table
  1.4205 +(stanton)
  1.4206 +
  1.4207 +3/18/99 (feature change) The glob command ignores the
  1.4208 +FS_CASE_IS_PRESERVED bit on file systesm and always returns
  1.4209 +exactly what it gets from the system. (stanton)
  1.4210 +*** POTENTIAL INCOMPATIBILITY ***
  1.4211 +
  1.4212 +3/19/99 (new feature) Added support for --enable-64bit.  For now,
  1.4213 +this is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun
  1.4214 +compiler. (redman)
  1.4215 +
  1.4216 +3/23/99 (bug fix) Fixed fileevents and gets on Windows consoles and
  1.4217 +serial devices so that non-blocking channels do not block on partial
  1.4218 +input lines.  (redman)
  1.4219 +
  1.4220 +3/23/99 (bug fix) Added a new Tcl_ServiceModeHook interface.
  1.4221 +This is used on Windows to avoid the various problems that people
  1.4222 +have been seeing where the system hangs when tclsh is running
  1.4223 +outside of the event loop. As part of this, renamed
  1.4224 +TcapAlertNotifier back to Tcl_AlertNotifier since it is public.
  1.4225 +(stanton)
  1.4226 +
  1.4227 +3/23/99 (feature change) Test suite now uses "tcltest" namespace to
  1.4228 +define the test procedure and other auxiliary procedures as well as
  1.4229 +global variables.  The previously chosen "test" namespace was thought
  1.4230 +to be too generic and likely to create conflits.
  1.4231 +(hirschl)
  1.4232 +*** POTENTIAL INCOMPATIBILITY ***
  1.4233 +
  1.4234 +3/24/99 (bug fix) Make sockets thread safe on Windows.
  1.4235 +(redman)
  1.4236 +
  1.4237 +3/24/99 (bug fix) Fix cases where expr would incorrect return
  1.4238 +a floating point value instead of an integer. (stanton)
  1.4239 +
  1.4240 +3/25/99 (bug fix) Added ASCII to big5 and gb2312 encodings.
  1.4241 +(stanton)
  1.4242 +
  1.4243 +3/25/99 (feature change) Changed so aliases are invoked at current
  1.4244 +scope in the target interpreter instead of at the global scope.  This
  1.4245 +was an incompatibility introduced in 8.1 that is being removed.
  1.4246 +(stanton)
  1.4247 +*** POTENTIAL INCOMPATIBILITY with previous beta releases ***
  1.4248 +
  1.4249 +3/26/99 (feature change) --enable-shared is now the default and build
  1.4250 +Tcl as a shared library; specify --disable-shared to build a static Tcl
  1.4251 +library and shell.
  1.4252 +*** POTENTIAL INCOMPATIBILITY ***
  1.4253 +
  1.4254 +3/29/99 (bug fix)  Removed the stub functions and changed the stub
  1.4255 +macros to just use the name without params. Pass &tclStubs into the
  1.4256 +interp (don't use tclStubsPtr because of collisions with the stubs on
  1.4257 +Solaris). (redman)
  1.4258 +
  1.4259 +3/30/99 (bug fix) Loadable modules are now unloaded at the last
  1.4260 +possible moment during Tcl_Finalize to fix various exit-time crashes.
  1.4261 +(welch)
  1.4262 +
  1.4263 +3/30/99 (bug fix) Tcl no longer calls setlocale().  It looks at
  1.4264 +env(LANG) and env(LC_TYPE) instead.  (stanton)
  1.4265 +
  1.4266 +4/1/99 (bug fix) Fixed the Ultrix multiple symbol definition problem.
  1.4267 +Now, even Tcl includes a copy of the Tcl stub library. (redman)
  1.4268 +
  1.4269 +4/1/99 (bug fix) Internationalized the registry package.
  1.4270 +
  1.4271 +4/1/99 (bug fix) Changed the implemenation of Tcl_ConditionWait and
  1.4272 +Tcl_ConditionNotify on Windows.  The new algorithm eliminates a race
  1.4273 +condition and was suggested by Jim Davidson. (welch)
  1.4274 +
  1.4275 +4/2/99 (new apis)  Made various Unicode utility functions public.
  1.4276 +Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString, Tcl_UniCharLen,
  1.4277 +Tcl_UniCharNcmp, Tcl_UniCharIsAlnum, Tcl_UniCharIsAlpha,
  1.4278 +Tcl_UniCharIsDigit, Tcl_UniCharIsLower, Tcl_UniCharIsSpace,
  1.4279 +Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar, Tcl_WinUtfToTChar,
  1.4280 +Tcl_WinTCharToUtf (stanton)
  1.4281 +
  1.4282 +4/2/99 (feature change) Add new DDE package and removed the Tk
  1.4283 +send command from the Windows version.  Changed DDE-based send
  1.4284 +code into "dde eval" command.  The DDE package can be loaded
  1.4285 +into tclsh, not just wish.  Windows only. (redman)
  1.4286 +
  1.4287 +4/5/99 (bug fix) Changed safe-tcl so that the encoding command
  1.4288 +is an alias that masks out the "encoding system" subcommand.
  1.4289 +(redman)
  1.4290 +
  1.4291 +4/5/99 (bug fix) Configure patches to improve support for
  1.4292 +OS/390 and BSD/OS 4.*. (stanton)
  1.4293 +
  1.4294 +4/5/99 (bug fix) Fixed crash in the clock command that occurred
  1.4295 +with negative time values in timezones east of GMT. (stanton)
  1.4296 +
  1.4297 +4/6/99 (bug fix) Moved the "array set" C level code into a common
  1.4298 +routine (TclArraySet).  The TclSetupEnv routine now uses this API to
  1.4299 +create an env array w/ no elements.  This fixes the bug caused when
  1.4300 +every environ varaible is removed, and the Tcl env variable is
  1.4301 +synched.  If no environ vars existed, the Tcl env var would never be
  1.4302 +created. (surles)
  1.4303 +
  1.4304 +4/6/99 (bug fix) Made the Env module I18N compliant. (surles)
  1.4305 +
  1.4306 +4/6/99 (bug fix) Changed the FindVariable routine to TclpFindVariable,
  1.4307 +that now does a case insensitive string comparison on Windows, and not
  1.4308 +on UNIX. (surles)
  1.4309 +
  1.4310 +--------------- Released 8.1b3, April 6, 1999 ----------------------
  1.4311 +
  1.4312 +4/9/99 (bug fix)  Fixed notifier deadlock situation when the pipe used
  1.4313 +to talk back notifier thread is filled with data.  Found as a result of the
  1.4314 +focus.test for Tk hanging. (redman)
  1.4315 +
  1.4316 +4/13/99 (bug fix) Fixed bug where socket -async combined with
  1.4317 +fileevent for writing did not work under Windows NT. (redman)
  1.4318 +
  1.4319 +4/13/99 (encoding fix) Restored the double byte definition of GB2312
  1.4320 +and added the EUC-CN encoding.  EUC-CN is a variant of GB2312 that
  1.4321 +shifts the characters into bytes with the high bit set and includes
  1.4322 +ASCII as a subset. (stanton)
  1.4323 +
  1.4324 +4/27/99 (bug fix) Added 'extern "C" {}' block around the stub table
  1.4325 +pointer declaration so the stub library can be used from C++. (stanton)
  1.4326 +
  1.4327 +--------------- Released 8.1 final, April 29, 1999 ----------------------
  1.4328 +
  1.4329 +4/22/99 (bug fix) Changed Windows NT socket implementation to avoid
  1.4330 +creating a communication window.  This avoids the problem where the
  1.4331 +system hangs waiting for tclsh to respond to a system-wide synchronous
  1.4332 +broadcast (e.g. if you change system colors). (redman)
  1.4333 +
  1.4334 +4/22/99 (bug fix) Added call to TclWinInit from TclpInitPlatform when
  1.4335 +building a static library since DllMain will not be invoked.  This
  1.4336 +could break old code that explicitly called TclWinInit, but should be
  1.4337 +simpler in the long run. (stanton)
  1.4338 +*** POTENTIAL INCOMPATIBILITY ***
  1.4339 +
  1.4340 +4/23/99 (bug fix) Added support for the koi8-r Cyrillic
  1.4341 +encoding. [Bug: 1771] (stanton)
  1.4342 +
  1.4343 +4/28/99 (bug fix) Changed internal Tcl_Obj usage to avoid freeing the
  1.4344 +internal representation after the string representation has been
  1.4345 +freed.  This makes it easier to debug extensions. (stanton)
  1.4346 +
  1.4347 +4/30/99 (bug fix) Fixed a memory leak in CommandComplete. (stanton)
  1.4348 +
  1.4349 +5/3/99 (bug fix) Fixed a bug where the Tcl_ObjType was not being set
  1.4350 +in a duplicated Tcl_Obj. [Bug: 1975, 2047] (stanton)
  1.4351 +
  1.4352 +5/3/99 (bug fix) Changed Tcl_ParseCommand to avoid modifying eval'ed
  1.4353 +strings that are already null terminated.  [Bug: 1793] (stanton)
  1.4354 +
  1.4355 +5/3/99 (new feature) Applied Jeff Hobbs's string patch which includes
  1.4356 +the following changes:
  1.4357 +    - added new subcommands: equal, repeat, map, is, replace 
  1.4358 +    - added -length option to "string compare|equal"
  1.4359 +    - added -nocase option to "string compare|equal|match"
  1.4360 +    - string and list indices can be an integer or end?-integer?.
  1.4361 +    - added optional first and last index args to string toupper, et al.
  1.4362 +See the string.n manual entry for more details about the new string
  1.4363 +features.  [Bug: 1845] (stanton)
  1.4364 +
  1.4365 +5/6/99 (new feature) Added Tcl_UtfNcmp and Tcl_UtfNcasecmp to make Utf
  1.4366 +string comparision easier. (stanton)
  1.4367 +
  1.4368 +5/7/99 (bug fix) Improved OS/390 support. [Bug: 1976, 1997] (stanton)
  1.4369 +
  1.4370 +5/12/99 (bug fix) Changed Windows initialization code to avoid using
  1.4371 +GetUserName system call in favor of the env(USERNAME) variable.  This
  1.4372 +provides a significant startup speed improvement. (stanton)
  1.4373 +
  1.4374 +5/12/99 (bug fix) Replaced the per-interpreter regexp cache with a
  1.4375 +per-thread cache.  Changed the Regexp object to take advantage of this
  1.4376 +extra cache.  Added a reference count to the TclRegexp type so regexps
  1.4377 +can be shared by multiple objects.  Removed the per-interp regexp cache
  1.4378 +from the interpreter.  Now regexps can be used with no need for an
  1.4379 +interpreter. This set of changes should provide significant speed
  1.4380 +improvements for many Tcl scripts.  [Bug: 1063] (stanton)
  1.4381 +
  1.4382 +5/14/99 (bug fix) Durining initialization on Unix, Tcl now extracts the
  1.4383 +encoding subfield from the LANG/LC_ALL environment variables in cases
  1.4384 +where the locale is not found in the built-in locale table.  It also
  1.4385 +attempts to initialize the locale subsystem so X11 is happy. [Bug: 1989]
  1.4386 +(stanton) 
  1.4387 +
  1.4388 +5/14/99 (bug fix) Applied the patch to fix 100-year and 400-year
  1.4389 +boundaries in leap year code, from Isaac Hollander.  [Bug: 2066] (redman)
  1.4390 +
  1.4391 +5/14/99 (bug fix) Fixed a crash caused by a failure to reset the result
  1.4392 +before evaluating the test expression in an uncompiled for
  1.4393 +statement. (stanton)
  1.4394 +
  1.4395 +5/18/99 (bug fix) Modified initialization code on Windows to avoid
  1.4396 +inherenting closed or invalid channels.  If the standard input is
  1.4397 +anything other than a console, file, serial port, or pipe, then we fall
  1.4398 +back to the standard Tk window console. (stanton)
  1.4399 +
  1.4400 +5/19/99 (bug fix) Added an extern "C" block around the entire tcl.h
  1.4401 +header file to avoid C++ linkage issues. (redman)
  1.4402 +
  1.4403 +5/19/99 (new feature) Applied Jeff Hobb's patch to add
  1.4404 +Tcl_StringCaseMatch to support case insensitive glob style matching and
  1.4405 +Tcl_UniCharIs* character classification functions. (stanton)
  1.4406 +
  1.4407 +5/20/99 (bug fix) Added the directory containing the executuble and the
  1.4408 +../lib directory relative to that to the auto_path variable. (redman)
  1.4409 +
  1.4410 +--------------- Released 8.1.1, May 25, 1999 ----------------------
  1.4411 +
  1.4412 +5/21/99 (bug fix) Fixed launching command.com on Win95/98, no longer
  1.4413 +hangs. [Bug: 2105] (redman)
  1.4414 +
  1.4415 +5/28/99 (bug fix) Fixed bug where dde calls were being passed an
  1.4416 +invalid dde handle. [Bug: 2124] (stanton)
  1.4417 +
  1.4418 +6/1/99  (bug fix) Small configure.in patches. [Bug: 2121] (stanton)
  1.4419 +
  1.4420 +6/1/99  (bug fix) Applied latest regular expression patches to fix an
  1.4421 +infinite loop bug and add support for testing whether a string could
  1.4422 +match with additional input. [Bug: 2117] (stanton)
  1.4423 +
  1.4424 +6/2/99  (bug fix) Fixed incorrect computation of relative ordering in
  1.4425 +Utf case-insensitive comparison. [Bug: 2135] (stanton)
  1.4426 +
  1.4427 +6/3/99  (bug fix) Fxied bug where string equal/compare -nocase
  1.4428 +reported wrong result on null strings. [Bug: 2138] (stanton)
  1.4429 +
  1.4430 +6/4/99  (new feature) Windows build now uses Cygwin tools plus GNU
  1.4431 +make and autoconf to build static/dynamic and debug/nodebug. (stanton)
  1.4432 +
  1.4433 +6/7/99  (new feature) Optimized string index, length, range, and
  1.4434 +append commands. Added a new Unicode object type. (hershey)
  1.4435 +
  1.4436 +6/8/99  (bug fix) Rolled back Windows socket driver to 8.1.0
  1.4437 +version. (stanton)
  1.4438 +
  1.4439 +6/9/99  (new feature) Added Tcl_RegExpMatchObj and Tcl_RegExpGetInfo
  1.4440 +to public Tcl API, these functions are needed by Expect.  Changed
  1.4441 +tools/genStubs.tcl to always write output in LF mode. (stanton)
  1.4442 +
  1.4443 +6/14/99 (new feature) Merged string and Unicode object types.  Added
  1.4444 +new public Tcl API functions:  Tcl_NewUnicodeObj, Tcl_SetUnicodeObj,
  1.4445 +Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange,
  1.4446 +Tcl_AppendUnicodeToObj. (hershey)
  1.4447 +
  1.4448 +6/16/99 (new feature) Changed to conform to TEA specification, added
  1.4449 +tcl.m4 and aclocal.m4 macro libraries for configure.  (wart)
  1.4450 +
  1.4451 +6/17/99 (new feature) Added new regexp interfaces: -expanded, -line,
  1.4452 +-linestop, and -lineanchor switches.  Renamed Tcl_RegExpMatchObj to
  1.4453 +Tcl_RegExpExecObj and added new Tcl_RegExpMatchObj that is equivalent
  1.4454 +to Tcl_RegExpMatch.  Added public macros for regexp flags.  Added
  1.4455 +REG_BOSONLY flag to allow Expect to iterate through a string and only
  1.4456 +find matches that start at the current position within the
  1.4457 +string. (stanton)
  1.4458 +
  1.4459 +6/21/99 (bug fix) Fixed memory leak in TclpThreadCreate where thread
  1.4460 +attributes were not being released.  [Bug: 2254] (stanton)
  1.4461 +
  1.4462 +6/23/99 (new feature) Updated Unicode character tables to reflect
  1.4463 +Unicode 2.1 data. (stanton)
  1.4464 +
  1.4465 +6/25/99 (new feature) Fixed bugs in non-greedy quantifiers for regular
  1.4466 +expression code. (stanton)
  1.4467 +
  1.4468 +6/25/99 (new feature) Added initial implementation of new Tcl test
  1.4469 +harness package.  Modified test files to use new tcltest package.
  1.4470 +(jenn)
  1.4471 +
  1.4472 +6/26/99 (new feature) Applied patch from Peter Hardie to add poke
  1.4473 +command to dde and changed the dde package version number to
  1.4474 +1.1. (redman) 
  1.4475 +
  1.4476 +6/28/99 (bug fix) Applied patch from Peter Hardie to fix problem in
  1.4477 +Tcl_GetIndexFromObj() when the key being passed is the empty string.
  1.4478 +[Bug: 1738] (redman)
  1.4479 +
  1.4480 +6/29/99 (new feature) Added options to tcltest package: -preservecore,
  1.4481 +-limitconstraints, -help, -file, -notfile, and flags.  (jenn)
  1.4482 +
  1.4483 +7/3/99  (new feature) Changed parsing of variable names to allow empty
  1.4484 +array names.  Now "$(foo)" is a variable reference.  Previously you
  1.4485 +had to use something line $::(foo), which is slower.  This change was
  1.4486 +requested by Jean-Luc Fontaine for his STOOOP package. (welch)
  1.4487 +
  1.4488 +7/3/99  (new feature) Added Tcl_SetNotifier (public API) and
  1.4489 +associated hook points in the notifiers to be able to replace the
  1.4490 +notifier calls at runtime. The Xt notifier and test program use this
  1.4491 +hook.  (welch)
  1.4492 +
  1.4493 +7/3/99  (new feature) Added a new variant of the "Trf core patch" from
  1.4494 +Andreas Kupries that adds new C APIs Tcl_StackChannel,
  1.4495 +Tcl_UnstackChannel, and Tcl_GetStackedChannel.  This allows the Trf
  1.4496 +extension to work without applying patches to the Tcl core. (welch)
  1.4497 +
  1.4498 +7/6/99  (new feature) Added -timeout option to http.tcl to handle
  1.4499 +timeouts that occur during connection attempts to hosts that are
  1.4500 +down. (welch)
  1.4501 +
  1.4502 +7/6/99  (bug fix) Applied new implementation of the Windows serial
  1.4503 +port driver from Rolf Schroedter that fixes reading only one byte from
  1.4504 +the port at a time.  Uses polling every 10ms to implement
  1.4505 +fileevents. [Bug: 1980 2217] (redman)
  1.4506 +
  1.4507 +7/8/99  (bug fix) Applied fix for bug in DFA state caching under
  1.4508 +lookahead conditions (regular expressions).  [Bug: 2318] (stanton)
  1.4509 +
  1.4510 +7/8/99  (bug fix) Fixed bug in string range bounds checking
  1.4511 +code. (stanton)
  1.4512 +
  1.4513 +--------------- Released 8.2b1, July 14, 1999 ----------------------
  1.4514 +
  1.4515 +7/16/99 (bug fix) Added Tcl_SetNotifier to stub table. [Bug: 2364]
  1.4516 +Added check for Alpha/Linux to correct the IEEE  floating point flag,
  1.4517 +patch from Don Porter. (redman)
  1.4518 +
  1.4519 +7/20/99 (bug fix) Merged 8.0.5 code to handle tcl_library properly,
  1.4520 +also fixed a bug that caused TCL_LIBRARY to be ignored. (hershey)
  1.4521 +
  1.4522 +7/21/99 (bug fix) Implemented modified socket driver for Windows that
  1.4523 +uses a thread to manage the socket event window.  Code works the same
  1.4524 +on all supported versions of Windows and was based on original 8.1.0
  1.4525 +code.  [Bug: 2178 2256 2259 2329 2323 2355] (redman)
  1.4526 +
  1.4527 +7/21/99 (new feature) Applied patch from Rolf Schroedter to add
  1.4528 +-pollinterval option to fconfigure for Windows serial ports.  Allows
  1.4529 +the maxblocktime to be modified to control how often serial ports are
  1.4530 +checked for fileevents.  Also added documentation for \\.\comX
  1.4531 +notation for opening serial ports on Windows.  (redman)
  1.4532 +
  1.4533 +7/21/99 (bug fix) Changed APIs in stub tables to use "unsigned long"
  1.4534 +instead of the platform-specific "size_t", primarily after SunOS 4
  1.4535 +users could no longer compile. (redman)
  1.4536 +
  1.4537 +7/22/99 (bug fix) Fixed crashing during "array set a(b) {}". 
  1.4538 +[Bug: 2427] (redman)
  1.4539 +
  1.4540 +7/22/99 (bug fix) The install-sh script must be given execute
  1.4541 +permissions prior to running.  [Bug: 2413] (redman)
  1.4542 +
  1.4543 +7/22/99 (bug fix) Applied patch from Ulrich Ring to remove ANSI-style
  1.4544 +prototypes in the code.  [Bug: 2391] (redman)
  1.4545 +
  1.4546 +7/22/99 (bug fix) Added #if blocks around #includes of sys/*.h header
  1.4547 +files, to allow an extension author on Windows to use the MetroWerks
  1.4548 +compiler. [Bug: 2385] (redman)
  1.4549 +
  1.4550 +7/22/99 (bug fix) Fixed running the safe.test test suite, one change
  1.4551 +to the Windows Makefile.in to fix paths and another in safe.test to
  1.4552 +check for the tcl_platform(threaded) variable properly. (redman)
  1.4553 +
  1.4554 +7/22/99 (bug fix) Fixed hanging in new Win32 socket driver with
  1.4555 +threads enabled. (redman)
  1.4556 +
  1.4557 +7/26/99 (bug fix) Fixed terminating of helper threads by holding any
  1.4558 +mutexes from the primary thread while waiting for the helper thread to
  1.4559 +terminate.  Fixes dual-CPU WinNT hangs, only one rare sporadic hang
  1.4560 +that still exists with dual-CPU WinNT.  Also fixed test cases so that
  1.4561 +they would not depend as much on timing for dual-CPU WinNT. (redman)
  1.4562 +
  1.4563 +7/27/99 (bug fix) Some test suite cleanup. (jenn)
  1.4564 +
  1.4565 +7/29/99 (bug fix) Applied patch to fix typo in .SH NAME line in
  1.4566 +doc/Encoding.n [Bug: 2451].  Applied patch to avoid linking pack.n to
  1.4567 +pack-old.n [Bug: 2469]. Patches from Don Porter. (redman)
  1.4568 +
  1.4569 +7/29/99 (bug fix) Allow tcl to open CON and NUL, even for redirection
  1.4570 +of std channels.  [Bug: 2393 2392 2209 2458] (redman)
  1.4571 +
  1.4572 +7/30/99 (bug fix) Applied fixed Trf patch from Andreas Kupries. 
  1.4573 +[Bug: 2386] (hobbs)
  1.4574 +
  1.4575 +7/30/99 (bug fix) Fixed bug in info complete. [Bug: 2383 2466] (hobbs)
  1.4576 +
  1.4577 +7/30/99 (bug fix) Applied patch to fix threading on Irix 6.5, patch
  1.4578 +provided by James Dennett.  [Bug: 2450] (redman)
  1.4579 +
  1.4580 +7/30/99 (bug fix) Fixed launching of 16bit applications on Win9x from
  1.4581 +wish.  The command line was being primed with tclpip82.dll, but it was
  1.4582 +ignored later. 
  1.4583 +
  1.4584 +7/30/99 (bug fix) Added functions to stub table, patch provided by Jan
  1.4585 +Nijtmans. [Bug: 2445] (hobbs)
  1.4586 +
  1.4587 +8/1/99  (bug fix) Changed Windows socket driver to terminate threads
  1.4588 +by sending a message to the window rather than calling
  1.4589 +TerminateThread(), which seems to leak about 4k from the helper
  1.4590 +thread's stack space. (redman)
  1.4591 +
  1.4592 +--------------- Released 8.2b2, August 5, 1999 ----------------------
  1.4593 +
  1.4594 +8/4/99 (bug fix) Applied patches supplied by Henry Spencer to greatly
  1.4595 +enhance performance of certain classes of regular expressions. 
  1.4596 +[Bug: 2440 2447] (stanton)
  1.4597 +
  1.4598 +8/5/99 (doc change) Made it clear that tcl_pkgPath was not set for
  1.4599 +Windows. [Bug: 2455] (hobbs)
  1.4600 +
  1.4601 +8/5/99 (bug fix) Fixed reference to bytes that might not be null
  1.4602 +terminated in tclLiteral.c. [Bug: 2496] (hobbs)
  1.4603 +
  1.4604 +8/5/99 (bug fix) Fixed typo in http.tcl. [Bug: 2502] (hobbs)
  1.4605 +
  1.4606 +8/9/99 (bug fix) Fixed test suite to handle larger integers
  1.4607 +(64bit). Patch from Don Porter. (hobbs)
  1.4608 +
  1.4609 +8/9/99 (documentation fix) Clarified Tcl_DecrRefCount docs 
  1.4610 +[Bug: 1952]. Clarified array pattern docs [Bug: 1330]. Fixed clock docs
  1.4611 +[Bug: 693]. Fixed formatting errors [Bug: 2188 2189]. Fixed doc error
  1.4612 +in tclvars.n [Bug: 2042]. (hobbs)
  1.4613 +
  1.4614 +8/9/99 (bug fix) Fixed path handling in auto_execok [Bug: 1276] (hobbs)
  1.4615 +
  1.4616 +8/9/99 (internal api change) Removed the TclpMutexLock and TclpMutexUnlock
  1.4617 +APIs and added a new exported api, Tcl_GetAllocMutex. These APIs are all for
  1.4618 +the mutex used in the simple memory allocators.  By making this change
  1.4619 +we are able to substitute different implementations of the thread-related
  1.4620 +APIs without having to recompile the Tcl core. (welch)
  1.4621 +
  1.4622 +8/9/99 (new C API) Tcl_GetChannelNames returns a list of open channel
  1.4623 +names in the interpreter result.  Still no Tcl-level version of this,
  1.4624 +but server-like applications can use this to clean up files without
  1.4625 +deleting interpreters. (welch)
  1.4626 +
  1.4627 +8/9/99 (bug fix) Traces were not firing on "info exists", which used to
  1.4628 +happen in Tcl 7.6 and earlier. An "info exists" now fires a read trace,
  1.4629 +if defined.  This makes it possible to fully implement variables that
  1.4630 +are defined via traces. (welch)
  1.4631 +
  1.4632 +8/10/99 (bug fix) Fixed Brent's changes so that they work on
  1.4633 +Windows. (redman)
  1.4634 +
  1.4635 +--------------- Released 8.2b3, August 11, 1999 ----------------------
  1.4636 +
  1.4637 +8/12/99 (Mac) Rearrange projects in tclMacProjects.sea.hqx so that the
  1.4638 +build directory is separate from the sources. (Jim Ingham)
  1.4639 +
  1.4640 +8/12/99 (bug fix) Fixed bug in Tcl_EvalEx where the termOffset was not
  1.4641 +being updated in cases where the evaluation returned a non TCL_OK
  1.4642 +error code. [Bug: 2535] (stanton)
  1.4643 +
  1.4644 +--------------- Released 8.2.0, August 17, 1999 ----------------------
  1.4645 +
  1.4646 +9/21/99 (config fixes) fixed several AIX configuration issues.  gcc and
  1.4647 +threading may still cause problems on AIX. (hobbs)
  1.4648 +
  1.4649 +9/21/99 (bug fix) fixed expr double-eval problem. [Bug: 732] (hobbs)
  1.4650 +
  1.4651 +9/21/99 (bug fix) fixed static buffer overflow problem. [Bug: 2483] (hobbs)
  1.4652 +
  1.4653 +9/21/99 (bug fix) fixed end-int linsert interpretation. [Bug: 2693] (hobbs)
  1.4654 +
  1.4655 +9/21/99 (bug fix) fixed bug when setting array in non-existent
  1.4656 +namespace. [Bug: 2613] (hobbs)
  1.4657 +
  1.4658 +--- Released 8.2.1, October 04, 1999 --- See ChangeLog for details ---
  1.4659 +
  1.4660 +10/30/99 (feature enhancement) new regexp engine from Henry Spencer
  1.4661 +was patched in - should greatly reduce stack space usage. (spencer)
  1.4662 +
  1.4663 +10/30/99 (bug fix) fixed Purify reported memory leaks in findexecutable
  1.4664 +test command, TclpCreateProcess on Unix, in handling of C environ array,
  1.4665 +and in testthread code.  No more known (reported) mem leaks for Tcl
  1.4666 +built using gcc on Solaris 2.5.1.  Also none reported for Tcl on NT
  1.4667 +(using Purify 6.0). (hobbs)
  1.4668 +
  1.4669 +10/30/99 (bug fix) fixed improper bytecode handling of 
  1.4670 +'eval {set array($unknownvar) 5}' (also for incr) (hobbs)
  1.4671 +
  1.4672 +10/30/99 (bug fix) fixed event/io threading problems by making
  1.4673 +triggerPipe non-blocking (nick kisserbeth)
  1.4674 +
  1.4675 +10/30/99 (bug fix) fixed Tcl_AppendStringsToObjVA and Tcl_AppendResultVA
  1.4676 +to only	iterates once over the va_list (avoiding non-portable memcpy).
  1.4677 +(joe english, hobbs)
  1.4678 +
  1.4679 +10/30/99 (bug fix) removed savedChar trick in tclCompile.c that appeared
  1.4680 +to be causing a segv when the literal table was released.
  1.4681 +[Bug: 2459, 2515] (David Whitehouse)
  1.4682 +
  1.4683 +10/30/99 (bug fix) fixed [string index] to return ByteArrayObj
  1.4684 +when indexing into one (test case string-5.16) [Bug: 2871] (hobbs)
  1.4685 +
  1.4686 +10/30/99 (bug fix) fixes for mac UTF filename handling (ingham)
  1.4687 +
  1.4688 +--- Released 8.2.2, November 04, 1999 --- See ChangeLog for details ---
  1.4689 +
  1.4690 +11/19/99 (feature enhancement) bug fixes for http package as well as
  1.4691 +patch required by TLS (SSL) extension that adds http::(un)register
  1.4692 +and -type to http::geturl.  Up'd http pkg version to 2.2.
  1.4693 +
  1.4694 +11/19/99 (bug fix) removed extra decr of numLevels in Tcl_EvalObjEx
  1.4695 +that could cause seg fault (mjansen@wendt.de)
  1.4696 +
  1.4697 +11/19/99 (bug fixes) numerous minor big fixes, including correcting the
  1.4698 +installation of the koi8-r encoding and tcltest1.0 on Windows.
  1.4699 +
  1.4700 +11/30/99 (bug fix) fixes scan where %[..] didn't match anything
  1.4701 +
  1.4702 +11/30/99 (bug fix) fixed setting of isNonBlocking flag in PipeBlockModeProc
  1.4703 +so you can now close a non-blocking channel without waiting.
  1.4704 +
  1.4705 +11/30/99 (bug work-around) prevented the unloading of DLLs for Unix in
  1.4706 +TclFinalizeLoad.  This stops the seg fault on exit that some users would
  1.4707 +see (ie with oratcl) when using DLLs that do nasty things like register
  1.4708 +atexit handlers.
  1.4709 +
  1.4710 +12/07/99 (bug fix) fixes for 'expr + {[incr]}' and 'expr + {[error]}'
  1.4711 +cases (different causes).
  1.4712 +
  1.4713 +--- Released 8.2.3, December 16, 1999 --- See ChangeLog for details ---
  1.4714 +
  1.4715 +1999-09-14 (feature enhancement) added -start switch to regexp and regsub.
  1.4716 +
  1.4717 +1999-09-15 (feature enhancement) add 'array unset' command.
  1.4718 +
  1.4719 +1999-09-15 (feature enhancement) rewrote runtime libraries to use new
  1.4720 +string functions
  1.4721 +
  1.4722 +1999-08-18 (feature enhancement) added 'file channels' command, along with
  1.4723 +Tcl_GetChannelNames(Ex) public C APIs.
  1.4724 +
  1.4725 +1999-10-19 (feature enhancement) enhanced tcltest package
  1.4726 +
  1.4727 +1999-09-16 (feature enhancement) added -milliseconds switch to 'clock clicks'
  1.4728 +
  1.4729 +1999-10-28 (feature enhancement) added support for inline 'scan'
  1.4730 +
  1.4731 +1999-10-28 (feature enhancement) added support for touch functionality by
  1.4732 +extendeding 'file atime' and 'file mtime' to take an optional time argument
  1.4733 +
  1.4734 +1999-11-24 (feature enhancement) added 'fconfigure $sock -lasterror'
  1.4735 +command to Windows to query the last error received on a serial socket.
  1.4736 +
  1.4737 +1999-11-30 (bug fix) fixed handling of %Z on NT for timezones that don't
  1.4738 +have DST
  1.4739 +
  1.4740 +1999-12-03 (feature enhancement) improved error message in bad octal cases
  1.4741 +and improper use of comments. (hobbs)
  1.4742 +
  1.4743 +1999-12-07 (bug fix) fixed Tcl_ScanCountedElement to not step
  1.4744 +beyond the end of the counted string
  1.4745 +
  1.4746 +1999-12-09 (feature enhancement) removed all references to 16 bit
  1.4747 +compatibility code for Windows (hobbs)
  1.4748 +
  1.4749 +1999-12-10 (bug fix) removed check for vfork - Tcl now uses only fork in
  1.4750 +exec. (hobbs)
  1.4751 +
  1.4752 +1999-12-10 (optimization) changed Tcl_ConcatObj to return a list
  1.4753 +object when it receives all pure list objects as input (used by 'concat'),
  1.4754 +added optimizations in Tcl_EvalObjEx for pure list case, and optimized
  1.4755 +INST_TRY_CVT_TO_NUMERIC in TclExecuteByteCode for boolean objects.
  1.4756 +(oakley, hobbs)
  1.4757 +
  1.4758 +1999-12-12 (feature enhancement) enhanced glob command with -type, -path,
  1.4759 +-directory and -join switches. (darley, hobbs)
  1.4760 +
  1.4761 +1999-12-21 (bug fix) changed CreateThread to _beginthreadex and
  1.4762 +ExitThread to _endthreadex to prevent 4K mem leak (gravereaux)
  1.4763 +
  1.4764 +1999-12-21 (bug fix) fixed applescript for I18N
  1.4765 +
  1.4766 +1999-12-21 (feature enhancement) added -unique option to lsort (hobbs)
  1.4767 +
  1.4768 +1999-12-21 (bug fix) changed thread ids to longs (for 64bit systems)
  1.4769 +
  1.4770 +--- Released 8.3b1, December 22, 1999 --- See ChangeLog for details ---
  1.4771 +
  1.4772 +2000-01-10 (feature enhancement) clock scan now supports the common
  1.4773 +ISO 8601 date/time formats.  See docs for details. (melski)
  1.4774 +
  1.4775 +2000-01-10 (bug fix) prevented \ooo substitution from accepting
  1.4776 +non-octal digits [Bug: 3975] (hobbs)
  1.4777 +
  1.4778 +2000-01-11 (bug fix) fixed improper handling of DST by clock when
  1.4779 +using relative times (like "1 month" or "tomorrow"). (melski)
  1.4780 +
  1.4781 +2000-01-12 (bug fix) improved build support for Tru64 v5, NetBSD
  1.4782 +and Reliant Unix (hobbs)
  1.4783 +
  1.4784 +2000-01-12 (bug fix) made imported commands also import their
  1.4785 +compile procedure (duffin)
  1.4786 +
  1.4787 +2000-01-12 (bug fix) fixed 'info procs ::namesp::*' behavior to return
  1.4788 +procs in a namespace (dejong)
  1.4789 +
  1.4790 +2000-01-12 (feature enhancement) added support for setting permissions
  1.4791 +symbolicly (like chmod) in [file attributes $file -permissions ...] (schoebel)
  1.4792 +
  1.4793 +2000-01-13 (bug fix) fixed lsort -dictionary problem when sorting
  1.4794 +characters between 'Z' and 'a' (flawed upper/lower comparison logic) (melski)
  1.4795 +
  1.4796 +--- Released 8.3b2, January 13, 2000 --- See ChangeLog for details ---
  1.4797 +
  1.4798 +2000-01-14 (feature enhancement) clock format %Q added, clock scan updated
  1.4799 +
  1.4800 +2000-01-20 (bug fix) corrected complex array elem compiling (Spjuth)
  1.4801 +
  1.4802 +2000-01-20 (bug fix) made [info body] always return a string type arg,
  1.4803 +to prevent possible misuse of bytecodes in the wrong context (hobbs)
  1.4804 +
  1.4805 +2000-01-20 (bug fixes) several fixes to variable handling to prevent
  1.4806 +possible crashes, and further definition of correct behavior (melski)
  1.4807 +
  1.4808 +2000-01-25 (bug fixes) improved QNX, Ultrix and OSF1 (Tru64) config and
  1.4809 +compatibility (edge, furukawa)
  1.4810 +
  1.4811 +2000-01-25 (bug fix) fixed mem leak when calling lsort with a bad -command
  1.4812 +argument (hobbs)
  1.4813 +
  1.4814 +2000-01-27 (feature enhancement) package mechanism overhaul: changed
  1.4815 +behavior of pkg_mkIndex to do -direct by default, added -lazy option.
  1.4816 +Fixed pkg_mkIndex to handle odd proc names and auto_mkIndex to use platform
  1.4817 +independent file paths.  Other fixes for odd package quirks.  Added
  1.4818 +::pkg namespace and ::pkg::create helper function. (melski)
  1.4819 +
  1.4820 +2000-02-01 (bug fix) fixed problem where http POST would send one extra
  1.4821 +newline (vasiljevic)
  1.4822 +
  1.4823 +2000-02-02 (feature enhancement) added docs for new regexp -inline and
  1.4824 +-all switches. (hobbs)
  1.4825 +
  1.4826 +2000-02-08 (bug fix) corrected handling of "next monthname" in clock scan
  1.4827 +(melski)
  1.4828 +
  1.4829 +2000-02-09 (bug fix) restored Mac source to build readiness and prevented
  1.4830 +mac panic from an error when closing an async socket (steffen, ingham)
  1.4831 +
  1.4832 +2000-02-10 (feature enhancement) improved error reporting for failed
  1.4833 +loads on Windows (dejong, hobbs)
  1.4834 +
  1.4835 +--- Released 8.3.0, February 10, 2000 --- See ChangeLog for details ---
  1.4836 +
  1.4837 +2000-03 (bug fixes, feature enhancement) overhaul of http package for
  1.4838 +proper handling of async callbacks (new options), version is now at 2.3
  1.4839 +(tamhankar, welch)
  1.4840 +
  1.4841 +2000-03 (performance enhancement) speedup in Windows filename handling (newman)
  1.4842 +and ==/!= empty string in exprs. (hobbs)
  1.4843 +
  1.4844 +2000-03-27 (bug fix) added uniq'ing test to namespace export list to
  1.4845 +prevent unnecessary mem growth (hobbs)
  1.4846 +
  1.4847 +2000-03-29 (bug fix) fixed mem leak when repeatedly sourcing the same
  1.4848 +bytecompiled (tbc) code repeatedly across different interpreters (hobbs)
  1.4849 +
  1.4850 +2000-03-29 (config enhancement) improved build support for gcc/mingw on
  1.4851 +Windows (nijtmans, hobbs) and added RPM target (melski)
  1.4852 +
  1.4853 +2000-03-31 (bug fix) corrected data encoding problem when using
  1.4854 +"exec << $data" construct (melski)
  1.4855 +
  1.4856 +2000-04 (feature enhancement) overhaul of threading mechanism to better
  1.4857 +support tcl level thread command (new APIs Tcl_ConditionFinalize,
  1.4858 +Tcl_MutexFinalize, Tcl_CreateThread, etc, all docs in Thread.3).
  1.4859 +(kupries, graveraux)
  1.4860 +This enables the tcl level thread extension. (welch)
  1.4861 +
  1.4862 +2000-04-10 (bug fix) fixed infinite loop case in regexp -all (melski)
  1.4863 +
  1.4864 +2000-04-13 (config enhancement) added support for --enable-64bit-vis
  1.4865 +Sparc target. (hobbs)
  1.4866 +
  1.4867 +2000-04-18 (bug fix) moved tclLibraryPath to thread-local storage to fix
  1.4868 +possible race condition on MP machines (hobbs)
  1.4869 +
  1.4870 +2000-04-18 (config enhancement) added MacOS X build target and
  1.4871 +tclLoadDyld.c dl type. (sanchez)
  1.4872 +
  1.4873 +2000-04-23 (bug fix) several Mac socket fixes (ingham)
  1.4874 +
  1.4875 +2000-04-24 (bug fix) fixed hang in threaded Unix case when backgrounded
  1.4876 +exec process was running (dejong)
  1.4877 +
  1.4878 +--- Released 8.3.1, April 26, 2000 --- See ChangeLog for details ---
  1.4879 +
  1.4880 +2000-04-26 (doc fix) updated/added documentation for many API's and
  1.4881 +commands (melski)
  1.4882 +
  1.4883 +2000-05-02 (feature enhancement) added support for joinable threads;
  1.4884 +extended API's for channels to allow channels to move between threads
  1.4885 +(kupries)
  1.4886 +
  1.4887 +2000-05-02 (feature enhancement) changed error return for procedures
  1.4888 +with incorrect args to be like the Tcl_WrongNumArgs API, with a "wrong
  1.4889 +# args: ..." message printed, with an args list (hobbs)
  1.4890 +
  1.4891 +2000-05-08 (feature enhancement) added [array statistics] command
  1.4892 +
  1.4893 +2000-05-08 (performance enhancement) rewrote Tcl_StringCaseMatch
  1.4894 +algorithm for better performance; this affects the [string match]
  1.4895 +command; added "eq" and "ne" operands to expr, for testing
  1.4896 +string equality and inequality (hobbs)
  1.4897 +
  1.4898 +2000-05-09 (feature enhancement) extended [lsearch] to support sorted
  1.4899 +list searches and typed list searches (melski)
  1.4900 +
  1.4901 +2000-05-10 (feature enhancement) added [namespace exists] command
  1.4902 +(darley)
  1.4903 +
  1.4904 +2000-05-18 (build enhancement) added support for mingw compile env and
  1.4905 +cross-compiling (dejong)
  1.4906 +
  1.4907 +2000-05-18 (bug fix) corrected clock grammar to properly handle the
  1.4908 +"ago" keyword when it follows multiple relative unit specifiers
  1.4909 +(melski)
  1.4910 +
  1.4911 +2000-05-22 (compile fix) type cast cleanups (dejong)
  1.4912 +
  1.4913 +2000-05-23 (performance enhancement) added byte-compiled
  1.4914 +implementation of [return] command and [string] command (melski)
  1.4915 +
  1.4916 +2000-05-26 (performance enhancement) extended byte-compiled [string]
  1.4917 +command with support for [string compare/index/match] (hobbs)
  1.4918 +
  1.4919 +2000-05-27 (feature enhancement) added ability to set [info script]
  1.4920 +return value ([info script ?newFileName?]) (welch)
  1.4921 +
  1.4922 +2000-05-31 (feature enhancement) added support for regexp and exact
  1.4923 +pattern matching for [array names] (gazetta)
  1.4924 +
  1.4925 +2000-05-31 (feature enhancement) added -nocomplain and -- flags to
  1.4926 +[unset] to allow for silent unset operation (hobbs)
  1.4927 +
  1.4928 +--- Released 8.4a1, June 6, 2000 --- See ChangeLog for details ---
  1.4929 +
  1.4930 +2000-05-29 (bug fix) corrected resource cleanup in http error cases.
  1.4931 +Improved handling of error cases in http. (tamhankar)
  1.4932 +
  1.4933 +2000-07 (feature rewrite) complete rewrite of the Tcl IO channel subsystem
  1.4934 +to correct problems (hangs, core dumps) with the initial stacked channel
  1.4935 +implementation.  The new system has many more tests for robustness and
  1.4936 +scalability.  There are new C APIs (see Tcl_CreateChannel), but only
  1.4937 +stacked channel drivers are affected (ie: TLS, Trf, iogt).  The iogt
  1.4938 +extension has been added to the core test code to test the system.
  1.4939 +(hobbs, kupries)
  1.4940 +	**** POTENTIAL INCOMPATABILITY ****
  1.4941 +
  1.4942 +2000-07 (build improvements) cleanup of the makefiles and configure scripts
  1.4943 +to correct support for building under gcc for Windows. (dejong)
  1.4944 +
  1.4945 +2000-08-07 (bug fix) corrected sizeof error in Tcl_GetIndexFromObjStruct.
  1.4946 +(perkins)
  1.4947 +
  1.4948 +2000-08-07 (bug fix) correct off-by-one error in HistIndex, which was
  1.4949 +causing [history redo] to start its search at the wrong event index. (melski)
  1.4950 +
  1.4951 +2000-08-07 (bug fix) corrected setlocale calls for XIM support and locale
  1.4952 +issues in startup. (takahashi)
  1.4953 +
  1.4954 +2000-08-07 (bug fix) correct code to handle locale specific return values
  1.4955 +from strftime, if any. (wagner)
  1.4956 +
  1.4957 +2000-08-07 (bug fix) tweaked grammar to properly handle the "ago" keyword
  1.4958 +when it follows multiple relative unit specifiers, as in
  1.4959 +"2 days 2 hours ago". (melski)
  1.4960 +
  1.4961 +2000-08-07 (doc fixes) numerous doc fixes to correct SEE ALSO and NAME
  1.4962 +sections. (english)
  1.4963 +
  1.4964 +2000-08-07 (bug fix) new man pages memory.n, TCL_MEM_DEBUG.3, Init.3 and
  1.4965 +DumpActiveMemory.3. (melski)
  1.4966 +
  1.4967 +--- Released 8.3.2, August 9, 2000 --- See ChangeLog for details ---
  1.4968 +
  1.4969 +2000-06 thru 2000-11 (build improvements) Added support for mingw (gcc on
  1.4970 +Windows), AIX-5 and Win64 builds (dejong, hobbs)
  1.4971 +
  1.4972 +2000-06-23 (feature enhancement) ability to use Tcl_Obj *s as hash keys (duffin)
  1.4973 +
  1.4974 +2000-06-29 (new features) added [mcmax] and [mcmset] and extended [unknown] in
  1.4975 +msgcat package (duperval, krone, nelson)
  1.4976 +=> msgcat 1.1
  1.4977 +
  1.4978 +2000-08 thru 2000-09 added tclPlatDecls.h to default install (melski, hobbs)
  1.4979 +
  1.4980 +2000-08-24 (new feature) Enhanced trace syntax to add:
  1.4981 +	trace {add|remove|list} {variable|command} name ops command
  1.4982 +(darley, melski)
  1.4983 +
  1.4984 +2000-09-06 (cross-platform feature) Set ^Z (\32) as default EOF char. (hobbs)
  1.4985 +
  1.4986 +2000-09-07 partial fix for bug 2460 to prevent exec mem leak on Windows for the
  1.4987 +common case (gravereaux)
  1.4988 +
  1.4989 +2000-09-14 Improved string allocation growth for large strings (hintermayer,
  1.4990 +melski)
  1.4991 +
  1.4992 +2000-09-14 New non-panic'ing mem allocation functions Tcl_AttemptAlloc,
  1.4993 +Tcl_AttemptRealloc, Tcl_AttemptSetObjLength (melski)
  1.4994 +
  1.4995 +2000-09-20 (new features) completely new, enhanced syntax in tcltest package.
  1.4996 +Backwards compatable with tcltest v1. (hom)
  1.4997 +=> tcltest 2.0
  1.4998 +
  1.4999 +2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that
  1.5000 +didn't set nonBlocking correctly when resetting the flags for the write
  1.5001 +side (mem leak) Correct mem leak in channels when statePtr was released
  1.5002 +(hobbs)
  1.5003 +
  1.5004 +2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason)
  1.5005 +
  1.5006 +2000-10-06 (bug fix) corrected [file channels] to only return channels in
  1.5007 +the current interpreter (hobbs)
  1.5008 +
  1.5009 +2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to
  1.5010 +speed up command significantly in base cases (hobbs)
  1.5011 +
  1.5012 +2000-10-27 Fixed mem leak in Tcl_CreateChannel. Re-purified core via test
  1.5013 +suites.  (hobbs)
  1.5014 +
  1.5015 +2000-10-30 (new feature) add "ja_JP.eucJP" map to "euc-jp" encoding (takahashi)
  1.5016 +
  1.5017 +2000-11-01 (mem leak) Corrected excessive mem use of info exists on a
  1.5018 +non-existent array element (hobbs)
  1.5019 +
  1.5020 +2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded
  1.5021 +environment (gravereaux)
  1.5022 +
  1.5023 +2000-11-03 (new feature) Tcl_SetMainLoop enables defining an event loop for
  1.5024 +tclsh.  This enables Tk as a truly loadable package. (hobbs)
  1.5025 +
  1.5026 +--- Released 8.4a2, November 3, 2000 --- See ChangeLog for details ---
  1.5027 +
  1.5028 +2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that
  1.5029 +didn't set nonBlocking correctly when resetting the flags for the write
  1.5030 +side (mem leak) Correct mem leak in channels when statePtr was released
  1.5031 +(hobbs)
  1.5032 +
  1.5033 +2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason)
  1.5034 +
  1.5035 +2000-10-06 (bug fix) corrected [file channels] to only return channels in
  1.5036 +the current interpreter (hobbs)
  1.5037 +
  1.5038 +2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to
  1.5039 +speed up command significantly in base cases (hobbs)
  1.5040 +
  1.5041 +2000-11-01 (mem leak) Corrected excessive mem use of info exists on a
  1.5042 +non-existent array element (hobbs)
  1.5043 +
  1.5044 +2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded
  1.5045 +environment (gravereaux)
  1.5046 +
  1.5047 +2000-11-23 (mem leak) fixed potential memory leak in error case of lsort
  1.5048 +(fellows)
  1.5049 +
  1.5050 +2000-12-09 (feature enhancement) changed %o and %x to use strtoul instead
  1.5051 +of strtol to correctly preserve scan<>format conversion of large integers
  1.5052 +(hobbs)
  1.5053 +Fixed handling of {!<boolean>} in expressions (hobbs, fellows)
  1.5054 +
  1.5055 +2000-12-14 (feature enhancement) improved (s)rand for 64-bit platforms
  1.5056 +(porter)
  1.5057 +
  1.5058 +2001-01-04 (bug fix) corrected parsing of $tcl_libPath at startup on
  1.5059 +Windows (porter)
  1.5060 +
  1.5061 +2001-01-30 (bug fix) Fixed possible hangs in fcopy. (porter)
  1.5062 +
  1.5063 +2001-02-15 (performance enhancement) improved efficiency of [string split]
  1.5064 +(fellows)
  1.5065 +
  1.5066 +2001-03-13 (bug fix) Correctly possible memory corruption in string map {}
  1.5067 +$str (fellows)
  1.5068 +
  1.5069 +2001-03-29 (bug fix) prevent potential race condition and security leak in
  1.5070 +tmp filename creation on Unix. (max)
  1.5071 +Fixed handling of timeout for threads (corrects excessive CPU usage issue
  1.5072 +for Tk on Unix in threaded Tcl environment). (ruppert)
  1.5073 +
  1.5074 +2001-03-30 (bug fix) corrected Windows memory error on exit (wu)
  1.5075 +Fixed race condition in readability of socket on Windows.
  1.5076 +
  1.5077 +2001-04-03 (doc fixes) numerous doc corrections and clarifications.
  1.5078 +Update of READMEs.
  1.5079 +
  1.5080 +2001-04-04 (build improvements) redid Mac build structure (steffen)
  1.5081 +Corrected IRIX-5* configure (english).  Added support for AIX-5 (hobbs).
  1.5082 +Added support for Win64 (hobbs).
  1.5083 +
  1.5084 +--- Released 8.3.3, April 6, 2001 --- See ChangeLog for details ---
  1.5085 +
  1.5086 +2000-11-23 (new feature)[TIP 7] higher resolution timer on Windows (kenny)
  1.5087 +
  1.5088 +2001-01-18 (new feature) Tcl_InitHashTableEx renamed to Tcl_InitCustomHashTable
  1.5089 +(kupries)
  1.5090 +
  1.5091 +2001-03-30 (new feature)[TIP 10] support for thread-aware/hot channels (kupries)
  1.5092 +
  1.5093 +2001-04-06 (new feature)[219280] auto-loading hidden in ::errorInfo (porter)
  1.5094 +
  1.5095 +2001-04-07 (bug fix)[406709] corrected panic when extra items left on the
  1.5096 +byte compiler execution stack (sofer)
  1.5097 +
  1.5098 +2001-04-09 (bug fix)[219136,232558] improved use of thread-safe functions in
  1.5099 +unix time commands (kenny)
  1.5100 +
  1.5101 +2001-04-24 (new feature)[TIP 27] started CONST-ification of the Tcl APIs (kenny)
  1.5102 +
  1.5103 +2001-05-03 (new feature) [auto_import] now matches patterns like
  1.5104 +[namespace import], not like [string match] (porter)
  1.5105 +        **** POTENTIAL INCOMPATABILITY ****
  1.5106 +
  1.5107 +2001-05-07 (new feature)[416643] distinct srand() seed per interp (sofer)
  1.5108 +
  1.5109 +2001-05-15 (new feature) new Tcl_GetUnicodeFromObj API (hobbs)
  1.5110 +
  1.5111 +2001-05-16 (performance enhancement) byte-compiled versions of [lappend],
  1.5112 +[append] simple cases (hobbs)
  1.5113 +
  1.5114 +2001-05-23 (new feature) added ISO-8859-15 and koi8-u encodings, updated other
  1.5115 +encoding tables based on http://www.unicode.org/Public/MAPPINGS/ (kuhn)
  1.5116 +
  1.5117 +2001-05-27 (new feature) updated to Unicode 3.1.0 data set (still using 16
  1.5118 +bits for Tcl_UniChar though) (hobbs)
  1.5119 +
  1.5120 +2001-05-30 (new feature)[TIP 15] Tcl_GetMathFuncInfo, Tcl_ListMathFuncs,
  1.5121 +Tcl_InfoObjCmd, InfoFunctionsCmd APIs (fellows)
  1.5122 +
  1.5123 +2001-06-08 (bug fix,feature enhancement)[219170,414936] all Tcl_Panic 
  1.5124 +definitions brought into agreement (porter)
  1.5125 +
  1.5126 +2001-06-12 (bug fix)[219232] regexp returned non-matching sub-pairs to have
  1.5127 +index pair {-1 -1} (fellows)
  1.5128 +
  1.5129 +2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII
  1.5130 +characters.  (hobbs, riefenstahl)
  1.5131 +
  1.5132 +2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer)
  1.5133 +
  1.5134 +2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings
  1.5135 +(hobbs, barras)
  1.5136 +
  1.5137 +2001-07-12 (new feature)[TIP 36] Tcl_SubstObj API (fellows)
  1.5138 +
  1.5139 +2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows
  1.5140 +(hobbs, jsmith)
  1.5141 +
  1.5142 +2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size
  1.5143 +of a channel is changed after channel use has already begun (kupries, porter)
  1.5144 +
  1.5145 +2001-07-31 (new feature)[TIP 17] TclFS* APIs provide new virtual file
  1.5146 +system.  This includes the addition of 'file normalize', 'file system',
  1.5147 +'file separator' and 'glob -tails' (darley)
  1.5148 +
  1.5149 +2001-08-06 (bug fix) removed use of tmpnam in TclpCreateTempFile on Unix (lim)
  1.5150 +
  1.5151 + * improved build support for IRIX, GNU HURD, Mac OS 9 and OS X
  1.5152 +
  1.5153 + * configure scripts revamped for better support of cygwin and gcc on
  1.5154 +   Windows (mdejong)
  1.5155 +
  1.5156 + * corrected several minor errors noted by Purify (hobbs)
  1.5157 +
  1.5158 +--- Released 8.4a3, August 6, 2001 --- See ChangeLog for details ---
  1.5159 +
  1.5160 +2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII
  1.5161 +characters.  (hobbs, riefenstahl)
  1.5162 +
  1.5163 +2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer)
  1.5164 +
  1.5165 +2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings
  1.5166 +(hobbs, barras)
  1.5167 +
  1.5168 +2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows
  1.5169 +(hobbs, jsmith)
  1.5170 +
  1.5171 +2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size
  1.5172 +of a channel is changed after channel use has already begun (kupries, porter)
  1.5173 +
  1.5174 +2001-08-06 (bug fix)[442665] corrected object reference counting in [gets]
  1.5175 +(jikamens)
  1.5176 +
  1.5177 +2001-08-06 (new feature) added GNU (HURD) configuration target. (brinkmann)
  1.5178 +
  1.5179 +2001-08-07 (bug fix)[406709] corrected panic when extra items left on the
  1.5180 +byte compiler execution stack (see test foreach-5.5) (sofer, tallneil, jstrot)
  1.5181 +
  1.5182 +2001-08-08 (new features) updated packages msgcat 1.1.1, opt 0.4.3,
  1.5183 +tcltest 1.0.1, dependencies checked (porter)
  1.5184 +
  1.5185 +2001-08-20 (new feature)[452217] http 2.3.2: include port number in Host: header
  1.5186 +to comply with HTTP/1.1 spec (RFC 2068)  (hobbs, tils)
  1.5187 +
  1.5188 +2001-08-23 (new feature) added QNX-6 build support (loverso)
  1.5189 +
  1.5190 +2001-08-23 (bug fix) corrected handling of spaces in path name passed to
  1.5191 +[exec] on Windows (kenpoole)
  1.5192 +
  1.5193 +2001-08-24 (bug fix) corrected [package forget] stopping on non-existent
  1.5194 +package (porter)
  1.5195 +
  1.5196 +2001-08-24 (bug fix) corrected construction of script library search path
  1.5197 +relative to executable (porter)
  1.5198 +
  1.5199 +2001-08-24 (bug fix) [auto_import] now matches patterns like
  1.5200 +[namespace import], not like [string match] (porter)
  1.5201 +        **** POTENTIAL INCOMPATABILITY ****
  1.5202 +
  1.5203 +2001-08-27 (new feature) added Tcl_SetMainLoop() to enable loading Tk as a
  1.5204 +true package (hobbs)
  1.5205 +
  1.5206 +2001-08-30 (bug fix) build support for Crays (andreasen)
  1.5207 +
  1.5208 +2001-09-01 (bug fix) rewrite of Tcl_Async* APIs to better manage thread
  1.5209 +cleanup  (gravereaux)
  1.5210 +
  1.5211 +2001-09-06 (new feature) http 2.4: honor the Content-encoding and charset
  1.5212 +parameters; add -binary switch for forcing the issue (hobbs, saoukhi, orwell)
  1.5213 +=> http 2.4
  1.5214 +
  1.5215 +2001-09-06 (performance enhancement) rewrite of file I/O flush management on
  1.5216 +Windows.  Approximately 100x speedup for some operations. (kupries, traum)
  1.5217 +
  1.5218 +2001-09-10 (bug fix) corrected finalization error in TclInExit (darley)
  1.5219 +
  1.5220 +2001-09-10 (bug fix) protect against alias loops (hobbs)
  1.5221 +
  1.5222 +2001-09-12 (bug fix) added missing #include in tclLoadShl.c (techentin)
  1.5223 +
  1.5224 +2001-09-12 (bug fix) script library path construction on Windows no longer
  1.5225 +uses registry, nor adds the current working directory to the path (porter)
  1.5226 +
  1.5227 +2001-09-12 (bug fix) correct bugs in compatibility strtod() (porter)
  1.5228 +
  1.5229 +2001-09-13 (bug fix) Tcl_UtfPrev now returns the proper location when the
  1.5230 +middle of a UTF-8 byte is passed in (hobbs)
  1.5231 +
  1.5232 +2001-09-19 (bug fix) [format] and [scan] corrected for 64-bit machines (rmax)
  1.5233 +
  1.5234 +2001-09-19 (new feature) --enable-64-bit support for HP-11. (hobbs)
  1.5235 +
  1.5236 +2001-09-19 (new feature) native memory allocator now default on Windows
  1.5237 +(hobbs)
  1.5238 +
  1.5239 +2001-09-20 (new feature) WIN64 support and extra processor definitions
  1.5240 +(hobbs, mstacy)
  1.5241 +
  1.5242 +2001-09-26 (bug fix) corrected potential deadlock in channels that do not
  1.5243 +provide a BlockModeProc (kupries, kogorman)
  1.5244 +
  1.5245 +2001-10-03  (new feature) WIN64 build support (hobbs)
  1.5246 +
  1.5247 +2001-10-03 (bug fix) correction in thread finalization (rbrunner)
  1.5248 +
  1.5249 +2001-10-04 (new feature) updated encodings with latest mappings from
  1.5250 +www.unicode.org (hobbs)
  1.5251 +
  1.5252 +2001-10-11 (bug fix) corrected cleanup of self-referential bytecodes at
  1.5253 +interpreter deletion (sofer, rbrunner)
  1.5254 +
  1.5255 +2001-10-16 (new feature) config support for MacOSX / Darwin (steffen)
  1.5256 +
  1.5257 +2001-10-16 (new feature, Mac) change in binary extension format from MachO
  1.5258 +bundles to standard .dylib dynamic libraries like on other unices.
  1.5259 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5260 +
  1.5261 +2001-10-18 (bug fix) corrected off-by-one-day error in clock scan with
  1.5262 +relative months and years during swing hours. (lavana)
  1.5263 +
  1.5264 +--- Released 8.3.4, October 19, 2001 --- See ChangeLog for details ---
  1.5265 +
  1.5266 +2001-08-21 (bug fix)[219184] overagressive compilation of [catch] (sofer)
  1.5267 +
  1.5268 +2001-08-22 (new feature)[227482] [dde request -binary] (hobbs)
  1.5269 +=> dde 1.2
  1.5270 +
  1.5271 +2001-08-30 (performance enhancement)[456668] fully qualified command names use
  1.5272 +cached Command for all namespaces, avoiding repeated lookups (sofer)
  1.5273 +
  1.5274 +2001-08-31 (performance enhancement) bytecompiled [list] (hobbs)
  1.5275 +
  1.5276 +2001-09-02 (bug fix)[403553] Add -Zl to VC++ compile line for tclStubLib to
  1.5277 +avoid any specific C-runtime library dependence. (gravereaux)
  1.5278 +
  1.5279 +2001-09-05 (new feature) restored support for Borland compiler (gravereaux)
  1.5280 +
  1.5281 +2001-09-05 (new feature)[TIP 49] Tcl_OutputBuffered API (schroedter, fellows)
  1.5282 +
  1.5283 +2001-09-07 (new feature) restored VC++ 5.0 compatibility (gravereaux)
  1.5284 +
  1.5285 +2001-09-10 (performance enhancement)[TIP 53,451441] [proc foo args {}] now
  1.5286 +compiles to 0 bytecodes (sofer)
  1.5287 +
  1.5288 +2001-09-13 (new feature)[TIP 56] Tcl_EvalTokensStandard API (sofer)
  1.5289 +
  1.5290 +2001-09-13 (new feature) Old ChangeLog entries => ChangeLog.1999 (hobbs)
  1.5291 +
  1.5292 +2001-09-17 (new feature) compiling with TCL_COMPILE_DEBUG now required to 
  1.5293 +enable all compile and execution tracing (sofer)
  1.5294 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5295 +
  1.5296 +2001-09-19 (bug fix)[411825] made TclNeedSpace UTF-8 aware (fellows)
  1.5297 +
  1.5298 +2001-09-19 (bug fix)[219166] overagressive compilation of "quoted" bodies of
  1.5299 +[for], [foreach], [if], and [while] (sofer)
  1.5300 +
  1.5301 +2001-09-19 (performance enhancement) bytecompiled [string match] (hobbs)
  1.5302 +
  1.5303 +2001-10-15 (new feature)[TIP 35] serial channel configuration: Win (schroedter)
  1.5304 +
  1.5305 +2001-11-06 (bug fix)[478856] loss of fileevents due to short reads (kupries)
  1.5306 +
  1.5307 +2001-11-06 (new feature) revitalized makefile.vc (gravereaux)
  1.5308 +
  1.5309 +2001-11-07 (new feature) Cygwin gcc support dropped.  Use mingw (dejong)
  1.5310 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5311 +
  1.5312 +2001-11-07 (new feature) Support --include-dir= and --libdir= options to
  1.5313 +configure.  Store in tclConfig.sh as TCL_INCLUDE_SPEC and TCL_LIB_SPEC.
  1.5314 +(dejong)
  1.5315 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5316 +
  1.5317 +2001-11-08 (new feature) Enable --enable-threads on FreeBSD (dejong)
  1.5318 +
  1.5319 +2001-11-08 (new feature) New make target 'make gdb' (dejong)
  1.5320 +
  1.5321 +2001-11-09 (bug fix)[480176] [global] mishandled varnames matching :* (porter)
  1.5322 +
  1.5323 +2001-11-12 (new feature)[TIP 22,33,45] new command [lset],
  1.5324 +[lindex] extended to accept multiple indices. (kenny, hobbs)
  1.5325 +
  1.5326 +2001-11-16 (new feature) new configure option --enable-langinfo=no.
  1.5327 +By default, nl_langinfo() is used on Unix to determine system encoding.
  1.5328 +Tcl's built-in system is used only if that fails, or configured with
  1.5329 +--enable-langinfo=no. (hobbs, wagner)
  1.5330 +
  1.5331 +2001-11-19 (new feature)[TIP 62] A Tcl_VarTraceProc can now return Tcl_Obj *
  1.5332 +or a dynamic string as well as a static string to indicate an error (fellows)
  1.5333 +
  1.5334 +2001-11-19 (new feature)[TIP 73] Tcl_GetTime API (kenny)
  1.5335 +
  1.5336 +2001-11-19 (bug fix)[478847] overflows in [time] of >2**31 microseconds (kenny)
  1.5337 +
  1.5338 +2001-11-29 (performance enhancement) caching scheme added to [binary scan]
  1.5339 +(fellows)
  1.5340 +
  1.5341 +2001-12-05 (new feature) new algorithm for [array get] adds safety when read
  1.5342 +traces modify the array. (sofer)
  1.5343 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5344 +
  1.5345 +2001-12-10 (bug fix)[490514] doc fixes (porter,english)
  1.5346 +
  1.5347 +2001-12-18 (new feature) removed unix/dltest/configure; unix/configure does
  1.5348 +all (dejong)
  1.5349 +
  1.5350 +2001-12-19 (new feature) New make target 'make shell' (dejong)
  1.5351 +
  1.5352 +2001-12-21 (new feature) MaxOSX / Darwin support (steffen)
  1.5353 +
  1.5354 +2001-12-28 (new feature) new command [memory onexit] replaces [checkmem] when
  1.5355 +compiled with TCL_MEM_DEBUG.  Added documentation. (porter)
  1.5356 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5357 +
  1.5358 +2001-12-28 (bug fix) proper case in [auto_execok] use of $env(COMPSPEC) (hobbs)
  1.5359 +
  1.5360 +2002-01-05 (feature rewrite) Tcl_Main() rewritten and documentation improved.
  1.5361 +Interactive operation and event loop operation (via Tcl_SetMainLoop) now
  1.5362 +interleave cleanly.  Also more robust against strange happenings. (porter)
  1.5363 +
  1.5364 +2002-01-17 (bug fix)[504642] Tcl_Obj refCounts in [gets] (griffen,kupries)
  1.5365 +
  1.5366 +2002-01-21 (bug fix)[506297] infinite loop writing in iso2022-jap encoding
  1.5367 +(forssen,kupries)
  1.5368 +
  1.5369 +2002-01-24 (HTTP server bug workaround)[504508] leave the default port out
  1.5370 +of the Host: header value
  1.5371 +=> http 2.4.1 (hobbs)
  1.5372 +
  1.5373 +2002-01-25 (new feature)[496733] socket options -eofchar and -translation
  1.5374 +return read-only values (dejong)
  1.5375 +
  1.5376 +2002-01-28 (new feature) Old ChangeLog entries => ChangeLog.20900 (hobbs)
  1.5377 +
  1.5378 +2002-01-28 (performance enhancement) bytecompiled [regexp] for trivial cases
  1.5379 +that amount to string matching.  Also -nocase and --. (hobbs)
  1.5380 +
  1.5381 +2002-02-05 (bug fix) [http::error] called when [::error] intended
  1.5382 +=> http 2.4.2 (porter)
  1.5383 +
  1.5384 +2002-02-05 (bug fix)[465765] avoid zero-byte writes to STREAMs
  1.5385 +(talcott,kupries)
  1.5386 +
  1.5387 +2002-02-06 (performance enhancement) [regsub] special cases that map to
  1.5388 +[string map] detected. (hobbs)
  1.5389 +
  1.5390 +2002-02-06 (bug fix)[495213] [scan] accept 0x as prefix of base 16 value
  1.5391 +(hobbs)
  1.5392 +
  1.5393 +2002-02-10 (new feature)[TIP 32,79] Tcl_CreateObjTrace API (kenny)
  1.5394 +
  1.5395 +2002-02-12 (new feature) partial support for DJGPP Tcl on DOS (gravereaux)
  1.5396 +
  1.5397 +2002-02-14 (mem leak) Fixed leaking an empty Tcl_Obj when [gets $chan]
  1.5398 +errored out. (kupries, sofer)
  1.5399 +
  1.5400 +2002-02-15 (new feature)[TIP 72] support for 64-bit integer values on
  1.5401 +32-bit platforms and ability to work with >2GiB files.  Extends many
  1.5402 +commands.  See ChangeLog and TIP for details.
  1.5403 +	*** POTENTIAL INCOMPATIBILITY ***
  1.5404 +
  1.5405 +2002-02-22 (bug fix)[476537] Fix panic when loading shared library without
  1.5406 +proper use of stubs on platform without backlinking (porter)
  1.5407 +
  1.5408 +2002-02-22 (new feature)  64-bit support for xlc compiler on AIX-4 (hobbs)
  1.5409 +
  1.5410 +2002-02-22 (new feature)[521560] Removed limits on filename length and
  1.5411 +format [source]able through the Safe Base (hobbs)
  1.5412 +
  1.5413 +2002-02-22 (performance enhancement) optimized bytecodes for [if], [for],
  1.5414 +[while] and constant conditions (sofer)
  1.5415 +
  1.5416 +2002-02-22 (new feature)[TIP 76] [regsub] can now return result (fellows)
  1.5417 +
  1.5418 +2002-02-25 (bug fix)[495207] buffer overrun when closing ] left out of
  1.5419 +argument to [subst] (sofer, english)
  1.5420 +
  1.5421 +2002-02-25 (bug fix)[514392] [load] updated for Mac OS X 10.1 (steffen)
  1.5422 +
  1.5423 +2002-02-26 (bug fix) [info hostname] choked on names >31 characters (hobbs)
  1.5424 +
  1.5425 +2002-02-26 (new feature)[TIP 35] serial channel configuration: Unix
  1.5426 +(schroedter, hobbs)
  1.5427 +
  1.5428 +2002-02-25 (bug fix)[483575] [fconfigure ... -error] now no-op on Mac (kupries)
  1.5429 +
  1.5430 +2002-02-28 (performance enhancement)[458872] fully qualified command names use
  1.5431 +cached Command for all namespaces, avoiding repeated lookups (sofer)
  1.5432 +
  1.5433 + * (new feature)[TIP 27] completed CONST-ification of TCL APIs.
  1.5434 +Added compiler macro USE_NON_CONST to keep using those old API prototypes
  1.5435 +that present irreconcilable source incompatibilities with header files
  1.5436 +of prior Tcl releases.  Others will need to be reconciled.
  1.5437 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5438 +
  1.5439 +2002-03-04 (bug fix)[474358, 218099, 219314, 524674] fixed several problems
  1.5440 +related to the handling of iso2022 text and finalization of escape-based
  1.5441 +encodings. (taguchi, takahashi, hobbs)
  1.5442 +
  1.5443 +--- Released 8.4a4, March 5, 2002 --- See ChangeLog for details ---
  1.5444 +
  1.5445 +2002-03-06 (new feature)[TIP 80] expanded [lsearch] options (wilkason, fellows)
  1.5446 +
  1.5447 +2002-03-07 (new feature)[TIP 87] [interp recursionlimit] (trier)
  1.5448 +
  1.5449 +2002-03-08 (platform feature) mingw 1.1 build favored (dejong)
  1.5450 +
  1.5451 +2002-03-20 (new feature)[TIP 27] CONST-ified variable access functions (porter)
  1.5452 +
  1.5453 +2002-03-24 (bug fix)[511666,511658,523217,530960] expanded
  1.5454 +Tcl_FSMatchInDirectory to handle assorted [glob] bugs in VFS. (darley)
  1.5455 +        *** POTENTIAL INCOMPATIBILITY with prior 8.4a releases ***
  1.5456 +
  1.5457 +2002-03-25 (bug fix)[495726] stopped tcltest disabling of auto-loading (porter)
  1.5458 +
  1.5459 +2002-03-25 (bug fix)[495977] allow \n in test constraints (porter)
  1.5460 +
  1.5461 +2002-03-27 (platform support)[527941,533862] VC/winhelp/W9X (spjuth,
  1.5462 +gravereaux)
  1.5463 +
  1.5464 +2002-03-28 (bug fix)[219181] exception at level 0 issues (sofer)
  1.5465 +
  1.5466 +2002-03-28 (bug fix)[219362] command termination; Tcl_CreateTrace (knoll,sofer)
  1.5467 +
  1.5468 +2002-04-05 (bug fix)[536879] exceptions during variable subst (porter)
  1.5469 +
  1.5470 +2002-04-15 (bug fix)[497446,513983] tcltest syntax errors now raised (porter)
  1.5471 +	***POTENTIAL INCOMPATIBILITY with prior tcltest 2.0.* (8.4aX)***
  1.5472 +
  1.5473 +2002-04-17 (bug fix)[495660] [(save|restore)state] deprecated (porter)
  1.5474 +
  1.5475 +2002-04-17 (bug fix)[526524] escape-based encodings corrected (yamamoto, hobbs)
  1.5476 +
  1.5477 +2002-04-18 (bug fix)[542588] [expr] error msgs improved (ehrens, sofer)
  1.5478 +
  1.5479 +2002-04-18 (bug fix)[545325] [info level $level] now returns [namespace eval]
  1.5480 +as documented (suchenwirth,sofer)
  1.5481 +
  1.5482 +2002-04-19 (bug fix)[544727] export [mcload]; ns context of [mcmax] (porter)
  1.5483 +=> msgcat 1.2.3
  1.5484 +
  1.5485 +2002-04-22 (performance enhancement) threaded memory allocator (AOL, hobbs)
  1.5486 +
  1.5487 +2002-04-24 (new feature) TCLTK_NO_LIBRARY_TEXT_RESOURCES #define disables
  1.5488 +inclusion of tcl library code in resource fork on Mac.  (steffen)
  1.5489 +
  1.5490 +2002-05-21 (platform support) static libs on OSF (dejong)
  1.5491 +
  1.5492 +2002-05-24 (bug fix)[557878] set encoding on listening socket (staplin,
  1.5493 +kupries)
  1.5494 +
  1.5495 +2002-05-24 (new feature)[TIP 91] Tcl_Seek compatibility (fellows)
  1.5496 +
  1.5497 +2002-05-28 (bug fix)[545579] VFS [load] left temp file (darley)
  1.5498 +
  1.5499 +2002-05-28 (bug fix)[559376] plug timezone env leak on Windows (hobbs)
  1.5500 +
  1.5501 +2002-05-29 (performance enhancement) [string compare] optimized (hobbs,fellows)
  1.5502 +
  1.5503 +2002-05-31 (bug fix)[550534] plug interp leak in [pkg_mkIndex] (helmut)
  1.5504 +
  1.5505 +2002-05-31 (dead code)[474335,555635] removed all use of matherr() (english)
  1.5506 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5507 +
  1.5508 +2002-06-04 (new feature)[TIP 85,521362] custom result match in tcltest
  1.5509 +(markus, porter)
  1.5510 +=> tcltest 2.1
  1.5511 +
  1.5512 +2002-06-06 (bug fix)[524352] encoding, threading, and environment issues on
  1.5513 +MacOSX (steffen)
  1.5514 +
  1.5515 +2002-06-06 (bug fix)[512214,558742,512214,461000] lazy initialization of
  1.5516 +tcltest constraints (porter)
  1.5517 +
  1.5518 +2002-06-07 (bug fix)[563122,564595] EOVERFLOW definitions (fellows)
  1.5519 +
  1.5520 +2002-06-11 (bug fix)[567386] [info locals] corrections (sofer)
  1.5521 +
  1.5522 +2002-06-14 (new feature)[TIP 102] [trace list] renamed [trace info] (fellows)
  1.5523 +
  1.5524 +2002-06-17 (new feature)[525522,525525] msgcat support for XPG4 locales;
  1.5525 +examination of LC_ALL, LC_MESSAGES environment variables (haible, porter)
  1.5526 +=> msgcat 1.3
  1.5527 +
  1.5528 +2002-06-17 (new feature)[565088] header files assume modern C compiler by
  1.5529 +default; older compilers may need configuration (english)
  1.5530 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5531 +
  1.5532 +2002-06-17 (bug fix)[554068] [exec] argument quoting on Windows (darley)
  1.5533 +
  1.5534 +2002-06-17 (new feature)[TIP 62,462580] command execution traces (lavana)
  1.5535 +
  1.5536 +2002-06-19 (bug fix)[558324] regexp sets a linked variable (watson)
  1.5537 +
  1.5538 + * (performance enhancment) optimizations of bytecode execution (sofer)
  1.5539 +
  1.5540 +2002-06-21 (new feature)[TIP 99,562970] new [file link] command (darley)
  1.5541 +
  1.5542 +2002-06-24 (new feature)[TIP 101] new [tcltest::configure] command (porter)
  1.5543 +=> tcltest 2.2
  1.5544 +
  1.5545 +2002-06-25 (new feature) --enable-man-symlinks and --enable-man-compression
  1.5546 +options to configure (max)
  1.5547 +
  1.5548 +2002-06-26 (bug fix)[565880] [clock format] now respects locale (max)
  1.5549 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5550 +
  1.5551 +2002-07-03 (bug fix)[577015] [catch] catches even compile errors (sofer)
  1.5552 +
  1.5553 +--- Released 8.4b1, July 5, 2002 --- See ChangeLog for details ---
  1.5554 +
  1.5555 +2002-07-08 (bug fix) restored compatibility of [viewFile] in tcltest (porter)
  1.5556 +
  1.5557 +2002-07-11 (bug fix) [file normalize] returns long form on Win 95/98/ME (darley)
  1.5558 +
  1.5559 +2002-07-15 (performance enhancment) variable operations rewritten to store
  1.5560 +	and use cached Var pointers (sofer)
  1.5561 +
  1.5562 +2002-07-22 (bug fix)[218000] Inf and Nan are floating-point values (fellows)
  1.5563 +
  1.5564 +2002-07-23 (platform support)[219220] 64-bit compile on IRIX (dejong)
  1.5565 +
  1.5566 +2002-07-25 (bug fix)[219218] return codes in background errors (english)
  1.5567 +
  1.5568 +2002-07-28 (bug fix)[582522] alias fires exec traces (sofer)
  1.5569 +
  1.5570 +2002-07-29 (bug fix)[578363] regexp (fellows,pvgoran)
  1.5571 +
  1.5572 +2002-07-30 (bug fix)[584603] WriteChars infinite loop non-UTF-8 string (kupries)
  1.5573 +
  1.5574 +2002-08-04 (new feature)[584051,580433,585105,582429][TIP 27] Tcl interfaces 
  1.5575 +	are now fully CONST-ified.  Use the symbols USE_NON_CONST or
  1.5576 +	USE_COMPAT_CONST to select interfaces with fewer changes.
  1.5577 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5578 +
  1.5579 +2002-08-05 (bug fix)[589859] tcltest setup and cleanup scripts skipped when
  1.5580 +	test body is skipped (porter)
  1.5581 +	=> tcltest 2.2
  1.5582 +
  1.5583 +2002-08-07 (bug fix)[587488] mem leak with USE_THREAD_ALLOC (sofer,sass)
  1.5584 +	
  1.5585 +2002-08-07 (feature enhancement)[584794,584650,472576] boolean values
  1.5586 +	are no longer always re-parsed from string. (sofer)
  1.5587 +
  1.5588 +Many internal bugs fixed.
  1.5589 +Considerable cleanup of the test suite.
  1.5590 +
  1.5591 +--- Released 8.4b2, August 9, 2002 --- See ChangeLog for details ---
  1.5592 +
  1.5593 +2002-08-20 (new feature) --enable-memdebug configure option (kupries)
  1.5594 +
  1.5595 +2002-08-23 (bug fix)[597936] mem leak with USE_THREAD_ALLOC (sofer,zoran)
  1.5596 +
  1.5597 +2002-08-26 (bug fix)[599788] segfault in compiler (sofer,wilkason)
  1.5598 +
  1.5599 +2002-08-28 (bug fix)[414910] avoid mem leaks accessing environment variables
  1.5600 +	on Windows (welton,gravereaux)
  1.5601 +
  1.5602 +2002-08-31 (platform support)[TIP 108] Mac OS X port (steffen,ingham)
  1.5603 +
  1.5604 +2002-09-02 (platfrom support) 64-bit compile on HP-11 (martin)
  1.5605 +
  1.5606 +--- Released 8.4.0, September 10, 2002 --- See ChangeLog for details ---
  1.5607 +
  1.5608 +2002-09-18 (platform support) Updated support for compiling with Cygwin and
  1.5609 +either mingw or gcc. (khan, howell, dejong)
  1.5610 +
  1.5611 +2002-09-22 (bug fix)[612786, 611922] Corrected [puts -nonewline] within
  1.5612 +test bodies. Also corrected reporting of body return code.  Updated tcltest
  1.5613 +to v2.2.1.
  1.5614 +
  1.5615 +2002-09-24 (bug fix)[613117] More robust 64-bit wide integer value
  1.5616 +detection (fellows)
  1.5617 +
  1.5618 +2002-09-26 (bug fix) correct overeager optimization of noop proc to handle
  1.5619 +the precompiled case. (sofer, hobbs)
  1.5620 +
  1.5621 +2002-09-26 (bug fix)[615115] removed extraneous spaces in koi8-u.enc that
  1.5622 +confused encoding reader.
  1.5623 +
  1.5624 +2002-09-29 (bug fix)[219355] Added proper exiting conditions using Win32
  1.5625 +console signals.  This handles the existing lack of a Ctrl+C exit to call
  1.5626 +exit handlers when built for thread support.  Also, properly handles exits
  1.5627 +from other conditions such as CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and
  1.5628 +CTRL_SHUTDOWN_EVENT signals.  In all cases, exit handlers will be called.
  1.5629 +(gravereaux)
  1.5630 +
  1.5631 +2002-09-30 (bug fix) improve the checking for bad regular expressions
  1.5632 +during regexp compilation.  Resultant compiles were correct, but much
  1.5633 +slower than necessary. (hobbs)
  1.5634 +
  1.5635 +2002-10-01 (bug fix) fix precompiled locals to support 8.3 precompiled
  1.5636 +code. (hobbs)
  1.5637 +
  1.5638 +2002-10-09 (bug fix)[620735] Added code to set an exit handler on Windows
  1.5639 +that terminates the thread that calibrates the performance counter, so that
  1.5640 +the thread won't outlive unloading the Tcl DLL. (kenny)
  1.5641 +
  1.5642 +2002-10-09 (build support) all --enable-symbols to take the enhanced
  1.5643 +options yes|no|mem|compile|all. (hobbs)
  1.5644 +
  1.5645 +2002-10-10 (build support) enable USE_THREAD_ALLOC (new threaded allocator)
  1.5646 +by default on Windows. (hobbs, gravereaux)
  1.5647 +
  1.5648 +2002-10-14 (bug fix)[623269] correct possible mem leak in
  1.5649 +Tcl_PutEnv. (brouwers)
  1.5650 +
  1.5651 +2002-10-15 (bug fix)[615043] fix in execution traces with idle tasks
  1.5652 +firing. (lavana)
  1.5653 +
  1.5654 +2002-10-15 (platform support) Correct AIX-5 ppc and 4/5 64-bit build flags.
  1.5655 +Correct HP 11 64-bit gcc building. (martin, hobbs)
  1.5656 +
  1.5657 +2002-10-17 (bug fix)[624755] Fixed code that check for proper # of args to
  1.5658 +[array names] (porter)
  1.5659 +
  1.5660 +2002-10-18 (feature enhancement)[625453] Added support for broadcasting
  1.5661 +changes to the registry Environment on Windows.  Updated registry package
  1.5662 +to v1.1. (hobbs)
  1.5663 +
  1.5664 +2002-10-22 (platform support)[624509] On macosx, add embedded framework
  1.5665 +dirs to tcl_pkgPath: @executable_path/../Frameworks and
  1.5666 +@executable_path/../PrivateFrameworks (if they exist), as well as the dirs
  1.5667 +in DYLD_FRAMEWORK_PATH (if set). (steffen)
  1.5668 +
  1.5669 +--- Released 8.4.1, October 22, 2002 --- See ChangeLog for details ---
  1.5670 +
  1.5671 +2002-10-28 (bug fix)[627660] [package unknown] chaining for platform specifics
  1.5672 +
  1.5673 +2002-10-29 (bug fix)[627546] verbose [load] (dyld) error mesages on MacOSX
  1.5674 +
  1.5675 +2002-11-01 (bug fix) [package provide registry] consistent versions.
  1.5676 +
  1.5677 +2002-11-06 (bug fix)[582039] missing ar program -> configuration error
  1.5678 +
  1.5679 +2002-11-06 (feature enhancement) added new TclInThreadExit function to
  1.5680 +test for thread exit vs whole process exit condition. The TclInExit
  1.5681 +function now correctly returns 1 during Tcl_Finalize processing.
  1.5682 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5683 +
  1.5684 +2002-11-13 (bug fix)[615043] some execution traces were not firing
  1.5685 +
  1.5686 +2002-11-18 (bug fix)[634856] multiple signs no longer accepted as valid integer
  1.5687 +[string is integer ++1] => 0
  1.5688 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5689 +
  1.5690 +2002-11-26 (bug fix)[593810,597924] clean exit of channel worker threads on Win
  1.5691 +
  1.5692 +2002-11-28 (new feature) `make valgrind` target
  1.5693 +
  1.5694 +2002-12-03 (bug fix)[615304] repeated load/unload of Tcl now possible
  1.5695 +
  1.5696 +2002-12-11 (bug fix)[647307] negative return codes now propagated by procs
  1.5697 +
  1.5698 +2002-12-11 (bug fix)[648441] syntax error in [expr 0x] now detected.
  1.5699 +
  1.5700 +2003-01-07 (bug fix)[633204] [catch {return}] => 2 (not 0)
  1.5701 +
  1.5702 +2003-01-09 (bug fix)[634151] [file (a|m)time $nonASCIIpath $time] now works
  1.5703 +
  1.5704 +2003-01-16 (bug fix) dde eval with {} service name does not crash.
  1.5705 +=> dde 1.2.1
  1.5706 +
  1.5707 +2003-01-16 (bug fix)[635200,655645,615043,571385] many command trace fixes
  1.5708 +
  1.5709 +2003-01-31 (bug fix)[675614,678415,676978] tcltest conflicts in cleanup
  1.5710 +and -outfile; also failure in space-containing path; also missing [close]
  1.5711 +=> tcltest 2.2.2
  1.5712 +
  1.5713 +2003-02-01 (bug fix)[670042] corrected [info loaded {}] for static
  1.5714 +packages in multiple interps.
  1.5715 +
  1.5716 +2003-02-01 (bug fix)[675356] [clock clicks {}]; [clock clicks -] - syntax errs
  1.5717 +
  1.5718 +2003-02-01 (bug fix)[656660] MT-safety for [clock format] 
  1.5719 +
  1.5720 +2003-02-03 (bug fix)[651271] command rename traces get fully-qualified names
  1.5721 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5722 +
  1.5723 +2003-02-07 (performance improvement) [glob] on Windows is 2.5 times faster
  1.5724 +
  1.5725 +2003-02-07 (feature change) lack of Cygwin support indicated by config error
  1.5726 +
  1.5727 +2003-02-11 (bug fix)[684744] [info complete] stopped by \x00
  1.5728 +
  1.5729 +2003-02-11 (bug fix)[685445] [glob -types l] missed broken symlinks on Unix
  1.5730 +
  1.5731 +2003-02-11 (bug fix) [lsearch -regexp $a $a] doesn't crash
  1.5732 +
  1.5733 +2003-02-13 (bug fix)[685926] accept non-ASCII7 for tcl_platform(user) on Win
  1.5734 +
  1.5735 +2003-02-15 (bug fix)[673714] stop crash when Tcl_DeleteEvents deletes last
  1.5736 +
  1.5737 +2003-02-15 (bug fix)[681841] parser missed some missing ] syntax errors
  1.5738 +
  1.5739 +2003-02-17 (bug fix)[684756] memory leak during command rename plugged
  1.5740 +
  1.5741 +2003-02-18 (bug fix)[689100] reduced per-thread memory overhead
  1.5742 +
  1.5743 +2003-02-18 (platform support)[651811] use xnet library on HP 11 (64 bit).
  1.5744 +
  1.5745 +2003-02-20 (bug fix)[Patch 689341] correct jis round-trip encoding
  1.5746 +
  1.5747 +2003-02-20 (bug fix)[689835] stop MacOSX hang trying to read a write-only pipe
  1.5748 +
  1.5749 +2003-02-07 (performance improvement) [tclPkgUnknown]: fewer vfs calls
  1.5750 +
  1.5751 +2003-02-18 (platform support) cut and splice procs for file channels on Mac
  1.5752 +
  1.5753 +2003-02-21 (bug fix)[690774] [binary scan] failed on some wide ints
  1.5754 +
  1.5755 +2003-02-22 (bug fix)[571002] plugged data leak during thread exit
  1.5756 +
  1.5757 +2003-02-25 (feature change) [pkg_mkIndex -load]: case-insensitive match
  1.5758 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5759 +
  1.5760 +2003-02-27 (bug fix)[694232] stop [lsearch -start 0 {} x] segfault
  1.5761 +
  1.5762 +--- Released 8.4.2, March 3, 2003 --- See ChangeLog for details ---
  1.5763 +
  1.5764 +2003-03-06 (bug fix)[699042] Correct case-insensitive unicode string
  1.5765 +comparison in Tcl_UniCharNcasecmp
  1.5766 +
  1.5767 +2003-03-11 (bug fix) Corrected loading of tclpip8x.dll on Win9x
  1.5768 +
  1.5769 +2003-03-12 (bug fix)[702383] Corrected parsing of interp create --
  1.5770 +
  1.5771 +2003-03-12 (bug fix)[685106] Correct Tcl_SubstObj handling of \x00 bytes
  1.5772 +
  1.5773 +2003-03-14 (bug fix)[702622 699060] Correct wide int issues in 'format'
  1.5774 +
  1.5775 +2003-03-14 (bug fix)[698146] Remove assumption that file times and longs
  1.5776 +are the same size.
  1.5777 +
  1.5778 +2003-03-18 (bug fix)[697862] Allow Tcl to differentiate between reparse
  1.5779 +points which are symlinks and mounted drives on Windows
  1.5780 +
  1.5781 +2003-03-19 (bug fix)[705406] Bad command count on TCL_OUT_LINE_COMPILE
  1.5782 +
  1.5783 +2003-03-20 (bug fix)[707174] Store pointers to notifier funcs in a struct
  1.5784 +to work around some platform linker issues
  1.5785 +
  1.5786 +2003-03-22 (bug fix)[708218] Load correct (non-)debug dll for dde or
  1.5787 +registry
  1.5788 +
  1.5789 +2003-03-24 (bug fix)[631741 696893] Fixing ObjMakeUpvar's lookup algorithm
  1.5790 +for the created local variable
  1.5791 +
  1.5792 +2003-04-07 (bug fix)[713562] Make sure that tclWideIntType is defined and
  1.5793 +somewhat sensible everywhere
  1.5794 +
  1.5795 +2003-04-07 (bug fix)[711371] Corrected string limits of arguments
  1.5796 +interpolated in error messages for 'if'
  1.5797 +
  1.5798 +2003-04-11 (bug fix)[718878] Corrected inconsistent results of
  1.5799 +[string is integer] observed on systems where sizeof(long) != sizeof(int)
  1.5800 +
  1.5801 +2003-04-12 (bug fix) Substantial changes to the Windows clock synch
  1.5802 +phase-locked loop in a quest for improved loop stability
  1.5803 +
  1.5804 +2003-04-16 [713562] Made changes so that the "wideInt" Tcl_ObjType is
  1.5805 +defined on all platforms, even those where TCL_WIDE_INT_IS_LONG is defined.
  1.5806 +Also made the Tcl_Value struct have a wideValue field on all platforms.
  1.5807 +Potential incompatibility for TCL_WIDE_INT_IS_LONG platforms because that
  1.5808 +struct changes size.
  1.5809 +        *** POTENTIAL INCOMPATIBILITY ***
  1.5810 +
  1.5811 +2003-04-25 (bug fix)[727271] Catch any errors returned by the Windows
  1.5812 +functions handling TLS ASAP instead of waiting to get some mysterious crash
  1.5813 +later on due to bogus pointers.
  1.5814 +
  1.5815 +2003-04-29 (bug fix) Correct 'glob -path {[tcl]} *', where leading
  1.5816 +special character instead lists files in '/'.  Bug only occurs on Windows
  1.5817 +where '\' is also a directory separator.
  1.5818 +
  1.5819 +2003-05-09 (bug fix)[731754] Fixed memory leak in threaded allocator on
  1.5820 +Windows caused by treating cachePtr as a TLS index
  1.5821 +
  1.5822 +2003-05-10 (bug fix)[710642] Ensure cd is thread-safe
  1.5823 +
  1.5824 +2003-05-10 (bug fix)[718002] Correct mem leak on closing a Windows serial
  1.5825 +port
  1.5826 +
  1.5827 +2003-05-10 (bug fix)[714106] Prevent string repeat crash when overflow
  1.5828 +sizes were given (throws error).
  1.5829 +
  1.5830 +2003-05-13 (feature enhancement)[736774] Use new versioned bundle resource
  1.5831 +API to get tcl runtime library for TCL_VERSION on Mac OS X.
  1.5832 +
  1.5833 +2003-05-13 (bug fix)[711232] Worked around the issue of realpath() not
  1.5834 +being thread-safe on Mac OS X by defining NO_REALPATH for threaded builds
  1.5835 +on Mac OS X.
  1.5836 +
  1.5837 +2003-05-14 (bug fix)[557030] Correct handling of the gb2312 encoding by
  1.5838 +making it an alias of the euc-cn encoding and creating a gb2312-raw
  1.5839 +encoding for the original.  Most uses of gb2312 really mean euc-cn.
  1.5840 +
  1.5841 +2003-05-14 (bug fix)[736421] Corrected another putenv() copy behavior
  1.5842 +problem when compiling on Windows and using Microsoft's runtime.
  1.5843 +
  1.5844 +--- Released 8.4.3, May 20, 2003 --- See ChangeLog for details ---
  1.5845 +
  1.5846 +2003-05-23 (bug fix)[726018] reverted internals change to the
  1.5847 +'cmdName' Tcl_ObjType that broke several extensions (TclBlend, e4graph...)
  1.5848 +in the 8.4.3 release.
  1.5849 +
  1.5850 +2003-06-10 (bug fix)[495830] stop eval of bytecode in deleted interp.
  1.5851 +
  1.5852 +2003-06-17 (bug fix) corrections to regexp when matching emtpy string.
  1.5853 +
  1.5854 +2003-06-25 (bug fix)[748957] -*ieee compiler flags for Tru64 builds.
  1.5855 +
  1.5856 +2003-07-11 (bug fix) [pkg_mkIndex] indexes provided packages, not indexed ones.
  1.5857 +
  1.5858 +2003-07-15 (feature enhancement) MacOSX build system rewrite.
  1.5859 +
  1.5860 +2003-07-15 (bug fix)[771613] corrected segfault in [if] (buffer overflow)
  1.5861 +
  1.5862 +2003-07-16 (bug fix)[756791] corrected assumption that Tcl_Free == free
  1.5863 +
  1.5864 +2003-07-16 (feature enhancement) -DTCL_UTF_MAX=6 compile option forces 
  1.5865 +internal UCS-4 representation of Unicode (default is recommended UCS-2).
  1.5866 +
  1.5867 +2003-07-16 (bug fix)[767578] 64-bit corrections in thread notifier.
  1.5868 +
  1.5869 +2003-07-16 (bug fix)[759607] Safe Base tests normalized paths.
  1.5870 +
  1.5871 +2003-07-16 (feature enhancement)[Patch 679315] improved Cygwin path support
  1.5872 +
  1.5873 +2003-07-18 (bug fix)[706359] corrected broken -output option of [tcltest::test]
  1.5874 +=> tcltest 2.4.4
  1.5875 +
  1.5876 +2003-07-18 (bug fix)[753315] MT-safety of VFS records.
  1.5877 +
  1.5878 +2003-07-18 (bug fix)[759888] support for user:pass in URL by [http::geturl]
  1.5879 +=> http 2.4.4
  1.5880 +
  1.5881 +Improved documentation, new tests, and some code cleanup.
  1.5882 +[655300, 720634, 735364, 748700, 756112, 756744, 756951, 758488, 760768,
  1.5883 +763312, 769895, 771539, 771840, 771947, 771949, 772333]
  1.5884 +
  1.5885 +--- Released 8.4.4, July 22, 2003 --- See ChangeLog for details ---
  1.5886 +
  1.5887 +2003-07-23 (bug fix)[775976] fix registry compilation for VC7.
  1.5888 +
  1.5889 +2003-08-05 (enhancement)[781585] Use Tcl_ResetResult in bytecodes to
  1.5890 +prevent potential costly Tcl_Obj duplication.
  1.5891 +
  1.5892 +2003-08-06 (bug fix)[781609] prevent non-Windows platforms from trying to
  1.5893 +use the registry package inside msgcat.
  1.5894 +
  1.5895 +2003-08-27 (bug fix)[411825] Fix TclNeedSpace to handle non-breaking space
  1.5896 +(\u00A0) and backslash escapes correctly.
  1.5897 +
  1.5898 +2003-09-01 (bug fix)[788780] Fix thread-safety issues in filesystem records.
  1.5899 +
  1.5900 +2003-09-19 (bug fix)[804681] Protect ::errorInfo and ::errorCode traces
  1.5901 +from corrupting stack.
  1.5902 +
  1.5903 +2003-09-23 (bug fix)[218871] Fix handling of glob-sensitive chars in
  1.5904 +auto_load and auto_import.
  1.5905 +
  1.5906 +2003-10-03 (bug fix)[811483] Fixed refcount management for command and
  1.5907 +execution traces.
  1.5908 +
  1.5909 +2003-10-04 (bug fix)[789040] Fixed exec command.com error for Win9x.
  1.5910 +
  1.5911 +2003-10-06 (bug fix)[767834, 813273] Fixed volumerelative file
  1.5912 +normalization and 'file join' inconsistencies.
  1.5913 +
  1.5914 +2003-10-08 (bug fix)[769812] Fix Tcl_NumUtfChars string length calculation
  1.5915 +when negative parameter is given.
  1.5916 +
  1.5917 +2003-10-22 (bug fix)[800106] Handle VFS mountpoints inside glob'd dirs.
  1.5918 +
  1.5919 +2003-10-22 (bug fix)[599468] Watch for FD_CLOSE too on Windows when
  1.5920 +asked for writable events by the generic layer.
  1.5921 +
  1.5922 +2003-10-23 (bug fix)[813606] Detect OS X pipes correctly.
  1.5923 +
  1.5924 +2003-11-05 (bug fix)[832657] Allow .. in libpath initialization.
  1.5925 +
  1.5926 +2003-11-11 (bug fix) Improve AIX-64 build configuration.
  1.5927 +
  1.5928 +2003-11-17 (bug fix)[230589, 504785, 505048, 703709, 840258] fixes to
  1.5929 +various odd regexp "can't happen" bugs.
  1.5930 +
  1.5931 +--- Released 8.4.5, November 20, 2003 --- See ChangeLog for details ---
  1.5932 +
  1.5933 +2003-12-02 (bug fix)[851747] object sharing fix in [binary scan]
  1.5934 +
  1.5935 +2003-12-09 (platform support)[852369] update errno usage for recent glibc
  1.5936 +
  1.5937 +2003-12-12 (bug fix)[858937] fix for [file normalize ~nobody] 
  1.5938 +
  1.5939 +2003-12-17 (bug fix)[839519] fixed two memory leaks (vasiljevic)
  1.5940 +
  1.5941 +2004-01-09 (bug fix)[873311] fixed infinite loop in TclFinalizeFilesystem
  1.5942 +
  1.5943 +2004-02-02 (bug fix)[405995] Tcl_Ungets buffer filling fix
  1.5944 +
  1.5945 +2004-02-04 (bug fix)[833910] tcltest command line option parsing error
  1.5946 +=> tcltest 2.4.5
  1.5947 +
  1.5948 +2004-02-04 (bug fix)[833637] code error in tcltest -preservecore operation
  1.5949 +
  1.5950 +2004-02-12 (feature enhancement) update HP-11 build libs setup
  1.5951 +
  1.5952 +2004-02-17 (bug fix)[849514,859251] corrected [file normailze] of $link/.. 
  1.5953 +
  1.5954 +2004-02-17 (bug fix)[772288] Unix std channels forced to exist at startup.
  1.5955 +
  1.5956 +2004-02-17 (new default) tcltest::configure -verbose {body error}
  1.5957 +
  1.5958 +2004-02-19 (bug fix) init.tcl search path with unusual --libdir (samson)
  1.5959 +
  1.5960 +2004-02-25 (bug fix)[554068] stopped broken [exec] quoting of { (gravereaux)
  1.5961 +
  1.5962 +2004-02-25 (bug fix)[888777] plugged memory leak with long host names (cassoff)
  1.5963 +
  1.5964 +2004-03-01 (bug fix)[462580] corrected level interpretation of Tcl_CreateTrace
  1.5965 +
  1.5966 +2004-03-01 (platform support)[218561] Allow 64-bit configure on IRIX64-6.5*
  1.5967 +
  1.5968 +--- Released 8.4.6, March 1, 2004 --- See ChangeLog for details ---
  1.5969 +
  1.5970 +2004-03-08 (bug fix)[910525] [glob -path] in root directory (darley)
  1.5971 +
  1.5972 +2004-03-15 (bug fix)[916795] syntax error -> compiler segfault (sofer,porter)
  1.5973 +
  1.5974 +2004-03-29 (bug fix)[920667] install into any Unicode path on Win (hobbs)
  1.5975 +
  1.5976 +2004-03-31 (bug fix)[811457] support translation to "" (porter)
  1.5977 +2004-03-31 (bug fix)[811461] ignore locales with no "language" part (porter)
  1.5978 +=> msgcat 1.3.2
  1.5979 +
  1.5980 +2004-04-07 (platform support) properly substitute more values in Windows
  1.5981 +tclConfig.sh (hobbs)
  1.5982 +
  1.5983 +2004-04-23 (bug fix)[930851] reset channel EOF when eofchar changes (kupries)
  1.5984 +
  1.5985 +2004-05-03 (bug fix)[947070] stack overflow prevention on Win (kenny)
  1.5986 +
  1.5987 +2004-05-03 (bug fix)[868853] fix leak in [fconfigure $serial -xchar] (cassoff)
  1.5988 +
  1.5989 +2004-04-05 (bug fix)[928353,929892,928808,947440,948177] test fixes: OSX
  1.5990 +(abner)
  1.5991 +
  1.5992 +2004-05-04 (bug fix) crash: [cd] w/ volumerelative $HOME (hobbs)
  1.5993 +
  1.5994 +2004-05-05 (bug fix)[794839] socket connect error -> r/w fileevents
  1.5995 +(gravereaux)
  1.5996 +
  1.5997 +2004-05-14 (bug fix)[940278,922848] [clock] notices $::env(TZ) changes, 
  1.5998 +gmt works on all platforms. (kenny, welton, glessner)
  1.5999 +
  1.6000 +2004-05-18 (bug fix)[500285,500389,852944] [clock %G %V] ISO8601 week numbers
  1.6001 +(kenny)
  1.6002 +
  1.6003 +2004-05-22 (bug fix)[735335,736729] variable name resolution error (sofer)
  1.6004 +
  1.6005 +2004-05-24 (bug fix) support for non-WIDE_INT aware math functions (hobbs)
  1.6006 +
  1.6007 +2004-05-25 (new feature) [http::config -urlencoding] (hobbs)
  1.6008 +=> http 2.5.0
  1.6009 +
  1.6010 +2004-05-26 (bug fix)[960926] file count doubled when -singleproc 1 (porter)
  1.6011 +=> tcltest 2.2.6
  1.6012 +
  1.6013 +2004-05-27 (bug fix)[949905] corrected utf-8 encoding of \u0000 on I/O (max)
  1.6014 +
  1.6015 +2004-06-05 (bug fix)[976722] hi-res clock fixes: Win
  1.6016 +(godfrey, suchenwirth, kenny)
  1.6017 +
  1.6018 +2004-06-10 (bug fix)[932314] bad return values from Tcl_FSChdir() (vasiljevic)
  1.6019 +
  1.6020 +2004-06-14 (bug fix) correct dde hangs w/non-responsive apps (thoyts)
  1.6021 +=> dde 1.2.3
  1.6022 +
  1.6023 +2004-06-21 (platform support) exceptions w/ gcc -O3 on Win (dejong)
  1.6024 +
  1.6025 +2004-06-29 (bug fix)[981733] SafeBase global pollution (fellows)
  1.6026 +
  1.6027 +2004-07-02 (new feature)[TIP 202] pipe redirection 2>@1 (hobbs)
  1.6028 +
  1.6029 +2004-07-03 (bug fix)[908375] round() wide integer support (lavana, sofer)
  1.6030 +
  1.6031 +2004-07-15 (bug fix)[770053] crash in thread finalize of notifier (vasiljevic)
  1.6032 +
  1.6033 +2004-07-15 (bug fix)[990453] plug mutex leaks on reinit
  1.6034 +(mistachkin, vasiljevic)
  1.6035 +
  1.6036 +2004-07-16 (bug fix)[990500] clean exit of notifier thread
  1.6037 +(mistachkin, kupries)
  1.6038 +
  1.6039 +2004-07-19 (bug fix)[987967] improved self-init of mutexes on Win (vasiljevic)
  1.6040 +
  1.6041 +2004-07-19 (bug fix)[874058] improved build configuration on 64-bit systems.
  1.6042 +Corrects Tcl_StatBuf definition issues.  (hobbs)
  1.6043 +
  1.6044 +2004-07-20 (bug fix) pure Darwin/CFLite support (steffen)
  1.6045 +
  1.6046 +2004-07-20 (bug fix)[736426] plug leaky allocator reinit (mistachkin, kenny)
  1.6047 +
  1.6048 +--- Released 8.4.7, July 26, 2004 --- See ChangeLog for details ---
  1.6049 +
  1.6050 +2004-07-28 (bug fix)[999084] no deadlock in re-entrant Tcl_Finalize (porter)
  1.6051 +
  1.6052 +2004-08-10 (bug fix) thread IDs on 64-bit systems (ratcliff,vasiljevic)
  1.6053 +
  1.6054 +2004-08-13 (bug fix) avoid malicious code acceptance by [mclocale] (porter)
  1.6055 +=> msgcat 1.3.3
  1.6056 +
  1.6057 +2004-08-16 (bug fix)[1008314] Tcl_SetVar TCL_LIST_ELEMENT (sofer,porter)
  1.6058 +
  1.6059 +2004-08-19 (bug fix)[1011860] [scan %ld] fix on LP64 (fellows,porter)
  1.6060 +
  1.6061 +2004-08-30 (bug fix) [string map $x $x] crash (fellows)
  1.6062 +
  1.6063 +2004-09-01 (bug fix)[1020445] WIN64 support (hobbs)
  1.6064 +
  1.6065 +2004-09-07 (bug fix)[1016167] [after] overwrites its imports (kenny)
  1.6066 +
  1.6067 +2004-09-08 (bug fix) fixed [clock format 0 -format %k] (kenny)
  1.6068 +
  1.6069 +2004-09-09 (bug fix)[560297] fixed broken [namespace forget] logic (porter)
  1.6070 +
  1.6071 +2004-09-09 (bug fix)[1017299] fixed [namespace import] cycle prevention (porter)
  1.6072 +
  1.6073 +2004-09-10 (performance) $x[set x {}] is now fast [K $x [set x {}]] (sofer)
  1.6074 +
  1.6075 +2004-09-10 (bug fix)[868489] better control over int <-> wideInt (fellows,kenny)
  1.6076 +
  1.6077 +2004-09-10 (bug fix)[1025359] POSIX errorCode from wide seeks (kupries,fellows)
  1.6078 +
  1.6079 +2004-09-18 (bug fix)[868467] fix [expr 5>>32] => 0, not 5 (hintermayer,fellows)
  1.6080 +
  1.6081 +2004-09-23 (bug fix)[1016726] fix `make clean` in static config (leitgeb,dejong)
  1.6082 +
  1.6083 +2004-09-29 (bug fix)[1036649] syntax error in [subst] => buffer overflow (sofer)
  1.6084 +
  1.6085 +2004-09-30 (bug fix)[1038021] save/restore error state: var traces (porter)
  1.6086 +
  1.6087 +2004-10-08 (bug fix)[954263] case insensitive [file exec] for Win (hobbs,darley)
  1.6088 +
  1.6089 +2004-10-14 (performance) [info commands/globals/procs/vars $pattern] faster
  1.6090 +		when $pattern is trivial (fellows)
  1.6091 +
  1.6092 +2004-10-28 (bug fix)[1030548] restore the --enable-symbols --enable-threads
  1.6093 +		build on Win (mistachkin,kenny,kupries)
  1.6094 +
  1.6095 +2004-10-29 (bug fix)[1055673] fix command line syntax error message (porter)
  1.6096 +=> tcltest 2.2.7
  1.6097 +
  1.6098 +2004-10-31 (bug fix)[1057461] fix [info globals ::varName] (fellows)
  1.6099 +
  1.6100 +2004-11-02 (bug fix)[761471] fix [expr {NaN == NaN}] (sofer)
  1.6101 +
  1.6102 +2004-11-02 (bug fix)[1017151] misleading errorInfo after tests (seeger,porter)
  1.6103 +
  1.6104 +2004-11-11 (bug fix)[1034337] recursive file delete, MacOSX (steffen)
  1.6105 +
  1.6106 +2004-11-12 (bug fix)[1004065] stop crash when TCL_UTF_MAX==6 (hobbs,porter)
  1.6107 +
  1.6108 +2004-11-15 (bug fix)[10653678] [trace variable],[trace remove] interop (porter)
  1.6109 +
  1.6110 +2004-11-16 (bug fix)[695441] [tcl_findLibrary] search $::auto_path too (porter)
  1.6111 +
  1.6112 +2004-11-16 (bug fix)[1067709] crash in [fconfigure -ttycontrol] (hobbs)
  1.6113 +
  1.6114 +2004-11-18 (new feature) configure options --enable-man-suffix (max)
  1.6115 +
  1.6116 +Documentation improvements [759545,1058446,1062647,1065732,etc.]
  1.6117 +Test suite expansion [1036649,1001997,etc.]
  1.6118 +
  1.6119 +--- Released 8.4.8, November 18, 2004 --- See ChangeLog for details ---
  1.6120 +
  1.6121 +2004-11-22 (bug fix)[1030465] Improve HAVE_TYPE_OFF64_T check (dejong)
  1.6122 +
  1.6123 +2004-11-23 (bug fix)[1072654] Fixed segfault in info vars trivial
  1.6124 +matching branch (new in 8.4.8) (porter)
  1.6125 +
  1.6126 +2004-11-23 (bug fix)[1043129] Fixed the treatment of backslashes in file
  1.6127 +join on Windows (darley)
  1.6128 +
  1.6129 +2004-11-24 (bug fix)[1001325, 1071701] Fixed readdir_r detection and usage
  1.6130 +(dejong, kenny, porter)
  1.6131 +
  1.6132 +2004-11-24 (bug fix)[1071807] Fixed all uses of 'select' to use standard
  1.6133 +macros rather than older bit-whacking style (kenny)
  1.6134 +
  1.6135 +2004-11-26 (bug fix)[1072136] Remove file normalize on tcl_findLibrary
  1.6136 +search path uniqification added in 8.4.8 (porter)
  1.6137 +
  1.6138 +2004-12-02 (bug fix)[1074671] Ensure tilde paths are not returned specially
  1.6139 +by 'glob' (darley)
  1.6140 +
  1.6141 +--- Released 8.4.9, December 6, 2004 --- See ChangeLog for details ---
  1.6142 +
  1.6143 +2004-12-29 (platform support)[1092952,1091967] MSVC7, gcc OPT compiles (hobbs)
  1.6144 +
  1.6145 +2005-01-05 (bug fix)[1084595] encoding maps for some Chinese locales (fellows)
  1.6146 +
  1.6147 +2005-01-06 (performance)[1020491] [http::mapReply] (fellows)
  1.6148 +=> http 2.5.1
  1.6149 +
  1.6150 +2005-01-25 (bug fix)[1101670] [auto_reset] update for [namespace] (porter)
  1.6151 +
  1.6152 +2005-01-27 (new feature)[TIP 218] Tcl_Channel API update for threads (kupries)
  1.6153 +
  1.6154 +2005-01-27 (bug fix)[1109484] Tcl_Expr* updates for Tcl_WideInt (hobbs)
  1.6155 +
  1.6156 +2005-01-28 (platform support)[1021871] Solaris gcc 64-bit support (hobbs)
  1.6157 +
  1.6158 +2005-02-10 (bug fix)[1119369] Tcl_EvalObjEx: avoid shimmer loss of List intrep
  1.6159 +(sofer,macdonald)
  1.6160 +
  1.6161 +2005-02-10 (platform support) correct gcc builds for AIX-4+, HP-UX-11 (hobbs)
  1.6162 +
  1.6163 +2005-02-24 (bug fix)[1119798] prevent [source $directory] (porter,mpettigr)
  1.6164 +=> tcltest 2.2.8
  1.6165 +
  1.6166 +2005-03-10 (bug fix)[1153871] bad ClientData cast (porter,victorovich)
  1.6167 +
  1.6168 +2005-03-15 (platform support) OpenBSD ports patch (thoyts)
  1.6169 +
  1.6170 +2005-03-15 (platform support)[1163422] time_t wider than long (kenny)
  1.6171 +
  1.6172 +2005-03-18 (bug fix)[1115904] restore recursion limit in direct eval (porter)
  1.6173 +
  1.6174 +2005-03-29 (platform support) allow msys builds without cygwin (hobbs)
  1.6175 +
  1.6176 +2005-04-06 (bug fix)[1178445] fix memory waste at thread exit (vasiljevic)
  1.6177 +
  1.6178 +2005-04-13 (bug fix) min buffer size dropped from 10 to 1 byte (gravereaux)
  1.6179 +
  1.6180 +2005-04-19 (bug fix)[947693] Windows pipes honor -blocking during close
  1.6181 +(gravereaux)  ***POTENTIAL INCOMPATIBILITY***
  1.6182 +async pipes on windows, set -blocking 1 before [close] to receive exit status
  1.6183 +
  1.6184 +2005-04-20 (bug fix)[1090869] Tcl_GetInt accept 0x80000000, 64-bit
  1.6185 +(porter,singh)
  1.6186 +
  1.6187 +2005-04-22 (bug fix)[1187123] [string is boolean] respect EIAS (porter)
  1.6188 +
  1.6189 +2005-04-25 (platform support) builds on Mac OS X 10.1 (steffen)
  1.6190 +
  1.6191 +2005-05-06 (platform support) x86_64 Solarix cc and Solaris 10 builds (hobbs)
  1.6192 +
  1.6193 +2005-05-14 (platform support) Mac OSX: configurable CoreFoundation API
  1.6194 +(steffen)
  1.6195 +
  1.6196 +2005-05-14 (platform support) Mac OSX: use realpath when threadsafe (steffen)
  1.6197 +
  1.6198 +2005-05-20 (bug fix)[1201589] boolean literal prefix in expressions (porter)
  1.6199 +
  1.6200 +2005-05-24 (platform support) Darwin build support merged into unix (steffen)
  1.6201 +
  1.6202 +2005-05-24 (new feature)[1202209] Mac OSX: support [load] of .bundle binaries
  1.6203 +Can support [load] from memory as well (steffen)
  1.6204 +
  1.6205 +2005-05-24 (new feature)[1202178] [time] returns non-integer result (steffen)
  1.6206 +
  1.6207 +2005-05-31 (bug fix)[1082283] Unix: notifier thread now joinable (vasiljevic)
  1.6208 +
  1.6209 +Documentation improvements [1075433,1085127,1117017,1124160,1149605,etc.]
  1.6210 +
  1.6211 +--- Released 8.4.10, June 4, 2005 --- See ChangeLog for details ---
  1.6212 +
  1.6213 +2005-06-06 (bug fix)[1213678] Windows/gcc: crash in stack.test (kenny)
  1.6214 +
  1.6215 +2005-06-07 (bug fix) Unix: --enable-threads compile failure (fellows)
  1.6216 +
  1.6217 +2005-06-18 (bug fix)[1154163] [format %h] on 64-bit OS's (kraft,fellows)
  1.6218 +
  1.6219 +2005-06-21 (bug fix)[1201035,1224585] execution trace crashes (porter)
  1.6220 +
  1.6221 +2005-06-21 (bug fix)[1194458] Windows: [file split] (kenny,porter)
  1.6222 +
  1.6223 +2005-06-22 (bug fix)[1225727] Windows: pipe finalization crash (kenny)
  1.6224 +
  1.6225 +2005-06-22 (bug fix)[1225571] Windows: [file pathtype] buffer overflow (thoyts)
  1.6226 +
  1.6227 +2005-06-22 (bug fix)[1225044] Windows: UMR in pipe close (kenny)
  1.6228 +
  1.6229 +2005-06-23 (bug fix)[1225957] Windows/gcc: crashes in assembler code (kenny)
  1.6230 +
  1.6231 +2005-06-27 (revert)[1101670] [auto_reset] disabled in non-global namespace.
  1.6232 +Restores Tcl 8.4.9 behavior (porter)
  1.6233 +
  1.6234 +--- Released 8.4.11, June 28, 2005 --- See ChangeLog for details ---
  1.6235 +
  1.6236 +2005-07-01 (bug fix)[1222872] notifier spurious wake-up protection (vasiljevic)
  1.6237 +
  1.6238 +2005-07-05 (bug fix)[1077262] improved Tcl_Encoding lifetimes (porter)
  1.6239 +
  1.6240 +2005-07-05 (bug fix)[1230597] allow idempotent [namespace import] (porter)
  1.6241 +
  1.6242 +2005-07-07 (bug fix)[1095909] readdir_r usage purged (hobbs)
  1.6243 +
  1.6244 +2005-07-22 (enhancement)[1237755] 8.4 features in script library (fradin,porter)
  1.6245 +
  1.6246 +2005-07-24 (new feature) configure macros SC_PROG_TCLSH, SC_BUILD_TCLSH (dejong) 
  1.6247 +2005-07-26 (bug fix)[1047286] cmd delete traces during namespace delete (porter)
  1.6248 +
  1.6249 +2005-07-26 (new unix feature)[1231015] ${prefix}/share on ::tcl_pkgPath (dejong)
  1.6250 +
  1.6251 +2005-07-28 (unix bug fix)[1245953] O_APPEND for >> redirection (fellows)
  1.6252 +
  1.6253 +2005-07-29 (bug fix)[1247135] [info globals] return only existing vars (fellows)
  1.6254 +
  1.6255 +2005-07-30 (new Darwin feature) TCL_LOAD_FROM_MEMORY configuration (steffen)
  1.6256 +
  1.6257 +2005-08-05 (bug fix)[1241572] correct [expr abs($LONG_MIN)] (kenny)
  1.6258 +
  1.6259 +2005-08-05 (Solaris bug fix)[1252475] recognize cp1251 encoding (wagner,fellows)
  1.6260 +
  1.6261 +2005-08-17 (bug fix)[1217375] [file mkdir] race (diekhans,darley)
  1.6262 +
  1.6263 +2005-08-25 (bug fix)[1267380] [lrepeat] buffer overflow prevention (fellows)
  1.6264 +
  1.6265 +2005-08-29 (bug fix)[1275043] restore round() away from zero (kenny)
  1.6266 +
  1.6267 +2005-09-07 (bug fix)[1283976] invalid [format %c -1] result (porter)
  1.6268 +
  1.6269 +2005-09-15 (RHEL bug fix)[1287638] support open >2GB files RHEL 3 (palan)
  1.6270 +
  1.6271 +2005-09-30 (bug fix)[1306162] $argv encoding and list formatting (porter)
  1.6272 +
  1.6273 +2005-10-04 (bug fix)[1067708] [fconfigure -ttycontrol] leak (hobbs)
  1.6274 +
  1.6275 +2005-10-04 (bug fix)[1182373] [http::mapReply] update to RFC 3986 (aho,hobbs)
  1.6276 +=> http 2.5.2
  1.6277 +
  1.6278 +2005-10-04 (HPUX bug fix)[1204237] shl_load() and DYNAMIC_PATH (collins,hobbs)
  1.6279 +
  1.6280 +2005-10-05 (bug fix)[979640] buffer overrun mixing putenv(), ::env (bold,hobbs)
  1.6281 +
  1.6282 +2005-10-13 (bug fix)[1284178] [format] accept all integer values (porter)
  1.6283 +
  1.6284 +2005-10-22 (bug fix)[1251791] optimization exposed wide/int difference(sofer)
  1.6285 +
  1.6286 +2005-10-23 (bug fix)[1334947] value refcount error in var setting (sofer)
  1.6287 +
  1.6288 +2005-11-01 (bug fix)[1337941] Tcl_TraceCommand() -> crash (devilliers,porter)
  1.6289 +
  1.6290 +2005-11-03 (new Win NT/XP feature) Unicode console support (kovalenko,thoyts)
  1.6291 +
  1.6292 +2005-11-03 (bug fix)[1201171] [encoding system] in Tclkit (schekin,porter)
  1.6293 +
  1.6294 +2005-11-04 (bug fix)[1337229,1338280] [namespace delete] / unset traces (porter)
  1.6295 +
  1.6296 +2005-11-04 (enhancement) Korean timezone abbreviations (kenny)
  1.6297 +
  1.6298 +2005-11-04 (bug fix)[1317477] double encoding of time zone (kenny)
  1.6299 +
  1.6300 +2005-11-04 (Win enhancement)[1267871] extended exit codes (newman,thoyts)
  1.6301 +
  1.6302 +2005-11-04 (platform support)[1163896] LynxOS [load] (heidibr)
  1.6303 +
  1.6304 +2005-11-08 (bug fix)[1348775] unset trace memory leak (sofer)
  1.6305 +
  1.6306 +2005-11-08 (bug fix)[1162286] [package ifneeded] warns reported (lavana,porter)
  1.6307 +        *** POTENTIAL INCOMPATIBILITY ***
  1.6308 +
  1.6309 +2005-11-09 (bug fix)[1350293] [after $negative $script] fixed (kenny)
  1.6310 +
  1.6311 +2005-11-15 (Win bug fix)[926016,1353840] correct [file mtime] (kenny)
  1.6312 +
  1.6313 +2005-11-18 (bug fix)[1358369] URL parsing standards compliance (wu,fellows)
  1.6314 +
  1.6315 +2005-11-18 (bug fix)[1359094] Tclkit crash (thoyts, kupries)
  1.6316 +
  1.6317 +2005-11-18 (bug fix)[1355942,1355342] cmd delete trace/ namespace delete (sofer)
  1.6318 +
  1.6319 +2005-11-20 (bug fix)[1091431] Tcl_InitStubs failure crashes wish (english)
  1.6320 +
  1.6321 +2005-11-29 (bug fix)[1366683] [lsearch -regexp] backrefs (cleverly,fellows)
  1.6322 +
  1.6323 +2005-11-29 (enhancement)[1369597] Win 64: --enable-64bit=amd64|ia64 (hobbs)
  1.6324 +
  1.6325 +2005-12-05 (Darwin bug fix)[1034337] NFS recursive file delete (steffen)
  1.6326 +
  1.6327 +--- Released 8.4.12, December 3, 2005 --- See ChangeLog for details ---
  1.6328 +
  1.6329 +2005-12-09 (bug fix)[1374778] [lsearch -start $pastEnd] => -1 (fellows)
  1.6330 +
  1.6331 +2005-12-12 (bug fix)[1241572] correct [expr abs($LONG_MIN)] again (max)
  1.6332 +
  1.6333 +2005-12-12 (bug fix)[1377619] configure syntax error exposed in bash-3.1 (hobbs)
  1.6334 +
  1.6335 +2006-01-09 (bug fix)[1400572] [info level $l] => "namespace inscope" (porter)
  1.6336 +
  1.6337 +2006-01-23 (bug fix)[1410553] Tcl_GetRange Unicode confusion (twylite,spjuth)
  1.6338 +
  1.6339 +2006-03-06 (bug fix)[1439836,1444291] fix TCL_EVAL_{GLOBAL,INVOKE} handling
  1.6340 +when auto-loading or exec traces are present (porter)
  1.6341 +
  1.6342 +2006-03-10 (bug fix)[1437595] Win socket finalize with threads (vasiljevic)
  1.6343 +
  1.6344 +2005-03-13 (revert 2005-07-26 change) ${prefix}/share on ::tcl_pkgPath (porter)
  1.6345 +
  1.6346 +2006-03-14 (bug fix)[1381436,859820] threadsafe Tcl_WaitPid (gravereaux,kupries)
  1.6347 +
  1.6348 +2006-03-14 (bug fix)[768659] pipeline error when last command missing (kupries)
  1.6349 +
  1.6350 +2006-03-18 (bug fix)[1193497] Win porting of [file writable] (darley,vogel)
  1.6351 +
  1.6352 +2006-03-28 (bug fix)[1064247] BSD: path normalization with realpath() (steffen)
  1.6353 +
  1.6354 +2006-03-28 (revert 2005-11-03 feature) Unicode console support (hobbs)
  1.6355 +        *** POTENTIAL INCOMPATIBILITY ***
  1.6356 +
  1.6357 +2006-04-03 (bug fix)[1462248] crash reading utf-8 chars spanning multiple
  1.6358 +buffers at end of file (kraft,kupries)
  1.6359 +
  1.6360 +2006-04-04 (revert 2005-11-08)[1162286] [package ifneeded] warns (porter)
  1.6361 +        *** POTENTIAL INCOMPATIBILITY ***
  1.6362 +
  1.6363 +2006-04-05 (bug fix)[1464039] Tcl_GetIndexFromObj: empty key (fellows)
  1.6364 +
  1.6365 +2006-04-05 (bug fix) overdue dde, registry  patchelevel increments (porter)
  1.6366 +=> dde 1.2.4
  1.6367 +=> registry 1.1.4
  1.6368 +
  1.6369 +2006-04-06 (bug fix)[1457515] TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING
  1.6370 +removed (steffen)
  1.6371 +
  1.6372 +2006-04-11 (bug fix)[1458266] enter/enterstep trace interference (leunissen)
  1.6373 +
  1.6374 +--- Released 8.4.13, April 19, 2006 --- See ChangeLog for details ---
  1.6375 +
  1.6376 +2006-05-04 (bug fix)[1480509] srand() accept wide input (porter,afredd)
  1.6377 +
  1.6378 +2006-05-05 (bug fix)[1481986] interactive Tcl_Main blocks main loop (porter,lin)
  1.6379 +
  1.6380 +2006-05-13 (bug fix)[1482718] proc re-compile: preserve the previous
  1.6381 +bytecode while references still on the stack (porter,ryazanov)
  1.6382 +
  1.6383 +2006-05-13 (bug fix)[943995] fixed [glob] on VFS (porter)
  1.6384 +
  1.6385 +2006-05-27 (bug fix)[923072] Darwin: made unthreaded CoreFoundation notifier
  1.6386 +naked-fork safe on Tiger (steffen)
  1.6387 +
  1.6388 +2006-05-31 (revert 2006-01-09)[1400572] namespace inscope & info level (porter)
  1.6389 +        *** POTENTIAL INCOMPATIBILITY ***
  1.6390 +
  1.6391 +2006-06-14 (platform support)[1424909] MS VS2005 support (thoyts)
  1.6392 +
  1.6393 +2006-07-20 (platform support) Mac OS X weak linking (steffen)
  1.6394 +
  1.6395 +2006-07-20 (bug fix) Darwin: execve() works iff event loop not yet run (steffen)
  1.6396 +
  1.6397 +2006-08-18 (bug fix) intermittent failures in TclUnixWaitForFile() (steffen)
  1.6398 +
  1.6399 +2006-08-18 (platform support) Darwin x86_64 (steffen)
  1.6400 +
  1.6401 +2006-08-21 (bug fix)[1457797] Darwin 64-bit notifier hang (steffen)
  1.6402 +
  1.6403 +2006-08-21 (bug fix) Darwin: recursively called event loop (steffen)
  1.6404 +
  1.6405 +2006-08-30 (bug fix)[1548263] filesystem segfaults (hobbs,mccormack)
  1.6406 +
  1.6407 +2006-09-06 (bug fix)[999544] use of MT-safe system calls (vasiljevic)
  1.6408 +
  1.6409 +2006-09-10 (platform support) Darwin: msgcat use CFLocale (steffen)
  1.6410 +=> msgcat 1.3.4
  1.6411 +
  1.6412 +2006-09-22 (bug fix)[1562528] NULL terminates variadic calls (fellows,ryazanov)
  1.6413 +
  1.6414 +2006-09-26 (platform support) MSVC8 AMD64 support (thoyts)
  1.6415 +
  1.6416 +2006-10-05 (bug fix)[1570718] make [lappend $nonList] complain (sofer,virden)
  1.6417 +
  1.6418 +2006-10-05 (bug fix)[1122671] alignment fixes in unicode encoding routines
  1.6419 +(hobbs,staplin)
  1.6420 +
  1.6421 +2006-10-05 (new feature) [set ::http::strict 1] (default value is 0) to enable
  1.6422 +URL validity checking against RFC 2986 (hobbs)
  1.6423 +=> http 2.5.3
  1.6424 +
  1.6425 +--- Released 8.4.14, October 19, 2006 --- See ChangeLog for details ---
  1.6426 +
  1.6427 +2006-10-31 (platform support)[1582769] Fix build with VC2003 (thoyts)
  1.6428 +
  1.6429 +2006-11-07 (bug fix)[1586470] [file copy] on afs (kupries,dionizio)
  1.6430 +
  1.6431 +2006-11-26 (platform support)[1230558] --enable-64bit on more systems (steffen)
  1.6432 +
  1.6433 +2006-11-27 (bug fix)[1602208] use > 32 async sockets on 64bit system (fontaine)
  1.6434 +
  1.6435 +2007-01-25 (configure change) ensure CPPFLAGS env var used when set (steffen)
  1.6436 +
  1.6437 +2007-01-30 (enhancement) new target: `install-private-headers` (hobbs, steffen)
  1.6438 +
  1.6439 +2007-02-12 (bug fix)[1516109] escape encodings crossing chan buffers (dejong)
  1.6440 +
  1.6441 +2007-03-01 (bug fix)[1671138] compiled [foreach {} x {}] hangs (fellows)
  1.6442 +
  1.6443 +2007-03-10 (bug fix)[1675116] list shimmer crash in [lsort] (fellows)
  1.6444 +
  1.6445 +2007-03-13 (bug fix)[1671087] list shimmer crash in [foreach] (porter)
  1.6446 +
  1.6447 +2007-03-13 (bug fix)[1669489] list shimmer crash in [array set] (porter)
  1.6448 +
  1.6449 +2007-03-17 (bug fix)[1682211] buffer overflow in [registry keys] (kenny)
  1.6450 +=> registry 1.1.5
  1.6451 +
  1.6452 +2007-04-29 (bug fix) fts_open() crash on 64bit Darwin 8 or earlier (steffen)
  1.6453 +
  1.6454 +--- Released 8.4.15, May 25, 2007 --- See ChangeLog for details ---