home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-06-30 | 50.0 KB | 1,228 lines |
- Recent user-visible changes to Tcl:
-
- sccsid = %Z% %M% %I% %E% %U%
-
- 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 ------------------
-