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