summaryrefslogtreecommitdiff
path: root/tcl/changes
diff options
context:
space:
mode:
Diffstat (limited to 'tcl/changes')
-rw-r--r--tcl/changes8793
1 files changed, 4541 insertions, 4252 deletions
diff --git a/tcl/changes b/tcl/changes
index 8d8da5bf953..d24add87332 100644
--- a/tcl/changes
+++ b/tcl/changes
@@ -1,5313 +1,5602 @@
-This file summarizes all changes made to Tk since version 1.0 was
-released on March 13, 1991. Changes that aren't backward compatible
-are marked specially.
+Recent user-visible changes to Tcl:
RCS: @(#) $Id$
-3/16/91 (bug fix) Modified tkWindow.c to remove Tk's Tcl commands from
-the interpreter when the main window is deleted (otherwise there will
-be dangling pointers to the non-existent window).
+1. No more [command1] [command2] construct for grouping multiple
+commands on a single command line.
-3/16/91 (bug fix) Modified tkColor.c not to free black or white colors:
-some X servers get upset at this.
+2. Semi-colon now available for grouping commands on a line.
-3/18/91 (bug fix) Modified tkShare.c to fix bug causing "DeleteGroup
-couldn't find group on shareList" panic.
+3. For a command to span multiple lines, must now use backslash-return
+at the end of each line but the last.
-3/18/91 (bug fix) Several changes to tkListbox.c and tkScrollbar.c to
-handle listboxes (and scrollbars) with zero total entries in them.
+4. "Var" command has been changed to "set".
-3/22/91 (bug fix) Fixed a few ='s in tkListbox.c that should be ==.
+5. Double-quotes now available as an argument grouping character.
-3/22/91 (bug fix) Fixed error in main.c that caused BadWindow errors
-in some cases where wish scripts invoke "destroy .".
+6. "Return" may be used at top-level.
-3/23/91 (new feature) Added Tk_CancelIdleCall to remove Tk_DoWhenIdle
-handler.
+7. More backslash sequences available now. In particular, backslash-newline
+may be used to join lines in command files.
-3/23/91 (bug fix and new feature) Added -name option to main.c, made
-it more clever about choosing name (was always using the name "wish"
-on most Unix systems).
+8. New or modified built-in commands: case, return, for, glob, info,
+print, return, set, source, string, uplevel.
-3/23/91 (new feature) Added TK_CONFIG_STRING option to Tk_ConfigureWidget,
-used it to malloc strings for various widget options that used to be
-Tk_Uid's (e.g. button text, message strings, etc.). Eliminates core
-leaks when values change in continuous non-repeating fashion.
+9. After an error, the variable "errorInfo" is filled with a stack
+trace showing what was being executed when the error occurred.
-3/29/91 (new feature) Added Tk_Preserve, Tk_Release, and
-Tk_EventuallyFree procedures to help manage widget records and avoid
-premature memory free-ing.
+10. Command abbreviations are accepted when parsing commands, but
+are not recommended except for purely-interactive commands.
-4/4/91 (bug fix) Fixed problem in tkWm.c where top-level window geometry
-wasn't tracking correctly when wm-induced size change also changed window
-position (e.g. menus wouldn't be displayed at the right places).
+11. $, set, and expr all complain now if a non-existent variable is
+referenced.
-4/5/91 (new feature) Added "invoke" option to widget command for buttons,
-check buttons, and radio buttons.
+12. History facilities exist now. See Tcl.man and Tcl_RecordAndEval.man.
-4/5/91 (new feature) Added "unpack" option to "pack" command.
+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 ***
-4/5/91 (bug fix) Changed tkPack.c to use new Tk_Preserve code and be
-more careful about window deletions that occur while repacking is in
-progress.
+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 ***
-4/6/91 (bug fix) Major overhaul of deletion code in all widgets to use
-Tk_Preserve and Tk_Release. Should fix many problems.
+15. 3/19/90 Added "info exists" option to see if variable exists.
-4/6/91 (bug fix) Changed "winfo children" to generate correct lists
-when child names have embedded spaces.
+16. 3/19/90 Added "noAbbrev" variable to prohibit command abbreviations.
-4/6/91 (new feature) Added "screenheight" and "screenwidth" options to
-"winfo".
+17. 3/19/90 Added extra errorInfo option to "error" command.
-4/18/91 (bug fix) Binding mechanism didn't correctly handle very long
-%-substitutions in commands (e.g. long path names) and caused memory
-to be overwritten. Modified tkBind.c to fix.
+18. 3/21/90 Double-quotes now only affect space: command, variable,
+and backslash substitutions still occur inside double-quotes.
+*** POTENTIAL INCOMPATIBILITY ***
----------------------- Release 1.1, 4/18/91 -------------------------
+19. 3/21/90 Added support for \r.
-4/19/91 (bug fix) Inconsistent ICCCM handling of coordinates of reparented
-windows causes windows to gradually walk south when moved or resized.
-Fixed tkWm.c to patch around the problem.
+20. 3/21/90 List, concat, eval, and glob commands all expect at least
+one argument now. *** POTENTIAL INCOMPATIBILITY ***
----------------------- Release 1.2, 4/24/91 -------------------------
+21. 3/22/90 Added "?:" operators to expressions.
-4/26/91 (new feature) Added -geometry and -display switches to wish.
-Also wrote wish manual entry.
+22. 3/25/90 Fixed bug in Tcl_Result that caused memory to get trashed.
-5/3/91 (bug fix) Fixed bug in tkListbox.c that caused garbage to appear
-at right edge of window when strings were to large to fit in window.
+------------------- Released version 3.1 ---------------------
-5/3/91 (bug fix) Fixed bug in tkListbox.c where topIndex wasn't getting
-updated when elements were deleted: tended to cause errors in
-communication with scrollbars.
+23. 3/29/90 Fixed bug that caused "file a.b/c ext" to return ".b/c".
-5/16/91 (bug fix) Fixed bug in tk3d.c, which caused core dumps when
-consecutive points in a polygon were the same (happened with some
-configurations of radio buttons, for example).
+24. 3/29/90 Semi-colon is not treated specially when enclosed in
+double-quotes.
-5/16/91 (bug fix) Fixed main.c to allow stdin to be redirected.
+------------------- Released version 3.2 ---------------------
-6/1/91 (bug fix) Make sure that pointers are never used after being
-freed.
+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.
-6/15/91 (bug fix) Fixed bug in tkBind.c that caused current binding
-values to not always be printed correctly.
+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".
-6/15/91 (bug fix) Make sure that interpreters are always unregistered
-when their main windows are deleted, and make wish delete the main
-window before exiting.
+------------------- Released version 3.3 ---------------------
-8/21/91 (misfeature correction) Automatically set source of window
-position to "user" in "wm geometry" command, unless it has been
-explicitly set to "program".
+27. 7/11/90 Added "Tcl_AppendResult" procedure.
-9/5/91 (bug fix) Modified option code to accept '#' as a comment
-character in .Xdefaults files, in addition to '!'.
+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.
-9/10/91 (misfeature correction) Changed binding mechanism so that
-numeric %-sequences are output in decimal instead of hex.
+29. 7/20/90 Added "Tcl_GetInteger", "Tcl_GetDouble", and "Tcl_GetBoolean"
+procedures.
-9/19/91 (bug fix) Fixed bug in Tk_DoOneEvent(1) where it wasn't
-checking files and X connections properly so it missed events.
+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 ***
-10/6/91 (new feature) Reorganized tkBind.c to provide generic "binding
-table" structure, which can be used to create bindings on items in
-canvases as well as windows.
+31. 7/23/90 Added variable tracing: Tcl_TraceVar, Tcl_UnTraceVar,
+and Tcl_VarTraceInfo procedures, "trace" command.
-10/6/91 (new feature) Upgraded buttons and menus to use new tracing
-code in Tcl 6.0. Allows radio buttons and check buttons to both set
-and clear themselves when associated variable changes.
+32. 8/9/90 Mailed out list of all bug fixes since 3.3 release.
-10/17/91 (bug fix) Fixed 2 bugs in listboxes: accidentally advanced the
-selection when new entries were inserted in the listbox after the location
-of the selected item(s), and goofed up on redisplay if selected item
-was deleted and then selection was immediately lost.
+33. 8/29/90 Fixed bugs in Tcl_Merge relating to backslashes and
+semi-colons. Mailed out patch.
-10/27/91 (bug fix) "pack unpack" wasn't telling Tk that it no longer
-manages window; this led to core dumps in some situations.
+34. 9/3/90 Fixed bug in tclBasic.c: quotes weren't quoting ]'s.
+Mailed out patch.
-10/31/91 (reorganization) Renamed manual entries so that they are no
-more than 14 characters in length.
+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.
-10/31/91 (reorganization) Changed tk.h and tkInt.h so that tkInt.h
-doesn't needed to be included by tk.h.
+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.
-11/3/91 (portability improvement) Eliminated use of "class" as a variable
-name, since it's a reserved word in C++.
+37. 12/19/90 Added Tcl_VarEval procedure as a convenience for
+assembling and executing Tcl commands.
-11/7/91 (reorganization) Many changes to upgrade for Tcl 6.1 including
-use of Tcl hash tables instead of separate "Hash_" module. The "lib"
-subdirectory is no longer needed in Tk.
+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.
----------------------- Release 1.3, 11/7/91 -------------------------
+----------------- Released version 5.0 with Tk ------------------
-11/24/91 (bug fix) Fixed bug causing occasional errors if existing bindings
-are modified (FindSequence in tkBind.c forget to set *maskPtr).
+39. 4/3/91 Removed change bars from manual entries, leaving only those
+that came after version 3.3 was released.
-11/24/91 (bug fix) Used wrong hash table in Tk_GetColorByValue. Could
-cause new entries to get created unnecessarily.
+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 ***
-12/2/91 (bug fix) Changed "bind" code to put backslashes in front of
-special characters (e.g. [ or \) that appear in %-replacements, so that
-they can be parsed cleanly.
+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 ***
-12/10/91 (bug fix) Manual entries had first lines that caused "man" program
-to try weird preprocessor. Added blank comment lines to fix problem.
+43. 5/23/91 Modified tclHistory.c to check for negative "keep" value.
-1/2/92 (documentation cleanup) Changed manual entries for Tk_GetBitmap
-and the like to make it more clear that the argument must be a Tk_Uid
-and not a string.
+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 ***
-1/2/92 (bug fix) Fixed problem where scrollbars that were very short or
-very narrow (too small to hold both arrows) could cause negative values
-in calls to XClearArea, which crashed some servers.
+45. 5/29/91 Modified to use ANSI C function prototypes. Must set
+"USE_ANSI" switch when compiling to get prototypes.
-1/2/92 (bug fix) Fixed bug in TkMeasureChars occurring when maxChars
-is 0. Occasionally affected things like message window geometry.
+46. 5/29/91 Completed test suite by providing tests for all of the
+built-in Tcl commands.
-1/3/92 (new feature) Added procedures Tk_GetJustify, Tk_GetAnchor,
-Tk_GetCapStyle, and Tk_GetJoinStyle, plus support for these things
-in Tk_ConfigureWidget.
+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.
----------------------- Release 1.4, 1/10/92 -------------------------
+49. 6/1/91 Added "while" and "cd" commands.
-1/12/92 (bug fix) TkMenubutton.c wasn't cleaning up mbPtr->varName
-properly during menubutton cleanup if an error occurred during
-menubutton creation.
+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 ***
-1/19/92 (bug fix) Fixed off-by-one bug in tkListbox.c that caused
-scrollbars to display a slider that was too large.
+51. 6/1/91 Made sure that pointers are never used after freeing them.
-2/10/92 (bug fix) Tk_CreateFileHandler didn't correctly handle case
-where new mask was specified for existing handler.
+52. 6/1/91 Fixed bug in TclWordEnd where it wasn't dealing with
+[] inside quotes correctly.
-2/13/92 (bug fix) Tk_DeleteAllBindings wasn't correctly removing
-bindings from the pattern table: only did the removal for the
-first pattern in a pattern list.
+53. 6/8/91 Fixed exec.test to accept return values of either 1 or
+255 from "false" command.
-2/15/92 (new feature) Added procedures Tk_DefineBitmap and
-Tk_SizeOfBitmap. Tk_GetBitmapFromData is now considered obsolete
-and probably shouldn't be used anymore. Tk_GetBitmapFromData
-is now implemented by calling Tk_DefineBitmap and Tk_GetBitmap.
+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 ***
-2/15/92 (new feature) Added "curselection" and "select clear" options
-to widget command for listboxes.
+55. 7/6/91 Added new list-manipulation procedures: Tcl_ScanElement,
+Tcl_ConvertElement, Tcl_AppendElement.
-2/15/92 (new feature) Added Tk_3DBorderColor procedure.
+56. 7/12/91 Created new procedure Tcl_EvalFile, which does most of the
+work of the "source" command.
-2/17/92 (relaxed limitations) Changed scrollbars so they no longer limit
-the slider position to lie within the object's range: can scroll off the
-end of an object, if the object permits it. Changed listboxes and
-entries to explicitly prevent viewing off the ends. Also relaxed
-listbox index checks so that out-of-range indices are automatically
-adjust to fit within the listbox range.
+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 ***
-2/19/92 (bug fix) tkWindow.c tended to leave half-created windows around
-if a new window's name was found to be in use already. Fixed to clean
-them up.
+58. 7/21/91 Added "append" and "lappend" commands.
-2/22/92 (new feature) Added -anchor, -bitmap, -height, -textvariable,
--width options to labels, buttons, check buttons, menu buttons, and radio
-buttons. This means that (a) size can be controlled better, (b) bitmaps
-can be displayed in any buttons, (c) the position of the text within the
-button can be controlled, and (d) a button can be made to display the value
-of a variable, continuously updating itself. Also changed -selector option
-so that if it's specified as an empty string then no selector is drawn
-for the button.
+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.
-2/22/92 (new feature) Changed menus to support bitmaps in menu entries:
-added new -bitmap option for entries.
+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 ***
-2/26/92 (bug fix) "after" command, when invoked with just one argument,
-called Tk_Sleep rather than registering a timer handler and looping on
-Tk_DoOneEvent. As a result, it caused the application to become non-
-responsive to X events during the sleep. Changed to use a Tk_DoOneEvent
-loop so that it is responsive.
+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.
-2/26/92 (bug fix) Tk's main program didn't map the main window until
-after the startup script returned. Changed to map the window as a
-do-when-idle handler, so that scripts can cause the window to be
-mapped immediately with a call to "update" or "after".
+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.
-2/28/92 (bug fix) "wm withdraw" wasn't working if invoked before window
-was originally mapped: window got mapped anyway. Fixed so that the
-window doesn't get mapped as long as it's withdrawn.
+63. 7/27/91 Changed "print" command to perform tilde-substitution on
+the file name.
-2/29/92 (new feature) Can use "focus none" to clear input focus.
+64. 7/27/91 Added "tolower", "toupper", "trim", "trimleft", and "trimright"
+options to "string" command.
-2/29/92 (bug fix) Fixed tkEvent.c to generate SubstructureNotify events
-properly. These weren't being generated previously.
+65. 7/29/91 Added "atime", "mtime", "size", and "stat" options to "file"
+command.
-2/29/92 (bug fix) Fixed entries so that newline characters can be properly
-displayed (as `\x0a'). Had to change interface to TkDisplayChars in order
-to do this (added flags argument).
+66. 8/1/91 Added "split" and "join" commands.
-2/29/92 (bug fix) Change Tk not to update size and position of top-level
-windows directly during calls like Tk_ResizeWindow. Instead, wait until
-actual event is received. This makes updates happen at same time as
-callbacks.
+67. 8/11/91 Added commands for file I/O, including "open", "close",
+"read", "gets", "puts", "flush", "eof", "seek", and "tell".
-3/6/92 (bug fix) TkMenubutton.c was dumping core when a menubutton was
-pressed at a time when there was no associated menu for the button.
-
-3/6/92 (new feature) Added Tk script library directory with official
-Tk initialization file "tk.tcl". Other procedures used by Tk are in
-other files. Tk procedures and variables all have names starting
-with "tk_". Also added Wish startup script "wish.tcl", which sources
-both the Tk and Tcl startup scripts. This means that things like
-auto-loading and abbreviation expansion are now available in wish.
-Added new variables tk_library, tk_priv, and tk_version.
-
-3/6/92 (new feature) It's now possible to set bindings for whole
-classes by using the class name in the bind command. For example,
-"bind Button <Enter> {puts stdout Hi!}" will cause a message to be
-printed whenever any mouse button is entered. Can also use "all"
-to set bindings for all widgets. Widget-specific bindings override
-class bindings which override "all" bindings.
-
-3/6/92 (reorganization) Changed buttons (all flavors) and listboxes to
-eliminate all hard-wired behavior. Instead, default behavior is set
-by class bindings in tk.tcl. Also set up class bindings for menus,
-menubuttons, and entries, which previously had no default behavior at
-all. Scrollbars and scales still have hard-wired behavior that can't
-be overridden.
-
-3/7/92 (look-and-feel change) Changed listboxes and entries and menus
-to use button 2 for scanning instead of button 3. This is more consistent
-with the official Motif use of button 2 for dragging.
-
-3/10/92 (new features) Added more options to "winfo" command: screencells,
-screendepth, screenmmheight, screenmmwidth, and screenvisual.
-
-3/13/92 (bug fix) Event sharing mechanism (tkShare.c) wasn't checking
-to see whether window was mapped before sharing events with it.
-
-3/16/92 (bug fix) Tk_SetInternalBorderWidth was passing wrong window to
-geometry-management procedures, causing core-dumps when menu buttons
-had their border widths changed.
-
-3/16/92 (bug fix) Menus were setting their geometry directory rather
-than using Tk_GeometryRequest mechanism.
-
-3/17/92 (new feature) Added -cursor option to all widgets to set the
-active cursor for the widget. Also added TK_CONFIG_ACTIVE_CURSOR
-configure type.
-
-3/18/92 (new feature) Implemented generalized screen coordinates to
-allow resolution-independent specification in many cases (but pixel-
-based coordinates are still OK). Added Tk_GetScreenMM(),
-Tk_GetPixels(), new configure types TK_CONFIG_SCREEN_MM and
-TK_CONFIG_PIXELS. Changed widgets to use this new configure types
-wherever possible (a few of the more complex cases still haven't
-been taken care of yet). Added "pixels" and "fpixels" options to
-"winfo" command.
-
-3/18/92 (new feature) First cut at canvas widgets is done and part of
-the official Tk now. Canvases display text and structured graphics,
-and allow you to bind commands to events related to the text and
-graphics.
-
-3/21/92 (new feature) Added new "place" command. It implements a
-new geometry manager that provides fixed placement, rubber-sheet
-placement, and combinations of the two. Eliminated the commands
-"move", "resize", and "map" that were provided by main.c but never
-officially supported; the placer provides all of this functionality.
-
-3/23/92 (bug fix) Fixed bug in tkWm.c where top-level windows were
-occasionally not being given the right size. The problem occurred
-when a string of resizes happened all in a row (such as deleting all
-the windows in an application and then recreating them).
-
-3/23/92 (new feature) Added Tk_CoordsToWindow procedure and
-"winfo containing" command. These may be used to locate the window
-containing a given point.
-
-3/28/92 (new feature) Added "-exportselection" option to listboxes,
-so that listbox selection need not necessarily be the X selection.
-
-4/12/92 (bug fix) Changed menu buttons to store name of menubutton
-in the associated variable, rather than the name of the menu. This
-is necessary in order to allow several menu buttons to share the
-same menu.
+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 ***
-4/12/92 (bug fix) Fixed core dump that occurred in tkError.c when
-removing the first error record from the error list.
+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.
-4/15/92 (bug fix) Fixed bug in tkBind.c that prevented <KeyPress-1>
-event specifications from being processed correctly: the "1" was
-treated as a button name rather than a keysym.
+69. 8/15/91 Added -nocomplain switch to "glob" command.
-4/18/92 (new feature) Added Tk_DefineCursor and Tk_UndefineCursor
-procedures.
+70. 8/20/91 Added "info library" option and TCL_LIBRARY #define. Also
+added "info script" option.
-4/18/92 (new feature) Major revision to listboxes. Can now scroll and
-scan in both x and y, plus -exportselection option allows selection not
-to be exported. The "view" widget command has been replaced by "xview"
-and "yview", and the "scan" widget command has a new syntax.
+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 ***
-4/18/92 (new feature) Added -exportselection option to entries, so you
-can select whether you want the entry selection to be the X selection
-or not.
-
-4/24/92 (new features) Added TK_CONFIG_CUSTOM type to Tk_ConfigureWidget,
-plus added new flags TK_CONFIG_NULL_OK, TK_CONFIG_DONT_SET_DEFAULT,
-and TK_CONFIG_OPTION_SPECIFIED. Several other new types, such as
-TK_CONFIG_CAP_STYLE, were also added as part of implementing canvases.
-
-4/29/92 (bug fix) Changed "-selector" default for menus to have separate
-values for mono and color.
-
-4/30/92 (bug fix) Fixed bug in tkListbox.c where it occasionally generated
-bogus scroll commands (last index less than first).
+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 ***
-4/30/92 (reorganization) Moved demos directory to "library/demos".
+73. 8/20/91 Changed Tcl_AppendResult so that it (eventually) frees
+large buffers that it allocates.
----------------------- Release 2.0, 5/1/92 -------------------------
+74. 8/21/91 Added "linsert", "lreplace", "lsearch", and "lsort"
+commands.
-5/2/92 (bug fix) Fixed problem in tkListbox.c where it was doing too many
-redisplays after repeated insertions. Also reduced number of invocations
-of scrollbar commands.
+75. 8/28/91 Added "incr" and "exit" commands.
-5/7/92 (portability improvement) Changed main.c not to use TK_EXCEPTION
-flag; it isn't needed and it causes problems on some systems.
+76. 8/30/91 Added "regexp" and "regsub" commands.
-5/9/92 (bug fix) Plugged core leaks in tkListbox.c and tkBind.c
+77. 9/4/91 Changed "dynamic" field in interpreters to "freeProc" (procedure
+address). This allows for alternative storage managers.
+*** POTENTIAL INCOMPATIBILITY ***
-5/9/92 (bug fix) TkBind.c was accidentally deleting bindings during
-attempts to print non-existent bindings.
+78. 9/6/91 Added "index", "length", and "range" options to "string"
+command. Added "lindex", "llength", and "lrange" commands.
-5/11/92 (bug fix) Maximum name length for applications (name used in
-"send" commands) was too short (only 20); increased to 1000. Also
-fixed bug related to over-long names that caused core dumps.
+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 ***
-5/13/92 (bug fix) tkShare.c was using a dangling pointer if a share
-group was deleted as a side-effect of a shared event.
+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.
-5/13/92 (bug fix) Various initialization and core leak problems in
-tkGC.c, tkSend.c, tkMenu.c, tkEvent.c, tkCanvas.c, tkCanvPoly.c,
-tkCanvLine.c, tkListbox.c, tkEntry.c.
+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.
-5/13/92 (bug fix) Empty entries could be scanned off the left edge,
-displaying a garbage character.
+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.
-5/13/92 (bug fix) Fixed a few problems with window manager interactions,
-such as tendency for windows to spontaneously shrink in size. By no
-means are all of the problems fixed, though.
+83. 9/22/91 Added "pwd" command.
-5/13/92 (performance optimization) Changed Tk_GeometryRequest not to
-invoke geometry manager unless requested size has changed.
+84. 9/22/91 Renamed manual pages so that their filenames are no more
+than 14 characters in length, moved to "doc" subdirectory.
----------------------- Release 2.1, 5/14/92 -------------------------
+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.
-5/1/92 (new features) Added flags like TK_IDLE_EVENTS to Tk_DoWhenIdle,
-plus added "idletasks" option to "update" command. Tk_DoWhenIdle arguments
-look different now, but the change should be upward-compatible.
+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.
-5/17/92 (new feature/bug fix) Added support for VisibilityNotify events
-to the "bind" command. For some reason they weren't supported previously.
+----------------- Released version 6.0, 9/26/91 ------------------
-5/17/92 (new feature) Added "tkwait" command.
+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.
-5/17/92 (new feature) Added "grab" command.
+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.
-5/17/92 (new feature) Added "-width" option to messages. Also changed
-messages to use the computed (i.e. desired) line length when displaying,
-not the actual width of the window.
+89. 10/3/91 Added "upvar" command.
-5/17/92 (bug fixes) Did some more fiddling with tkWm.c in the hopes
-of improving window manager interactions. Now there won't be more than
-one configure request outstanding to the wm at a time.
+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.
-5/17/92 (bug fix) Arrowheads on canvas lines weren't being translated
-or scaled correctly.
+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.
-5/20/92 (bug fix) Page-mode scrolling didn't work correctly for canvases
-(wrong windowUnits was passed to scrollbars).
+92. 10/17/91 Fixed problems with backslash sequences: \r support was
+incomplete and \f and \v weren't supported at all.
-5/20/92 (bug fix) Changed scrollbars not to lose highlight when pointer
-leaves window with button down. Also changed redisplay to double-buffer
-for smoother redraws.
+93. 10/24/91 Added Tcl_InitHistory procedure.
-5/21/92 (new feature) Added "gray50" and "gray25" as predefined bitmaps.
+94. 10/24/91 Changed "regexp" to store "-1 -1" in subMatchVars that
+don't match, rather than returning an error.
-5/22/92 (new feature) Buttons can now be disabled using the "-state" and
-"-disabledforeground configuration options. The "activate" and "deactivate"
-widget commands for buttons are now obsolete and will go away soon.
-Please change Tcl scripts not to use them.
+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 ***
-5/23/92 (new feature) Entries can now be disabled using the "-state"
-config option. Also improved class bindings for entries to keep the
-cursor visible in the window when operations occur. Also made slight
-improvements in the way redisplay is done.
+96. 10/27/91 Fixed bug in "scan" where it used hardwired constants for
+sizes of floats and doubles instead of using "sizeof".
-5/23/92 (new feature) Added "-textvariable" option to entries so that
-the text in an entry can be tied to the value of a global variable in
-a fashion similar to buttons.
+97. 10/31/91 Fixed bug in tclParse.c where parse-related error messages
+weren't being storage-managed correctly, causing spurious free's.
-5/27/92 (new feature) Added "-textvariable" and "-anchor" options to
-messages.
+98. 10/31/91 Form feed and vertical tab characters are now considered
+to be space characters by the parser.
-5/28/92 (new feature) Added "-padx" and "-pady" and "-underline" options
-to menubuttons.
+99. 10/31/91 Added TCL_LEAVE_ERR_MSG flag to procedures like Tcl_SetVar.
-5/28/92 (feature change) Changed "-width" and "-height" options on
-all flavors of buttons and menubuttons so that they are orthogonal
-to "-padx" and "-pady". It used to be that -width overrode -padx
-(no padding). Now they accumulate.
+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.
-5/29/92 (new feature) Added "-disabledforeground" option to menus and
-all flavors of buttons (can specify color for disabled things rather
-than just using stipple to gray out).
+101. 11/7/91 Switched to use "pid_t" and "uid_t" and other official
+POSIC types and function prototypes.
-5/29/92 (new features) Added many new options to menu entries:
--activebackground, -background, -font, -state, -underline. The
-"disable" and "enable" widget commands for menus are now obsolete
-and will go away soon. Please change Tcl scripts not to use them.
+----------------- Released version 6.1, 11/7/91 ------------------
-5/29/92 (new features) Added "atom" and "atomname" options to "winfo"
-command.
+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.
-5/29/92 (new feature) Wrote tk_listboxSingleSelect procedure, which
-can be used to change listbox behavior so that only a single item is
-selected at once.
+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.
-6/1/92 (new feature) Added new modifier names "Meta" and "Alt" for
-"bind" command.
+104. 12/10/91 Manual entries had first lines that caused "man" program
+to try weird preprocessor. Added blank comment lines to fix problem.
-6/3/92 (new feature) Added "winfo toplevel" command.
+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.
-6/3/92 (new feature) Made several changes for greater Motif compliance,
-including:
- - menu retention if you click and release in the menu button,
- - keyboard traversal of menus (see traversal.man)
- - no widget flashing if you set $tk_strictMotif to 1
+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.
-6/15/92 (bug fix) Fixed problem in tkBind.c where command string for a
-binding could get reallocated while the command was being executed (e.g.
-bindings that delete or change themselves).
+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.
-6/15/92 (bug fix) Don't allow "tabWidth" field to become zero in tkFont.c:
-can cause core dumps for fonts that don't enough information to compute
-tab widths.
+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.
-6/19/92 (bug fix) Fixed bug in binding mechanism that caused structure-
-related events to be reported both to the correct window and its parent.
+----------------- Released version 6.2, 1/10/92 ------------------
-7/14/92 (bug fix) Changed tkColor.c not to free colors for visual types
-StaticGray or StaticColor.
+109. 1/20/92 Config didn't have code to actually use "uid_t" variable
+to set TCL_UIT_T #define.
-7/15/92 (new feature) Text widgets now exist. They display any number of
-lines of text with a variety of display formats, and include hypertext
-facilities. See the manual page for details.
+110. 2/10/92 Tcl_Eval didn't properly reset "numLevels" variable when
+too-deep recursion occurred.
-7/20/92 (bug fix) If a top-level window was put in the iconic state to
-begin with, it could be deiconified with "wm deiconify .foo" until it had
-first been deiconified by hand from the window manager. Tk was getting
-confused and thought the window was mapped when it wasn't.
+111. 2/29/92 Added "on" and "off" to keywords accepted by Tcl_GetBoolean.
-7/29/92 (bug fix) Don't permit rectangles or ovals to have zero-sized
-dimensions. Round up to at least one pixel.
+112. 3/19/92 Config wasn't installing default version of strtod.c for
+systems that don't have one in libc.a.
-7/29/92 (new features) Major upgrade to canvases:
- - new item types: arc, window, bitmap
- - added Bezier spline support for lines and polygons
- - rectangles and ovals now center their outlines on the shape,
- rather than drawing them entirely inside the shape
- - new "coords" and "bbox" widget commands
- - new "-tags" option for all item types.
- - new "-confine" option to prevent scrolling off edge of canvas.
+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.
-8/6/92 (new feature) Added "-width" and "-height" options to frames.
-The "-geometry" option is now obsolete and should be removed from Tcl
-scripts: it may go away in the future.
+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.
-8/7/92 (bug fix) Error messages in Tk_ParseArgv were sometimes including
-the option name where they should have included its value.
+115. 4/16/92 Fixed bug in tclUnixAZ.c where "read" command didn't
+compute file size right for device files.
----------------------- Release 2.2, 8/7/92 -------------------------
+116. 4/23/92 Fixed but in tclCmdMZ.c where "trace vinfo" was overwriting
+the trace command.
-8/7/92 (bug fix) Changed tkCanvas.c to be more conservative in the area
-it passes to XCopyArea.
+----------------- Released version 6.3, 5/1/92 ------------------
-8/8/92 (bug fix) Fixed bug in tkTextDisp.c that sometimes caused core
-dumps when text views changed (e.g. typing return on last line of screen).
+117. 5/1/92 Added Tcl_GlobalEval.
-8/8/92 (bug fix) Fixed bug in menu.tcl that caused errors when using
-keyboard to traverse over separator menu entries.
+118. 6/1/92 Changed auto-load facility to source files at global level.
-8/10/92 (bug fix) Changed to use OPEN_MAX instead of MAX_FD to compute
-maximum # of open files.
+119. 6/8/92 Tcl_ParseVar wasn't always setting termPtr after errors, which
+sometimes caused core dumps.
-8/10/92 (bug fix) Canvases weren't updating scrollbars on window size
-changes. They also weren't recentering canvases on window size changes.
+120. 6/21/92 Fixed bug in initialization of regexp pattern cache. This
+bug caused segmentation violations in regexp commands under some conditions.
-8/10/92 (bug fix) There were still a few places where commands were being
-invoked at local level instead of global level (e.g. commands associated
-with buttons and menu entries).
+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.
-8/10/92 (bug fix) TkBind.c used to ignore explicit shift modifiers for
-all keys (i.e. <Shift-Tab> was treated the same as <Tab>). Modified to
-allow explicit request for shift modifier, like <Shift-Tab>.
+122. 7/2/92 Fixed bug that caused 'string match ** ""' to return 0.
-8/13/92 (feature change) Changed default fonts to request "Adobe" fonts
-explicitly.
+123. 7/2/92 Fixed bug in Tcl_CreateCmdBuf where it wasn't initializing
+the buffer to an empty string.
-8/16/92 (bug fixes) Modified tkCanvArc.c and tkTrig.c to increase slightly
-the bounding boxes for arcs, in order to make sure that proper redisplay
-occurs when arcs are moved (little turds were getting left behind).
+124. 7/6/92 Fixed bug in "case" command where it used NULL pattern string
+after errors in the "default" clause.
-8/16/92 (bug fix) Modified tkCanvas.c not to redraw at all if the redisplay
-area is off the screen. Also, only do a background clear for the portion
-of the redraw area that is on-screen. Also, reduced size of off-screen
-pixmaps used for redisplaying, which speeds up redisplay in some cases.
+125. 7/25/92 Speeded up auto_load procedure: don't reread all the index
+files unless the path has changed.
-8/19/92 (bug fix) Canvases that were taller than wide were not being
-redisplayed properly.
+126. 8/3/92 Changed tclUnix.h to define MAXPATHLEN from PATH_MAX, not
+_POSIX_PATH_MAX.
-8/20/92 (new feature) Added Tk_CreateGenericHandler procedure for trapping
-all X events (useful for tracing, watching non-Tk windows, etc.).
+----------------- Released version 6.4, 8/7/92 ------------------
-8/21/92 (bug fix) Widgets weren't always being notified when they got
-the focus back again (the problem had to do with grabs and menus in
-particular).
+127. 8/10/92 Changed tclBasic.c so that comment lines can be continued by
+putting a backslash before the newline.
-8/21/92 (new feature) Added "-state" option to scale widgets.
+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.
-8/22/92 (new feature) Changed tkBitmap.c to allow tilde-substitution
-to occur in bitmap file names.
+129. 8/25/92 Modified "format" command to allow " " and "+" flags, and
+allow flags in any order.
----------------------- Release 2.3, 8/24/92 -------------------------
+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}".
-8/27/92 (bug fix) Changes to -activebackground and -activeforeground options
-for menubuttons were being lost.
+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.
-8/27/92 (bug fix) Entries were selecting last character when a B1-drag
-occurred past the right edge of the text.
+132. 9/14/92 Renamed manual entries to have extensions like .3 and .n,
+and added "install" target to Makefile.
-8/28/92 (bug fix) Fixed bug in canvases where a grab during a button
-press caused the canvas state to lock up so that it didn't select a
-new current item.
+133. 9/18/92 Modified "unknown" command to emulate !!, !<num>, and
+^<old>^<new> csh history substitutions.
-9/7/92 (bug fix) Changed tkMenu.c to accept numerical menu indices that
-are out of range; now it just rounds them off to the nearest existing
-entry.
+134. 9/21/92 Made the config script cleverer about figuring out which
+switches to pass to "nm".
-9/7/92 (bug fix) Fixed bug in tkTextDisp.c that caused core dumps when
-invoking "yview -pickplace" widget command on texts that are too small
-to hold any lines at all.
+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.
-9/11/92 (bug fix) Fixed bug in tkTextDisp.c that caused core dumps
-when adding tags to non-existent lines.
+136. 9/28/92 Fixed bug in auto_reset where it was unsetting variables
+that might not exist.
-9/11/92 (bug fix) Line items in canvases didn't permit an empty fill
-color (i.e. couldn't make them transparent).
+137. 10/7/92 Changed "parray" library procedure to print any array
+accessible to caller, local or global.
-9/14/92 (reorganization) Changed manual entries to use .1, .3, and .n
-extensions. Added "install" target to Makefile to suggest how Tk should
-be installed.
+138. 10/15/92 Fixed bug where propagation of new environment variable
+values among interpreters took N! time if there exist N interpreters.
-9/16/92 (bug fix) Changed tkSend.c to always specify the root window of
-screen 0 rather than using DefaultRootWindow. DefaultRootWindow doesn't
-always go to screen 0 on displays with multiple screens, which can result
-in send's not being possible between the screens.
+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).
-9/18/92 (new feature) Added three new options to "wm" command: "protocol",
-"client", and "command". These provide support for window manager protocols
-such as WM_DELETE_WINDOW and WM_TAKE_FOCUS, plus support for the
-WM_CLIENT_MACHINE and WM_COMMAND properties.
+140. 10/21/92 Fixed bug that caused lists to be incorrectly generated
+for elements that contained backslash-newline sequences.
-9/30/92 (new feature) Implemented color model support, including
-"tk colormodel" command and Tk_GetColorModel and Tk_SetColorModel
-procedures. These allow you to force mono operation even on a color
-display. Also changed color allocation not to give errors when colors
-run out, but just to switch to a mono color model.
+141. 12/9/92 Added support for TCL_LIBRARY environment variable: use
+it as library location if it's present.
-10/1/92 (bug fixes) Fixed two bugs in tkTextBTree.c that caused core dumps
-during text deletion.
+142. 12/9/92 Added "info complete" command, Tcl_CommandComplete procedure.
-10/5/92 (bug work-around) Changed tkColor.c to ignore errors when freeing
-colors. This is needed to work around improper reference count management
-for colormap entries under X11/NeWS.
+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).
-10/7/92 (new feature) Added support for different visual types, including
-procedures Tk_SetWindowVisual and Tk_SetWindowColormap, plus macros
-Tk_Visual, Tk_Depth, and Tk_Colormap. The code for this was contributed
-by Paul Mackerras.
+----------------- Released version 6.5, 12/17/92 ------------------
-10/7/92 (new feature) Added Tk_IsTopLevel macro.
-
-10/12/92 (bug fix) Fixed bug in tk.tcl that caused torn-off menus with
-cascaded children not to track mouse motion correctly (the cascade
-switched in response to mouse motions within the cascaded child).
-
-10/12/92 (new feature) Major changes to focus handling:
-(a) Tk watches FocusIn and FocusOut events for focus changes, not Enter
- and Leave, so it will work better with explicit-focus-model window
- managers (e.g. mwm in default mode).
-(b) Tk generates FocusIn and FocusOut events for the focus window now.
- The old procedural interface (via Tk_CreateFocusHandler) is obsolete
- and is no longer used inside Tk. It is still supported for
- compatibility, but won't be for long. You should change your code
- to use FocusIn and FocusOut events instead.
-(c) The model for FocusIn and FocusOut events is different than the
- one described in Xlib documentation. See the "focus" manual entry
- for details.
-(d) If there is no input focus then keyboard events are discarded. They
- used to be directed to the mouse pointer window, although this wasn't
- documented. The focus now defaults to the root window.
-*** POTENTIAL INCOMPATIBILITY ***
+144. 12/21/92 Changed config to look in several places for libc file.
-10/15/92 (bug fix) Fixed text items in canvases where they didn't
-display the insertion cursor if the item had no characters in it.
-
-10/26/92 (bug fix) Fixed bug in tkSelect.c that occasionally caused
-BadWindow X protocol errors when retrieving the selection. Tk wasn't
-making sure that a window existed before using it to retrieve the
-selection.
-
-10/30/92 (feature change) Changed canvases so that if the scroll region
-is smaller than the window and -confine is on, the scroll region isn't
-forced to be centered in the window; it can be anywhere that meets the
-confinement restrictions.
-
-11/2/92 (new feature) Added "winfo exists" command.
-
-11/5/92 (new feature) Changed DoWhenIdle handlers so that if a new
-when-idle handler is created as a side-effect of another when-idle
-handler, the new handler isn't invoked until Tk has first checked
-for other events to process.
-
-11/6/92 (bug fixes, new features) Major overhaul of window manager
-interface:
-(a) Tk should now work with virtual-root window managers;
-(b) windows will now place more accurately on the screen and stay where
- they're supposed to;
-(c) size changes handled more reliably;
-(d) code now works robustly in the face of withdrawals followed
- immediately by deiconifications.
-(e) Added new procedure Tk_GetVRootInfo and new options to "winfo" command:
- vrootx, vrooty, vrootwidth, vrootheight.
-(f) Added "overrideredirect" option to "wm".
-(g) Fixed bug where change in width-only via "wm geom" didn't always work
- (min and max window sizes weren't being set properly for the wm).
-
-11/6/92 (bug fixes) Modified menus so that they work correctly with
-virtual root window managers. Also fixed bug where menus didn't move
-along with their associated windows, so that the menu popped up at
-the old location of the window rather than its new location.
-
-11/9/92 (new constraint) Made it illegal to give windows names that
-start with upper-case letters, since such names will goof up the
-option database by appearing to be classes rather than names.
+145. 12/23/92 Added "elseif" support to if. Also, "then", "else", and
+"elseif" may no longer be abbreviated.
*** POTENTIAL INCOMPATIBILITY ***
-11/10/92 (new feature) Added Postscript output to canvases.
+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.
-11/13/92 (bug fix) Changed default for maximum size passed to window
-manager from 1000000 (which causes some wm's to make windows too large
-when "maximized") to the size of the display.
+147. 1/6/93 Fixed bug whereby backslash-newline wasn't working when
+typed interactively, or in "info complete".
-11/14/92 (feature change) Major overhaul of menubuttons and pull-down
-menus. Removed event-sharing code, including Tk_ShareEvents and
-Tk_UnshareEvents. The -variable option for menubuttons has been
-removed,and the "post" and "unpost" widget commands for menubuttons
-no longer exist. The "post" widget command for menus no longer
-allows a group option. The procedure tk_menus has been replaced
-with a new procedure, tk_menuBar, which has a slightly different
-interface.
-*** POTENTIAL INCOMPATIBILITY ***
-
-11/20/92 (new features, feature changes) Major overhaul of grab
-mechanism to produce more correct event streams. Also changed Tcl
-commands to require explicit window for grab releases (makes it
-possible for grabs to work on multiple displays simultaneously).
-The old "grab none" command no longer exists, but new options
-have been added: "current", "release", "set", and "status".
-*** POTENTIAL INCOMPATIBILITY ***
+148. 1/22/93 Fixed bugs in "lreplace" and "linsert" where close
+quotes were being lost from last element before replacement or
+insertion.
-11/20/92 (new feature) Use TK_LIBRARY environment variable to set library
-directory location, if it is defined. Otherwise fall back on usual
-compiled-in value.
+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.
-11/25/92 (bug fix) "wm grid" command was using wrong window.
+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.
-11/29/92 (bug fix) Fixed core dump that occurred when trying to use
-placer on top-level windows: return error instead.
+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.
-11/29/92 (bug fix) Selection retrieval wasn't making sure that the window
-on whose behalf selection is being retrieved actually exists.
+152. 2/1/93 Added "putenv" procedure to replace the standard system
+version so that it will work correctly with Tcl's environment handling.
-12/3/92 (new feature) Added support for Mode_switch key to support the
-full ISO character set. Also added event handlers for MappingNotify
-events so that Tk updates itself in response to keycode and modifier
-changes.
+----------------- Released version 6.6, 2/5/93 ------------------
-12/6/92 (bug fix) Ignore recursive attempts to destroy window.
+153. 2/10/93 Fixed bugs in config script: missing "endif" in libc loop,
+and tried to use strncasecmp.c instead of strcasecmp.c.
-12/9/92 (new demos) Added "tcolor" and "rmt" demos.
+154. 2/10/93 Makefile improvements: added RANLIB variable for easier
+Sys-V configuration, added SHELL variable for SGI systems.
-12/10/92 (new features) Added "yposition" widget command for menus,
-changed "delete" widget command to take an optional second index,
-and changed -command option for cascade entries so that it is
-invoked when the entry is activated rather than when it is invoked.
-*** POTENTIAL INCOMPATIBILITY ***
+----------------- Released version 6.7, 2/11/93 ------------------
-12/12/92 (implementation change) Changed the procedures Tk_FreeBitmap,
-Tk_NameOfBitmap, Tk_SizeOfBitmap, Tk_FreeCursor, Tk_NameOfCursor, and
-Tk_FreeGC to require an addition Display argument. This is needed for
-Tk to function correctly when an application has windows on multiple
-displays.
+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 ***
-12/12/92 (new feature) Started creating a test suite. Right now it
-only has a few tests.
-
-12/12/92 (new feature) Modified the packer so that a window can be
-packed in descendants of its parent (used to be restricted to the
-parent alone). This makes it possible to hide extra windows used
-for geometry management. Also, can use generalized screen distances
-in the "pack" command.
-
-12/16/92 (feature change) Boolean options such as -exportselection now
-print as 0/1 rather than true/false (both the default and current values
-print this way). This makes it easier to use these values in expressions.
-*** 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).
-12/16/92 (name change) The classes "RadioButton" and "CheckButton" have
-been renamed "Radiobutton" and "Checkbutton" for consistency. From now
-on widget class names will have exactly one capital letter.
+155. 2/6/93 Changed "regsub" so that it overwrites the result variable
+in all cases, even if there is no match.
*** POTENTIAL INCOMPATIBILITY ***
-12/16/92 (new feature) Added -setgrid option to listboxes.
+156. 2/8/93 Added support for XPG3 %n$ conversion specifiers to "format"
+command.
-12/16/92 (new feature) The "destroy" command, and the "delete" widget
-command for canvases, now accept any number of arguments, including
-zero.
+157. 2/17/93 Fixed bug in Tcl_Eval where errors due to infinite
+recursion could result in core dumps.
-12/16/92 (new feature) Changed internal TkBindError procedure to
-Tk_BackgroundError and exported it to Tk clients.
+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.
-12/16/92 (option name change) Changed the place command's "dependents"
-option to "slaves" for better consistency with documentation.
+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 ***
-12/16/92 (name changes) Renamed the "cursor*" options in entries and
-canvases to "insert*". Also renamed the "cursor" index to "insert" and
-the "cursor" widget command to "icursor". This was done to avoid
-confusion between the mouse cursor and the insertion cursor.
+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 ***
----------------------- Release 3.0, 12/17/92 -------------------------
-
-12/17/92 (bug fix) Fixed dangling-pointer bug in canvases that occurred
-if a <LeaveNotify> binding deleted the current item.
-
-12/18/92 (bug fix) Core dump occurred if "wm" invoked with no arguments.
-Also, tkWm.c wasn't properly setting WM_CLASS property on application
-startup.
-
-12/18/92 (incorrect documentation) Updated manual entries for Tk_FreeGC,
-Tk_FreeCursor, and Tk_FreeBitmap to reflect new interface that requires
-"display" argument.
-
-12/18/92 (missing documentation) Added documentation for the canvas
-"postscript" command, which was missing in the 3.0 release.
-
-12/21/92 (bug fixes) There were lots of problems with the new installation
-targets in the Makefiles, such as using "cp -f" and not installing
-prolog.ps. Made several other miscellaneous improvements to Makefile.
+161. 2/25/93 Fixed two memory-management problems having to do with
+managing the old result during variable trace callbacks.
-12/21/92 (bug fix) Arrowheads on canvas line items weren't moving properly
-after coordinate changes made with the "coords" widget command.
+162. 3/1/93 Added dynamic string library: Tcl_DStringInit, Tcl_DStringAppend,
+Tcl_DStringFree, Tcl_DStringResult, etc.
-12/21/92 (bug fix) If top-level window was initially withdrawn, couldn't
-ever deiconify it again.
-
-12/21/92 (bug fix) Double-button event sequences didn't always trigger
-properly when grabs were in effect.
-
-12/22/92 (bug fix) The packer didn't display any top or bottom windows
-after a left or right expanded window, and vice versa. Also made the
-distribution of space among expanded windows more even.
-
-12/28/92 (new features) Several improvements to selection:
-(a) Added procedures Tk_ClearSelection and Tk_DeleteSelHandler.
-(b) Added "clear" and "own" options to "selection" command, extended
- "handle" option to delete handlers.
-(c) Error returns from "selection handle" scripts are now turned into
- selection retrieval errors ("no such selection") rather than an
- empty selection.
-(d) Tk responds automatically for targets APPLICATION (name of application,
- so you can "send" to it) and WINDOW_NAME (name of window within
- application.
-(e) Added test file "select.test" to test suite.
-
-12/28/92 (bug fix) Fixed problem with flashing menus that occurred
-because menu.tcl was willing to unpost and then immediately repost
-the same menu.
-
-1/6/93 (bug fix) Test for UnmapNotify events in tkPack.c used = instead
-of ==.
-
-1/21/93 (bug fix) Changed many widgets to eliminate use of
-DefaultVisualofScreen, DefaultColormap, etc. and use the visuals
-and colormaps for the actual windows instead. Also changed to
-inherit colormaps and windows from parent by default.
-
-1/21/93 (new features) Added new winfo options "cells", "depth", and
-"visual".
-
-1/23/93 (bug fix) Fixed problem with text display that could result
-in negative XCopyArea heights being sent to X server. This causes some
-servers (e.g. some versions of OpenWindows) to crash.
-
-1/25/93 (new feature) Added -postcommand option to menus, so that menus
-can be reconfigured before each posting.
-
-1/29/93 (feature change) Changed %X and %Y in bindings so that they
-refer to the virtual root rather than the true root. Although
-potentially incompatible, this change should almost always "do the
-right thing".
+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 ***
-1/31/93 (bug fix) Changed "send" code to grab server while updating
-the registry property (before this fix, two programs could allocate
-the same interpreter name if they started up simultaneously). In
-order to make this fix I had to change the code for reclaiming
-names of dead interpreters in a way that sometimes allows dead
-interpreters to persist in the registry.
-
-2/1/93 (feature change) Changed entries to allow leftmost "visible"
-character to be the end of the text (i.e. no characters actually visible).
-This is needed so that the cursor can be displayed even if the last
-actual character is too wide to fit in the window.
-
-2/3/93 (bug fix) Fixed two bugs in tkFocus.c: (a) FocusIn events
-were getting lost in some cases because the focus window hadn't been
-created yet (e.g. new top-level window pops up underneath the mouse);
-(b) Tk was accidentally triggering FocusOut events when the mouse
-moved from a top-level window to one of its children.
-
-2/4/93 (new feature) Added "visibility" option to "tkwait" command to make
-it easier to wait for a new window to appear on the screen.
+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.
----------------------- Release 3.1, 2/5/93 -------------------------
-
-2/10/93 (installation improvements) Makefile improvements: added RANLIB
-variable for easier Sys-V installation, changed to use INCLUDE_DIR
-properly, and added SHELL variable for SGI systems.
-
----------------------- Release 3.2, 2/11/93 -------------------------
-
-2/11/93 (new feature) Added "wm state" command, and improved wm so that
-the right thing will happen if you invoke "wm iconify" when a window is
-withdrawn.
-
-2/14/93 (bug fix) When -colormap option was used in generating Postscript
-for canvases, Tk didn't add an extra space after the color command.
-
-2/14/93 (new feature) Changed "extern" declarations in tk.h to "EXTERN",
-which will use the definition of EXTERN from tcl.h and work correctly
-in C++ programs.
-
-2/18/93 (bug fix) Item-specific bindings weren't getting deleted from
-canvas items when the items were deleted. As a result, they could
-suddenly re-appear for new items if the new items were allocated a
-record at the same addresses as the old ones.
-
-2/18/93 (feature reversal) Changed "after" back again, so that it sleeps
-*without* responding to events when it is invoked with just one argument;
-can always use tkwait plus after with additional arguments to achieve
-the effect of responding to events.
+165. 4/3/93 Eliminated "noSep" argument to Tcl_AppendElement, plus
+TCL_NO_SPACE flag for Tcl_SetVar and Tcl_SetVar2.
*** POTENTIAL INCOMPATIBILITY ***
-2/20/93 (bug fix) Fixed bug in tkWindow.c where colormaps weren't being
-set correctly for new top-level windows on different screens than their
-parents (the bug results in X protocol errors: "invalid Colormap
-parameter").
-
-2/22/93 (bug fix) Changed "#!/usr/local/wish" in demo scripts to
-"#!/usr/local/bin/wish" to reflect new location of binary.
-
-2/22/93 (new feature) Added new reliefs "groove" and "ridge".
-
-2/25/93 (new feature) Added new built-in bitmaps: "error", "hourglass",
-"info", "question", "questhead", and "warning". Also added new demo in
-"widget" to display all of these (under the Miscellaneous menu).
-
-2/25/93 (improved implementation) Changed DrawText procedure in
-prolog for outputting Postscript from canvases to use stringwidth
-instead of charpath+pathbbox: avoids limitcheck problems with long
-strings, and also properly includes space characters in calculation.
-
-2/25/93 (bug fix) Fixed several bugs in library/menu.tcl that caused
-menu traversal to mis-behave when menu had no entries.
-
-2/26/93 (new feature) Added "wm frame" command.
+166. 4/3/93 Eliminated "flags" and "termPtr" arguments to Tcl_Eval.
+*** POTENTIAL INCOMPATIBILITY ***
-3/6/93 (bug fix) Mwm in click-to-focus mode was goofing up grabs so that
-pull-down menus were sometimes unresponsive. Modified tk.tcl to ignore
-the spurious B1-Enter events generated by mwm, plus modified tkGrab.c to
-release simulated button grabs correctly.
+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 ***
-3/8/93 (bug fix) Tk had wrong interpretation of "lbearing" font metric,
-which caused text to be displayed at the wrong horizontal position in
-several places (labels/buttons, listboxes, canvas text, scales). This
-change will cause slight changes in the way certain widgets are
-displayed.
-
-3/12/93 (bug fix) Fixed core dumps that occurred in tkEntry.c because of
-zero values in entryPtr->avgWidth.
+168. 4/5/93 Changed Tcl_UnsetVar and Tcl_UnsetVar2 to return TCL_OK
+or TCL_ERROR instead of 0 or -1.
+*** POTENTIAL INCOMPATIBILITY ***
-3/12/93 (bug fix) Tk_CoordsToWindow was using root coordinates always.
-Changed to use virtual-root coordinates when a virtual-root window
-manager is being used. Before this fix, "winfo containing" didn't
-return the correct window under virtual-root window managers.
-
-3/18/93 (bug fix) Modified tkWm.c so that Tk doesn't fight with window
-manager over position of window; it just takes what the window manager
-gives it.
-
-3/21/93 (new feature) Changed menus to display cascade entries with
-standard Motif arrows at right side.a
+169. 4/5/93 Eliminated Tcl_CmdBuf structure and associated procedures;
+can use Tcl_DStrings instead.
+*** POTENTIAL INCOMPATIBILITY ***
-3/22/93 (bug fix) Fixed bug in tkPack.c that was causing memory to
-get trashed with the integer value 1.
+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 ***
-3/22/93 (bug fix) Canvas text didn't print correctly if it contained
-an open paren (or other special character) immediately followed by
-an octal digit.
-
-3/22/93 (bug fix) Text widgets didn't redisplay properly in cases
-where two or more groups of lines both got taller at the same time
-(e.g. from tag changes), causing two separate bit copies where the
-first bit copy's target area overlapped the source area for
-the second bit copy.
-
-4/1/93 (bug fix) Changed canvases to use ISO Latin-1 font encoding
-if that's supported by the Postscript interpreter. Also added workaround
-for bug in NeWSprint related to stipple fills.
-
-4/1/93 (bug fixes) Made various changes to focusing and grabs to
-eliminate extraneous focus events and generally improve behavior.
-
-4/2/93 (bug fix) Modified tkWm.c not to wait indefinitely for the window
-manager to map or reconfigure a window: this led to deadlock in some
-situations, such as creating a new top-level window with a grab held.
-
-4/19/93 (bug fix) Fixed another bug in tkWm.c that caused windows to walk
-across the screen in some situations. Also fixed problem where rapid
-posting and unposting of cascaded submenus (or menus?) could cause Tk
-to become confused about whether or not a window is mapped (added
-TkWmUnmapWindow procedure to make top-level unmaps synchronous).
-
-4/24/93 (feature change) Changed the "after" command to allow times
-less than or equal to 0, and to use 0 whenever they occur.
-
-4/26/93 (new feature) Implemented security check for "send" as proposed
-by Bennett Todd: incoming sends are now rejected unless (a) xhost-style
-access control is enabled and (b) the list of authorized hosts is
-empty. In other words, you have to use xauth to use send. This feature
-can be disabled by setting the TK_NO_SECURITY flag at compile-time.
-
-5/15/93 (improvement) Switched to use Tcl_PrintDouble whenever returning
-real values as Tcl results. This potentially allows higher precision.
-Switched to use %.15g whenever printing reals in Postscript files.
-However, the change Tcl_PrintDouble causes incompatibilities. For
-now, it's disabled with a macro in tclInt.h that redefines Tcl_PrintDouble.
-Tk 4.0 will delete the macro, and you can also delete it now if you
-want the better (but incompatible) behavior.
-
-5/19/93 (bug fix) Fixed divide-by-zero problem that could occur in
-closeness calculations for canvas oval items.
-
-5/30/93 (bug fix) PROP and CONFIG were accidentally #defined to the same
-value in tkBind.c, which could cause incorrect %-substitutions in event
-bindings in a few exotic cases.
-
-6/4/93 (improvement) Changed to use GNU autoconfig for configuration.
-Makefile format changed, and Tcl is no longer automatically included
-in Tk releases.
-
-6/7/93 (bug fix) Fixed off-by-one error in rounding negative coordinates
-during redisplay of canvases.
-
-6/9/93 (feature improvement) Modified default bindings for entries to
-keep one character visible to the left of the cursor during backspaces.
-
-6/18/93 (feature improvement) Added patchlevel.h, for use in coordinating
-future patch releases, and also added tk_patchLevel variable to make the
-patch level available in scripts.
+171. 4/14/93 Eliminated tclHash.h, and moved everything from it to
+tcl.h
+*** POTENTIAL INCOMPATIBILITY ***
-6/26/93 (bug fix) Fixed numeric problems in scales that occurred with
-very large scale values.
+172. 4/15/93 Eliminated Tcl_InitHistory, made "history" command always
+be part of interpreter.
+*** POTENTIAL INCOMPATIBILITY ***
-6/26/93 (bug fix) Polygon items in canvases could cause core dumps if
-the "coords" widget command was used to add one new coordinate.
+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 ***
-6/26/93 (bug fix) Changed canvases to handle large stipple patterns
-gracefully (stipples used to jump around during redisplay and lose
-coherency).
+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.
-7/1/93 (syntax change, new feature) Implemented the new packer syntax
-as described in the book. For now the old syntax will continue to be
-supported too. Converting over is straightforward except (a) use
-"-anchor" instead of "frame", and (b) padding is different (separate
-internal and external padding, plus pad amounts are *on each side*
-instead of total). Also added "pack propagate" command for keeping
-the packer from setting the master's requested size.
+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.
-7/1/93 Changed copyright notices. The effect is the same as with the
-old notices, but the new notices more clearly disclaim liability.
+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).
-7/7/93 (new feature) Added support for window stacking order. Windows
-will now stack in the order created (most recent on top), plus "raise"
-and "lower" commands may be used to restack (Tk_RestackWindow procedure
-is available from C level).
+200. 7/7/93 Added Tcl_SetRecursionLimit procedure so that the maximum
+allowable nesting depth can be controlled for an interpreter from C.
-7/7/93 (reorganization) Moved main.c to tkMain.c, reorganized it to
-call Tcl_AppInit just like tclsh does, and added argv0 variable to contain
-application name, and added default Tcl_AppInit procedure for wish.
-Also added tkTest.c to hold C code for testing.
+----------------- Released version 7.0 Beta 1, 7/9/93 ------------------
-7/7/93 (new feature) Added new Tk-specific "exit" command, which cleans
-up properly before exiting. It replaces the Tcl "exit" command, and
-can be used in place of "destroy .".
+201. 7/12/93 Modified Tcl_GetInt and tclExpr.c so that full-precision
+unsigned integers can be specified without overflow errors.
-7/9/93 (new features) Added tk_dialog library procedure that creates
-dialogs with a bitmap, message, and any number of buttons. Also changed
-default tkerror procedure to use tk_dialog plus offer the user a chance
-to see a Tcl stack trace.
+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.
--------------------- Release 3.3 Beta 1, 7/9/93 -------------------------
+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.
-7/12/93 (configuration changes) Eliminated leading blank line in
-configure script; provided separate targets in Makefile for installing
-binary and non-binary information; fixed -lnsl and -lsocket handling
-in configure; added autoconf support for fd_set type; check for various
-typedefs like mode_t and size_t, and provide substitutes if they
-don't exist; don't include tkAppInit.o in libtk.a; try to locate the
-X includes and library in all of the standard places for various systems.
+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 ***
-7/14/93 (new feature) Modified tkMain.c so that it stores the value
-of the -display command-line option into the DISPLAY environment
-variable, if it is specified.
+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.
-7/15/93 (feature removal) Removed auto-initialization feature from
-Tk_ConfigureWidget, so that you must once again initialize all fields
-of a widget record before calling Tk_ConfigureWidget. This restores
-the behavior back to what it was in Tk 3.2.
+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 ***
-7/16/93 (bug fix) Modified tkBind.c to ignore the Caps Lock modifier
-unless it is explicitly requested in a binding. Without this fix,
-buttons and menus and other things didn't work if the Caps Lock key
-was active.
+----------------- Released version 7.0 Beta 2, 7/21/93 ------------------
--------------------- Release 3.3 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.
-7/21/93 (new feature) Change "make install" so that it will modify the
-#! lines on demo scripts to reflect the place where the wish binary
-is installed.
+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.
-7/23/93 (new feature) Added Tk_MainWindow procedure that returns the
-main window associated with a Tcl interpreter. This is intended for
-use by Tcl_AppInit and other initialization procedures.
+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.
-7/24/93 (configuration improvements) Changed configure script not to
-omplain about "fd_set" missing if it's defined in <sys/select.h>.
+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.
-7/28/93 (bug fix) "Bad Match - parameter mismatch" errors were
-sometimes occurring when several top-level windows got created
-at the same time, due to wrong choice of sibling when stacking
-windows.
+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.
-8/14/93 (new feature) Added support for tcl_prompt1 and tcl_prompt2
-to wish main program: makes prompts user-settable.
+212. 7/29/93 Renamed regexp C functions so they won't clash with POSIX
+regexp functions that use the same name.
-8/19/93 (bug fix) Bindings to event sequences like "aD" never matched
-because the Shift key has to be pressed before D. Modified Tk to
-ignore extraneous keypresses if they are for modifier keys.
+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.
-8/26/93 (configuration changes) Added Tk_Init, modified Tcl_AppInit
-procedures to use it and Tcl_Init. Added support for .wishrc file.
+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.
-8/28/93 (new feature) The main window is now a legitimate toplevel
-widget.
+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 ***
--------------------- Release 3.3 Beta 3, 8/30/93 -------------------------
+216. 8/14/93 Added support for tcl_prompt1 and tcl_prompt2 variables
+to tclMain.c: makes prompts user-settable.
-9/2/93 (bug fix) The packer wasn't always relaying out a master after
-changes to some of the configuration options of its slaves.
+217. 8/14/93 Added asynchronous handlers (Tcl_AsyncCreate etc.) so
+that signals can be taken cleanly by Tcl applications.
-9/2/93 (bug fix) The binding mechanism made it impossible for patterns
-like <Double-ButtonRelease-1> to ever match.
+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.
-9/2/93 (bug fix) Fixed core dump that occurred for bitmap canvas items
-if Postscript is generated but no -bitmap option has been specified.
+219. 8/16/93 Removed ENV_FLAGS from Makefile, so that there's no
+official support for overriding setenv, unsetenv, and putenv.
-9/4/93 (enhancement) Slight improvements to menu traversal: set menu
-traversal bindings for menubar window in tk_menuBar, plus trigger
-traversal on <Any-Alt-Keypress> instead of <Alt-Keypress>.
+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.
-9/9/93 (bug fix) Changed tkBind.c so that the Num_Lock key doesn't
-prevent events from triggering bindings.
+221. 8/21/93 Fixed bug in expr where "+", "-", and " " were all
+getting treated as integers with value 0.
-9/9/93 (bug fix) Changed tkOption.c to always fetch RESOURCE_MANAGER
-property from root window of screen 0, rather than using default
-screen.
+222. 8/26/93 Added "tcl_interactive" variable to tclsh.
-9/9/93 (bug fix) Entry widgets weren't allocating quite enough width
-for themselves. Fixed this and changed the size computation to match
-what's done for buttons and texts.
+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.
-9/16/93 (bug fix) Changed tkMain.c not to call exit C procedure directly;
-instead always invoke "exit" Tcl command so that application can redefine
-the command to do additional cleanup.
+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).
--------------------- Release 3.3, 9/29/93 -------------------------
+----------------- Released version 7.0 Beta 3, 8/28/93 ------------------
-9/30/93 (bug fix) Packer wasn't unmapping slaves when master got deleted.
+225. 9/9/93 Renamed regexp.h to tclRegexp.h to avoid conflicts with system
+include file by same name.
-9/30/93 (bug fix) Binding event sequences such as <Right> were being
-misprinted as ASCII characters such as "S".
+226. 9/9/93 Added Tcl_DontCallWhenDeleted.
-10/6/93 (bug fix) Canvases weren't unmapping window items when the canvas
-got unmapped, which caused problems for window items whose windows weren't
-descendants of the canvas (they got left on the screen).
+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.
-10/7/93 (feature change) NULL proc arguments to Tk_CreateFileHandler used
-to have a special undocumented meaning (fd was display); eliminated this
-special interpretation.
+228. 9/17/93 Changed auto-exec to handle names that contain slashes
+(i.e. don't use PATH for them).
-10/7/93 (configuration change) Eliminated dependency of tkMain.c on
-tkInt.h and tkConfig.h, so that it's easier for people to copy the file
-out of the source directory to make modified versions.
+229. 9/23/93 Fixed bug in "read" and "gets" commands where they didn't
+clear EOF conditions.
-10/8/93 (bug fix) 3.0 introduced a bug where the class of the application
-wasn't being set properly, so options based on the application class
-weren't triggering. Fixed by adding new argument to Tk_CreateMainWindow.
+----------------- Released version 7.0, 9/29/93 ------------------
-10/11/93 (bug fix) Fixed bug in tkTextBTree.c where some deletions would
-cause core dumps due to halfwayLinePtr not getting set correctly.
+230. 10/7/93 "Scan" command wasn't properly aligning things in memory,
+so segmentation faults could arise under some circumstances.
-10/18/93 (bug fix) Fixed a couple of bugs that made it hard to actually
-display N characters in an entry with "-width N" (tended to scroll the
-entry so that only N-1 characters were visible at once).
+231. 10/7/93 Fixed bug in Tcl_ConvertElement where it forgot to
+backslash leading curly brace when creating lists.
-10/22/93 (bug fix) During configuration, XINCLUDE_DIR and XLIBRARY_DIR
-weren't overriding xmkmf like they were supposed to.
+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.
-10/23/93 (new feature) Allow negative scale factors in canvas "scale"
-widget command.
+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.
-10/23/93 (bug fix) Grabs weren't being cleaned up right if the grab
-window was deleted, causing core-dumps in some cases.
+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.
-10/23/93 (bug fix) tk_TextSelectTo wasn't checking to be sure that
-the "anchor" mark exists.
+235. 10/14/93 Fixed bug where "regsub" didn't set the output variable
+if the input string was empty.
-10/27/93 (bug fix) Fixed core dump that could occur in a text widget if
-the scroll command modifies the text.
+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.
-11/1/93 (bug fix) Change texts so that the -yscrollcommand option is
-invoked at display time, not when the window is re-layed out. This
-eliminated various core dumps that could occur if -yscrollcommand modified
-the text.
+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.
--------------------- Release 3.4, 11/04/93 -------------------------
+----------------- Released version 7.1, 11/4/93 ------------------
-Note: there is no 3.5 release. It was flawed and was thus withdrawn
+Note: there is no 7.2 release. It was flawed and was thus withdrawn
shortly after it was released.
-11/12/93 (bug fix) TkMain.c didn't compile on some systems because of
+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".
--------------------- Release 3.6, 11/26/93 -------------------------
-
-11/10/93 (bug fix) Packer and placer didn't always reposition a window
-correctly if it was managed inside a neice or lower descendant (using
-"-in" option) and the neice's parent moved.
-
-11/24/93 (bug fix) Fixed time problem in selection (retrievals could
-fail if retriever hasn't received any X events since selection was
-made, so that time of retrieval appears to be older than time of
-selection). Selection code is now much less picky about times, both
-on retrieving and supplying sides.
+----------------- Released version 7.3, 11/26/93 ------------------
-12/2/93 (new feature) Changed arrow-head drawing code for canvas
-lines to draw a 0-width outline in addition to filling the area:
-this produces much nicer, more symmetrical displays.
+239. 11/6/93 Modified "lindex", "linsert", "lrange", and "lreplace"
+so that "end" can be specified as an index.
-12/2/93 (bug fix) When colors ran out, Tk was invoking "tkerror"
-when its state was internally inconsistent, which could cause
-core dumps in some situations (e.g. if tkerror used the same color
-that caused colors to run out). Changed notification to occur
-as a when-idle handler.
+240. 11/6/93 Modified "append" and "lappend" to allow only two
+words total (i.e., nothing to append) without generating an error.
-12/3/93 (bug fix) During a global grab, Tk wasn't including PointerMotion
-in the list of grabbed events, so pointer motion couldn't be tracked
-outside the grabbing application.
-
-12/3/93 (bug fix) Canvases didn't handle smoothed lines correctly
-when they only contained two points.
-
-12/3/93 (bug fix) Fixed bug in tkWindow.c where certain kinds of
-errors during window creation could cause Destroy events to be generated
-for a window that was never completely initialized.
-
-12/13/93 (bug fix) Fixed bug in tkTextDisp.c that resulted in core
-dumps at line 1467 under exmh. The exact situation is that a text
-widget was being redisplayed at a time when it had a -yscrollcommand
-option but hadn't yet been mapped onto the screen.
-
-12/17/93 (bug fix) Fixed bug in tkWindow.c whereby new top-level windows
-with non-default visuals still inherited border pixmap from parent (root),
-which could cause visual clash and X error.
-
-12/17/93 (bug fix) Fixed bug in tkTextDisp.c that caused round-off
-error in the information passed to scroll commands.
-
-12/18/93 (bug fix) Fixed bug in tkPack.c that caused core dumps in
-some situations if a master with siblings packed "-in" it was deleted.
-
-12/18/93 (bug fix) Added "compat" directory to distribution, since it's
-referenced by tkConfig.h on some systems.
-
-12/18/93 (performance improvement) Improved performance of appending to
-a listbox, so that inserting N items doesn't take N**2 time.
-
-12/20/93 (bug fix) Fixed bug in canvas ovals that caused the fill color
-for the oval to stick out past the outline.
-
-1/2/94 (fixed Xlib bug) Added code to reuse X resource identifiers so
-that they won't run out in long running applications. There are three
-new library procedures: Tk_FreeXId, Tk_GetPixmap, and Tk_FreePixmap.
-Modified all Tk code to use these procedures, so wish applications should
-now be able to run forever without running out of identifiers.
-
-1/10/94 (bug fix) tkCursor wasn't freeing pixmaps used to create
-cursors, which caused memory leaks in programs that changed cursors
-frequently.
-
-1/21/94 (bug fix) Fixed bug in scales that caused them to loop
-infinitely drawing tick-marks when -from and -to were the same.
-
-2/2/94 (bug fix) Fixed problem where messages that contained tabs
-didn't always compute the correct size, so that text spilled off
-the right edge. The fix adds an extra "tabOrigin" parameter to
-the internal procedures TkMeasureChars, TkDisplayChars, and
-TkUnderlineChars.
-
-2/4/94 (bug fix) Fixed off-by-one problem in tkBind.c that caused
-it to read past the initialized part of dispPtr->modKeyCodes.
-
-2/7/94 (bug fix) Text widgets didn't handle grabs correctly, such
-that the "current" character got stuck if a grab occurred while a
-mouse button was down. It would get unstuck until after the
-next button press and release.
-
-2/19/94 (bug fix) Fixed prolog.ps (prolog for Postscript printing from
-canvases) so that it correctly prints all of the characters in the
-ISO Latin-1 character set.
-
-2/19/94 (bug fix) Modified tkBind.c to save and restore the interpreter's
-result across the execution of binding scripts. Otherwise if an event
-triggers in the middle of some other script (e.g. a destroy event during
-window creation, because there was an error in the creation command),
-the intepreter's result gets lost.
-
-2/19/94 (bug fix) Fixed bug in dealing with results of sent command
-that could cause them to get lost in some situations.
-
-2/21/94 (bug fix) Don't let user close a dialog window created by
-tk_dialog, since this would cause tk_dialog to hang: force the user
-to select one of the dialog's buttons.
-
-2/21/94 (bug fix) Fixed bug in canvas polygons whereby they didn't
-correctly handle changes in the number of points (via "coords"
-widget command).
-
-2/23/94 (bug fix) Large bitmaps in canvases didn't print correctly
-because they overflowed the 64-KB limit on strings in Postscript.
-Changed canvas printing to split up large bitmaps into mutliple
-smaller ones for printing.
-
-2/25/94 (bug fix) The "." window was being set up with -width
-and -height options, which interfered with geometry management (any
-configuration change on "." causes the window to change size to
-200x200, then change back again).
-
-2/26/94 (bug fix) Fixed several bugs that occurred when a Destroy
-event handler for a window deleted the window's parent.
-
-3/3/94 (new features) Changes to binding mechanism:
- - The modifiers for "Alt", "Meta", and "M" are now computed by
- examining the modifier map, rather than being hardwired to
- M2, M1, and M1.
- - When processing events, one script is invoked for each object
- in the list passed to Tk_BindEvent, rather than stopping as
- soon as a script is invoked for some object. The "break" and
- "continue" commands can be used within a script to abort all
- scripts for the event or the current one.
- *** POTENTIAL INCOMPATIBILITY ***
- - Added "bindtags" command so that new binding groups can be
- defined for widgets and the evaluation order can be changed.
- - When matching events to bindings, extra modifiers are now ignored,
- as if "Any" were specified for every event. The "Any" modifier
- is still recognized, but it is ignored and is deprecated.
- *** POTENTIAL INCOMPATIBILITY ***
- - In % sequences that print window identifiers (e.g. %a and %S), print
- in hexadecimal rather than decimal, for consistence with "winfo id".
- *** POTENTIAL INCOMPATIBILITY ***
- - The "bind" command no longer supports the event types CirculateRequest,
- ConfigureRequest, MapRequest, or ResizeRequest. These event types
- are somewhat dangerous, and they never worked anyway.
-
-3/13/94 (bug fix) Fixed numerous problems with the "wm iconwindow" command.
-It appears that this command never really worked at all, but it should
-work OK now.
-
-3/14/94 (feature changes) Removed several obsolete features:
- - Eliminated "enable" and "disable" widget commands for menus.
- *** POTENTIAL INCOMPATIBILITY ***
- - Eliminated "activate" and "deactivate" widget commands for buttons,
- checkbuttons, radiobuttons, and menubuttons.
- *** POTENTIAL INCOMPATIBILITY ***
- - Removed -geometry option for frames and toplevels: it causes
- problems when .Xdefaults files contain entries like
- "*geometry: +0+0". Must use -width and -height instead.
- *** POTENTIAL INCOMPATIBILITY ***
- - Desupported "tkVersion" variable: use "tk_version" instead.
- *** POTENTIAL INCOMPATIBILITY ***
-
-3/16/94 (feature changes) Changes to listboxes:
- - Eliminated -geometry option (it causes problems when .Xdefaults
- files contain entries like "*geometry: +0+0"). Added -width
- and -height options to use instead.
- *** POTENTIAL INCOMPATIBILITY ***
-
-3/21/94 (bug fix) Fixed bug in tkOption.c where the option cache wasn't
-properly cleaned up after window deletion; this could cause the wrong
-value from the option database to be used under some conditions.
-
-3/25/94 (new features) Changes to geometry management:
- - Added Tk_MaintainGeometry and Tk_UnmaintainGeometry procedures
- to solve problems with -in windows. Modified the packer, the
- placer, and canvases to use them.
- - Changed 2nd argument to Tk_ManageGeometry from Tk_GeometryProc *
- to a pointer to a structure with additional information about
- the geometry manager, such as name and procedure to call when
- slaves are stolen.
- *** POTENTIAL INCOMPATIBILITY ***
-
-3/28/94 (new feature) Overhauled event management:
- - Added "cancel" option to the "after" command so that you can
- cancel previously-scheduled commands.
- - Separated X-specific stuff from generic event management. The
- file tkEvent.c can now be used stand-alone without the rest of Tk.
- See the manual entry for Tk_EventInit for information on which
- procedures are available this way.
- - Added Tk_CreateFileHandler2 procedure, which provides a lower-level
- and more powerful form of file event handler.
- - Fixed bug in Tk_DoOneEvent where an infinite loop could occur if
- the TK_FILE_EVENT and TK_DONT_WAIT flags were set simultaneously
- (there were bugs with several other combinations too; all should
- be fixed now).
-
-3/28/94 (new feature) Added "fileevent" command, which allows event-
-driven I/O in the style of Mark Diekhans' "addinput" command.
-
-4/11/94 (new feature) Better support for colormaps and visuals:
- - Added new -colormap and -visual options to toplevels and frames.
- - Added "winfo visualsavailable" command.
- - Added "wm colormapwindows" command, plus support for WM_COLORMAP_WINDOWS
- to Tk_SetWindowColormap.
- - Added new library procedures Tk_GetVisual, Tk_GetColormap,
- and Tk_FreeColormap.
-
-4/11/94 (bug fix) Fixed core dump that used to occur when specifying
-an iconwindow ("wm iconwindow") for a toplevel on a different screen
-than the main window.
-
-4/23/94 (new feature) Added support for images, including the following:
- - New "image" command for creating images.
- - Built-in image type: bitmap.
- - New "image" item type in canvases.
- - Labels, buttons, checkbuttons, radiobuttons, menubuttons, and
- menu entries now support a -image option for displaying images.
- - Tk_CreateImageType and Tk_ImageChanged procedures, for defining
- new types of images in C.
- - Tk_GetImage, Tk_FreeImage, Tk_RedrawImage, and Tk_SizeOfImage
- procedures, for using images in widgets.
-
-5/1/94 (new features) Added new procedures Tk_3DVerticalBevel and
-Tk_3DHorizontalBevel.
-
-5/11/94 (new features) Major overhaul of text widgets:
- - Implemented embedded windows and "window" widget command.
- - Added new configuration options for tags: -justify, -lmargin1,
- -lmargin2, -rmargin, -offset, -spacing1, -spacing2, and -spacing3.
- See the "Display styles" widget demo for examples.
- - Added new configuration options for texts: -spacing1, -spacing2,
- and -spacing3.
- - Added "tagList" option to "insert" widget command to control
- tags on new text. Made tagged regions so they aren't sticky on
- either side: new characters get a tag only if the old chars. on
- both sides had it.
- *** POTENTIAL INCOMPATIBILITY ***
- - Added gravity for marks, and "mark gravity" widget command.
- - Added horizontal scrolling, "xview" widget command, -xscrollcommand
- option. Changed "scan" widget commands to support horizontal
- scrolling.
- *** POTENTIAL INCOMPATIBILITY ***
- - Added "search" widget command for searching (either exact matches
- or regular expressions).
- - New widget commands: bbox, dlineinfo, and see.
- - Changed implementation of bindings so that Enter and Leave
- events are not generated unless the tag has just become present
- (or just ceased to be present) on the current character. Also
- changed bindings to process separately for each tag, rather than
- having high-priority tags override low-priority ones.
- - The "end" index now refers to the character after the last newline
- rather than the newline itself. You can now tag the final newline
- and set a mark after the final newline.
- - Deletions of the "sel" tag and the "insert" and "current" marks
- are now ignored silently, rather than generating errors. This means
- you can do things like "eval .t tag delete [.t tag names]".
-
-5/19/94 (bug fix) Canvases didn't generate proper Postscript for stippled
-text.
-
-5/20/94 (new feature) Added "bell" command to ring the display's bell.
-
-5/20/94 (new feature) Incorporated "square" demonstration widget into
-tktest application.
-
-5/20/94 (new features) Changed wish application (tkMain.c):
- - wish no longer processes the -help option.
- *** POTENTIAL INCOMPATIBILITY ***
- - The wish main program is now called Tk_Main; tkAppInit.c has a
- "main" procedure that calls Tk_Main. This makes it easier to use
- Tk with C++ programs, which need their own main programs, and it
- also allows an application to prefilter the argument list before
- calling Tk_Main.
- *** POTENTIAL INCOMPATIBILITY ***
- - The application's class is now the same as its name (except the
- first letter is capitalized), instead of "Tk".
- *** POTENTIAL INCOMPATIBILITY ***
- - The -file keyword is no longer required: the script file name can
- be provided as the first argument without being preceded by "-file",
- as in tclsh. For backward compatibility the "-file" keyword is
- ignored if it is the first argument, but it is deprecated.
-
-5/26/94 (feature removed) Removed support for "fill" justify mode from
-Tk_GetJustify and from the TK_CONFIG_JUSTIFY configuration option. None
-of the built-in widgets ever supported this mode anyway.
-*** POTENTIAL INCOMPATIBILITY ***
+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.
-5/27/94 (feature change) Changed Tk to use Tk_PrintDouble everywhere
-that it converts reals to strings. This means that floating-point
-values will be generated in some cases where integer-like values were
-generated before.
-*** POTENTIAL INCOMPATIBILITY ***
+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).
-6/1/94 (feature change) Renamed "pack newinfo" command to "pack info".
-The old "pack info" command is no longer available.
-*** POTENTIAL INCOMPATIBILITY ***
+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).
-6/20/94 (feature changes) Overhaul of entry widgets:
- - Added "-justify" option.
- - Added "-show" option to make entries easier to use for passwords.
- - Added "cget" widget command.
- - Added "selection range" and "selection present" widget commands.
- - Added "anchor" symbolic index.
- - Changed "-scrollcommand" option to "-xscrollcommand", "view"
- widget command to "xview", for compatibility with other widgets.
- *** POTENTIAL INCOMPATIBILITY ***
- - Changed sel.last to refer to character just *after* last one
- selected, again for compatibility with other widgets.
- *** POTENTIAL INCOMPATIBILITY ***
- - For "delete" widget command, second index now refers to character
- just *after* last one to delete.
- *** POTENTIAL INCOMPATIBILITY ***
- - Overhauled bindings to be more Motif-compatible and to include
- common Emacs bindings for editing.
- - Changed -width option: if specified as 0, widget sizes to fit
- its current text.
-
-6/11/94 (new features) Improved Motif compatibility:
- - Added "-highlightwidth" and "-highlightcolor" options to all widgets.
-
-6/27/94 (bug fix) Postscript generation for text items in canvases was
-not justifying the text properly when a -width was specified that was
-longer than the longest line.
-
-6/27/94 (bug fix) "winfo exists" used to report a window as existing
-if it was in the process of being destroyed (i.e., a destroy handler
-is in the middle of execution). Changed to report it as non-existent
-under these conditions.
-*** POTENTIAL INCOMPATIBILITY ***
+244. 2/4/94 Added support for unary plus.
-7/11/94 (bug fix) Selections claimed via "selection own" weren't always
-being cleared properly when the selection was claimed away. Also fixed
-bug where Tk wasn't properly claiming the selection, if there haven't
-been any recent X events at the time of the claim.
-
-7/13/94 (feature changes) Overhaul of scrollbar widgets:
- - New widget commands: "activate", "cget", "fraction", and "identify".
- - New options: -activebackground, -activerelief, -highlightcolor,
- -jump, -highlightthickness, and -troughcolor. What used to be
- -background is now -troughcolor, -foreground is now -background,
- and -activeforeground is now -activebackground.
- *** POTENTIAL INCOMPATIBILITY ***
- - Added new syntax for "set" command, "get" result, and generated
- commands. Changed other widgets to use the new syntax.
- - Moved the bindings out of C and into Tcl scripts, using the new
- options and widget commands. Added support for all Motif
- bindings, plus jump scrolling and cancelling of slider drags.
-
-7/16/94 (bug fix) Canvases assumed that the Leave event for one item
-didn't modify or delete the next current item; this could cause core
-dumps under some conditions.
-
-7/23/94 (feature change) Modified Tk_BackgroundError so that tkerror
-is invoked as an idle handler. If tkerror generates a break exception
-then all other queued reports are aborted.
-
-8/14/94 (bug fix) "cursorOffTime" and "cursorOnTime" were confused in
-canvases, resulting in the same time being used for both.
-
-8/16/94 (bug fix) "tkwait variable" command didn't detect errors in
-variable name, such as trying to wait for an entire array.
-
-9/2/94 (new features) Overhaul of scale widgets:
- - Floating-point values are supported now, following Paul Mackerras'
- "fscale" widget. Added "-resolution" and "-digits" options.
- - Added "-variable" option to link scale to variable, following
- Henning Schulzrinne's implementation.
- - Added focus highlight (-highlightthickness and -highlightcolor
- options).
- - Added new widget commands "cget", "coords", "identify", plus
- improved "get"; removed wired-in bindings, added complete set
- of Motif bindings via Tcl scripts.
- - Changed -sliderforeground option to -background, -background to
- -troughColor, -activeforeground to -activebackground.
- *** POTENTIAL INCOMPATIBILITY ***
- - Moved value label from below horizontal scales to above the scale,
- for Motif compliance.
-
-9/9/94 (bug fix) Fixed bug in tkWm.c that caused long delays in "raise"
-command under some conditions (window already at the top of the stack).
-
-9/10/94 (new features) Overhaul of label/button/checkbutton/radiobutton
-widgets:
- - Added focus highlight (-highlightthickness and -highlightcolor
- options).
- - Added new widget command "cget".
- - Changed -selector option to -selectcolor, and changed its meaning
- too: empty no longer means don't draw the indicator; it means
- don't use a special color when selected.
- *** POTENTIAL INCOMPATIBILITY ***
- - Added -indicatoron (controls whether indicator is displayed) and
- -selectimage (gives special image to display when selected) options.
- - Modified bindings to be more Motif-like, added binding for space
- key.
- - Changed padding defaults to give widgets correct Motif appearance
- by default. Also, changed to ignore padding options when displaying
- an image or bitmap.
- *** POTENTIAL INCOMPATIBILITY ***
- - Can now display text on multiple lines: newlines cause line breaks,
- and word wrapping can be requested with -wraplength option. Also
- added -justify and -underline options.
- - The -value option for radiobuttons can now have an empty string as
- its value; it no longer defaults to the name of the widget.
- *** POTENTIAL INCOMPATIBILITY ***
-
-9/13/94 (new features) Modified both canvases and messages to support
--highlightthickness and -highlightcolor options plus "cget" widget
-command.
+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.
-9/19/94 (new features) Added Tk_UnsetGrid procedure, modified widgets
-to use it. Also changed Tk_SetGrid so that at most one window per
-toplevel can have gridding enabled.
-
-9/23/94 (new features) Major overhaul of listbox widgets:
- - Added focus highlight (-highlightthickness and -highlightcolor
- options).
- - Added new widget command "cget".
- - Revised selection commands to support single selections as well
- as multiple disjoint selections; syntax of "selection" widget
- command has changed to support this. Added new option -selectmode
- for specifying which mode to use. Default is single selection;
- tk_listboxSingleSelect procedure no longer exists. Selections
- now return as items separated by newlines instead of a list whose
- elements are the items.
- *** POTENTIAL INCOMPATIBILITY ***
- - Extended "get" widget command to allow many items to be retrieved
- at once.
- - Added "bbox" widget command for finding position of an element on
- screen.
- - Added "activate" command to mark element with traversal focus.
- - Extended index mechanism to support new types of indices:
- "active", "anchor", "@x,y".
- - Added "see" widget command.
- - Revised bindings to include all Motif features except for AddMode.
- - If -width or -height option is <= 0, the widget requests a size just
- large enough to hold all of its text.
-
-10/6/94 (new features) Overhaul of menubuttons:
- - Added focus highlight (-highlightthickness and -highlightcolor
- options).
- - Added new widget command "cget".
- - Added -indicatoron option to display option menu indicator.
- - The -menu option must be a child of the menubutton.
- *** POTENTIAL INCOMPATIBILITY ***
-
-10/6/94 (new features) Overhaul of menu widgets:
- - Added new widget commands "cget" and "entrycget".
- - Changed the implementation of tear-off menus to be more
- Motif-like; added -tearoff option for specifying whether
- tearoff entry is displayed.
- - Changed interpretation of "@y" index: it now returns the
- closest entry, rather than "none" if y is outside the menu's
- range.
- *** POTENTIAL INCOMPATIBILITY ***
- - The -menu option for a cascade entry must now be a child of
- the menu.
- *** POTENTIAL INCOMPATIBILITY ***
- - Added "type" widget command, so that you can query the type of
- an entry.
- - Added -foreground, -activeforeground, -selectcolor, -indicatoron,
- -image, and -selectimage options to menu entries.
- - Changed "selector" menu option to "selectColor" for Motif compliance.
- *** POTENTIAL INCOMPATIBILITY ***
- - Added -relief option for menus, just for consistency with other
- widgets (it was implicitly "raised" before).
-
-10/6/94 (feature change) Completely overhauled the bindings for menus
-and menubuttons. They now fit better with other Tk 4.0 facilities,
-such as the new binding mechanism, and they provide better Motif
-compliance (e.g. keyboard traversal of submenus). Also, the bindings
-now support option menus, popup menus, and proper Motif tear-off
-menus.
-
-10/6/94 (obsolete features) The procedures tk_menuBar and
-tk_bindForTraversal are no longer needed in Tk 4.0. They still exist
-for compability, but they do nothing.
-
-10/6/94 (new procedures) Added "tk_popup" procedure for posting a
-popup menu, and "tk_optionMenu" for creating an option menubutton
-and its associated menu.
-
-10/6/94 (change in name) The variable "tk_priv" has been renamed
-to "tkPriv" to reflect that fact that it is private to Tk now.
-This shouldn't cause any problems, since no-one except Tk should
-have been using it before anyway (right?).
-
-10/6/94 (bug fix) Fixed bug in texts where sometimes the text would
-stop tracking mouse motion (the "current" item wouldn't get updated)
-because the text widget missed a ButtonRelease event.
-
-10/20/94 (new features) Overhauled selection code to support multiple
-selections (primary, secondary, etc.) and multiple displays:
- - Changed "selection" command to support new options such as
- "-displayof" and "-selection". Old command formats are still
- supported for compatibility, but they are no longer documented
- and are deprecated.
- - Changed procedures Tk_GetSelection, Tk_CreateSelHandler, and
- Tk_ClearSelection to take additional "selection" argument.
- *** POTENTIAL INCOMPATIBILITY ***
- - Selection targets APPLICATION and WINDOW_NAME have been replaced
- by TK_APPLICATION and TK_WINDOW.
- *** POTENTIAL INCOMPATIBILITY ***
-
-10/20/94 (new features) Added support for clipboard:
- - New "clipboard" command.
- - C procedures Tk_ClipboardClear and Tk_ClipboardAppend.
- - Bindings for "cut", "paste", and "copy" for text and entry widgets,
- plus "copy" binding for listboxes.
-
-10/24/94 (bug fix) Button widgets weren't checking for errors when
-setting the values of associated variables.
-
-11/3/94 (bug fix) Fixed bug whereby Tk would hang if "exit" was invoked
-from inside a <Destroy> binding.
-
-11/15/94 (new features) Overhaul of focus mechanism:
- - Added support for multiple displays: separate focus windows are
- kept for each display.
- - Added support for keyboard traversal.
- - Changed focus model so Tk keeps track of a focus window for each
- top-level window and automatically sets the focus on Enter to the
- top-level. Tk no longer synthesizes FocusIn and FocusOut events,
- but just uses the standard X mechanisms. There is no "default"
- focus window anymore; the focus reverts to top-levels by default.
- *** POTENTIAL INCOMPATIBILITY ***
- - Changed focus command: eliminated "focus default" and "focus none",
- added "-displayof" and "-lastfor" options. An empty string is now
- used to signify "no focus" instead of "none".
- *** POTENTIAL INCOMPATIBILITY ***
- - Added library procedures tk_focusNext, tk_focusPrev, and
- tk_focusFollowsMouse.
- - Removed obsolete Tk_CreateFocusHandler: must use FocusIn and
- FocusOut events now.
- *** POTENTIAL INCOMPATIBILITY ***
-
-11/23/94 (new features) Overhaul of "send" command:
- - Added support for multiple displays: -displayof option to "send".
- - Added asynchronous sends: -async option to "send".
- - Eliminated fixed timeouts on sends: as long as the target
- application appears to exist, the send will wait for it.
- - Stale entries get removed from the application registry now,
- so "winfo interps" should never return non-existent applications.
- - Can change the name of an application with "tk appname" command.
- This is also the preferred way of querying the application name
- now.
- - The errorCode and errorInfo variables are now propagated back to
- the sender now, so a full stack trace is available.
- - Tk checks display security on each send now, instead of just during
- initialization, so changes in the security status are seen immediately
- by all applications.
- - The above changes required changes to the data formats used for
- communication between source and target applications, so Tk 4.0
- applications cannot send to, or be sent from, Tk 3.6 applications.
- *** POTENTIAL INCOMPATIBILITY ***
- - The procedure Tk_RegisterInterp has been replaced with Tk_SetAppName.
- *** POTENTIAL INCOMPATIBILITY ***
-
-12/6/94 (cleanup) Eliminated "interp" argument to Tk_GetColorByValue,
-since it is no longer needed.
-*** POTENTIAL INCOMPATIBILITY ***
+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.
-12/7/94 (feature change) Changed the "wm" command so that top-level
-windows are now resizable by default. You can no longer specify
-empty arguments to "wm maxsize" and "wm minsize".
-*** POTENTIAL INCOMPATIBILITY ***
+247. 2/19/94 Added new procedure Tcl_DStringGetResult to move result
+from interpreter to a dynamic string.
-12/8/94 (new feature) Added new "photo" image type using code provided
-by Paul Mackerras: currently supports only PPM "P6" format images.
+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.
-12/14/94 (new features) Canvas modifications:
- - Modified the interfaces between generic canvas code and the item
- types so that it's easy for people to write new item types outside
- of Tk.
- - Added support for transparent bitmap items: just specify an
- empty string as the background color.
- - Changed the "xview" and "yview" commands for canvases to use the
- new scrolling syntax.
- - Eliminated -scrollincrement option.
- *** POTENTIAL INCOMPATIBILITY ***
+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".
-12/14/94 (bug fix) Fixed bug where the dimensions of canvas arrowheads
-scaled during a "scale" widget command, but the scaling was only
-temporary and got lost on the next re-configure of the item. The
-correct behavior is for the arrowheads not to scale.
+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.
--------------------- Release 4.0b1, 12/23/94 -------------------------
+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.
-12/26/94 (bug fix) Removed obsolete demos from Makefile (color, dialog,
-size), fixed "install" target.
+252. 3/3/94 Added Tcl_AllowExceptions procedure.
-1/3/95 (bug fix) Fixed all procedure calls to explicitly cast arguments:
-implicit conversions from prototypes don't work when compiling under
-non-ANSI compilers. Tk is now clean under gcc -Wconversion.
+253. 3/13/94 Fixed bug in Tcl_FormatCmd that could cause "format"
+to mis-behave on 64-bit Big-Endian machines.
-1/4/95 (bug fix) Used "screenX" without ever setting it in DisplayText
-in tkCanvText.c: caused tabs in canvas text items to get messed up.
+254. 3/13/94 Changed to use vfork instead of fork on systems where
+vfork exists.
-1/4/95 (bug fix) Canvases forgot to register the built-in types if
-Tk_CreateItemType was called before a canvas widget was created.
+255. 3/23/94 Fixed bug in expressions where ?: didn't associate
+right-to-left as they should.
-1/4/95 (bug fixes) Fixed glitches in various text bindings:
- - Up used to do nothing if the cursor was at 2.0.
- - Right used to make the cursor invisible if it was just before
- the final newline of the text.
- - Control-t didn't conform to Emacs; made it conform to GNU Emacs.
- - Deleted Control-x binding, since it doesn't conform to anything and
- is confusing for Emacs users.
+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.
-1/4/95 (bug fixes) Changed Control-t for entries just as for texts (see
-above) an deleted Control-x for entries (see above).
+257. 4/3/94 Added "subst" command.
-1/4/95 (bug fix) The packer didn't map slaves unless the master was mapped;
-this could cause slaves to get "lost" so that they weren't mapped until the
-master resized.
-
-1/5/95 (bug fix) Scrollbars weren't executing the proper code the first time
-the mouse entered the widget; this caused problems if tk_strictMotif was
-set.
-
-1/6/95 (bug fix) Fixed label/button/checkbutton/radiobutton/menubutton
-widgets to allow arbitrary screen distances when specifying -width and
--height for an image or bitmap (the manual pages already documented this
-but the code didn't implement it).
-
-1/6/95 (new feature) Added very primitive support for input methods,
-as suggested by Martin Forssen. This should be enough for European
-character sets (Compose key) but it isn't near enough for Asian
-character sets.
+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 ***
-1/8/95 (bug fix) Fixed problem in canvas "xview" and "yview" commands
-where divide-by-zero errors could sometimes occur.
+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.
-1/8/95 (bug fix) New event handler didn't properly handle files for
-which both TK_READABLE and TK_WRITABLE were specified.
+260. 6/13/94 Added "wordstart" and "wordend" options to "string" command.
-1/11/95 (bug fix) Fixed bug with text selections: was returning count
-too high for data, causing bogus garbage to appear when selection was
-copied.
+261. 6/27/94 Fixed bug in expressions where they didn't properly cancel
+the evaluation of math functions in &&, ||, and ?:.
--------------------- Release 4.0b2, 1/12/95 -------------------------
+262. 7/11/94 Incorrect boolean values, like "ogle", weren't being
+handled properly.
-1/27/95 (feature removal) Removed %D substitution from binding scripts:
-wasn't portable, shouldn't be used anyway.
-*** POTENTIAL INCOMPATIBILITY ***
+263. 7/15/94 Added Tcl_RegExpCompile, Tcl_RegExpExec, and Tcl_RegExpRange,
+which provide lower-level access to regular expression pattern matching.
-1/27/95 (new features) Added -displayof options to the commands
-"winfo atom", "winfo atomname", "winfo containing", "winfo interps",
-and "winfo pathname".
+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.
-1/27/95 (new feature) Added "idle" option to "after" command to run
-scripts as idle handlers.
+265. 8/4/94 Fixed bug with linked variables where they didn't behave
+correctly when accessed via upvars.
-1/28/95 (new feature) Modified placer to make -x and -relx additive
-if you specify both. Same for -y and -rely, -width and -relwidth,
-and -height and -relheight. This makes it easy to make request such
-as "make .a 2 pixels larger than .b".
-*** POTENTIAL INCOMPATIBILITY ***
+266. 8/17/94 Fixed bug in Tcl_EvalFile where it didn't clear interp->result.
-1/28/95 (new feature) Improved auto-grab mechanism in canvases (which
-prevents current item from changing while a button is down): changed
-to report Enter and Leave events for the current item while a button
-is down. However, as before, no Enter events are reported for other
-items until the button goes up.
+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.
-1/28/95 (new feature) Bitmap images are now transparent if the -background
-is specified as an empty string (-maskdata and -maskfile are ignored in
-this case). This is also the default.
+268. 9/9/94 Modified "expr" command to generate errors for integer
+overflow (includes addition, subtraction, negation, multiplication,
+division).
-1/28/95 (bug fix) Tk didn't support manufacturer- or site-specific keysyms
-such as SunAudioMute. Modified tkBind.c so that it uses XStringToKeysym
-in addition to its own hash table, so that all keysyms are now available.
+269. 9/23/94 Modified "regsub" to return a count of the number of
+matches and replacements, rather than 0/1.
-1/30/95 (feature change) Modified "clipboard append" so that it reclaims
-the clipboard selection if it had been previously lost, rather than just
-generating an error. This handles certain race conditions more cleanly,
-and also allows the use of programs like "xclipboard".
+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.
-1/30/95 (new feature) Added -xscrollincrement and -yscrollincrement
-options to canvases.
+280. 10/6/94 Modified Tcl_SetVar2 so that read traces on variables get
+called during append operations.
-1/31/95 (bug fix) Geometry management was broken if a particular geometry
-manager claimed a slave away from itself.
+281. 10/20/94 Fixed bug in "read" command where reading from stdin
+required two control-D's to stop the reading.
-1/31/95 (bug fix) Fixed bug in tkVisual.c where a visual with fewer bits
-than requested was being selected in preference to one with just the right
-number of bits.
+282. 11/3/94 Changed "expr" command to use longs for division just like
+all other expr operators; it previously used ints for division.
-1/31/95 (bug fix) Texts weren't redisplaying the padding region properly
-after changes in -padx or -pady.
+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.
-1/31/95 (new features) More text improvements:
- - Extended "insert" widget command for texts to allow multiple
- text-tagList pairs in the same command.
- - Added -nocase option to "search" widget command.
- - Added -overstrike option to tags.
- - Added tab stops, via -tabs option for widget and for tags.
+----------------- Released version 7.4b1, 12/23/94 ------------------
-2/10/95 (bug fix) Modified all widgets to allow renaming of widget
-commands. Deleting a widget command will delete the widget.
+284. 12/26/94 Fixed "install" target in Makefile (couldn't always
+find install program).
-2/11/95 (new feature) Added -highlightbackground option to all widgets.
+285. 12/26/94 Added strcncasecmp procedure to compat directory.
-2/14/95 (new feature) Added "insert" widget command for menus.
+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.
-2/15/95 (new feature) Modified text display code (for all widgets) to
-display well-known control characters like newline and backspace as
-\n or \b instead of \xa.
+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.
-2/15/95 (bug fix) Modified bitmap and photo image managers to delete
-the image command when the image is deleted. Also modified them to
-allow renaming of the image command, and to delete the image if the
-image command is deleted.
+----------------- Released version 7.4b2, 1/12/95 ------------------
-2/15/95 (bug fix) Fixed text widgets to allow horizontal scrolling
-even if wrapping was enabled, if a line isn't entirely visible due to
-a large character or embedded window.
+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.
-2/16/95 (feature change) Added "postcascade" widget command to menus,
-changed "invoke" and "activate" not to post or unpost submenus. Also
-fixed bug in redisplay that tended to leave bits of garbage on menu
-when submenu unposted.
+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 ***
-2/16/95 (feature removal) Removed "snap back" behavior (slider
-snaps back to old position if you move the mouse outside the widet
-before releasing the button) from scrollbars and scales.
+290. 2/14/95 Added code to Tcl_GetInt and Tcl_GetDouble to check for
+overflows when reading in numbers.
-2/16/95 (bug fix) The last line of a listbox wasn't being displayed if
-it was only partially visible.
-
-2/16/95 (new features) Added support for "-resolution 0" (no rounding
-of values) to scale widgets, plus smarter computation of how many digits
-to display.
-
-2/17/95 (bug fix) Fixed bug in text bindings for things like Shift-Left:
-didn't properly set the anchor position.
-
-2/20/95 (bug fix) Changed management of COLORMAP_WINDOWS property to
-add the toplevel implicitly to the end of the list if it wasn't already
-on the list somewhere. Without this, some window managers implicitly
-put it at the front of the list, so that colormaps in internal windows
-are never used.
-
-2/20/95 (bug fix) Changed to use separate command procedures for
-button, checkbutton, label, and radiobutton commands. This allows the
-class commands to be renamed without breaking their behavior.
-
-2/20/95 (removed feature) The "bind" command no longer supports
-"Keymap" events; they never worked anyway.
-
-2/20/95 (bug fix) The text "search" widget command looped infinitely
-when searching an empty text.
-
-2/20/95 (bug fix) Canvases weren't redrawing their borders after
-configuration changes.
-
-2/20/95 (upgrade) Changed to use autoconf version 2.2.
-
-2/21/95 (bug fix) Fixed several bug fixes in menu bindings that occur
-when menus have no entries.
-
-2/21/95 (bug fix) Fixed bug in geometry management that caused windows
-packed -in siblings to not always be mapped and unmapped properly
-(particularly when the toplevel got unmapped and mapped).
-
-2/22/95 (bug fix) Fixed resource leak problem in tkTextDisp.c that
-caused embedded windows not to be unmapped when off-screen.
-
-2/23/95 (bug fix) "After cancel" dumped core when the script for an
-after event cancelled itself.
-
-2/24/95 (bug fix) Text and entry widgets weren't properly ignoring
-Alt-, Control-, and Meta- keystrokes, so a widget-specific binding
-for one of these resulted in the character also being inserted.
-
-2/24/95 (bug fix) Several widgets accidentally performed unsigned
-division on negative numbers, thereby losing the sign bit. This
-mostly affected the display of images and bitmaps in buttons,
-menubuttons, and messages.
-
-2/24/95 (feature reversal) Restored old behavior of %A so that it
-returns non-printing characters as well as printing ones now.
-*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
-
-2/24/95 (bug fix) Duplicate "leave" events could occur for canvas
-items under some conditions, due to recursive calls to PickCurrentItem.
-Added code to detect and skip the nested calls.
-
-2/24/95 (bug fix) Fixed bug where an error could occur during the first
-keystroke in an application if its binding invoked "break".
-
-2/25/95 (new feature) Modified syntax of "search" widget command for
-texts. The -nowrap switch and the "variable" final argument are no
-longer supported. Instead, there is a -count switch to replace
-the final argument; if the final argument is specified, it is now
-a stopping index for the search. The features of -nowrap can be
-achieved now with the stopping index.
-*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
-
-2/27/95 (bug fix) Fixed problem that appears to prevent keyboard
-input for working under IRIX: tkBind.c was ignoring XmbLookupString
-calls that returned a status of XLookupBoth.
-
-2/27/95 (new feature) Added Tk_GetItemTypes procedure to return
-information about available canvas item types.
-
-2/27/95 (feature change) Changed Makefile to always use install-sh
-for installations: there's just too much variation among "install"
-system programs, which makes installation flakey.
-
-2/27/95 (bug fix) Fixed bug in tkSend.c that caused core dumps if
-the app's main window was destroyed by a destroy handler on a
-child.
-
-3/5/95 (feature change) Change separator character used in "bind +..."
-bindings from semi-colon to newline (permits bindings that are
-comments, for what that's worth).
-
-3/7/95 (bug fix/feature change) Overhauled focus code, both in C
-and in Tcl:
- - Tk won't move the X focus in response to the "focus" command
- unless either the application already has the focus or the
- -force switch is specified.
- - Tk no longer sets the X focus to anything other than top-levels;
- it synthesizes events for FocusIn and FocusOut to children.
- - A window no longer has to be viewable when focussed to; Tk will
- set the X focus later, when the window becomes viewable.
- - Added -takefocus option to all widgets.
- - Rewrote tk_focusPrev and tk_focusNext to use the -takefocus option.
- These procedures no longer set the focus; they just return the
- next window in focus order.
- *** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
- - Eliminated tk_focusContinue.
- *** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
-
-3/8/95 (new feature, bug fix) Added support for tk_strictMotif variable
-in C: Tk_StrictMotif library procedure. Modified buttons, menubuttons,
-menus to use it. This fixes the problem with menus not supporting
-tk_strictMotif properly in Tk4.0b1 and b2.
-
-3/16/95 (feature overhaul) Overhauled color management:
- - Changed Tk so it never denies a color request because a colormap
- filled up. Instead, it allocates the closest available color.
- - Eliminated "color model" mechanism. The "tk colormodel" command
- is gone, as are the procedures Tk_GetColorModel and Tk_SetColorModel.
- *** POTENTIAL INCOMPATIBILITY ***
- - Changed 3D border implementation to allocate colors for shadows
- lazily, so they're never allocated if they're never used. Also
- added new feature whereby stippling is used for borders when
- the colormap has run out of entries. Changed arguments to many
- of Tk_3D C procedures to take a Tk_Window as argument instead of
- a (Display *). This is needed to do lazy color allocation.
- *** POTENTIAL INCOMPATIBILITY ***
- - Eliminated colormap argument to Tk_GetColor, Tk_GetColorByValue,
- and Tk_Get3DBorder.
- *** POTENTIAL INCOMPATIBILITY ***
-
-3/16/95 (feature change) Event bindings created from Tcl will now ignore
-Enter, Leave, FocusIn, and FocusOut events with detail NotifyInferior.
-This is done in anticipation of mega-widgets, so that the user of a
-mega-widget can create Enter/Leave bindings on the mega-widget without
-seeing spurious events as the mouse moves among the windows in the
-mega-widget.
-*** POTENTIAL INCOMPATIBILITY ***
+291. 2/18/95 Changed "array set" to stop after first error, rather than
+continuing after error.
-3/17/95 (feature change) Changed C interfaces throughout Tk to use ints
-instead of unsigneds: the unsigneds turn out to cause subtle problems
-with arithmetic in some places, and using ints everywhere is just
-simpler.
-*** POTENTIAL INCOMPATIBILITY ***
+292. 2/20/95 Upgraded to use autoconf version 2.2.
-3/23/95 (bug fix) Selections longer than 4000 bytes were being
-truncated to 4000 bytes.
+293. 2/20/95 Fixed core dump that could occur in "scan" command if a
+close bracket was omitted.
--------------------- Release 4.0b3, 3/24/95 -------------------------
+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/25/95 (bug fix) Modified Tk's selection mechanism to prevent core
-dumps in other applications during retrievals of large selections
-(this is actually a bug in the other apps, but I've patched Tk to
-keep it from getting triggered).
-
-3/25/95 (bug fix) Fixed bug where X window for "." wasn't being
-deleted.
-
-3/27/95 (bug fix) Fixed many bugs associated with having more than
-one application in a single process.
-
-3/28/95 (bug fix) The "search" widget command for texts didn't
-return the correct index and count if there were embedded widgets
-on the same line as the returned range but before the end of
-the range.
-
-3/28/95 (bug fix) Changed pasting via button 2 in text and entries
-so that it inserts at the pointer location, not the location of
-the insertion cursor.
-
-3/28/95 (bug fix) Fixed several bugs related to <Destroy> bindings
-that delete ancestors in the window hierarchy. Also eliminated
-extraneous calls to XDestroyWindow, which speeds up window deletion
-by about 3x.
-
-3/28/95 (bug fix) Several widgets (buttons, menubuttons, menus) didn't
-properly handle image deletions that occurred while the widget was
-being deleted (caused core dumps).
-
-3/29/95 (bug fix) When retrieving long selections from text widgets,
-parts of lines were getting duplicated in the selection information.
-
-4/1/95 (bug fix) Fixed bug that caused infinite loop in horizontal
-scales with 0 range.
-
-4/1/95 (bug fix) Fixed problem with -command option for scrollbars and
--takefocus option that caused commands to be evaluated in the wrong
-context.
-
-4/1/95 (bug fix) Fixed problem with option database that caused it to
-sometimes use the wrong option (wasn't flushing the database properly
-after a change in a window's class).
+3/29/95 (bug fix) Fixed bug where the auto-loading mechanism wasn't
+protecting the values of the errorCode and errorInfo variables.
-4/1/95 (bug fix) If a line in a text widget just barely fit in the window,
-Tk was allocating a second screen line just for the newline character.
+3/29/95 (new feature) Added optional pattern argument to "parray" procedure.
-4/1/95 (new feature) When backspacing in an entry widget, when you reach
-the left edge of the widget, the insertion cursor gets recentered.
+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/1/95 (new features) Added "winfo pointerx" and "winfo pointery" commands
-to fetch the current pointer position.
+4/6/95 (new feature) Added "pattern" option to "array names" command.
-4/6/95 (bug fix) If the last line of a text widget was only partially
-visible, it was counted as visible for purposes of the scrollbar. Now
-it is treated as if it were off-screen for scrolling purposes.
+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/6/95 (new feature) Modified "bell" command to reset screen saver as well.
+4/19/95 (new feature) Added tcl_library variable, which application can
+set to override default library directory.
-4/6/95 (feature change) Modified menu scanning (where menus pull down
-as you drag across their menubuttons) so it only works among menus
-in the same toplevel; it used to work for any menubuttons in the
-application.
-
-4/6/95 (bug fix) Canvas text items weren't allowing real numbers in
-"@x,y" notation for specifying indices.
-
-4/7/95 (bug fix) Menus didn't display correctly when -activeborderwidth
-was large.
-
-4/7/95 (bug fix) Changed "clipboard append" command to support -- option
-and to always treat the last argument as data, even if it starts with
-"-".
-
-4/17/95 (new feature) Added -wrap option to text tags.
-
-4/18/95 (bug fix) Listboxes and texts weren't updating their grid information
-when -width or -height changed.
-
-4/18/95 (bug fix) "Down" didn't work right in text widgets if the last
-line was only partially visible in the window.
-
-4/19/95 (bug fix) Listboxes didn't handle partially visible last lines
-right: couldn't scroll it into full visibility, for example.
-
-4/20/95 (bug fix) If a toplevel was positioned with a command like
-"wm geometry . -0-0", the window didn't reposition itself to maintain
-that geometry after a size change.
-
-4/21/95 (feature change) Changed order of binding tags so widget bindings
-fire before class bindings. New order is: widget, class, toplevel, all.
-*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 ***
-
-4/23/95 (new feature) Added "winfo colormapfull" command.
-
-4/23/95 (new feature) Buttons and radiobuttons and checkbuttons now
-treat Return the same as Space, unless tk_strictMotif is set.
-
-4/23/95 (bug fix) Modified menu tear-off procedure to duplicate the
-binding tags and bindings of the original in the copy.
-
-4/25/95 (bug fix and feature change) Modified mechanism for choosing
-"best" visual to fix a bug where depth wasn't really getting highest
-priority in all situations.
-
-4/28/95 (bug fix) Failed text searches starting at "end" could result
-in an infinite loop in Tk.
-
-4/30/95 (new feature) Added "wm resizable" command to enable and
-disable interactive resizing.
-
-4/30/95 (new feature) Added "window names" widget command to texts:
-returns a list of all embedded windows.
-
-5/2/95 (feature change) Changed text searches so that forward searches
-start at the given index, rather than the character just after the
-given index.
-*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 ***
-
-5/4/95 (bug fix) Default bit gravity for windows was wrong (it was
-ForgetGravity) causing unnecessary flashing when windows were resized.
-
-5/4/95 (feature change) Modified Tk_DoOneEvent so that it doesn't
-sleep if there's nothing that will wake it up again (e.g. no file
-or timer handlers). Returns 0 immediately.
+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.
-5/5/95 (configuration change) Changed to use BSDgettimeofday instead
-of gettimeofday on systems like IRIX where BSDgettimeofday is
-available. This avoids compilation problems due to the different
-interface to gettimeofday provided by IRIX.
+4/30/95 (new feature) Added -nobackslashes, -nocommands, and -novariables
+switches to "subst" command.
-5/5/95 (feature change) Changed binding mechanism so that all bindings
-are created immediately at initialization time, rather than waiting
-until the first FocusIn or Enter event for a class.
+5/4/95 (new feature) Added TCL_EVAL_GLOBAL flag to Tcl_RecordAndEval.
-5/6/95 (feature change) Changed default text for labels, buttons,
-checkbuttons, radiobuttons, menubuttons, and messages from " " to
-"".
+5/5/95 (bug fix) Format command would overrun memory when printing
+integers with very large precision, as in "format %.1000d 0".
-5/6/95 (bug fix) If the application was destroyed in the middle of
-an "update" command, Tk would dump core.
+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/6/95 (bug fix) Change "wm iconwindow" command to disable button
-presses for the icon window. This is needed so that the window
-manager can get those events (X only allows button presses to go
-to one client for a given window).
+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.
-5/9/95 (new feature) When specifying visuals, can now use "best"
-with a depth, e.g. "-visual {best 8}" to get the best 8-bit visual.
+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.
-5/18/95 (bug fix) Fixed bug with -spacing* options for text widget:
-screen distances weren't allowed, only integers.
+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).
-5/20/95 (bug fix) Eliminated memory leaks in tkTextDisp.c and elsewhere.
-
-5/22/95 (color change) Changed the Tk color palette to a gray scheme.
-Also added a library procedure tk_setPalette that makes it easy to
-change colors on the fly, and a procedure tk_bisque that restores the
-previous light brown scheme.
-
-5/28/95 (bug fix) Modified canvases so that the -width and -height
-options refer to the space inside the borders, not the total widget
-space. Also changed "xview" and "yview" commands and scroll-increment
-rounding to use the pixel just inside the borders, rather than (0,0).
-
-5/28/95 (bug fix) Several widgets (e.g. entries, buttons, and menus)
-didn't properly handle unsets of variables they were tracing, if the
-variables were reference through upvars in procedures.
-
-6/4/95 (bug fix) The placer wasn't rounding window widths right when
-both -relx and -relwidth were specified (or -rely and -relheight) so
-that rounding errors accumulated.
-
-6/4/95 (feature improvement) Change parsing of text indices to handle
-weird mark and tag names better (e.g. any string ending with ".first"
-will now be parsed as a tag name, even if it contains embedded spaces,
-etc.).
+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/4/95 (feature change) If a font defines glyphs for control characters,
-they are now displayed, instead of translating the character to a
-backslash sequence (however, tabs and newlines are still treated
-specially; glyphs are not displayed for these characters).
+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.
-6/4/95 (bug fix) Modify the implementation of "raise" and "lower" for
-toplevels so that it now works under olwm and olvwm. It didn't use to
-work, and the problem is really in the window manager, but Tk now
-patches around it. However, only "total" raises and lowers work:
-raising and lowering relative to a sibling still don't work under
-olvwm and olwm.
+----------------- Released version 7.4b4, 6/16/95 ------------------
-6/4/95 (feature change) Modified tab code in texts so that a tab always
-occupies at least as much space as a space character.
+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/4/95 (bug fix) The "%t" substitution wasn't being made properly in
-Enter and Leave event bindings.
+6/21/95 (feature removal) Removed overflow checks for integer arithmetic:
+they just cause too much trouble (e.g. for random number generators).
-6/7/95 (new feature) Added support for GIF images. Unfortunately it's
-a bit fragile: certain kinds of badly formed images can cause core
-dumps; I don't know enough about the GIF reader (taken from giftoppm)
-to figure this out.
+6/28/95 (new features) Added tcl_patchLevel and tcl_version variables,
+for consistency with Tk.
-6/7/95 (bug fix and feature change) Fixed PPM image reader to be more
-flexible about header formats, and added support for PGM images.
+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/7/95 (feature change) Added -outlinestipple option to canvas arc
-items, changed "-style arc" to use -outline as the color instead of
--fill (the old approach was pretty quirky).
-*** POTENTIAL INCOMPATIBILITY ***
+6/29/95 (message change) Changed the error message for ECHILD slightly
+to provide a hint about why the problem is occurring.
-6/8/95 (feature change) Modified interface to Tk_Main to pass in the
-address of the application-specific initialization procedure.
-Tcl_AppInit is no longer hardwired into Tk_Main. This is needed
-in order to make Tcl a shared library.
+----------------- Released version 7.4, 7/1/95 ------------------
-6/8/95 (feature change) Modified Makefile so that the installed versions
-of wish and libtk.a have version number in them (e.g. wish4.0 and
-libtk4.0.a) and the library directory name also has an embedded version
-number (e.g., /usr/local/lib/tk4.0). This should make it easier for
-Tk 4.0 to coexist with earlier versions.
+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.
-6/9/95 (new feature) Added -outline and -width options to canvas polygon
-items.
+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.
-6/9/95 (feature changed) Renamed -decimate in photo widget to -subsample
-(decimate wasn't technically correct).
-*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 ***
+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.
--------------------- Release 4.0b4, 6/16/95 -------------------------
+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").
-6/19/95 (bug fix) Colors weren't being rounded correctly in canvas
-Postscript generation: caused "white" to appear slightly gray when
-the display of the canvas used only 8 bits per color.
+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.
-6/20/95 (bug fix) "bbox" widget command for texts didn't return
-proper width for tabs.
+7/27/95 (bug fix) The version of strtod in fixstrtod.c didn't properly
+handle the case where endPtr == NULL.
-6/20/95 (bug fix) Scrollbars didn't always work right for texts:
-couldn't scroll all the way to the bottom of the text in a single
-drag of the slider.
+----------------- Released patch 7.4p1, 7/29/95 -----------------------
-6/20/95 (new feature) Added "delta" widget command for scrollbars
-(needed for above bug fix).
+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)
-6/23/95 (bug fix) Listboxes weren't properly redisplaying their
-borders when the were configured to a smaller size.
+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)
-6/23/95 (new feature) Added "winfo server" command.
+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)
-6/23/95 (bug fix) If a menu was posted, couldn't switch to another
-menu with an Alt- key.
+8/23/95 (new features) Added "info sharedlibextension" and
+"info nameofexecutable" commands, plus Tcl_FindExtension procedure. (JO)
-6/24/95 (new feature) Added "winfo pointerxy" command.
+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)
-6/25/95 (bug fix) Tk_ParseArgv referenced beyond the end of 0-length
-option names.
+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)
-6/25/95 (bug fix) Fixed problem in tkOption.c where "cachedWindow"
-could get garbage in it if the main window's class was changed by
-calling Tk_SetClass.
+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)
-6/25/95 (bug fix) Fixed two bugs in menus, one where errors in
-variable traces weren't propagated correctly and one where "invoke"
-was invoked at the wrong stack level, with the result that variable
-traces didn't have access to the right variables.
+8/28/95 (bug fix) Exec wasn't handling bad user names properly, as
+in "exec ~bogus_user/foo". (JO)
-6/27/95 (bug fix) tk3d.c wasn't using all the right information
-when deciding whether or not to stipple borders, so it stippled
-borders even on 16-bit true-color displays.
+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)
-6/28/95 (bug fix) Page up and down operations in texts could cause
-insertion cursor to drift to the right. Changed tkTextScrollPages
-to use upper-left corner of current character, rather than center
-of character.
+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)
-6/28/95 (bug fix) Changed text widget so that you can't put the
-insertion cursor after the last newline in the text.
+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)
-6/28/95 (bug fix) Bitmap images didn't allow ~'s in file names.
+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 ***
-6/28/95 (bug fix) Fixed problem that could cause core dumps in the
-text widget when dealing with embedded windows (there were problems
-if the act of redisplaying caused the window layout to change, which
-can happen with embedded windows).
+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 ***
-6/28/95 (bug fix) Texts didn't handle indices with double negatives,
-such as ".t mark set insert {insert + -20 chars}".
+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)
-6/28/95 (bug fix) Fixed problem where focus didn't always revert to
-its prior window after a dialog box was dismissed.
+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.
-6/28/95 (bug fix) Fixed problem with "search" widget command returning
-incorrect length on some backwards regexp searches.
+----------------- Released patch 7.4p2, 9/15/95 -----------------------
-6/28/95 (bug fix) Successive "wm iconbitmap . {}" commands could cause
-a core dump.
+----------------- Released 7.5a1, 9/15/95 -----------------------
-6/29/95 (new feature) Added -elementborderwidth option for scrollbars
-so the -borderwidth can be set to 0 without flattening the arrows and
-slider.
+9/22/95 (bug fix) Changed auto_mkindex to create tclIndex files that
+handle directories whose paths might contain spaces. (RJ)
--------------------- Release 4.0, 7/1/95 -------------------------
+9/27/95 (bug fix) The "format" command didn't check for huge or negative
+width specifiers, which could cause core dumps. (JO)
-7/18/95 (bug fix) %t in event bindings didn't work properly for some
-events (e.g. PropertyNotify).
+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)
-7/18/95 (bug fix) Changed "exec wish" lines in demo scripts to
-"exec wish4.0" to avoid version conflicts.
+9/28/95 (bug fix) Changed makefile.bc to eliminate a false dependency
+for tcl1675.dll on the Borland run time library. (SS)
-7/18/95 (bug fix) Fixed round-off errors in scrolling for texts,
-canvases, listboxes, and entries. The error could cause the view
-to shift up in a command like "$w yview moveto [lindex [$w yview] 0]".
+9/28/95 (bug fix) Fixed tcl75.dll so it looks for tcl1675.dll instead
+of tcl16.dll. (SS)
-7/19/95 (bug fix) Canvases weren't always redrawing borders correctly
-when they became unobscured. There were also some problems with
-improper refresh after size changes.
+9/28/95 (bug fix) Tcl was not correctly detecting the difference
+between Win32s and Windows '95. (SS)
-7/19/95 (bug fix) Fixed bug in text index processing that causes
-tests textIndex-11.1 and textIndex12.1 to fail on some platforms.
+9/28/95 (bug fix) "exec" was not passing environment changes to child
+processes under Windows. (SS)
-7/19/95 (bug fix) Fixed bug where 2-second delays were ocurring during
-"raise" and "lower" commands for toplevel windows under some window
-managers (such as fvwm).
+9/28/95 (bug fix) Changed Tcl to ensure that open files are not passed
+to child processes under Windows. (SS)
-7/20/95 (bug fix) Text searches were misbehaving when there were embedded
-windows on the starting line of the search. The most common symptom is
-that Tk would fail to find a match at the starting position for the
-search.
+9/28/95 (bug fix) Fixed Windows '95 and NT versions of exec so it can
+handle both console and windows apps. (SS)
-7/22/95 (bug fix) Fixed core dump that could occur in menus if a checkbutton
-entry's -variable option referred to an array (or couldn't be read
-by the menu C code for some other reason).
+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)
-7/22/95 (bug fix) Text widgets didn't update their scrollbars when
-changes were made to information that was off-screen.
+9/28/95 (bug fix) Eliminated source dependency on the Win32s Universal
+Thunk header file, since it is not bundled with VC++. (SS)
-7/25/95 (bug fix) Fixed core-dump in tkListbox.c that used to happen
-in the command ".l bbox end" if the listbox was empty.
+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)
-7/25/95 (bug fix) Page-up and page-down bindings for listboxes didn't
-move active element to remain on the screen.
+9/28/95 (bug fix) Added support for "info nameofexecutable" and "info
+sharedlibextension" to the Windows version. (SS)
-7/25/95 (bug fix) Patched around H-P compiler problem that results in
-core-dumps in tkImgPhoto.c during image handling.
+9/28/95 (bug fix) Changed tclsh to correctly parse command line
+arguments so that backslashes are preserved under Windows. (SS)
-7/25/95 (bug fix) Fixed bug in tkImgPhoto.c that caused core dumps
-(during Tk self-tests and other image uses) on AIX and other machines
-where "schar" in tkImgPhoto.c was being defined as "short" instead of
-"char".
+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)
-7/26/95 (bug fix) The PPM image reader couldn't handle maximum intensity
-values other than 255.
+9/29/95 (new feature) Changed to install "configInfo" file in same
+directory as library scripts. It didn't used to get installed. (JO)
-7/26/95 (bug fix) Canvases didn't redraw their borders when the relief
-changed from raised to flat.
+9/29/95 (bug fix) Tcl was not converting Win32 errors into POSIX
+errors under some circumstances. (SS)
-7/27/95 (bug fix) Canvases didn't set the scrolling values correctly
-when no scroll region was specified.
+10/2/95 (bug fix) Safe interpreters no longer get initialized with
+a call to Tcl_Init(). (JL)
-7/28/95 (bug fix) Modified menu and tk_dialog scripts to restore any
-old grab that might have been in effect before a menu or dialog was
-posted.
+10/1/95 (new feature) Added "tcl_platform" global variable to provide
+environment information such as the instruction set and operating
+system. (JO)
------------------ Released patch 4.0p1, 7/29/95 ----------------------
+10/1/95 (bug fix) "exec" command wasn't always generating the
+"child process exited abnormally" message when it should have. (JO)
-8/4/95 (bug fix) Calls to toupper and tolower weren't using the UCHAR
-macro, so they didn't always work in non-U.S. locales. (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)
-8/14/95 (new feature) Added -tearoffcommand option for menus.
+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)
-8/16/95 (bug fix) Canvases didn't generate proper Enter and Leave
-events if the Leave handler for an item reconfigured the canvas in
-a way that made the old current item the new current item again. (JO)
+10/2/95 (bug fix) File sharing was causing refcounts to reach 0
+prematurely for stdin, stdout and stderr, under some circumstances. (JL)
-8/21/95 (bug fix/feature change) When -takefocus was a script, Tk
-was allowing window viewability to override it. Changed so that
-viewability is now ignored when -takefocus is a script. (JO)
+10/2/95 (platform support) Added support for Visual C++ compiler on
+Windows, Windows '95 and Windows NT, code donated by Gordon Chaffee. (JL)
-8/21/95 (bug fixes) Fixed memory leaks in tkSend.c, tkSelect.c, and
-tkUnixWm.c (JO).
+10/3/95 (bug fix) Tcl now frees any libraries that it loads before it
+exits. (SS)
-8/21/95 (bug fix) Text widgets didn't handle commands like
-".t search -backwards foo end 1.0" properly: never found foo. (JO)
+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)
-8/23/95 (new feature) Added Makefile and configure.in support for
-dynamic loading. (JO)
+----------------- Released 7.5a2, 10/6/95 -----------------------
-8/25/95 (bug fix) The "frame" and "toplevel" commands couldn't safely
-be renamed, due to a kludgy way that they shared a single command
-procedure. Split into separate procedures. (JO)
+10/10/95 (bug fix) "file dirnam /." was returning ":" on UNIX instead
+of "/". (JO)
-8/25/95 (bug fix) Fixed bug in libary/menu.tcl that caused "grab
-window not visible" errors for popup menus (and perhaps elsewhere?). (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 ***
-8/25/95 (bug fix / new feature) The "gray25" bitmap was really only
-12.5% on, not 25%. Added new "gray12" bitmap that is the same as the
-old "gray25". "Gray25" is still supported for compatibility, but its
-use is deprecated. (JO)
+----------------- Released patch 7.4p3, 11/28/95 -----------------------
-8/25/95 (bug fix) Scrollbar bindings didn't properly handle case where
-B2 is clicked while B1 is already down. (JO)
+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 ***
-8/26/95 (bug fix) Menus were ignoring -activebackground if tk_strictMotif
-was set, but not -activeforeground. Changed to ignore both. (JO)
+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)
-8/26/95 (bug fix) Scales and scrollbars didn't properly handle a
--repeatdelay value of 0 (they shouldn't auto-repeat in this case). (JO)
+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)
-8/28/95 (bug fix) Tcl errors were occurring for tkPriv(oldGrab) when
-clicking on a disabled option menu. (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)
-8/28/95 (bug fix) Changed event-handling code to use FD_SETSIZE instead
-of OPEN_MAX, since OPEN_MAX is incorrect on some systems (e.g., IRIX). (JO)
+12/20/95 (new feature) Added Tcl_WaitForFile procedure. (JO)
-8/28/95 (bug fix) Fixed bug in photo images that caused garbling of
-image data in the "put" and "copy" commands if the source data had
-only one scan line but had a width less than the width of the target
-image. (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)
-8/29/95 (bug fix) Tk used to refuse to post menus if they had no
-entries. This made it impossible for a menu to fill itself the first
-time it is posted. Changed to allow menus with no entries to be
-posted. (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)
-8/30/95 (bug fix) If there was extra space at the bottom of a menu,
-it wasn't being redisplayed properly.
+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)
-8/30/95 (new feature) Added -transient option to menus.
+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)
-8/30/95 (new features) Added proper button 2 support to both scrollbars
-and scales (it sets the slider position from the mouse position). (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 ***
-8/30/95 (bug fix) Fixed potential core dump that could occur in
-photo images (ReadPPMFileHeader could overflow buffer under some bad
-inputs, such as certain GIF images). (JO)
+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)
-8/30/95 (bug fix) Errors of the form `syntax error in expression "!"'
-could occasionally happen in tkScaleDrag. (JO)
+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)
-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)
+1/19/96 (new feature) Implemented on-close handlers for channels; added
+the C APIs Tcl_CreateCloseHandler and Tcl_DeleteCloseHandler. (JL)
-9/1/95 (new feature) Added "after info" command. Also added checks
-so that one interpreter can't cancel another's "after" events. (JO)
+1/19/96 (new feature) Implemented portable error reporting mechanism; added
+the C APIs Tcl_SetErrno and Tcl_GetErrno. (JL)
-9/8/95 (bug fix) Fixed bug that could cause memory corruption and core
-dumps if a "fileevent" handler was deleted while the handler was
-active. (JO)
+1/24/96 (bug fix) Unknown command processing properly invokes external
+commands under Windows NT and Windows '95 now. (SS)
-9/11/95 Reorganized Tk 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. (SS)
-
-9/11/95 (new feature) Added new "notifier" mechanism to allow multiple
-implementations of the mechanisms for finding out about events. This
-change was necessary to support Mac and PC platforms, but it may also
-allow other goodies such as combining Xt and Tk widgets in a single
-application. See the new manual entry Notifier.3 for details. (SS)
-
-9/11/95 (feature change) Changed interface to Tk_RestrictProc so that
-(a) it takes a clientData argument instead of display and arg, and
-(b) it returns a value that can ask for the event to be discarded as well
-as deferred or processed. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
+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)
-9/11/95 (new feature) Added TK_WINDOW_EVENTS #define, which is equivalent
-to TK_X_EVENTS but is now preferred, since it applies to all platforms. (SS)
+1/31/96 (bug fix) Fixed command line parsing to handle embedded
+spaces under Windows. (SS)
-9/11/95 (feature change) Can't export variables anymore because this doesn't
-work under Windows DLLs. Eliminated tk_NumMainWindows variable and replaced
-with procedure Tk_GetNumMainWindows. (SS)
-*** POTENTIAL INCOMPATIBILITY ***
+----------------- Released 7.5b1, 2/1/96 -----------------------
-9/11/95 (new feature) Added procedure Tk_PreserveColormap to increment
-the reference count on colormaps. Used in photo widgets. (SS)
+2/7/96 (bug fix) Fixed off by one error in argument parsing code under
+Windows. (SS)
------------------ Released patch 4.0p2, 9/15/95 ----------------------
+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)
------------------ Released 4.1a1, 9/15/95 ----------------------
+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)
-9/22/95 (renamed files) Changed the names of the bitmap images in the
-$tk_library/demos/images directory to use the .bmap file extension. (RJ)
+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 ***
-9/22/95 (bug fix) Fixed bug where text widgets could occasionally
-display the insertion cursor both at the end of one line and the
-beginning of the next. (JO)
+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)
-9/25/95 (bug fix) Fixed bug that could cause core dumps when an
-application uses multiple screens and a binding destroys the main
-window (bind code was using MainInfo structure after it had been
-freed). (JO)
+2/9/96 (new feature) Implemented asynchronous connect for sockets. (JL)
-9/25/95 (bug fix) Text widgets sometimes scrolled backwards on
-occasion if you dragged down past the bottom of the scrollbar. (JO)
+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)
-9/25/95 (bug fix) Fixed bug in menus where a cascaded submenu posted
-from a torn-off menu could be left posted if mouse was pulled off the
-end of the cascade and released. (JO)
+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)
-9/25/95 (new feature) Added "--" switch to wish, so that you can
-pass arguments like -n through to a script without having wish
-interpret them. (JO)
+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)
-9/25/95 (bug fix) Fixed core dump that could occur for radiobuttons
-and selectbuttons if -selectcolor was an empty string. (JO)
+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)
-9/26/95 (bug fix) Entries didn't used to notice if a trace procedure
-on the -textvariable overrode a new value set by the entry. This
-could cause the variable to get out of sync with the contents of the
-entry. (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)
-9/26/95 (new feature) Added -sliderrelief option to scales, changed
-default bindings to change the slider's relief to sunken while it's
-being dragged with the mouse. (JO)
+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)
-9/26/95 (bug fix) TkColor.c wasn't computing colormap size correctly;
-could result in X Protocol error for QueryColors when colormaps run
-out of colors. (JO)
+2/13/96 (bug fix) Fixed problems with DLL initialization under Visual
+C++ that left the C run time library uninitialized. (SS)
-9/26/95 (bug fix) Wish couldn't handle script files with spaces in
-their names. (JO)
+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)
-9/27/95 (cosmetic clean-up) Removed extraneous spaces to make error
-messages consistent: ": should be" is now ": should be". (JO)
+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)
-9/27/95 (feature change) Modified tk_dialog so that it uses the
-option database for the -wraplength option on the message. This
-allows the option to be overridden by the caller. (JO)
+2/13/96 (bug fix) Fixed bug with seek leaving EOF and BLOCKING set. (JL)
-9/28/95 (bug fix) Wish incorrectly parsed the command line under
-Windows, causing backslashes to be substituted. (SS)
+2/14/96 (bug fix) Fixed reentrancy problem in fileevent handling
+and made it more robust in the face of errors. (JL)
-9/28/95 (bug fix) Wish now sources wishrc.tcl instead of .wishrc. (SS)
+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)
-9/28/95 (bug fix) Tk_DoOneEvent returned 0 under some circumstances
-when it was possible to find more work to do. For example, if a
-signal interrupted select(), but no event handlers were triggered, it
-would return 0 even though it could still detect events by reentering
-select(). (SS)
+2/15/96 (new feature) Added "binary" end of line translation mode, which is
+a synonym of "lf" mode. (JL)
-9/29/95 (bug fix) "winfo interps" caused a crash under Windows. (SS)
+2/15/96 (bug fix) Fixed reentrancy problem in fileevent handling vs
+deletion of channel event handlers. (JL)
-10/1/95 (feature change) Eliminated Tk_NotifyIdle interface in favor of
-Tk_IdlePending. (SS)
+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)
-10/1/95 (bug fix) Turned motion event collapsing into an idle handler
-so it will be easier to move the event loop into Tcl. (SS)
+2/17/96 (bug fix) "info complete" didn't properly handle comments
+in nested commands. (JO)
-10/1/95 (bug fix) Fixed several problems with negative coordinates
-in canvases. One example: dragging a canvas rectangle with a wide
-border and fractional coordinates could leave junk on the screen
-if the rectangle was in negative coordinate space. (JO)
+2/21/96 (bug fix) "exec" under Windows NT/95 did not properly handle
+very long command lines (>200 chars). (SS)
-10/2/95 (bug fix) Tk was improperly handling Enter/Leave events
-during a button grab. (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)
-10/2/95 (new feature) Added support for the Macintosh do script
-('dosc') event. Available only on the Macintosh. (RJ)
+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)
-10/4/95 (new feature) Added support for compiling with VC++.
-Resulting binaries work under Win32s through NT.
+----------------- Released 7.5b2, 2/23/96 -----------------------
------------------ Released 4.1a2, 10/6/95 ----------------------
+2/23/96 (bug fix) TCL_VARARGS macro in tcl.h wasn't defined properly
+when compiling with C++. (JO)
-10/10/95 (new feature) Macintosh Tk now supports the complete set
-of X cursors that Unix Tk supports. (RJ)
+2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile:
+this caused problems on some platforms (like Linux?). (JO)
-10/11/95 (bug fix) Tk now supports all of the X11 cursors under
-Windows. (SS)
+2/24/96 (bug fix) Fixed configuration bug that made Tcl not compile
+correctly on Linux machines with neither -ldl or -ldld. (JO)
-10/11/95 (bug fix) The "wm resizable" command was missing from the
-Windows version of Tk. (SS)
+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)
-10/12/95 (bug fix) Macintosh Tk had problems with clipping toplevel
-windows that children of any frame other than another toplevel. (RJ)
+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 ***
-10/13/95 (bug fix) Eliminated dependency on MKS toolkit for generating
-the tk.def file from Borland object files. (SS)
-
-10/16/95 (bug fix) Fixed clipping and update problems relating to
-the raising and lowering of overlapping windows on Mac. (RJ)
-
-10/30/95 (bug fix) When focus-follows-mode (invoked via tk_focusFollowsMouse),
-was focussing on windows even in situations where keyboard traversal would
-skip the window. Changed to use the tkFocusOK procedure so that the
-criteria for focussing are the same in both modes. (JO)
-
-11/2/95 (bug fix) Changed listbox bindings to ignore double-clicks.
-This avoids errors that used to occur if a user defined a binding
-for double-click that deleted the listbox. (JO)
-
-11/3/95 (feature change) Moved most of the Tk event loop to Tcl. Many
-Tk_ names have become Tcl names now:
-
-TK_READABLE => TCL_READABLE
-TK_WRITABLE => TCL_WRITABLE
-TK_EXCEPTION => TCL_EXCEPTION
-TK_DONT_WAIT => TCL_DONT_WAIT
-TK_WINDOW_EVENTS => TCL_WINDOW_EVENTS
-TK_FILE_EVENTS => TCL_FILE_EVENTS
-TK_TIMER_EVENTS => TCL_TIMER_EVENTS
-TK_IDLE_EVENTS => TCL_IDLE_EVENTS
-TK_ALL_EVENTS => TCL_ALL_EVENTS
-Tk_IdleProc => Tcl_IdleProc
-Tk_FileProc => Tcl_FileProc
-Tk_TimerProc => Tcl_TimerProc
-Tk_TimerToken => Tcl_TimerToken
-Tk_BackgroundError => Tcl_BackgroundError
-Tk_CancelIdleCall => Tcl_CancelIdleCall
-Tk_CreateFileHandler => Tcl_CreateFileHandler
-Tk_CreateTimerHandler =>Tcl_CreateTimerHandler
-Tk_DeleteFileHandler => Tcl_DeleteFileHandler
-Tk_DeleteTimerHandler =>Tk_DeleteTimerHandler
-Tk_DoOneEvent => Tcl_DoOneEvent
-Tk_DoWhenIdle => Tcl_DoWhenIdle
-Tk_Sleep => Tcl_Sleep
-tkerror => bgerror
-
-Other than the name changes, the functions are the same. In addition,
-there are #defines in tk.h so that the old Tk names will still work.
-tkerror and bgerror are specially hacked as synonyms, so it should be
-safe to use either one. You should switch to the new Tcl names ASAP,
-though, since the old Tk names will eventually be desupported. (JO)
-
-11/7/95 (features removed) As part of moving the event loop to Tcl,
-the following procedures were deleted:
- - Tk_EventInit (the presence of the event loop in Tcl should
- make this unneccessary).
- - Tk_CreatFileHandler2 (you can get the same effect by using event
- sources in Tcl, but you have to modify your code to use the new
- Tcl APIs).
- - All of the stuff in the manual entries Notifer.3 and QueueEvent.3;
- this has changed because the notifier got reworked when it was
- moved to Tcl.
-*** POTENTIAL INCOMPATIBILITY ***
+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 ***
-11/7/95 (feature change) Changed to use exit handler to cleanup windows
-in Tk, so Tk no longer needs to have a private copy of the "exit" command.
-(JO)
+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)
-11/7/95 (bug fix) If wish was invoked with a command-line geometry and
-a script file (e.g. "wish foo.tcl -geometry 30x20"), and if one of
-the windows created by the script used the -setgrid option, then the
-width and height from the command line were lost. (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)
-11/8/95 (bug fix) The "see" command didn't work quite right for texts:
-if the window was small and you try to "see" a line just offscreen,
-Tk centered the line (actually, mis-centered it) when it should have
-aligned it at the top or bottom. (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)
-11/9/95 (bug fix) The "send" command crashed if you tried to send to
-a different display with "-displayof". (JO)
+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)
-11/9/95 (bug fix) The Symbol font didn't print right in Postscript
-output, because of changes made to re-encode fonts to get proper
-ISO Latin1 behavior. Changed the code not to re-encode the Symbol
-font. (JO)
+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 ***
-11/13/95 (bug fix) Fixed Makefile.in and configure.in for UNIX so that
-configure can be run from a clean directory separate from the Tcl source
-tree, and compilations can be performed there. (JO)
+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)
-11/17/95 (bug fix) If a window was gridded, Tk still computed the
-default maximum dimensions in pixel units, which resulted in windows
-that could grow much larger than the screen. (JO)
+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)
-11/17/95 (bug fix) If a menus entries were all disabled, posting
-the menu and typing Up or Down caused an infinite loop, locking
-up the screen (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)
-11/19/95 (bug fix) The focus wasn't being restored properly after a
-menu selection in a cascaded menu. (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)
-11/19/95 (bug fix) Menubutton's didn't stipple display their images
-differently when disabled. Change to have the same behavior as buttons:
-the image is stippled over in the background color when the menubutton
-is disabled. (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)
-11/21/95 (bug fix) Changes in display attributes such as font could
-cause core dumps in the text widget under some circumstances involving
-line wrapping. (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 ***
-11/22/95 (bug fix/new feature) Changed both the placer and the packer
-to ensure that slaves are unmapped whenever the master is unmapped.
-This saves time that slaves might otherwise spend trying to redisplay
-themselves when they're unmapped. (JO)
+3/6/96 (changed feature) The library function auto_mkindex will now
+default to using the pattern "*.tcl" if no pattern is given. (RJ)
-11/22/95 (bug fix) Space and return keys didn't work for menus if
-they were posted via Alt-x keystrokes. (JO)
+3/6/96 (bug fix) The socket channel code for the Macintosh has been
+rewritten to use native MacTcp. (RJ)
-11/24/95 (bug fix) tk_dialog procedure had binding for <Return> that
-always activated default binding, even if input focus was in some
-other binding. Removed this feature, since existing focus support
-will already "do the right thing". (JO)
+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)
-11/24/95 (bug fix) Both canvases and texts could dump core if a binding
-(such as ButtonRelease on an internal item) deleted the widget. (JO)
+3/7/96 (bug fix) Tcl did close not the file descriptors associated
+with "stdout", etc. when the corresponding channels were closed. (SS)
-11/24/95 (feature change) Replaced "configInfo" file with tkConfig.sh,
-which is more complete and uses slightly different names. Also
-arranged for tkConfig.sh to be installed in the platform-specific
-library directory. (JO)
-
-11/24/95 (bug fix) It was possible for a slave to be placed or packed
--in itself, with unpleasant consequences. It is now an error for the
-slave to be its own master for geometry management. (JO)
-
-11/25/95 (bug fix) The -command option of scales was sometimes being
-invoked spuriously (e.g. when the mouse moved in the scale without a
-button down). This was because the scale wasn't rounding properly
-when setting the scale value from its associated variable. (JO)
-
------------------ Released patch 4.0p3, 11/28/95 ----------------------
-
-12/18/95 (feature change) Moved Tk_Preserve, Tk_Release, and
-Tk_EventuallyFree to Tcl, renamed to Tcl_Preserve etc. Added #defines
-to tk.h so that the old names still work. (JO)
-
-12/23/95 (bug fix) If a single process had > 1 Tk application, Tk
-didn't guarantee that the application names were unique, which could
-cause all sorts of confusion with "send". (JO)
-
-12/23/95 (feature change) Eliminated Tk_CreateMainWindow and moved
-all of its functionality to Tk_Init. All that you need to do now
-to get Tk in an application is to call Tk_Init. Improved Tk_Init
-so that -colormap and -visual command-line arguments are now passed
-through to TkCreateFrame. Tk_Main is much simpler now, since a lot
-of its functionality has moved to Tk_Init. (JO)
-*** POTENTIAL INCOMPATIBILITY ***
+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)
-12/23/95 (new feature) Added support for Tcl_StaticPackage so
-that Tk can now be loaded into slave interpreters with the "load"
-command to create new applications. (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)
-12/23/95 (new features) Added support for -colormap and -visual command-
-line options for wish. (JO)
+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 ***
-1/4/95 (bug fix) Fixed keyboard code to properly handle alt-key
-sequences for international keyboards and menu-accelerators. (SS)
+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 ***
-1/5/96 (bug fix) Scrollbar code sometimes generated errors on accesses
-to tkPriv(relief) during control-clicks. (JO)
+3/7/96 (feature change) stdin, stdout and stderr can now be put into
+nonblocking mode. (JL)
-1/9/96 (new feature) added the "grid" command to provide a table based
-geometry manager. (SU)
+3/8/96 (feature change) Eliminated dependence on the registry for
+finding the Tcl library files. (SS)
-1/12/96 (performance optimization) Changed the way tag information is kept
-in the text's Btree so the cost of adding and removing tag ranges is no longer
-proportional to the number of unique tags in the text. In the old system
-the cost of adding N unique tags was O(N-squared). The new implementation is
-optimized for tags that only cover a small amount of text, measuring from
-their earliest tag range to the end of their last range. In the best case the
-cost of adding a tag range is unrelated to the number of unique tags, so the
-cost of adding N tags is only O(N). In the worst case, where all tags
-cover all the text, the cost is still O(N-squared) to add N such tags.
-Deleting tags still has an O(N) cost (so deleting N tags is O(N-squared),
-but it is now a factor of 2 faster than the old system. (BW)
+----------------- Released 7.5b3, 3/8/96 -----------------------
-1/12/96 (new feature) added the text "dump" operation that returns information
-about all elements in a text widget: text, tags, marks, and windows. (BW)
+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)
-1/12/96 (new feature) added the text "mark next" and "mark previous" operations
-to search forward and backwards for the next (previous) mark in the text. (BW)
+3/13/96 (bug fix) Eliminated use of the "linger" option from the Windows
+socket implementation. (JL)
-1/12/96 (new feature) added the text "tag prevrange" operation to search
-backwards for the current or previous range of a tag. (BW)
+3/13/96 (new feature) Added -peername and -sockname options for fconfigure
+for socket channels. Code contributed by John Haxby of HP. (JL)
-1/16/96 (new feature) Added support for relative widget placement on
-the "grid" command. (SU)
+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)
-1/17/96 (new feature) Modified the Makefile/configure setup to support
-compiling Tk as a shared library. Use the --enable-shared option to
-the "configure" script. (JO)
+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)
------------------ Released 4.1b1, 1/26/96 -----------------------
+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 ***
-2/2/96 (bug fix) Frames were getting a default size of 200x200, whereas
-there should be no default. (JO)
+3/14/96 (bug fix) "tclsh bogus_file_name" didn't print an error message. (JO)
-2/2/96 (bug fix) Argc wasn't getting reset properly after Tk removed
-the arguments it understood from those on the command line. (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)
-2/6/96 (bug fix) Fixed off by one error in argument parsing code under
-Windows. (SS)
+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)
-2/6/96 (bug fix) "wm transient" now works under Windows. The resulting
-toplevel is created with a modal dialog box frame and will not appear
-in the taskbar under Windows '95. (SS)
+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)
-2/9/96 (bug fix) Changed Makefile.in to use -L and -l for Tcl and Tk
-libraries so that shared libraries are more likely to be found correctly
-on more platforms. (JO)
+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)
-2/14/96 (feature change) Eliminated tk_CanvasTagsOption variable because
-it can't be exported safely across DLL boundaries. Instead, exported
-Tk_CanvasTagsParseProc and Tk_CanvasTagsPrintProc procedures for
-use by canvas type managers in creating their own custom options. (JO)
-*** POTENTIAL INCOMPATIBILITY ***
+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)
-2/14/96 (bug fix) "winfo pointerxy" when applied to a non-toplevel window
-crashed wish. (SS)
+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)
-2/14/96 (bug fix) "tkwait visibility" would hang under Windows. (SS)
+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)
-2/14/96 (bug fix) Cursors were not being updated until an enter event.
-In cases where the cursor left the toplevel and reentered before Tk
-noticed, the cursor would get "stuck" until the next enter event.
-Similarly, if the cursor attribute of a window was updated while the
-mouse was in the window, the cursor would not change until the next
-time the mouse entered the window. (SS)
+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)
-2/15/96 (bug fix) If a top-level was resizable in one direction
-(e.g. "wm resizable . 0 1"), once the user resized it any changes
-in the internally requested size (by the widgets) were ignored,
-even for the non-resizable dimension. Fixed to handle the two
-dimensions totally independently, so the widget's requests are
-honored as long as that dimension hasn't been set by the user. (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)
-2/17/96 (bug fix) If a text widget had very long lines (e.g. more than
-32K pixels), integer overflow could occur, resulting in parts of the
-line not being visible. (JO)
+8/9/96 (bug fix) Tcl_UpdateLinkedVar generated an error if the variable
+being updated was read-only. (JO)
-2/20/96 (feature change) Changed the -minsize option of grid to take
-screen units instead of pixels. (SU)
+8/14/96 (bug fix) The macintosh now supports synchronous socket
+connections. Other minor bugs were also fixed. (RJ)
-2/20/96 (bug fix) grid row and column weights are compared against
-MINWEIGHT (0.001) instead of 0.0 to guard against divide by zero errors
-during weight normalization. (SU)
+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)
-2/20/96 (bug fix) Menu commands were not being invoked sometimes.
-There was a race condition that caused events to be processed while a
-menu was being unposted. (SS)
+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 ***
------------------ Released 4.1b2, 2/23/96 -----------------------
+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 ***
-2/23/96 (bug fix) Alt-keys invoked in torn-off and popped up menus
-caused menus to be posted in the parent toplevel. (JO)
+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)
-2/23/96 (bug fix) Canvases weren't always updating their scrollbars
-when they should. (JO)
+10/11/96 (bug fix) Under Windows, the pid command returned the process
+handle instead of the process id. (SS)
-2/23/96 (bug fix) Fixed core dump that could occur if a WM_DELETE_PROTOCOL
-handler generated an error. (JO)
+----------------- Released 7.6, 10/16/96 -----------------------
-2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile:
-this caused problems on some platforms (like Linux?). (JO)
+10/29/96 (bug fix) Under Windows, sockets would consume 100% CPU time after
+the first accept(), due to a typo. (JL)
-2/24/96 (feature change) Changed text and entry widgets so that they
-set the insertion cursor before inserting during a button-2 click.
-Also made optional bindings check for tk_strictMotif at the time of
-the event, rather than at the time the bindings are created. (JO)
+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)
-2/24/96 (bug fix) Tk tended to crash with an X error when unsetting
-an icon window (e.g. "wm iconwindow . {}"). (JO)
+11/7/96 (bug fix) Auto-exec didn't work on file names that contained
+spaces. (JO)
-2/25/96 (bug fix) Wasn't removing windows from the WM_COLORMAP_WINDOWS
-property when they were deleted. (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)
-3/1/96 (new feature) Added new "bbox" widget command for entries.
-Also modified mouse bindings for entries and texts so that the
-mouse position rounds to the nearest inter-character gap, rather
-than the left edge of the character under the mouse. This provides
-more natural selection behavior. (JO)
+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)
-3/1/96 (bug fix) Fixed core dump that could occur in image code if an
-image was deleted while in use in a widet, then re-used in another
-widget while "deleted". (JO)
+11/12/96 (bug fix) Do not blocking waiting for processes at the end of a
+pipe during exit cleanup. (JL)
-3/1/96 (bug fix) Calling wish with a single argument caused a crash
-under Windows due to an off-by-one error in the argument parsing code. (SS)
+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)
-3/1/96 (bug fix) Palette management was broken and resulted in
-incorrect palette realization and refresh behavior. Also, images were
-being drawn incorrectly if they were attached to widgets that had a
-private colormap. (SS)
+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)
-3/2/96 (bug fix) It was possible to press the mouse button over an
-option menu, drag to a pulldown menu, and have the pulldown menu
-popup in place of the option menu. Fixed this so that option menus
-are isolated from each other and from pulldowns. (JO)
+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)
-3/2/96 (bug fix) Fixed yet another bug that caused long delays when
-raising toplevel windows. (JO)
+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)
-3/2/96 (bug fix) Fixed bug in canvases where zero-sized rectangles
-and ovals didn't always redisplay right (could leave trailing
-garbage on screen when moved). (JO)
+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)
-3/2/96 (bug fix) Entry widgets reset their insertion cursor, selection,
-and view whenever the text variable changed, plus whenever a "configure"
-widget command was invoked and there was a text variable for the
-widget. Fixed to preserve this information as much as possible. (JO)
+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)
-3/5/96 (new feature) Added version suffix to shared library names so that
-Tk will compile under NetBSD and FreeBSD (I hope). (JO)
+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)
-3/6/96 (bug fix) Changed the way certain configure & motion events are
-reported. This fixes several bugs in menus & "winfo rootx". (RJ)
+1/21/97 (configuration fix) Made it possible to override TCL_PACKAGE_PATH
+during make. Previously it was only set during autoconf process.
-3/7/96 (bug fix) Fixed tag remove bug that showed up when draging out a
-selection. If you had dragged left, then tried to drag back right, the
-left edge of the selection wasn't being updated because the tag remove
-wasn't doing anything. (BW)
+1/29/97 (bug fix) Fixed some problems with the clock command that
+impacted how dates were scaned after the year 2000. (RJ)
-3/7/96 (bug fix) Fixed the boundary conditions of tag prevrange. The second
-index argument wasn't effecting in stopping the search if it fell within
-a range. The second index has to come at or before the start of a range
-for the range to be found by tag prevrange. (BW)
+----------------- Released 7.6p2, 1/31/97 -----------------------
-3/7/96 (bug fix) "puts" to stdout or stderr when running from a script
-caused wish41.exe to exit silently. Now the output is silently
-discarded without generating an error. (SS)
+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)
-3/7/96 (bug fix) Fixed bug where wish was treating empty lines in the input
-as end of input, if the input came from stdin. This would cause it to
-complain about missing closing braces etc. (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)
------------------ Released 4.1b3, 3/8/96 -----------------------
+----------------------------------------------------------
+Changes for Tcl 7.6 go above this line.
+Changes for Tcl 7.7 go below this line.
+----------------------------------------------------------
-3/9/96 (bug fix) Fixed bug in text.tcl that could cause errors in text
-widgets of the form 'can't use non-numeric string as operand of "-"'. (JO)
+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)
-3/12/96 (feature improvement) Modified startup script to look in several
-different places for the Tcl library directory. This should allow tk
-to find the libraries under all but the weirdest conditions, even without
-the TK_LIBRARY environment variable being set. (JO)
+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)
-3/14/96 (bug fix) "wish bogus_file_name" didn't print an error message. (JO)
+----------------------------------------------------------
+Changes for Tcl 7.7 go above this line.
+Changes for Tcl 8.0 go below this line.
+----------------------------------------------------------
-3/14/96 (bug fix) Button-2 wasn't claiming the focus during paste
-operations. (JO)
+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.scriptics.com/doc/compiler.html. (BL)
+*** POTENTIAL INCOMPATIBILITY ***
-3/14/96 (bug fix) "tkwait visibility" use to hang forever if its window
-was deleted. Now it detects this condition and returns an error. (JO)
+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 ***
-3/16/96 (bug fix) Changed configuration stuff to get dynamic loading and
-shared libraries working under AIX. (JO)
+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 ***
-3/16/96 (bug fix) Fixed core dumps that could occur when a slave interpreter
-was deleted in the middle of executin bindings. (JO)
+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)
-3/18/96 (new feature) Added support for Activate/Deactivate events.
-Currently, these new X events will generated only on the Macintosh. (RJ/CS)
+----------------- Released 8.0a2, 1/24/97 -----------------------
-3/21/96 (bug fix) The "tag prevrange" command would fail to return the current
-range if it began at 1.0 and the starting point of the search was within
-the range. (BW)
+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 ***
-3/21/96 (configuration improvement) Changed configure script so it
-doesn't use version numbers (as in -ltk4.1 and libtk4.1.so) under
-SunOS 4.1, where they don't work anyway. (JO)
+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 ***
-3/22/96 (bug fix) Made Tk more robust against interpreter deletion. Now it
-should be safe to delete an interpreter with a Tk application inside it,
-without first deleting the Tk application. (JL)
+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 ***
-3/26/96 (bug fix) Tk now returns results from a "send" to an interpreter
-in which the Tk application is destroyed, if the interpreter continues
-computing after the Tk application is destroyed. Previously any results
-computed after '.' was destroyed in the target interpreter were discarded
-by the "send". (JL)
+4/23/97 (removed feature) The modal timeout interface has been
+removed (Tcl_CreateModalTimeout/Tcl_DeleteModalTimeout) (SS)
+*** POTENTIAL INCOMPATIBILITY ***
-3/26/96 (new feature) Tk now provides a static Tktest package which is
-present only in test versions of Tk; this allows the testing commands to
-be loaded into new interpreters besides the main one. (JL)
+4/23/97 (feature change) Channel drivers are now required to correctly
+implement blocking behavior when they are in blocking mode. (SS)
+*** POTENTIAL INCOMPATIBILITY ***
-3/28/96 (bug fix) Changed the tk_dialog procedure *not* to make the
-dialog a transient for its parent. The old behavior meant that the
-dialog did not get posted if the parent was iconified. (JO)
+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)
-4/5/96 (bug fix) Tk would occasionally crash when destroying toplevels
-under Windows. (SS)
+----------------- Released 8.0b1, 5/27/97 -----------------------
-4/5/96 (bug fix) Fonts were not being properly deallocated, causing
-GDI resources to be consumed and never released under Windows. (SS)
+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)
-4/11/96 (bug fix) Toplevel windows with no specified geometry were
-always appearing in the upper left corner of the screen under
-Windows. (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 ***
-4/11/96 (bug fix) "wm minsize" did not properly report the minimum
-size imposed by the Windows window manager. (SS)
+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 ***
-4/13/96 (bug fix) Text widgets could dump core in some cases where
-text was inserted on the top visible line. (JO)
+----------------- Released 8.0b2, 6/30/97 -----------------------
-4/16/96 (bug fix) Changed menu code to ignore errors that occur when
-restoring a grab: the old grab window might not be visible anymore. (JO)
+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 www.scriptics.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 4.1, 4/21/96 -----------------------
+----------------- Released 8.0, 8/18/97 -----------------------
-5/1/96 (bug fix) "option readfile" did not handle files with CRLF
-line termination. (SS)
+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).
-5/1/96 (bug fix) Changed to install tkConfig.sh under "make install-binaries",
-not "make install-libraries". (JO)
+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)
-5/7/96 (bug fix) Moved initScript in tkUnixInit.c to writable memory to
-avoid potential core dumps. (JO)
+8/25/97 (bug fix) Fixed array access bug in IllegalExprOperandType
+procedure in tclExecute.c: it was not properly supporting the || and &&
+operators. (BL)
-5/7/96 (bug fix) Changed tk_dialog back so that the dialog box is a
-transient window again. This is needed to make sure that the dialog
-box doesn't get obscured. Also changed it to return -1 if the dialog
-window is deleted before the user presses a button. (JO)
+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)
-5/16/96 (bug fix) Fixed bug that caused core-dumps if a text widget
-with -setgrid 1 was deleted by removing its command. (JO)
+----------------- Released 8.0p1, 11/7/97 -----------------------
-5/16/96 (bug fix) Fixed bug that caused Tk initialization to use improperly
-initialized variables left over from previous invocation of Tk_Init on
-another interpreter. (JL)
+11/19/97 (bug fix) Fixed bug in linsert where it sometimes accidently
+cleared out a shared argument list object. (BL).
-5/16/96 (new feature) Implemented application embedding on Windows
-platforms (only Tk inside another application, not the other way yet). (JL)
+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)
-5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe
-interpreter. (JL)
+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.
-5/16/96 (bug fix) Fixed bug that caused Tk initialization to use improperly
-initialized variables left over from previous invocation of Tk_Init on
-another interpreter. (JL)
+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)
-5/16/96 (new feature) Implemented application embedding on Windows
-platforms (only Tk inside another application, not the other way yet). (JL)
+----------------- Released 8.0p2, 11/25/97 -----------------------
-5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe
-interpreter. (JL)
+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)
-5/22/96 (bug fix) Listboxes weren't properly ignoring double clicks on
-button 1. (JO)
+---- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ----
-6/12/96 (bug fix) Focus was automatically placed on new toplevels.
-This caused the titlebar to flash during menubar traversal. (SS)
+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)
-6/12/96 (bug fix) Iconification of a window with a specified geometry
-by using the minimize button would leave the window in an inconsistent
-state. When the window was deiconified using "wm deiconify", the
-window would continue to display as an icon with the deiconified
-geometry. (SS)
+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 ***
-6/12/96 (bug fix) Fixed a resource leak where the text widget was not
-freeing all of the TkRegions it created. This fix affects all
-platforms, but is particularly important for Win32s. (SS)
+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)
-6/21/96 (configuration change) Added --enable-gcc switch to configure
-script to make Tk just like Tcl. Now Tk will not use gcc unless you
-request it explicitly. (JO)
+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)
-7/18/96 (bug fix) Changed "configure" script to add an extra -R switch
-(or whatever is appropriate to the platform) if the X library is in a
-nonstandard place. This guarantees that the shared library can be
-found at runtime without having to set the LD_LIBRARY_PATH variable. (JO)
+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)
-7/19/96 (bug fix) Fixed bug in tkImgGIF.c that cause core dumps if a
-GIF file contained multiple images. (JO)
+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 explicitly. (JI)
-7/20/96 (bug fix) Deadlock could occur if a recursive series of send
-operations involved multiple displays. (JO)
+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)
-7/23/96 (bug fix) Fixed a resource leak where deallocated XIDs were
-taking up memory on Windows and Macintosh platforms. (SS)
+----------------- Released 8.0.4, 11/19/98 -------------------------
-7/30/96 (bug fix) A core dump could occur if a <Destroy> handler for
-a window tried to create a child in the half-dead window. Fixed by
-making the window's name disappear from the name table once it starts
-to be deleted. (JO)
+11/20/98 (bug fix) Handle possible NULL return in TclGetStdFiles. (RJ)
------------------ Released patch 4.1p1, 8/2/96 -----------------------
+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)
-4/30/96 (new feature) Added support for named virtual events. New "event"
-command to define/destroy named virtual events and to programmatically
-send both real and virtual events to Tk. (CS)
+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)
-8/6/96 (bug fix) Entry widgets were invoking scrollbar update functions
-too often. (JO)
+1/11/98 (bug fix) On HP, "info sharedlibextension" was returning
+empty string on static apps. It now always returns ".sl". (RJ)
-8/9/96 (bug fix) 7/30 change above for <Destroy> handlers broke many
-things by making window available during Destroy handler. Reworked
-fix for core dump to simply disallow creating children of half-dead
-parents. (JO)
+1/28/99 (configure change) Now support -pipe option on gcc. (RJ)
-8/12/96 (bug fix) Fixed bug where using the Copy menu item on the
-Macintosh would append a NULL character at the end of the text. (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)
-8/15/96 (bug fix) Fixed Mac code so garbage wouldn't be printed in
-text and entry widgets when function & other non-printing keys were
-pressed. (RJ)
+2/2/99 (bug fix) Added support for HKEY_PERFORMANCE_DATA and
+HKEY_DYN_DATA keys in the "registry" command. (stanton)
-8/15/96 (configuration improvement) Changed the file patchlevel.h
-to be tkPatch.h. This avoids conflict with the Tcl file and is now
-in 8.3 format on the Windows platform. (RJ)
+2/2/99 (bug fix) ENOTSUP and EOPNOTSUPP clashed on some Linux
+variants. (stanton)
-8/19/96 (bug fix) Fixed a bug under Windows where the initial window
-position for a toplevel window was reported as +0+0, regardless of the
-actual position. (SS)
+2/2/99 (enhancement) The "open" command has been changed to use the
+object interfaces. (stanton)
-8/21/96 (bug fix) If the last character on a line in a text widget was
-a space character that didn't completely fit, the text widget would
-sometimes add an extra wrap line. (JO)
+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)
-8/22/96 (feature change) Complete rewrite of the grid geometry manager.
-There is a new layout algorithm that produces better (but different)
-layouts in many common cases. (SU)
+2/2/99 (bug fix) Changed configure so Linux and IRIX shared libraries
+are linked with the system libraries. (stanton)
-8/22/96 (new feature) There are two new options for the grid geometry
-manager, "grid update" which forces an immediate layout calculation,
-and a "-pad" option to rowconfigure and columnconfigure that allows for
-extra space around widgets. (SU)
+2/2/99 (bug fix) Added support for BSDI 4.x (BSD/OS-4*) to the
+configure script. (stanton)
-8/22/96 (feature change) The order in which the grid geometry manager
-reports slaves is now last-managed first. (SU)
+2/2/99 (bug fix) Fixed bug where upvar could resurrect a namespace
+variable after the namespace had been deleted. (stanton)
-8/22/96 (feature change) The column and row weights in the grid
-geometry manager are kept internally as integers, instead of floating
-point values. Floating point values are still accepted on the command line,
-but are truncated to integers. (SU)
+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)
-8/22/96 (new feature) There are four new commands for opening common
-dialog boxes: tk_chooseColor, tk_getOpenFile, tk_getSaveFile and
-tk_messageBox. Native dialog boxes are used wherever available. (IL)
+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)
-8/22/96 (new demos) Added "fsbox", "msgbox" and "clrpick" demos. (IL)
+2/2/99 (bug fix) Deleting a renamed interp alias could result in a
+panic. (stanton)
-8/23/96 (feature change) Invoking the edit menu on the Macintosh now
-generates the following virtual events <<Cut>>, <<Copy>>, <<Paste>>,
-and <<Clear>> instead of faking key events. (RJ)
+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 ***
-8/25/96 (bug fix) Fixed a bug that would cause "grid x" to dump core. (SU)
-
-8/26/96 (new feature) Added the "unsupported1" command to the
-Macintosh version of Tk. This command will allow you to set the style
-of a new toplevel Window (much like overrideredirect). You can use
-this to get access to all of the Native Mac window styles. This is to
-hold you over until we get a more general solution added to the
-toplevel command. (RJ)
-
-8/26/96 (new feature) Added support to handle the zoom box on a
-Macintosh window. (Currently, you can only get a Tk window with a
-zoom box by using the "unsupported1" command. (RJ)
-
-8/27/96 (documentation change) Removed old change bars (for changes in
-Tk 4.1 and earlier releases) from manual entries. (JO)
-
------------------ Released 4.2b1, 8/30/96 -----------------------
-
-9/5/96 (bug fixes) Fixed several bugs in file dialogs: individual files
-could be listed twice, if a long list of files were shown, and the view
-scrolled to the right, and then a different file file was shown, the
-scrollregion on the canvas wasn't being reset, so the file dialog was
-broken from then on, added an update idletasks so that the watch
-cursor was shown when the dialog was thinking. For the motif file
-dialog, fixed the weights for resizing. On the clrpicker, fixed the
-finalColor variable which caused problems when the OK button was
-"clicked" before the dialog was mapped (in the test suite). Added Ioi's
-last changes from before he left. For message boxes, if a single button
-message box is shown (currently only 'ok'), it is set to be the default
-even if not specified. (KC)
-
-9/5/96 (bug fix) Fixed bug on Macintosh where menus would appear in a
-seemingly random location. (RJ)
-
-9/5/96 (bug fix) Text widgets had rounding problems with the "yview"
-command that caused them sometimes to round to the line before the
-correct one. (JO)
-
-9/5/96 (bug fix) Changed grab code to retry grabs after errors where
-another application already has the grab. This is needed to get
-around race conditions with some window managers and will hopefully
-solve the grab errors that people see occasionally. (JO)
-
-9/6/96 (bug fix) Fixed x-y coordinate confusion problem with scaling
-of window items in canvases. (JO)
-
-9/11/96 (bug fix) The open and save file dialogs would change the
-current working directory under Windows. (SS)
-
-9/12/96 (bug fix) The Tk event system was delivering events to dead
-windows, if the event handler got reentered during a Destroy event
-handler. This could cause core dumps and other problems. (JO)
-
-9/20/96 (bug fix) In XFillRectangles under Windows, a brush was not
-being deallocated. (SS)
-
-9/20/96 (bug fix) The Mac window manager used to generate a mouseUp
-event for a top level that was recently raised to the front/active
-window which often caused a tk(priv) error. The up event is no
-longer generated with solves several problems. (RJ)
-
-9/25/96 (bug fix) The font code under Windows was leaking memory
-whenever a new font was referenced using the three part font names. (SS)
-
-9/26/96 (bug fix) The tests for the common dialogs still used the 'testevent'
-function. I updated these calls in clrpick.test, msgbox.test, filebox.test
-to use the new event gereating mechanism.
-
-9/18/96 (bug fix) Long-standing bug in bind where <Button-1><Button-1> was
-reported as <Double-Button-1>, but <Double-Key-a> was reported as "aa". (CS)
-
-9/27/96 (bug fix) Bindings didn't work on 64-bit machines due to changes
-made for virtual events. (CS)
-
-9/30/96 (feature change) Binding for new virtual events included both
-lower and upper-case, e.g., <<Copy>> was defined as <Control-c> and
-<Control-C>. Previously, widgets were directly bound to only lower-case
-bindings. The upper-case binding caused incompatibility with some existing
-Tcl programs, so the upper case bindings for <<Cut>>, <<Copy>>, and <<Paste>>
-were removed. (CS)
-
-9/30/96 (bug fix) The postscript code in the canvas widget now uses
-channels to get and write .ps files which fixed a bug on the Mac where
-an output file would have mixed EOL characters. In addition, I added
-the ability for the prolog to come from the Tk shared library on the
-Mac which makes it possible to have a standalone application. (RJ)
-
-10/1/96 (feature change) "grid forget" was renamed "grid remove". A new
-command "grid forget" was added whose semantics are the same as "pack forget"
-(SAU)
+----------------- Released 8.0.5, 3/9/99 -------------------------
+
+======== Changes for 8.0 go above this line ========
+======== Changes for 8.1 go below this line ========
+
+6/18/97 (new feature) Tcl now supports international character sets:
+ - All C APIs now accept UTF-8 strings instead of iso8859-1 strings,
+ wherever you see "char *", unless explicitly noted otherwise.
+ - All Tcl strings represented in UTF-8, which is a convenient
+ multi-byte encoding of Unicode. Variable names, procedure names,
+ and all other values in Tcl may include arbitrary Unicode characters.
+ For example, the Tcl command "string length" returns how many
+ Unicode characters are in the argument string.
+ - For Java compatibility, embedded null bytes in C strings are
+ represented as \xC080 in UTF-8 strings, but the null byte at the end
+ of a UTF-8 string remains \0. Thus Tcl strings once again do not
+ contain null bytes, except for termination bytes.
+ - For Java compatibility, "\uXXXX" is used in Tcl to enter a Unicode
+ character. "\u0000" through "\uffff" are acceptable Unicode
+ characters.
+ - "\xXX" is used to enter a small Unicode character (between 0 and 255)
+ in Tcl.
+ - Tcl automatically translates between UTF-8 and the normal encoding for
+ the platform during interactions with the system.
+ - The fconfigure command now supports a -encoding option for specifying
+ the encoding of an open file or socket. Tcl will automatically
+ translate between the specified encoding and UTF-8 during I/O.
+ See the directory library/encoding to find out what encodings are
+ supported (eventually there will be an "encoding" command that
+ makes this information more accessible).
+ - There are several new C APIs that support UTF-8 and various encodings.
+ See Utf.3 for procedures that translate between Unicode and UTF-8
+ and manipulate UTF-8 strings. See Encoding.3 for procedures that
+ create new encodings and translate between encodings. See
+ ToUpper.3 for procedures that perform case conversions on UTF-8
+ strings.
+
+9/18/97 (enhancement) Literal objects are now shared by the ByteCode
+structures created when compiled different scripts. This saves up to 45%
+of the total memory needed for all literals. (BL)
+
+9/24/97 (bug fixes) Fixed Tcl_ParseCommand parsing of backslash-newline
+sequences at start of command words. Suppressed Tcl_EvalDirect error logging
+if non-TCL_OK result wasn't an error. (BL)
+
+10/17/97 (feature enhancement) "~username" now refers to the users' home
+directory on Windows (previously always returned failure). (CCS)
+
+10/20/97 (implementation change) The Tcl parser has been completely rewritten
+to make it more modular. It can now be used to parse a script without actually
+executing it. The APIs for the new parser are not correctly exported, but
+they will eventually be exported and augmented with Tcl commands so that
+Tcl scripts can parse other Tcl scripts. (JO)
+
+10/21/97 (API change) Added "flags" argument to Tcl_EvalObj, removed
+Tcl_GlobalEvalObj procedure. Added new procedures Tcl_Eval2 and
+Tcl_EvalObjv. (JO)
*** POTENTIAL INCOMPATIBILITY ***
-10/1/96 (feature change) grid no longer accepts floating point values for
-row or column weights, integers must be used. (SAU)
+10/22/97 (API change) Renamed Tcl_ObjSetVar2 and Tcl_ObjGetVar2 to
+Tcl_SetObjVar2 and Tcl_GetObjVar2 (for consistency with other C APIs)
+and changed the name arguments to be strings instead of objects. (JO)
*** POTENTIAL INCOMPATIBILITY ***
-10/1/96 (feature change) "grid {column,row}configure <master> <index>"
-returns a list of option value pairs for all of the row or column
-constraints. It used to return an error. (SAU)
+10/27/97 (enhancement) Bytecode compiler rewritten to use the new Tcl
+parser. (BL)
-10/1/96 (bug fix) "The way grid handles '^' short-cuts was re-written
-to eliminate core dumps. (SAU)
+11/3/97 (New routines) Added Tcl_AppendObjToObj, which appends the
+string rep of one Tcl_Obj to another. Added Tcl_GetIndexFromObjStruct,
+which is similar to Tcl_GetIndexFromObj, except that you can give an
+offset between strings. This allows Tcl_GetIndexFromObjStruct to be
+called with a table of records which have strings in them. (SRP)
-10/3/96 (feature change) A virtual event binding associated with a
-given physical event is now considered less specific than a binding for
-that same physical event, all other things being equal. (CS).
+12/4/97 (enhancement) New Tcl expression parser added. Added new procedure
+Tcl_ParseExpr and new token types TCL_TOKEN_SUB_EXPR and
+TCL_TOKEN_OPERATOR. Expression compiler is reimplemented to use this
+parser. (BL)
-10/3/96 (bug fix) Under Windows text placed on the clipboard did not
-undergo CRLF translation when delivered to other applications. (SS)
+12/9/97 (bug fix) Tcl_EvalObj() increments/decrements the refcount of the
+script object to prevent the object from deleting itself while in the
+middle of being evaluated. (CCS)
-10/3/96 (bug fix) Copying an image onto itself with a zoom factor that
-caused the image to grow was accessing freed memory. (SS)
+12/9/97 (bug fix) Memory leak in Tcl_GetsObjCmd(). (CCS)
-10/3/96 (bug fix) Under Windows, the image blank subcommand did not
-work. (SS)
+12/11/97 (bug fix) Environment array leaked memory when compiled with
+Visual C++. (SS)
-10/10/96 (bug fix) Under Windows & Macintosh, XSetFont and XChangeGC
-were not implemented, and XSetLineAttributes did not correctly update
-the GC. (SS)
+12/11/97 (bug fix) File events and non-blocking I/O did not work on
+pipes under Windows. Changed to use threads to achieve non-blocking
+behavior. (SS)
-10/10/96 (bug fix) Under Windows, 8-bit non-palette displays were not
-handled properly. (SS)
+12/18/97 (bug fixes) Fixed segfault in "namespace import"; importing a
+procedure that causes a cycle now returns an error. Modified "info procs",
+"info args", "info body", and "info default" to return information about
+imported procedures as well as procedures defined in a namespace. (BL)
-10/10/96 (bug fix) Under Windows, images of depth other than 8 or 24
-bits were not being rendered properly. (SS)
+12/19/97 (enhancement) Added new Tcl_GetString() procedure that can be used
+in place of Tcl_GetStringFromObj() if the string representation's length
+isn't needed. (BL)
-10/10/96 (bug fix) Under Windows, bitmap subimages were not correctly
-displayed. (SS)
+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)
-10/14/96 (bug fix) Under Window, wm resizable would constrain both
-programatic resizes as well as user resizes. (SS)
+1/7/98 (clean up) Moved everything not absolutly necessary out of init.tcl
+procs now in auto.tcl and package.tcl can be autoloaded if needed. (DL)
------------------ Released 4.2, 10/16/96 -----------------------
+1/7/98 (enhancement) tcltest made at install time will search for it's
+init.tcl where it is, even when using virtual path compilation. (DL)
-10/17/96 (bug fix) XCopyPlane was broken under Windows and would cause
-a crash when used with a clipping bitmap. (SS)
+1/8/98 (os bug workaround) when needed, using a replacement for memcmp so
+string compare "char with high bit set" "char w/o high bit set" returns
+the expected value on all platforms. (DL)
-10/21/96 (bug fix) Added missing resources needed by tk_getOpenDialog
-on the Macintosh to the shared library for Tk. (RJ)
+1/8/98 (unix portability/configure) building from .../unix/targetName/
+subdirectories and simply using "../configure" should now work fine. (DL)
-10/22/96 (bug fix) Invoking a menu with an Alt key sequence caused an
-error due to a misplaced common in library/menu.tcl. (JO)
-
-10/23/96 (bug fix) Errors in files sourced by the Macintosh
-"Source..." menu are now correctly reported via the background
-error mechanism. (RJ)
+1/14/98 (enhancement) Added new regular expression package that
+supports AREs, EREs, and BREs. The new package includes new escape
+characters, meta-syntax, and character classes inside brackets.
+Regexps involving backslashes may behave differently. (MH)
+*** POTENTIAL INCOMPATIBILITY ***
-10/23/96 (bug fix) Fixed a bug in the Mac subwindow implementation
-that caused refreshes to not occur for canvases with embedded
-windows. (RJ)
+1/16/98 (os workaround) Under windows, "file volume" was causing chatter
+and/or several seconds of hanging when querying empty floppy drives.
+Changed implementation to call an empirically-derived function that doesn't
+cause this. (CCS)
-10/24/96 (bug fix) Provided workaround for Apple bug that doesn't
-handle zooming correctly for floating windows. (RJ)
+1/16/98 (enhancement) Converted regular expressions to a Tcl_Obj type so
+their compiled form gets cached automatically. Reduced NSUBEXP from 100
+to 20. (BW)
-10/24/96 (bug fix) Macintosh tearoff menus are now correctly
-displayed as Mac floating windows. (RJ)
+1/16/98 (documentation) Change unclear documentation and comments for
+functions like Tcl_TranslateFileName() and Tcl_ExternalToUtfDString(). Now
+it explicitly says they take an uninitialized or free DString. A DString
+that is "empty" or "not holding anything" could have been interpreted as one
+currently with a zero length, but with a large dynamically allocated buffer.
+(CCS)
-11/1/96 (bug fix) Restored manual page for procedures like
-Tk_CreateWindowFromPath and Tk_DestroyWindow; was accidentally deleted
-when Tk_CreateMainWindow procedure was decommissioned. (JO)
+----------------- Released 8.1a1, 1/22/98 -----------------------
-11/19/96 (bug fix) Fixed bugs in postscript code that would cause the
-prefix to not be included and the output file to have the wrong
-permissions. (RJ)
+1/28/98 (new feature) Added a "-direct" optional flag to pkg_mkIndex
+to generate direct loading package indexes (such those you need
+if you use namespaces and plan on using namespace import just after
+package require). pkg_mkIndex still has limitations regarding
+package dependencies but errors are now ignored and with -direct, correct
+package indexes can be generated even if there are dependencies as long
+as the "package provide" are done early enough in the files. (DL)
+
+1/28/98 (enhancement) Performance tuning of regexp and regsub. (CCS)
+
+1/28/98 (bug fix) regexp and regsub with "-indices" returned the byte-offsets
+of the characters in the UTF-8 representation, not the character offsets
+themselves. (CCS)
+
+1/28/98 (bug fix) "clock format 0 -format %Z -gmt 1" would return the local
+timezone string instead of "GMT" on Solaris and Windows.
+
+1/28/98 (bug fix) Restore tty settings when closing serial device on Unix.
+This is good behavior when closing real serial devices, essential when
+closing the pseudo-device /dev/tty because the user's terminal settings
+would be left useless, in raw mode, when tcl quit. (CCS)
+
+1/28/98 (bug fix) Tcl_OpenCommandChannel() was modifying the contents of the
+argv array passed to it, causing problems for any caller that wanted to
+continue to use the argv array after calling Tcl_OpenCommandChannel(). (CCS)
+
+2/1/98 (bug fix) More bugs with %Z in format string argument to strftime():
+1. Borland always returned empty string.
+2. MSVC always returned the timezone string for the current time, not the
+ timezone string for the specified time.
+3. With MSVC, "clock format 0 -format %Z -gmt 1" would return "GMT" the first
+ time it was called, but would return the current timezone string on all
+ subsequent calls. (CCS)
+
+2/1/98 (bug fix) "file stat" was broken on Windows.
+1. "file stat" of a root directory (local or network) or a relative path that
+ resolved to a root directory (c:. when in pwd was c:/) was returning error.
+2. "file stat" on a regular file (S_IFREG), the st_mode was sign extended to
+ a negative int if the platform-dependant type "mode_t" was declared as a
+ short instead of an unsigned short.
+3. "file stat" of a network directory, the st_dev was incorrectly reported
+ as the id of the last accessed local drive rather than the id of the
+ network drive. (CCS)
+
+2/1/98 (bug fix) "file attributes" of a relative path that resolved to a
+root directory was returning error. (CCS)
+
+2/1/98 (bug fix) Change error message when "file attribute" could not
+determine the attributes for a file. Previously it would return different
+error messages on Unix vs. Windows vs. Mac. (CCS)
+
+2/4/98 (bug fixes) Fixed several instances of bugs where the parser/compiler
+would reach outside the range of allocated memory. Improved the array
+lookup algorithm in set compilation. (DL)
+
+2/5/98 (change) The TCL_PARSE_PART1 flag for Set/Get(Obj)Var2 C APIs is now
+deprecated and ignored. The part1 is always parsed when the part2 argument
+is NULL. This is to avoid a pattern of errors for extension writers converting
+from string based Tcl_SetVar() to new Tcl_SetObjVar2() and who could easily
+forget to provide the flag and thus get code working for normal variables
+but not for array elements. The performance hit is minimal. A side effect
+of that change is that is is no longer possible to create scalar variables
+that can't be accessed by tcl scripts because of their invalid name
+(ending with parenthesis). Likewise it is also parsed and checked to
+ensure that you don't create array elements of array whose name is a valid
+array element because they would not be accessible from scripts anyway.
+Note: There is still duplicate array elements parsing code. (DL)
+*** POTENTIAL INCOMPATIBILITY ***
-12/2/96 (bug fix) Fixed problem with canvas lines where it didn't
-compute bounding boxes correctly for zero-width lines: this could
-potentially leave garbage on the screen when items were deleted or
-moved. (JO)
+2/11/98 (bug fix) Sharing objects between interps, such as by "interp
+eval" or "send" could cause a crash later when dereferencing an interp
+that had been deleted, given code such as:
+ set a {set x y}
+ interp create foo
+ interp eval foo $a
+ interp delete foo
+ unset a
+Interp "foo" was gone, but "a" had a internal rep consisting of bytecodes
+containing a dangling pointer to "foo". Unsetting "a" would attempt to
+return resources back to "foo", causing a crash as random memory was
+accessed. The lesson is that that if an object's internal rep depends on
+an interp (or any other data structure) it must preserve that data in
+some fashion. (CCS)
+
+2/11/98 (enhancement) The "interp" command was returning inconsistent error
+messages when the specified slave interp could not be found. (CCS)
+
+2/11/98 (bug fix) Result codes like TCL_BREAK and TCL_CONTINUE were not
+propagating through the master/slave interp boundaries, such as "interp
+eval" and "interp alias". TCL_OK, TCL_ERROR, and non-standard codes like
+teh integer 57 work. There is still a question as to whether TCL_RETURN
+can/should propagate. (CCS)
+
+2/11/98 (bug fix) TclCompileScript() was derefering memory 1 byte before
+start of the string to compile, looking for ']'. (CCS,DL)
+
+2/11/98 (bug fix) Tcl_Eval2() was derefering memory 1 byte before start
+of the string to eval, looking for ']'. (CCS,DL)
+
+2/11/98 (bug fix) Compiling "set a(b" was running off end of string. (CCS,DL)
+
+2/11/98 (bug fix) Windows initialization code was dereferencing
+uninitialized memory if TCL_LIBRARY environment didn't exist. (CCS)
+
+2/11/98 (bug fix) Windows "registry" command was dereferencing
+uninitialized memory when constructing the $errorCode for a failed
+registry call. (CCS)
+
+2/11/98 (enhancement) Eliminate the TCL_USE_TIMEZONE_VAR definition from
+configure.in, because it was the same information as the already existing
+HAVE_TM_ZONE definition. The lack of HAVE_TM_ZONE is used to work around a
+Solaris and Windows bug where "clock format [clock sec] -format %Z -gmt 1"
+produces the local timezone string instead of "GMT". (CCS)
+
+2/11/98 (bug fix) Memleaks and dereferencing of uninitialized memory in
+regexp if an error occurred while compiling a regular expression. (CCS).
+
+2/18/98 (new feature) Added mutexes and thread local storage in order
+to make Tcl thread safe. For testing purposes, there is a testthread
+command that creates a new thread and an interpreter inside it. See
+thread.test for examples, but this script-level interface is not fixed.
+Each thread has its own notifier instance to manage its own events,
+and threads can post messages to each other's message queue.
+This uses pthreads on UNIX, and native thread support on other platforms.
+You enable this by configuring with --enable-threads. Note that at
+this time *Tk* is still not thread safe. Special thanks to
+Richard Hipp: his earlier implementation inspired this work. (BW, SS, JI)
+
+2/18/98 (hidden feature change) The way the env() array is shared among
+interpreters changed. Updates to env used to trigger write traces in
+other interpreters. This undocumented feature is no longer implemented.
+Instead, variable tracing is used to keep the C-level environ array in sync
+with the Tcl-level env array. This required adding TCL_TRACE_ARRAY support
+to Tcl_TraceVar2 so that array names works properly. (BW)
+*** POTENTIAL INCOMPATIBILITY ***
-12/5/96 (bug fix) Fixed the Macintosh implementation of pointer x/y
-which was returning garbage. (RJ)
+2/18/98 (enhancement) Conditional compilation for unix systems (e.g.,
+IRIX, SCO) that use f_bsize instead of st_blksize to determine disk block
+size. (CCS)
-12/6/96 (bug fix) Fixed grid bug where the positioning of slaves was
-incorrect for non-zero values of ipadx and ipady (SU)
+2/23/98 (bug fix) Fixed the emulation of polling selects in the threaded
+version of the Unix notifier. The bug was showing up on a multiprocessor
+as starvation of the notifier thread. (BW)
-12/6/96 (bug fix) Fixed grid bug where slaves got "lost" when an
-already managed slave is re-managed in a different master. (SAU)
+----------------- Released 8.1a2, Feb 23 1998 -----------------------
------------------ Released 4.2p1, 12/8/96 (Mac only) --------------
+9/22/98 (bug fix) Changed the value of TCL_TRACE_ARRAY so it no longer
+conflicts with the deprecated TCL_PARSE_PART1 flag. This should
+improve portability of C code. (stanton)
-1/17/97 (bug fix) Fixed bug where the Tk clipboard was not in sync
-with the Macintosh clipboard on start-up. (RJ)
+10/6/98 (bug fix) The compile procedure for "if" incorrectly attempted
+to match against the literal string "if", resulting in a stack
+overflow when "::if" was compiled. It also would incorrectly accept
+"if" instead of "elsif" in later clauses. (stanton)
------------------ Released 4.2p2, 1/31/97 --------------
+10/15/98 (new feature) Added a "totitle" subcommand to the "string"
+command to convert strings to capitalize the first character of a string
+and lowercase all of the other characters. (stanton)
-----------------------------------------------------------
-Changes for Tk 4.2 go above this line.
-Changes for Tk 4.3 go below this line.
-----------------------------------------------------------
+10/15/98 (bug fix) Changed regexp and string commands to properly
+handle case folding according to the Unicode character
+tables. (stanton)
-9/19/96 (improvement) Implemented table driven mechanism for deciding
-whether a command is safe. If it is added by Tk_Init and it appears in the
-table then it is kept, otherwise it is removed in a safe interpreter. (JL)
+10/21/98 (new feature) Added an "encoding" command to facilitate
+translations of strings between different character encodings. See
+the encoding.n manual entry for more details. (stanton)
-10/18/96 (new feature) Added support for application embedding:
- - Frame and toplevel widgets now have a -container option, which
- turns the widget into a container.
- - Toplevel widgets have a -use option for requesting that the
- widget be embedded in another application.
- - Wish also supports a -use command-line option.
-Embedding is fully supported under Unix, but the implementation is
-not complete under Windows or the Macintosh (it works just well
-enough to support the Tcl/Tk plugin). (JO)
+11/3/98 (bug fix) The regular expression character classification
+syntax now includes Unicode characters in the supported
+classes. (stanton)
-10/22/96 (bug fix) The commands "winfo rootx" and "winfo rooty" didn't
-work for non-toplevel windows in embedded applications: they returned
-the coordinates of the nearest toplevel. (JO)
+11/6/98 (bug fix) Variable traces were causing crashes when upvar
+variables went out of scope. [Bug: 796] (stanton)
-12/02/96 (new feature) Implemented Safe Tk. Tk can now be loaded into a
-safe interpreter that has been created with tcl_safeCreateInterp, by
-calling load {} Tk interpname. (JL)
+11/9/98 (bug fix) "format" now correctly handles multibyte characters
+in %s format strings. (stanton)
-12/02/96 (new feature) A safe Tk interpreter can no longer generate
-postscript output from a canvas. (JL)
+11/10/98 (new feature) "regexp" now accepts three new switches
+("-line", "-lineanchor", and "-linestop") that control how regular
+expressions treat line breaks. See the regexp manual entry for more
+details. (stanton)
-12/02/96 (new feature) Added -channel option to photo command to allow
-image data to be read from a channel. This is useful in safe Tk
-interpreters where the data cannot be read directly from a file. (JL)
+11/17/98 (bug fix) "scan" now correctly handles Unicode
+characters. (stanton)
-----------------------------------------------------------
-Changes for Tk 4.3 go above this line.
-Changes for Tk 8.0 go below this line.
-----------------------------------------------------------
+11/17/98 (new feature) "scan" now supports XPG3 position specifiers
+and the "%n" conversion character. See the "scan" manual entry for
+more details. (stanton)
+
+11/17/98 (bug fix) The Tcl memory allocator now returns 8-byte aligned
+chunks of memory which improves performance on Windows and avoids
+crashes on other platforms. [Bug: 834] (stanton)
+
+11/23/98 (bug fix) Applied various regular expression performance bug
+fixes supplied by Henry Spencer. (stanton)
+
+11/30/98 (bug fix) Fixed various thread related race conditions. [Bug:
+880 & 607] (stanton)
+
+11/30/98 (bug fix) Fixed a number of memory overflow and leak
+bugs. [Bug: 584] (stanton)
+
+12/1/98 (new feaure) Added support for Korean encodings. (stanton)
+
+12/1/98 (feature change) Changed the Tcl_EvalObjv interface to remove
+the string and length arguments.
+*** POTENTIAL INCOMPATIBILITY with previous alpha releases ***
+
+12/2/98 (bug fix) Fixed various bugs related to line feed
+translation. [Bug: 887] (stanton)
+
+12/4/98 (new feature) Added a message catalog facility to help with
+localizing Tcl scripts. Thanks to Mark Harrison for contributing the
+initial implementation of the "msgcat" package. (stanton)
+
+12/7/98 (bug fix) The memory allocator was failing to update the
+block list for large memory blocks that were reallocated into a
+different address. [Bug: 933] (stanton)
+
+----------------- Released 8.1b1, Dec 10 1998 -----------------------
+
+12/22/98 (performance improvement) Improved the -command option of the
+lsort command to better use the object system for improved
+performance (about 5x speed up). Thanks to Syd Polk for suppling the
+patch. [RFE: 726] (rjohnson)
+
+2/10/99 (bug fix) Restored the Tcl_ObjSetVar2/Tcl_ObjGetVar2
+interfaces from 8.0 and renamed the Tcl_GetObjVar2/Tcl_SetObjVar2
+interfaces to Tcl_GetVar2Ex and Tcl_SetVar2Ex. This should provide
+better compatibility with 8.0. (stanton)
+*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
+
+2/10/99 (bug fix) Made the eval interfaces compatible with 8.0 by
+renaming Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to
+Tcl_EvalEx and restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces
+so they match Tcl 8.0. (stanton)
+*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
+
+2/25/99 (bug fix/new feature) On Windows, the channel drivers for
+consoles and serial ports now completely support file events. (redman)
+
+3/5/99 (bug fix) Integrated patches to fix various configure problems
+that affected HP-UX-11, 64-bit IRIX, Linux, and Solaris. (stanton)
+
+3/9/99 (bug fix) Integrated various AIX related patches to improve
+support for shared libraries. (stanton)
+
+3/9/99 (new feature) Added tcl_platform(user) to provide a portable
+way to get the name of the current user. (welch)
+
+3/9/99 (new feature) Integrated the stub library mechanism contributed
+by Jan Nijtmans, Paul Duffin, and Jean-Claude Wippler. This feature
+should make it possible to write extensions that support multiple
+versions of Tcl simultaneously. It also makes it possible to
+dynamically load extensions into statically linked interpreters. This
+patch includes the following changes:
+ - Added a Tcl_InitStubs() interface
+ - Added Tcl_PkgProvideEx, Tcl_PkgRequireEx, Tcl_PkgPresentEx,
+ and Tcl_PkgPresent.
+ - Added va_list versions of all VARARGS functions so they can be
+ invoked from wrapper functions.
+See the manual for more information. (stanton)
+
+
+3/10/99 (feature change) Replaced Tcl_AlertNotifier with
+Tcl_ThreadAlert since the Tcl_AlertNotifier function relied on passing
+internal data structures. (stanton)
+*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases ***
+
+3/10/99 (new feature) Added a Tcl_GetVersion API to make it easier to
+check the Tcl version and patch level from C. (redman)
+
+3/14/99 (feature change) Tried to unify the TclpInitLibrary path
+routines to look in similar places from Windows to UNIX. The new
+library search path is: TCL_LIBRARY, TCL_LIBRARY/../tcl8.1, relative
+to DLL (Windows Only) relative to installed executable, relative to
+develop executable, and relative to compiled-in in location (UNIX
+Only.) This fix included:
+ - Defining a TclpFindExecutable
+ - Moving Tcl_FindExecutable to a common area in tclEncoding.c
+ - Modifying the TclpInitLibraryPath routines.
+(surles)
+
+3/14/99 (feature change) Added hooks for TclPro Wrapper to initialize
+the location of the encoding files and libraries. This fix included:
+ - Adding the TclSetPerInitScript routine.
+ - Modifying the Tcl_Init routines to evaluate the non-NULL
+ pre-init script.
+ - Adding the Tcl_SetdefaultEncodingDir and Tcl_GetDefaultEncodingDir
+ routines.
+ - Modifying the TclpInitLibrary routines to append the default
+ encoding dir.
+(surles)
-9/1/96 (new features) The font mechanism in Tk has been completely
-reworked:
- - Font names need not be nasty X LFDs: more intuitive names like
- {Times 12 Bold} can also be used. See the manual entry font.n
- for details.
- - Font requests always succeed now. If the requested font is not
- available, Tk finds the closest available font and uses that one.
- - Tk now supports named fonts whose precise attributes can be
- changed dynamically. If a named font is changed, any widget
- using that font updates itself to reflect the change.
- - There is a new command "font" for creating named fonts and querying
- various information about fonts.
- - There are now officially supported C APIs for measuring and
- displaying text. If you use these APIs now, your code will
- automatically handle international text when internationalization
- is added to Tk in a future release. See the manual entries
- MeasureChar.3, TextLayout.3, and FontId.3.
- - The old C procedures Tk_GetFontStruct, Tk_NameOfFontStruct, and
- Tk_FreeFontStruct have been replaced with more portable procedures
- Tk_GetFont, Tk_NameOfFont, and Tk_FreeFont.
- *** POTENTIAL INCOMPATIBILITY ***
-(CS)
-
-9/24/96 (bug fix) Under Windows, transient windows would be destroyed
-if their master was destroyed, even if the transient window was not a
-child of the master. (SS)
-
-10/18/96 (new features) A -menu option has been added to the toplevel
-widget command, which allows a menu to operate as a menubar. On the
-Macintosh, the menubar is displayed accross the top of the main monitor,
-just like with other applications. Under Windows and Unix, the menu is
-attached to the toplevel window. Also, changed some semantics.
-Tearoff menus will now reflect changes to the menu it was
-torn off from, and are deleted when the master menu is
-deleted. Tearoffs also reflect more look-and-feel of the
-platforms they are running on. (SRP)
-
-10/31/96 (bug fix) Under Windows, missing system cursors would
-generate an error instead of falling through to the Tk cursor of the
-same name. (SS)
-
-11/7/96 (feature change) Under Unix, default borderwidth is now 1 to
-more closely approximate CDE. (SS)
-Note: this change was undone on 6/12/97, restoring the default border
-width to 2 again. (JO)
-
-11/7/96 (new feature) The button widget now supports a -default option
-that draws a platform specific default ring around the widget. (SS)
-
-11/7/96 (feature change) Under Windows, buttons and scrollbars now
-have native look and feel. This affects the default class bindings
-and the way the some configuration options are interpreted. Refer to
-the widget manual pages for more details. (SS)
+3/14/99 (feature change) Test suite now uses "test" namespace to
+define the test procedure and other auxiliary procedures as well as
+global variables.
+ - Global array testConfige is now called ::test::testConfig.
+ - Global variable VERBOSE is now called ::test::verbose, and
+ ::test::verbose no longer works with numerical values. We've
+ switched to a bitwise character string. You can set
+ ::test::verbose by using the -verbose option on the Tcl command
+ line.
+ - Global variable TESTS is now called ::test::matchingTests, and
+ can be set on the Tcl command line via the -match option.
+ - There is now a ::test::skipTests variable (works similarly to
+ ::test::matchTests) that can be set on the Tcl command line via
+ the -match option.
+ - The test suite can now be run in any working directory. When
+ you run "make test", the working directory is nolonger switched
+ to ../tests.
+(hirschl)
*** POTENTIAL INCOMPATIBILITY ***
-11/19/96 (bug fix) Under Windows, images were incorrectly drawn on
-16-bit displays. (SS)
-
-11/19/96 (bug fix) Under Windows, the class name for the main window
-(.) was not properly generated from argv0. (SS)
-
-11/20/96 (bug fix) Fixed a couple of bugs in the Canvas widget. The
-postscript file is now created with the correct permissions. Also,
-the prolog is now properly included in all cases. (RJ)
-
-11/22/96 (bug fix) Under Windows, the initial directory and file names
-were not properly translated before being passed to the system
-open/save file dialogs. So forward slashes were not converted to
-backslashes, and tilde substitution was not performed. (SS)
+--------------- Released 8.1b2, March 16, 1999 ----------------------
-11/25/96 (feature change) Under Windows and Macintosh, the selection
-highlight is now hidden whenever an entry or text widget loses focus.
-Also, the previous selection information is not lost when a new
-selection is made in a different widget. (SS)
+3/18/99 (bug fix) Fixed missing/incorrect characters in shift-jis table
+(stanton)
-11/26/96 (new feature) Added support for images as primitive types in
-text widgets. (SU)
-
-11/30/96 (configuration improvement) Modified configure.in to handle the
-case where Tcl and Tk are installed in different places by including both
-their library directories in the library search path for Tk. (JO)
+3/18/99 (feature change) The glob command ignores the
+FS_CASE_IS_PRESERVED bit on file systesm and always returns
+exactly what it gets from the system. (stanton)
+*** POTENTIAL INCOMPATIBILITY ***
-12/3/96 (bug fixes) Fixed two bugs related to canvas lines that caused
-the screen to be incorrectly refreshed, leaving garbage on the screen.
-One bug was related to lines with width zero, and the other was
-related to lines with very long miters. (JO)
+3/19/99 (new feature) Added support for --enable-64bit. For now,
+this is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun
+compiler. (redman)
-12/4/96 (bug fix) The "update" command was only syncing the display
-for its main window. Changed to sync all displays. (JO)
+3/23/99 (bug fix) Fixed fileevents and gets on Windows consoles and
+serial devices so that non-blocking channels do not block on partial
+input lines. (redman)
-12/5/96 (bug fix) Color deallocation would occasionally cause a panic
-under Windows. (SS)
+3/23/99 (bug fix) Added a new Tcl_ServiceModeHook interface.
+This is used on Windows to avoid the various problems that people
+have been seeing where the system hangs when tclsh is running
+outside of the event loop. As part of this, renamed
+TclpAlertNotifier back to Tcl_AlertNotifier since it is public.
+(stanton)
-12/5/96 (bug fix) Errors during startup were silently discarded under
-Windows. (SS)
-
-12/5/96 (bug fix) Errors during startup were silently discarded under
-Windows. (SS)
+3/23/99 (feature change) Test suite now uses "tcltest" namespace to
+define the test procedure and other auxiliary procedures as well as
+global variables. The previously chosen "test" namespace was thought
+to be too generic and likely to create conflits.
+(hirschl)
+*** POTENTIAL INCOMPATIBILITY ***
-12/11/96 (bug fix) Text widgets weren't considering the -spacing1
-and -spacing2 options when computing their desired geometry. (JO)
+3/24/99 (bug fix) Make sockets thread safe on Windows.
+(redman)
-12/12/96 (feature change) Option menus using tk_optionMenu were
-created with command entries that set the option menu's variable in a
-command string. This has been changed so that the option menu's
-entries are now radiobutton entries so that the entries that matches
-the variable is now checked when the menu is posted. (SRP)
+3/24/99 (bug fix) Fix cases where expr would incorrect return
+a floating point value instead of an integer. (stanton)
-12/12/96 (feature change) The destroy command no longer returns an
-error when a window does not exist. (SRP)
+3/25/99 (bug fix) Added ASCII to big5 and gb2312 encodings.
+(stanton)
-12/13/96 (new feature) grid row/column-configure accepts a list of
-indices in addition to a single index. (SU)
+3/25/99 (feature change) Changed so aliases are invoked at current
+scope in the target interpreter instead of at the global scope. This
+was an incompatibility introduced in 8.1 that is being removed.
+(stanton)
+*** POTENTIAL INCOMPATIBILITY with previous beta releases ***
-12/17/96 (bug fix) Under Windows, command line was not being parsed
-correctly if it contained the literal characters \" (CS)
+3/26/99 (feature change) --enable-shared is now the default and build
+Tcl as a shared library; specify --disable-shared to build a static Tcl
+library and shell.
+*** POTENTIAL INCOMPATIBILITY ***
-12/17/96 (feature change) Native Windows labels do not get a focus-ring
-border. (CS)
+3/29/99 (bug fix) Removed the stub functions and changed the stub
+macros to just use the name without params. Pass &tclStubs into the
+interp (don't use tclStubsPtr because of collisions with the stubs on
+Solaris). (redman)
-12/17/96 (bug fix) Under Windows, colors specified as "#XXYYZZ" where XX, YY,
-or ZZ were not valid hex digits were getting a random color value instead of
-being an error. (CS)
+3/30/99 (bug fix) Loadable modules are now unloaded at the last
+possible moment during Tcl_Finalize to fix various exit-time crashes.
+(welch)
------------------ Released 8.0a1, 12/17/96 -----------------------
+3/30/99 (bug fix) Tcl no longer calls setlocale(). It looks at
+env(LANG) and env(LC_TYPE) instead. (stanton)
-12/23/96 (bug fix) Fixed two menu bugs:
- - Menus could get stacked below other windows so that they weren't
- visible when posted (especially under olvwm and fvwm).
- - Under olvwm if you pressed button 1 over an entry in a new-style
- menubar, the menu didn't appear until you moved the mouse slightly.
-(JO)
+4/1/99 (bug fix) Fixed the Ultrix multiple symbol definition problem.
+Now, even Tcl includes a copy of the Tcl stub library. (redman)
-1/6/97 (bug fix) Focus could accidentally get grabbed by an application
-away from the rightful focus owner if the focus recently changed from one
-application to another. (JO)
+4/1/99 (bug fix) Internationalized the registry package.
-1/6/97 (bug fix) Under Windows, the console was appearing even for
-non-interactive applications. This was a side effect of a general
-problem with the wm state of windows that were being mapped for the
-first time. (SS)
+4/1/99 (bug fix) Changed the implemenation of Tcl_ConditionWait and
+Tcl_ConditionNotify on Windows. The new algorithm eliminates a race
+condition and was suggested by Jim Davidson. (welch)
-1/6/97 (bug fix) Under Windows, the initialization code was not
-looking in the right directory for the Tk libraries when the program
-being run was not in the Tcl installation heirarchy. (SS)
+4/2/99 (new apis) Made various Unicode utility functions public.
+Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString, Tcl_UniCharLen,
+Tcl_UniCharNcmp, Tcl_UniCharIsAlnum, Tcl_UniCharIsAlpha,
+Tcl_UniCharIsDigit, Tcl_UniCharIsLower, Tcl_UniCharIsSpace,
+Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar, Tcl_WinUtfToTChar,
+Tcl_WinTCharToUtf (stanton)
-1/8/97 (bug fix) Under Windows, the windows were not being unmapped
-properly, which led to strange packer behavior. (SS)
+4/2/99 (feature change) Add new DDE package and removed the Tk
+send command from the Windows version. Changed DDE-based send
+code into "dde eval" command. The DDE package can be loaded
+into tclsh, not just wish. Windows only. (redman)
-1/8/97 (bug fix) The "winfo containing" command (and the Tk_CoordsToWindow
-procedure) didn't work properly on Unix in the presence of embedding or
-menubars. (JO)
+4/5/99 (bug fix) Changed safe-tcl so that the encoding command
+is an alias that masks out the "encoding system" subcommand.
+(redman)
-1/15/97 (bug fix) Invoking "destroy ." as the command from a menu would
-cause Tk to crash because TkMainInfo was freed before menu released its
-resources. This bug had already been fixed for scrollbars and buttons. (CS)
+4/5/99 (bug fix) Configure patches to improve support for
+OS/390 and BSD/OS 4.*. (stanton)
-1/15/97 (bug fix) Tk is now working under Win32s again, including Win32
-version 1.25. Fixed separate problems in fonts and dialogs. (CS)
+4/5/99 (bug fix) Fixed crash in the clock command that occurred
+with negative time values in timezones east of GMT. (stanton)
-1/15/97 (feature change) Under Windows, font sizes are now specified in
-points, not pixels. The mapping between pointsize and pixels depends on
-Windows having accurate metrics for the monitor (plug&play helps). Font
-metrics are still reported in pixels. (CS)
+4/6/99 (bug fix) Moved the "array set" C level code into a common
+routine (TclArraySet). The TclSetupEnv routine now uses this API to
+create an env array w/ no elements. This fixes the bug caused when
+every environ varaible is removed, and the Tcl env variable is
+synched. If no environ vars existed, the Tcl env var would never be
+created. (surles)
-1/21/97 (bug fix) Grid no longer reports rows or columns "out of range"
-when requesting their constraints. (SAU)
+4/6/99 (bug fix) Made the Env module I18N compliant. (surles)
-1/21/97 (bug fix) Fixed some window manager related bugs on the
-Macintosh. Now better support global grabs. (RJ)
+4/6/99 (bug fix) Changed the FindVariable routine to TclpFindVariable,
+that now does a case insensitive string comparison on Windows, and not
+on UNIX. (surles)
-1/21/97 (bug fix) For Windows: Fixed problems with canvas items that
-used end caps. Fixed arc implementation to more closely approximate
-X. Stippling now works properly on fat lines. (SS)
+--------------- Released 8.1b3, April 6, 1999 ----------------------
-1/21/97 (bug fix) Small interlaced GIF images were not properly
-decoded. (SS)
+4/9/99 (bug fix) Fixed notifier deadlock situation when the pipe used
+to talk back notifier thread is filled with data. Found as a result of the
+focus.test for Tk hanging. (redman)
-1/21/97 (bug fix) More changes to image code to try to handle 16-bit
-displays properly under Windows. (SS)
+4/13/99 (bug fix) Fixed bug where socket -async combined with
+fileevent for writing did not work under Windows NT. (redman)
-1/21/97 (bug fix) Numerous display bugs on Unix and Macintosh are now
-fixed. Numerous binding problems for menubars under Unix are now
-fixed. Deletion of menu separators under Windows is now fixed. (SRP)
+4/13/99 (encoding fix) Restored the double byte definition of GB2312
+and added the EUC-CN encoding. EUC-CN is a variant of GB2312 that
+shifts the characters into bytes with the high bit set and includes
+ASCII as a subset. (stanton)
------------------ Released 8.0a2, 1/24/97 -----------------------
+4/27/99 (bug fix) Added 'extern "C" {}' block around the stub table
+pointer declaration so the stub library can be used from C++. (stanton)
-1/29/97 (feature change) The -transient field for menus is no longer
-supported. There is now a -type field which is used to achieve the
-same purpose that the -transient field accomplished. When a menu is
-created, the -type field controls whether the menu is a normal
-pull-down menu, a floating tearoff menu or a menubar. This option is
-normally only used by the library code and internally by the menubar
-code. (SRP)
-*** POTENTIAL INCOMPATIBILITY ***
+--------------- Released 8.1 final, April 29, 1999 ----------------------
-2/5/97 (feature change) Changed the photo image mechanism to use
-Tcl_Channels instead of FILE * as an argument to image matching
-functions. The change will make it much easier to write cross
-platform image types in Tk. Note: FILE * is no longer used anywhere
-in Tk. (RJ)
-*** POTENTIAL INCOMPATIBILITY ***
+4/22/99 (bug fix) Changed Windows NT socket implementation to avoid
+creating a communication window. This avoids the problem where the
+system hangs waiting for tclsh to respond to a system-wide synchronous
+broadcast (e.g. if you change system colors). (redman)
-2/7/97 (enhancement) Were not allowed to bind to virtual events inside of
-canvas or text widget (e.g., "$canvas bind all <<foo>> {script}" or
-"$text tag bind sel <<foo>> {script}"); it would return an error
-disallowing that binding. Now _can_ bind to a virtual event, but that
-binding inside of the canvas or text widget will only fire if the
-underlying virtual event definition is of type key, button, motion,
-enter, or leave; all other physical event types get filtered out by the
-widget before the virtual event mapping is done. (CS)
-
-2/22/97 (bug fix) Under Unix, "wm geometry +-20+-30" didn't work. (JO)
-
-2/24/97 (bug fix) The photo image didn't always zero out enough of its
-pixel and dither correction arrays. (JO)
-
-2/25/97 (bug fix) Fixed focus problem that could cause "BadMatch (invalid
-parameter attributes)" in X_SetInputFocus requests on Unix. (JO)
-
-2/25/97 (bug fix and new feature) Added new "gray75" bitmap, fixed
-"gray25" bitmap to really be 25% on (due to an ancient mistake, it
-had been only 12% on). (JO)
-
-2/28/97 (bug fix) Windows: made embedding work again on Win32 platform.
-Prevent iconification, deiconinification on embedded windows. (JL)
-
-3/4/97 (new feature) Added the ability to manipulate the Apple and
-Help menus on the Macintosh; the system menu on Windows; and to have a
-right justified Help menu on Unix. See the documentation for menu.n
-for more details. (SRP)
-
-3/4/97 (bug fix) Prevented core dump at exit if a <Destroy> binding on "."
-gets invoked from destroying a nested widget and the binding causes the
-interpreter to be deleted. The core dump was being caused by the
-interpreter not being Tcl_Preserve'd during the destroy of ".". (JL)
-
-3/4/97 (bug fix) Under Unix, when embedded Tk is running in a separate
-process, correctly handle a race condition: ignore cross-over messages from
-the X server for windows that Tk thinks it had already deleted, when the
-containing process deletes its container window. Some other race conditions
-still remain, e.g. with pixmaps, colormaps and images. (JL)
-
-3/10/97 (bug fix) Prevented core dump in generic console code due to
-following a NULL pointer when the console interpreter was already deleted.
-This may happen due to different orders of deletion possible at exit. (JL)
-
-3/10/97 (bug fix) Fixed bug on Mac and Windows that caused time to be
-ignored when considering if a single click was actually a double
-click. (RJ)
-
-3/11/97 (feature change) A major oversight has been that although it was
-documented that the Tk programmer was asking for a font in points (1/72 of an
-inch), under Unix and Mac Tk was actually asking for a font in pixels, while
-only under Windows was it using points. This caused applications to appear
-much larger when run under Windows. Now, on all platforms the (purportedly)
-correct size in points is used when asking for fonts. However, for
-compatibility with existing tk4.2 applications that depend on fonts being of
-specified pixel size, XLFDs retain their incorrect behavior of getting a
-font in pixels. (CCS)
+4/22/99 (bug fix) Added call to TclWinInit from TclpInitPlatform when
+building a static library since DllMain will not be invoked. This
+could break old code that explicitly called TclWinInit, but should be
+simpler in the long run. (stanton)
*** POTENTIAL INCOMPATIBILITY ***
-3/13/97 (new feature) "tk scaling" command to setup the mapping between
-pixels and points. This scaling factor is used by all widgets that accept
-ruler distances, not just fonts. (CCS)
-
-3/24/97 (new feature) Added "-columnbreak" option to menu
-entries. When this value is "1", the entry will appear at the top of a
-new column in a non-menubar menu. Also added "-hideMargin". Together
-with "-columnBreak", menus with palettes are now possible. (SRP)
-
-3/26/97 (new features and bug fix) Titles for tearoff menus were
-broken on the Mac and Windows. Added the ability to set the title of a
-menu when it gets torn off and override Tk's automatic generation of
-the title. On the Macintosh, whenever a menu
-label contains three dots in a row "...", the menu will instead
-display the elipses character 'É'. (SRP)
-
-3/27/97 (bug fixes) When a menu had an error executing a postcommand,
-the error information was getting lost. On Windows, a set of
-menubuttons was not highligting properly when clicking between
-windows. On Windows, post commands were getting executed twice for
-popup menus. On Macintosh, fixed problem where menubars were not
-always current. (SRP)
-
-4/11/97 (new feature) Menubuttons now have a direction flag which
-controls where the menu popups up relative to the button. (SRP)
-
-4/24/97 (bug fix) Transient windows did not obey the resizable setting
-under Windows. (SS)
-
-4/24/97 (bug fix) wm geometry did not correctly parse negative
-coordinates. (SS)
-
-4/29/97 (bug fix) Changed the canvas polygon implementation to only
-report the coordinates specified by the end user not the automatically
-generated end point of a self closing polygon. (RJ)
-*** POTENTIAL INCOMPATIBILITY ***
+4/23/99 (bug fix) Added support for the koi8-r Cyrillic
+encoding. [Bug: 1771] (stanton)
-4/23/97 (feature change) Loosened the rules on parsing font names so that
-unix-centric fonts in scripts don't break when run on Windows or Mac.
-(1) Previously, an XLFD had to specify font name, weight, slant, and size;
-now, a minimal XLFD (such as "*-times-*") will be accepted, and all
-unspecified attributes will be given default values. (2) Previously, in the
-{name size style ...} format, only the style was optional; now both the size
-and the style are optional; this solves the problem of old scripts that
-contain specifications of the form "-font fixed" or "-font times". (CCS)
-
-5/7/97 (new feature) Menus now send a virtual event <<MenuSelect>>
-when an item is highlighted in a menu. Applications can use this to
-implement context-sensitive help. (SRP)
-
-5/14/97 (bug fix) Fixed a race condition in the focus code where focus
-could be taken away from a window incorrectly. Scenario is that the main
-window creates a toplevel and assigns focus to it. When the user moves the
-mouse from the main window into the toplevel there was a race between
-two different kinds of focus events. (BW)
-
-5/20/97 (bug fix) Fixed bug where the clipboard was not rendered before
-the application exited. (SS)
-
-5/22/97 (feature change) When a Tk8.0 menu is configured, all menus
-derived from it (menubars, tearoff) mirror the changes. This was not
-true for the "-tearoff" flag. In Tk4.6, tearoff menus had the
-"-tearoff" flag turned off. Now, the "-tearoff" flag is tracked just
-as the other options are. Tearoff menus and menubars with the
-"-tearoff" option set will not display the tearoff item. This means
-that a given menu entry for a menu and a tearoff of that menu will
-match now. (SRP)
-*** POTENTIAL INCOMPATIBILITY ***
+4/28/99 (bug fix) Changed internal Tcl_Obj usage to avoid freeing the
+internal representation after the string representation has been
+freed. This makes it easier to debug extensions. (stanton)
------------------ Released 8.0b1, 5/27/97 -----------------------
+4/30/99 (bug fix) Fixed a memory leak in CommandComplete. (stanton)
-5/30/97 (bug fix) Made the options to the grid command shortcut-able.
-Ie. You can now use -stick, in addition to -sticky. (RJ)
+5/3/99 (bug fix) Fixed a bug where the Tcl_ObjType was not being set
+in a duplicated Tcl_Obj. [Bug: 1975, 2047] (stanton)
-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)
+5/3/99 (bug fix) Changed Tcl_ParseCommand to avoid modifying eval'ed
+strings that are already null terminated. [Bug: 1793] (stanton)
-6/2/97 (bug fix) Virtual events associated with <Enter>/<Leave> in text
-widget tag caused panic. (CCS)
+5/3/99 (new feature) Applied Jeff Hobbs's string patch which includes
+the following changes:
+ - added new subcommands: equal, repeat, map, is, replace
+ - added -length option to "string compare|equal"
+ - added -nocase option to "string compare|equal|match"
+ - string and list indices can be an integer or end?-integer?.
+ - added optional first and last index args to string toupper, et al.
+See the string.n manual entry for more details about the new string
+features. [Bug: 1845] (stanton)
-6/6/97 (bug fix) On some systems, struct timeval.tv_sec is unsigned. (SS)
+5/6/99 (new feature) Added Tcl_UtfNcmp and Tcl_UtfNcasecmp to make Utf
+string comparision easier. (stanton)
-6/6/97 (feature change) Changed -default option on buttons to take
-three states: normal, active, disabled. This allows apps to have a
-row of buttons where the default ring moves between buttons without
-changing the geometry of the buttons. See the button.n manual page
-for more details. (SS)
-*** POTENTIAL INCOMPATIBILITY with Tk 8.0b1, but not with Tk 4.2 ***
+5/7/99 (bug fix) Improved OS/390 support. [Bug: 1976, 1997] (stanton)
-6/9/97 (bug fix) Canvas postscript printing now works for bitmaps
-under Windows. (SS)
+5/12/99 (bug fix) Changed Windows initialization code to avoid using
+GetUserName system call in favor of the env(USERNAME) variable. This
+provides a significant startup speed improvement. (stanton)
-6/10/97 (bug fix) Fixed bug in bindings for listboxes where state wasn't
-being properly initialized on Shift-1 button presses. (JO)
+5/12/99 (bug fix) Replaced the per-interpreter regexp cache with a
+per-thread cache. Changed the Regexp object to take advantage of this
+extra cache. Added a reference count to the TclRegexp type so regexps
+can be shared by multiple objects. Removed the per-interp regexp cache
+from the interpreter. Now regexps can be used with no need for an
+interpreter. This set of changes should provide significant speed
+improvements for many Tcl scripts. [Bug: 1063] (stanton)
-6/11/97 (bug fix) Text widget display code did not include internal
-padding in the damage calculation for borders leading to unrefreshed
-sections on Windows and Mac. (SS)
+5/14/99 (bug fix) Durining initialization on Unix, Tcl now extracts the
+encoding subfield from the LANG/LC_ALL environment variables in cases
+where the locale is not found in the built-in locale table. It also
+attempts to initialize the locale subsystem so X11 is happy. [Bug: 1989]
+(stanton)
-6/12/97 (feature reversal) Changed default border widths under Unix
-back to 2 again. This reverses the change made on 11/7/96. (JO)
+5/14/99 (bug fix) Applied the patch to fix 100-year and 400-year
+boundaries in leap year code, from Isaac Hollander. [Bug: 2066] (redman)
-6/13/97 (bug fixes) In canvas text item: the insertion cursor wasn't shown
-if insertion point was at end of text item, it was impossible to click to
-position the insertion point after the last character, and @x,y indices were
-computed incorrectly if -scrollregion had been specified and canvas was
-scrolled. (CCS)
+5/14/99 (bug fix) Fixed a crash caused by a failure to reset the result
+before evaluating the test expression in an uncompiled for
+statement. (stanton)
-6/13/97 (bug fix) Hitting up/down arrows in a text widget packed in a
-toplevel window created with the "-screen" option would cause an error dialog
-to pop up. (CCS)
+5/18/99 (bug fix) Modified initialization code on Windows to avoid
+inherenting closed or invalid channels. If the standard input is
+anything other than a console, file, serial port, or pipe, then we fall
+back to the standard Tk window console. (stanton)
-6/12/97 (bug fix) Fixed bug in canvas text items where multi-line
-selections were not highlighted properly. This bug existed only in
-earlier releases of Tk 8.0. (JO)
+5/19/99 (bug fix) Added an extern "C" block around the entire tcl.h
+header file to avoid C++ linkage issues. (redman)
-6/16/97 (bug fix) In some obscure cases, canvas window items could
-accidentally specified a 0x0 size for the window, which caused a
-BadValue error under X. (JO)
+5/19/99 (new feature) Applied Jeff Hobb's patch to add
+Tcl_StringCaseMatch to support case insensitive glob style matching and
+Tcl_UniCharIs* character classification functions. (stanton)
-6/17/97 (bug fix) Tk buttons on the Macintosh will now correctly
-draw under MacOS 8.0. (RJ)
+5/20/99 (bug fix) Added the directory containing the executuble and the
+../lib directory relative to that to the auto_path variable. (redman)
-6/18/97 (feature change) Changed the way highlights are drawn in text
-widgets so that the empty space to the left of a line is highlighted
-whenever the leftmost character of the line is highlighted (the empty
-space didn't used to be highlighted). This produces a neater left
-edge when several lines are selected. (JO)
+--------------- Released 8.1.1, May 25, 1999 ----------------------
-6/18/97 (bug fix) Tk was using the wrong system colors to draw various
-widgets under Windows. (SS)
+5/21/99 (bug fix) Fixed launching command.com on Win95/98, no longer
+hangs. [Bug: 2105] (redman)
-6/19/97 (bug fix) Under Windows, the "wm transient" and "wm overrideredirect"
-subcommands can now be applied to a toplevel to change its window
-style at any time during the life of the window. (SS)
+5/28/99 (bug fix) Fixed bug where dde calls were being passed an
+invalid dde handle. [Bug: 2124] (stanton)
-6/19/97 (feature change) All GIF and XBM images needed for the "TK"
-file dialog box are included in-line in tkfbox.tcl. (IL)
+6/1/99 (bug fix) Small configure.in patches. [Bug: 2121] (stanton)
-6/27/97 (bug fix) Revamped focus code to eliminate most XSetInputFocus
-calls from the FilterEvent procedure. This moves the implementation back
-towards the Tk 4.2 implementation, but adds embedding support. There is
-still a known bug with twm's NoTitleFocus and embedded windows. However,
-the races in a2 and the funny focus stealing in b1 are gone. (BW)
+6/1/99 (bug fix) Applied latest regular expression patches to fix an
+infinite loop bug and add support for testing whether a string could
+match with additional input. [Bug: 2117] (stanton)
-6/25/97 (bug fix) Error message was not properly reported when using
-button 'toggle'. (DL)
+6/2/99 (bug fix) Fixed incorrect computation of relative ordering in
+Utf case-insensitive comparison. [Bug: 2135] (stanton)
-6/25/97 (bug fix) Removed one source of memory corruption in tkGrid.c code
-(fixes what was exercised by "grid col . 0 -w 1; grid col . 0 -w 25") (DL)
+6/3/99 (bug fix) Fxied bug where string equal/compare -nocase
+reported wrong result on null strings. [Bug: 2138] (stanton)
------------------ Released 8.0b2, 6/30/97 -----------------------
+6/4/99 (new feature) Windows build now uses Cygwin tools plus GNU
+make and autoconf to build static/dynamic and debug/nodebug. (stanton)
-7/1/97 (bug fix) Menu shortcut and tearoff reported problem fixed. (DL)
-
-7/1/97 (new feature) TK_BUILD_SHARED flag set in tkConfig.sh
-when Tk has been built with --enable-shared. TK_SRC_DIR added.
-A new tkLibObjs make target, echoing the list of the .o's needed
-to build a tk library, is now provided. (DL)
-
-7/9/97 (bug fix) Fixed Tk_CreateFileHandler and Tk_DeleteFileHandler
-macros to directly call the Tcl equivalents. (JL)
-
-7/10/97 (bug fix) On the Mac, if the binding for <<MenuSelect>> was
-drawing, the drawing could bleed over into the menus. This is now
-fixed. (SRP)
-
-7/10/97 (bug fixes) Removed duplicate code related to Tk_SafeInit,
-made a single init script handling both cases. (DL)
-
-7/10/97 (feature change) On Unix, to be able to load Tk into a safe
-interp you need to set the env(DISPLAY) var. Some API should be
-added to allow master crontrol over Tk instantiation. (DL)
-
-7/11/97 (new feature) On the Mac, menus that are too big for the
-screen will now scroll. This is part of the interface on the Mac,
-impossible under Windows, and is not done for Unix. (SRP)
-
-7/21/97 (bug fix) After fixing the bug that in canvas text item the insertion
-cursor wasn't shown if insertion point was at end of text item, introduced a
-different bug in where clicking in entry widget with 0 characters would
-crash or display garbage. (CCS)
-
-7/22/97 (bug fix) If there were a whole bunch of returns or tabs in a row in
-a canvas text item, then the temporary buffer used when outputting
-postscript could overflow and overwrite the stack. (CCS)
-
-7/23/97 (feature change) Reenabled "tkwait" in the Safe Tk base. (JL)
-
-7/24/97 (bug fix) Single init script for both Win and Unix.
-new library/safetk.tcl using features from new tcl safe.tcl (DL)
-
-7/30/97 (feature change) As a result of native menus, you can no
-longer drag through a frame of menubuttons on Macintosh and Windows
-and have the menus pop down. You can still click on individual
-menubuttons and their menus will pop down. Applications needing to
-present a menubar should consider using the new "-menu" configuration
-of the toplevel widget to set up menubar which behaves correctly on
-Macintosh, Windows and X Windows. (SRP)
-
-7/31/97 (bug fix) Tk widget commands can now safely be hidden commands.
-Previously destroying the widget would potentially leave dangling pointers
-and destroy an exposed command instead of a hidden one if an exposed
-command by that name existed. (JL)
-
-7/31/97 (bug fix) On Windows, popup menus were not tracking the right mouse
-button correctly if it was used to invoke the menu. On Unix, tearoff
-menus were stealing focus when the mouse moving over them even when
-focus following was turned off. (SRP)
-
-8/4/97 (bug fix) Fixed problem under USENIX where raising a toplevel
-window could cause an X error if the window had just been withdrawn. (JO)
-
-8/4/97 (feature change) tkerror and bgerror are not anymore hard links
-maintained by the Tcl core. The implementation of bgerror provided by
-Tk tries, for backward compatibility only, to to call "tkerror" and
-if that fails, falls back to the usual dialog and stack trace option
-posting. You can thus still use either "bgerror" or "tkerror" as your
-application error handling proc, but using "bgerror" is strongly
-recommended as support for "tkerror" will eventually vanish in upcoming
-releases. (DL)
-*** POTENTIAL INCOMPATIBILITY with scripts that were using
- the actual hardlink implementation 'features' and with
- scripts (if any) that would be calling the default "tkerror" to
- simulate error messages (use "bgerror" instead) ***
-
-8/7/97 (feature change/addition) Removed the gif files used for the
-Open dialog box on UNIX (they were previously made inline). Added a
-new images directory that includes several images of the Tcl and Tcl
-Powered logos. (RJ)
-
-8/7/97 (bug fix) Fixed focus to deal with embedding when there is
-no window manager. (BW)
-
-8/8/97 (bug fix) Fixed bug in photo image code where photo images from
-different interpreters could get confused if they had the same name. (JO)
-
-8/8/97 (new feature) Added new procedure Tk_GetImageMasterData for
-mapping image names to master data. (JO)
-
-8/8/97 (feature change) Modified Tk_FindPhoto procedure to require
-extra "interp" argument (needed for bug fix above). (JO)
-*** POTENTIAL INCOMPATIBILITY ***
+6/7/99 (new feature) Optimized string index, length, range, and
+append commands. Added a new Unicode object type. (hershey)
-8/8/97 (bug fix) Fixed problems under Windows renaming toplevels with
-menubars. Fixed problems on all platforms renaming menu widgets and
-using new menus of the same name as an old one as cascades. Fixed a
-cosmetic problem with tearoff menus. (SRP)
+6/8/99 (bug fix) Rolled back Windows socket driver to 8.1.0
+version. (stanton)
-8/13/97 (bug fixes) Fixed "-from" option for the "image create" and
-"imageName read" commands for GIF images, which didn't used to work
-correctly. Also made transparency work correctly for GIF images
-without the TRANSPARENT_GIF_COLOR hack; TRANSPARENT_GIF_COLOR is
-now ignored. These fixes were provided by Jan Nijtmans. (JO)
+6/9/99 (new feature) Added Tcl_RegExpMatchObj and Tcl_RegExpGetInfo
+to public Tcl API, these functions are needed by Expect. Changed
+tools/genStubs.tcl to always write output in LF mode. (stanton)
-8/13/97 (new feature) added safe::loadTk command to load Tk in a
-safe slave interpreter. See the loadTk.n manual page for more
-details. (DL)
+6/14/99 (new feature) Merged string and Unicode object types. Added
+new public Tcl API functions: Tcl_NewUnicodeObj, Tcl_SetUnicodeObj,
+Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange,
+Tcl_AppendUnicodeToObj. (hershey)
------------------ Released 8.0, 8/18/97 -----------------------
+6/16/99 (new feature) Changed to conform to TEA specification, added
+tcl.m4 and aclocal.m4 macro libraries for configure. (wart)
-8/22/97 - (bug fix) Fixed syntax error in tk_popup; option menus now
-popup over their selected items like they did in tk4.2. Fixed problem
-where cascades sometimes did not work on X. On X, menubars with
-checkbuttons and radiobuttons in them would infinite loop when
-mappped. (SRP)
+6/17/99 (new feature) Added new regexp interfaces: -expanded, -line,
+-linestop, and -lineanchor switches. Renamed Tcl_RegExpMatchObj to
+Tcl_RegExpExecObj and added new Tcl_RegExpMatchObj that is equivalent
+to Tcl_RegExpMatch. Added public macros for regexp flags. Added
+REG_BOSONLY flag to allow Expect to iterate through a string and only
+find matches that start at the current position within the
+string. (stanton)
-8/27/97 (new feature) Added support for new X11R6 colors under Windows
-and Mac platforms. (SS)
+6/21/99 (bug fix) Fixed memory leak in TclpThreadCreate where thread
+attributes were not being released. [Bug: 2254] (stanton)
-8/29/97 (bug fix) Wish crashed if stdin was closed. (SS)
+6/23/99 (new feature) Updated Unicode character tables to reflect
+Unicode 2.1 data. (stanton)
-9/10/97 (bug fix) "font actual {helvetica 10} -displayof ." wasn't taking
-into account the "-displayof" option. This problem also existed for the
-"font metrics" and "font measure" commands. (CCS)
+6/25/99 (new feature) Fixed bugs in non-greedy quantifiers for regular
+expression code. (stanton)
-9/16/97 (new feature) Added "resource delete" and "resource files"
-command to the Mac. Also fixed "resource write" when the resource
-was specified by id and already existed. (JI)
+6/25/99 (new feature) Added initial implementation of new Tcl test
+harness package. Modified test files to use new tcltest package.
+(jenn)
-9/16/97 (bug fix) Added null bindings to <Command-KeyPress> for the
-text and entry widget on the Macintosh. This prevents unbound command
-key sequences from having the character echoed to the widget. Also
-fixed Cut & Copy bindings. (JI) (RJ)
+6/26/99 (new feature) Applied patch from Peter Hardie to add poke
+command to dde and changed the dde package version number to
+1.1. (redman)
-9/18/97 (bug fix) Revamped Macintosh focus code. Cut, Copy & Paste
-virtual events now go to the correct (focus) window. (RJ)
+6/28/99 (bug fix) Applied patch from Peter Hardie to fix problem in
+Tcl_GetIndexFromObj() when the key being passed is the empty string.
+[Bug: 1738] (redman)
-9/19/97 (bug fix) Made Macintosh tearoff menus non-resizable. (RJ)
+6/29/99 (new feature) Added options to tcltest package: -preservecore,
+-limitconstraints, -help, -file, -notfile, and flags. (jenn)
-10/9/97 (bug fix) Default font for new canvas text items was hardcoded to
-"Helvetica 12" instead of using DEF_CANVTEXT_FONT defined in
-tk{platform}Default.h like all the other widget settings. (CCS)
+7/3/99 (new feature) Changed parsing of variable names to allow empty
+array names. Now "$(foo)" is a variable reference. Previously you
+had to use something line $::(foo), which is slower. This change was
+requested by Jean-Luc Fontaine for his STOOOP package. (welch)
-10/9/97 (bug fix) Image code could cause crashes during "exit" under
-some conditions (such as an image named "place"). (JO)
+7/3/99 (new feature) Added Tcl_SetNotifier (public API) and
+associated hook points in the notifiers to be able to replace the
+notifier calls at runtime. The Xt notifier and test program use this
+hook. (welch)
-10/9/97 (bug fix) Fixed bug that sometimes prevented listboxes from
-scrolling far enough horizontally to see the rightmost character. (JO)
+7/3/99 (new feature) Added a new variant of the "Trf core patch" from
+Andreas Kupries that adds new C APIs Tcl_StackChannel,
+Tcl_UnstackChannel, and Tcl_GetStackedChannel. This allows the Trf
+extension to work without applying patches to the Tcl core. (welch)
-10/10/97 (bug fix) In canvas text items, if the text ended with a \n, it
-was not counted in the bbox height, as it did in tk4.2. This caused
-"hello\n" to be the same height as "hello" and you couldn't see the
-cursor positioned on the next line. (CCS)
+7/6/99 (new feature) Added -timeout option to http.tcl to handle
+timeouts that occur during connection attempts to hosts that are
+down. (welch)
-10/10/97 (bug fix) The grid geometry manager didn't always properly
-forget about windows after a "grid forget" or "grid remove" command:
-the windows could reappear on the screen later. (JO)
+7/6/99 (bug fix) Applied new implementation of the Windows serial
+port driver from Rolf Schroedter that fixes reading only one byte from
+the port at a time. Uses polling every 10ms to implement
+fileevents. [Bug: 1980 2217] (redman)
-10/13/97 (bug fix) Selection could not be restored to a text widget
-after "selection clear" on Windows. (SS)
+7/8/99 (bug fix) Applied fix for bug in DFA state caching under
+lookahead conditions (regular expressions). [Bug: 2318] (stanton)
-10/14/97 (bug fix) If a canvas had contained windows that were off-screen,
-the windows could sometimes reappear (in the wrong place) if the canvas was
-enlarged. (JO)
+7/8/99 (bug fix) Fixed bug in string range bounds checking
+code. (stanton)
-10/20/97 (bug fix) Omitting the arguments to the text widget "mark
-gravity" option caused a crash. (SS)
+--------------- Released 8.2b1, July 14, 1999 ----------------------
-10/21/97 (bug fix) Tk did not reset the result after native dialog
-modal loops on Window so background events could perturb the dialog
-result. (SS)
+7/16/99 (bug fix) Added Tcl_SetNotifier to stub table. [Bug: 2364]
+Added check for Alpha/Linux to correct the IEEE floating point flag,
+patch from Don Porter. (redman)
-10/23/97 (bug fix) Memory leak in unix's TkpGetFontFamilies. Thanks
-to James Bonfield for the fix. (DL)
+7/20/99 (bug fix) Merged 8.0.5 code to handle tcl_library properly,
+also fixed a bug that caused TCL_LIBRARY to be ignored. (hershey)
-10/27/97 (bug fix) Fixed event reporting for the Mac during a grab
-when the pointer was out of the toplevel window. (RJ)
+7/21/99 (bug fix) Implemented modified socket driver for Windows that
+uses a thread to manage the socket event window. Code works the same
+on all supported versions of Windows and was based on original 8.1.0
+code. [Bug: 2178 2256 2259 2329 2323 2355] (redman)
-10/28/97 (bug fix) Under Unix, override-redirect was getting set
-incorrectly for menus, so that "wm overrideredirect" returned 0. (JO)
+7/21/99 (new feature) Applied patch from Rolf Schroedter to add
+-pollinterval option to fconfigure for Windows serial ports. Allows
+the maxblocktime to be modified to control how often serial ports are
+checked for fileevents. Also added documentation for \\.\comX
+notation for opening serial ports on Windows. (redman)
-10/28/97 (bug fix) Under Unix, focus code could sometimes cause the
-display to deadlock (it wasn't flushing the output buffer after issuing
-an ungrab command). (JO)
+7/21/99 (bug fix) Changed APIs in stub tables to use "unsigned long"
+instead of the platform-specific "size_t", primarily after SunOS 4
+users could no longer compile. (redman)
-10/28/97 (bug fix) If a PPM image file wasn't complete (e.g. it
-consisted of nothing but space characters) Tk entered an infinite loop
-reading the header. (JO)
+7/22/99 (bug fix) Fixed crashing during "array set a(b) {}".
+[Bug: 2427] (redman)
-10/28/97 (bug fixes) On the Mac, menubars assigned to toplevels would
-disappear after a menu item was invoked from them. On Windows,
-clicking a system menu with added items and then again with a
-different set of added items would crash. On all platforms, a command
-menu entry that caused the entry to be deleted, another one created in
-its place, and the replacement deleted would cause a panic. On Unix,
-<<MenuSelect>> event bindings were firing every time the mouse moved,
-instead of everytime the active menu item changed. (SRP)
+7/22/99 (bug fix) The install-sh script must be given execute
+permissions prior to running. [Bug: 2413] (redman)
-10/27/97 (bug fix) If a particular race condition occurred under Windows,
-Tk would crash complaining about trying to free a color that wasn't
-allocated. (SS)
+7/22/99 (bug fix) Applied patch from Ulrich Ring to remove ANSI-style
+prototypes in the code. [Bug: 2391] (redman)
-10/28/97 (bug fix) Under Windows, button grabs did not report motion
-events that occurred outside of Tk windows. (SS)
+7/22/99 (bug fix) Added #if blocks around #includes of sys/*.h header
+files, to allow an extension author on Windows to use the MetroWerks
+compiler. [Bug: 2385] (redman)
-10/28/97 (bug fix) Fixed incorrect display of transparent images on
-the Macintosh. (JI)
+7/22/99 (bug fix) Fixed running the safe.test test suite, one change
+to the Windows Makefile.in to fix paths and another in safe.test to
+check for the tcl_platform(threaded) variable properly. (redman)
-10/29/97 (bug fix) Reworked the handling of out-of-range indices in
-the widget command for listboxes: there were all sorts of quirks
-before (e.g., ".l delete -1" actually deleted the first element
-of the listbox). (JO)
+7/22/99 (bug fix) Fixed hanging in new Win32 socket driver with
+threads enabled. (redman)
-10/29/97 (bug fix) Fixed crash on the Macintosh that could occur if a
-window is moved before it is mapped where the X window was created but
-the Macintosh port was not. (RJ)
+7/26/99 (bug fix) Fixed terminating of helper threads by holding any
+mutexes from the primary thread while waiting for the helper thread to
+terminate. Fixes dual-CPU WinNT hangs, only one rare sporadic hang
+that still exists with dual-CPU WinNT. Also fixed test cases so that
+they would not depend as much on timing for dual-CPU WinNT. (redman)
-10/29/97 (bug fix) Fixed several errors in how wm state was maintained
-on the Macintosh. Tk now also will iconify a toplevel window on the
-Mac if the new Appearance Manager is present. (RJ)
+7/27/99 (bug fix) Some test suite cleanup. (jenn)
-10/28/97 (bug fixes) In canvas' postscript command: User name
-information was leaked in safe interpreters on Unix (security fix).
-Errors while reading prolog.ps were not propagated and the error
-message was mixed with partial data. Note: postscript output does
-not work in safe interpreters on unix and windows. (DL)
+7/29/99 (bug fix) Applied patch to fix typo in .SH NAME line in
+doc/Encoding.n [Bug: 2451]. Applied patch to avoid linking pack.n to
+pack-old.n [Bug: 2469]. Patches from Don Porter. (redman)
-10/28/97 (bug fix) Safe Tk interps on unix were leaking env(DISPLAY). (DL)
+7/29/99 (bug fix) Allow tcl to open CON and NUL, even for redirection
+of std channels. [Bug: 2393 2392 2209 2458] (redman)
-10/31/97 (bug fix) Fixed problems related to the input focus when one
-application had windows open simultaneously on several displays. (JO)
+7/30/99 (bug fix) Applied fixed Trf patch from Andreas Kupries.
+[Bug: 2386] (hobbs)
-10/31/97 (bug fix) Fixed several problems with traversal of menus via
-the keyboard under Unix. (SRP)
+7/30/99 (bug fix) Fixed bug in info complete. [Bug: 2383 2466] (hobbs)
-11/4/97 (bug fix) Fixed various word-size related problems for 64-bit
-architectures. (SS)
+7/30/99 (bug fix) Applied patch to fix threading on Irix 6.5, patch
+provided by James Dennett. [Bug: 2450] (redman)
-11/5/97 (bug fix) Embedding on Windows was using freed data (crashing
-in safe.test with TCL_MEM_DEBUG). NB: Embedding is still not fully
-implemented on Windows ! (It works mostly when Tk is embeded into it's
-own Tk frame (safe::loadTk case), but not well with respect to resizing
-with a toplevel container or with an external process). (DL)
+7/30/99 (bug fix) Fixed launching of 16bit applications on Win9x from
+wish. The command line was being primed with tclpip82.dll, but it was
+ignored later.
------------------ Released 8.0p1, 11/7/97 -----------------------
+7/30/99 (bug fix) Added functions to stub table, patch provided by Jan
+Nijtmans. [Bug: 2445] (hobbs)
-11/20/97 (bug fix) Fixed bug on the Mac where the "package require"
-command caused menus to stop working. (JI)
+8/1/99 (bug fix) Changed Windows socket driver to terminate threads
+by sending a message to the window rather than calling
+TerminateThread(), which seems to leak about 4k from the helper
+thread's stack space. (redman)
-11/20/97 (bug fix) Fixed bug in rendering transparent gifs on Text
-widgets. (JI)
+--------------- Released 8.2b2, August 5, 1999 ----------------------
-11/20/97 (enhancement) Made the changes required to work with the new
-Apple Universal Headers V. 3.0 so we can compile with CW Pro 2.0 (JI)
+8/4/99 (bug fix) Applied patches supplied by Henry Spencer to greatly
+enhance performance of certain classes of regular expressions.
+[Bug: 2440 2447] (stanton)
------------------ Released 8.0p2, 11/25/97 -----------------------
+8/5/99 (doc change) Made it clear that tcl_pkgPath was not set for
+Windows. [Bug: 2455] (hobbs)
-11/25/97 (security bug fix + added feature) Tk Safe Init now asks
-the master's safe::TkInit for the 'argv' to use. This is transparently
-dealt with by the safe::loadTk API. New optional "-display displayName"
-argument to safe::loadTk, and the "-use" argument accepts both window
-Ids and Tk window names: see loadTk(n). Made the ":0.0" default display
-work on the Mac as it works on Windows and Unix. (DL)
+8/5/99 (bug fix) Fixed reference to bytes that might not be null
+terminated in tclLiteral.c. [Bug: 2496] (hobbs)
-12/3/97 (bug fix/optimization) Removed unneeded 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)
+8/5/99 (bug fix) Fixed typo in http.tcl. [Bug: 2502] (hobbs)
-12/3/97 (new feature) Added support for browser/plugin style embedding,
-and made various other fixes to get the plugin working on the Mac. (JI)
+8/9/99 (bug fix) Fixed test suite to handle larger integers
+(64bit). Patch from Don Porter. (hobbs)
-12/8/97 (bug fix) on Windows, using "winfo pathname" before "." was mapped
-was crashing. (DL)
+8/9/99 (documentation fix) Clarified Tcl_DecrRefCount docs
+[Bug: 1952]. Clarified array pattern docs [Bug: 1330]. Fixed clock docs
+[Bug: 693]. Fixed formatting errors [Bug: 2188 2189]. Fixed doc error
+in tclvars.n [Bug: 2042]. (hobbs)
----- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ----
+8/9/99 (bug fix) Fixed path handling in auto_execok [Bug: 1276] (hobbs)
-12/97 (bug fix) more Macintosh embeding fixes needed for the plugin. (JI)
+8/9/99 (internal api change) Removed the TclpMutexLock and TclpMutexUnlock
+APIs and added a new exported api, Tcl_GetAllocMutex. These APIs are all for
+the mutex used in the simple memory allocators. By making this change
+we are able to substitute different implementations of the thread-related
+APIs without having to recompile the Tcl core. (welch)
-Jan/9/98 (improvement) Allow applications to have custom init script
-without having to patch the Tk core: Tk_Init will use an existing
-"tkInit" proc if one exists in the interp where one tries to install Tk
-instead of defining it's own (tkInit is the transient proc defined in
-generic/tkInitScript.h that searches and sources tk.tcl and defines
-the 'correct' tk_library). (DL)
+8/9/99 (new C API) Tcl_GetChannelNames returns a list of open channel
+names in the interpreter result. Still no Tcl-level version of this,
+but server-like applications can use this to clean up files without
+deleting interpreters. (welch)
----- Shipped as part of the plugin2.0 as 8.0p2Plugin2, Jan 15th 98 ----
+8/9/99 (bug fix) Traces were not firing on "info exists", which used to
+happen in Tcl 7.6 and earlier. An "info exists" now fires a read trace,
+if defined. This makes it possible to fully implement variables that
+are defined via traces. (welch)
-6/3/98 (bug fix) Fixed bugs in the tk_getOpenFile under Unix.
- 1) If the -initialdir option was "." the result would be "././foo.tcl"
- instead of an absolute path, like the Windows interface.
- 2) There is a traceVar on the data(selectPath) where the script was
- assumes the window exists. (BS)
+8/10/99 (bug fix) Fixed Brent's changes so that they work on
+Windows. (redman)
-6/12/98 (feature change) Focus -force now sets the foreground window
-on Windows platforms in addition to moving the focus. (SS)
+--------------- Released 8.2b3, August 11, 1999 ----------------------
-6/12/98 (bug fix) Fixed bug in Windows font measurement that did not
-take kerning into account. (BS)
+8/12/99 (Mac) Rearrange projects in tclMacProjects.sea.hqx so that the
+build directory is separate from the sources. (Jim Ingham)
-6/24/98 (bug fix) On Unix, fixed -initialdir switch to tk_getOpenFile
-and tk_getSaveFile to convert the specified directory to an absolute
-path and to use the current working directory if the specified
-directory does not exist. (SS)
+8/12/99 (bug fix) Fixed bug in Tcl_EvalEx where the termOffset was not
+being updated in cases where the evaluation returned a non TCL_OK
+error code. [Bug: 2535] (stanton)
-6/25/98 (bug fix) On Unix, both the Tk and the Motif file dialogs
-would fail if the -parent flag changed between two parent windows that
-had been previously used as file dialog parents. (SS)
+--------------- Released 8.2.0, August 17, 1999 ----------------------
-6/29/98 (compatibility patch) Added reserved fields to several Tk
-structures to match additions made by Jan Nijtmans dash patch. This
-means that extensions can be compiled against the dash patch
-and still work with unpatched Tk, and vice versa.
+9/21/99 (config fixes) fixed several AIX configuration issues. gcc and
+threading may still cause problems on AIX. (hobbs)
-7/6/98 (bug fix) Added keysym definitions for the new keys on the
-Microsoft keyboards. You can bind to <App>, <Win_L>, and <Win_R>,
-but you cannot use the Win keys as modifiers. (SS, BW)
+9/21/99 (bug fix) fixed expr double-eval problem. [Bug: 732] (hobbs)
-7/6/98 (new feature) Added support for the Macintosh Appearance Manager. (JI)
+9/21/99 (bug fix) fixed static buffer overflow problem. [Bug: 2483] (hobbs)
-7/24/98 (feature change) Eliminated the static variable that sets
-tk_library and simplified search order for tk.tcl. The tk_library
-variable can now be set before calling Tk_Init to avoid doing any
-searches. If it isn't set, then Tk checks env(TK_LIBRARY), relative
-to tcl_library, an install directory relative to the executable, a
-source directory relative to the executable, and a tk directory
-relative to the source heirarchy containing the executable. See the
-comment at the top of generic/tkInitScript.h for more details. (SS)
+9/21/99 (bug fix) fixed end-int linsert interpretation. [Bug: 2693] (hobbs)
-7/27/98 (bug fix) The bbox for coords in the canvas were incorrectly
-including the center of the coord as part of the bound area. (RJ)
+9/21/99 (bug fix) fixed bug when setting array in non-existent
+namespace. [Bug: 2613] (hobbs)
-8/4/98 (bug fix) Fixed memory leak in Windows menu code. (SS)
+--- Released 8.2.1, October 04, 1999 --- See ChangeLog for details ---
-8/4/98 (bug fix) Fixed bug where bgerror's were not being generated
-from menu callbacks on Windows. (SS)
+10/30/99 (feature enhancement) new regexp engine from Henry Spencer
+was patched in - should greatly reduce stack space usage. (spencer)
-8/4/98 (bug fix) Alt-key bindings were not being handled properly
-under Windows, resulting in annoying beeps. (SS)
+10/30/99 (bug fix) fixed Purify reported memory leaks in findexecutable
+test command, TclpCreateProcess on Unix, in handling of C environ array,
+and in testthread code. No more known (reported) mem leaks for Tcl
+built using gcc on Solaris 2.5.1. Also none reported for Tcl on NT
+(using Purify 6.0). (hobbs)
-8/4/98 (bug fix) Fixed bug in Windows menubar handling that allowed
-a shared menubar to be deleted when any window using it was deleted. (SS)
+10/30/99 (bug fix) fixed improper bytecode handling of
+'eval {set array($unknownvar) 5}' (also for incr) (hobbs)
-8/4/98 (feature change) Introduced TkReadBitmapFile to replace
-XReadBitmapFile so that all Tk file opens go through the Tcl channel
-mechanism. This lets us wrap applications that define their own
-bitmaps and cursors. Note that XReadBitmapFile is no longer
-emulated for non-unix platforms platforms (RJ, BW)
+10/30/99 (bug fix) fixed event/io threading problems by making
+triggerPipe non-blocking (nick kisserbeth)
-8/5/98 (bug fix) <Insert> binding in entries was masking the virtual
-event <<Paste>> binding to Shift-Insert on Windows. (SS)
+10/30/99 (bug fix) fixed Tcl_AppendStringsToObjVA and Tcl_AppendResultVA
+to only iterates once over the va_list (avoiding non-portable memcpy).
+(joe english, hobbs)
-8/5/98 (bug fix) wm frame would crash if the window had not been
-mapped yet on Windows. (SS)
+10/30/99 (bug fix) removed savedChar trick in tclCompile.c that appeared
+to be causing a segv when the literal table was released.
+[Bug: 2459, 2515] (David Whitehouse)
-8/5/98 (bug fix) Local grabs did not exclude menus or the caption bar
-under Windows. (SS)
+10/30/99 (bug fix) fixed [string index] to return ByteArrayObj
+when indexing into one (test case string-5.16) [Bug: 2871] (hobbs)
-8/5/98 (bug fix) Reduced message traffic by setting
-WS_EX_NOPARENTNOTIFY on TkChild windows. (SS)
+10/30/99 (bug fix) fixes for mac UTF filename handling (ingham)
-8/6/98 (feature change) Changed tkInitScript.h to use the new
-tcl_findLibrary procedure to locate its script library. (BW)
+--- Released 8.2.2, November 04, 1999 --- See ChangeLog for details ---
-8/10/98 (bug fix) Added special case to font code to limit the
-length of displayed strings to avoid wrap-around bugs in some
-PC X servers when the pixel length of the string exceeds 0x7fff. (SS)
+11/19/99 (feature enhancement) bug fixes for http package as well as
+patch required by TLS (SSL) extension that adds http::(un)register
+and -type to http::geturl. Up'd http pkg version to 2.2.
-8/12/98 (bug fix) Macintosh, lock down some of the resources
-associated with menus to try and stabilise the menu system
-on memory limited machines. (JI)
+11/19/99 (bug fix) removed extra decr of numLevels in Tcl_EvalObjEx
+that could cause seg fault (mjansen@wendt.de)
-8/12/98 (windows build change) Moved the tkConsole.obj into the tk80.dll
-on windows. If you build your own Tk main program, you no longer
-need to compile and link this yourself. (SKS)
+11/19/99 (bug fixes) numerous minor big fixes, including correcting the
+installation of the koi8-r encoding and tcltest1.0 on Windows.
--------- Released 8.0.3 to the Tcl Consortium CD-ROM project, 8/13/98 ------
+11/30/99 (bug fix) fixes scan where %[..] didn't match anything
-10/5/98 (new feature) Added the event "MouseWheel" that will fire on
-Windows applications in response to mouse wheel movement. You can
-bind to the MouseWheel event and use the %D substitution to get the
-delta the wheel moved. The "event generate" command has also been
-enhanced with the -delta flag so you can generate these events from
-Tcl. See the bind and event man pages for more details. The listbox
-and text widgets' default bindings have been updated to understand
-MouseWheel events. (RJ)
+11/30/99 (bug fix) fixed setting of isNonBlocking flag in PipeBlockModeProc
+so you can now close a non-blocking channel without waiting.
-10/12/98 (performance improvement) Added hash table to canvas widget
-that holds numeric ids for items. The hash table makes item lookup
-almost constant time which improves certain canvas operations
-(exspecially for canvases with large number items). Thanks to Mark
-Weissman <weissman@gte.com> and Jan Nijtmans <Jan.Nijtmans@wxs.nl>
-for submitting this improvement. (RJ)
+11/30/99 (bug work-around) prevented the unloading of DLLs for Unix in
+TclFinalizeLoad. This stops the seg fault on exit that some users would
+see (ie with oratcl) when using DLLs that do nasty things like register
+atexit handlers.
-10/15/98 (bug fix) The -fill option to text items in the canvas did
-not allow the empty string as an argument (meaning transparent) even
-though every other item type did. Thanks to Sebastian Wangnick
-<sebastian.wangnick@eurocontrol.be> for supplying this patch. (RJ)
+12/07/99 (bug fix) fixes for 'expr + {[incr]}' and 'expr + {[error]}'
+cases (different causes).
-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 ***
+--- Released 8.2.3, December 16, 1999 --- See ChangeLog for details ---
-11/10/98 (feature change) The Macintosh menus will use the Appearance
-Theme backgrounds, separators and menu shape, if Appearance version
-1.0.1 or greater is installed. The version of Appearance that shipped
-with MacOS 8.0 so it will not work with a straight 8.0, but it will
-with MacOS 8.1 or later. (JI)
+1999-09-14 (feature enhancement) added -start switch to regexp and regsub.
------------------ Released 8.0.4, 11/20/98 -----------------------
+1999-09-15 (feature enhancement) add 'array unset' command.
-11/24/98 (bug fix) On some X servers, XQueryLoadFont will always
-return a font, even if the name is meaningless. This prevents Tk from
-parsing the font name, so now we perform a quick sanity check on the
-name before letting X have it. (stanton)
+1999-09-15 (feature enhancement) rewrote runtime libraries to use new
+string functions
-12/30/98 (bug fix) Fixed bug in "grid forget" that failed to cancel
-pending idle handlers, resulting in a crash in a few odd cases. (stanton)
+1999-08-18 (feature enhancement) added 'file channels' command, along with
+Tcl_GetChannelNames(Ex) public C APIs.
-1/28/99 (configure change) Now support -pipe option on gcc. (RJ)
+1999-10-19 (feature enhancement) enhanced tcltest package
-2/4/99 (bug fix) Changed so color tables in photo images are freed
-immediately instead of being delayed. This ensures that color tables
-are properly disposed at process exit. (stanton)
+1999-09-16 (feature enhancement) added -milliseconds switch to 'clock clicks'
-2/4/99 (bug fix) Changed postscript template to include a European
-character with an umlaut when determining font height. (stanton)
+1999-10-28 (feature enhancement) added support for inline 'scan'
-2/4/99 (bug fix) If an image bitmap mask changed but ended up with the
-same XID, the GC failed to be updated and so the new mask was
-not used. (stanton)
+1999-10-28 (feature enhancement) added support for touch functionality by
+extendeding 'file atime' and 'file mtime' to take an optional time argument
-2/4/99 (bug fix) Changed so focus window is always set if -force is
-specified. This fixes the problem on Windows where Tk does not
-activate the window if it already has focus. (stanton)
+1999-11-24 (feature enhancement) added 'fconfigure $sock -lasterror'
+command to Windows to query the last error received on a serial socket.
-2/4/99 (bug fix) Fixed so errors in console eval are reported
-properly. Eliminated duplicate result messages. (stanton)
+1999-11-30 (bug fix) fixed handling of %Z on NT for timezones that don't
+have DST
-2/4/99 (bug fix) Under Windows, changed so toplevels that aren't
-resizable don't have resize handles and the zoom box is disabled. (stanton)
+1999-12-03 (feature enhancement) improved error message in bad octal cases
+and improper use of comments. (hobbs)
-2/4/99 (bug fix) Changed to cancel the mouse timer when a user
-initiated move/resize loop begins on Windows. (stanton)
+1999-12-07 (bug fix) fixed Tcl_ScanCountedElement to not step
+beyond the end of the counted string
-2/4/99 (configure change) TK_LD_SEARCH_FLAGS was set incorrectly if
-SHLIB_LD_LIBS='${LIBS}', and shared linking is performed through the C
-compiler. Systems affected are Linux, MP-RAS and NEXTSTEP, but also
-with gcc on many more systems.
+1999-12-09 (feature enhancement) removed all references to 16 bit
+compatibility code for Windows (hobbs)
-2/4/99 (bug fix) Changed some EXTERN declarations to extern since they
-are not defining exported interfaces. This avoids generating useless
-declspec() attributes and makes the Windows makefile simpler. (stanton)
+1999-12-10 (bug fix) removed check for vfork - Tcl now uses only fork in
+exec. (hobbs)
-2/4/99 (bug fix) Changed so keyboard shortcuts will only be found in
-the current toplevel. Previously, they might be found in menus
-attached to other toplevels that might not even be mapped. (stanton)
-*** POTENTIAL INCOMPATIBILITY ***
+1999-12-10 (optimization) changed Tcl_ConcatObj to return a list
+object when it receives all pure list objects as input (used by 'concat'),
+added optimizations in Tcl_EvalObjEx for pure list case, and optimized
+INST_TRY_CVT_TO_NUMERIC in TclExecuteByteCode for boolean objects.
+(oakley, hobbs)
-2/4/99 (bug fix) Changed to treat zero width lines in the canvas like
-they have width 1 for purposes of selection. (stanton)
+1999-12-12 (feature enhancement) enhanced glob command with -type, -path,
+-directory and -join switches. (darley, hobbs)
-2/4/99 (bug fix) Added a workaround for a bug in GetTextExtentExPoint
-on Win NT 4.0/Japanese that cause a crash in some cases. (stanton)
+1999-12-21 (bug fix) changed CreateThread to _beginthreadex and
+ExitThread to _endthreadex to prevent 4K mem leak (gravereaux)
-2/4/99 (bug fix) Fixed uninitialized memory access bug in Unix send
-code. (stanton)
+1999-12-21 (bug fix) fixed applescript for I18N
-----------------------------------------------------------
-Changes for Tk 8.0 go above this line.
-Changes for Tk 8.1 go below this line.
-----------------------------------------------------------
+1999-12-21 (feature enhancement) added -unique option to lsort (hobbs)
-1/16/98 (new feature) Tk now supports international characters sets:
- - Font display mechanism overhauled to display Unicode strings
- containing full set of international characters. You do not need
- Unicode fonts on your system in order to use tk or see international
- characters. For those familiar with the Japanese or Chinese patches,
- there is no "-kanjifont" option. Characters from any available fonts
- will automatically be used if the widget's originally selected font is
- not capable of displaying a given character.
- - Textual widgets are international aware. For instance, cursor
- positioning commands would now move the cursor forwards/back by 1
- international character, not by 1 byte.
- - Input Method Editors (IMEs) work on Mac and Windows. Unix is still in
- progress.
-
-7/7/97 (new feature) The send command now works for Microsoft
-Windows. It is implemented using Dynamic Data Exchange, and a new
-command, dde, allows Tk to send more generic DDE commands to other
-applications. (SRP)
-
-11/3/97 (new feature) Major overhaul of code that manages configuration
-options to use Tcl_Obj structures instead of strings:
- - There is a new set of procedures including Tk_CreateOptionTable,
- Tk_InitOptions, and Tk_SetOptions, which replace Tk_ConfigureWidget
- and related procedures. The old procedures are still available.
- The new procedures use a new format for configuration tables.
- See SetOptions.3 for more information.
- - There are new procedures Tk_AllocColorFromObj, Tk_GetColorFromObj,
- and Tk_FreeColorFromObj to manage colors using objects to hold the
- name of the color and cache the corresponding XColor pointer.
- There are similar procedures Tk_Alloc3DBorderFromObj,
- Tk_AllocBitmapFromObj, Tk_AllocCursorFromObj, Tk_AllocFontFromObj,
- and so on to manage borders, bitmaps, cursors, and fonts.
- - The old-style procedures such as Tk_GetColor and Tk_GetBitmap no
- longer take Tk_Uids for arguments; they just take strings.
- - Menus, labels, buttons, checkbuttons, and radiobuttons have been
- converted to use the new object-based configuration library.
- (SRP & JO)
-
-11/7/97 (improvement) Changed code referring to "interp->result" to call
-accessor functions like Tcl_SetResult().
-
-12/23/97 (fix) Fixed transparency and web optimized the palette of
-the images/ Tcl powered logos. (DL)
-
-12/16/97 (bug fix) Canvas and text "bind" subcommands generated an
-error with no message if called to fetch a binding that didn't exist.
-They now silently return without an error like the "bind" command. (SS)
-
-1/13/98 (bug fix) Keysyms for international characters were not being
-reported properly under Windows. (SS)
+1999-12-21 (bug fix) changed thread ids to longs (for 64bit systems)
------------------ Released 8.1a1, 1/22/98 -----------------------
+--- Released 8.3b1, December 22, 1999 --- See ChangeLog for details ---
-2/4/98 (bug fix) Calling XFreeFontNames() twice if couldn't allocate
-font. (CCS)
+2000-01-10 (feature enhancement) clock scan now supports the common
+ISO 8601 date/time formats. See docs for details. (melski)
-2/10/98 (bug fix) Inlined prolog.ps in tkCanvPs.c to make it accessible
-from safe interpreters: canvas postscript now works in safe interps
-(like in tk8.0plugin). (DL)
+2000-01-10 (bug fix) prevented \ooo substitution from accepting
+non-octal digits [Bug: 3975] (hobbs)
-2/11/98 (bug fix) Windows "send" to a remote interp wasn't propagating
-$errorInfo correctly from the remote interp to the local invoking interp.
-(CCS)
+2000-01-11 (bug fix) fixed improper handling of DST by clock when
+using relative times (like "1 month" or "tomorrow"). (melski)
-2/11/98 (bug fix) Windows "send" should have accepted "--" to mean "no more
-arguments". (CCS)
+2000-01-12 (bug fix) improved build support for Tru64 v5, NetBSD
+and Reliant Unix (hobbs)
-2/11/98 (bug fix) Windows "send" was concatenating its arguments
-incorrectly (not consistent with "eval", "uplevel", or Unix "send"). (CCS)
+2000-01-12 (bug fix) made imported commands also import their
+compile procedure (duffin)
-2/18/98 (bug fix) Macintosh radiobuttons and checkbuttons now color
-their backgrounds correctly under Appearance. The controls gadgets themselves
-however, remain the Theme colors. (JI)
+2000-01-12 (bug fix) fixed 'info procs ::namesp::*' behavior to return
+procs in a namespace (dejong)
-2/18/98 (improvement) The corner pixels that peek through around the
-rounded corners of the Mac button widget are now controlled by the
--highlightbackground, rather than the -background option. (JI)
+2000-01-12 (feature enhancement) added support for setting permissions
+symbolicly (like chmod) in [file attributes $file -permissions ...] (schoebel)
-2/18/98 (improvement) Implemented the intra-application Send on the
-Mac (RJ)
+2000-01-13 (bug fix) fixed lsort -dictionary problem when sorting
+characters between 'Z' and 'a' (flawed upper/lower comparison logic) (melski)
-2/18/98 (bug fix) Under X, a problem mapping from a fontStructPtr to an
-XLFD (no XA_FONT attribute) would lead to dereferencing NULL. (CCS)
+--- Released 8.3b2, January 13, 2000 --- See ChangeLog for details ---
------------------ Released 8.1a2, Feb 20 1998 -----------------------
+2000-01-14 (feature enhancement) clock format %Q added, clock scan updated
-10/21/98 (bug fix) Tk_UnderlineChars did not handle UTF strings properly
-so underline indices were in bytes instead of characters. (stanton)
+2000-01-20 (bug fix) corrected complex array elem compiling (Spjuth)
-11/19/98 (bug fix) Fixed menus and titles so they properly display
-Unicode characters under Windows. [Bug: 819] (stanton)
+2000-01-20 (bug fix) made [info body] always return a string type arg,
+to prevent possible misuse of bytecodes in the wrong context (hobbs)
-11/24/98 (bug fix) Fixed a bunch of memory leaks in the Windows menu
-code. [Bug: 620] (stanton)
+2000-01-20 (bug fixes) several fixes to variable handling to prevent
+possible crashes, and further definition of correct behavior (melski)
-11/25/98 (bug fix) Various small bug fixes: (stanton)
- - hidemargin option was not honored properly in menus [Bug: 859]
- - disabled menu entries were getting reenabled whenever the
- mouse passed over the entry [Bug: 860]
- - fixed deletion order bug where a crash would result if a
- binding deleted "."
+2000-01-25 (bug fixes) improved QNX, Ultrix and OSF1 (Tru64) config and
+compatibility (edge, furukawa)
-11/30/98 (bug fix) The error result was getting lost when restoring
-configuration options in buttons. [Bug: 619] (stanton)
+2000-01-25 (bug fix) fixed mem leak when calling lsort with a bad -command
+argument (hobbs)
-12/8/98 (bug fix) The Windows clipboard was not correctly traslating
-multibyte characters. [Bug: 935] (stanton)
+2000-01-27 (feature enhancement) package mechanism overhaul: changed
+behavior of pkg_mkIndex to do -direct by default, added -lazy option.
+Fixed pkg_mkIndex to handle odd proc names and auto_mkIndex to use platform
+independent file paths. Other fixes for odd package quirks. Added
+::pkg namespace and ::pkg::create helper function. (melski)
------------------ Released 8.1b1, Dec 11 1998 -----------------------
+2000-02-01 (bug fix) fixed problem where http POST would send one extra
+newline (vasiljevic)
-1/29/99 (bug fix) Fixed bug in "grid forget" that failed to cancel
-pending idle handlers, resulting in a crash in a few odd
-cases. (stanton)
+2000-02-02 (feature enhancement) added docs for new regexp -inline and
+-all switches. (hobbs)
-2/4/99 (bug fix): Fixed uninitialized memory access in
-Tk_SetAppName. [Bug: 919] (stanton)
+2000-02-08 (bug fix) corrected handling of "next monthname" in clock scan
+(melski)
-2/4/99 (bug fix): Added a workaround for a bug in GetTextExtentExPoint
-on Win NT 4.0/Japanese. [Bug: 1006] (stanton)
+2000-02-09 (bug fix) restored Mac source to build readiness and prevented
+mac panic from an error when closing an async socket (steffen, ingham)
-2/4/99 (bug fix): Changed so keyboard shortcuts for menus will only be
-found in the current toplevel. Previously, they might be found in
-menus attached to other toplevels that might not even be mapped.
-[Bug: 924] (stanton)
+2000-02-10 (feature enhancement) improved error reporting for failed
+loads on Windows (dejong, hobbs)
-2/4/99 (bug fix): Changed to treat zero width lines in the canvas like
-they have width 1 for purposes of selection. [Bug: 925] (stanton)
+--- Released 8.3.0, February 10, 2000 --- See ChangeLog for details ---
-2/4/99 (bug fix): TK_LD_SEARCH_FLAGS was set incorrectly if
-SHLIB_LD_LIBS='${LIBS}', and shared linking is performed through the C
-compiler. Systems affected are Linux, MP-RAS and NEXTSTEP, but also
-with gcc on many more systems. [Bug: 908] (stanton)
+2000-03 (bug fixes, feature enhancement) overhaul of http package for
+proper handling of async callbacks (new options), version is now at 2.3
+(tamhankar, welch)
-2/4/99 (feature enhancement): Changed so windows that aren't resizable
-don't have resize handles and the zoom box is disabled on
-Windows. (stanton)
+2000-03 (performance enhancement) speedup in Windows filename handling (newman)
+and ==/!= empty string in exprs. (hobbs)
-2/4/99 (bug fix): Fixed so errors in console eval are reported
-properly. Eliminated duplicate result messages. [Bug: 973] (stanton)
+2000-03-27 (bug fix) added uniq'ing test to namespace export list to
+prevent unnecessary mem growth (hobbs)
-2/4/99 (bug fix): Changed so focus window is always set if -force is
-specified. This fixes the problem on Windows where Tk does not
-activate the window if it already has focus. (stanton)
+2000-03-29 (bug fix) fixed mem leak when repeatedly sourcing the same
+bytecompiled (tbc) code repeatedly across different interpreters (hobbs)
-2/4/99 (bug fix): If an image mask changed but ended up with the same
-XID, the GC failed to be updated and so the new mask was not
-used. [Bug: 970] (stanton)
+2000-03-29 (config enhancement) improved build support for gcc/mingw on
+Windows (nijtmans, hobbs) and added RPM target (melski)
-2/12/99 (new feature): Tk is now thread safe. You enable this by
-configuring with --enable-threads. Tcl must also be compiled with
---enable-threads. See Tcl for more information about the threading
-interfaces. (lfb)
+2000-03-31 (bug fix) corrected data encoding problem when using
+"exec << $data" construct (melski)
-2/25/99 (bug fix) Under Windows, wish can now inherit pipe handles on
-stdio so it is possible to use the wish executable in a command
-pipeline to capture the output of puts or read from the pipe with
-gets. (redman)
+2000-04 (feature enhancement) overhaul of threading mechanism to better
+support tcl level thread command (new APIs Tcl_ConditionFinalize,
+Tcl_MutexFinalize, Tcl_CreateThread, etc, all docs in Thread.3).
+(kupries, graveraux)
+This enables the tcl level thread extension. (welch)
-3/1/99 (bug fix) Under Windows, Tk was not properly handling focus and
-activation changes in some cases. (redman)
+2000-04-10 (bug fix) fixed infinite loop case in regexp -all (melski)
-3/10/99 (new feature) Tk now uses the new stub library feature in Tcl.
-The Tk library now contains no direct references to any symbols in
-Tcl. In addition, there is a new Tk_MainEx() function that takes an
-interpreter as an argument. See the Tcl documentation for more
-information about the stubs mechanism. (redman)
+2000-04-13 (config enhancement) added support for --enable-64bit-vis
+Sparc target. (hobbs)
-3/14/99 (feature change) Test suite now uses "test" namespace to
-define the test procedure and other auxiliary procedures as well as
-global variables.
- - Global array testConfige is now called ::test::testConfig.
- - Global variable VERBOSE is now called ::test::verbose, and
- ::test::verbose no longer works with numerical values. We've
- switched to a bitwise character string. You can set
- ::test::verbose by using the -verbose option on the Tk command
- line.
- - Global variable TESTS is now called ::test::matchingTests, and
- can be set on the Tk command line via the -match option.
- - There is now a ::test::skipTests variable (works similarly to
- ::test::matchTests) that can be set on the Tk command line via
- the -match option.
- - The test suite can now be run in any working directory. When
- you run "make test", the working directory is nolonger switched
- to ../tests.
-(hirschl)
-*** POTENTIAL INCOMPATIBILITY ***
+2000-04-18 (bug fix) moved tclLibraryPath to thread-local storage to fix
+possible race condition on MP machines (hobbs)
------------------ Released 8.1b2, March 16, 1999 ---------------------
+2000-04-18 (config enhancement) added MacOS X build target and
+tclLoadDyld.c dl type. (sanchez)
-3/23/99 (feature change) Test suite now uses "tcltest" namespace to
-define the test procedure and other auxiliary procedures as well as
-global variables. The previously chosen "test" namespace was thought
-to be too generic and likely to create conflits.
-(hirschl)
-*** POTENTIAL INCOMPATIBILITY ***
+2000-04-23 (bug fix) several Mac socket fixes (ingham)
-3/26/99 [bug fix] Fixed bug reported by Bryan Oakley in the
-menubutton bindings. There was a false assumption that there was
-always a menu attached to the button. [Bug 1116] (surles)
+2000-04-24 (bug fix) fixed hang in threaded Unix case when backgrounded
+exec process was running (dejong)
-3/26/99 (feature change) Removed --enable-tcl-stub from the configure
-script. Linking Tk to Tcl stubs is causing too many problems when
-linking executables like wish. Until the Tk is a fully loadable
-extension, linking against the Tcl stubs is not supported in Tk.
-(redman)
+--- Released 8.3.1, April 26, 2000 --- See ChangeLog for details ---
-3/26/99 (feature change) --nameble-shared is now the default and builds
-Tk as a shared library; specify --disable-shared to build a static Tk
-library and shell.
-*** POTENTIAL INCOMPATIBILITY ***
+2000-04-26 (doc fix) updated/added documentation for many API's and
+commands (melski)
-3/29/99 (api change) Standardized text layout and font interfaces
-so they are consistent with respect to byte versus character
-oriented indices. The layout functions all manipulate character
-oriented values while the lower level measurement functions all
-operate on byte oriented values. (stanton)
+2000-05-02 (feature enhancement) added support for joinable threads;
+extended API's for channels to allow channels to move between threads
+(kupries)
-4/1/99 (bug fix) Image handlers are finalized before the font subsystem
-to fix crashes during finalization of complex widgets. (stanton)
+2000-05-02 (feature enhancement) changed error return for procedures
+with incorrect args to be like the Tcl_WrongNumArgs API, with a "wrong
+# args: ..." message printed, with an args list (hobbs)
-4/1/99 (feature change) Removed the send command on Windows. Moved
-the DDE basis of that command out to its own extension. The send
-implementation on top of DDE was causing Tk to lock up in some cases.
-(redman)
+2000-05-08 (feature enhancement) added [array statistics] command
-4/5/99 (bug fix) Fixed handling of Unicode in text searches. The
--count option was returning byte counts instead of character counts.
+2000-05-08 (performance enhancement) rewrote Tcl_StringCaseMatch
+algorithm for better performance; this affects the [string match]
+command; added "eq" and "ne" operands to expr, for testing
+string equality and inequality (hobbs)
-4/5/99 (feature change) Cut and paste to an entry widget returns the
-selection instead of the widget contents, which can be different if the
--show option is used to hide the display. (stanton)
+2000-05-09 (feature enhancement) extended [lsearch] to support sorted
+list searches and typed list searches (melski)
---------------- Released 8.1b3, April 6, 1999 ----------------------
+2000-05-10 (feature enhancement) added [namespace exists] command
+(darley)
-4/20/99 (compiler fix) changed definition of Status type to use a
-typedef instead of a #define to avoid conflicting with the cygwin win32
-headers. (redman)
+2000-05-18 (build enhancement) added support for mingw compile env and
+cross-compiling (dejong)
-4/22/99 (bug fix) Set the -translation and -encoding options to binary
-for image files. (redman)
+2000-05-18 (bug fix) corrected clock grammar to properly handle the
+"ago" keyword when it follows multiple relative unit specifiers
+(melski)
-4/27/99 (bug fix) Changed to avoid the need for forward declarations in
-stub initializers. Added extern "C" blocks around stub table pointer
-declarations so the stubs can be used from C++ code. (stanton)
+2000-05-22 (compile fix) type cast cleanups (dejong)
---------------- Released 8.1 final, April 29, 1999 ----------------------
+2000-05-23 (performance enhancement) added byte-compiled
+implementation of [return] command and [string] command (melski)
-5/7/99 (bug fix) Fixed bug wheretk_popup fails when called too
-quickly. [Bug: 2009] (stanton)
+2000-05-26 (performance enhancement) extended byte-compiled [string]
+command with support for [string compare/index/match] (hobbs)
-5/18/99 (bug fix) Fixed clipboard code so it handles Unicode data
-properly on Windows NT and 95. [Bug: 1791] (stanton)
+2000-05-27 (feature enhancement) added ability to set [info script]
+return value ([info script ?newFileName?]) (welch)
-5/19/99 (bug fix) Add extern "C" block around entire header file for
-C++ compilers to fix linkage issues. Submitted by Don Porter and Paul
-Duffin. (redman)
+2000-05-31 (feature enhancement) added support for regexp and exact
+pattern matching for [array names] (gazetta)
---------------- Released 8.1.1, May 25, 1999 ----------------------
+2000-05-31 (feature enhancement) added -nocomplain and -- flags to
+[unset] to allow for silent unset operation (hobbs)
-5/21/99 (bug fix) Fixed clipboard code to handle lack of CF_LOCALE
-information (from command.com). (stanton)
+--- Released 8.4a1, June 6, 2000 --- See ChangeLog for details ---
-6/1/99 (bug fix) Improved I18N selection support. COMPOUND_TEXT
-is converted to/from iso2022, and STRING is converted to/from
-iso8859-1. More work is needed. (stanton)
+2000-05-29 (bug fix) corrected resource cleanup in http error cases.
+Improved handling of error cases in http. (tamhankar)
-6/3/99 (bug fix) Fixed selection code to handle Unicode data in
-COMPOUND_TEXT and STRING selections. [Bug: 1791] (stanton)
+2000-07 (feature rewrite) complete rewrite of the Tcl IO channel subsystem
+to correct problems (hangs, core dumps) with the initial stacked channel
+implementation. The new system has many more tests for robustness and
+scalability. There are new C APIs (see Tcl_CreateChannel), but only
+stacked channel drivers are affected (ie: TLS, Trf, iogt). The iogt
+extension has been added to the core test code to test the system.
+(hobbs, kupries)
+ **** POTENTIAL INCOMPATABILITY ****
-6/16/99 (new feature) Changes to makefiles and configure scripts to
-support TEA specification. (wart)
+2000-07 (build improvements) cleanup of the makefiles and configure scripts
+to correct support for building under gcc for Windows. (dejong)
-6/30/99 (bug fix) Removed deprecated functions, patch from Jan
-Nijtmans. [Bug 2080] (redman)
+2000-08-07 (bug fix) corrected sizeof error in Tcl_GetIndexFromObjStruct.
+(perkins)
-6/30/99 (bug fix) Applied patch to allow Img extension to work with
-8.2, patch from Jan Nijtmans. [Bug 2068] (redman)
+2000-08-07 (bug fix) correct off-by-one error in HistIndex, which was
+causing [history redo] to start its search at the wrong event index. (melski)
-6/30/99 (bug fix) Applied patch from Don Porter to prevent the Windows
-shutdown code from calling Tcl functions when the stub table has not
-been initialized in TkWinWmCleanup. [Bug: 2269] (redman)
+2000-08-07 (bug fix) corrected setlocale calls for XIM support and locale
+issues in startup. (takahashi)
-7/8/99 (bug fix) Changed TkWinChildProc to pass WM_WINDOWSPOSCHANGED
-through to DefWindowProc to make OpenGL sub-windows happpy. This
-allows Windows to generate the WM_SIZE and WM_MOVE messages. (stanton)
+2000-08-07 (bug fix) correct code to handle locale specific return values
+from strftime, if any. (wagner)
---------------- Released 8.2b1, July 14, 1999 ----------------------
+2000-08-07 (bug fix) tweaked grammar to properly handle the "ago" keyword
+when it follows multiple relative unit specifiers, as in
+"2 days 2 hours ago". (melski)
-7/16/99 (bug fix) Copy prolog.ps from the generic directory for
-install-libraries make target. (redman)
+2000-08-07 (doc fixes) numerous doc fixes to correct SEE ALSO and NAME
+sections. (english)
-7/22/99 (bug fix) Applied patch from Jeff Hobbs to fix
-library/menu.tcl. [Bug: 2425] (redman)
+2000-08-07 (bug fix) new man pages memory.n, TCL_MEM_DEBUG.3, Init.3 and
+DumpActiveMemory.3. (melski)
-7/22/99 (bug fix) Make install-sh have executable permissions before
-calling from the Makefile. [Bug: 2413] (redman)
+--- Released 8.3.2, August 9, 2000 --- See ChangeLog for details ---
-7/22/99 (bug fix) Block out sys/stat.h include with #if to allow
-extension writers to use the MetroWerks compiler on Windows.
-[Bug: 2385] (redman)
+2000-06 thru 2000-11 (build improvements) Added support for mingw (gcc on
+Windows), AIX-5 and Win64 builds (dejong, hobbs)
-7/29/99 (bug fix) Allow tcl to opn CON and NUL on Windows, moved check
-to Tk Console code instead. [Bug: 2393 2392 2209 2458] (redman)
+2000-06-23 (feature enhancement) ability to use Tcl_Obj *s as hash keys (duffin)
-7/30/99 (bug fix) corrected the Windows build of threaded Tk from both
-sets of makefiles (nmake and gmake). (redman)
+2000-06-29 (new features) added [mcmax] and [mcmset] and extended [unknown] in
+msgcat package (duperval, krone, nelson)
+=> msgcat 1.1
-7/30/99 (bug fix) Added XFillRectangle to stub table, patch from Jan
-Njitmans. [Bug: 2446] (hobbs)
+2000-08 thru 2000-09 added tclPlatDecls.h to default install (melski, hobbs)
-8/1/99 (bug fix) Wrapped #define of panic() inside #ifndef blocks to
-avoid compiler errors on Macintosh. Patch from Vince Darley.
-[Bug: 2389] (hobbs)
+2000-08-24 (new feature) Enhanced trace syntax to add:
+ trace {add|remove|list} {variable|command} name ops command
+(darley, melski)
---------------- Released 8.2b2, August 5, 1999 ----------------------
+2000-09-06 (cross-platform feature) Set ^Z (\32) as default EOF char. (hobbs)
-8/13/99 (Mac) Rearranged the projects in the tkMacProjects.sea.hqx so
-that the build directory is separate from the sources. Fixed bug in
-Tk_DrawChars(). (Jim Ingham)
+2000-09-07 partial fix for bug 2460 to prevent exec mem leak on Windows for the
+common case (gravereaux)
---------------- Released 8.2.0, August 17, 1999 ----------------------
+2000-09-14 Improved string allocation growth for large strings (hintermayer,
+melski)
-9/21/99 (bug fix) fixed 'wm deiconify' quirks on Windows. (hobbs)
+2000-09-14 New non-panic'ing mem allocation functions Tcl_AttemptAlloc,
+Tcl_AttemptRealloc, Tcl_AttemptSetObjLength (melski)
-9/21/99 (bug fix) fix fg<>bg GC swap bug for canvas. [Bug: 2676] (hobbs)
+2000-09-20 (new features) completely new, enhanced syntax in tcltest package.
+Backwards compatable with tcltest v1. (hom)
+=> tcltest 2.0
-9/21/99 (config fix) fixed AIX config issues for Tk. (hobbs)
+2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that
+didn't set nonBlocking correctly when resetting the flags for the write
+side (mem leak) Correct mem leak in channels when statePtr was released
+(hobbs)
-9/24/99 (feature change) tk_dialog now uses {Times 12} by default. (hobbs)
+2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason)
---- Released 8.2.1, October 04, 1999 --- See ChangeLog for details ---
+2000-10-06 (bug fix) corrected [file channels] to only return channels in
+the current interpreter (hobbs)
-10/30/99 (bug fix) fixed XKeysymToKeycode to handle mapping of symbolic
-keysyms (Left, Home, ...) with event generate (hobbs)
+2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to
+speed up command significantly in base cases (hobbs)
-10/30/99 (bug fix) change tkEntrySeeInsert to avoid the use of a while loop
-that could eat CPU tremendously. Behavior of moving the cursor at the
-right edge changes slightly. [Bug: 3195] (hobbs)
+2000-10-27 Fixed mem leak in Tcl_CreateChannel. Re-purified core via test
+suites. (hobbs)
-10/30/99 (bug fix) changed tkScrollButtonUp to check for existence of
-tkPriv(relief) in order to avoid spurious release events (hobbs)
+2000-10-30 (new feature) add "ja_JP.eucJP" map to "euc-jp" encoding (takahashi)
---- Released 8.2.2, November 04, 1999 --- See ChangeLog for details ---
+2000-11-01 (mem leak) Corrected excessive mem use of info exists on a
+non-existent array element (hobbs)
-11/19/99 (bug fix) fixed expression error that could cause
-'malformed bucket chain' error in tkEntry.c. (hobbs)
+2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded
+environment (gravereaux)
-11/19/99 (bug fix) fixed Tk_NameOfColor (hobbs)
+2000-11-03 (new feature) Tcl_SetMainLoop enables defining an event loop for
+tclsh. This enables Tk as a truly loadable package. (hobbs)
---- Released 8.2.3, December 16, 1999 --- See ChangeLog for details ---
+--- Released 8.4a2, November 3, 2000 --- See ChangeLog for details ---
-1999-09-01 (feature enhancement) rewrote runtime libraries to use new
-Tcl functions where appropriate
+2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that
+didn't set nonBlocking correctly when resetting the flags for the write
+side (mem leak) Correct mem leak in channels when statePtr was released
+(hobbs)
-1999-10-28 (feature enhancement) added Img patch from Jan Nijtmans that
-makes the image command Tcl_Obj-based, adds support for binary -data args,
-adds alpha channel to images, adds GIF write capability (RLE). Binary
-compatability is maintained, and source level compatibility is retained
-with -DUSE_OLD_IMAGE. (nijtmans)
+2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason)
-1999-11-16 (feature enhancement) made listbox Tcl_Obj based, added
--listvariable option and itemconfigure command to allow coloring
-individual items. (melski)
+2000-10-06 (bug fix) corrected [file channels] to only return channels in
+the current interpreter (hobbs)
-1999-11-23 (feature enhancement) added TK_OPTION_DONT_SET_DEFAULT as an
-equivalent to TK_CONFIG_DONT_SET_DEFAULT (hobbs)
+2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to
+speed up command significantly in base cases (hobbs)
-1999-11-24 (feature enhancement) updated dialogs to use color icons on
-Unix, center properly over -parent. (hipp, hobbs)
+2000-11-01 (mem leak) Corrected excessive mem use of info exists on a
+non-existent array element (hobbs)
-1999-12-01 (feature enhancement) added hooks into main() code to support
-"big" shells more easily. (redman)
+2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded
+environment (gravereaux)
-1999-12-02 (feature enhancement) converted Tk_DestroyCmd, Tk_LowerCmd and
-Tk_RaiseCmd to their ObjCmd equivalent.
+2000-11-23 (mem leak) fixed potential memory leak in error case of lsort
+(fellows)
-1999-12-12 (bug fix) fixed bug in TextSearchCmd for multibyte chars
+2000-12-09 (feature enhancement) changed %o and %x to use strtoul instead
+of strtol to correctly preserve scan<>format conversion of large integers
+(hobbs)
+Fixed handling of {!<boolean>} in expressions (hobbs, fellows)
-1999-12-13 (feature enhancement) added support for pointer warping via the
-event -warp option, added some items from Dash patch: canvas widget now
-Tcl_Obj-based, added Tk_CreateSmoothMethod, added support for <Quadruple>
-clicks, entry widget validation routines, new -state hidden in text
-widgets, new -state -active* -disabled* -offset options to canvas items
-(see man page for full docs). New features include dashed line support on
-the canvas, -elide support for TkMan, postscript printing of images and
-windows from the canvas. Binary compatibility is maintained with 8.2, and
-source level compatibility is kept by using -DUSE_OLD_CANVAS.
-(hobbs, nijtmans, et al)
+2000-12-14 (feature enhancement) improved (s)rand for 64-bit platforms
+(porter)
-1999-12-16 (feature enhancement) added "bitstream cyberbit" to list of
-font fallbacks. (hobbs)
+2001-01-04 (bug fix) corrected parsing of $tcl_libPath at startup on
+Windows (porter)
-1999-12-16 (feature enhancement) added new 'tk useinputmethods ...' command
-to provide support for disabling/enabling the use of XIM on X. This was
-previously all done at compile time, and always on. Now it is turned off
-by default, even when available, and the user must turn it on to use XIM
-(per display).
- *** POTENTIAL INCOMPATIBILITY ***
-user must add 'tk useinputmethods 1' to retain old style. (hobbs)
+2001-01-30 (bug fix) Fixed possible hangs in fcopy. (porter)
-1999-12-16 (feature enhancement) added proper support for -initialfile
-to tk_get*File, and made Unix version better match Windows file box
-that it was emulating. (hobbs)
+2001-02-15 (performance enhancement) improved efficiency of [string split]
+(fellows)
-1999-12-16 (bug fix) removed necessity of 'update idle' before 'wm
-deiconify' on Windows. (mao)
+2001-03-13 (bug fix) Correctly possible memory corruption in string map {}
+$str (fellows)
-1999-12-16 (feature enhancement) added support for Windows system cursors
-to TkGetCursorByName (use -cursor @filename)
+2001-03-29 (bug fix) prevent potential race condition and security leak in
+tmp filename creation on Unix. (max)
+Fixed handling of timeout for threads (corrects excessive CPU usage issue
+for Tk on Unix in threaded Tcl environment). (ruppert)
-1999-12-21 (bug fix) fixed lack of refresh for thin frames (darley)
+2001-03-30 (bug fix) corrected Windows memory error on exit (wu)
+Fixed race condition in readability of socket on Windows.
-1999-12-21 (bug fix) fixed panic in Tk_CoordsToWindow to print error
-to stderr instead (for Tix) (hobbs)
+2001-04-03 (doc fixes) numerous doc corrections and clarifications.
+Update of READMEs.
-1999-12-21 (bug fix) fixed segv with scale widget when using -cursor (hobbs)
+2001-04-04 (build improvements) redid Mac build structure (steffen)
+Corrected IRIX-5* configure (english). Added support for AIX-5 (hobbs).
+Added support for Win64 (hobbs).
---- Released 8.3b1, December 22, 1999 --- See ChangeLog for details ---
+--- Released 8.3.3, April 6, 2001 --- See ChangeLog for details ---
-2000-01-05 (bug fix) Applied fixes for unprotected arg passing through eval
-and after in Tk runtime code [Bug: 3943] (hobbs)
+2000-11-23 (new feature)[TIP 7] higher resolution timer on Windows (kenny)
-2000-01-05 (bug fix) Applied fix for i18n problems with Mac clipboard
-[Bug: 3544] (hobbs)
+2001-01-18 (new feature) Tcl_InitHashTableEx renamed to Tcl_InitCustomHashTable
+(kupries)
-2000-01-05 (feature change) removed the 8.3b1 introduced -state option
-for text tags, and documented -elide (-state hidden == -elide true) (hobbs)
+2001-03-30 (new feature)[TIP 10] support for thread-aware/hot channels (kupries)
-2000-01-12 (bug fix) fix Windows 'wm deiconify' to zoomed state [Bug: 2077]
-and fixed possible flashing of unmapped toplevel in deiconify [Bug: 3338]
-and fixed unwanted mapping of transient window [Bug: 572] (hobbs)
+2001-04-06 (new feature)[219280] auto-loading hidden in ::errorInfo (porter)
-2000-01-12 (feature enhancement) extended 'wm state' to accept a state
-to set for the toplevel, and added support for zoomed (maximized) state
-on Windows (hobbs)
+2001-04-07 (bug fix)[406709] corrected panic when extra items left on the
+byte compiler execution stack (sofer)
-2000-01-12 (bug fix) Applied fix for cursor to not blink when entry or
-text widget was disabled [Bug: 1807] (hobbs)
+2001-04-09 (bug fix)[219136,232558] improved use of thread-safe functions in
+unix time commands (kenny)
---- Released 8.3b2, January 13, 2000 --- See ChangeLog for details ---
+2001-04-24 (new feature)[TIP 27] started CONST-ification of the Tcl APIs (kenny)
-2000-01-20 (bug fix) fixed interpretation of consecutive ^ characters in
-grid command (melski)
+2001-05-03 (new feature) [auto_import] now matches patterns like
+[namespace import], not like [string match] (porter)
+ **** POTENTIAL INCOMPATABILITY ****
-2000-01-20 (bug fix) fixed -select(bg|fg) class names in listbox (hobbs)
+2001-05-07 (new feature)[416643] distinct srand() seed per interp (sofer)
-2000-01-20 (bug fix) fixed handling of too few coords for line item type in
-canvas (hobbs)
+2001-05-15 (new feature) new Tcl_GetUnicodeFromObj API (hobbs)
-2000-01-20 (bug fix) fixed dialog's association with parent (melski)
+2001-05-16 (performance enhancement) byte-compiled versions of [lappend],
+[append] simple cases (hobbs)
-2000-01-26 (bug fix) fixed handling of binary data for -data option to
-image create (melski)
+2001-05-23 (new feature) added ISO-8859-15 and koi8-u encodings, updated other
+encoding tables based on http://www.unicode.org/Public/MAPPINGS/ (kuhn)
-2000-01-26 (feature enhancement) improved GIF decoding speed by ~60%
-(melski)
+2001-05-27 (new feature) updated to Unicode 3.1.0 data set (still using 16
+bits for Tcl_UniChar though) (hobbs)
-2000-01-26 (feature enhancement) added tk_chooseDirectory implementation
-for Unix and Mac (nelson, melski)
+2001-05-30 (new feature)[TIP 15] Tcl_GetMathFuncInfo, Tcl_ListMathFuncs,
+Tcl_InfoObjCmd, InfoFunctionsCmd APIs (fellows)
-2000-02-01 (bug fix) fixed resolution rounding problem in scale (porter)
-and fixed potential Unix seg fault due to use of ckfree instead of
-Tcl_EventuallyFree (hobbs)
+2001-06-08 (bug fix,feature enhancement)[219170,414936] all Tcl_Panic
+definitions brought into agreement (porter)
-2000-02-01 (bug fix) fixed handling of negative dash values for canvas
-items (nijtmans)
+2001-06-12 (bug fix)[219232] regexp returned non-matching sub-pairs to have
+index pair {-1 -1} (fellows)
-2000-02-01 (bug fix) fixed dialog lockup on Windows where once the native
-dialog disappeared, the parent window could end up locked up (hobbs)
+2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII
+characters. (hobbs, riefenstahl)
-2000-02-03 (bug fix) fixed text dump to use char indices instead of byte
-indices (melski)
+2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer)
-2000-02-07 (bug fix) fixed handling of default extension in unix file
-dialogs (dejong)
+2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings
+(hobbs, barras)
-2000-02-08 (bug fix) corrected windows symbol font use to restrict itself
-to 8-bit chars (kenny)
+2001-07-12 (new feature)[TIP 36] Tcl_SubstObj API (fellows)
-2000-02-08 (feature enhancement) improved support for moving from the old
-style image C API to the new obj'ified one with new Tk_InitImageArgs
-command and stub'ing of image code. See docs for how to make the
-transition. (nijtmans)
+2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows
+(hobbs, jsmith)
-2000-02-08 (bug fix) fixed incorrect handling of CapsLock on Win9* and the
-use of dead keys on international keyboards (spjuth)
+2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size
+of a channel is changed after channel use has already begun (kupries, porter)
-2000-02-10 (bug fix) brought Mac back to building state, added support
-for Appearance Manager (ingham)
+2001-07-31 (new feature)[TIP 17] TclFS* APIs provide new virtual file
+system. This includes the addition of 'file normalize', 'file system',
+'file separator' and 'glob -tails' (darley)
-2000-02-10 (feature enhancement) added support for buttons 4 && 5 as
-mousewheel style scrolling in listbox and text widget for Unix.
+2001-08-06 (bug fix) removed use of tmpnam in TclpCreateTempFile on Unix (lim)
---- Released 8.3.0, February 10, 2000 --- See ChangeLog for details ---
+ * improved build support for IRIX, GNU HURD, Mac OS 9 and OS X
-2000-03-02 (bug fix) fixed crash in listbox when cursor was configure and
-then widget was destroyed (hobbs)
+ * configure scripts revamped for better support of cygwin and gcc on
+ Windows (mdejong)
-2000-03-02 (feature enhancement) added %V substitution to entry widget
-validation to clarify type of validation occuring (hobbs)
+ * corrected several minor errors noted by Purify (hobbs)
-2000-03-07 (feature enhancement) added -disabledforeground/-state to labels
-(melski)
+--- Released 8.4a3, August 6, 2001 --- See ChangeLog for details ---
-2000-03-29 (config enhancement) improved build support for gcc/mingw on
-Windows (nijtmans, hobbs) and added RPM target (melski)
+2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII
+characters. (hobbs, riefenstahl)
-2000-03-24 (bug fixes) numerous corrections for more correct Unix dialog
-behaviors (melski)
+2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer)
-2000-03-27 (bug fix) fixed mem leak in wm commands (hu)
+2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings
+(hobbs, barras)
-2000-03-31 (bug fix) correct initialization of Windows static builds and
-added Unicode aware open/save file dialogs on Windows (hobbs)
+2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows
+(hobbs, jsmith)
-2000-03 (bug fix) canvas: corrected support for transparency in dashed
-lines on Windows (nijtmans); added support for postscript generation of
-images on Windows, also fixing transparency printing (biancardi); corrected
-handling of configure options in non-empty canvas (melski)
+2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size
+of a channel is changed after channel use has already begun (kupries, porter)
-2000-04-07 (bug fix) correct font name length restriction that prevented
-the use of long named (>16 char) fonts on NT/2000 (hobbs)
+2001-08-06 (bug fix)[442665] corrected object reference counting in [gets]
+(jikamens)
-2000-04-07 (bug fix) fixed safe Tk to work in base cases (hobbs)
+2001-08-06 (new feature) added GNU (HURD) configuration target. (brinkmann)
-2000-04-10 (bug fix) corrected Alt-Key event generation and handling of
-Alt-sequence Windows special char generation and (Control|Shift|Alt)_L/_R
-determination (melski)
+2001-08-07 (bug fix)[406709] corrected panic when extra items left on the
+byte compiler execution stack (see test foreach-5.5) (sofer, tallneil, jstrot)
-2000-04-10 (bug fix) correctly check state of parent when popping up
-bgerror dialog. (melski)
+2001-08-08 (new features) updated packages msgcat 1.1.1, opt 0.4.3,
+tcltest 1.0.1, dependencies checked (porter)
-2000-04-11 (feature enhancement) msgcat now searches up the namespace chain
-for a match instead of just in the local namespace (hershey)
+2001-08-20 (new feature)[452217] http 2.3.2: include port number in Host: header
+to comply with HTTP/1.1 spec (RFC 2068) (hobbs, tils)
-2000-04-12 (bug fix) corrected handling of Windows clipboard to allow for
-use of user-defined types within the Tk app (hobbs)
+2001-08-23 (new feature) added QNX-6 build support (loverso)
-2000-04-13 (feature enhancement) improved handling of shadow determination
-for 3D borders in very light/dark cases (hipp, melski)
+2001-08-23 (bug fix) corrected handling of spaces in path name passed to
+[exec] on Windows (kenpoole)
-2000-04-13 (bug fix) correctly color separator bg in menus on Windows
-(melski)
+2001-08-24 (bug fix) corrected [package forget] stopping on non-existent
+package (porter)
-2000-04-14 (bug fix) improved handling of scale widget, reduced number of
-redraws (hobbs)
+2001-08-24 (bug fix) corrected construction of script library search path
+relative to executable (porter)
-2000-04-17 (feature enhancement) made shift-selection more Windows-like
-(intuitive) in text widget (melski)
+2001-08-24 (bug fix) [auto_import] now matches patterns like
+[namespace import], not like [string match] (porter)
+ **** POTENTIAL INCOMPATABILITY ****
-2000-04-22 (bug fix) mac bug fixes, nav services handling (ingham)
+2001-08-27 (new feature) added Tcl_SetMainLoop() to enable loading Tk as a
+true package (hobbs)
-2000-04 more docs for public APIs (melski)
+2001-08-30 (bug fix) build support for Crays (andreasen)
---- Released 8.3.1, April 26, 2000 --- See ChangeLog for details ---
-2000-04 (doc updates) extended, updated docs (melski)
+2001-09-01 (bug fix) rewrite of Tcl_Async* APIs to better manage thread
+cleanup (gravereaux)
-2000-05-09 (feature change) removed WS_EX_TOOLWINDOW style bit for
-transient windows on Windows platforms, so that transients have
-full-size titlebars (melski)
+2001-09-06 (new feature) http 2.4: honor the Content-encoding and charset
+parameters; add -binary switch for forcing the issue (hobbs, saoukhi, orwell)
+=> http 2.4
-2000-05-09 (bug fix) fixed calling of takeFocus proc (nemethi)
+2001-09-06 (performance enhancement) rewrite of file I/O flush management on
+Windows. Approximately 100x speedup for some operations. (kupries, traum)
-2000-05-11 (bug fix) corrected handling of 3DBorder, Cursor and Color
-objects on multiple screens (hobbs)
+2001-09-10 (bug fix) corrected finalization error in TclInExit (darley)
-2000-05-12 (feature enhancement) improved support for chars in 0-255
-range for bitmap ANSI fonts (spjuth, hobbs)
+2001-09-10 (bug fix) protect against alias loops (hobbs)
-2000-05-12 (widget enhancement) added support for -repeatdelay,
--repeatinterval for command buttons; and -compound (image and text
-simultaneously) for labels, check-, radio-, and command buttons (melski)
+2001-09-12 (bug fix) added missing #include in tclLoadShl.c (techentin)
-2000-05-14 (widget change) added "readonly" state for entries and
-changed behavior of "disabled" entries; added -readonlybackground
-option for entries (melski)
-*** THIS IS A BACKWARDS INCOMPATIBLE BEHAVIOR CHANGE ***
+2001-09-12 (bug fix) script library path construction on Windows no longer
+uses registry, nor adds the current working directory to the path (porter)
-2000-05-15 (feature enhancement) added [image inuse] command (melski)
+2001-09-12 (bug fix) correct bugs in compatibility strtod() (porter)
-2000-05-15 (feature enhancement) added -nice option to [bell] command (duncan)
+2001-09-13 (bug fix) Tcl_UtfPrev now returns the proper location when the
+middle of a UTF-8 byte is passed in (hobbs)
-2000-05-17 (widget enhancement) added -overrelief option for
-check/radio/buttons (melski)
+2001-09-19 (bug fix) [format] and [scan] corrected for 64-bit machines (rmax)
-2000-05-26 (feature change) added support for new syntax in
-Tk_OptionSpec tables; if the database name for an option contains an
-embedded "." it indicates that the name contains an overriding window
-class specifier in addition to the database name, which allows widgets
-to perform queries for certain options as if they were options for a
-different widget class (melski)
+2001-09-19 (new feature) --enable-64-bit support for HP-11. (hobbs)
-2000-05-28 (new widget) added spinbox widget (hobbs)
+2001-09-19 (new feature) native memory allocator now default on Windows
+(hobbs)
-2000-05-31 (feature change) replaced bgerror dialog with a new and
-improved one (fellows, melski)
+2001-09-20 (new feature) WIN64 support and extra processor definitions
+(hobbs, mstacy)
---- Released 8.4a1, June 6, 2000 --- See ChangeLog for details ---
+2001-09-26 (bug fix) corrected potential deadlock in channels that do not
+provide a BlockModeProc (kupries, kogorman)
-2000-05-15 (bug fix) changed wm deiconify from using idle callback to
-calling restack and focus code immediately. (hobbs)
+2001-10-03 (new feature) WIN64 build support (hobbs)
-2000-07 (build cleanup) cleanup of defines in tkConfig.sh, and cleanup
-in make and configure files to better handle .rc files across
-builds. (welch)
+2001-10-03 (bug fix) correction in thread finalization (rbrunner)
-2000-07 (build improvements) cleanup of the makefiles and configure scripts
-to correct support for building under gcc for Windows. (dejong)
+2001-10-04 (new feature) updated encodings with latest mappings from
+www.unicode.org (hobbs)
-2000-08 (feature enhancements) for Windows, corrected drawing of separator
-menu entries, disable menu entries and the height for separator
-bars. (melski)
+2001-10-11 (bug fix) corrected cleanup of self-referential bytecodes at
+interpreter deletion (sofer, rbrunner)
-2000-08 (bug fix) fixed calling of takeFocus proc with arg bearing
-functions. (nemethi)
+2001-10-16 (new feature) config support for MacOSX / Darwin (steffen)
-2000-08 (bug fix) For text widgets, added a test for a NULL segment pointer
-when doing backwards searches for "", correct searching over elided chars,
-and corrected search combining -regexp and -nocase. (melski)
+2001-10-16 (new feature, Mac) change in binary extension format from MachO
+bundles to standard .dylib dynamic libraries like on other unices.
+ *** POTENTIAL INCOMPATIBILITY ***
-2000-08 (bug fix) Corrected code for using 'place', cursors, colors and 3D
-borders on multiple screens simultaneously. (hobbs, hipp)
+2001-10-18 (bug fix) corrected off-by-one-day error in clock scan with
+relative months and years during swing hours. (lavana)
---- Released 8.3.2, August 9, 2000 --- See ChangeLog for details ---
+--- Released 8.3.4, October 19, 2001 --- See ChangeLog for details ---
-2000-06-15 (new feature) [tk_getOpenFile ... -multiple] (melski)
+2001-08-21 (bug fix)[219184] overagressive compilation of [catch] (sofer)
-2000-06-29 (new feature) localization support in Tk dialogs (duperval,
-melski, et al)
+2001-08-22 (new feature)[227482] [dde request -binary] (hobbs)
+=> dde 1.2
-200-07-28 (new feature) -state option for listbox, better native color
-defaults (melski)
+2001-08-30 (performance enhancement)[456668] fully qualified command names use
+cached Command for all namespaces, avoiding repeated lookups (sofer)
-2000-08 (feature rewrites) Tcl_Obj'ified clipboard, message, tkwait,
-bindtags, grab. place, selection commands (melski)
+2001-08-31 (performance enhancement) bytecompiled [list] (hobbs)
-2000-08-24 (new feature) More correct GNU configure support (no more
---enable-gcc) (dejong)
- *** POTENTIAL INCOMPATIBILITY ***
+2001-09-02 (bug fix)[403553] Add -Zl to VC++ compile line for tclStubLib to
+avoid any specific C-runtime library dependence. (gravereaux)
-2000-08-29 (bug fix) Corrected Windows menu indicator drawing (oberhumer)
+2001-09-05 (new feature) restored support for Borland compiler (gravereaux)
-2000-09-01 (bug fix) Added tkPlatDecls.h to default install (melski)
+2001-09-05 (new feature)[TIP 49] Tcl_OutputBuffered API (schroedter, fellows)
-2000-09-17 (new feature) Added TK_OPTION_CUSTOM type, similar to
-TK_CONFIG_CUSTOM (melski)
+2001-09-07 (new feature) restored VC++ 5.0 compatibility (gravereaux)
-2000-09-29 (bug fix) Several fixes for multi-display uses of Tk (hipp, hobbs)
+2001-09-10 (performance enhancement)[TIP 53,451441] [proc foo args {}] now
+compiles to 0 bytecodes (sofer)
-2000-10-05 (new feature) Tk_CreateAnonymousWindow API to create anonymous
-Tk windows controllable from C (melski)
+2001-09-13 (new feature)[TIP 56] Tcl_EvalTokensStandard API (sofer)
-2000-10-27 (new default behavior) [tk useinputmethods 1] is the default
-in tk.tcl, for users of XIM and "dead" keys (hobbs)
+2001-09-13 (new feature) Old ChangeLog entries => ChangeLog.1999 (hobbs)
-2000-10-30 Improved support for static builds on Windows (gravereaux)
+2001-09-17 (new feature) compiling with TCL_COMPILE_DEBUG now required to
+enable all compile and execution tracing (sofer)
+ *** POTENTIAL INCOMPATIBILITY ***
- * Added support for mingw (gcc on Windows), AIX-5 and Win64 builds
- (dejong, hobbs)
+2001-09-19 (bug fix)[411825] made TclNeedSpace UTF-8 aware (fellows)
- * Improved error checking in Windows native dialogs (melski, hobbs)
+2001-09-19 (bug fix)[219166] overagressive compilation of "quoted" bodies of
+[for], [foreach], [if], and [while] (sofer)
---- Released 8.4a2, November 3, 2000 --- See ChangeLog for details ---
+2001-09-19 (performance enhancement) bytecompiled [string match] (hobbs)
-2001-04-04 (build improvements) redid Mac build structure (steffen)
-Corrected IRIX-5* configure (english). Added support for AIX-5 (hobbs).
-Added support for Win64 (hobbs).
+2001-10-15 (new feature)[TIP 35] serial channel configuration: Win (schroedter)
-2001-04-04 (doc fixes) numerous doc corrections and clarifications.
-Update of READMEs.
+2001-11-06 (bug fix)[478856] loss of fileevents due to short reads (kupries)
-2001-04-04 (bug fix) corrected reseting of service mode to only occur when
-it was set (hedin, hobbs)
+2001-11-06 (new feature) revitalized makefile.vc (gravereaux)
-2001-04-02 (bug fix) Improved tests on Windows for correctness.
-Checked for menu deletion before calling associated menu entry command.
-Fixed listbox, canvas and entry destruction to be more aware of current
-widget activity. (hobbs)
+2001-11-07 (new feature) Cygwin gcc support dropped. Use mingw (dejong)
+ *** POTENTIAL INCOMPATIBILITY ***
-2001-03-30 (feature enhancement) added support for changing IME on the fly
-in Windows (2000) (lam)
-(bug fix) handled the error case where a valid-looking but invalid
-identifier could be passed in certain event generate options causing a
-crash (hobbs)
+2001-11-07 (new feature) Support --include-dir= and --libdir= options to
+configure. Store in tclConfig.sh as TCL_INCLUDE_SPEC and TCL_LIB_SPEC.
+(dejong)
+ *** POTENTIAL INCOMPATIBILITY ***
-2001-03-29 (bug fix) corrected handling of drag-selection (dejong)
+2001-11-08 (new feature) Enable --enable-threads on FreeBSD (dejong)
-2001-01-02 (feature enhancement) added Windows icon support in wm
-iconbitmap (darley)
+2001-11-08 (new feature) New make target 'make gdb' (dejong)
-2000-10-27 (feature enhancement) made [tk useinputmethods 1] the default
-for Tk (hobbs)
+2001-11-09 (bug fix)[480176] [global] mishandled varnames matching :* (porter)
-2000-10-18 (bug fix) Corrected rendering of 1-pixel wide stippled lines on
-Windows. Correct use of active- and disabledwidth values for displaying
-lines. Enhanced error handling in Windows native dialogs (melski)
+2001-11-12 (new feature)[TIP 22,33,45] new command [lset],
+[lindex] extended to accept multiple indices. (kenny, hobbs)
-2000-09-29 (bug fix) corrected BadMatch errors when using Tk on multiple
-screens (hipp)
+2001-11-16 (new feature) new configure option --enable-langinfo=no.
+By default, nl_langinfo() is used on Unix to determine system encoding.
+Tcl's built-in system is used only if that fails, or configured with
+--enable-langinfo=no. (hobbs, wagner)
-2000-08-18 (feature enhancement) Removed redundant call to DitherInstance
-(melski)
+2001-11-19 (new feature)[TIP 62] A Tcl_VarTraceProc can now return Tcl_Obj *
+or a dynamic string as well as a static string to indicate an error (fellows)
---- Released 8.3.3, April 6, 2001 --- See ChangeLog for details ---
+2001-11-19 (new feature)[TIP 73] Tcl_GetTime API (kenny)
-2000-11-21 (new feature)[TIP 5] Tk_ClassProcs, Tk_SetClassProcs API (melski)
+2001-11-19 (bug fix)[478847] overflows in [time] of >2**31 microseconds (kenny)
-2000-12-13 (performance enhancement)[403327] Tcl_Objs of type "double"
-are recognized in SetMMFromAny to speed up canvas coord calculations (hobbs)
+2001-11-29 (performance enhancement) caching scheme added to [binary scan]
+(fellows)
-2001-01-02 (new feature)[TIP 8] [wn iconbitmap -default] on Windows (darley)
+2001-12-05 (new feature) new algorithm for [array get] adds safety when read
+traces modify the array. (sofer)
+ *** POTENTIAL INCOMPATIBILITY ***
-2001-02-12 (new feature)[TIP #21] asymmetric padding in the pack and grid
-geometry managers (hipp)
+2001-12-10 (bug fix)[490514] doc fixes (porter,english)
-2001-05-21 (new feature)[TIP #11], -compound for [menubutton] widget (helfter)
+2001-12-18 (new feature) removed unix/dltest/configure; unix/configure does
+all (dejong)
-2001-06-03 (bug fix) corrected support for is10646 fonts on Unix, added a
-ucs-2be encoding (welch)
+2001-12-19 (new feature) New make target 'make shell' (dejong)
-2001-07-02 (bug fix) allowed tkwin to be Tcl_EventuallyFree'd in
-Tk_DestroyWindow so other widgets could register their use of it. Updated
-entry and listbox widgets to use this, correcting potential crashes. (hobbs)
+2001-12-21 (new feature) MaxOSX / Darwin support (steffen)
-2001-08-01 (interface rewrite)[TIP 44] moved all private tk[A-Z]* commands and
-variables into the ::tk:: namespace (porter)
- *** POTENTIAL INCOMPATIBILITY ***
+2001-12-28 (new feature) new command [memory onexit] replaces [checkmem] when
+compiled with TCL_MEM_DEBUG. Added documentation. (porter)
+ *** POTENTIAL INCOMPATIBILITY ***
- * overhaul of configure scripts for cleaner standard support and support
- of mingw gcc on Windows. (mdejong)
+2001-12-28 (bug fix) proper case in [auto_execok] use of $env(COMPSPEC) (hobbs)
- * improved tests to better handle results on variant systems (hobbs)
+2002-01-05 (feature rewrite) Tcl_Main() rewritten and documentation improved.
+Interactive operation and event loop operation (via Tcl_SetMainLoop) now
+interleave cleanly. Also more robust against strange happenings. (porter)
- * correct several minor Purify complaints (hobbs)
+2002-01-17 (bug fix)[504642] Tcl_Obj refCounts in [gets] (griffen,kupries)
---- Released 8.4a3, August 6, 2000 --- See ChangeLog for details ---
+2002-01-21 (bug fix)[506297] infinite loop writing in iso2022-jap encoding
+(forssen,kupries)
-2001-08-06 (new feature) added GNU (HURD) build support. (brinkman)
+2002-01-24 (HTTP server bug workaround)[504508] leave the default port out
+of the Host: header value
+=> http 2.4.1 (hobbs)
-2001-08-23 (new feature) added QNX-6 build support. (loverso)
+2002-01-25 (new feature)[496733] socket options -eofchar and -translation
+return read-only values (dejong)
-2001-08-24 (bug fix) correct several possible free memory reads and array
-bounds read errors reported by purify. (hobbs)
+2002-01-28 (new feature) Old ChangeLog entries => ChangeLog.20900 (hobbs)
-2001-08-27 (new feature) added call to Tcl_SetMainLoop which enables Tk to
-be loaded interactively into tclsh and have the event loop kick in
-correctly. (hobbs)
+2002-01-28 (performance enhancement) bytecompiled [regexp] for trivial cases
+that amount to string matching. Also -nocase and --. (hobbs)
-2001-08-28 (bug fix) fixed tk_chooseDirectory crash on Win95. (baker)
+2002-02-05 (bug fix) [http::error] called when [::error] intended
+=> http 2.4.2 (porter)
-2001-08-28 (bug fix) removed 2 second 'raise' delay seen by some Unix
-window managers. (hobbs, baker)
+2002-02-05 (bug fix)[465765] avoid zero-byte writes to STREAMs
+(talcott,kupries)
-2001-09-14 (bug fix) fixed memory leaks that occured if errors were
-thrown while initializing the channel for an image. (darley)
+2002-02-06 (performance enhancement) [regsub] special cases that map to
+[string map] detected. (hobbs)
-2001-09-20 (new feature) --enable-64bit support was added for HP 11 when
-using the native compiler.
+2002-02-06 (bug fix)[495213] [scan] accept 0x as prefix of base 16 value
+(hobbs)
-2001-10-03 (new feature) finalized Win64 support with latest RC1 release
-and SDK. (hobbs, stacy)
+2002-02-10 (new feature)[TIP 32,79] Tcl_CreateObjTrace API (kenny)
-2001-10-04 (new feature) added enhanced bgerror dialog from Hipp. (hobbs)
+2002-02-12 (new feature) partial support for DJGPP Tcl on DOS (gravereaux)
-2001-10-09 (new feature) added brace/quote matching and file/path/var
-expansion to the Win/Mac console. (hobbs)
+2002-02-14 (mem leak) Fixed leaking an empty Tcl_Obj when [gets $chan]
+errored out. (kupries, sofer)
-2001-10-17 (bug fix) fixed file filtering in the motif file dialog (nelson)
+2002-02-15 (new feature)[TIP 72] support for 64-bit integer values on
+32-bit platforms and ability to work with >2GiB files. Extends many
+commands. See ChangeLog and TIP for details.
+ *** POTENTIAL INCOMPATIBILITY ***
-2001-10-17 (bug fix) updated Mac build support. (steffen)
+2002-02-22 (bug fix)[476537] Fix panic when loading shared library without
+proper use of stubs on platform without backlinking (porter)
---- Released 8.3.4, October 19, 2001 --- See ChangeLog for details ---
+2002-02-22 (new feature) 64-bit support for xlc compiler on AIX-4 (hobbs)
-2001-08-14 (bug fix)[450545] Tk's Tcl_ObjTypes now registered (fellows)
+2002-02-22 (new feature)[521560] Removed limits on filename length and
+format [source]able through the Safe Base (hobbs)
-2001-08-20 (performance enhancement) internal use of a "window" Tcl_ObjType
-(fellows)
+2002-02-22 (performance enhancement) optimized bytecodes for [if], [for],
+[while] and constant conditions (sofer)
-2001-08-20 (performance enhancement) Obj-ified [grid] and [pack] (spjuth)
+2002-02-22 (new feature)[TIP 76] [regsub] can now return result (fellows)
-2001-09-26 (new feature)[TIP 18] add labels to frames, update geometry
-managers (spjuth)
+2002-02-25 (bug fix)[495207] buffer overrun when closing ] left out of
+argument to [subst] (sofer, english)
-2001-09-30 (new feature)[TIP 37] [grid {row|column}configure -uniform] (spjuth)
+2002-02-25 (bug fix)[514392] [load] updated for Mac OS X 10.1 (steffen)
-2001-10-12 (new feature)[TIP 63] [$menu add ... -compound] (helfter)
+2002-02-26 (bug fix) [info hostname] choked on names >31 characters (hobbs)
-2001-10-18 (build improvement) no more warnings about building with
-thread-enabled Tcl (hobbs)
+2002-02-26 (new feature)[TIP 35] serial channel configuration: Unix
+(schroedter, hobbs)
-2001-11-10 (build improvement) new make target 'make gdb' (dejong)
+2002-02-25 (bug fix)[483575] [fconfigure ... -error] now no-op on Mac (kupries)
-2001-11-12 (new feature)[TIP 26] simple undo/redo in text widget (callewaert)
+2002-02-28 (performance enhancement)[458872] fully qualified command names use
+cached Command for all namespaces, avoiding repeated lookups (sofer)
-2001-11-12 (build improvement) revitalized makefile.vc (gravereaux)
+ * (new feature)[TIP 27] completed CONST-ification of TCL APIs.
+Added compiler macro USE_NON_CONST to keep using those old API prototypes
+that present irreconcilable source incompatibilities with header files
+of prior Tcl releases. Others will need to be reconciled.
+ *** POTENTIAL INCOMPATIBILITY ***
-2001-11-17 (visual change) default button size on Windows changed to
-conform to Windows style (hobbs)
- **** POTENTIAL VISUAL INCOMPATABILITY ****
+2002-03-04 (bug fix)[474358, 218099, 219314, 524674] fixed several problems
+related to the handling of iso2022 text and finalization of escape-based
+encodings. (taguchi, takahashi, hobbs)
-2001-12-03 (new feature)[TIP 74] [wm stackorder] (dejong, steffen)
+--- Released 8.4a4, March 5, 2002 --- See ChangeLog for details ---
-2001-12 (new feature) more use of Unicode in native widgets on Windows (hobbs)
+2002-03-06 (new feature)[TIP 80] expanded [lsearch] options (wilkason, fellows)
-2001-12-18 (bug fix)[413735] event-click-drag-1.2 test failure (porter)
+2002-03-07 (new feature)[TIP 87] [interp recursionlimit] (trier)
-2001-12-28 (new feature) On Windows, buttons accept negative widths, meaning
-minimum size, enabling native L&F (hobbs)
+2002-03-08 (platform feature) mingw 1.1 build favored (dejong)
-2002-01 (bug fix) updates for CONST-ification in Tcl API, notably
-Tcl_ParseArgv. Use -DUSE_NON_CONST to suppress source incompatibility
- **** POTENTIAL INCOMPATABILITY ****
+2002-03-20 (new feature)[TIP 27] CONST-ified variable access functions (porter)
-2002-01-31 (bug fix)[508988] logic error in menu cloning (helfter)
+2002-03-24 (bug fix)[511666,511658,523217,530960] expanded
+Tcl_FSMatchInDirectory to handle assorted [glob] bugs in VFS. (darley)
+ *** POTENTIAL INCOMPATIBILITY with prior 8.4a releases ***
-2002-02-01 (new feature)[TIP 14] [$photo transparency] (fellows)
+2002-03-25 (bug fix)[495726] stopped tcltest disabling of auto-loading (porter)
-2002-02-01 (bug fix)[511956] C99 spec: avoid 'bool' as a variable name (hobbs)
+2002-03-25 (bug fix)[495977] allow \n in test constraints (porter)
-2002-02-19 (bug fix) updates to image code calls of Tcl_Seek/Tcl_Tell to
-address TIP 72 changes (64-bit) in Tcl (fellows)
+2002-03-27 (platform support)[527941,533862] VC/winhelp/W9X (spjuth,
+gravereaux)
-2002-02-21 (new widget)[TIP 41] added [panedwindow] (hobbs)
+2002-03-28 (bug fix)[219181] exception at level 0 issues (sofer)
-2002-02-22 (new feature) 64-bit support for xlc compiler on AIX-4 (hobbs)
+2002-03-28 (bug fix)[219362] command termination; Tcl_CreateTrace (knoll,sofer)
-2002-02-25 (bug fix)[503772] blinking cursor fix in [text] (hobbs)
+2002-04-05 (bug fix)[536879] exceptions during variable subst (porter)
-2002-02-25 (bug fix)[503613] [listbox] handling of invalid listvar (hobbs)
+2002-04-15 (bug fix)[497446,513983] tcltest syntax errors now raised (porter)
+ ***POTENTIAL INCOMPATIBILITY with prior tcltest 2.0.* (8.4aX)***
-2002-02-25 (feature change)[493145] mirror B2 bindings to B3 on Windows (hobbs)
+2002-04-17 (bug fix)[495660] [(save|restore)state] deprecated (porter)
- * (updated demos) many updates to show new features (fellows)
+2002-04-17 (bug fix)[526524] escape-based encodings corrected (yamamoto, hobbs)
---- Released 8.4a4, March 5, 2002 --- See ChangeLog for details ---
+2002-04-18 (bug fix)[542588] [expr] error msgs improved (ehrens, sofer)
-2002-03-20 (feature change)[TIP 27][532644] Constness changes (porter)
+2002-04-18 (bug fix)[545325] [info level $level] now returns [namespace eval]
+as documented (suchenwirth,sofer)
-2002-03-21 (bug fix)[528441] Change in optimization flags for windows
-(gravereaux)
+2002-04-19 (bug fix)[544727] export [mcload]; ns context of [mcmax] (porter)
+=> msgcat 1.2.3
-2002-04-08 (bug fix) MSL stdin/out fixes prevent crash on exit (steffen)
+2002-04-22 (performance enhancement) threaded memory allocator (AOL, hobbs)
-2002-04-12 (bug fix) Centralized closing of display, mem-leak fixes (hobbs)
+2002-04-24 (new feature) TCLTK_NO_LIBRARY_TEXT_RESOURCES #define disables
+inclusion of tcl library code in resource fork on Mac. (steffen)
-2002-04-22 (bug fix)[223739] More robust FP comparisons for odd
-architectures (fellows)
+2002-05-21 (platform support) static libs on OSF (dejong)
-2002-04-22 (bug fix)[541999] Fixed posible overun of 16-bit size limit
-of X windows in drawchars (hobbs,bonfield)
+2002-05-24 (bug fix)[557878] set encoding on listening socket (staplin,
+kupries)
-2002-04-22 (bug fix)[541849] ButtonLeave implementation corrected (hobbs)
+2002-05-24 (new feature)[TIP 91] Tcl_Seek compatibility (fellows)
-2002-04-24 (new feature) TCLTK_NO_LIBRARY_TEXT_RESOURCES check added,
-allowing disable of inclusion of tk lib into resources (steffen)
+2002-05-28 (bug fix)[545579] VFS [load] left temp file (darley)
-2002-05-07 (bug fix)[553208] Makefile/Win fix (TCLDIR, INSTALLDIR
-forward slash trouble resolved) (gravereaux)
+2002-05-28 (bug fix)[559376] plug timezone env leak on Windows (hobbs)
-2002-05-20 (bug fix) msgcat added to resources, fixed setup of bindings
-on startup (steffen, porter)
+2002-05-29 (performance enhancement) [string compare] optimized (hobbs,fellows)
-2002-05-21 (bug fix) Build system fix, SC_ENABLE_SHARED before
-SC_CONFIG_CFLAGS for usage for SHARED_BUILD (dejong)
+2002-05-31 (bug fix)[550534] plug interp leak in [pkg_mkIndex] (helmut)
-2002-05-26 (bug fix)[548765] Fixed -value "" redraw error for variable
-created by radiobutton (spjuth)
+2002-05-31 (dead code)[474335,555635] removed all use of matherr() (english)
+ *** POTENTIAL INCOMPATIBILITY ***
-2002-05-27 (feature change) [wm transient .t .t] now raises an error (dejong)
- *** POTENTIAL INCOMPATIBILITY ***
+2002-06-04 (new feature)[TIP 85,521362] custom result match in tcltest
+(markus, porter)
+=> tcltest 2.1
-2002-06-10 (new feature)[566605] Utilities for -underline, ampersand magic
-(kovalenko)
+2002-06-06 (bug fix)[524352] encoding, threading, and environment issues on
+MacOSX (steffen)
-2002-06-12 (feature change) A transient toplevel now mirrors state changes
-in the master. (dejong)
- *** POTENTIAL INCOMPATIBILITY ***
+2002-06-06 (bug fix)[512214,558742,512214,461000] lazy initialization of
+tcltest constraints (porter)
-2002-06-13 (bug fix) Fixed handling of cursor specs across platforms to
-be consistent. (fellows)
+2002-06-07 (bug fix)[563122,564595] EOVERFLOW definitions (fellows)
-2002-06-14 (new feature) [TIP 98] Enhanced photo compositing (fellows)
- *** POTENTIAL INCOMPATIBILITY ***
+2002-06-11 (bug fix)[567386] [info locals] corrections (sofer)
-2002-06-14 (bug fix) Removed references to matherr (kupries)
+2002-06-14 (new feature)[TIP 102] [trace list] renamed [trace info] (fellows)
-2002-06-14 (new feature) [TIP 47] Reorganized Tk to allow usage in writing
-an X wm (english)
+2002-06-17 (new feature)[525522,525525] msgcat support for XPG4 locales;
+examination of LC_ALL, LC_MESSAGES environment variables (haible, porter)
+=> msgcat 1.3
-2002-06-14 (new feature) [TIP 84] Full motion events upon request (hobbs)
+2002-06-17 (new feature)[565088] header files assume modern C compiler by
+default; older compilers may need configuration (english)
+ *** POTENTIAL INCOMPATIBILITY ***
-2002-06-17 (new feature) [TIP 82] -offrelief option for check/radiobutton
-(hipp)
+2002-06-17 (bug fix)[554068] [exec] argument quoting on Windows (darley)
-2002-06-17 (enhancement) Added msg catalog for UK English. (porter)
+2002-06-17 (new feature)[TIP 62,462580] command execution traces (lavana)
-2002-06-17 (new feature) [TIP 96] Added caret handling (hobbs)
+2002-06-19 (bug fix)[558324] regexp sets a linked variable (watson)
-2002-06-19 (new feature) [TIP 48] Added style engine (bonnet)
+ * (performance enhancment) optimizations of bytecode execution (sofer)
-2002-06-19 (bug fix)[570902] Reorganized Tk shutdown to work around bugs in
-X (dejong)
+2002-06-21 (new feature)[TIP 99,562970] new [file link] command (darley)
-2002-06-20 (new feature) [TIP 94] Added -activestyle for [listbox] (hobbs)
+2002-06-24 (new feature)[TIP 101] new [tcltest::configure] command (porter)
+=> tcltest 2.2
-2002-06-21 (new feature) [TIP 104] generalized text undo/redo (callewart,
-hobbs)
+2002-06-25 (new feature) --enable-man-symlinks and --enable-man-compression
+options to configure (max)
-2002-06-22 (new feature) [TIP 95] Added [wm attributes] command (hobbs)
+2002-06-26 (bug fix)[565880] [clock format] now respects locale (max)
+ *** POTENTIAL INCOMPATIBILITY ***
-2002-06-22 (new feature) [TIP 93] enhanced get/delete to accept accept
-multiple range pairs (hobbs)
+2002-07-03 (bug fix)[577015] [catch] catches even compile errors (sofer)
--- Released 8.4b1, July 5, 2002 --- See ChangeLog for details ---
-2002-07-11 (bug fix) some memory allocation failures now result in
- error messages rather than panic (fellows)
-
-2002-07-15 (platform support) Borland makefile on Windows (gravereaux,giese)
+2002-07-08 (bug fix) restored compatibility of [viewFile] in tcltest (porter)
-2002-07-16 (bug fix)[220800,581627] icon reading (darley)
+2002-07-11 (bug fix) [file normalize] returns long form on Win 95/98/ME (darley)
-2002-07-19 (bug fix) Postscript generation on Win2K (hipp)
+2002-07-15 (performance enhancment) variable operations rewritten to store
+ and use cached Var pointers (sofer)
-2002-07-22 (bug fix)[570764,568278] transient windows (dejong)
+2002-07-22 (bug fix)[218000] Inf and Nan are floating-point values (fellows)
-2002-07-24 (bug fix)[581560] canvas memory management (hobbs)
+2002-07-23 (platform support)[219220] 64-bit compile on IRIX (dejong)
-2002-07-24 (bug fix)[584691] focus ring on compound button (hobbs)
+2002-07-25 (bug fix)[219218] return codes in background errors (english)
-2002-07-25 (feature enhancement)[564521] Obj-ified [wm] (spjuth)
+2002-07-28 (bug fix)[582522] alias fires exec traces (sofer)
-2002-08-04 (new feature)[589853][TIP 27] Tk interfaces are now fully
- CONST-ified. Use the symbols USE_NON_CONST or USE_COMPAT_CONST
- to select interfaces with fewer changes.
- *** POTENTIAL INCOMPATIBILITY ***
+2002-07-29 (bug fix)[578363] regexp (fellows,pvgoran)
-2002-08-07 (bug fix)[578654] bezier curves on canvas (hobbs)
+2002-07-30 (bug fix)[584603] WriteChars infinite loop non-UTF-8 string (kupries)
-2002-08-07 (platform support)[468139] native directory browser on Win (hobbs)
+2002-08-04 (new feature)[584051,580433,585105,582429][TIP 27] Tcl interfaces
+ are now fully CONST-ified. Use the symbols USE_NON_CONST or
+ USE_COMPAT_CONST to select interfaces with fewer changes.
+ *** POTENTIAL INCOMPATIBILITY ***
-2002-08-07 (bug fix)[467524] fixed -from handling for gifs (obermeier)
+2002-08-05 (bug fix)[589859] tcltest setup and cleanup scripts skipped when
+ test body is skipped (porter)
+ => tcltest 2.2
-2002-08-08 (bug fix)[592201] wm transient panic (english,dejong)
+2002-08-07 (bug fix)[587488] mem leak with USE_THREAD_ALLOC (sofer,sass)
+
+2002-08-07 (feature enhancement)[584794,584650,472576] boolean values
+ are no longer always re-parsed from string. (sofer)
-Rewrote Tk test suite to use tcltest package.
+Many internal bugs fixed.
+Considerable cleanup of the test suite.
--- Released 8.4b2, August 9, 2002 --- See ChangeLog for details ---
-2002-08-20 (bug fix) tk.h checks for matching tcl.h version (porter)
-
-2002-08-27 (bug fix)[582457] toolbar button bindings (hipp)
+2002-08-20 (new feature) --enable-memdebug configure option (kupries)
-2002-08-31 (platform support)[602770] Mac OS X / Aqua port (steffen)
+2002-08-23 (bug fix)[597936] mem leak with USE_THREAD_ALLOC (sofer,zoran)
-2002-09-02 (bug fix)[565485] button height on windows (hobbs)
+2002-08-26 (bug fix)[599788] segfault in compiler (sofer,wilkason)
-2002-09-02 (new feature)[TIP 108] new comand [tk windowingsystem] (steffen)
+2002-08-28 (bug fix)[414910] avoid mem leaks accessing environment variables
+ on Windows (welton,gravereaux)
-2002-09-02 (new feature)[TIP 107][601518] [raise] is non-blocking (english)
+2002-08-31 (platform support)[TIP 108] Mac OS X port (steffen,ingham)
2002-09-02 (platfrom support) 64-bit compile on HP-11 (martin)