-- cgit v0.12 From d951f38fa4948138314ce00cb37a8e4051b2620b Mon Sep 17 00:00:00 2001 From: dgp Date: Fri, 5 Apr 2024 15:43:50 +0000 Subject: Remove changes file pending decisions on TIP 693. --- changes | 8330 --------------------------------------------------------------- 1 file changed, 8330 deletions(-) delete mode 100644 changes diff --git a/changes b/changes deleted file mode 100644 index 645add7..0000000 --- a/changes +++ /dev/null @@ -1,8330 +0,0 @@ -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. - -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 {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 -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. was treated the same as ). Modified to -allow explicit request for shift modifier, like . - -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 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 . - -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 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 instead of . - -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 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 interpreter'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 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 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 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 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 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 <>, <>, <>, -and <> 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 was -reported as , but 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., <> was defined as and -. 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 <>, <>, and <> -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 " -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 main 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 <> {script}" or -"$text tag bind sel <> {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 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 <> -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 / 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 <> 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 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) 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/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/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, -<> 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 ----------------------- - -11/25/97 (security bug fix + added feature) Tk Safe Init now asks -the master's safe::TkInit for the 'argv' to use. This is transparently -dealt with by the safe::loadTk API. New optional "-display displayName" -argument to safe::loadTk, and the "-use" argument accepts both window -Ids and Tk window names: see loadTk(n). Made the ":0.0" default display -work on the Mac as it works on Windows and Unix. (DL) - -12/3/97 (bug fix/optimization) Removed unneeded and potentially dangerous -instances of double evaluations if "if" and "expr" statements from -the library files. It is recommended that unless you need a double -evaluation you always use "expr {...}" instead of "expr ..." and -"if {...} ..." instead of "if ... ...". It will also be faster -thanks to the byte compiler. (DL) - -12/3/97 (new feature) Added support for browser/plugin style embedding, -and made various other fixes to get the plugin working on the Mac. (JI) - -12/8/97 (bug fix) on Windows, using "winfo pathname" before "." was mapped -was crashing. (DL) - ----- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ---- - -12/97 (bug fix) more Macintosh embeding fixes needed for the plugin. (JI) - -Jan/9/98 (improvement) Allow applications to have custom init script -without having to patch the Tk core: Tk_Init will use an existing -"tkInit" proc if one exists in the interp where one tries to install Tk -instead of defining it's own (tkInit is the transient proc defined in -generic/tkInitScript.h that searches and sources tk.tcl and defines -the 'correct' tk_library). (DL) - ----- Shipped as part of the plugin2.0 as 8.0p2Plugin2, Jan 15th 98 ---- - -6/3/98 (bug fix) Fixed bugs in the tk_getOpenFile under Unix. - 1) If the -initialdir option was "." the result would be "././foo.tcl" - instead of an absolute path, like the Windows interface. - 2) There is a traceVar on the data(selectPath) where the script was - assumes the window exists. (BS) - -6/12/98 (feature change) Focus -force now sets the foreground window -on Windows platforms in addition to moving the focus. (SS) - -6/12/98 (bug fix) Fixed bug in Windows font measurement that did not -take kerning into account. (BS) - -6/24/98 (bug fix) On Unix, fixed -initialdir switch to tk_getOpenFile -and tk_getSaveFile to convert the specified directory to an absolute -path and to use the current working directory if the specified -directory does not exist. (SS) - -6/25/98 (bug fix) On Unix, both the Tk and the Motif file dialogs -would fail if the -parent flag changed between two parent windows that -had been previously used as file dialog parents. (SS) - -6/29/98 (compatibility patch) Added reserved fields to several Tk -structures to match additions made by Jan Nijtmans dash patch. This -means that extensions can be compiled against the dash patch -and still work with unpatched Tk, and vice versa. - -7/6/98 (bug fix) Added keysym definitions for the new keys on the -Microsoft keyboards. You can bind to , , and , -but you cannot use the Win keys as modifiers. (SS, BW) - -7/6/98 (new feature) Added support for the Macintosh Appearance Manager. (JI) - -7/24/98 (feature change) Eliminated the static variable that sets -tk_library and simplified search order for tk.tcl. The tk_library -variable can now be set before calling Tk_Init to avoid doing any -searches. If it isn't set, then Tk checks env(TK_LIBRARY), relative -to tcl_library, an install directory relative to the executable, a -source directory relative to the executable, and a tk directory -relative to the source heirarchy containing the executable. See the -comment at the top of generic/tkInitScript.h for more details. (SS) - -7/27/98 (bug fix) The bbox for coords in the canvas were incorrectly -including the center of the coord as part of the bound area. (RJ) - -8/4/98 (bug fix) Fixed memory leak in Windows menu code. (SS) - -8/4/98 (bug fix) Fixed bug where bgerror's were not being generated -from menu callbacks on Windows. (SS) - -8/4/98 (bug fix) Alt-key bindings were not being handled properly -under Windows, resulting in annoying beeps. (SS) - -8/4/98 (bug fix) Fixed bug in Windows menubar handling that allowed -a shared menubar to be deleted when any window using it was deleted. (SS) - -8/4/98 (feature change) Introduced TkReadBitmapFile to replace -XReadBitmapFile so that all Tk file opens go through the Tcl channel -mechanism. This lets us wrap applications that define their own -bitmaps and cursors. Note that XReadBitmapFile is no longer -emulated for non-unix platforms platforms (RJ, BW) - -8/5/98 (bug fix) binding in entries was masking the virtual -event <> binding to Shift-Insert on Windows. (SS) - -8/5/98 (bug fix) wm frame would crash if the window had not been -mapped yet on Windows. (SS) - -8/5/98 (bug fix) Local grabs did not exclude menus or the caption bar -under Windows. (SS) - -8/5/98 (bug fix) Reduced message traffic by setting -WS_EX_NOPARENTNOTIFY on TkChild windows. (SS) - -8/6/98 (feature change) Changed tkInitScript.h to use the new -tcl_findLibrary procedure to locate its script library. (BW) - -8/10/98 (bug fix) Added special case to font code to limit the -length of displayed strings to avoid wrap-around bugs in some -PC X servers when the pixel length of the string exceeds 0x7fff. (SS) - -8/12/98 (bug fix) Macintosh, lock down some of the resources -associated with menus to try and stabilise the menu system -on memory limited machines. (JI) - -8/12/98 (windows build change) Moved the tkConsole.obj into the tk80.dll -on windows. If you build your own Tk main program, you no longer -need to compile and link this yourself. (SKS) - --------- Released 8.0.3 to the Tcl Consortium CD-ROM project, 8/13/98 ------ - -10/5/98 (new feature) Added the event "MouseWheel" that will fire on -Windows applications in response to mouse wheel movement. You can -bind to the MouseWheel event and use the %D substitution to get the -delta the wheel moved. The "event generate" command has also been -enhanced with the -delta flag so you can generate these events from -Tcl. See the bind and event man pages for more details. The listbox -and text widgets' default bindings have been updated to understand -MouseWheel events. (RJ) - -10/12/98 (performance improvement) Added hash table to canvas widget -that holds numeric ids for items. The hash table makes item lookup -almost constant time which improves certain canvas operations -(exspecially for canvases with large number items). Thanks to Mark -Weissman and Jan Nijtmans -for submitting this improvement. (RJ) - -10/15/98 (bug fix) The -fill option to text items in the canvas did -not allow the empty string as an argument (meaning transparent) even -though every other item type did. Thanks to Sebastian Wangnick - for supplying this patch. (RJ) - -10/20/98 (feature change) The Makefile and configure scripts have been -changed for IRIX to build n32 binaries instead of the old 32 abi -format. If you have extensions built with the o32 abi's you will need -to update them to n32 for them to work with Tcl. (RJ) -*** POTENTIAL INCOMPATIBILITY *** - -11/10/98 (feature change) The Macintosh menus will use the Appearance -Theme backgrounds, separators and menu shape, if Appearance version -1.0.1 or greater is installed. The version of Appearance that shipped -with MacOS 8.0 so it will not work with a straight 8.0, but it will -with MacOS 8.1 or later. (JI) - ------------------ Released 8.0.4, 11/20/98 ----------------------- - -11/24/98 (bug fix) On some X servers, XQueryLoadFont will always -return a font, even if the name is meaningless. This prevents Tk from -parsing the font name, so now we perform a quick sanity check on the -name before letting X have it. (stanton) - -12/30/98 (bug fix) Fixed bug in "grid forget" that failed to cancel -pending idle handlers, resulting in a crash in a few odd cases. (stanton) - -1/28/99 (configure change) Now support -pipe option on gcc. (RJ) - -2/4/99 (bug fix) Changed so color tables in photo images are freed -immediately instead of being delayed. This ensures that color tables -are properly disposed at process exit. (stanton) - -2/4/99 (bug fix) Changed postscript template to include a European -character with an umlaut when determining font height. (stanton) - -2/4/99 (bug fix) If an image bitmap mask changed but ended up with the -same XID, the GC failed to be updated and so the new mask was -not used. (stanton) - -2/4/99 (bug fix) Changed so focus window is always set if -force is -specified. This fixes the problem on Windows where Tk does not -activate the window if it already has focus. (stanton) - -2/4/99 (bug fix) Fixed so errors in console eval are reported -properly. Eliminated duplicate result messages. (stanton) - -2/4/99 (bug fix) Under Windows, changed so toplevels that aren't -resizable don't have resize handles and the zoom box is disabled. (stanton) - -2/4/99 (bug fix) Changed to cancel the mouse timer when a user -initiated move/resize loop begins on Windows. (stanton) - -2/4/99 (configure change) TK_LD_SEARCH_FLAGS was set incorrectly if -SHLIB_LD_LIBS='${LIBS}', and shared linking is performed through the C -compiler. Systems affected are Linux, MP-RAS and NEXTSTEP, but also -with gcc on many more systems. - -2/4/99 (bug fix) Changed some EXTERN declarations to extern since they -are not defining exported interfaces. This avoids generating useless -declspec() attributes and makes the Windows makefile simpler. (stanton) - -2/4/99 (bug fix) Changed so keyboard shortcuts will only be found in -the current toplevel. Previously, they might be found in menus -attached to other toplevels that might not even be mapped. (stanton) -*** POTENTIAL INCOMPATIBILITY *** - -2/4/99 (bug fix) Changed to treat zero width lines in the canvas like -they have width 1 for purposes of selection. (stanton) - -2/4/99 (bug fix) Added a workaround for a bug in GetTextExtentExPoint -on Win NT 4.0/Japanese that cause a crash in some cases. (stanton) - -2/4/99 (bug fix) Fixed uninitialized memory access bug in Unix send -code. (stanton) - ----------------------------------------------------------- -Changes for Tk 8.0 go above this line. -Changes for Tk 8.1 go below this line. ----------------------------------------------------------- - -1/16/98 (new feature) Tk now supports international characters sets: - - Font display mechanism overhauled to display Unicode strings - containing full set of international characters. You do not need - Unicode fonts on your system in order to use tk or see international - characters. For those familiar with the Japanese or Chinese patches, - there is no "-kanjifont" option. Characters from any available fonts - will automatically be used if the widget's originally selected font is - not capable of displaying a given character. - - Textual widgets are international aware. For instance, cursor - positioning commands would now move the cursor forwards/back by 1 - international character, not by 1 byte. - - Input Method Editors (IMEs) work on Mac and Windows. Unix is still in - progress. - -7/7/97 (new feature) The send command now works for Microsoft -Windows. It is implemented using Dynamic Data Exchange, and a new -command, dde, allows Tk to send more generic DDE commands to other -applications. (SRP) - -11/3/97 (new feature) Major overhaul of code that manages configuration -options to use Tcl_Obj structures instead of strings: - - There is a new set of procedures including Tk_CreateOptionTable, - Tk_InitOptions, and Tk_SetOptions, which replace Tk_ConfigureWidget - and related procedures. The old procedures are still available. - The new procedures use a new format for configuration tables. - See SetOptions.3 for more information. - - There are new procedures Tk_AllocColorFromObj, Tk_GetColorFromObj, - and Tk_FreeColorFromObj to manage colors using objects to hold the - name of the color and cache the corresponding XColor pointer. - There are similar procedures Tk_Alloc3DBorderFromObj, - Tk_AllocBitmapFromObj, Tk_AllocCursorFromObj, Tk_AllocFontFromObj, - and so on to manage borders, bitmaps, cursors, and fonts. - - The old-style procedures such as Tk_GetColor and Tk_GetBitmap no - longer take Tk_Uids for arguments; they just take strings. - - Menus, labels, buttons, checkbuttons, and radiobuttons have been - converted to use the new object-based configuration library. - (SRP & JO) - -11/7/97 (improvement) Changed code referring to "interp->result" to call -accessor functions like Tcl_SetResult(). - -12/23/97 (fix) Fixed transparency and web optimized the palette of -the images/ Tcl powered logos. (DL) - -12/16/97 (bug fix) Canvas and text "bind" subcommands generated an -error with no message if called to fetch a binding that didn't exist. -They now silently return without an error like the "bind" command. (SS) - -1/13/98 (bug fix) Keysyms for international characters were not being -reported properly under Windows. (SS) - ------------------ Released 8.1a1, 1/22/98 ----------------------- - -2/4/98 (bug fix) Calling XFreeFontNames() twice if couldn't allocate -font. (CCS) - -2/10/98 (bug fix) Inlined prolog.ps in tkCanvPs.c to make it accessible -from safe interpreters: canvas postscript now works in safe interps -(like in tk8.0plugin). (DL) - -2/11/98 (bug fix) Windows "send" to a remote interp wasn't propagating -$errorInfo correctly from the remote interp to the local invoking interp. -(CCS) - -2/11/98 (bug fix) Windows "send" should have accepted "--" to mean "no more -arguments". (CCS) - -2/11/98 (bug fix) Windows "send" was concatenating its arguments -incorrectly (not consistent with "eval", "uplevel", or Unix "send"). (CCS) - -2/18/98 (bug fix) Macintosh radiobuttons and checkbuttons now color -their backgrounds correctly under Appearance. The controls gadgets themselves -however, remain the Theme colors. (JI) - -2/18/98 (improvement) The corner pixels that peek through around the -rounded corners of the Mac button widget are now controlled by the --highlightbackground, rather than the -background option. (JI) - -2/18/98 (improvement) Implemented the intra-application Send on the -Mac (RJ) - -2/18/98 (bug fix) Under X, a problem mapping from a fontStructPtr to an -XLFD (no XA_FONT attribute) would lead to dereferencing NULL. (CCS) - ------------------ Released 8.1a2, Feb 20 1998 ----------------------- - -10/21/98 (bug fix) Tk_UnderlineChars did not handle UTF strings properly -so underline indices were in bytes instead of characters. (stanton) - -11/19/98 (bug fix) Fixed menus and titles so they properly display -Unicode characters under Windows. [Bug: 819] (stanton) - -11/24/98 (bug fix) Fixed a bunch of memory leaks in the Windows menu -code. [Bug: 620] (stanton) - -11/25/98 (bug fix) Various small bug fixes: (stanton) - - hidemargin option was not honored properly in menus [Bug: 859] - - disabled menu entries were getting reenabled whenever the - mouse passed over the entry [Bug: 860] - - fixed deletion order bug where a crash would result if a - binding deleted "." - -11/30/98 (bug fix) The error result was getting lost when restoring -configuration options in buttons. [Bug: 619] (stanton) - -12/8/98 (bug fix) The Windows clipboard was not correctly traslating -multibyte characters. [Bug: 935] (stanton) - ------------------ Released 8.1b1, Dec 11 1998 ----------------------- - -1/29/99 (bug fix) Fixed bug in "grid forget" that failed to cancel -pending idle handlers, resulting in a crash in a few odd -cases. (stanton) - -2/4/99 (bug fix): Fixed uninitialized memory access in -Tk_SetAppName. [Bug: 919] (stanton) - -2/4/99 (bug fix): Added a workaround for a bug in GetTextExtentExPoint -on Win NT 4.0/Japanese. [Bug: 1006] (stanton) - -2/4/99 (bug fix): Changed so keyboard shortcuts for menus will only be -found in the current toplevel. Previously, they might be found in -menus attached to other toplevels that might not even be mapped. -[Bug: 924] (stanton) - -2/4/99 (bug fix): Changed to treat zero width lines in the canvas like -they have width 1 for purposes of selection. [Bug: 925] (stanton) - -2/4/99 (bug fix): TK_LD_SEARCH_FLAGS was set incorrectly if -SHLIB_LD_LIBS='${LIBS}', and shared linking is performed through the C -compiler. Systems affected are Linux, MP-RAS and NEXTSTEP, but also -with gcc on many more systems. [Bug: 908] (stanton) - -2/4/99 (feature enhancement): Changed so windows that aren't resizable -don't have resize handles and the zoom box is disabled on -Windows. (stanton) - -2/4/99 (bug fix): Fixed so errors in console eval are reported -properly. Eliminated duplicate result messages. [Bug: 973] (stanton) - -2/4/99 (bug fix): Changed so focus window is always set if -force is -specified. This fixes the problem on Windows where Tk does not -activate the window if it already has focus. (stanton) - -2/4/99 (bug fix): If an image mask changed but ended up with the same -XID, the GC failed to be updated and so the new mask was not -used. [Bug: 970] (stanton) - -2/12/99 (new feature): Tk is now thread safe. You enable this by -configuring with --enable-threads. Tcl must also be compiled with ---enable-threads. See Tcl for more information about the threading -interfaces. (lfb) - -2/25/99 (bug fix) Under Windows, wish can now inherit pipe handles on -stdio so it is possible to use the wish executable in a command -pipeline to capture the output of puts or read from the pipe with -gets. (redman) - -3/1/99 (bug fix) Under Windows, Tk was not properly handling focus and -activation changes in some cases. (redman) - -3/10/99 (new feature) Tk now uses the new stub library feature in Tcl. -The Tk library now contains no direct references to any symbols in -Tcl. In addition, there is a new Tk_MainEx() function that takes an -interpreter as an argument. See the Tcl documentation for more -information about the stubs mechanism. (redman) - -3/14/99 (feature change) Test suite now uses "test" namespace to -define the test procedure and other auxiliary procedures as well as -global variables. - - Global array testConfige is now called ::test::testConfig. - - Global variable VERBOSE is now called ::test::verbose, and - ::test::verbose no longer works with numerical values. We've - switched to a bitwise character string. You can set - ::test::verbose by using the -verbose option on the Tk command - line. - - Global variable TESTS is now called ::test::matchingTests, and - can be set on the Tk command line via the -match option. - - There is now a ::test::skipTests variable (works similarly to - ::test::matchTests) that can be set on the Tk command line via - the -match option. - - The test suite can now be run in any working directory. When - you run "make test", the working directory is nolonger switched - to ../tests. -(hirschl) -*** POTENTIAL INCOMPATIBILITY *** - ------------------ Released 8.1b2, March 16, 1999 --------------------- - -3/23/99 (feature change) Test suite now uses "tcltest" namespace to -define the test procedure and other auxiliary procedures as well as -global variables. The previously chosen "test" namespace was thought -to be too generic and likely to create conflits. -(hirschl) -*** POTENTIAL INCOMPATIBILITY *** - -3/26/99 [bug fix] Fixed bug reported by Bryan Oakley in the -menubutton bindings. There was a false assumption that there was -always a menu attached to the button. [Bug 1116] (surles) - -3/26/99 (feature change) Removed --enable-tcl-stub from the configure -script. Linking Tk to Tcl stubs is causing too many problems when -linking executables like wish. Until the Tk is a fully loadable -extension, linking against the Tcl stubs is not supported in Tk. -(redman) - -3/26/99 (feature change) --nameble-shared is now the default and builds -Tk as a shared library; specify --disable-shared to build a static Tk -library and shell. -*** POTENTIAL INCOMPATIBILITY *** - -3/29/99 (api change) Standardized text layout and font interfaces -so they are consistent with respect to byte versus character -oriented indices. The layout functions all manipulate character -oriented values while the lower level measurement functions all -operate on byte oriented values. (stanton) - -4/1/99 (bug fix) Image handlers are finalized before the font subsystem -to fix crashes during finalization of complex widgets. (stanton) - -4/1/99 (feature change) Removed the send command on Windows. Moved -the DDE basis of that command out to its own extension. The send -implementation on top of DDE was causing Tk to lock up in some cases. -(redman) - -4/5/99 (bug fix) Fixed handling of Unicode in text searches. The --count option was returning byte counts instead of character counts. - -4/5/99 (feature change) Cut and paste to an entry widget returns the -selection instead of the widget contents, which can be different if the --show option is used to hide the display. (stanton) - ---------------- Released 8.1b3, April 6, 1999 ---------------------- - -4/20/99 (compiler fix) changed definition of Status type to use a -typedef instead of a #define to avoid conflicting with the cygwin win32 -headers. (redman) - -4/22/99 (bug fix) Set the -translation and -encoding options to binary -for image files. (redman) - -4/27/99 (bug fix) Changed to avoid the need for forward declarations in -stub initializers. Added extern "C" blocks around stub table pointer -declarations so the stubs can be used from C++ code. (stanton) - ---------------- Released 8.1 final, April 29, 1999 ---------------------- - -5/7/99 (bug fix) Fixed bug wheretk_popup fails when called too -quickly. [Bug: 2009] (stanton) - -5/18/99 (bug fix) Fixed clipboard code so it handles Unicode data -properly on Windows NT and 95. [Bug: 1791] (stanton) - -5/19/99 (bug fix) Add extern "C" block around entire header file for -C++ compilers to fix linkage issues. Submitted by Don Porter and Paul -Duffin. (redman) - ---------------- Released 8.1.1, May 25, 1999 ---------------------- - -5/21/99 (bug fix) Fixed clipboard code to handle lack of CF_LOCALE -information (from command.com). (stanton) - -6/1/99 (bug fix) Improved I18N selection support. COMPOUND_TEXT -is converted to/from iso2022, and STRING is converted to/from -iso8859-1. More work is needed. (stanton) - -6/3/99 (bug fix) Fixed selection code to handle Unicode data in -COMPOUND_TEXT and STRING selections. [Bug: 1791] (stanton) - -6/16/99 (new feature) Changes to makefiles and configure scripts to -support TEA specification. (wart) - -6/30/99 (bug fix) Removed deprecated functions, patch from Jan -Nijtmans. [Bug 2080] (redman) - -6/30/99 (bug fix) Applied patch to allow Img extension to work with -8.2, patch from Jan Nijtmans. [Bug 2068] (redman) - -6/30/99 (bug fix) Applied patch from Don Porter to prevent the Windows -shutdown code from calling Tcl functions when the stub table has not -been initialized in TkWinWmCleanup. [Bug: 2269] (redman) - -7/8/99 (bug fix) Changed TkWinChildProc to pass WM_WINDOWSPOSCHANGED -through to DefWindowProc to make OpenGL sub-windows happpy. This -allows Windows to generate the WM_SIZE and WM_MOVE messages. (stanton) - ---------------- Released 8.2b1, July 14, 1999 ---------------------- - -7/16/99 (bug fix) Copy prolog.ps from the generic directory for -install-libraries make target. (redman) - -7/22/99 (bug fix) Applied patch from Jeff Hobbs to fix -library/menu.tcl. [Bug: 2425] (redman) - -7/22/99 (bug fix) Make install-sh have executable permissions before -calling from the Makefile. [Bug: 2413] (redman) - -7/22/99 (bug fix) Block out sys/stat.h include with #if to allow -extension writers to use the MetroWerks compiler on Windows. -[Bug: 2385] (redman) - -7/29/99 (bug fix) Allow tcl to opn CON and NUL on Windows, moved check -to Tk Console code instead. [Bug: 2393 2392 2209 2458] (redman) - -7/30/99 (bug fix) corrected the Windows build of threaded Tk from both -sets of makefiles (nmake and gmake). (redman) - -7/30/99 (bug fix) Added XFillRectangle to stub table, patch from Jan -Njitmans. [Bug: 2446] (hobbs) - -8/1/99 (bug fix) Wrapped #define of panic() inside #ifndef blocks to -avoid compiler errors on Macintosh. Patch from Vince Darley. -[Bug: 2389] (hobbs) - ---------------- Released 8.2b2, August 5, 1999 ---------------------- - -8/13/99 (Mac) Rearranged the projects in the tkMacProjects.sea.hqx so -that the build directory is separate from the sources. Fixed bug in -Tk_DrawChars(). (Jim Ingham) - ---------------- Released 8.2.0, August 17, 1999 ---------------------- - -9/21/99 (bug fix) fixed 'wm deiconify' quirks on Windows. (hobbs) - -9/21/99 (bug fix) fix fg<>bg GC swap bug for canvas. [Bug: 2676] (hobbs) - -9/21/99 (config fix) fixed AIX config issues for Tk. (hobbs) - -9/24/99 (feature change) tk_dialog now uses {Times 12} by default. (hobbs) - ---- Released 8.2.1, October 04, 1999 - -10/30/99 (bug fix) fixed XKeysymToKeycode to handle mapping of symbolic -keysyms (Left, Home, ...) with event generate (hobbs) - -10/30/99 (bug fix) change tkEntrySeeInsert to avoid the use of a while loop -that could eat CPU tremendously. Behavior of moving the cursor at the -right edge changes slightly. [Bug: 3195] (hobbs) - -10/30/99 (bug fix) changed tkScrollButtonUp to check for existence of -tkPriv(relief) in order to avoid spurious release events (hobbs) - ---- Released 8.2.2, November 04, 1999 - -11/19/99 (bug fix) fixed expression error that could cause -'malformed bucket chain' error in tkEntry.c. (hobbs) - -11/19/99 (bug fix) fixed Tk_NameOfColor (hobbs) - ---- Released 8.2.3, December 16, 1999 - -1999-09-01 (feature enhancement) rewrote runtime libraries to use new -Tcl functions where appropriate - -1999-10-28 (feature enhancement) added Img patch from Jan Nijtmans that -makes the image command Tcl_Obj-based, adds support for binary -data args, -adds alpha channel to images, adds GIF write capability (RLE). Binary -compatability is maintained, and source level compatibility is retained -with -DUSE_OLD_IMAGE. (nijtmans) - -1999-11-16 (feature enhancement) made listbox Tcl_Obj based, added --listvariable option and itemconfigure command to allow coloring -individual items. (melski) - -1999-11-23 (feature enhancement) added TK_OPTION_DONT_SET_DEFAULT as an -equivalent to TK_CONFIG_DONT_SET_DEFAULT (hobbs) - -1999-11-24 (feature enhancement) updated dialogs to use color icons on -Unix, center properly over -parent. (hipp, hobbs) - -1999-12-01 (feature enhancement) added hooks into main() code to support -"big" shells more easily. (redman) - -1999-12-02 (feature enhancement) converted Tk_DestroyCmd, Tk_LowerCmd and -Tk_RaiseCmd to their ObjCmd equivalent. - -1999-12-12 (bug fix) fixed bug in TextSearchCmd for multibyte chars - -1999-12-13 (feature enhancement) added support for pointer warping via the -event -warp option, added some items from Dash patch: canvas widget now -Tcl_Obj-based, added Tk_CreateSmoothMethod, added support for -clicks, entry widget validation routines, new -state hidden in text -widgets, new -state -active* -disabled* -offset options to canvas items -(see man page for full docs). New features include dashed line support on -the canvas, -elide support for TkMan, postscript printing of images and -windows from the canvas. Binary compatibility is maintained with 8.2, and -source level compatibility is kept by using -DUSE_OLD_CANVAS. -(hobbs, nijtmans, et al) - -1999-12-16 (feature enhancement) added "bitstream cyberbit" to list of -font fallbacks. (hobbs) - -1999-12-16 (feature enhancement) added new 'tk useinputmethods ...' command -to provide support for disabling/enabling the use of XIM on X. This was -previously all done at compile time, and always on. Now it is turned off -by default, even when available, and the user must turn it on to use XIM -(per display). - *** POTENTIAL INCOMPATIBILITY *** -user must add 'tk useinputmethods 1' to retain old style. (hobbs) - -1999-12-16 (feature enhancement) added proper support for -initialfile -to tk_get*File, and made Unix version better match Windows file box -that it was emulating. (hobbs) - -1999-12-16 (bug fix) removed necessity of 'update idle' before 'wm -deiconify' on Windows. (mao) - -1999-12-16 (feature enhancement) added support for Windows system cursors -to TkGetCursorByName (use -cursor @filename) - -1999-12-21 (bug fix) fixed lack of refresh for thin frames (darley) - -1999-12-21 (bug fix) fixed panic in Tk_CoordsToWindow to print error -to stderr instead (for Tix) (hobbs) - -1999-12-21 (bug fix) fixed segv with scale widget when using -cursor (hobbs) - ---- Released 8.3b1, December 22, 1999 - -2000-01-05 (bug fix) Applied fixes for unprotected arg passing through eval -and after in Tk runtime code [Bug: 3943] (hobbs) - -2000-01-05 (bug fix) Applied fix for i18n problems with Mac clipboard -[Bug: 3544] (hobbs) - -2000-01-05 (feature change) removed the 8.3b1 introduced -state option -for text tags, and documented -elide (-state hidden == -elide true) (hobbs) - -2000-01-12 (bug fix) fix Windows 'wm deiconify' to zoomed state [Bug: 2077] -and fixed possible flashing of unmapped toplevel in deiconify [Bug: 3338] -and fixed unwanted mapping of transient window [Bug: 572] (hobbs) - -2000-01-12 (feature enhancement) extended 'wm state' to accept a state -to set for the toplevel, and added support for zoomed (maximized) state -on Windows (hobbs) - -2000-01-12 (bug fix) Applied fix for cursor to not blink when entry or -text widget was disabled [Bug: 1807] (hobbs) - ---- Released 8.3b2, January 13, 2000 - -2000-01-20 (bug fix) fixed interpretation of consecutive ^ characters in -grid command (melski) - -2000-01-20 (bug fix) fixed -select(bg|fg) class names in listbox (hobbs) - -2000-01-20 (bug fix) fixed handling of too few coords for line item type in -canvas (hobbs) - -2000-01-20 (bug fix) fixed dialog's association with parent (melski) - -2000-01-26 (bug fix) fixed handling of binary data for -data option to -image create (melski) - -2000-01-26 (feature enhancement) improved GIF decoding speed by ~60% -(melski) - -2000-01-26 (feature enhancement) added tk_chooseDirectory implementation -for Unix and Mac (nelson, melski) - -2000-02-01 (bug fix) fixed resolution rounding problem in scale (porter) -and fixed potential Unix seg fault due to use of ckfree instead of -Tcl_EventuallyFree (hobbs) - -2000-02-01 (bug fix) fixed handling of negative dash values for canvas -items (nijtmans) - -2000-02-01 (bug fix) fixed dialog lockup on Windows where once the native -dialog disappeared, the parent window could end up locked up (hobbs) - -2000-02-03 (bug fix) fixed text dump to use char indices instead of byte -indices (melski) - -2000-02-07 (bug fix) fixed handling of default extension in unix file -dialogs (dejong) - -2000-02-08 (bug fix) corrected windows symbol font use to restrict itself -to 8-bit chars (kenny) - -2000-02-08 (feature enhancement) improved support for moving from the old -style image C API to the new obj'ified one with new Tk_InitImageArgs -command and stub'ing of image code. See docs for how to make the -transition. (nijtmans) - -2000-02-08 (bug fix) fixed incorrect handling of CapsLock on Win9* and the -use of dead keys on international keyboards (spjuth) - -2000-02-10 (bug fix) brought Mac back to building state, added support -for Appearance Manager (ingham) - -2000-02-10 (feature enhancement) added support for buttons 4 && 5 as -mousewheel style scrolling in listbox and text widget for Unix. - ---- Released 8.3.0, February 10, 2000 - -2000-03-02 (bug fix) fixed crash in listbox when cursor was configure and -then widget was destroyed (hobbs) - -2000-03-02 (feature enhancement) added %V substitution to entry widget -validation to clarify type of validation occuring (hobbs) - -2000-03-07 (feature enhancement) added -disabledforeground/-state to labels -(melski) - -2000-03-29 (config enhancement) improved build support for gcc/mingw on -Windows (nijtmans, hobbs) and added RPM target (melski) - -2000-03-24 (bug fixes) numerous corrections for more correct Unix dialog -behaviors (melski) - -2000-03-27 (bug fix) fixed mem leak in wm commands (hu) - -2000-03-31 (bug fix) correct initialization of Windows static builds and -added Unicode aware open/save file dialogs on Windows (hobbs) - -2000-03 (bug fix) canvas: corrected support for transparency in dashed -lines on Windows (nijtmans); added support for postscript generation of -images on Windows, also fixing transparency printing (biancardi); corrected -handling of configure options in non-empty canvas (melski) - -2000-04-07 (bug fix) correct font name length restriction that prevented -the use of long named (>16 char) fonts on NT/2000 (hobbs) - -2000-04-07 (bug fix) fixed safe Tk to work in base cases (hobbs) - -2000-04-10 (bug fix) corrected Alt-Key event generation and handling of -Alt-sequence Windows special char generation and (Control|Shift|Alt)_L/_R -determination (melski) - -2000-04-10 (bug fix) correctly check state of parent when popping up -bgerror dialog. (melski) - -2000-04-11 (feature enhancement) msgcat now searches up the namespace chain -for a match instead of just in the local namespace (hershey) - -2000-04-12 (bug fix) corrected handling of Windows clipboard to allow for -use of user-defined types within the Tk app (hobbs) - -2000-04-13 (feature enhancement) improved handling of shadow determination -for 3D borders in very light/dark cases (hipp, melski) - -2000-04-13 (bug fix) correctly color separator bg in menus on Windows -(melski) - -2000-04-14 (bug fix) improved handling of scale widget, reduced number of -redraws (hobbs) - -2000-04-17 (feature enhancement) made shift-selection more Windows-like -(intuitive) in text widget (melski) - -2000-04-22 (bug fix) mac bug fixes, nav services handling (ingham) - -2000-04 more docs for public APIs (melski) - ---- Released 8.3.1, April 26, 2000 -2000-04 (doc updates) extended, updated docs (melski) - -2000-05-09 (feature change) removed WS_EX_TOOLWINDOW style bit for -transient windows on Windows platforms, so that transients have -full-size titlebars (melski) - -2000-05-09 (bug fix) fixed calling of takeFocus proc (nemethi) - -2000-05-11 (bug fix) corrected handling of 3DBorder, Cursor and Color -objects on multiple screens (hobbs) - -2000-05-12 (feature enhancement) improved support for chars in 0-255 -range for bitmap ANSI fonts (spjuth, hobbs) - -2000-05-12 (widget enhancement) added support for -repeatdelay, --repeatinterval for command buttons; and -compound (image and text -simultaneously) for labels, check-, radio-, and command buttons (melski) - -2000-05-14 (widget change) added "readonly" state for entries and -changed behavior of "disabled" entries; added -readonlybackground -option for entries (melski) -*** THIS IS A BACKWARDS INCOMPATIBLE BEHAVIOR CHANGE *** - -2000-05-15 (feature enhancement) added [image inuse] command (melski) - -2000-05-15 (feature enhancement) added -nice option to [bell] command (duncan) - -2000-05-17 (widget enhancement) added -overrelief option for -check/radio/buttons (melski) - -2000-05-26 (feature change) added support for new syntax in -Tk_OptionSpec tables; if the database name for an option contains an -embedded "." it indicates that the name contains an overriding window -class specifier in addition to the database name, which allows widgets -to perform queries for certain options as if they were options for a -different widget class (melski) - -2000-05-28 (new widget) added spinbox widget (hobbs) - -2000-05-31 (feature change) replaced bgerror dialog with a new and -improved one (fellows, melski) - ---- Released 8.4a1, June 6, 2000 - -2000-05-15 (bug fix) changed wm deiconify from using idle callback to -calling restack and focus code immediately. (hobbs) - -2000-07 (build cleanup) cleanup of defines in tkConfig.sh, and cleanup -in make and configure files to better handle .rc files across -builds. (welch) - -2000-07 (build improvements) cleanup of the makefiles and configure scripts -to correct support for building under gcc for Windows. (dejong) - -2000-08 (feature enhancements) for Windows, corrected drawing of separator -menu entries, disable menu entries and the height for separator -bars. (melski) - -2000-08 (bug fix) fixed calling of takeFocus proc with arg bearing -functions. (nemethi) - -2000-08 (bug fix) For text widgets, added a test for a NULL segment pointer -when doing backwards searches for "", correct searching over elided chars, -and corrected search combining -regexp and -nocase. (melski) - -2000-08 (bug fix) Corrected code for using 'place', cursors, colors and 3D -borders on multiple screens simultaneously. (hobbs, hipp) - ---- Released 8.3.2, August 9, 2000 - -2000-06-15 (new feature) [tk_getOpenFile ... -multiple] (melski) - -2000-06-29 (new feature) localization support in Tk dialogs (duperval, -melski, et al) - -200-07-28 (new feature) -state option for listbox, better native color -defaults (melski) - -2000-08 (feature rewrites) Tcl_Obj'ified clipboard, message, tkwait, -bindtags, grab. place, selection commands (melski) - -2000-08-24 (new feature) More correct GNU configure support (no more ---enable-gcc) (dejong) - *** POTENTIAL INCOMPATIBILITY *** - -2000-08-29 (bug fix) Corrected Windows menu indicator drawing (oberhumer) - -2000-09-01 (bug fix) Added tkPlatDecls.h to default install (melski) - -2000-09-17 (new feature) Added TK_OPTION_CUSTOM type, similar to -TK_CONFIG_CUSTOM (melski) - -2000-09-29 (bug fix) Several fixes for multi-display uses of Tk (hipp, hobbs) - -2000-10-05 (new feature) Tk_CreateAnonymousWindow API to create anonymous -Tk windows controllable from C (melski) - -2000-10-27 (new default behavior) [tk useinputmethods 1] is the default -in tk.tcl, for users of XIM and "dead" keys (hobbs) - -2000-10-30 Improved support for static builds on Windows (gravereaux) - - * Added support for mingw (gcc on Windows), AIX-5 and Win64 builds - (dejong, hobbs) - - * Improved error checking in Windows native dialogs (melski, hobbs) - ---- Released 8.4a2, November 3, 2000 - -2001-04-04 (build improvements) redid Mac build structure (steffen) -Corrected IRIX-5* configure (english). Added support for AIX-5 (hobbs). -Added support for Win64 (hobbs). - -2001-04-04 (doc fixes) numerous doc corrections and clarifications. -Update of READMEs. - -2001-04-04 (bug fix) corrected reseting of service mode to only occur when -it was set (hedin, hobbs) - -2001-04-02 (bug fix) Improved tests on Windows for correctness. -Checked for menu deletion before calling associated menu entry command. -Fixed listbox, canvas and entry destruction to be more aware of current -widget activity. (hobbs) - -2001-03-30 (feature enhancement) added support for changing IME on the fly -in Windows (2000) (lam) -(bug fix) handled the error case where a valid-looking but invalid -identifier could be passed in certain event generate options causing a -crash (hobbs) - -2001-03-29 (bug fix) corrected handling of drag-selection (dejong) - -2001-01-02 (feature enhancement) added Windows icon support in wm -iconbitmap (darley) - -2000-10-27 (feature enhancement) made [tk useinputmethods 1] the default -for Tk (hobbs) - -2000-10-18 (bug fix) Corrected rendering of 1-pixel wide stippled lines on -Windows. Correct use of active- and disabledwidth values for displaying -lines. Enhanced error handling in Windows native dialogs (melski) - -2000-09-29 (bug fix) corrected BadMatch errors when using Tk on multiple -screens (hipp) - -2000-08-18 (feature enhancement) Removed redundant call to DitherInstance -(melski) - ---- Released 8.3.3, April 6, 2001 - -2000-11-21 (new feature)[TIP 5] Tk_ClassProcs, Tk_SetClassProcs API (melski) - -2000-12-13 (performance enhancement)[403327] Tcl_Objs of type "double" -are recognized in SetMMFromAny to speed up canvas coord calculations (hobbs) - -2001-01-02 (new feature)[TIP 8] [wn iconbitmap -default] on Windows (darley) - -2001-02-12 (new feature)[TIP #21] asymmetric padding in the pack and grid -geometry managers (hipp) - -2001-05-21 (new feature)[TIP #11], -compound for [menubutton] widget (helfter) - -2001-06-03 (bug fix) corrected support for is10646 fonts on Unix, added a -ucs-2be encoding (welch) - -2001-07-02 (bug fix) allowed tkwin to be Tcl_EventuallyFree'd in -Tk_DestroyWindow so other widgets could register their use of it. Updated -entry and listbox widgets to use this, correcting potential crashes. (hobbs) - -2001-08-01 (interface rewrite)[TIP 44] moved all private tk[A-Z]* commands and -variables into the ::tk:: namespace (porter) - *** POTENTIAL INCOMPATIBILITY *** - - * overhaul of configure scripts for cleaner standard support and support - of mingw gcc on Windows. (mdejong) - - * improved tests to better handle results on variant systems (hobbs) - - * correct several minor Purify complaints (hobbs) - ---- Released 8.4a3, August 6, 2000 - -2001-08-06 (new feature) added GNU (HURD) build support. (brinkman) - -2001-08-23 (new feature) added QNX-6 build support. (loverso) - -2001-08-24 (bug fix) correct several possible free memory reads and array -bounds read errors reported by purify. (hobbs) - -2001-08-27 (new feature) added call to Tcl_SetMainLoop which enables Tk to -be loaded interactively into tclsh and have the event loop kick in -correctly. (hobbs) - -2001-08-28 (bug fix) fixed tk_chooseDirectory crash on Win95. (baker) - -2001-08-28 (bug fix) removed 2 second 'raise' delay seen by some Unix -window managers. (hobbs, baker) - -2001-09-14 (bug fix) fixed memory leaks that occurred if errors were -thrown while initializing the channel for an image. (darley) - -2001-09-20 (new feature) --enable-64bit support was added for HP 11 when -using the native compiler. - -2001-10-03 (new feature) finalized Win64 support with latest RC1 release -and SDK. (hobbs, stacy) - -2001-10-04 (new feature) added enhanced bgerror dialog from Hipp. (hobbs) - -2001-10-09 (new feature) added brace/quote matching and file/path/var -expansion to the Win/Mac console. (hobbs) - -2001-10-17 (bug fix) fixed file filtering in the motif file dialog (nelson) - -2001-10-17 (bug fix) updated Mac build support. (steffen) - ---- Released 8.3.4, October 19, 2001 - -2001-08-14 (bug fix)[450545] Tk's Tcl_ObjTypes now registered (fellows) - -2001-08-20 (performance enhancement) internal use of a "window" Tcl_ObjType -(fellows) - -2001-08-20 (performance enhancement) Obj-ified [grid] and [pack] (spjuth) - -2001-09-26 (new feature)[TIP 18] add labels to frames, update geometry -managers (spjuth) - -2001-09-30 (new feature)[TIP 37] [grid {row|column}configure -uniform] (spjuth) - -2001-10-12 (new feature)[TIP 63] [$menu add ... -compound] (helfter) - -2001-10-18 (build improvement) no more warnings about building with -thread-enabled Tcl (hobbs) - -2001-11-10 (build improvement) new make target 'make gdb' (dejong) - -2001-11-12 (new feature)[TIP 26] simple undo/redo in text widget (callewaert) - -2001-11-12 (build improvement) revitalized makefile.vc (gravereaux) - -2001-11-17 (visual change) default button size on Windows changed to -conform to Windows style (hobbs) - **** POTENTIAL VISUAL INCOMPATABILITY **** - -2001-12-03 (new feature)[TIP 74] [wm stackorder] (dejong, steffen) - -2001-12 (new feature) more use of Unicode in native widgets on Windows (hobbs) - -2001-12-18 (bug fix)[413735] event-click-drag-1.2 test failure (porter) - -2001-12-28 (new feature) On Windows, buttons accept negative widths, meaning -minimum size, enabling native L&F (hobbs) - -2002-01 (bug fix) updates for CONST-ification in Tcl API, notably -Tcl_ParseArgv. Use -DUSE_NON_CONST to suppress source incompatibility - **** POTENTIAL INCOMPATABILITY **** - -2002-01-31 (bug fix)[508988] logic error in menu cloning (helfter) - -2002-02-01 (new feature)[TIP 14] [$photo transparency] (fellows) - -2002-02-01 (bug fix)[511956] C99 spec: avoid 'bool' as a variable name (hobbs) - -2002-02-19 (bug fix) updates to image code calls of Tcl_Seek/Tcl_Tell to -address TIP 72 changes (64-bit) in Tcl (fellows) - -2002-02-21 (new widget)[TIP 41] added [panedwindow] (hobbs) - -2002-02-22 (new feature) 64-bit support for xlc compiler on AIX-4 (hobbs) - -2002-02-25 (bug fix)[503772] blinking cursor fix in [text] (hobbs) - -2002-02-25 (bug fix)[503613] [listbox] handling of invalid listvar (hobbs) - -2002-02-25 (feature change)[493145] mirror B2 bindings to B3 on Windows (hobbs) - - * (updated demos) many updates to show new features (fellows) - ---- Released 8.4a4, March 5, 2002 - -2002-03-20 (feature change)[TIP 27][532644] Constness changes (porter) - -2002-03-21 (bug fix)[528441] Change in optimization flags for windows -(gravereaux) - -2002-04-08 (bug fix) MSL stdin/out fixes prevent crash on exit (steffen) - -2002-04-12 (bug fix) Centralized closing of display, mem-leak fixes (hobbs) - -2002-04-22 (bug fix)[223739] More robust FP comparisons for odd -architectures (fellows) - -2002-04-22 (bug fix)[541999] Fixed posible overun of 16-bit size limit -of X windows in drawchars (hobbs,bonfield) - -2002-04-22 (bug fix)[541849] ButtonLeave implementation corrected (hobbs) - -2002-04-24 (new feature) TCLTK_NO_LIBRARY_TEXT_RESOURCES check added, -allowing disable of inclusion of tk lib into resources (steffen) - -2002-05-07 (bug fix)[553208] Makefile/Win fix (TCLDIR, INSTALLDIR -forward slash trouble resolved) (gravereaux) - -2002-05-20 (bug fix) msgcat added to resources, fixed setup of bindings -on startup (steffen, porter) - -2002-05-21 (bug fix) Build system fix, SC_ENABLE_SHARED before -SC_CONFIG_CFLAGS for usage for SHARED_BUILD (dejong) - -2002-05-26 (bug fix)[548765] Fixed -value "" redraw error for variable -created by radiobutton (spjuth) - -2002-05-27 (feature change) [wm transient .t .t] now raises an error (dejong) - *** POTENTIAL INCOMPATIBILITY *** - -2002-06-10 (new feature)[566605] Utilities for -underline, ampersand magic -(kovalenko) - -2002-06-12 (feature change) A transient toplevel now mirrors state changes -in the master. (dejong) - *** POTENTIAL INCOMPATIBILITY *** - -2002-06-13 (bug fix) Fixed handling of cursor specs across platforms to -be consistent. (fellows) - -2002-06-14 (new feature) [TIP 98] Enhanced photo compositing (fellows) - *** POTENTIAL INCOMPATIBILITY *** - -2002-06-14 (bug fix) Removed references to matherr (kupries) - -2002-06-14 (new feature) [TIP 47] Reorganized Tk to allow usage in writing -an X wm (english) - -2002-06-14 (new feature) [TIP 84] Full motion events upon request (hobbs) - -2002-06-17 (new feature) [TIP 82] -offrelief option for check/radiobutton -(hipp) - -2002-06-17 (enhancement) Added msg catalog for UK English. (porter) - -2002-06-17 (new feature) [TIP 96] Added caret handling (hobbs) - -2002-06-19 (new feature) [TIP 48] Added style engine (bonnet) - -2002-06-19 (bug fix)[570902] Reorganized Tk shutdown to work around bugs in -X (dejong) - -2002-06-20 (new feature) [TIP 94] Added -activestyle for [listbox] (hobbs) - -2002-06-21 (new feature) [TIP 104] generalized text undo/redo (callewart, -hobbs) - -2002-06-22 (new feature) [TIP 95] Added [wm attributes] command (hobbs) - -2002-06-22 (new feature) [TIP 93] enhanced get/delete to accept accept -multiple range pairs (hobbs) - ---- Released 8.4b1, July 5, 2002 - -2002-07-11 (bug fix) some memory allocation failures now result in - error messages rather than panic (fellows) - -2002-07-15 (platform support) Borland makefile on Windows (gravereaux,giese) - -2002-07-16 (bug fix)[220800,581627] icon reading (darley) - -2002-07-19 (bug fix) Postscript generation on Win2K (hipp) - -2002-07-22 (bug fix)[570764,568278] transient windows (dejong) - -2002-07-24 (bug fix)[581560] canvas memory management (hobbs) - -2002-07-24 (bug fix)[584691] focus ring on compound button (hobbs) - -2002-07-25 (feature enhancement)[564521] Obj-ified [wm] (spjuth) - -2002-08-04 (new feature)[589853][TIP 27] Tk interfaces are now fully - CONST-ified. Use the symbols USE_NON_CONST or USE_COMPAT_CONST - to select interfaces with fewer changes. - *** POTENTIAL INCOMPATIBILITY *** - -2002-08-07 (bug fix)[578654] bezier curves on canvas (hobbs) - -2002-08-07 (platform support)[468139] native directory browser on Win (hobbs) - -2002-08-07 (bug fix)[467524] fixed -from handling for gifs (obermeier) - -2002-08-08 (bug fix)[592201] wm transient panic (english,dejong) - -Rewrote Tk test suite to use tcltest package. - ---- Released 8.4b2, August 9, 2002 - -2002-08-20 (bug fix) tk.h checks for matching tcl.h version (porter) - -2002-08-27 (bug fix)[582457] toolbar button bindings (hipp) - -2002-08-31 (platform support)[602770] Mac OS X / Aqua port (steffen) - -2002-09-02 (bug fix)[565485] button height on windows (hobbs) - -2002-09-02 (new feature)[TIP 108] new comand [tk windowingsystem] (steffen) - -2002-09-02 (new feature)[TIP 107][601518] [raise] is non-blocking (english) - -2002-09-02 (platfrom support) 64-bit compile on HP-11 (martin) - ---- Released 8.4.0, September 10, 2002 - -2002-09-15 (bug fix)[570902] Use PEEK_XCLOSEIM to examine the input context -queue before invoking XCloseIM. Generate an assert if there is an input -context that has not been freed. (dejong) - -2002-09-18 (platform support) Updated support for compiling with Cygwin and -either mingw or gcc. (khan, howell, dejong) - -2002-09-30 (bug fix)[614650] Correct incremental transfers of UTF8_STRING -selections (fellows) - -2002-10-02 (bug fix)[616791, 614474] don't blink the cursor unless it is -visible. (bonfield) - -2002-10-02 (bug fix)[607390, 617446] check if the entry is being deleted -before handling an associated textvariable. (hobbs) - -2002-10-08 (bug fix)[616589] leave the DestroyPanedWindow proc to free the -pwPtr. (hobbs) - -2002-10-08 (bug fix)[588831] Ignore event if we are focusing into a dead -window (griffin) - -2002-10-09 (bug fix)[619544] Only error-out creating an image if we fail to -allocate a non-empty buffer (fellows) - -2002-10-09 (build support) all --enable-symbols to take the enhanced -options yes|no|mem|all. (hobbs) - -2002-10-10 (feature enhancement) added support for generating ps for -embedded widgets on canvases on Windows (hobbs) - -2002-10-10 (bug fix)[621241] The grid size was not updated properly when -removing a widget from a grid (forssen) - -2002-10-16 (bug fix)[616988] macosx fix to accelerators shown in menus -with non-alphanumeric keys. (darley) - -2002-10-15 (platform support) Correct AIX-5 ppc and 4/5 64-bit build flags. -Correct HP 11 64-bit gcc building. (martin, hobbs) - -2002-10-17 (bug fix)[624974] fix arg handling for missing image create -photo -format or -data options (hobbs) - -2002-10-17 (bug fix)[624732] In ControlUtfProc, properly return the number -of bytes consumed (hobbs) - -2002-10-22 (platform support)[624509] On macosx, add embedded framework -dirs to tcl_pkgPath: @executable_path/../Frameworks and -@executable_path/../PrivateFrameworks (if they exist), as well as the dirs -in DYLD_FRAMEWORK_PATH (if set). Added 'rapp' apple event handler. Added -TEXT document type to plist so that files can be dragged onto Wish Shell. -Added private proc TkMacOSXUseAntialiasedText() to enable/disable quickdraw -text antialiasing where available, default is enabled. Added a linked -boolean ::tk::mac::antialiasedtext with write trace to allow control of -antialiasing from tcl. (steffen) - ---- Released 8.4.1, October 22, 2002 - -2002-11-07 (bug fix)[635025,532022] Make [place info] complete and bring into -line with other geometry managers. (spjuth) - -2002-11-14 (bug fix)[630533] Handle half-dead windows better. (dejong) - -2002-11-19 (bug fix) Better handling of narrow scrollbars on OSX. (ingham) - -2002-11-22 (bug fix)[641778] Make the [text see] work when the widget is -unmapped. (hobbs) - -2002-12-01 (bug fix) Stopped [wm withdraw] and [wm transient] from interfering -with each other. (dejong) - -2002-12-06 (bug fix) Improved DLL cleanup on Windows. (hobbs) - -2002-12-06 (new feature) New function TkWinSetHINSTANCE() as part of enabling -dynamic Tk to load resources correctly. (hobbs) - -2002-12-13 (bug fix)[616245] Use Tcl*StartupScript*() routines in Tk_Main. -(porter) - -2002-12-27 (bug fix)[578569] Made sure that Tk always knows whether its windows -are mapped or not. (english) - -2003-01-03 (bug fix)[661792] Stopped crash when trying to create a toplevel -when Tk is dying. (hobbs) - -2003-01-08 (bug fix)[663981] Clip long lines so they show correctly even when -they hit windowing-system limits. (hipp) - -2003-01-14 (bug fix)[666346] Stopped selection handling crashes under KDE3.0. -(english) - -2003-01-22 (bug fix)[220891] Image creation cannot trigger Tk's death. -(fellows) - -2003-01-23 (bug fix)[673687] Entry typein works as expected even when the mouse -button is pressed. (hipp) - -2003-01-28 (bug fix)[671330] Stopped segfaults from unsynchonized window -deletion epochs. (english) - -2003-02-08 (bug fix) Make canvas item coordinate list handling consistent to -stop segfaults. Cannot now create items without coordinates. (hobbs) - *** POTENTIAL INCOMPATIBILITY *** - -2003-02-10 (bug fix) Better support for themed and animated cursors on OSX. -(ingham) - -2003-02-17 (bug fix) Stopped motion events from morphing into button press -and motion events. (dejong) - -2003-02-18 (bug fix) Removed memory leak in GIF image loader. (fellows) - -2003-02-18 (bug fix) Made OSX menus support UTF8 text and icons. (darley) - -2003-02-18 (bug fix)[608559] Stop message boxes from getting extremely wide. -(hobbs) - -2003-02-18 (bug fix)[683813] Make focus behaviour of spinboxes more like -entries. (bron) - -2003-02-19 (new demo)[627453] New demo showing off Tk's Unicode font handling. -(fellows,suchenwirth) - -2003-02-19 (bug fix) Bring event handling more into line with the OSX standard. -Also improves "dead key" handling. (riefenstahl,ingham) - -2003-02-20 (bug fix)[618872,689357] Stopped read of freed memory when working -with large composite fonts. (fellows) - -2003-02-20 (bug fix)[689099,tcllib 689258] Improvements to [panedwindow] pane -size and sash handling. (spjuth,hobbs) - -2003-02-20 (bug fix)[624116] Stopped semi-crash in Windows scrollbar handling. -(hobbs) - -2003-02-21 (bug fix)[671122] Stopped panedwindow from crashing when embedded -in a window with a different visual to the root window. (fellows) - -2003-02-21 (bug fix)[617392] Limit the screen-size of [tk_get*File] file type -selection menu. (fellows) - -2003-02-21 (bug fix)[673722] Rework standard dialogs to use [grid]. (fellows) - -2003-02-24 (bug fix)[637828] Report that entries can provide the selection, -even if they're not displaying it. (hobbs) - -2003-02-24 (bug fix)[669595] Improved display of indicators in disabled -checkbuttons and radiobuttons. (hintermayer) - -2003-02-24 (bug fix)[632514] Allow listbox 'selection includes' to respond -positively when disabled. - -2003-02-24 (bug fix)[647497] Make Tk pick the first best matching font on -the font path. (dal zotto) - *** POTENTIAL VISUAL INCOMPATIBILITY *** - -2003-02-25 (bug fix)[621672] Fixed conversion of apple event parameters -to posix path names. (steffen,riefenstahl) - -2003-02-25 (feature enhancement)[patch 685388] Support simple XOR text drawing -on Windows. (martin) - -2003-02-28 (bug fix)[612110] Make %-substitutions for events only read data out -of the event structure when that field is valid for that event type. (fellows) - *** POTENTIAL INCOMPATIBILITY *** - ---- Released 8.4.2, March 3, 2003 - -2003-03-14 (bug fix)[701812] Stop buttons from being very wide when a -tk_messageBox has a lot of content on Unix - -2003-03-18 (bug fix) Fixed crash in [winfo server] on Mac OS X - -2003-04-25 (bug fix)[477740] Correct compound button display in the -disabled state - -2003-05-10 (bug fix)[734498] Correct crash when generating postscript for a -single-line polygon (point) with no color. - -2003-05-13 (feature enhancement)[736774] Use new versioned bundle resource -API to get tk runtime library for TK_VERSION on Mac OS X - -2003-05-14 (bug fix)[737790] Updated French message catalog - -2003-05-15 (bug fix)[557030] Use gb2312-raw as the alias for gb2312* -charset fonts. gb2312.enc was made to be euc-cn for Tcl because that is -what is most often meant, but X really wants the original (-raw) gb2312 -encoding. - ---- Released 8.4.3, May 20, 2003 - -2003-07-07 (bug fix)[749353] Improve deletion of images on exit. - -2003-07-15 (bug fix)[465324] Fixed complex bug in menu clone cleanup. - -2003-07-15 (bug fix)[755530] Don't test for XCloseIM bug when the XFree86 -version is newer than 4.0 since the layout of the XIM structure has -changed. - -2003-07-16 (bug fix)[748277, 702230, 738143] Numerous panedwindow fixes. -Ensure that the last pane shrinks instead of being clipped when resized -below the reqsize. Ensure that we can share GCs between a panedwindow and -its sash proxy, even if the panedwindow is in a toplevel with a different -visual. Ensure that panedwindows get their geometry right even when their -children don't know their initial size. Use widget-specific Priv slots for -pwAfterId and panecursor items to correctly handle cursor changes with -adjacant panedwindows. - -2003-07-17 (bug fix)[697652] Make sure all options of a frame can be set to -their default value. - -2003-07-17 (bug fix)[404421] Try harder to avoid zero-length mallocs() when -creating images. - -2003-07-17 (feature enhancement) MacOSX build system rewrite. - -2003-07-18 (bug fix) Do not make XGetGeometry call that prevents overwidth -lines drawing on unix as it requires a roundtrip call to the X server for -every string drawn. Hard-code max width to 32768 until a beter solution to -get max width is made. - -2003-07-18 (bug fix)[742660] correct XCreateIC call for TK_XIM_SPOT usage -on unix. - -2003-07-18 (bug fix)[420510] Provide consistency between unix and windows --cursor option. - -2003-07-19 (bug fix)[706765] Correctly handle the -sliderrelief option -while moving the thumb. - ---- Released 8.4.4, July 22, 2003 - -2003-08-13 (bug fix)[787065] Fix Button-2 binding for scale widget. - -2003-08-19 (bug fix)[791500] Fix panedwindow refresh glitches for bg. - -2003-09-17 (bug fix)[808039] Prevent [image create] from generating an -image command name that overwrites an existing command. - -2003-09-25 (enhancement) Added -compound support for OS X bevel buttons. - -2003-10-10 (bug fix) Fix image offset stippling for disabled buttons. - -2003-10-22 (enhancement)[827535] Constrain tk_dialog to be sensibly sized and -placed - -2003-10-28 (bug fix) Add 16bpp XGetImage support on Windows - -2003-10-29 (enhancement)[795717] Allow some control of foreground and -background colors on Tk's tk_getOpenFile/tk_chooseDirectory. - -2003-11-01 (enhancement)[820519] Updated Dutch (nl) message catalog. - -2003-11-10 (enhancement)[826614] Provide more Tk build info in tkConfig.sh. - -2003-11-10 (enhancement)[809157] Add alpha blending for images with partial -transparency on Windows and Unix on 15bpp+ displays. - -2003-11-10 (enhancement)[820282] Use the XGCValues.function parameter when -filling rectangles with XFillRectangles on Windows. - -2003-11-11 (enhancement)[840107] Add OS X unicode clipboard support. - -2003-11-11 (enhancement)[833819] Improve Tk's -tk_getOpenFile/tk_chooseDirectory directory glob'ing speed. - -2003-11-11 (bug fix)[836483] Fix mem leak in '$listbox itemconfigure'. - -2003-11-11 (bug fix)[723856] Correctly handle menu (un)posting on menus -with spaces in their names. - -2003-11-11 (enhancement) Improve AIX-64 build configuration. - -2003-11-17 (bug fix) Fix menubutton -compound state disabled drawing. - ---- Released 8.4.5, November 20, 2003 - -2003-12-17 (platform support)[842952] Mac OS X: [scrollbar] - -2004-02-13 (platform support)[776646] Win: native hand2/fleur cursors - -2004-02-03 (enhancement) post menubuttons so they stay on screen. - -2004-02-09 (bug fix)[877950] stop crash during intra-image copy/resize - -2004-02-10 (enhancement) New msg catalogs for Esperanto and Polish (trzewik) - -2004-02-13 (platform support)[478568] Win: bold/italic font handling - -2004-02-15 (platform support)[860454] Mac OS X: [event generate] - -2004-02-15 (platform support)[840107] Mac OS X: Unicode clipboard (senn) - -2004-02-15 (platform support)[517600] Mac OS X: handle FSRef's - -2004-02-15 (platform support) Mac OS X: native [tk_messageBox] - -2004-02-15 (platform support) Mac OS X: PowerBook keycode 0x34 -> - -2004-02-18 (platform support) Mac OS MouseWheel event handling - -2004-02-18 (bug fix)[899246] fix shrinking grid geometry calculations - -2003-02-23 (platform support)[809157] Mac OS X: Add alpha blending for -images with partial transparency. - -2004-03-01 (platform support)[218561] Allow 64-bit configure on IRIX64-6.5* - ---- Released 8.4.6, March 1, 2004 - -Changes to 8.5a1 include all changes to the 8.4 line through 8.4.6, -plus the following, which focuses on the high-level feature changes -in this changeset (new minor version) rather than bug fixes: - - * Tk is no longer guaranteed to work for Win95 (not tested 8.5+) - - * configure scripts now require autoconf 2.57 for regeneration - - * added support for anti-aliased test under X11 (already existed for - Win/Mac) using --enable-xft - - * improved speed of 'photo put' handling - - * updated demos for consistency and improved look & feel - - * improve 3D line drawing for sunken widgets on Windows - - * [792387] reworked 'grid' to handle some tricky geometry computations - better - - * [TIP #109] updated look of radiobuttons and checkbuttons on X11 - - * [TIP #110] tristate value option for checkbuttons and radiobuttons - - * [TIP #113] add multi-line searching and -all searching to the text widget - Full Tcl_Obj-ification of the text widget - * [TIP #155] add 'count' and 'replace' subcommands and a '-blockcursor' - option to text widgets and support smooth-scrolling of them - *** POTENTIAL INCOMPATIBILITY *** - Negative or decreasing tab-stops are explicitly disallowed - - * [TIP #116] more safety for large image creation through use of attempted - allocation of large memory blocks - - * [TIP #137/151] add -encoding option to 'wish' executable (through - Tk_MainEX()) - *** POTENTIAL INCOMPATIBILITY *** - For Tk embedders that build on Tk_MainEx() and make use of Tk_MainEx's - former ability to pass a leading "-encoding" option to interactive shell - operations, this will now be consumed by Tk. - - * [TIP #146] added 'grid anchor' subcommand for overall grid anchoring - - * [TIP #147] recognize widget names and "all" as keywords in grid's - 'columnconfigure' and 'rowconfigure' subcommands - - * [TIP #150] make 'send' available on Windows - ---- Released 8.5a1, March 3, 2004 - -2004-03-17 (platform support) Mac OS X: Grab the Command-H & -Command-Shift-H keys and use them for Hide and Hide Others before passing -keystrokes on to the generic keyboard event processing. -Stop putting a Quit menu item in the File menu. (ingham) - -2004-03-26 (enhancement)[540375] Add code to read and write PPM/PGM data -from strings and/or bytearrays. (fellows) - -2004-03-26 (bug fix)[923555] Restored support for the stringWriteProc of -old photo formats/ (fellows) - -2004-03-31 (bug fix)[Bug 220871] Report errors from invoking menu commands -as background errors on OS X. (ingham) - -2004-04-20 (bug fix)[915350, 922336] Do not set min, max size in WM_HINTS -when we shouldn't and correctly display maximize window button under -KDE-3.2.1. (english) - -2004-05-03 (enhancement)[756952] Place images of compound menu entries in -indicator space if not a radio of checkbutton on Windows. (eserte) - -2004-05-03 (bug fix)[904371] Fix drawing of unicode chars in menu titles. -(riefenstahl) - -2004-05-03 (bug fix)[939389, 822002, 732662] Correctly post internal -clipboard data to the Windows clipboard on exit. (hobbs) - -2004-05-03 (bug fix)[778893, 932155] Make the panedwindow -opaqueresize -option work as per the docs, and call DragSash to stop sash jump when B1 is -pressed and released without moving. (hobbs) - -2004-05-05 (bug fix)[618872] Fix Tk_MeasureChars and Tk_DrawChars to handle -reallocation of subfonts when unicode chars require extra fonts. -(dkf, hobbs) - -2004-05-14 (enhancement) reduce Tk tk_messageBox default font size to -14-point (was 18-point). (fellows) - -2004-07-11 (enhancement)[987169] Handle users destroying the dialog -indirectly. (fellows) - -2004-07-14 (bug fix)[894550] Correctly set the cursor to the platform -cursor on OS X when Tk asks for the "NULL" (empty) cursor. - -2004-07-14 (bug fix)[969358] Prevent possible segfault in -maxundo. (jiangwu) - -2004-07-19 (bug fix)[874058] improved build configuration on 64-bit systems. -Corrects Tcl_StatBuf definition issues. (hobbs) - -2004-07-23 (platform support) Mac OS X: Fix several problems with -Icelandic (and Faroese) keyboards (riefenstahl) - -2004-07-24 (platform support) Mac OS X: Complete the implementation of -the CG version of the X drawing emulation layer. (tittle, ingham) - ---- Released 8.4.7, July 26, 2004 - -2004-08-09 (bug fix)[1006286] test wrapping on canvas; Win (dejong) - -2004-08-10 (bug fix)[1006686] [wm resizable] Solaris (mcdonald,english) - -2004-08-17 (bug fix)[1010938] panedwindow -handlepad GEOMETRY (fellows) - -2004-08-19 (bug fix)[611615] file dialog double clicks fell through (hobbs) - -2004-09-10 (bug fix)[845189] file dialog state initialization (fellows) - -2004-09-10 (bug fix)[1013942] widget demo robust against strict motif (fellows) - -2004-09-16 (bug fix)[1028888] [place forget] memory leak (spjuth) - -2004-09-16 (bug fix)[607649] font size change: recompute menu geometry (hobbs) - -2004-09-17 (new feature)[TIP 222] [wm attributes -alpha] (hobbs) - -2004-09-22 (bug fix)[865842] disabled cascade menu arrow draw (dejong) - -2004-09-22 (bug fix)[866194] menu accelerator text highlights (dejong) - -2004-09-22 (bug fix)[223689] handle color/screen resolution changes (hobbs) - -2004-10-05 (new feature)[TIP 159] [wm iconphoto] (hobbs) - -2004-10-26 (bug fix)[905830] set IC focus after creation (max) - -2004-10-26 (bug fix) shutdown safety corrections for Win (gravereaux) - -2004-10-28 (bug fix) HAVE_NO_SEH handler code, Win (dejong) - -2004-10-29 (bug fix)[533519] multi-display window placement (thoyts) - -2004-11-10 (bug fix)[1055023] compound buttons, MacOSX (kirkham,ingham) - -2004-11-11 (bug fix)[1035348] [load]-able Tk on MacOSX/Aqua (steffen) - -2004-11-12 (bug fix)[800178] use correct display for [tk scaling] (hobbs) - -2004-11-16 (bug fix)[1063675] Italian msg catalog fixes (ugoccioni,welton) - -2004-11-17 (bug fix)[1036963] panedwindow: set save_under X attr (hobbs) - -2004-11-17 (bug fix)[1004508] console: array keyname expansion (bold,hobbs) - -2004-11-17 (bug fix)[1032300] ps generation of unspecified canvas image (hobbs) - -2004-11-17 (bug fix)[982248] immediate unmap of hidden canvas windows (hobbs) - -2004-11-18 (new feature) configure options --enable-man-suffix (max) - ---- Released 8.4.8, November 18, 2004 - -2004-12-01 (bug fix)[979239] Fix clipping of partially transparent images -on buttons on unix to avoid X error (hobbs, petasis) - -2004-12-03 (bug fix)[848161] Fix Tk_PhotoPut(Zoomed)Block overlay -compositing of partially transparent areas. - ---- Released 8.4.9, December 6, 2004 - -Changes to 8.5a2 include all changes to the 8.4 line through 8.4.9, plus -the following, which focuses on the 8.5-only changes since 8.5a1: - -2004-03-16 (bug fix)[915330] correct crash condition for new -radio/checkbuttons when colors are exhausted (griffin) - -2004-03-18 (platform removal)[918139] Removed support for Mac OS Classic -platform (steffen) - *** POTENTIAL INCOMPATIBILITY *** - -2004-03-26 (new feature)[FRQ 540375] support for -[image create photo -format PPM -data] (fellows) - -2004-05-14 (bug fix)[TIP 152] -detail option for tk_messageBox (fellows) - -2004-06-04 (bug fix)[965398] Fix to shimmering infinite loop scrolling in -text widget under rare circumstances (darley) - -2004-06-04 (bug fix) Fixed mousewheel bindings for OS X/Aqua (darley) - -2004-06-07 (bug fix)[965186] Fix text widget's record of -partial-line-height calculations for very long wrapped lines, correcting -scrollbar-text interactions (darley) - -2004-06-08 (bug fix)[968725] Fix text rendering problem with canvas text -items that have a selected region. (dejong) - -2004-06-09 (bug fix) Fix multi-line regexp search bugs in text widget -(darley) - -2004-06-15 (feature enhancement) Add 3D highlight to disabled *buttons and -labels, as is done for disabled menu entries (kovalenko) - -2004-06-16 (bug fix)[742882] Fix potential division by zero in gridded wm -geometry (english) - -2004-06-26 (bug fix)[756840] Fix Tk console cleanup on exit/reinit -(mistachkin) - -2004-06-30 (new feature)[TIP 153] enhanced 'winfo toplevel' to recognize -non-Tk windows (mckay) - -2004-07-02 (bug fix) Button 4 and 5 masks synchronized with Tk display -(staplin) - -2004-07-05 (bug fix)[959973] Set _NET_WM_NAME and _NET_WM_ICON_NAME -(freedesktop.org) in addition to WM_NAME and WM_ICON_NAME (ICCCM). Allows -Unicode characters in wm titlebar on X11. (english) - -2004-07-05 (new feature)[TIP 158][797404] Allow Win apps to distinguish -keys on the keypad using the Extended modifier (grossbauer, kenny) - -2004-07-20 (feature enhancement)[922727] add install-private-headers target -(steffen) - -2004-07-27 (bug fix) Fix segfault in case of premature end of GIF image -data (steffen) - -2004-08-11 (feature)[979101] [tk_getOpenFile] consults env vars (fellows) - -2004-08-19 (new feature)[TIP 168] Add -smooth method for alternative bezier -curve implementations on canvas items (hellstroem, fellows) - -2004-08-29 (new feature)[TIP 165] Add %d binding substitution for -user-controlled data field (fellows) - -2004-09-10 (new feature)[TIP 169] Allow for text peering with '$text peer' -widget subcommand (griffin, darley) - -2004-10-08 (new feature)[TIP 205] Use pkgconfig Database to register Xft -support (english) - -2004-10-11 (new language) Swedish message catalog from Mats Bengtsson - -2004-10-19 (new feature)[TIP 204][976928] Virtual events for keyboard -traversal (english) - -2004-10-24 (new feature)[TIP 177, 179][983886] Add -hide and -stretch -options to panedwindow widget (griffin) - -2004-10-26 (bug fix)[919066] Improve region handling functions - -2004-10-28 (bug fix)[220927] Fix scale labels to stay in window (schlenker, -thoyts) - -2004-11-07 (bug fix)[962589] Made handling of ^ more consistent in grid -(spjuth) - -2004-11-28 (bug fix)[942320] Fix short integer overflow in x,y coordinates -for long lines using unix AA fonts (english) - -Updated test suite, documentation, and demos. - ---- Released 8.5a2, December 7, 2004 - -2004-12-09 (performance)[1081966] BMP, JPG image load speed (fellows) - -2004-12-17 (feature change) Modified DisplayFrame to draw a container's -background when the embedded window is NULL (chengyemao) - -2004-12-17 (bug fix)[842945][831627] Fixed a bug in ContainerEventProc -to handle ConfigureNotify event properly; Changed CleanupContainList to -TkWinCleanupContainerList to be invoked in TkWinXCleanup; Changed Intialize -and CreateTopLevelWindow to create the DeleteWindowsExitProc after TkpInit -so that finalization will be done in a proper sequence (to avoid painics -and potential crashes in exit). (chengyemao) - -2004-12-17 (platform support) Added TkWinClenupContainerList into stublib. -(chengyemao) - -2004-12-18 (buf fix)[222677] Close the embedded window (of a different -process) when its container is destroyed. (chengyemao) - -2004-12-19 (Windows feature implementation of embedded/embedding -Tk and bug fix) Implemented container identification, focus, raise, set -title of and move window so that an embedded widget is able to identify -a container, to get focus and to receive key press input. Fixed bugs include -[1024364][1096047] and an incorrect wm overrideredirect for an embedded -window. (chengyemao) - -2004-12-20 (Windows feature implementation of embedded/embedding Tk) -Implemented overrideredirect for an embedded toplevel; correctly updated a -frame's upper left x and y of an embedded toplevel after its container -(of another process) moved. (chengyemao) - -2004-12-28 (feature implementatoin of embedded/embedding Tk of Windows) -Implemented embedded/embedding toplevel menu. A menu may be embedded in -a container of either the same process or a different process. Working -fine with Windows 98. But having a problem when invoked with a mouse click -(Windows XP): if an embedded menu is in a different process, the menu items -may show as a blank window at the pull-down time and require the mouse -moves over the menu items to complete display. (chengyemao) - -2004-12-29 (platform support)[1092952,1091967] MSVC7, gcc OPT compiles (hobbs) - -2005-01-03 (feature implementation of embedded/embedding Tk of Windows) Added -a separated window handler for an embedded menu; solved the problem of -a blank menu display with a mouse click in XP. (chengyemao) - -2005-01-07 (feature implementation of embedded/embedding Tk of Window) Added -TK_STATE message (Windows) to support {wm state} for embedded windows; forced -redraw of container after the embedded window detached; removed unnecessary -panic in using embedded window; embeded toplevel menu of an embedded window -automatically in wrapper updating. Modified and added functions: WmStateCmd, -UpdateWrapper, TkpWmGetState (added) in tkWinWm.c; TkpUseWindow, -TkWinEmbeddedEventProc in tkWinEmbed.c; TkWinChildProc in tkWinX.c. -(chengyemao) - -2005-01-08 (bug fix)[1098625] Wrong toplevel geometry when created with a menu; -[637653] Deleting a popup menu crashes wish (chengyemao) - -2005-01-09 (feature implementation of embedded/embedding Tk of Windows) -Changed FrameWidgetObjCmd (tkFrame.c), TkpUseWindow (tkMacOSXEmbed.c, -tkUnixEmbed.c, tkWinEmbed.c) to make implementation ready for a -configurable toplevel -use option and completed the implementation for -Windows (tkWinWm.c, tkWinEmbed.c, tkWinInt.h). Embedding with a frame -container needs further debugging (chengyemao). - -2005-01-10 (enhancement)[1081595] stopped use of TK_DBGX (english) - -2005-01-11 (bug fix)[1098779] -pady accept all lists (fellows,kirkham) - -2005-01-11 (bug fix)[1093631] [text] scroll long wrapped line (darley) - -2005-01-18 (feature implementation of embedded/embedding Tk of Windows) -Simplified TkpUseWindow, added Tk_DetachEmbeddedWindow and got rid of code -for saving an embedded window object which is never used. Fixed a bug in -TkWinHandleMenuEvent for processing WM_MENUSELECT. Wish crashed due to an -invalid index in a case of MF_POPUP. The -use option of a toplevel can be -configured after the toplevel is created. - -2005-01-18 (bug fix) dialog visibility in demos (nash,fellows) - -2005-01-28 (platform support)[1021871] Solaris gcc 64-bit support (hobbs) - -2005-01-31 (enhancement)[1111213] msg catalog for Spain's Spanish. (poser) - -2005-02-03 (bug fix)[1114977] UID thread-safety in canvas (fellows) - -2005-02-11 (bug fix)[949792] Fix error during panedwindow destroy (hobbs) - -2005-02-11 (bug fix)[1105738] Fix [tk_messageBox -parent $nonToplevel] -segfault (hobbs) - -2005-02-11 (bug fix)[1119460] Disabled canvas bmap/bbox segfault (hobbs) - -2005-02-11 (platform support) Correct gcc builds for AIX-4+, HP-UX-11 (hobbs) - -2005-02-14 (bug fix)[443848] [text] elide newline, but not line (darley) - -2005-02-16 (new feature)[TIP 223] Windows: [wm attributes -fullscreen] (dejong) - -2005-02-22 (bug fix)[1146057] Aqua: [tk_getOpenFile] encoding (steffen) - -2005-02-28 (bug fix)[1118340] Fix Mousewheel %A translation (davis,hobbs) - -2005-03-09 (bug fix) Mac OS X: remote debugging under Xcode (ingham) - -2005-03-10 (bug fix)[1160025] Aqua: offset in mouse coords (davies,ingham) - -2005-03-10 (bug fix)[1124237] Aqua: floating window focus (davies,ingham) - -2005-03-14 (bug fix)[1162356] ClientMessageHandlers work now (petasis,fellows) - -2005-03-14 (bug fix)[1124237] Aqua: (un)map of subwindows (ingham) - -2005-03-14 (bug fix)[700305] Aqua: child window updates before creation -(ingham) - -2005-03-15 (platform support) OpenBSD ports patch (thoyts) - -2005-03-15 (bug fix)[1143776] [text] display panic (revar,darley) - -2005-03-19 (bug fix)[1016385] allow [rename console] (fellows) - -2005-03-23 (enhancment) Aqua: native L&F for entry and spinbox (ingham) - -2005-03-23 (new feature) Aqua: [wm attributes -notify] (ingham) - -2005-03-29 (platform support) Allow msys builds without cygwin (hobbs) - -2005-04-03 (bug fix)[1175092] grid geometry calculations (spjuth) - -2005-04-04 (bug fix)[1174269] [text] elide search (darley) - -2005-04-04 (bug fix)[1169429] [text] invisible cursor (darley) - -2005-04-04 (bug fix)[1083878] \0 char in [tk_getOpenFile -filetypes] (darley) - -2005-04-07 (bug fix)[1152809] [wm stackorder] panic; multi-DISPLAY (dejong) - -2005-04-14 (bug fix)[1122671] font encoding alignment issue (brubaker,hobbs) - -2005-04-18 (bug fix) [text] and bindings (darley) - -2005-04-18 (bug fix)[1185640] [text] passed bogus utf-8 to Tk_MeasureChars -(petasis,english) - -2005-04-25 (platform support) Fix builds on Mac OS X 10.1 (steffen) - -2005-05-06 (platform support) Added x86_64 Solaris cc and Solaris 10 build -support (hobbs) - -2005-05-10 (bug fix)[1191895] [text] hang on (vlasov,darley) - -2005-05-14 (enhancement)[1202052] Aqua: CFRunLoop notifier allows -[load]able Tk (steffen) - -2005-05-15 (bug fix)[1012852] Aqua: check/radiobutton accelerator (kirkham) - -2005-05-15 (bug fix)[1202181] Aqua: scrollbar thumb position (kirkham) - -2005-05-15 (bug fix)[1202223] Aqua: [text] window -> scroll lock (kirkham) - -2005-05-22 (bug fix)[1206133] TkGetFileFilters: add all (dionizio,fellows) - -2005-05-24 (platform support) Darwin/Aqua builds merged into unix (steffen) - -2005-05-27 (behavior change) tk_popup menus now "sticky" (helfter) - -2005-05-28 (new feature)[TIP 245] [tk inactive] (max,fellows) - -2005-05-30 (bug fix)[1161543,1010941,795869,690169] panedwindow -display/resizing (south) - -2005-05-30 (bug fix)[1159367] [menu] creation segfault (schofield,hobbs) - -Documentation improvements [1087842,1081527,1115907,etc.] - ---- Released 8.5a3, June 4, 2005 - -2005-06-23 (bug fix)[1176610] Aqua: default [entry] borderwidth (steffen) - -2005-07-18 (bug fix)[1240221] [$text mark prev] crash (darley) - -2005-07-22 (platform support) msys build now requires msys_mingw7.zip (dejong) - -2005-08-09 (Aqua enhancement) Carbon events (steffen) - -2005-08-10 (bug fix)[1252702] portable Tcl_GetStringFromObj() calls (fellows) - -2005-08-12 (bug fix)[749908] per-thread Tk_ConfigSpec tables (fellows) - -2005-08-23 (enhancement)[1244153] use SC_PROG_TCLSH, SC_BUILD_TCLSH (dejong) - -2005-08-23 (bug fix)[1235544] adopt Tcl's SEH implementation (kenny,dejong) - -2005-08-23 (Aqua bug fix) dialogs ignore -initial* options (hobbs) - -2005-10-04 (bug fix)[1216775] [tk_dialog] failing [grab] (fontana,hobbs) - -2005-10-04 (bug fix)[1309218] [tk_chooseDirectory -mustexist] (lemburg,hobbs) - -2005-10-04 (bug fix)[1311734] Fixed the problems that an embedded windows failed -to respond to display changes (Windows platform) (chengyemao) - -2005-10-10 (new feature)[TIP 256] [$text config -tabstyle] (darley) - -2005-10-10 (bug fix)[1319720] Tk_DeleteOptionTable() mem leak (melbardis) - -2005-10-12 (new feature) one directory test suite (starpackable) (zolli,fellows) - -2005-10-18 (bug fix)[1328926] $argv encoding and list formatting (porter) - -2005-11-06 (platform support) OpenBSD missing LIBS (thoyts) - -2005-11-10 (bug fix)[1353022] minor potential memleaks (fellows) - -2005-11-22 (bug fix)[1353414] [selection get] compat w/OpenOffice.org (fellows) - -2005-11-14 (feature change) [bgerror] msg truncation at 45 chars (english) - -2005-11-15 (new feature)[TIP 231] [wm attributes] on X11 (english) - -2005-11-22 (bug fix)[1335485] dialog and space in widget name (taylor,fellows) - -2005-11-27 (platform support) Darwin 64bit, Tiger copyfile(), and -Max OSX universal binaries support (steffen) - -2005-11-29 (bug fix)[1252259] clear initial % from console (lawlor,hobbs) - -2005-11-30 (bug fix)[1086049] [wm attributes -topmost] fix (courtney,hobbs) - -2005-12-08 (enhancement)[1369597] Win 64: --enable-64bit=amd64|ia64 (hobbs) - -2005-12-08 (bug fix)[1374935] [$text tag names] crash with peer (hobbs) - -2005-12-12 (bug fix)[1377619] configure syntax error exposed in bash-3.1 (hobbs) - -2005-12-13 (Aqua) MouseWheel bindings; kEventMouseScroll events (steffen) - -2005-12-28 (bug fix)[1380427] text widget undo/redo crash (callewaert) - -2006-01-12 (new feature)[TIP 260] canvas text item -underline option (fellows) - -2006-01-20 (bug fix)[905830] all events to XFilterEvent (SCIM compat) (english) - -2006-01-25 (feature enhance)[1237759] update script lib to 8.4 (fradin,porter) - -2006-01-25 (feature enhance)[1409264] I10N of [bgerror] dialog (fellows) - -2006-02-27 (bug fix)[480862] [$img configure -data] no display change (fellows) - -2006-02-27 (bug fix)[470322] BitmapInit() thread safety (griffin,fellows) - -2006-03-02 (Aqua bug fix) image endian issue on OS X/x86 (hobbs) - -2006-03-15 (bug fix)[1409140] speed up photo image updates (fellows) - -2006-03-16 (enhancement)[1405069] added Portuguese l10n. (ricardoj,silasj) - -2006-03-17 (bug fix)[1451587] no abbreviations in script library (thoyts) - -2006-03-21 (enhancement)[638966] Aqua: ATSUI text render (reifenstahl,steffen) - -2006-03-23 (platform support) new tk.spec file (max) - -2006-03-26 (bug fix)[1414171] crash in [$text dump -command] (macdonald,darley) - -2006-03-27 (bug fix)[1458234] crash in animated GIFs (bron,fellows) - -2006-03-29 (platform support)[917433] tolerate X servers that do not -accept the color names "Black" and "White" (porter) - -2006-04-06 (bug fix)[1455241] Aqua: [wm attributes -titlepath] fix (steffen) - -2006-04-07 (bug fix)[934524] Aqua: background window dragging/growing (steffen) - -2006-04-09 (bug fix)[1467004] Aqua: [wm resizable] fix (steffen) - -2006-04-09 (bug fix)[1450800] Aqua: allow empty toplevel names (steffen) - -2006-04-11 (bug fix)[1073456] Aqua: implement toplevel zoom (steffen) - -2006-04-11 (bug fix)[700316] Aqua: enable 'Preferences' app menu item (steffen) - -2006-04-11 (bug fix)[1193614] Aqua: tk_messageBox escape key binding (steffen) - -2006-04-11 (enhancement)[1105284] Aqua: call ::tk::mac::* procs for all -registered applevents (steffen) - -2006-04-12 (bug fix)[1432666] grid row/col out of bounds crash (spjuth) - -2006-04-25 (bug fix)[1475865] crash on invalid font name (fellows) - -Documentation improvements [1224983,1247835,1151523,1357575,1083838] - ---- Released 8.5a4, April 27, 2006 - -2006-04-28 (bug fix)[1243318] Aqua: incorrect cursor pos in bindings (steffen) - -2006-04-28 (bug fix)[1476443] Aqua: incorrect toplevel pos on 1st map (steffen) - -2006-05-12 (performance)[1409140] restore perf lost in 2006-03-15 change (hobbs) - -2006-05-13 (bug fix)[1481503] Aqua: key shortcut for 'Preferences' (steffen) - -2006-05-13 (bug fix)[1155596] Aqua: images with alpha on native btns (steffen) - -2006-05-13 (bug fix)[1480105] Aqua: Map/Unmap propagation to children (steffen) - -2006-05-13 (bug fix)[940117] Unmap canvas window items on canvas Unmap (steffen) - -2006-05-16 (bug fix)[1472624] Aqua: balloon help don't steal focus (steffen) - -2006-05-29 (bug fix)[706446] Aqua: active [button] highlight (hobbs) - -2006-05-29 (bug fix)[1424513] [listbox] crash with namespace var (hobbs) - -2006-06-01 (bug fix)[912571] [console] std chan refcount (mistachkin,hobbs) - -2006-06-14 (bug fix)[950121] Aqua: crash in draw of very wide images (steffen) - -2006-06-14 (bug fix)[1501922] Aqua: invalid clip regions on redraw (steffen) - -2006-06-14 (bug fix)[891141] excess variable writes by [scale] (porter) - -2006-07-20 (platform support) Mac OS X weak linking (steffen) - -2006-07-21 (bug fix)[700311, 1525905] Aqua: pure modifier keysyms (steffen) - -2006-07-24 (bug fix)[1358663] Aqua: [wm geometry -x-y] (steffen) - -2006-07-25 (bug fix)[1516950] Aqua: cmd-Q app menu key shortcut (steffen) - -2006-08-18 (bug fix)[1542205] Aqua: toplevel toolbar button crash (steffen) - -2006-08-21 (bug fix) Aqua: recursively called event loop (steffen) - -2006-08-24 (bug fix) Aqua: window grow icon obscuring scrollbar (steffen) - -2006-08-30 (new feature)[1518677] WM_UNICHAR window message (hobbs,petasis) - -2006-09-10 (bug fix) Aqua: active/inactive text selection color&relief (steffen) - -2006-09-10 (bug fix)[1472624] Aqua: mouse events in overrideredir wins (steffen) - -2006-09-11 (bug fix) Aqua: app menu shortcuts with custom .apple menu (steffen) - -2006-09-22 (bug fix)[1562528] NULL terminates variadic calls (fellows,ryazanov) - -2006-09-22 (new feature)[TIP 268] [package provide] full patchlevel (kupries) - -2006-10-05 (bug fix)[1122671] alignment fixes in ucs-2be encoding routines -(hobbs,staplin) - -2006-10-08 (new feature)[TIP 264] New public routine Tk_Interp() (thoyts) - -2006-10-16 (bug fix)[1558051] Aqua: CG drawing matches X11 (steffen) - ---- Released 8.5a5, October 20, 2006 - -2006-10-30 (new feature)[TIP 48] Addition of themed tk widgets to Tk as Ttk -(themed Tk). Adds ttk::notebook, ttk::sizegrip, ttk::combobox, -ttk::panedwindow, ttk::progressbar, ttk::menubutton, ttk::button, -ttk::radiobutton, ttk::checkbutton, ttk::treeview, ttk::separator, -ttk::scrollbar, ttk::entry, ttk::frame and ttk::labelframe widgets. Adds -ttk::style command. - -2006-11-02 (enhancement) Improve OS X Carbon Update event handling (steffen) - -2006-11-07 (configure change) Unix --enable-xft is enabled by default (kenny) - -2006-11-23 (bug fix)[1599877] Fix unicode character underline in menus (hobbs) - -2006-11-24 (bug fix)[1487701] Better handling of tcl_interactive on OS X to -control display of console (hobbs, steffen) - -2006-11-26 (platform support)[1230558] --enable-64bit on more systems (steffen) - -2006-11-30 (bug fix) Fix handling of Escape binding on OS X dialogs (steffen) - -2006-12-01 (new feature) Add -transparentcolor wm attribute on Windows (hobbs) - -2006-12-01 (new feature)[TIP 300] Added [font actual $font $char] (kenny) - -2006-12-04 (new feature)[TIP 286] Added [$menu xposition] subcommand (bron) - -2006-12-11 (enhancement) Improved EWMH support for _NET_WM_PID and -_NET_WM_PING (fellows) - -2007-01-25 (configure change) ensure CPPFLAGS env var used when set (steffen) - -2007-02-19 (configure change) Use SHLIB_SUFFIX=".so" on HP-UX IA64 (was -".sl") (hobbs) - -2007-04-10 (platform support) Correctly handle theming on Vista/Aero (english) - -2007-04-23 (enhancement) Allow empty value for -selectforeground opt (steffen) - -2007-04-23 (platform support) Aqua: remove Tk-internal double buffering that is -wasteful on Aqua; allows direct-to-window CoreGraphics drawing (e.g. adding -support for colors with alpha) (steffen) - -2007-04-23 (platform support) Aqua: add all OS theme colors/brushes (patterns) -as system colors (steffen) - -2007-04-23 (platform support) Aqua: tk_dialog & bgerror use OS theme (steffen) - -2007-04-23 (platform support) Aqua: add 'none' & missing theme cursors (steffen) - -2007-04-23 (platform support) Aqua: [tk_getOpenFile -parent] et al use sheet -dialog (steffen) - -2007-04-23 (bug fix) Aqua: fix custom MDEF and tearoff menu display (steffen) - -2007-04-23 (bug fix)[1620826] Aqua: fix <> support (steffen) - -2007-04-23 (platform support) Aqua: add support for live window resizing and -asynchronous window dragging; prevent window from becoming inacessible -offscreen or under Dock after dragging; use transparent grow box (steffen) - -2007-04-23 (platform support) Aqua: improve event processing during nested -event loops (e.g. modal dialogs, menu tracking, window resizing etc) (steffen) - -2007-04-23 (bug fix) Aqua: add support for all possible aqua scrollbar arrow -positions, scrollbar variants and for "jump to here" scrollbar behaviour; -correct scroll view size computation; enforce minimal scrollbar height (steffen) - -2007-04-23 (platform support) Aqua: add [wm attributes] -topmost, -fullscreen -and -transparent (fully transparent win via -bg "systemTransparent") (steffen) - -2007-04-23 (platform support) Aqua: determine win min/max sizes dynamically; -correct size handling of gridded windows; improve computation of initial -window bounds; correct window size handling on multi-headed systems (steffen) - -2007-04-23 (platform support) Aqua: correct composite attribute handling in -[tk::unsupported::MacWindowStyle] and add new attributes; allow changing -window class of already existing windows (steffen) - -2007-04-23 (platform support) Aqua: add tcl document extensions and mime type -to Wish.app's Info.plist (steffen) - ---- Released 8.5a6, April 25, 2007 - -2007-05-04 (new feature)[TIP 145] Enhanced font handling (thoyts) - -2007-05-14 (bug fix)[1712081] restored USE_OLD_IMAGE support (porter) - -2007-05-15 (bug fix)[1717830,800149] memory leaks (jenglish) - -2007-05-15 (bug fix)[1677608] [grid *configure] crash (porter) - -2007-05-31 (platform support) Aqua: improve interaction of Expose events and -idle-time redraws (steffen) - -2007-05-31 (bug fix) Aqua: gridded window max-size calculation (steffen) - -2007-06-02 (bug fix)[1731734] Aqua: menu cascades outside menubar (steffen) - -2007-06-06 (platform support) Aqua: enable MouseWheel events in background -windows (steffen) - -2007-06-09 (bug fix)[1724223] Unicode menu entry crash (hobbs) - -2007-06-09 (bug fix)[1467997] Blue/red reversal in icons (hobbs,janssen) - -2007-06-23 (bug fix) Aqua: nav dialog sheet crash (steffen) - -2007-06-29 (platform support) Aqua: remove private internal declarations from -installed tkMacOSXInt.h header (steffen) - -2007-06-29 (bug fix) Aqua: scrollbar thumb size calculation (steffen) - -2007-07-09 (bug fix) Aqua: app-is-frontmost detection (steffen) - -2007-07-09 (bug fix) Aqua: window click activation & titlebar click handling -in presence of grabs or modal windows (steffen) - -2007-07-25 (bug fix)[1743786] Aqua: [tk_getOpenFile] result (steffen) - -2007-08-01 (bug fix)[1692927] [tk_messageBox -detail] buffer (davies,thoyts) - -2007-08-27 (bug fix)[1782105] Aqua: tk_chooseColor result (steffen) - -2007-09-06 (platform support) Aqua: drop support for Xcode 1.5 project, add -project for Xcode 3.0 (steffen) - -2007-09-11 (bug fix) Animated GIF buffer overrun (max) - -2007-09-15 (platform support) SunOS-5.1x link with cc, not ld (steffen) - -2007-09-17 (enhancement)[1780286] Aqua: combobox appearance (english) - -2007-09-17 (platform support)[1748251] Fix NetBSD link failures (english) - -2007-09-20 (bug fix)[1791052] [text] DLine layout crash (khomoutov,fellows) - ---- Released 8.5b1, September 26, 2007 - -2007-09-26 (enhancement)[1800742] msg catalog for Hungarian. (reszo) - -2007-10-11 (bug fix)[1810818] Aqua: [wm resizeable] (steffen) - -2007-10-12 (platform support) Aqua: replace RgnHandles by HIShapeRefs (steffen) - *** POTENTIAL INCOMPATIBILITY for C code acessing MacDrawable Rgns *** - -2007-10-15 (platform support) Mac OS X: 64-bit X11 support (steffen) - -2007-10-15 (new feature)[TIP 125][998125] dockable frame support (hobbs) - -2007-10-22 (bug fix)[1814778,1780286,1609168,1349586] combobox overhaul(english) - -2007-10-22 (platform support) Aqua: TIP 145 and Aqua Theme fonts (steffen) - -2007-10-23 (bug fix)[1818441] combobox & reparentable frames (hobbs) - -2007-10-24 (bug fix)[1723362] Win: transparent bitmaps (mcdonald,thoyts) - -2007-10-25 (bug fix)[1818491] crash in [place] manager (mcdonald) - -2007-10-25 (new feature)[TIP 242][1156388] file dialog filter (hobbs) - -2007-10-25 (bug fix)[1817596] ttk::notebook (english) - -2007-10-26 (bug fix)[1816252] Aqua: [wm transient] (steffen) - -Improvements to demo suite to make more use of Tk 8.5 features (fellows,steffen) - ---- Released 8.5b2, October 26, 2007 - -2007-10-29 (appearance change) Default look and fonts on X11 (hobbs) - *** POTENTIAL INCOMPATIBILITY; [::tk::classic::restore] to undo *** - -2007-10-30 (bug fix)[1803723] Win: Arabic and Hebrew rendering (fellows) - -2007-10-30 (bug fix)[1550528] [tk_chooseDirectory -mustexist true] disables -the "OK" until valid selection (hobbs) - -2007-11-03 (new feature) adjustable [console] fonts (thoyts) - -2007-11-04 (enhancement) Aqua: "Run Widget Demo" menu item (steffen) - -2007-11-09 (bug fix) Aqua: activate event after window expansion (steffen) - -2007-11-09 (bug fix)[1824521] Aqua: menubutton crash with -bitmap (steffen) - -2007-11-09 (platform support) Aqua: (menu)button pressed/inactive/disabled -look&feel; menubutton size with -image/-bitmap (steffen) - -2007-11-09 (bug fix) Aqua: [tk_getOpenFile] (et al.) and help menu crashes on -Mac OS X Leopard (steffen) - -2007-11-11 (bug fix)[1824638] Aqua: small max-width text measuring (riefenstahl) - -2007-11-14 (bug fix)[1831803] sv.msg catalog for "sv" locale (fellows) - -Many significant improvements to the documentation and demos (fellows, hobbs, -steffen, kupries) - ---- Released 8.5b3, Novemeber 19, 2007 - -2007-11-25 (bug fix)[1343984] ttk::notebook bugs (english,boudaillier) - -2007-11-26 (bug fix)[1822391] [photo put] segfault w/ PPM data (kenny) - -2007-11-26 (bug fix)[1822076] [tk_saveFile] and path w/spaces (bauer,kenny) - -2007-12-04 (new feature)[1844143] Danish message catalog (berg) - -2007-12-11 (bug fix)[1602537] crash in [$text replace] (goth,porter,fellows) - -2007-12-12 (bug fix)[1845899] Aqua: [wm transient] (steffen) - -2007-12-12 (bug fix)[1809538,1799782,1737288] fixes for the <> -virtual event on [text] widgets (hobbs) - -2007-12-13 (bug fix) correctly trace menubutton -textvariable for -compound -use (hobbs) - -Several documentation and release notes improvements - ---- Released 8.5.0, December 18, 2007 - -2007-12-30 (bug fix)[1860802] fixed Dutch message catalog (markus,fellows) - -2008-01-06 (bug fix)[1442006,1821939,18862692] MouseWheel for treeview (english) - -2008-01-08 (bug fix)[1865898,1679067] button size & state (english) - -2008-01-08 (bug fix)[1867122] [labelframe -style] crash (english,rib) - -2008-01-27 (bug fix)[1835848] size value returned by [font actual] (english) - -2008-01-27 (bug fix)[1878298] [notebook] redraws on tab visibility (english) - -2008-01-31 (bug fix)[1881892] messagebox default title (hobbs) - -2008-02-01 (bug fix)[CVE-2008-0553] buffer overflow in GIF format (max) - ---- Released 8.5.1, February 5, 2008 - -2008-02-27 (bug fix)[1863346] Aqua: memleak in QD drawing (steffen) - -2008-02-29 (enhancement) Knight's tour demo (thoyts) - -2008-03-12 (bug fix)[1090382] crash when GetFont() fails (jenglish) - -2008-03-13 (enhancement) support space in INSTALL_ROOT or $builddir (steffen) - -2008-03-21 (bug fix)[1863007,1920030] Export Ttk stubs table (english) - -2008-03-26 (bug fix)[1922466] crash in [. configure -cursor] (gavilán) - -2008-03-27 (platform support)[1921166] Solaris 64bit build fixes (steffen) - -2008-03-27 (bug fix) restored [::safe::loadTk] (hobbs) - ---- Released 8.5.2, March 28, 2008 - -2008-04-01 (interface)[1819422] tkStubsPtr no longer in libtk (porter) - *** POTENTIAL INCOMPATIBILITY *** - -2008-04-02 (interface)[1819422] libtkstub symbols MODULE_SCOPE (steffen) - -2008-04-07 (bug fix)[1937135] Tk_ParseArgv() double free crash (hobbs) - -2008-04-07 (bug fix)[1936238] wish -h mem explosion (bachmann,kenny) - -2008-04-08 (new feature) Win: visual-styles API element engine (thoyts) - -2008-04-09 (enhancement) real LZW compression in GIF writer (nijtmans) - -2008-04-14 (bug fix)[1941740] [tk_chooseColor -title] (thoyts) - -2008-04-16 (interface)[1938497] make stubs tables 'static const' (steffen) - -2008-04-17 (bug fix)[1327482] canvas item events (wangnick) - -2008-05-23 (bug fix)[1967576] ttk::label height or width 0 panic (lawlor) - -2008-06-10 (enhancement)[1986818] Use Xutf8LookupString when possible (english) - -2008-06-12 (bug fix)[1991932] global grab segfault (steffen) - -2008-06-12 (platform support) Solaris/amd64 gcc 64bit support (steffen) - -2008-06-13 (new feature)[TIP 285] [tkwait] and [update] are now -[interp cancel]able (mistachkin) - -2008-06-18 (bug fix) Aqua: missing focus on first map (steffen) - ---- Released 8.6a1, June 25, 2008 - -2008-07-04 (bug fix)[2009213] crash in [ttk::scale] (polo,english) - -2008-07-24 (bug fix)[2021443] consistent "wrong # args" messages (nijtmans) - -2008-07-26 (bug fix)[2026405] portability of [winfo id] (uchida,thoyts) - -2008-07-31 (bug fix) export Tk_PkgInitStubsCheck; fixes Tk embed on Windows - -2008-08-01 (bug fix)[2009788,2028703] unmapped toplevel crashes (thoyts) - -2008-08-05 (bug fix)[2010422] Tk header files revised to accommodate -incompatible changes in recent X.org releases of X11 headers. (jenglish) - -2008-08-19 (bug fix) revised number format in -[xy]scrollcommand callbacks -and [xy]view methods (jenglish) - *** POTENTIAL INCOMPATIBILITY *** - -2008-08-19 (enhancement) removed obsolete XID management code (staplin) - -Test suite modernization by Ania Pawelczyk. - ---- Released 8.6a2, August 25, 2008 - -2008-08-25 (bug fix)[1936220] fix [tk_getOpenFile -multiple 1] on unix (helfter) - -2008-08-25 (bug fix)[1023955] default menu cursor: no more Motif (helfter) - -2008-08-28 (bug fix) correct TK_LIBS value to include Xft (porter) - -2008-09-03 (support) Dropped support for pre-ANSI compilers. (porter) - -2008-10-01 (new feature)[TIP 236] [$canvas moveto] (mckay,fellows) - -2008-10-05 (bug fix)[2112563] format double values explicitly in double -format, avoiding sensitivity to locale setting. (fellows) - *** POTENTIAL INCOMPATIBILITY *** - ---- Released 8.6a3, October 10, 2008 - -2008-10-17 (enhancement) keyboard bindings for ttk::scale (thoyts) - -2008-10-18 (bug fix)[1825353] Russian Windows tiny fonts problem (thoyts) - -2008-10-18 (new feature)[TIP 321] [tk busy] (decoster,fellows) - -2008-10-28 (bug fix)[1534835,2054562] use of more correct cursors (english) - -2008-11-01 (new feature) New [ttk::spinbox] widget (thoyts) - -2008-11-01 (new feature)[TIP 97] [$canvas imove] [$canvas rchars] (fellows) - -2008-11-09 (bug fix)[2207435] [ttk::entry .t -textvar ::noexist::x] (english) - -2008-11-11 (bug fix)[2312027] Tk_Create*ImageType() thread safety (nijtmans) - -2008-11-11 (bug fix)[2264732] crash using nondefault visual (english) - -2008-11-12 (bug fix)[1777362] permit [text] names containing "-" (thoyts) - -2008-11-14 (bug fix)[2239034] limit [wm manage] to Frames (thoyts) - -2008-11-22 (new feature)[TIP 119] -angle option for canvas text items (fellows) - -2008-11-22 (bug fix)[1939129,1991930] combobox behind other windows (thoyts) - -2008-11-22 (new feature) Demo ctext.tcl now demos angled text (fellows) - -2008-11-23 (bug fix)[1389270] made [event generate ] work (thoyts) - -2008-11-28 (bug fix)[1813597,2218964] eliminate unnecessary units conversion -in screen distances, reducing precision loss (ferrieux) - -2008-12-03 (enhancement) new "hover" state for proper Vista visuals (thoyts) - -2008-12-05 (bug fix)[2107938] no negative font size in PS (fellows) - -2008-12-05 (enhancement) new "vista" theme (thoyts) - -2008-12-06 (new feature)[TIP 197] [$text -insertunfocussed] (edwards,fellows) - -2008-12-06 (new feature)[TIP 337] handle non-error bg exceptions (porter) - -2008-12-10 (new feature)[TIP 324] [tk fontchooser](thoyts,vetter,robert,steffen) - -2008-12-12 (new feature) Demo fontchoose.tcl demos [tk fontchooser] (thoyts) - -2008-12-18 (enhancement)[24442309] Updated German messages (haertel) - ---- Released 8.6b1, December 19, 2008 - -2008-12-27 (bug fix)[2381555] horiz. scroll [$treeview identify] (english) - -2008-12-28 (new feature)[TIP 244] PNG photo format support (fellows) - -2008-12-28 (new feature)[TIP 171] event handling (fellows) - *** POTENTIAL INCOMPATIBILITY *** - -2008-12-31 (bug fix)[2003310] radio|check button indicator color (english) - -2009-01-06 (bug fix)[2484771] messagebox: system to task modal (ferrieux,thoyts,mjanssen) - -2009-01-06 (enhancement)[1539990] optimize photo building (jepler) - -2009-01-07 (bug fix)[2473120] chooseDir syntax error (bron) - -2009-01-07 (bug fix)[1847002] Win: prevent grab bypass (thoyts) - -2009-01-11 (bug fix)[2496162] crash calling Tk_DeleteOptionTable() (english) - -2009-01-11 (bug fix) crash on XCreateIC failure (staplin) - -2009-01-14 (bug fix)[2507326] Restore aMSN compat (nijtmans) - -2009-01-19 (new feature) CONFIG_INSTALL_DIR - where tkConfig.sh goes (cassoff) - -2009-01-19 (platform support) better tools for BSD ports (cassoff) - -2009-02-08 (bug fix)[2431428] panic computing layout on active widget (english) - -2009-02-17 (platform support) MSVC and _WIN64 (hobbs) - -2009-02-21 (bug fix)[2546087] [console] display of true UTF-8 \0 (thoyts) - -2009-02-23 (bug fix)[1329198,456299,2507419] menu image display (mcdonald) - -2009-02-23 (bug fix)[2513104] fix cursor hotspots (mcdonald) - -2009-02-23 (bug fix)[2542828] Win: standard question_arrow cursor (danckaert) - -2009-02-27 (bug fix)[2645457] crash in Tk_MakeWindowExist() (thoyts) - -2009-03-09 (bug fix)[2548661] crash in GetFontFamilyName (riefenstahl) - -2009-03-25 (bug fix)[2178820] stop zero-size allocs in ttk (fellows) - -2009-03-25 (bug fix)[1871101] blurry large fonts on Vista (garvey,fellows) - -2009-04-03 (bug fix)[1789819] stop panic on unexpected wm stack order (english) - -2009-04-10 (bug fix)[2116837] std virtual events with Caps Lock (fellows) - -2009-04-10 (platform) sse Darwin SUSv3 extensions if available (steffen) - -2009-04-10 (bug fix) Motif checkbutton on X11 only (steffen) - -2009-04-10 (bug fix) remove TkAqua Quit menu item on [console] (steffen) - -2009-04-10 (bug fix) crash deleting char range from [text] (steffen) - -2009-04-23 (bug fix)[2779910] updated Win chooseDir (hobbs) - -2009-04-24 (bug fix) prevent delete of selected folder in Win dialog (hobbs) - -2009-04-30 (bug fix)[2080533] panedwindow sash draw crash (fellows) - -2009-04-30 (bug fix)[2504402] iconphoto on non-32-bit displays (mcdonald,thoyts) - -2009-05-01 (bug fix)[2777019] anchor for text rotation (gavilán,fellows) - -2009-05-03 (bug fix)[2785744] broken flag twiddling (baker,fellows) - -2009-05-13 (bug fix)[2791352] XLFD parsing error (thoyts) - -2009-05-14 (new feature) Vista theme support (thoyts) - -2009-05-14 (bug fix)[1923684] confused checkbutton state (thoyts) - -2009-05-17 (new feature)[1470246] notebook tab orientation control (english) - -2009-05-21 (bug fix)[2794778] Win menu keyboard traversal (thoyts) - -2009-06-02 (bug fix)[2799589] crash on delayed window activation (thoyts) - -2009-06-23 (bug fix)[220935] canvas dash update problem (nijtmans) - -2009-06-23 (platform) new subdir 'carbon' preserved for OSX 10.4- -use --enable-aqua=carbon option to unix/configure to enable (steffen) - -2009-06-29 (new feature) source in `macosx` now built on Cocoa (steffen) - *** POTENTIAL INCOMPATIBILITY *** - -2009-06-30 (platform support) clang static analyzer macros (steffen) - -2009-07-15 (bug fix)[2821962] photo image copy/paste (rib,fellows) - -2009-07-21 (bug fix)[2356057] rotated underlined text (fellows) - -2009-07-22 (bug fix)[2496114] focus in dead window crash (griffin,fellows) - -2009-07-23 (bug fix)[2441988] report errors in selection handlers (fellows) - *** POTENTIAL INCOMPATIBILITY *** - -2009-08-01 (bug fix)[2830420] X iconphoto for big endian (misch,fellows) - -2009-08-04 (bug fix) [text] word-wrap of non-breaking space (fellows) - -2009-08-14 (bug fix) copy from unmapped toplevel crash (alaoui,steffen) - -2009-08-19 (bug fix)[2475855] prevent grid & pack on same master (spjuth) - -2009-08-24 (bug fix)[2821084] Cocoa: let WM_DELETE_WINDOW handler stop window -deletion (walzer,steffen) - -2009-08-24 (bug fix) tk::MessageBox bindings for ttk::buttons (steiner,fellows) - -2009-08-25 (bug fix)[1909931] [send] update for Fedora 8 (fellows) - -2009-09-10 (bug fix) font allocation crash (berezhnoy,fellows) - -2009-09-14 (bug fix)[873608] win tearoff menu, no submenu arrows (traum,hobbs) - -2009-09-14 (bug fix)[873613] win tearoff menu repeat select (traum,hobbs) - -2009-09-25 (bug fix) grayscale from images (vetter,fellows) - -2009-10-07 (bug fix)[2088597] min scrollbar slider size (danckaert,fellows) - -2009-10-07 (bug fix)[2787164] combobox/menubutton arrow size (thoyts) - -2009-10-08 (bug fix)[2870648] file dialog cursor (danckaert,fellows) - -2009-10-10 (feature)[1961455] underline, overstrike Xft fonts (caffin,fellows) - -2009-10-20 (enhancement) Updates to Polish messages (pawlak) - -2009-10-22 (bug fix)[2168768] file dialog -typevariable scope (danckaert) - -2009-10-22 (bug fix)[1469210] [text] modified error (danckaert) - -2009-10-22 (bug fix)[2883712] 64-bit Aqua progress bar (haffner) - -2009-10-24 (bug fix)[1530276] X checkbutton -selectcolor (danckaert) - -2009-10-25 (bug fix)[1854913] [.t delete] before -startindex (danckaert) - -2009-10-25 (bug fix)[2809525] prevent X crash on overlong color name (goth) - -2009-10-29 (bug fix)[1825353] Russian Windows tiny fonts problem (thoyts) - -2009-11-01 (new feature) Ttk: [$w identify] now an ensemble (jenglish) - -2009-11-19 (bug fix)[2899685] fix [imove] redraw logic (schekin,ferrieux) - -2009-11-22 (bug fix)[2899949] crash on widget destroy (meier,thoyts) - -2009-11-23 (bug fix)[2902573] Update Safe Tk to new Safe Base (kurpies) - -2009-11-24 (bug fix)[2902814] fix [wm iconphoto] on LP64 systems (fellows) - -2009-12-08 (bug fix)[2864685] Compiz menu item animation (gavilán,thoyts) - -2009-12-11 (bug fix)[2912473] accept :: in DISPLAY name (fellows) - -2009-12-15 (bug fix)[2492179] Tcl_ObjType "option" no longer registered (porter) - *** POTENTIAL INCOMPATIBILITY for Tcl_GetObjType("option") *** - -2009-12-20 (bug fix)[2917663] [send] accept SI:* on auth list (fellows) - -2009-12-22 (bug fix)[2912356] [ttk::sizegrip] accommodate Compiz (english) - -2009-12-25 (bug fix)[2977688,2546779] tab selection focus (english) - -2009-12-27 (bug fix)[2879927] Win: cascade menu highlight (pawlak,thoyts) - -2010-01-01 (bug fix)[1924761] stop [event generate] / XIM conflict (fellows) - -2010-01-03 (bug fix)[2848897] ODS_NOACCEL flag support (kovalenko,thoyts) - -2010-01-04 (bug fix)[2811266] binding in [tk_dialog] (thoyts) - -2010-01-04 (bug fix)[2727476] font dialog appearance (thoyts) - -2010-01-05 (bug fix)[220950] [$menu delete] bounds check (fellows) - -2010-01-05 [2898255] unlimited multi-file select (pawlak,fellows,thoyts) - -2010-01-06 (bug fix)[1163496] X: [wm transient] fix (bateman,fellows) - -2010-01-09 (new feature)[TIP 360] Modernize X11 Menus (thoyts) - -2010-01-18 (bug fix)[2932808] canvas update on state change (mcdonald,nijtmans) - -2010-01-19 (new feature)[TIP 359] Extended Window Manager Hint Support (thoyts) - -2010-01-19 (bug fix)[2931374] overflow in complex tag search (schmitz) - -2010-02-17 (bug fix)[2952745] crash in menu deletion (english) - -2010-02-20 (performance) treeview stop quadratic common case (english) - -2010-03-02 (enhancement) -fvisibility-hidden build support (nijtmans) - -2010-03-06 (bug fix)[2949774] cascade menu unpost (thoyts) - -2010-03-11 (bug fix)[2968379] crash in peer text dump (fellows) - -2010-03-17 (bug fix)[2971663] Cocoa entry , (goddard,fellows) - -2010-03-28 (new feature) [$treeview tag names|add|remove] (english) - -2010-04-09 (new feature)[2983824] [$image write -file] use extension of file -name to select image format (fellows) - -2010-04-19 [2898255] unlimited multi-file select (pawlak,fellows,thoyts) - -2010-05-31 (bug fix)[3006842] crash on empty bind scripts (english) - -2010-06-15 (bug fix)[2585265] text , note selection (fellows) - -2010-06-15 (new package)[3016598] Tk now provides "tile 0.8.6" (english) - -2010-07-19 (new feature) [$photo data -format GIF] (fellows) - -2010-08-03 (bug fix) entry validation compat with Itcl scope (hobbs) - -2010-08-11 (platform) Drop pre-aix 4.2 support, ldAix (hobbs) - -2010-08-21 (patch)[3034251] genStubs steal features of ttkGenStubs (nijtmans) - -2010-08-26 (bug fix)[1230554] configure, OSF-1 problems, windows manifest issues (hobbs) - -2010-08-31 fixed manifest handling on windows (hobbs, kupries) - -2010-09-02 (bug fix)[3057573] specify combobox text fg color (english) - -2010-09-05 (enhancement)[3046742,3046750] Improved error dialog UI (fellows) - -2010-09-08 (bug fix)[2829363] [$tv see] open item -> sched display (english) - -2010-09-13 (platform) limit support to Win2000+ (nijtmans) - -2010-10-01 (bug fix)[3078902] no hang operating on zero-size subimages (fellows) - -2010-10-05 (bug fix)[3080953] corrupt multibyte char in %A subst (nijtmans) - -2010-10-11 (bug fix)[3085489] crash in [tag add/remove] (english) - -2010-10-11 (enhancement)[491789] Unicode command line support on Win (nijtmans) - -2010-11-03 windows build with -UNICODE (nijtmans) - -2010-11-05 Message catalogs reworked to use unicode copyright char (nijtmans) - -2010-11-06 Message catalogs resorted, updates to NL (nijtmans) - -2010-11-16 (platform) VS 2005 SP1 MSVC compiler (nijtmans) - -2010-11-24 (bug fix)[3071836] crash in tk_getSaveFile (twylite) - -2010-12-03 (enhancement)[3116490] mingw x-compile improvements (nijtmans) - -2010-12-12 (platform) OpenBSD build improvements (cassoff) - -2010-12-17 (platform) Revisions to support rpm 4.4.2 (cassoff) - -2011-01-06 (bug fix)[2857300] Cocoa: correct text width rounding (walzer) - -2011-01-06 (bug fix)[3086887] Cocoa: textured bg windows (walzer) - -2011-01-13 (bug fix)[3154705] tk_messageBox close button disabled (skylera) - -2011-01-22 (enhancement) add [ttk::entry validate] (schelte,english) - -2011-01-24 (bug fix)[2907388] OSX: composite character entry crash (berg,walzer) - -2011-03-02 (new doc) tk_mac.n: OS X specific functions (walzer) - -2011-03-03 (bug fix)[3175610] incomplete line item refresh (ferrieux) - -2011-03-10 (bug fix)[3205260] crash in [wm manage] (boudaillier, thoyts) - -2011-03-16 (bug fix)[3181181] tearoff submenu fix (menez, thoyts) - -2011-03-19 (bug fix)[3205464] [wm forget] loses window (boudaillier,thoyts) - -2011-03-19 (bug fix)[3223850] ttk button state disabled during click (thoyts) - -2011-03-22 (bug fix)[3000002] ttk scrollbar size Appearance (garvey,thoyts) - -2011-03-24 (bug fix)[3239768] Win menu font support (wehle) - -2011-03-28 (bug fix)[3129527] stop buffer overflows (dirtyepic,nijtmans) - -2011-04-04 (feature change)[2997657] No -container for [labelframe] (spjuth) - -2011-04-04 (bug fix)[723765] [grid remove] lost -in value (saye,spjuth) - -2011-04-22 (bug fix)[3291543] mem corrupt when [$canvas dchars] removes all -coords of a polygon (rogers,spjuth) - -2011-04-29 (platform support) [wm forget|manage] on OS X (walzer) - -2011-06-06 (bug fix)[2546087] [console] treatment of '\0' (porter) - -2011-06-07 (bug fix)[2358545] Restore "08" in spinbox configured with -from -and -to (porter) - -2011-06-10 (bug fix)[3315731] fix [$entry -invcmd] (porter) - -2011-06-17 (bug fix)[3062331] crash in unset traces (macdonald,porter) - -2011-08-03 (bug fix)[2891541] fix grab behaviour for main window (thoyts) - ---- Released 8.6b2, August 8, 2011 - -2011-09-22 (bug fix)[3404541] -takefocus option (dzach,english) - -2011-10-24 (new feature)[TIP 382] -confirmoverwrite on save dialog (porter) - -2011-10-25 (bug fix)[3410609] AltGr keysyms on Swiss keyboard (tasser,kenny) - -2011-11-17 (bug fix)[3437816] return code of [canvas lower] (hirner,ferrieux) - -2011-12-22 (bug fix)[3235256] correct menu failure on Windows (mcdonald) - -2012-01-19 (bug fix)[3021557] cursor freeze in elided text (vogel) - -2012-01-22 (bug fix)[3476698] hang in [text mark prev/next] (vogel) - -2012-01-25 (bug fix)[3475627] Stop text-31.11 failure (vogel) - -2012-01-25 (bug fix)[1630271] hang/crash on mark before -startline (vogel) - -2012-01-26 (bug fix)[1754043,2321450] -blockcursor appearance (vogel) - -2012-01-27 (bug fix)[3480471] crash in [tk_getOpenFile] (nijtmans) - -2012-01-29 (bug fix)[3480634] PNG image in menus (nijtmans) - -2012-01-30 (bug fix)[2925561] disabled combobox don't take focus (english) - -2012-02-10 (bug fix) win dialog avoid shimmer that confuses Python (fellows) - -2012-02-15 (bug fix)[3486474] Correct color scaling (goth,nijtmans) - -2012-02-28 (bug fix)[1630262,1615425] [text] crash tags & -*line (vogel) - -2012-03-07 (bug fix)[3497848] consistent pixel rounding (fassel,fellows) - -2012-03-18 (enhancement)[3503317] XParseColor speedup (nijtmans) - -2012-04-07 (bug fix)[3176239] control-Mousewheel crash (couch,nijtmans) - -2012-04-22 (bug fix)[3520202] %k,%K,%N for Python (deily,fellows) - -2012-05-02 (bug fix)[533519] multiscreen window placement (nijtmans) - -2012-05-04 (bug fix)[2768586] multiscreen menu posting (nijtmans) - -2012-05-28 (bug fix)[1630254] text peer update on -startline reset (baker,vogel) - -2012-06-11 (bug fix)[3294450] ttk text element clipping (oehlmann,fellows) - -2012-07-02 (bug fix) Make sure all index tables are static (kirkham,english) - -2012-07-23 (bug fix)[3546073] DisplayString() -> DefaultDisplay() (english) - -2012-08-11 (bug fix)[3554273] text elide and tags (vogel) - -2012-08-15 (enhancement)[3555324] Win:Ctrl-A now means Select-All (nijtmans) - *** POTENTIAL INCOMPATIBILITY *** - -2012-08-22 (new feature)[TIP 403] Use Web color definitions (nijtmans) - *** POTENTIAL INCOMPATIBILITY *** - -2012-08-23 (enhancement)[3555644] better use of virtual events (nijtmans) - *** POTENTIAL INCOMPATIBILITY *** - -2012-08-24 (bug fix)[3558535] file dialog filtering (fellows) - -2012-08-25 (bug fix)[3554026,3561016] crash with tearoff menus (gavilán) - -2012-09-11 (bug fix)[3566594] stop clip region leaks (fellows) - -2012-09-15 (bug fix)[3567778] stop hang in wrapped label (porter) - -2012-09-17 (bug fix)[3567786] stop segfault in [wm forget] (porter) - -Many revisions to better support a Cygwin environment (nijtmans) - ---- Released 8.6b3, September 18, 2012 - -2012-10-02 (bug fix)[3572016] menu enable after modal dialog (berg,walzer) - -2012-10-08 Remove Carbon support - -2012-10-24 (bug fix)[3574893] crash in [wm forget] (porter) - -2012-11-07 (bug fix)[3574708] crash in focus handling (fellows) - -2012-11-14 (bug fix)[3500545] fix [tk_getOpenFile -multiple] (bruederlin) - -2012-12-04 (bug fix)[3588824] Support weird image names in [text] (vogel) - -2012-12-06 (bug fix)[3592736] stop pink greys from buggy mingw builds (fellows) - ---- Released 8.6.0, December 20, 2012 - -2013-01-04 (bug fix) Tk_InitStubs("8.6") rejected in 8.60 interp (nijtmans) - -2013-01-10 (bug fix)[3600251] Mac binding (kjnash,nijtmans) - -2013-01-10 (bug fix)[3600260] <> binding (kjnash,nijtmans) - -2013-01-13 (bug fix)[3600290] restore $tk_strictMotif respect (kjnash,nijtmans) - -2013-01-22 (bug fix)[3601782] Tcl_InitStubs failure message (nijtmans) - -2013-01-31 (bug fix)[3599928] use XKeycodeToKeysym on old systems (cassoff) - -2013-02-04 (bug fix)[3603077] treeview update on tag add/remove (english) - -2013-02-28 (bug fix)[3599312] First Alt key event is lost (mcdonald) - -2013-03-11 (bug fix)[3607326] Crash [listbox .l -listvariable $array] (porter) - -2013-03-13 (enhancement) better build support for Debian arch (shadura) - -2013-03-27 (bug fix)[3608074] button, listbox, menu <> (nijtmans) - -2013-04-01 (bug fix)[3607830] Xkb runtime checks (griffin) - -2013-05-19 (platform support) FreeBSD updates (cerutti) - -2013-06-05 (bug fix)[3613759] [ttk::entry .e; .e xview end] (nijtmans) - -2013-06-05 (bug fix)[2100430] [ttk::entry .e; .e xview insert] (nijtmans) - -2013-06-28 (bug fix)[2501278] reverse ttk::scale key bindings {mcdonald) - -2013-07-02 (bug fix)[32afa6] corrected dirent64 check (griffin) - -2013-08-14 (bug fix)[069c9e] "option" value refcount crash (tim,nijtmans) - -2013-08-15 (bug fix)[c597acd] [$pb step] work with traces (english) - -2013-08-25 (bug fix)[3016181] Cocoa: [destroy $scrollbar] => crash (goddard) - ---- Released 8.6.1, September 19, 2013 --- https://core.tcl-lang.org/tk/ for details - -2013-10-27 (bug fix) OSX drawing lags (deily,steffen,walzer) - -2013-10-28 (bug fix)[3603436] png wrong component indices (nijtmans) - -2013-10-31 (bug fix) C++ friendly stubs struct declarations (nijtmans) - -2013-10-31 (bug fix)[c0cc9fd] PNG parser accept uppercase -format (nijtmans) - -2013-10-31 (bug fix) double free of a TkFont (nijtmans) - -2013-11-03 (bug fix)[1632447] support PPM maxval up to 65535 (fellows) - -2013-11-05 (bug fix)[426679e] OpenBSD man page rendering (nijtmans) - -2013-11-11 (bug fix)[f214b8a] multi-interp font teardown double free (porter) - -2013-11-11 (bug fix)[0aa5e85] option file \n syntax support (nijtmans) - -2013-11-20 (platforms) Support for Windows 8.1 (nijtmans) - -2014-01-23 (bug fix)[3606644] X: correct fontconfig dependence (venable) - -2014-01-23 (bug fix) FreeBSD build fixes (cerutti) - -2014-02-06 (bug fix)[3279221] [menu] event race (danckaert,kupries) - -2014-02-07 (bug fix)[6867cc1] creative writing in [tk fontchooser] (nijtmans) - -2014-02-11 (bug fix)[52ca3e7] XkbOpenDisplay macro correction (nijtmans) - -2014-03-16 (bug fix) Xcode 5.1 update; Retina displays (walzer) - -2014-03-20 (bug fix)[2f7cbd0] FreeBSD 10.0 build failure (nijtmans) - -2014-04-01 (bug fix)[5bcb502] @TK_LIBS@ in pkgconfig (badshah400,nijtmans) - -2014-05-27 (bug fix)[a80f5d7] autoscroll initiation (crogers,english) - -2014-07-07 (bug fix) OSX alpha channel rendering (culler,walzer) - -2014-07-08 (workaround)[4955f5d] Ocaml trouble with tailcall splice (nijtmans) - -2014-07-24 (bug fix) OSX [text] image display & scrolling (culler,walzer) - -2014-08-01 (bug fix) OSX font config crash (rob@bitkeeper) - ---- Released 8.6.2, August 27, 2014 --- https://core.tcl-lang.org/tk/ for details - -2014-08-27 (bug) Cocoa: Crash after [$button destroy] (walzer) - -2014-09-23 (bug) Cocoa: button and scroll display fixes (walzer) - -2014-09-24 (bug) Cocoa: improved drawing performance (walzer) - -2014-10-11 (bug)[9e487e] Phony button clicks from browsers to plugin (nijtmans) - -2014-10-11 (bug)[810c43] [text] elide changes advance epoch (vogel) - -2014-10-14 (bug)[fb35eb] fix PNG transparency appearance (walton,culler) - -2014-10-18 (feature)[TIP 432] Win: updated file dialogs (nadkarni) - -2014-10-26 Support for Windows 10 (nijtmans) - -2014-10-28 (bug) OSX: Improved ttk notebook tab metrics for Yosemite (walzer) - -2014-10-30 (bug)[3417012] [scale -digits $bigValue] segfault (vogel) - -2014-11-07 (bug)[3529885] [scale] handling of negative resolution (vogel) - ---- Released 8.6.3, November 12, 2014 --- https://core.tcl-lang.org/tk/ for details - -2014-11-14 (bug)[d43a10] shimmer-related crash in [tk_getOpenFile] (nadkarni) - -2014-11-23 (bug)[1c0d6e] Win build trouble with SIGDN (keene) - -2014-12-03 (bug)[4a0451] [tk_getOpenFile] result (nadkarni) - -2014-12-13 fix header files installation on OS X (houben) - -2015-01-02 (bug) Stop bit loss in [winfo id] on 64-bit Cocoa (porter) - -2015-02-06 (bug) several fixes to elided context in [text] (vogel) - -2015-02-06 (new feature)[TIP 433] %M binding substitution (mistachkin) - *** POTENTIAL INCOMPATIBILITY *** - -2015-02-22 (bug)[ab6dab] corrupt dashed lines in postscript (porter) - -Tk Cocoa 2.0: App Store enabled (walzer,culler,desmera,owen,nyberg,reincke) - *** POTENTIAL INCOMPATIBILITY *** - ---- Released 8.6.4, March 12, 2015 --- https://core.tcl-lang.org/tk/ for details - -2015-03-10 (bug) Cocoa: premature image free crash (walzer) - -2015-03-15 (bug) Cocoa: wish launches in front. [focus -force] works (culler) - -2015-04-09 (bug)[e4ed00] [$text index "1.0 display wordstart"] crash (vogel) - -2015-04-09 (bug)[562118] Unicode support of "wordstart" modifier (vogel) - -2015-05-05 (bug)[06c3fc] PNG alpha error corrupted output file (gauthier,porter) - -2015-05-20 (bug)[dece63] various mem corruptions in images (mic42,porter) - -2015-05-24 (bug)[53f8fc] panedwindow geometry management (vogel) - -2015-05-26 (bug)[1641721] tk_getOpenFile symlink display doubled (nijtmans) - -2015-06-01 (bug)[d7bad5][2368195][3592454][1714535][1292219][3592454] - panedwindow fixes (vogel) - -2015-06-25 (bug)[805cff] Tk_ConfigureWidget() segfault (aspect,nijtmans) - -2015-07-13 (bug)[3f179a] Text widget crash with elided text (vogel) - -2015-07-16 (bug)[2886436] Stop [$text delete] acting before start index (vogel) - -2015-07-28 (bug)[1236306] TraverseToMenu error bound to toplevel destroy (vogel) - -2015-08-20 (bug)[00189c] MSVC 14: semi-static UCRT support (dower,nijtmans) - -2015-09-13 (bug)[cc0ba3] PNG read buffer overflow (maxjarek,porter) - -2015-09-29 (bug)[1501749] Crash embedded window delete bound to (vogel) - -2015-10-04 (license) Replace icons that lacked clear free license (cowals) - -2015-10-06 (bug)[46c83f] Win: tk_getOpenFile -initialdir (koend,nadkarni) - -2015-10-08 (new feature)[TIP 437] New panedwindow options (vogel) - -2015-10-09 (bug)[1669632] [text] autoseparator placement (nash,vogel) - -2015-10-09 (bug)[2262711] [text] RE search Unicode+elided (kaitzschu,vogel) - -2015-10-09 (bug)[1815161] [$text count -ypixels] needs management (vogel) - -2015-10-22 (bug)[1520118] Document spinbox validate expectations (vogel) - -2015-10-22 (bug)[1414025] $entry insertion cursor visibility (vogel) - -2015-10-26 (bug) PNG rendering on El Capitan (meier,walzer) - -2015-11-08 (bug)[2160206] menubutton panic (vogel) - -2015-11-08 (bug)[220854] Display trailing TAB in entry (vogel) - -2015-11-08 (bug)[542199] double click on lone char in entry (vogel) - -2015-11-08 (bug)[297442d] strict motif binding on (vogel) - -2015-11-08 (bug)[3601604] $listbox -takefocus (vogel) - -2015-11-09 (bug)[5ee8af] X, Win: 64-bit enable embedded windows (vogel) - -2015-11-29 (bug)[1997299] [text] tag borderwidth leak (vogel) - -2015-12-12 (bug)[1739605] [text see] misbehavior (danckaert) - -2015-12-13 (bug)[ff8a1e] Never-mapped [text] performance (danckaert) - -2015-12-19 (bug)[1700065] Report errors from -textvariable write trace (vogel) - -2015-12-19 (bug)[793909] -textvariable handle undefined namespace (vogel) - -2015-12-26 (bug)[2f78c7] crash with [text] and [tablelist] (vogel) - -2016-01-06 (bug)[1288433,3102228] <> misfires (vogel) - -2016-01-08 (bug)[1510538] initial scrollbar width (vogel,nijtmans) - -2016-01-08 (bug)[1305128] event not received by scrollbar (vogel,nijtmans) - -2016-01-09 (bug)[1927212] Mousewheel/scrollbar bindings (vogel) - -2016-01-11 (bug)[63c354] Cocoa message boxes (culler) - -2016-01-12 (bug)[2049429] get more $text options from database (vogel) - -2016-01-22 (TIP 441) New option [listbox ... -justify] (vogel) - -2016-01-25 (bug) OBOE in ttk::notebook options parsing (bromley,english) - -2016-02-08 (enhance) [option readile] expects utf-8 file (oehlmann,nijtmans) - -2016-02-08 (bug) crash in [$text delete] (griffin,vogel) - -Tk Cocoa 2.0: More drawing internals refinements (culler,walzer) - ---- Released 8.6.5, February 29, 2016 --- https://core.tcl-lang.org/tk/ for details - -2016-03-07 (bug)[3137232] spinbox teardown hygiene (vogel) - -2016-03-07 (bug)[2981253] spinbox rapid button action (vogel) - -2016-03-07 (bug)[2262543] scale initialization callbacks (vogel) - -2016-03-07 (bug)[e9112e] incomplete [wm forget] (vogel) - -2016-03-11 (bug)[d95e5d] from hidden panes (vogel) - -2016-03-20 (TIP 443) More configuration options for text tags (vogel) - -2016-03-20 (bug)[487861] menu: cascade/accelerator appearance (vogel) - -2016-03-27 (bug)[1192095] active index from toplevel menus (vogel) - -2016-03-27 (bug)[18c08d] revised final newline behavior in [text] (vogel) - *** POTENTIAL INCOMPATIBILITY *** - -2016-04-29 (bug)[fd3a4d] <> delivery to text peers (vogel) - -2016-05-03 (bug)[b36218,011706] event reentrancy / widget destruction (vogel) - -2016-05-12 (bug)[64261b] mouse events after double click (nadmarki,nijtmans) - -2016-05-18 (bug)[545f10] Xft color font speed (bonfield,davies,girffin,vogel) - -2016-05-25 (bug)[109865] event reentrancy / widget destruction (vogel) - -2016-05-30 (TIP 446)[1273358] [$text edit (canundo|canredo)] (vogel) - -2016-05-30 (bug)[79549a] crash in mouse pointer warping (vogel) - -2016-06-22 (bug)[787adc] Modernize Tk_Init() (porter) - -2016-07-06 (bug) Aqua: excess lable padding (lanam,walzer) - -2016-07-08 (bug) Aqua: bitmap distortion (culler,walzer) - -2016-07-15 (bug) Aqua/Retina: fix alpha rendering of images (culler,walzer) - -2016-07-17 (bug)[c84f66] Aqua: crash: overflow in geometry calc (culler,walzer) - -2016-07-21 (bug)[450bb0] Aqua: memory corruption from [tk busy] (porter) - ---- Released 8.6.6, July 27, 2016 --- https://core.tcl-lang.org/tk/ for details - -2016-08-23 (bug)[a2abc4] Wrong warp cursor position on 2nd display (vogel) - -2016-08-29 (bug)[fa3229] menu-38.1 (calvo,vogel) - -2016-08-29 (bug)[2cf3d6] button-5.24 (vogel) - -2016-09-04 (bug)[1534455,2945130] Key release events get _L vs _R right. (vogel) - -2016-09-10 (bug)[8c4216] listbox-4.1 (vogel) - -2016-09-10 (bug)[eb2681] listbox-13.1 (vogel) - -2016-09-21 (bug)[3126428] ttk::button react to image change (thoyts) - -2016-10-09 (bug)[1082213] wrapped text don't start lines with whitespace (vogel) - -2016-10-12 (bug)[3217462] tri-state button on non-native theme (vogel) - -2016-10-30 (bug)[3588460] Fix file dialog -typevariable (vogel) - -2016-11-01 (bug)[e36963] event generate .e (matthias,vogel) - -2016-11-05 (bug)[6aea69] grid-23 (danckaert,vogel) - -2016-11-18 (bug)[f60c54] combobox-3 (panza,vogel) - -2017-01-03 (bug)[f32502] crash drawing many dashed objects (reithofer,werner) - -2017-01-05 (bug)[dac92f] text-2.[89] (vogel) - -2017-01-07 (bug)[3df559] OSX: Negative bbox width (vogel) - -2017-01-07 (bug)[28a453] OSX: text widget index OBOE (vogel) - -2017-01-07 (bug)[c12af7] OSX: text-21.1 (vogel) - -2017-01-08 (bug)[7a838c] X11 ring buffer overflow (werner) - -2017-01-11 (bug)[d4fb4e] imgPhoto-4.75 (nijtmans) - -2017-01-18 (bug)[fab5fe] OSX: repair textDisp failures (vogel) - -2017-01-23 (bug)[89a638] OSX: textDisp-15.8 (vogel) - -2017-01-25 (bug)[1403ea] Limits on text line size on Windows (spjuth) - -2017-02-05 (bug)[ae32eb] textDisp fails in text custom config (vogel) - -2017-02-05 (bug)[7d967c] crash after IME restart (lanam,nijtmans) - -2017-02-22 (bug)[c492c9] disabled combobox arrow appearance (danckaert) - -2017-03-06 (bug)[6b3644] Fix -alpha for 16-bit color PNG (LemonMan) - -2017-03-11 (bug)[775273] artifacts on Ubuntu 16.10+ (nemethi) - -2017-03-26 (TIP 464) Win multimedia keys support (fassel,vogel) - -2017-03-29 (bug)[28a3c3] test BTree memleaks plugged (anonymous) - -2017-04-06 (bug)[db8c54] Stop freed mem access in warp pointer callback (porter) - -2017-04-07 (bugs) Fix calculation of ttk::notebook tab widths (vogel) - -2017-04-07 (bug)[291296] notebook tab management (decoster) - -2017-04-08 (bug)[f0188a] Win reject invalid hex color codes (bachmann) - -2017-04-10 (bug)[3f323b] variable struct size on XCode 8.3.1 (auriocus) - -2017-04-20 (bug)[061bf9] OSX scrollbar draw position (reincke,walzer,joye) - -2017-05-01 (bug) restore -initialfile for OSX file dialogs (reincke,gollwitzer) - -2017-05-06 (bug) OSX file dialog type filters (walzer) - -2017-05-10 (bug)[a5ba1c] race condition on Win clipboard cleanup (donchenko) - -2017-05-18 (bug)[2433781] center image on button (cramer) - -2017-05-19 (bug)[434d29] type mismatch with recent Xft (nijtmans,werner) - -2017-06-02 (bug)[bc43fd] paneconfigure get pane heights right (vogel) - -2017-06-21 (bug)[adc028] menu avoid unreleasable global grab (nash) - -2017-06-30 (bug)[92e028,c5eb90] User switch forced theme reset (lanam) - -2017-06-30 (bug)[62c5b7] segfault in [text] replace (werner) - -2017-07-03 (bug)[8afc6c] OSX crash in save/open dialogs (simpson,walzer) - -2017-08-02 (bug)[b601ce] Resource exhaustion processing corrupt GIF (nash) - -2017-08-03 (bug)[9eab54] Fix -initialdir for OSX file dialogs (gollwitzer) - -2017-08-08 (bug)[28d0b8] Follow ICCCM advice on X selection protocol (donchenko) - -2017-08-08 (bug)[4966ca] Scidb race in notebook tab selection (cramer) - ---- Released 8.6.7, August 9, 2017 --- https://core.tcl-lang.org/tk/ for details - -Changes to 8.7a1 include all changes to the 8.6 line through 8.6.7, -plus the following, which focuses on the high-level feature changes -in this changeset (new minor version) rather than bug fixes: - -2016-03-07 (feature)[841280] spinbox autoswap -to/-from to get ordering (vogel) - -2016-03-27 (feature)[38dc27] Support & (nijtmans) - -2016-08-29 (TIP 449) [text] undo/redo return character range (vogel) - -2016-11-02 (feature) Removed undocumented command [tk_getFileType] (vogel) - *** POTENTIAL INCOMPATIBILITY *** - -2017-02-05 (bug)[c0dbdd] Compatibility fonts shadowed system fonts (vogel) - -2017-03-21 (TIP 442) display text in a progressbar (zaumseil) - -2017-04-13 \u escaped content in msg files converted to true utf-8 (nijtmans) - -2017-08-28 (TIP 166) Extended color notation for alpha channel (bachmann) - ---- Released 8.7a1, September 8, 2017 --- https://core.tcl-lang.org/tk/ for details - -2017-08-24 (bug)[f1a3ca] Memory leak in [text] B-tree (edhume3) - -2017-08-24 (bug)[ee40fd] Report [console] init errors (the) - -2017-08-24 (bug)[3295446] Improve history visibility in [console] (goth) - -2017-08-24 (bug) canvas closed polylines fully honor -joinstyle (vogel) - -2017-08-24 (bug)[cc42cc] out of mem crash in tests imgPhoto-18.* (vogel) - -2017-09-16 (bug)[3406785] fix coords rounding when drawing canvas items (vogel) - -2017-09-24 (bug)[8277e1] linux fontchooser sync with available fonts (vogel) - -2017-09-24 (bug)[5239fd] Segfault copying a photo image to itself (bachmann) - -2017-09-24 (bug)[514ff6] canvas rotated text overlap detection (vogel) - -2017-09-24 (bug)[1e0db2] canvas rchars artifacts (bruchie,vogel) - -2017-10-07 (bug)[d9fdfa] display of Long non-wrapped lines in text (cramer) - -2017-10-07 (bug)[dd9667] text anchor not set (vogel) - -2017-10-11 (bugs) memleaks and other changes for macOS 10.13 support (culler) - -2017-10-11 (bug)[111de2] macOS colorspace improvement (walzer,culler) - -2017-10-13 (bug) macOS scrolling issues (culler) - -2017-10-15 (bug) clipping regions in scrolling and drawing on macOS (culler) - -2017-10-15 (bug) macOS redraw artifacts (culler) - -2017-10-22 (bug)[bb6b40] ::tk::AmpMenuArgs and 'entryconf' (vogel) - -2017-10-22 (bug)[55b95f] Crash [scale] with a bignum value (vogel) - -2017-10-28 (bug)[ce62c8] text-37.1 fails (vogel) - -2017-11-03 (bug)[0ef1c5] OS X - tests menu-22.[345] hang (vogel) - -2017-11-04 (bug)[c8c52b] repair OBOE in menu.test on macOS (vogel) - -2017-11-11 (feature) Implement [wm_iconphoto] on macOS (walzer) - -2017-11-11 (bug) display of embedded toplevels (culler) - -2017-11-19 (bug)[73ba07] Correct property type for MULTIPLE conversion (dpb) - -2017-11-20 (bug) Memory leak in tkImgPhoto.c. (werner) - -2017-11-21 (bug) Defeat zombie toplevels (culler) - -2017-11-25 (bug) macOS resposive menu bar for command line apps (culler) - -2017-11-25 (bug)[1c659e] support png from mac screenshots (vogel) - -2017-11-25 (bug)[de4af1] macOS file selector "all types" setting (culler) - -2017-11-26 (bug) [wm withdraw] on Window and Dock menus (walzer) - -2017-11-27 (feature) Drop support for macOS 10.5 (culler) - -2017-11-30 (bug)[164c1b] Fixes [raise] on macOS (culler) - -2017-11-30 (bug)[13d63d] macOS support of menu -postcommand (culler) - -2017-12-05 (bug) enable custom icon display on macOS (walzer) - -2017-12-05 (bug)[1088805,0feb63] macOS bind failures (culler) - -2017-12-05 (bug)[3382424] Suppress noisy messages on macOS (culler) - -2017-12-08 (new)[TIP 477] nmake build system reform (nadkarni) - -2017-12-18 (bug)[b77626] Make [tk busy -cursor] silent no-op on macOS (vogel) - ---- Released 8.6.8, December 22, 2017 --- https://core.tcl-lang.org/tk/ for details - -2017-12-31 (bug)[aa7679] crash using window after master destroyed (vogel) - -2017-12-31 (bug)[6525e1] encoding leak in tkMacOSXProcessFiles (werner) - -2018-01-07 (bug)[925262] New option -state for ttk::scale (vogel) - -2018-01-07 (bug)[fa8de7] Crash [ttk::checkbutton .x -variable {}] (werner) - -2018-01-16 (bug)[382712] Crash in [event generate . ] (werner) - -2018-01-19 (bug)[657c38] Crash in menu destroy with checkbutton entry (werner) - -2018-01-25 (bug)[de156e] Deny PRIMARY selection access in safe interps (nash) - -2018-01-28 (bug)[b68710] Fixes in [text] bindings (nash) - -2018-01-28 (bug)[e20d5c] Stop failures of textTag-18.1 (vogel) - -2018-02-04 (bug)[5d991b] Fortify var traces against deleted vars (vogel) - -2018-02-10 (bug)[1821174] Stop RenderBadPicture X error (werner) - -2018-02-11 (bug)[502e74] Stop X errors on untrusted connections (werner) - -2018-03-07 (bug)[71b131] Regression in Tk_DrawChars() (werner,cramer) - -2018-04-03 (bug)[59fccb] menu flaws when empty menubar clicked (vogel,mcdonald) - -2018-04-28 (bug)[7423f9] improved legacy support for [tk_setPalette] (bll) - -2018-04-30 (bug)[6d5042] enable [tk inactive] on Mac OSX (culler) - -2018-05-03 (bug)[75d38f] fix touchpad scroll of listbox on win notebook (vogel) - -2018-06-16 (bug)[de01e2] Crash in [$text replace] (vogel) - -2018-07-04 (bug)[6ca257] Fix [wm resizable] on Mac OSX (culler) - -2018-07-04 (bug)[135696] Crash in [wm transient] (culler) - -2018-07-04 (bug)[309b42] Improve ttk high-contrast-mode support (lemburg,vogel) - -2018-07-17 (bug)[1088825] fix frame-2.17,3.9,3.10 on Mac (vogel) - -2018-07-27 (bug)[fbaed1] GIF photo support for "deferred clear code" (vogel) - -2018-08-08 (feature) Modern full-screen support on Mac OSX (walzer) - -2018-08-12 (bug)[1875c1] scrollbar on Mac OSX (walzer) - -2018-08-14 (bug)[1ba71a] KeyRelease events on Mac OSX(walzer) - -2018-09-02 (bug)[3441086] error message in layout-2 (vogel) - -2018-09-07 (bug)[05bd7f] vista theme for combobox (vogel) - -2018-09-08 (bug)[382712] crash in KeyPress event handling (vogel,werner) - -2018-09-08 (bug)[6fcaaa] insertion cursor visibility in ttk::entry (nemethi) - -2018-09-30 (bug)[822923] cascade menu indicator color (mcdonald) - -2018-10-06 (bug)[9658bc] borderwidth calculations on menu items (vogel) - -2018-10-17 (bug)[ca403f] treeview border drawing (vogel) - -2018-10-17 (bug)[4b555a] hang in [$text search -all] (vogel,danckaert) - -2018-10-30 (new platform) port to system changes in Mac OSX 10.14 (culler) - -2018-11-04 (bug)[6b22d4] [treeview] binding fix (ohagan) - -- Released 8.6.9, November 16, 2018 - https://core.tcl-lang.org/tk/ for details - -2018-11-19 (bug)[0a9c91] crash in text-11a.22 (vogel) - -2018-11-20 (bug)[9705d1] crash activating "Alt" theme (culler) - -2018-11-24 (bug)[e3b954] cursor offset at full screen display (culler) - -2019-01-04 (bug)[18a4ba] cross-platform [winfo containing] (culler) - -2019-01-08 (feature) local grab on Mac OSX (culler) - -2019-01-10 (build) 'None', 'ControlMask' symbol conflicts (nijtmans) - -2019-01-20 (bug)[509caf] [treeview tag configure] regression (mcdonald,vogel) - -2019-01-26 (bug)[3003895] [scale] res rounds and -from (tischler,pieper,vogel) - -2019-02-02 (new)[TIP 533] [$mb post x y idx] (culler,vogel) - -2019-02-08 (bug)[1529659] embed toplevel blocks outer menu (culler) - -2019-02-10 (bug)[8814bd] crash in [NSMenu size] (culler) - -2019-02-13 (bug)[b389df] Aqua: mouse position on dual screen (culler) - -2019-02-23 (bug)[56a182] Aqua: [tk_getOpenFile] causes off-screen toplevels (culler,walzer) - -2019-02-23 (bug)[9771ae] Aqua: workaround incompatible transient window models (culler,walzer) - -2019-03-01 (bug)[1951ab] Prevent transient window cycles (crashed on Aqua) (culler,vogel) - *** POTENTIAL INCOMPATIBILITY *** - -2019-03-04 (bug)[4da219] Incomplete read of multi-image GIF (oehlmann) - -2019-03-14 (bug)[609e00] Aqua: wrong coords from MouseWheel binding (vogel,culler) - -2019-03-25 (bug)[48c394] Aqua: recompute text layout for empty string (culler) - -2019-03-31 (new)[TIP 535] Precision of ::scale widget tick mark values (vogel) - *** POTENTIAL INCOMPATIBILITY *** - -2019-03-31 (bug)[da3914] [$treeview identify element] failure (ulfalizer,vogel) - -2019-04-06 (bug)[897ffe] Prevent cross-manager loops of geom management (culler,vogel) - -2019-04-11 (new) Apple Dark Mode support (culler) - -2019-04-14 (new) Aqua: Use color names consistent with NSColor (culler) - *** POTENTIAL INCOMPATIBILITY *** - -2019-04-14 (new) Aqua: [tk::unsupported::MacWindowStyle isdark] (culler) - -2019-04-19 (bug)[368fa4] Prevent toggle of hidden treeview indicators (ulfalizer,vogel) - -2019-04-24 (bug)[4d2e8d] Aqua: notebook pane redraws (culler) - -2019-04-24 (bug)[928652] Apply TIP 533 for ttk::menubutton (culler,vogel) - -2019-04-24 (bug)[1001070] X-platform rework of label options -highlight* (seal,culler,vogel) - -2019-04-28 (bug)[6286fd] checkbutton handling of -selectcolor (ralfixx) - -2019-04-30 (bug)[4f9a99] Win: crash in [style element create] (oehlman,vogel) - -2019-05-08 (bug) Ttk scrolling bugs, see tests treeview-9.1, entry-3.[3-6] (vogel) - -2019-05-08 (bug)[51b4b1] Aqua: combobox use native ttk scrollbar (bll,vogel) - *** POTENTIAL INCOMPATIBILITY *** - -2019-05-18 (new)[eb2996] Win: support for horizontal scrolling (chavez,vogel) - -2019-05-26 (new)[TIP 541] [combobox current] support "end" index (vogel) - -2019-05-26 (bug)[2a6c62] <> trigger on item delete (vogel) - -2019-06-05 (bug)[9ebc6f] Aqua: fix incorrect reports of mouse coords (chavez, culler) - -2019-06-14 (bug)[436ad6] Corrected Aqua regressions in [wm manage] (walzer, culler) - -2019-06-15 (bug)[75b8fb] Crash with some [event generate]d (leunissen,vogel) - -2019-06-15 (new)[TIP 536] New tk::mac::* commands for IPC on Mac OSX (walzer) - -2019-07-13 (bug)[4566e2] Aqua: Make default background color of Tk and Ttk agree (walzer,culler) - *** POTENTIAL INCOMPATIBILITY *** - -2019-07-16 (bug)[5ddeca] Stop app switching exposing withdrawn windows as zombies (culler) - -2019-07-25 (new)[1fb7af] Win support for buttons 4 and 5 (chavez,vogel,nijtmans) - -2019-08-18 (new) Refactor all MouseWheel bindings (nijtmans) - *** POTENTIAL INCOMPATIBILITY *** - -2019-08-21 (bug)[c8ccd1] up array key in [text] takes to index 1.0 (ulfalizer,vogel) - -2019-08-28 (new)[TIP 532] Tk event loop rewrite to prevent ring overflow (cramer) - *** POTENTIAL INCOMPATIBILITY *** - -2019-08-28 (bug)[943d5e] Win: embedded widget destruction cancels window resize (nemethi,vogel,nijtmans) - -2019-09-12 (bug)[2834776] Stop disabled spinbox from generating <> & <> (vogel) - -2019-09-24 (bug)[96bce5] Aqua: Prevent crash drawing 1x1 rounded rectangles (bll,culler) - -2019-10-03 (bug)[3ed5b6] Win: root window position with highlightthickness>0 (leunissem,vogel,nijtmans) - -2019-10-09 (bug)[a01b6f7] Workaround XWayland bug reporting screen width (werner,nijtmans) - -2019-10-10 (bug) Aqua: Prevent crash deactivating menu during menu deletion (culler) - -2019-10-21 (bug)[aea00b] Aqua: Better handling of resolution changes (chavez, culler) - -2019-10-25 (bug)[b82bd4] Fix [style configure -compound] (culler,vogel) - -2019-10-27 (bug)[f7a4f7] Aqua: embedded toplevel, forced focus and mouse coords (naaus,culler) - -2019-11-13 (new) Win: keycodes Mail, AudioMedia, Launch0, Launch1 (nijtmans) - -2019-11-15 (bug)[69b48f] failing test textTag-18.1 (vogel) - -2019-11-17 (bug)[c4abd2] panic in stackorder command (culler) - -2019-11-17 (bug)[53d280] [wm iconphoto] crash on empty image (culler) - -2019-11-17 [90d555] workaround NSFontManager bad selections (culler) - -2019-11-19 (new) Partial Emoji support in text displays (nijtmans,culler) - -- Released 8.6.10, Nov 21, 2019 - https://core.tcl-lang.org/tk/ for details - -Changes to 8.7a3 include all changes to the 8.6 line through 8.6.10, -plus the following, which focuses on the high-level feature changes -in this changeset (new minor version) rather than bug fixes: - -2017-11-25 [TIP 161] $menu -tearoff default changed to false (roseman,vogel) - *** POTENTIAL INCOMPATIBILITY *** - -2017-12-07 [TIP 487] End support for pre-XP Windows (nijtmans) - -2018-03-04 [TIP 489] New subcommand [$canvas image] (pitcher,vogel) - -2018-05-13 [TIP 496] New options -placeholder* for entries (zaumseil,vogel) - -2018-09-23 [TIP 517] New option -activerelief for menus (vogel) - -2018-11-03 [TIP 512] Deprecate stub for Tk_MainEx() (nijtmans) - -2018-11-06 [TIP 415] New option -height for [$canvas create arc] (geard) - -2018-11-06 [TIP 518] New event <> (oehlmann) - -2019-04-14 [TIP 164] New subcommand [$canvas rotate] (fellows) - -2019-04-14 [TIP 507] New photo image format 'svg' (zaumseil) - -2019-04-14 [TIP 483] Record more configuration items (cassoff) - -2019-04-14 [TIP 482] Record configured directory for demos (cassoff) - -2019-05-25 [TIP 262] New frame options -backgroundimage, -tile (fellows) - -2019-06-15 [TIP 528] Deprecate Tk_Offset() (nijtmans) - -2019-08-19 [TIP 545] Revised options for photo image format 'svg' (oehlmann) - ---- Released 8.7a3, November 25, 2019 --- https://core.tcl-lang.org/tk/ for details - -2019-11-25 (bug)[a95373] TkKeyEvent platform variations (werner) - -2019-11-26 (bug) workaround Win bug so test bind-34.3 passes (nijtmans) - -2019-12-03 Aqua: white cursors in dark mode (culler) - -2019-12-04 (bug)[749bd9] Aqua: systemControlAccentColor (bll,culler) - -2019-12-14 (bug)[b3b56a] ttk respect -cursor option (vogel) - -2019-12-14 (bug)[b094cb] Win: $tv -show grows widget width 1 pixel (vogel) - -2019-12-14 (bug)[02a694] spinbox options used wrong db names (vogel) - -2020-01-11 (bug)[2b8fa6] MouseWheel for ttk::scrollbar (oehlmann) - -2020-01-18 (bug)[1771594] icursor and scrollregion, canvText-14.7 (vogel) - -2020-01-18 (bug)[587937] tag list ops preserve list order (vogel) - -2020-01-18 (bug)[2830360] lose invalid state at focus event, entry-10.1 (vogel) - -2020-01-18 (bug)[077d49] string table options support null ok (vogel) - -2020-01-18 (bug)[bf93d0] Aqua: unresponsive menubar (culler) - -2020-01-31 (bug)[a196fb] restore support for unthreaded Tcl (porter,sebres) - -2020-02-09 (bug)[90a4d7] fontconfig crash when no font installed (vogel) - -2020-02-24 (bug) Aqua: incomplete floating window display (walzer) - -2020-03-11 (bug)[fb2ec3] OSX 10.15+: full screen options (nicolas,walzer) - -2020-03-12 (bug)[08e2f8] focus on unmapped windows, focus-7.1 (vogel) - -2020-03-12 (bug)[2edd84] [$c postscript] result management (gavilan) - -2020-03-22 (bug)[98662d] restore TK_MAC_DEBUG_DRAWING build (chavez) - -2020-03-29 (bug)[655fe2] tearoff menu redraw artifacts (vogel) - -2020-04-03 (bug)[efbedd] Aqua: compund button-like widget appearance (chavez) - -2020-04-14 (bug)[87bade] Aqua: improved dealing with PressAndHold (culler) - -2020-04-14 (bug)[376788] X: stop crash w/Noto Color Emoji font (nijtmans) - -2020-04-15 (bug)[89354d] Aqua: text color w/o clipping (culler) - -2020-04-15 (new) Aqua: assign Button 3 to the middle button (chavez) - -2020-04-25 (bug)[3519111] treeview horizontal scroll, entry-2.1.1 (vogel) - -2020-04-25 (bug)[141881] treeview vertical scroll, treeview-9.2 (vogel) - -2020-05-01 (bug)[2712f4] X: crash angled text w/o Xft, canvText-20.2 (vogel) - -2020-05-01 (bug)[cd8714] Win: long angled text (chavez) - -2020-05-09 (bug)[88c9e0] treeview -selectmode none focus ring (gavilan) - -2020-05-12 (new) Aqua: Rewrite of the Key event system (culler) - -2020-05-12 (bug)[411359] Aqua: stop crashes/zombies related to TouchBar (culler) - -2020-05-12 (new) Aqua: systemLinkColor (chavez) - -2020-05-16 (bug)[40ada9] crash when active button is destroyed (chavez) - -2020-05-28 (bug)[3c6660,601cea,4b50b7] Win10: ttk scale (nemethi,lanam) - -2020-06-08 (bug)[2790615] Some callbacks not eval'd in global scope (nijtmans) - -2020-06-25 Aqua: Update OSX version tests to support Big Sur (culler) - -2020-06-27 (bug)[6920b2] dup in spinbox -values causes trouble (lanam) - -2020-06-27 (bug)[5c51be] invalid mem read buffer in Tk_PhotoPut* (chavez) - -2020-06-27 (bug)[16ef16] restore bind sequence support, bind-33.(16-21) (vogel) - -2020-07-02 (bug)[2d2459] default style for combobox (bll) - -2020-07-06 (bug)[40e4bf] double free, entry-19.21 (vogel) - -2020-07-06 (bug)[e3888d] grab & warp, bind-36.1 (vogel) - -2020-07-12 (bug)[2442314] fontchooser i18n (nijtmans) - -2020-07-13 (bug)[7655f6] [*entry]: selected text drawing reform (chavez) - -2020-07-14 (bug)[09abd7] workaround invalid key codes from Debian 10 (vogel) - -2020-07-20 (bug)[cf3853] Aqua: improve bounds on non-Retina displays (chavez) - -2020-08-01 Aqua: [winfo rgb] light and dark mode support (culler) - -2020-08-15 (bug)[315104] Aqua: appearance change virtual events (culler) - -2020-08-21 (bug)[291699] mouse binding for scrollbar grip (bll) - -2020-09-08 (bug)[6c2425] buffer bounds violation (chavez) - -2020-09-08 (bug)[2a6d63] OSX 10.6 crash (hellstrom,culler) - -2020-09-08 (bug)[420feb] undefined behavior due to alignment (chavez,nijtmans) - -2020-09-10 (bug)[ab1fea] Aqua init issues (culler) - -2020-09-14 (bug)[71e18c] Aqua: crash in full screen toggle (culler) - -2020-09-18 (bug)[4f4f03] Aqua: mouse drags across title bar (nab,culler) - -2020-09-21 (bug)[d91e05] select/copy in disabled text (bll) - -2020-09-27 (TIP #581) disfavor Master/Slave terminology (nijtmans) - -2020-09-30 (bug)[59cba3] win: improve theme detection (bll,nijtmans) - -2020-10-06 (bug)[175a6e] Aqua: support tiled windows (culler) - -2020-10-07 (bug)[1fa8c3] Aqua: crash on resize during display (nab,culler) - -2020-10-16 (bug)[c2483b] Aqua: consistent finalization (culler,nijtmans) - -2020-11-06 (bug)[c9ebac] Aqua: use standard about dialog (culler) - -2020-11-07 (bug)[4ebcc0] sticky fontchooser options (roseman,vogel) - -2020-11-10 (bug)[f9fa92] Aqua: crash in color caching scheme (culler) - -2020-11-20 (bug)[7185d2] Aqua: fixes to special menu support (culler) - -2020-11-24 (bug)[4a40c6] Aqua: [wm manage] frame offset (chavez) - -2020-12-04 (bug)[3ef77f] Aqua dark mode combobox focus ring (walzer,culler) - -2020-12-15 (bug)[80e4c6] Aqua: progressbar animation (nab,culler) - -2020-12-24 (bug)[6157a8] Aqua: file dialog -filetypes (davis,culler) - -- Released 8.6.11, Dec 31, 2020 - https://core.tcl-lang.org/tk/ for details - -Changes to 8.7a5 include all changes to the 8.6 line through 8.6.11, -plus the following, which focuses on the high-level feature changes -in this changeset (new minor version) rather than bug fixes: - -2020-02-22 [TIP 565] Gracefully ignore non-existent tags in canvas raise/lower - -2020-02-22 [TIP 564] Specify ttk font sizes in points on X11 - -2020-02-24 [TIP 563] Scrollwheel on Horizontal Scrollbar Scrolls Without Shift too - -2020-02-28 [TIP 557] C++ support - -2020-03-12 (bug)[355180] solve XKeycodeToKeysym deprecation - *** POTENTIAL INCOMPATIBILITY -- Tk 8.7 now requires X11R6 *** - -2020-03-18 [TIP 569] Eliminate comments that serve lint - -2020-05-17 [d87dc2] Remove TkMacOSXGetStringObjFromCFString() - -2020-05-24 [TIP 574] Add a 'tag delete' command to the ttk::treeview widget - -2020-06-27 (bug)[50ed1e] spinbox with duplicate values - -2020-07-03 [TIP 578] Death to TCL_DBGX - -2020-08-23 (bug)[bb85d2] valgrind on TIP 489 - -2020-08024 (bug)[d30c21] default colors for TIP 496 - -2020-09-02 [TIP 580] Export Tk_GetDoublePixelsFromObj and 5 more - -2020-10-21 [TIP 474] Uniform mouse wheel events - -2020-11-15 [TIP 584] Better introspection for ttk - -2020-11-16 [TIP 588] Unicode for (X11) keysyms - -2020-12-03 [TIP 590] Recommend lowercase package names - -2020-12-09 (bug)[d6e9b4] SVG memory overflow - -2020-12-11 [TIP 591] Rotate ttk::notebook window with mousewheel on tab - -2020-12-12 [TIP 325] System tray and system notification - -2021-01-08 [TIP 592] End support: Windows XP, Server 2003, Vista, Server 2008 - -2021-01-08 (bug)[822330] Prevent buffer overflow in SVG image. - -2021-01-28 (bug)[237971] 'end' argument to [$canvas insert] - -2021-02-25 (bug)[be9cad] crash in [tkwait] - -2021-02-27 [TIP 529] Add metadata dictionary property to tk photo image - -2021-03-02 (bug)[1626ed] Aqua crash: dead keys as meny accelerator - -2021-03-29 (bug)[9b6065] Restore Tcl [update] when Tk is destroyed - -2021-04-08 (bug)[58222c] background colors - -2021-04-09 [TIP 595] Unicode-aware/case-sensitive Loadable Library handling - -2021-04-21 (bug)[cde766] update scrollbars on treeview - -2021-04-26 (bug)[c97464] memleak in aqua fonts - -2021-05-02 (bug)[2ecb09] Follow Mac OSX Key-repeat setting - -2021-05-03 (bug)[8a5086] ttk::entry issue - -2021-05-22 (bug)[3e3360] bind substitution %S - -2021-05-25 (bug)[7bda98] aqua: double click bind with changing focus - -- Released 8.7a5, Jun 18, 2021 --- https://core.tcl-lang.org/tcl/ for details - - -2021-01-04 (bug)[19fb7a] Mac: [tk_messageBox] use proper icons (ericwb,culler) - -2021-01-11 (bug)[7beaed] ttk::bindMouseWheel syntax error (nemethi) - -2021-01-15 (new) support 4 new keycodes: CodeInput, SingleCandidate, - MultipleCandidate, PreviousCandidate (nijtmans) - -2021-01-18 (new) Portable keycodes: OE, oe, Ydiaeresis (nijtmans) - -2021-01-27 (bug)[bdcab8] Mac crash on non-BMP menu label (nab,culler) - -2021-02-07 (bug)[9e1312] to parent after child destroyed (leunissen) - -2021-02-10 (bug)[d3cd4c] more robust notebook processing (nemethi) - -2021-02-25 (bug)[234ee4] crash in [clipboard get] invalid encoding (nijtmans) - -2021-02-25 (bug)[be9cad] Poor trace housekeeping -> tkwait segfault (michael) - -2021-03-02 (bug)[1626ed] Mac: crash with dead key as menu accelerator (culler) - -2021-03-22 (bug)[9b6065] restore Tcl [update], see window-2.12 (leunissen) - -2021-04-07 (bug)[58222c] Mac: entry and spinbox bg colors (chavez,culler) - -2021-04-18 (bug)[34db75,ea876b] cursor motion in peer text (vogel) - -2021-04-26 (bug)[c97464] memleak in TkpDrawAngledChars (nab,culler) - -2021-04-29 Mac: explicit backing CALayer to fix rendering issues (culler) - -2021-05-02 Mac: respect key repeat system setting (culler) - -2021-05-10 (bug)[171ba7] crash when grab and focus are not coordinated (culler) - -2021-05-24 crash due to failed transient record housekeeping (culler) - -2021-05-25 (bug)[7bda98] Mac: bindings fire twice on app activation - -2021-06-03 (bug)[4401d3] Mac: improved support of pixel formats (chavez,culler) - -2021-06-03 (bug)[8ecc3e] Mac: window exposed by Mission Control (chavez,culler) - -2021-06-04 (bug)[099109] segfault reusing a container toplevel (culler) - -2021-06-22 (bug)[4efbfe] static package init order in wish (werner) - -2021-09-21 (bug)[033886] Win: hang in font loading (e-paine,vogel) - -2021-10-14 (bug)[8ebed3] multi-thread safety in Xft use (werner) - -2021-10-22 (new)[TIP 608] New virtual event <> (griffin) - -2021-10-27 (bug) file dialog compatibility with Mac OS 12 (culler) - -2021-10-29 (bug) Mac: stop crash when non-Tk windows go full screen (werner) - -2021-10-30 (bug)[6ea0b3] Mac: grab from menu makes dead window (culler) - -- Released 8.6.12, Nov 5, 2021 - https://core.tcl-lang.org/tk/ for details - -2021-11-09 (bug)[e699a7] Fix build on macOS < 10.12 (culler) - -2021-11-10 (bug)[8aebca,ce5d98] Mac: fix minimize button details (culler) - -2021-11-24 (bug)[18682c,733dae] Mac: Enter/Leave events for toplevels (culler) - -2021-11-29 (bug)[4ac9d2] Mac: canvas screenshot with Img package position - correction (chavez) - -2021-11-30 (documentation cleanup) [bad305] improve wm protocol - WM_DELETE_WINDOW documentation (culler) - -2021-11-30 (new) Mac: new color index "SelectedMenuItemTextColor". - -2021-12-01 (new)[TIP 599] Extended build information (nijtmans) - -2021-12-04 (bug)[440c52] fix PPM/PGM read with graylevel > 255 (vogel) - -2021-12-04 (bug)[5fb814] canvas redraw region for lines/polygones (vogel) - -2021-12-04 (new)[631a0b] text widget: direct mouse events to insert mark, not - current (vogel) - -2021-12-06 (bug)[b164ef] fix mouse events for multiple toplevels (culler) - -2021-12-07 (bug)[be8f5b] crash setting -type empty for a menu (vogel) - -2021-12-10 (bug)[50fc02,50fc02,25894d,156e58] ImgPhoto pointer issues (chavez) - -2021-12-20 (bug)[617861] -justify/-anchor defaults for ttk::label (nijtmans) - -2021-12-20 (bug)[6be8b0] Mac: crash on drag and Cmd-w (culler) - -2021-12-22 (bug)[a132b5] Mac: esc on combobox menu influences click reopening - (culler) - -2021-12-24 (bug)[915316] Mac: drag events not to initial widget (culler) - -2021-12-27 (bug)[eb26d4] Mac: wrong beep when clicking outside a combobox - (culler) - -2021-12-30 (bug)[822450] Mac: crash on exit (culler) - -2022-01-06 (bug)[b7d851] Mac: crash on tkdnd drop and window close (culler) - -2022-01-09 (bug)[40bc81] embedding error test failure (vogel) - -2022-01-16 (bug)[b1d115] No event on new toplevel on current toplevel - destruction (vogel) - -2022-02-03 (bug)[3fefb3] crash in empty ttk::combobox when end index requested - (vogel) - -2022-02-07 (new)[247d80] Chinese message file (NewbieXvwu) - -2022-02-07 (new) Support Windows ARM platform (nijtmans) - -2022-02-11 (bug)[e331bc] NULL to memset in photo blank (chavez) - -2022-02-12 (bug)[fc5073] Mac: crash on native file dialog and tooltip (walzer) - -2022-02-17 (bug)[864b06] PNG photo image color numeric issue (chavez) - -2022-02-24 (bug)[141a11] Mac: dialog box with global grab inresponsive on - click in other toplevel (walzer) - -2022-02-25 (bug)[f75190] tk_fontchooser: multiple font families, locale - change, button activation (holger,vogel) - -2022-02-25 (bug)[ce6b42] (in TCL bug tracker) ttk::spinbox increment event - endless invokation (vogel) - -2022-02-26 (bug)[c7052d] Win: middle mouse click blocks system clipbord - (vogel) - -2022-02-27 (bug)[292598,01acde,e02fc96,0c3dbe,ee49f3,d175bb] Mac: memory leaks - (images, focus ring) (chavez) - -2022-03-07 (bug)[2a6c62] Avoid invalid <> events - (vogel,spjuth) - -2022-03-16 (new)[f47920] Updates to Finnish message catalog (hippelainen) - -2022-03-16 (bug)[424773] crash in test canvPs-5.1 (chavez,vogel) - -2022-03-19 (bug)[5412c6] crash in test canvWind-2.1 (SVID,vogel,griffin) - -2022-03-19 (bug)[54fe7a] crash in test textWind-18.3 (akuli,vogel) - -2022-04-04 (bug)[29b5c2] error in tk_popup with separator entry selected - (griffin) - -2022-04-07 (bug)[415415] scale advances multiple steps on single click (vogel) - -2022-04-10 (bug)[dc4c55] tk_popup entry index (mcdonald) - -2022-04-15 (bug)[c0bf1b] XVirtualEvent buffer overflows (chavez) - -2022-04-19 (new)[8dd3d5] Mac : use Fn + e to access Emoji (nijtmans) - -2022-05-11 (bug)[88cfdc] Mac: dialog memory, avoid use after free (chavez) - -2022-04-21 (new)[bf0f48] Mac: Optimization for compilation is now -O2 - (nijtmans) - -2022-05-08 (bug)[eedd79] potential crashes in option parsing when sizeof(enum) - not equal to int (nijtmans) - -2022-05-08 (bug)[0ce975] panedwindow calls memcpy with NULL pointer (chavez) - -2022-05-22 (bug)[bee96b] Win: cursor warp, [tk busy] (mcdonald) - -2022-06-07 (bug) GIF with multiple images may reuse transparent color (oehhar) - -2022-06-12 (bug)[e4a051] Mac: map embedded window immediately (vogel) - -2022-06-15 (bug)[b18434] cygwin path compiling issues (fassel) - -2022-06-27 [aefdb8,be29f7] Updates to Russian message catalog (pylypenko) - -2022-07-04 Updates to Esperanto message catalog (ender) - -2022-07-19 (bug)[91ca77] Mac: map event handling (rosenburger,culler,landers) - -2022-07-20 (bug)[40bc81,17f44d,150174,61e0bb] embedding error test failures - (vogel) - -2022-07-25 (bug)[a3b03f] Linux, Windows: improve (ttk) menubutton menu - position (danckaert,vogel) - -2022-07-29 Update keysym tables to latest X11R6 (nijtmans) - -2022-08-22 [f6e4d4] consistent cross-platform polygon fill (akuli,chavez) - -2022-09-04 (bug)[bc6020] test treeview-bc602049ab (bende,spjuth) - -2022-09-08 (bug)[e17b6f] Mac: crash in test unixW-50.4 (chavez) - -2022-09-20 [33de84] Mac: handle Apple deprecation of OSTypes (culler) - -2022-09-20 (bug)[412b80] Mac menu: arrow key and menu selection (nab,culler) - -2022-09-22 (bug)[1a46d8,1fa325] Mac: memleak, crash safety in color (chavez) - -2022-10-17 [d93c81] Workaround faulty compiler optimization in VS 2022 (vogel) - -2022-10-26 (bug)[435739] crash in test bind-37.1 (csok,vogel) - -2022-10-28 (bug)[5e4e44] ttk::panedwindow drag robust wrt orientation variants - (xolodho,vogel) - -- Released 8.6.13, Nov 22, 2022 - https://core.tcl-lang.org/tk/ for details - -2022-12-12 Windows binaries licence metadata changed to University of - California to match licence (nadkarni) - -2022-12-12 (bug)[6ee162] crash in [ttk::style configure] (vogel) - -2022-12-14 Permit [tk scaling] to return scale factor in safe interp (nijtmans) - -2023-01-05 Correct rounding of [nsFont pointSize] (nijtmans) - -2023-01-08 (bug)[cee095] X error handler management in Tk_MeasureChars (kechel) - -2023-01-18 macOS 13 SDK deprecates sprintf() (vogel) - -2023-02-12 (bug)[170551] crash in [tk busy forget] - -2023-02-27 (bug)[6cd476] crash using [tk busy hold] (vogel) - -2023-03-04 (bug)[93fe36] Fix <> with -tearoff (mcdonald) - -2023-03-30 (bug)[15c685] menu clones, tests menu-20.1[2-6] (bron) - -2023-04-10 (bug)[f4d9d7] canvas items ignored -disabledwidth (chavez,vogel) - -2023-04-30 (bug)[a9cf21] Text selection omits first character (moosems) - -2023-05-03 (bug)[310c74] No theme change attempts after Tk finalize (chavez) - -2023-05-13 (bug)[3414695] Dialogs robust against parent destruction (vogel) - -2023-05-23 (bug)[ab9581] Guard against use-after-free crashes (chavez) - -2023-05-23 (bug)[f40d9d] Aqua: FourCC bitmaps (chavez) - -2023-05-25 (bug)[7447ed] [tk_chooseColor] handle grab fail (leunissen) - -2023-05-31 (bug)[4666f2] Protect aganst NULL windows (nab,vogel) - -2023-06-06 (bug)[a418aa] bogus @x,y menu entry indices, menu-22.[6-9] (vogel) - -2023-06-11 (bug)[578441] memleak in TkScrollWindow (chavez) - -2023-06-13 (bug)[228476] link wish to correct libtk (root) - -2023-07-09 (bug)[a526d4] Aqua: memleak in TkpOpenDisplay (chavez) - -2023-07-10 (bug)[fa4694,0502c1] Aqua: memleaks in TkpConfigureMenuEntry (chavez) - -2023-07-17 (bug)[f9eddb] region clip & copy better OS implementations (chavez) - -2023-07-18 (bug)[2cb602] Aqua: memleak in TkCreateRegion (chavez) - -2023-07-19 (bug)[edb769] Aqua: memleak in XGetImage (chavez) - -2023-07-19 (bug)[c35c34] memleak in Initialize (chavez) - -2023-07-20 (bug)[deca94] memleak in TkpMakeMenuWindow (chavez) - -2023-07-23 (bug)[f24725] crash using Aqua pre-defined bitmap names (chavez) - -2023-07-24 (feature) better solve Y2038 on most systems (chavez,nijtmans) - -2023-07-26 (bug)[ed9b28] Aqua: memleak in GetWidgetDemoPath (chavez) - -2023-08-02 (bug)[2a3222] navigation exposed clues about masked entry - -2023-08-04 Update [trace] subcommands for Tcl 9 compat - -2023-08-29 (bug)[e42eef] memory issues interfacing with XIM (goodward) - -2023-08-30 (bug)[ef5d3e] Aqua: crash after first toplevel destroyed (chavez) - -2023-09-01 (bug)[6cc800] Harmonize number parsing with Tcl (nijtmans) - *** POTENTIAL INCOMPATIBILITY *** - -2023-09-03 (bug)[4468ed] Iconlist no fg text color from options db (chavez) - *** POTENTIAL INCOMPATIBILITY *** - -2023-09-04 (bug)[d2396a] error reporting from [send -option] (emanuele,nijtmans) - -2023-10-11 (bug)[9675dd] wrong free() call from Tk_ConfigureValue (nijtmans) - -2023-10 (bug) Many revisions to satisfy -fsanitize=function (chavez) - [d96974,04d3e5,84fe25,bb8041] - -2023-10-16 (bug)[22eefb] unixWm-45.[24] (vogel) - -2023-10-18 (bug)[10b38a] Silence macOS 14 warning about secure restorable state - -2023-10-28 (bug)[198376] move notebook tabs to position s (rozenberg,vogel) - -2023-11-06 (bug)[499f8e] eliminate undefined realloc() calls (chavez) - -2023-11-07 (bug)[09a11f] crash menu-40.[12] (chavez,culler) - -2023-11-13 (bug)[eedd2e] ttk::notebook looks bad when tabs are positioned on - edges other than the top (nemethi,werner) - -2023-11-15 (bug)[61550f] font-44.1 with Xft (vogel) - -2023-11-22 (bug)[22a4ad] Aqua: CoreGraphics manages memory for pixmaps (chavez) - -2023-11-28 (bug)[900f23] PNG encoder missed 0xFF entry (obermeier) - -2023-12-03 Aqua: Update handling of Apple FourCC creator codes (chavez) - -2023-12-03 (bug)[fe9423] Aqua: XPutImage() swap red and blue (chavez) - *** POTENTIAL INCOMPATIBILITY *** - -2023-12-09 (bug)[1d8b71] X: Photo color drawing for 32-bit visuals (warnholz) - -2023-12-12 Update to latest X11 headers - -2023-12-22 (bug)[9c5742] Fix handling of abbreviated -relief args (nijtmans) - -2024-01-03 (bug)[52df66] nonXft: [font measure] results inconsistent (vogel) - -2024-01-05 (bug)[a9e637] treeview display partial final line (bron) - -2024-01-09 (bug)[b7abf0] treeview destruction from O(N^2) to O(N) (emiliano) - -2024-01-12 (bug)[737abf] text image insertion from O(N^2) to O(N) - -2024-01-27 (bug)[8da7af] font caching performance issues (thraen,vogel) - -2024-02-08 (bug)[57b821] see test textIndex-22.16 (vogel) - -- Released 8.6.14, Feb 28, 2024 - https://core.tcl-lang.org/tk/ for details - -Changes to 9.0b2 include all changes to the 8.6 line through 8.6.14 -and all changes to the 8.7 line through 8.7a5 -plus the following, which focuses on the high-level feature changes -in this changeset (new major version) rather than bug fixes: - -- Released 9.0b2, Mar ??, 2024 - https://core.tcl-lang.org/tk/ for details -- cgit v0.12 From 70c3d2172ca7358ff925db43e999405f5680eeb4 Mon Sep 17 00:00:00 2001 From: dgp Date: Fri, 5 Apr 2024 15:45:15 +0000 Subject: changes file removed --- unix/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unix/Makefile.in b/unix/Makefile.in index 90f3683..f79af80 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -1709,7 +1709,7 @@ dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tkConfig.h.in $(UNIX_DIR)/tk.pc.in $(MAC $(DIST_INSTALL_DATA) $(GENERIC_DIR)/*.[ch] $(DISTDIR)/generic $(DIST_INSTALL_DATA) $(GENERIC_DIR)/*.decls $(DISTDIR)/generic $(DIST_INSTALL_DATA) $(GENERIC_DIR)/README $(DISTDIR)/generic - $(DIST_INSTALL_DATA) $(TOP_DIR)/changes $(TOP_DIR)/README.md \ + $(DIST_INSTALL_DATA) $(TOP_DIR)/README.md \ $(TOP_DIR)/license.terms $(DISTDIR) rm -f $(DISTDIR)/generic/blt*.[ch] $(INSTALL_DATA_DIR) $(DISTDIR)/generic/ttk -- cgit v0.12 From 9d86ae4f2a542b742dc47db341c18338f4925b78 Mon Sep 17 00:00:00 2001 From: dgp Date: Mon, 29 Apr 2024 17:17:34 +0000 Subject: Intro for changes file --- changes.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/changes.md b/changes.md index 30404ce..101dd29 100644 --- a/changes.md +++ b/changes.md @@ -1 +1,12 @@ -TODO \ No newline at end of file + +The source code for Tk is managed by fossil. Tk developers coordinate all +changes to the Tk source code at + + https://core.tcl-lang.org/tk/ + +Release Tk 9.0b2 arises from the check-in with tag core-9-0-b2. + +Highlighted differences between Tk 9.0 and Tk 8.6 are summarized below, +with focus on changes important to programmers using the Tk library and +writing Tcl script containing Tk commands. + -- cgit v0.12 From 719a235330b3785d3058914a5a7c7bd13fe4065f Mon Sep 17 00:00:00 2001 From: dgp Date: Mon, 29 Apr 2024 17:20:36 +0000 Subject: typo --- changes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changes.md b/changes.md index 101dd29..53cae28 100644 --- a/changes.md +++ b/changes.md @@ -8,5 +8,5 @@ Release Tk 9.0b2 arises from the check-in with tag core-9-0-b2. Highlighted differences between Tk 9.0 and Tk 8.6 are summarized below, with focus on changes important to programmers using the Tk library and -writing Tcl script containing Tk commands. +writing Tcl scripts containing Tk commands. -- cgit v0.12 From 6d416bc34525b5bccffff99b61112fd43d81f7de Mon Sep 17 00:00:00 2001 From: dgp Date: Mon, 29 Apr 2024 17:25:11 +0000 Subject: WIP: First round of changes summary pulled from release notes. --- changes.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/changes.md b/changes.md index 53cae28..0d1cd4a 100644 --- a/changes.md +++ b/changes.md @@ -10,3 +10,27 @@ Highlighted differences between Tk 9.0 and Tk 8.6 are summarized below, with focus on changes important to programmers using the Tk library and writing Tcl scripts containing Tk commands. + * Many improvements to use of platform features and conventions. + - Built-in widgets and themes are scaling-aware. + - Improved support of two-finger gestures, where available + - The [tk windowingsystem] "aqua" needs macOS 10.10 or later + + * New commands and options + - [tk sysnotify]: access to the OS notifications system + - [tk systray]: access to the OS tray facility + - [tk print]: access to the OS printing facility + + * Widget options + - New ttk::progressbar option: -text + - [$frame ... -backgroundimage $img -tile $bool] + - [$menu id], [$menu add|insert ... ?$id? ...] + - [$image get ... -withalpha ...] + - All indices now accept the forms "end", "end-int", "int+|-int" + + * Improved widget appearance + - ttk::notebook with nondefault tab positions + + * Images + - Partial SVG support + - Read/write access to photo image metadata + -- cgit v0.12 From 5c8602a8c4d32c3b9834df16837740feea0069de Mon Sep 17 00:00:00 2001 From: csaba Date: Sun, 12 May 2024 17:34:54 +0000 Subject: One more adaptation of the "classic" theme to the look of current Tk core widgets. --- library/ttk/classicTheme.tcl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/ttk/classicTheme.tcl b/library/ttk/classicTheme.tcl index 1aa1593..575e899 100644 --- a/library/ttk/classicTheme.tcl +++ b/library/ttk/classicTheme.tcl @@ -31,9 +31,9 @@ namespace eval ttk::theme::classic { -indicatorcolor $colors(-frame) \ -highlightcolor $colors(-frame) \ -highlightthickness 1 \ - -selectborderwidth 1 \ - -insertwidth 2 \ + -selectborderwidth 0 \ -borderwidth 1 \ + -insertwidth 2 \ -focuswidth 0 # To match pre-Xft X11 appearance, use: -- cgit v0.12 From 2c3ccd7095739d87563b0fb410fc21cfbc9d383b Mon Sep 17 00:00:00 2001 From: csaba Date: Mon, 13 May 2024 12:51:54 +0000 Subject: Better way to set the borderwidth of two style elements of the "classic" theme to 2. --- generic/ttk/ttkClassicTheme.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/generic/ttk/ttkClassicTheme.c b/generic/ttk/ttkClassicTheme.c index af776e5..8dd8f98 100644 --- a/generic/ttk/ttkClassicTheme.c +++ b/generic/ttk/ttkClassicTheme.c @@ -396,10 +396,10 @@ static const Ttk_ElementOptionSpec MenuIndicatorElementOptions[] = { offsetof(MenuIndicatorElement,widthObj), "4.0m" }, { "-indicatorheight", TK_OPTION_PIXELS, offsetof(MenuIndicatorElement,heightObj), "1.7m" }, - { "-borderwidth", TK_OPTION_PIXELS, + { "-indicatorborderwidth", TK_OPTION_PIXELS, offsetof(MenuIndicatorElement,borderWidthObj), DEFAULT_BORDERWIDTH }, { "-indicatorrelief", TK_OPTION_RELIEF, - offsetof(MenuIndicatorElement,reliefObj),"raised" }, + offsetof(MenuIndicatorElement,reliefObj), "raised" }, { "-indicatormargin", TK_OPTION_STRING, offsetof(MenuIndicatorElement,marginObj), "5 0" }, { NULL, TK_OPTION_BOOLEAN, 0, NULL } @@ -418,7 +418,7 @@ static void MenuIndicatorElementSize( Tk_GetPixelsFromObj(NULL, tkwin, mi->widthObj, widthPtr); Tk_GetPixelsFromObj(NULL, tkwin, mi->heightObj, heightPtr); - Ttk_GetPaddingFromObj(NULL,tkwin,mi->marginObj, &margins); + Ttk_GetPaddingFromObj(NULL, tkwin, mi->marginObj, &margins); *widthPtr += Ttk_PaddingWidth(margins); *heightPtr += Ttk_PaddingHeight(margins); } @@ -438,9 +438,7 @@ static void MenuIndicatorElementDraw( Ttk_GetPaddingFromObj(NULL,tkwin,mi->marginObj,&margins); b = Ttk_PadBox(b, margins); -#if 0 Tk_GetPixelsFromObj(NULL, tkwin, mi->borderWidthObj, &borderWidth); -#endif Tk_Fill3DRectangle(tkwin, d, border, b.x, b.y, b.width, b.height, borderWidth, TK_RELIEF_RAISED); } @@ -568,18 +566,18 @@ typedef struct { } SliderElement; static const Ttk_ElementOptionSpec SliderElementOptions[] = { - { "-sliderlength", TK_OPTION_PIXELS, offsetof(SliderElement,lengthObj), - "30" }, - { "-sliderthickness",TK_OPTION_PIXELS, offsetof(SliderElement,thicknessObj), - "15" }, - { "-sliderrelief", TK_OPTION_RELIEF, offsetof(SliderElement,reliefObj), - "raised" }, - { "-borderwidth", TK_OPTION_PIXELS, offsetof(SliderElement,borderWidthObj), - DEFAULT_BORDERWIDTH }, - { "-background", TK_OPTION_BORDER, offsetof(SliderElement,borderObj), - DEFAULT_BACKGROUND }, - { "-orient", TK_OPTION_ANY, offsetof(SliderElement,orientObj), - "horizontal" }, + { "-sliderlength", TK_OPTION_PIXELS, + offsetof(SliderElement,lengthObj), "30" }, + { "-sliderthickness",TK_OPTION_PIXELS, + offsetof(SliderElement,thicknessObj), "15" }, + { "-sliderrelief", TK_OPTION_RELIEF, + offsetof(SliderElement,reliefObj), "raised" }, + { "-sliderborderwidth", TK_OPTION_PIXELS, + offsetof(SliderElement,borderWidthObj), DEFAULT_BORDERWIDTH }, + { "-background", TK_OPTION_BORDER, + offsetof(SliderElement,borderObj), DEFAULT_BACKGROUND }, + { "-orient", TK_OPTION_ANY, + offsetof(SliderElement,orientObj), "horizontal" }, { NULL, TK_OPTION_BOOLEAN, 0, NULL } }; @@ -626,11 +624,9 @@ static void SliderElementDraw( Ttk_Orient orient; border = Tk_Get3DBorderFromObj(tkwin, slider->borderObj); - Ttk_GetOrientFromObj(NULL, slider->orientObj, &orient); Tk_GetReliefFromObj(NULL, slider->reliefObj, &relief); -#if 0 Tk_GetPixelsFromObj(NULL, tkwin, slider->borderWidthObj, &borderWidth); -#endif + Ttk_GetOrientFromObj(NULL, slider->orientObj, &orient); Tk_Fill3DRectangle(tkwin, d, border, b.x, b.y, b.width, b.height, -- cgit v0.12 From f54b922805c9137e980e69a9870246d952836bd4 Mon Sep 17 00:00:00 2001 From: csaba Date: Mon, 13 May 2024 12:53:38 +0000 Subject: Better way to set the borderwidth of two style elements of the "classic" theme to 2. --- generic/ttk/ttkClassicTheme.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/generic/ttk/ttkClassicTheme.c b/generic/ttk/ttkClassicTheme.c index c0f9917..edc44f5 100644 --- a/generic/ttk/ttkClassicTheme.c +++ b/generic/ttk/ttkClassicTheme.c @@ -396,10 +396,10 @@ static const Ttk_ElementOptionSpec MenuIndicatorElementOptions[] = { offsetof(MenuIndicatorElement,widthObj), "4.0m" }, { "-indicatorheight", TK_OPTION_PIXELS, offsetof(MenuIndicatorElement,heightObj), "1.7m" }, - { "-borderwidth", TK_OPTION_PIXELS, + { "-indicatorborderwidth", TK_OPTION_PIXELS, offsetof(MenuIndicatorElement,borderWidthObj), DEFAULT_BORDERWIDTH }, { "-indicatorrelief", TK_OPTION_RELIEF, - offsetof(MenuIndicatorElement,reliefObj),"raised" }, + offsetof(MenuIndicatorElement,reliefObj), "raised" }, { "-indicatormargin", TK_OPTION_STRING, offsetof(MenuIndicatorElement,marginObj), "5 0" }, { NULL, TK_OPTION_BOOLEAN, 0, NULL } @@ -418,7 +418,7 @@ static void MenuIndicatorElementSize( Tk_GetPixelsFromObj(NULL, tkwin, mi->widthObj, widthPtr); Tk_GetPixelsFromObj(NULL, tkwin, mi->heightObj, heightPtr); - Ttk_GetPaddingFromObj(NULL,tkwin,mi->marginObj, &margins); + Ttk_GetPaddingFromObj(NULL, tkwin, mi->marginObj, &margins); *widthPtr += Ttk_PaddingWidth(margins); *heightPtr += Ttk_PaddingHeight(margins); } @@ -438,9 +438,7 @@ static void MenuIndicatorElementDraw( Ttk_GetPaddingFromObj(NULL,tkwin,mi->marginObj,&margins); b = Ttk_PadBox(b, margins); -#if 0 Tk_GetPixelsFromObj(NULL, tkwin, mi->borderWidthObj, &borderWidth); -#endif Tk_Fill3DRectangle(tkwin, d, border, b.x, b.y, b.width, b.height, borderWidth, TK_RELIEF_RAISED); } @@ -568,18 +566,18 @@ typedef struct { } SliderElement; static const Ttk_ElementOptionSpec SliderElementOptions[] = { - { "-sliderlength", TK_OPTION_PIXELS, offsetof(SliderElement,lengthObj), - "30" }, - { "-sliderthickness",TK_OPTION_PIXELS, offsetof(SliderElement,thicknessObj), - "15" }, - { "-sliderrelief", TK_OPTION_RELIEF, offsetof(SliderElement,reliefObj), - "raised" }, - { "-borderwidth", TK_OPTION_PIXELS, offsetof(SliderElement,borderWidthObj), - DEFAULT_BORDERWIDTH }, - { "-background", TK_OPTION_BORDER, offsetof(SliderElement,borderObj), - DEFAULT_BACKGROUND }, - { "-orient", TK_OPTION_ANY, offsetof(SliderElement,orientObj), - "horizontal" }, + { "-sliderlength", TK_OPTION_PIXELS, + offsetof(SliderElement,lengthObj), "30" }, + { "-sliderthickness",TK_OPTION_PIXELS, + offsetof(SliderElement,thicknessObj), "15" }, + { "-sliderrelief", TK_OPTION_RELIEF, + offsetof(SliderElement,reliefObj), "raised" }, + { "-sliderborderwidth", TK_OPTION_PIXELS, + offsetof(SliderElement,borderWidthObj), DEFAULT_BORDERWIDTH }, + { "-background", TK_OPTION_BORDER, + offsetof(SliderElement,borderObj), DEFAULT_BACKGROUND }, + { "-orient", TK_OPTION_ANY, + offsetof(SliderElement,orientObj), "horizontal" }, { NULL, TK_OPTION_BOOLEAN, 0, NULL } }; @@ -626,11 +624,9 @@ static void SliderElementDraw( Ttk_Orient orient; border = Tk_Get3DBorderFromObj(tkwin, slider->borderObj); - TtkGetOrientFromObj(NULL, slider->orientObj, &orient); Tk_GetReliefFromObj(NULL, slider->reliefObj, &relief); -#if 0 Tk_GetPixelsFromObj(NULL, tkwin, slider->borderWidthObj, &borderWidth); -#endif + TtkGetOrientFromObj(NULL, slider->orientObj, &orient); Tk_Fill3DRectangle(tkwin, d, border, b.x, b.y, b.width, b.height, -- cgit v0.12 From a980e63c27aad956c0f39806752e5d517aa6d870 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Mon, 13 May 2024 13:36:10 +0000 Subject: -mintabwidth could be specified in any pixel form as well --- generic/ttk/ttkNotebook.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generic/ttk/ttkNotebook.c b/generic/ttk/ttkNotebook.c index 96e3561..9c9aa2e 100644 --- a/generic/ttk/ttkNotebook.c +++ b/generic/ttk/ttkNotebook.c @@ -189,7 +189,7 @@ static void NotebookStyleOptions( nbstyle->minTabWidth = DEFAULT_MIN_TAB_WIDTH; if ((objPtr = Ttk_QueryOption(nb->core.layout, "-mintabwidth", 0)) != 0) { - Tcl_GetIntFromObj(NULL, objPtr, &nbstyle->minTabWidth); + Tk_GetPixelsFromObj(NULL, tkwin, objPtr, &nbstyle->minTabWidth); } } -- cgit v0.12 From 91030c03b750afa4571fe20a9dbcdf4208c899b5 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Mon, 13 May 2024 13:39:12 +0000 Subject: selectborderwidth/insertwidth can take any "pixel" form as well --- generic/ttk/ttkEntry.c | 6 +++--- library/ttk/aquaTheme.tcl | 1 - library/ttk/clamTheme.tcl | 1 - library/ttk/classicTheme.tcl | 1 - library/ttk/defaults.tcl | 1 - library/ttk/winTheme.tcl | 2 +- 6 files changed, 4 insertions(+), 8 deletions(-) diff --git a/generic/ttk/ttkEntry.c b/generic/ttk/ttkEntry.c index 8921ebd..11f4653 100644 --- a/generic/ttk/ttkEntry.c +++ b/generic/ttk/ttkEntry.c @@ -1252,9 +1252,9 @@ static void EntryDisplay(void *clientData, Drawable d) Tk_3DBorder selBorder = Tk_Get3DBorderFromObj(tkwin, es.selBorderObj); int selStartX = EntryCharPosition(entryPtr, selFirst); int selEndX = EntryCharPosition(entryPtr, selLast); - int borderWidth = 1; + int borderWidth = 0; - Tcl_GetIntFromObj(NULL, es.selBorderWidthObj, &borderWidth); + Tk_GetPixelsFromObj(NULL, tkwin, es.selBorderWidthObj, &borderWidth); if (selBorder) { Tk_Fill3DRectangle(tkwin, d, selBorder, @@ -1288,7 +1288,7 @@ static void EntryDisplay(void *clientData, Drawable d) cursorHeight = entryPtr->entry.layoutHeight, cursorWidth = 1; - Tcl_GetIntFromObj(NULL,es.insertWidthObj,&cursorWidth); + Tk_GetPixelsFromObj(NULL, tkwin, es.insertWidthObj, &cursorWidth); if (cursorWidth <= 0) { cursorWidth = 1; } diff --git a/library/ttk/aquaTheme.tcl b/library/ttk/aquaTheme.tcl index 06b8769..a631376 100644 --- a/library/ttk/aquaTheme.tcl +++ b/library/ttk/aquaTheme.tcl @@ -11,7 +11,6 @@ namespace eval ttk::theme::aqua { -foreground systemLabelColor \ -selectbackground systemSelectedTextBackgroundColor \ -selectforeground systemSelectedTextColor \ - -selectborderwidth 0 \ -insertwidth 1 ttk::style map . \ diff --git a/library/ttk/clamTheme.tcl b/library/ttk/clamTheme.tcl index abd0bc3..6711d6c 100644 --- a/library/ttk/clamTheme.tcl +++ b/library/ttk/clamTheme.tcl @@ -33,7 +33,6 @@ namespace eval ttk::theme::clam { -troughcolor $colors(-darker) \ -selectbackground $colors(-selectbg) \ -selectforeground $colors(-selectfg) \ - -selectborderwidth 0 \ -font TkDefaultFont ttk::style map "." \ diff --git a/library/ttk/classicTheme.tcl b/library/ttk/classicTheme.tcl index 575e899..7964034 100644 --- a/library/ttk/classicTheme.tcl +++ b/library/ttk/classicTheme.tcl @@ -31,7 +31,6 @@ namespace eval ttk::theme::classic { -indicatorcolor $colors(-frame) \ -highlightcolor $colors(-frame) \ -highlightthickness 1 \ - -selectborderwidth 0 \ -borderwidth 1 \ -insertwidth 2 \ -focuswidth 0 diff --git a/library/ttk/defaults.tcl b/library/ttk/defaults.tcl index 58c8c18..226bd39 100644 --- a/library/ttk/defaults.tcl +++ b/library/ttk/defaults.tcl @@ -90,7 +90,6 @@ proc ttk::theme::default::reconfigureDefaultTheme {} { -foreground $colors(-foreground) \ -troughcolor $colors(-darker) \ -font TkDefaultFont \ - -selectborderwidth 0 \ -selectbackground $colors(-selectbg) \ -selectforeground $colors(-selectfg) \ -insertwidth 1 \ diff --git a/library/ttk/winTheme.tcl b/library/ttk/winTheme.tcl index ec833bf..3be8add 100644 --- a/library/ttk/winTheme.tcl +++ b/library/ttk/winTheme.tcl @@ -30,7 +30,7 @@ namespace eval ttk::theme::winnative { -padding {6p 3p} -arrowsize 2.25p -relief raised ttk::style configure TEntry \ - -padding 2 -selectborderwidth 0 -insertwidth 1 + -padding 2 -insertwidth 1 ttk::style map TEntry \ -fieldbackground \ {readonly SystemButtonFace disabled SystemButtonFace} \ -- cgit v0.12 From 1dbef1d2d8937715b3b34667fdbdbfffe6d89341 Mon Sep 17 00:00:00 2001 From: dgp Date: Tue, 14 May 2024 17:24:40 +0000 Subject: Use more conventional Markdown syntax --- changes.md | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/changes.md b/changes.md index 0d1cd4a..c573a0c 100644 --- a/changes.md +++ b/changes.md @@ -2,7 +2,7 @@ The source code for Tk is managed by fossil. Tk developers coordinate all changes to the Tk source code at - https://core.tcl-lang.org/tk/ +> [Tk Source Code](https://core.tcl-lang.org/tk/) Release Tk 9.0b2 arises from the check-in with tag core-9-0-b2. @@ -10,27 +10,27 @@ Highlighted differences between Tk 9.0 and Tk 8.6 are summarized below, with focus on changes important to programmers using the Tk library and writing Tcl scripts containing Tk commands. - * Many improvements to use of platform features and conventions. - - Built-in widgets and themes are scaling-aware. - - Improved support of two-finger gestures, where available - - The [tk windowingsystem] "aqua" needs macOS 10.10 or later - - * New commands and options - - [tk sysnotify]: access to the OS notifications system - - [tk systray]: access to the OS tray facility - - [tk print]: access to the OS printing facility - - * Widget options - - New ttk::progressbar option: -text - - [$frame ... -backgroundimage $img -tile $bool] - - [$menu id], [$menu add|insert ... ?$id? ...] - - [$image get ... -withalpha ...] - - All indices now accept the forms "end", "end-int", "int+|-int" - - * Improved widget appearance - - ttk::notebook with nondefault tab positions - - * Images - - Partial SVG support - - Read/write access to photo image metadata +## Many improvements to use of platform features and conventions. + - Built-in widgets and themes are scaling-aware. + - Improved support of two-finger gestures, where available + - The `tk windowingsystem` "aqua" needs macOS 10.10 or later + +## New commands and options + - `tk sysnotify`: access to the OS notifications system + - `tk systray`: access to the OS tray facility + - `tk print`: access to the OS printing facility + +## Widget options + - New `ttk::progressbar` option: **-text** + - `$frame ... -backgroundimage $img -tile $bool` + - `$menu id`, `$menu add|insert ... ?$id? ...` + - `$image get ... -withalpha ...` + - All indices now accept the forms **end**, **end-int**, **int+|-int** + +## Improved widget appearance + - `ttk::notebook` with nondefault tab positions + +## Images + - Partial SVG support + - Read/write access to photo image metadata -- cgit v0.12 From ece2290f0f187d183557c32e6c8834d1c965a349 Mon Sep 17 00:00:00 2001 From: csaba Date: Wed, 15 May 2024 10:00:14 +0000 Subject: Scaling-related improvements in the "classic" theme. --- generic/ttk/ttkClassicTheme.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/generic/ttk/ttkClassicTheme.c b/generic/ttk/ttkClassicTheme.c index edc44f5..0494fa9 100644 --- a/generic/ttk/ttkClassicTheme.c +++ b/generic/ttk/ttkClassicTheme.c @@ -66,7 +66,8 @@ static void HighlightElementDraw( &defaultState); GC gc = Tk_GCForColor(highlightColor, d); if (defaultState == TTK_BUTTON_DEFAULT_NORMAL) { - TkDrawInsetFocusHighlight(tkwin, gc, highlightThickness, d, 5); + TkDrawInsetFocusHighlight(tkwin, gc, highlightThickness, d, + round(5 * TkScalingLevel(tkwin))); } else { Tk_DrawFocusHighlight(tkwin, gc, highlightThickness, d); } @@ -128,7 +129,7 @@ static void ButtonBorderElementSize( Ttk_GetButtonDefaultStateFromObj(NULL, bd->defaultStateObj, &defaultState); if (defaultState != TTK_BUTTON_DEFAULT_DISABLED) { - borderWidth += 5; + borderWidth += round(5 * TkScalingLevel(tkwin)); } *paddingPtr = Ttk_UniformPadding((short)borderWidth); } @@ -168,7 +169,7 @@ static void ButtonBorderElementDraw( case TTK_BUTTON_DEFAULT_DISABLED : break; case TTK_BUTTON_DEFAULT_NORMAL : - inset += 5; + inset += round(5 * TkScalingLevel(tkwin)); break; case TTK_BUTTON_DEFAULT_ACTIVE : Tk_Draw3DRectangle(tkwin, d, border, -- cgit v0.12 From d1b06d589cc039ff7f4bcf911333401f713991b4 Mon Sep 17 00:00:00 2001 From: csaba Date: Wed, 15 May 2024 16:24:34 +0000 Subject: Using the application's TkMainInfo struct for sharing the data of the trough's inner box in a thread-safe manner when drawing the ttk::scale widget of the "default" theme. --- generic/tkInt.h | 2 ++ generic/ttk/ttkElements.c | 41 +++++++++++++++++++++++++---------------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/generic/tkInt.h b/generic/tkInt.h index 2130649..a9da4ec 100644 --- a/generic/tkInt.h +++ b/generic/tkInt.h @@ -753,6 +753,8 @@ typedef struct TkMainInfo { #endif unsigned int ttkNbTabsStickBit; /* Information used by ttk::notebook. */ + int troughInnerX, troughInnerY, troughInnerWidth, troughInnerHeight; + /* Information used by ttk::scale. */ } TkMainInfo; /* diff --git a/generic/ttk/ttkElements.c b/generic/ttk/ttkElements.c index 7ebc453..4506ecb 100644 --- a/generic/ttk/ttkElements.c +++ b/generic/ttk/ttkElements.c @@ -1212,8 +1212,6 @@ static void TroughElementSize( } } -static Ttk_Box troughInnerBox; - static void TroughElementDraw( TCL_UNUSED(void *), /* clientData */ void *elementRecord, Tk_Window tkwin, @@ -1224,6 +1222,7 @@ static void TroughElementDraw( Tk_3DBorder border = Tk_Get3DBorderFromObj(tkwin, troughPtr->colorObj); int borderWidth = 1, grooveWidth = -1, relief = TK_RELIEF_SUNKEN; Ttk_Orient orient; + TkMainInfo *mainInfoPtr = ((TkWindow *) tkwin)->mainPtr; Tk_GetPixelsFromObj(NULL, tkwin, troughPtr->borderWidthObj, &borderWidth); Tk_GetPixelsFromObj(NULL, tkwin, troughPtr->grooveWidthObj, &grooveWidth); @@ -1239,10 +1238,15 @@ static void TroughElementDraw( b.width = grooveWidth; } - troughInnerBox.x = b.x + borderWidth; - troughInnerBox.y = b.y + borderWidth; - troughInnerBox.width = b.width - 2*borderWidth; - troughInnerBox.height = b.height - 2*borderWidth; + /* + * Save the data of the trough's inner box for later + */ + if (mainInfoPtr != NULL) { + mainInfoPtr->troughInnerX = b.x + borderWidth; + mainInfoPtr->troughInnerY = b.y + borderWidth; + mainInfoPtr->troughInnerWidth = b.width - 2*borderWidth; + mainInfoPtr->troughInnerHeight = b.height - 2*borderWidth; + } } Tk_Fill3DRectangle(tkwin, d, border, b.x, b.y, b.width, b.height, @@ -1385,6 +1389,7 @@ static void SliderElementDraw( { double scalingLevel = TkScalingLevel(tkwin); int dim = SLIDER_DIM * scalingLevel; + TkMainInfo *mainInfoPtr = ((TkWindow *) tkwin)->mainPtr; SliderElement *slider = (SliderElement *)elementRecord; Ttk_Orient orient; @@ -1426,16 +1431,20 @@ static void SliderElementDraw( * Fill the thin trough area preceding the * slider's center with the inner color */ - TtkGetOrientFromObj(NULL, slider->orientObj, &orient); - switch (orient) { - case TTK_ORIENT_HORIZONTAL: - XFillRectangle(disp, d, gc, troughInnerBox.x, troughInnerBox.y, - b.x + dim/2 - 1, troughInnerBox.height); - break; - case TTK_ORIENT_VERTICAL: - XFillRectangle(disp, d, gc, troughInnerBox.x, troughInnerBox.y, - troughInnerBox.width, b.y + dim/2 - 1); - break; + if (mainInfoPtr != NULL) { + TtkGetOrientFromObj(NULL, slider->orientObj, &orient); + switch (orient) { + case TTK_ORIENT_HORIZONTAL: + XFillRectangle(disp, d, gc, + mainInfoPtr->troughInnerX, mainInfoPtr->troughInnerY, + b.x + dim/2 - 1, mainInfoPtr->troughInnerHeight); + break; + case TTK_ORIENT_VERTICAL: + XFillRectangle(disp, d, gc, + mainInfoPtr->troughInnerX, mainInfoPtr->troughInnerY, + mainInfoPtr->troughInnerWidth, b.y + dim/2 - 1); + break; + } } /* -- cgit v0.12 From 4f3bd35cc8a055ecc94507243800f219fc477cac Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Sun, 19 May 2024 12:09:25 +0000 Subject: Fix [527cb3cd5d]. Moves special internal flags outside the user1-user6 range --- generic/ttk/ttkClamTheme.c | 10 +++++----- generic/ttk/ttkDefaultTheme.c | 3 --- generic/ttk/ttkNotebook.c | 4 ++-- generic/ttk/ttkThemeInt.h | 9 +++++++++ generic/ttk/ttkTreeview.c | 3 --- macosx/ttkMacOSXTheme.c | 34 ++++++++++++++++------------------ macosx/ttkMacOSXTheme.h | 2 -- win/ttkWinXPTheme.c | 3 --- 8 files changed, 32 insertions(+), 36 deletions(-) diff --git a/generic/ttk/ttkClamTheme.c b/generic/ttk/ttkClamTheme.c index dceec38..d13462d 100644 --- a/generic/ttk/ttkClamTheme.c +++ b/generic/ttk/ttkClamTheme.c @@ -5,7 +5,7 @@ */ #include "tkInt.h" -#include "ttkTheme.h" +#include "ttkThemeInt.h" /* * Under windows, the Tk-provided XDrawLine and XDrawArc have an @@ -1035,7 +1035,7 @@ static void TabElementDraw( switch (nbTabsStickBit) { default: case TTK_STICK_S: - if (state & TTK_STATE_USER2) { /* rightmost tab */ + if (state & TTK_STATE_LAST) { /* rightmost tab */ --b.width; } @@ -1057,7 +1057,7 @@ static void TabElementDraw( break; case TTK_STICK_N: - if (state & TTK_STATE_USER2) { /* rightmost tab */ + if (state & TTK_STATE_LAST) { /* rightmost tab */ --b.width; } @@ -1079,7 +1079,7 @@ static void TabElementDraw( break; case TTK_STICK_E: - if (state & TTK_STATE_USER2) { /* bottommost tab */ + if (state & TTK_STATE_LAST) { /* bottommost tab */ --b.height; } @@ -1101,7 +1101,7 @@ static void TabElementDraw( break; case TTK_STICK_W: - if (state & TTK_STATE_USER2) { /* bottommost tab */ + if (state & TTK_STATE_LAST) { /* bottommost tab */ --b.height; } diff --git a/generic/ttk/ttkDefaultTheme.c b/generic/ttk/ttkDefaultTheme.c index ce1aebf..8182c27 100644 --- a/generic/ttk/ttkDefaultTheme.c +++ b/generic/ttk/ttkDefaultTheme.c @@ -1208,9 +1208,6 @@ static const Ttk_ElementSpec SliderElementSpec = { * +++ Tree indicator element. */ -#define TTK_STATE_OPEN TTK_STATE_USER1 /* XREF: treeview.c */ -#define TTK_STATE_LEAF TTK_STATE_USER2 - typedef struct { Tcl_Obj *colorObj; Tcl_Obj *marginObj; diff --git a/generic/ttk/ttkNotebook.c b/generic/ttk/ttkNotebook.c index 96f7997..11a5046 100644 --- a/generic/ttk/ttkNotebook.c +++ b/generic/ttk/ttkNotebook.c @@ -317,7 +317,7 @@ static Ttk_State TabState(Notebook *nb, Tcl_Size index) continue; } if (index == i) { - state |= TTK_STATE_USER1; + state |= TTK_STATE_FIRST; } break; } @@ -327,7 +327,7 @@ static Ttk_State TabState(Notebook *nb, Tcl_Size index) continue; } if (index == i) { - state |= TTK_STATE_USER2; + state |= TTK_STATE_LAST; } break; } diff --git a/generic/ttk/ttkThemeInt.h b/generic/ttk/ttkThemeInt.h index 0b5e48f..37e9c83 100644 --- a/generic/ttk/ttkThemeInt.h +++ b/generic/ttk/ttkThemeInt.h @@ -9,6 +9,15 @@ #include "ttkTheme.h" +/*------------------------------------------------------------------------ + * +++ Widget states (internal). + */ + +#define TTK_STATE_OPEN (1<<16) +#define TTK_STATE_LEAF (1<<17) +#define TTK_STATE_FIRST (1<<18) +#define TTK_STATE_LAST (1<<19) + typedef struct Ttk_TemplateNode_ Ttk_TemplateNode, *Ttk_LayoutTemplate; MODULE_SCOPE Ttk_ElementClass *Ttk_GetElement(Ttk_Theme, const char *name); diff --git a/generic/ttk/ttkTreeview.c b/generic/ttk/ttkTreeview.c index 84667c5..5acf9c3 100644 --- a/generic/ttk/ttkTreeview.c +++ b/generic/ttk/ttkTreeview.c @@ -23,9 +23,6 @@ static const Tk_Anchor DEFAULT_IMAGEANCHOR = TK_ANCHOR_W; static const int DEFAULT_INDENT = 20; static const int HALO = 4; /* heading separator */ -#define TTK_STATE_OPEN TTK_STATE_USER1 -#define TTK_STATE_LEAF TTK_STATE_USER2 - #define STATE_CHANGED (0x100) /* item state option changed */ #define MAX(a,b) (((a) > (b)) ? (a) : (b)) diff --git a/macosx/ttkMacOSXTheme.c b/macosx/ttkMacOSXTheme.c index efcb271..7a89fa7 100644 --- a/macosx/ttkMacOSXTheme.c +++ b/macosx/ttkMacOSXTheme.c @@ -30,7 +30,7 @@ */ #include "tkMacOSXPrivate.h" -#include "ttk/ttkTheme.h" +#include "ttk/ttkThemeInt.h" #include "ttkMacOSXTheme.h" #include "tkColor.h" #include @@ -1488,11 +1488,11 @@ DrawTab( CGContextClipToRect(context, bounds); if (OSVersion < 110000 || !(state & TTK_STATE_SELECTED)) { - if (!(state & TTK_STATE_FIRST_TAB)) { + if (!(state & TTK_STATE_FIRST)) { bounds.origin.x -= 10; bounds.size.width += 10; } - if (!(state & TTK_STATE_LAST_TAB)) { + if (!(state & TTK_STATE_LAST)) { bounds.size.width += 10; } } @@ -1510,7 +1510,7 @@ DrawTab( * not first. */ - if (!(state & TTK_STATE_FIRST_TAB)) { + if (!(state & TTK_STATE_FIRST)) { CGContextSaveGState(context); strokeColor = CGColorFromGray(darkTabSeparator); CGContextSetStrokeColorWithColor(context, strokeColor); @@ -1530,7 +1530,7 @@ DrawTab( * (The selected tab is always drawn last.) */ - if ((state & TTK_STATE_FIRST_TAB) && !(state & TTK_STATE_LAST_TAB)) { + if ((state & TTK_STATE_FIRST) && !(state & TTK_STATE_LAST)) { bounds.size.width += 1; } if (!(state & TTK_STATE_BACKGROUND)) { @@ -1559,12 +1559,12 @@ DrawTab11( * rounded rectangle behind the entire tab bar. */ - if (!(state & TTK_STATE_FIRST_TAB)) { + if (!(state & TTK_STATE_FIRST)) { clipRect.origin.x -= 5; bounds.origin.x -= 5; bounds.size.width += 5; } - if (!(state & TTK_STATE_LAST_TAB)) { + if (!(state & TTK_STATE_LAST)) { clipRect.size.width += 5; bounds.size.width += 5; } @@ -1874,15 +1874,15 @@ static const Ttk_StateTable TabStyleTable[] = { {kThemeTabNonFront, 0, 0} }; static const Ttk_StateTable TabAdornmentTable[] = { - {kHIThemeTabAdornmentNone, TTK_STATE_FIRST_TAB | TTK_STATE_LAST_TAB, 0}, - {kHIThemeTabAdornmentTrailingSeparator, TTK_STATE_FIRST_TAB, 0}, - {kHIThemeTabAdornmentNone, TTK_STATE_LAST_TAB, 0}, + {kHIThemeTabAdornmentNone, TTK_STATE_FIRST | TTK_STATE_LAST, 0}, + {kHIThemeTabAdornmentTrailingSeparator, TTK_STATE_FIRST, 0}, + {kHIThemeTabAdornmentNone, TTK_STATE_LAST, 0}, {kHIThemeTabAdornmentTrailingSeparator, 0, 0}, }; static const Ttk_StateTable TabPositionTable[] = { - {kHIThemeTabPositionOnly, TTK_STATE_FIRST_TAB | TTK_STATE_LAST_TAB, 0}, - {kHIThemeTabPositionFirst, TTK_STATE_FIRST_TAB, 0}, - {kHIThemeTabPositionLast, TTK_STATE_LAST_TAB, 0}, + {kHIThemeTabPositionOnly, TTK_STATE_FIRST | TTK_STATE_LAST, 0}, + {kHIThemeTabPositionFirst, TTK_STATE_FIRST, 0}, + {kHIThemeTabPositionLast, TTK_STATE_LAST, 0}, {kHIThemeTabPositionMiddle, 0, 0}, }; @@ -3321,10 +3321,8 @@ static Ttk_ElementSpec TreeHeaderElementSpec = { * +++ Disclosure triangles -- */ -#define TTK_TREEVIEW_STATE_OPEN TTK_STATE_USER1 -#define TTK_TREEVIEW_STATE_LEAF TTK_STATE_USER2 static const Ttk_StateTable DisclosureValueTable[] = { - {kThemeDisclosureDown, TTK_TREEVIEW_STATE_OPEN, 0}, + {kThemeDisclosureDown, TTK_STATE_OPEN, 0}, {kThemeDisclosureRight, 0, 0}, }; static void DisclosureElementSize( @@ -3351,7 +3349,7 @@ static void DisclosureElementDraw( Ttk_Box b, Ttk_State state) { - if (!(state & TTK_TREEVIEW_STATE_LEAF)) { + if (!(state & TTK_STATE_LEAF)) { int triangleState = TkMacOSXInDarkMode(tkwin) ? kThemeStateInactive : kThemeStateActive; CGRect bounds = BoxToRect(d, b); @@ -3370,7 +3368,7 @@ static void DisclosureElementDraw( NSColor *stroke = [[NSColor textColor] colorUsingColorSpace: deviceRGB]; [stroke getComponents: rgba]; - if (state & TTK_TREEVIEW_STATE_OPEN) { + if (state & TTK_STATE_OPEN) { DrawOpenDisclosure(dc.context, bounds, 2, 8, rgba); } else { DrawClosedDisclosure(dc.context, bounds, 2, 12, rgba); diff --git a/macosx/ttkMacOSXTheme.h b/macosx/ttkMacOSXTheme.h index 994cb10..1e2b7ae 100644 --- a/macosx/ttkMacOSXTheme.h +++ b/macosx/ttkMacOSXTheme.h @@ -38,8 +38,6 @@ * Meanings of Ttk states represented by User1 and User2. */ -#define TTK_STATE_FIRST_TAB TTK_STATE_USER1 -#define TTK_STATE_LAST_TAB TTK_STATE_USER2 #define TTK_STATE_IS_ACCENTED TTK_STATE_USER2 #define TTK_TREEVIEW_STATE_SORTARROW TTK_STATE_USER1 diff --git a/win/ttkWinXPTheme.c b/win/ttkWinXPTheme.c index 51790e4..7e13151 100644 --- a/win/ttkWinXPTheme.c +++ b/win/ttkWinXPTheme.c @@ -866,9 +866,6 @@ static const Ttk_ElementSpec TabElementSpec = * Generic element, but don't display at all if TTK_STATE_LEAF (=USER2) set */ -#define TTK_STATE_OPEN TTK_STATE_USER1 -#define TTK_STATE_LEAF TTK_STATE_USER2 - static const Ttk_StateTable header_statemap[] = { { HIS_PRESSED, TTK_STATE_PRESSED, 0 }, -- cgit v0.12 From f8d4b5b0eec7442eb2bba4479d53908b422dabb8 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Mon, 20 May 2024 20:14:49 +0000 Subject: b2 -> b3, as preparation for next release --- README.md | 2 +- changes.md | 2 +- generic/tk.h | 4 ++-- library/tk.tcl | 2 +- unix/configure | 2 +- unix/configure.ac | 2 +- unix/tk.spec | 2 +- win/configure | 2 +- win/configure.ac | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 6b15318..adb76b5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # README: Tk -This is the **Tk 9.0b2** source distribution. +This is the **Tk 9.0b3** source distribution. You can get any source release of Tk from [our distribution site](https://sourceforge.net/projects/tcl/files/Tcl/). diff --git a/changes.md b/changes.md index c573a0c..23674a4 100644 --- a/changes.md +++ b/changes.md @@ -4,7 +4,7 @@ changes to the Tk source code at > [Tk Source Code](https://core.tcl-lang.org/tk/) -Release Tk 9.0b2 arises from the check-in with tag core-9-0-b2. +Release Tk 9.0b3 arises from the check-in with tag core-9-0-b3. Highlighted differences between Tk 9.0 and Tk 8.6 are summarized below, with focus on changes important to programmers using the Tk library and diff --git a/generic/tk.h b/generic/tk.h index 32f7a83..7d7f2fe 100644 --- a/generic/tk.h +++ b/generic/tk.h @@ -71,10 +71,10 @@ extern "C" { #if TK_MAJOR_VERSION == 9 # define TK_MINOR_VERSION 0 # define TK_RELEASE_LEVEL TCL_BETA_RELEASE -# define TK_RELEASE_SERIAL 2 +# define TK_RELEASE_SERIAL 3 # define TK_VERSION "9.0" -# define TK_PATCH_LEVEL "9.0b2" +# define TK_PATCH_LEVEL "9.0b3" #endif /* TK_MAJOR_VERSION */ /* diff --git a/library/tk.tcl b/library/tk.tcl index b15b8c6..390ca69 100644 --- a/library/tk.tcl +++ b/library/tk.tcl @@ -11,7 +11,7 @@ # this file, and for a DISCLAIMER OF ALL WARRANTIES. # Verify that we have Tk binary and script components from the same release -package require -exact tk 9.0b2 +package require -exact tk 9.0b3 # Create a ::tk namespace namespace eval ::tk { diff --git a/unix/configure b/unix/configure index 5b92069..ff77a98 100755 --- a/unix/configure +++ b/unix/configure @@ -2603,7 +2603,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu TK_VERSION=9.0 TK_MAJOR_VERSION=9 TK_MINOR_VERSION=0 -TK_PATCH_LEVEL="b2" +TK_PATCH_LEVEL="b3" VERSION=${TK_VERSION} LOCALES="cs da de el en en_gb eo es fr hu it nl pl pt ru sv" diff --git a/unix/configure.ac b/unix/configure.ac index 28849b1..3bacf8b 100644 --- a/unix/configure.ac +++ b/unix/configure.ac @@ -26,7 +26,7 @@ m4_ifdef([SC_USE_CONFIG_HEADERS], [ TK_VERSION=9.0 TK_MAJOR_VERSION=9 TK_MINOR_VERSION=0 -TK_PATCH_LEVEL="b2" +TK_PATCH_LEVEL="b3" VERSION=${TK_VERSION} LOCALES="cs da de el en en_gb eo es fr hu it nl pl pt ru sv" diff --git a/unix/tk.spec b/unix/tk.spec index 39dc62c..abb352f 100644 --- a/unix/tk.spec +++ b/unix/tk.spec @@ -4,7 +4,7 @@ Name: tk Summary: Tk graphical toolkit for the Tcl scripting language. -Version: 9.0b2 +Version: 9.0b3 Release: 2 License: BSD Group: Development/Languages diff --git a/win/configure b/win/configure index d7bae89..0af7f10 100755 --- a/win/configure +++ b/win/configure @@ -2410,7 +2410,7 @@ SHELL=/bin/sh TK_VERSION=9.0 TK_MAJOR_VERSION=9 TK_MINOR_VERSION=0 -TK_PATCH_LEVEL="b2" +TK_PATCH_LEVEL="b3" VER=$TK_MAJOR_VERSION$TK_MINOR_VERSION #------------------------------------------------------------------------ diff --git a/win/configure.ac b/win/configure.ac index 93476cf..e56f0e4 100644 --- a/win/configure.ac +++ b/win/configure.ac @@ -15,7 +15,7 @@ SHELL=/bin/sh TK_VERSION=9.0 TK_MAJOR_VERSION=9 TK_MINOR_VERSION=0 -TK_PATCH_LEVEL="b2" +TK_PATCH_LEVEL="b3" VER=$TK_MAJOR_VERSION$TK_MINOR_VERSION #------------------------------------------------------------------------ -- cgit v0.12 From aeef890ebe6106ea783b80a7626e04a8a7906824 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Fri, 24 May 2024 14:58:42 +0000 Subject: Small round of sentinel/spacing improvements --- generic/tk3d.c | 2 +- generic/tkArgv.c | 12 ++--- generic/tkBind.c | 118 +++++++++++++++++++++++----------------------- generic/tkBitmap.c | 8 ++-- generic/tkBusy.c | 2 +- generic/tkButton.c | 2 +- generic/tkClipboard.c | 6 +-- generic/tkCmds.c | 26 +++++----- generic/tkError.c | 2 +- generic/tkEvent.c | 32 ++++++------- generic/tkFocus.c | 10 ++-- generic/tkGeometry.c | 16 +++---- generic/tkGet.c | 22 ++++----- generic/tkIcu.c | 4 +- generic/tkImage.c | 12 ++--- generic/tkImgPhInstance.c | 2 +- generic/tkStyle.c | 10 ++-- generic/tkUndo.c | 8 ++-- generic/tkUtil.c | 26 +++++----- generic/tkVisual.c | 10 ++-- generic/tkWindow.c | 36 +++++++------- 21 files changed, 184 insertions(+), 182 deletions(-) diff --git a/generic/tk3d.c b/generic/tk3d.c index 33e2e56..be7ba9b 100644 --- a/generic/tk3d.c +++ b/generic/tk3d.c @@ -680,7 +680,7 @@ Tk_GetRelief( Tcl_SetObjResult(interp, Tcl_ObjPrintf("bad relief \"%.50s\": must be %s", name, "flat, groove, raised, ridge, solid, or sunken")); - Tcl_SetErrorCode(interp, "TK", "VALUE", "RELIEF", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "RELIEF", (char *)NULL); } return TCL_ERROR; } diff --git a/generic/tkArgv.c b/generic/tkArgv.c index 33e7d4f..134b081 100644 --- a/generic/tkArgv.c +++ b/generic/tkArgv.c @@ -142,7 +142,7 @@ Tk_ParseArgv( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "ambiguous option \"%s\"", curArg)); Tcl_SetErrorCode(interp, "TK", "ARG", "AMBIGUOUS", curArg, - NULL); + (char *)NULL); return TCL_ERROR; } matchPtr = infoPtr; @@ -158,7 +158,7 @@ Tk_ParseArgv( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "unrecognized argument \"%s\"", curArg)); Tcl_SetErrorCode(interp, "TK", "ARG", "UNRECOGNIZED", curArg, - NULL); + (char *)NULL); return TCL_ERROR; } argv[dstIndex] = curArg; @@ -239,7 +239,7 @@ Tk_ParseArgv( } case TK_ARGV_HELP: PrintUsage(interp, argTable, flags); - Tcl_SetErrorCode(interp, "TK", "ARG", "HELP", NULL); + Tcl_SetErrorCode(interp, "TK", "ARG", "HELP", (char *)NULL); return TCL_ERROR; case TK_ARGV_CONST_OPTION: Tk_AddOption(tkwin, (char *)infoPtr->dst, (char *)infoPtr->src, @@ -260,7 +260,7 @@ Tk_ParseArgv( "\"%s\" option requires two following arguments", curArg)); Tcl_SetErrorCode(interp, "TK", "ARG", "NAME_VALUE", curArg, - NULL); + (char *)NULL); return TCL_ERROR; } Tk_AddOption(tkwin, argv[srcIndex], argv[srcIndex+1], @@ -271,7 +271,7 @@ Tk_ParseArgv( default: Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad argument type %d in Tk_ArgvInfo", infoPtr->type)); - Tcl_SetErrorCode(interp, "TK", "API_ABUSE", NULL); + Tcl_SetErrorCode(interp, "TK", "API_ABUSE", (char *)NULL); return TCL_ERROR; } } @@ -295,7 +295,7 @@ Tk_ParseArgv( missingArg: Tcl_SetObjResult(interp, Tcl_ObjPrintf( "\"%s\" option requires an additional argument", curArg)); - Tcl_SetErrorCode(interp, "TK", "ARG", "MISSING", curArg, NULL); + Tcl_SetErrorCode(interp, "TK", "ARG", "MISSING", curArg, (char *)NULL); return TCL_ERROR; } diff --git a/generic/tkBind.c b/generic/tkBind.c index ae9d5e1..cc97fde 100644 --- a/generic/tkBind.c +++ b/generic/tkBind.c @@ -528,7 +528,7 @@ static const EventInfo eventArray[] = { {"Activate", ActivateNotify, ActivateMask}, {"Deactivate", DeactivateNotify, ActivateMask}, {"MouseWheel", MouseWheelEvent, MouseWheelMask}, - {"TouchpadScroll", TouchpadScroll, TouchpadScrollMask}, + {"TouchpadScroll", TouchpadScroll, TouchpadScrollMask}, {"CirculateRequest", CirculateRequest, SubstructureRedirectMask}, {"ConfigureRequest", ConfigureRequest, SubstructureRedirectMask}, {"Create", CreateNotify, SubstructureNotifyMask}, @@ -2780,7 +2780,9 @@ IsPSInPSList( PSEntry *psEntry; TK_DLIST_FOREACH(psEntry, psList) { - if (psEntry->psPtr == psPtr) { return 1; } + if (psEntry->psPtr == psPtr) { + return 1; + } } return 0; } @@ -2833,12 +2835,12 @@ MatchPatterns( * it from the keyboard. See bug [16ef161925]. */ if (IsKeyEventType(curEvent->xev.type)) { - for (i = 0; i < dispPtr->numModKeyCodes; ++i) { - if (dispPtr->modKeyCodes[i] == curEvent->xev.xkey.keycode) { - isModKeyOnly = 1; - break; - } - } + for (i = 0; i < dispPtr->numModKeyCodes; ++i) { + if (dispPtr->modKeyCodes[i] == curEvent->xev.xkey.keycode) { + isModKeyOnly = 1; + break; + } + } } for (psEntry = PSList_First(psList); psEntry; psEntry = PSList_Next(psEntry)) { @@ -2855,11 +2857,11 @@ MatchPatterns( : VirtPatIsBound(bindPtr, psPtr, object, physPtrPtr)) { TkPattern *patPtr = psPtr->pats + patIndex; - /* Ignore modifier key events, and KeyRelease events if the current event - * is of a different type (e.g. a Button event) - */ - psEntry->keepIt = isModKeyOnly || \ - ((patPtr->eventType != (unsigned) curEvent->xev.type) && curEvent->xev.type == KeyRelease); + /* Ignore modifier key events, and KeyRelease events if the current event + * is of a different type (e.g. a Button event) + */ + psEntry->keepIt = isModKeyOnly || \ + ((patPtr->eventType != (unsigned) curEvent->xev.type) && curEvent->xev.type == KeyRelease); if (patPtr->eventType == (unsigned) curEvent->xev.type && (curEvent->xev.type != CreateNotify @@ -2875,7 +2877,7 @@ MatchPatterns( unsigned curModMask = ResolveModifiers(dispPtr, bindPtr->curModMask); psEntry->expired = 1; /* Remove it from promotion list. */ - psEntry->keepIt = 0; /* Don't keep matching patterns. */ + psEntry->keepIt = 0; /* Don't keep matching patterns. */ if (IsSubsetOf(modMask, curModMask)) { unsigned count = patPtr->info ? curEvent->countDetailed : curEvent->countAny; @@ -2942,7 +2944,7 @@ MatchPatterns( psEntry->keepIt = 1; /* Don't remove it from promotion list. */ } } else { - /* + /* * Pattern sequence is already present in the success list. */ @@ -3938,7 +3940,7 @@ HandleEventGenerate( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "window id \"%s\" doesn't exist in this application", Tcl_GetString(objv[0]))); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "WINDOW", Tcl_GetString(objv[0]), NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "WINDOW", Tcl_GetString(objv[0]), (char *)NULL); return TCL_ERROR; } @@ -3952,12 +3954,12 @@ HandleEventGenerate( if (count != 1u) { Tcl_SetObjResult(interp, Tcl_NewStringObj("Double, Triple, or Quadruple modifier not allowed", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "EVENT", "BAD_MODIFIER", NULL); + Tcl_SetErrorCode(interp, "TK", "EVENT", "BAD_MODIFIER", (char *)NULL); return TCL_ERROR; } if (*p) { Tcl_SetObjResult(interp, Tcl_NewStringObj("only one event specification allowed", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "EVENT", "MULTIPLE", NULL); + Tcl_SetErrorCode(interp, "TK", "EVENT", "MULTIPLE", (char *)NULL); return TCL_ERROR; } @@ -4014,7 +4016,7 @@ HandleEventGenerate( for (i = 2; i < objc; i += 2) { Tcl_Obj *optionPtr, *valuePtr; #if defined(_MSC_VER) - /* Work around MSVC compiler optimization bug, see [d93c8175fd]. */ + /* Work around MSVC compiler optimization bug, see [d93c8175fd]. */ volatile int badOpt = 0; #else int badOpt = 0; @@ -4038,7 +4040,7 @@ HandleEventGenerate( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "value for \"%s\" missing", Tcl_GetString(optionPtr))); - Tcl_SetErrorCode(interp, "TK", "EVENT", "MISSING_VALUE", NULL); + Tcl_SetErrorCode(interp, "TK", "EVENT", "MISSING_VALUE", (char *)NULL); return TCL_ERROR; } @@ -4176,14 +4178,14 @@ HandleEventGenerate( keysym = TkStringToKeysym(value); if (keysym == NoSymbol) { Tcl_SetObjResult(interp, Tcl_ObjPrintf("unknown keysym \"%s\"", value)); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "KEYSYM", value, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "KEYSYM", value, (char *)NULL); return TCL_ERROR; } TkpSetKeycodeAndState(tkwin, keysym, &event.general); if (event.general.xkey.keycode == 0) { Tcl_SetObjResult(interp, Tcl_ObjPrintf("no keycode for keysym \"%s\"", value)); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "KEYCODE", value, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "KEYCODE", value, (char *)NULL); return TCL_ERROR; } if (!(flags & KEY)) { @@ -4418,7 +4420,7 @@ HandleEventGenerate( if (badOpt) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "%s event doesn't accept \"%s\" option", name, Tcl_GetString(optionPtr))); - Tcl_SetErrorCode(interp, "TK", "EVENT", "BAD_OPTION", NULL); + Tcl_SetErrorCode(interp, "TK", "EVENT", "BAD_OPTION", (char *)NULL); return TCL_ERROR; } } @@ -4461,19 +4463,19 @@ HandleEventGenerate( dispPtr->warpX = event.general.xmotion.x; dispPtr->warpY = event.general.xmotion.y; - /* - * Warping with respect to a window will be done when Tk_handleEvent - * below will run the event handlers and in particular TkPointerEvent. - * This allows to make grabs and warping work together robustly, that - * is without depending on a precise sequence of events. - * Warping with respect to the whole screen (i.e. dispPtr->warpWindow - * is NULL) is run directly here. - */ - - if (!dispPtr->warpWindow) { - TkpWarpPointer(dispPtr); - XForceScreenSaver(dispPtr->display, ScreenSaverReset); - } + /* + * Warping with respect to a window will be done when Tk_handleEvent + * below will run the event handlers and in particular TkPointerEvent. + * This allows to make grabs and warping work together robustly, that + * is without depending on a precise sequence of events. + * Warping with respect to the whole screen (i.e. dispPtr->warpWindow + * is NULL) is run directly here. + */ + + if (!dispPtr->warpWindow) { + TkpWarpPointer(dispPtr); + XForceScreenSaver(dispPtr->display, ScreenSaverReset); + } } /* @@ -4544,7 +4546,7 @@ NameToWindow( if (!tkwin) { Tcl_SetObjResult(interp, Tcl_ObjPrintf("bad window name/identifier \"%s\"", name)); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "WINDOW_ID", name, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "WINDOW_ID", name, (char *)NULL); return 0; } } @@ -4583,20 +4585,20 @@ TkDoWarpWrtWin( if (dispPtr->warpWindow) { - /* - * Warping with respect to a window can only be done if the window is - * mapped. This was checked in HandleEvent. The window needs to be - * still mapped at the time the present code is executed. Also - * one needs to guard against window destruction in the meantime, - * which could have happened as a side effect of an event handler. - */ - - if (Tk_IsMapped(dispPtr->warpWindow) && Tk_WindowId(dispPtr->warpWindow) != None) { - TkpWarpPointer(dispPtr); - XForceScreenSaver(dispPtr->display, ScreenSaverReset); - } - Tcl_Release(dispPtr->warpWindow); - dispPtr->warpWindow = NULL; + /* + * Warping with respect to a window can only be done if the window is + * mapped. This was checked in HandleEvent. The window needs to be + * still mapped at the time the present code is executed. Also + * one needs to guard against window destruction in the meantime, + * which could have happened as a side effect of an event handler. + */ + + if (Tk_IsMapped(dispPtr->warpWindow) && Tk_WindowId(dispPtr->warpWindow) != None) { + TkpWarpPointer(dispPtr); + XForceScreenSaver(dispPtr->display, ScreenSaverReset); + } + Tcl_Release(dispPtr->warpWindow); + dispPtr->warpWindow = NULL; } } @@ -4638,7 +4640,7 @@ GetVirtualEventUid( || virtString[length - 2] != '>' || virtString[length - 1] != '>') { Tcl_SetObjResult(interp, Tcl_ObjPrintf("virtual event \"%s\" is badly formed", virtString)); - Tcl_SetErrorCode(interp, "TK", "EVENT", "VIRTUAL", "MALFORMED", NULL); + Tcl_SetErrorCode(interp, "TK", "EVENT", "VIRTUAL", "MALFORMED", (char *)NULL); return NULL; } virtString[length - 2] = '\0'; @@ -4731,7 +4733,7 @@ FindSequence( if (!allowVirtual) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "virtual event not allowed in definition of another virtual event", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "EVENT", "VIRTUAL", "INNER", NULL); + Tcl_SetErrorCode(interp, "TK", "EVENT", "VIRTUAL", "INNER", (char *)NULL); ckfree(psPtr); return NULL; } @@ -4755,13 +4757,13 @@ FindSequence( if (numPats == 0) { Tcl_SetObjResult(interp, Tcl_NewStringObj("no events specified in binding", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "EVENT", "NO_EVENTS", NULL); + Tcl_SetErrorCode(interp, "TK", "EVENT", "NO_EVENTS", (char *)NULL); ckfree(psPtr); return NULL; } if (numPats > 1u && virtualFound) { Tcl_SetObjResult(interp, Tcl_NewStringObj("virtual events may not be composed", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "EVENT", "VIRTUAL", "COMPOSITION", NULL); + Tcl_SetErrorCode(interp, "TK", "EVENT", "VIRTUAL", "COMPOSITION", (char *)NULL); ckfree(psPtr); return NULL; } @@ -4861,7 +4863,7 @@ FinalizeParseEventDescription( if (errorObj) { Tcl_SetObjResult(interp, errorObj); - Tcl_SetErrorCode(interp, "TK", "EVENT", errCode, NULL); + Tcl_SetErrorCode(interp, "TK", "EVENT", errCode, (char *)NULL); } patPtr->count = count; return count; @@ -5287,9 +5289,9 @@ TkStringToKeysym( size_t len = TkUtfToUniChar(name, &keysym); if (name[len] == '\0') { - if (!Tcl_UniCharIsPrint(keysym)) { + if (!Tcl_UniCharIsPrint(keysym)) { /* This form not supported */ - } else if ((unsigned)(keysym - 0x21) <= 0x5D) { + } else if ((unsigned)(keysym - 0x21) <= 0x5D) { return (KeySym)keysym; } else if ((unsigned)(keysym - 0xA1) <= 0x5E) { return (KeySym)keysym; diff --git a/generic/tkBitmap.c b/generic/tkBitmap.c index 9f97b33..edd36ad 100644 --- a/generic/tkBitmap.c +++ b/generic/tkBitmap.c @@ -351,7 +351,7 @@ GetBitmap( Tcl_SetObjResult(interp, Tcl_NewStringObj( "can't specify bitmap with '@' in a safe interpreter", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "SAFE", "BITMAP_FILE", NULL); + Tcl_SetErrorCode(interp, "TK", "SAFE", "BITMAP_FILE", (char *)NULL); goto error; } @@ -373,7 +373,7 @@ GetBitmap( if (interp != NULL) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "error reading bitmap file \"%s\"", string)); - Tcl_SetErrorCode(interp, "TK", "BITMAP", "FILE_ERROR", NULL); + Tcl_SetErrorCode(interp, "TK", "BITMAP", "FILE_ERROR", (char *)NULL); } Tcl_DStringFree(&buffer); goto error; @@ -396,7 +396,7 @@ GetBitmap( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bitmap \"%s\" not defined", string)); Tcl_SetErrorCode(interp, "TK", "LOOKUP", "BITMAP", string, - NULL); + (char *)NULL); } goto error; } @@ -500,7 +500,7 @@ Tk_DefineBitmap( if (!isNew) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bitmap \"%s\" is already defined", name)); - Tcl_SetErrorCode(interp, "TK", "BITMAP", "EXISTS", NULL); + Tcl_SetErrorCode(interp, "TK", "BITMAP", "EXISTS", (char *)NULL); return TCL_ERROR; } predefPtr = (TkPredefBitmap *)ckalloc(sizeof(TkPredefBitmap)); diff --git a/generic/tkBusy.c b/generic/tkBusy.c index 9cac37c..65e1fc7 100644 --- a/generic/tkBusy.c +++ b/generic/tkBusy.c @@ -699,7 +699,7 @@ GetBusy( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "can't find busy window \"%s\"", Tcl_GetString(windowObj))); Tcl_SetErrorCode(interp, "TK", "LOOKUP", "BUSY", - Tcl_GetString(windowObj), NULL); + Tcl_GetString(windowObj), (char *)NULL); return NULL; } return (Busy *)Tcl_GetHashValue(hPtr); diff --git a/generic/tkButton.c b/generic/tkButton.c index fce0f0a..cbbe880 100644 --- a/generic/tkButton.c +++ b/generic/tkButton.c @@ -646,7 +646,7 @@ ButtonCreate( */ tkwin = Tk_CreateWindowFromPath(interp, Tk_MainWindow(interp), - Tcl_GetString(objv[1]), NULL); + Tcl_GetString(objv[1]), (char *)NULL); if (tkwin == NULL) { return TCL_ERROR; } diff --git a/generic/tkClipboard.c b/generic/tkClipboard.c index 1b16b86..3bbfe12 100644 --- a/generic/tkClipboard.c +++ b/generic/tkClipboard.c @@ -373,7 +373,7 @@ Tk_ClipboardAppend( Tk_GetAtomName(tkwin, format), Tk_GetAtomName(tkwin, targetPtr->format), Tk_GetAtomName(tkwin, type))); - Tcl_SetErrorCode(interp, "TK", "CLIPBOARD", "FORMAT_MISMATCH", NULL); + Tcl_SetErrorCode(interp, "TK", "CLIPBOARD", "FORMAT_MISMATCH", (char *)NULL); return TCL_ERROR; } @@ -480,7 +480,7 @@ Tk_ClipboardObjCmd( if (i >= objc) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "value for \"%s\" missing", string)); - Tcl_SetErrorCode(interp, "TK", "CLIPBOARD", "VALUE", NULL); + Tcl_SetErrorCode(interp, "TK", "CLIPBOARD", "VALUE", (char *)NULL); return TCL_ERROR; } switch ((enum appendOptions) subIndex) { @@ -570,7 +570,7 @@ Tk_ClipboardObjCmd( if (i >= objc) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "value for \"%s\" missing", string)); - Tcl_SetErrorCode(interp, "TK", "CLIPBOARD", "VALUE", NULL); + Tcl_SetErrorCode(interp, "TK", "CLIPBOARD", "VALUE", (char *)NULL); return TCL_ERROR; } switch ((enum getOptions) subIndex) { diff --git a/generic/tkCmds.c b/generic/tkCmds.c index eebddaf..aaa6be4 100644 --- a/generic/tkCmds.c +++ b/generic/tkCmds.c @@ -564,7 +564,7 @@ Tk_LowerObjCmd( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "can't lower \"%s\" to bottom", Tcl_GetString(objv[1]))); } - Tcl_SetErrorCode(interp, "TK", "RESTACK", "LOWER", NULL); + Tcl_SetErrorCode(interp, "TK", "RESTACK", "LOWER", (char *)NULL); return TCL_ERROR; } return TCL_OK; @@ -623,7 +623,7 @@ Tk_RaiseObjCmd( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "can't raise \"%s\" to top", Tcl_GetString(objv[1]))); } - Tcl_SetErrorCode(interp, "TK", "RESTACK", "RAISE", NULL); + Tcl_SetErrorCode(interp, "TK", "RESTACK", "RAISE", (char *)NULL); return TCL_ERROR; } return TCL_OK; @@ -693,7 +693,7 @@ AppnameCmd( if (Tcl_IsSafe(interp)) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "appname not accessible in a safe interpreter", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "SAFE", "APPLICATION", NULL); + Tcl_SetErrorCode(interp, "TK", "SAFE", "APPLICATION", (char *)NULL); return TCL_ERROR; } @@ -829,7 +829,7 @@ ScalingCmd( } else if (Tcl_IsSafe(interp)) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "setting the scaling not accessible in a safe interpreter", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "SAFE", "SCALING", NULL); + Tcl_SetErrorCode(interp, "TK", "SAFE", "SCALING", (char *)NULL); return TCL_ERROR; } else if (objc == 2 + skip) { if (Tcl_GetDoubleFromObj(interp, objv[1+skip], &d) != TCL_OK) { @@ -890,7 +890,7 @@ UseinputmethodsCmd( if (Tcl_IsSafe(interp)) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "useinputmethods not accessible in a safe interpreter", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "SAFE", "INPUT_METHODS", NULL); + Tcl_SetErrorCode(interp, "TK", "SAFE", "INPUT_METHODS", (char *)NULL); return TCL_ERROR; } @@ -973,14 +973,14 @@ InactiveCmd( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad option \"%s\": must be reset", string)); Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "INDEX", "option", - string, NULL); + string, (char *)NULL); return TCL_ERROR; } if (Tcl_IsSafe(interp)) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "resetting the user inactivity timer " "is not allowed in a safe interpreter", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "SAFE", "INACTIVITY_TIMER", NULL); + Tcl_SetErrorCode(interp, "TK", "SAFE", "INACTIVITY_TIMER", (char *)NULL); return TCL_ERROR; } Tk_ResetUserInactiveTime(Tk_Display(tkwin)); @@ -1084,7 +1084,7 @@ Tk_TkwaitObjCmd( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "window \"%s\" was deleted before its visibility changed", Tcl_GetString(objv[2]))); - Tcl_SetErrorCode(interp, "TK", "WAIT", "PREMATURE", NULL); + Tcl_SetErrorCode(interp, "TK", "WAIT", "PREMATURE", (char *)NULL); return TCL_ERROR; } Tk_DeleteEventHandler(window, @@ -1619,7 +1619,7 @@ Tk_WinfoObjCmd( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "no atom exists with id \"%s\"", Tcl_GetString(objv[2]))); Tcl_SetErrorCode(interp, "TK", "LOOKUP", "ATOM", - Tcl_GetString(objv[2]), NULL); + Tcl_GetString(objv[2]), (char *)NULL); return TCL_ERROR; } Tcl_SetObjResult(interp, Tcl_NewStringObj(name, TCL_INDEX_NONE)); @@ -1680,7 +1680,7 @@ Tk_WinfoObjCmd( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "window id \"%s\" doesn't exist in this application", string)); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "WINDOW", string, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "WINDOW", string, (char *)NULL); return TCL_ERROR; } @@ -1818,7 +1818,7 @@ Tk_WinfoObjCmd( if (visInfoPtr == NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "can't find any visuals for screen", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "VISUAL", "NONE", NULL); + Tcl_SetErrorCode(interp, "TK", "VISUAL", "NONE", (char *)NULL); return TCL_ERROR; } resultPtr = Tcl_NewObj(); @@ -1895,10 +1895,10 @@ TkGetDisplayOf( string = Tcl_GetStringFromObj(objv[0], &length); if ((length >= 2) && (strncmp(string, "-displayof", length) == 0)) { - if (objc < 2) { + if (objc < 2) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "value for \"-displayof\" missing", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "NO_VALUE", "DISPLAYOF", NULL); + Tcl_SetErrorCode(interp, "TK", "NO_VALUE", "DISPLAYOF", (char *)NULL); return TCL_INDEX_NONE; } *tkwinPtr = Tk_NameToWindow(interp, Tcl_GetString(objv[1]), *tkwinPtr); diff --git a/generic/tkError.c b/generic/tkError.c index b15881f..bffcbe5 100644 --- a/generic/tkError.c +++ b/generic/tkError.c @@ -80,7 +80,7 @@ Tk_CreateErrorHandler( Tk_ErrorProc *errorProc, /* Procedure to invoke when a matching error * occurs. NULL means just ignore matching * errors. */ - ClientData clientData) /* Arbitrary value to pass to errorProc. */ + void *clientData) /* Arbitrary value to pass to errorProc. */ { TkErrorHandler *errorPtr; TkDisplay *dispPtr; diff --git a/generic/tkEvent.c b/generic/tkEvent.c index 59b4e49..1231a97 100644 --- a/generic/tkEvent.c +++ b/generic/tkEvent.c @@ -51,7 +51,7 @@ typedef struct InProgress { typedef struct GenericHandler { Tk_GenericProc *proc; /* Function to dispatch on all X events. */ - ClientData clientData; /* Client data to pass to function. */ + void *clientData; /* Client data to pass to function. */ int deleteFlag; /* Flag to set when this handler is * deleted. */ struct GenericHandler *nextPtr; @@ -134,7 +134,7 @@ static const unsigned long eventMasks[TK_LASTEVENT] = { typedef struct ExitHandler { Tcl_ExitProc *proc; /* Function to call when process exits. */ - ClientData clientData; /* One word of information to pass to proc. */ + void *clientData; /* One word of information to pass to proc. */ struct ExitHandler *nextPtr;/* Next in list of all exit handlers for this * application, or NULL for end of list. */ } ExitHandler; @@ -174,7 +174,7 @@ typedef struct { Tk_RestrictProc *restrictProc; /* Function to call. NULL means no * restrictProc is currently in effect. */ - ClientData restrictArg; /* Argument to pass to restrictProc. */ + void *restrictArg; /* Argument to pass to restrictProc. */ ExitHandler *firstExitPtr; /* First in list of all exit handlers for this * thread. */ int inExit; /* True when this thread is exiting. This is @@ -198,7 +198,7 @@ TCL_DECLARE_MUTEX(exitMutex) */ static void CleanUpTkEvent(XEvent *eventPtr); -static void DelayedMotionProc(ClientData clientData); +static void DelayedMotionProc(void *clientData); static unsigned long GetEventMaskFromXEvent(XEvent *eventPtr); static TkWindow * GetTkWindowFromXEvent(XEvent *eventPtr); static void InvokeClientMessageHandlers(ThreadSpecificData *tsdPtr, @@ -211,7 +211,7 @@ static int InvokeMouseHandlers(TkWindow *winPtr, unsigned long mask, XEvent *eventPtr); static Window ParentXId(Display *display, Window w); static int RefreshKeyboardMappingIfNeeded(XEvent *eventPtr); -static int TkXErrorHandler(ClientData clientData, +static int TkXErrorHandler(void *clientData, XErrorEvent *errEventPtr); static int WindowEventProc(Tcl_Event *evPtr, int flags); static void CreateXIC(TkWindow *winPtr); @@ -692,7 +692,7 @@ Tk_CreateEventHandler( * handler. */ unsigned long mask, /* Events for which proc should be called. */ Tk_EventProc *proc, /* Function to call for each selected event */ - ClientData clientData) /* Arbitrary data to pass to proc. */ + void *clientData) /* Arbitrary data to pass to proc. */ { TkEventHandler *handlerPtr; TkWindow *winPtr = (TkWindow *)token; @@ -782,7 +782,7 @@ Tk_DeleteEventHandler( Tk_Window token, /* Same as corresponding arguments passed */ unsigned long mask, /* previously to Tk_CreateEventHandler. */ Tk_EventProc *proc, - ClientData clientData) + void *clientData) { TkEventHandler *handlerPtr; InProgress *ipPtr; @@ -857,7 +857,7 @@ Tk_DeleteEventHandler( void Tk_CreateGenericHandler( Tk_GenericProc *proc, /* Function to call on every event. */ - ClientData clientData) /* One-word value to pass to proc. */ + void *clientData) /* One-word value to pass to proc. */ { GenericHandler *handlerPtr; ThreadSpecificData *tsdPtr = (ThreadSpecificData *) @@ -898,7 +898,7 @@ Tk_CreateGenericHandler( void Tk_DeleteGenericHandler( Tk_GenericProc *proc, - ClientData clientData) + void *clientData) { GenericHandler * handler; ThreadSpecificData *tsdPtr = (ThreadSpecificData *) @@ -1043,7 +1043,7 @@ TkEventInit(void) static int TkXErrorHandler( - ClientData clientData, /* Pointer to flag we set. */ + void *clientData, /* Pointer to flag we set. */ TCL_UNUSED(XErrorEvent *)) /* X error info. */ { int *error = (int *)clientData; @@ -1455,8 +1455,8 @@ TkCurrentTime( Tk_RestrictProc * Tk_RestrictEvents( Tk_RestrictProc *proc, /* Function to call for each incoming event */ - ClientData arg, /* Arbitrary argument to pass to proc. */ - ClientData *prevArgPtr) /* Place to store information about previous + void *arg, /* Arbitrary argument to pass to proc. */ + void **prevArgPtr) /* Place to store information about previous * argument. */ { Tk_RestrictProc *prev; @@ -1814,7 +1814,7 @@ CleanUpTkEvent( static void DelayedMotionProc( - ClientData clientData) /* Pointer to display containing a delayed + void *clientData) /* Pointer to display containing a delayed * motion event to be serviced. */ { TkDisplay *dispPtr = (TkDisplay *)clientData; @@ -1900,7 +1900,7 @@ TkCreateExitHandler( void TkDeleteExitHandler( Tcl_ExitProc *proc, /* Function that was previously registered. */ - ClientData clientData) /* Arbitrary value to pass to proc. */ + void *clientData) /* Arbitrary value to pass to proc. */ { ExitHandler *exitPtr, *prevPtr; @@ -1942,7 +1942,7 @@ TkDeleteExitHandler( void TkCreateThreadExitHandler( Tcl_ExitProc *proc, /* Function to invoke. */ - ClientData clientData) /* Arbitrary value to pass to proc. */ + void *clientData) /* Arbitrary value to pass to proc. */ { ExitHandler *exitPtr; ThreadSpecificData *tsdPtr = (ThreadSpecificData *) @@ -1983,7 +1983,7 @@ TkCreateThreadExitHandler( void TkDeleteThreadExitHandler( Tcl_ExitProc *proc, /* Function that was previously registered. */ - ClientData clientData) /* Arbitrary value to pass to proc. */ + void *clientData) /* Arbitrary value to pass to proc. */ { ExitHandler *exitPtr, *prevPtr; ThreadSpecificData *tsdPtr = (ThreadSpecificData *) diff --git a/generic/tkFocus.c b/generic/tkFocus.c index cd2df92..9ea7321 100644 --- a/generic/tkFocus.c +++ b/generic/tkFocus.c @@ -82,7 +82,7 @@ typedef struct TkDisplayFocusInfo { static DisplayFocusInfo*FindDisplayFocusInfo(TkMainInfo *mainPtr, TkDisplay *dispPtr); -static void FocusMapProc(ClientData clientData, XEvent *eventPtr); +static void FocusMapProc(void *clientData, XEvent *eventPtr); static void GenerateFocusEvents(TkWindow *sourcePtr, TkWindow *destPtr); @@ -105,7 +105,7 @@ static void GenerateFocusEvents(TkWindow *sourcePtr, int Tk_FocusObjCmd( - ClientData clientData, /* Main window associated with interpreter. */ + void *clientData, /* Main window associated with interpreter. */ Tcl_Interp *interp, /* Current interpreter. */ int objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ @@ -630,8 +630,8 @@ TkSetFocusWin( } tlFocusPtr->focusWinPtr = winPtr; - if (topLevelPtr->flags & TK_EMBEDDED && - (displayFocusPtr->focusWinPtr == NULL)) { + if ((topLevelPtr->flags & TK_EMBEDDED) && + (displayFocusPtr->focusWinPtr == NULL)) { /* * We are assigning focus to an embedded toplevel. The platform @@ -971,7 +971,7 @@ GenerateFocusEvents( static void FocusMapProc( - ClientData clientData, /* Toplevel window. */ + void *clientData, /* Toplevel window. */ XEvent *eventPtr) /* Information about event. */ { TkWindow *winPtr = (TkWindow *)clientData; diff --git a/generic/tkGeometry.c b/generic/tkGeometry.c index 10344f7..b34e3ba 100644 --- a/generic/tkGeometry.c +++ b/generic/tkGeometry.c @@ -53,10 +53,10 @@ typedef struct MaintainContainer { * Prototypes for static procedures in this file: */ -static void MaintainCheckProc(ClientData clientData); -static void MaintainContainerProc(ClientData clientData, +static void MaintainCheckProc(void *clientData); +static void MaintainContainerProc(void *clientData, XEvent *eventPtr); -static void MaintainContentProc(ClientData clientData, +static void MaintainContentProc(void *clientData, XEvent *eventPtr); /* @@ -87,7 +87,7 @@ Tk_ManageGeometry( const Tk_GeomMgr *mgrPtr, /* Static structure describing the geometry * manager. This structure must never go * away. */ - ClientData clientData) /* Arbitrary one-word argument to pass to + void *clientData) /* Arbitrary one-word argument to pass to * geometry manager procedures. */ { TkWindow *winPtr = (TkWindow *) tkwin; @@ -336,7 +336,7 @@ TkSetGeometryContainer( "cannot use geometry manager %s inside %s because" " %s is already managing it's content windows", name, Tk_PathName(tkwin), winPtr->geomMgrName)); - Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "FIGHT", NULL); + Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "FIGHT", (char *)NULL); } return TCL_ERROR; } @@ -654,7 +654,7 @@ Tk_UnmaintainGeometry( static void MaintainContainerProc( - ClientData clientData, /* Pointer to MaintainContainer structure for the + void *clientData, /* Pointer to MaintainContainer structure for the * container window. */ XEvent *eventPtr) /* Describes what just happened. */ { @@ -708,7 +708,7 @@ MaintainContainerProc( static void MaintainContentProc( - ClientData clientData, /* Pointer to MaintainContent structure for + void *clientData, /* Pointer to MaintainContent structure for * container-window pair. */ XEvent *eventPtr) /* Describes what just happened. */ { @@ -741,7 +741,7 @@ MaintainContentProc( static void MaintainCheckProc( - ClientData clientData) /* Pointer to MaintainContainer structure for the + void *clientData) /* Pointer to MaintainContainer structure for the * container window. */ { MaintainContainer *containerPtr = (MaintainContainer *)clientData; diff --git a/generic/tkGet.c b/generic/tkGet.c index dea28bf..f109582 100644 --- a/generic/tkGet.c +++ b/generic/tkGet.c @@ -28,7 +28,7 @@ typedef struct { } ThreadSpecificData; static Tcl_ThreadDataKey dataKey; -static void FreeUidThreadExitProc(ClientData clientData); +static void FreeUidThreadExitProc(void *clientData); /* * The following tables defines the string values for reliefs, which are @@ -155,7 +155,7 @@ Tk_GetAnchor( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad anchor position \"%s\": must be" " n, ne, e, se, s, sw, w, nw, or center", string)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "ANCHOR", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "ANCHOR", (char *)NULL); return TCL_ERROR; } @@ -243,7 +243,7 @@ Tk_GetJoinStyle( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad join style \"%s\": must be bevel, miter, or round", string)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "JOIN", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "JOIN", (char *)NULL); return TCL_ERROR; } @@ -324,7 +324,7 @@ Tk_GetCapStyle( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad cap style \"%s\": must be butt, projecting, or round", string)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "CAP", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "CAP", (char *)NULL); return TCL_ERROR; } @@ -442,7 +442,7 @@ Tk_GetJustify( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad justification \"%s\": must be left, right, or center", string)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "JUSTIFY", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "JUSTIFY", (char *)NULL); return TCL_ERROR; } @@ -532,7 +532,7 @@ Tk_GetUid( { int dummy; ThreadSpecificData *tsdPtr = (ThreadSpecificData *) - Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); + Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); Tcl_HashTable *tablePtr = &tsdPtr->uidTable; if (!tsdPtr->initialized) { @@ -581,7 +581,7 @@ Tk_GetScreenMM( if (!tkwin) { if (interp != NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj("bad screen", -1)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "SCREEN_DISTANCE", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "SCREEN_DISTANCE", (char *)NULL); } return TCL_ERROR; } @@ -602,7 +602,7 @@ Tk_GetScreenMM( if (interp != NULL) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "expected screen distance or \"\" but got \"%.50s\"", string)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", (char *)NULL); } return TCL_ERROR; } @@ -714,7 +714,7 @@ TkGetDoublePixels( if (!tkwin) { if (interp != NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj("bad screen", -1)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "FRACTIONAL_PIXELS", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "FRACTIONAL_PIXELS", (char *)NULL); } return TCL_ERROR; } @@ -729,8 +729,8 @@ TkGetDoublePixels( error: if (interp != NULL) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( - "expected screen distance but got \"%s\"", string)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", NULL); + "expected screen distance but got \"%.50s\"", string)); + Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", (char *)NULL); } return TCL_ERROR; } diff --git a/generic/tkIcu.c b/generic/tkIcu.c index 257003c..503c98d 100644 --- a/generic/tkIcu.c +++ b/generic/tkIcu.c @@ -96,7 +96,7 @@ startEndOfCmd( if (TkGetIntForIndex(objv[2], ulen-1, 0, &idx) != TCL_OK) { Tcl_DStringFree(&ds); Tcl_SetObjResult(interp, Tcl_ObjPrintf("bad index \"%s\": must be integer?[+-]integer?, end?[+-]integer?, or \"\"", Tcl_GetString(objv[2]))); - Tcl_SetErrorCode(interp, "TK", "ICU", "INDEX", NULL); + Tcl_SetErrorCode(interp, "TK", "ICU", "INDEX", (char *)NULL); return TCL_ERROR; } it = icu_open((UBreakIteratorTypex)(flags&3), locale, @@ -109,7 +109,7 @@ startEndOfCmd( if (it == NULL || errorCode != U_ZERO_ERRORZ) { Tcl_DStringFree(&ds); Tcl_SetObjResult(interp, Tcl_ObjPrintf("cannot open ICU iterator, errorcode: %d", (int)errorCode)); - Tcl_SetErrorCode(interp, "TK", "ICU", "CANNOTOPEN", NULL); + Tcl_SetErrorCode(interp, "TK", "ICU", "CANNOTOPEN", (char *)NULL); return TCL_ERROR; } if (idx > 0 && len != ulen) { diff --git a/generic/tkImage.c b/generic/tkImage.c index 77b2c62..701c765 100644 --- a/generic/tkImage.c +++ b/generic/tkImage.c @@ -233,7 +233,7 @@ Tk_ImageObjCmd( const char *arg, *name; Tcl_Obj *resultObj; ThreadSpecificData *tsdPtr = (ThreadSpecificData *) - Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); + Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); if (objc < 2) { Tcl_WrongNumArgs(interp, 1, objv, "option ?args?"); @@ -280,7 +280,7 @@ Tk_ImageObjCmd( if (typePtr == NULL) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "image type \"%s\" doesn't exist", arg)); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "IMAGE_TYPE", arg, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "IMAGE_TYPE", arg, (char *)NULL); return TCL_ERROR; } @@ -313,7 +313,7 @@ Tk_ImageObjCmd( Tcl_SetObjResult(interp, Tcl_NewStringObj( "images may not be named the same as the main window", -1)); - Tcl_SetErrorCode(interp, "TK", "IMAGE", "SMASH_MAIN", NULL); + Tcl_SetErrorCode(interp, "TK", "IMAGE", "SMASH_MAIN", (char *)NULL); return TCL_ERROR; } } @@ -376,7 +376,7 @@ Tk_ImageObjCmd( Tcl_Preserve(modelPtr); if (oldimage) { typedef int (OldCreateProc)(Tcl_Interp*, char*, Tcl_Size, char**, - Tk_ImageType*, Tk_ImageModel, ClientData*); + Tk_ImageType*, Tk_ImageModel, void **); i = ((OldCreateProc*)typePtr->createProc)(interp, (char*)name, objc, (char**)args, typePtr, (Tk_ImageModel)modelPtr, &modelPtr->modelData); @@ -511,7 +511,7 @@ Tk_ImageObjCmd( alreadyDeleted: Tcl_SetObjResult(interp, Tcl_ObjPrintf("image \"%s\" doesn't exist",arg)); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "IMAGE", arg, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "IMAGE", arg, (char *)NULL); return TCL_ERROR; } @@ -657,7 +657,7 @@ Tk_GetImage( if (interp) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "image \"%s\" doesn't exist", name)); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "IMAGE", name, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "IMAGE", name, (char *)NULL); } return NULL; } diff --git a/generic/tkImgPhInstance.c b/generic/tkImgPhInstance.c index c669b41..98a2b41 100644 --- a/generic/tkImgPhInstance.c +++ b/generic/tkImgPhInstance.c @@ -214,7 +214,7 @@ TkImgPhotoConfigureInstance( *---------------------------------------------------------------------- */ -ClientData +void * TkImgPhotoGet( Tk_Window tkwin, /* Window in which the instance will be * used. */ diff --git a/generic/tkStyle.c b/generic/tkStyle.c index 16601b1..b243674 100644 --- a/generic/tkStyle.c +++ b/generic/tkStyle.c @@ -78,7 +78,7 @@ typedef struct Style { const char *name; /* Name of style. Points to a hash key. */ StyleEngine *enginePtr; /* Style engine of which the style is an * instance. */ - ClientData clientData; /* Data provided during registration. */ + void *clientData; /* Data provided during registration. */ } Style; /* @@ -135,7 +135,7 @@ static StyledWidgetSpec*GetWidgetSpec(StyledElement *elementPtr, static void InitElement(Element *elementPtr, const char *name, int id, int genericId, int created); static void InitStyle(Style *stylePtr, const char *name, - StyleEngine *enginePtr, ClientData clientData); + StyleEngine *enginePtr, void *clientData); static void InitStyledElement(StyledElement *elementPtr); static void InitStyleEngine(StyleEngine *enginePtr, const char *name, StyleEngine *parentPtr); @@ -1229,7 +1229,7 @@ Tk_CreateStyle( const char *name, /* Name of the style to create. NULL or empty * means the default system style. */ Tk_StyleEngine engine, /* The style engine. */ - ClientData clientData) /* Private data passed as is to engine code. */ + void *clientData) /* Private data passed as is to engine code. */ { ThreadSpecificData *tsdPtr = (ThreadSpecificData *) Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); @@ -1315,7 +1315,7 @@ InitStyle( * means the default system style. Usually * points to the hash key. */ StyleEngine *enginePtr, /* The style engine. */ - ClientData clientData) /* Private data passed as is to engine code. */ + void *clientData) /* Private data passed as is to engine code. */ { stylePtr->name = name; stylePtr->enginePtr = enginePtr; @@ -1359,7 +1359,7 @@ Tk_GetStyle( if (interp != NULL) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "style \"%s\" doesn't exist", name)); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "STYLE", name, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "STYLE", name, (char *)NULL); } return NULL; } diff --git a/generic/tkUndo.c b/generic/tkUndo.c index 97ac25b..0e48f69 100644 --- a/generic/tkUndo.c +++ b/generic/tkUndo.c @@ -244,7 +244,7 @@ TkUndoMakeCmdSubAtom( atom->next = NULL; atom->action = actionScript; if (atom->action != NULL) { - Tcl_IncrRefCount(atom->action); + Tcl_IncrRefCount(atom->action); } if (subAtomList != NULL) { @@ -287,7 +287,7 @@ TkUndoSubAtom * TkUndoMakeSubAtom( TkUndoProc *funcPtr, /* Callback function to perform the * undo/redo. */ - ClientData clientData, /* Data to pass to the callback function. */ + void *clientData, /* Data to pass to the callback function. */ Tcl_Obj *actionScript, /* Additional Tcl data to pass to the callback * function (may be NULL). */ TkUndoSubAtom *subAtomList) /* Add to the end of this list of actions if @@ -306,7 +306,7 @@ TkUndoMakeSubAtom( atom->next = NULL; atom->action = actionScript; if (atom->action != NULL) { - Tcl_IncrRefCount(atom->action); + Tcl_IncrRefCount(atom->action); } if (subAtomList != NULL) { @@ -712,7 +712,7 @@ EvaluateActionList( Tcl_GetCommandFullName(interp, action->command, cmdNameObj); Tcl_ListObjAppendElement(NULL, evalObj, cmdNameObj); if (action->action != NULL) { - Tcl_ListObjAppendList(NULL, evalObj, action->action); + Tcl_ListObjAppendList(NULL, evalObj, action->action); } result = Tcl_EvalObjEx(interp, evalObj, TCL_EVAL_GLOBAL); Tcl_DecrRefCount(evalObj); diff --git a/generic/tkUtil.c b/generic/tkUtil.c index ef65880..60daffe 100644 --- a/generic/tkUtil.c +++ b/generic/tkUtil.c @@ -103,7 +103,7 @@ TkStateParseProc( } Tcl_AppendToObj(msgObj, " or disabled", TCL_INDEX_NONE); Tcl_SetObjResult(interp, msgObj); - Tcl_SetErrorCode(interp, "TK", "VALUE", "STATE", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "STATE", (char *)NULL); *statePtr = TK_STATE_NORMAL; return TCL_ERROR; } @@ -205,7 +205,7 @@ TkOrientParseProc( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad orientation \"%s\": must be vertical or horizontal", value)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "ORIENTATION", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "ORIENTATION", (char *)NULL); *orientPtr = 0; return TCL_ERROR; } @@ -396,7 +396,7 @@ TkOffsetParseProc( } Tcl_AppendToObj(msgObj, ", n, ne, e, se, s, sw, w, nw, or center", TCL_INDEX_NONE); Tcl_SetObjResult(interp, msgObj); - Tcl_SetErrorCode(interp, "TK", "VALUE", "OFFSET", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "OFFSET", (char *)NULL); return TCL_ERROR; } @@ -495,7 +495,7 @@ TkPixelParseProc( if ((result == TCL_OK) && (clientData == NULL) && (*doublePtr < 0.0)) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "expected screen distance but got \"%.50s\"", value)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", (char *)NULL); return TCL_ERROR; } return result; @@ -661,7 +661,7 @@ Tk_GetScrollInfo( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "wrong # args: should be \"%s %s %s\"", argv[0], argv[1], "moveto fraction")); - Tcl_SetErrorCode(interp, "TCL", "WRONGARGS", NULL); + Tcl_SetErrorCode(interp, "TCL", "WRONGARGS", (char *)NULL); return TK_SCROLL_ERROR; } if (Tcl_GetDouble(interp, argv[3], dblPtr) != TCL_OK) { @@ -675,7 +675,7 @@ Tk_GetScrollInfo( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "wrong # args: should be \"%s %s %s\"", argv[0], argv[1], "scroll number pages|units")); - Tcl_SetErrorCode(interp, "TCL", "WRONGARGS", NULL); + Tcl_SetErrorCode(interp, "TCL", "WRONGARGS", (char *)NULL); return TK_SCROLL_ERROR; } if (Tcl_GetDouble(interp, argv[3], &d) != TCL_OK) { @@ -692,13 +692,13 @@ Tk_GetScrollInfo( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad argument \"%s\": must be pages or units", argv[4])); - Tcl_SetErrorCode(interp, "TK", "VALUE", "SCROLL_UNITS", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "SCROLL_UNITS", (char *)NULL); return TK_SCROLL_ERROR; } Tcl_SetObjResult(interp, Tcl_ObjPrintf( "unknown option \"%s\": must be moveto or scroll", argv[2])); Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "INDEX", "option", argv[2], - NULL); + (char *)NULL); return TK_SCROLL_ERROR; } @@ -779,12 +779,12 @@ Tk_GetScrollInfoObj( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad argument \"%s\": must be pages or units", arg)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "SCROLL_UNITS", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "SCROLL_UNITS", (char *)NULL); return TK_SCROLL_ERROR; } Tcl_SetObjResult(interp, Tcl_ObjPrintf( "unknown option \"%s\": must be moveto or scroll", arg)); - Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "INDEX", "option", arg, NULL); + Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "INDEX", "option", arg, (char *)NULL); return TK_SCROLL_ERROR; } @@ -958,7 +958,7 @@ TkFindStateNum( ((mPtr[1].strKey != NULL) ? "" : "or "), mPtr->strKey); } Tcl_SetObjResult(interp, msgObj); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", option, strKey, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", option, strKey, (char *)NULL); } return mPtr->numKey; } @@ -1019,7 +1019,7 @@ TkFindStateNumObj( } Tcl_SetObjResult(interp, msgObj); Tcl_SetErrorCode(interp, "TK", "LOOKUP", Tcl_GetString(optionPtr), - key, NULL); + key, (char *)NULL); } return mPtr->numKey; } @@ -1154,7 +1154,7 @@ TkMakeEnsemble( nameObj = Tcl_NewStringObj(map[i].name, TCL_INDEX_NONE); fqdnObj = Tcl_NewStringObj(Tcl_DStringValue(&ds), Tcl_DStringLength(&ds)); - Tcl_AppendStringsToObj(fqdnObj, "::", map[i].name, NULL); + Tcl_AppendStringsToObj(fqdnObj, "::", map[i].name, (char *)NULL); Tcl_DictObjPut(NULL, dictObj, nameObj, fqdnObj); if (map[i].proc) { #if TCL_MAJOR_VERSION > 8 diff --git a/generic/tkVisual.c b/generic/tkVisual.c index bda0c4b..9089e74 100644 --- a/generic/tkVisual.c +++ b/generic/tkVisual.c @@ -175,7 +175,7 @@ Tk_GetVisual( if (Tcl_GetInt(interp, string, &visualId) == TCL_ERROR) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad X identifier for visual: \"%s\"", string)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "VISUALID", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "VISUALID", (char *)NULL); return NULL; } templ.visualid = visualId; @@ -210,7 +210,7 @@ Tk_GetVisual( } Tcl_AppendToObj(msgObj, "or default", TCL_INDEX_NONE); Tcl_SetObjResult(interp, msgObj); - Tcl_SetErrorCode(interp, "TK", "LOOKUP", "VISUAL", string, NULL); + Tcl_SetErrorCode(interp, "TK", "LOOKUP", "VISUAL", string, (char *)NULL); return NULL; } while (isspace(UCHAR(*p))) { @@ -240,7 +240,7 @@ Tk_GetVisual( if (visInfoList == NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "couldn't find an appropriate visual", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "VISUAL", "INAPPROPRIATE", NULL); + Tcl_SetErrorCode(interp, "TK", "VISUAL", "INAPPROPRIATE", (char *)NULL); return NULL; } @@ -407,13 +407,13 @@ Tk_GetColormap( if (Tk_Screen(other) != Tk_Screen(tkwin)) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "can't use colormap for %s: not on same screen", string)); - Tcl_SetErrorCode(interp, "TK", "COLORMAP", "SCREEN", NULL); + Tcl_SetErrorCode(interp, "TK", "COLORMAP", "SCREEN", (char *)NULL); return None; } if (Tk_Visual(other) != Tk_Visual(tkwin)) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "can't use colormap for %s: incompatible visuals", string)); - Tcl_SetErrorCode(interp, "TK", "COLORMAP", "INCOMPATIBLE", NULL); + Tcl_SetErrorCode(interp, "TK", "COLORMAP", "INCOMPATIBLE", (char *)NULL); return None; } colormap = Tk_Colormap(other); diff --git a/generic/tkWindow.c b/generic/tkWindow.c index a23e457..ee0e1b8 100644 --- a/generic/tkWindow.c +++ b/generic/tkWindow.c @@ -436,7 +436,7 @@ GetScreen( if (screenName == NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "no display name and no $DISPLAY environment variable", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "NO_DISPLAY", NULL); + Tcl_SetErrorCode(interp, "TK", "NO_DISPLAY", (char *)NULL); return NULL; } length = strlen(screenName); @@ -466,7 +466,7 @@ GetScreen( if (dispPtr == NULL) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "couldn't connect to display \"%s\"", screenName)); - Tcl_SetErrorCode(interp, "TK", "DISPLAY", "CONNECT", NULL); + Tcl_SetErrorCode(interp, "TK", "DISPLAY", "CONNECT", (char *)NULL); return NULL; } dispPtr->nextPtr = tsdPtr->displayList; /* TkGetDisplayList(); */ @@ -500,7 +500,7 @@ GetScreen( if (screenId >= ScreenCount(dispPtr->display)) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad screen number \"%d\"", screenId)); - Tcl_SetErrorCode(interp, "TK", "DISPLAY", "SCREEN_NUMBER", NULL); + Tcl_SetErrorCode(interp, "TK", "DISPLAY", "SCREEN_NUMBER", (char *)NULL); return NULL; } *screenPtr = screenId; @@ -748,7 +748,7 @@ NameWindow( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "window name starts with an upper-case letter: \"%s\"", name)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "WINDOW", "NOTCLASS", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "WINDOW", "NOTCLASS", (char *)NULL); return TCL_ERROR; } @@ -787,7 +787,7 @@ NameWindow( if (!isNew) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "window name \"%s\" already exists in parent", name)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "WINDOW", "EXISTS", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "WINDOW", "EXISTS", (char *)NULL); return TCL_ERROR; } Tcl_SetHashValue(hPtr, winPtr); @@ -1104,13 +1104,13 @@ Tk_CreateWindow( if (parentPtr->flags & TK_ALREADY_DEAD) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "can't create window: parent has been destroyed", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "CREATE", "DEAD_PARENT", NULL); + Tcl_SetErrorCode(interp, "TK", "CREATE", "DEAD_PARENT", (char *)NULL); return NULL; } else if (parentPtr->flags & TK_CONTAINER) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "can't create window: its parent has -container = yes", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "CREATE", "CONTAINER", NULL); + Tcl_SetErrorCode(interp, "TK", "CREATE", "CONTAINER", (char *)NULL); return NULL; } else if (screenName == NULL) { TkWindow *winPtr = TkAllocWindow(parentPtr->dispPtr, @@ -1168,13 +1168,13 @@ Tk_CreateAnonymousWindow( if (parentPtr->flags & TK_ALREADY_DEAD) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "can't create window: parent has been destroyed", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "CREATE", "DEAD_PARENT", NULL); + Tcl_SetErrorCode(interp, "TK", "CREATE", "DEAD_PARENT", (char *)NULL); return NULL; } else if (parentPtr->flags & TK_CONTAINER) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "can't create window: its parent has -container = yes", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "CREATE", "CONTAINER", NULL); + Tcl_SetErrorCode(interp, "TK", "CREATE", "CONTAINER", (char *)NULL); return NULL; } else if (screenName == NULL) { TkWindow *winPtr = TkAllocWindow(parentPtr->dispPtr, @@ -1252,7 +1252,7 @@ Tk_CreateWindowFromPath( if (p == NULL) { Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad window path name \"%s\"", pathName)); - Tcl_SetErrorCode(interp, "TK", "VALUE", "WINDOW_PATH", NULL); + Tcl_SetErrorCode(interp, "TK", "VALUE", "WINDOW_PATH", (char *)NULL); return NULL; } numChars = (size_t)(p - pathName); @@ -1283,12 +1283,12 @@ Tk_CreateWindowFromPath( if (((TkWindow *) parent)->flags & TK_ALREADY_DEAD) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "can't create window: parent has been destroyed", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "CREATE", "DEAD_PARENT", NULL); + Tcl_SetErrorCode(interp, "TK", "CREATE", "DEAD_PARENT", (char *)NULL); return NULL; } else if (((TkWindow *) parent)->flags & TK_CONTAINER) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "can't create window: its parent has -container = yes", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "CREATE", "CONTAINER", NULL); + Tcl_SetErrorCode(interp, "TK", "CREATE", "CONTAINER", (char *)NULL); return NULL; } @@ -2420,7 +2420,7 @@ Tk_NameToWindow( if (interp != NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj("NULL main window",TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "NO_MAIN_WINDOW", NULL); + Tcl_SetErrorCode(interp, "TK", "NO_MAIN_WINDOW", (char *)NULL); } return NULL; } @@ -2432,7 +2432,7 @@ Tk_NameToWindow( Tcl_SetObjResult(interp, Tcl_ObjPrintf( "bad window path name \"%s\"", pathName)); Tcl_SetErrorCode(interp, "TK", "LOOKUP", "WINDOW", pathName, - NULL); + (char *)NULL); } return NULL; } @@ -2750,7 +2750,7 @@ Tk_MainWindow( } Tcl_SetObjResult(interp, Tcl_NewStringObj( "this isn't a Tk application", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "NO_MAIN_WINDOW", NULL); + Tcl_SetErrorCode(interp, "TK", "NO_MAIN_WINDOW", (char *)NULL); return NULL; } @@ -2910,8 +2910,8 @@ DeleteWindowsExitProc( */ for (dispPtr = tsdPtr->displayList; dispPtr != NULL; - dispPtr = dispPtr->nextPtr) { - XSync(dispPtr->display, False); + dispPtr = dispPtr->nextPtr) { + XSync(dispPtr->display, False); } /* @@ -3221,7 +3221,7 @@ Initialize( if (parent == NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "no controlling parent interpreter", TCL_INDEX_NONE)); - Tcl_SetErrorCode(interp, "TK", "SAFE", "NO_PARENT", NULL); + Tcl_SetErrorCode(interp, "TK", "SAFE", "NO_PARENT", (char *)NULL); return TCL_ERROR; } } -- cgit v0.12 From adcfabe5a8a7750abb1b1f7920990436ec9abeb1 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Fri, 24 May 2024 15:16:39 +0000 Subject: Fix [7255ef9aa6]: problems with [tk systray] balloon on X11 --- library/systray.tcl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/systray.tcl b/library/systray.tcl index 66bf460..56cfbf9 100644 --- a/library/systray.tcl +++ b/library/systray.tcl @@ -37,9 +37,10 @@ namespace eval ::tk::systray { } set top $w._balloon - catch {destroy $top} + ::destroy $top toplevel $top -bg black -bd 1 wm overrideredirect $top 1 + wm state $top withdrawn if {[tk windowingsystem] eq "aqua"} { ::tk::unsupported::MacWindowStyle style $top help none } -- cgit v0.12 From f8991275184ff9caf7cdbebb8b49dece24db2ea2 Mon Sep 17 00:00:00 2001 From: griffin Date: Sat, 25 May 2024 18:30:24 +0000 Subject: address ticket [43b7e5b511] - Improve zipfs description in tclsh manual. --- doc/wish.1 | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/doc/wish.1 b/doc/wish.1 index 920c1f3..468200a 100644 --- a/doc/wish.1 +++ b/doc/wish.1 @@ -230,8 +230,24 @@ The variable \fBtcl_prompt2\fR is used in a similar way when a newline is typed but the current command is not yet complete; if \fBtcl_prompt2\fR is not set then no prompt is output for incomplete commands. +.SH ZIPVFS +.PP +When a zipfile is concatenated to the end of \fBwish\fR, on startup +the contents of the zip archive will be mounted under the virtual file +system \fB//zipfs:/\fR. If a top level directory \fBtk_library\fR is +present in the zip archive, it will become the directory loaded as +env(TK_LIBRARY). If a file named \fBmain.tcl\fR is present in the top +level directory of the zip archive, it will be sourced instead of the +shell's normal command line handing. +.PP +Only one zipfile can be concatenated to the end of executable image +(tclsh, or wish). However, if multiple zipfiles are +concatenated, only the last one is used. + +This filesystem is read-only. Files cannot be added or modified within +this mounted file system. See zipfs(n) for complete details. .SH "SEE ALSO" -tclsh(1), toplevel(n), Tk_Main(3), Tk_MainLoop(3), Tk_MainWindow(3) +tclsh(1), toplevel(n), zipfs(n), Tk_Main(3), Tk_MainLoop(3), Tk_MainWindow(3) .SH KEYWORDS application, argument, interpreter, prompt, script file, shell, toolkit, toplevel -- cgit v0.12