persistentstorage/sqlite3api/TEST/TCL/tcldistribution/changes
changeset 0 08ec8eefde2f
equal deleted inserted replaced
-1:000000000000 0:08ec8eefde2f
       
     1 Recent user-visible changes to Tcl:
       
     2 
       
     3 RCS: @(#) $Id: changes,v 1.79.2.50 2007/05/16 22:13:07 das Exp $
       
     4 
       
     5 1. No more [command1] [command2] construct for grouping multiple
       
     6 commands on a single command line.
       
     7 
       
     8 2. Semi-colon now available for grouping commands on a line.
       
     9 
       
    10 3. For a command to span multiple lines, must now use backslash-return
       
    11 at the end of each line but the last.
       
    12 
       
    13 4. "Var" command has been changed to "set".
       
    14 
       
    15 5. Double-quotes now available as an argument grouping character.
       
    16 
       
    17 6. "Return" may be used at top-level.
       
    18 
       
    19 7. More backslash sequences available now.  In particular, backslash-newline
       
    20 may be used to join lines in command files.
       
    21 
       
    22 8. New or modified built-in commands:  case, return, for, glob, info,
       
    23 print, return, set, source, string, uplevel.
       
    24 
       
    25 9. After an error, the variable "errorInfo" is filled with a stack
       
    26 trace showing what was being executed when the error occurred.
       
    27 
       
    28 10. Command abbreviations are accepted when parsing commands, but
       
    29 are not recommended except for purely-interactive commands.
       
    30 
       
    31 11. $, set, and expr all complain now if a non-existent variable is
       
    32 referenced.
       
    33 
       
    34 12. History facilities exist now.  See Tcl.man and Tcl_RecordAndEval.man.
       
    35 
       
    36 13. Changed to distinguish between empty variables and those that don't
       
    37 exist at all.  Interfaces to Tcl_GetVar and Tcl_ParseVar have changed
       
    38 (NULL return value is now possible).  *** POTENTIAL INCOMPATIBILITY ***
       
    39 
       
    40 14. Changed meaning of "level" argument to "uplevel" command (1 now means
       
    41 "go up one level", not "go to level 1"; "#1" means "go to level 1").
       
    42 *** POTENTIAL INCOMPATIBILITY ***
       
    43 
       
    44 15. 3/19/90 Added "info exists" option to see if variable exists.
       
    45 
       
    46 16. 3/19/90 Added "noAbbrev" variable to prohibit command abbreviations.
       
    47 
       
    48 17. 3/19/90 Added extra errorInfo option to "error" command.
       
    49 
       
    50 18. 3/21/90 Double-quotes now only affect space:  command, variable,
       
    51 and backslash substitutions still occur inside double-quotes.
       
    52 *** POTENTIAL INCOMPATIBILITY ***
       
    53 
       
    54 19. 3/21/90 Added support for \r.
       
    55 
       
    56 20. 3/21/90 List, concat, eval, and glob commands all expect at least
       
    57 one argument now.  *** POTENTIAL INCOMPATIBILITY ***
       
    58 
       
    59 21. 3/22/90 Added "?:" operators to expressions.
       
    60 
       
    61 22. 3/25/90 Fixed bug in Tcl_Result that caused memory to get trashed.
       
    62 
       
    63 ------------------- Released version 3.1 ---------------------
       
    64 
       
    65 23. 3/29/90 Fixed bug that caused "file a.b/c ext" to return ".b/c".
       
    66 
       
    67 24. 3/29/90 Semi-colon is not treated specially when enclosed in
       
    68 double-quotes.
       
    69 
       
    70 ------------------- Released version 3.2 ---------------------
       
    71 
       
    72 25. 4/16/90 Rewrote "exec" not to use select or signals anymore.
       
    73 Should be more Sys-V compatible, and no slower in the normal case.
       
    74 
       
    75 26. 4/18/90 Rewrote "glob" to eliminate GNU code (there's no GNU code
       
    76 left in Tcl, now), and added Tcl_TildeSubst procedure.  Added automatic
       
    77 tilde-substitution in many commands, including "glob".
       
    78 
       
    79 ------------------- Released version 3.3 ---------------------
       
    80 
       
    81 27. 7/11/90 Added "Tcl_AppendResult" procedure.
       
    82 
       
    83 28. 7/20/90 "History" with no options now defaults to "history info"
       
    84 rather than to "history redo".  Although this is a backward incompatibility,
       
    85 it should only be used interactively and thus shouldn't present any
       
    86 compatibility problems with scripts.
       
    87 
       
    88 29. 7/20/90 Added "Tcl_GetInteger", "Tcl_GetDouble", and "Tcl_GetBoolean"
       
    89 procedures.
       
    90 
       
    91 30. 7/22/90 Removed "Tcl_WatchInterp" procedure:  doesn't seem to be
       
    92 necessary, since the same effect can be achieved with the deletion
       
    93 callbacks on individual commands.  *** POTENTIAL INCOMPATIBILITY ***
       
    94 
       
    95 31. 7/23/90 Added variable tracing:  Tcl_TraceVar, Tcl_UnTraceVar,
       
    96 and Tcl_VarTraceInfo procedures, "trace" command.
       
    97 
       
    98 32. 8/9/90 Mailed out list of all bug fixes since 3.3 release.
       
    99 
       
   100 33. 8/29/90 Fixed bugs in Tcl_Merge relating to backslashes and
       
   101 semi-colons.  Mailed out patch.
       
   102 
       
   103 34. 9/3/90 Fixed bug in tclBasic.c: quotes weren't quoting ]'s.
       
   104 Mailed out patch.
       
   105 
       
   106 35. 9/19/90 Rewrote exec to always use files both for input and
       
   107 output to the process.  The old pipe-based version didn't work if
       
   108 the exec'ed process forked a child and then exited:  Tcl waited
       
   109 around for stdout to get closed, which didn't happen until the
       
   110 grandchild exited.
       
   111 
       
   112 36. 11/5/90 ERR_IN_PROGRESS flag wasn't being cleared soon enough
       
   113 in Tcl_Eval, allowing error messages from different commands to
       
   114 pile up in $errorInfo.  Fixed by re-arranging code in Tcl_Eval that
       
   115 re-initializes result and ERR_IN_PROGRESS flag.  Didn't mail out
       
   116 patch:  changes too complicated to describe.
       
   117 
       
   118 37. 12/19/90 Added Tcl_VarEval procedure as a convenience for
       
   119 assembling and executing Tcl commands.
       
   120 
       
   121 38. 1/29/91 Fixed core leak in Tcl_AddErrorInfo.  Also changed procedure
       
   122 and Tcl_Eval so that first call to Tcl_AddErrorInfo need not come from
       
   123 Tcl_Eval.
       
   124 
       
   125 ----------------- Released version 5.0 with Tk ------------------
       
   126 
       
   127 39. 4/3/91 Removed change bars from manual entries, leaving only those
       
   128 that came after version 3.3 was released.
       
   129 
       
   130 40. 5/17/91 Changed tests to conform to Mary Ann May-Pumphrey's approach.
       
   131  
       
   132 41. 5/23/91 Massive revision to Tcl parser to simplify the implementation
       
   133 of string and floating-point support in expressions.  Newlines inside
       
   134 [] are now treated as command separators rather than word separators
       
   135 (this makes newline treatment consistent throughout Tcl).
       
   136 *** POTENTIAL INCOMPATIBILITY ***
       
   137 
       
   138 42. 5/23/91 Massive rewrite of expression code to support floating-point
       
   139 values and simple string comparisons.  The C interfaces to expression
       
   140 routines have changed (Tcl_Expr is replaced by Tcl_ExprLong, Tcl_ExprDouble,
       
   141 etc.), but all old Tcl expression strings should be accepted by the new
       
   142 expression code.
       
   143 *** POTENTIAL INCOMPATIBILITY ***
       
   144 
       
   145 43. 5/23/91 Modified tclHistory.c to check for negative "keep" value.
       
   146 
       
   147 44. 5/23/91 Modified Tcl_Backslash to handle backslash-newline.  It now
       
   148 returns 0 to indicate that a backslash sequence should be replaced by
       
   149 no character at all.
       
   150 *** POTENTIAL INCOMPATIBILITY ***
       
   151 
       
   152 45. 5/29/91 Modified to use ANSI C function prototypes.  Must set
       
   153 "USE_ANSI" switch when compiling to get prototypes.
       
   154 
       
   155 46. 5/29/91 Completed test suite by providing tests for all of the
       
   156 built-in Tcl commands.
       
   157 
       
   158 47. 5/29/91 Changed Tcl_Concat to eliminate leading and trailing
       
   159 white-space in each of the things it concatenates and to ignore
       
   160 elements that are empty or have only white space in them.  This
       
   161 produces cleaner output from the "concat" command.
       
   162 *** POTENTIAL INCOMPATIBILITY ***
       
   163 
       
   164 48. 5/31/91 Changed "set" command and Tcl_SetVar procedure to return
       
   165 new value of variable.
       
   166 
       
   167 49. 6/1/91 Added "while" and "cd" commands.
       
   168 
       
   169 50. 6/1/91 Changed "exec" to delete the last character of program
       
   170 output if it is a newline.  In most cases this makes it easier to
       
   171 process program-generated output.
       
   172 *** POTENTIAL INCOMPATIBILITY ***
       
   173 
       
   174 51. 6/1/91 Made sure that pointers are never used after freeing them.
       
   175 
       
   176 52. 6/1/91 Fixed bug in TclWordEnd where it wasn't dealing with
       
   177 [] inside quotes correctly.
       
   178 
       
   179 53. 6/8/91 Fixed exec.test to accept return values of either 1 or
       
   180 255 from "false" command.
       
   181 
       
   182 54. 7/6/91 Massive overhaul of variable management.  Associative
       
   183 arrays now available, along with "unset" command (and Tcl_UnsetVar
       
   184 procedure).  Variable traces have been completely reworked:
       
   185 interfaces different both from Tcl and C, and multiple traces may
       
   186 exist on same variable.  Can no longer redefine existing local
       
   187 variable to be global.  Calling sequences have changed slightly
       
   188 for Tcl_GetVar and Tcl_SetVar ("global" is now "flags"). Tcl_SetVar
       
   189 can fail and return a NULL result.  New forms of variable-manipulation
       
   190 procedures:  Tcl_GetVar2, Tcl_SetVar2, etc.  Syntax of variable
       
   191 $-notation changed to support array indexing.
       
   192 *** POTENTIAL INCOMPATIBILITY ***
       
   193 
       
   194 55. 7/6/91 Added new list-manipulation procedures:  Tcl_ScanElement,
       
   195 Tcl_ConvertElement, Tcl_AppendElement.
       
   196 
       
   197 56. 7/12/91 Created new procedure Tcl_EvalFile, which does most of the
       
   198 work of the "source" command.
       
   199 
       
   200 57. 7/20/91 Major reworking of "exec" command to allow pipelines,
       
   201 more redirection, background.  Added new procedures Tcl_Fork,
       
   202 Tcl_WaitPids, Tcl_DetachPids, and Tcl_CreatePipeline.  The old
       
   203 "< input" notation has been replaced by "<< input" ("<" is for
       
   204 redirection from a file).  Also handles error returns and abnormal
       
   205 terminations (e.g. signals) differently.
       
   206 *** POTENTIAL INCOMPATIBILITY ***
       
   207 
       
   208 58. 7/21/91 Added "append" and "lappend" commands.
       
   209 
       
   210 59. 7/22/91 Reworked error messages and manual entries to use
       
   211 ?x? as the notation for an optional argument x, instead of [x].  The
       
   212 bracket notation was often confused with the use of brackets for
       
   213 command substitution.  Also modified error messages to be more
       
   214 consistent.
       
   215 
       
   216 60. 7/23/91 Tcl_DeleteCommand now returns an indication of whether
       
   217 or not the command actually existed, and the "rename" command uses
       
   218 this information to return an error if an attempt is made to delete
       
   219 a non-existent command.
       
   220 *** POTENTIAL INCOMPATIBILITY ***
       
   221 
       
   222 61. 7/25/91 Added new "errorCode" mechanism, along with procedures
       
   223 Tcl_SetErrorCode, Tcl_UnixError, and Tcl_ResetResult.  Renamed
       
   224 Tcl_Return to Tcl_SetResult, but left a #define for Tcl_Return to
       
   225 avoid compatibility problems.
       
   226 
       
   227 62. 7/26/91 Extended "case" command with alternate syntax where all
       
   228 patterns and commands are together in a single list argument:  makes
       
   229 it easier to write multi-line case statements.
       
   230 
       
   231 63. 7/27/91 Changed "print" command to perform tilde-substitution on
       
   232 the file name.
       
   233 
       
   234 64. 7/27/91 Added "tolower", "toupper", "trim", "trimleft", and "trimright"
       
   235 options to "string" command.
       
   236 
       
   237 65. 7/29/91 Added "atime", "mtime", "size", and "stat" options to "file"
       
   238 command.
       
   239 
       
   240 66. 8/1/91 Added "split" and "join" commands.
       
   241 
       
   242 67. 8/11/91 Added commands for file I/O, including "open", "close",
       
   243 "read", "gets", "puts", "flush", "eof", "seek", and "tell".
       
   244 
       
   245 68. 8/14/91 Switched to use a hash table for command lookups.  Command
       
   246 abbreviations no longer have direct support in the Tcl interpreter, but
       
   247 it should be possible to simulate them with the auto-load features
       
   248 described below.  The "noAbbrev" variable is no longer used by Tcl.
       
   249 *** POTENTIAL INCOMPATIBILITY ***
       
   250 
       
   251 68.5 8/15/91 Added support for "unknown" command, which can be used to
       
   252 complete abbreviations, auto-load library files, auto-exec shell
       
   253 commands, etc.
       
   254 
       
   255 69. 8/15/91 Added -nocomplain switch to "glob" command.
       
   256 
       
   257 70. 8/20/91 Added "info library" option and TCL_LIBRARY #define.  Also
       
   258 added "info script" option.
       
   259 
       
   260 71. 8/20/91 Changed "file" command to take "option" argument as first
       
   261 argument (before file name), for consistency with other Tcl commands.
       
   262 *** POTENTIAL INCOMPATIBILITY ***
       
   263 
       
   264 72. 8/20/91 Changed format of information in $errorInfo variable:
       
   265 comments such as 
       
   266     ("while" body line 1)
       
   267 are now on separate lines from commands being executed.
       
   268 *** POTENTIAL INCOMPATIBILITY ***
       
   269 
       
   270 73. 8/20/91 Changed Tcl_AppendResult so that it (eventually) frees
       
   271 large buffers that it allocates.
       
   272 
       
   273 74. 8/21/91 Added "linsert", "lreplace", "lsearch", and "lsort"
       
   274 commands.
       
   275 
       
   276 75. 8/28/91 Added "incr" and "exit" commands.
       
   277 
       
   278 76. 8/30/91 Added "regexp" and "regsub" commands.
       
   279 
       
   280 77. 9/4/91 Changed "dynamic" field in interpreters to "freeProc" (procedure
       
   281 address).  This allows for alternative storage managers.
       
   282 *** POTENTIAL INCOMPATIBILITY ***
       
   283 
       
   284 78. 9/6/91 Added "index", "length", and "range" options to "string"
       
   285 command.  Added "lindex", "llength", and "lrange" commands.
       
   286 
       
   287 79. 9/8/91 Removed "index", "length", "print" and "range" commands.
       
   288 "Print" is redundant with "puts", but less general, and the other
       
   289 commands are replaced with the new commands described in change 78
       
   290 above.
       
   291 *** POTENTIAL INCOMPATIBILITY ***
       
   292 
       
   293 80. 9/8/91 Changed history revision to occur even when history command
       
   294 is nested;  needed in order to allow "history" to be invoked from
       
   295 "unknown" procedure.
       
   296 
       
   297 81. 9/13/91 Changed "panic" not to use vfprintf (it's uglier and less
       
   298 general now, but makes it easier to run Tcl on systems that don't
       
   299 have vfprintf).  Also changed "strerror" not to redeclare sys_errlist.
       
   300 
       
   301 82. 9/19/91 Lots of changes to improve portability to different UNIX
       
   302 systems, including addition of "config" script to adapt Tcl to the
       
   303 configuration of the system it's being compiled on.
       
   304 
       
   305 83. 9/22/91 Added "pwd" command.
       
   306 
       
   307 84. 9/22/91 Renamed manual pages so that their filenames are no more
       
   308 than 14 characters in length, moved to "doc" subdirectory.
       
   309 
       
   310 85. 9/24/91 Redid manual entries so they contain the supplemental
       
   311 macros that they need;  can just print with "troff -man" or "man"
       
   312 now.
       
   313 
       
   314 86. 9/26/91 Created initial version of script library, including
       
   315 a version of "unknown" that does auto-loading, auto-execution, and
       
   316 abbreviation expansion.  This library is used by tclTest
       
   317 automatically.  See the "library" manual entry for details.
       
   318 
       
   319 ----------------- Released version 6.0, 9/26/91 ------------------
       
   320 
       
   321 87. 9/30/91 Made "string tolower" and "string toupper" check case
       
   322 before converting:  on some systems, "tolower" and "toupper" assume
       
   323 that character already has particular case.
       
   324 
       
   325 88. 9/30/91 Fixed bug in Tcl_SetResult:  wasn't always setting freeProc
       
   326 correctly when called with NULL value.  This tended to cause memory
       
   327 allocation errors later.
       
   328 
       
   329 89. 10/3/91 Added "upvar" command.
       
   330 
       
   331 90. 10/4/91 Changed "format" so that internally it converts %D to %ld,
       
   332 %U to %lu, %O to %lo, and %F to %f.  This eliminates some compatibility
       
   333 problems on some machines without affecting behavior.
       
   334 
       
   335 91. 10/10/91 Fixed bug in "regsub" that caused core dumps with the -all
       
   336 option when the last match wasn't at the end of the string.
       
   337 
       
   338 92. 10/17/91 Fixed problems with backslash sequences:  \r support was
       
   339 incomplete and \f and \v weren't supported at all.
       
   340 
       
   341 93. 10/24/91 Added Tcl_InitHistory procedure.
       
   342 
       
   343 94. 10/24/91 Changed "regexp" to store "-1 -1" in subMatchVars that
       
   344 don't match, rather than returning an error.
       
   345 
       
   346 95. 10/27/91 Modified "regexp" to return actual strings in matchVar
       
   347 and subMatchVars instead of indices.  Added "-indices" switch to cause
       
   348 indices to be returned.
       
   349 *** POTENTIAL INCOMPATIBILITY ***
       
   350 
       
   351 96. 10/27/91 Fixed bug in "scan" where it used hardwired constants for
       
   352 sizes of floats and doubles instead of using "sizeof".
       
   353 
       
   354 97. 10/31/91 Fixed bug in tclParse.c where parse-related error messages
       
   355 weren't being storage-managed correctly, causing spurious free's.
       
   356 
       
   357 98. 10/31/91 Form feed and vertical tab characters are now considered
       
   358 to be space characters by the parser.
       
   359 
       
   360 99. 10/31/91 Added TCL_LEAVE_ERR_MSG flag to procedures like Tcl_SetVar.
       
   361 
       
   362 100. 11/7/91 Fixed bug in "case" where "in" argument couldn't be omitted
       
   363 if all case branches were embedded in a single list.
       
   364 
       
   365 101. 11/7/91 Switched to use "pid_t" and "uid_t" and other official
       
   366 POSIC types and function prototypes.
       
   367 
       
   368 ----------------- Released version 6.1, 11/7/91 ------------------
       
   369 
       
   370 102. 12/2/91 Modified Tcl_ScanElement and Tcl_ConvertElement in several
       
   371 ways.  First, allowed caller to request that only backslashes be used
       
   372 (no braces).  Second, made Tcl_ConvertElement more aggressive in using
       
   373 backslashes for braces and quotes.
       
   374 
       
   375 103. 12/5/91 Added "type", "lstat", and "readlink" options to "file"
       
   376 command, plus added new "type" element to output of "stat" and "lstat"
       
   377 options.
       
   378 
       
   379 104. 12/10/91 Manual entries had first lines that caused "man" program
       
   380 to try weird preprocessor.  Added blank comment lines to fix problem.
       
   381 
       
   382 105. 12/16/91 Fixed a few bugs in auto_mkindex proc:  wasn't handling
       
   383 errors properly, and hadn't been upgraded for new "regexp" syntax.
       
   384 
       
   385 106. 1/2/92 Fixed bug in "file" command where it didn't properly handle
       
   386 a file names containing tildes where the indicated user doesn't exist.
       
   387 
       
   388 107. 1/2/92 Fixed lots of cases in tclUnixStr.c where two different
       
   389 errno symbols (e.g. EWOULDBLOCK and EAGAIN) have the same number;  Tcl
       
   390 will only use one of them.
       
   391 
       
   392 108. 1/2/92 Lots of changes to configuration script to handle many more
       
   393 systems more gracefully.  E.g. should now detect the bogus strtoul that
       
   394 comes with AIX and substitute Tcl's own version instead.
       
   395 
       
   396 ----------------- Released version 6.2, 1/10/92 ------------------
       
   397 
       
   398 109. 1/20/92 Config didn't have code to actually use "uid_t" variable
       
   399 to set TCL_UIT_T #define.
       
   400 
       
   401 110. 2/10/92 Tcl_Eval didn't properly reset "numLevels" variable when
       
   402 too-deep recursion occurred.
       
   403 
       
   404 111. 2/29/92 Added "on" and "off" to keywords accepted by Tcl_GetBoolean.
       
   405 
       
   406 112. 3/19/92 Config wasn't installing default version of strtod.c for
       
   407 systems that don't have one in libc.a.
       
   408 
       
   409 113. 3/23/92 Fixed bug in tclExpr.c where numbers with leading "."s,
       
   410 like 0.75, couldn't be properly substituted into expressions with
       
   411 variable or command substitution.
       
   412 
       
   413 114. 3/25/92 Fixed bug in tclUnixAZ.c where "gets" command wasn't
       
   414 checking to make sure that it was able to write the variable OK.
       
   415 
       
   416 115. 4/16/92 Fixed bug in tclUnixAZ.c where "read" command didn't
       
   417 compute file size right for device files.
       
   418 
       
   419 116. 4/23/92 Fixed but in tclCmdMZ.c where "trace vinfo" was overwriting
       
   420 the trace command.
       
   421 
       
   422 ----------------- Released version 6.3, 5/1/92 ------------------
       
   423 
       
   424 117. 5/1/92 Added Tcl_GlobalEval.
       
   425 
       
   426 118. 6/1/92 Changed auto-load facility to source files at global level.
       
   427 
       
   428 119. 6/8/92 Tcl_ParseVar wasn't always setting termPtr after errors, which
       
   429 sometimes caused core dumps.
       
   430 
       
   431 120. 6/21/92 Fixed bug in initialization of regexp pattern cache.  This
       
   432 bug caused segmentation violations in regexp commands under some conditions.
       
   433 
       
   434 121. 6/22/92 Changed implementation of "glob" command to eliminate
       
   435 trailing slashes on directory names:  they confuse some systems.  There
       
   436 shouldn't be any user-visible changes in functionality except for names
       
   437 in error messages not having trailing slashes.
       
   438 
       
   439 122. 7/2/92 Fixed bug that caused 'string match ** ""' to return 0.
       
   440 
       
   441 123. 7/2/92 Fixed bug in Tcl_CreateCmdBuf where it wasn't initializing
       
   442 the buffer to an empty string.
       
   443 
       
   444 124. 7/6/92 Fixed bug in "case" command where it used NULL pattern string
       
   445 after errors in the "default" clause.
       
   446 
       
   447 125. 7/25/92 Speeded up auto_load procedure:  don't reread all the index
       
   448 files unless the path has changed.
       
   449 
       
   450 126. 8/3/92 Changed tclUnix.h to define MAXPATHLEN from PATH_MAX, not
       
   451 _POSIX_PATH_MAX.
       
   452 
       
   453 ----------------- Released version 6.4, 8/7/92 ------------------
       
   454 
       
   455 127. 8/10/92 Changed tclBasic.c so that comment lines can be continued by
       
   456 putting a backslash before the newline.
       
   457 
       
   458 128. 8/21/92 Modified "unknown" to allow the source-ing of a file for
       
   459 an auto-load to trigger other nested auto-loads, as long as there isn't
       
   460 any recursion on the same command name.
       
   461 
       
   462 129. 8/25/92 Modified "format" command to allow " " and "+" flags, and
       
   463 allow flags in any order.
       
   464 
       
   465 130. 9/14/92 Modified Tcl_ParseVar so that it doesn't actually attempt
       
   466 to look up the variable if "noEval" mode is in effect in the interpreter
       
   467 (it just parses the name).  This avoids the errors that used to occur
       
   468 in statements like "expr {[info exists foo] && $foo}".
       
   469 
       
   470 131. 9/14/92 Fixed bug in "uplevel" command where it didn't output the
       
   471 correct error message if a level was specified but no command.
       
   472 
       
   473 132. 9/14/92 Renamed manual entries to have extensions like .3 and .n,
       
   474 and added "install" target to Makefile.
       
   475 
       
   476 133. 9/18/92 Modified "unknown" command to emulate !!, !<num>, and
       
   477 ^<old>^<new> csh history substitutions.
       
   478 
       
   479 134. 9/21/92 Made the config script cleverer about figuring out which
       
   480 switches to pass to "nm".
       
   481 
       
   482 135. 9/23/92 Fixed tclVar.c to be sure to copy flags when growing variables.
       
   483 Used to forget about traces in progress and make extra recursive calls
       
   484 on trace procs.
       
   485 
       
   486 136. 9/28/92 Fixed bug in auto_reset where it was unsetting variables
       
   487 that might not exist.
       
   488 
       
   489 137. 10/7/92 Changed "parray" library procedure to print any array
       
   490 accessible to caller, local or global.
       
   491 
       
   492 138. 10/15/92 Fixed bug where propagation of new environment variable
       
   493 values among interpreters took N! time if there exist N interpreters.
       
   494 
       
   495 139. 10/16/92 Changed auto_reset procedure so that it also deletes any
       
   496 existing procedures that are in the auto_load index (the assumption is
       
   497 that they should be re-loaded to get the latest versions).
       
   498 
       
   499 140. 10/21/92 Fixed bug that caused lists to be incorrectly generated
       
   500 for elements that contained backslash-newline sequences.
       
   501 
       
   502 141. 12/9/92 Added support for TCL_LIBRARY environment variable:  use
       
   503 it as library location if it's present.
       
   504 
       
   505 142. 12/9/92 Added "info complete" command, Tcl_CommandComplete procedure.
       
   506 
       
   507 143. 12/16/92 Changed the Makefile to check to make sure "config" has been
       
   508 run (can't run config directly from the Makefile because it modifies the
       
   509 Makefile;  thus make has to be run again after running config).
       
   510 
       
   511 ----------------- Released version 6.5, 12/17/92 ------------------
       
   512 
       
   513 144. 12/21/92 Changed config to look in several places for libc file.
       
   514 
       
   515 145. 12/23/92 Added "elseif" support to if.  Also, "then", "else", and
       
   516 "elseif" may no longer be abbreviated.
       
   517 *** POTENTIAL INCOMPATIBILITY ***
       
   518 
       
   519 146. 12/28/92 Changed "puts" and "read" to support initial "-nonewline"
       
   520 switch instead of additional "nonewline" argument.  The old form is
       
   521 still supported, but it is discouraged and is no longer documented.
       
   522 Also changed "puts" to make the file argument default to stdout: e.g.
       
   523 "puts foo" will print foo on standard output.
       
   524 
       
   525 147. 1/6/93 Fixed bug whereby backslash-newline wasn't working when
       
   526 typed interactively, or in "info complete".
       
   527 
       
   528 148. 1/22/93 Fixed bugs in "lreplace" and "linsert" where close
       
   529 quotes were being lost from last element before replacement or
       
   530 insertion.
       
   531 
       
   532 149. 1/29/93 Fixed bug in Tcl_AssembleCmd where it wasn't requiring
       
   533 a newline at the end of a line before considering a command to be
       
   534 complete.  The bug caused some very long lines in script files to
       
   535 be processed as multiple separate commands.
       
   536 
       
   537 150. 1/29/93 Various changes in Makefile to add more configuration
       
   538 options, simplify installation, fix bugs (e.g. don't use -f switch
       
   539 for cp), etc.
       
   540 
       
   541 151. 1/29/93 Changed "name1" and "name2" identifiers to "part1" and
       
   542 "part2" to avoid name conflicts with stupid C++ implementations that
       
   543 use "name1" and "name2" in a reserved way.
       
   544 
       
   545 152. 2/1/93 Added "putenv" procedure to replace the standard system
       
   546 version so that it will work correctly with Tcl's environment handling.
       
   547 
       
   548 ----------------- Released version 6.6, 2/5/93 ------------------
       
   549 
       
   550 153. 2/10/93 Fixed bugs in config script:  missing "endif" in libc loop,
       
   551 and tried to use strncasecmp.c instead of strcasecmp.c.
       
   552 
       
   553 154. 2/10/93 Makefile improvements:  added RANLIB variable for easier
       
   554 Sys-V configuration, added SHELL variable for SGI systems.
       
   555 
       
   556 ----------------- Released version 6.7, 2/11/93 ------------------
       
   557 
       
   558 153. 2/6/93 Changes in backslash processing:
       
   559     - \Cx, \Mx, \CMx, \e sequences no longer special
       
   560     - \<newline> also eats up any space after the newline, replacing
       
   561       the whole sequence with a single space character
       
   562     - Hex sequences like \x24 are now supported, along with ANSI C's \a.
       
   563     - "format" no longer does backslash processing on its format string
       
   564     - there is no longer any special meaning to a 0 return value from
       
   565       Tcl_Backslash
       
   566     - unknown backslash sequences, like (e.g. \*), are replaced with
       
   567       the following character (e.g. *), instead of just treating the
       
   568       backslash as an ordinary character.
       
   569 *** POTENTIAL INCOMPATIBILITY ***
       
   570 
       
   571 154. 2/6/93 Updated all copyright notices.  The meaning hasn't changed
       
   572 at all but the wording does a better job of protecting U.C. from
       
   573 liability (according to U.C. lawyers, anyway).
       
   574 
       
   575 155. 2/6/93 Changed "regsub" so that it overwrites the result variable
       
   576 in all cases, even if there is no match.
       
   577 *** POTENTIAL INCOMPATIBILITY ***
       
   578 
       
   579 156. 2/8/93 Added support for XPG3 %n$ conversion specifiers to "format"
       
   580 command.
       
   581 
       
   582 157. 2/17/93 Fixed bug in Tcl_Eval where errors due to infinite
       
   583 recursion could result in core dumps.
       
   584 
       
   585 158. 2/17/93 Improved the auto-load mechanism to deal gracefully (i.e.
       
   586 return an error) with a situation where a library file that supposedly
       
   587 defines a procedure doesn't actually define it.
       
   588 
       
   589 159. 2/17/93 Renamed Tcl_UnixError procedure to Tcl_PosixError, and
       
   590 changed errorCode variable usage to use POSIX as keyword instead of
       
   591 UNIX.
       
   592 *** POTENTIAL INCOMPATIBILITY ***
       
   593 
       
   594 160. 2/19/93 Changes to exec and process control:
       
   595     - Added support for >>, >&, >>&, |&, <@, >@, and >&@ forms of redirection.
       
   596     - When exec puts processes into background, it returns a list of
       
   597       their pids as result.
       
   598     - Added support for <file, >file, etc. (i.e. no space between
       
   599       ">" and file name.
       
   600     - Added -keepnewline option.
       
   601     - Deleted Tcl_Fork and Tcl_WaitPids procedures (just use fork and
       
   602       waitpid instead).
       
   603     - Added waitpid compatibility procedure for systems that don't have
       
   604       it.
       
   605     - Added Tcl_ReapDetachedProcs procedure.
       
   606     - Changed "exec" to return an error if there is stderr output, even
       
   607       if the command returns a 0 exit status (it's always been documented
       
   608       this way, but the implementation wasn't correct).
       
   609     - If a process returns a non-zero exit status but doesn't generate
       
   610       any diagnostic output, then Tcl generates an error message for it.
       
   611 *** POTENTIAL INCOMPATIBILITY ***
       
   612 
       
   613 161. 2/25/93 Fixed two memory-management problems having to do with
       
   614 managing the old result during variable trace callbacks.
       
   615 
       
   616 162. 3/1/93 Added dynamic string library:  Tcl_DStringInit, Tcl_DStringAppend,
       
   617 Tcl_DStringFree, Tcl_DStringResult, etc.
       
   618 
       
   619 163. 3/1/93 Modified glob command to only return the names of files that
       
   620 exist, and to only return names ending in "/" if the file is a directory.
       
   621 *** POTENTIAL INCOMPATIBILITY ***
       
   622 
       
   623 164. 3/19/93 Modified not to use system calls like "read" directly,
       
   624 but instead to use special Tcl procedures that retry automatically
       
   625 if interrupted by signals.
       
   626 
       
   627 165. 4/3/93 Eliminated "noSep" argument to Tcl_AppendElement, plus
       
   628 TCL_NO_SPACE flag for Tcl_SetVar and Tcl_SetVar2.
       
   629 *** POTENTIAL INCOMPATIBILITY ***
       
   630 
       
   631 166. 4/3/93 Eliminated "flags" and "termPtr" arguments to Tcl_Eval.
       
   632 *** POTENTIAL INCOMPATIBILITY ***
       
   633 
       
   634 167. 4/3/93 Changes to expressions:
       
   635     - The "expr" command now accepts multiple arguments, which are
       
   636       concatenated together with space separators.
       
   637     - Integers aren't automatically promoted to floating-point if they
       
   638       overflow the word size:  errors are generated instead.
       
   639     - Tcl can now handle "NaN" and other special values if the underlying
       
   640       library procedures handle them.
       
   641     - When printing floating-point numbers, Tcl ensures that there is a "."
       
   642       or "e" in the number, so it can't be treated as an integer accidentally.
       
   643       The procedure Tcl_PrintDouble is available to provide this function
       
   644       in other contexts.  Also, the variable "tcl_precision" can be used
       
   645       to set the precision for printing (must be a decimal number giving
       
   646       digits of precision).
       
   647     - Expressions now support transcendental and other functions, e.g. sin,
       
   648       acos, hypot, ceil, and round.  Can add new math functions with
       
   649       Tcl_CreateMathFunc().
       
   650     - Boolean expressions can now have any of the string values accepted
       
   651       by Tcl_GetBoolean, such as "yes" or "no".
       
   652 *** POTENTIAL INCOMPATIBILITY ***
       
   653 
       
   654 168. 4/5/93 Changed Tcl_UnsetVar and Tcl_UnsetVar2 to return TCL_OK
       
   655 or TCL_ERROR instead of 0 or -1.
       
   656 *** POTENTIAL INCOMPATIBILITY ***
       
   657 
       
   658 169. 4/5/93 Eliminated Tcl_CmdBuf structure and associated procedures;
       
   659 can use Tcl_DStrings instead.
       
   660 *** POTENTIAL INCOMPATIBILITY ***
       
   661 
       
   662 170. 4/8/93 Changed interface to Tcl_TildeSubst to use a dynamic
       
   663 string for buffer space.  This makes the procedure re-entrant and
       
   664 thread-safe, whereas it wasn't before.
       
   665 *** POTENTIAL INCOMPATIBILITY ***
       
   666 
       
   667 171. 4/14/93 Eliminated tclHash.h, and moved everything from it to
       
   668 tcl.h
       
   669 *** POTENTIAL INCOMPATIBILITY ***
       
   670 
       
   671 172. 4/15/93 Eliminated Tcl_InitHistory, made "history" command always
       
   672 be part of interpreter.
       
   673 *** POTENTIAL INCOMPATIBILITY ***
       
   674 
       
   675 173. 4/16/93 Modified "file" command so that "readable" option always
       
   676 exists, even on machines that don't support symbolic links (always returns
       
   677 same error as if the file wasn't a symbolic link).
       
   678 
       
   679 174. 4/26/93 Fixed bugs in "regsub" where ^ patterns didn't get handled
       
   680 right (pretended not to match when it really did, and looped infinitely
       
   681 if -all was specified).
       
   682 
       
   683 175. 4/29/93 Various improvements in the handling of variables:
       
   684     - Can create variables and array elements during a read trace.
       
   685     - Can delete variables during traces (note: unset traces will be
       
   686       invoked when this happens).
       
   687     - Can upvar to array elements.
       
   688     - Can retarget an upvar to another variable by re-issuing the
       
   689       upvar command with a different "other" variable.
       
   690 
       
   691 176. 5/3/93 Added Tcl_GetCommandInfo, which returns info about a Tcl
       
   692 command such as whether it exists and its ClientData.  Also added
       
   693 Tcl_SetCommandInfo, which allows any of this information to be modified
       
   694 and also allows a command's delete procedure to have a different
       
   695 ClientData value than its command procedure.
       
   696 
       
   697 177. 5/5/93 Added Tcl_RegExpMatch procedure.
       
   698 
       
   699 178. 5/6/93 Fixed bug in "scan" where it didn't properly handle
       
   700 %% conversion specifiers.  Also changed "scan" to use Tcl_PrintDouble
       
   701 for printing real values.
       
   702 
       
   703 179. 5/7/93 Added "-exact", "-glob", and "-regexp" options to "lsearch"
       
   704 command to allow different kinds of pattern matching.
       
   705 
       
   706 180. 5/7/93 Added many new switches to "lsort" to control the sorting
       
   707 process: "-ascii", "-integer", "-real", "-command", "-increasing",
       
   708 and "-decreasing".
       
   709 
       
   710 181. 5/10/93 Changes to file I/O:
       
   711     - Modified "open" command to support a list of POSIX access flags
       
   712       like {WRONLY CREAT TRUNC} in addition to current fopen-style
       
   713       access modes.  Also added "permissions" argument to set permissions
       
   714       of newly-created files.
       
   715     - Fixed Scott Bolte's bug (can close stdin etc. in application and
       
   716       then re-open them with Tcl commands).
       
   717     - Exported access to Tcl's file table with new procedures Tcl_EnterFile
       
   718       and Tcl_GetOpenFile.
       
   719 
       
   720 182. 5/15/93 Added new "pid" command, which can be used to retrieve
       
   721 either the current process id or a list of the process ids in a
       
   722 pipeline opened with "open |..."
       
   723 
       
   724 183. 6/3/93 Changed to use GNU autoconfig for configuration instead of
       
   725 the home-brew "config" script.  Also made many other configuration-related
       
   726 changes, such as using <unistd.h> instead of explicitly declaring system
       
   727 calls in tclUnix.h.
       
   728 
       
   729 184. 6/4/93 Fixed bug where core-dumps could occur if a procedure
       
   730 redefined itself (the memory for the procedure's body could get
       
   731 reallocated in the middle of evaluating the body);  implemented
       
   732 simple reference count mechanism.
       
   733 
       
   734 185. 6/5/93 Changed tclIndex file format in two ways:  (a) it's now
       
   735 eval-ed instead of parsed, which makes it 3-4x faster; (b) the entries
       
   736 in auto_index are now commands to evaluate, which allows commands to
       
   737 be loaded in different ways such as dynamic-loading of C code.  The
       
   738 old tclIndex file format is still supported.
       
   739 
       
   740 186. 6/7/93 Eliminated tclTest program, added new "tclsh" program
       
   741 that is more like wish (allows script files to be invoked automatically
       
   742 using "#!/usr/local/bin/tclsh", makes arguments available to script,
       
   743 etc.).  Added support for Tcl_AppInit plus default version;  this
       
   744 allows new Tcl applications to be created without modifying the
       
   745 main program for tclsh.
       
   746 
       
   747 187. 6/7/93 Fixed bug in TclWordEnd that kept backslash-newline from
       
   748 working correctly in some cases during interactive input.
       
   749 
       
   750 188. 6/9/93 Added Tcl_LinkVar and related procedures, which automatically
       
   751 keep a Tcl variable in sync with a C variable.
       
   752 
       
   753 189. 6/16/93 Increased maximum nesting depth from 100 to 1000.
       
   754 
       
   755 190. 6/16/93 Modified "trace var" command so that error messages from
       
   756 within traces are returned properly as the result of the variable
       
   757 access, instead of the generic "access disallowed by trace command"
       
   758 message.
       
   759 
       
   760 191. 6/16/93 Added Tcl_CallWhenDeleted to provide callbacks when an
       
   761 interpreter is deleted (same functionality as Tcl_WatchInterp, which
       
   762 used to exist in versions before 6.0).
       
   763 
       
   764 193. 6/16/93 Added "-code" argument to "return" command;  it's there
       
   765 primarily for completeness, so that procedures implementing control
       
   766 constructs can reflect exceptional conditions back to their callers.
       
   767 
       
   768 194. 6/16/93 Split up Tcl.n to make separate manual entries for each
       
   769 Tcl command.  Tcl.n now contains a summary of the language syntax.
       
   770 
       
   771 195. 6/17/93 Added new "switch" command to replace "case": allows
       
   772 alternate forms of pattern matching (exact, glob, regexp), replaces
       
   773 pattern lists with single patterns (but you can use "-" bodies to
       
   774 share one body among several patterns), eliminates "in" noise word.
       
   775 "Case" command is now obsolete.
       
   776 
       
   777 196. 6/17/93 Changed the "exec", "glob", "regexp", and "regsub" commands
       
   778 to include a "--" switch.  All initial arguments starting with "-" are now
       
   779 treated as switches unless a "--" switch is present to end the list.
       
   780 *** POTENTIAL INCOMPATIBILITY ***
       
   781 
       
   782 197. 6/17/93 Changed auto-exec so that the subprocess gets stdin, stdout,
       
   783 and stderr from the parent.  This allows truly interactive sub-processes
       
   784 (e.g. vi) to be auto-exec'ed from a tcl shell command line.
       
   785 
       
   786 198. 6/18/93 Added patchlevel.h, for use in coordinating future patch
       
   787 releases, and also added "info patchlevel" command to make the patch
       
   788 level available to Tcl scripts.
       
   789 
       
   790 199. 6/19/93 Modified "glob" command so that a leading "//" in a name
       
   791 gets left as is (this is needed for systems like Apollos where "//" is
       
   792 the super-root;  Tcl used to collapse the two slashes into a single
       
   793 slash).
       
   794 
       
   795 200. 7/7/93 Added Tcl_SetRecursionLimit procedure so that the maximum
       
   796 allowable nesting depth can be controlled for an interpreter from C.
       
   797 
       
   798 ----------------- Released version 7.0 Beta 1, 7/9/93 ------------------
       
   799 
       
   800 201. 7/12/93 Modified Tcl_GetInt and tclExpr.c so that full-precision
       
   801 unsigned integers can be specified without overflow errors.
       
   802 
       
   803 202. 7/12/93 Configuration changes:  eliminate leading blank line in
       
   804 configure script;  provide separate targets in Makefile for installing
       
   805 binary and non-binary information; check for size_t and a few other
       
   806 potentially missing typedefs; don't put tclAppInit.o into libtcl.a;
       
   807 better checks for matherr support.
       
   808 
       
   809 203. 7/14/93 Changed tclExpr.c to check the termination pointer before
       
   810 errno after strtod calls, to avoid problems with some versions of
       
   811 strtod that set errno in unexpected ways.
       
   812 
       
   813 204. 7/16/93 Changed "scan" command to be more ANSI-conformant:
       
   814 eliminated %F, %D, etc., added code to ignore "l", "h", and "L"
       
   815 modifiers but always convert %e, %f, and %g with implicit "l";
       
   816 also added support for %u and %i.  Also changed "format" command
       
   817 to eliminate %D, %U, %O, and add %i.
       
   818 *** POTENTIAL INCOMPATIBILITY ***
       
   819 
       
   820 205. 7/17/93 Changed "uplevel" and "upvar" so that they can be used
       
   821 from global level to global level:  this used to generate an error.
       
   822 
       
   823 206. 7/19/93 Renamed "setenv", "putenv", and "unsetenv" procedures
       
   824 to avoid conflicts with system procedures with the same names.  If
       
   825 you want Tcl's procedures to override the system procedures, do it
       
   826 in the Makefile (instructions are in the Makefile).
       
   827 *** POTENTIAL INCOMPATIBILITY ***
       
   828 
       
   829 ----------------- Released version 7.0 Beta 2, 7/21/93 ------------------
       
   830 
       
   831 207. 7/21/93 Fixed bug in tclVar.c where freed memory was accidentally
       
   832 used if a procedure returned an element of a local array.
       
   833 
       
   834 208. 7/22/93 Fixed bug in "unknown" where it didn't properly handle
       
   835 errors occurring in the "auto_load" procedure, leaving its state
       
   836 inconsistent.
       
   837 
       
   838 209. 7/23/93 Changed exec's ">2" redirection operator to "2>" for
       
   839 consistency with sh.  This is incompatible with earlier beta releases
       
   840 of 7.0 but not with pre-7.0 releases, which didn't support either
       
   841 operator.
       
   842 
       
   843 210. 7/28/93 Changed backslash-newline handling so that the resulting
       
   844 space character *is* treated as a word separator unless the backslash
       
   845 sequence is in quotes or braces.  This is incompatible with 7.0b1
       
   846 and 7.0b2 but is more compatible with pre-7.0 versions that the b1
       
   847 and b2 releases were.
       
   848 
       
   849 211. 7/28/93 Eliminated Tcl_LinkedVarWritable, added TCL_LINK_READ_ONLY to
       
   850 Tcl_LinkVar to accomplish same purpose.  This change is incompatible
       
   851 with earlier beta releases, but not with releases before Tcl 7.0.
       
   852 
       
   853 212. 7/29/93 Renamed regexp C functions so they won't clash with POSIX
       
   854 regexp functions that use the same name.
       
   855 
       
   856 213. 8/3/93 Added "-errorinfo" and "-errorcode" options to "return"
       
   857 command: these allow for much better handling of the errorInfo
       
   858 and errorCode variables in some cases.
       
   859 
       
   860 214. 8/12/93 Changed "expr" so that % always returns a remainder with
       
   861 the same sign as the divisor and absolute value smaller than the
       
   862 divisor.
       
   863 
       
   864 215. 8/14/93 Turned off auto-exec in "unknown" unless the command
       
   865 was typed interactively.  This means you must use "exec" when
       
   866 invoking subprocesses, unless it's a command that's typed interactively.
       
   867 *** POTENTIAL INCOMPATIBILITY ***
       
   868 
       
   869 216. 8/14/93 Added support for tcl_prompt1 and tcl_prompt2 variables
       
   870 to tclMain.c:  makes prompts user-settable.
       
   871 
       
   872 217. 8/14/93 Added asynchronous handlers (Tcl_AsyncCreate etc.) so
       
   873 that signals can be taken cleanly by Tcl applications.
       
   874 
       
   875 218. 8/16/93 Moved information about open files from the interpreter
       
   876 structure to global variables so that a file can be opened in one
       
   877 interpreter and read or written in another.
       
   878 
       
   879 219. 8/16/93 Removed ENV_FLAGS from Makefile, so that there's no
       
   880 official support for overriding setenv, unsetenv, and putenv.
       
   881 
       
   882 220. 8/20/93 Various configuration improvements:  coerce chars
       
   883 to unsigned chars before using macros like isspace;  source ~/.tclshrc
       
   884 file during initialization if it exists and program is running
       
   885 interactively;  allow there to be directories in auto_path that don't
       
   886 exist or don't have tclIndex files (ignore them); added Tcl_Init
       
   887 procedure and changed Tcl_AppInit to call it.
       
   888 
       
   889 221. 8/21/93 Fixed bug in expr where "+", "-", and " " were all
       
   890 getting treated as integers with value 0.
       
   891 
       
   892 222. 8/26/93 Added "tcl_interactive" variable to tclsh.
       
   893 
       
   894 223. 8/27/93 Added procedure Tcl_FilePermissions to return whether a
       
   895 given file can be read or written or both.  Modified Tcl_EnterFile
       
   896 to take a permissions mask rather than separate read and write arguments.
       
   897 
       
   898 224. 8/28/93 Fixed performance bug in "glob" command (unnecessary call
       
   899 to "access" for each file caused a 5-10x slow-down for big directories).
       
   900 
       
   901 ----------------- Released version 7.0 Beta 3, 8/28/93 ------------------
       
   902 
       
   903 225. 9/9/93 Renamed regexp.h to tclRegexp.h to avoid conflicts with system
       
   904 include file by same name.
       
   905 
       
   906 226. 9/9/93 Added Tcl_DontCallWhenDeleted.
       
   907 
       
   908 227. 9/16/93 Changed not to call exit C procedure directly;  instead
       
   909 always invoke "exit" Tcl command so that application can redefine the
       
   910 command to do additional cleanup.
       
   911 
       
   912 228. 9/17/93 Changed auto-exec to handle names that contain slashes
       
   913 (i.e. don't use PATH for them).
       
   914 
       
   915 229. 9/23/93 Fixed bug in "read" and "gets" commands where they didn't
       
   916 clear EOF conditions.
       
   917 
       
   918 ----------------- Released version 7.0, 9/29/93 ------------------
       
   919 
       
   920 230. 10/7/93 "Scan" command wasn't properly aligning things in memory,
       
   921 so segmentation faults could arise under some circumstances.
       
   922 
       
   923 231. 10/7/93 Fixed bug in Tcl_ConvertElement where it forgot to
       
   924 backslash leading curly brace when creating lists.
       
   925 
       
   926 232. 10/7/93 Eliminated dependency of tclMain.c on tclInt.h and
       
   927 tclUnix.h, so that people can copy the file out of the Tcl source
       
   928 directory to make modified private versions.
       
   929 
       
   930 233. 10/8/93 Fixed bug in auto-loader that reversed the priority order
       
   931 of entries in auto_path for new-style index files.  Now things are
       
   932 back to the way they were before 3.0:  first in auto_path is always
       
   933 highest priority.
       
   934 
       
   935 234. 10/13/93 Fixed bug where Tcl_CommandComplete didn't recognize
       
   936 comments and treat them as such.  Thus if you typed the line
       
   937     # {
       
   938 interactively, Tcl would think that the command wasn't complete and
       
   939 wait for more input before evaluating the script.
       
   940 
       
   941 235. 10/14/93 Fixed bug where "regsub" didn't set the output variable
       
   942 if the input string was empty.
       
   943 
       
   944 236. 10/23/93 Fixed bug where Tcl_CreatePipeline didn't close off enough
       
   945 file descriptors in child processes, causing children not to exit
       
   946 properly in some cases.
       
   947 
       
   948 237. 10/28/93 Changed "list" and "concat" commands not to generate
       
   949 errors if given zero arguments, but instead to just return an empty
       
   950 string.
       
   951 
       
   952 ----------------- Released version 7.1, 11/4/93 ------------------
       
   953 
       
   954 Note: there is no 7.2 release.  It was flawed and was thus withdrawn
       
   955 shortly after it was released.
       
   956 
       
   957 238. 11/10/93 TclMain.c didn't compile on some systems because of
       
   958 R_OK in call to "access".  Changed to eliminate call to "access".
       
   959 
       
   960 ----------------- Released version 7.3, 11/26/93 ------------------
       
   961 
       
   962 239. 11/6/93 Modified "lindex", "linsert", "lrange", and "lreplace"
       
   963 so that "end" can be specified as an index.
       
   964 
       
   965 240. 11/6/93 Modified "append" and "lappend" to allow only two
       
   966 words total (i.e., nothing to append) without generating an error.
       
   967 
       
   968 241. 12/2/93 Changed to use EAGAIN as the errno for non-blocking
       
   969 I/O instead of EWOULDBLOCK:  this should fix problem where non-blocking
       
   970 I/O didn't work correctly on System-V systems.
       
   971 
       
   972 242. 12/22/93 Fixed bug in expressions where cancelled evaluation
       
   973 wasn't always working correctly (e.g. "set one 1; eval {1 || 1/$one}"
       
   974 failed with a divide by zero error).
       
   975 
       
   976 243. 1/6/94 Changed TCL_VOLATILE definition from -1 to the address of
       
   977 a dummy procedure Tcl_Volatile, since -1 causes portability problems on
       
   978 some machines (e.g., Crays).
       
   979 
       
   980 244. 2/4/94 Added support for unary plus.
       
   981 
       
   982 245. 2/17/94 Changed Tcl_RecordAndEval and "history" command to
       
   983 call Tcl_GlobalEval instead of Tcl_Eval.  Otherwise, invocation of
       
   984 these facilities in nested procedures can cause unwanted results.
       
   985 
       
   986 246. 2/17/94 Fixed bug in tclExpr.c where an expression such as
       
   987 "expr {"12398712938788234-1298379" != ""}" triggers an integer
       
   988 overflow error for the number in quotes, even though it isn't really
       
   989 a proper integer anyway.
       
   990 
       
   991 247. 2/19/94 Added new procedure Tcl_DStringGetResult to move result
       
   992 from interpreter to a dynamic string.
       
   993 
       
   994 248. 2/19/94 Fixed bug in Tcl_DStringResult that caused it to overwrite
       
   995 the contents of a static result in some situations.  This can cause
       
   996 bizarre errors such as variables suddenly having empty values.
       
   997 
       
   998 249. 2/21/94 Fixed bug in Tcl_AppendElement, Tcl_DStringAppendElement,
       
   999 and the "lappend" command that caused improper omission of a separator
       
  1000 space in some cases.  For example, the script
       
  1001     set x "abc{"; lappend x "def"
       
  1002 used to return the result "abc{def" instead of "abc{ def".
       
  1003 
       
  1004 250. 3/3/94 Tcl_ConvertElement was outputting empty elements as \0 if
       
  1005 TCL_DONT_USE_BRACES was set.  This depends on old pre-7.0 meaning of
       
  1006 \0, which is no longer in effect, so it didn't really work.  Changed
       
  1007 to output empty elements as {} always.
       
  1008 
       
  1009 251. 3/3/94 Renamed Tcl_DStringTrunc to Tcl_DStringSetLength and extended
       
  1010 it so that it can be used to lengthen a string as well as shorten it.
       
  1011 Tcl_DStringTrunc is defined as a macro for backward compatibility, but
       
  1012 it is deprecated.
       
  1013 
       
  1014 252. 3/3/94 Added Tcl_AllowExceptions procedure.
       
  1015 
       
  1016 253. 3/13/94 Fixed bug in Tcl_FormatCmd that could cause "format"
       
  1017 to mis-behave on 64-bit Big-Endian machines.
       
  1018 
       
  1019 254. 3/13/94 Changed to use vfork instead of fork on systems where
       
  1020 vfork exists.
       
  1021 
       
  1022 255. 3/23/94 Fixed bug in expressions where ?: didn't associate
       
  1023 right-to-left as they should.
       
  1024 
       
  1025 256. 4/3/94 Fixed "exec" to flush any files used in >@ or >&@
       
  1026 redirection in exec, so that data buffered for them is written
       
  1027 before any new data added by the subprocess.
       
  1028 
       
  1029 257. 4/3/94 Added "subst" command.
       
  1030 
       
  1031 258. 5/20/94 The tclsh main program is now called Tcl_Main;  tclAppInit.c
       
  1032 has a "main" procedure that calls Tcl_Main.  This makes it easier to use
       
  1033 Tcl with C++ programs, which need their own main programs, and it also
       
  1034 allows an application to prefilter the argument list before calling
       
  1035 Tcl_Main.
       
  1036 *** POTENTIAL INCOMPATIBILITY ***
       
  1037 
       
  1038 259. 6/6/94 Fixed bug in procedure returns where the errorInfo variable
       
  1039 could get truncated if an unset trace was invoked as part of returning
       
  1040 from the procedure.
       
  1041 
       
  1042 260. 6/13/94 Added "wordstart" and "wordend" options to "string" command.
       
  1043 
       
  1044 261. 6/27/94 Fixed bug in expressions where they didn't properly cancel
       
  1045 the evaluation of math functions in &&, ||, and ?:.
       
  1046 
       
  1047 262. 7/11/94 Incorrect boolean values, like "ogle", weren't being
       
  1048 handled properly.
       
  1049 
       
  1050 263. 7/15/94 Added Tcl_RegExpCompile, Tcl_RegExpExec, and Tcl_RegExpRange,
       
  1051 which provide lower-level access to regular expression pattern matching.
       
  1052 
       
  1053 264. 7/22/94 Fixed bug in "glob" command where "glob -nocomplain ~bad_user"
       
  1054 would complain about a missing user.  Now it doesn't complain anymore.
       
  1055 
       
  1056 265. 8/4/94 Fixed bug with linked variables where they didn't behave
       
  1057 correctly when accessed via upvars.
       
  1058 
       
  1059 266. 8/17/94 Fixed bug in Tcl_EvalFile where it didn't clear interp->result.
       
  1060 
       
  1061 267. 8/31/94 Modified "open" command so that errors in exec-ing
       
  1062 subprocesses are returned by the open immediately, rather than
       
  1063 being delayed until the "close" is executed.
       
  1064 
       
  1065 268. 9/9/94 Modified "expr" command to generate errors for integer
       
  1066 overflow (includes addition, subtraction, negation, multiplication,
       
  1067 division).
       
  1068 
       
  1069 269. 9/23/94 Modified "regsub" to return a count of the number of
       
  1070 matches and replacements, rather than 0/1.
       
  1071 
       
  1072 279. 10/4/94 Added new features to "array" command:
       
  1073     - added "get" and "set" commands for easy conversion between arrays
       
  1074       and lists.
       
  1075     - added "exists" command to see if a variable is an array, changed
       
  1076       "names" and "size" commands to treat a non-existent array (or scalar
       
  1077       variable) just like an empty one.
       
  1078     - added pattern option to "names" command.
       
  1079 
       
  1080 280. 10/6/94 Modified Tcl_SetVar2 so that read traces on variables get
       
  1081 called during append operations.
       
  1082 
       
  1083 281. 10/20/94 Fixed bug in "read" command where reading from stdin
       
  1084 required two control-D's to stop the reading.
       
  1085 
       
  1086 282. 11/3/94 Changed "expr" command to use longs for division just like
       
  1087 all other expr operators;  it previously used ints for division.
       
  1088 
       
  1089 283. 11/4/94 Fixed bugs in "unknown" procedure:  it wasn't properly
       
  1090 handling exception returns from commands that were executed after
       
  1091 being auto-loaded.
       
  1092 
       
  1093 ----------------- Released version 7.4b1, 12/23/94 ------------------
       
  1094 
       
  1095 284. 12/26/94 Fixed "install" target in Makefile (couldn't always
       
  1096 find install program).
       
  1097 
       
  1098 285. 12/26/94 Added strcncasecmp procedure to compat directory.
       
  1099 
       
  1100 286. 1/3/95 Fixed all procedure calls to explicitly cast arguments:
       
  1101 implicit conversions from prototypes (especially integer->double)
       
  1102 don't work when compiling under non-ANSI compilers.  Tcl is now clean
       
  1103 under gcc -Wconversion.
       
  1104 
       
  1105 287. 1/4/95 Fixed problem in Tcl_ArrayCmd where same name was used for
       
  1106 both a label and a variable;  caused problems on several older compilers,
       
  1107 making array command misbehave and causing many errors in Tcl test suite.
       
  1108 
       
  1109 ----------------- Released version 7.4b2, 1/12/95 ------------------
       
  1110 
       
  1111 288. 2/9/95 Modified Tcl_CreateCommand to return a token, and added
       
  1112 Tcl_GetCommandName procedure.  Together, these procedures make it possible
       
  1113 to track renames of a command.
       
  1114 
       
  1115 289. 2/13/95 Fixed bug in expr where "089" was interpreted as a
       
  1116 floating-point number rather than a bogus octal number.
       
  1117 *** POTENTIAL INCOMPATIBILITY ***
       
  1118 
       
  1119 290. 2/14/95 Added code to Tcl_GetInt and Tcl_GetDouble to check for
       
  1120 overflows when reading in numbers.
       
  1121 
       
  1122 291. 2/18/95 Changed "array set" to stop after first error, rather than
       
  1123 continuing after error.
       
  1124 
       
  1125 292. 2/20/95 Upgraded to use autoconf version 2.2.
       
  1126 
       
  1127 293. 2/20/95 Fixed core dump that could occur in "scan" command if a
       
  1128 close bracket was omitted.
       
  1129 
       
  1130 294. 2/27/95 Changed Makefile to always use install-sh for installations:
       
  1131 there's just too much variation among "install" system programs, which
       
  1132 makes installation flakey.
       
  1133 
       
  1134 ----------------- Released version 7.4b3, 3/24/95 ------------------
       
  1135 
       
  1136 3/25/95 (bug fix) Changed "install" to "./install" in Makefile so that
       
  1137 "make install" will work even when "." isn't in the search path.
       
  1138 
       
  1139 3/29/95 (bug fix) Fixed bug where the auto-loading mechanism wasn't
       
  1140 protecting the values of the errorCode and errorInfo variables.
       
  1141 
       
  1142 3/29/95 (new feature) Added optional pattern argument to "parray" procedure.
       
  1143 
       
  1144 3/29/95 (bug fix) Made the full functionality of
       
  1145     "return -code ... -errorcode ..."
       
  1146 work not just inside procedures, but also in sourced files and at
       
  1147 top level.
       
  1148 
       
  1149 4/6/95 (new feature) Added "pattern" option to "array names" command.
       
  1150 
       
  1151 4/18/95 (bug fix) Fixed bug in parser where it didn't allow backslash-newline
       
  1152 immediately after an argument in braces or quotes.
       
  1153 
       
  1154 4/19/95 (new feature) Added tcl_library variable, which application can
       
  1155 set to override default library directory.
       
  1156 
       
  1157 4/30/95 (bug fix) During trace callbacks for array elements, the variable
       
  1158 name used in the original reference would be temporarily modified to
       
  1159 separate the array name and element name;  if the trace callback used
       
  1160 the same name string, it would get the wrong name (the array name without
       
  1161 element).  Fixed to restore the variable name before making trace
       
  1162 callbacks.
       
  1163 
       
  1164 4/30/95 (new feature) Added -nobackslashes, -nocommands, and -novariables
       
  1165 switches to "subst" command.
       
  1166 
       
  1167 5/4/95 (new feature) Added TCL_EVAL_GLOBAL flag to Tcl_RecordAndEval.
       
  1168 
       
  1169 5/5/95 (bug fix)  Format command would overrun memory when printing
       
  1170 integers with very large precision, as in "format %.1000d 0".
       
  1171 
       
  1172 5/5/95 (portability improvement) Changed to use BSDgettimeofday on
       
  1173 IRIX machines, to avoid compilation problems with the gettimeofday
       
  1174 declaration.
       
  1175 
       
  1176 5/6/95 (bug fix) Changed manual entries to use the standard .TH
       
  1177 macro instead of a custom .HS macro;  the .HS macro confuses index
       
  1178 generators like makewhatis.
       
  1179 
       
  1180 5/9/95 (bug fix) Modified configure script to check for Solaris bug
       
  1181 that makes vfork unreliable (core dumps result if vforked child
       
  1182 changes a signal handler);  will use fork instead of vfork if the
       
  1183 bug is present.
       
  1184 
       
  1185 6/5/95 (bug fix) Modified "lsort" command to disallow recursive calls
       
  1186 to lsort from a comparison function.  This is needed because qsort
       
  1187 is not reentrant.
       
  1188 
       
  1189 6/5/95 (bug fix) Undid change 243 above:  changed TCL_VOLATILE and
       
  1190 TCL_DYNAMIC back to integer constants rather than procedure addresses.
       
  1191 This was needed because procedure addresses can have multiple values
       
  1192 under some dynamic loading systems (e.g. SunOS 4.1 and Windows).
       
  1193 
       
  1194 6/8/95 (feature change) Modified interface to Tcl_Main to pass in the
       
  1195 address of the application-specific initialization procedure.
       
  1196 Tcl_AppInit is no longer hardwired into Tcl_Main.  This is needed
       
  1197 in order to make Tcl a shared library. 
       
  1198 
       
  1199 6/8/95 (feature change) Modified Makefile so that the installed versions
       
  1200 of tclsh and libtcl.a have version number in them (e.g. tclsh7.4 and
       
  1201 libtcl7.4.a) and the library directory name also has an embedded version
       
  1202 number (e.g., /usr/local/lib/tcl7.4).  This should make it easier for
       
  1203 Tcl 7.4 to coexist with earlier versions.
       
  1204 
       
  1205 ----------------- Released version 7.4b4, 6/16/95 ------------------
       
  1206 
       
  1207 6/19/95 (bug fix) Fixed bugs in tclCkalloc.c that caused core dumps
       
  1208 if TCL_MEM_DEBUG was enabled on word-addressed machines such as Crays.
       
  1209 
       
  1210 6/21/95 (feature removal) Removed overflow checks for integer arithmetic:
       
  1211 they just cause too much trouble (e.g. for random  number generators).
       
  1212 
       
  1213 6/28/95 (new features) Added tcl_patchLevel and tcl_version variables,
       
  1214 for consistency with Tk.
       
  1215 
       
  1216 6/29/95 (bug fix) Fixed problem in Tcl_Eval where it didn't record
       
  1217 the right termination character if a script ended with a comment.  This
       
  1218 caused erroneous output for the following command, among others:
       
  1219 puts "[
       
  1220 expr 1+1
       
  1221 # duh!
       
  1222 ]"
       
  1223 
       
  1224 6/29/95 (message change) Changed the error message for ECHILD slightly
       
  1225 to provide a hint about why the problem is occurring.
       
  1226 
       
  1227 ----------------- Released version 7.4, 7/1/95 ------------------
       
  1228 
       
  1229 7/18/95 (bug fix) Changed "lreplace" so that nothing is deleted if
       
  1230 the last index is less than the first index or if the last index
       
  1231 is < 0.
       
  1232 
       
  1233 7/18/95 (bug fix) Fixed bugs with backslashes in comments:
       
  1234 Tcl_CommandComplete (and "info complete") didn't properly handle
       
  1235 strings ending in backslash-newline, and neither Tcl_CommandComplete
       
  1236 nor the Tcl parser handled other backslash sequences right, such
       
  1237 as two backslashes before a newline.
       
  1238 
       
  1239 7/19/95 (bug fix) Modified Tcl_DeleteCommand to delete the hash table
       
  1240 entry for the command before invoking its callback.  This is needed in
       
  1241 order to deal with reentrancy.
       
  1242 
       
  1243 7/22/95 (bug fix) "exec" wasn't reaping processes correctly after
       
  1244 certain errors (e.g. if the name of the executable was bogus, as
       
  1245 in "exec foobar").
       
  1246 
       
  1247 7/27/95 (bug fix) Makefile.in wasn't using the LIBS variable provided
       
  1248 by the "configure" script.  This caused problems on some SCO systems.
       
  1249 
       
  1250 7/27/95 (bug fix) The version of strtod in fixstrtod.c didn't properly
       
  1251 handle the case where endPtr == NULL.
       
  1252 
       
  1253 ----------------- Released patch 7.4p1, 7/29/95 -----------------------
       
  1254 
       
  1255 8/4/95 (bug fix) C-level trace callbacks for variables were sometimes
       
  1256 receiving the PART1_NOT_PARSED flag, which could cause errors in
       
  1257 subsequent Tcl library calls using the flags. (JO)
       
  1258 
       
  1259 8/4/95 (bug fix) Calls to toupper and tolower weren't using the
       
  1260 UCHAR macros, which caused trouble in non-U.S. locales. (JO)
       
  1261 
       
  1262 8/10/95 (new feature) Added the "load" command for dynamic loading of
       
  1263 binary packages, and the Tcl_PackageInitProc prototype for package
       
  1264 initialization procedures. (JO)
       
  1265 
       
  1266 8/23/95 (new features) Added "info sharedlibextension" and
       
  1267 "info nameofexecutable" commands, plus Tcl_FindExtension procedure. (JO)
       
  1268 
       
  1269 8/25/95 (bug fix) If the target of an "upvar" was non-existent but
       
  1270 had traces set, the traces were silently lost.  Change to generate
       
  1271 an error instead. (JO)
       
  1272 
       
  1273 8/25/95 (bug fix) Undid change from 7/19, so that commands can stay
       
  1274 around while their deletion callbacks execute.  Added lots of code to
       
  1275 handle all of the reentrancy problems that this opens up. (JO)
       
  1276 
       
  1277 8/25/95 (bug fix) Fixed core dump that could occur in TclDeleteVars
       
  1278 if there was an upvar from one entry in the table to the next entry
       
  1279 in the same table. (JO)
       
  1280 
       
  1281 8/28/95 (bug fix) Exec wasn't handling bad user names properly, as
       
  1282 in "exec ~bogus_user/foo". (JO)
       
  1283 
       
  1284 8/29/95 (bug fixes) Changed backslash-newline handling to correct two
       
  1285 problems:
       
  1286     - Only spaces and tabs following the backslash-newline are now
       
  1287       absorbed as part of the backslash-newline.  Newlinew are no
       
  1288       longer absorbed (add another backslash if you want to absorb
       
  1289       another newline).
       
  1290     - TclWordEnd returns the character just before the backslash in
       
  1291       the sequence as the end of the sequence;  it used to not consider
       
  1292       the backslash-newline as a word separator. (JO)
       
  1293 
       
  1294 8/31/95 (new feature) Changed man page installation (with "mkLinks"
       
  1295 script) to create additional links for manual pages corresponding to
       
  1296 each of the procedure and command names described in the pages. (JO)
       
  1297 
       
  1298 9/10/95 Reorganized Tcl sources for Windows and Mac ports.  All sources
       
  1299 are now in subdirectories:  "generic" contains sources that work on all
       
  1300 platforms, "windows", "mac", and "unix" directories contain platform-
       
  1301 specific sources.  Some UNIX sources are also used on other platforms. (SS)
       
  1302 
       
  1303 9/10/95 (feature change) Eliminated exported global variables (they
       
  1304 don't work with Windows DLLs).  Replaced tcl_AsyncReady and
       
  1305 tcl_FileCloseProc with procedures Tcl_AsyncReady() and
       
  1306 Tcl_SetFileCloseProc().  Replaced C variable tcl_RcFileName with
       
  1307 a Tcl variable tcl_rcFileName. (SS)
       
  1308 *** POTENTIAL INCOMPATIBILITY ***
       
  1309 
       
  1310 9/11/95 (new feature) Added procedure Tcl_SetPanicProc to override
       
  1311 the default implementation of "panic". (SS)
       
  1312 
       
  1313 9/11/95 (new feature) Added "interp" command to allow creation of
       
  1314 new interpreters and execution of untrusted scripts.  Added many new
       
  1315 procedures, such as Tcl_CreateSlave, Tcl_CreateAlias,and Tcl_MakeSafe,
       
  1316 to provide C-level access to the interpreter facility. This mechanism
       
  1317 now provides almost all of the generic functions of Borenstein's and
       
  1318 Rose's Safe-Tcl (but not any Tk or email-related stuff).  (JL)
       
  1319 
       
  1320 9/11/95 (feature change) Changed file management so that files are
       
  1321 no longer shared between interpreters:  a file cannot normally be
       
  1322 referenced in one interpreter if it was opened in another.  This
       
  1323 feature is needed to support safe interpreters.  Added Tcl_ShareHandle()
       
  1324 procedure for allowing files to be shared, and added "interp" argument
       
  1325 to Tcl_FilePermissions procedure. (JL)
       
  1326 *** POTENTIAL INCOMPATIBILITY ***
       
  1327 
       
  1328 9/11/95 (new feature) Added "AssocData" mechanism, whereby extensions
       
  1329 can associate their own data with an interpreter and get called back
       
  1330 when the interpreter is deleted.  This is visible at C level via the
       
  1331 procedures Tcl_SetAssocData and Tcl_GetAssocData.  (JL)
       
  1332 
       
  1333 9/11/95 (new feature) Added Tcl_ErrnoMsg to translate an errno value
       
  1334 into a human-readable string.  This is now used instead of calling
       
  1335 strerror because strerror mesages vary dramatically from platform
       
  1336 to platform, which messes up Tcl tests.  Tcl_ErrnoMsg uses the standard
       
  1337 POSIX messages for all the common signals, and calls strerror for
       
  1338 signals it doesn't understand.
       
  1339 
       
  1340 ----------------- Released patch 7.4p2, 9/15/95 -----------------------
       
  1341 
       
  1342 ----------------- Released 7.5a1, 9/15/95 -----------------------
       
  1343 
       
  1344 9/22/95 (bug fix) Changed auto_mkindex to create tclIndex files that
       
  1345 handle directories whose paths might contain spaces. (RJ)
       
  1346 
       
  1347 9/27/95 (bug fix) The "format" command didn't check for huge or negative
       
  1348 width specifiers, which could cause core dumps. (JO)
       
  1349 
       
  1350 9/27/95 (bug fix) Core dumps could occur if an interactive command typed
       
  1351 to tclsh returned a very long result for tclsh to print out.  The bug is
       
  1352 actually in printf (in Solaris 2.3 and 2.4, at least);  switched to use
       
  1353 puts instead.  (JO)
       
  1354 
       
  1355 9/28/95 (bug fix) Changed makefile.bc to eliminate a false dependency
       
  1356 for tcl1675.dll on the Borland run time library. (SS)
       
  1357 
       
  1358 9/28/95 (bug fix) Fixed tcl75.dll so it looks for tcl1675.dll instead
       
  1359 of tcl16.dll. (SS)
       
  1360 
       
  1361 9/28/95 (bug fix) Tcl was not correctly detecting the difference
       
  1362 between Win32s and Windows '95. (SS)
       
  1363 
       
  1364 9/28/95 (bug fix) "exec" was not passing environment changes to child
       
  1365 processes under Windows. (SS)
       
  1366 
       
  1367 9/28/95 (bug fix) Changed Tcl to ensure that open files are not passed
       
  1368 to child processes under Windows. (SS)
       
  1369 
       
  1370 9/28/95 (bug fix) Fixed Windows '95 and NT versions of exec so it can
       
  1371 handle both console and windows apps.   (SS)
       
  1372 
       
  1373 9/28/95 (bug fix) Fixed Windows version of exec so it no longer leaves
       
  1374 temp files lying around.  Also changed it so the temp files are
       
  1375 created in the appropriate system dependent temp directory. (SS)
       
  1376 
       
  1377 9/28/95 (bug fix) Eliminated source dependency on the Win32s Universal
       
  1378 Thunk header file, since it is not bundled with VC++. (SS)
       
  1379 
       
  1380 9/28/95 (bug fix) Under Windows, Tcl now constructs the HOME
       
  1381 environment variable from HOMEPATH and HOMEDRIVE when HOME is not
       
  1382 already set. (SS)
       
  1383 
       
  1384 9/28/95 (bug fix) Added support for "info nameofexecutable" and "info
       
  1385 sharedlibextension" to the Windows version. (SS)
       
  1386 
       
  1387 9/28/95 (bug fix) Changed tclsh to correctly parse command line
       
  1388 arguments so that backslashes are preserved under Windows. (SS)
       
  1389 
       
  1390 9/29/95 (bug fix) Tcl 7.5a1 treated either return or newline as end
       
  1391 of line in "gets", which caused lines ending in CRLF to be treated as
       
  1392 two separate lines.  Changed to allow only character as end-of-line:
       
  1393 carriage return on Macs, newline elsewhere. (JO)
       
  1394 
       
  1395 9/29/95 (new feature) Changed to install "configInfo" file in same
       
  1396 directory as library scripts.  It didn't used to get installed. (JO)
       
  1397 
       
  1398 9/29/95 (bug fix) Tcl was not converting Win32 errors into POSIX
       
  1399 errors under some circumstances. (SS)
       
  1400 
       
  1401 10/2/95 (bug fix) Safe interpreters no longer get initialized with
       
  1402 a call to Tcl_Init(). (JL)
       
  1403 
       
  1404 10/1/95 (new feature) Added "tcl_platform" global variable to provide
       
  1405 environment information such as the instruction set and operating
       
  1406 system. (JO)
       
  1407 
       
  1408 10/1/95 (bug fix) "exec" command wasn't always generating the
       
  1409 "child process exited abnormally" message when it should have.  (JO)
       
  1410 
       
  1411 10/2/95 (bug fix) Changed "mkLinks.tcl" so that the scripts it generates
       
  1412 won't create links that overwrite original manual entries (there was
       
  1413 a problem where pack-old.n was overwriting pack.n).  (JO)
       
  1414 
       
  1415 10/2/95 (feature change) Changed to use -ldl for dynamic loading under
       
  1416 Linux if it is available, but fall back to -ldld if it isn't.  (JO)
       
  1417 
       
  1418 10/2/95 (bug fix) File sharing was causing refcounts to reach 0
       
  1419 prematurely for stdin, stdout and stderr, under some circumstances. (JL)
       
  1420 
       
  1421 10/2/95 (platform support) Added support for Visual C++ compiler on
       
  1422 Windows, Windows '95 and Windows NT, code donated by Gordon Chaffee. (JL)
       
  1423 
       
  1424 10/3/95 (bug fix) Tcl now frees any libraries that it loads before it
       
  1425 exits. (SS)
       
  1426 
       
  1427 10/03/95 (bug fix) Fixed bug in Macintosh ls command where the -l
       
  1428 and -C options would fail in anything but the HOME directory. (RJ)
       
  1429 
       
  1430 ----------------- Released 7.5a2, 10/6/95 -----------------------
       
  1431 
       
  1432 10/10/95 (bug fix) "file dirnam /." was returning ":" on UNIX instead
       
  1433 of "/". (JO)
       
  1434 
       
  1435 10/13/95 (bug fix) Eliminated dependency on MKS toolkit for generating
       
  1436 the tcl.def file from Borland object files. (SS)
       
  1437 
       
  1438 10/17/95 (new features) Moved the event loop from Tcl to Tk, made major
       
  1439 revisions along the way:
       
  1440     - New Tcl commands:  after, update, vwait (replaces "tkwait variable").
       
  1441     - "tkerror" is now replaced with "bgerror".
       
  1442     - The following procedures are similar to their old Tk counterparts:
       
  1443       Tcl_DoOneEvent, Tcl_Sleep, Tcl_DoWhenIdle, Tcl_CancelIdleCall,
       
  1444       Tcl_CreateFileHandler, Tcl_DeleteFileHandler, Tcl_CreateTimerHandler,
       
  1445       Tcl_DeleteTimerHandler, Tcl_BackgroundError.
       
  1446     - Revised notifier, add new concept of "event source" with the following
       
  1447       procedures:  Tcl_CreateEventSource, Tcl_DeleteEventSource,
       
  1448       Tcl_WatchFile, Tcl_SetMaxBlockTime, Tcl_FileReady, Tcl_QueueEvent,
       
  1449       Tcl_WaitForEvent. (JO)
       
  1450 
       
  1451 10/31/95 (new features) Implemented cross platform file name support to make
       
  1452 it easier to write cross platform scripts.  Tcl now understands 4 file naming
       
  1453 conventions: Windows (both DOS and UNC), Mac, Unix, and Network.  The network
       
  1454 convention is a new naming mechanism that can be used to paths in a platform
       
  1455 independent fashion.  See the "file" command manual page for more details.
       
  1456 The primary interfaces changes are:
       
  1457     - All Tcl commands that expect a file name now accept both network and
       
  1458       native form.
       
  1459     - Two new "file" subcommands, "nativename" and "networkname", provide a
       
  1460       way to convert between network and native form.
       
  1461     - Renamed Tcl_TildeSubst to Tcl_TranslateFileName, and changed it so that
       
  1462       it always returns a filename in native form.  Tcl_TildeSubst is defined
       
  1463       as a macro for backward compatibility, but it is deprecated. (SS)
       
  1464 
       
  1465 11/5/95 (new feature) Made "tkerror" and "bgerror" synonyms, so that
       
  1466 either name can be used to manipulate the command (provides temporary
       
  1467 backward compatibility for existing scripts that use tkerror). (JO)
       
  1468 
       
  1469 11/5/95 (new feature) Added exit handlers and new C procedures
       
  1470 Tcl_CreateExitHandler, Tcl_DeleteExitHandler, and Tcl_Exit. (JO)
       
  1471 
       
  1472 11/6/95 (new feature) Added pid command for Macintosh version of
       
  1473 Tcl (it didn't previously exist on the Mac). (RJ)
       
  1474 
       
  1475 11/7/95 (new feature) New generic IO facility and support for IO to
       
  1476 files, pipes and sockets based on a common buffering scheme. Support
       
  1477 for asynchronous (non-blocking) IO and for event driver IO. Support
       
  1478 for automatic (background) asynchronous flushing and asynchronous
       
  1479 closing of channels. (JL)
       
  1480 
       
  1481 11/7/95 (new feature)  Added new commands "fconfigure" and "fblocked"
       
  1482 to support new I/O features such as nonblocking I/O.  Added "socket"
       
  1483 command for creating TCP client and server sockets. (JL).
       
  1484 
       
  1485 11/7/95 (new feature) Complete set of C APIs to the new generic IO
       
  1486 facility:
       
  1487     - Opening channels: Tcl_OpenFileChannel, Tcl_OpenCommandChannel,
       
  1488       Tcl_OpenTcpClient, Tcl_OpenTcpServer.
       
  1489     - I/O procedures on channels, which roughly mirror the ANSI C stdio
       
  1490       library:  Tcl_Read, Tcl_Gets, Tcl_Write, Tcl_Flush, Tcl_Seek,
       
  1491       Tcl_Tell, Tcl_Close, Tcl_Eof, Tcl_InputBlocked, Tcl_GetChannelOption,
       
  1492       Tcl_SetChannelOption.
       
  1493     - Extension mechanism for creating new kinds of channels:
       
  1494       Tcl_CreateChannel, Tcl_GetChannelInstanceData, Tcl_GetChannelType,
       
  1495       Tcl_GetChannelName, Tcl_GetChannelFile, Tcl_RegisterChannel,
       
  1496       Tcl_UnregisterChannel, Tcl_GetChannel.
       
  1497     - Event-driven I/O on channels: Tcl_CreateChannelHandler,
       
  1498       Tcl_DeleteChannelHandler. (JL)
       
  1499 
       
  1500 11/7/95 (new feature) Channel driver interface specification to allow
       
  1501 new types of channels to be added easily to Tcl. Currently being used
       
  1502 in three drivers - for files, pipes and TCP-based sockets. (JL).
       
  1503 
       
  1504 11/7/95 (new feature) interp delete now takes any number of path
       
  1505 names of interpreters to delete, including zero. (JL).
       
  1506 
       
  1507 11/8/95 (new feature) implemented 'info hostname' and Tcl_GetHostName
       
  1508 command to get host name of machine on which the Tcl process is running. (JL)
       
  1509 
       
  1510 11/9/95 (new feature) Implemented file APIs for access to low level files
       
  1511 on each system. The APIs are: Tcl_CloseFile, Tcl_OpenFile, Tcl_ReadFile,
       
  1512 Tcl_WriteFile and Tcl_SeekFile. Also implemented Tcl_WaitPid which waits
       
  1513 in a system dependent manner for a child process. (JL)
       
  1514 
       
  1515 11/9/95 (new feature) Added Tcl_UpdateLinkedVar procedure to force a
       
  1516 Tcl variable to be updated after its C variable changes. (JO)
       
  1517 
       
  1518 11/9/95 (bug fix) The glob command has been totally reimplemented so
       
  1519 that it can support different file name conventions.  It now handles
       
  1520 Windows file names (both UNC and drive-relative) properly.  It also
       
  1521 supports nested braces correctly now. (SS)
       
  1522 
       
  1523 11/13/95 (bug fix) Fixed Makefile.in so that configure can be run
       
  1524 from a clean directory separate from the Tcl source tree, and compilations
       
  1525 can be performed there. (JO)
       
  1526 
       
  1527 11/14/95 (bug fix) Fixed file sharing between interpreters and file
       
  1528 transferring between interpreters to correctly manage the refcount so that
       
  1529 files are closed when the last reference to them is discarded. (JL)
       
  1530 
       
  1531 11/14/95 (bug fix) Fixed gettimeofday implementation for the
       
  1532 Macintosh.  This fixes several timing related bugs. (RJ)
       
  1533 
       
  1534 11/17/95 (new feature) Added missing support for info nameofexecutable
       
  1535 on the Macintosh. (RJ)
       
  1536 
       
  1537 11/17/95 (bug fix) The Tcl variables argc argv and argv0 now return
       
  1538 something reasonable on the Mac.  (RJ)
       
  1539 
       
  1540 11/22/95 (new feature) Implemented "auto-detect" mode for end of line
       
  1541 translations. On input, standalone "\r" mean MAC mode, standalone "\n"
       
  1542 mean Unix mode and "\r\n" means Windows mode. On output, the mode is
       
  1543 modified to whatever the platform specific mode for that platform is. (JL)
       
  1544 
       
  1545 11/24/95 (feature change) Replaced "configInfo" file with tclConfig.sh,
       
  1546 which is more complete and uses slightly different names.  Also
       
  1547 arranged for tclConfig.sh to be installed in the platform-specific
       
  1548 library directory instead of Tcl's script library directory. (JO)
       
  1549 *** POTENTIAL INCOMPATIBILITY with Tcl 7.5a2, but not with Tcl 7.4 ***
       
  1550 
       
  1551 ----------------- Released patch 7.4p3, 11/28/95 -----------------------
       
  1552 
       
  1553 12/5/95 (new feature) Added Tcl_File facility to support platform-
       
  1554 independent file handles.  Changed all interfaces that used Unix-
       
  1555 style integer fd's to use Tcl_File's instead. (SS)
       
  1556 *** POTENTIAL INCOMPATIBILITY ***
       
  1557 
       
  1558 12/5/95 (new feature) Added a new "clock" command to Tcl.  The command
       
  1559 allows you to get the current "clicks" or seconds & allows you to
       
  1560 format or scan human readable time/date strings. (RJ)
       
  1561 
       
  1562 12/18/95 (new feature) Moved Tk_Preserve, Tk_Release, and Tk_EventuallyFree
       
  1563 to Tcl, renamed to Tcl_Preserve, Tcl_Release, and Tcl_EventuallyFree. (JO)
       
  1564 
       
  1565 12/18/95 (new feature) Added new "package" command and associated
       
  1566 procedures Tcl_PkgRequire and Tcl_PkgProvide.   Also wrote
       
  1567 pkg_mkIndex library procedure to create index files from binaries
       
  1568 and scripts. (JO)
       
  1569 
       
  1570 12/20/95 (new feature) Added Tcl_WaitForFile procedure. (JO)
       
  1571 
       
  1572 12/21/95 (new features) Made package name argument to "load" optional
       
  1573 (Tcl will now attempt to guess the package name if necessary).  Also
       
  1574 added Tcl_StaticPackage and support in "load" for statically linked
       
  1575 packages.  (JO)
       
  1576 
       
  1577 12/22/95 (new feature) Upgraded the foreach command to accept multiple
       
  1578 loop variables and multiple value lists.  This lets you iterate over
       
  1579 multiple lists in parallel, and/or assign multiple loop variables from
       
  1580 one value list during each iteration. The only potential compatibility
       
  1581 problem is with scripts that used loop variables with a name that could be
       
  1582 construed to be a list of variable names (i.e. contained spaces).  (BW)
       
  1583 
       
  1584 1/5/96 (new feature) Changed tclsh so it builds as a console mode
       
  1585 application under Windows.  Now tclsh can be used from the command
       
  1586 line with pipes or interactively.  Note that this only works under
       
  1587 Windows 95 or NT. (SS)
       
  1588 
       
  1589 1/17/96 (new feature) Modified Makefile and configure script to allow
       
  1590 Tcl to be compiled as a shared library:  use the --enable-shared option
       
  1591 when configuing.  (JO)
       
  1592 
       
  1593 1/17/96 (removed obsolete features)  Removed the procedures Tcl_EnterFile
       
  1594 and Tcl_GetOpenFile:  these no longer make sense with the new I/O system. (JL)
       
  1595 *** POTENTIAL INCOMPATIBILITY ***
       
  1596 
       
  1597 1/19/96 (bug fixes) Prevented formation of circular aliases, through the
       
  1598 Tcl 'interp alias' command and through the 'rename' command, as well as
       
  1599 through the C API Tcl_CreateAlias. (JL)
       
  1600 
       
  1601 1/19/96 (bug fixes) Fixed several bugs in direct deletion of interpreters
       
  1602 with Tcl_DeleteInterp when the interpreter is a slave; fixes based on a
       
  1603 patch received from Viktor Dukhovni of ESM. (JL)
       
  1604 
       
  1605 1/19/96 (new feature) Implemented on-close handlers for channels; added
       
  1606 the C APIs Tcl_CreateCloseHandler and Tcl_DeleteCloseHandler. (JL)
       
  1607 
       
  1608 1/19/96 (new feature) Implemented portable error reporting mechanism; added
       
  1609 the C APIs Tcl_SetErrno and Tcl_GetErrno. (JL)
       
  1610 
       
  1611 1/24/96 (bug fix) Unknown command processing properly invokes external
       
  1612 commands under Windows NT and Windows '95 now. (SS)
       
  1613 
       
  1614 1/23/96 (bug fix) Eliminated extremely long startup times under Windows '95.
       
  1615 The problem was a result of the option database initialization code that
       
  1616 concatenated $HOME with /.Xdefaults, resulting in a // in the middle of the
       
  1617 file name.  Under Windows '95, this is incorrectly interpreted as a UNC
       
  1618 path.  They delays came from the network timeouts needed to determine that
       
  1619 the file name was invalid.  Tcl_TranslateFileName now suppresses duplicate
       
  1620 slashes that aren't at the beginning of the file name. (SS)
       
  1621 				     
       
  1622 1/25/96 (bug fix) Changed exec and open to create children so they are
       
  1623 attached to the application's console if it exists. (SS)
       
  1624 
       
  1625 1/31/96 (bug fix) Fixed command line parsing to handle embedded
       
  1626 spaces under Windows. (SS)
       
  1627 
       
  1628 ----------------- Released 7.5b1, 2/1/96 -----------------------
       
  1629 
       
  1630 2/7/96 (bug fix) Fixed off by one error in argument parsing code under
       
  1631 Windows. (SS)
       
  1632 
       
  1633 2/7/96 (bug fix) Fixed bugs in VC++ makefile that improperly
       
  1634 initialized the tcl75.dll.  Fixed bugs in Borland makefile that caused
       
  1635 build failures under Windows NT. (SS)
       
  1636 
       
  1637 2/9/96 (bug fix) Fixed deadlock problem in AUTO end of line translation
       
  1638 mode which would cause a socket server with several concurrent clients
       
  1639 writing in CRLF mode to hang. (JL)
       
  1640 
       
  1641 2/9/96 (API change) Replaced -linemode option to fconfigure with a
       
  1642 new -buffering option, added "none" setting to enable immediate write. (JL)
       
  1643 *** INCOMPATIBILITY with b1 ***
       
  1644 
       
  1645 2/9/96 (new feature) Added C API Tcl_InputBuffered which returns the count
       
  1646 of bytes currently buffered in the input buffer of a channel, and o for
       
  1647 output only channels. (JL)
       
  1648 
       
  1649 2/9/96 (new feature) Implemented asynchronous connect for sockets. (JL)
       
  1650 
       
  1651 2/9/96 (new feature) Added C API Tcl_SetDefaultTranslation to set (per
       
  1652 channel) the default end of line translation mode. This is the mode that
       
  1653 will be installed if an output operation is done on the channel while it is
       
  1654 still in AUTO mode. (JL)
       
  1655 
       
  1656 2/9/96 (bug fix) Changed Tcl_OpenCommandChannel interface to properly
       
  1657 handle all of the combinations of stdio inheritance in background
       
  1658 pipelines.  See the Tcl_OpenFileChannel(3) man page for more
       
  1659 info.  This change fixes the bug where exec of a background pipeline
       
  1660 was not getting passed the stdio handles properly. (SS)
       
  1661 
       
  1662 2/9/96 (bug fix) Removed the new Tcl_CreatePipeline interface, and
       
  1663 restored the old version for Unix platforms only.  All new code should
       
  1664 use Tcl_CreateCommandChannel instead. (SS)
       
  1665 
       
  1666 2/9/96 (bug fix) Changed Makefile.in to use -L and -ltcl7.5 for Tcl
       
  1667 library so that shared libraries are more likely to be found correctly
       
  1668 on more platforms. (JO)
       
  1669 
       
  1670 2/13/96 (new feature) Added C API Tcl_SetNotifierData and
       
  1671 Tcl_GetNotifierData to allow notifier and channel driver writers to
       
  1672 associate data with a Tcl_File.  The result of this change is that
       
  1673 Tcl_GetFileInfo now always returns an OS file handle, and Tcl_GetFile
       
  1674 can be used to construct a Tcl_File for an externally constructed OS
       
  1675 handle. (SS)
       
  1676 
       
  1677 2/13/96 (bug fix) Changed Windows socket implementation so it doesn't
       
  1678 set SO_REUSEADDR on server sockets.  Now attempts to create a server
       
  1679 socket on a port that is already in use will be properly identified
       
  1680 and an error will be generated. (SS)
       
  1681 
       
  1682 2/13/96 (bug fix) Fixed problems with DLL initialization under Visual
       
  1683 C++ that left the C run time library uninitialized. (SS)
       
  1684 
       
  1685 2/13/96 (bug fix) Fixed Windows socket initialization so it loads
       
  1686 winsock the first time it is used, rather than at the time tcl75.dll
       
  1687 is loaded.  This should fix the bug where the modem immediately starts
       
  1688 trying to connect to a service provider when wish or tclsh are
       
  1689 started. (SS)
       
  1690 
       
  1691 2/13/96 (new feature) Added C APIs Tcl_MakeFileChannel and
       
  1692 Tcl_MakeTcpClientChannel to wrap up existing fds and sockets into
       
  1693 channels. Provided implementations on Unix and Windows. (JL)
       
  1694 
       
  1695 2/13/96 (bug fix) Fixed bug with seek leaving EOF and BLOCKING set. (JL)
       
  1696 
       
  1697 2/14/96 (bug fix) Fixed reentrancy problem in fileevent handling
       
  1698 and made it more robust in the face of errors. (JL)
       
  1699 
       
  1700 2/14/96 (feature change) Made generic IO level emulate blocking mode if the
       
  1701 channel driver is unable to provide it, e.g. if the low level device is
       
  1702 always nonblocking. Thus, now blocking behavior is an advisory setting for
       
  1703 channel drivers and can be ignored safely if the channel driver is unable
       
  1704 to provide it. (JL)
       
  1705 
       
  1706 2/15/96 (new feature) Added "binary" end of line translation mode, which is
       
  1707 a synonym of "lf" mode. (JL)
       
  1708 
       
  1709 2/15/96 (bug fix) Fixed reentrancy problem in fileevent handling vs
       
  1710 deletion of channel event handlers. (JL)
       
  1711 
       
  1712 2/15/96 (bug fix) Fixed bug in event handling which would cause a
       
  1713 nonblocking channel to not see further readable events after the first
       
  1714 readable event that had insufficient input. (JL)
       
  1715 
       
  1716 2/17/96 (bug fix) "info complete" didn't properly handle comments
       
  1717 in nested commands. (JO)
       
  1718 
       
  1719 2/21/96 (bug fix) "exec" under Windows NT/95 did not properly handle
       
  1720 very long command lines (>200 chars). (SS)
       
  1721 
       
  1722 2/21/96 (bug fix) Sockets could get into an infinite loop if a read
       
  1723 event arrived after all of the available data had been read. (SS)
       
  1724 
       
  1725 2/22/96 (bug fix) Added cast of st_size elements to (long) before
       
  1726 sprintf-ing in "file size" command.  This is needed to handle systems
       
  1727 like NetBSD with 64-bit file offsets.  (JO)
       
  1728 
       
  1729 ----------------- Released 7.5b2, 2/23/96 -----------------------
       
  1730 
       
  1731 2/23/96 (bug fix) TCL_VARARGS macro in tcl.h wasn't defined properly
       
  1732 when compiling with C++.  (JO)
       
  1733 
       
  1734 2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile:
       
  1735 this caused problems on some platforms (like Linux?). (JO)
       
  1736 
       
  1737 2/24/96 (bug fix) Fixed configuration bug that made Tcl not compile
       
  1738 correctly on Linux machines with neither -ldl or -ldld. (JO)
       
  1739 
       
  1740 2/24/96 (new feature) Added a block of comments and definitions to
       
  1741 Makefile.in to make it easier to have Tcl's TclSetEnv etc. replace
       
  1742 the library procedures setenv etc, so that calls to setenv etc. in
       
  1743 the application automatically update the Tcl "env" variable. (JO)
       
  1744 
       
  1745 2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL)
       
  1746 to C API Tcl_Close and simplified closing of command channels. (JL)
       
  1747 *** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
       
  1748 
       
  1749 2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL)
       
  1750 to C type definition Tcl_DriverCloseProc; modified all channel drivers to
       
  1751 implement close procedures that accept the additional argument. (JL)
       
  1752 *** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
       
  1753 
       
  1754 2/28/96 (bug fix) Fixed memory leak that could occur if an upvar
       
  1755 referred to an element of an array in the same stack frame as the
       
  1756 upvar. (JO)
       
  1757 
       
  1758 2/29/96 (feature change) Modified both Tcl_DoOneEvent and Tcl_WaitForEvent
       
  1759 so that they return immediately in cases where they would otherwise
       
  1760 block forever (e.g. if there are no event handlers of any sort). (JO)
       
  1761 
       
  1762 2/29/96 (new feature) Added C APIs Tcl_GetChannelBufferSize and
       
  1763 Tcl_SetChannelBufferSize to set and retrieve the size, in bytes, for
       
  1764 buffers allocated to store input or output in a channel. (JL)
       
  1765 
       
  1766 2/29/96 (new feature) Added option -buffersize to Tcl fconfigure command
       
  1767 to allow Tcl scripts to query and set the size of channel buffers. (JL)
       
  1768 
       
  1769 2/29/96 (feature removed) Removed channel driver function to specify
       
  1770 the buffer size to use when allocating a buffer. Removed the C typedef
       
  1771 for Tcl_DriverBufferSizeProc. Channels are now created with a default
       
  1772 buffer size of 4K. (JL)
       
  1773 *** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
       
  1774 
       
  1775 2/29/96 (feature change) The channel driver function for setting blocking
       
  1776 mode on the device may now be NULL. If the generic code detects that the
       
  1777 function is NULL, operations that set the blocking mode on the channel
       
  1778 simply succeed. (JL)
       
  1779 
       
  1780 3/2/96 (bug fix) Fixed core dump that could occur if a syntax error
       
  1781 (such as missing close paren) occurred in an array reference with a
       
  1782 very long array name. (JO)
       
  1783 
       
  1784 3/4/96 (bug fix) Removed code in the "auto_load" procedure that deletes
       
  1785 all existing auto-load information whenever the "auto_path" variable
       
  1786 is changed.  Instead, new information adds to what was already there.
       
  1787 Otherwise, changing the "auto_path" variable causes all package-
       
  1788 related information to be lost.  If you really want to get rid of
       
  1789 existing auto-load information, use auto_reset before setting auto_path. (JO)
       
  1790 
       
  1791 3/5/96 (new feature) Added version suffix to shared library names so that
       
  1792 Tcl will compile under NetBSD and FreeBSD (I hope).  (JO)
       
  1793 
       
  1794 3/6/96 (bug fix) Cleaned up error messages in new I/O system to correspond
       
  1795 more closely to old I/O system. (JO)
       
  1796 
       
  1797 3/6/96 (new feature) Added -myaddr and -myport options to the socket
       
  1798 command, removed -tcp and -- options.  This lets clients and servers
       
  1799 choose a particular interface.  Also changed the default server address
       
  1800 from the hostname to INADDR_ANY.  The server accept callback now gets
       
  1801 passed the client's port as well as IP address.  The C interfaces for
       
  1802 Tcl_OpenTcpClient and Tcl_OpenTcpServer have changed to support the
       
  1803 above changes. (BW)
       
  1804 *** POTENTIAL INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
       
  1805 
       
  1806 3/6/96 (changed feature) The library function auto_mkindex will now
       
  1807 default to using the pattern "*.tcl" if no pattern is given. (RJ)
       
  1808 
       
  1809 3/6/96 (bug fix) The socket channel code for the Macintosh has been
       
  1810 rewritten to use native MacTcp.  (RJ)
       
  1811 
       
  1812 3/7/96 (new feature) Added Tcl_SetStdChannel and Tcl_GetStdChannel
       
  1813 interfaces to allow applications to explicitly set and get the global
       
  1814 standard channels. (SS)
       
  1815 
       
  1816 3/7/96 (bug fix) Tcl did close not the file descriptors associated
       
  1817 with "stdout", etc. when the corresponding channels were closed.  (SS)
       
  1818 
       
  1819 3/7/96 (bug fix) Reworked shared library and dynamic loading stuff to
       
  1820 try to get it working under AIX.  Added new @SHLIB_LD_LIBS@ autoconf
       
  1821 symbol as part of this.  AIX probably doesn't work yet, but it should
       
  1822 be a lot closer. (JO)
       
  1823 
       
  1824 3/7/96 (feature change) Added Tcl_ChannelProc typedef and changed the
       
  1825 signature of Tcl_CreateChannelHandler and Tcl_DeleteChannelHandler to take
       
  1826 Tcl_ChannelProc arguments instead of Tcl_FileProc arguments. This change
       
  1827 should not affect any code outside Tcl because the signatures of
       
  1828 Tcl_ChannelProc and Tcl_FileProc are compatible. (JL)
       
  1829 
       
  1830 3/7/96 (API change) Modified signature of Tcl_GetChannelOption to return
       
  1831 an int instead of char *, and to take a Tcl_DString * argument. Modified
       
  1832 the implementation so that the option name can be NULL, to mean that the
       
  1833 call should retrieve a list of alternating option names and values. (JL)
       
  1834 *** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
       
  1835 
       
  1836 3/7/96 (API change) Added Tcl_DriverSetOptionProc, Tcl_DriverGetOptionProc
       
  1837 typedefs, added two slots setOptionProc and getOptionProc to the channel
       
  1838 type structure. These may be NULL to indicate that the channel type does
       
  1839 not support any options. (JL)
       
  1840 *** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
       
  1841 
       
  1842 3/7/96 (feature change) stdin, stdout and stderr can now be put into
       
  1843 nonblocking mode. (JL)
       
  1844 
       
  1845 3/8/96 (feature change) Eliminated dependence on the registry for
       
  1846 finding the Tcl library files. (SS)
       
  1847 
       
  1848 ----------------- Released 7.5b3, 3/8/96 -----------------------
       
  1849 
       
  1850 3/12/96 (feature improvement) Modified startup script to look in several
       
  1851 different places for the Tcl library directory.  This should allow Tcl
       
  1852 to find the libraries under all but the weirdest conditions, even without
       
  1853 the TCL_LIBRARY environment variable being set. (JO)
       
  1854 
       
  1855 3/13/96 (bug fix) Eliminated use of the "linger" option from the Windows
       
  1856 socket implementation. (JL)
       
  1857 
       
  1858 3/13/96 (new feature) Added -peername and -sockname options for fconfigure
       
  1859 for socket channels. Code contributed by John Haxby of HP. (JL)
       
  1860 
       
  1861 3/13/96 (bug fix) Fixed panic and core dump that would occur if the accept
       
  1862 callback script on a server socket encountered an error. (JL)
       
  1863 
       
  1864 3/13/96 (feature change) Added -async option to the Tcl socket command.
       
  1865 If the command is creating a client socket and the flag is present, the
       
  1866 client is connected asynchronously. If the option is absent (the default),
       
  1867 the client socket is connected synchronously, and the command returns only
       
  1868 when the connection has been completed or failed. This change was suggested
       
  1869 by Mark Diekhans. (JL)
       
  1870 
       
  1871 3/13/96 (feature change) Modified the signature of Tcl_OpenTcpClient to
       
  1872 take an additional int argument, async. If nonzero, the client is connected
       
  1873 to the server asynchronously. If the value is zero, the connection is made
       
  1874 synchronously, and the call to Tcl_OpenTcpClient returns only when the
       
  1875 connection fails or succeeds. This change was suggested by Mark Diekhans. (JL)
       
  1876 *** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
       
  1877 
       
  1878 3/14/96 (bug fix) "tclsh bogus_file_name" didn't print an error message. (JO)
       
  1879 
       
  1880 3/14/96 (bug fix) Added new procedures to tclCkalloc.c so that libraries
       
  1881 and applications can be compiled with TCL_MEM_DEBUG even if Tcl isn't
       
  1882 (however, the converse is still not true).  Patches provided by Jan
       
  1883 Nijtmans. (JO)
       
  1884 
       
  1885 3/15/96 (bug fix) Marked standard IO handles of a process as close-on-exec
       
  1886 to fix bug in Ultrix where exec was not sharing standard IO handles with
       
  1887 subprocesses. Fix suggested by Mark Diekhans. (JL)
       
  1888 
       
  1889 3/15/96 (bug fix) Fixed asynchronous close mechanism so that it closes the
       
  1890 channel instead of leaking system resources. The manifestation was that Tcl
       
  1891 would eventually run out of file descriptors if it was handling a large
       
  1892 number of nonblocking sockets or pipes with high congestion. (JL)
       
  1893 
       
  1894 3/15/96 (bug fix) Fixed tests so that they no longer leak file descriptors.
       
  1895 The manifestation was that Tcl would eventually run out of file descriptors
       
  1896 if the tests were rerun many times (> a hundred times on Solaris). (JL)
       
  1897 
       
  1898 3/15/96 (bug fix) Fixed channel creation code so that it never creates
       
  1899 unnamed channels. This would cause a panic and core dump when the channel
       
  1900 was closed. (JL)
       
  1901 
       
  1902 3/16/96 (bug fixes) Made lots of changes in configuration stuff to get
       
  1903 Tcl working under AIX (finally).  Tcl should now support the "load"
       
  1904 command under AIX and should work either with or without shared
       
  1905 libraries for Tcl and Tk. (JO)
       
  1906 
       
  1907 3/21/96 (configuration improvement) Changed configure script so it
       
  1908 doesn't use version numbers (as in -ltcl7.5 and libtcl7.5.so) under
       
  1909 SunOS 4.1, where they don't work anyway.  (JO)
       
  1910 
       
  1911 3/22/96 (new feature) Added C API Tcl_InterpDeleted that allows extension
       
  1912 writers to discover when an interpreter is being deleted. (JL)
       
  1913 
       
  1914 3/22/96 (bug fix) The standard IO channels are now added to each
       
  1915 trusted interpreter as soon as the interpreter is created. This ensures
       
  1916 against the bug where a child would do IO before the master had done any,
       
  1917 and then the child is destroyed - the standard IO channels would be then
       
  1918 closed and the master would be unable to do any IO. (JL)
       
  1919 
       
  1920 3/22/96 (bug fix) Made Tcl more robust against interpreter deletion, by
       
  1921 using Tcl_Preserve, Tcl_Release and Tcl_EventuallyFree to split the process
       
  1922 of interpreter deletion into two distinct phases. Also went through all of
       
  1923 Tcl and added calls to Tcl_Preserve and Tcl_Delete where needed. (JL)
       
  1924 
       
  1925 3/22/96 (bug fix) Fixed several places where C code was reading and writing
       
  1926 into freed memory, especially during interpreter deletion. (JL)
       
  1927 
       
  1928 3/22/96 (bug fix) Fixed very deep bug in Tcl_Release that caused memory to
       
  1929 be freed twice if the release callback did Tcl_Preserve and Tcl_Release on
       
  1930 the same memory as the chunk currently being freed. (JL)
       
  1931 
       
  1932 3/22/96 (bug fix) Removed several memory leaks that would cause memory
       
  1933 buildup on half-K chunks in the generic IO level. (JL)
       
  1934 
       
  1935 3/22/96 (bug fix) Fixed several core dumps which occurred when new
       
  1936 AssocData was being created during the cleanups in interpreter deletion.
       
  1937 The solution implemented now is to loop repeatedly over the AssocData until
       
  1938 none is left to clean up. (JL)
       
  1939 
       
  1940 3/22/96 (bug fix) Fixed a bug in event handling which caused an infinite
       
  1941 loop if there were no files being watched and no timer. Fix suggested by
       
  1942 Jan Nijtmans. (JL)
       
  1943 
       
  1944 3/22/96 (bug fix) Fixed Tcl_CreateCommand, Tcl_DeleteCommand to be more
       
  1945 robust if the interpreter is being deleted. Also fixed several order
       
  1946 dependency bugs in Tcl_DeleteCommand which kicked in when an interpreter
       
  1947 was being deleted. (JL)
       
  1948 
       
  1949 3/26/96 (bug fix) Upon a "short read", the generic code no longer calls
       
  1950 the driver for more input. Doing this caused blocking on some platforms
       
  1951 even on nonblocking channels. Bug and fix courtesy Mark Roseman. (JL)
       
  1952 
       
  1953 3/26/96 (new feature) Added 'package Tcltest' which is present only in
       
  1954 test versions of Tcl; this allows the testing commands to be loaded into
       
  1955 new interpreters besides the main one. (JL)
       
  1956 
       
  1957 3/26/96 (restored feature) Recreated the Tcl_GetOpenFile C API. You can
       
  1958 now get a FILE * from a registered channel; Unix only. (JL)
       
  1959 
       
  1960 3/27/96 (bug fix) The regular expression code did not support more
       
  1961 than 9 subexpressions.  It now supports up to 20. (SS)
       
  1962 
       
  1963 4/1/96 (bug fixes) The CHANNEL_BLOCKED bit was being left on on a short
       
  1964 read, so that fileevents wouldn't fire correctly. Bug reported by Mark
       
  1965 Roseman.(JL, RJ)
       
  1966 
       
  1967 4/1/96 (bug fix) Moved Tcl_Release to match Tcl_Preserve exactly, in
       
  1968 tclInterp.c; previously interpreters were being freed only conditionally
       
  1969 and sometimes not at all. (JL)
       
  1970 
       
  1971 4/1/96 (bug fix) Fixed error reporting in slave interpreters when the
       
  1972 error message was being generated directly by C code. Fix suggested by
       
  1973 Viktor Dukhovni of ESM. (JL)
       
  1974 
       
  1975 4/2/96 (bug fixes) Fixed a series of bugs in Windows sockets that caused
       
  1976 events to variously get lost, to get sent multiple times, or to be ignored
       
  1977 by the driver. The manifestation was blocking if the channel is blocking,
       
  1978 and either getting EAGAIN or infinite loops if the channel is nonblocking.
       
  1979 This series of bugs was found by Ian Wallis of Cisco. Now all tests (also
       
  1980 those that were previously commented out) in socket.test pass.  (JL, SS)
       
  1981 
       
  1982 4/2/96 (feature change/bug fix) Eliminated network name support in
       
  1983 favor of better native name support.  Added "file split", "file join",
       
  1984 and "file pathtype" commands.  See the "file" man page for more
       
  1985 details. (SS)
       
  1986 *** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
       
  1987 
       
  1988 4/2/96 (bug fix) Changed implementation of auto_mkindex so tclIndex
       
  1989 files will properly handle path names in a cross platform context. (SS)
       
  1990 
       
  1991 4/5/96 (bug fix) Fixed Tcl_ReadCmd to use the channel buffer size as the
       
  1992 chunk size it reads, instead of a fixed 4K size. Thus, on large reads, the
       
  1993 user can set the channel buffer size to a large size and the read will
       
  1994 occur orders of magnitude faster. For example, on a 2MB file, reading in 4K
       
  1995 chunks took 34 seconds, while reading in 1MB chunks took 1.5 seconds (on a
       
  1996 SS-20). Problem identified and fix suggested by John Haxby of HP. (JL)
       
  1997 
       
  1998 4/5/96 (bug fix) Fixed socket creation code to invoke gethostbyname only if
       
  1999 inet_addr failed (very unlikely). Before this change the order was reversed
       
  2000 and this made things much slower than they needed to be (gethostbyname
       
  2001 generally requires an RPC, which is slow). Problem identified and fix
       
  2002 suggested by John Loverso of OSF. (JL)
       
  2003 
       
  2004 4/9/96 (feature change) Modified "auto" translation mode so that it
       
  2005 recognizes any of "\n", "\r" and "\r\n" in input as end of line, so
       
  2006 that a file can have mixed end-of-line sequences. It now outputs
       
  2007 the platform specific end of line sequence on each platform for files and
       
  2008 pipes, and for sockets it produces crlf in output on all platforms. (JL)
       
  2009 *** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
       
  2010 
       
  2011 4/11/96 (new feature) Added -eofchar option to Tcl_SetChannelOption to allow
       
  2012 setting of an end of file character for input and output. If an input eof
       
  2013 char is set, it is recognized as EOF and further input from the channel is
       
  2014 not presented to the caller. If an output eof char is set, on output, that
       
  2015 byte is appended to the channel when it is closed. On Unix and Macintosh,
       
  2016 all channels start with no eof char set for input or output. On Windows,
       
  2017 files and pipes start with input and output eof chars set to Crlt-Z (ascii
       
  2018 26), and sockets start with no input or output eof char. (JL)
       
  2019 *** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
       
  2020 
       
  2021 4/17/96 (bug fix) Fixed series of bugs with handling of crlf sequence split
       
  2022 across buffer boundaries in input, in AUTO mode. (JL, BW)
       
  2023 
       
  2024 4/17/96 (test suite improvement) Fixed test suite so that tests that
       
  2025 depend on the availability of Unix commands such as echo, cat and others
       
  2026 are not run if these commands are not present. (JL)
       
  2027 
       
  2028 4/17/96 (test suite improvement) The socket test now automatically starts,
       
  2029 on platformst that support exec, a separate process for remote testsing. (JL)
       
  2030 
       
  2031 ----------------- Released 7.5, 4/21/96 -----------------------
       
  2032 
       
  2033 5/1/96 (bug fix) "file tail ~" did not correctly return the tail
       
  2034 portion of the user's home directory. (SS)
       
  2035 
       
  2036 5/1/96 (bug fix) Fixed bug in TclGetEnv where it didn't lookup environment
       
  2037 variables correctly:  could confuse "H" and "HOME", for example.  (JO)
       
  2038 
       
  2039 5/1/96 (bug fix) Changed to install tclConfig.sh under "make install-binaries",
       
  2040 not "make install-libraries".  (JO)
       
  2041 
       
  2042 5/2/96 (bug fix) Changed pkg_mkIndex not to attempt to "load" a file unless
       
  2043 it has the standard shared library extension.  On SunOS, attempts to load
       
  2044 Tcl scripts cause the whole application to be aborted (there's no way to
       
  2045 get the error back into Tcl).  (JO)
       
  2046 
       
  2047 5/7/96 (bug fix) Moved initScript in tclUnixInit.c to writable memory to
       
  2048 avoid potential core dumps. (JO)
       
  2049 
       
  2050 5/7/96 (bug fix) Auto_reset procedure was removing procedure from init.tcl,
       
  2051 such as pkg_mkIndex.  (JO)
       
  2052 
       
  2053 5/7/96 (bug fix) Fixed cast on socket address resolution code that
       
  2054 would cause a failure to connect on Dec Alphas. (JL)
       
  2055 
       
  2056 5/7/96 (bug fix) Added "time", "subst" and "fileevent" commands to set of
       
  2057 commands available in a safe interpreter. (JL)
       
  2058 
       
  2059 5/13/96 (bug fix) Preventing OS level handles for stdin, stdout and stderr
       
  2060 from being implicitly closed when the last reference to the standard
       
  2061 channel containing that handle is discarded when an interpreter is deleted.
       
  2062 Explicitly closing standard channels by using "close" still works. (JL)
       
  2063 
       
  2064 5/21/96 (bug fix) Do not create channels for stdin, stdout and stderr on
       
  2065 Unix if the devices are closed. This prevents a duplicate channel name
       
  2066 panic later on when the fd is used to open a channel and the channel is
       
  2067 registered in an interpreter. (JL)
       
  2068 
       
  2069 5/23/96 (bug fix) Fixed bug that prevented the use of standard channels in
       
  2070 interpreters created after the last interpreter was destroyed. In the sequence
       
  2071 
       
  2072 	interp = Tcl_CreateInterp();
       
  2073 	Tcl_DeleteInterp(interp);
       
  2074 	interp = Tcl_CreateInterp();
       
  2075 
       
  2076 channels for stdio would not be available in the second interpreter. (JL)
       
  2077 
       
  2078 5/23/96 (bug fix) Fixed bug that allowed Tcl_MakeFileChannel to create new
       
  2079 channels with Tcl_Files in them that are already used by another channel.
       
  2080 This would cause core dumps when the Tcl_Files were being freed twice. (JL)
       
  2081 
       
  2082 5/23/96 (bug fix) Fixed a logical timing bug that caused a standard channel
       
  2083 to be removed from the standard channel table too early when the channel
       
  2084 was being closed. If the channel was being flushed asynchronously, it could
       
  2085 get recreated before being actually destroyed, and the recreated channel
       
  2086 would contain the same Tcl_File as the one being closed, leading to
       
  2087 dangling pointers and core dumps. (JL)
       
  2088 
       
  2089 5/27/96 (bug fix) Fixed a bug in Tcl_GetChannelOption which caused it to
       
  2090 always return a list of one element, a list of the settings, for
       
  2091 -translation and -eofchar options. Now correctly returns the value
       
  2092 described by the documentation (Mark Diekhans found this, thanks!). (JL)
       
  2093 
       
  2094 5/30/96 (bug fix) Fixed a couple of syntax errors in io.test. (JL)
       
  2095 
       
  2096 5/30/96 (bug fix) If a fileevent scripts gets an error, delete it before
       
  2097 causing a background error. This is to allow the error handler to reinstall
       
  2098 the fileevent and to prevent infinite loops if the event loop is reentered
       
  2099 in the error handler. (JL)
       
  2100 
       
  2101 5/31/96 (bug fix) Channels now will get properly flushed on exit. (JL)
       
  2102 
       
  2103 6/5/96 (bug fix) Changed Tcl_Ckalloc, Tcl_Ckfree, and Tcl_Ckrealloc to
       
  2104 Tcl_Alloc, Tcl_Free, and Tcl_Realloc.  Added documentation for these
       
  2105 routines now that they are officially supported.  Extension writers
       
  2106 should use these routines instead of free() and malloc(). (SS)
       
  2107 
       
  2108 6/10/96 (bug fix) Changes the Tcl close command so that it no longer
       
  2109 waits on nonblocking pipes for the piped processes to exit; instead it
       
  2110 reaps them in the background. (JL)
       
  2111 
       
  2112 6/11/96 (bug fix) Increased the length of the listen queue for server
       
  2113 sockets on Unix from 5 to 100. Some OSes will disregard this and reset it
       
  2114 to 5, but we should try to get as long a queue as we can, for performance
       
  2115 reasons. (JL)
       
  2116 
       
  2117 6/11/96 (bug fix) Fixed windows sockets bug that caused a cascade of events
       
  2118 if the fileevent script read less than was available. Now reading less than
       
  2119 is available does not cause a flood of Tcl events. (JL, SS)
       
  2120 
       
  2121 6/11/96 (bug fix) Fixed bug in background flushing on closed channels that
       
  2122 would prevent the last buffer from getting flushed. (JL)
       
  2123 
       
  2124 6/13/96 (bug fix) Fixed bug in Windows sockets that caused a core dump if
       
  2125 a DLL linked with tcl.dll and referred to e.g. ntohs() without opening a
       
  2126 Tcl socket. The problem was that the indirection table was not being
       
  2127 initialized. (JL)
       
  2128 
       
  2129 6/13/96 (bug fix) Fixed OS level resource leak that would occur when a
       
  2130 Tcl channel was still registered in some interpreter when the process
       
  2131 exits. Previously the channel was not being closed and the OS level handles
       
  2132 were not being released; the output was being flushed but the device was
       
  2133 not being closed. Now the device is properly closed. This was only a
       
  2134 problem on Win3.1 and MacOS. (JL, SS)
       
  2135 
       
  2136 6/28/96 (bug fix) Fixed bug where transient errors were leaving an error
       
  2137 code around, so that it would erroneously get reported later. This bug was
       
  2138 exercised intermittently by closing a channel to a file on a very loaded
       
  2139 NFS server, or to a socket whose other end blocked. (JL, BW)
       
  2140 
       
  2141 7/3/96 (bug fix) Fileevents declared in an interpreter are now deleted
       
  2142 when the channel is closed in that interpreter. Before this fix, the
       
  2143 fileevent would hang around until the channel is completely closed, and
       
  2144 would cause errors if events happened before the channel was closed. This
       
  2145 could happen in two cases: first if the channel is shared between several
       
  2146 interpreters, and second if an async flush is in progress that prevents the
       
  2147 channel from being closed until the flush finishes. (JL)
       
  2148 
       
  2149 7/10/96 (bug fix) Fixed bugs in both "lrange" and "lreplace" commands
       
  2150 where too much white space was being removed. For example, the command
       
  2151 		lreplace {\}\     hello} end end
       
  2152 was returning "\}\", losing the significant space in the first list
       
  2153 element and corrupting the list. (JO)
       
  2154 
       
  2155 7/20/96 (bug fix) The procedure pkg_mkIndex didn't work properly for
       
  2156 extensions that depend on Tk, because it didn't load Tk into the child
       
  2157 interpreter before loading the extension.  Now it loads Tk if Tk is
       
  2158 present in the parent. (JO)
       
  2159 
       
  2160 7/23/96 (bug fix) Added compat version of strftime to fix crashes
       
  2161 resulting from bad implementations under Windows. (SS)
       
  2162 
       
  2163 7/23/96 (bug fix) Standard implementations of gmtime() and localtime()
       
  2164 under Windows did not handle dates before 1970, so they were replaced
       
  2165 with a revised implementation. (SS)
       
  2166 
       
  2167 7/23/96 (bug fix) Tcl would crash on exit under Borland 5.0 because
       
  2168 the global environ pointer was left pointing to freed memory. (SS)
       
  2169 
       
  2170 7/29/96 (bug fix) Fixed memory leak in Tcl_LoadCmd that could occur if
       
  2171 a package's AppInit procedure called Tcl_StaticPackage to register
       
  2172 static packages. (JO)
       
  2173 
       
  2174 8/1/96 (bug fix) Fixed a series of bugs in Windows sockets so that async
       
  2175 writebehind in the presence of read event handlers now works, and so that
       
  2176 async writebehind also works on sockets for which a read event handler was
       
  2177 declared and whose channels were then closed before the async write
       
  2178 finished. The bug was reported by John Loverso and Steven Wahl,
       
  2179 independently, test case supplied by John Loverso. (JL)
       
  2180 
       
  2181 ----------------- Released patch 7.5p1, 8/2/96 -----------------------
       
  2182 
       
  2183 5/8/96 (new feature) Added Tcl_GetChannelMode C API for retrieving whether
       
  2184 a channel is open for reading and writing. (JL)
       
  2185 
       
  2186 5/8/96 (API changes) Revised C APIs for channel drivers:
       
  2187     - Removed all Tcl_Files from channel driver interface; you can now have
       
  2188       channels that are not based on Tcl_Files.
       
  2189     - Added channelReadyProc and watchChannelProc procedures to interface;
       
  2190       these are used to implement event notification for channels.
       
  2191     - Added getFileProc to channel driver, to allow the generic IO code
       
  2192       to retrieve a Tcl_File from a channel (presumably if the channel
       
  2193       uses Tcl_Files they will be stored inside its instanceData). (JL)
       
  2194 *** INCOMPATIBILITY with Tcl 7.5 ***
       
  2195 
       
  2196 5/8/96 (API change) The Tcl_CreateChannel C API was modified to not take
       
  2197 Tcl_File arguments, and instead to take a mask specifying whether the
       
  2198 channel is readable and/or writable. (JL)
       
  2199 *** INCOMPATIBILITY with Tcl 7.5 ***
       
  2200 
       
  2201 6/3/96 (bug fix) Made Tcl_SetVar2 robust against the case where the value
       
  2202 of the variable is a NULL pointer instead of "". (JL)
       
  2203 
       
  2204 6/17/96 (bug fix) Fixed "reading uninitialized memory" error reported by
       
  2205 Purify, in Tcl_Preserve/Tcl_Release. (JL)
       
  2206 
       
  2207 8/9/96 (bug fix) Fixed bug in init.tcl that caused incorrect error message
       
  2208 if the act of autoloading a procedure caused the procedure to be invoked
       
  2209 again. (JO)
       
  2210 
       
  2211 8/9/96 (bug fix) Configure script produced bad library names and extensions
       
  2212 under SunOS and a few other platforms if the --disable-load switch was used.
       
  2213 (JO)
       
  2214 
       
  2215 8/9/96 (bug fix) Tcl_UpdateLinkedVar generated an error if the variable
       
  2216 being updated was read-only. (JO)
       
  2217 
       
  2218 8/14/96 (bug fix) The macintosh now supports synchronous socket
       
  2219 connections.  Other minor bugs were also fixed. (RJ)
       
  2220 
       
  2221 8/15/96 (configuration improvement) Changed the file patchlevel.h
       
  2222 to be tclPatch.h.  This avoids conflict with the Tk file and is now
       
  2223 in 8.3 format on the Windows platform. (RJ)
       
  2224 
       
  2225 8/20/96 (bug fix) Fixed core dump in interp alias command for interpreters
       
  2226 created with Tcl_CreateInterp (as opposed to with Tcl_CreateSlave). (JL)
       
  2227 
       
  2228 8/20/96 (bug fix) No longer masking ECONNRESET on Windows sockets so
       
  2229 that the higher level of the IO mechanism sees the error instead of
       
  2230 entering an infinite loop. (JL)
       
  2231 
       
  2232 8/20/96 (bug fix) Destroying the last interpreter no longer closes the
       
  2233 standard channels. (JL)
       
  2234 
       
  2235 8/20/96 (bug fix) Closing one of the stdin, stdout or stderr channels and
       
  2236 then opening a new channel now correctly assigns the new channel as the
       
  2237 standard channel that was closed. (JL)
       
  2238 
       
  2239 8/20/96 (bug fix) Added code to unix/tclUnixChan.c for using ioctl with
       
  2240 FIONBIO instead of fcntl with O_NONBLOCK, for those versions of Unix where
       
  2241 either O_NONBLOCK is not supported or implemented incorrectly. (JL)
       
  2242 
       
  2243 8/21/96 (bug fix) Fixed "file extension" so it correctly returns the
       
  2244 extension on files like "foo..c" as "..c" instead of ".c". (SS)
       
  2245 
       
  2246 8/22/96 (bug fix) If environ[] contains static strings, Tcl would core
       
  2247 dump in TclSetupEnv because it was trying to write NULLs into the actual
       
  2248 data in environ[]. Now we instead copy as appropriate. (JL)
       
  2249 
       
  2250 8/22/96 (added impl) Added missing implementation of Tcl_MakeTcpClientChannel
       
  2251 for Windows platform. Code contributed by Mark Diekhans. (JL)
       
  2252 
       
  2253 8/22/96 (new feature) Added a new memory allocator for the Macintosh
       
  2254 version of Tcl.  It's quite a bit faster than MetroWerk's version. (RJ)
       
  2255 
       
  2256 8/26/96 (documentation update) Removed old change bars (for all changes
       
  2257 in Tcl 7.5 and earlier releases) from manual entries. (JO)
       
  2258 
       
  2259 8/27/96 (enhancement) The exec and open commands behave better and work in 
       
  2260 more situations under Windows NT and Windows 95.  Documentation describes 
       
  2261 what is still lacking. (CS)
       
  2262 
       
  2263 8/27/96 (enhancement) The Windows makefiles will now compile even if the
       
  2264 compiler is not in the path and/or the compiler's environment variables
       
  2265 have not been set up. (CS) 
       
  2266 
       
  2267 8/27/96 (configuration improvement) The Windows resource files are 
       
  2268 automatically updated when the version/patch level changes.  The header file
       
  2269 now has a comment that reminds the user which other files must be manually
       
  2270 updated when the version/patch level changes. (CS)
       
  2271 
       
  2272 8/28/96 (new feature) Added file manipulation features (copy, rename, delete,
       
  2273 mkdir) that are supported on all platforms. They are implemented as 
       
  2274 subcommands to the "file" command. See the documentation for the "file"
       
  2275 command for more information. (JH)
       
  2276 
       
  2277 ----------------- Released 7.6b1, 8/30/96 -----------------------
       
  2278 
       
  2279 9/3/96 (bug fix) Simplified code so that standard channels are created
       
  2280 lazily, they are added to an interpreter lazily, and they are never added
       
  2281 to a safe interpreter. (JL)
       
  2282 
       
  2283 9/3/96 (bug fix) Closing a channel after closing a standard channel, e.g.
       
  2284 stdout, would cause the implicit recreation of that standard channel. (JL)
       
  2285 
       
  2286 9/3/96 (new feature) Now calling Tcl_RegisterChannel with a NULL
       
  2287 interpreter increments the refcount so that code outside any interpreter
       
  2288 can use channels that are also registered in interpreters, without worrying
       
  2289 that the channel may turn into a dangling pointer at any time. Calling
       
  2290 Tcl_UnregisterChannel with a NULL interpreter only decrements the recount
       
  2291 so that code outside any interpreter can safely declare it is no longer
       
  2292 interested in a channel. (JL)
       
  2293 
       
  2294 9/4/96 (new features) Two changes to dynamic loading:
       
  2295     - If the file name is empty in the "load" command and there is no
       
  2296       statically loaded version of the package, a dynamically loaded
       
  2297       version will be used if there is one.
       
  2298     - Tcl_StaticPackage ignores redundant calls for the same package. (JO)
       
  2299 
       
  2300 9/6/96 (bug fix) Platform specific procedures for manipulating files are
       
  2301 no longer macros and have been prefixed with "Tclp", such as TclpRenameFile.
       
  2302 Unix file code now handles symbolic links and other special files correctly.
       
  2303 The semantics of file copy and file rename has been changed so that if
       
  2304 a target directory exists, the source files will NOT be merged with the
       
  2305 existing files. (JH)
       
  2306 
       
  2307 9/6/96 (bug fix) If standard channel is NULL, because Tcl cannot connect
       
  2308 to the standard channel, do not increment the refcount. The channel can
       
  2309 be NULL if there is for example no standard input. (JL)
       
  2310 
       
  2311 9/6/96 (portability improvement) Changed parsing of backslash sequences
       
  2312 like \n to translate directly to absolute values like 0xa instead of
       
  2313 letting the compiler do the translation.  This guarantees that the
       
  2314 translation is done the same everywhere. (JO)
       
  2315 
       
  2316 9/9/96 (bug fix) If channel is opened and not associated with any
       
  2317 interpreter, but Tcl decides to use it as one of the standard channels, it
       
  2318 became impossible to close the channel with Tcl_Close -- instead you had
       
  2319 to call Tcl_UnregisterChannel. Fixed now so that it's safe to call
       
  2320 Tcl_Close even when Tcl is using the channel as one of the standard ones. (JL)
       
  2321 
       
  2322 9/11/96 (feature change) The Tcl library is now placed in the Tcl
       
  2323 shared libraries resource.  You no longer need to place the Tcl files
       
  2324 in your applications explicitly.  (RJ)
       
  2325 
       
  2326 9/11/96 (feature change) Extensions no longer automatically have the
       
  2327 resource fork of the extension opened for it.  Instead you need to
       
  2328 use the tclMacLibrary.c file in your extension.  (RJ)
       
  2329 *** POTENTIAL INCOMPATIBILITY ***
       
  2330 
       
  2331 9/12/96 (bug fix) The extension loading mechanism on the Macintosh now
       
  2332 looks at the 'cfrg' resource to determine where to load the code
       
  2333 fragment from.  This means FAT fragments should now work. (RJ)
       
  2334 
       
  2335 9/18/96 (enhancement) The exec and open commands behave better and work in
       
  2336 more situations under Windows 3.X.  Documentation describes what is still
       
  2337 lacking.  (CS)
       
  2338 
       
  2339 9/19/96 (bug fix) Fixed a panic which would occur if you delete a
       
  2340 non-existent alias before any aliases are created. Now instead correctly
       
  2341 returns an error that the alias is not found. (JL)
       
  2342 
       
  2343 9/19/96 (bug fix) Slave interpreters could rename aliases and they would
       
  2344 not get deleted when the alias was being redefined. This led to dangling
       
  2345 pointers etc. (JL)
       
  2346 
       
  2347 9/19/96 (bug fix) Fixed a panic where a hash table entry was being deleted
       
  2348 twice during alias management operations. (JL)
       
  2349 
       
  2350 9/19/96 (bug fix) Fixed bug in event loop that could cause the input focus
       
  2351 in Tk to get confused during menu traversal, among other problems.  The
       
  2352 problem was related to handling of the "marker" when its event was
       
  2353 deleted. (JO)
       
  2354 
       
  2355 9/26/96 (bug fix) Windows was losing EOF on a socket if the FD_CLOSE event
       
  2356 happened to precede any left over FD_READ events. Now correctly remembers
       
  2357 seeing FD_CLOSE, so that trailing FD_READ events are not discarded if they
       
  2358 do not contain any data. This allows Tcl to correctly get a zero read and
       
  2359 notice EOF. (JL)
       
  2360 
       
  2361 9/26/96 (bug fix) Was not resetting READABLE state properly on sockets
       
  2362 under Windows if the driver discarded an FD_READ event because no data was
       
  2363 present. Now correctly resets the state. (JL)
       
  2364 
       
  2365 9/30/96 (bug fix) Made EOF sticky on Windows sockets, so that fileevent
       
  2366 readable will fire repeatedly until the socket is closed. Previously the
       
  2367 fileevent fired only once. This could lead to never-closed connections if
       
  2368 the Tcl script in the fileevent wasn't closing the socket immediately. (JL)
       
  2369 
       
  2370 10/2/96 (new feature) Improved the package loader:
       
  2371     - Added new variable tcl_pkgPath, which holds the default
       
  2372       directories under which packages are normally installed (each
       
  2373       package goes in a separate subdirectory of a directory in
       
  2374       $tcl_pkgPath).  These directories are included in auto_path by
       
  2375       default.
       
  2376     - Changed the package auto-loader to look for pkgIndex.tcl files 
       
  2377       not only in the auto_path directories but also in their immediate
       
  2378       children.  This should make it easier to install and uninstall
       
  2379       packages (don't have to change auto_path or merge pkgIndex.tcl
       
  2380       files). (JO)
       
  2381 
       
  2382 10/3/96 (bug fix) Changed tclsh to look for tclshrc.tcl instead of
       
  2383 tclsh.rc on startup under Windows.  This is more consistent with wish and
       
  2384 uses the right extension. (SS)
       
  2385 *** POTENTIAL INCOMPATIBILITY ***
       
  2386 
       
  2387 10/8/96 (bug fix) Convertclock does not parse 24-hour times of the
       
  2388 form "hhmm" correctly when hour = 00.  In the parse code, hour must be
       
  2389 >= 100 for minutes to be non-zero.  Thanks to Lint LaCour for this
       
  2390 bug fix. (RJ)
       
  2391 
       
  2392 10/11/96 (bug fix) Under Windows, the pid command returned the process
       
  2393 handle instead of the process id. (SS)
       
  2394 
       
  2395 ----------------- Released 7.6, 10/16/96 -----------------------
       
  2396 
       
  2397 10/29/96 (bug fix) Under Windows, sockets would consume 100% CPU time after
       
  2398 the first accept(), due to a typo. (JL)
       
  2399 
       
  2400 10/29/96 (bug fix) Incorrect refcount management caused standard channels
       
  2401 not to get deleted at process exit or DLL unload time, causing a memory
       
  2402 leak of upwards of 20K each time. (JL)
       
  2403 
       
  2404 11/7/96 (bug fix) Auto-exec didn't work on file names that contained
       
  2405 spaces. (JO)
       
  2406 
       
  2407 11/8/96 (bug fix) Fixed core dump that would occur if more than one call
       
  2408 to Tcl_DeleteChannelHandler was made to delete a given channel handler. (JL)
       
  2409 
       
  2410 11/8/96 (bug fix) Fixed test for return value in Tcl_Seek and Tcl_SeekCmd
       
  2411 to only treat -1 as error, instead of all negative numbers. (JL)
       
  2412 
       
  2413 11/12/96 (bug fix) Do not blocking waiting for processes at the end of a
       
  2414 pipe during exit cleanup. (JL)
       
  2415 
       
  2416 11/12/96 (bug fix) If we are in exit cleanup, do not close the system level
       
  2417 file descriptors 0, 1 and 2. Previously they were being closed which is
       
  2418 incorrect, in the embedded case. This led to weird behavior for programs
       
  2419 that want to interpose on I/O through the standard file descriptors (e.g.
       
  2420 Netscape Navigator). (JL)
       
  2421 
       
  2422 11/15/96 (bug fix) Fixed core dump on Windows sockets due to dependency on
       
  2423 deletion order at exit. Now all socket functions check to see if sockets
       
  2424 are (still) initialized, before calling through function pointers. Before,
       
  2425 they would call and might end up calling unloaded object code. (JL)
       
  2426 
       
  2427 11/15/96 (bug fix) Fixed core dump in Windows socket initialization routine
       
  2428 if sockets were not installed on the system. Before, it was not properly
       
  2429 checking the result of attempting to load the socket DLL, so it would call
       
  2430 through uninitialized function pointers. (JL)
       
  2431 
       
  2432 11/15/96 (bug fix) Fixed memory leak in Windows sockets which left socket
       
  2433 DLL handle open and could hold the socket DLL in memory uneccessarily,
       
  2434 until a reboot. (JL)
       
  2435 
       
  2436 12/4/96 (bug fix) Fixed bug in Macintosh socket code that could result
       
  2437 in lost data if a client was closed too soon after sending data. (RJ)
       
  2438 
       
  2439 12/17/96 (bug fix) Fixed deadlock bug in Windows sockets due to losing an
       
  2440 event. This was happening because of an interaction between buffering and
       
  2441 nonblocking mode on sockets. Now switched to sockets being blocking by
       
  2442 default, so we are also no longer emulating blocking through a private
       
  2443 event loop. (JL)
       
  2444 
       
  2445 1/21/97 (performance bug fix) Client TCP connections were slow to create
       
  2446 because getservbyname was always called on the port.  Now this is only
       
  2447 done if Tcl_GetInt fails. (BW)
       
  2448 
       
  2449 1/21/97 (configuration fix) Made it possible to override TCL_PACKAGE_PATH
       
  2450 during make.  Previously it was only set during autoconf process.
       
  2451 
       
  2452 1/29/97 (bug fix) Fixed some problems with the clock command that
       
  2453 impacted how dates were scaned after the year 2000. (RJ)
       
  2454 
       
  2455 ----------------- Released 7.6p2, 1/31/97 -----------------------
       
  2456 
       
  2457 2/5/97 (bug fix) Fixed a bug where in CR-LF translation mode, \r bytes
       
  2458 in the input stream were not being handled correctly. (JL)
       
  2459 
       
  2460 2/24/97 (bug fix) Fix bug with exec under Win32s not being able to create
       
  2461 stderr file which caused all execs to fail.  Fixed temp file leak under
       
  2462 Win32s.  Fixed optional parameter bug with SearchPath that only happened
       
  2463 under Win32s 1.25. (CCS)
       
  2464 
       
  2465 ----------------------------------------------------------
       
  2466 Changes for Tcl 7.6 go above this line.
       
  2467 Changes for Tcl 7.7 go below this line.
       
  2468 ----------------------------------------------------------
       
  2469 
       
  2470 5/8/96 (new feature) Added Tcl_Ungets C API for putting a sequence of bytes
       
  2471 into a channel's input buffer. This can be used for "push" model channels
       
  2472 where the input is obtained via callbacks instead of by request of the
       
  2473 generic IO code. No Tcl procedure yet. (JL)
       
  2474 
       
  2475 11/15/96 (new feature) Implemented hidden commands. New C APIs:
       
  2476 	Tcl_HideCommand		-- hides an existing exposed command.
       
  2477 	Tcl_ExposeCommand	-- exposes an existing hidden command.
       
  2478 New tcl APIs:
       
  2479 	interp invokehidden	-- invokes a hidden command in a slave.
       
  2480 	interp hide		-- hides an existing exposed command.
       
  2481 	interp expose		-- exposes an existing hidden command.
       
  2482 	interp hidden		-- returns a list of hidden commands.
       
  2483 The implementation of Safe Tcl now uses the new hidden commands facility
       
  2484 to implement the safe base, instead of deleting the commands from a safe
       
  2485 interpreter. (JL)
       
  2486 
       
  2487 11/15/96 (new feature) Implemented the safe base, a mechanism for
       
  2488 installing and requesting security policies, purely in Tcl code. Overloads
       
  2489 the package command to also allow an interpreter to "require" a policy. The
       
  2490 following new library commands are provided:
       
  2491 	tcl_safeCreateInterp	-- creates a slave an initializes the
       
  2492 				   policy mechanism.
       
  2493 	tcl_safeInitInterp	-- initializes an existing slave with the
       
  2494 				   policy mechanism.
       
  2495 	tcl_safeDeleteInterp	-- deletes a slave and deinitializes the
       
  2496 				   policy mechanism.
       
  2497 Added a new file to the library, safeinit.tcl, to hold implementation. (JL)
       
  2498 On 7/9/97, removed the policy loading mechanism from the Safe Base. Left
       
  2499 only the Safe Base aliases dealing with auto-loading and source. (JL)
       
  2500 
       
  2501 12/6/96 (new feature) Implemented Tcl_Finalize, an API that should be
       
  2502 called by a process when it is done using Tcl. This API runs all the exit
       
  2503 handlers to allow them to clean up resources etc. (JL)
       
  2504 
       
  2505 12/17/96 (new feature) Add an http Tcl script package to the Tcl library.
       
  2506 This package implements the client side of HTTP/1.0; the GET, HEAD,
       
  2507 and POST requests. (BW)
       
  2508 
       
  2509 1/21/97 (new feature) Added a "marktrusted" subcommand to the "interp" and
       
  2510 to the interpreter object command. It removes the "safe" mark on an
       
  2511 interpreter and disables hard-wired checks for safety in the C sources. (JL)
       
  2512 
       
  2513 1/21/97 (removed feature) Removed "vwait" from set of commands available in
       
  2514 a safe interpreter. (JL)
       
  2515 
       
  2516 2/11/97 (new feature, bug fix) http package.  Added -accept to http_config
       
  2517 so you can set the Accept header.  Added -handler option to http_get so
       
  2518 you can supply your own data handler.  Also fixed POST operation to
       
  2519 set the correct MIME type on the request. (BW)
       
  2520 
       
  2521 ----------------------------------------------------------
       
  2522 Changes for Tcl 7.7 go above this line.
       
  2523 Changes for Tcl 8.0 go below this line.
       
  2524 ----------------------------------------------------------
       
  2525 
       
  2526 9/17/96 (bug fix) Using "upvar" it was possible to turn an array element
       
  2527 into an array itself.  Changed to disallow this; it was quirky and didn't
       
  2528 really work correctly anyway. (JO)
       
  2529 
       
  2530 10/21/96 (new feature) The core of the Tcl interpreter has been replaced
       
  2531 with an on-the-fly compiler that translates Tcl scripts to bytecoded
       
  2532 instructions; a new interpreter then executes the bytecodes. The compiler
       
  2533 introduces only a few minor changes at the level of Tcl scripts. The biggest
       
  2534 changes are to expressions and lists.
       
  2535     - A second level of substitutions is no longer done for expressions.
       
  2536       This substantially improves their execution time. This means that
       
  2537       the expression "$x*4" produces a different result than in the past
       
  2538       if x is "$y+2". Fortunately, not much code depends on the old
       
  2539       two-level semantics. Some expressions that do, such as
       
  2540       "expr [join $list +]" can be recoded to work in Tcl8.0 by adding
       
  2541       an eval: e.g., "eval expr [join $list +]".
       
  2542     - Lists are now completely parsed on the first list operation to
       
  2543       create a faster internal representation. In the past, if you had a
       
  2544       misformed list but the erroneous part was after the point you
       
  2545       inserted or extracted an element, then you never saw an error.
       
  2546       In Tcl8.0 an error will be reported. This should only effect
       
  2547       incorrect programs that took advantage of behavior of the old
       
  2548       implementation that was not documented in the man pages.
       
  2549 Other changes to Tcl scripts are discussed in the web page at
       
  2550 http://www.scriptics.com/doc/compiler.html. (BL)
       
  2551 *** POTENTIAL INCOMPATIBILITY ***
       
  2552 
       
  2553 10/21/96 (new feature) In earlier versions of Tcl, strings were used as a
       
  2554 universal representation; in Tcl 8.0 strings are replaced with Tcl_Obj
       
  2555 structures ("objects") that can hold both a string value and an internal
       
  2556 form such as a binary integer or compiled bytecodes. The new objects make it
       
  2557 possible to store information in efficient internal forms and avoid the
       
  2558 constant translations to and from strings that occurred with the old
       
  2559 interpreter. There are new many new C APIs for managing objects. Some of the
       
  2560 new library procedures for objects (such as Tcl_EvalObj) resemble existing
       
  2561 string-based procedures (such as Tcl_Eval) but take advantage of the
       
  2562 internal form stored in Tcl objects for greater speed. Other new procedures
       
  2563 manage objects and allow extension writers to define new kinds of objects.
       
  2564 See the manual entries doc/*Obj*.3 (BL)
       
  2565 
       
  2566 10/24/96 (bug fix) Fixed memory leak on exit caused by some IO related
       
  2567 data structures not being deallocated on exit because their refcount was
       
  2568 artificially boosted. (JL)
       
  2569 
       
  2570 10/24/96 (bug fix) Fixed core dump in Tcl_Close if called with NULL
       
  2571 Tcl_Channel. (JL)
       
  2572 
       
  2573 11/19/96 (new feature) Added library procedures for finding word
       
  2574 breaks in strings in a platform specific manner.  See the library.n
       
  2575 manual entry for more information. (SS)
       
  2576 
       
  2577 11/22/96 (feature improvements) Added support for different levels of
       
  2578 tracing during bytecode compilation and execution. This should help in
       
  2579 tracking down suspected problems with the compiler or with converting
       
  2580 existing code to use Tcl8.0. Two global Tcl variables, traceCompile
       
  2581 and traceExec, can be set to generate tracing information in stdout:
       
  2582     - traceCompile: 0  no tracing (default)
       
  2583                     1  trace compilations of top level commands and procs
       
  2584                     2  trace and display instructions for all compilations
       
  2585     - traceExec:    0  no tracing
       
  2586                     1  trace only calls to Tcl procs
       
  2587                     2  trace invocations of all commands including procs
       
  2588                     3  detailed trace showing the result of each instruction
       
  2589 traceExec >= 2 provides a one line summary of each called command and
       
  2590 its arguments. Commands that have been "compiled away" such as set are
       
  2591 not shown. (BL)
       
  2592 
       
  2593 11/30/96 (bug fix) The command "info nameofexecutable" could sometimes
       
  2594 return the name of a directory. (JO)
       
  2595 
       
  2596 11/30/96 (feature improvements) Changed the code in library/init.tcl
       
  2597 that reads in pkgIndex.tcl so that (a) it reads the files from child
       
  2598 directories before those in the parent, so that the parent gets
       
  2599 precedence, and (b) it doesn't quit if there is an error in a
       
  2600 pkgIndex.tcl file;  instead, it prints an error message on standard
       
  2601 error and continues. (JO)
       
  2602 
       
  2603 10/5/96 (feature improvements) Partial implementation of binary string
       
  2604 support: the ability for Tcl string values to contain embedded null bytes.
       
  2605 Changed the Tcl object-based APIs to take a byte pointer and length pair
       
  2606 instead of a null-terminated C string. Modified several object type managers
       
  2607 to support binary strings but not, for example, the list type manager.
       
  2608 Existing string-based C APIs are unchanged and will truncate binary
       
  2609 strings. Compiled scripts containing nulls are also truncated. (BL)
       
  2610 
       
  2611 12/12/96 (feature change) Removed the commands "cp", "mkdir", "mv",
       
  2612 "rm", and "rmdir" from the Macintosh version of Tcl.  They were never
       
  2613 officially supported and their functionality is now available via
       
  2614 the file command. (RJ)
       
  2615 
       
  2616 ----------------- Released 8.0a1, 12/20/96 -----------------------
       
  2617 
       
  2618 1/7/97 (bug fix) Under Windows, "file stat c:" was returning error instead
       
  2619 of stat for current dir on c: drive.
       
  2620 
       
  2621 1/10/97 (new feature) Added Tcl_GetIndexFromObj procedure for quick
       
  2622 lookups of keyword arguments. (JO)
       
  2623 
       
  2624 1/12/97 (new feature) Serial IO channel drivers for Windows and Unix,
       
  2625 available by using Tcl open command to open pseudo-files like "com1:" or
       
  2626 "/dev/ttya".  New option to Tcl fconfigure command for serial files:  
       
  2627 "-mode baud,parity,data,stop" to specify baud rate, parity, data bits, and
       
  2628 stop bits.  Serial IO is not yet available on Mac.
       
  2629 
       
  2630 1/16/97 (feature change) Restored the Tcl7.x "two level substitution
       
  2631 semantics" for expressions. Expressions not enclosed in braces are
       
  2632 implemented, in general, by calling the expr command procedure
       
  2633 (Tcl_ExprObjCmd) at runtime after the Tcl interpreter has already done a
       
  2634 first round of substitutions. This is slow (about Tcl7.x speed) because new
       
  2635 code for the expression is generally compiled each time. However, if the
       
  2636 expression has only variable substitutions (and not command substitutions),
       
  2637 "optimistic" fast code is generated inline. This inline code will fail if a
       
  2638 second round of substitutions is needed (i.e., if the value of a substituted
       
  2639 variable itself requires more substitutions). The optimistic code will
       
  2640 catch the error and back off to call the slower but guaranteed correct
       
  2641 expr command procedure. (BL)
       
  2642 
       
  2643 1/16/97 (feature improvements) Added Tcl_ExprLongObj and Tcl_ExprDoubleObj
       
  2644 to round out expression-related procedures. (BL)
       
  2645 
       
  2646 1/16/97 (feature change) Under Windows, at startup the environment variables
       
  2647 "path", "comspec", and "windir" in any capitalization are converted
       
  2648 automatically to upper case.  The PATH variable could be spelled as path,
       
  2649 Path, PaTh, etc. and it makes programming rather annoying.  All other
       
  2650 environment variables are left alone. (CS)
       
  2651 
       
  2652 1/20/97 (new features) Rewrote the "lsort" command:
       
  2653     - The new version is based on reentrant merge sort code provided
       
  2654       by Richard Hipp, so it eliminates the reentrancy and stability
       
  2655       problems with the old qsort-based implementation.
       
  2656     - The new version supports a -dictionary option for sorting, and
       
  2657       it also supports a -index option for sorting lists using one
       
  2658       element for comparison.
       
  2659     - The new version is an object command, so it works well with the
       
  2660       Tcl compiler, especially in conjunction with the new -index
       
  2661       option.  When the -index option is used, this version of lsort
       
  2662       is more than 100 times faster than the Tcl 7.6 lsort, which had
       
  2663       to use the -command option to get the same effect. (JO)
       
  2664 
       
  2665 1/20/97 (feature improvements) Added the improved debugging support for Tcl
       
  2666 objects prototyped by Karl Lehenbauer <karl@hammer1.ops.NeoSoft.com>.
       
  2667 If TCL_MEM_DEBUG is defined, the object creation calls use Tcl_DbCkalloc
       
  2668 directly in order to record the caller's source file name and line
       
  2669 number. (BL)
       
  2670 
       
  2671 1/21/97 (removed feature) Desupported the tcl_precision variable: if
       
  2672 set, it is ignored.  Tcl now uses the full 17 digits of precision when
       
  2673 converting real numbers to strings (with the new object system real
       
  2674 numbers are rarely converted to strings so there is no efficiency
       
  2675 disadvantage to printing all 17 digits; the new scheme improves
       
  2676 accuracy and simplifies several APIs). (JO)
       
  2677 *** POTENTIAL INCOMPATIBILITY ***
       
  2678 
       
  2679 1/21/97 (feature change) Removed the "interp" argument for the
       
  2680 procedures Tcl_GetStringFromObj, Tcl_StringObjAppend, and
       
  2681 Tcl_StringObjAppendObj.  Also removed the "interp" argument for
       
  2682 the updateStringProc procedure in Tcl_ObjType structures.  With
       
  2683 the tcl_precision changes above, these are no longer needed. (JO)
       
  2684 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0a1, but not with Tcl 7.6 ***
       
  2685 
       
  2686 1/22/97 (bug fix) Fixed http.tcl so that http_reset does not result in
       
  2687 an extra call to the command callback.  In addition, if the transaction
       
  2688 gets a premature eof, the state(status) is "eof", not "ok". (BW)
       
  2689 
       
  2690 ----------------- Released 8.0a2, 1/24/97 -----------------------
       
  2691 
       
  2692 1/29/97 (feature change) Changed how two digit years are parsed in the
       
  2693 clock command.  The old interface just added 1900 which will seem
       
  2694 broken by the year 2000.  The new scheme follows the POSIX standard
       
  2695 and treats dates 70-99 as 1970-1999 and dates 00-38 as 2000-2038.  All
       
  2696 other two digit dates are undefined. (RJ)
       
  2697 *** POTENTIAL INCOMPATIBILITY ***
       
  2698 
       
  2699 2/4/97 (bug fix) Fixed bug in clock code that dealt with relative
       
  2700 dates.  Using the relative month code you could get an invalid date
       
  2701 because it jumped into a non-existant day.  (For example, Jan 31
       
  2702 to Feb 31.)  The code now will return the last valid day of the
       
  2703 month in these situations.  Thanks to Hume Smith for sending in
       
  2704 this bug fix.  (RJ)
       
  2705 
       
  2706 2/10/97 (feature change) Eliminated Tcl_StringObjAppend and 
       
  2707 Tcl_StringObjAppendObj procedures, replaced them with Tcl_AppendToObj
       
  2708 and Tcl_AppendStringsToObj procedures.  Added new procedure
       
  2709 Tcl_SetObjLength. (JO)
       
  2710 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2, but not with Tcl 7.6 ***
       
  2711 
       
  2712 2/10/97 (new feature) Added Tcl_WrongNumArgs procedure for generating
       
  2713 error messages about incorrect number of arguments. (JO)
       
  2714 
       
  2715 2/11/97 (new feature, bug fix) http package.  Added -accept to http_config
       
  2716 so you can set the Accept header.  Added -handler option to http_get so
       
  2717 you can supply your own data handler.  Also fixed POST operation to
       
  2718 set the correct MIME type on the request. (BW)
       
  2719 
       
  2720 2/22/97 (bug fix) Fixed bug that caused $tcl_platform(osVersion) to be
       
  2721 computed incorrectly under AIX. (JO)
       
  2722 
       
  2723 2/25/97 (new feature, feature change) Added support for both int and long
       
  2724 integer objects. Added Tcl_NewLongObj/Tcl_GetLongFromObj/Tcl_SetLongFromObj
       
  2725 procedures and renamed the Tcl_Obj internalRep intValue member to
       
  2726 longValue. Tcl_GetIntFromObj now checks for integer values too large to
       
  2727 represent as non-long integers. Changed Tcl_GetAllObjTypes to
       
  2728 Tcl_AppendAllObjTypes. (BL)
       
  2729 
       
  2730 3/5/97 (new feature) Added new Tcl_SetListObj procedure to round out
       
  2731 collection of procedures that set the type and value of existing Tcl
       
  2732 objects. (BL)
       
  2733 
       
  2734 3/6/97 (new feature) Added -global flag for interp invokehidden. (JL)
       
  2735 
       
  2736 3/6/97 (new feature, feature change) Added isNativeObjectProc field to the
       
  2737 Tcl_CmdInfo structure to indicate (when 1) if the command has an
       
  2738 object-based command procedure. Removed the nameLength arg from
       
  2739 Tcl_CreateObjCommand since command names can't contain null characters. (BL)
       
  2740 
       
  2741 3/6/97 (bug fix) Fixed bug in "unknown" procedure that caused auto-
       
  2742 loading to fail on commands whose names begin with digits. (JO)
       
  2743 
       
  2744 3/7/97 (bug fix) Auto-loading now works in Safe Base. Safe interpreters
       
  2745 only accept the Version 2 and onwards tclIndex files. (JL)
       
  2746 
       
  2747 3/13/97 (bug fix) Fixed core dump due to interaction between aliases and
       
  2748 hidden commands. Bug found by Lindsay Marshall. (JL)
       
  2749 
       
  2750 3/14/97 (bug fix) Fixed mac bugs relating to time.  The -gmt option
       
  2751 now adjusts the time in the correct direction.  (Thanks to Ed Hume for
       
  2752 reporting a fix to this problem.)  Also fixed file "mtime" etc. to
       
  2753 return times from GMT rather than local time zone.  (RJ)
       
  2754 
       
  2755 3/18/97 (feature change) Declaration of objv in Tcl_ObjCmdProc function
       
  2756 changed from "Tcl_Obj *objv[]" to "Tcl_Obj *CONST objv[]".  All Tcl object
       
  2757 commands changed to use new declaration of objv.  Naive translation of
       
  2758 string-based command procs to object-based command procs could very easily
       
  2759 have yielded code where the contents of the objv array were changed.  This
       
  2760 is not a problem with string-based command procs, but doing something as
       
  2761 simple as objv[2] = objv[3] would corrupt the runtime stack and cause Tcl to
       
  2762 crash.  Introduced CONST in declaration of objv so that attempted assignment
       
  2763 of new pointer values to elements of the objv array will be caught by the
       
  2764 compiler. (CCS)
       
  2765 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 ***
       
  2766 
       
  2767 3/19/97 (bug fix) Fixed panic due to object sharing. The root cause was
       
  2768 that old code was using Tcl_ResetResult instead of Tcl_ResetObjResult. (JL)
       
  2769 
       
  2770 3/20/97 (new feature) Added a new subcommand for the file
       
  2771 command. file attributes filename can give a list of platform-specific
       
  2772 options (such as file/creator type on the Mac, permissions on Unix) or
       
  2773 set the values of them. Added a new subcommand for the file
       
  2774 command. file nativename name gives back the platform-specific form
       
  2775 for the file. This is useful when the filename is needed to pass to
       
  2776 the OS, such as exec under Windows 95 or AppleScript on the Mac. For
       
  2777 more info, see file.n. (SRP)
       
  2778 
       
  2779 3/24/97 (removed feature) Removed the tcl_safePolicyPath procedure. Now
       
  2780 the policy path is computed from the auto_path by appending the directory
       
  2781 'policies' to each element. Also fixed several bugs in automatic tracking
       
  2782 of auto_path by computed policy path. (JL)
       
  2783 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 ***
       
  2784 
       
  2785 4/8/97 (new feature) If the variable whose name is passed to lappend doesn't
       
  2786 already exist, and there are no value arguments, lappend now creates the
       
  2787 variable with an empty value instead of returning an error. Change suggested
       
  2788 by Tom Tromey. (BL)
       
  2789 
       
  2790 4/9/97 (feature change) Changed the name of the TCL_PART1_NOT_PARSED flag to
       
  2791 TCL_PARSE_PART1. (BL)
       
  2792 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 ***
       
  2793 
       
  2794 4/10/97 (bug fixes) Fixed various compilation-related bugs:
       
  2795     - "UpdateStringOfCmdName should never be invoked" panic.
       
  2796     - Bad code generated for expressions not in {}'s inside catch commands.
       
  2797     - Segmentation fault in some command procedures when two argument
       
  2798       object pointers refer to the same object.
       
  2799     - Second level of substitutions were never done for expressions not
       
  2800       in {}'s that consist of a single variable reference: e.g.,
       
  2801       "set x 27; set bool {$x}; if $bool {puts foo}" would fail with error.
       
  2802     - Bad code generated when code storage was grown while compiling some
       
  2803       expressions: ones with compilation errors or consisting of only a
       
  2804       variable reference.
       
  2805     - Bugs involving multiple interpreters: wasn't checking that a
       
  2806       procedure's code was compiled for the same interpreter as the one
       
  2807       executing it, and didn't invalidate code on hidden-exposed command
       
  2808       transitions.
       
  2809     - "Bad stack top" panic when executing scripts that require a huge
       
  2810       amount of stack space.
       
  2811     - Incorrect sharing of code for procedure bodies, and procedure code
       
  2812       deallocated before last execution of the procedure finished.
       
  2813     - Fixed compilation of expression words in quotes. For example,
       
  2814       if "0 < 3" {puts foo}.
       
  2815     - Fixed performance bug in array set command with large assignments.
       
  2816     - Tcl_SetObjLength segmentation fault setting length of empty object.
       
  2817     - If Tcl_SetObjectResult was passed the same object as the interpreter's
       
  2818       result object, it freed the object instead of doing nothing. Bug fix
       
  2819       by Michael J. McLennan.
       
  2820     - Tcl_ListObjAppendList inserted elements from the wrong list. Bug fix
       
  2821       by Michael J. McLennan.
       
  2822     - Segmentation fault if empty variable list was specified in a foreach
       
  2823       command. Bug fix by Jan Nijtmans.
       
  2824     - NULL command name was always passed to Tcl_CreateTrace callback
       
  2825       procedure.
       
  2826     - Wrong string representation generated for the value LONG_MIN.
       
  2827       For example, expr 1<<31 printed incorrectly on a 32 bit machine.
       
  2828     - "set {a($x)} 1" stored value in wrong variable.
       
  2829     - Tcl_GetBooleanFromObj was not checking for garbage after a numeric
       
  2830       value.
       
  2831     - Garbled "bad operand type" error message when evaluating expressions
       
  2832       not surrounded by {}'s. (BL)
       
  2833 
       
  2834 4/16/97 (new feature) The expr command now has the "rand()" and
       
  2835 "srand()" functions for getting random numbers in expr. (RJ)
       
  2836 
       
  2837 4/23/97 (bug fix) Fixed core dump in bgerror when the error handler command
       
  2838 deletes the current interpreter. Found by Juergen Schoenwald. (JL)
       
  2839 
       
  2840 4/23/97 (feature change) The notifier interfaces have been redesigned
       
  2841 to make embedding in applications with external event loops possible.
       
  2842 A number of interfaces in the notifier and the channel drivers have
       
  2843 changed.  Refer to the Notifier.3 and CrtChannel.3 manual entries for
       
  2844 more details. (SS)
       
  2845 *** POTENTIAL INCOMPATIBILITY ***
       
  2846 
       
  2847 4/23/97 (removed feature) The Tcl_File interfaces have been removed.
       
  2848 The Tcl_CreateFileHandler/Tcl_DeleteFileHandler interfaces now take
       
  2849 Unix fd's and are only supported on the Unix platform.
       
  2850 Tcl_GetChannelFile has been replaced with Tcl_GetChannelHandle.
       
  2851 Tcl_MakeFileChannel now takes a platform specific file handle. (SS)
       
  2852 *** POTENTIAL INCOMPATIBILITY ***
       
  2853 
       
  2854 4/23/97 (removed feature) The modal timeout interface has been
       
  2855 removed (Tcl_CreateModalTimeout/Tcl_DeleteModalTimeout) (SS)
       
  2856 *** POTENTIAL INCOMPATIBILITY ***
       
  2857 
       
  2858 4/23/97 (feature change) Channel drivers are now required to correctly
       
  2859 implement blocking behavior when they are in blocking mode. (SS)
       
  2860 *** POTENTIAL INCOMPATIBILITY ***
       
  2861 
       
  2862 4/23/97 (new feature) Added the "binary" command for manipulating
       
  2863 binary strings. Also, changed the "puts", "gets", and "read" commands
       
  2864 to preserve embedded nulls.  (SS)
       
  2865 
       
  2866 4/23/97 (new feature) Added tcl_platform(byteOrder) element to the
       
  2867 tcl_platform array to identify the native byte order for the current
       
  2868 host. (SS)
       
  2869 
       
  2870 4/23/97 (bug fix) Fixed bug in date parsing around year boundaries. (SS)
       
  2871 
       
  2872 4/24/97 (bug fix) In the process of copying a file owned by another user,
       
  2873 Tcl was changing the owner of the copy back to the owner of the original
       
  2874 file, therefore causing further file operations to fail because the current
       
  2875 user didn't own the copy anymore.  The owner of the copy is now left as the
       
  2876 current user. (CCS)
       
  2877 
       
  2878 4/24/97 (feature change) Under Windows, don't automatically uppercase the
       
  2879 environment variable "windir" -- it's supposed to be lower case.  (CCS)
       
  2880 
       
  2881 4/29/97 (new feature) Added namespace support based on a namespace
       
  2882 implementation by Michael J. McLennan of Lucent Technologies. A namespace
       
  2883 encapsulates a collection of commands and variables to ensure that they
       
  2884 won't interfere the commands and variables of other namespaces. The global
       
  2885 namespace holds all global variables and commands. Additional namespaces are
       
  2886 created with the new namespace command. The new variable command lets you
       
  2887 create Tcl variables inside a namespace. The names of Tcl variables and
       
  2888 commands may now be qualified by the name of the namespace containing them.
       
  2889 The key namespace-related commands are summarized below:
       
  2890     - namespace ?eval? name arg ?arg...?
       
  2891          Used to define the commands and variables in a namespace.
       
  2892          Optionally creates the namespace.
       
  2893     - namespace export ?-clear? ?pattern pattern...?
       
  2894          Specifies which commands are exported from a namespace. These
       
  2895          are the ones that can be imported into another namespace.
       
  2896     - namespace import ?-force? ?pattern pattern...?
       
  2897          Makes the specified commands accessible in the current namespace.
       
  2898     - namespace current
       
  2899          Returns the name of the current namespace.
       
  2900     - variable name ?value? ?name ?value?...?
       
  2901          Creates one or more namespace variables. (BTL)
       
  2902 
       
  2903 5/1/97 (bug fix) Under Windows, file times were reported in GMT.  Should be
       
  2904 reported in local time. (CCS)
       
  2905 
       
  2906 5/2/97 (feature change) Changed the name of the two Tcl variables used for
       
  2907 tracing bytecode compilation and execution to tcl_traceCompile and
       
  2908 tcl_traceExec respectively. These variables are now documented in the
       
  2909 tclvars man page. (BL)
       
  2910 
       
  2911 5/5/97 (new feature) Support "end" as the index for "lsort -index". (BW)
       
  2912 
       
  2913 5/5/97 (bug fixes) Cleaned up the way the http package resets connections (BW)
       
  2914 
       
  2915 5/8/97 (feature change) Newly created Tcl objects now have a reference count
       
  2916 of zero instead of one. This simplifies C code that stores newly created
       
  2917 objects in Tcl variables or in data structures such as list objects. That C
       
  2918 code must increment the new object's reference count since the variable or
       
  2919 data structure will contain a long-term reference to the object. Formerly,
       
  2920 when new objects started out with reference count one, it was necessary to
       
  2921 decrement the new object's reference count after the store to make sure it
       
  2922 was left with the correct value; this is no longer necessary. (BL)
       
  2923 
       
  2924 5/9/97 (new feature) Added the Tcl_GetsObj interface that takes an
       
  2925 object reference instead of a dynamic string (as in Tcl_Gets). (SS)
       
  2926 
       
  2927 5/12/97 (new feature) Added Tcl_CreateAliasObj and Tcl_GetAliasObj C APIs
       
  2928 to allow an alias command to be created with a vector of Tcl_Obj structures
       
  2929 and to get the vector back later. (JL)
       
  2930 
       
  2931 5/12/97 (feature change) Changed Tcl_ExposeCommand and Tcl_HideCommand to
       
  2932 leave an object result instead of a string result. (JL)
       
  2933 
       
  2934 5/14/97 (feature change) Improved the handling of the interpreter result.
       
  2935 This is still either an object or a string, but the two values are now kept
       
  2936 consistent unless some C code reads or writes interp->result directly. See
       
  2937 the SetResult man page for details. Removed the Tcl_ResetObjResult
       
  2938 procedure. (BL)
       
  2939 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 ***
       
  2940 
       
  2941 5/16/97 (new feature) Added "fcopy" command to move data between
       
  2942 channels.  Refer to the manual page for more information.  Removed the
       
  2943 "unsupported0" command since it is obsolete now.  (SS)
       
  2944 
       
  2945 5/16/97 (new feature) Added Tcl_GetStringResult procedure to allow programs
       
  2946 to get an interpreter's result as a string. If the result was previously set
       
  2947 to an object, this procedure will convert the object to a string. Use of
       
  2948 Tcl_GetStringResult is intended to replace direct access to interp->result,
       
  2949 which is not safe. (BL)
       
  2950 
       
  2951 5/20/97 (new features) Fixed "fcopy" to return the number of bytes
       
  2952 transferred in the blocking case.  Updated the http package to use
       
  2953 fcopy instead of unsupported0.  Added -timeout and -handler options to
       
  2954 http_get.  http_get is now blocking by default.  It is only non-blocking
       
  2955 if you supply a -command argument. (BW)
       
  2956 
       
  2957 5/22/97 (bug fix) Fixed several bugs in the "lsort" command having to do
       
  2958 with the -dictionary option and the presence of numbers embedded in the
       
  2959 strings.  (JO)
       
  2960 
       
  2961 ----------------- Released 8.0b1, 5/27/97 -----------------------
       
  2962 
       
  2963 6/2/97 (bug fix) Fixed bug in startup code that caused a problem in
       
  2964 finding the library files when they are installed in a directory
       
  2965 containing a space in the name. (SS)
       
  2966 
       
  2967 6/2/97 (bug fix) Fixed bug in Unix notifier where the select mask was
       
  2968 not being cleared under some circumstances. (SS)
       
  2969 
       
  2970 6/4/97 (bug fix) Fixed bug that prevented creation of Tk widgets in
       
  2971 namespaces. Tcl_CreateObjCommand and Tcl_CreateCommand now always create
       
  2972 commands in the global namespace unless the command names are qualified. Tcl
       
  2973 procedures continue to be created in the current namespace by default. (BL)
       
  2974 
       
  2975 6/6/97 (new features) Added new namespace API procedures
       
  2976 Tcl_AppendExportList and Tcl_Export to allow C code to get and set a
       
  2977 namespace's export list. (BL)
       
  2978 
       
  2979 6/11/97 (new feature) Added Tcl_ConcatObj. This object-based routine
       
  2980 parallels the string-based routine Tcl_Concat. (SRP)
       
  2981 
       
  2982 6/11/97 (new feature) Added Tcl_SetObjErrorCode. This object-based
       
  2983 routines parallels the string-based routine Tcl_SetErrorCode. (SRP)
       
  2984 
       
  2985 6/12/97 (bug fix) Fix the "unknown" procedure so that wish under Windows
       
  2986 will exec an external program, instead of always complaining "console1 not
       
  2987 opened for writing". (CCS)
       
  2988 
       
  2989 6/12/97 (bug fix) Fixed core dump experienced by the following simple
       
  2990 script:
       
  2991 	interp create x
       
  2992 	x alias exec exec
       
  2993 	interp delete x
       
  2994 This panic was caused by not installing the new CmdDeleteProc when exec
       
  2995 got redefined by the alias creation step. Reported by Lindsay Marshal (JL)
       
  2996 
       
  2997 6/13/97 (new features) Tcl objects newly created by Tcl_NewObj now have a
       
  2998 string representation that points to a shared heap string of length 1. (They
       
  2999 used to have NULL bytes and typePtr fields. This was treated as a special
       
  3000 case to indicate an empty string, but made type manager implementations
       
  3001 complex and error prone.) The new procedure Tcl_InvalidateStringRep is used
       
  3002 to mark an object's string representation invalid and to free any storage
       
  3003 associated with the old string representation. (BL)
       
  3004 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 ***
       
  3005 
       
  3006 6/16/97 (bug fix) Tcl_ScanCountedElement could leave braces unmatched
       
  3007 if the string ended with a backslash. (JO)
       
  3008 
       
  3009 6/17/97 (bug fix) Fixed channel event bug where readable events would be
       
  3010 lost during recursive events loops if the input buffers contained
       
  3011 data. (SS)
       
  3012 
       
  3013 6/17/97 (bug fix) Fixed bug in Windows socket code that didn't
       
  3014 reenable read events in the case where an external entity is also
       
  3015 reading from the socket. (SS)
       
  3016 
       
  3017 6/18/97 (bug fix) Changed initial setting of the notifier service mode
       
  3018 to TCL_SERVICE_NONE to avoid unexpected event handling during
       
  3019 initialization. (SS)
       
  3020 
       
  3021 6/19/97 (bug fix/feature change) The command callback to fcopy is now
       
  3022 called in case of errors during the background copy.  This adds a second,
       
  3023 optional argument to the callback that is the error string.  The callback
       
  3024 in case of errors is required for proper cleanup by the user of fcopy. (BW)
       
  3025 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
       
  3026 
       
  3027 6/19/97 (bug fix) Fixed a panic due to the following four line script:
       
  3028 	interp create x
       
  3029 	x alias foo bar
       
  3030 	x eval rename foo blotz
       
  3031 	x alias foo {}
       
  3032 The problem was that the interp code was not using the actual current name
       
  3033 of the command to be deleted as a result of un-aliasing foo. (JL)
       
  3034 
       
  3035 6/19/97 (feature change) Pass interp down to the ChannelOption and
       
  3036 driver specific calls so system errors can be differentiated from syntax
       
  3037 ones. Changed Tcl_DriverGetOptionProc type. Affects Tcl_GetChannelOption,
       
  3038 TcpGetOptionProc,  TtyGetOptionProc, etc. (DL)
       
  3039 *** POTENTIAL INCOMPATIBILITY ***
       
  3040 
       
  3041 6/19/97 (new feature) Added Tcl_BadChannelOption for use by by driver
       
  3042 specific option procedures (Set and Get) to return a complete and
       
  3043 meaningful error message. (DL)
       
  3044 
       
  3045 6/19/97 (bug fixes) If a system call error occurs while doing an
       
  3046 fconfigure on tcp or tty/com channel: return the appropriate error
       
  3047 message (instead of the syntax error one or none). (Fixed for Unix and
       
  3048 most of the Win and Mac drivers). (DL)
       
  3049 
       
  3050 6/20/97 (feature change) Eval is no longer assumed as the subcommand name
       
  3051 in namespace commands: you must now write "namespace eval nsName {...}".
       
  3052 Abbreviations of namespace subcommand names are now allowed. (BL)
       
  3053 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 ***
       
  3054 
       
  3055 6/20/97 (feature change) Changed the errorInfo traceback message for
       
  3056 compilation errors from "invoked from within" to "while compiling". (BL)
       
  3057 
       
  3058 6/20/97 (bug fixes) Fixed various compilation-related bugs:
       
  3059     - "UpdateStringOfCmdName should never be called" and
       
  3060       "UpdateStringOfByteCode should never be called" panics.
       
  3061     - Segfault in TclObjInterpProc getting procedure name after evaluation
       
  3062       stack is reallocated (grown).
       
  3063     - Could not use ":" at end of variable and command names.
       
  3064     - Bad code generated for while and for commands with test expressions
       
  3065       enclosed in quotes: e.g., "set i 0; while "$i > 5" {}".
       
  3066     - Command trace procedures would crash if they did a Tcl_EvalObj that
       
  3067       reallocated the evaluation stack.
       
  3068     - Break and continue commands did not reset the interpreter result.
       
  3069     - The Tcl_ExprXXX routines, both string- or object-based, always
       
  3070       modified the interpreter result even if there was no error.
       
  3071     - The argument parsing procedure used by several compile procedures
       
  3072       always treated "]" as end of a command: e.g., "set a ]" would fail.
       
  3073     - Changed errorInfo traceback message for compilation errors from 
       
  3074       "invoked from within" to "while compiling".
       
  3075     - Problem initializing Tcl object managers during interpreter creation.
       
  3076     - Added check and error message if formal parameter to a procedure is
       
  3077       an array element. (BL)
       
  3078 
       
  3079 6/23/97 (new feature) Added "registry" package to allow manipulation
       
  3080 of the Windows system registry.  See manual entry for details. (SS)
       
  3081 
       
  3082 6/24/97 (feature change) Converted http to a package and added the
       
  3083 http1.0 subdirectory of the Tcl script library.  This means you have
       
  3084 to do a "package require http" to use this, as advertised in the man page. (BW)
       
  3085 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
       
  3086 
       
  3087 6/24/97 (bug fix) Ensure that Tcl_Set/GetVar C APIs, when called without
       
  3088 TCL_LEAVE_ERR_MSG, don't touch the interp result. (DL)
       
  3089 
       
  3090 6/26/97 (feature change) Changed name of Tcl_ExprStringObj to
       
  3091 Tcl_ExprObj. (BL)
       
  3092 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
       
  3093 
       
  3094 ----------------- Released 8.0b2, 6/30/97 -----------------------
       
  3095 
       
  3096 7/1/97 (new feature) TCL_BUILD_SHARED flag set in tclConfig.sh
       
  3097 when Tcl has been built with --enable-shared. A new tclLibObjs
       
  3098 make target, echoing the list of the .o's needed to build a tcl
       
  3099 library, is now provided. (DL)
       
  3100 
       
  3101 7/1/97 (feature change) compat/getcwd.c removed and changed the
       
  3102 only place where getcwd is used so a new USEGETWD flag selects
       
  3103 the use of the replacement "getwd". Adding this flag is recommended
       
  3104 for SunOS 4 (because getcwd on SunOS 4 uses a pipe to pwd(1)!). (DL)
       
  3105 
       
  3106 7/7/97 (feature change) The split command now supports binary data (i.e.,
       
  3107 null characters in strings). (BL)
       
  3108 
       
  3109 7/7/97 (bug fix) string first returned the wrong result if the first
       
  3110 argument string was empty. (BL)
       
  3111 
       
  3112 7/8/97 (bug fix) Fixed core dump in fcopy that could occur when a command
       
  3113 callback was supplied and an error or eof condition caused no background
       
  3114 activity.  A refcount bug triggered a panic in Tcl_ListObjAppendElement. (BW)
       
  3115 
       
  3116 7/8/97 (bug fix) Relaxed the pattern matching on http_get so you do not
       
  3117 need a trailing path component.  You can now get away with just
       
  3118 http_get www.scriptics.com					(BW)
       
  3119 
       
  3120 7/9/97 (bug fix) Creating anonymous interpreters no longer smashes existing
       
  3121 commands with names similar to the generated name. Previously creating an
       
  3122 anonymous interpreter could smash an existing command, now it skips until
       
  3123 it finds a command name that isn't being used. (JL)
       
  3124 
       
  3125 7/9/97 (feature change) Removed the policy management mechanism from the
       
  3126 Safe Base; left the aliases to source and load modules, and to do a limited
       
  3127 form of the "file" command. See entry of 11/15/96. (JL)
       
  3128 
       
  3129 7/9/97 (bug fixes) Fixed various compilation-related bugs:
       
  3130     - Line numbers in errorInfo now are the same as those in Tcl7.6 unless
       
  3131 there are compilation errors. Compilation error messages now include the
       
  3132 entire command in error.
       
  3133     - Trailing ::s after namespace names weren't being ignored.
       
  3134     - Could not refer to an namespace variable with an empty name using a
       
  3135 name of the form "n::". (BL)
       
  3136 
       
  3137 7/9/97 (bug fix) Fixed bug in Tcl_Export that prevented you from exporting
       
  3138 from other than the current namespace. (BL)
       
  3139 
       
  3140 7/9/97 (bug fix) env.test was removing env var needed for proper finding
       
  3141 of libraries in child process. (DL)
       
  3142 
       
  3143 7/10/97 (bug fixes/new feature) Cleanup in Tcl_MakeSafe. Less information
       
  3144 is leaked to safe interps. Error message fixes for interp sub commands.
       
  3145 Likewise changes in safealias.tcl; tcl_safeCreateInterp can now be called
       
  3146 without argument to generate the slave name (like in interp create). (DL)
       
  3147 
       
  3148 7/10/97 (bug fixes) Bytecode compiler now generates more detailed 
       
  3149 command location information: subcommands as well as commands now have
       
  3150 location information. This means command trace procedures now get the
       
  3151 correct source string for each command in their command parameter. (BL)
       
  3152 
       
  3153 7/22/97 (bug fixes) Performance improvement in Safe interpreters
       
  3154 handling. Added new mask value to (tclInt.h) Interp.flags record. (DL)
       
  3155 
       
  3156 7/22/97 (bug fix) Fixed panic in 'interp target {} foo'. This bug
       
  3157 was present since Tcl 7.6. (JL)
       
  3158 
       
  3159 7/22/97 (bug fix) Fixed bug in compilation of procedures in namespaces: the
       
  3160 procedure's namespace must be used to look up compile procedures, not the
       
  3161 current namespace. (BL)
       
  3162 
       
  3163 7/22/97 (bug fix) Use of the -channel option of http_get was not setting
       
  3164 the end of line translations mode on the channel, so copying binary data
       
  3165 with the -channel option was corrupting the result on non-unix platforms. (BW)
       
  3166 
       
  3167 7/22/97 (bug fixes) file commands and ~user (seg fault and other
       
  3168 improper returns). (DL)
       
  3169 
       
  3170 7/23/97 (feature change) Reenabled "vwait" in Safe Base. (JL)
       
  3171 
       
  3172 7/23/97 (bug fixes) Fixed two bugs involving read traces on array variables
       
  3173 in procedures: trace procedures were sometimes not called, and reading
       
  3174 nonexistant array elements didn't create undefined element variables that
       
  3175 could later be defined by trace procedures. (BL)
       
  3176 
       
  3177 7/24/97 (bug fix) Windows memory allocation performance was
       
  3178 superlinear in some cases.  Made the Mac allocator generic and changed
       
  3179 both the Mac and Windows platforms to use the new allocator instead of
       
  3180 malloc and free. (SS)
       
  3181 
       
  3182 7/24/97 - 8/12/97 (bug fixes/change of features) Completely revamped safe
       
  3183 sourcing/loading (see safe.n) to hide pathnames, use virtual
       
  3184 paths tokens instead, improved security in several respects and made it
       
  3185 more tunable. Multi level interp loading can work too now. Package auto
       
  3186 loading now works in safe interps as long as the package directory is in 
       
  3187 the auto_path (no deep crawling allowed in safe interps). (DL)
       
  3188 *** POTENTIAL INCOMPATIBILITY with previous alpha and beta releases ***
       
  3189 
       
  3190 7/24/97 (bug fixes) Made Tcl_SetVar* and Tcl_NewString* treat a NULL value
       
  3191 as an empty string. (This fixes hairy crash case where you would crash
       
  3192 because load command for other interps assumed presence of
       
  3193 errorInfo...). (DL)
       
  3194 
       
  3195 7/28/97 (bug fix) Fixed pkg_mkIndex to understand namespaces.  It will
       
  3196 use the export list of a namespace and create auto_index entries for
       
  3197 all export commands.  Those names are in their fully qualified form in the
       
  3198 auto_index.  Therefore, I tweaked unknown to try both $cmd and ::$cmd.
       
  3199 Also fixed pkg_mkIndex so you can have "package require" commands inside
       
  3200 your packages.  These commands are ignored, which is mostly ok except
       
  3201 when you must load another package before loading yours because of
       
  3202 linking dependencies. (BW)
       
  3203 
       
  3204 7/28/97 (bug fix) A variable created by the variable command now persists
       
  3205 until the namespace is destroyed or the variable is unset. This is true even
       
  3206 if the variable has not been initialized; these variables used to be
       
  3207 destroyed if an error occurred when accessing them. In addition, the "info
       
  3208 vars" command lists uninitialized namespace variables, while the "info
       
  3209 exists" command returns 0 for them. (BL)
       
  3210 
       
  3211 7/29/97 (feature change)  Changed the http package to use the ::http
       
  3212 namespace. http_get renamed to http::geturl, http_config renamed to
       
  3213 http::config, http_formatQuery renamed to http::formatQuery.
       
  3214 It now provides the 2.0 version of the package.  
       
  3215 The 1.0 version is still available with the old names.
       
  3216 *** POTENTIAL INCOMPATIBILITY with Tcl 8.0b2 but not with Tcl 7.6 ***
       
  3217 
       
  3218 7/29/97 (bug fix, new feature) Tcl_Main now uses Tcl objects internally to
       
  3219 preserve NULLs in commands and command output. Added new API procedure
       
  3220 Tcl_RecordAndEvalObj that resembles Tcl_RecordAndEval but takes an object
       
  3221 containing a command. (BL)
       
  3222 
       
  3223 7/30/97 (bug fix) Tcl freed strings in the environ array even if it
       
  3224 did not allocate them. (SS)
       
  3225 
       
  3226 7/30/97 (bug fix) If a procedure is renamed into a different namespace, it
       
  3227 now executes in the context of that namespace. (BL)
       
  3228 
       
  3229 7/30/97 (bug fix) Prevent renaming of commands into and from namespaces as
       
  3230 part of hiding them. (JL)
       
  3231 
       
  3232 7/31/97 (feature change) Moved the history command from C to tcl.
       
  3233 This uses the ::history namespace.  The "words" and "substitute" options
       
  3234 are no longer supported.  In addition, the "keep" option without a value
       
  3235 returns the current keep limit.  There is a new "clear" option.
       
  3236 The unknown command now supports !! again. (BW)
       
  3237 *** POTENTIAL INCOMPATIBILTY  ***
       
  3238 
       
  3239 7/30/97 (bug fix) Made sure that a slave can not fool the master into
       
  3240 hiding the wrong command. Made sure we don't crash in hiding + namespaces
       
  3241 issues. (DL)
       
  3242 
       
  3243 8/4/97 (bug fix) Concat, eval, uplevel, and similar commands were
       
  3244 incorrectly trimming trailing space characters from their arguments
       
  3245 even when the space characters were preceded by a backslash. (JO)
       
  3246 
       
  3247 8/4/97 (bug fix) Removed the hard link between bgerror and tkerror.
       
  3248 Only bgerror is supported in tcl core. Tk will still look for a
       
  3249 tkerror but using regular tcl code for that feature. (DL)
       
  3250 *** POTENTIAL INCOMPATIBILTY with code relying on the hard link ***
       
  3251 
       
  3252 8/6/97 (bug fix) Reduced size required for compiled bytecodes by using a
       
  3253 more compact encoding for the command pc-to-source map. (BL)
       
  3254 
       
  3255 8/6/97 (new feature) Added support for additional compilation and execution
       
  3256 statistics when Tcl is compiled with the TCL_COMPILE_STATS flag. (BL)
       
  3257 
       
  3258 8/7/97 (bug fix) Expressions not in {}s that have a comparison operator as
       
  3259 the topmost operator must be compiled out-of-line (call the expr cmd at
       
  3260 runtime) to properly support expr's two-level substitution semantics. An
       
  3261 example is "set a 2; set b {$a}; puts [expr $b == 2]". (BL)
       
  3262 
       
  3263 8/11/97 (bug fix) The catch command would sometimes crash if a variable name
       
  3264 was given and the bytecode evaluation stack was grown when executing the
       
  3265 argument script. (BL)
       
  3266 
       
  3267 8/12/97 (feature change) Reinstated the variable tcl_precision to control
       
  3268 the number of digits used when floating-point values are converted to
       
  3269 strings, with default of 12 digits.  However, had to make tcl_precision
       
  3270 shared among all interpreters (except that safe interpreters can't
       
  3271 modify it).  This makes the Tcl 8.0 behavior almost identical to 7.6
       
  3272 except that the default precision is 12 instead of 6. (JO)
       
  3273 *** POTENTIAL INCOMPATIBILITY ***
       
  3274 
       
  3275 ----------------- Released 8.0, 8/18/97 -----------------------
       
  3276 
       
  3277 8/19/97 (bug fix) Minimal fix for glob -nocomplain bugs:
       
  3278 "glob -nocomplain unreadableDir/*" was generating an anonymous 
       
  3279 error. More in depth fixes will come with 8.1. (DL).
       
  3280 
       
  3281 8/20/97 (bug fix) Removed check for FLT_MIN in binary command so
       
  3282 underflow conditions are handled by the compiler automatic
       
  3283 conversions. (SS)
       
  3284 
       
  3285 8/20/97 (bug fixes) Fixed several compilation-related bugs:
       
  3286     - Array cmd wasn't detecting arrays that, while compiled, do not yet
       
  3287       exist (e.g., are marked undefined since they haven't been assigned
       
  3288       to yet).
       
  3289     - The GetToken procedure in tclCompExpr.c wasn't recognizing properly
       
  3290       whether an integer token was invalid. For example, "0x$" is not
       
  3291       a valid integer.
       
  3292     - Performance bug in TclExecuteByteCode: the size of its stack frame
       
  3293       was reduced by over 20% by moving errorInfo code elsewhere.
       
  3294     - Uninitialized memory read error in tclCompile.c. (BL)
       
  3295 
       
  3296 8/21/97 (bug fix) safe::interpConfigure now behave like Tk widget's
       
  3297 configure : it changes only the options you provide and you can get
       
  3298 the current value of any single option. New ?-nested boolean? and
       
  3299 ?-statics boolean? for all safe::interp* commands but we still
       
  3300 accept (upward compatibility) the previously defined non valued
       
  3301 flags ?-noStatics? and ?-nestedLoadOk?. Improved the documentation. (DL).
       
  3302 
       
  3303 8/22/97 (bug fix) Updated PrintDbl.3 to reflect the fact that the
       
  3304 tcl_precision variable is still used and that it is now shared by all
       
  3305 interpreters. (BL)
       
  3306 
       
  3307 8/25/97 (bug fix) Fixed array access bug in IllegalExprOperandType
       
  3308 procedure in tclExecute.c: it was not properly supporting the || and &&
       
  3309 operators. (BL)
       
  3310 
       
  3311 8/27/97 (bug fix) In cases where a channel handler was created with an
       
  3312 empty event mask while data was still buffered in the channel, the
       
  3313 channel code would get stuck spinning on a timer that would starve
       
  3314 idle handlers.  This mostly happened in Tk when reading from stdin. (SS)
       
  3315 
       
  3316 9/4/97 (bug fix) Slave interps now inherit the maximum recursion limit
       
  3317 of their parent instead of starting back at the default. {nb: this still
       
  3318 does not prevent stack overflow by multi-interps recursion or aliasing} (DL)
       
  3319 
       
  3320 9/11/97 (bug fix) An uninitialized variable in Tcl_WaitPid caused
       
  3321 pipes to fail to report eof properly under Windows. (SS)
       
  3322 
       
  3323 9/12/97 (bug fix) "exec" was misidentifying some DOS executables as not 
       
  3324 executable. (CCS)
       
  3325 
       
  3326 9/14/97 (bug fix) Was using the wrong structure in sizeof operation in
       
  3327 tclUnixChan.c. (JL)
       
  3328 
       
  3329 9/15/97 (bug fix) Fixed notifier to break out of do-one-event loop if
       
  3330 Tcl_WaitForEvent returns 1, so that callers of Tcl_DoOneEvent will get
       
  3331 a chance to check whether the event just handled is significant. This
       
  3332 affected mainly recursive calls to Tcl_VWaitCmd; these did not get a
       
  3333 chance to notice that the variable they were waiting for has been set
       
  3334 and thus they didn't terminate the vwait. (JL, DL, SS)
       
  3335 
       
  3336 9/15/97 (bug fix) Alignment problems in "binary format" would cause a
       
  3337 crash on some platforms when formatting floating point numbers. (SS)
       
  3338 
       
  3339 9/15/97 (bug fix) Fixed bug in Macintosh socket code.  Now passes all
       
  3340 tests in socket.test that are not platform specific. (Thanks to Mark
       
  3341 Roseman for the pointer on the fix.)  (RJ)
       
  3342 
       
  3343 9/18/97 (bug fix) Fixed bug -dictionary option of lsort that could
       
  3344 cause the compare function to run off the end of an array if the
       
  3345 number only contained 0's. (Thanks to Greg Couch for the report.) (RJ)
       
  3346 
       
  3347 9/18/97 (bug fix) TclFinalizeEnvironment was not cleaning up 
       
  3348 properly. (DL, JI)
       
  3349 
       
  3350 9/18/97 (bug fix) Fixed long-standing bug where an "array get" command
       
  3351 did not trigger traces on the array or its elements. (BL)
       
  3352 
       
  3353 9/18/97 (bug fixes) Fixed compilation-related bugs:
       
  3354     - Fixed errorInfo traceback information for toplevel coomands that
       
  3355       contain nested commands.
       
  3356     - In the expr command, && and || now accept boolean operands as well
       
  3357       as numeric ones. (BL)
       
  3358 
       
  3359 9/22/97 (bug fix) Fixed bug that prevented translation modes from being
       
  3360 set independently for input and output on sockets if input was "auto". (JL)
       
  3361 
       
  3362 9/24/97 (bug fix) Tcl_EvalFile(3) and thus source(n) now works fine on
       
  3363 files containing NUL chars. (DL)
       
  3364 
       
  3365 9/26/97 (bug fix) Fixed use of uninitialized memory in the environ array
       
  3366 that later could cause random core dumps. Applies to all platforms. (JL)
       
  3367 
       
  3368 9/26/97 (bug fix) Fixed use of uninitialized memory in socket address data
       
  3369 structure under some circumstances. This could cause random core dumps.
       
  3370 This applies only to Unix. (JL)
       
  3371 
       
  3372 9/26/97 (bug fix) Opening files on PC-NFS volumes would cause a hang
       
  3373 until the system timed after the file was closed. (SS)
       
  3374 
       
  3375 10/6/97 (bug fix) The join(n) command, though objectified, was loosing
       
  3376 NULs in the joinString and in list elements after the 2nd one.
       
  3377 Now you can "join $list \0" for instance. (DL)
       
  3378 
       
  3379 10/9/97 (bug fix) Under windows, if env(TMP) or env(TEMP) referred to a
       
  3380 non-existent directory, exec would fail when trying to create its temporary
       
  3381 files. (CCS)
       
  3382 
       
  3383 10/9/97 (bug fix) Under mac and windows, "info hostname" would crash if 
       
  3384 sockets were installed but the hostname could not be determined anyhow.
       
  3385 Tcl_GetHostName() was returning NULL when it should have been returning 
       
  3386 an empty string. (CCS)
       
  3387 
       
  3388 10/10/97 (bug fix) "file attribute /" returned error on windows. (CCS)
       
  3389 
       
  3390 10/10/97 (bug fix) Fixed the auto_load procedure to handle procedures
       
  3391 defined in namespaces better.  Also fixed pgk_mkIndex so it sees procedures
       
  3392 defined in nested namespaces.  Index entries are still only made for
       
  3393 exported procedures. (BW)
       
  3394 
       
  3395 10/13/97 (bug fix) On unix, for files with unknown group or owner
       
  3396 attributes, querying the "file attributes" would return an error rather than
       
  3397 returning the group's or owner's id number, although tha command accepts
       
  3398 numbers when setting the file's group or owner.  (CCS)
       
  3399 
       
  3400 10/22/97 (bug fix) "fcopy" did not eval the callback script at the
       
  3401 global scope. (SS)
       
  3402 
       
  3403 10/22/97 (bug fix) Fixed the signature of the CopyDone callback used in
       
  3404 the http package(s) so they can handle error cases properly. (BW)
       
  3405 
       
  3406 10/28/97 (bug fixes) Fixed a problem where lappend would free the Tcl object
       
  3407 in a variable if a Tcl_ObjSetVar2 failed because of an error calling a trace
       
  3408 on the variable. (BL)
       
  3409 
       
  3410 10/28/97 (bug fix) Changed binary scan to properly handle sign
       
  3411 extension of integers on 64-bit or larger machines. (SS)
       
  3412 
       
  3413 11/3/97 (bug fixes) Fixed several bugs:
       
  3414     - expressions such as "expr ($x)" must be compiled out-of-line
       
  3415       (call the expr command procedure at runtime) to ensure the correct
       
  3416       behavior when "$x" is an expression such as "5+10".
       
  3417     - "array set a {}" now creates a new array var with an empty array
       
  3418       value if the var didn't already exist.
       
  3419     - "lreplace $foo end end" no longer returns an error (just an empty
       
  3420       list) if foo is empty.
       
  3421     - upvar will no longer create a variable in a namespace that refers
       
  3422       to a variable in a procedure.
       
  3423     - deleting a command trace within a command trace callback would
       
  3424       make the code that calls traces to reference freed memory.
       
  3425     - significantly sped up "string first" and "string last" (fix from
       
  3426       darrel@gemstone.com).
       
  3427     - seg fault in Tcl_NewStringObj() when a NULL is passed as the byte
       
  3428       pointer argument and Tcl is compiled with -DTCL_MEM_DEBUG.
       
  3429     - documentation and error msg fixes. (BL)
       
  3430 
       
  3431 11/3/97 (bug fix) Fixed a number of I/O bugs related to word sizes on
       
  3432 64-bit machines. (SS)
       
  3433 
       
  3434 11/6/97 (bug fix) The exit code of the first process created by Tcl
       
  3435 on Windows was not properly reported due to an initialization
       
  3436 problem. (SS)
       
  3437 
       
  3438 ----------------- Released 8.0p1, 11/7/97 -----------------------
       
  3439 
       
  3440 11/19/97 (bug fix) Fixed bug in linsert where it sometimes accidently
       
  3441 cleared out a shared argument list object. (BL).
       
  3442 
       
  3443 11/19/97 (bug fix) Autoloading in namespaces was not working properly.
       
  3444 auto_mkindex is still not really namespace aware but most common
       
  3445 cases should now be handled properly (see init.test). (BW, DL)
       
  3446 
       
  3447 11/20/97 (enhancement) Made the changes required by the new Apple
       
  3448 Universal Headers V.3.0, so that Tcl will compile with CW Pro 2.
       
  3449 
       
  3450 11/24/97 (bug fix) Fixed tests in clock test suite that needed the
       
  3451 -gmt flag set.  Thanks to Jan Nijtmans for reporting the problem. (RJ)
       
  3452 
       
  3453 ----------------- Released 8.0p2, 11/25/97 -----------------------
       
  3454 
       
  3455 12/3/97 (bug fix/optimization) Removed uneeded and potentially dangerous
       
  3456 instances of double evaluations if "if" and "expr" statements from
       
  3457 the library files. It is recommended that unless you need a double
       
  3458 evaluation you always use "expr {...}" instead of "expr ..." and
       
  3459 "if {...} ..." instead of "if ... ...". It will also be faster
       
  3460 thanks to the byte compiler. (DL)
       
  3461 
       
  3462 ---- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ----
       
  3463 
       
  3464 12/8/97 (bug fix) Need to protect the newly accepted channel in an
       
  3465 accept callback on a socket, otherwise the callback may close it and
       
  3466 cause an error, which would cause the C code to attempt to close the
       
  3467 now deleted channel. Bumping the refcount assures that the channel sticks
       
  3468 around to be really closed in this case. (JL)
       
  3469 
       
  3470 12/8/97 (bug fix) Need to protect the channel in a fileevent so that it
       
  3471 is not deleted before the fileevent handler returns. (CS, JL)
       
  3472 
       
  3473 12/18/97 (bug fix) In the opt argument parsing package: if the description 
       
  3474 had only flags, the "too many arguments" case was not detected. The default
       
  3475 value was not used for the special "args" ending argument. (DL)
       
  3476 
       
  3477 1/15/98 (improvement) Moved common part of initScript in common file.
       
  3478 Moved windows specific initialization to init.tcl so you can initialize
       
  3479 Tcl in windows without having to call Tcl_Init which is now only
       
  3480 searching for init.tcl {back ported from 8.1}. (DL)
       
  3481 
       
  3482 ---- Shipped as part of the plugin as 8.0p2Plugin2, Jan 15th 98 ----
       
  3483 
       
  3484 5/27/98 (bug fix) Windows socket driver did not notice new data arriving
       
  3485 on nonblocking sockets until the event loop was entered. (SS)
       
  3486 
       
  3487 5/27/98 (bug fix) Windows socket driver used FIONREAD, which is not
       
  3488 supported correctly by WinSock. (SS)
       
  3489 
       
  3490 6/9/98 (bug fix) Generic channel code failed to report readable file
       
  3491 events on buffered data that was left behind by a gets or read that
       
  3492 did not consume all available data. (SS)
       
  3493 
       
  3494 6/18/98 (bug fix) Compilation of loop expressions was too aggressive
       
  3495 and incorrectly inlined non-literal expressions. (SS)
       
  3496 
       
  3497 6/18/98 (bug fix) "info var" and "info locals" incorrectly reported
       
  3498 the existence of compiler temporary variables. (SS)
       
  3499 
       
  3500 6/18/98 (bug fix) Dictionary sorting used signed character
       
  3501 comparisons. (SS)
       
  3502 
       
  3503 6/18/98 (bug fix) Compile procs corrupted the exception stack in some
       
  3504 cases. (SS)
       
  3505 
       
  3506 6/18/98 (bug fix) Array set had erratic behavior when initializing a
       
  3507 variable from an empty value list. (SS)
       
  3508 
       
  3509 6/18/98 (bug fix) The Windows registry package had a bad bounds check
       
  3510 that could lead to a crash. (SS)
       
  3511 
       
  3512 6/18/98 (bug fix) The foreach compile proc did not correctly handle
       
  3513 non-local variable references. (SS)
       
  3514 
       
  3515 6/25/98 (new features) Added name resolution hooks to support [incr Tcl].
       
  3516 There are new internal Tcl_*Resolver* APIs to add, query and remove the hooks. 
       
  3517 With this changes it should be possible to dynamically load [incr Tcl]
       
  3518 as an extension. (MM)
       
  3519 
       
  3520 7/1/97 (bug fix) The commands "info args, body, default, procs" did
       
  3521 not correctly handle imported procedures. (RJ)
       
  3522 
       
  3523 7/6/98 (improvement) pkg_mkIndex now implements the "package require"
       
  3524 command.  This makes it possible to create index files for packages
       
  3525 that require another package and then execute code from that package in
       
  3526 their file. Previously, this would throw an error because the required
       
  3527 package had not been loaded.  The -nopkgrequied flag is provided to
       
  3528 revert back to the old functionality. (EMS)
       
  3529 
       
  3530 7/6/98 (improvement) back-ported the -direct flag from 8.1 into
       
  3531 pkg_mkIndex.  This results in pkgIndex.tcl files that contain direct
       
  3532 source or load commands instead of tclPkgSetup commands. (EMS)
       
  3533 
       
  3534 7/6/98 (improvement) made changes to the AuxData items structures to support
       
  3535 storage of compiled scripts on disk. Also some related minor changes in
       
  3536 the compilation and execution engine. (EMS)
       
  3537 
       
  3538 6/4/98 (enhancement) Added new internal routines to support inserting
       
  3539 and deleting from the stat, access, and open-file-channel mechanisms.
       
  3540 TclAccessInsertProc, TclStatInsertProc, & TclOpenFileChannelInsertProc
       
  3541 insert pointers to such routines; TclAccessDeleteProc, TclStatDeleteProc,
       
  3542 & TclOpenFileChannelDeleteProc delete pointers to such routines.  See
       
  3543 the file generic/tclIOUtils.c for more details. (SKS)
       
  3544  
       
  3545 7/1/98 (enhancement) Added a new internal C variable
       
  3546 tclPreInitScript.  This is a pointer to a string that may hold an
       
  3547 initialization script; If this pointer is non-NULL it is evaluated in
       
  3548 Tcl_Init() prior to the built-in initialization script defined in the
       
  3549 file generic/tclInitScript.h.  (SKS)
       
  3550 
       
  3551 7/6/98 (bug fix) Removed dead code in PlatformInitExitHandler so that
       
  3552 the TCL_LIBRARY value can be safely patched in binaries. (BW)
       
  3553 
       
  3554 7/24/98 (enhancement) Incorporated a new version of auto_mkindex that
       
  3555 can support the [incr Tcl] class structures.  This version will index
       
  3556 all procedures in a source file, not just those where "proc" starts
       
  3557 at the beginning of the line.  If you want the old behavior, use the
       
  3558 auto_mkindex_old procedure. (MM)
       
  3559 
       
  3560 7/24/98 (feature change) Changed the Windows registry key to be
       
  3561 HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, and to store the path
       
  3562 in the default value instead of "Root".  Also, this key can be
       
  3563 specified at compile time in case Tcl is being used in a different
       
  3564 context where it needs an alternate library path from the standard Tcl
       
  3565 installation. (SS)
       
  3566 
       
  3567 7/24/98 (feature change) Changed the search order for init.tcl.  The
       
  3568 tcl_library variable can now be set before calling Tcl_Init to avoid
       
  3569 doing any searches.  If it isn't set, then Tcl checks
       
  3570 env(TCL_LIBRARY), the static value set at compile time, an install
       
  3571 directory relative to the executable, a source directory relative to
       
  3572 the executable, and a tcl directory relative to the source heirarchy
       
  3573 containing the executable.  See the comment at the top of
       
  3574 generic/tclInitScript.h for more details. (SS)
       
  3575 
       
  3576 7/27/98 (config change) Changed the use of the DBGX flag in configure.in
       
  3577 and the makefile to be TCL_DBGX.  Users of tclConfig.sh may need to pass
       
  3578 this through their configure files with AC_SUBST. (BW)
       
  3579 
       
  3580 729/98 (bug fix) Changed [info body] to return a copy of the body of a
       
  3581 compiled procedure instead of the body itself, to avoid invalidation
       
  3582 of the internal rep and loss of the byte-codes. (EMS)
       
  3583 
       
  3584 8/5/98 (bug fix) The platform init code could walk off the end of a
       
  3585 buffer when reading the PkgPath registry value on Windows. (SS)
       
  3586 
       
  3587 8/5/98 (Windows makefile change) Introduced a set of macros to deal with
       
  3588 exporting symbols when compiling DLLS on Windows. See win/README for
       
  3589 details. (EMS)
       
  3590 
       
  3591 8/5/98 (addendum) Added a second Windows registry key under
       
  3592 HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, named "pkgPath".
       
  3593 This is a multi-string value used to initialize the tcl_pkgPath
       
  3594 variable. This is required if extension DLLs are in architecture specific
       
  3595 subdirectories. (SS)
       
  3596 
       
  3597 8/6/98 (new feature) Added tcl_findLibrary to init.tcl for use by
       
  3598 extensions, including Tk.  This searches in a canonical way for
       
  3599 an extensions library directory and initialization file. (BW)
       
  3600 
       
  3601 8/10/98 (bug fix) Imported commands used to get lost if the target
       
  3602 of the import was redefined.  Tcl_CreateCommand and Tcl_CreateObjCommand
       
  3603 were updated to restore import links. (Note that if you rename a command,
       
  3604 the import links move to the new name, and if you delete a command then
       
  3605 the import links get lost. These semantics have not changed.) (MC)
       
  3606 
       
  3607 -------- Released 8.0.3 to the Tcl Consortium CD-ROM project, 8/10/98 ------
       
  3608 
       
  3609 9/3/98 (bug fix) Tcl_Realloc was failing under Windows because the
       
  3610 GlobalReAlloc API was not correctly re-allocating blocks that were
       
  3611 32k+.  The fix was to use newer Win32 APIs (HeapAlloc, HeapFree, and
       
  3612 HeapReAlloc.) (BS)
       
  3613 
       
  3614 10/5/98 (bug fix) Fixed bug in pkg_mkIndex that caused some files that do
       
  3615 a "package require" of packages in the Tcl libraries to give a warning like
       
  3616 	warning: "xx.tcl" provides more than one package ({xx 2.0} {yy 0.3})
       
  3617 and generate a broken pkgIndex.tcl file. (EMS)
       
  3618 
       
  3619 10/5/98 (bug fix) Pkg_mkIndex was not doing a case-insensitive comparison
       
  3620 of extensions to determine whether to load or source a file. Thus, under
       
  3621 Windows, MYDLLNAME.DLL was sourced, and mydllname.dll loaded. (EMS)
       
  3622 
       
  3623 10/5/98 (new feature) Created a new Tcl_Obj type, "procbody". This object's
       
  3624 internal representation holds a pointer to a Proc structure. Extended
       
  3625 TclCreateProc to take both strings and "procbody". (EMS)
       
  3626 
       
  3627 10/13/98 (bug fix) The "info complete" command can now handle strings
       
  3628 with NULLs embedded.  Thanks to colin@field.medicine.adelaide.edu.au 
       
  3629 for providing this fix. (RJ)
       
  3630 
       
  3631 10/13/98 (bug fix) The "lsort -dictionary" command did not properly
       
  3632 handle some numbers starting with 0.  Thanks to Richard Hipp
       
  3633 <drh@acm.org> for submitting the fix to Scriptics. (RJ)
       
  3634 
       
  3635 10/13/98 (bug fix) The function Tcl_SetListObj was creating an invalid
       
  3636 Tcl_Obj if the list had zero elements (despite what the comments said
       
  3637 it would do).  Thanks to Sebastian Wangnick for reporting the
       
  3638 problem. (RJ)
       
  3639 
       
  3640 10/20/98 (new feature) Added tcl_platform(debug) element to the
       
  3641 tcl_platform array on Windows platform.  The existence of the debug
       
  3642 element of the tcl_platform array indicates that the particular Tcl
       
  3643 shell has been compiled with debug information.  Using
       
  3644 "info exists tcl_platform(debug)" a Tcl script can direct the
       
  3645 interpreter to load debug versions of DLLs with the load
       
  3646 command. (SKS)
       
  3647 
       
  3648 10/20/98 (feature change) The Makefile and configure scripts have been
       
  3649 changed for IRIX to build n32 binaries instead of the old 32 abi
       
  3650 format.  If you have extensions built with the o32 abi's you will need
       
  3651 to update them to n32 for them to work with Tcl.  (RJ)
       
  3652 *** POTENTIAL INCOMPATIBILITY ***
       
  3653 
       
  3654 10/23/98 (bug fix) tcl_findLibrary had a stray ] in one of the
       
  3655 pathnames it searched for the initialization script.  tclInitScript.h
       
  3656 was incorrectly adding the parent of tcl_library to tcl_pkgPath.  This
       
  3657 logic was moved into init.tcl, and the initialization of auto_path was
       
  3658 documented.  Thanks to Donald Porter and Tom Silva for related
       
  3659 patches. (BW)
       
  3660 
       
  3661 10/29/98 (bug fix) Fixed Tcl_NotifyChannel to use Tcl_Preserve instead
       
  3662 of Tcl_RegisterChannel so that 1) unregistered channels do not get
       
  3663 closed after their first fileevent, and 2) errors that occur during
       
  3664 close in a fileevent script are actually reflected by the close
       
  3665 command. (BW)
       
  3666 
       
  3667 10/30/98 (bug fix) Overhaul of pkg_mkIndex to deal with transitive
       
  3668 package requires and packages split among scripts and binary files.
       
  3669 Also fixed ommision of global for errorInfo in tcl_findLibrary. (BW)
       
  3670 
       
  3671 11/08/98 (bug fix) Fixed the resource command to always detect
       
  3672 the case where a file is opened a second time with the same
       
  3673 permissions.  IM claims that this will always cause the same
       
  3674 FileRef to be returned, but in MacOS 8.1+, this is no longer the case,
       
  3675 so we have to test for this explicitly. (JI)
       
  3676 
       
  3677 11/10/98 (feature change) When compiling with Metrowerk's MSL, use the
       
  3678 exit function from MSL rather than ExitToShell.  This allows MSL to
       
  3679 clean up its temporary files. Thanks to Vince Darley for this
       
  3680 improvement. (JI)
       
  3681 
       
  3682 ----------------- Released 8.0.4, 11/19/98 -------------------------
       
  3683 
       
  3684 11/20/98 (bug fix) Handle possible NULL return in TclGetStdFiles. (RJ)
       
  3685 
       
  3686 11/20/98 (bug fix) The dltests would not build on SGI.  They reported
       
  3687 that you could not mix n32 with 032 binaries.  The configure script
       
  3688 has been modified to get the EXTRA_CFLAGS from the tcl configure
       
  3689 script.  [Bug id: 840] (RJ)
       
  3690 
       
  3691 12/3/98 (bug fix) Windows NT creates sockets so they are inheritable
       
  3692 by default.  Fixed socket code so it turns off this bit right after
       
  3693 creation so sockets aren't kept open by exec'ed processes. [Bug: 892]
       
  3694 Thanks to Kevin Kenny for this fix.  (SS)
       
  3695 
       
  3696 1/11/98 (bug fix)  On HP, "info sharedlibextension" was returning 
       
  3697 empty string on static apps.  It now always returns ".sl".  (RJ)
       
  3698 
       
  3699 1/28/99 (configure change) Now support -pipe option on gcc.  (RJ)
       
  3700 
       
  3701 2/2/99 (bug fix) Fixed initialization problem on Windows where no
       
  3702 searching for init.tcl would be performed if the registry keys were
       
  3703 missing.  (stanton)
       
  3704 
       
  3705 2/2/99 (bug fix) Added support for HKEY_PERFORMANCE_DATA and
       
  3706 HKEY_DYN_DATA keys in the "registry" command. (stanton)
       
  3707 
       
  3708 2/2/99 (bug fix) ENOTSUP and EOPNOTSUPP clashed on some Linux
       
  3709 variants. (stanton)
       
  3710 
       
  3711 2/2/99 (enhancement) The "open" command has been changed to use the
       
  3712 object interfaces. (stanton)
       
  3713 
       
  3714 2/2/99 (bug fix) In some cases Tcl would crash due to an overflow of
       
  3715 the exception stack resulting from a missing byte code in some
       
  3716 expressions. (stanton)
       
  3717 
       
  3718 2/2/99 (bug fix) Changed configure so Linux and IRIX shared libraries
       
  3719 are linked with the system libraries. (stanton)
       
  3720 
       
  3721 2/2/99 (bug fix) Added support for BSDI 4.x (BSD/OS-4*) to the
       
  3722 configure script. (stanton)
       
  3723 
       
  3724 2/2/99 (bug fix) Fixed bug where upvar could resurrect a namespace
       
  3725 variable after the namespace had been deleted. (stanton)
       
  3726 
       
  3727 2/2/99 (bug fix) In some cases when creating variables, the
       
  3728 interpreter result was being modified even if the TCL_LEAVE_ERR_MSG
       
  3729 flag was set. (stanton)
       
  3730 
       
  3731 2/2/99 (bug fix & new feature) Changed the socket drivers to properly
       
  3732 handle failures during an async socket connection.  Added a new
       
  3733 fconfigure option "-error" to retrieve the failure message.  See the
       
  3734 socket.n manual entry for details. (stanton)
       
  3735 
       
  3736 2/2/99 (bug fix) Deleting a renamed interp alias could result in a
       
  3737 panic. (stanton)
       
  3738 
       
  3739 2/2/99 (feature change/bug fix) Changed the behavior of "file
       
  3740 extension" so that it splits at the last period.  Now the extension of
       
  3741 a file like "foo..o" is ".o" instead of "..o" as in previous versions. 
       
  3742 *** POTENTIAL INCOMPATIBILITY ***
       
  3743 
       
  3744 ----------------- Released 8.0.5, 3/9/99 -------------------------
       
  3745 
       
  3746 ======== Changes for 8.0 go above this line ========
       
  3747 ======== Changes for 8.1 go below this line ========
       
  3748 
       
  3749 6/18/97 (new feature) Tcl now supports international character sets:
       
  3750     - All C APIs now accept UTF-8 strings instead of iso8859-1 strings,
       
  3751       wherever you see "char *", unless explicitly noted otherwise.
       
  3752     - All Tcl strings represented in UTF-8, which is a convenient
       
  3753       multi-byte encoding of Unicode.  Variable names, procedure names,
       
  3754       and all other values in Tcl may include arbitrary Unicode characters.
       
  3755       For example, the Tcl command "string length" returns how many
       
  3756       Unicode characters are in the argument string.
       
  3757     - For Java compatibility, embedded null bytes in C strings are
       
  3758       represented as \xC080 in UTF-8 strings, but the null byte at the end
       
  3759       of a UTF-8 string remains \0.  Thus Tcl strings once again do not
       
  3760       contain null bytes, except for termination bytes.
       
  3761     - For Java compatibility, "\uXXXX" is used in Tcl to enter a Unicode
       
  3762       character.  "\u0000" through "\uffff" are acceptable Unicode 
       
  3763       characters.  
       
  3764     - "\xXX" is used to enter a small Unicode character (between 0 and 255)
       
  3765       in Tcl.
       
  3766     - Tcl automatically translates between UTF-8 and the normal encoding for
       
  3767       the platform during interactions with the system.
       
  3768     - The fconfigure command now supports a -encoding option for specifying
       
  3769       the encoding of an open file or socket.  Tcl will automatically
       
  3770       translate between the specified encoding and UTF-8 during I/O. 
       
  3771       See the directory library/encoding to find out what encodings are
       
  3772       supported (eventually there will be an "encoding" command that
       
  3773       makes this information more accessible).
       
  3774     - There are several new C APIs that support UTF-8 and various encodings.
       
  3775       See Utf.3 for procedures that translate between Unicode and UTF-8
       
  3776       and manipulate UTF-8 strings. See Encoding.3 for procedures that
       
  3777       create new encodings and translate between encodings.  See
       
  3778       ToUpper.3 for procedures that perform case conversions on UTF-8
       
  3779       strings.
       
  3780 
       
  3781 9/18/97 (enhancement) Literal objects are now shared by the ByteCode
       
  3782 structures created when compiled different scripts. This saves up to 45%
       
  3783 of the total memory needed for all literals. (BL)
       
  3784 
       
  3785 9/24/97 (bug fixes) Fixed Tcl_ParseCommand parsing of backslash-newline
       
  3786 sequences at start of command words. Suppressed Tcl_EvalDirect error logging
       
  3787 if non-TCL_OK result wasn't an error. (BL)
       
  3788 
       
  3789 10/17/97 (feature enhancement) "~username" now refers to the users' home
       
  3790 directory on Windows (previously always returned failure). (CCS)
       
  3791 
       
  3792 10/20/97 (implementation change) The Tcl parser has been completely rewritten
       
  3793 to make it more modular.  It can now be used to parse a script without actually
       
  3794 executing it.  The APIs for the new parser are not correctly exported, but
       
  3795 they will eventually be exported and augmented with Tcl commands so that
       
  3796 Tcl scripts can parse other Tcl scripts. (JO)
       
  3797 
       
  3798 10/21/97 (API change) Added "flags" argument to Tcl_EvalObj, removed
       
  3799 Tcl_GlobalEvalObj procedure.  Added new procedures Tcl_Eval2 and
       
  3800 Tcl_EvalObjv. (JO)
       
  3801 *** POTENTIAL INCOMPATIBILITY ***
       
  3802 
       
  3803 10/22/97 (API change) Renamed Tcl_ObjSetVar2 and Tcl_ObjGetVar2 to
       
  3804 Tcl_SetObjVar2 and Tcl_GetObjVar2 (for consistency with other C APIs)
       
  3805 and changed the name arguments to be strings instead of objects.  (JO)
       
  3806 *** POTENTIAL INCOMPATIBILITY ***
       
  3807 
       
  3808 10/27/97 (enhancement) Bytecode compiler rewritten to use the new Tcl
       
  3809 parser. (BL)
       
  3810 
       
  3811 11/3/97 (New routines) Added Tcl_AppendObjToObj, which appends the
       
  3812 string rep of one Tcl_Obj to another. Added Tcl_GetIndexFromObjStruct,
       
  3813 which is similar to Tcl_GetIndexFromObj, except that you can give an
       
  3814 offset between strings. This allows Tcl_GetIndexFromObjStruct to be
       
  3815 called with a table of records which have strings in them. (SRP)
       
  3816 
       
  3817 12/4/97 (enhancement) New Tcl expression parser added. Added new procedure
       
  3818 Tcl_ParseExpr and new token types TCL_TOKEN_SUB_EXPR and
       
  3819 TCL_TOKEN_OPERATOR. Expression compiler is reimplemented to use this
       
  3820 parser. (BL)
       
  3821 
       
  3822 12/9/97 (bug fix) Tcl_EvalObj() increments/decrements the refcount of the
       
  3823 script object to prevent the object from deleting itself while in the
       
  3824 middle of being evaluated. (CCS)
       
  3825 
       
  3826 12/9/97 (bug fix) Memory leak in Tcl_GetsObjCmd(). (CCS)
       
  3827 
       
  3828 12/11/97 (bug fix) Environment array leaked memory when compiled with
       
  3829 Visual C++. (SS)
       
  3830 
       
  3831 12/11/97 (bug fix) File events and non-blocking I/O did not work on
       
  3832 pipes under Windows.  Changed to use threads to achieve non-blocking
       
  3833 behavior. (SS)
       
  3834 
       
  3835 12/18/97 (bug fixes) Fixed segfault in "namespace import"; importing a
       
  3836 procedure that causes a cycle now returns an error. Modified "info procs",
       
  3837 "info args", "info body", and "info default" to return information about
       
  3838 imported procedures as well as procedures defined in a namespace. (BL)
       
  3839 
       
  3840 12/19/97 (enhancement) Added new Tcl_GetString() procedure that can be used
       
  3841 in place of Tcl_GetStringFromObj() if the string representation's length
       
  3842 isn't needed. (BL)
       
  3843 
       
  3844 12/18/97 (bug fix) In the opt argument parsing package: if the description 
       
  3845 had only flags, the "too many arguments" case was not detected. The default
       
  3846 value was not used for the special "args" ending argument. (DL)
       
  3847 
       
  3848 1/7/98 (clean up) Moved everything not absolutly necessary out of init.tcl
       
  3849 procs now in auto.tcl and package.tcl can be autoloaded if needed. (DL)
       
  3850 
       
  3851 1/7/98 (enhancement) tcltest made at install time will search for it's
       
  3852 init.tcl where it is, even when using virtual path compilation. (DL)
       
  3853 
       
  3854 1/8/98 (os bug workaround) when needed, using a replacement for memcmp so 
       
  3855 string compare "char with high bit set" "char w/o high bit set" returns
       
  3856 the expected value on all platforms. (DL)
       
  3857 
       
  3858 1/8/98 (unix portability/configure) building from .../unix/targetName/ 
       
  3859 subdirectories and simply using "../configure" should now work fine. (DL)
       
  3860 
       
  3861 1/14/98 (enhancement) Added new regular expression package that
       
  3862 supports AREs, EREs, and BREs.  The new package includes new escape
       
  3863 characters, meta-syntax, and character classes inside brackets.
       
  3864 Regexps involving backslashes may behave differently.  (MH)
       
  3865 *** POTENTIAL INCOMPATIBILITY ***
       
  3866 
       
  3867 1/16/98 (os workaround) Under windows, "file volume" was causing chatter
       
  3868 and/or several seconds of hanging when querying empty floppy drives.
       
  3869 Changed implementation to call an empirically-derived function that doesn't
       
  3870 cause this. (CCS)
       
  3871 
       
  3872 1/16/98 (enhancement) Converted regular expressions to a Tcl_Obj type so
       
  3873 their compiled form gets cached automatically.  Reduced NSUBEXP from 100
       
  3874 to 20. (BW)
       
  3875 
       
  3876 1/16/98 (documentation) Change unclear documentation and comments for
       
  3877 functions like Tcl_TranslateFileName() and Tcl_ExternalToUtfDString().  Now
       
  3878 it explicitly says they take an uninitialized or free DString.  A DString
       
  3879 that is "empty" or "not holding anything" could have been interpreted as one
       
  3880 currently with a zero length, but with a large dynamically allocated buffer.
       
  3881 (CCS)
       
  3882 
       
  3883 ----------------- Released 8.1a1, 1/22/98 -----------------------
       
  3884 
       
  3885 1/28/98 (new feature) Added a "-direct" optional flag to pkg_mkIndex
       
  3886 to generate direct loading package indexes (such those you need
       
  3887 if you use namespaces and plan on using namespace import just after
       
  3888 package require). pkg_mkIndex still has limitations regarding
       
  3889 package dependencies but errors are now ignored and with -direct, correct
       
  3890 package indexes can be generated even if there are dependencies as long 
       
  3891 as the "package provide" are done early enough in the files. (DL)
       
  3892 
       
  3893 1/28/98 (enhancement) Performance tuning of regexp and regsub. (CCS)
       
  3894 
       
  3895 1/28/98 (bug fix) regexp and regsub with "-indices" returned the byte-offsets
       
  3896 of the characters in the UTF-8 representation, not the character offsets
       
  3897 themselves. (CCS)
       
  3898 
       
  3899 1/28/98 (bug fix) "clock format 0 -format %Z -gmt 1" would return the local
       
  3900 timezone string instead of "GMT" on Solaris and Windows.
       
  3901 
       
  3902 1/28/98 (bug fix) Restore tty settings when closing serial device on Unix.
       
  3903 This is good behavior when closing real serial devices, essential when
       
  3904 closing the pseudo-device /dev/tty because the user's terminal settings
       
  3905 would be left useless, in raw mode, when tcl quit. (CCS)
       
  3906 
       
  3907 1/28/98 (bug fix) Tcl_OpenCommandChannel() was modifying the contents of the
       
  3908 argv array passed to it, causing problems for any caller that wanted to
       
  3909 continue to use the argv array after calling Tcl_OpenCommandChannel(). (CCS)
       
  3910 
       
  3911 2/1/98 (bug fix) More bugs with %Z in format string argument to strftime():
       
  3912 1. Borland always returned empty string.
       
  3913 2. MSVC always returned the timezone string for the current time, not the
       
  3914    timezone string for the specified time.  
       
  3915 3. With MSVC, "clock format 0 -format %Z -gmt 1" would return "GMT" the first
       
  3916    time it was called, but would return the current timezone string on all
       
  3917    subsequent calls. (CCS)
       
  3918 
       
  3919 2/1/98 (bug fix) "file stat" was broken on Windows.
       
  3920 1. "file stat" of a root directory (local or network) or a relative path that
       
  3921    resolved to a root directory (c:. when in pwd was c:/) was returning error.
       
  3922 2. "file stat" on a regular file (S_IFREG), the st_mode was sign extended to
       
  3923    a negative int if the platform-dependant type "mode_t" was declared as a
       
  3924    short instead of an unsigned short.
       
  3925 3. "file stat" of a network directory, the st_dev was incorrectly reported
       
  3926    as the id of the last accessed local drive rather than the id of the
       
  3927    network drive. (CCS)
       
  3928 
       
  3929 2/1/98 (bug fix) "file attributes" of a relative path that resolved to a
       
  3930 root directory was returning error. (CCS)
       
  3931 
       
  3932 2/1/98 (bug fix) Change error message when "file attribute" could not
       
  3933 determine the attributes for a file.  Previously it would return different
       
  3934 error messages on Unix vs.  Windows vs. Mac. (CCS)
       
  3935 
       
  3936 2/4/98 (bug fixes) Fixed several instances of bugs where the parser/compiler 
       
  3937 would reach outside the range of allocated memory. Improved the array
       
  3938 lookup algorithm in set compilation. (DL)
       
  3939 
       
  3940 2/5/98 (change) The TCL_PARSE_PART1 flag for Set/Get(Obj)Var2 C APIs is now
       
  3941 deprecated and ignored. The part1 is always parsed when the part2 argument
       
  3942 is NULL. This is to avoid a pattern of errors for extension writers converting
       
  3943 from string based Tcl_SetVar() to new Tcl_SetObjVar2() and who could easily
       
  3944 forget to provide the flag and thus get code working for normal variables 
       
  3945 but not for array elements. The performance hit is minimal. A side effect
       
  3946 of that change is that is is no longer possible to create scalar variables
       
  3947 that can't be accessed by tcl scripts because of their invalid name 
       
  3948 (ending with parenthesis). Likewise it is also parsed and checked to 
       
  3949 ensure that you don't create array elements of array whose name is a valid 
       
  3950 array element because they would not be accessible from scripts anyway. 
       
  3951 Note: There is still duplicate array elements parsing code. (DL)
       
  3952 *** POTENTIAL INCOMPATIBILITY ***
       
  3953 
       
  3954 2/11/98 (bug fix) Sharing objects between interps, such as by "interp
       
  3955 eval" or "send" could cause a crash later when dereferencing an interp
       
  3956 that had been deleted, given code such as:
       
  3957 	set a {set x y}
       
  3958 	interp create foo
       
  3959 	interp eval foo $a
       
  3960 	interp delete foo
       
  3961 	unset a
       
  3962 Interp "foo" was gone, but "a" had a internal rep consisting of bytecodes
       
  3963 containing a dangling pointer to "foo".  Unsetting "a" would attempt to
       
  3964 return resources back to "foo", causing a crash as random memory was
       
  3965 accessed.  The lesson is that that if an object's internal rep depends on
       
  3966 an interp (or any other data structure) it must preserve that data in
       
  3967 some fashion. (CCS)
       
  3968 
       
  3969 2/11/98 (enhancement) The "interp" command was returning inconsistent error
       
  3970 messages when the specified slave interp could not be found. (CCS)
       
  3971 
       
  3972 2/11/98 (bug fix) Result codes like TCL_BREAK and TCL_CONTINUE were not
       
  3973 propagating through the master/slave interp boundaries, such as "interp
       
  3974 eval" and "interp alias".  TCL_OK, TCL_ERROR, and non-standard codes like
       
  3975 teh integer 57 work.  There is still a question as to whether TCL_RETURN
       
  3976 can/should propagate. (CCS)
       
  3977 
       
  3978 2/11/98 (bug fix) TclCompileScript() was derefering memory 1 byte before
       
  3979 start of the string to compile, looking for ']'. (CCS,DL)
       
  3980 
       
  3981 2/11/98 (bug fix) Tcl_Eval2() was derefering memory 1 byte before start
       
  3982 of the string to eval, looking for ']'. (CCS,DL)
       
  3983 
       
  3984 2/11/98 (bug fix) Compiling "set a(b" was running off end of string. (CCS,DL)
       
  3985 
       
  3986 2/11/98 (bug fix) Windows initialization code was dereferencing
       
  3987 uninitialized memory if TCL_LIBRARY environment didn't exist. (CCS)
       
  3988 
       
  3989 2/11/98 (bug fix) Windows "registry" command was dereferencing
       
  3990 uninitialized memory when constructing the $errorCode for a failed
       
  3991 registry call. (CCS)
       
  3992 
       
  3993 2/11/98 (enhancement) Eliminate the TCL_USE_TIMEZONE_VAR definition from
       
  3994 configure.in, because it was the same information as the already existing
       
  3995 HAVE_TM_ZONE definition.  The lack of HAVE_TM_ZONE is used to work around a
       
  3996 Solaris and Windows bug where "clock format [clock sec] -format %Z -gmt 1" 
       
  3997 produces the local timezone string instead of "GMT". (CCS)
       
  3998 
       
  3999 2/11/98 (bug fix) Memleaks and dereferencing of uninitialized memory in
       
  4000 regexp if an error occurred while compiling a regular expression. (CCS).
       
  4001 
       
  4002 2/18/98 (new feature) Added mutexes and thread local storage in order
       
  4003 to make Tcl thread safe.  For testing purposes, there is a testthread
       
  4004 command that creates a new thread and an interpreter inside it.  See
       
  4005 thread.test for examples, but this script-level interface is not fixed.
       
  4006 Each thread has its own notifier instance to manage its own events,
       
  4007 and threads can post messages to each other's message queue.
       
  4008 This uses pthreads on UNIX, and native thread support on other platforms.
       
  4009 You enable this by configuring with --enable-threads.  Note that at
       
  4010 this time *Tk* is still not thread safe. Special thanks to
       
  4011 Richard Hipp: his earlier implementation inspired this work. (BW, SS, JI)
       
  4012 
       
  4013 2/18/98 (hidden feature change) The way the env() array is shared among
       
  4014 interpreters changed.  Updates to env used to trigger write traces in
       
  4015 other interpreters.  This undocumented feature is no longer implemented.
       
  4016 Instead, variable tracing is used to keep the C-level environ array in sync
       
  4017 with the Tcl-level env array. This required adding TCL_TRACE_ARRAY support
       
  4018 to Tcl_TraceVar2 so that array names works properly. (BW)
       
  4019 *** POTENTIAL INCOMPATIBILITY ***
       
  4020 
       
  4021 2/18/98 (enhancement) Conditional compilation for unix systems (e.g.,
       
  4022 IRIX, SCO) that use f_bsize instead of st_blksize to determine disk block
       
  4023 size. (CCS)
       
  4024 
       
  4025 2/23/98 (bug fix) Fixed the emulation of polling selects in the threaded
       
  4026 version of the Unix notifier.  The bug was showing up on a multiprocessor
       
  4027 as starvation of the notifier thread. (BW)
       
  4028 
       
  4029 ----------------- Released 8.1a2, Feb 23 1998 -----------------------
       
  4030 
       
  4031 9/22/98 (bug fix) Changed the value of TCL_TRACE_ARRAY so it no longer
       
  4032 conflicts with the deprecated TCL_PARSE_PART1 flag.  This should
       
  4033 improve portability of C code. (stanton)
       
  4034 
       
  4035 10/6/98 (bug fix) The compile procedure for "if" incorrectly attempted
       
  4036 to match against the literal string "if", resulting in a stack
       
  4037 overflow when "::if" was compiled.  It also would incorrectly accept
       
  4038 "if" instead of "elsif" in later clauses.  (stanton)
       
  4039 
       
  4040 10/15/98 (new feature) Added a "totitle" subcommand to the "string"
       
  4041 command to convert strings to capitalize the first character of a string
       
  4042 and lowercase all of the other characters. (stanton)
       
  4043 
       
  4044 10/15/98 (bug fix) Changed regexp and string commands to properly
       
  4045 handle case folding according to the Unicode character
       
  4046 tables. (stanton)
       
  4047 
       
  4048 10/21/98 (new feature) Added an "encoding" command to facilitate
       
  4049 translations of strings between different character encodings.  See
       
  4050 the encoding.n manual entry for more details. (stanton)
       
  4051 
       
  4052 11/3/98 (bug fix) The regular expression character classification
       
  4053 syntax now includes Unicode characters in the supported
       
  4054 classes. (stanton)
       
  4055 
       
  4056 11/6/98 (bug fix) Variable traces were causing crashes when upvar
       
  4057 variables went out of scope. [Bug: 796] (stanton)
       
  4058 
       
  4059 11/9/98 (bug fix) "format" now correctly handles multibyte characters
       
  4060 in %s format strings. (stanton)
       
  4061 
       
  4062 11/10/98 (new feature) "regexp" now accepts three new switches
       
  4063 ("-line", "-lineanchor", and "-linestop") that control how regular
       
  4064 expressions treat line breaks. See the regexp manual entry for more
       
  4065 details. (stanton)
       
  4066 
       
  4067 11/17/98 (bug fix) "scan" now correctly handles Unicode
       
  4068 characters. (stanton)
       
  4069 
       
  4070 11/17/98 (new feature) "scan" now supports XPG3 position specifiers
       
  4071 and the "%n" conversion character.  See the "scan" manual entry for
       
  4072 more details. (stanton)
       
  4073 
       
  4074 11/17/98 (bug fix) The Tcl memory allocator now returns 8-byte aligned
       
  4075 chunks of memory which improves performance on Windows and avoids
       
  4076 crashes on other platforms. [Bug: 834] (stanton)
       
  4077 
       
  4078 11/23/98 (bug fix) Applied various regular expression performance bug
       
  4079 fixes supplied by Henry Spencer. (stanton)
       
  4080 
       
  4081 11/30/98 (bug fix) Fixed various thread related race conditions. [Bug:
       
  4082 880 & 607] (stanton)
       
  4083 
       
  4084 11/30/98 (bug fix) Fixed a number of memory overflow and leak
       
  4085 bugs. [Bug: 584] (stanton)
       
  4086 
       
  4087 12/1/98 (new feaure) Added support for Korean encodings. (stanton)
       
  4088 
       
  4089 12/1/98 (feature change) Changed the Tcl_EvalObjv interface to remove
       
  4090 the string and length arguments.
       
  4091 *** POTENTIAL INCOMPATIBILITY with previous alpha releases ***
       
  4092 
       
  4093 12/2/98 (bug fix) Fixed various bugs related to line feed
       
  4094 translation. [Bug: 887] (stanton)
       
  4095 
       
  4096 12/4/98 (new feature) Added a message catalog facility to help with
       
  4097 localizing Tcl scripts.  Thanks to Mark Harrison for contributing the
       
  4098 initial implementation of the "msgcat" package. (stanton)
       
  4099 
       
  4100 12/7/98 (bug fix) The memory allocator was failing to update the
       
  4101 block list for large memory blocks that were reallocated into a
       
  4102 different address. [Bug: 933] (stanton)
       
  4103 
       
  4104 ----------------- Released 8.1b1, Dec 10 1998 -----------------------
       
  4105 
       
  4106 12/22/98 (performance improvement) Improved the -command option of the
       
  4107 lsort command to better use the object system for improved
       
  4108 performance (about 5x speed up).  Thanks to Syd Polk for suppling the
       
  4109 patch. [RFE: 726] (rjohnson)
       
  4110 
       
  4111 2/10/99 (bug fix) Restored the Tcl_ObjSetVar2/Tcl_ObjGetVar2
       
  4112 interfaces from 8.0 and renamed the Tcl_GetObjVar2/Tcl_SetObjVar2
       
  4113 interfaces to Tcl_GetVar2Ex and Tcl_SetVar2Ex.  This should provide
       
  4114 better compatibility with 8.0. (stanton)
       
  4115 *** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
       
  4116 
       
  4117 2/10/99 (bug fix) Made the eval interfaces compatible with 8.0 by
       
  4118 renaming Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to
       
  4119 Tcl_EvalEx and restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces
       
  4120 so they match Tcl 8.0. (stanton)
       
  4121 *** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
       
  4122 
       
  4123 2/25/99 (bug fix/new feature) On Windows, the channel drivers for
       
  4124 consoles and serial ports now completely support file events. (redman)
       
  4125 
       
  4126 3/5/99 (bug fix) Integrated patches to fix various configure problems
       
  4127 that affected HP-UX-11, 64-bit IRIX, Linux, and Solaris. (stanton)
       
  4128 
       
  4129 3/9/99 (bug fix) Integrated various AIX related patches to improve
       
  4130 support for shared libraries. (stanton)
       
  4131 
       
  4132 3/9/99 (new feature) Added tcl_platform(user) to provide a portable
       
  4133 way to get the name of the current user. (welch)
       
  4134 
       
  4135 3/9/99 (new feature) Integrated the stub library mechanism contributed
       
  4136 by Jan Nijtmans, Paul Duffin, and Jean-Claude Wippler.  This feature
       
  4137 should make it possible to write extensions that support multiple
       
  4138 versions of Tcl simultaneously.  It also makes it possible to
       
  4139 dynamically load extensions into statically linked interpreters.  This
       
  4140 patch includes the following changes:
       
  4141       -	Added a Tcl_InitStubs() interface
       
  4142       -	Added Tcl_PkgProvideEx, Tcl_PkgRequireEx, Tcl_PkgPresentEx,
       
  4143       	and Tcl_PkgPresent.
       
  4144       - Added va_list versions of all VARARGS functions so they can be
       
  4145 	invoked from wrapper functions.
       
  4146 See the manual for more information. (stanton)
       
  4147 
       
  4148 
       
  4149 3/10/99 (feature change) Replaced Tcl_AlertNotifier with
       
  4150 Tcl_ThreadAlert since the Tcl_AlertNotifier function relied on passing
       
  4151 internal data structures. (stanton)
       
  4152 *** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
       
  4153 
       
  4154 3/10/99 (new feature) Added a Tcl_GetVersion API to make it easier to
       
  4155 check the Tcl version and patch level from C. (redman)
       
  4156 
       
  4157 3/14/99 (feature change) Tried to unify the TclpInitLibrary path
       
  4158 routines to look in similar places from Windows to UNIX.  The new
       
  4159 library search path is: TCL_LIBRARY, TCL_LIBRARY/../tcl8.1, relative
       
  4160 to DLL (Windows Only) relative to installed executable, relative to
       
  4161 develop executable, and relative to compiled-in in location (UNIX
       
  4162 Only.)  This fix included:
       
  4163     - Defining a TclpFindExecutable
       
  4164     - Moving Tcl_FindExecutable to a common area in tclEncoding.c
       
  4165     - Modifying the TclpInitLibraryPath routines.
       
  4166 (surles)
       
  4167 
       
  4168 3/14/99 (feature change) Added hooks for TclPro Wrapper to initialize
       
  4169 the location of the encoding files and libraries.  This fix included:
       
  4170     - Adding the TclSetPerInitScript routine.
       
  4171     - Modifying the Tcl_Init routines to evaluate the non-NULL
       
  4172       pre-init script.
       
  4173     - Adding the Tcl_SetdefaultEncodingDir and Tcl_GetDefaultEncodingDir
       
  4174       routines.
       
  4175     - Modifying the TclpInitLibrary routines to append the default
       
  4176       encoding dir.
       
  4177 (surles)
       
  4178 
       
  4179 3/14/99 (feature change) Test suite now uses "test" namespace to
       
  4180 define the test procedure and other auxiliary procedures as well as
       
  4181 global variables.
       
  4182     - Global array testConfige is now called ::test::testConfig.
       
  4183     - Global variable VERBOSE is now called ::test::verbose, and
       
  4184       ::test::verbose no longer works with numerical values.  We've
       
  4185       switched to a bitwise character string.  You can set
       
  4186       ::test::verbose by using the -verbose option on the Tcl command
       
  4187       line.
       
  4188     - Global variable TESTS is now called ::test::matchingTests, and
       
  4189       can be set on the Tcl command line via the -match option.
       
  4190     - There is now a ::test::skipTests variable (works similarly to
       
  4191       ::test::matchTests) that can be set on the Tcl command line via
       
  4192       the -match option.
       
  4193     - The test suite can now be run in any working directory.  When
       
  4194       you run "make test", the working directory is nolonger switched
       
  4195       to ../tests.
       
  4196 (hirschl)
       
  4197 *** POTENTIAL INCOMPATIBILITY ***
       
  4198 
       
  4199 --------------- Released 8.1b2, March 16, 1999 ----------------------
       
  4200 
       
  4201 3/18/99 (bug fix) Fixed missing/incorrect characters in shift-jis table
       
  4202 (stanton)
       
  4203 
       
  4204 3/18/99 (feature change) The glob command ignores the
       
  4205 FS_CASE_IS_PRESERVED bit on file systesm and always returns
       
  4206 exactly what it gets from the system. (stanton)
       
  4207 *** POTENTIAL INCOMPATIBILITY ***
       
  4208 
       
  4209 3/19/99 (new feature) Added support for --enable-64bit.  For now,
       
  4210 this is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun
       
  4211 compiler. (redman)
       
  4212 
       
  4213 3/23/99 (bug fix) Fixed fileevents and gets on Windows consoles and
       
  4214 serial devices so that non-blocking channels do not block on partial
       
  4215 input lines.  (redman)
       
  4216 
       
  4217 3/23/99 (bug fix) Added a new Tcl_ServiceModeHook interface.
       
  4218 This is used on Windows to avoid the various problems that people
       
  4219 have been seeing where the system hangs when tclsh is running
       
  4220 outside of the event loop. As part of this, renamed
       
  4221 TcapAlertNotifier back to Tcl_AlertNotifier since it is public.
       
  4222 (stanton)
       
  4223 
       
  4224 3/23/99 (feature change) Test suite now uses "tcltest" namespace to
       
  4225 define the test procedure and other auxiliary procedures as well as
       
  4226 global variables.  The previously chosen "test" namespace was thought
       
  4227 to be too generic and likely to create conflits.
       
  4228 (hirschl)
       
  4229 *** POTENTIAL INCOMPATIBILITY ***
       
  4230 
       
  4231 3/24/99 (bug fix) Make sockets thread safe on Windows.
       
  4232 (redman)
       
  4233 
       
  4234 3/24/99 (bug fix) Fix cases where expr would incorrect return
       
  4235 a floating point value instead of an integer. (stanton)
       
  4236 
       
  4237 3/25/99 (bug fix) Added ASCII to big5 and gb2312 encodings.
       
  4238 (stanton)
       
  4239 
       
  4240 3/25/99 (feature change) Changed so aliases are invoked at current
       
  4241 scope in the target interpreter instead of at the global scope.  This
       
  4242 was an incompatibility introduced in 8.1 that is being removed.
       
  4243 (stanton)
       
  4244 *** POTENTIAL INCOMPATIBILITY with previous beta releases ***
       
  4245 
       
  4246 3/26/99 (feature change) --enable-shared is now the default and build
       
  4247 Tcl as a shared library; specify --disable-shared to build a static Tcl
       
  4248 library and shell.
       
  4249 *** POTENTIAL INCOMPATIBILITY ***
       
  4250 
       
  4251 3/29/99 (bug fix)  Removed the stub functions and changed the stub
       
  4252 macros to just use the name without params. Pass &tclStubs into the
       
  4253 interp (don't use tclStubsPtr because of collisions with the stubs on
       
  4254 Solaris). (redman)
       
  4255 
       
  4256 3/30/99 (bug fix) Loadable modules are now unloaded at the last
       
  4257 possible moment during Tcl_Finalize to fix various exit-time crashes.
       
  4258 (welch)
       
  4259 
       
  4260 3/30/99 (bug fix) Tcl no longer calls setlocale().  It looks at
       
  4261 env(LANG) and env(LC_TYPE) instead.  (stanton)
       
  4262 
       
  4263 4/1/99 (bug fix) Fixed the Ultrix multiple symbol definition problem.
       
  4264 Now, even Tcl includes a copy of the Tcl stub library. (redman)
       
  4265 
       
  4266 4/1/99 (bug fix) Internationalized the registry package.
       
  4267 
       
  4268 4/1/99 (bug fix) Changed the implemenation of Tcl_ConditionWait and
       
  4269 Tcl_ConditionNotify on Windows.  The new algorithm eliminates a race
       
  4270 condition and was suggested by Jim Davidson. (welch)
       
  4271 
       
  4272 4/2/99 (new apis)  Made various Unicode utility functions public.
       
  4273 Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString, Tcl_UniCharLen,
       
  4274 Tcl_UniCharNcmp, Tcl_UniCharIsAlnum, Tcl_UniCharIsAlpha,
       
  4275 Tcl_UniCharIsDigit, Tcl_UniCharIsLower, Tcl_UniCharIsSpace,
       
  4276 Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar, Tcl_WinUtfToTChar,
       
  4277 Tcl_WinTCharToUtf (stanton)
       
  4278 
       
  4279 4/2/99 (feature change) Add new DDE package and removed the Tk
       
  4280 send command from the Windows version.  Changed DDE-based send
       
  4281 code into "dde eval" command.  The DDE package can be loaded
       
  4282 into tclsh, not just wish.  Windows only. (redman)
       
  4283 
       
  4284 4/5/99 (bug fix) Changed safe-tcl so that the encoding command
       
  4285 is an alias that masks out the "encoding system" subcommand.
       
  4286 (redman)
       
  4287 
       
  4288 4/5/99 (bug fix) Configure patches to improve support for
       
  4289 OS/390 and BSD/OS 4.*. (stanton)
       
  4290 
       
  4291 4/5/99 (bug fix) Fixed crash in the clock command that occurred
       
  4292 with negative time values in timezones east of GMT. (stanton)
       
  4293 
       
  4294 4/6/99 (bug fix) Moved the "array set" C level code into a common
       
  4295 routine (TclArraySet).  The TclSetupEnv routine now uses this API to
       
  4296 create an env array w/ no elements.  This fixes the bug caused when
       
  4297 every environ varaible is removed, and the Tcl env variable is
       
  4298 synched.  If no environ vars existed, the Tcl env var would never be
       
  4299 created. (surles)
       
  4300 
       
  4301 4/6/99 (bug fix) Made the Env module I18N compliant. (surles)
       
  4302 
       
  4303 4/6/99 (bug fix) Changed the FindVariable routine to TclpFindVariable,
       
  4304 that now does a case insensitive string comparison on Windows, and not
       
  4305 on UNIX. (surles)
       
  4306 
       
  4307 --------------- Released 8.1b3, April 6, 1999 ----------------------
       
  4308 
       
  4309 4/9/99 (bug fix)  Fixed notifier deadlock situation when the pipe used
       
  4310 to talk back notifier thread is filled with data.  Found as a result of the
       
  4311 focus.test for Tk hanging. (redman)
       
  4312 
       
  4313 4/13/99 (bug fix) Fixed bug where socket -async combined with
       
  4314 fileevent for writing did not work under Windows NT. (redman)
       
  4315 
       
  4316 4/13/99 (encoding fix) Restored the double byte definition of GB2312
       
  4317 and added the EUC-CN encoding.  EUC-CN is a variant of GB2312 that
       
  4318 shifts the characters into bytes with the high bit set and includes
       
  4319 ASCII as a subset. (stanton)
       
  4320 
       
  4321 4/27/99 (bug fix) Added 'extern "C" {}' block around the stub table
       
  4322 pointer declaration so the stub library can be used from C++. (stanton)
       
  4323 
       
  4324 --------------- Released 8.1 final, April 29, 1999 ----------------------
       
  4325 
       
  4326 4/22/99 (bug fix) Changed Windows NT socket implementation to avoid
       
  4327 creating a communication window.  This avoids the problem where the
       
  4328 system hangs waiting for tclsh to respond to a system-wide synchronous
       
  4329 broadcast (e.g. if you change system colors). (redman)
       
  4330 
       
  4331 4/22/99 (bug fix) Added call to TclWinInit from TclpInitPlatform when
       
  4332 building a static library since DllMain will not be invoked.  This
       
  4333 could break old code that explicitly called TclWinInit, but should be
       
  4334 simpler in the long run. (stanton)
       
  4335 *** POTENTIAL INCOMPATIBILITY ***
       
  4336 
       
  4337 4/23/99 (bug fix) Added support for the koi8-r Cyrillic
       
  4338 encoding. [Bug: 1771] (stanton)
       
  4339 
       
  4340 4/28/99 (bug fix) Changed internal Tcl_Obj usage to avoid freeing the
       
  4341 internal representation after the string representation has been
       
  4342 freed.  This makes it easier to debug extensions. (stanton)
       
  4343 
       
  4344 4/30/99 (bug fix) Fixed a memory leak in CommandComplete. (stanton)
       
  4345 
       
  4346 5/3/99 (bug fix) Fixed a bug where the Tcl_ObjType was not being set
       
  4347 in a duplicated Tcl_Obj. [Bug: 1975, 2047] (stanton)
       
  4348 
       
  4349 5/3/99 (bug fix) Changed Tcl_ParseCommand to avoid modifying eval'ed
       
  4350 strings that are already null terminated.  [Bug: 1793] (stanton)
       
  4351 
       
  4352 5/3/99 (new feature) Applied Jeff Hobbs's string patch which includes
       
  4353 the following changes:
       
  4354     - added new subcommands: equal, repeat, map, is, replace 
       
  4355     - added -length option to "string compare|equal"
       
  4356     - added -nocase option to "string compare|equal|match"
       
  4357     - string and list indices can be an integer or end?-integer?.
       
  4358     - added optional first and last index args to string toupper, et al.
       
  4359 See the string.n manual entry for more details about the new string
       
  4360 features.  [Bug: 1845] (stanton)
       
  4361 
       
  4362 5/6/99 (new feature) Added Tcl_UtfNcmp and Tcl_UtfNcasecmp to make Utf
       
  4363 string comparision easier. (stanton)
       
  4364 
       
  4365 5/7/99 (bug fix) Improved OS/390 support. [Bug: 1976, 1997] (stanton)
       
  4366 
       
  4367 5/12/99 (bug fix) Changed Windows initialization code to avoid using
       
  4368 GetUserName system call in favor of the env(USERNAME) variable.  This
       
  4369 provides a significant startup speed improvement. (stanton)
       
  4370 
       
  4371 5/12/99 (bug fix) Replaced the per-interpreter regexp cache with a
       
  4372 per-thread cache.  Changed the Regexp object to take advantage of this
       
  4373 extra cache.  Added a reference count to the TclRegexp type so regexps
       
  4374 can be shared by multiple objects.  Removed the per-interp regexp cache
       
  4375 from the interpreter.  Now regexps can be used with no need for an
       
  4376 interpreter. This set of changes should provide significant speed
       
  4377 improvements for many Tcl scripts.  [Bug: 1063] (stanton)
       
  4378 
       
  4379 5/14/99 (bug fix) Durining initialization on Unix, Tcl now extracts the
       
  4380 encoding subfield from the LANG/LC_ALL environment variables in cases
       
  4381 where the locale is not found in the built-in locale table.  It also
       
  4382 attempts to initialize the locale subsystem so X11 is happy. [Bug: 1989]
       
  4383 (stanton) 
       
  4384 
       
  4385 5/14/99 (bug fix) Applied the patch to fix 100-year and 400-year
       
  4386 boundaries in leap year code, from Isaac Hollander.  [Bug: 2066] (redman)
       
  4387 
       
  4388 5/14/99 (bug fix) Fixed a crash caused by a failure to reset the result
       
  4389 before evaluating the test expression in an uncompiled for
       
  4390 statement. (stanton)
       
  4391 
       
  4392 5/18/99 (bug fix) Modified initialization code on Windows to avoid
       
  4393 inherenting closed or invalid channels.  If the standard input is
       
  4394 anything other than a console, file, serial port, or pipe, then we fall
       
  4395 back to the standard Tk window console. (stanton)
       
  4396 
       
  4397 5/19/99 (bug fix) Added an extern "C" block around the entire tcl.h
       
  4398 header file to avoid C++ linkage issues. (redman)
       
  4399 
       
  4400 5/19/99 (new feature) Applied Jeff Hobb's patch to add
       
  4401 Tcl_StringCaseMatch to support case insensitive glob style matching and
       
  4402 Tcl_UniCharIs* character classification functions. (stanton)
       
  4403 
       
  4404 5/20/99 (bug fix) Added the directory containing the executuble and the
       
  4405 ../lib directory relative to that to the auto_path variable. (redman)
       
  4406 
       
  4407 --------------- Released 8.1.1, May 25, 1999 ----------------------
       
  4408 
       
  4409 5/21/99 (bug fix) Fixed launching command.com on Win95/98, no longer
       
  4410 hangs. [Bug: 2105] (redman)
       
  4411 
       
  4412 5/28/99 (bug fix) Fixed bug where dde calls were being passed an
       
  4413 invalid dde handle. [Bug: 2124] (stanton)
       
  4414 
       
  4415 6/1/99  (bug fix) Small configure.in patches. [Bug: 2121] (stanton)
       
  4416 
       
  4417 6/1/99  (bug fix) Applied latest regular expression patches to fix an
       
  4418 infinite loop bug and add support for testing whether a string could
       
  4419 match with additional input. [Bug: 2117] (stanton)
       
  4420 
       
  4421 6/2/99  (bug fix) Fixed incorrect computation of relative ordering in
       
  4422 Utf case-insensitive comparison. [Bug: 2135] (stanton)
       
  4423 
       
  4424 6/3/99  (bug fix) Fxied bug where string equal/compare -nocase
       
  4425 reported wrong result on null strings. [Bug: 2138] (stanton)
       
  4426 
       
  4427 6/4/99  (new feature) Windows build now uses Cygwin tools plus GNU
       
  4428 make and autoconf to build static/dynamic and debug/nodebug. (stanton)
       
  4429 
       
  4430 6/7/99  (new feature) Optimized string index, length, range, and
       
  4431 append commands. Added a new Unicode object type. (hershey)
       
  4432 
       
  4433 6/8/99  (bug fix) Rolled back Windows socket driver to 8.1.0
       
  4434 version. (stanton)
       
  4435 
       
  4436 6/9/99  (new feature) Added Tcl_RegExpMatchObj and Tcl_RegExpGetInfo
       
  4437 to public Tcl API, these functions are needed by Expect.  Changed
       
  4438 tools/genStubs.tcl to always write output in LF mode. (stanton)
       
  4439 
       
  4440 6/14/99 (new feature) Merged string and Unicode object types.  Added
       
  4441 new public Tcl API functions:  Tcl_NewUnicodeObj, Tcl_SetUnicodeObj,
       
  4442 Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange,
       
  4443 Tcl_AppendUnicodeToObj. (hershey)
       
  4444 
       
  4445 6/16/99 (new feature) Changed to conform to TEA specification, added
       
  4446 tcl.m4 and aclocal.m4 macro libraries for configure.  (wart)
       
  4447 
       
  4448 6/17/99 (new feature) Added new regexp interfaces: -expanded, -line,
       
  4449 -linestop, and -lineanchor switches.  Renamed Tcl_RegExpMatchObj to
       
  4450 Tcl_RegExpExecObj and added new Tcl_RegExpMatchObj that is equivalent
       
  4451 to Tcl_RegExpMatch.  Added public macros for regexp flags.  Added
       
  4452 REG_BOSONLY flag to allow Expect to iterate through a string and only
       
  4453 find matches that start at the current position within the
       
  4454 string. (stanton)
       
  4455 
       
  4456 6/21/99 (bug fix) Fixed memory leak in TclpThreadCreate where thread
       
  4457 attributes were not being released.  [Bug: 2254] (stanton)
       
  4458 
       
  4459 6/23/99 (new feature) Updated Unicode character tables to reflect
       
  4460 Unicode 2.1 data. (stanton)
       
  4461 
       
  4462 6/25/99 (new feature) Fixed bugs in non-greedy quantifiers for regular
       
  4463 expression code. (stanton)
       
  4464 
       
  4465 6/25/99 (new feature) Added initial implementation of new Tcl test
       
  4466 harness package.  Modified test files to use new tcltest package.
       
  4467 (jenn)
       
  4468 
       
  4469 6/26/99 (new feature) Applied patch from Peter Hardie to add poke
       
  4470 command to dde and changed the dde package version number to
       
  4471 1.1. (redman) 
       
  4472 
       
  4473 6/28/99 (bug fix) Applied patch from Peter Hardie to fix problem in
       
  4474 Tcl_GetIndexFromObj() when the key being passed is the empty string.
       
  4475 [Bug: 1738] (redman)
       
  4476 
       
  4477 6/29/99 (new feature) Added options to tcltest package: -preservecore,
       
  4478 -limitconstraints, -help, -file, -notfile, and flags.  (jenn)
       
  4479 
       
  4480 7/3/99  (new feature) Changed parsing of variable names to allow empty
       
  4481 array names.  Now "$(foo)" is a variable reference.  Previously you
       
  4482 had to use something line $::(foo), which is slower.  This change was
       
  4483 requested by Jean-Luc Fontaine for his STOOOP package. (welch)
       
  4484 
       
  4485 7/3/99  (new feature) Added Tcl_SetNotifier (public API) and
       
  4486 associated hook points in the notifiers to be able to replace the
       
  4487 notifier calls at runtime. The Xt notifier and test program use this
       
  4488 hook.  (welch)
       
  4489 
       
  4490 7/3/99  (new feature) Added a new variant of the "Trf core patch" from
       
  4491 Andreas Kupries that adds new C APIs Tcl_StackChannel,
       
  4492 Tcl_UnstackChannel, and Tcl_GetStackedChannel.  This allows the Trf
       
  4493 extension to work without applying patches to the Tcl core. (welch)
       
  4494 
       
  4495 7/6/99  (new feature) Added -timeout option to http.tcl to handle
       
  4496 timeouts that occur during connection attempts to hosts that are
       
  4497 down. (welch)
       
  4498 
       
  4499 7/6/99  (bug fix) Applied new implementation of the Windows serial
       
  4500 port driver from Rolf Schroedter that fixes reading only one byte from
       
  4501 the port at a time.  Uses polling every 10ms to implement
       
  4502 fileevents. [Bug: 1980 2217] (redman)
       
  4503 
       
  4504 7/8/99  (bug fix) Applied fix for bug in DFA state caching under
       
  4505 lookahead conditions (regular expressions).  [Bug: 2318] (stanton)
       
  4506 
       
  4507 7/8/99  (bug fix) Fixed bug in string range bounds checking
       
  4508 code. (stanton)
       
  4509 
       
  4510 --------------- Released 8.2b1, July 14, 1999 ----------------------
       
  4511 
       
  4512 7/16/99 (bug fix) Added Tcl_SetNotifier to stub table. [Bug: 2364]
       
  4513 Added check for Alpha/Linux to correct the IEEE  floating point flag,
       
  4514 patch from Don Porter. (redman)
       
  4515 
       
  4516 7/20/99 (bug fix) Merged 8.0.5 code to handle tcl_library properly,
       
  4517 also fixed a bug that caused TCL_LIBRARY to be ignored. (hershey)
       
  4518 
       
  4519 7/21/99 (bug fix) Implemented modified socket driver for Windows that
       
  4520 uses a thread to manage the socket event window.  Code works the same
       
  4521 on all supported versions of Windows and was based on original 8.1.0
       
  4522 code.  [Bug: 2178 2256 2259 2329 2323 2355] (redman)
       
  4523 
       
  4524 7/21/99 (new feature) Applied patch from Rolf Schroedter to add
       
  4525 -pollinterval option to fconfigure for Windows serial ports.  Allows
       
  4526 the maxblocktime to be modified to control how often serial ports are
       
  4527 checked for fileevents.  Also added documentation for \\.\comX
       
  4528 notation for opening serial ports on Windows.  (redman)
       
  4529 
       
  4530 7/21/99 (bug fix) Changed APIs in stub tables to use "unsigned long"
       
  4531 instead of the platform-specific "size_t", primarily after SunOS 4
       
  4532 users could no longer compile. (redman)
       
  4533 
       
  4534 7/22/99 (bug fix) Fixed crashing during "array set a(b) {}". 
       
  4535 [Bug: 2427] (redman)
       
  4536 
       
  4537 7/22/99 (bug fix) The install-sh script must be given execute
       
  4538 permissions prior to running.  [Bug: 2413] (redman)
       
  4539 
       
  4540 7/22/99 (bug fix) Applied patch from Ulrich Ring to remove ANSI-style
       
  4541 prototypes in the code.  [Bug: 2391] (redman)
       
  4542 
       
  4543 7/22/99 (bug fix) Added #if blocks around #includes of sys/*.h header
       
  4544 files, to allow an extension author on Windows to use the MetroWerks
       
  4545 compiler. [Bug: 2385] (redman)
       
  4546 
       
  4547 7/22/99 (bug fix) Fixed running the safe.test test suite, one change
       
  4548 to the Windows Makefile.in to fix paths and another in safe.test to
       
  4549 check for the tcl_platform(threaded) variable properly. (redman)
       
  4550 
       
  4551 7/22/99 (bug fix) Fixed hanging in new Win32 socket driver with
       
  4552 threads enabled. (redman)
       
  4553 
       
  4554 7/26/99 (bug fix) Fixed terminating of helper threads by holding any
       
  4555 mutexes from the primary thread while waiting for the helper thread to
       
  4556 terminate.  Fixes dual-CPU WinNT hangs, only one rare sporadic hang
       
  4557 that still exists with dual-CPU WinNT.  Also fixed test cases so that
       
  4558 they would not depend as much on timing for dual-CPU WinNT. (redman)
       
  4559 
       
  4560 7/27/99 (bug fix) Some test suite cleanup. (jenn)
       
  4561 
       
  4562 7/29/99 (bug fix) Applied patch to fix typo in .SH NAME line in
       
  4563 doc/Encoding.n [Bug: 2451].  Applied patch to avoid linking pack.n to
       
  4564 pack-old.n [Bug: 2469]. Patches from Don Porter. (redman)
       
  4565 
       
  4566 7/29/99 (bug fix) Allow tcl to open CON and NUL, even for redirection
       
  4567 of std channels.  [Bug: 2393 2392 2209 2458] (redman)
       
  4568 
       
  4569 7/30/99 (bug fix) Applied fixed Trf patch from Andreas Kupries. 
       
  4570 [Bug: 2386] (hobbs)
       
  4571 
       
  4572 7/30/99 (bug fix) Fixed bug in info complete. [Bug: 2383 2466] (hobbs)
       
  4573 
       
  4574 7/30/99 (bug fix) Applied patch to fix threading on Irix 6.5, patch
       
  4575 provided by James Dennett.  [Bug: 2450] (redman)
       
  4576 
       
  4577 7/30/99 (bug fix) Fixed launching of 16bit applications on Win9x from
       
  4578 wish.  The command line was being primed with tclpip82.dll, but it was
       
  4579 ignored later. 
       
  4580 
       
  4581 7/30/99 (bug fix) Added functions to stub table, patch provided by Jan
       
  4582 Nijtmans. [Bug: 2445] (hobbs)
       
  4583 
       
  4584 8/1/99  (bug fix) Changed Windows socket driver to terminate threads
       
  4585 by sending a message to the window rather than calling
       
  4586 TerminateThread(), which seems to leak about 4k from the helper
       
  4587 thread's stack space. (redman)
       
  4588 
       
  4589 --------------- Released 8.2b2, August 5, 1999 ----------------------
       
  4590 
       
  4591 8/4/99 (bug fix) Applied patches supplied by Henry Spencer to greatly
       
  4592 enhance performance of certain classes of regular expressions. 
       
  4593 [Bug: 2440 2447] (stanton)
       
  4594 
       
  4595 8/5/99 (doc change) Made it clear that tcl_pkgPath was not set for
       
  4596 Windows. [Bug: 2455] (hobbs)
       
  4597 
       
  4598 8/5/99 (bug fix) Fixed reference to bytes that might not be null
       
  4599 terminated in tclLiteral.c. [Bug: 2496] (hobbs)
       
  4600 
       
  4601 8/5/99 (bug fix) Fixed typo in http.tcl. [Bug: 2502] (hobbs)
       
  4602 
       
  4603 8/9/99 (bug fix) Fixed test suite to handle larger integers
       
  4604 (64bit). Patch from Don Porter. (hobbs)
       
  4605 
       
  4606 8/9/99 (documentation fix) Clarified Tcl_DecrRefCount docs 
       
  4607 [Bug: 1952]. Clarified array pattern docs [Bug: 1330]. Fixed clock docs
       
  4608 [Bug: 693]. Fixed formatting errors [Bug: 2188 2189]. Fixed doc error
       
  4609 in tclvars.n [Bug: 2042]. (hobbs)
       
  4610 
       
  4611 8/9/99 (bug fix) Fixed path handling in auto_execok [Bug: 1276] (hobbs)
       
  4612 
       
  4613 8/9/99 (internal api change) Removed the TclpMutexLock and TclpMutexUnlock
       
  4614 APIs and added a new exported api, Tcl_GetAllocMutex. These APIs are all for
       
  4615 the mutex used in the simple memory allocators.  By making this change
       
  4616 we are able to substitute different implementations of the thread-related
       
  4617 APIs without having to recompile the Tcl core. (welch)
       
  4618 
       
  4619 8/9/99 (new C API) Tcl_GetChannelNames returns a list of open channel
       
  4620 names in the interpreter result.  Still no Tcl-level version of this,
       
  4621 but server-like applications can use this to clean up files without
       
  4622 deleting interpreters. (welch)
       
  4623 
       
  4624 8/9/99 (bug fix) Traces were not firing on "info exists", which used to
       
  4625 happen in Tcl 7.6 and earlier. An "info exists" now fires a read trace,
       
  4626 if defined.  This makes it possible to fully implement variables that
       
  4627 are defined via traces. (welch)
       
  4628 
       
  4629 8/10/99 (bug fix) Fixed Brent's changes so that they work on
       
  4630 Windows. (redman)
       
  4631 
       
  4632 --------------- Released 8.2b3, August 11, 1999 ----------------------
       
  4633 
       
  4634 8/12/99 (Mac) Rearrange projects in tclMacProjects.sea.hqx so that the
       
  4635 build directory is separate from the sources. (Jim Ingham)
       
  4636 
       
  4637 8/12/99 (bug fix) Fixed bug in Tcl_EvalEx where the termOffset was not
       
  4638 being updated in cases where the evaluation returned a non TCL_OK
       
  4639 error code. [Bug: 2535] (stanton)
       
  4640 
       
  4641 --------------- Released 8.2.0, August 17, 1999 ----------------------
       
  4642 
       
  4643 9/21/99 (config fixes) fixed several AIX configuration issues.  gcc and
       
  4644 threading may still cause problems on AIX. (hobbs)
       
  4645 
       
  4646 9/21/99 (bug fix) fixed expr double-eval problem. [Bug: 732] (hobbs)
       
  4647 
       
  4648 9/21/99 (bug fix) fixed static buffer overflow problem. [Bug: 2483] (hobbs)
       
  4649 
       
  4650 9/21/99 (bug fix) fixed end-int linsert interpretation. [Bug: 2693] (hobbs)
       
  4651 
       
  4652 9/21/99 (bug fix) fixed bug when setting array in non-existent
       
  4653 namespace. [Bug: 2613] (hobbs)
       
  4654 
       
  4655 --- Released 8.2.1, October 04, 1999 --- See ChangeLog for details ---
       
  4656 
       
  4657 10/30/99 (feature enhancement) new regexp engine from Henry Spencer
       
  4658 was patched in - should greatly reduce stack space usage. (spencer)
       
  4659 
       
  4660 10/30/99 (bug fix) fixed Purify reported memory leaks in findexecutable
       
  4661 test command, TclpCreateProcess on Unix, in handling of C environ array,
       
  4662 and in testthread code.  No more known (reported) mem leaks for Tcl
       
  4663 built using gcc on Solaris 2.5.1.  Also none reported for Tcl on NT
       
  4664 (using Purify 6.0). (hobbs)
       
  4665 
       
  4666 10/30/99 (bug fix) fixed improper bytecode handling of 
       
  4667 'eval {set array($unknownvar) 5}' (also for incr) (hobbs)
       
  4668 
       
  4669 10/30/99 (bug fix) fixed event/io threading problems by making
       
  4670 triggerPipe non-blocking (nick kisserbeth)
       
  4671 
       
  4672 10/30/99 (bug fix) fixed Tcl_AppendStringsToObjVA and Tcl_AppendResultVA
       
  4673 to only	iterates once over the va_list (avoiding non-portable memcpy).
       
  4674 (joe english, hobbs)
       
  4675 
       
  4676 10/30/99 (bug fix) removed savedChar trick in tclCompile.c that appeared
       
  4677 to be causing a segv when the literal table was released.
       
  4678 [Bug: 2459, 2515] (David Whitehouse)
       
  4679 
       
  4680 10/30/99 (bug fix) fixed [string index] to return ByteArrayObj
       
  4681 when indexing into one (test case string-5.16) [Bug: 2871] (hobbs)
       
  4682 
       
  4683 10/30/99 (bug fix) fixes for mac UTF filename handling (ingham)
       
  4684 
       
  4685 --- Released 8.2.2, November 04, 1999 --- See ChangeLog for details ---
       
  4686 
       
  4687 11/19/99 (feature enhancement) bug fixes for http package as well as
       
  4688 patch required by TLS (SSL) extension that adds http::(un)register
       
  4689 and -type to http::geturl.  Up'd http pkg version to 2.2.
       
  4690 
       
  4691 11/19/99 (bug fix) removed extra decr of numLevels in Tcl_EvalObjEx
       
  4692 that could cause seg fault (mjansen@wendt.de)
       
  4693 
       
  4694 11/19/99 (bug fixes) numerous minor big fixes, including correcting the
       
  4695 installation of the koi8-r encoding and tcltest1.0 on Windows.
       
  4696 
       
  4697 11/30/99 (bug fix) fixes scan where %[..] didn't match anything
       
  4698 
       
  4699 11/30/99 (bug fix) fixed setting of isNonBlocking flag in PipeBlockModeProc
       
  4700 so you can now close a non-blocking channel without waiting.
       
  4701 
       
  4702 11/30/99 (bug work-around) prevented the unloading of DLLs for Unix in
       
  4703 TclFinalizeLoad.  This stops the seg fault on exit that some users would
       
  4704 see (ie with oratcl) when using DLLs that do nasty things like register
       
  4705 atexit handlers.
       
  4706 
       
  4707 12/07/99 (bug fix) fixes for 'expr + {[incr]}' and 'expr + {[error]}'
       
  4708 cases (different causes).
       
  4709 
       
  4710 --- Released 8.2.3, December 16, 1999 --- See ChangeLog for details ---
       
  4711 
       
  4712 1999-09-14 (feature enhancement) added -start switch to regexp and regsub.
       
  4713 
       
  4714 1999-09-15 (feature enhancement) add 'array unset' command.
       
  4715 
       
  4716 1999-09-15 (feature enhancement) rewrote runtime libraries to use new
       
  4717 string functions
       
  4718 
       
  4719 1999-08-18 (feature enhancement) added 'file channels' command, along with
       
  4720 Tcl_GetChannelNames(Ex) public C APIs.
       
  4721 
       
  4722 1999-10-19 (feature enhancement) enhanced tcltest package
       
  4723 
       
  4724 1999-09-16 (feature enhancement) added -milliseconds switch to 'clock clicks'
       
  4725 
       
  4726 1999-10-28 (feature enhancement) added support for inline 'scan'
       
  4727 
       
  4728 1999-10-28 (feature enhancement) added support for touch functionality by
       
  4729 extendeding 'file atime' and 'file mtime' to take an optional time argument
       
  4730 
       
  4731 1999-11-24 (feature enhancement) added 'fconfigure $sock -lasterror'
       
  4732 command to Windows to query the last error received on a serial socket.
       
  4733 
       
  4734 1999-11-30 (bug fix) fixed handling of %Z on NT for timezones that don't
       
  4735 have DST
       
  4736 
       
  4737 1999-12-03 (feature enhancement) improved error message in bad octal cases
       
  4738 and improper use of comments. (hobbs)
       
  4739 
       
  4740 1999-12-07 (bug fix) fixed Tcl_ScanCountedElement to not step
       
  4741 beyond the end of the counted string
       
  4742 
       
  4743 1999-12-09 (feature enhancement) removed all references to 16 bit
       
  4744 compatibility code for Windows (hobbs)
       
  4745 
       
  4746 1999-12-10 (bug fix) removed check for vfork - Tcl now uses only fork in
       
  4747 exec. (hobbs)
       
  4748 
       
  4749 1999-12-10 (optimization) changed Tcl_ConcatObj to return a list
       
  4750 object when it receives all pure list objects as input (used by 'concat'),
       
  4751 added optimizations in Tcl_EvalObjEx for pure list case, and optimized
       
  4752 INST_TRY_CVT_TO_NUMERIC in TclExecuteByteCode for boolean objects.
       
  4753 (oakley, hobbs)
       
  4754 
       
  4755 1999-12-12 (feature enhancement) enhanced glob command with -type, -path,
       
  4756 -directory and -join switches. (darley, hobbs)
       
  4757 
       
  4758 1999-12-21 (bug fix) changed CreateThread to _beginthreadex and
       
  4759 ExitThread to _endthreadex to prevent 4K mem leak (gravereaux)
       
  4760 
       
  4761 1999-12-21 (bug fix) fixed applescript for I18N
       
  4762 
       
  4763 1999-12-21 (feature enhancement) added -unique option to lsort (hobbs)
       
  4764 
       
  4765 1999-12-21 (bug fix) changed thread ids to longs (for 64bit systems)
       
  4766 
       
  4767 --- Released 8.3b1, December 22, 1999 --- See ChangeLog for details ---
       
  4768 
       
  4769 2000-01-10 (feature enhancement) clock scan now supports the common
       
  4770 ISO 8601 date/time formats.  See docs for details. (melski)
       
  4771 
       
  4772 2000-01-10 (bug fix) prevented \ooo substitution from accepting
       
  4773 non-octal digits [Bug: 3975] (hobbs)
       
  4774 
       
  4775 2000-01-11 (bug fix) fixed improper handling of DST by clock when
       
  4776 using relative times (like "1 month" or "tomorrow"). (melski)
       
  4777 
       
  4778 2000-01-12 (bug fix) improved build support for Tru64 v5, NetBSD
       
  4779 and Reliant Unix (hobbs)
       
  4780 
       
  4781 2000-01-12 (bug fix) made imported commands also import their
       
  4782 compile procedure (duffin)
       
  4783 
       
  4784 2000-01-12 (bug fix) fixed 'info procs ::namesp::*' behavior to return
       
  4785 procs in a namespace (dejong)
       
  4786 
       
  4787 2000-01-12 (feature enhancement) added support for setting permissions
       
  4788 symbolicly (like chmod) in [file attributes $file -permissions ...] (schoebel)
       
  4789 
       
  4790 2000-01-13 (bug fix) fixed lsort -dictionary problem when sorting
       
  4791 characters between 'Z' and 'a' (flawed upper/lower comparison logic) (melski)
       
  4792 
       
  4793 --- Released 8.3b2, January 13, 2000 --- See ChangeLog for details ---
       
  4794 
       
  4795 2000-01-14 (feature enhancement) clock format %Q added, clock scan updated
       
  4796 
       
  4797 2000-01-20 (bug fix) corrected complex array elem compiling (Spjuth)
       
  4798 
       
  4799 2000-01-20 (bug fix) made [info body] always return a string type arg,
       
  4800 to prevent possible misuse of bytecodes in the wrong context (hobbs)
       
  4801 
       
  4802 2000-01-20 (bug fixes) several fixes to variable handling to prevent
       
  4803 possible crashes, and further definition of correct behavior (melski)
       
  4804 
       
  4805 2000-01-25 (bug fixes) improved QNX, Ultrix and OSF1 (Tru64) config and
       
  4806 compatibility (edge, furukawa)
       
  4807 
       
  4808 2000-01-25 (bug fix) fixed mem leak when calling lsort with a bad -command
       
  4809 argument (hobbs)
       
  4810 
       
  4811 2000-01-27 (feature enhancement) package mechanism overhaul: changed
       
  4812 behavior of pkg_mkIndex to do -direct by default, added -lazy option.
       
  4813 Fixed pkg_mkIndex to handle odd proc names and auto_mkIndex to use platform
       
  4814 independent file paths.  Other fixes for odd package quirks.  Added
       
  4815 ::pkg namespace and ::pkg::create helper function. (melski)
       
  4816 
       
  4817 2000-02-01 (bug fix) fixed problem where http POST would send one extra
       
  4818 newline (vasiljevic)
       
  4819 
       
  4820 2000-02-02 (feature enhancement) added docs for new regexp -inline and
       
  4821 -all switches. (hobbs)
       
  4822 
       
  4823 2000-02-08 (bug fix) corrected handling of "next monthname" in clock scan
       
  4824 (melski)
       
  4825 
       
  4826 2000-02-09 (bug fix) restored Mac source to build readiness and prevented
       
  4827 mac panic from an error when closing an async socket (steffen, ingham)
       
  4828 
       
  4829 2000-02-10 (feature enhancement) improved error reporting for failed
       
  4830 loads on Windows (dejong, hobbs)
       
  4831 
       
  4832 --- Released 8.3.0, February 10, 2000 --- See ChangeLog for details ---
       
  4833 
       
  4834 2000-03 (bug fixes, feature enhancement) overhaul of http package for
       
  4835 proper handling of async callbacks (new options), version is now at 2.3
       
  4836 (tamhankar, welch)
       
  4837 
       
  4838 2000-03 (performance enhancement) speedup in Windows filename handling (newman)
       
  4839 and ==/!= empty string in exprs. (hobbs)
       
  4840 
       
  4841 2000-03-27 (bug fix) added uniq'ing test to namespace export list to
       
  4842 prevent unnecessary mem growth (hobbs)
       
  4843 
       
  4844 2000-03-29 (bug fix) fixed mem leak when repeatedly sourcing the same
       
  4845 bytecompiled (tbc) code repeatedly across different interpreters (hobbs)
       
  4846 
       
  4847 2000-03-29 (config enhancement) improved build support for gcc/mingw on
       
  4848 Windows (nijtmans, hobbs) and added RPM target (melski)
       
  4849 
       
  4850 2000-03-31 (bug fix) corrected data encoding problem when using
       
  4851 "exec << $data" construct (melski)
       
  4852 
       
  4853 2000-04 (feature enhancement) overhaul of threading mechanism to better
       
  4854 support tcl level thread command (new APIs Tcl_ConditionFinalize,
       
  4855 Tcl_MutexFinalize, Tcl_CreateThread, etc, all docs in Thread.3).
       
  4856 (kupries, graveraux)
       
  4857 This enables the tcl level thread extension. (welch)
       
  4858 
       
  4859 2000-04-10 (bug fix) fixed infinite loop case in regexp -all (melski)
       
  4860 
       
  4861 2000-04-13 (config enhancement) added support for --enable-64bit-vis
       
  4862 Sparc target. (hobbs)
       
  4863 
       
  4864 2000-04-18 (bug fix) moved tclLibraryPath to thread-local storage to fix
       
  4865 possible race condition on MP machines (hobbs)
       
  4866 
       
  4867 2000-04-18 (config enhancement) added MacOS X build target and
       
  4868 tclLoadDyld.c dl type. (sanchez)
       
  4869 
       
  4870 2000-04-23 (bug fix) several Mac socket fixes (ingham)
       
  4871 
       
  4872 2000-04-24 (bug fix) fixed hang in threaded Unix case when backgrounded
       
  4873 exec process was running (dejong)
       
  4874 
       
  4875 --- Released 8.3.1, April 26, 2000 --- See ChangeLog for details ---
       
  4876 
       
  4877 2000-04-26 (doc fix) updated/added documentation for many API's and
       
  4878 commands (melski)
       
  4879 
       
  4880 2000-05-02 (feature enhancement) added support for joinable threads;
       
  4881 extended API's for channels to allow channels to move between threads
       
  4882 (kupries)
       
  4883 
       
  4884 2000-05-02 (feature enhancement) changed error return for procedures
       
  4885 with incorrect args to be like the Tcl_WrongNumArgs API, with a "wrong
       
  4886 # args: ..." message printed, with an args list (hobbs)
       
  4887 
       
  4888 2000-05-08 (feature enhancement) added [array statistics] command
       
  4889 
       
  4890 2000-05-08 (performance enhancement) rewrote Tcl_StringCaseMatch
       
  4891 algorithm for better performance; this affects the [string match]
       
  4892 command; added "eq" and "ne" operands to expr, for testing
       
  4893 string equality and inequality (hobbs)
       
  4894 
       
  4895 2000-05-09 (feature enhancement) extended [lsearch] to support sorted
       
  4896 list searches and typed list searches (melski)
       
  4897 
       
  4898 2000-05-10 (feature enhancement) added [namespace exists] command
       
  4899 (darley)
       
  4900 
       
  4901 2000-05-18 (build enhancement) added support for mingw compile env and
       
  4902 cross-compiling (dejong)
       
  4903 
       
  4904 2000-05-18 (bug fix) corrected clock grammar to properly handle the
       
  4905 "ago" keyword when it follows multiple relative unit specifiers
       
  4906 (melski)
       
  4907 
       
  4908 2000-05-22 (compile fix) type cast cleanups (dejong)
       
  4909 
       
  4910 2000-05-23 (performance enhancement) added byte-compiled
       
  4911 implementation of [return] command and [string] command (melski)
       
  4912 
       
  4913 2000-05-26 (performance enhancement) extended byte-compiled [string]
       
  4914 command with support for [string compare/index/match] (hobbs)
       
  4915 
       
  4916 2000-05-27 (feature enhancement) added ability to set [info script]
       
  4917 return value ([info script ?newFileName?]) (welch)
       
  4918 
       
  4919 2000-05-31 (feature enhancement) added support for regexp and exact
       
  4920 pattern matching for [array names] (gazetta)
       
  4921 
       
  4922 2000-05-31 (feature enhancement) added -nocomplain and -- flags to
       
  4923 [unset] to allow for silent unset operation (hobbs)
       
  4924 
       
  4925 --- Released 8.4a1, June 6, 2000 --- See ChangeLog for details ---
       
  4926 
       
  4927 2000-05-29 (bug fix) corrected resource cleanup in http error cases.
       
  4928 Improved handling of error cases in http. (tamhankar)
       
  4929 
       
  4930 2000-07 (feature rewrite) complete rewrite of the Tcl IO channel subsystem
       
  4931 to correct problems (hangs, core dumps) with the initial stacked channel
       
  4932 implementation.  The new system has many more tests for robustness and
       
  4933 scalability.  There are new C APIs (see Tcl_CreateChannel), but only
       
  4934 stacked channel drivers are affected (ie: TLS, Trf, iogt).  The iogt
       
  4935 extension has been added to the core test code to test the system.
       
  4936 (hobbs, kupries)
       
  4937 	**** POTENTIAL INCOMPATABILITY ****
       
  4938 
       
  4939 2000-07 (build improvements) cleanup of the makefiles and configure scripts
       
  4940 to correct support for building under gcc for Windows. (dejong)
       
  4941 
       
  4942 2000-08-07 (bug fix) corrected sizeof error in Tcl_GetIndexFromObjStruct.
       
  4943 (perkins)
       
  4944 
       
  4945 2000-08-07 (bug fix) correct off-by-one error in HistIndex, which was
       
  4946 causing [history redo] to start its search at the wrong event index. (melski)
       
  4947 
       
  4948 2000-08-07 (bug fix) corrected setlocale calls for XIM support and locale
       
  4949 issues in startup. (takahashi)
       
  4950 
       
  4951 2000-08-07 (bug fix) correct code to handle locale specific return values
       
  4952 from strftime, if any. (wagner)
       
  4953 
       
  4954 2000-08-07 (bug fix) tweaked grammar to properly handle the "ago" keyword
       
  4955 when it follows multiple relative unit specifiers, as in
       
  4956 "2 days 2 hours ago". (melski)
       
  4957 
       
  4958 2000-08-07 (doc fixes) numerous doc fixes to correct SEE ALSO and NAME
       
  4959 sections. (english)
       
  4960 
       
  4961 2000-08-07 (bug fix) new man pages memory.n, TCL_MEM_DEBUG.3, Init.3 and
       
  4962 DumpActiveMemory.3. (melski)
       
  4963 
       
  4964 --- Released 8.3.2, August 9, 2000 --- See ChangeLog for details ---
       
  4965 
       
  4966 2000-06 thru 2000-11 (build improvements) Added support for mingw (gcc on
       
  4967 Windows), AIX-5 and Win64 builds (dejong, hobbs)
       
  4968 
       
  4969 2000-06-23 (feature enhancement) ability to use Tcl_Obj *s as hash keys (duffin)
       
  4970 
       
  4971 2000-06-29 (new features) added [mcmax] and [mcmset] and extended [unknown] in
       
  4972 msgcat package (duperval, krone, nelson)
       
  4973 => msgcat 1.1
       
  4974 
       
  4975 2000-08 thru 2000-09 added tclPlatDecls.h to default install (melski, hobbs)
       
  4976 
       
  4977 2000-08-24 (new feature) Enhanced trace syntax to add:
       
  4978 	trace {add|remove|list} {variable|command} name ops command
       
  4979 (darley, melski)
       
  4980 
       
  4981 2000-09-06 (cross-platform feature) Set ^Z (\32) as default EOF char. (hobbs)
       
  4982 
       
  4983 2000-09-07 partial fix for bug 2460 to prevent exec mem leak on Windows for the
       
  4984 common case (gravereaux)
       
  4985 
       
  4986 2000-09-14 Improved string allocation growth for large strings (hintermayer,
       
  4987 melski)
       
  4988 
       
  4989 2000-09-14 New non-panic'ing mem allocation functions Tcl_AttemptAlloc,
       
  4990 Tcl_AttemptRealloc, Tcl_AttemptSetObjLength (melski)
       
  4991 
       
  4992 2000-09-20 (new features) completely new, enhanced syntax in tcltest package.
       
  4993 Backwards compatable with tcltest v1. (hom)
       
  4994 => tcltest 2.0
       
  4995 
       
  4996 2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that
       
  4997 didn't set nonBlocking correctly when resetting the flags for the write
       
  4998 side (mem leak) Correct mem leak in channels when statePtr was released
       
  4999 (hobbs)
       
  5000 
       
  5001 2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason)
       
  5002 
       
  5003 2000-10-06 (bug fix) corrected [file channels] to only return channels in
       
  5004 the current interpreter (hobbs)
       
  5005 
       
  5006 2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to
       
  5007 speed up command significantly in base cases (hobbs)
       
  5008 
       
  5009 2000-10-27 Fixed mem leak in Tcl_CreateChannel. Re-purified core via test
       
  5010 suites.  (hobbs)
       
  5011 
       
  5012 2000-10-30 (new feature) add "ja_JP.eucJP" map to "euc-jp" encoding (takahashi)
       
  5013 
       
  5014 2000-11-01 (mem leak) Corrected excessive mem use of info exists on a
       
  5015 non-existent array element (hobbs)
       
  5016 
       
  5017 2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded
       
  5018 environment (gravereaux)
       
  5019 
       
  5020 2000-11-03 (new feature) Tcl_SetMainLoop enables defining an event loop for
       
  5021 tclsh.  This enables Tk as a truly loadable package. (hobbs)
       
  5022 
       
  5023 --- Released 8.4a2, November 3, 2000 --- See ChangeLog for details ---
       
  5024 
       
  5025 2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that
       
  5026 didn't set nonBlocking correctly when resetting the flags for the write
       
  5027 side (mem leak) Correct mem leak in channels when statePtr was released
       
  5028 (hobbs)
       
  5029 
       
  5030 2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason)
       
  5031 
       
  5032 2000-10-06 (bug fix) corrected [file channels] to only return channels in
       
  5033 the current interpreter (hobbs)
       
  5034 
       
  5035 2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to
       
  5036 speed up command significantly in base cases (hobbs)
       
  5037 
       
  5038 2000-11-01 (mem leak) Corrected excessive mem use of info exists on a
       
  5039 non-existent array element (hobbs)
       
  5040 
       
  5041 2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded
       
  5042 environment (gravereaux)
       
  5043 
       
  5044 2000-11-23 (mem leak) fixed potential memory leak in error case of lsort
       
  5045 (fellows)
       
  5046 
       
  5047 2000-12-09 (feature enhancement) changed %o and %x to use strtoul instead
       
  5048 of strtol to correctly preserve scan<>format conversion of large integers
       
  5049 (hobbs)
       
  5050 Fixed handling of {!<boolean>} in expressions (hobbs, fellows)
       
  5051 
       
  5052 2000-12-14 (feature enhancement) improved (s)rand for 64-bit platforms
       
  5053 (porter)
       
  5054 
       
  5055 2001-01-04 (bug fix) corrected parsing of $tcl_libPath at startup on
       
  5056 Windows (porter)
       
  5057 
       
  5058 2001-01-30 (bug fix) Fixed possible hangs in fcopy. (porter)
       
  5059 
       
  5060 2001-02-15 (performance enhancement) improved efficiency of [string split]
       
  5061 (fellows)
       
  5062 
       
  5063 2001-03-13 (bug fix) Correctly possible memory corruption in string map {}
       
  5064 $str (fellows)
       
  5065 
       
  5066 2001-03-29 (bug fix) prevent potential race condition and security leak in
       
  5067 tmp filename creation on Unix. (max)
       
  5068 Fixed handling of timeout for threads (corrects excessive CPU usage issue
       
  5069 for Tk on Unix in threaded Tcl environment). (ruppert)
       
  5070 
       
  5071 2001-03-30 (bug fix) corrected Windows memory error on exit (wu)
       
  5072 Fixed race condition in readability of socket on Windows.
       
  5073 
       
  5074 2001-04-03 (doc fixes) numerous doc corrections and clarifications.
       
  5075 Update of READMEs.
       
  5076 
       
  5077 2001-04-04 (build improvements) redid Mac build structure (steffen)
       
  5078 Corrected IRIX-5* configure (english).  Added support for AIX-5 (hobbs).
       
  5079 Added support for Win64 (hobbs).
       
  5080 
       
  5081 --- Released 8.3.3, April 6, 2001 --- See ChangeLog for details ---
       
  5082 
       
  5083 2000-11-23 (new feature)[TIP 7] higher resolution timer on Windows (kenny)
       
  5084 
       
  5085 2001-01-18 (new feature) Tcl_InitHashTableEx renamed to Tcl_InitCustomHashTable
       
  5086 (kupries)
       
  5087 
       
  5088 2001-03-30 (new feature)[TIP 10] support for thread-aware/hot channels (kupries)
       
  5089 
       
  5090 2001-04-06 (new feature)[219280] auto-loading hidden in ::errorInfo (porter)
       
  5091 
       
  5092 2001-04-07 (bug fix)[406709] corrected panic when extra items left on the
       
  5093 byte compiler execution stack (sofer)
       
  5094 
       
  5095 2001-04-09 (bug fix)[219136,232558] improved use of thread-safe functions in
       
  5096 unix time commands (kenny)
       
  5097 
       
  5098 2001-04-24 (new feature)[TIP 27] started CONST-ification of the Tcl APIs (kenny)
       
  5099 
       
  5100 2001-05-03 (new feature) [auto_import] now matches patterns like
       
  5101 [namespace import], not like [string match] (porter)
       
  5102         **** POTENTIAL INCOMPATABILITY ****
       
  5103 
       
  5104 2001-05-07 (new feature)[416643] distinct srand() seed per interp (sofer)
       
  5105 
       
  5106 2001-05-15 (new feature) new Tcl_GetUnicodeFromObj API (hobbs)
       
  5107 
       
  5108 2001-05-16 (performance enhancement) byte-compiled versions of [lappend],
       
  5109 [append] simple cases (hobbs)
       
  5110 
       
  5111 2001-05-23 (new feature) added ISO-8859-15 and koi8-u encodings, updated other
       
  5112 encoding tables based on http://www.unicode.org/Public/MAPPINGS/ (kuhn)
       
  5113 
       
  5114 2001-05-27 (new feature) updated to Unicode 3.1.0 data set (still using 16
       
  5115 bits for Tcl_UniChar though) (hobbs)
       
  5116 
       
  5117 2001-05-30 (new feature)[TIP 15] Tcl_GetMathFuncInfo, Tcl_ListMathFuncs,
       
  5118 Tcl_InfoObjCmd, InfoFunctionsCmd APIs (fellows)
       
  5119 
       
  5120 2001-06-08 (bug fix,feature enhancement)[219170,414936] all Tcl_Panic 
       
  5121 definitions brought into agreement (porter)
       
  5122 
       
  5123 2001-06-12 (bug fix)[219232] regexp returned non-matching sub-pairs to have
       
  5124 index pair {-1 -1} (fellows)
       
  5125 
       
  5126 2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII
       
  5127 characters.  (hobbs, riefenstahl)
       
  5128 
       
  5129 2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer)
       
  5130 
       
  5131 2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings
       
  5132 (hobbs, barras)
       
  5133 
       
  5134 2001-07-12 (new feature)[TIP 36] Tcl_SubstObj API (fellows)
       
  5135 
       
  5136 2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows
       
  5137 (hobbs, jsmith)
       
  5138 
       
  5139 2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size
       
  5140 of a channel is changed after channel use has already begun (kupries, porter)
       
  5141 
       
  5142 2001-07-31 (new feature)[TIP 17] TclFS* APIs provide new virtual file
       
  5143 system.  This includes the addition of 'file normalize', 'file system',
       
  5144 'file separator' and 'glob -tails' (darley)
       
  5145 
       
  5146 2001-08-06 (bug fix) removed use of tmpnam in TclpCreateTempFile on Unix (lim)
       
  5147 
       
  5148  * improved build support for IRIX, GNU HURD, Mac OS 9 and OS X
       
  5149 
       
  5150  * configure scripts revamped for better support of cygwin and gcc on
       
  5151    Windows (mdejong)
       
  5152 
       
  5153  * corrected several minor errors noted by Purify (hobbs)
       
  5154 
       
  5155 --- Released 8.4a3, August 6, 2001 --- See ChangeLog for details ---
       
  5156 
       
  5157 2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII
       
  5158 characters.  (hobbs, riefenstahl)
       
  5159 
       
  5160 2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer)
       
  5161 
       
  5162 2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings
       
  5163 (hobbs, barras)
       
  5164 
       
  5165 2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows
       
  5166 (hobbs, jsmith)
       
  5167 
       
  5168 2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size
       
  5169 of a channel is changed after channel use has already begun (kupries, porter)
       
  5170 
       
  5171 2001-08-06 (bug fix)[442665] corrected object reference counting in [gets]
       
  5172 (jikamens)
       
  5173 
       
  5174 2001-08-06 (new feature) added GNU (HURD) configuration target. (brinkmann)
       
  5175 
       
  5176 2001-08-07 (bug fix)[406709] corrected panic when extra items left on the
       
  5177 byte compiler execution stack (see test foreach-5.5) (sofer, tallneil, jstrot)
       
  5178 
       
  5179 2001-08-08 (new features) updated packages msgcat 1.1.1, opt 0.4.3,
       
  5180 tcltest 1.0.1, dependencies checked (porter)
       
  5181 
       
  5182 2001-08-20 (new feature)[452217] http 2.3.2: include port number in Host: header
       
  5183 to comply with HTTP/1.1 spec (RFC 2068)  (hobbs, tils)
       
  5184 
       
  5185 2001-08-23 (new feature) added QNX-6 build support (loverso)
       
  5186 
       
  5187 2001-08-23 (bug fix) corrected handling of spaces in path name passed to
       
  5188 [exec] on Windows (kenpoole)
       
  5189 
       
  5190 2001-08-24 (bug fix) corrected [package forget] stopping on non-existent
       
  5191 package (porter)
       
  5192 
       
  5193 2001-08-24 (bug fix) corrected construction of script library search path
       
  5194 relative to executable (porter)
       
  5195 
       
  5196 2001-08-24 (bug fix) [auto_import] now matches patterns like
       
  5197 [namespace import], not like [string match] (porter)
       
  5198         **** POTENTIAL INCOMPATABILITY ****
       
  5199 
       
  5200 2001-08-27 (new feature) added Tcl_SetMainLoop() to enable loading Tk as a
       
  5201 true package (hobbs)
       
  5202 
       
  5203 2001-08-30 (bug fix) build support for Crays (andreasen)
       
  5204 
       
  5205 2001-09-01 (bug fix) rewrite of Tcl_Async* APIs to better manage thread
       
  5206 cleanup  (gravereaux)
       
  5207 
       
  5208 2001-09-06 (new feature) http 2.4: honor the Content-encoding and charset
       
  5209 parameters; add -binary switch for forcing the issue (hobbs, saoukhi, orwell)
       
  5210 => http 2.4
       
  5211 
       
  5212 2001-09-06 (performance enhancement) rewrite of file I/O flush management on
       
  5213 Windows.  Approximately 100x speedup for some operations. (kupries, traum)
       
  5214 
       
  5215 2001-09-10 (bug fix) corrected finalization error in TclInExit (darley)
       
  5216 
       
  5217 2001-09-10 (bug fix) protect against alias loops (hobbs)
       
  5218 
       
  5219 2001-09-12 (bug fix) added missing #include in tclLoadShl.c (techentin)
       
  5220 
       
  5221 2001-09-12 (bug fix) script library path construction on Windows no longer
       
  5222 uses registry, nor adds the current working directory to the path (porter)
       
  5223 
       
  5224 2001-09-12 (bug fix) correct bugs in compatibility strtod() (porter)
       
  5225 
       
  5226 2001-09-13 (bug fix) Tcl_UtfPrev now returns the proper location when the
       
  5227 middle of a UTF-8 byte is passed in (hobbs)
       
  5228 
       
  5229 2001-09-19 (bug fix) [format] and [scan] corrected for 64-bit machines (rmax)
       
  5230 
       
  5231 2001-09-19 (new feature) --enable-64-bit support for HP-11. (hobbs)
       
  5232 
       
  5233 2001-09-19 (new feature) native memory allocator now default on Windows
       
  5234 (hobbs)
       
  5235 
       
  5236 2001-09-20 (new feature) WIN64 support and extra processor definitions
       
  5237 (hobbs, mstacy)
       
  5238 
       
  5239 2001-09-26 (bug fix) corrected potential deadlock in channels that do not
       
  5240 provide a BlockModeProc (kupries, kogorman)
       
  5241 
       
  5242 2001-10-03  (new feature) WIN64 build support (hobbs)
       
  5243 
       
  5244 2001-10-03 (bug fix) correction in thread finalization (rbrunner)
       
  5245 
       
  5246 2001-10-04 (new feature) updated encodings with latest mappings from
       
  5247 www.unicode.org (hobbs)
       
  5248 
       
  5249 2001-10-11 (bug fix) corrected cleanup of self-referential bytecodes at
       
  5250 interpreter deletion (sofer, rbrunner)
       
  5251 
       
  5252 2001-10-16 (new feature) config support for MacOSX / Darwin (steffen)
       
  5253 
       
  5254 2001-10-16 (new feature, Mac) change in binary extension format from MachO
       
  5255 bundles to standard .dylib dynamic libraries like on other unices.
       
  5256         *** POTENTIAL INCOMPATIBILITY ***
       
  5257 
       
  5258 2001-10-18 (bug fix) corrected off-by-one-day error in clock scan with
       
  5259 relative months and years during swing hours. (lavana)
       
  5260 
       
  5261 --- Released 8.3.4, October 19, 2001 --- See ChangeLog for details ---
       
  5262 
       
  5263 2001-08-21 (bug fix)[219184] overagressive compilation of [catch] (sofer)
       
  5264 
       
  5265 2001-08-22 (new feature)[227482] [dde request -binary] (hobbs)
       
  5266 => dde 1.2
       
  5267 
       
  5268 2001-08-30 (performance enhancement)[456668] fully qualified command names use
       
  5269 cached Command for all namespaces, avoiding repeated lookups (sofer)
       
  5270 
       
  5271 2001-08-31 (performance enhancement) bytecompiled [list] (hobbs)
       
  5272 
       
  5273 2001-09-02 (bug fix)[403553] Add -Zl to VC++ compile line for tclStubLib to
       
  5274 avoid any specific C-runtime library dependence. (gravereaux)
       
  5275 
       
  5276 2001-09-05 (new feature) restored support for Borland compiler (gravereaux)
       
  5277 
       
  5278 2001-09-05 (new feature)[TIP 49] Tcl_OutputBuffered API (schroedter, fellows)
       
  5279 
       
  5280 2001-09-07 (new feature) restored VC++ 5.0 compatibility (gravereaux)
       
  5281 
       
  5282 2001-09-10 (performance enhancement)[TIP 53,451441] [proc foo args {}] now
       
  5283 compiles to 0 bytecodes (sofer)
       
  5284 
       
  5285 2001-09-13 (new feature)[TIP 56] Tcl_EvalTokensStandard API (sofer)
       
  5286 
       
  5287 2001-09-13 (new feature) Old ChangeLog entries => ChangeLog.1999 (hobbs)
       
  5288 
       
  5289 2001-09-17 (new feature) compiling with TCL_COMPILE_DEBUG now required to 
       
  5290 enable all compile and execution tracing (sofer)
       
  5291         *** POTENTIAL INCOMPATIBILITY ***
       
  5292 
       
  5293 2001-09-19 (bug fix)[411825] made TclNeedSpace UTF-8 aware (fellows)
       
  5294 
       
  5295 2001-09-19 (bug fix)[219166] overagressive compilation of "quoted" bodies of
       
  5296 [for], [foreach], [if], and [while] (sofer)
       
  5297 
       
  5298 2001-09-19 (performance enhancement) bytecompiled [string match] (hobbs)
       
  5299 
       
  5300 2001-10-15 (new feature)[TIP 35] serial channel configuration: Win (schroedter)
       
  5301 
       
  5302 2001-11-06 (bug fix)[478856] loss of fileevents due to short reads (kupries)
       
  5303 
       
  5304 2001-11-06 (new feature) revitalized makefile.vc (gravereaux)
       
  5305 
       
  5306 2001-11-07 (new feature) Cygwin gcc support dropped.  Use mingw (dejong)
       
  5307         *** POTENTIAL INCOMPATIBILITY ***
       
  5308 
       
  5309 2001-11-07 (new feature) Support --include-dir= and --libdir= options to
       
  5310 configure.  Store in tclConfig.sh as TCL_INCLUDE_SPEC and TCL_LIB_SPEC.
       
  5311 (dejong)
       
  5312         *** POTENTIAL INCOMPATIBILITY ***
       
  5313 
       
  5314 2001-11-08 (new feature) Enable --enable-threads on FreeBSD (dejong)
       
  5315 
       
  5316 2001-11-08 (new feature) New make target 'make gdb' (dejong)
       
  5317 
       
  5318 2001-11-09 (bug fix)[480176] [global] mishandled varnames matching :* (porter)
       
  5319 
       
  5320 2001-11-12 (new feature)[TIP 22,33,45] new command [lset],
       
  5321 [lindex] extended to accept multiple indices. (kenny, hobbs)
       
  5322 
       
  5323 2001-11-16 (new feature) new configure option --enable-langinfo=no.
       
  5324 By default, nl_langinfo() is used on Unix to determine system encoding.
       
  5325 Tcl's built-in system is used only if that fails, or configured with
       
  5326 --enable-langinfo=no. (hobbs, wagner)
       
  5327 
       
  5328 2001-11-19 (new feature)[TIP 62] A Tcl_VarTraceProc can now return Tcl_Obj *
       
  5329 or a dynamic string as well as a static string to indicate an error (fellows)
       
  5330 
       
  5331 2001-11-19 (new feature)[TIP 73] Tcl_GetTime API (kenny)
       
  5332 
       
  5333 2001-11-19 (bug fix)[478847] overflows in [time] of >2**31 microseconds (kenny)
       
  5334 
       
  5335 2001-11-29 (performance enhancement) caching scheme added to [binary scan]
       
  5336 (fellows)
       
  5337 
       
  5338 2001-12-05 (new feature) new algorithm for [array get] adds safety when read
       
  5339 traces modify the array. (sofer)
       
  5340         *** POTENTIAL INCOMPATIBILITY ***
       
  5341 
       
  5342 2001-12-10 (bug fix)[490514] doc fixes (porter,english)
       
  5343 
       
  5344 2001-12-18 (new feature) removed unix/dltest/configure; unix/configure does
       
  5345 all (dejong)
       
  5346 
       
  5347 2001-12-19 (new feature) New make target 'make shell' (dejong)
       
  5348 
       
  5349 2001-12-21 (new feature) MaxOSX / Darwin support (steffen)
       
  5350 
       
  5351 2001-12-28 (new feature) new command [memory onexit] replaces [checkmem] when
       
  5352 compiled with TCL_MEM_DEBUG.  Added documentation. (porter)
       
  5353         *** POTENTIAL INCOMPATIBILITY ***
       
  5354 
       
  5355 2001-12-28 (bug fix) proper case in [auto_execok] use of $env(COMPSPEC) (hobbs)
       
  5356 
       
  5357 2002-01-05 (feature rewrite) Tcl_Main() rewritten and documentation improved.
       
  5358 Interactive operation and event loop operation (via Tcl_SetMainLoop) now
       
  5359 interleave cleanly.  Also more robust against strange happenings. (porter)
       
  5360 
       
  5361 2002-01-17 (bug fix)[504642] Tcl_Obj refCounts in [gets] (griffen,kupries)
       
  5362 
       
  5363 2002-01-21 (bug fix)[506297] infinite loop writing in iso2022-jap encoding
       
  5364 (forssen,kupries)
       
  5365 
       
  5366 2002-01-24 (HTTP server bug workaround)[504508] leave the default port out
       
  5367 of the Host: header value
       
  5368 => http 2.4.1 (hobbs)
       
  5369 
       
  5370 2002-01-25 (new feature)[496733] socket options -eofchar and -translation
       
  5371 return read-only values (dejong)
       
  5372 
       
  5373 2002-01-28 (new feature) Old ChangeLog entries => ChangeLog.20900 (hobbs)
       
  5374 
       
  5375 2002-01-28 (performance enhancement) bytecompiled [regexp] for trivial cases
       
  5376 that amount to string matching.  Also -nocase and --. (hobbs)
       
  5377 
       
  5378 2002-02-05 (bug fix) [http::error] called when [::error] intended
       
  5379 => http 2.4.2 (porter)
       
  5380 
       
  5381 2002-02-05 (bug fix)[465765] avoid zero-byte writes to STREAMs
       
  5382 (talcott,kupries)
       
  5383 
       
  5384 2002-02-06 (performance enhancement) [regsub] special cases that map to
       
  5385 [string map] detected. (hobbs)
       
  5386 
       
  5387 2002-02-06 (bug fix)[495213] [scan] accept 0x as prefix of base 16 value
       
  5388 (hobbs)
       
  5389 
       
  5390 2002-02-10 (new feature)[TIP 32,79] Tcl_CreateObjTrace API (kenny)
       
  5391 
       
  5392 2002-02-12 (new feature) partial support for DJGPP Tcl on DOS (gravereaux)
       
  5393 
       
  5394 2002-02-14 (mem leak) Fixed leaking an empty Tcl_Obj when [gets $chan]
       
  5395 errored out. (kupries, sofer)
       
  5396 
       
  5397 2002-02-15 (new feature)[TIP 72] support for 64-bit integer values on
       
  5398 32-bit platforms and ability to work with >2GiB files.  Extends many
       
  5399 commands.  See ChangeLog and TIP for details.
       
  5400 	*** POTENTIAL INCOMPATIBILITY ***
       
  5401 
       
  5402 2002-02-22 (bug fix)[476537] Fix panic when loading shared library without
       
  5403 proper use of stubs on platform without backlinking (porter)
       
  5404 
       
  5405 2002-02-22 (new feature)  64-bit support for xlc compiler on AIX-4 (hobbs)
       
  5406 
       
  5407 2002-02-22 (new feature)[521560] Removed limits on filename length and
       
  5408 format [source]able through the Safe Base (hobbs)
       
  5409 
       
  5410 2002-02-22 (performance enhancement) optimized bytecodes for [if], [for],
       
  5411 [while] and constant conditions (sofer)
       
  5412 
       
  5413 2002-02-22 (new feature)[TIP 76] [regsub] can now return result (fellows)
       
  5414 
       
  5415 2002-02-25 (bug fix)[495207] buffer overrun when closing ] left out of
       
  5416 argument to [subst] (sofer, english)
       
  5417 
       
  5418 2002-02-25 (bug fix)[514392] [load] updated for Mac OS X 10.1 (steffen)
       
  5419 
       
  5420 2002-02-26 (bug fix) [info hostname] choked on names >31 characters (hobbs)
       
  5421 
       
  5422 2002-02-26 (new feature)[TIP 35] serial channel configuration: Unix
       
  5423 (schroedter, hobbs)
       
  5424 
       
  5425 2002-02-25 (bug fix)[483575] [fconfigure ... -error] now no-op on Mac (kupries)
       
  5426 
       
  5427 2002-02-28 (performance enhancement)[458872] fully qualified command names use
       
  5428 cached Command for all namespaces, avoiding repeated lookups (sofer)
       
  5429 
       
  5430  * (new feature)[TIP 27] completed CONST-ification of TCL APIs.
       
  5431 Added compiler macro USE_NON_CONST to keep using those old API prototypes
       
  5432 that present irreconcilable source incompatibilities with header files
       
  5433 of prior Tcl releases.  Others will need to be reconciled.
       
  5434         *** POTENTIAL INCOMPATIBILITY ***
       
  5435 
       
  5436 2002-03-04 (bug fix)[474358, 218099, 219314, 524674] fixed several problems
       
  5437 related to the handling of iso2022 text and finalization of escape-based
       
  5438 encodings. (taguchi, takahashi, hobbs)
       
  5439 
       
  5440 --- Released 8.4a4, March 5, 2002 --- See ChangeLog for details ---
       
  5441 
       
  5442 2002-03-06 (new feature)[TIP 80] expanded [lsearch] options (wilkason, fellows)
       
  5443 
       
  5444 2002-03-07 (new feature)[TIP 87] [interp recursionlimit] (trier)
       
  5445 
       
  5446 2002-03-08 (platform feature) mingw 1.1 build favored (dejong)
       
  5447 
       
  5448 2002-03-20 (new feature)[TIP 27] CONST-ified variable access functions (porter)
       
  5449 
       
  5450 2002-03-24 (bug fix)[511666,511658,523217,530960] expanded
       
  5451 Tcl_FSMatchInDirectory to handle assorted [glob] bugs in VFS. (darley)
       
  5452         *** POTENTIAL INCOMPATIBILITY with prior 8.4a releases ***
       
  5453 
       
  5454 2002-03-25 (bug fix)[495726] stopped tcltest disabling of auto-loading (porter)
       
  5455 
       
  5456 2002-03-25 (bug fix)[495977] allow \n in test constraints (porter)
       
  5457 
       
  5458 2002-03-27 (platform support)[527941,533862] VC/winhelp/W9X (spjuth,
       
  5459 gravereaux)
       
  5460 
       
  5461 2002-03-28 (bug fix)[219181] exception at level 0 issues (sofer)
       
  5462 
       
  5463 2002-03-28 (bug fix)[219362] command termination; Tcl_CreateTrace (knoll,sofer)
       
  5464 
       
  5465 2002-04-05 (bug fix)[536879] exceptions during variable subst (porter)
       
  5466 
       
  5467 2002-04-15 (bug fix)[497446,513983] tcltest syntax errors now raised (porter)
       
  5468 	***POTENTIAL INCOMPATIBILITY with prior tcltest 2.0.* (8.4aX)***
       
  5469 
       
  5470 2002-04-17 (bug fix)[495660] [(save|restore)state] deprecated (porter)
       
  5471 
       
  5472 2002-04-17 (bug fix)[526524] escape-based encodings corrected (yamamoto, hobbs)
       
  5473 
       
  5474 2002-04-18 (bug fix)[542588] [expr] error msgs improved (ehrens, sofer)
       
  5475 
       
  5476 2002-04-18 (bug fix)[545325] [info level $level] now returns [namespace eval]
       
  5477 as documented (suchenwirth,sofer)
       
  5478 
       
  5479 2002-04-19 (bug fix)[544727] export [mcload]; ns context of [mcmax] (porter)
       
  5480 => msgcat 1.2.3
       
  5481 
       
  5482 2002-04-22 (performance enhancement) threaded memory allocator (AOL, hobbs)
       
  5483 
       
  5484 2002-04-24 (new feature) TCLTK_NO_LIBRARY_TEXT_RESOURCES #define disables
       
  5485 inclusion of tcl library code in resource fork on Mac.  (steffen)
       
  5486 
       
  5487 2002-05-21 (platform support) static libs on OSF (dejong)
       
  5488 
       
  5489 2002-05-24 (bug fix)[557878] set encoding on listening socket (staplin,
       
  5490 kupries)
       
  5491 
       
  5492 2002-05-24 (new feature)[TIP 91] Tcl_Seek compatibility (fellows)
       
  5493 
       
  5494 2002-05-28 (bug fix)[545579] VFS [load] left temp file (darley)
       
  5495 
       
  5496 2002-05-28 (bug fix)[559376] plug timezone env leak on Windows (hobbs)
       
  5497 
       
  5498 2002-05-29 (performance enhancement) [string compare] optimized (hobbs,fellows)
       
  5499 
       
  5500 2002-05-31 (bug fix)[550534] plug interp leak in [pkg_mkIndex] (helmut)
       
  5501 
       
  5502 2002-05-31 (dead code)[474335,555635] removed all use of matherr() (english)
       
  5503         *** POTENTIAL INCOMPATIBILITY ***
       
  5504 
       
  5505 2002-06-04 (new feature)[TIP 85,521362] custom result match in tcltest
       
  5506 (markus, porter)
       
  5507 => tcltest 2.1
       
  5508 
       
  5509 2002-06-06 (bug fix)[524352] encoding, threading, and environment issues on
       
  5510 MacOSX (steffen)
       
  5511 
       
  5512 2002-06-06 (bug fix)[512214,558742,512214,461000] lazy initialization of
       
  5513 tcltest constraints (porter)
       
  5514 
       
  5515 2002-06-07 (bug fix)[563122,564595] EOVERFLOW definitions (fellows)
       
  5516 
       
  5517 2002-06-11 (bug fix)[567386] [info locals] corrections (sofer)
       
  5518 
       
  5519 2002-06-14 (new feature)[TIP 102] [trace list] renamed [trace info] (fellows)
       
  5520 
       
  5521 2002-06-17 (new feature)[525522,525525] msgcat support for XPG4 locales;
       
  5522 examination of LC_ALL, LC_MESSAGES environment variables (haible, porter)
       
  5523 => msgcat 1.3
       
  5524 
       
  5525 2002-06-17 (new feature)[565088] header files assume modern C compiler by
       
  5526 default; older compilers may need configuration (english)
       
  5527         *** POTENTIAL INCOMPATIBILITY ***
       
  5528 
       
  5529 2002-06-17 (bug fix)[554068] [exec] argument quoting on Windows (darley)
       
  5530 
       
  5531 2002-06-17 (new feature)[TIP 62,462580] command execution traces (lavana)
       
  5532 
       
  5533 2002-06-19 (bug fix)[558324] regexp sets a linked variable (watson)
       
  5534 
       
  5535  * (performance enhancment) optimizations of bytecode execution (sofer)
       
  5536 
       
  5537 2002-06-21 (new feature)[TIP 99,562970] new [file link] command (darley)
       
  5538 
       
  5539 2002-06-24 (new feature)[TIP 101] new [tcltest::configure] command (porter)
       
  5540 => tcltest 2.2
       
  5541 
       
  5542 2002-06-25 (new feature) --enable-man-symlinks and --enable-man-compression
       
  5543 options to configure (max)
       
  5544 
       
  5545 2002-06-26 (bug fix)[565880] [clock format] now respects locale (max)
       
  5546         *** POTENTIAL INCOMPATIBILITY ***
       
  5547 
       
  5548 2002-07-03 (bug fix)[577015] [catch] catches even compile errors (sofer)
       
  5549 
       
  5550 --- Released 8.4b1, July 5, 2002 --- See ChangeLog for details ---
       
  5551 
       
  5552 2002-07-08 (bug fix) restored compatibility of [viewFile] in tcltest (porter)
       
  5553 
       
  5554 2002-07-11 (bug fix) [file normalize] returns long form on Win 95/98/ME (darley)
       
  5555 
       
  5556 2002-07-15 (performance enhancment) variable operations rewritten to store
       
  5557 	and use cached Var pointers (sofer)
       
  5558 
       
  5559 2002-07-22 (bug fix)[218000] Inf and Nan are floating-point values (fellows)
       
  5560 
       
  5561 2002-07-23 (platform support)[219220] 64-bit compile on IRIX (dejong)
       
  5562 
       
  5563 2002-07-25 (bug fix)[219218] return codes in background errors (english)
       
  5564 
       
  5565 2002-07-28 (bug fix)[582522] alias fires exec traces (sofer)
       
  5566 
       
  5567 2002-07-29 (bug fix)[578363] regexp (fellows,pvgoran)
       
  5568 
       
  5569 2002-07-30 (bug fix)[584603] WriteChars infinite loop non-UTF-8 string (kupries)
       
  5570 
       
  5571 2002-08-04 (new feature)[584051,580433,585105,582429][TIP 27] Tcl interfaces 
       
  5572 	are now fully CONST-ified.  Use the symbols USE_NON_CONST or
       
  5573 	USE_COMPAT_CONST to select interfaces with fewer changes.
       
  5574         *** POTENTIAL INCOMPATIBILITY ***
       
  5575 
       
  5576 2002-08-05 (bug fix)[589859] tcltest setup and cleanup scripts skipped when
       
  5577 	test body is skipped (porter)
       
  5578 	=> tcltest 2.2
       
  5579 
       
  5580 2002-08-07 (bug fix)[587488] mem leak with USE_THREAD_ALLOC (sofer,sass)
       
  5581 	
       
  5582 2002-08-07 (feature enhancement)[584794,584650,472576] boolean values
       
  5583 	are no longer always re-parsed from string. (sofer)
       
  5584 
       
  5585 Many internal bugs fixed.
       
  5586 Considerable cleanup of the test suite.
       
  5587 
       
  5588 --- Released 8.4b2, August 9, 2002 --- See ChangeLog for details ---
       
  5589 
       
  5590 2002-08-20 (new feature) --enable-memdebug configure option (kupries)
       
  5591 
       
  5592 2002-08-23 (bug fix)[597936] mem leak with USE_THREAD_ALLOC (sofer,zoran)
       
  5593 
       
  5594 2002-08-26 (bug fix)[599788] segfault in compiler (sofer,wilkason)
       
  5595 
       
  5596 2002-08-28 (bug fix)[414910] avoid mem leaks accessing environment variables
       
  5597 	on Windows (welton,gravereaux)
       
  5598 
       
  5599 2002-08-31 (platform support)[TIP 108] Mac OS X port (steffen,ingham)
       
  5600 
       
  5601 2002-09-02 (platfrom support) 64-bit compile on HP-11 (martin)
       
  5602 
       
  5603 --- Released 8.4.0, September 10, 2002 --- See ChangeLog for details ---
       
  5604 
       
  5605 2002-09-18 (platform support) Updated support for compiling with Cygwin and
       
  5606 either mingw or gcc. (khan, howell, dejong)
       
  5607 
       
  5608 2002-09-22 (bug fix)[612786, 611922] Corrected [puts -nonewline] within
       
  5609 test bodies. Also corrected reporting of body return code.  Updated tcltest
       
  5610 to v2.2.1.
       
  5611 
       
  5612 2002-09-24 (bug fix)[613117] More robust 64-bit wide integer value
       
  5613 detection (fellows)
       
  5614 
       
  5615 2002-09-26 (bug fix) correct overeager optimization of noop proc to handle
       
  5616 the precompiled case. (sofer, hobbs)
       
  5617 
       
  5618 2002-09-26 (bug fix)[615115] removed extraneous spaces in koi8-u.enc that
       
  5619 confused encoding reader.
       
  5620 
       
  5621 2002-09-29 (bug fix)[219355] Added proper exiting conditions using Win32
       
  5622 console signals.  This handles the existing lack of a Ctrl+C exit to call
       
  5623 exit handlers when built for thread support.  Also, properly handles exits
       
  5624 from other conditions such as CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and
       
  5625 CTRL_SHUTDOWN_EVENT signals.  In all cases, exit handlers will be called.
       
  5626 (gravereaux)
       
  5627 
       
  5628 2002-09-30 (bug fix) improve the checking for bad regular expressions
       
  5629 during regexp compilation.  Resultant compiles were correct, but much
       
  5630 slower than necessary. (hobbs)
       
  5631 
       
  5632 2002-10-01 (bug fix) fix precompiled locals to support 8.3 precompiled
       
  5633 code. (hobbs)
       
  5634 
       
  5635 2002-10-09 (bug fix)[620735] Added code to set an exit handler on Windows
       
  5636 that terminates the thread that calibrates the performance counter, so that
       
  5637 the thread won't outlive unloading the Tcl DLL. (kenny)
       
  5638 
       
  5639 2002-10-09 (build support) all --enable-symbols to take the enhanced
       
  5640 options yes|no|mem|compile|all. (hobbs)
       
  5641 
       
  5642 2002-10-10 (build support) enable USE_THREAD_ALLOC (new threaded allocator)
       
  5643 by default on Windows. (hobbs, gravereaux)
       
  5644 
       
  5645 2002-10-14 (bug fix)[623269] correct possible mem leak in
       
  5646 Tcl_PutEnv. (brouwers)
       
  5647 
       
  5648 2002-10-15 (bug fix)[615043] fix in execution traces with idle tasks
       
  5649 firing. (lavana)
       
  5650 
       
  5651 2002-10-15 (platform support) Correct AIX-5 ppc and 4/5 64-bit build flags.
       
  5652 Correct HP 11 64-bit gcc building. (martin, hobbs)
       
  5653 
       
  5654 2002-10-17 (bug fix)[624755] Fixed code that check for proper # of args to
       
  5655 [array names] (porter)
       
  5656 
       
  5657 2002-10-18 (feature enhancement)[625453] Added support for broadcasting
       
  5658 changes to the registry Environment on Windows.  Updated registry package
       
  5659 to v1.1. (hobbs)
       
  5660 
       
  5661 2002-10-22 (platform support)[624509] On macosx, add embedded framework
       
  5662 dirs to tcl_pkgPath: @executable_path/../Frameworks and
       
  5663 @executable_path/../PrivateFrameworks (if they exist), as well as the dirs
       
  5664 in DYLD_FRAMEWORK_PATH (if set). (steffen)
       
  5665 
       
  5666 --- Released 8.4.1, October 22, 2002 --- See ChangeLog for details ---
       
  5667 
       
  5668 2002-10-28 (bug fix)[627660] [package unknown] chaining for platform specifics
       
  5669 
       
  5670 2002-10-29 (bug fix)[627546] verbose [load] (dyld) error mesages on MacOSX
       
  5671 
       
  5672 2002-11-01 (bug fix) [package provide registry] consistent versions.
       
  5673 
       
  5674 2002-11-06 (bug fix)[582039] missing ar program -> configuration error
       
  5675 
       
  5676 2002-11-06 (feature enhancement) added new TclInThreadExit function to
       
  5677 test for thread exit vs whole process exit condition. The TclInExit
       
  5678 function now correctly returns 1 during Tcl_Finalize processing.
       
  5679         *** POTENTIAL INCOMPATIBILITY ***
       
  5680 
       
  5681 2002-11-13 (bug fix)[615043] some execution traces were not firing
       
  5682 
       
  5683 2002-11-18 (bug fix)[634856] multiple signs no longer accepted as valid integer
       
  5684 [string is integer ++1] => 0
       
  5685         *** POTENTIAL INCOMPATIBILITY ***
       
  5686 
       
  5687 2002-11-26 (bug fix)[593810,597924] clean exit of channel worker threads on Win
       
  5688 
       
  5689 2002-11-28 (new feature) `make valgrind` target
       
  5690 
       
  5691 2002-12-03 (bug fix)[615304] repeated load/unload of Tcl now possible
       
  5692 
       
  5693 2002-12-11 (bug fix)[647307] negative return codes now propagated by procs
       
  5694 
       
  5695 2002-12-11 (bug fix)[648441] syntax error in [expr 0x] now detected.
       
  5696 
       
  5697 2003-01-07 (bug fix)[633204] [catch {return}] => 2 (not 0)
       
  5698 
       
  5699 2003-01-09 (bug fix)[634151] [file (a|m)time $nonASCIIpath $time] now works
       
  5700 
       
  5701 2003-01-16 (bug fix) dde eval with {} service name does not crash.
       
  5702 => dde 1.2.1
       
  5703 
       
  5704 2003-01-16 (bug fix)[635200,655645,615043,571385] many command trace fixes
       
  5705 
       
  5706 2003-01-31 (bug fix)[675614,678415,676978] tcltest conflicts in cleanup
       
  5707 and -outfile; also failure in space-containing path; also missing [close]
       
  5708 => tcltest 2.2.2
       
  5709 
       
  5710 2003-02-01 (bug fix)[670042] corrected [info loaded {}] for static
       
  5711 packages in multiple interps.
       
  5712 
       
  5713 2003-02-01 (bug fix)[675356] [clock clicks {}]; [clock clicks -] - syntax errs
       
  5714 
       
  5715 2003-02-01 (bug fix)[656660] MT-safety for [clock format] 
       
  5716 
       
  5717 2003-02-03 (bug fix)[651271] command rename traces get fully-qualified names
       
  5718         *** POTENTIAL INCOMPATIBILITY ***
       
  5719 
       
  5720 2003-02-07 (performance improvement) [glob] on Windows is 2.5 times faster
       
  5721 
       
  5722 2003-02-07 (feature change) lack of Cygwin support indicated by config error
       
  5723 
       
  5724 2003-02-11 (bug fix)[684744] [info complete] stopped by \x00
       
  5725 
       
  5726 2003-02-11 (bug fix)[685445] [glob -types l] missed broken symlinks on Unix
       
  5727 
       
  5728 2003-02-11 (bug fix) [lsearch -regexp $a $a] doesn't crash
       
  5729 
       
  5730 2003-02-13 (bug fix)[685926] accept non-ASCII7 for tcl_platform(user) on Win
       
  5731 
       
  5732 2003-02-15 (bug fix)[673714] stop crash when Tcl_DeleteEvents deletes last
       
  5733 
       
  5734 2003-02-15 (bug fix)[681841] parser missed some missing ] syntax errors
       
  5735 
       
  5736 2003-02-17 (bug fix)[684756] memory leak during command rename plugged
       
  5737 
       
  5738 2003-02-18 (bug fix)[689100] reduced per-thread memory overhead
       
  5739 
       
  5740 2003-02-18 (platform support)[651811] use xnet library on HP 11 (64 bit).
       
  5741 
       
  5742 2003-02-20 (bug fix)[Patch 689341] correct jis round-trip encoding
       
  5743 
       
  5744 2003-02-20 (bug fix)[689835] stop MacOSX hang trying to read a write-only pipe
       
  5745 
       
  5746 2003-02-07 (performance improvement) [tclPkgUnknown]: fewer vfs calls
       
  5747 
       
  5748 2003-02-18 (platform support) cut and splice procs for file channels on Mac
       
  5749 
       
  5750 2003-02-21 (bug fix)[690774] [binary scan] failed on some wide ints
       
  5751 
       
  5752 2003-02-22 (bug fix)[571002] plugged data leak during thread exit
       
  5753 
       
  5754 2003-02-25 (feature change) [pkg_mkIndex -load]: case-insensitive match
       
  5755         *** POTENTIAL INCOMPATIBILITY ***
       
  5756 
       
  5757 2003-02-27 (bug fix)[694232] stop [lsearch -start 0 {} x] segfault
       
  5758 
       
  5759 --- Released 8.4.2, March 3, 2003 --- See ChangeLog for details ---
       
  5760 
       
  5761 2003-03-06 (bug fix)[699042] Correct case-insensitive unicode string
       
  5762 comparison in Tcl_UniCharNcasecmp
       
  5763 
       
  5764 2003-03-11 (bug fix) Corrected loading of tclpip8x.dll on Win9x
       
  5765 
       
  5766 2003-03-12 (bug fix)[702383] Corrected parsing of interp create --
       
  5767 
       
  5768 2003-03-12 (bug fix)[685106] Correct Tcl_SubstObj handling of \x00 bytes
       
  5769 
       
  5770 2003-03-14 (bug fix)[702622 699060] Correct wide int issues in 'format'
       
  5771 
       
  5772 2003-03-14 (bug fix)[698146] Remove assumption that file times and longs
       
  5773 are the same size.
       
  5774 
       
  5775 2003-03-18 (bug fix)[697862] Allow Tcl to differentiate between reparse
       
  5776 points which are symlinks and mounted drives on Windows
       
  5777 
       
  5778 2003-03-19 (bug fix)[705406] Bad command count on TCL_OUT_LINE_COMPILE
       
  5779 
       
  5780 2003-03-20 (bug fix)[707174] Store pointers to notifier funcs in a struct
       
  5781 to work around some platform linker issues
       
  5782 
       
  5783 2003-03-22 (bug fix)[708218] Load correct (non-)debug dll for dde or
       
  5784 registry
       
  5785 
       
  5786 2003-03-24 (bug fix)[631741 696893] Fixing ObjMakeUpvar's lookup algorithm
       
  5787 for the created local variable
       
  5788 
       
  5789 2003-04-07 (bug fix)[713562] Make sure that tclWideIntType is defined and
       
  5790 somewhat sensible everywhere
       
  5791 
       
  5792 2003-04-07 (bug fix)[711371] Corrected string limits of arguments
       
  5793 interpolated in error messages for 'if'
       
  5794 
       
  5795 2003-04-11 (bug fix)[718878] Corrected inconsistent results of
       
  5796 [string is integer] observed on systems where sizeof(long) != sizeof(int)
       
  5797 
       
  5798 2003-04-12 (bug fix) Substantial changes to the Windows clock synch
       
  5799 phase-locked loop in a quest for improved loop stability
       
  5800 
       
  5801 2003-04-16 [713562] Made changes so that the "wideInt" Tcl_ObjType is
       
  5802 defined on all platforms, even those where TCL_WIDE_INT_IS_LONG is defined.
       
  5803 Also made the Tcl_Value struct have a wideValue field on all platforms.
       
  5804 Potential incompatibility for TCL_WIDE_INT_IS_LONG platforms because that
       
  5805 struct changes size.
       
  5806         *** POTENTIAL INCOMPATIBILITY ***
       
  5807 
       
  5808 2003-04-25 (bug fix)[727271] Catch any errors returned by the Windows
       
  5809 functions handling TLS ASAP instead of waiting to get some mysterious crash
       
  5810 later on due to bogus pointers.
       
  5811 
       
  5812 2003-04-29 (bug fix) Correct 'glob -path {[tcl]} *', where leading
       
  5813 special character instead lists files in '/'.  Bug only occurs on Windows
       
  5814 where '\' is also a directory separator.
       
  5815 
       
  5816 2003-05-09 (bug fix)[731754] Fixed memory leak in threaded allocator on
       
  5817 Windows caused by treating cachePtr as a TLS index
       
  5818 
       
  5819 2003-05-10 (bug fix)[710642] Ensure cd is thread-safe
       
  5820 
       
  5821 2003-05-10 (bug fix)[718002] Correct mem leak on closing a Windows serial
       
  5822 port
       
  5823 
       
  5824 2003-05-10 (bug fix)[714106] Prevent string repeat crash when overflow
       
  5825 sizes were given (throws error).
       
  5826 
       
  5827 2003-05-13 (feature enhancement)[736774] Use new versioned bundle resource
       
  5828 API to get tcl runtime library for TCL_VERSION on Mac OS X.
       
  5829 
       
  5830 2003-05-13 (bug fix)[711232] Worked around the issue of realpath() not
       
  5831 being thread-safe on Mac OS X by defining NO_REALPATH for threaded builds
       
  5832 on Mac OS X.
       
  5833 
       
  5834 2003-05-14 (bug fix)[557030] Correct handling of the gb2312 encoding by
       
  5835 making it an alias of the euc-cn encoding and creating a gb2312-raw
       
  5836 encoding for the original.  Most uses of gb2312 really mean euc-cn.
       
  5837 
       
  5838 2003-05-14 (bug fix)[736421] Corrected another putenv() copy behavior
       
  5839 problem when compiling on Windows and using Microsoft's runtime.
       
  5840 
       
  5841 --- Released 8.4.3, May 20, 2003 --- See ChangeLog for details ---
       
  5842 
       
  5843 2003-05-23 (bug fix)[726018] reverted internals change to the
       
  5844 'cmdName' Tcl_ObjType that broke several extensions (TclBlend, e4graph...)
       
  5845 in the 8.4.3 release.
       
  5846 
       
  5847 2003-06-10 (bug fix)[495830] stop eval of bytecode in deleted interp.
       
  5848 
       
  5849 2003-06-17 (bug fix) corrections to regexp when matching emtpy string.
       
  5850 
       
  5851 2003-06-25 (bug fix)[748957] -*ieee compiler flags for Tru64 builds.
       
  5852 
       
  5853 2003-07-11 (bug fix) [pkg_mkIndex] indexes provided packages, not indexed ones.
       
  5854 
       
  5855 2003-07-15 (feature enhancement) MacOSX build system rewrite.
       
  5856 
       
  5857 2003-07-15 (bug fix)[771613] corrected segfault in [if] (buffer overflow)
       
  5858 
       
  5859 2003-07-16 (bug fix)[756791] corrected assumption that Tcl_Free == free
       
  5860 
       
  5861 2003-07-16 (feature enhancement) -DTCL_UTF_MAX=6 compile option forces 
       
  5862 internal UCS-4 representation of Unicode (default is recommended UCS-2).
       
  5863 
       
  5864 2003-07-16 (bug fix)[767578] 64-bit corrections in thread notifier.
       
  5865 
       
  5866 2003-07-16 (bug fix)[759607] Safe Base tests normalized paths.
       
  5867 
       
  5868 2003-07-16 (feature enhancement)[Patch 679315] improved Cygwin path support
       
  5869 
       
  5870 2003-07-18 (bug fix)[706359] corrected broken -output option of [tcltest::test]
       
  5871 => tcltest 2.4.4
       
  5872 
       
  5873 2003-07-18 (bug fix)[753315] MT-safety of VFS records.
       
  5874 
       
  5875 2003-07-18 (bug fix)[759888] support for user:pass in URL by [http::geturl]
       
  5876 => http 2.4.4
       
  5877 
       
  5878 Improved documentation, new tests, and some code cleanup.
       
  5879 [655300, 720634, 735364, 748700, 756112, 756744, 756951, 758488, 760768,
       
  5880 763312, 769895, 771539, 771840, 771947, 771949, 772333]
       
  5881 
       
  5882 --- Released 8.4.4, July 22, 2003 --- See ChangeLog for details ---
       
  5883 
       
  5884 2003-07-23 (bug fix)[775976] fix registry compilation for VC7.
       
  5885 
       
  5886 2003-08-05 (enhancement)[781585] Use Tcl_ResetResult in bytecodes to
       
  5887 prevent potential costly Tcl_Obj duplication.
       
  5888 
       
  5889 2003-08-06 (bug fix)[781609] prevent non-Windows platforms from trying to
       
  5890 use the registry package inside msgcat.
       
  5891 
       
  5892 2003-08-27 (bug fix)[411825] Fix TclNeedSpace to handle non-breaking space
       
  5893 (\u00A0) and backslash escapes correctly.
       
  5894 
       
  5895 2003-09-01 (bug fix)[788780] Fix thread-safety issues in filesystem records.
       
  5896 
       
  5897 2003-09-19 (bug fix)[804681] Protect ::errorInfo and ::errorCode traces
       
  5898 from corrupting stack.
       
  5899 
       
  5900 2003-09-23 (bug fix)[218871] Fix handling of glob-sensitive chars in
       
  5901 auto_load and auto_import.
       
  5902 
       
  5903 2003-10-03 (bug fix)[811483] Fixed refcount management for command and
       
  5904 execution traces.
       
  5905 
       
  5906 2003-10-04 (bug fix)[789040] Fixed exec command.com error for Win9x.
       
  5907 
       
  5908 2003-10-06 (bug fix)[767834, 813273] Fixed volumerelative file
       
  5909 normalization and 'file join' inconsistencies.
       
  5910 
       
  5911 2003-10-08 (bug fix)[769812] Fix Tcl_NumUtfChars string length calculation
       
  5912 when negative parameter is given.
       
  5913 
       
  5914 2003-10-22 (bug fix)[800106] Handle VFS mountpoints inside glob'd dirs.
       
  5915 
       
  5916 2003-10-22 (bug fix)[599468] Watch for FD_CLOSE too on Windows when
       
  5917 asked for writable events by the generic layer.
       
  5918 
       
  5919 2003-10-23 (bug fix)[813606] Detect OS X pipes correctly.
       
  5920 
       
  5921 2003-11-05 (bug fix)[832657] Allow .. in libpath initialization.
       
  5922 
       
  5923 2003-11-11 (bug fix) Improve AIX-64 build configuration.
       
  5924 
       
  5925 2003-11-17 (bug fix)[230589, 504785, 505048, 703709, 840258] fixes to
       
  5926 various odd regexp "can't happen" bugs.
       
  5927 
       
  5928 --- Released 8.4.5, November 20, 2003 --- See ChangeLog for details ---
       
  5929 
       
  5930 2003-12-02 (bug fix)[851747] object sharing fix in [binary scan]
       
  5931 
       
  5932 2003-12-09 (platform support)[852369] update errno usage for recent glibc
       
  5933 
       
  5934 2003-12-12 (bug fix)[858937] fix for [file normalize ~nobody] 
       
  5935 
       
  5936 2003-12-17 (bug fix)[839519] fixed two memory leaks (vasiljevic)
       
  5937 
       
  5938 2004-01-09 (bug fix)[873311] fixed infinite loop in TclFinalizeFilesystem
       
  5939 
       
  5940 2004-02-02 (bug fix)[405995] Tcl_Ungets buffer filling fix
       
  5941 
       
  5942 2004-02-04 (bug fix)[833910] tcltest command line option parsing error
       
  5943 => tcltest 2.4.5
       
  5944 
       
  5945 2004-02-04 (bug fix)[833637] code error in tcltest -preservecore operation
       
  5946 
       
  5947 2004-02-12 (feature enhancement) update HP-11 build libs setup
       
  5948 
       
  5949 2004-02-17 (bug fix)[849514,859251] corrected [file normailze] of $link/.. 
       
  5950 
       
  5951 2004-02-17 (bug fix)[772288] Unix std channels forced to exist at startup.
       
  5952 
       
  5953 2004-02-17 (new default) tcltest::configure -verbose {body error}
       
  5954 
       
  5955 2004-02-19 (bug fix) init.tcl search path with unusual --libdir (samson)
       
  5956 
       
  5957 2004-02-25 (bug fix)[554068] stopped broken [exec] quoting of { (gravereaux)
       
  5958 
       
  5959 2004-02-25 (bug fix)[888777] plugged memory leak with long host names (cassoff)
       
  5960 
       
  5961 2004-03-01 (bug fix)[462580] corrected level interpretation of Tcl_CreateTrace
       
  5962 
       
  5963 2004-03-01 (platform support)[218561] Allow 64-bit configure on IRIX64-6.5*
       
  5964 
       
  5965 --- Released 8.4.6, March 1, 2004 --- See ChangeLog for details ---
       
  5966 
       
  5967 2004-03-08 (bug fix)[910525] [glob -path] in root directory (darley)
       
  5968 
       
  5969 2004-03-15 (bug fix)[916795] syntax error -> compiler segfault (sofer,porter)
       
  5970 
       
  5971 2004-03-29 (bug fix)[920667] install into any Unicode path on Win (hobbs)
       
  5972 
       
  5973 2004-03-31 (bug fix)[811457] support translation to "" (porter)
       
  5974 2004-03-31 (bug fix)[811461] ignore locales with no "language" part (porter)
       
  5975 => msgcat 1.3.2
       
  5976 
       
  5977 2004-04-07 (platform support) properly substitute more values in Windows
       
  5978 tclConfig.sh (hobbs)
       
  5979 
       
  5980 2004-04-23 (bug fix)[930851] reset channel EOF when eofchar changes (kupries)
       
  5981 
       
  5982 2004-05-03 (bug fix)[947070] stack overflow prevention on Win (kenny)
       
  5983 
       
  5984 2004-05-03 (bug fix)[868853] fix leak in [fconfigure $serial -xchar] (cassoff)
       
  5985 
       
  5986 2004-04-05 (bug fix)[928353,929892,928808,947440,948177] test fixes: OSX
       
  5987 (abner)
       
  5988 
       
  5989 2004-05-04 (bug fix) crash: [cd] w/ volumerelative $HOME (hobbs)
       
  5990 
       
  5991 2004-05-05 (bug fix)[794839] socket connect error -> r/w fileevents
       
  5992 (gravereaux)
       
  5993 
       
  5994 2004-05-14 (bug fix)[940278,922848] [clock] notices $::env(TZ) changes, 
       
  5995 gmt works on all platforms. (kenny, welton, glessner)
       
  5996 
       
  5997 2004-05-18 (bug fix)[500285,500389,852944] [clock %G %V] ISO8601 week numbers
       
  5998 (kenny)
       
  5999 
       
  6000 2004-05-22 (bug fix)[735335,736729] variable name resolution error (sofer)
       
  6001 
       
  6002 2004-05-24 (bug fix) support for non-WIDE_INT aware math functions (hobbs)
       
  6003 
       
  6004 2004-05-25 (new feature) [http::config -urlencoding] (hobbs)
       
  6005 => http 2.5.0
       
  6006 
       
  6007 2004-05-26 (bug fix)[960926] file count doubled when -singleproc 1 (porter)
       
  6008 => tcltest 2.2.6
       
  6009 
       
  6010 2004-05-27 (bug fix)[949905] corrected utf-8 encoding of \u0000 on I/O (max)
       
  6011 
       
  6012 2004-06-05 (bug fix)[976722] hi-res clock fixes: Win
       
  6013 (godfrey, suchenwirth, kenny)
       
  6014 
       
  6015 2004-06-10 (bug fix)[932314] bad return values from Tcl_FSChdir() (vasiljevic)
       
  6016 
       
  6017 2004-06-14 (bug fix) correct dde hangs w/non-responsive apps (thoyts)
       
  6018 => dde 1.2.3
       
  6019 
       
  6020 2004-06-21 (platform support) exceptions w/ gcc -O3 on Win (dejong)
       
  6021 
       
  6022 2004-06-29 (bug fix)[981733] SafeBase global pollution (fellows)
       
  6023 
       
  6024 2004-07-02 (new feature)[TIP 202] pipe redirection 2>@1 (hobbs)
       
  6025 
       
  6026 2004-07-03 (bug fix)[908375] round() wide integer support (lavana, sofer)
       
  6027 
       
  6028 2004-07-15 (bug fix)[770053] crash in thread finalize of notifier (vasiljevic)
       
  6029 
       
  6030 2004-07-15 (bug fix)[990453] plug mutex leaks on reinit
       
  6031 (mistachkin, vasiljevic)
       
  6032 
       
  6033 2004-07-16 (bug fix)[990500] clean exit of notifier thread
       
  6034 (mistachkin, kupries)
       
  6035 
       
  6036 2004-07-19 (bug fix)[987967] improved self-init of mutexes on Win (vasiljevic)
       
  6037 
       
  6038 2004-07-19 (bug fix)[874058] improved build configuration on 64-bit systems.
       
  6039 Corrects Tcl_StatBuf definition issues.  (hobbs)
       
  6040 
       
  6041 2004-07-20 (bug fix) pure Darwin/CFLite support (steffen)
       
  6042 
       
  6043 2004-07-20 (bug fix)[736426] plug leaky allocator reinit (mistachkin, kenny)
       
  6044 
       
  6045 --- Released 8.4.7, July 26, 2004 --- See ChangeLog for details ---
       
  6046 
       
  6047 2004-07-28 (bug fix)[999084] no deadlock in re-entrant Tcl_Finalize (porter)
       
  6048 
       
  6049 2004-08-10 (bug fix) thread IDs on 64-bit systems (ratcliff,vasiljevic)
       
  6050 
       
  6051 2004-08-13 (bug fix) avoid malicious code acceptance by [mclocale] (porter)
       
  6052 => msgcat 1.3.3
       
  6053 
       
  6054 2004-08-16 (bug fix)[1008314] Tcl_SetVar TCL_LIST_ELEMENT (sofer,porter)
       
  6055 
       
  6056 2004-08-19 (bug fix)[1011860] [scan %ld] fix on LP64 (fellows,porter)
       
  6057 
       
  6058 2004-08-30 (bug fix) [string map $x $x] crash (fellows)
       
  6059 
       
  6060 2004-09-01 (bug fix)[1020445] WIN64 support (hobbs)
       
  6061 
       
  6062 2004-09-07 (bug fix)[1016167] [after] overwrites its imports (kenny)
       
  6063 
       
  6064 2004-09-08 (bug fix) fixed [clock format 0 -format %k] (kenny)
       
  6065 
       
  6066 2004-09-09 (bug fix)[560297] fixed broken [namespace forget] logic (porter)
       
  6067 
       
  6068 2004-09-09 (bug fix)[1017299] fixed [namespace import] cycle prevention (porter)
       
  6069 
       
  6070 2004-09-10 (performance) $x[set x {}] is now fast [K $x [set x {}]] (sofer)
       
  6071 
       
  6072 2004-09-10 (bug fix)[868489] better control over int <-> wideInt (fellows,kenny)
       
  6073 
       
  6074 2004-09-10 (bug fix)[1025359] POSIX errorCode from wide seeks (kupries,fellows)
       
  6075 
       
  6076 2004-09-18 (bug fix)[868467] fix [expr 5>>32] => 0, not 5 (hintermayer,fellows)
       
  6077 
       
  6078 2004-09-23 (bug fix)[1016726] fix `make clean` in static config (leitgeb,dejong)
       
  6079 
       
  6080 2004-09-29 (bug fix)[1036649] syntax error in [subst] => buffer overflow (sofer)
       
  6081 
       
  6082 2004-09-30 (bug fix)[1038021] save/restore error state: var traces (porter)
       
  6083 
       
  6084 2004-10-08 (bug fix)[954263] case insensitive [file exec] for Win (hobbs,darley)
       
  6085 
       
  6086 2004-10-14 (performance) [info commands/globals/procs/vars $pattern] faster
       
  6087 		when $pattern is trivial (fellows)
       
  6088 
       
  6089 2004-10-28 (bug fix)[1030548] restore the --enable-symbols --enable-threads
       
  6090 		build on Win (mistachkin,kenny,kupries)
       
  6091 
       
  6092 2004-10-29 (bug fix)[1055673] fix command line syntax error message (porter)
       
  6093 => tcltest 2.2.7
       
  6094 
       
  6095 2004-10-31 (bug fix)[1057461] fix [info globals ::varName] (fellows)
       
  6096 
       
  6097 2004-11-02 (bug fix)[761471] fix [expr {NaN == NaN}] (sofer)
       
  6098 
       
  6099 2004-11-02 (bug fix)[1017151] misleading errorInfo after tests (seeger,porter)
       
  6100 
       
  6101 2004-11-11 (bug fix)[1034337] recursive file delete, MacOSX (steffen)
       
  6102 
       
  6103 2004-11-12 (bug fix)[1004065] stop crash when TCL_UTF_MAX==6 (hobbs,porter)
       
  6104 
       
  6105 2004-11-15 (bug fix)[10653678] [trace variable],[trace remove] interop (porter)
       
  6106 
       
  6107 2004-11-16 (bug fix)[695441] [tcl_findLibrary] search $::auto_path too (porter)
       
  6108 
       
  6109 2004-11-16 (bug fix)[1067709] crash in [fconfigure -ttycontrol] (hobbs)
       
  6110 
       
  6111 2004-11-18 (new feature) configure options --enable-man-suffix (max)
       
  6112 
       
  6113 Documentation improvements [759545,1058446,1062647,1065732,etc.]
       
  6114 Test suite expansion [1036649,1001997,etc.]
       
  6115 
       
  6116 --- Released 8.4.8, November 18, 2004 --- See ChangeLog for details ---
       
  6117 
       
  6118 2004-11-22 (bug fix)[1030465] Improve HAVE_TYPE_OFF64_T check (dejong)
       
  6119 
       
  6120 2004-11-23 (bug fix)[1072654] Fixed segfault in info vars trivial
       
  6121 matching branch (new in 8.4.8) (porter)
       
  6122 
       
  6123 2004-11-23 (bug fix)[1043129] Fixed the treatment of backslashes in file
       
  6124 join on Windows (darley)
       
  6125 
       
  6126 2004-11-24 (bug fix)[1001325, 1071701] Fixed readdir_r detection and usage
       
  6127 (dejong, kenny, porter)
       
  6128 
       
  6129 2004-11-24 (bug fix)[1071807] Fixed all uses of 'select' to use standard
       
  6130 macros rather than older bit-whacking style (kenny)
       
  6131 
       
  6132 2004-11-26 (bug fix)[1072136] Remove file normalize on tcl_findLibrary
       
  6133 search path uniqification added in 8.4.8 (porter)
       
  6134 
       
  6135 2004-12-02 (bug fix)[1074671] Ensure tilde paths are not returned specially
       
  6136 by 'glob' (darley)
       
  6137 
       
  6138 --- Released 8.4.9, December 6, 2004 --- See ChangeLog for details ---
       
  6139 
       
  6140 2004-12-29 (platform support)[1092952,1091967] MSVC7, gcc OPT compiles (hobbs)
       
  6141 
       
  6142 2005-01-05 (bug fix)[1084595] encoding maps for some Chinese locales (fellows)
       
  6143 
       
  6144 2005-01-06 (performance)[1020491] [http::mapReply] (fellows)
       
  6145 => http 2.5.1
       
  6146 
       
  6147 2005-01-25 (bug fix)[1101670] [auto_reset] update for [namespace] (porter)
       
  6148 
       
  6149 2005-01-27 (new feature)[TIP 218] Tcl_Channel API update for threads (kupries)
       
  6150 
       
  6151 2005-01-27 (bug fix)[1109484] Tcl_Expr* updates for Tcl_WideInt (hobbs)
       
  6152 
       
  6153 2005-01-28 (platform support)[1021871] Solaris gcc 64-bit support (hobbs)
       
  6154 
       
  6155 2005-02-10 (bug fix)[1119369] Tcl_EvalObjEx: avoid shimmer loss of List intrep
       
  6156 (sofer,macdonald)
       
  6157 
       
  6158 2005-02-10 (platform support) correct gcc builds for AIX-4+, HP-UX-11 (hobbs)
       
  6159 
       
  6160 2005-02-24 (bug fix)[1119798] prevent [source $directory] (porter,mpettigr)
       
  6161 => tcltest 2.2.8
       
  6162 
       
  6163 2005-03-10 (bug fix)[1153871] bad ClientData cast (porter,victorovich)
       
  6164 
       
  6165 2005-03-15 (platform support) OpenBSD ports patch (thoyts)
       
  6166 
       
  6167 2005-03-15 (platform support)[1163422] time_t wider than long (kenny)
       
  6168 
       
  6169 2005-03-18 (bug fix)[1115904] restore recursion limit in direct eval (porter)
       
  6170 
       
  6171 2005-03-29 (platform support) allow msys builds without cygwin (hobbs)
       
  6172 
       
  6173 2005-04-06 (bug fix)[1178445] fix memory waste at thread exit (vasiljevic)
       
  6174 
       
  6175 2005-04-13 (bug fix) min buffer size dropped from 10 to 1 byte (gravereaux)
       
  6176 
       
  6177 2005-04-19 (bug fix)[947693] Windows pipes honor -blocking during close
       
  6178 (gravereaux)  ***POTENTIAL INCOMPATIBILITY***
       
  6179 async pipes on windows, set -blocking 1 before [close] to receive exit status
       
  6180 
       
  6181 2005-04-20 (bug fix)[1090869] Tcl_GetInt accept 0x80000000, 64-bit
       
  6182 (porter,singh)
       
  6183 
       
  6184 2005-04-22 (bug fix)[1187123] [string is boolean] respect EIAS (porter)
       
  6185 
       
  6186 2005-04-25 (platform support) builds on Mac OS X 10.1 (steffen)
       
  6187 
       
  6188 2005-05-06 (platform support) x86_64 Solarix cc and Solaris 10 builds (hobbs)
       
  6189 
       
  6190 2005-05-14 (platform support) Mac OSX: configurable CoreFoundation API
       
  6191 (steffen)
       
  6192 
       
  6193 2005-05-14 (platform support) Mac OSX: use realpath when threadsafe (steffen)
       
  6194 
       
  6195 2005-05-20 (bug fix)[1201589] boolean literal prefix in expressions (porter)
       
  6196 
       
  6197 2005-05-24 (platform support) Darwin build support merged into unix (steffen)
       
  6198 
       
  6199 2005-05-24 (new feature)[1202209] Mac OSX: support [load] of .bundle binaries
       
  6200 Can support [load] from memory as well (steffen)
       
  6201 
       
  6202 2005-05-24 (new feature)[1202178] [time] returns non-integer result (steffen)
       
  6203 
       
  6204 2005-05-31 (bug fix)[1082283] Unix: notifier thread now joinable (vasiljevic)
       
  6205 
       
  6206 Documentation improvements [1075433,1085127,1117017,1124160,1149605,etc.]
       
  6207 
       
  6208 --- Released 8.4.10, June 4, 2005 --- See ChangeLog for details ---
       
  6209 
       
  6210 2005-06-06 (bug fix)[1213678] Windows/gcc: crash in stack.test (kenny)
       
  6211 
       
  6212 2005-06-07 (bug fix) Unix: --enable-threads compile failure (fellows)
       
  6213 
       
  6214 2005-06-18 (bug fix)[1154163] [format %h] on 64-bit OS's (kraft,fellows)
       
  6215 
       
  6216 2005-06-21 (bug fix)[1201035,1224585] execution trace crashes (porter)
       
  6217 
       
  6218 2005-06-21 (bug fix)[1194458] Windows: [file split] (kenny,porter)
       
  6219 
       
  6220 2005-06-22 (bug fix)[1225727] Windows: pipe finalization crash (kenny)
       
  6221 
       
  6222 2005-06-22 (bug fix)[1225571] Windows: [file pathtype] buffer overflow (thoyts)
       
  6223 
       
  6224 2005-06-22 (bug fix)[1225044] Windows: UMR in pipe close (kenny)
       
  6225 
       
  6226 2005-06-23 (bug fix)[1225957] Windows/gcc: crashes in assembler code (kenny)
       
  6227 
       
  6228 2005-06-27 (revert)[1101670] [auto_reset] disabled in non-global namespace.
       
  6229 Restores Tcl 8.4.9 behavior (porter)
       
  6230 
       
  6231 --- Released 8.4.11, June 28, 2005 --- See ChangeLog for details ---
       
  6232 
       
  6233 2005-07-01 (bug fix)[1222872] notifier spurious wake-up protection (vasiljevic)
       
  6234 
       
  6235 2005-07-05 (bug fix)[1077262] improved Tcl_Encoding lifetimes (porter)
       
  6236 
       
  6237 2005-07-05 (bug fix)[1230597] allow idempotent [namespace import] (porter)
       
  6238 
       
  6239 2005-07-07 (bug fix)[1095909] readdir_r usage purged (hobbs)
       
  6240 
       
  6241 2005-07-22 (enhancement)[1237755] 8.4 features in script library (fradin,porter)
       
  6242 
       
  6243 2005-07-24 (new feature) configure macros SC_PROG_TCLSH, SC_BUILD_TCLSH (dejong) 
       
  6244 2005-07-26 (bug fix)[1047286] cmd delete traces during namespace delete (porter)
       
  6245 
       
  6246 2005-07-26 (new unix feature)[1231015] ${prefix}/share on ::tcl_pkgPath (dejong)
       
  6247 
       
  6248 2005-07-28 (unix bug fix)[1245953] O_APPEND for >> redirection (fellows)
       
  6249 
       
  6250 2005-07-29 (bug fix)[1247135] [info globals] return only existing vars (fellows)
       
  6251 
       
  6252 2005-07-30 (new Darwin feature) TCL_LOAD_FROM_MEMORY configuration (steffen)
       
  6253 
       
  6254 2005-08-05 (bug fix)[1241572] correct [expr abs($LONG_MIN)] (kenny)
       
  6255 
       
  6256 2005-08-05 (Solaris bug fix)[1252475] recognize cp1251 encoding (wagner,fellows)
       
  6257 
       
  6258 2005-08-17 (bug fix)[1217375] [file mkdir] race (diekhans,darley)
       
  6259 
       
  6260 2005-08-25 (bug fix)[1267380] [lrepeat] buffer overflow prevention (fellows)
       
  6261 
       
  6262 2005-08-29 (bug fix)[1275043] restore round() away from zero (kenny)
       
  6263 
       
  6264 2005-09-07 (bug fix)[1283976] invalid [format %c -1] result (porter)
       
  6265 
       
  6266 2005-09-15 (RHEL bug fix)[1287638] support open >2GB files RHEL 3 (palan)
       
  6267 
       
  6268 2005-09-30 (bug fix)[1306162] $argv encoding and list formatting (porter)
       
  6269 
       
  6270 2005-10-04 (bug fix)[1067708] [fconfigure -ttycontrol] leak (hobbs)
       
  6271 
       
  6272 2005-10-04 (bug fix)[1182373] [http::mapReply] update to RFC 3986 (aho,hobbs)
       
  6273 => http 2.5.2
       
  6274 
       
  6275 2005-10-04 (HPUX bug fix)[1204237] shl_load() and DYNAMIC_PATH (collins,hobbs)
       
  6276 
       
  6277 2005-10-05 (bug fix)[979640] buffer overrun mixing putenv(), ::env (bold,hobbs)
       
  6278 
       
  6279 2005-10-13 (bug fix)[1284178] [format] accept all integer values (porter)
       
  6280 
       
  6281 2005-10-22 (bug fix)[1251791] optimization exposed wide/int difference(sofer)
       
  6282 
       
  6283 2005-10-23 (bug fix)[1334947] value refcount error in var setting (sofer)
       
  6284 
       
  6285 2005-11-01 (bug fix)[1337941] Tcl_TraceCommand() -> crash (devilliers,porter)
       
  6286 
       
  6287 2005-11-03 (new Win NT/XP feature) Unicode console support (kovalenko,thoyts)
       
  6288 
       
  6289 2005-11-03 (bug fix)[1201171] [encoding system] in Tclkit (schekin,porter)
       
  6290 
       
  6291 2005-11-04 (bug fix)[1337229,1338280] [namespace delete] / unset traces (porter)
       
  6292 
       
  6293 2005-11-04 (enhancement) Korean timezone abbreviations (kenny)
       
  6294 
       
  6295 2005-11-04 (bug fix)[1317477] double encoding of time zone (kenny)
       
  6296 
       
  6297 2005-11-04 (Win enhancement)[1267871] extended exit codes (newman,thoyts)
       
  6298 
       
  6299 2005-11-04 (platform support)[1163896] LynxOS [load] (heidibr)
       
  6300 
       
  6301 2005-11-08 (bug fix)[1348775] unset trace memory leak (sofer)
       
  6302 
       
  6303 2005-11-08 (bug fix)[1162286] [package ifneeded] warns reported (lavana,porter)
       
  6304         *** POTENTIAL INCOMPATIBILITY ***
       
  6305 
       
  6306 2005-11-09 (bug fix)[1350293] [after $negative $script] fixed (kenny)
       
  6307 
       
  6308 2005-11-15 (Win bug fix)[926016,1353840] correct [file mtime] (kenny)
       
  6309 
       
  6310 2005-11-18 (bug fix)[1358369] URL parsing standards compliance (wu,fellows)
       
  6311 
       
  6312 2005-11-18 (bug fix)[1359094] Tclkit crash (thoyts, kupries)
       
  6313 
       
  6314 2005-11-18 (bug fix)[1355942,1355342] cmd delete trace/ namespace delete (sofer)
       
  6315 
       
  6316 2005-11-20 (bug fix)[1091431] Tcl_InitStubs failure crashes wish (english)
       
  6317 
       
  6318 2005-11-29 (bug fix)[1366683] [lsearch -regexp] backrefs (cleverly,fellows)
       
  6319 
       
  6320 2005-11-29 (enhancement)[1369597] Win 64: --enable-64bit=amd64|ia64 (hobbs)
       
  6321 
       
  6322 2005-12-05 (Darwin bug fix)[1034337] NFS recursive file delete (steffen)
       
  6323 
       
  6324 --- Released 8.4.12, December 3, 2005 --- See ChangeLog for details ---
       
  6325 
       
  6326 2005-12-09 (bug fix)[1374778] [lsearch -start $pastEnd] => -1 (fellows)
       
  6327 
       
  6328 2005-12-12 (bug fix)[1241572] correct [expr abs($LONG_MIN)] again (max)
       
  6329 
       
  6330 2005-12-12 (bug fix)[1377619] configure syntax error exposed in bash-3.1 (hobbs)
       
  6331 
       
  6332 2006-01-09 (bug fix)[1400572] [info level $l] => "namespace inscope" (porter)
       
  6333 
       
  6334 2006-01-23 (bug fix)[1410553] Tcl_GetRange Unicode confusion (twylite,spjuth)
       
  6335 
       
  6336 2006-03-06 (bug fix)[1439836,1444291] fix TCL_EVAL_{GLOBAL,INVOKE} handling
       
  6337 when auto-loading or exec traces are present (porter)
       
  6338 
       
  6339 2006-03-10 (bug fix)[1437595] Win socket finalize with threads (vasiljevic)
       
  6340 
       
  6341 2005-03-13 (revert 2005-07-26 change) ${prefix}/share on ::tcl_pkgPath (porter)
       
  6342 
       
  6343 2006-03-14 (bug fix)[1381436,859820] threadsafe Tcl_WaitPid (gravereaux,kupries)
       
  6344 
       
  6345 2006-03-14 (bug fix)[768659] pipeline error when last command missing (kupries)
       
  6346 
       
  6347 2006-03-18 (bug fix)[1193497] Win porting of [file writable] (darley,vogel)
       
  6348 
       
  6349 2006-03-28 (bug fix)[1064247] BSD: path normalization with realpath() (steffen)
       
  6350 
       
  6351 2006-03-28 (revert 2005-11-03 feature) Unicode console support (hobbs)
       
  6352         *** POTENTIAL INCOMPATIBILITY ***
       
  6353 
       
  6354 2006-04-03 (bug fix)[1462248] crash reading utf-8 chars spanning multiple
       
  6355 buffers at end of file (kraft,kupries)
       
  6356 
       
  6357 2006-04-04 (revert 2005-11-08)[1162286] [package ifneeded] warns (porter)
       
  6358         *** POTENTIAL INCOMPATIBILITY ***
       
  6359 
       
  6360 2006-04-05 (bug fix)[1464039] Tcl_GetIndexFromObj: empty key (fellows)
       
  6361 
       
  6362 2006-04-05 (bug fix) overdue dde, registry  patchelevel increments (porter)
       
  6363 => dde 1.2.4
       
  6364 => registry 1.1.4
       
  6365 
       
  6366 2006-04-06 (bug fix)[1457515] TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING
       
  6367 removed (steffen)
       
  6368 
       
  6369 2006-04-11 (bug fix)[1458266] enter/enterstep trace interference (leunissen)
       
  6370 
       
  6371 --- Released 8.4.13, April 19, 2006 --- See ChangeLog for details ---
       
  6372 
       
  6373 2006-05-04 (bug fix)[1480509] srand() accept wide input (porter,afredd)
       
  6374 
       
  6375 2006-05-05 (bug fix)[1481986] interactive Tcl_Main blocks main loop (porter,lin)
       
  6376 
       
  6377 2006-05-13 (bug fix)[1482718] proc re-compile: preserve the previous
       
  6378 bytecode while references still on the stack (porter,ryazanov)
       
  6379 
       
  6380 2006-05-13 (bug fix)[943995] fixed [glob] on VFS (porter)
       
  6381 
       
  6382 2006-05-27 (bug fix)[923072] Darwin: made unthreaded CoreFoundation notifier
       
  6383 naked-fork safe on Tiger (steffen)
       
  6384 
       
  6385 2006-05-31 (revert 2006-01-09)[1400572] namespace inscope & info level (porter)
       
  6386         *** POTENTIAL INCOMPATIBILITY ***
       
  6387 
       
  6388 2006-06-14 (platform support)[1424909] MS VS2005 support (thoyts)
       
  6389 
       
  6390 2006-07-20 (platform support) Mac OS X weak linking (steffen)
       
  6391 
       
  6392 2006-07-20 (bug fix) Darwin: execve() works iff event loop not yet run (steffen)
       
  6393 
       
  6394 2006-08-18 (bug fix) intermittent failures in TclUnixWaitForFile() (steffen)
       
  6395 
       
  6396 2006-08-18 (platform support) Darwin x86_64 (steffen)
       
  6397 
       
  6398 2006-08-21 (bug fix)[1457797] Darwin 64-bit notifier hang (steffen)
       
  6399 
       
  6400 2006-08-21 (bug fix) Darwin: recursively called event loop (steffen)
       
  6401 
       
  6402 2006-08-30 (bug fix)[1548263] filesystem segfaults (hobbs,mccormack)
       
  6403 
       
  6404 2006-09-06 (bug fix)[999544] use of MT-safe system calls (vasiljevic)
       
  6405 
       
  6406 2006-09-10 (platform support) Darwin: msgcat use CFLocale (steffen)
       
  6407 => msgcat 1.3.4
       
  6408 
       
  6409 2006-09-22 (bug fix)[1562528] NULL terminates variadic calls (fellows,ryazanov)
       
  6410 
       
  6411 2006-09-26 (platform support) MSVC8 AMD64 support (thoyts)
       
  6412 
       
  6413 2006-10-05 (bug fix)[1570718] make [lappend $nonList] complain (sofer,virden)
       
  6414 
       
  6415 2006-10-05 (bug fix)[1122671] alignment fixes in unicode encoding routines
       
  6416 (hobbs,staplin)
       
  6417 
       
  6418 2006-10-05 (new feature) [set ::http::strict 1] (default value is 0) to enable
       
  6419 URL validity checking against RFC 2986 (hobbs)
       
  6420 => http 2.5.3
       
  6421 
       
  6422 --- Released 8.4.14, October 19, 2006 --- See ChangeLog for details ---
       
  6423 
       
  6424 2006-10-31 (platform support)[1582769] Fix build with VC2003 (thoyts)
       
  6425 
       
  6426 2006-11-07 (bug fix)[1586470] [file copy] on afs (kupries,dionizio)
       
  6427 
       
  6428 2006-11-26 (platform support)[1230558] --enable-64bit on more systems (steffen)
       
  6429 
       
  6430 2006-11-27 (bug fix)[1602208] use > 32 async sockets on 64bit system (fontaine)
       
  6431 
       
  6432 2007-01-25 (configure change) ensure CPPFLAGS env var used when set (steffen)
       
  6433 
       
  6434 2007-01-30 (enhancement) new target: `install-private-headers` (hobbs, steffen)
       
  6435 
       
  6436 2007-02-12 (bug fix)[1516109] escape encodings crossing chan buffers (dejong)
       
  6437 
       
  6438 2007-03-01 (bug fix)[1671138] compiled [foreach {} x {}] hangs (fellows)
       
  6439 
       
  6440 2007-03-10 (bug fix)[1675116] list shimmer crash in [lsort] (fellows)
       
  6441 
       
  6442 2007-03-13 (bug fix)[1671087] list shimmer crash in [foreach] (porter)
       
  6443 
       
  6444 2007-03-13 (bug fix)[1669489] list shimmer crash in [array set] (porter)
       
  6445 
       
  6446 2007-03-17 (bug fix)[1682211] buffer overflow in [registry keys] (kenny)
       
  6447 => registry 1.1.5
       
  6448 
       
  6449 2007-04-29 (bug fix) fts_open() crash on 64bit Darwin 8 or earlier (steffen)
       
  6450 
       
  6451 --- Released 8.4.15, May 25, 2007 --- See ChangeLog for details ---