summaryrefslogtreecommitdiffstats
path: root/changes
diff options
context:
space:
mode:
Diffstat (limited to 'changes')
-rw-r--r--changes3742
1 files changed, 0 insertions, 3742 deletions
diff --git a/changes b/changes
deleted file mode 100644
index 7b34909..0000000
--- a/changes
+++ /dev/null
@@ -1,3742 +0,0 @@
-Recent user-visible changes to Tcl:
-
-RCS: @(#) $Id: changes,v 1.41 1999/02/03 19:12:25 stanton Exp $
-
-1. No more [command1] [command2] construct for grouping multiple
-commands on a single command line.
-
-2. Semi-colon now available for grouping commands on a line.
-
-3. For a command to span multiple lines, must now use backslash-return
-at the end of each line but the last.
-
-4. "Var" command has been changed to "set".
-
-5. Double-quotes now available as an argument grouping character.
-
-6. "Return" may be used at top-level.
-
-7. More backslash sequences available now. In particular, backslash-newline
-may be used to join lines in command files.
-
-8. New or modified built-in commands: case, return, for, glob, info,
-print, return, set, source, string, uplevel.
-
-9. After an error, the variable "errorInfo" is filled with a stack
-trace showing what was being executed when the error occurred.
-
-10. Command abbreviations are accepted when parsing commands, but
-are not recommended except for purely-interactive commands.
-
-11. $, set, and expr all complain now if a non-existent variable is
-referenced.
-
-12. History facilities exist now. See Tcl.man and Tcl_RecordAndEval.man.
-
-13. Changed to distinguish between empty variables and those that don't
-exist at all. Interfaces to Tcl_GetVar and Tcl_ParseVar have changed
-(NULL return value is now possible). *** POTENTIAL INCOMPATIBILITY ***
-
-14. Changed meaning of "level" argument to "uplevel" command (1 now means
-"go up one level", not "go to level 1"; "#1" means "go to level 1").
-*** POTENTIAL INCOMPATIBILITY ***
-
-15. 3/19/90 Added "info exists" option to see if variable exists.
-
-16. 3/19/90 Added "noAbbrev" variable to prohibit command abbreviations.
-
-17. 3/19/90 Added extra errorInfo option to "error" command.
-
-18. 3/21/90 Double-quotes now only affect space: command, variable,
-and backslash substitutions still occur inside double-quotes.
-*** POTENTIAL INCOMPATIBILITY ***
-
-19. 3/21/90 Added support for \r.
-
-20. 3/21/90 List, concat, eval, and glob commands all expect at least
-one argument now. *** POTENTIAL INCOMPATIBILITY ***
-
-21. 3/22/90 Added "?:" operators to expressions.
-
-22. 3/25/90 Fixed bug in Tcl_Result that caused memory to get trashed.
-
-------------------- Released version 3.1 ---------------------
-
-23. 3/29/90 Fixed bug that caused "file a.b/c ext" to return ".b/c".
-
-24. 3/29/90 Semi-colon is not treated specially when enclosed in
-double-quotes.
-
-------------------- Released version 3.2 ---------------------
-
-25. 4/16/90 Rewrote "exec" not to use select or signals anymore.
-Should be more Sys-V compatible, and no slower in the normal case.
-
-26. 4/18/90 Rewrote "glob" to eliminate GNU code (there's no GNU code
-left in Tcl, now), and added Tcl_TildeSubst procedure. Added automatic
-tilde-substitution in many commands, including "glob".
-
-------------------- Released version 3.3 ---------------------
-
-27. 7/11/90 Added "Tcl_AppendResult" procedure.
-
-28. 7/20/90 "History" with no options now defaults to "history info"
-rather than to "history redo". Although this is a backward incompatibility,
-it should only be used interactively and thus shouldn't present any
-compatibility problems with scripts.
-
-29. 7/20/90 Added "Tcl_GetInteger", "Tcl_GetDouble", and "Tcl_GetBoolean"
-procedures.
-
-30. 7/22/90 Removed "Tcl_WatchInterp" procedure: doesn't seem to be
-necessary, since the same effect can be achieved with the deletion
-callbacks on individual commands. *** POTENTIAL INCOMPATIBILITY ***
-
-31. 7/23/90 Added variable tracing: Tcl_TraceVar, Tcl_UnTraceVar,
-and Tcl_VarTraceInfo procedures, "trace" command.
-
-32. 8/9/90 Mailed out list of all bug fixes since 3.3 release.
-
-33. 8/29/90 Fixed bugs in Tcl_Merge relating to backslashes and
-semi-colons. Mailed out patch.
-
-34. 9/3/90 Fixed bug in tclBasic.c: quotes weren't quoting ]'s.
-Mailed out patch.
-
-35. 9/19/90 Rewrote exec to always use files both for input and
-output to the process. The old pipe-based version didn't work if
-the exec'ed process forked a child and then exited: Tcl waited
-around for stdout to get closed, which didn't happen until the
-grandchild exited.
-
-36. 11/5/90 ERR_IN_PROGRESS flag wasn't being cleared soon enough
-in Tcl_Eval, allowing error messages from different commands to
-pile up in $errorInfo. Fixed by re-arranging code in Tcl_Eval that
-re-initializes result and ERR_IN_PROGRESS flag. Didn't mail out
-patch: changes too complicated to describe.
-
-37. 12/19/90 Added Tcl_VarEval procedure as a convenience for
-assembling and executing Tcl commands.
-
-38. 1/29/91 Fixed core leak in Tcl_AddErrorInfo. Also changed procedure
-and Tcl_Eval so that first call to Tcl_AddErrorInfo need not come from
-Tcl_Eval.
-
------------------ Released version 5.0 with Tk ------------------
-
-39. 4/3/91 Removed change bars from manual entries, leaving only those
-that came after version 3.3 was released.
-
-40. 5/17/91 Changed tests to conform to Mary Ann May-Pumphrey's approach.
-
-41. 5/23/91 Massive revision to Tcl parser to simplify the implementation
-of string and floating-point support in expressions. Newlines inside
-[] are now treated as command separators rather than word separators
-(this makes newline treatment consistent throughout Tcl).
-*** POTENTIAL INCOMPATIBILITY ***
-
-42. 5/23/91 Massive rewrite of expression code to support floating-point
-values and simple string comparisons. The C interfaces to expression
-routines have changed (Tcl_Expr is replaced by Tcl_ExprLong, Tcl_ExprDouble,
-etc.), but all old Tcl expression strings should be accepted by the new
-expression code.
-*** POTENTIAL INCOMPATIBILITY ***
-
-43. 5/23/91 Modified tclHistory.c to check for negative "keep" value.
-
-44. 5/23/91 Modified Tcl_Backslash to handle backslash-newline. It now
-returns 0 to indicate that a backslash sequence should be replaced by
-no character at all.
-*** POTENTIAL INCOMPATIBILITY ***
-
-45. 5/29/91 Modified to use ANSI C function prototypes. Must set
-"USE_ANSI" switch when compiling to get prototypes.
-
-46. 5/29/91 Completed test suite by providing tests for all of the
-built-in Tcl commands.
-
-47. 5/29/91 Changed Tcl_Concat to eliminate leading and trailing
-white-space in each of the things it concatenates and to ignore
-elements that are empty or have only white space in them. This
-produces cleaner output from the "concat" command.
-*** POTENTIAL INCOMPATIBILITY ***
-
-48. 5/31/91 Changed "set" command and Tcl_SetVar procedure to return
-new value of variable.
-
-49. 6/1/91 Added "while" and "cd" commands.
-
-50. 6/1/91 Changed "exec" to delete the last character of program
-output if it is a newline. In most cases this makes it easier to
-process program-generated output.
-*** POTENTIAL INCOMPATIBILITY ***
-
-51. 6/1/91 Made sure that pointers are never used after freeing them.
-
-52. 6/1/91 Fixed bug in TclWordEnd where it wasn't dealing with
-[] inside quotes correctly.
-
-53. 6/8/91 Fixed exec.test to accept return values of either 1 or
-255 from "false" command.
-
-54. 7/6/91 Massive overhaul of variable management. Associative
-arrays now available, along with "unset" command (and Tcl_UnsetVar
-procedure). Variable traces have been completely reworked:
-interfaces different both from Tcl and C, and multiple traces may
-exist on same variable. Can no longer redefine existing local
-variable to be global. Calling sequences have changed slightly
-for Tcl_GetVar and Tcl_SetVar ("global" is now "flags"). Tcl_SetVar
-can fail and return a NULL result. New forms of variable-manipulation
-procedures: Tcl_GetVar2, Tcl_SetVar2, etc. Syntax of variable
-$-notation changed to support array indexing.
-*** POTENTIAL INCOMPATIBILITY ***
-
-55. 7/6/91 Added new list-manipulation procedures: Tcl_ScanElement,
-Tcl_ConvertElement, Tcl_AppendElement.
-
-56. 7/12/91 Created new procedure Tcl_EvalFile, which does most of the
-work of the "source" command.
-
-57. 7/20/91 Major reworking of "exec" command to allow pipelines,
-more redirection, background. Added new procedures Tcl_Fork,
-Tcl_WaitPids, Tcl_DetachPids, and Tcl_CreatePipeline. The old
-"< input" notation has been replaced by "<< input" ("<" is for
-redirection from a file). Also handles error returns and abnormal
-terminations (e.g. signals) differently.
-*** POTENTIAL INCOMPATIBILITY ***
-
-58. 7/21/91 Added "append" and "lappend" commands.
-
-59. 7/22/91 Reworked error messages and manual entries to use
-?x? as the notation for an optional argument x, instead of [x]. The
-bracket notation was often confused with the use of brackets for
-command substitution. Also modified error messages to be more
-consistent.
-
-60. 7/23/91 Tcl_DeleteCommand now returns an indication of whether
-or not the command actually existed, and the "rename" command uses
-this information to return an error if an attempt is made to delete
-a non-existent command.
-*** POTENTIAL INCOMPATIBILITY ***
-
-61. 7/25/91 Added new "errorCode" mechanism, along with procedures
-Tcl_SetErrorCode, Tcl_UnixError, and Tcl_ResetResult. Renamed
-Tcl_Return to Tcl_SetResult, but left a #define for Tcl_Return to
-avoid compatibility problems.
-
-62. 7/26/91 Extended "case" command with alternate syntax where all
-patterns and commands are together in a single list argument: makes
-it easier to write multi-line case statements.
-
-63. 7/27/91 Changed "print" command to perform tilde-substitution on
-the file name.
-
-64. 7/27/91 Added "tolower", "toupper", "trim", "trimleft", and "trimright"
-options to "string" command.
-
-65. 7/29/91 Added "atime", "mtime", "size", and "stat" options to "file"
-command.
-
-66. 8/1/91 Added "split" and "join" commands.
-
-67. 8/11/91 Added commands for file I/O, including "open", "close",
-"read", "gets", "puts", "flush", "eof", "seek", and "tell".
-
-68. 8/14/91 Switched to use a hash table for command lookups. Command
-abbreviations no longer have direct support in the Tcl interpreter, but
-it should be possible to simulate them with the auto-load features
-described below. The "noAbbrev" variable is no longer used by Tcl.
-*** POTENTIAL INCOMPATIBILITY ***
-
-68.5 8/15/91 Added support for "unknown" command, which can be used to
-complete abbreviations, auto-load library files, auto-exec shell
-commands, etc.
-
-69. 8/15/91 Added -nocomplain switch to "glob" command.
-
-70. 8/20/91 Added "info library" option and TCL_LIBRARY #define. Also
-added "info script" option.
-
-71. 8/20/91 Changed "file" command to take "option" argument as first
-argument (before file name), for consistency with other Tcl commands.
-*** POTENTIAL INCOMPATIBILITY ***
-
-72. 8/20/91 Changed format of information in $errorInfo variable:
-comments such as
- ("while" body line 1)
-are now on separate lines from commands being executed.
-*** POTENTIAL INCOMPATIBILITY ***
-
-73. 8/20/91 Changed Tcl_AppendResult so that it (eventually) frees
-large buffers that it allocates.
-
-74. 8/21/91 Added "linsert", "lreplace", "lsearch", and "lsort"
-commands.
-
-75. 8/28/91 Added "incr" and "exit" commands.
-
-76. 8/30/91 Added "regexp" and "regsub" commands.
-
-77. 9/4/91 Changed "dynamic" field in interpreters to "freeProc" (procedure
-address). This allows for alternative storage managers.
-*** POTENTIAL INCOMPATIBILITY ***
-
-78. 9/6/91 Added "index", "length", and "range" options to "string"
-command. Added "lindex", "llength", and "lrange" commands.
-
-79. 9/8/91 Removed "index", "length", "print" and "range" commands.
-"Print" is redundant with "puts", but less general, and the other
-commands are replaced with the new commands described in change 78
-above.
-*** POTENTIAL INCOMPATIBILITY ***
-
-80. 9/8/91 Changed history revision to occur even when history command
-is nested; needed in order to allow "history" to be invoked from
-"unknown" procedure.
-
-81. 9/13/91 Changed "panic" not to use vfprintf (it's uglier and less
-general now, but makes it easier to run Tcl on systems that don't
-have vfprintf). Also changed "strerror" not to redeclare sys_errlist.
-
-82. 9/19/91 Lots of changes to improve portability to different UNIX
-systems, including addition of "config" script to adapt Tcl to the
-configuration of the system it's being compiled on.
-
-83. 9/22/91 Added "pwd" command.
-
-84. 9/22/91 Renamed manual pages so that their filenames are no more
-than 14 characters in length, moved to "doc" subdirectory.
-
-85. 9/24/91 Redid manual entries so they contain the supplemental
-macros that they need; can just print with "troff -man" or "man"
-now.
-
-86. 9/26/91 Created initial version of script library, including
-a version of "unknown" that does auto-loading, auto-execution, and
-abbreviation expansion. This library is used by tclTest
-automatically. See the "library" manual entry for details.
-
------------------ Released version 6.0, 9/26/91 ------------------
-
-87. 9/30/91 Made "string tolower" and "string toupper" check case
-before converting: on some systems, "tolower" and "toupper" assume
-that character already has particular case.
-
-88. 9/30/91 Fixed bug in Tcl_SetResult: wasn't always setting freeProc
-correctly when called with NULL value. This tended to cause memory
-allocation errors later.
-
-89. 10/3/91 Added "upvar" command.
-
-90. 10/4/91 Changed "format" so that internally it converts %D to %ld,
-%U to %lu, %O to %lo, and %F to %f. This eliminates some compatibility
-problems on some machines without affecting behavior.
-
-91. 10/10/91 Fixed bug in "regsub" that caused core dumps with the -all
-option when the last match wasn't at the end of the string.
-
-92. 10/17/91 Fixed problems with backslash sequences: \r support was
-incomplete and \f and \v weren't supported at all.
-
-93. 10/24/91 Added Tcl_InitHistory procedure.
-
-94. 10/24/91 Changed "regexp" to store "-1 -1" in subMatchVars that
-don't match, rather than returning an error.
-
-95. 10/27/91 Modified "regexp" to return actual strings in matchVar
-and subMatchVars instead of indices. Added "-indices" switch to cause
-indices to be returned.
-*** POTENTIAL INCOMPATIBILITY ***
-
-96. 10/27/91 Fixed bug in "scan" where it used hardwired constants for
-sizes of floats and doubles instead of using "sizeof".
-
-97. 10/31/91 Fixed bug in tclParse.c where parse-related error messages
-weren't being storage-managed correctly, causing spurious free's.
-
-98. 10/31/91 Form feed and vertical tab characters are now considered
-to be space characters by the parser.
-
-99. 10/31/91 Added TCL_LEAVE_ERR_MSG flag to procedures like Tcl_SetVar.
-
-100. 11/7/91 Fixed bug in "case" where "in" argument couldn't be omitted
-if all case branches were embedded in a single list.
-
-101. 11/7/91 Switched to use "pid_t" and "uid_t" and other official
-POSIC types and function prototypes.
-
------------------ Released version 6.1, 11/7/91 ------------------
-
-102. 12/2/91 Modified Tcl_ScanElement and Tcl_ConvertElement in several
-ways. First, allowed caller to request that only backslashes be used
-(no braces). Second, made Tcl_ConvertElement more aggressive in using
-backslashes for braces and quotes.
-
-103. 12/5/91 Added "type", "lstat", and "readlink" options to "file"
-command, plus added new "type" element to output of "stat" and "lstat"
-options.
-
-104. 12/10/91 Manual entries had first lines that caused "man" program
-to try weird preprocessor. Added blank comment lines to fix problem.
-
-105. 12/16/91 Fixed a few bugs in auto_mkindex proc: wasn't handling
-errors properly, and hadn't been upgraded for new "regexp" syntax.
-
-106. 1/2/92 Fixed bug in "file" command where it didn't properly handle
-a file names containing tildes where the indicated user doesn't exist.
-
-107. 1/2/92 Fixed lots of cases in tclUnixStr.c where two different
-errno symbols (e.g. EWOULDBLOCK and EAGAIN) have the same number; Tcl
-will only use one of them.
-
-108. 1/2/92 Lots of changes to configuration script to handle many more
-systems more gracefully. E.g. should now detect the bogus strtoul that
-comes with AIX and substitute Tcl's own version instead.
-
------------------ Released version 6.2, 1/10/92 ------------------
-
-109. 1/20/92 Config didn't have code to actually use "uid_t" variable
-to set TCL_UIT_T #define.
-
-110. 2/10/92 Tcl_Eval didn't properly reset "numLevels" variable when
-too-deep recursion occurred.
-
-111. 2/29/92 Added "on" and "off" to keywords accepted by Tcl_GetBoolean.
-
-112. 3/19/92 Config wasn't installing default version of strtod.c for
-systems that don't have one in libc.a.
-
-113. 3/23/92 Fixed bug in tclExpr.c where numbers with leading "."s,
-like 0.75, couldn't be properly substituted into expressions with
-variable or command substitution.
-
-114. 3/25/92 Fixed bug in tclUnixAZ.c where "gets" command wasn't
-checking to make sure that it was able to write the variable OK.
-
-115. 4/16/92 Fixed bug in tclUnixAZ.c where "read" command didn't
-compute file size right for device files.
-
-116. 4/23/92 Fixed but in tclCmdMZ.c where "trace vinfo" was overwriting
-the trace command.
-
------------------ Released version 6.3, 5/1/92 ------------------
-
-117. 5/1/92 Added Tcl_GlobalEval.
-
-118. 6/1/92 Changed auto-load facility to source files at global level.
-
-119. 6/8/92 Tcl_ParseVar wasn't always setting termPtr after errors, which
-sometimes caused core dumps.
-
-120. 6/21/92 Fixed bug in initialization of regexp pattern cache. This
-bug caused segmentation violations in regexp commands under some conditions.
-
-121. 6/22/92 Changed implementation of "glob" command to eliminate
-trailing slashes on directory names: they confuse some systems. There
-shouldn't be any user-visible changes in functionality except for names
-in error messages not having trailing slashes.
-
-122. 7/2/92 Fixed bug that caused 'string match ** ""' to return 0.
-
-123. 7/2/92 Fixed bug in Tcl_CreateCmdBuf where it wasn't initializing
-the buffer to an empty string.
-
-124. 7/6/92 Fixed bug in "case" command where it used NULL pattern string
-after errors in the "default" clause.
-
-125. 7/25/92 Speeded up auto_load procedure: don't reread all the index
-files unless the path has changed.
-
-126. 8/3/92 Changed tclUnix.h to define MAXPATHLEN from PATH_MAX, not
-_POSIX_PATH_MAX.
-
------------------ Released version 6.4, 8/7/92 ------------------
-
-127. 8/10/92 Changed tclBasic.c so that comment lines can be continued by
-putting a backslash before the newline.
-
-128. 8/21/92 Modified "unknown" to allow the source-ing of a file for
-an auto-load to trigger other nested auto-loads, as long as there isn't
-any recursion on the same command name.
-
-129. 8/25/92 Modified "format" command to allow " " and "+" flags, and
-allow flags in any order.
-
-130. 9/14/92 Modified Tcl_ParseVar so that it doesn't actually attempt
-to look up the variable if "noEval" mode is in effect in the interpreter
-(it just parses the name). This avoids the errors that used to occur
-in statements like "expr {[info exists foo] && $foo}".
-
-131. 9/14/92 Fixed bug in "uplevel" command where it didn't output the
-correct error message if a level was specified but no command.
-
-132. 9/14/92 Renamed manual entries to have extensions like .3 and .n,
-and added "install" target to Makefile.
-
-133. 9/18/92 Modified "unknown" command to emulate !!, !<num>, and
-^<old>^<new> csh history substitutions.
-
-134. 9/21/92 Made the config script cleverer about figuring out which
-switches to pass to "nm".
-
-135. 9/23/92 Fixed tclVar.c to be sure to copy flags when growing variables.
-Used to forget about traces in progress and make extra recursive calls
-on trace procs.
-
-136. 9/28/92 Fixed bug in auto_reset where it was unsetting variables
-that might not exist.
-
-137. 10/7/92 Changed "parray" library procedure to print any array
-accessible to caller, local or global.
-
-138. 10/15/92 Fixed bug where propagation of new environment variable
-values among interpreters took N! time if there exist N interpreters.
-
-139. 10/16/92 Changed auto_reset procedure so that it also deletes any
-existing procedures that are in the auto_load index (the assumption is
-that they should be re-loaded to get the latest versions).
-
-140. 10/21/92 Fixed bug that caused lists to be incorrectly generated
-for elements that contained backslash-newline sequences.
-
-141. 12/9/92 Added support for TCL_LIBRARY environment variable: use
-it as library location if it's present.
-
-142. 12/9/92 Added "info complete" command, Tcl_CommandComplete procedure.
-
-143. 12/16/92 Changed the Makefile to check to make sure "config" has been
-run (can't run config directly from the Makefile because it modifies the
-Makefile; thus make has to be run again after running config).
-
------------------ Released version 6.5, 12/17/92 ------------------
-
-144. 12/21/92 Changed config to look in several places for libc file.
-
-145. 12/23/92 Added "elseif" support to if. Also, "then", "else", and
-"elseif" may no longer be abbreviated.
-*** POTENTIAL INCOMPATIBILITY ***
-
-146. 12/28/92 Changed "puts" and "read" to support initial "-nonewline"
-switch instead of additional "nonewline" argument. The old form is
-still supported, but it is discouraged and is no longer documented.
-Also changed "puts" to make the file argument default to stdout: e.g.
-"puts foo" will print foo on standard output.
-
-147. 1/6/93 Fixed bug whereby backslash-newline wasn't working when
-typed interactively, or in "info complete".
-
-148. 1/22/93 Fixed bugs in "lreplace" and "linsert" where close
-quotes were being lost from last element before replacement or
-insertion.
-
-149. 1/29/93 Fixed bug in Tcl_AssembleCmd where it wasn't requiring
-a newline at the end of a line before considering a command to be
-complete. The bug caused some very long lines in script files to
-be processed as multiple separate commands.
-
-150. 1/29/93 Various changes in Makefile to add more configuration
-options, simplify installation, fix bugs (e.g. don't use -f switch
-for cp), etc.
-
-151. 1/29/93 Changed "name1" and "name2" identifiers to "part1" and
-"part2" to avoid name conflicts with stupid C++ implementations that
-use "name1" and "name2" in a reserved way.
-
-152. 2/1/93 Added "putenv" procedure to replace the standard system
-version so that it will work correctly with Tcl's environment handling.
-
------------------ Released version 6.6, 2/5/93 ------------------
-
-153. 2/10/93 Fixed bugs in config script: missing "endif" in libc loop,
-and tried to use strncasecmp.c instead of strcasecmp.c.
-
-154. 2/10/93 Makefile improvements: added RANLIB variable for easier
-Sys-V configuration, added SHELL variable for SGI systems.
-
------------------ Released version 6.7, 2/11/93 ------------------
-
-153. 2/6/93 Changes in backslash processing:
- - \Cx, \Mx, \CMx, \e sequences no longer special
- - \<newline> also eats up any space after the newline, replacing
- the whole sequence with a single space character
- - Hex sequences like \x24 are now supported, along with ANSI C's \a.
- - "format" no longer does backslash processing on its format string
- - there is no longer any special meaning to a 0 return value from
- Tcl_Backslash
- - unknown backslash sequences, like (e.g. \*), are replaced with
- the following character (e.g. *), instead of just treating the
- backslash as an ordinary character.
-*** POTENTIAL INCOMPATIBILITY ***
-
-154. 2/6/93 Updated all copyright notices. The meaning hasn't changed
-at all but the wording does a better job of protecting U.C. from
-liability (according to U.C. lawyers, anyway).
-
-155. 2/6/93 Changed "regsub" so that it overwrites the result variable
-in all cases, even if there is no match.
-*** POTENTIAL INCOMPATIBILITY ***
-
-156. 2/8/93 Added support for XPG3 %n$ conversion specifiers to "format"
-command.
-
-157. 2/17/93 Fixed bug in Tcl_Eval where errors due to infinite
-recursion could result in core dumps.
-
-158. 2/17/93 Improved the auto-load mechanism to deal gracefully (i.e.
-return an error) with a situation where a library file that supposedly
-defines a procedure doesn't actually define it.
-
-159. 2/17/93 Renamed Tcl_UnixError procedure to Tcl_PosixError, and
-changed errorCode variable usage to use POSIX as keyword instead of
-UNIX.
-*** POTENTIAL INCOMPATIBILITY ***
-
-160. 2/19/93 Changes to exec and process control:
- - Added support for >>, >&, >>&, |&, <@, >@, and >&@ forms of redirection.
- - When exec puts processes into background, it returns a list of
- their pids as result.
- - Added support for <file, >file, etc. (i.e. no space between
- ">" and file name.
- - Added -keepnewline option.
- - Deleted Tcl_Fork and Tcl_WaitPids procedures (just use fork and
- waitpid instead).
- - Added waitpid compatibility procedure for systems that don't have
- it.
- - Added Tcl_ReapDetachedProcs procedure.
- - Changed "exec" to return an error if there is stderr output, even
- if the command returns a 0 exit status (it's always been documented
- this way, but the implementation wasn't correct).
- - If a process returns a non-zero exit status but doesn't generate
- any diagnostic output, then Tcl generates an error message for it.
-*** POTENTIAL INCOMPATIBILITY ***
-
-161. 2/25/93 Fixed two memory-management problems having to do with
-managing the old result during variable trace callbacks.
-
-162. 3/1/93 Added dynamic string library: Tcl_DStringInit, Tcl_DStringAppend,
-Tcl_DStringFree, Tcl_DStringResult, etc.
-
-163. 3/1/93 Modified glob command to only return the names of files that
-exist, and to only return names ending in "/" if the file is a directory.
-*** POTENTIAL INCOMPATIBILITY ***
-
-164. 3/19/93 Modified not to use system calls like "read" directly,
-but instead to use special Tcl procedures that retry automatically
-if interrupted by signals.
-
-165. 4/3/93 Eliminated "noSep" argument to Tcl_AppendElement, plus
-TCL_NO_SPACE flag for Tcl_SetVar and Tcl_SetVar2.
-*** POTENTIAL INCOMPATIBILITY ***
-
-166. 4/3/93 Eliminated "flags" and "termPtr" arguments to Tcl_Eval.
-*** POTENTIAL INCOMPATIBILITY ***
-
-167. 4/3/93 Changes to expressions:
- - The "expr" command now accepts multiple arguments, which are
- concatenated together with space separators.
- - Integers aren't automatically promoted to floating-point if they
- overflow the word size: errors are generated instead.
- - Tcl can now handle "NaN" and other special values if the underlying
- library procedures handle them.
- - When printing floating-point numbers, Tcl ensures that there is a "."
- or "e" in the number, so it can't be treated as an integer accidentally.
- The procedure Tcl_PrintDouble is available to provide this function
- in other contexts. Also, the variable "tcl_precision" can be used
- to set the precision for printing (must be a decimal number giving
- digits of precision).
- - Expressions now support transcendental and other functions, e.g. sin,
- acos, hypot, ceil, and round. Can add new math functions with
- Tcl_CreateMathFunc().
- - Boolean expressions can now have any of the string values accepted
- by Tcl_GetBoolean, such as "yes" or "no".
-*** POTENTIAL INCOMPATIBILITY ***
-
-168. 4/5/93 Changed Tcl_UnsetVar and Tcl_UnsetVar2 to return TCL_OK
-or TCL_ERROR instead of 0 or -1.
-*** POTENTIAL INCOMPATIBILITY ***
-
-169. 4/5/93 Eliminated Tcl_CmdBuf structure and associated procedures;
-can use Tcl_DStrings instead.
-*** POTENTIAL INCOMPATIBILITY ***
-
-170. 4/8/93 Changed interface to Tcl_TildeSubst to use a dynamic
-string for buffer space. This makes the procedure re-entrant and
-thread-safe, whereas it wasn't before.
-*** POTENTIAL INCOMPATIBILITY ***
-
-171. 4/14/93 Eliminated tclHash.h, and moved everything from it to
-tcl.h
-*** POTENTIAL INCOMPATIBILITY ***
-
-172. 4/15/93 Eliminated Tcl_InitHistory, made "history" command always
-be part of interpreter.
-*** POTENTIAL INCOMPATIBILITY ***
-
-173. 4/16/93 Modified "file" command so that "readable" option always
-exists, even on machines that don't support symbolic links (always returns
-same error as if the file wasn't a symbolic link).
-
-174. 4/26/93 Fixed bugs in "regsub" where ^ patterns didn't get handled
-right (pretended not to match when it really did, and looped infinitely
-if -all was specified).
-
-175. 4/29/93 Various improvements in the handling of variables:
- - Can create variables and array elements during a read trace.
- - Can delete variables during traces (note: unset traces will be
- invoked when this happens).
- - Can upvar to array elements.
- - Can retarget an upvar to another variable by re-issuing the
- upvar command with a different "other" variable.
-
-176. 5/3/93 Added Tcl_GetCommandInfo, which returns info about a Tcl
-command such as whether it exists and its ClientData. Also added
-Tcl_SetCommandInfo, which allows any of this information to be modified
-and also allows a command's delete procedure to have a different
-ClientData value than its command procedure.
-
-177. 5/5/93 Added Tcl_RegExpMatch procedure.
-
-178. 5/6/93 Fixed bug in "scan" where it didn't properly handle
-%% conversion specifiers. Also changed "scan" to use Tcl_PrintDouble
-for printing real values.
-
-179. 5/7/93 Added "-exact", "-glob", and "-regexp" options to "lsearch"
-command to allow different kinds of pattern matching.
-
-180. 5/7/93 Added many new switches to "lsort" to control the sorting
-process: "-ascii", "-integer", "-real", "-command", "-increasing",
-and "-decreasing".
-
-181. 5/10/93 Changes to file I/O:
- - Modified "open" command to support a list of POSIX access flags
- like {WRONLY CREAT TRUNC} in addition to current fopen-style
- access modes. Also added "permissions" argument to set permissions
- of newly-created files.
- - Fixed Scott Bolte's bug (can close stdin etc. in application and
- then re-open them with Tcl commands).
- - Exported access to Tcl's file table with new procedures Tcl_EnterFile
- and Tcl_GetOpenFile.
-
-182. 5/15/93 Added new "pid" command, which can be used to retrieve
-either the current process id or a list of the process ids in a
-pipeline opened with "open |..."
-
-183. 6/3/93 Changed to use GNU autoconfig for configuration instead of
-the home-brew "config" script. Also made many other configuration-related
-changes, such as using <unistd.h> instead of explicitly declaring system
-calls in tclUnix.h.
-
-184. 6/4/93 Fixed bug where core-dumps could occur if a procedure
-redefined itself (the memory for the procedure's body could get
-reallocated in the middle of evaluating the body); implemented
-simple reference count mechanism.
-
-185. 6/5/93 Changed tclIndex file format in two ways: (a) it's now
-eval-ed instead of parsed, which makes it 3-4x faster; (b) the entries
-in auto_index are now commands to evaluate, which allows commands to
-be loaded in different ways such as dynamic-loading of C code. The
-old tclIndex file format is still supported.
-
-186. 6/7/93 Eliminated tclTest program, added new "tclsh" program
-that is more like wish (allows script files to be invoked automatically
-using "#!/usr/local/bin/tclsh", makes arguments available to script,
-etc.). Added support for Tcl_AppInit plus default version; this
-allows new Tcl applications to be created without modifying the
-main program for tclsh.
-
-187. 6/7/93 Fixed bug in TclWordEnd that kept backslash-newline from
-working correctly in some cases during interactive input.
-
-188. 6/9/93 Added Tcl_LinkVar and related procedures, which automatically
-keep a Tcl variable in sync with a C variable.
-
-189. 6/16/93 Increased maximum nesting depth from 100 to 1000.
-
-190. 6/16/93 Modified "trace var" command so that error messages from
-within traces are returned properly as the result of the variable
-access, instead of the generic "access disallowed by trace command"
-message.
-
-191. 6/16/93 Added Tcl_CallWhenDeleted to provide callbacks when an
-interpreter is deleted (same functionality as Tcl_WatchInterp, which
-used to exist in versions before 6.0).
-
-193. 6/16/93 Added "-code" argument to "return" command; it's there
-primarily for completeness, so that procedures implementing control
-constructs can reflect exceptional conditions back to their callers.
-
-194. 6/16/93 Split up Tcl.n to make separate manual entries for each
-Tcl command. Tcl.n now contains a summary of the language syntax.
-
-195. 6/17/93 Added new "switch" command to replace "case": allows
-alternate forms of pattern matching (exact, glob, regexp), replaces
-pattern lists with single patterns (but you can use "-" bodies to
-share one body among several patterns), eliminates "in" noise word.
-"Case" command is now obsolete.
-
-196. 6/17/93 Changed the "exec", "glob", "regexp", and "regsub" commands
-to include a "--" switch. All initial arguments starting with "-" are now
-treated as switches unless a "--" switch is present to end the list.
-*** POTENTIAL INCOMPATIBILITY ***
-
-197. 6/17/93 Changed auto-exec so that the subprocess gets stdin, stdout,
-and stderr from the parent. This allows truly interactive sub-processes
-(e.g. vi) to be auto-exec'ed from a tcl shell command line.
-
-198. 6/18/93 Added patchlevel.h, for use in coordinating future patch
-releases, and also added "info patchlevel" command to make the patch
-level available to Tcl scripts.
-
-199. 6/19/93 Modified "glob" command so that a leading "//" in a name
-gets left as is (this is needed for systems like Apollos where "//" is
-the super-root; Tcl used to collapse the two slashes into a single
-slash).
-
-200. 7/7/93 Added Tcl_SetRecursionLimit procedure so that the maximum
-allowable nesting depth can be controlled for an interpreter from C.
-
------------------ Released version 7.0 Beta 1, 7/9/93 ------------------
-
-201. 7/12/93 Modified Tcl_GetInt and tclExpr.c so that full-precision
-unsigned integers can be specified without overflow errors.
-
-202. 7/12/93 Configuration changes: eliminate leading blank line in
-configure script; provide separate targets in Makefile for installing
-binary and non-binary information; check for size_t and a few other
-potentially missing typedefs; don't put tclAppInit.o into libtcl.a;
-better checks for matherr support.
-
-203. 7/14/93 Changed tclExpr.c to check the termination pointer before
-errno after strtod calls, to avoid problems with some versions of
-strtod that set errno in unexpected ways.
-
-204. 7/16/93 Changed "scan" command to be more ANSI-conformant:
-eliminated %F, %D, etc., added code to ignore "l", "h", and "L"
-modifiers but always convert %e, %f, and %g with implicit "l";
-also added support for %u and %i. Also changed "format" command
-to eliminate %D, %U, %O, and add %i.
-*** POTENTIAL INCOMPATIBILITY ***
-
-205. 7/17/93 Changed "uplevel" and "upvar" so that they can be used
-from global level to global level: this used to generate an error.
-
-206. 7/19/93 Renamed "setenv", "putenv", and "unsetenv" procedures
-to avoid conflicts with system procedures with the same names. If
-you want Tcl's procedures to override the system procedures, do it
-in the Makefile (instructions are in the Makefile).
-*** POTENTIAL INCOMPATIBILITY ***
-
------------------ Released version 7.0 Beta 2, 7/21/93 ------------------
-
-207. 7/21/93 Fixed bug in tclVar.c where freed memory was accidentally
-used if a procedure returned an element of a local array.
-
-208. 7/22/93 Fixed bug in "unknown" where it didn't properly handle
-errors occurring in the "auto_load" procedure, leaving its state
-inconsistent.
-
-209. 7/23/93 Changed exec's ">2" redirection operator to "2>" for
-consistency with sh. This is incompatible with earlier beta releases
-of 7.0 but not with pre-7.0 releases, which didn't support either
-operator.
-
-210. 7/28/93 Changed backslash-newline handling so that the resulting
-space character *is* treated as a word separator unless the backslash
-sequence is in quotes or braces. This is incompatible with 7.0b1
-and 7.0b2 but is more compatible with pre-7.0 versions that the b1
-and b2 releases were.
-
-211. 7/28/93 Eliminated Tcl_LinkedVarWritable, added TCL_LINK_READ_ONLY to
-Tcl_LinkVar to accomplish same purpose. This change is incompatible
-with earlier beta releases, but not with releases before Tcl 7.0.
-
-212. 7/29/93 Renamed regexp C functions so they won't clash with POSIX
-regexp functions that use the same name.
-
-213. 8/3/93 Added "-errorinfo" and "-errorcode" options to "return"
-command: these allow for much better handling of the errorInfo
-and errorCode variables in some cases.
-
-214. 8/12/93 Changed "expr" so that % always returns a remainder with
-the same sign as the divisor and absolute value smaller than the
-divisor.
-
-215. 8/14/93 Turned off auto-exec in "unknown" unless the command
-was typed interactively. This means you must use "exec" when
-invoking subprocesses, unless it's a command that's typed interactively.
-*** POTENTIAL INCOMPATIBILITY ***
-
-216. 8/14/93 Added support for tcl_prompt1 and tcl_prompt2 variables
-to tclMain.c: makes prompts user-settable.
-
-217. 8/14/93 Added asynchronous handlers (Tcl_AsyncCreate etc.) so
-that signals can be taken cleanly by Tcl applications.
-
-218. 8/16/93 Moved information about open files from the interpreter
-structure to global variables so that a file can be opened in one
-interpreter and read or written in another.
-
-219. 8/16/93 Removed ENV_FLAGS from Makefile, so that there's no
-official support for overriding setenv, unsetenv, and putenv.
-
-220. 8/20/93 Various configuration improvements: coerce chars
-to unsigned chars before using macros like isspace; source ~/.tclshrc
-file during initialization if it exists and program is running
-interactively; allow there to be directories in auto_path that don't
-exist or don't have tclIndex files (ignore them); added Tcl_Init
-procedure and changed Tcl_AppInit to call it.
-
-221. 8/21/93 Fixed bug in expr where "+", "-", and " " were all
-getting treated as integers with value 0.
-
-222. 8/26/93 Added "tcl_interactive" variable to tclsh.
-
-223. 8/27/93 Added procedure Tcl_FilePermissions to return whether a
-given file can be read or written or both. Modified Tcl_EnterFile
-to take a permissions mask rather than separate read and write arguments.
-
-224. 8/28/93 Fixed performance bug in "glob" command (unnecessary call
-to "access" for each file caused a 5-10x slow-down for big directories).
-
------------------ Released version 7.0 Beta 3, 8/28/93 ------------------
-
-225. 9/9/93 Renamed regexp.h to tclRegexp.h to avoid conflicts with system
-include file by same name.
-
-226. 9/9/93 Added Tcl_DontCallWhenDeleted.
-
-227. 9/16/93 Changed not to call exit C procedure directly; instead
-always invoke "exit" Tcl command so that application can redefine the
-command to do additional cleanup.
-
-228. 9/17/93 Changed auto-exec to handle names that contain slashes
-(i.e. don't use PATH for them).
-
-229. 9/23/93 Fixed bug in "read" and "gets" commands where they didn't
-clear EOF conditions.
-
------------------ Released version 7.0, 9/29/93 ------------------
-
-230. 10/7/93 "Scan" command wasn't properly aligning things in memory,
-so segmentation faults could arise under some circumstances.
-
-231. 10/7/93 Fixed bug in Tcl_ConvertElement where it forgot to
-backslash leading curly brace when creating lists.
-
-232. 10/7/93 Eliminated dependency of tclMain.c on tclInt.h and
-tclUnix.h, so that people can copy the file out of the Tcl source
-directory to make modified private versions.
-
-233. 10/8/93 Fixed bug in auto-loader that reversed the priority order
-of entries in auto_path for new-style index files. Now things are
-back to the way they were before 3.0: first in auto_path is always
-highest priority.
-
-234. 10/13/93 Fixed bug where Tcl_CommandComplete didn't recognize
-comments and treat them as such. Thus if you typed the line
- # {
-interactively, Tcl would think that the command wasn't complete and
-wait for more input before evaluating the script.
-
-235. 10/14/93 Fixed bug where "regsub" didn't set the output variable
-if the input string was empty.
-
-236. 10/23/93 Fixed bug where Tcl_CreatePipeline didn't close off enough
-file descriptors in child processes, causing children not to exit
-properly in some cases.
-
-237. 10/28/93 Changed "list" and "concat" commands not to generate
-errors if given zero arguments, but instead to just return an empty
-string.
-
------------------ Released version 7.1, 11/4/93 ------------------
-
-Note: there is no 7.2 release. It was flawed and was thus withdrawn
-shortly after it was released.
-
-238. 11/10/93 TclMain.c didn't compile on some systems because of
-R_OK in call to "access". Changed to eliminate call to "access".
-
------------------ Released version 7.3, 11/26/93 ------------------
-
-239. 11/6/93 Modified "lindex", "linsert", "lrange", and "lreplace"
-so that "end" can be specified as an index.
-
-240. 11/6/93 Modified "append" and "lappend" to allow only two
-words total (i.e., nothing to append) without generating an error.
-
-241. 12/2/93 Changed to use EAGAIN as the errno for non-blocking
-I/O instead of EWOULDBLOCK: this should fix problem where non-blocking
-I/O didn't work correctly on System-V systems.
-
-242. 12/22/93 Fixed bug in expressions where cancelled evaluation
-wasn't always working correctly (e.g. "set one 1; eval {1 || 1/$one}"
-failed with a divide by zero error).
-
-243. 1/6/94 Changed TCL_VOLATILE definition from -1 to the address of
-a dummy procedure Tcl_Volatile, since -1 causes portability problems on
-some machines (e.g., Crays).
-
-244. 2/4/94 Added support for unary plus.
-
-245. 2/17/94 Changed Tcl_RecordAndEval and "history" command to
-call Tcl_GlobalEval instead of Tcl_Eval. Otherwise, invocation of
-these facilities in nested procedures can cause unwanted results.
-
-246. 2/17/94 Fixed bug in tclExpr.c where an expression such as
-"expr {"12398712938788234-1298379" != ""}" triggers an integer
-overflow error for the number in quotes, even though it isn't really
-a proper integer anyway.
-
-247. 2/19/94 Added new procedure Tcl_DStringGetResult to move result
-from interpreter to a dynamic string.
-
-248. 2/19/94 Fixed bug in Tcl_DStringResult that caused it to overwrite
-the contents of a static result in some situations. This can cause
-bizarre errors such as variables suddenly having empty values.
-
-249. 2/21/94 Fixed bug in Tcl_AppendElement, Tcl_DStringAppendElement,
-and the "lappend" command that caused improper omission of a separator
-space in some cases. For example, the script
- set x "abc{"; lappend x "def"
-used to return the result "abc{def" instead of "abc{ def".
-
-250. 3/3/94 Tcl_ConvertElement was outputting empty elements as \0 if
-TCL_DONT_USE_BRACES was set. This depends on old pre-7.0 meaning of
-\0, which is no longer in effect, so it didn't really work. Changed
-to output empty elements as {} always.
-
-251. 3/3/94 Renamed Tcl_DStringTrunc to Tcl_DStringSetLength and extended
-it so that it can be used to lengthen a string as well as shorten it.
-Tcl_DStringTrunc is defined as a macro for backward compatibility, but
-it is deprecated.
-
-252. 3/3/94 Added Tcl_AllowExceptions procedure.
-
-253. 3/13/94 Fixed bug in Tcl_FormatCmd that could cause "format"
-to mis-behave on 64-bit Big-Endian machines.
-
-254. 3/13/94 Changed to use vfork instead of fork on systems where
-vfork exists.
-
-255. 3/23/94 Fixed bug in expressions where ?: didn't associate
-right-to-left as they should.
-
-256. 4/3/94 Fixed "exec" to flush any files used in >@ or >&@
-redirection in exec, so that data buffered for them is written
-before any new data added by the subprocess.
-
-257. 4/3/94 Added "subst" command.
-
-258. 5/20/94 The tclsh main program is now called Tcl_Main; tclAppInit.c
-has a "main" procedure that calls Tcl_Main. This makes it easier to use
-Tcl with C++ programs, which need their own main programs, and it also
-allows an application to prefilter the argument list before calling
-Tcl_Main.
-*** POTENTIAL INCOMPATIBILITY ***
-
-259. 6/6/94 Fixed bug in procedure returns where the errorInfo variable
-could get truncated if an unset trace was invoked as part of returning
-from the procedure.
-
-260. 6/13/94 Added "wordstart" and "wordend" options to "string" command.
-
-261. 6/27/94 Fixed bug in expressions where they didn't properly cancel
-the evaluation of math functions in &&, ||, and ?:.
-
-262. 7/11/94 Incorrect boolean values, like "ogle", weren't being
-handled properly.
-
-263. 7/15/94 Added Tcl_RegExpCompile, Tcl_RegExpExec, and Tcl_RegExpRange,
-which provide lower-level access to regular expression pattern matching.
-
-264. 7/22/94 Fixed bug in "glob" command where "glob -nocomplain ~bad_user"
-would complain about a missing user. Now it doesn't complain anymore.
-
-265. 8/4/94 Fixed bug with linked variables where they didn't behave
-correctly when accessed via upvars.
-
-266. 8/17/94 Fixed bug in Tcl_EvalFile where it didn't clear interp->result.
-
-267. 8/31/94 Modified "open" command so that errors in exec-ing
-subprocesses are returned by the open immediately, rather than
-being delayed until the "close" is executed.
-
-268. 9/9/94 Modified "expr" command to generate errors for integer
-overflow (includes addition, subtraction, negation, multiplication,
-division).
-
-269. 9/23/94 Modified "regsub" to return a count of the number of
-matches and replacements, rather than 0/1.
-
-279. 10/4/94 Added new features to "array" command:
- - added "get" and "set" commands for easy conversion between arrays
- and lists.
- - added "exists" command to see if a variable is an array, changed
- "names" and "size" commands to treat a non-existent array (or scalar
- variable) just like an empty one.
- - added pattern option to "names" command.
-
-280. 10/6/94 Modified Tcl_SetVar2 so that read traces on variables get
-called during append operations.
-
-281. 10/20/94 Fixed bug in "read" command where reading from stdin
-required two control-D's to stop the reading.
-
-282. 11/3/94 Changed "expr" command to use longs for division just like
-all other expr operators; it previously used ints for division.
-
-283. 11/4/94 Fixed bugs in "unknown" procedure: it wasn't properly
-handling exception returns from commands that were executed after
-being auto-loaded.
-
------------------ Released version 7.4b1, 12/23/94 ------------------
-
-284. 12/26/94 Fixed "install" target in Makefile (couldn't always
-find install program).
-
-285. 12/26/94 Added strcncasecmp procedure to compat directory.
-
-286. 1/3/95 Fixed all procedure calls to explicitly cast arguments:
-implicit conversions from prototypes (especially integer->double)
-don't work when compiling under non-ANSI compilers. Tcl is now clean
-under gcc -Wconversion.
-
-287. 1/4/95 Fixed problem in Tcl_ArrayCmd where same name was used for
-both a label and a variable; caused problems on several older compilers,
-making array command misbehave and causing many errors in Tcl test suite.
-
------------------ Released version 7.4b2, 1/12/95 ------------------
-
-288. 2/9/95 Modified Tcl_CreateCommand to return a token, and added
-Tcl_GetCommandName procedure. Together, these procedures make it possible
-to track renames of a command.
-
-289. 2/13/95 Fixed bug in expr where "089" was interpreted as a
-floating-point number rather than a bogus octal number.
-*** POTENTIAL INCOMPATIBILITY ***
-
-290. 2/14/95 Added code to Tcl_GetInt and Tcl_GetDouble to check for
-overflows when reading in numbers.
-
-291. 2/18/95 Changed "array set" to stop after first error, rather than
-continuing after error.
-
-292. 2/20/95 Upgraded to use autoconf version 2.2.
-
-293. 2/20/95 Fixed core dump that could occur in "scan" command if a
-close bracket was omitted.
-
-294. 2/27/95 Changed Makefile to always use install-sh for installations:
-there's just too much variation among "install" system programs, which
-makes installation flakey.
-
------------------ Released version 7.4b3, 3/24/95 ------------------
-
-3/25/95 (bug fix) Changed "install" to "./install" in Makefile so that
-"make install" will work even when "." isn't in the search path.
-
-3/29/95 (bug fix) Fixed bug where the auto-loading mechanism wasn't
-protecting the values of the errorCode and errorInfo variables.
-
-3/29/95 (new feature) Added optional pattern argument to "parray" procedure.
-
-3/29/95 (bug fix) Made the full functionality of
- "return -code ... -errorcode ..."
-work not just inside procedures, but also in sourced files and at
-top level.
-
-4/6/95 (new feature) Added "pattern" option to "array names" command.
-
-4/18/95 (bug fix) Fixed bug in parser where it didn't allow backslash-newline
-immediately after an argument in braces or quotes.
-
-4/19/95 (new feature) Added tcl_library variable, which application can
-set to override default library directory.
-
-4/30/95 (bug fix) During trace callbacks for array elements, the variable
-name used in the original reference would be temporarily modified to
-separate the array name and element name; if the trace callback used
-the same name string, it would get the wrong name (the array name without
-element). Fixed to restore the variable name before making trace
-callbacks.
-
-4/30/95 (new feature) Added -nobackslashes, -nocommands, and -novariables
-switches to "subst" command.
-
-5/4/95 (new feature) Added TCL_EVAL_GLOBAL flag to Tcl_RecordAndEval.
-
-5/5/95 (bug fix) Format command would overrun memory when printing
-integers with very large precision, as in "format %.1000d 0".
-
-5/5/95 (portability improvement) Changed to use BSDgettimeofday on
-IRIX machines, to avoid compilation problems with the gettimeofday
-declaration.
-
-5/6/95 (bug fix) Changed manual entries to use the standard .TH
-macro instead of a custom .HS macro; the .HS macro confuses index
-generators like makewhatis.
-
-5/9/95 (bug fix) Modified configure script to check for Solaris bug
-that makes vfork unreliable (core dumps result if vforked child
-changes a signal handler); will use fork instead of vfork if the
-bug is present.
-
-6/5/95 (bug fix) Modified "lsort" command to disallow recursive calls
-to lsort from a comparison function. This is needed because qsort
-is not reentrant.
-
-6/5/95 (bug fix) Undid change 243 above: changed TCL_VOLATILE and
-TCL_DYNAMIC back to integer constants rather than procedure addresses.
-This was needed because procedure addresses can have multiple values
-under some dynamic loading systems (e.g. SunOS 4.1 and Windows).
-
-6/8/95 (feature change) Modified interface to Tcl_Main to pass in the
-address of the application-specific initialization procedure.
-Tcl_AppInit is no longer hardwired into Tcl_Main. This is needed
-in order to make Tcl a shared library.
-
-6/8/95 (feature change) Modified Makefile so that the installed versions
-of tclsh and libtcl.a have version number in them (e.g. tclsh7.4 and
-libtcl7.4.a) and the library directory name also has an embedded version
-number (e.g., /usr/local/lib/tcl7.4). This should make it easier for
-Tcl 7.4 to coexist with earlier versions.
-
------------------ Released version 7.4b4, 6/16/95 ------------------
-
-6/19/95 (bug fix) Fixed bugs in tclCkalloc.c that caused core dumps
-if TCL_MEM_DEBUG was enabled on word-addressed machines such as Crays.
-
-6/21/95 (feature removal) Removed overflow checks for integer arithmetic:
-they just cause too much trouble (e.g. for random number generators).
-
-6/28/95 (new features) Added tcl_patchLevel and tcl_version variables,
-for consistency with Tk.
-
-6/29/95 (bug fix) Fixed problem in Tcl_Eval where it didn't record
-the right termination character if a script ended with a comment. This
-caused erroneous output for the following command, among others:
-puts "[
-expr 1+1
-# duh!
-]"
-
-6/29/95 (message change) Changed the error message for ECHILD slightly
-to provide a hint about why the problem is occurring.
-
------------------ Released version 7.4, 7/1/95 ------------------
-
-7/18/95 (bug fix) Changed "lreplace" so that nothing is deleted if
-the last index is less than the first index or if the last index
-is < 0.
-
-7/18/95 (bug fix) Fixed bugs with backslashes in comments:
-Tcl_CommandComplete (and "info complete") didn't properly handle
-strings ending in backslash-newline, and neither Tcl_CommandComplete
-nor the Tcl parser handled other backslash sequences right, such
-as two backslashes before a newline.
-
-7/19/95 (bug fix) Modified Tcl_DeleteCommand to delete the hash table
-entry for the command before invoking its callback. This is needed in
-order to deal with reentrancy.
-
-7/22/95 (bug fix) "exec" wasn't reaping processes correctly after
-certain errors (e.g. if the name of the executable was bogus, as
-in "exec foobar").
-
-7/27/95 (bug fix) Makefile.in wasn't using the LIBS variable provided
-by the "configure" script. This caused problems on some SCO systems.
-
-7/27/95 (bug fix) The version of strtod in fixstrtod.c didn't properly
-handle the case where endPtr == NULL.
-
------------------ Released patch 7.4p1, 7/29/95 -----------------------
-
-8/4/95 (bug fix) C-level trace callbacks for variables were sometimes
-receiving the PART1_NOT_PARSED flag, which could cause errors in
-subsequent Tcl library calls using the flags. (JO)
-
-8/4/95 (bug fix) Calls to toupper and tolower weren't using the
-UCHAR macros, which caused trouble in non-U.S. locales. (JO)
-
-8/10/95 (new feature) Added the "load" command for dynamic loading of
-binary packages, and the Tcl_PackageInitProc prototype for package
-initialization procedures. (JO)
-
-8/23/95 (new features) Added "info sharedlibextension" and
-"info nameofexecutable" commands, plus Tcl_FindExtension procedure. (JO)
-
-8/25/95 (bug fix) If the target of an "upvar" was non-existent but
-had traces set, the traces were silently lost. Change to generate
-an error instead. (JO)
-
-8/25/95 (bug fix) Undid change from 7/19, so that commands can stay
-around while their deletion callbacks execute. Added lots of code to
-handle all of the reentrancy problems that this opens up. (JO)
-
-8/25/95 (bug fix) Fixed core dump that could occur in TclDeleteVars
-if there was an upvar from one entry in the table to the next entry
-in the same table. (JO)
-
-8/28/95 (bug fix) Exec wasn't handling bad user names properly, as
-in "exec ~bogus_user/foo". (JO)
-
-8/29/95 (bug fixes) Changed backslash-newline handling to correct two
-problems:
- - Only spaces and tabs following the backslash-newline are now
- absorbed as part of the backslash-newline. Newlinew are no
- longer absorbed (add another backslash if you want to absorb
- another newline).
- - TclWordEnd returns the character just before the backslash in
- the sequence as the end of the sequence; it used to not consider
- the backslash-newline as a word separator. (JO)
-
-8/31/95 (new feature) Changed man page installation (with "mkLinks"
-script) to create additional links for manual pages corresponding to
-each of the procedure and command names described in the pages. (JO)
-
-9/10/95 Reorganized Tcl sources for Windows and Mac ports. All sources
-are now in subdirectories: "generic" contains sources that work on all
-platforms, "windows", "mac", and "unix" directories contain platform-
-specific sources. Some UNIX sources are also used on other platforms. (SS)
-
-9/10/95 (feature change) Eliminated exported global variables (they
-don't work with Windows DLLs). Replaced tcl_AsyncReady and
-tcl_FileCloseProc with procedures Tcl_AsyncReady() and
-Tcl_SetFileCloseProc(). Replaced C variable tcl_RcFileName with
-a Tcl variable tcl_rcFileName. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-9/11/95 (new feature) Added procedure Tcl_SetPanicProc to override
-the default implementation of "panic". (SS)
-
-9/11/95 (new feature) Added "interp" command to allow creation of
-new interpreters and execution of untrusted scripts. Added many new
-procedures, such as Tcl_CreateSlave, Tcl_CreateAlias,and Tcl_MakeSafe,
-to provide C-level access to the interpreter facility. This mechanism
-now provides almost all of the generic functions of Borenstein's and
-Rose's Safe-Tcl (but not any Tk or email-related stuff). (JL)
-
-9/11/95 (feature change) Changed file management so that files are
-no longer shared between interpreters: a file cannot normally be
-referenced in one interpreter if it was opened in another. This
-feature is needed to support safe interpreters. Added Tcl_ShareHandle()
-procedure for allowing files to be shared, and added "interp" argument
-to Tcl_FilePermissions procedure. (JL)
-*** POTENTIAL INCOMPATIBILITY ***
-
-9/11/95 (new feature) Added "AssocData" mechanism, whereby extensions
-can associate their own data with an interpreter and get called back
-when the interpreter is deleted. This is visible at C level via the
-procedures Tcl_SetAssocData and Tcl_GetAssocData. (JL)
-
-9/11/95 (new feature) Added Tcl_ErrnoMsg to translate an errno value
-into a human-readable string. This is now used instead of calling
-strerror because strerror mesages vary dramatically from platform
-to platform, which messes up Tcl tests. Tcl_ErrnoMsg uses the standard
-POSIX messages for all the common signals, and calls strerror for
-signals it doesn't understand.
-
------------------ Released patch 7.5p2, 9/15/95 -----------------------
-
------------------ Released 7.5a1, 9/15/95 -----------------------
-
-9/22/95 (bug fix) Changed auto_mkindex to create tclIndex files that
-handle directories whose paths might contain spaces. (RJ)
-
-9/27/95 (bug fix) The "format" command didn't check for huge or negative
-width specifiers, which could cause core dumps. (JO)
-
-9/27/95 (bug fix) Core dumps could occur if an interactive command typed
-to tclsh returned a very long result for tclsh to print out. The bug is
-actually in printf (in Solaris 2.3 and 2.4, at least); switched to use
-puts instead. (JO)
-
-9/28/95 (bug fix) Changed makefile.bc to eliminate a false dependency
-for tcl1675.dll on the Borland run time library. (SS)
-
-9/28/95 (bug fix) Fixed tcl75.dll so it looks for tcl1675.dll instead
-of tcl16.dll. (SS)
-
-9/28/95 (bug fix) Tcl was not correctly detecting the difference
-between Win32s and Windows '95. (SS)
-
-9/28/95 (bug fix) "exec" was not passing environment changes to child
-processes under Windows. (SS)
-
-9/28/95 (bug fix) Changed Tcl to ensure that open files are not passed
-to child processes under Windows. (SS)
-
-9/28/95 (bug fix) Fixed Windows '95 and NT versions of exec so it can
-handle both console and windows apps. (SS)
-
-9/28/95 (bug fix) Fixed Windows version of exec so it no longer leaves
-temp files lying around. Also changed it so the temp files are
-created in the appropriate system dependent temp directory. (SS)
-
-9/28/95 (bug fix) Eliminated source dependency on the Win32s Universal
-Thunk header file, since it is not bundled with VC++. (SS)
-
-9/28/95 (bug fix) Under Windows, Tcl now constructs the HOME
-environment variable from HOMEPATH and HOMEDRIVE when HOME is not
-already set. (SS)
-
-9/28/95 (bug fix) Added support for "info nameofexecutable" and "info
-sharedlibextension" to the Windows version. (SS)
-
-9/28/95 (bug fix) Changed tclsh to correctly parse command line
-arguments so that backslashes are preserved under Windows. (SS)
-
-9/29/95 (bug fix) Tcl 7.5a1 treated either return or newline as end
-of line in "gets", which caused lines ending in CRLF to be treated as
-two separate lines. Changed to allow only character as end-of-line:
-carriage return on Macs, newline elsewhere. (JO)
-
-9/29/95 (new feature) Changed to install "configInfo" file in same
-directory as library scripts. It didn't used to get installed. (JO)
-
-9/29/95 (bug fix) Tcl was not converting Win32 errors into POSIX
-errors under some circumstances. (SS)
-
-10/2/95 (bug fix) Safe interpreters no longer get initialized with
-a call to Tcl_Init(). (JL)
-
-10/1/95 (new feature) Added "tcl_platform" global variable to provide
-environment information such as the instruction set and operating
-system. (JO)
-
-10/1/95 (bug fix) "exec" command wasn't always generating the
-"child process exited abnormally" message when it should have. (JO)
-
-10/2/95 (bug fix) Changed "mkLinks.tcl" so that the scripts it generates
-won't create links that overwrite original manual entries (there was
-a problem where pack-old.n was overwriting pack.n). (JO)
-
-10/2/95 (feature change) Changed to use -ldl for dynamic loading under
-Linux if it is available, but fall back to -ldld if it isn't. (JO)
-
-10/2/95 (bug fix) File sharing was causing refcounts to reach 0
-prematurely for stdin, stdout and stderr, under some circumstances. (JL)
-
-10/2/95 (platform support) Added support for Visual C++ compiler on
-Windows, Windows '95 and Windows NT, code donated by Gordon Chaffee. (JL)
-
-10/3/95 (bug fix) Tcl now frees any libraries that it loads before it
-exits. (SS)
-
-10/03/95 (bug fix) Fixed bug in Macintosh ls command where the -l
-and -C options would fail in anything but the HOME directory. (RJ)
-
------------------ Released 7.5a2, 10/6/95 -----------------------
-
-10/10/95 (bug fix) "file dirnam /." was returning ":" on UNIX instead
-of "/". (JO)
-
-10/13/95 (bug fix) Eliminated dependency on MKS toolkit for generating
-the tcl.def file from Borland object files. (SS)
-
-10/17/95 (new features) Moved the event loop from Tcl to Tk, made major
-revisions along the way:
- - New Tcl commands: after, update, vwait (replaces "tkwait variable").
- - "tkerror" is now replaced with "bgerror".
- - The following procedures are similar to their old Tk counterparts:
- Tcl_DoOneEvent, Tcl_Sleep, Tcl_DoWhenIdle, Tcl_CancelIdleCall,
- Tcl_CreateFileHandler, Tcl_DeleteFileHandler, Tcl_CreateTimerHandler,
- Tcl_DeleteTimerHandler, Tcl_BackgroundError.
- - Revised notifier, add new concept of "event source" with the following
- procedures: Tcl_CreateEventSource, Tcl_DeleteEventSource,
- Tcl_WatchFile, Tcl_SetMaxBlockTime, Tcl_FileReady, Tcl_QueueEvent,
- Tcl_WaitForEvent. (JO)
-
-10/31/95 (new features) Implemented cross platform file name support to make
-it easier to write cross platform scripts. Tcl now understands 4 file naming
-conventions: Windows (both DOS and UNC), Mac, Unix, and Network. The network
-convention is a new naming mechanism that can be used to paths in a platform
-independent fashion. See the "file" command manual page for more details.
-The primary interfaces changes are:
- - All Tcl commands that expect a file name now accept both network and
- native form.
- - Two new "file" subcommands, "nativename" and "networkname", provide a
- way to convert between network and native form.
- - Renamed Tcl_TildeSubst to Tcl_TranslateFileName, and changed it so that
- it always returns a filename in native form. Tcl_TildeSubst is defined
- as a macro for backward compatibility, but it is deprecated. (SS)
-
-11/5/95 (new feature) Made "tkerror" and "bgerror" synonyms, so that
-either name can be used to manipulate the command (provides temporary
-backward compatibility for existing scripts that use tkerror). (JO)
-
-11/5/95 (new feature) Added exit handlers and new C procedures
-Tcl_CreateExitHandler, Tcl_DeleteExitHandler, and Tcl_Exit. (JO)
-
-11/6/95 (new feature) Added pid command for Macintosh version of
-Tcl (it didn't previously exist on the Mac). (RJ)
-
-11/7/95 (new feature) New generic IO facility and support for IO to
-files, pipes and sockets based on a common buffering scheme. Support
-for asynchronous (non-blocking) IO and for event driver IO. Support
-for automatic (background) asynchronous flushing and asynchronous
-closing of channels. (JL)
-
-11/7/95 (new feature) Added new commands "fconfigure" and "fblocked"
-to support new I/O features such as nonblocking I/O. Added "socket"
-command for creating TCP client and server sockets. (JL).
-
-11/7/95 (new feature) Complete set of C APIs to the new generic IO
-facility:
- - Opening channels: Tcl_OpenFileChannel, Tcl_OpenCommandChannel,
- Tcl_OpenTcpClient, Tcl_OpenTcpServer.
- - I/O procedures on channels, which roughly mirror the ANSI C stdio
- library: Tcl_Read, Tcl_Gets, Tcl_Write, Tcl_Flush, Tcl_Seek,
- Tcl_Tell, Tcl_Close, Tcl_Eof, Tcl_InputBlocked, Tcl_GetChannelOption,
- Tcl_SetChannelOption.
- - Extension mechanism for creating new kinds of channels:
- Tcl_CreateChannel, Tcl_GetChannelInstanceData, Tcl_GetChannelType,
- Tcl_GetChannelName, Tcl_GetChannelFile, Tcl_RegisterChannel,
- Tcl_UnregisterChannel, Tcl_GetChannel.
- - Event-driven I/O on channels: Tcl_CreateChannelHandler,
- Tcl_DeleteChannelHandler. (JL)
-
-11/7/95 (new feature) Channel driver interface specification to allow
-new types of channels to be added easily to Tcl. Currently being used
-in three drivers - for files, pipes and TCP-based sockets. (JL).
-
-11/7/95 (new feature) interp delete now takes any number of path
-names of interpreters to delete, including zero. (JL).
-
-11/8/95 (new feature) implemented 'info hostname' and Tcl_GetHostName
-command to get host name of machine on which the Tcl process is running. (JL)
-
-11/9/95 (new feature) Implemented file APIs for access to low level files
-on each system. The APIs are: Tcl_CloseFile, Tcl_OpenFile, Tcl_ReadFile,
-Tcl_WriteFile and Tcl_SeekFile. Also implemented Tcl_WaitPid which waits
-in a system dependent manner for a child process. (JL)
-
-11/9/95 (new feature) Added Tcl_UpdateLinkedVar procedure to force a
-Tcl variable to be updated after its C variable changes. (JO)
-
-11/9/95 (bug fix) The glob command has been totally reimplemented so
-that it can support different file name conventions. It now handles
-Windows file names (both UNC and drive-relative) properly. It also
-supports nested braces correctly now. (SS)
-
-11/13/95 (bug fix) Fixed Makefile.in so that configure can be run
-from a clean directory separate from the Tcl source tree, and compilations
-can be performed there. (JO)
-
-11/14/95 (bug fix) Fixed file sharing between interpreters and file
-transferring between interpreters to correctly manage the refcount so that
-files are closed when the last reference to them is discarded. (JL)
-
-11/14/95 (bug fix) Fixed gettimeofday implementation for the
-Macintosh. This fixes several timing related bugs. (RJ)
-
-11/17/95 (new feature) Added missing support for info nameofexecutable
-on the Macintosh. (RJ)
-
-11/17/95 (bug fix) The Tcl variables argc argv and argv0 now return
-something reasonable on the Mac. (RJ)
-
-11/22/95 (new feature) Implemented "auto-detect" mode for end of line
-translations. On input, standalone "\r" mean MAC mode, standalone "\n"
-mean Unix mode and "\r\n" means Windows mode. On output, the mode is
-modified to whatever the platform specific mode for that platform is. (JL)
-
-11/24/95 (feature change) Replaced "configInfo" file with tclConfig.sh,
-which is more complete and uses slightly different names. Also
-arranged for tclConfig.sh to be installed in the platform-specific
-library directory instead of Tcl's script library directory. (JO)
-*** POTENTIAL INCOMPATIBILITY with Tcl 7.5a2, but not with Tcl 7.4 ***
-
------------------ Released patch 7.4p3, 11/28/95 -----------------------
-
-12/5/95 (new feature) Added Tcl_File facility to support platform-
-independent file handles. Changed all interfaces that used Unix-
-style integer fd's to use Tcl_File's instead. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-12/5/95 (new feature) Added a new "clock" command to Tcl. The command
-allows you to get the current "clicks" or seconds & allows you to
-format or scan human readable time/date strings. (RJ)
-
-12/18/95 (new feature) Moved Tk_Preserve, Tk_Release, and Tk_EventuallyFree
-to Tcl, renamed to Tcl_Preserve, Tcl_Release, and Tcl_EventuallyFree. (JO)
-
-12/18/95 (new feature) Added new "package" command and associated
-procedures Tcl_PkgRequire and Tcl_PkgProvide. Also wrote
-pkg_mkIndex library procedure to create index files from binaries
-and scripts. (JO)
-
-12/20/95 (new feature) Added Tcl_WaitForFile procedure. (JO)
-
-12/21/95 (new features) Made package name argument to "load" optional
-(Tcl will now attempt to guess the package name if necessary). Also
-added Tcl_StaticPackage and support in "load" for statically linked
-packages. (JO)
-
-12/22/95 (new feature) Upgraded the foreach command to accept multiple
-loop variables and multiple value lists. This lets you iterate over
-multiple lists in parallel, and/or assign multiple loop variables from
-one value list during each iteration. The only potential compatibility
-problem is with scripts that used loop variables with a name that could be
-construed to be a list of variable names (i.e. contained spaces). (BW)
-
-1/5/96 (new feature) Changed tclsh so it builds as a console mode
-application under Windows. Now tclsh can be used from the command
-line with pipes or interactively. Note that this only works under
-Windows 95 or NT. (SS)
-
-1/17/96 (new feature) Modified Makefile and configure script to allow
-Tcl to be compiled as a shared library: use the --enable-shared option
-when configuing. (JO)
-
-1/17/96 (removed obsolete features) Removed the procedures Tcl_EnterFile
-and Tcl_GetOpenFile: these no longer make sense with the new I/O system. (JL)
-*** POTENTIAL INCOMPATIBILITY ***
-
-1/19/96 (bug fixes) Prevented formation of circular aliases, through the
-Tcl 'interp alias' command and through the 'rename' command, as well as
-through the C API Tcl_CreateAlias. (JL)
-
-1/19/96 (bug fixes) Fixed several bugs in direct deletion of interpreters
-with Tcl_DeleteInterp when the interpreter is a slave; fixes based on a
-patch received from Viktor Dukhovni of ESM. (JL)
-
-1/19/96 (new feature) Implemented on-close handlers for channels; added
-the C APIs Tcl_CreateCloseHandler and Tcl_DeleteCloseHandler. (JL)
-
-1/19/96 (new feature) Implemented portable error reporting mechanism; added
-the C APIs Tcl_SetErrno and Tcl_GetErrno. (JL)
-
-1/24/96 (bug fix) Unknown command processing properly invokes external
-commands under Windows NT and Windows '95 now. (SS)
-
-1/23/96 (bug fix) Eliminated extremely long startup times under Windows '95.
-The problem was a result of the option database initialization code that
-concatenated $HOME with /.Xdefaults, resulting in a // in the middle of the
-file name. Under Windows '95, this is incorrectly interpreted as a UNC
-path. They delays came from the network timeouts needed to determine that
-the file name was invalid. Tcl_TranslateFileName now suppresses duplicate
-slashes that aren't at the beginning of the file name. (SS)
-
-1/25/96 (bug fix) Changed exec and open to create children so they are
-attached to the application's console if it exists. (SS)
-
-1/31/96 (bug fix) Fixed command line parsing to handle embedded
-spaces under Windows. (SS)
-
------------------ Released 7.5b1, 2/1/96 -----------------------
-
-2/7/96 (bug fix) Fixed off by one error in argument parsing code under
-Windows. (SS)
-
-2/7/96 (bug fix) Fixed bugs in VC++ makefile that improperly
-initialized the tcl75.dll. Fixed bugs in Borland makefile that caused
-build failures under Windows NT. (SS)
-
-2/9/96 (bug fix) Fixed deadlock problem in AUTO end of line translation
-mode which would cause a socket server with several concurrent clients
-writing in CRLF mode to hang. (JL)
-
-2/9/96 (API change) Replaced -linemode option to fconfigure with a
-new -buffering option, added "none" setting to enable immediate write. (JL)
-*** INCOMPATIBILITY with b1 ***
-
-2/9/96 (new feature) Added C API Tcl_InputBuffered which returns the count
-of bytes currently buffered in the input buffer of a channel, and o for
-output only channels. (JL)
-
-2/9/96 (new feature) Implemented asynchronous connect for sockets. (JL)
-
-2/9/96 (new feature) Added C API Tcl_SetDefaultTranslation to set (per
-channel) the default end of line translation mode. This is the mode that
-will be installed if an output operation is done on the channel while it is
-still in AUTO mode. (JL)
-
-2/9/96 (bug fix) Changed Tcl_OpenCommandChannel interface to properly
-handle all of the combinations of stdio inheritance in background
-pipelines. See the Tcl_OpenFileChannel(3) man page for more
-info. This change fixes the bug where exec of a background pipeline
-was not getting passed the stdio handles properly. (SS)
-
-2/9/96 (bug fix) Removed the new Tcl_CreatePipeline interface, and
-restored the old version for Unix platforms only. All new code should
-use Tcl_CreateCommandChannel instead. (SS)
-
-2/9/96 (bug fix) Changed Makefile.in to use -L and -ltcl7.5 for Tcl
-library so that shared libraries are more likely to be found correctly
-on more platforms. (JO)
-
-2/13/96 (new feature) Added C API Tcl_SetNotifierData and
-Tcl_GetNotifierData to allow notifier and channel driver writers to
-associate data with a Tcl_File. The result of this change is that
-Tcl_GetFileInfo now always returns an OS file handle, and Tcl_GetFile
-can be used to construct a Tcl_File for an externally constructed OS
-handle. (SS)
-
-2/13/96 (bug fix) Changed Windows socket implementation so it doesn't
-set SO_REUSEADDR on server sockets. Now attempts to create a server
-socket on a port that is already in use will be properly identified
-and an error will be generated. (SS)
-
-2/13/96 (bug fix) Fixed problems with DLL initialization under Visual
-C++ that left the C run time library uninitialized. (SS)
-
-2/13/96 (bug fix) Fixed Windows socket initialization so it loads
-winsock the first time it is used, rather than at the time tcl75.dll
-is loaded. This should fix the bug where the modem immediately starts
-trying to connect to a service provider when wish or tclsh are
-started. (SS)
-
-2/13/96 (new feature) Added C APIs Tcl_MakeFileChannel and
-Tcl_MakeTcpClientChannel to wrap up existing fds and sockets into
-channels. Provided implementations on Unix and Windows. (JL)
-
-2/13/96 (bug fix) Fixed bug with seek leaving EOF and BLOCKING set. (JL)
-
-2/14/96 (bug fix) Fixed reentrancy problem in fileevent handling
-and made it more robust in the face of errors. (JL)
-
-2/14/96 (feature change) Made generic IO level emulate blocking mode if the
-channel driver is unable to provide it, e.g. if the low level device is
-always nonblocking. Thus, now blocking behavior is an advisory setting for
-channel drivers and can be ignored safely if the channel driver is unable
-to provide it. (JL)
-
-2/15/96 (new feature) Added "binary" end of line translation mode, which is
-a synonym of "lf" mode. (JL)
-
-2/15/96 (bug fix) Fixed reentrancy problem in fileevent handling vs
-deletion of channel event handlers. (JL)
-
-2/15/96 (bug fix) Fixed bug in event handling which would cause a
-nonblocking channel to not see further readable events after the first
-readable event that had insufficient input. (JL)
-
-2/17/96 (bug fix) "info complete" didn't properly handle comments
-in nested commands. (JO)
-
-2/21/96 (bug fix) "exec" under Windows NT/95 did not properly handle
-very long command lines (>200 chars). (SS)
-
-2/21/96 (bug fix) Sockets could get into an infinite loop if a read
-event arrived after all of the available data had been read. (SS)
-
-2/22/96 (bug fix) Added cast of st_size elements to (long) before
-sprintf-ing in "file size" command. This is needed to handle systems
-like NetBSD with 64-bit file offsets. (JO)
-
------------------ Released 7.5b2, 2/23/96 -----------------------
-
-2/23/96 (bug fix) TCL_VARARGS macro in tcl.h wasn't defined properly
-when compiling with C++. (JO)
-
-2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile:
-this caused problems on some platforms (like Linux?). (JO)
-
-2/24/96 (bug fix) Fixed configuration bug that made Tcl not compile
-correctly on Linux machines with neither -ldl or -ldld. (JO)
-
-2/24/96 (new feature) Added a block of comments and definitions to
-Makefile.in to make it easier to have Tcl's TclSetEnv etc. replace
-the library procedures setenv etc, so that calls to setenv etc. in
-the application automatically update the Tcl "env" variable. (JO)
-
-2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL)
-to C API Tcl_Close and simplified closing of command channels. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL)
-to C type definition Tcl_DriverCloseProc; modified all channel drivers to
-implement close procedures that accept the additional argument. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-2/28/96 (bug fix) Fixed memory leak that could occur if an upvar
-referred to an element of an array in the same stack frame as the
-upvar. (JO)
-
-2/29/96 (feature change) Modified both Tcl_DoOneEvent and Tcl_WaitForEvent
-so that they return immediately in cases where they would otherwise
-block forever (e.g. if there are no event handlers of any sort). (JO)
-
-2/29/96 (new feature) Added C APIs Tcl_GetChannelBufferSize and
-Tcl_SetChannelBufferSize to set and retrieve the size, in bytes, for
-buffers allocated to store input or output in a channel. (JL)
-
-2/29/96 (new feature) Added option -buffersize to Tcl fconfigure command
-to allow Tcl scripts to query and set the size of channel buffers. (JL)
-
-2/29/96 (feature removed) Removed channel driver function to specify
-the buffer size to use when allocating a buffer. Removed the C typedef
-for Tcl_DriverBufferSizeProc. Channels are now created with a default
-buffer size of 4K. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-2/29/96 (feature change) The channel driver function for setting blocking
-mode on the device may now be NULL. If the generic code detects that the
-function is NULL, operations that set the blocking mode on the channel
-simply succeed. (JL)
-
-3/2/96 (bug fix) Fixed core dump that could occur if a syntax error
-(such as missing close paren) occurred in an array reference with a
-very long array name. (JO)
-
-3/4/96 (bug fix) Removed code in the "auto_load" procedure that deletes
-all existing auto-load information whenever the "auto_path" variable
-is changed. Instead, new information adds to what was already there.
-Otherwise, changing the "auto_path" variable causes all package-
-related information to be lost. If you really want to get rid of
-existing auto-load information, use auto_reset before setting auto_path. (JO)
-
-3/5/96 (new feature) Added version suffix to shared library names so that
-Tcl will compile under NetBSD and FreeBSD (I hope). (JO)
-
-3/6/96 (bug fix) Cleaned up error messages in new I/O system to correspond
-more closely to old I/O system. (JO)
-
-3/6/96 (new feature) Added -myaddr and -myport options to the socket
-command, removed -tcp and -- options. This lets clients and servers
-choose a particular interface. Also changed the default server address
-from the hostname to INADDR_ANY. The server accept callback now gets
-passed the client's port as well as IP address. The C interfaces for
-Tcl_OpenTcpClient and Tcl_OpenTcpServer have changed to support the
-above changes. (BW)
-*** POTENTIAL INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-3/6/96 (changed feature) The library function auto_mkindex will now
-default to using the pattern "*.tcl" if no pattern is given. (RJ)
-
-3/6/96 (bug fix) The socket channel code for the Macintosh has been
-rewritten to use native MacTcp. (RJ)
-
-3/7/96 (new feature) Added Tcl_SetStdChannel and Tcl_GetStdChannel
-interfaces to allow applications to explicitly set and get the global
-standard channels. (SS)
-
-3/7/96 (bug fix) Tcl did close not the file descriptors associated
-with "stdout", etc. when the corresponding channels were closed. (SS)
-
-3/7/96 (bug fix) Reworked shared library and dynamic loading stuff to
-try to get it working under AIX. Added new @SHLIB_LD_LIBS@ autoconf
-symbol as part of this. AIX probably doesn't work yet, but it should
-be a lot closer. (JO)
-
-3/7/96 (feature change) Added Tcl_ChannelProc typedef and changed the
-signature of Tcl_CreateChannelHandler and Tcl_DeleteChannelHandler to take
-Tcl_ChannelProc arguments instead of Tcl_FileProc arguments. This change
-should not affect any code outside Tcl because the signatures of
-Tcl_ChannelProc and Tcl_FileProc are compatible. (JL)
-
-3/7/96 (API change) Modified signature of Tcl_GetChannelOption to return
-an int instead of char *, and to take a Tcl_DString * argument. Modified
-the implementation so that the option name can be NULL, to mean that the
-call should retrieve a list of alternating option names and values. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-3/7/96 (API change) Added Tcl_DriverSetOptionProc, Tcl_DriverGetOptionProc
-typedefs, added two slots setOptionProc and getOptionProc to the channel
-type structure. These may be NULL to indicate that the channel type does
-not support any options. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 ***
-
-3/7/96 (feature change) stdin, stdout and stderr can now be put into
-nonblocking mode. (JL)
-
-3/8/96 (feature change) Eliminated dependence on the registry for
-finding the Tcl library files. (SS)
-
------------------ Released 7.5b3, 3/8/96 -----------------------
-
-3/12/96 (feature improvement) Modified startup script to look in several
-different places for the Tcl library directory. This should allow Tcl
-to find the libraries under all but the weirdest conditions, even without
-the TCL_LIBRARY environment variable being set. (JO)
-
-3/13/96 (bug fix) Eliminated use of the "linger" option from the Windows
-socket implementation. (JL)
-
-3/13/96 (new feature) Added -peername and -sockname options for fconfigure
-for socket channels. Code contributed by John Haxby of HP. (JL)
-
-3/13/96 (bug fix) Fixed panic and core dump that would occur if the accept
-callback script on a server socket encountered an error. (JL)
-
-3/13/96 (feature change) Added -async option to the Tcl socket command.
-If the command is creating a client socket and the flag is present, the
-client is connected asynchronously. If the option is absent (the default),
-the client socket is connected synchronously, and the command returns only
-when the connection has been completed or failed. This change was suggested
-by Mark Diekhans. (JL)
-
-3/13/96 (feature change) Modified the signature of Tcl_OpenTcpClient to
-take an additional int argument, async. If nonzero, the client is connected
-to the server asynchronously. If the value is zero, the connection is made
-synchronously, and the call to Tcl_OpenTcpClient returns only when the
-connection fails or succeeds. This change was suggested by Mark Diekhans. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
-
-3/14/96 (bug fix) "tclsh bogus_file_name" didn't print an error message. (JO)
-
-3/14/96 (bug fix) Added new procedures to tclCkalloc.c so that libraries
-and applications can be compiled with TCL_MEM_DEBUG even if Tcl isn't
-(however, the converse is still not true). Patches provided by Jan
-Nijtmans. (JO)
-
-3/15/96 (bug fix) Marked standard IO handles of a process as close-on-exec
-to fix bug in Ultrix where exec was not sharing standard IO handles with
-subprocesses. Fix suggested by Mark Diekhans. (JL)
-
-3/15/96 (bug fix) Fixed asynchronous close mechanism so that it closes the
-channel instead of leaking system resources. The manifestation was that Tcl
-would eventually run out of file descriptors if it was handling a large
-number of nonblocking sockets or pipes with high congestion. (JL)
-
-3/15/96 (bug fix) Fixed tests so that they no longer leak file descriptors.
-The manifestation was that Tcl would eventually run out of file descriptors
-if the tests were rerun many times (> a hundred times on Solaris). (JL)
-
-3/15/96 (bug fix) Fixed channel creation code so that it never creates
-unnamed channels. This would cause a panic and core dump when the channel
-was closed. (JL)
-
-3/16/96 (bug fixes) Made lots of changes in configuration stuff to get
-Tcl working under AIX (finally). Tcl should now support the "load"
-command under AIX and should work either with or without shared
-libraries for Tcl and Tk. (JO)
-
-3/21/96 (configuration improvement) Changed configure script so it
-doesn't use version numbers (as in -ltcl7.5 and libtcl7.5.so) under
-SunOS 4.1, where they don't work anyway. (JO)
-
-3/22/96 (new feature) Added C API Tcl_InterpDeleted that allows extension
-writers to discover when an interpreter is being deleted. (JL)
-
-3/22/96 (bug fix) The standard IO channels are now added to each
-trusted interpreter as soon as the interpreter is created. This ensures
-against the bug where a child would do IO before the master had done any,
-and then the child is destroyed - the standard IO channels would be then
-closed and the master would be unable to do any IO. (JL)
-
-3/22/96 (bug fix) Made Tcl more robust against interpreter deletion, by
-using Tcl_Preserve, Tcl_Release and Tcl_EventuallyFree to split the process
-of interpreter deletion into two distinct phases. Also went through all of
-Tcl and added calls to Tcl_Preserve and Tcl_Delete where needed. (JL)
-
-3/22/96 (bug fix) Fixed several places where C code was reading and writing
-into freed memory, especially during interpreter deletion. (JL)
-
-3/22/96 (bug fix) Fixed very deep bug in Tcl_Release that caused memory to
-be freed twice if the release callback did Tcl_Preserve and Tcl_Release on
-the same memory as the chunk currently being freed. (JL)
-
-3/22/96 (bug fix) Removed several memory leaks that would cause memory
-buildup on half-K chunks in the generic IO level. (JL)
-
-3/22/96 (bug fix) Fixed several core dumps which occurred when new
-AssocData was being created during the cleanups in interpreter deletion.
-The solution implemented now is to loop repeatedly over the AssocData until
-none is left to clean up. (JL)
-
-3/22/96 (bug fix) Fixed a bug in event handling which caused an infinite
-loop if there were no files being watched and no timer. Fix suggested by
-Jan Nijtmans. (JL)
-
-3/22/96 (bug fix) Fixed Tcl_CreateCommand, Tcl_DeleteCommand to be more
-robust if the interpreter is being deleted. Also fixed several order
-dependency bugs in Tcl_DeleteCommand which kicked in when an interpreter
-was being deleted. (JL)
-
-3/26/96 (bug fix) Upon a "short read", the generic code no longer calls
-the driver for more input. Doing this caused blocking on some platforms
-even on nonblocking channels. Bug and fix courtesy Mark Roseman. (JL)
-
-3/26/96 (new feature) Added 'package Tcltest' which is present only in
-test versions of Tcl; this allows the testing commands to be loaded into
-new interpreters besides the main one. (JL)
-
-3/26/96 (restored feature) Recreated the Tcl_GetOpenFile C API. You can
-now get a FILE * from a registered channel; Unix only. (JL)
-
-3/27/96 (bug fix) The regular expression code did not support more
-than 9 subexpressions. It now supports up to 20. (SS)
-
-4/1/96 (bug fixes) The CHANNEL_BLOCKED bit was being left on on a short
-read, so that fileevents wouldn't fire correctly. Bug reported by Mark
-Roseman.(JL, RJ)
-
-4/1/96 (bug fix) Moved Tcl_Release to match Tcl_Preserve exactly, in
-tclInterp.c; previously interpreters were being freed only conditionally
-and sometimes not at all. (JL)
-
-4/1/96 (bug fix) Fixed error reporting in slave interpreters when the
-error message was being generated directly by C code. Fix suggested by
-Viktor Dukhovni of ESM. (JL)
-
-4/2/96 (bug fixes) Fixed a series of bugs in Windows sockets that caused
-events to variously get lost, to get sent multiple times, or to be ignored
-by the driver. The manifestation was blocking if the channel is blocking,
-and either getting EAGAIN or infinite loops if the channel is nonblocking.
-This series of bugs was found by Ian Wallis of Cisco. Now all tests (also
-those that were previously commented out) in socket.test pass. (JL, SS)
-
-4/2/96 (feature change/bug fix) Eliminated network name support in
-favor of better native name support. Added "file split", "file join",
-and "file pathtype" commands. See the "file" man page for more
-details. (SS)
-*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
-
-4/2/96 (bug fix) Changed implementation of auto_mkindex so tclIndex
-files will properly handle path names in a cross platform context. (SS)
-
-4/5/96 (bug fix) Fixed Tcl_ReadCmd to use the channel buffer size as the
-chunk size it reads, instead of a fixed 4K size. Thus, on large reads, the
-user can set the channel buffer size to a large size and the read will
-occur orders of magnitude faster. For example, on a 2MB file, reading in 4K
-chunks took 34 seconds, while reading in 1MB chunks took 1.5 seconds (on a
-SS-20). Problem identified and fix suggested by John Haxby of HP. (JL)
-
-4/5/96 (bug fix) Fixed socket creation code to invoke gethostbyname only if
-inet_addr failed (very unlikely). Before this change the order was reversed
-and this made things much slower than they needed to be (gethostbyname
-generally requires an RPC, which is slow). Problem identified and fix
-suggested by John Loverso of OSF. (JL)
-
-4/9/96 (feature change) Modified "auto" translation mode so that it
-recognizes any of "\n", "\r" and "\r\n" in input as end of line, so
-that a file can have mixed end-of-line sequences. It now outputs
-the platform specific end of line sequence on each platform for files and
-pipes, and for sockets it produces crlf in output on all platforms. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
-
-4/11/96 (new feature) Added -eofchar option to Tcl_SetChannelOption to allow
-setting of an end of file character for input and output. If an input eof
-char is set, it is recognized as EOF and further input from the channel is
-not presented to the caller. If an output eof char is set, on output, that
-byte is appended to the channel when it is closed. On Unix and Macintosh,
-all channels start with no eof char set for input or output. On Windows,
-files and pipes start with input and output eof chars set to Crlt-Z (ascii
-26), and sockets start with no input or output eof char. (JL)
-*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 ***
-
-4/17/96 (bug fix) Fixed series of bugs with handling of crlf sequence split
-across buffer boundaries in input, in AUTO mode. (JL, BW)
-
-4/17/96 (test suite improvement) Fixed test suite so that tests that
-depend on the availability of Unix commands such as echo, cat and others
-are not run if these commands are not present. (JL)
-
-4/17/96 (test suite improvement) The socket test now automatically starts,
-on platformst that support exec, a separate process for remote testsing. (JL)
-
------------------ Released 7.5, 4/21/96 -----------------------
-
-5/1/96 (bug fix) "file tail ~" did not correctly return the tail
-portion of the user's home directory. (SS)
-
-5/1/96 (bug fix) Fixed bug in TclGetEnv where it didn't lookup environment
-variables correctly: could confuse "H" and "HOME", for example. (JO)
-
-5/1/96 (bug fix) Changed to install tclConfig.sh under "make install-binaries",
-not "make install-libraries". (JO)
-
-5/2/96 (bug fix) Changed pkg_mkIndex not to attempt to "load" a file unless
-it has the standard shared library extension. On SunOS, attempts to load
-Tcl scripts cause the whole application to be aborted (there's no way to
-get the error back into Tcl). (JO)
-
-5/7/96 (bug fix) Moved initScript in tclUnixInit.c to writable memory to
-avoid potential core dumps. (JO)
-
-5/7/96 (bug fix) Auto_reset procedure was removing procedure from init.tcl,
-such as pkg_mkIndex. (JO)
-
-5/7/96 (bug fix) Fixed cast on socket address resolution code that
-would cause a failure to connect on Dec Alphas. (JL)
-
-5/7/96 (bug fix) Added "time", "subst" and "fileevent" commands to set of
-commands available in a safe interpreter. (JL)
-
-5/13/96 (bug fix) Preventing OS level handles for stdin, stdout and stderr
-from being implicitly closed when the last reference to the standard
-channel containing that handle is discarded when an interpreter is deleted.
-Explicitly closing standard channels by using "close" still works. (JL)
-
-5/21/96 (bug fix) Do not create channels for stdin, stdout and stderr on
-Unix if the devices are closed. This prevents a duplicate channel name
-panic later on when the fd is used to open a channel and the channel is
-registered in an interpreter. (JL)
-
-5/23/96 (bug fix) Fixed bug that prevented the use of standard channels in
-interpreters created after the last interpreter was destroyed. In the sequence
-
- interp = Tcl_CreateInterp();
- Tcl_DeleteInterp(interp);
- interp = Tcl_CreateInterp();
-
-channels for stdio would not be available in the second interpreter. (JL)
-
-5/23/96 (bug fix) Fixed bug that allowed Tcl_MakeFileChannel to create new
-channels with Tcl_Files in them that are already used by another channel.
-This would cause core dumps when the Tcl_Files were being freed twice. (JL)
-
-5/23/96 (bug fix) Fixed a logical timing bug that caused a standard channel
-to be removed from the standard channel table too early when the channel
-was being closed. If the channel was being flushed asynchronously, it could
-get recreated before being actually destroyed, and the recreated channel
-would contain the same Tcl_File as the one being closed, leading to
-dangling pointers and core dumps. (JL)
-
-5/27/96 (bug fix) Fixed a bug in Tcl_GetChannelOption which caused it to
-always return a list of one element, a list of the settings, for
--translation and -eofchar options. Now correctly returns the value
-described by the documentation (Mark Diekhans found this, thanks!). (JL)
-
-5/30/96 (bug fix) Fixed a couple of syntax errors in io.test. (JL)
-
-5/30/96 (bug fix) If a fileevent scripts gets an error, delete it before
-causing a background error. This is to allow the error handler to reinstall
-the fileevent and to prevent infinite loops if the event loop is reentered
-in the error handler. (JL)
-
-5/31/96 (bug fix) Channels now will get properly flushed on exit. (JL)
-
-6/5/96 (bug fix) Changed Tcl_Ckalloc, Tcl_Ckfree, and Tcl_Ckrealloc to
-Tcl_Alloc, Tcl_Free, and Tcl_Realloc. Added documentation for these
-routines now that they are officially supported. Extension writers
-should use these routines instead of free() and malloc(). (SS)
-
-6/10/96 (bug fix) Changes the Tcl close command so that it no longer
-waits on nonblocking pipes for the piped processes to exit; instead it
-reaps them in the background. (JL)
-
-6/11/96 (bug fix) Increased the length of the listen queue for server
-sockets on Unix from 5 to 100. Some OSes will disregard this and reset it
-to 5, but we should try to get as long a queue as we can, for performance
-reasons. (JL)
-
-6/11/96 (bug fix) Fixed windows sockets bug that caused a cascade of events
-if the fileevent script read less than was available. Now reading less than
-is available does not cause a flood of Tcl events. (JL, SS)
-
-6/11/96 (bug fix) Fixed bug in background flushing on closed channels that
-would prevent the last buffer from getting flushed. (JL)
-
-6/13/96 (bug fix) Fixed bug in Windows sockets that caused a core dump if
-a DLL linked with tcl.dll and referred to e.g. ntohs() without opening a
-Tcl socket. The problem was that the indirection table was not being
-initialized. (JL)
-
-6/13/96 (bug fix) Fixed OS level resource leak that would occur when a
-Tcl channel was still registered in some interpreter when the process
-exits. Previously the channel was not being closed and the OS level handles
-were not being released; the output was being flushed but the device was
-not being closed. Now the device is properly closed. This was only a
-problem on Win3.1 and MacOS. (JL, SS)
-
-6/28/96 (bug fix) Fixed bug where transient errors were leaving an error
-code around, so that it would erroneously get reported later. This bug was
-exercised intermittently by closing a channel to a file on a very loaded
-NFS server, or to a socket whose other end blocked. (JL, BW)
-
-7/3/96 (bug fix) Fileevents declared in an interpreter are now deleted
-when the channel is closed in that interpreter. Before this fix, the
-fileevent would hang around until the channel is completely closed, and
-would cause errors if events happened before the channel was closed. This
-could happen in two cases: first if the channel is shared between several
-interpreters, and second if an async flush is in progress that prevents the
-channel from being closed until the flush finishes. (JL)
-
-7/10/96 (bug fix) Fixed bugs in both "lrange" and "lreplace" commands
-where too much white space was being removed. For example, the command
- lreplace {\}\ hello} end end
-was returning "\}\", losing the significant space in the first list
-element and corrupting the list. (JO)
-
-7/20/96 (bug fix) The procedure pkg_mkIndex didn't work properly for
-extensions that depend on Tk, because it didn't load Tk into the child
-interpreter before loading the extension. Now it loads Tk if Tk is
-present in the parent. (JO)
-
-7/23/96 (bug fix) Added compat version of strftime to fix crashes
-resulting from bad implementations under Windows. (SS)
-
-7/23/96 (bug fix) Standard implementations of gmtime() and localtime()
-under Windows did not handle dates before 1970, so they were replaced
-with a revised implementation. (SS)
-
-7/23/96 (bug fix) Tcl would crash on exit under Borland 5.0 because
-the global environ pointer was left pointing to freed memory. (SS)
-
-7/29/96 (bug fix) Fixed memory leak in Tcl_LoadCmd that could occur if
-a package's AppInit procedure called Tcl_StaticPackage to register
-static packages. (JO)
-
-8/1/96 (bug fix) Fixed a series of bugs in Windows sockets so that async
-writebehind in the presence of read event handlers now works, and so that
-async writebehind also works on sockets for which a read event handler was
-declared and whose channels were then closed before the async write
-finished. The bug was reported by John Loverso and Steven Wahl,
-independently, test case supplied by John Loverso. (JL)
-
------------------ Released patch 7.5p1, 8/2/96 -----------------------
-
-5/8/96 (new feature) Added Tcl_GetChannelMode C API for retrieving whether
-a channel is open for reading and writing. (JL)
-
-5/8/96 (API changes) Revised C APIs for channel drivers:
- - Removed all Tcl_Files from channel driver interface; you can now have
- channels that are not based on Tcl_Files.
- - Added channelReadyProc and watchChannelProc procedures to interface;
- these are used to implement event notification for channels.
- - Added getFileProc to channel driver, to allow the generic IO code
- to retrieve a Tcl_File from a channel (presumably if the channel
- uses Tcl_Files they will be stored inside its instanceData). (JL)
-*** INCOMPATIBILITY with Tcl 7.5 ***
-
-5/8/96 (API change) The Tcl_CreateChannel C API was modified to not take
-Tcl_File arguments, and instead to take a mask specifying whether the
-channel is readable and/or writable. (JL)
-*** INCOMPATIBILITY with Tcl 7.5 ***
-
-6/3/96 (bug fix) Made Tcl_SetVar2 robust against the case where the value
-of the variable is a NULL pointer instead of "". (JL)
-
-6/17/96 (bug fix) Fixed "reading uninitialized memory" error reported by
-Purify, in Tcl_Preserve/Tcl_Release. (JL)
-
-8/9/96 (bug fix) Fixed bug in init.tcl that caused incorrect error message
-if the act of autoloading a procedure caused the procedure to be invoked
-again. (JO)
-
-8/9/96 (bug fix) Configure script produced bad library names and extensions
-under SunOS and a few other platforms if the --disable-load switch was used.
-(JO)
-
-8/9/96 (bug fix) Tcl_UpdateLinkedVar generated an error if the variable
-being updated was read-only. (JO)
-
-8/14/96 (bug fix) The macintosh now supports synchronous socket
-connections. Other minor bugs were also fixed. (RJ)
-
-8/15/96 (configuration improvement) Changed the file patchlevel.h
-to be tclPatch.h. This avoids conflict with the Tk file and is now
-in 8.3 format on the Windows platform. (RJ)
-
-8/20/96 (bug fix) Fixed core dump in interp alias command for interpreters
-created with Tcl_CreateInterp (as opposed to with Tcl_CreateSlave). (JL)
-
-8/20/96 (bug fix) No longer masking ECONNRESET on Windows sockets so
-that the higher level of the IO mechanism sees the error instead of
-entering an infinite loop. (JL)
-
-8/20/96 (bug fix) Destroying the last interpreter no longer closes the
-standard channels. (JL)
-
-8/20/96 (bug fix) Closing one of the stdin, stdout or stderr channels and
-then opening a new channel now correctly assigns the new channel as the
-standard channel that was closed. (JL)
-
-8/20/96 (bug fix) Added code to unix/tclUnixChan.c for using ioctl with
-FIONBIO instead of fcntl with O_NONBLOCK, for those versions of Unix where
-either O_NONBLOCK is not supported or implemented incorrectly. (JL)
-
-8/21/96 (bug fix) Fixed "file extension" so it correctly returns the
-extension on files like "foo..c" as "..c" instead of ".c". (SS)
-
-8/22/96 (bug fix) If environ[] contains static strings, Tcl would core
-dump in TclSetupEnv because it was trying to write NULLs into the actual
-data in environ[]. Now we instead copy as appropriate. (JL)
-
-8/22/96 (added impl) Added missing implementation of Tcl_MakeTcpClientChannel
-for Windows platform. Code contributed by Mark Diekhans. (JL)
-
-8/22/96 (new feature) Added a new memory allocator for the Macintosh
-version of Tcl. It's quite a bit faster than MetroWerk's version. (RJ)
-
-8/26/96 (documentation update) Removed old change bars (for all changes
-in Tcl 7.5 and earlier releases) from manual entries. (JO)
-
-8/27/96 (enhancement) The exec and open commands behave better and work in
-more situations under Windows NT and Windows 95. Documentation describes
-what is still lacking. (CS)
-
-8/27/96 (enhancement) The Windows makefiles will now compile even if the
-compiler is not in the path and/or the compiler's environment variables
-have not been set up. (CS)
-
-8/27/96 (configuration improvement) The Windows resource files are
-automatically updated when the version/patch level changes. The header file
-now has a comment that reminds the user which other files must be manually
-updated when the version/patch level changes. (CS)
-
-8/28/96 (new feature) Added file manipulation features (copy, rename, delete,
-mkdir) that are supported on all platforms. They are implemented as
-subcommands to the "file" command. See the documentation for the "file"
-command for more information. (JH)
-
------------------ Released 7.6b1, 8/30/96 -----------------------
-
-9/3/96 (bug fix) Simplified code so that standard channels are created
-lazily, they are added to an interpreter lazily, and they are never added
-to a safe interpreter. (JL)
-
-9/3/96 (bug fix) Closing a channel after closing a standard channel, e.g.
-stdout, would cause the implicit recreation of that standard channel. (JL)
-
-9/3/96 (new feature) Now calling Tcl_RegisterChannel with a NULL
-interpreter increments the refcount so that code outside any interpreter
-can use channels that are also registered in interpreters, without worrying
-that the channel may turn into a dangling pointer at any time. Calling
-Tcl_UnregisterChannel with a NULL interpreter only decrements the recount
-so that code outside any interpreter can safely declare it is no longer
-interested in a channel. (JL)
-
-9/4/96 (new features) Two changes to dynamic loading:
- - If the file name is empty in the "load" command and there is no
- statically loaded version of the package, a dynamically loaded
- version will be used if there is one.
- - Tcl_StaticPackage ignores redundant calls for the same package. (JO)
-
-9/6/96 (bug fix) Platform specific procedures for manipulating files are
-no longer macros and have been prefixed with "Tclp", such as TclpRenameFile.
-Unix file code now handles symbolic links and other special files correctly.
-The semantics of file copy and file rename has been changed so that if
-a target directory exists, the source files will NOT be merged with the
-existing files. (JH)
-
-9/6/96 (bug fix) If standard channel is NULL, because Tcl cannot connect
-to the standard channel, do not increment the refcount. The channel can
-be NULL if there is for example no standard input. (JL)
-
-9/6/96 (portability improvement) Changed parsing of backslash sequences
-like \n to translate directly to absolute values like 0xa instead of
-letting the compiler do the translation. This guarantees that the
-translation is done the same everywhere. (JO)
-
-9/9/96 (bug fix) If channel is opened and not associated with any
-interpreter, but Tcl decides to use it as one of the standard channels, it
-became impossible to close the channel with Tcl_Close -- instead you had
-to call Tcl_UnregisterChannel. Fixed now so that it's safe to call
-Tcl_Close even when Tcl is using the channel as one of the standard ones. (JL)
-
-9/11/96 (feature change) The Tcl library is now placed in the Tcl
-shared libraries resource. You no longer need to place the Tcl files
-in your applications explicitly. (RJ)
-
-9/11/96 (feature change) Extensions no longer automatically have the
-resource fork of the extension opened for it. Instead you need to
-use the tclMacLibrary.c file in your extension. (RJ)
-*** POTENTIAL INCOMPATIBILITY ***
-
-9/12/96 (bug fix) The extension loading mechanism on the Macintosh now
-looks at the 'cfrg' resource to determine where to load the code
-fragment from. This means FAT fragments should now work. (RJ)
-
-9/18/96 (enhancement) The exec and open commands behave better and work in
-more situations under Windows 3.X. Documentation describes what is still
-lacking. (CS)
-
-9/19/96 (bug fix) Fixed a panic which would occur if you delete a
-non-existent alias before any aliases are created. Now instead correctly
-returns an error that the alias is not found. (JL)
-
-9/19/96 (bug fix) Slave interpreters could rename aliases and they would
-not get deleted when the alias was being redefined. This led to dangling
-pointers etc. (JL)
-
-9/19/96 (bug fix) Fixed a panic where a hash table entry was being deleted
-twice during alias management operations. (JL)
-
-9/19/96 (bug fix) Fixed bug in event loop that could cause the input focus
-in Tk to get confused during menu traversal, among other problems. The
-problem was related to handling of the "marker" when its event was
-deleted. (JO)
-
-9/26/96 (bug fix) Windows was losing EOF on a socket if the FD_CLOSE event
-happened to precede any left over FD_READ events. Now correctly remembers
-seeing FD_CLOSE, so that trailing FD_READ events are not discarded if they
-do not contain any data. This allows Tcl to correctly get a zero read and
-notice EOF. (JL)
-
-9/26/96 (bug fix) Was not resetting READABLE state properly on sockets
-under Windows if the driver discarded an FD_READ event because no data was
-present. Now correctly resets the state. (JL)
-
-9/30/96 (bug fix) Made EOF sticky on Windows sockets, so that fileevent
-readable will fire repeatedly until the socket is closed. Previously the
-fileevent fired only once. This could lead to never-closed connections if
-the Tcl script in the fileevent wasn't closing the socket immediately. (JL)
-
-10/2/96 (new feature) Improved the package loader:
- - Added new variable tcl_pkgPath, which holds the default
- directories under which packages are normally installed (each
- package goes in a separate subdirectory of a directory in
- $tcl_pkgPath). These directories are included in auto_path by
- default.
- - Changed the package auto-loader to look for pkgIndex.tcl files
- not only in the auto_path directories but also in their immediate
- children. This should make it easier to install and uninstall
- packages (don't have to change auto_path or merge pkgIndex.tcl
- files). (JO)
-
-10/3/96 (bug fix) Changed tclsh to look for tclshrc.tcl instead of
-tclsh.rc on startup under Windows. This is more consistent with wish and
-uses the right extension. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-10/8/96 (bug fix) Convertclock does not parse 24-hour times of the
-form "hhmm" correctly when hour = 00. In the parse code, hour must be
->= 100 for minutes to be non-zero. Thanks to Lint LaCour for this
-bug fix. (RJ)
-
-10/11/96 (bug fix) Under Windows, the pid command returned the process
-handle instead of the process id. (SS)
-
------------------ Released 7.6, 10/16/96 -----------------------
-
-10/29/96 (bug fix) Under Windows, sockets would consume 100% CPU time after
-the first accept(), due to a typo. (JL)
-
-10/29/96 (bug fix) Incorrect refcount management caused standard channels
-not to get deleted at process exit or DLL unload time, causing a memory
-leak of upwards of 20K each time. (JL)
-
-11/7/96 (bug fix) Auto-exec didn't work on file names that contained
-spaces. (JO)
-
-11/8/96 (bug fix) Fixed core dump that would occur if more than one call
-to Tcl_DeleteChannelHandler was made to delete a given channel handler. (JL)
-
-11/8/96 (bug fix) Fixed test for return value in Tcl_Seek and Tcl_SeekCmd
-to only treat -1 as error, instead of all negative numbers. (JL)
-
-11/12/96 (bug fix) Do not blocking waiting for processes at the end of a
-pipe during exit cleanup. (JL)
-
-11/12/96 (bug fix) If we are in exit cleanup, do not close the system level
-file descriptors 0, 1 and 2. Previously they were being closed which is
-incorrect, in the embedded case. This led to weird behavior for programs
-that want to interpose on I/O through the standard file descriptors (e.g.
-Netscape Navigator). (JL)
-
-11/15/96 (bug fix) Fixed core dump on Windows sockets due to dependency on
-deletion order at exit. Now all socket functions check to see if sockets
-are (still) initialized, before calling through function pointers. Before,
-they would call and might end up calling unloaded object code. (JL)
-
-11/15/96 (bug fix) Fixed core dump in Windows socket initialization routine
-if sockets were not installed on the system. Before, it was not properly
-checking the result of attempting to load the socket DLL, so it would call
-through uninitialized function pointers. (JL)
-
-11/15/96 (bug fix) Fixed memory leak in Windows sockets which left socket
-DLL handle open and could hold the socket DLL in memory uneccessarily,
-until a reboot. (JL)
-
-12/4/96 (bug fix) Fixed bug in Macintosh socket code that could result
-in lost data if a client was closed too soon after sending data. (RJ)
-
-12/17/96 (bug fix) Fixed deadlock bug in Windows sockets due to losing an
-event. This was happening because of an interaction between buffering and
-nonblocking mode on sockets. Now switched to sockets being blocking by
-default, so we are also no longer emulating blocking through a private
-event loop. (JL)
-
-1/21/97 (performance bug fix) Client TCP connections were slow to create
-because getservbyname was always called on the port. Now this is only
-done if Tcl_GetInt fails. (BW)
-
-1/21/97 (configuration fix) Made it possible to override TCL_PACKAGE_PATH
-during make. Previously it was only set during autoconf process.
-
-1/29/97 (bug fix) Fixed some problems with the clock command that
-impacted how dates were scaned after the year 2000. (RJ)
-
------------------ Released 7.6p2, 1/31/97 -----------------------
-
-2/5/97 (bug fix) Fixed a bug where in CR-LF translation mode, \r bytes
-in the input stream were not being handled correctly. (JL)
-
-2/24/97 (bug fix) Fix bug with exec under Win32s not being able to create
-stderr file which caused all execs to fail. Fixed temp file leak under
-Win32s. Fixed optional parameter bug with SearchPath that only happened
-under Win32s 1.25. (CCS)
-
-----------------------------------------------------------
-Changes for Tcl 7.6 go above this line.
-Changes for Tcl 7.7 go below this line.
-----------------------------------------------------------
-
-5/8/96 (new feature) Added Tcl_Ungets C API for putting a sequence of bytes
-into a channel's input buffer. This can be used for "push" model channels
-where the input is obtained via callbacks instead of by request of the
-generic IO code. No Tcl procedure yet. (JL)
-
-11/15/96 (new feature) Implemented hidden commands. New C APIs:
- Tcl_HideCommand -- hides an existing exposed command.
- Tcl_ExposeCommand -- exposes an existing hidden command.
-New tcl APIs:
- interp invokehidden -- invokes a hidden command in a slave.
- interp hide -- hides an existing exposed command.
- interp expose -- exposes an existing hidden command.
- interp hidden -- returns a list of hidden commands.
-The implementation of Safe Tcl now uses the new hidden commands facility
-to implement the safe base, instead of deleting the commands from a safe
-interpreter. (JL)
-
-11/15/96 (new feature) Implemented the safe base, a mechanism for
-installing and requesting security policies, purely in Tcl code. Overloads
-the package command to also allow an interpreter to "require" a policy. The
-following new library commands are provided:
- tcl_safeCreateInterp -- creates a slave an initializes the
- policy mechanism.
- tcl_safeInitInterp -- initializes an existing slave with the
- policy mechanism.
- tcl_safeDeleteInterp -- deletes a slave and deinitializes the
- policy mechanism.
-Added a new file to the library, safeinit.tcl, to hold implementation. (JL)
-On 7/9/97, removed the policy loading mechanism from the Safe Base. Left
-only the Safe Base aliases dealing with auto-loading and source. (JL)
-
-12/6/96 (new feature) Implemented Tcl_Finalize, an API that should be
-called by a process when it is done using Tcl. This API runs all the exit
-handlers to allow them to clean up resources etc. (JL)
-
-12/17/96 (new feature) Add an http Tcl script package to the Tcl library.
-This package implements the client side of HTTP/1.0; the GET, HEAD,
-and POST requests. (BW)
-
-1/21/97 (new feature) Added a "marktrusted" subcommand to the "interp" and
-to the interpreter object command. It removes the "safe" mark on an
-interpreter and disables hard-wired checks for safety in the C sources. (JL)
-
-1/21/97 (removed feature) Removed "vwait" from set of commands available in
-a safe interpreter. (JL)
-
-2/11/97 (new feature, bug fix) http package. Added -accept to http_config
-so you can set the Accept header. Added -handler option to http_get so
-you can supply your own data handler. Also fixed POST operation to
-set the correct MIME type on the request. (BW)
-
-----------------------------------------------------------
-Changes for Tcl 7.7 go above this line.
-Changes for Tcl 8.0 go below this line.
-----------------------------------------------------------
-
-9/17/96 (bug fix) Using "upvar" it was possible to turn an array element
-into an array itself. Changed to disallow this; it was quirky and didn't
-really work correctly anyway. (JO)
-
-10/21/96 (new feature) The core of the Tcl interpreter has been replaced
-with an on-the-fly compiler that translates Tcl scripts to bytecoded
-instructions; a new interpreter then executes the bytecodes. The compiler
-introduces only a few minor changes at the level of Tcl scripts. The biggest
-changes are to expressions and lists.
- - A second level of substitutions is no longer done for expressions.
- This substantially improves their execution time. This means that
- the expression "$x*4" produces a different result than in the past
- if x is "$y+2". Fortunately, not much code depends on the old
- two-level semantics. Some expressions that do, such as
- "expr [join $list +]" can be recoded to work in Tcl8.0 by adding
- an eval: e.g., "eval expr [join $list +]".
- - Lists are now completely parsed on the first list operation to
- create a faster internal representation. In the past, if you had a
- misformed list but the erroneous part was after the point you
- inserted or extracted an element, then you never saw an error.
- In Tcl8.0 an error will be reported. This should only effect
- incorrect programs that took advantage of behavior of the old
- implementation that was not documented in the man pages.
-Other changes to Tcl scripts are discussed in the web page at
-http://www.sunlabs.com/research/tcl/compiler.html. (BL)
-*** POTENTIAL INCOMPATIBILITY ***
-
-10/21/96 (new feature) In earlier versions of Tcl, strings were used as a
-universal representation; in Tcl 8.0 strings are replaced with Tcl_Obj
-structures ("objects") that can hold both a string value and an internal
-form such as a binary integer or compiled bytecodes. The new objects make it
-possible to store information in efficient internal forms and avoid the
-constant translations to and from strings that occurred with the old
-interpreter. There are new many new C APIs for managing objects. Some of the
-new library procedures for objects (such as Tcl_EvalObj) resemble existing
-string-based procedures (such as Tcl_Eval) but take advantage of the
-internal form stored in Tcl objects for greater speed. Other new procedures
-manage objects and allow extension writers to define new kinds of objects.
-See the manual entries doc/*Obj*.3 (BL)
-
-10/24/96 (bug fix) Fixed memory leak on exit caused by some IO related
-data structures not being deallocated on exit because their refcount was
-artificially boosted. (JL)
-
-10/24/96 (bug fix) Fixed core dump in Tcl_Close if called with NULL
-Tcl_Channel. (JL)
-
-11/19/96 (new feature) Added library procedures for finding word
-breaks in strings in a platform specific manner. See the library.n
-manual entry for more information. (SS)
-
-11/22/96 (feature improvements) Added support for different levels of
-tracing during bytecode compilation and execution. This should help in
-tracking down suspected problems with the compiler or with converting
-existing code to use Tcl8.0. Two global Tcl variables, traceCompile
-and traceExec, can be set to generate tracing information in stdout:
- - traceCompile: 0 no tracing (default)
- 1 trace compilations of top level commands and procs
- 2 trace and display instructions for all compilations
- - traceExec: 0 no tracing
- 1 trace only calls to Tcl procs
- 2 trace invocations of all commands including procs
- 3 detailed trace showing the result of each instruction
-traceExec >= 2 provides a one line summary of each called command and
-its arguments. Commands that have been "compiled away" such as set are
-not shown. (BL)
-
-11/30/96 (bug fix) The command "info nameofexecutable" could sometimes
-return the name of a directory. (JO)
-
-11/30/96 (feature improvements) Changed the code in library/init.tcl
-that reads in pkgIndex.tcl so that (a) it reads the files from child
-directories before those in the parent, so that the parent gets
-precedence, and (b) it doesn't quit if there is an error in a
-pkgIndex.tcl file; instead, it prints an error message on standard
-error and continues. (JO)
-
-10/5/96 (feature improvements) Partial implementation of binary string
-support: the ability for Tcl string values to contain embedded null bytes.
-Changed the Tcl object-based APIs to take a byte pointer and length pair
-instead of a null-terminated C string. Modified several object type managers
-to support binary strings but not, for example, the list type manager.
-Existing string-based C APIs are unchanged and will truncate binary
-strings. Compiled scripts containing nulls are also truncated. (BL)
-
-12/12/96 (feature change) Removed the commands "cp", "mkdir", "mv",
-"rm", and "rmdir" from the Macintosh version of Tcl. They were never
-officially supported and their functionality is now available via
-the file command. (RJ)
-
------------------ Released 8.0a1, 12/20/96 -----------------------
-
-1/7/97 (bug fix) Under Windows, "file stat c:" was returning error instead
-of stat for current dir on c: drive.
-
-1/10/97 (new feature) Added Tcl_GetIndexFromObj procedure for quick
-lookups of keyword arguments. (JO)
-
-1/12/97 (new feature) Serial IO channel drivers for Windows and Unix,
-available by using Tcl open command to open pseudo-files like "com1:" or
-"/dev/ttya". New option to Tcl fconfigure command for serial files:
-"-mode baud,parity,data,stop" to specify baud rate, parity, data bits, and
-stop bits. Serial IO is not yet available on Mac.
-
-1/16/97 (feature change) Restored the Tcl7.x "two level substitution
-semantics" for expressions. Expressions not enclosed in braces are
-implemented, in general, by calling the expr command procedure
-(Tcl_ExprObjCmd) at runtime after the Tcl interpreter has already done a
-first round of substitutions. This is slow (about Tcl7.x speed) because new
-code for the expression is generally compiled each time. However, if the
-expression has only variable substitutions (and not command substitutions),
-"optimistic" fast code is generated inline. This inline code will fail if a
-second round of substitutions is needed (i.e., if the value of a substituted
-variable itself requires more substitutions). The optimistic code will
-catch the error and back off to call the slower but guaranteed correct
-expr command procedure. (BL)
-
-1/16/97 (feature improvements) Added Tcl_ExprLongObj and Tcl_ExprDoubleObj
-to round out expression-related procedures. (BL)
-
-1/16/97 (feature change) Under Windows, at startup the environment variables
-"path", "comspec", and "windir" in any capitalization are converted
-automatically to upper case. The PATH variable could be spelled as path,
-Path, PaTh, etc. and it makes programming rather annoying. All other
-environment variables are left alone. (CS)
-
-1/20/97 (new features) Rewrote the "lsort" command:
- - The new version is based on reentrant merge sort code provided
- by Richard Hipp, so it eliminates the reentrancy and stability
- problems with the old qsort-based implementation.
- - The new version supports a -dictionary option for sorting, and
- it also supports a -index option for sorting lists using one
- element for comparison.
- - The new version is an object command, so it works well with the
- Tcl compiler, especially in conjunction with the new -index
- option. When the -index option is used, this version of lsort
- is more than 100 times faster than the Tcl 7.6 lsort, which had
- to use the -command option to get the same effect. (JO)
-
-1/20/97 (feature improvements) Added the improved debugging support for Tcl
-objects prototyped by Karl Lehenbauer <karl@hammer1.ops.NeoSoft.com>.
-If TCL_MEM_DEBUG is defined, the object creation calls use Tcl_DbCkalloc
-directly in order to record the caller's source file name and line
-number. (BL)
-
-1/21/97 (removed feature) Desupported the tcl_precision variable: if
-set, it is ignored. Tcl now uses the full 17 digits of precision when
-converting real numbers to strings (with the new object system real
-numbers are rarely converted to strings so there is no efficiency
-disadvantage to printing all 17 digits; the new scheme improves
-accuracy and simplifies several APIs). (JO)
-*** POTENTIAL INCOMPATIBILITY ***
-
-1/21/97 (feature change) Removed the "interp" argument for the
-procedures Tcl_GetStringFromObj, Tcl_StringObjAppend, and
-Tcl_StringObjAppendObj. Also removed the "interp" argument for
-the updateStringProc procedure in Tcl_ObjType structures. With
-the tcl_precision changes above, these are no longer needed. (JO)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a1, but not with Tcl 7.6 ***
-
-1/22/97 (bug fix) Fixed http.tcl so that http_reset does not result in
-an extra call to the command callback. In addition, if the transaction
-gets a premature eof, the state(status) is "eof", not "ok". (BW)
-
------------------ Released 8.0a2, 1/24/97 -----------------------
-
-1/29/97 (feature change) Changed how two digit years are parsed in the
-clock command. The old interface just added 1900 which will seem
-broken by the year 2000. The new scheme follows the POSIX standard
-and treats dates 70-99 as 1970-1999 and dates 00-38 as 2000-2038. All
-other two digit dates are undefined. (RJ)
-*** POTENTIAL INCOMPATIBILITY ***
-
-2/4/97 (bug fix) Fixed bug in clock code that dealt with relative
-dates. Using the relative month code you could get an invalid date
-because it jumped into a non-existant day. (For example, Jan 31
-to Feb 31.) The code now will return the last valid day of the
-month in these situations. Thanks to Hume Smith for sending in
-this bug fix. (RJ)
-
-2/10/97 (feature change) Eliminated Tcl_StringObjAppend and
-Tcl_StringObjAppendObj procedures, replaced them with Tcl_AppendToObj
-and Tcl_AppendStringsToObj procedures. Added new procedure
-Tcl_SetObjLength. (JO)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2, but not with Tcl 7.6 ***
-
-2/10/97 (new feature) Added Tcl_WrongNumArgs procedure for generating
-error messages about incorrect number of arguments. (JO)
-
-2/11/97 (new feature, bug fix) http package. Added -accept to http_config
-so you can set the Accept header. Added -handler option to http_get so
-you can supply your own data handler. Also fixed POST operation to
-set the correct MIME type on the request. (BW)
-
-2/22/97 (bug fix) Fixed bug that caused $tcl_platform(osVersion) to be
-computed incorrectly under AIX. (JO)
-
-2/25/97 (new feature, feature change) Added support for both int and long
-integer objects. Added Tcl_NewLongObj/Tcl_GetLongFromObj/Tcl_SetLongFromObj
-procedures and renamed the Tcl_Obj internalRep intValue member to
-longValue. Tcl_GetIntFromObj now checks for integer values too large to
-represent as non-long integers. Changed Tcl_GetAllObjTypes to
-Tcl_AppendAllObjTypes. (BL)
-
-3/5/97 (new feature) Added new Tcl_SetListObj procedure to round out
-collection of procedures that set the type and value of existing Tcl
-objects. (BL)
-
-3/6/97 (new feature) Added -global flag for interp invokehidden. (JL)
-
-3/6/97 (new feature, feature change) Added isNativeObjectProc field to the
-Tcl_CmdInfo structure to indicate (when 1) if the command has an
-object-based command procedure. Removed the nameLength arg from
-Tcl_CreateObjCommand since command names can't contain null characters. (BL)
-
-3/6/97 (bug fix) Fixed bug in "unknown" procedure that caused auto-
-loading to fail on commands whose names begin with digits. (JO)
-
-3/7/97 (bug fix) Auto-loading now works in Safe Base. Safe interpreters
-only accept the Version 2 and onwards tclIndex files. (JL)
-
-3/13/97 (bug fix) Fixed core dump due to interaction between aliases and
-hidden commands. Bug found by Lindsay Marshall. (JL)
-
-3/14/97 (bug fix) Fixed mac bugs relating to time. The -gmt option
-now adjusts the time in the correct direction. (Thanks to Ed Hume for
-reporting a fix to this problem.) Also fixed file "mtime" etc. to
-return times from GMT rather than local time zone. (RJ)
-
-3/18/97 (feature change) Declaration of objv in Tcl_ObjCmdProc function
-changed from "Tcl_Obj *objv[]" to "Tcl_Obj *CONST objv[]". All Tcl object
-commands changed to use new declaration of objv. Naive translation of
-string-based command procs to object-based command procs could very easily
-have yielded code where the contents of the objv array were changed. This
-is not a problem with string-based command procs, but doing something as
-simple as objv[2] = objv[3] would corrupt the runtime stack and cause Tcl to
-crash. Introduced CONST in declaration of objv so that attempted assignment
-of new pointer values to elements of the objv array will be caught by the
-compiler. (CCS)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 ***
-
-3/19/97 (bug fix) Fixed panic due to object sharing. The root cause was
-that old code was using Tcl_ResetResult instead of Tcl_ResetObjResult. (JL)
-
-3/20/97 (new feature) Added a new subcommand for the file
-command. file attributes filename can give a list of platform-specific
-options (such as file/creator type on the Mac, permissions on Unix) or
-set the values of them. Added a new subcommand for the file
-command. file nativename name gives back the platform-specific form
-for the file. This is useful when the filename is needed to pass to
-the OS, such as exec under Windows 95 or AppleScript on the Mac. For
-more info, see file.n. (SRP)
-
-3/24/97 (removed feature) Removed the tcl_safePolicyPath procedure. Now
-the policy path is computed from the auto_path by appending the directory
-'policies' to each element. Also fixed several bugs in automatic tracking
-of auto_path by computed policy path. (JL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 ***
-
-4/8/97 (new feature) If the variable whose name is passed to lappend doesn't
-already exist, and there are no value arguments, lappend now creates the
-variable with an empty value instead of returning an error. Change suggested
-by Tom Tromey. (BL)
-
-4/9/97 (feature change) Changed the name of the TCL_PART1_NOT_PARSED flag to
-TCL_PARSE_PART1. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 ***
-
-4/10/97 (bug fixes) Fixed various compilation-related bugs:
- - "UpdateStringOfCmdName should never be invoked" panic.
- - Bad code generated for expressions not in {}'s inside catch commands.
- - Segmentation fault in some command procedures when two argument
- object pointers refer to the same object.
- - Second level of substitutions were never done for expressions not
- in {}'s that consist of a single variable reference: e.g.,
- "set x 27; set bool {$x}; if $bool {puts foo}" would fail with error.
- - Bad code generated when code storage was grown while compiling some
- expressions: ones with compilation errors or consisting of only a
- variable reference.
- - Bugs involving multiple interpreters: wasn't checking that a
- procedure's code was compiled for the same interpreter as the one
- executing it, and didn't invalidate code on hidden-exposed command
- transitions.
- - "Bad stack top" panic when executing scripts that require a huge
- amount of stack space.
- - Incorrect sharing of code for procedure bodies, and procedure code
- deallocated before last execution of the procedure finished.
- - Fixed compilation of expression words in quotes. For example,
- if "0 < 3" {puts foo}.
- - Fixed performance bug in array set command with large assignments.
- - Tcl_SetObjLength segmentation fault setting length of empty object.
- - If Tcl_SetObjectResult was passed the same object as the interpreter's
- result object, it freed the object instead of doing nothing. Bug fix
- by Michael J. McLennan.
- - Tcl_ListObjAppendList inserted elements from the wrong list. Bug fix
- by Michael J. McLennan.
- - Segmentation fault if empty variable list was specified in a foreach
- command. Bug fix by Jan Nijtmans.
- - NULL command name was always passed to Tcl_CreateTrace callback
- procedure.
- - Wrong string representation generated for the value LONG_MIN.
- For example, expr 1<<31 printed incorrectly on a 32 bit machine.
- - "set {a($x)} 1" stored value in wrong variable.
- - Tcl_GetBooleanFromObj was not checking for garbage after a numeric
- value.
- - Garbled "bad operand type" error message when evaluating expressions
- not surrounded by {}'s. (BL)
-
-4/16/97 (new feature) The expr command now has the "rand()" and
-"srand()" functions for getting random numbers in expr. (RJ)
-
-4/23/97 (bug fix) Fixed core dump in bgerror when the error handler command
-deletes the current interpreter. Found by Juergen Schoenwald. (JL)
-
-4/23/97 (feature change) The notifier interfaces have been redesigned
-to make embedding in applications with external event loops possible.
-A number of interfaces in the notifier and the channel drivers have
-changed. Refer to the Notifier.3 and CrtChannel.3 manual entries for
-more details. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-4/23/97 (removed feature) The Tcl_File interfaces have been removed.
-The Tcl_CreateFileHandler/Tcl_DeleteFileHandler interfaces now take
-Unix fd's and are only supported on the Unix platform.
-Tcl_GetChannelFile has been replaced with Tcl_GetChannelHandle.
-Tcl_MakeFileChannel now takes a platform specific file handle. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-4/23/97 (removed feature) The modal timeout interface has been
-removed (Tcl_CreateModalTimeout/Tcl_DeleteModalTimeout) (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-4/23/97 (feature change) Channel drivers are now required to correctly
-implement blocking behavior when they are in blocking mode. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
-
-4/23/97 (new feature) Added the "binary" command for manipulating
-binary strings. Also, changed the "puts", "gets", and "read" commands
-to preserve embedded nulls. (SS)
-
-4/23/97 (new feature) Added tcl_platform(byteOrder) element to the
-tcl_platform array to identify the native byte order for the current
-host. (SS)
-
-4/23/97 (bug fix) Fixed bug in date parsing around year boundaries. (SS)
-
-4/24/97 (bug fix) In the process of copying a file owned by another user,
-Tcl was changing the owner of the copy back to the owner of the original
-file, therefore causing further file operations to fail because the current
-user didn't own the copy anymore. The owner of the copy is now left as the
-current user. (CCS)
-
-4/24/97 (feature change) Under Windows, don't automatically uppercase the
-environment variable "windir" -- it's supposed to be lower case. (CCS)
-
-4/29/97 (new feature) Added namespace support based on a namespace
-implementation by Michael J. McLennan of Lucent Technologies. A namespace
-encapsulates a collection of commands and variables to ensure that they
-won't interfere the commands and variables of other namespaces. The global
-namespace holds all global variables and commands. Additional namespaces are
-created with the new namespace command. The new variable command lets you
-create Tcl variables inside a namespace. The names of Tcl variables and
-commands may now be qualified by the name of the namespace containing them.
-The key namespace-related commands are summarized below:
- - namespace ?eval? name arg ?arg...?
- Used to define the commands and variables in a namespace.
- Optionally creates the namespace.
- - namespace export ?-clear? ?pattern pattern...?
- Specifies which commands are exported from a namespace. These
- are the ones that can be imported into another namespace.
- - namespace import ?-force? ?pattern pattern...?
- Makes the specified commands accessible in the current namespace.
- - namespace current
- Returns the name of the current namespace.
- - variable name ?value? ?name ?value?...?
- Creates one or more namespace variables. (BTL)
-
-5/1/97 (bug fix) Under Windows, file times were reported in GMT. Should be
-reported in local time. (CCS)
-
-5/2/97 (feature change) Changed the name of the two Tcl variables used for
-tracing bytecode compilation and execution to tcl_traceCompile and
-tcl_traceExec respectively. These variables are now documented in the
-tclvars man page. (BL)
-
-5/5/97 (new feature) Support "end" as the index for "lsort -index". (BW)
-
-5/5/97 (bug fixes) Cleaned up the way the http package resets connections (BW)
-
-5/8/97 (feature change) Newly created Tcl objects now have a reference count
-of zero instead of one. This simplifies C code that stores newly created
-objects in Tcl variables or in data structures such as list objects. That C
-code must increment the new object's reference count since the variable or
-data structure will contain a long-term reference to the object. Formerly,
-when new objects started out with reference count one, it was necessary to
-decrement the new object's reference count after the store to make sure it
-was left with the correct value; this is no longer necessary. (BL)
-
-5/9/97 (new feature) Added the Tcl_GetsObj interface that takes an
-object reference instead of a dynamic string (as in Tcl_Gets). (SS)
-
-5/12/97 (new feature) Added Tcl_CreateAliasObj and Tcl_GetAliasObj C APIs
-to allow an alias command to be created with a vector of Tcl_Obj structures
-and to get the vector back later. (JL)
-
-5/12/97 (feature change) Changed Tcl_ExposeCommand and Tcl_HideCommand to
-leave an object result instead of a string result. (JL)
-
-5/14/97 (feature change) Improved the handling of the interpreter result.
-This is still either an object or a string, but the two values are now kept
-consistent unless some C code reads or writes interp->result directly. See
-the SetResult man page for details. Removed the Tcl_ResetObjResult
-procedure. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 ***
-
-5/16/97 (new feature) Added "fcopy" command to move data between
-channels. Refer to the manual page for more information. Removed the
-"unsupported0" command since it is obsolete now. (SS)
-
-5/16/97 (new feature) Added Tcl_GetStringResult procedure to allow programs
-to get an interpreter's result as a string. If the result was previously set
-to an object, this procedure will convert the object to a string. Use of
-Tcl_GetStringResult is intended to replace direct access to interp->result,
-which is not safe. (BL)
-
-5/20/97 (new features) Fixed "fcopy" to return the number of bytes
-transferred in the blocking case. Updated the http package to use
-fcopy instead of unsupported0. Added -timeout and -handler options to
-http_get. http_get is now blocking by default. It is only non-blocking
-if you supply a -command argument. (BW)
-
-5/22/97 (bug fix) Fixed several bugs in the "lsort" command having to do
-with the -dictionary option and the presence of numbers embedded in the
-strings. (JO)
-
------------------ Released 8.0b1, 5/27/97 -----------------------
-
-6/2/97 (bug fix) Fixed bug in startup code that caused a problem in
-finding the library files when they are installed in a directory
-containing a space in the name. (SS)
-
-6/2/97 (bug fix) Fixed bug in Unix notifier where the select mask was
-not being cleared under some circumstances. (SS)
-
-6/4/97 (bug fix) Fixed bug that prevented creation of Tk widgets in
-namespaces. Tcl_CreateObjCommand and Tcl_CreateCommand now always create
-commands in the global namespace unless the command names are qualified. Tcl
-procedures continue to be created in the current namespace by default. (BL)
-
-6/6/97 (new features) Added new namespace API procedures
-Tcl_AppendExportList and Tcl_Export to allow C code to get and set a
-namespace's export list. (BL)
-
-6/11/97 (new feature) Added Tcl_ConcatObj. This object-based routine
-parallels the string-based routine Tcl_Concat. (SRP)
-
-6/11/97 (new feature) Added Tcl_SetObjErrorCode. This object-based
-routines parallels the string-based routine Tcl_SetErrorCode. (SRP)
-
-6/12/97 (bug fix) Fix the "unknown" procedure so that wish under Windows
-will exec an external program, instead of always complaining "console1 not
-opened for writing". (CCS)
-
-6/12/97 (bug fix) Fixed core dump experienced by the following simple
-script:
- interp create x
- x alias exec exec
- interp delete x
-This panic was caused by not installing the new CmdDeleteProc when exec
-got redefined by the alias creation step. Reported by Lindsay Marshal (JL)
-
-6/13/97 (new features) Tcl objects newly created by Tcl_NewObj now have a
-string representation that points to a shared heap string of length 1. (They
-used to have NULL bytes and typePtr fields. This was treated as a special
-case to indicate an empty string, but made type manager implementations
-complex and error prone.) The new procedure Tcl_InvalidateStringRep is used
-to mark an object's string representation invalid and to free any storage
-associated with the old string representation. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 ***
-
-6/16/97 (bug fix) Tcl_ScanCountedElement could leave braces unmatched
-if the string ended with a backslash. (JO)
-
-6/17/97 (bug fix) Fixed channel event bug where readable events would be
-lost during recursive events loops if the input buffers contained
-data. (SS)
-
-6/17/97 (bug fix) Fixed bug in Windows socket code that didn't
-reenable read events in the case where an external entity is also
-reading from the socket. (SS)
-
-6/18/97 (bug fix) Changed initial setting of the notifier service mode
-to TCL_SERVICE_NONE to avoid unexpected event handling during
-initialization. (SS)
-
-6/19/97 (bug fix/feature change) The command callback to fcopy is now
-called in case of errors during the background copy. This adds a second,
-optional argument to the callback that is the error string. The callback
-in case of errors is required for proper cleanup by the user of fcopy. (BW)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
-
-6/19/97 (bug fix) Fixed a panic due to the following four line script:
- interp create x
- x alias foo bar
- x eval rename foo blotz
- x alias foo {}
-The problem was that the interp code was not using the actual current name
-of the command to be deleted as a result of un-aliasing foo. (JL)
-
-6/19/97 (feature change) Pass interp down to the ChannelOption and
-driver specific calls so system errors can be differentiated from syntax
-ones. Changed Tcl_DriverGetOptionProc type. Affects Tcl_GetChannelOption,
-TcpGetOptionProc, TtyGetOptionProc, etc. (DL)
-*** POTENTIAL INCOMPATIBILITY ***
-
-6/19/97 (new feature) Added Tcl_BadChannelOption for use by by driver
-specific option procedures (Set and Get) to return a complete and
-meaningful error message. (DL)
-
-6/19/97 (bug fixes) If a system call error occurs while doing an
-fconfigure on tcp or tty/com channel: return the appropriate error
-message (instead of the syntax error one or none). (Fixed for Unix and
-most of the Win and Mac drivers). (DL)
-
-6/20/97 (feature change) Eval is no longer assumed as the subcommand name
-in namespace commands: you must now write "namespace eval nsName {...}".
-Abbreviations of namespace subcommand names are now allowed. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 ***
-
-6/20/97 (feature change) Changed the errorInfo traceback message for
-compilation errors from "invoked from within" to "while compiling". (BL)
-
-6/20/97 (bug fixes) Fixed various compilation-related bugs:
- - "UpdateStringOfCmdName should never be called" and
- "UpdateStringOfByteCode should never be called" panics.
- - Segfault in TclObjInterpProc getting procedure name after evaluation
- stack is reallocated (grown).
- - Could not use ":" at end of variable and command names.
- - Bad code generated for while and for commands with test expressions
- enclosed in quotes: e.g., "set i 0; while "$i > 5" {}".
- - Command trace procedures would crash if they did a Tcl_EvalObj that
- reallocated the evaluation stack.
- - Break and continue commands did not reset the interpreter result.
- - The Tcl_ExprXXX routines, both string- or object-based, always
- modified the interpreter result even if there was no error.
- - The argument parsing procedure used by several compile procedures
- always treated "]" as end of a command: e.g., "set a ]" would fail.
- - Changed errorInfo traceback message for compilation errors from
- "invoked from within" to "while compiling".
- - Problem initializing Tcl object managers during interpreter creation.
- - Added check and error message if formal parameter to a procedure is
- an array element. (BL)
-
-6/23/97 (new feature) Added "registry" package to allow manipulation
-of the Windows system registry. See manual entry for details. (SS)
-
-6/24/97 (feature change) Converted http to a package and added the
-http1.0 subdirectory of the Tcl script library. This means you have
-to do a "package require http" to use this, as advertised in the man page. (BW)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
-
-6/24/97 (bug fix) Ensure that Tcl_Set/GetVar C APIs, when called without
-TCL_LEAVE_ERR_MSG, don't touch the interp result. (DL)
-
-6/26/97 (feature change) Changed name of Tcl_ExprStringObj to
-Tcl_ExprObj. (BL)
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 ***
-
------------------ Released 8.0b2, 6/30/97 -----------------------
-
-7/1/97 (new feature) TCL_BUILD_SHARED flag set in tclConfig.sh
-when Tcl has been built with --enable-shared. A new tclLibObjs
-make target, echoing the list of the .o's needed to build a tcl
-library, is now provided. (DL)
-
-7/1/97 (feature change) compat/getcwd.c removed and changed the
-only place where getcwd is used so a new USEGETWD flag selects
-the use of the replacement "getwd". Adding this flag is recommended
-for SunOS 4 (because getcwd on SunOS 4 uses a pipe to pwd(1)!). (DL)
-
-7/7/97 (feature change) The split command now supports binary data (i.e.,
-null characters in strings). (BL)
-
-7/7/97 (bug fix) string first returned the wrong result if the first
-argument string was empty. (BL)
-
-7/8/97 (bug fix) Fixed core dump in fcopy that could occur when a command
-callback was supplied and an error or eof condition caused no background
-activity. A refcount bug triggered a panic in Tcl_ListObjAppendElement. (BW)
-
-7/8/97 (bug fix) Relaxed the pattern matching on http_get so you do not
-need a trailing path component. You can now get away with just
-http_get sunscript.sun.com (BW)
-
-7/9/97 (bug fix) Creating anonymous interpreters no longer smashes existing
-commands with names similar to the generated name. Previously creating an
-anonymous interpreter could smash an existing command, now it skips until
-it finds a command name that isn't being used. (JL)
-
-7/9/97 (feature change) Removed the policy management mechanism from the
-Safe Base; left the aliases to source and load modules, and to do a limited
-form of the "file" command. See entry of 11/15/96. (JL)
-
-7/9/97 (bug fixes) Fixed various compilation-related bugs:
- - Line numbers in errorInfo now are the same as those in Tcl7.6 unless
-there are compilation errors. Compilation error messages now include the
-entire command in error.
- - Trailing ::s after namespace names weren't being ignored.
- - Could not refer to an namespace variable with an empty name using a
-name of the form "n::". (BL)
-
-7/9/97 (bug fix) Fixed bug in Tcl_Export that prevented you from exporting
-from other than the current namespace. (BL)
-
-7/9/97 (bug fix) env.test was removing env var needed for proper finding
-of libraries in child process. (DL)
-
-7/10/97 (bug fixes/new feature) Cleanup in Tcl_MakeSafe. Less information
-is leaked to safe interps. Error message fixes for interp sub commands.
-Likewise changes in safealias.tcl; tcl_safeCreateInterp can now be called
-without argument to generate the slave name (like in interp create). (DL)
-
-7/10/97 (bug fixes) Bytecode compiler now generates more detailed
-command location information: subcommands as well as commands now have
-location information. This means command trace procedures now get the
-correct source string for each command in their command parameter. (BL)
-
-7/22/97 (bug fixes) Performance improvement in Safe interpreters
-handling. Added new mask value to (tclInt.h) Interp.flags record. (DL)
-
-7/22/97 (bug fix) Fixed panic in 'interp target {} foo'. This bug
-was present since Tcl 7.6. (JL)
-
-7/22/97 (bug fix) Fixed bug in compilation of procedures in namespaces: the
-procedure's namespace must be used to look up compile procedures, not the
-current namespace. (BL)
-
-7/22/97 (bug fix) Use of the -channel option of http_get was not setting
-the end of line translations mode on the channel, so copying binary data
-with the -channel option was corrupting the result on non-unix platforms. (BW)
-
-7/22/97 (bug fixes) file commands and ~user (seg fault and other
-improper returns). (DL)
-
-7/23/97 (feature change) Reenabled "vwait" in Safe Base. (JL)
-
-7/23/97 (bug fixes) Fixed two bugs involving read traces on array variables
-in procedures: trace procedures were sometimes not called, and reading
-nonexistant array elements didn't create undefined element variables that
-could later be defined by trace procedures. (BL)
-
-7/24/97 (bug fix) Windows memory allocation performance was
-superlinear in some cases. Made the Mac allocator generic and changed
-both the Mac and Windows platforms to use the new allocator instead of
-malloc and free. (SS)
-
-7/24/97 - 8/12/97 (bug fixes/change of features) Completely revamped safe
-sourcing/loading (see safe.n) to hide pathnames, use virtual
-paths tokens instead, improved security in several respects and made it
-more tunable. Multi level interp loading can work too now. Package auto
-loading now works in safe interps as long as the package directory is in
-the auto_path (no deep crawling allowed in safe interps). (DL)
-*** POTENTIAL INCOMPATIBILITY with previous alpha and beta releases ***
-
-7/24/97 (bug fixes) Made Tcl_SetVar* and Tcl_NewString* treat a NULL value
-as an empty string. (This fixes hairy crash case where you would crash
-because load command for other interps assumed presence of
-errorInfo...). (DL)
-
-7/28/97 (bug fix) Fixed pkg_mkIndex to understand namespaces. It will
-use the export list of a namespace and create auto_index entries for
-all export commands. Those names are in their fully qualified form in the
-auto_index. Therefore, I tweaked unknown to try both $cmd and ::$cmd.
-Also fixed pkg_mkIndex so you can have "package require" commands inside
-your packages. These commands are ignored, which is mostly ok except
-when you must load another package before loading yours because of
-linking dependencies. (BW)
-
-7/28/97 (bug fix) A variable created by the variable command now persists
-until the namespace is destroyed or the variable is unset. This is true even
-if the variable has not been initialized; these variables used to be
-destroyed if an error occurred when accessing them. In addition, the "info
-vars" command lists uninitialized namespace variables, while the "info
-exists" command returns 0 for them. (BL)
-
-7/29/97 (feature change) Changed the http package to use the ::http
-namespace. http_get renamed to http::geturl, http_config renamed to
-http::config, http_formatQuery renamed to http::formatQuery.
-It now provides the 2.0 version of the package.
-The 1.0 version is still available with the old names.
-*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b2 but not with Tcl 7.6 ***
-
-7/29/97 (bug fix, new feature) Tcl_Main now uses Tcl objects internally to
-preserve NULLs in commands and command output. Added new API procedure
-Tcl_RecordAndEvalObj that resembles Tcl_RecordAndEval but takes an object
-containing a command. (BL)
-
-7/30/97 (bug fix) Tcl freed strings in the environ array even if it
-did not allocate them. (SS)
-
-7/30/97 (bug fix) If a procedure is renamed into a different namespace, it
-now executes in the context of that namespace. (BL)
-
-7/30/97 (bug fix) Prevent renaming of commands into and from namespaces as
-part of hiding them. (JL)
-
-7/31/97 (feature change) Moved the history command from C to tcl.
-This uses the ::history namespace. The "words" and "substitute" options
-are no longer supported. In addition, the "keep" option without a value
-returns the current keep limit. There is a new "clear" option.
-The unknown command now supports !! again. (BW)
-*** POTENTIAL INCOMPATIBILTY ***
-
-7/30/97 (bug fix) Made sure that a slave can not fool the master into
-hiding the wrong command. Made sure we don't crash in hiding + namespaces
-issues. (DL)
-
-8/4/97 (bug fix) Concat, eval, uplevel, and similar commands were
-incorrectly trimming trailing space characters from their arguments
-even when the space characters were preceded by a backslash. (JO)
-
-8/4/97 (bug fix) Removed the hard link between bgerror and tkerror.
-Only bgerror is supported in tcl core. Tk will still look for a
-tkerror but using regular tcl code for that feature. (DL)
-*** POTENTIAL INCOMPATIBILTY with code relying on the hard link ***
-
-8/6/97 (bug fix) Reduced size required for compiled bytecodes by using a
-more compact encoding for the command pc-to-source map. (BL)
-
-8/6/97 (new feature) Added support for additional compilation and execution
-statistics when Tcl is compiled with the TCL_COMPILE_STATS flag. (BL)
-
-8/7/97 (bug fix) Expressions not in {}s that have a comparison operator as
-the topmost operator must be compiled out-of-line (call the expr cmd at
-runtime) to properly support expr's two-level substitution semantics. An
-example is "set a 2; set b {$a}; puts [expr $b == 2]". (BL)
-
-8/11/97 (bug fix) The catch command would sometimes crash if a variable name
-was given and the bytecode evaluation stack was grown when executing the
-argument script. (BL)
-
-8/12/97 (feature change) Reinstated the variable tcl_precision to control
-the number of digits used when floating-point values are converted to
-strings, with default of 12 digits. However, had to make tcl_precision
-shared among all interpreters (except that safe interpreters can't
-modify it). This makes the Tcl 8.0 behavior almost identical to 7.6
-except that the default precision is 12 instead of 6. (JO)
-*** POTENTIAL INCOMPATIBILITY ***
-
------------------ Released 8.0, 8/18/97 -----------------------
-
-8/19/97 (bug fix) Minimal fix for glob -nocomplain bugs:
-"glob -nocomplain unreadableDir/*" was generating an anonymous
-error. More in depth fixes will come with 8.1. (DL).
-
-8/20/97 (bug fix) Removed check for FLT_MIN in binary command so
-underflow conditions are handled by the compiler automatic
-conversions. (SS)
-
-8/20/97 (bug fixes) Fixed several compilation-related bugs:
- - Array cmd wasn't detecting arrays that, while compiled, do not yet
- exist (e.g., are marked undefined since they haven't been assigned
- to yet).
- - The GetToken procedure in tclCompExpr.c wasn't recognizing properly
- whether an integer token was invalid. For example, "0x$" is not
- a valid integer.
- - Performance bug in TclExecuteByteCode: the size of its stack frame
- was reduced by over 20% by moving errorInfo code elsewhere.
- - Uninitialized memory read error in tclCompile.c. (BL)
-
-8/21/97 (bug fix) safe::interpConfigure now behave like Tk widget's
-configure : it changes only the options you provide and you can get
-the current value of any single option. New ?-nested boolean? and
-?-statics boolean? for all safe::interp* commands but we still
-accept (upward compatibility) the previously defined non valued
-flags ?-noStatics? and ?-nestedLoadOk?. Improved the documentation. (DL).
-
-8/22/97 (bug fix) Updated PrintDbl.3 to reflect the fact that the
-tcl_precision variable is still used and that it is now shared by all
-interpreters. (BL)
-
-8/25/97 (bug fix) Fixed array access bug in IllegalExprOperandType
-procedure in tclExecute.c: it was not properly supporting the || and &&
-operators. (BL)
-
-8/27/97 (bug fix) In cases where a channel handler was created with an
-empty event mask while data was still buffered in the channel, the
-channel code would get stuck spinning on a timer that would starve
-idle handlers. This mostly happened in Tk when reading from stdin. (SS)
-
-9/4/97 (bug fix) Slave interps now inherit the maximum recursion limit
-of their parent instead of starting back at the default. {nb: this still
-does not prevent stack overflow by multi-interps recursion or aliasing} (DL)
-
-9/11/97 (bug fix) An uninitialized variable in Tcl_WaitPid caused
-pipes to fail to report eof properly under Windows. (SS)
-
-9/12/97 (bug fix) "exec" was misidentifying some DOS executables as not
-executable. (CCS)
-
-9/14/97 (bug fix) Was using the wrong structure in sizeof operation in
-tclUnixChan.c. (JL)
-
-9/15/97 (bug fix) Fixed notifier to break out of do-one-event loop if
-Tcl_WaitForEvent returns 1, so that callers of Tcl_DoOneEvent will get
-a chance to check whether the event just handled is significant. This
-affected mainly recursive calls to Tcl_VWaitCmd; these did not get a
-chance to notice that the variable they were waiting for has been set
-and thus they didn't terminate the vwait. (JL, DL, SS)
-
-9/15/97 (bug fix) Alignment problems in "binary format" would cause a
-crash on some platforms when formatting floating point numbers. (SS)
-
-9/15/97 (bug fix) Fixed bug in Macintosh socket code. Now passes all
-tests in socket.test that are not platform specific. (Thanks to Mark
-Roseman for the pointer on the fix.) (RJ)
-
-9/18/97 (bug fix) Fixed bug -dictionary option of lsort that could
-cause the compare function to run off the end of an array if the
-number only contained 0's. (Thanks to Greg Couch for the report.) (RJ)
-
-9/18/97 (bug fix) TclFinalizeEnvironment was not cleaning up
-properly. (DL, JI)
-
-9/18/97 (bug fix) Fixed long-standing bug where an "array get" command
-did not trigger traces on the array or its elements. (BL)
-
-9/18/97 (bug fixes) Fixed compilation-related bugs:
- - Fixed errorInfo traceback information for toplevel coomands that
- contain nested commands.
- - In the expr command, && and || now accept boolean operands as well
- as numeric ones. (BL)
-
-9/22/97 (bug fix) Fixed bug that prevented translation modes from being
-set independently for input and output on sockets if input was "auto". (JL)
-
-9/24/97 (bug fix) Tcl_EvalFile(3) and thus source(n) now works fine on
-files containing NUL chars. (DL)
-
-9/26/97 (bug fix) Fixed use of uninitialized memory in the environ array
-that later could cause random core dumps. Applies to all platforms. (JL)
-
-9/26/97 (bug fix) Fixed use of uninitialized memory in socket address data
-structure under some circumstances. This could cause random core dumps.
-This applies only to Unix. (JL)
-
-9/26/97 (bug fix) Opening files on PC-NFS volumes would cause a hang
-until the system timed after the file was closed. (SS)
-
-10/6/97 (bug fix) The join(n) command, though objectified, was loosing
-NULs in the joinString and in list elements after the 2nd one.
-Now you can "join $list \0" for instance. (DL)
-
-10/9/97 (bug fix) Under windows, if env(TMP) or env(TEMP) referred to a
-non-existent directory, exec would fail when trying to create its temporary
-files. (CCS)
-
-10/9/97 (bug fix) Under mac and windows, "info hostname" would crash if
-sockets were installed but the hostname could not be determined anyhow.
-Tcl_GetHostName() was returning NULL when it should have been returning
-an empty string. (CCS)
-
-10/10/97 (bug fix) "file attribute /" returned error on windows. (CCS)
-
-10/10/97 (bug fix) Fixed the auto_load procedure to handle procedures
-defined in namespaces better. Also fixed pgk_mkIndex so it sees procedures
-defined in nested namespaces. Index entries are still only made for
-exported procedures. (BW)
-
-10/13/97 (bug fix) On unix, for files with unknown group or owner
-attributes, querying the "file attributes" would return an error rather than
-returning the group's or owner's id number, although tha command accepts
-numbers when setting the file's group or owner. (CCS)
-
-10/22/97 (bug fix) "fcopy" did not eval the callback script at the
-global scope. (SS)
-
-10/22/97 (bug fix) Fixed the signature of the CopyDone callback used in
-the http package(s) so they can handle error cases properly. (BW)
-
-10/28/97 (bug fixes) Fixed a problem where lappend would free the Tcl object
-in a variable if a Tcl_ObjSetVar2 failed because of an error calling a trace
-on the variable. (BL)
-
-10/28/97 (bug fix) Changed binary scan to properly handle sign
-extension of integers on 64-bit or larger machines. (SS)
-
-11/3/97 (bug fixes) Fixed several bugs:
- - expressions such as "expr ($x)" must be compiled out-of-line
- (call the expr command procedure at runtime) to ensure the correct
- behavior when "$x" is an expression such as "5+10".
- - "array set a {}" now creates a new array var with an empty array
- value if the var didn't already exist.
- - "lreplace $foo end end" no longer returns an error (just an empty
- list) if foo is empty.
- - upvar will no longer create a variable in a namespace that refers
- to a variable in a procedure.
- - deleting a command trace within a command trace callback would
- make the code that calls traces to reference freed memory.
- - significantly sped up "string first" and "string last" (fix from
- darrel@gemstone.com).
- - seg fault in Tcl_NewStringObj() when a NULL is passed as the byte
- pointer argument and Tcl is compiled with -DTCL_MEM_DEBUG.
- - documentation and error msg fixes. (BL)
-
-11/3/97 (bug fix) Fixed a number of I/O bugs related to word sizes on
-64-bit machines. (SS)
-
-11/6/97 (bug fix) The exit code of the first process created by Tcl
-on Windows was not properly reported due to an initialization
-problem. (SS)
-
------------------ Released 8.0p1, 11/7/97 -----------------------
-
-11/19/97 (bug fix) Fixed bug in linsert where it sometimes accidently
-cleared out a shared argument list object. (BL).
-
-11/19/97 (bug fix) Autoloading in namespaces was not working properly.
-auto_mkindex is still not really namespace aware but most common
-cases should now be handled properly (see init.test). (BW, DL)
-
-11/20/97 (enhancement) Made the changes required by the new Apple
-Universal Headers V.3.0, so that Tcl will compile with CW Pro 2.
-
-11/24/97 (bug fix) Fixed tests in clock test suite that needed the
--gmt flag set. Thanks to Jan Nijtmans for reporting the problem. (RJ)
-
------------------ Released 8.0p2, 11/25/97 -----------------------
-
-12/3/97 (bug fix/optimization) Removed uneeded and potentially dangerous
-instances of double evaluations if "if" and "expr" statements from
-the library files. It is recommended that unless you need a double
-evaluation you always use "expr {...}" instead of "expr ..." and
-"if {...} ..." instead of "if ... ...". It will also be faster
-thanks to the byte compiler. (DL)
-
----- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ----
-
-12/8/97 (bug fix) Need to protect the newly accepted channel in an
-accept callback on a socket, otherwise the callback may close it and
-cause an error, which would cause the C code to attempt to close the
-now deleted channel. Bumping the refcount assures that the channel sticks
-around to be really closed in this case. (JL)
-
-12/8/97 (bug fix) Need to protect the channel in a fileevent so that it
-is not deleted before the fileevent handler returns. (CS, JL)
-
-12/18/97 (bug fix) In the opt argument parsing package: if the description
-had only flags, the "too many arguments" case was not detected. The default
-value was not used for the special "args" ending argument. (DL)
-
-1/15/98 (improvement) Moved common part of initScript in common file.
-Moved windows specific initialization to init.tcl so you can initialize
-Tcl in windows without having to call Tcl_Init which is now only
-searching for init.tcl {back ported from 8.1}. (DL)
-
----- Shipped as part of the plugin as 8.0p2Plugin2, Jan 15th 98 ----
-
-5/27/98 (bug fix) Windows socket driver did not notice new data arriving
-on nonblocking sockets until the event loop was entered. (SS)
-
-5/27/98 (bug fix) Windows socket driver used FIONREAD, which is not
-supported correctly by WinSock. (SS)
-
-6/9/98 (bug fix) Generic channel code failed to report readable file
-events on buffered data that was left behind by a gets or read that
-did not consume all available data. (SS)
-
-6/18/98 (bug fix) Compilation of loop expressions was too aggressive
-and incorrectly inlined non-literal expressions. (SS)
-
-6/18/98 (bug fix) "info var" and "info locals" incorrectly reported
-the existence of compiler temporary variables. (SS)
-
-6/18/98 (bug fix) Dictionary sorting used signed character
-comparisons. (SS)
-
-6/18/98 (bug fix) Compile procs corrupted the exception stack in some
-cases. (SS)
-
-6/18/98 (bug fix) Array set had erratic behavior when initializing a
-variable from an empty value list. (SS)
-
-6/18/98 (bug fix) The Windows registry package had a bad bounds check
-that could lead to a crash. (SS)
-
-6/18/98 (bug fix) The foreach compile proc did not correctly handle
-non-local variable references. (SS)
-
-6/25/98 (new features) Added name resolution hooks to support [incr Tcl].
-There are new internal Tcl_*Resolver* APIs to add, query and remove the hooks.
-With this changes it should be possible to dynamically load [incr Tcl]
-as an extension. (MM)
-
-7/1/97 (bug fix) The commands "info args, body, default, procs" did
-not correctly handle imported procedures. (RJ)
-
-7/6/98 (improvement) pkg_mkIndex now implements the "package require"
-command. This makes it possible to create index files for packages
-that require another package and then execute code from that package in
-their file. Previously, this would throw an error because the required
-package had not been loaded. The -nopkgrequied flag is provided to
-revert back to the old functionality. (EMS)
-
-7/6/98 (improvement) back-ported the -direct flag from 8.1 into
-pkg_mkIndex. This results in pkgIndex.tcl files that contain direct
-source or load commands instead of tclPkgSetup commands. (EMS)
-
-7/6/98 (improvement) made changes to the AuxData items structures to support
-storage of compiled scripts on disk. Also some related minor changes in
-the compilation and execution engine. (EMS)
-
-6/4/98 (enhancement) Added new internal routines to support inserting
-and deleting from the stat, access, and open-file-channel mechanisms.
-TclAccessInsertProc, TclStatInsertProc, & TclOpenFileChannelInsertProc
-insert pointers to such routines; TclAccessDeleteProc, TclStatDeleteProc,
-& TclOpenFileChannelDeleteProc delete pointers to such routines. See
-the file generic/tclIOUtils.c for more details. (SKS)
-
-7/1/98 (enhancement) Added a new internal C variable
-tclPreInitScript. This is a pointer to a string that may hold an
-initialization script; If this pointer is non-NULL it is evaluated in
-Tcl_Init() prior to the built-in initialization script defined in the
-file generic/tclInitScript.h. (SKS)
-
-7/6/98 (bug fix) Removed dead code in PlatformInitExitHandler so that
-the TCL_LIBRARY value can be safely patched in binaries. (BW)
-
-7/24/98 (enhancement) Incorporated a new version of auto_mkindex that
-can support the [incr Tcl] class structures. This version will index
-all procedures in a source file, not just those where "proc" starts
-at the beginning of the line. If you want the old behavior, use the
-auto_mkindex_old procedure. (MM)
-
-7/24/98 (feature change) Changed the Windows registry key to be
-HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, and to store the path
-in the default value instead of "Root". Also, this key can be
-specified at compile time in case Tcl is being used in a different
-context where it needs an alternate library path from the standard Tcl
-installation. (SS)
-
-7/24/98 (feature change) Changed the search order for init.tcl. The
-tcl_library variable can now be set before calling Tcl_Init to avoid
-doing any searches. If it isn't set, then Tcl checks
-env(TCL_LIBRARY), the static value set at compile time, an install
-directory relative to the executable, a source directory relative to
-the executable, and a tcl directory relative to the source heirarchy
-containing the executable. See the comment at the top of
-generic/tclInitScript.h for more details. (SS)
-
-7/27/98 (config change) Changed the use of the DBGX flag in configure.in
-and the makefile to be TCL_DBGX. Users of tclConfig.sh may need to pass
-this through their configure files with AC_SUBST. (BW)
-
-729/98 (bug fix) Changed [info body] to return a copy of the body of a
-compiled procedure instead of the body itself, to avoid invalidation
-of the internal rep and loss of the byte-codes. (EMS)
-
-8/5/98 (bug fix) The platform init code could walk off the end of a
-buffer when reading the PkgPath registry value on Windows. (SS)
-
-8/5/98 (Windows makefile change) Introduced a set of macros to deal with
-exporting symbols when compiling DLLS on Windows. See win/README for
-details. (EMS)
-
-8/5/98 (addendum) Added a second Windows registry key under
-HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, named "pkgPath".
-This is a multi-string value used to initialize the tcl_pkgPath
-variable. This is required if extension DLLs are in architecture specific
-subdirectories. (SS)
-
-8/6/98 (new feature) Added tcl_findLibrary to init.tcl for use by
-extensions, including Tk. This searches in a canonical way for
-an extensions library directory and initialization file. (BW)
-
-8/10/98 (bug fix) Imported commands used to get lost if the target
-of the import was redefined. Tcl_CreateCommand and Tcl_CreateObjCommand
-were updated to restore import links. (Note that if you rename a command,
-the import links move to the new name, and if you delete a command then
-the import links get lost. These semantics have not changed.) (MC)
-
--------- Released 8.0.3 to the Tcl Consortium CD-ROM project, 8/10/98 ------
-
-9/3/98 (bug fix) Tcl_Realloc was failing under Windows because the
-GlobalReAlloc API was not correctly re-allocating blocks that were
-32k+. The fix was to use newer Win32 APIs (HeapAlloc, HeapFree, and
-HeapReAlloc.) (BS)
-
-10/5/98 (bug fix) Fixed bug in pkg_mkIndex that caused some files that do
-a "package require" of packages in the Tcl libraries to give a warning like
- warning: "xx.tcl" provides more than one package ({xx 2.0} {yy 0.3})
-and generate a broken pkgIndex.tcl file. (EMS)
-
-10/5/98 (bug fix) Pkg_mkIndex was not doing a case-insensitive comparison
-of extensions to determine whether to load or source a file. Thus, under
-Windows, MYDLLNAME.DLL was sourced, and mydllname.dll loaded. (EMS)
-
-10/5/98 (new feature) Created a new Tcl_Obj type, "procbody". This object's
-internal representation holds a pointer to a Proc structure. Extended
-TclCreateProc to take both strings and "procbody". (EMS)
-
-10/13/98 (bug fix) The "info complete" command can now handle strings
-with NULLs embedded. Thanks to colin@field.medicine.adelaide.edu.au
-for providing this fix. (RJ)
-
-10/13/98 (bug fix) The "lsort -dictionary" command did not properly
-handle some numbers starting with 0. Thanks to Richard Hipp
-<drh@acm.org> for submitting the fix to Scriptics. (RJ)
-
-10/13/98 (bug fix) The function Tcl_SetListObj was creating an invalid
-Tcl_Obj if the list had zero elements (despite what the comments said
-it would do). Thanks to Sebastian Wangnick for reporting the
-problem. (RJ)
-
-10/20/98 (new feature) Added tcl_platform(debug) element to the
-tcl_platform array on Windows platform. The existence of the debug
-element of the tcl_platform array indicates that the particular Tcl
-shell has been compiled with debug information. Using
-"info exists tcl_platform(debug)" a Tcl script can direct the
-interpreter to load debug versions of DLLs with the load
-command. (SKS)
-
-10/20/98 (feature change) The Makefile and configure scripts have been
-changed for IRIX to build n32 binaries instead of the old 32 abi
-format. If you have extensions built with the o32 abi's you will need
-to update them to n32 for them to work with Tcl. (RJ)
-*** POTENTIAL INCOMPATIBILITY ***
-
-10/23/98 (bug fix) tcl_findLibrary had a stray ] in one of the
-pathnames it searched for the initialization script. tclInitScript.h
-was incorrectly adding the parent of tcl_library to tcl_pkgPath. This
-logic was moved into init.tcl, and the initialization of auto_path was
-documented. Thanks to Donald Porter and Tom Silva for related
-patches. (BW)
-
-10/29/98 (bug fix) Fixed Tcl_NotifyChannel to use Tcl_Preserve instead
-of Tcl_RegisterChannel so that 1) unregistered channels do not get
-closed after their first fileevent, and 2) errors that occur during
-close in a fileevent script are actually reflected by the close
-command. (BW)
-
-10/30/98 (bug fix) Overhaul of pkg_mkIndex to deal with transitive
-package requires and packages split among scripts and binary files.
-Also fixed ommision of global for errorInfo in tcl_findLibrary. (BW)
-
-11/08/98 (bug fix) Fixed the resource command to always detect the
-case where a file is opened a second time with the same permissions.
-IM claims that this will always cause the same FileRef to be returned,
-but in MacOS 8.1+, this is no longer the case, so we have to test for
-this equality explicitly. (JI)
-
-11/10/98 (feature change) When compiling with Metrowerk's MSL, use the
-exit function from MSL rather than ExitToShell. This allows MSL to
-clean up its temporary files. Thanks to Vince Darley for this
-improvement. (JI)
-
------------------ Released 8.0.4, 11/19/98 -----------------------
-
-11/20/98 (bug fix) Handle possible NULL return in TclGetStdFiles. (RJ)
-
-11/20/98 (bug fix) The dltests would not build on SGI. They reported
-that you could not mix n32 with 032 binaries. The configure script
-has been modified to get the EXTRA_CFLAGS from the tcl configure
-script. [Bug id: 840] (RJ)
-
-12/3/98 (bug fix) Windows NT creates sockets so they are inheritable
-by default. Fixed socket code so it turns off this bit right after
-creation so sockets aren't kept open by exec'ed processes. [Bug: 892]
-Thanks to Kevin Kenny for this fix. (SS)
-
-1/11/98 (bug fix) On HP, "info sharedlibextension" was returning
-empty string on static apps. It now always returns ".sl". (RJ)
-
-1/28/99 (configure change) Now support -pipe option on gcc. (RJ)
-
-2/2/99 (bug fix) Fixed initialization problem on Windows where no
-searching for init.tcl would be performed if the registry keys were
-missing. (stanton)
-
-2/2/99 (bug fix) Added support for HKEY_PERFORMANCE_DATA and
-HKEY_DYN_DATA keys in the "registry" command. (stanton)
-
-2/2/99 (bug fix) ENOTSUP and EOPNOTSUPP clashed on some Linux
-variants. (stanton)
-
-2/2/99 (enhancement) The "open" command has been changed to use the
-object interfaces. (stanton)
-
-2/2/99 (bug fix) In some cases Tcl would crash due to an overflow of
-the exception stack resulting from a missing byte code in some
-expressions. (stanton)
-
-2/2/99 (bug fix) Changed configure so Linux and IRIX shared libraries
-are linked with the system libraries. (stanton)
-
-2/2/99 (bug fix) Added support for BSDI 4.x (BSD/OS-4*) to the
-configure script. (stanton)
-
-2/2/99 (bug fix) Fixed bug where upvar could resurrect a namespace
-variable after the namespace had been deleted. (stanton)
-
-2/2/99 (bug fix) In some cases when creating variables, the
-interpreter result was being modified even if the TCL_LEAVE_ERR_MSG
-flag was set. (stanton)
-
-2/2/99 (bug fix & new feature) Changed the socket drivers to properly
-handle failures during an async socket connection. Added a new
-fconfigure option "-error" to retrieve the failure message. See the
-socket.n manual entry for details. (stanton)
-
-2/2/99 (bug fix) Deleting a renamed interp alias could result in a
-panic. (stanton)
-
-2/2/99 (feature change/bug fix) Changed the behavior of "file
-extension" so that it splits at the last period. Now the extension of
-a file like "foo..o" is ".o" instead of "..o" as in previous versions.
-*** POTENTIAL INCOMPATIBILITY ***