diff options
Diffstat (limited to 'changes')
-rw-r--r-- | changes | 4129 |
1 files changed, 4129 insertions, 0 deletions
@@ -0,0 +1,4129 @@ +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. + +SCCS: @(#) changes 1.252 97/11/25 08:31:19 + +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). + +3/16/91 (bug fix) Modified tkColor.c not to free black or white colors: +some X servers get upset at this. + +3/18/91 (bug fix) Modified tkShare.c to fix bug causing "DeleteGroup +couldn't find group on shareList" panic. + +3/18/91 (bug fix) Several changes to tkListbox.c and tkScrollbar.c to +handle listboxes (and scrollbars) with zero total entries in them. + +3/22/91 (bug fix) Fixed a few ='s in tkListbox.c that should be ==. + +3/22/91 (bug fix) Fixed error in main.c that caused BadWindow errors +in some cases where wish scripts invoke "destroy .". + +3/23/91 (new feature) Added Tk_CancelIdleCall to remove Tk_DoWhenIdle +handler. + +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). + +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. + +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. + +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). + +4/5/91 (new feature) Added "invoke" option to widget command for buttons, +check buttons, and radio buttons. + +4/5/91 (new feature) Added "unpack" option to "pack" command. + +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. + +4/6/91 (bug fix) Major overhaul of deletion code in all widgets to use +Tk_Preserve and Tk_Release. Should fix many problems. + +4/6/91 (bug fix) Changed "winfo children" to generate correct lists +when child names have embedded spaces. + +4/6/91 (new feature) Added "screenheight" and "screenwidth" options to +"winfo". + +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. + +---------------------- Release 1.1, 4/18/91 ------------------------- + +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. + +---------------------- Release 1.2, 4/24/91 ------------------------- + +4/26/91 (new feature) Added -geometry and -display switches to wish. +Also wrote wish manual entry. + +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. + +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. + +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). + +5/16/91 (bug fix) Fixed main.c to allow stdin to be redirected. + +6/1/91 (bug fix) Make sure that pointers are never used after being +freed. + +6/15/91 (bug fix) Fixed bug in tkBind.c that caused current binding +values to not always be printed correctly. + +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. + +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". + +9/5/91 (bug fix) Modified option code to accept '#' as a comment +character in .Xdefaults files, in addition to '!'. + +9/10/91 (misfeature correction) Changed binding mechanism so that +numeric %-sequences are output in decimal instead of hex. + +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. + +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. + +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. + +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. + +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. + +10/31/91 (reorganization) Renamed manual entries so that they are no +more than 14 characters in length. + +10/31/91 (reorganization) Changed tk.h and tkInt.h so that tkInt.h +doesn't needed to be included by tk.h. + +11/3/91 (portability improvement) Eliminated use of "class" as a variable +name, since it's a reserved word in C++. + +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. + +---------------------- Release 1.3, 11/7/91 ------------------------- + +11/24/91 (bug fix) Fixed bug causing occasional errors if existing bindings +are modified (FindSequence in tkBind.c forget to set *maskPtr). + +11/24/91 (bug fix) Used wrong hash table in Tk_GetColorByValue. Could +cause new entries to get created unnecessarily. + +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. + +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. + +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. + +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. + +1/2/92 (bug fix) Fixed bug in TkMeasureChars occurring when maxChars +is 0. Occasionally affected things like message window geometry. + +1/3/92 (new feature) Added procedures Tk_GetJustify, Tk_GetAnchor, +Tk_GetCapStyle, and Tk_GetJoinStyle, plus support for these things +in Tk_ConfigureWidget. + +---------------------- Release 1.4, 1/10/92 ------------------------- + +1/12/92 (bug fix) TkMenubutton.c wasn't cleaning up mbPtr->varName +properly during menubutton cleanup if an error occurred during +menubutton creation. + +1/19/92 (bug fix) Fixed off-by-one bug in tkListbox.c that caused +scrollbars to display a slider that was too large. + +2/10/92 (bug fix) Tk_CreateFileHandler didn't correctly handle case +where new mask was specified for existing handler. + +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. + +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. + +2/15/92 (new feature) Added "curselection" and "select clear" options +to widget command for listboxes. + +2/15/92 (new feature) Added Tk_3DBorderColor procedure. + +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. + +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. + +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. + +2/22/92 (new feature) Changed menus to support bitmaps in menu entries: +added new -bitmap option for entries. + +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. + +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". + +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. + +2/29/92 (new feature) Can use "focus none" to clear input focus. + +2/29/92 (bug fix) Fixed tkEvent.c to generate SubstructureNotify events +properly. These weren't being generated previously. + +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). + +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. + +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. +*** 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. + +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. + +4/18/92 (new feature) Added Tk_DefineCursor and Tk_UndefineCursor +procedures. + +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. +*** 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). + +4/30/92 (reorganization) Moved demos directory to "library/demos". + +---------------------- Release 2.0, 5/1/92 ------------------------- + +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. + +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. + +5/9/92 (bug fix) Plugged core leaks in tkListbox.c and tkBind.c + +5/9/92 (bug fix) TkBind.c was accidentally deleting bindings during +attempts to print non-existent bindings. + +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. + +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. + +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. + +5/13/92 (bug fix) Empty entries could be scanned off the left edge, +displaying a garbage character. + +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. + +5/13/92 (performance optimization) Changed Tk_GeometryRequest not to +invoke geometry manager unless requested size has changed. + +---------------------- Release 2.1, 5/14/92 ------------------------- + +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. + +5/17/92 (new feature/bug fix) Added support for VisibilityNotify events +to the "bind" command. For some reason they weren't supported previously. + +5/17/92 (new feature) Added "tkwait" command. + +5/17/92 (new feature) Added "grab" command. + +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. + +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. + +5/17/92 (bug fix) Arrowheads on canvas lines weren't being translated +or scaled correctly. + +5/20/92 (bug fix) Page-mode scrolling didn't work correctly for canvases +(wrong windowUnits was passed to scrollbars). + +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. + +5/21/92 (new feature) Added "gray50" and "gray25" as predefined bitmaps. + +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. + +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. + +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. + +5/27/92 (new feature) Added "-textvariable" and "-anchor" options to +messages. + +5/28/92 (new feature) Added "-padx" and "-pady" and "-underline" options +to menubuttons. + +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. + +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). + +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. + +5/29/92 (new features) Added "atom" and "atomname" options to "winfo" +command. + +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. + +6/1/92 (new feature) Added new modifier names "Meta" and "Alt" for +"bind" command. + +6/3/92 (new feature) Added "winfo toplevel" command. + +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 + +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). + +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. + +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. + +7/14/92 (bug fix) Changed tkColor.c not to free colors for visual types +StaticGray or StaticColor. + +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. + +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. + +7/29/92 (bug fix) Don't permit rectangles or ovals to have zero-sized +dimensions. Round up to at least one pixel. + +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. + +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. + +8/7/92 (bug fix) Error messages in Tk_ParseArgv were sometimes including +the option name where they should have included its value. + +---------------------- Release 2.2, 8/7/92 ------------------------- + +8/7/92 (bug fix) Changed tkCanvas.c to be more conservative in the area +it passes to XCopyArea. + +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). + +8/8/92 (bug fix) Fixed bug in menu.tcl that caused errors when using +keyboard to traverse over separator menu entries. + +8/10/92 (bug fix) Changed to use OPEN_MAX instead of MAX_FD to compute +maximum # of open files. + +8/10/92 (bug fix) Canvases weren't updating scrollbars on window size +changes. They also weren't recentering canvases on window size changes. + +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). + +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>. + +8/13/92 (feature change) Changed default fonts to request "Adobe" fonts +explicitly. + +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). + +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. + +8/19/92 (bug fix) Canvases that were taller than wide were not being +redisplayed properly. + +8/20/92 (new feature) Added Tk_CreateGenericHandler procedure for trapping +all X events (useful for tracing, watching non-Tk windows, etc.). + +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). + +8/21/92 (new feature) Added "-state" option to scale widgets. + +8/22/92 (new feature) Changed tkBitmap.c to allow tilde-substitution +to occur in bitmap file names. + +---------------------- Release 2.3, 8/24/92 ------------------------- + +8/27/92 (bug fix) Changes to -activebackground and -activeforeground options +for menubuttons were being lost. + +8/27/92 (bug fix) Entries were selecting last character when a B1-drag +occurred past the right edge of the text. + +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. + +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. + +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. + +9/11/92 (bug fix) Fixed bug in tkTextDisp.c that caused core dumps +when adding tags to non-existent lines. + +9/11/92 (bug fix) Line items in canvases didn't permit an empty fill +color (i.e. couldn't make them transparent). + +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. + +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. + +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. + +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. + +10/1/92 (bug fixes) Fixed two bugs in tkTextBTree.c that caused core dumps +during text deletion. + +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. + +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. + +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 *** + +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. +*** POTENTIAL INCOMPATIBILITY *** + +11/10/92 (new feature) Added Postscript output to canvases. + +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. + +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 *** + +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. + +11/25/92 (bug fix) "wm grid" command was using wrong window. + +11/29/92 (bug fix) Fixed core dump that occurred when trying to use +placer on top-level windows: return error instead. + +11/29/92 (bug fix) Selection retrieval wasn't making sure that the window +on whose behalf selection is being retrieved actually exists. + +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. + +12/6/92 (bug fix) Ignore recursive attempts to destroy window. + +12/9/92 (new demos) Added "tcolor" and "rmt" demos. + +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 *** + +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. +*** 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 *** + +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. +*** POTENTIAL INCOMPATIBILITY *** + +12/16/92 (new feature) Added -setgrid option to listboxes. + +12/16/92 (new feature) The "destroy" command, and the "delete" widget +command for canvases, now accept any number of arguments, including +zero. + +12/16/92 (new feature) Changed internal TkBindError procedure to +Tk_BackgroundError and exported it to Tk clients. + +12/16/92 (option name change) Changed the place command's "dependents" +option to "slaves" for better consistency with documentation. +*** 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. +*** 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. + +12/21/92 (bug fix) Arrowheads on canvas line items weren't moving properly +after coordinate changes made with the "coords" widget command. + +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". +*** 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. + +---------------------- 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. +*** 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. + +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. + +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. + +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 + +3/22/93 (bug fix) Fixed bug in tkPack.c that was causing memory to +get trashed with the integer value 1. + +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. + +6/26/93 (bug fix) Fixed numeric problems in scales that occurred with +very large scale values. + +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. + +6/26/93 (bug fix) Changed canvases to handle large stipple patterns +gracefully (stipples used to jump around during redisplay and lose +coherency). + +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. + +7/1/93 Changed copyright notices. The effect is the same as with the +old notices, but the new notices more clearly disclaim liability. + +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). + +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. + +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 .". + +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. + +-------------------- Release 3.3 Beta 1, 7/9/93 ------------------------- + +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. + +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. + +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. + +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. + +-------------------- Release 3.3 Beta 2, 7/21/93 ------------------------- + +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. + +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. + +7/24/93 (configuration improvements) Changed configure script not to +omplain about "fd_set" missing if it's defined in <sys/select.h>. + +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. + +8/14/93 (new feature) Added support for tcl_prompt1 and tcl_prompt2 +to wish main program: makes prompts user-settable. + +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. + +8/26/93 (configuration changes) Added Tk_Init, modified Tcl_AppInit +procedures to use it and Tcl_Init. Added support for .wishrc file. + +8/28/93 (new feature) The main window is now a legitimate toplevel +widget. + +-------------------- Release 3.3 Beta 3, 8/30/93 ------------------------- + +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. + +9/2/93 (bug fix) The binding mechanism made it impossible for patterns +like <Double-ButtonRelease-1> to ever match. + +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. + +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>. + +9/9/93 (bug fix) Changed tkBind.c so that the Num_Lock key doesn't +prevent events from triggering bindings. + +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. + +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. + +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. + +-------------------- Release 3.3, 9/29/93 ------------------------- + +9/30/93 (bug fix) Packer wasn't unmapping slaves when master got deleted. + +9/30/93 (bug fix) Binding event sequences such as <Right> were being +misprinted as ASCII characters such as "S". + +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). + +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. + +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. + +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. + +10/11/93 (bug fix) Fixed bug in tkTextBTree.c where some deletions would +cause core dumps due to halfwayLinePtr not getting set correctly. + +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). + +10/22/93 (bug fix) During configuration, XINCLUDE_DIR and XLIBRARY_DIR +weren't overriding xmkmf like they were supposed to. + +10/23/93 (new feature) Allow negative scale factors in canvas "scale" +widget command. + +10/23/93 (bug fix) Grabs weren't being cleaned up right if the grab +window was deleted, causing core-dumps in some cases. + +10/23/93 (bug fix) tk_TextSelectTo wasn't checking to be sure that +the "anchor" mark exists. + +10/27/93 (bug fix) Fixed core dump that could occur in a text widget if +the scroll command modifies the text. + +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. + +-------------------- Release 3.4, 11/04/93 ------------------------- + +Note: there is no 3.5 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 +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. + +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. + +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. + +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 *** + +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 *** + +6/1/94 (feature change) Renamed "pack newinfo" command to "pack info". +The old "pack info" command is no longer available. +*** POTENTIAL INCOMPATIBILITY *** + +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 *** + +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. + +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 *** + +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 *** + +12/8/94 (new feature) Added new "photo" image type using code provided +by Paul Mackerras: currently supports only PPM "P6" format images. + +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 *** + +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. + +-------------------- Release 4.0b1, 12/23/94 ------------------------- + +12/26/94 (bug fix) Removed obsolete demos from Makefile (color, dialog, +size), fixed "install" target. + +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. + +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. + +1/4/95 (bug fix) Canvases forgot to register the built-in types if +Tk_CreateItemType was called before a canvas widget was created. + +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. + +1/4/95 (bug fixes) Changed Control-t for entries just as for texts (see +above) an deleted Control-x for entries (see above). + +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. + +1/8/95 (bug fix) Fixed problem in canvas "xview" and "yview" commands +where divide-by-zero errors could sometimes occur. + +1/8/95 (bug fix) New event handler didn't properly handle files for +which both TK_READABLE and TK_WRITABLE were specified. + +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. + +-------------------- Release 4.0b2, 1/12/95 ------------------------- + +1/27/95 (feature removal) Removed %D substitution from binding scripts: +wasn't portable, shouldn't be used anyway. +*** POTENTIAL INCOMPATIBILITY *** + +1/27/95 (new features) Added -displayof options to the commands +"winfo atom", "winfo atomname", "winfo containing", "winfo interps", +and "winfo pathname". + +1/27/95 (new feature) Added "idle" option to "after" command to run +scripts as idle handlers. + +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 *** + +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. + +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. + +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. + +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". + +1/30/95 (new feature) Added -xscrollincrement and -yscrollincrement +options to canvases. + +1/31/95 (bug fix) Geometry management was broken if a particular geometry +manager claimed a slave away from itself. + +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. + +1/31/95 (bug fix) Texts weren't redisplaying the padding region properly +after changes in -padx or -pady. + +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. + +2/10/95 (bug fix) Modified all widgets to allow renaming of widget +commands. Deleting a widget command will delete the widget. + +2/11/95 (new feature) Added -highlightbackground option to all widgets. + +2/14/95 (new feature) Added "insert" widget command for menus. + +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. + +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. + +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. + +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. +*** 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. + +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 *** + +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 *** + +3/23/95 (bug fix) Selections longer than 4000 bytes were being +truncated to 4000 bytes. + +-------------------- Release 4.0b3, 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). + +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. + +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. + +4/1/95 (new features) Added "winfo pointerx" and "winfo pointery" commands +to fetch the current pointer position. + +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/6/95 (new feature) Modified "bell" command to reset screen saver as well. + +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. + +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. + +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/6/95 (feature change) Changed default text for labels, buttons, +checkbuttons, radiobuttons, menubuttons, and messages from " " to +"". + +5/6/95 (bug fix) If the application was destroyed in the middle of +an "update" command, Tk would dump core. + +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 (new feature) When specifying visuals, can now use "best" +with a depth, e.g. "-visual {best 8}" to get the best 8-bit visual. + +5/18/95 (bug fix) Fixed bug with -spacing* options for text widget: +screen distances weren't allowed, only integers. + +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/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/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. + +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/4/95 (bug fix) The "%t" substitution wasn't being made properly in +Enter and Leave event bindings. + +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/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/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/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. + +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. + +6/9/95 (new feature) Added -outline and -width options to canvas polygon +items. + +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 *** + +-------------------- Release 4.0b4, 6/16/95 ------------------------- + +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. + +6/20/95 (bug fix) "bbox" widget command for texts didn't return +proper width for tabs. + +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. + +6/20/95 (new feature) Added "delta" widget command for scrollbars +(needed for above bug fix). + +6/23/95 (bug fix) Listboxes weren't properly redisplaying their +borders when the were configured to a smaller size. + +6/23/95 (new feature) Added "winfo server" command. + +6/23/95 (bug fix) If a menu was posted, couldn't switch to another +menu with an Alt- key. + +6/24/95 (new feature) Added "winfo pointerxy" command. + +6/25/95 (bug fix) Tk_ParseArgv referenced beyond the end of 0-length +option names. + +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. + +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. + +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. + +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. + +6/28/95 (bug fix) Changed text widget so that you can't put the +insertion cursor after the last newline in the text. + +6/28/95 (bug fix) Bitmap images didn't allow ~'s in file names. + +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). + +6/28/95 (bug fix) Texts didn't handle indices with double negatives, +such as ".t mark set insert {insert + -20 chars}". + +6/28/95 (bug fix) Fixed problem where focus didn't always revert to +its prior window after a dialog box was dismissed. + +6/28/95 (bug fix) Fixed problem with "search" widget command returning +incorrect length on some backwards regexp searches. + +6/28/95 (bug fix) Successive "wm iconbitmap . {}" commands could cause +a core dump. + +6/29/95 (new feature) Added -elementborderwidth option for scrollbars +so the -borderwidth can be set to 0 without flattening the arrows and +slider. + +-------------------- Release 4.0, 7/1/95 ------------------------- + +7/18/95 (bug fix) %t in event bindings didn't work properly for some +events (e.g. PropertyNotify). + +7/18/95 (bug fix) Changed "exec wish" lines in demo scripts to +"exec wish4.0" to avoid version conflicts. + +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]". + +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. + +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. + +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). + +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. + +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). + +7/22/95 (bug fix) Text widgets didn't update their scrollbars when +changes were made to information that was off-screen. + +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. + +7/25/95 (bug fix) Page-up and page-down bindings for listboxes didn't +move active element to remain on the screen. + +7/25/95 (bug fix) Patched around H-P compiler problem that results in +core-dumps in tkImgPhoto.c during image handling. + +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". + +7/26/95 (bug fix) The PPM image reader couldn't handle maximum intensity +values other than 255. + +7/26/95 (bug fix) Canvases didn't redraw their borders when the relief +changed from raised to flat. + +7/27/95 (bug fix) Canvases didn't set the scrolling values correctly +when no scroll region was specified. + +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. + +----------------- Released patch 4.0p1, 7/29/95 ---------------------- + +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) + +8/14/95 (new feature) Added -tearoffcommand option for menus. + +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) + +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) + +8/21/95 (bug fixes) Fixed memory leaks in tkSend.c, tkSelect.c, and +tkUnixWm.c (JO). + +8/21/95 (bug fix) Text widgets didn't handle commands like +".t search -backwards foo end 1.0" properly: never found foo. (JO) + +8/23/95 (new feature) Added Makefile and configure.in support for +dynamic loading. (JO) + +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) + +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) + +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) + +8/25/95 (bug fix) Scrollbar bindings didn't properly handle case where +B2 is clicked while B1 is already down. (JO) + +8/26/95 (bug fix) Menus were ignoring -activebackground if tk_strictMotif +was set, but not -activeforeground. Changed to ignore both. (JO) + +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) + +8/28/95 (bug fix) Tcl errors were occurring for tkPriv(oldGrab) when +clicking on a disabled option menu. (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) + +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) + +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) + +8/30/95 (bug fix) If there was extra space at the bottom of a menu, +it wasn't being redisplayed properly. + +8/30/95 (new feature) Added -transient option to menus. + +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) + +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) + +8/30/95 (bug fix) Errors of the form `syntax error in expression "!"' +could occasionally happen in tkScaleDrag. (JO) + +8/31/95 (new feature) Changed man page installation (with "mkLinks" +script) to create additional links for manual pages corresponding to +each of the procedure and command names described in the pages. (JO) + +9/1/95 (new feature) Added "after info" command. Also added checks +so that one interpreter can't cancel another's "after" events. (JO) + +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) + +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 *** + +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) + +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 *** + +9/11/95 (new feature) Added procedure Tk_PreserveColormap to increment +the reference count on colormaps. Used in photo widgets. (SS) + +----------------- Released patch 4.0p2, 9/15/95 ---------------------- + +----------------- Released 4.1a1, 9/15/95 ---------------------- + +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) + +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) + +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) + +9/25/95 (bug fix) Text widgets sometimes scrolled backwards on +occasion if you dragged down past the bottom of the scrollbar. (JO) + +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) + +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) + +9/25/95 (bug fix) Fixed core dump that could occur for radiobuttons +and selectbuttons if -selectcolor was an empty string. (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) + +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) + +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) + +9/26/95 (bug fix) Wish couldn't handle script files with spaces in +their names. (JO) + +9/27/95 (cosmetic clean-up) Removed extraneous spaces to make error +messages consistent: ": should be" is now ": should be". (JO) + +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) + +9/28/95 (bug fix) Wish incorrectly parsed the command line under +Windows, causing backslashes to be substituted. (SS) + +9/28/95 (bug fix) Wish now sources wishrc.tcl instead of .wishrc. (SS) + +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) + +9/29/95 (bug fix) "winfo interps" caused a crash under Windows. (SS) + +10/1/95 (feature change) Eliminated Tk_NotifyIdle interface in favor of +Tk_IdlePending. (SS) + +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) + +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) + +10/2/95 (bug fix) Tk was improperly handling Enter/Leave events +during a button grab. (SS) + +10/2/95 (new feature) Added support for the Macintosh do script +('dosc') event. Available only on the Macintosh. (RJ) + +10/4/95 (new feature) Added support for compiling with VC++. +Resulting binaries work under Win32s through NT. + +----------------- Released 4.1a2, 10/6/95 ---------------------- + +10/10/95 (new feature) Macintosh Tk now supports the complete set +of X cursors that Unix Tk supports. (RJ) + +10/11/95 (bug fix) Tk now supports all of the X11 cursors under +Windows. (SS) + +10/11/95 (bug fix) The "wm resizable" command was missing from the +Windows version of Tk. (SS) + +10/12/95 (bug fix) Macintosh Tk had problems with clipping toplevel +windows that children of any frame other than another toplevel. (RJ) + +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 *** + +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) + +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) + +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) + +11/9/95 (bug fix) The "send" command crashed if you tried to send to +a different display with "-displayof". (JO) + +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) + +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) + +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) + +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). + +11/19/95 (bug fix) The focus wasn't being restored properly after a +menu selection in a cascaded menu. (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) + +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) + +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) + +11/22/95 (bug fix) Space and return keys didn't work for menus if +they were posted via Alt-x keystrokes. (JO) + +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) + +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) + +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 *** + +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) + +12/23/95 (new features) Added support for -colormap and -visual command- +line options for wish. (JO) + +1/4/95 (bug fix) Fixed keyboard code to properly handle alt-key +sequences for international keyboards and menu-accelerators. (SS) + +1/5/96 (bug fix) Scrollbar code sometimes generated errors on accesses +to tkPriv(relief) during control-clicks. (JO) + +1/9/96 (new feature) added the "grid" command to provide a table based +geometry manager. (SU) + +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) + +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) + +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) + +1/12/96 (new feature) added the text "tag prevrange" operation to search +backwards for the current or previous range of a tag. (BW) + +1/16/96 (new feature) Added support for relative widget placement on +the "grid" command. (SU) + +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) + +----------------- Released 4.1b1, 1/26/96 ----------------------- + +2/2/96 (bug fix) Frames were getting a default size of 200x200, whereas +there should be no default. (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) + +2/6/96 (bug fix) Fixed off by one error in argument parsing code under +Windows. (SS) + +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) + +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) + +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 *** + +2/14/96 (bug fix) "winfo pointerxy" when applied to a non-toplevel window +crashed wish. (SS) + +2/14/96 (bug fix) "tkwait visibility" would hang under Windows. (SS) + +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) + +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) + +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) + +2/20/96 (feature change) Changed the -minsize option of grid to take +screen units instead of pixels. (SU) + +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) + +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) + +----------------- Released 4.1b2, 2/23/96 ----------------------- + +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) + +2/23/96 (bug fix) Canvases weren't always updating their scrollbars +when they should. (JO) + +2/23/96 (bug fix) Fixed core dump that could occur if a WM_DELETE_PROTOCOL +handler generated an error. (JO) + +2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile: +this caused problems on some platforms (like Linux?). (JO) + +2/24/96 (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) + +2/24/96 (bug fix) Tk tended to crash with an X error when unsetting +an icon window (e.g. "wm iconwindow . {}"). (JO) + +2/25/96 (bug fix) Wasn't removing windows from the WM_COLORMAP_WINDOWS +property when they were deleted. (JO) + +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) + +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) + +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) + +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) + +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) + +3/2/96 (bug fix) Fixed yet another bug that caused long delays when +raising toplevel windows. (JO) + +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) + +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) + +3/5/96 (new feature) Added version suffix to shared library names so that +Tk will compile under NetBSD and FreeBSD (I hope). (JO) + +3/6/96 (bug fix) Changed the way certain configure & motion events are +reported. This fixes several bugs in menus & "winfo rootx". (RJ) + +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) + +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) + +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) + +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) + +----------------- Released 4.1b3, 3/8/96 ----------------------- + +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) + +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) + +3/14/96 (bug fix) "wish bogus_file_name" didn't print an error message. (JO) + +3/14/96 (bug fix) Button-2 wasn't claiming the focus during paste +operations. (JO) + +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) + +3/16/96 (bug fix) Changed configuration stuff to get dynamic loading and +shared libraries working under AIX. (JO) + +3/16/96 (bug fix) Fixed core dumps that could occur when a slave interpreter +was deleted in the middle of executin bindings. (JO) + +3/18/96 (new feature) Added support for Activate/Deactivate events. +Currently, these new X events will generated only on the Macintosh. (RJ/CS) + +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) + +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) + +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) + +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) + +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) + +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/5/96 (bug fix) Tk would occasionally crash when destroying toplevels +under Windows. (SS) + +4/5/96 (bug fix) Fonts were not being properly deallocated, causing +GDI resources to be consumed and never released under Windows. (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) + +4/11/96 (bug fix) "wm minsize" did not properly report the minimum +size imposed by the Windows window manager. (SS) + +4/13/96 (bug fix) Text widgets could dump core in some cases where +text was inserted on the top visible line. (JO) + +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) + +----------------- Released 4.1, 4/21/96 ----------------------- + +5/1/96 (bug fix) "option readfile" did not handle files with CRLF +line termination. (SS) + +5/1/96 (bug fix) Changed to install tkConfig.sh under "make install-binaries", +not "make install-libraries". (JO) + +5/7/96 (bug fix) Moved initScript in tkUnixInit.c to writable memory to +avoid potential core dumps. (JO) + +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) + +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) + +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) + +5/16/96 (new feature) Implemented application embedding on Windows +platforms (only Tk inside another application, not the other way yet). (JL) + +5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe +interpreter. (JL) + +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) + +5/16/96 (new feature) Implemented application embedding on Windows +platforms (only Tk inside another application, not the other way yet). (JL) + +5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe +interpreter. (JL) + +5/22/96 (bug fix) Listboxes weren't properly ignoring double clicks on +button 1. (JO) + +6/12/96 (bug fix) Focus was automatically placed on new toplevels. +This caused the titlebar to flash during menubar traversal. (SS) + +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) + +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) + +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) + +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) + +7/19/96 (bug fix) Fixed bug in tkImgGIF.c that cause core dumps if a +GIF file contained multiple images. (JO) + +7/20/96 (bug fix) Deadlock could occur if a recursive series of send +operations involved multiple displays. (JO) + +7/23/96 (bug fix) Fixed a resource leak where deallocated XIDs were +taking up memory on Windows and Macintosh platforms. (SS) + +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) + +----------------- Released patch 4.1p1, 8/2/96 ----------------------- + +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) + +8/6/96 (bug fix) Entry widgets were invoking scrollbar update functions +too often. (JO) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +8/22/96 (feature change) The order in which the grid geometry manager +reports slaves is now last-managed first. (SU) + +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) + +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) + +8/22/96 (new demos) Added "fsbox", "msgbox" and "clrpick" demos. (IL) + +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) +*** 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) +*** POTENTIAL INCOMPATIBILITY *** + +10/1/96 (feature change) grid no longer accepts floating point values for +row or column weights, integers must be used. (SAU) +*** 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/1/96 (bug fix) "The way grid handles '^' short-cuts was re-written +to eliminate core dumps. (SAU) + +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). + +10/3/96 (bug fix) Under Windows text placed on the clipboard did not +undergo CRLF translation when delivered to other applications. (SS) + +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) + +10/3/96 (bug fix) Under Windows, the image blank subcommand did not +work. (SS) + +10/10/96 (bug fix) Under Windows & Macintosh, XSetFont and XChangeGC +were not implemented, and XSetLineAttributes did not correctly update +the GC. (SS) + +10/10/96 (bug fix) Under Windows, 8-bit non-palette displays were not +handled properly. (SS) + +10/10/96 (bug fix) Under Windows, images of depth other than 8 or 24 +bits were not being rendered properly. (SS) + +10/10/96 (bug fix) Under Windows, bitmap subimages were not correctly +displayed. (SS) + +10/14/96 (bug fix) Under Window, wm resizable would constrain both +programatic resizes as well as user resizes. (SS) + +----------------- Released 4.2, 10/16/96 ----------------------- + +10/17/96 (bug fix) XCopyPlane was broken under Windows and would cause +a crash when used with a clipping bitmap. (SS) + +10/21/96 (bug fix) Added missing resources needed by tk_getOpenDialog +on the Macintosh to the shared library for Tk. (RJ) + +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) + +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) + +10/24/96 (bug fix) Provided workaround for Apple bug that doesn't +handle zooming correctly for floating windows. (RJ) + +10/24/96 (bug fix) Macintosh tearoff menus are now correctly +displayed as Mac floating windows. (RJ) + +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) + +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) + +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) + +12/5/96 (bug fix) Fixed the Macintosh implementation of pointer x/y +which was returning garbage. (RJ) + +12/6/96 (bug fix) Fixed grid bug where the positioning of slaves was +incorrect for non-zero values of ipadx and ipady (SU) + +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 4.2p1, 12/8/96 (Mac only) -------------- + +1/17/97 (bug fix) Fixed bug where the Tk clipboard was not in sync +with the Macintosh clipboard on start-up. (RJ) + +----------------- Released 4.2p2, 1/31/97 -------------- + +---------------------------------------------------------- +Changes for Tk 4.2 go above this line. +Changes for Tk 4.3 go below this line. +---------------------------------------------------------- + +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/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) + +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) + +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) + +12/02/96 (new feature) A safe Tk interpreter can no longer generate +postscript output from a canvas. (JL) + +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) + +---------------------------------------------------------- +Changes for Tk 4.3 go above this line. +Changes for Tk 8.0 go below this line. +---------------------------------------------------------- + +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) +*** 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) + +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) + +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) + +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) + +12/4/96 (bug fix) The "update" command was only syncing the display +for its main window. Changed to sync all displays. (JO) + +12/5/96 (bug fix) Color deallocation would occasionally cause a panic +under Windows. (SS) + +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) + +12/11/96 (bug fix) Text widgets weren't considering the -spacing1 +and -spacing2 options when computing their desired geometry. (JO) + +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) + +12/12/96 (feature change) The destroy command no longer returns an +error when a window does not exist. (SRP) + +12/13/96 (new feature) grid row/column-configure accepts a list of +indices in addition to a single index. (SU) + +12/17/96 (bug fix) Under Windows, command line was not being parsed +correctly if it contained the literal characters \" (CS) + +12/17/96 (feature change) Native Windows labels do not get a focus-ring +border. (CS) + +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) + +----------------- Released 8.0a1, 12/17/96 ----------------------- + +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) + +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) + +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) + +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) + +1/8/97 (bug fix) Under Windows, the windows were not being unmapped +properly, which led to strange packer behavior. (SS) + +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) + +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) + +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) + +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) + +1/21/97 (bug fix) Grid no longer reports rows or columns "out of range" +when requesting their constraints. (SAU) + +1/21/97 (bug fix) Fixed some window manager related bugs on the +Macintosh. Now better support global grabs. (RJ) + +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) + +1/21/97 (bug fix) Small interlaced GIF images were not properly +decoded. (SS) + +1/21/97 (bug fix) More changes to image code to try to handle 16-bit +displays properly under Windows. (SS) + +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) + +----------------- Released 8.0a2, 1/24/97 ----------------------- + +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 *** + +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 *** + +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) +*** 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/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 *** + +----------------- Released 8.0b1, 5/27/97 ----------------------- + +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) + +6/2/97 (bug fix) Fixed bug in startup code that caused a problem in +finding the library files when they are installed in a directory +containing a space in the name. (SS) + +6/2/97 (bug fix) Virtual events associated with <Enter>/<Leave> in text +widget tag caused panic. (CCS) + +6/6/97 (bug fix) On some systems, struct timeval.tv_sec is unsigned. (SS) + +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 *** + +6/9/97 (bug fix) Canvas postscript printing now works for bitmaps +under Windows. (SS) + +6/10/97 (bug fix) Fixed bug in bindings for listboxes where state wasn't +being properly initialized on Shift-1 button presses. (JO) + +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) + +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) + +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) + +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) + +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) + +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) + +6/17/97 (bug fix) Tk buttons on the Macintosh will now correctly +draw under MacOS 8.0. (RJ) + +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) + +6/18/97 (bug fix) Tk was using the wrong system colors to draw various +widgets under Windows. (SS) + +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) + +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/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/25/97 (bug fix) Error message was not properly reported when using +button 'toggle'. (DL) + +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) + +----------------- Released 8.0b2, 6/30/97 ----------------------- + +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 *** + +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) + +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) + +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) + +----------------- Released 8.0, 8/18/97 ----------------------- + +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) + +8/27/97 (new feature) Added support for new X11R6 colors under Windows +and Mac platforms. (SS) + +8/29/97 (bug fix) Wish crashed if stdin was closed. (SS) + +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) + +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) + +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) + +9/18/97 (bug fix) Revamped Macintosh focus code. Cut, Copy & Paste +virtual events now go to the correct (focus) window. (RJ) + +9/19/97 (bug fix) Made Macintosh tearoff menus non-resizable. (RJ) + +10/9/97 (bug fix) Image code could cause crashes during "exit" under +some conditions (such as an image named "place"). (JO) + +10/9/97 (bug fix) Fixed bug that sometimes prevented listboxes from +scrolling far enough horizontally to see the rightmost character. (JO) + +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) + +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) + +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) + +10/13/97 (bug fix) Selection could not be restored to a text widget +after "selection clear" on Windows. (SS) + +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) + +10/20/97 (bug fix) Omitting the arguments to the text widget "mark +gravity" option caused a crash. (SS) + +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) + +10/23/97 (bug fix) Memory leak in unix's TkpGetFontFamilies. Thanks +to James Bonfield for the fix. (DL) + +10/27/97 (bug fix) Fixed event reporting for the Mac during a grab +when the pointer was out of the toplevel window. (RJ) + +10/28/97 (bug fix) Under Unix, override-redirect was getting set +incorrectly for menus, so that "wm overrideredirect" returned 0. (JO) + +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) + +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) + +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) + +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) + +10/28/97 (bug fix) Under Windows, button grabs did not report motion +events that occurred outside of Tk windows. (SS) + +10/28/97 (bug fix) Fixed incorrect display of transparent images on +the Macintosh. (JI) + +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) + +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) + +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) + +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) + +10/28/97 (bug fix) Safe Tk interps on unix were leaking env(DISPLAY). (DL) + +10/31/97 (bug fix) Fixed problems related to the input focus when one +application had windows open simultaneously on several displays. (JO) + +10/31/97 (bug fix) Fixed several problems with traversal of menus via +the keyboard under Unix. (SRP) + +11/4/97 (bug fix) Fixed various word-size related problems for 64-bit +architectures. (SS) + +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) + +----------------- Released 8.0p1, 11/7/97 ----------------------- + +11/20/97 (bug fix) Fixed bug on the Mac where the "package require" +command caused menus to stop working. (JI) + +11/20/97 (bug fix) Fixed bug in rendering transparent gifs on Text +widgets. (JI) + +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) + +----------------- Released 8.0p2, 11/25/97 ----------------------- |