4253 lines
187 KiB
Plaintext
4253 lines
187 KiB
Plaintext
This file summarizes all changes made to Tk since version 1.0 was
|
||
released on March 13, 1991. Changes that aren't backward compatible
|
||
are marked specially.
|
||
|
||
SCCS: @(#) changes 1.252 97/11/25 08:31:19
|
||
|
||
3/16/91 (bug fix) Modified tkWindow.c to remove Tk's Tcl commands from
|
||
the interpreter when the main window is deleted (otherwise there will
|
||
be dangling pointers to the non-existent window).
|
||
|
||
3/16/91 (bug fix) Modified tkColor.c not to free black or white colors:
|
||
some X servers get upset at this.
|
||
|
||
3/18/91 (bug fix) Modified tkShare.c to fix bug causing "DeleteGroup
|
||
couldn't find group on shareList" panic.
|
||
|
||
3/18/91 (bug fix) Several changes to tkListbox.c and tkScrollbar.c to
|
||
handle listboxes (and scrollbars) with zero total entries in them.
|
||
|
||
3/22/91 (bug fix) Fixed a few ='s in tkListbox.c that should be ==.
|
||
|
||
3/22/91 (bug fix) Fixed error in main.c that caused BadWindow errors
|
||
in some cases where wish scripts invoke "destroy .".
|
||
|
||
3/23/91 (new feature) Added Tk_CancelIdleCall to remove Tk_DoWhenIdle
|
||
handler.
|
||
|
||
3/23/91 (bug fix and new feature) Added -name option to main.c, made
|
||
it more clever about choosing name (was always using the name "wish"
|
||
on most Unix systems).
|
||
|
||
3/23/91 (new feature) Added TK_CONFIG_STRING option to Tk_ConfigureWidget,
|
||
used it to malloc strings for various widget options that used to be
|
||
Tk_Uid's (e.g. button text, message strings, etc.). Eliminates core
|
||
leaks when values change in continuous non-repeating fashion.
|
||
|
||
3/29/91 (new feature) Added Tk_Preserve, Tk_Release, and
|
||
Tk_EventuallyFree procedures to help manage widget records and avoid
|
||
premature memory free-ing.
|
||
|
||
4/4/91 (bug fix) Fixed problem in tkWm.c where top-level window geometry
|
||
wasn't tracking correctly when wm-induced size change also changed window
|
||
position (e.g. menus wouldn't be displayed at the right places).
|
||
|
||
4/5/91 (new feature) Added "invoke" option to widget command for buttons,
|
||
check buttons, and radio buttons.
|
||
|
||
4/5/91 (new feature) Added "unpack" option to "pack" command.
|
||
|
||
4/5/91 (bug fix) Changed tkPack.c to use new Tk_Preserve code and be
|
||
more careful about window deletions that occur while repacking is in
|
||
progress.
|
||
|
||
4/6/91 (bug fix) Major overhaul of deletion code in all widgets to use
|
||
Tk_Preserve and Tk_Release. Should fix many problems.
|
||
|
||
4/6/91 (bug fix) Changed "winfo children" to generate correct lists
|
||
when child names have embedded spaces.
|
||
|
||
4/6/91 (new feature) Added "screenheight" and "screenwidth" options to
|
||
"winfo".
|
||
|
||
4/18/91 (bug fix) Binding mechanism didn't correctly handle very long
|
||
%-substitutions in commands (e.g. long path names) and caused memory
|
||
to be overwritten. Modified tkBind.c to fix.
|
||
|
||
---------------------- Release 1.1, 4/18/91 -------------------------
|
||
|
||
4/19/91 (bug fix) Inconsistent ICCCM handling of coordinates of reparented
|
||
windows causes windows to gradually walk south when moved or resized.
|
||
Fixed tkWm.c to patch around the problem.
|
||
|
||
---------------------- Release 1.2, 4/24/91 -------------------------
|
||
|
||
4/26/91 (new feature) Added -geometry and -display switches to wish.
|
||
Also wrote wish manual entry.
|
||
|
||
5/3/91 (bug fix) Fixed bug in tkListbox.c that caused garbage to appear
|
||
at right edge of window when strings were to large to fit in window.
|
||
|
||
5/3/91 (bug fix) Fixed bug in tkListbox.c where topIndex wasn't getting
|
||
updated when elements were deleted: tended to cause errors in
|
||
communication with scrollbars.
|
||
|
||
5/16/91 (bug fix) Fixed bug in tk3d.c, which caused core dumps when
|
||
consecutive points in a polygon were the same (happened with some
|
||
configurations of radio buttons, for example).
|
||
|
||
5/16/91 (bug fix) Fixed main.c to allow stdin to be redirected.
|
||
|
||
6/1/91 (bug fix) Make sure that pointers are never used after being
|
||
freed.
|
||
|
||
6/15/91 (bug fix) Fixed bug in tkBind.c that caused current binding
|
||
values to not always be printed correctly.
|
||
|
||
6/15/91 (bug fix) Make sure that interpreters are always unregistered
|
||
when their main windows are deleted, and make wish delete the main
|
||
window before exiting.
|
||
|
||
8/21/91 (misfeature correction) Automatically set source of window
|
||
position to "user" in "wm geometry" command, unless it has been
|
||
explicitly set to "program".
|
||
|
||
9/5/91 (bug fix) Modified option code to accept '#' as a comment
|
||
character in .Xdefaults files, in addition to '!'.
|
||
|
||
9/10/91 (misfeature correction) Changed binding mechanism so that
|
||
numeric %-sequences are output in decimal instead of hex.
|
||
|
||
9/19/91 (bug fix) Fixed bug in Tk_DoOneEvent(1) where it wasn't
|
||
checking files and X connections properly so it missed events.
|
||
|
||
10/6/91 (new feature) Reorganized tkBind.c to provide generic "binding
|
||
table" structure, which can be used to create bindings on items in
|
||
canvases as well as windows.
|
||
|
||
10/6/91 (new feature) Upgraded buttons and menus to use new tracing
|
||
code in Tcl 6.0. Allows radio buttons and check buttons to both set
|
||
and clear themselves when associated variable changes.
|
||
|
||
10/17/91 (bug fix) Fixed 2 bugs in listboxes: accidentally advanced the
|
||
selection when new entries were inserted in the listbox after the location
|
||
of the selected item(s), and goofed up on redisplay if selected item
|
||
was deleted and then selection was immediately lost.
|
||
|
||
10/27/91 (bug fix) "pack unpack" wasn't telling Tk that it no longer
|
||
manages window; this led to core dumps in some situations.
|
||
|
||
10/31/91 (reorganization) Renamed manual entries so that they are no
|
||
more than 14 characters in length.
|
||
|
||
10/31/91 (reorganization) Changed tk.h and tkInt.h so that tkInt.h
|
||
doesn't needed to be included by tk.h.
|
||
|
||
11/3/91 (portability improvement) Eliminated use of "class" as a variable
|
||
name, since it's a reserved word in C++.
|
||
|
||
11/7/91 (reorganization) Many changes to upgrade for Tcl 6.1 including
|
||
use of Tcl hash tables instead of separate "Hash_" module. The "lib"
|
||
subdirectory is no longer needed in Tk.
|
||
|
||
---------------------- Release 1.3, 11/7/91 -------------------------
|
||
|
||
11/24/91 (bug fix) Fixed bug causing occasional errors if existing bindings
|
||
are modified (FindSequence in tkBind.c forget to set *maskPtr).
|
||
|
||
11/24/91 (bug fix) Used wrong hash table in Tk_GetColorByValue. Could
|
||
cause new entries to get created unnecessarily.
|
||
|
||
12/2/91 (bug fix) Changed "bind" code to put backslashes in front of
|
||
special characters (e.g. [ or \) that appear in %-replacements, so that
|
||
they can be parsed cleanly.
|
||
|
||
12/10/91 (bug fix) Manual entries had first lines that caused "man" program
|
||
to try weird preprocessor. Added blank comment lines to fix problem.
|
||
|
||
1/2/92 (documentation cleanup) Changed manual entries for Tk_GetBitmap
|
||
and the like to make it more clear that the argument must be a Tk_Uid
|
||
and not a string.
|
||
|
||
1/2/92 (bug fix) Fixed problem where scrollbars that were very short or
|
||
very narrow (too small to hold both arrows) could cause negative values
|
||
in calls to XClearArea, which crashed some servers.
|
||
|
||
1/2/92 (bug fix) Fixed bug in TkMeasureChars occurring when maxChars
|
||
is 0. Occasionally affected things like message window geometry.
|
||
|
||
1/3/92 (new feature) Added procedures Tk_GetJustify, Tk_GetAnchor,
|
||
Tk_GetCapStyle, and Tk_GetJoinStyle, plus support for these things
|
||
in Tk_ConfigureWidget.
|
||
|
||
---------------------- Release 1.4, 1/10/92 -------------------------
|
||
|
||
1/12/92 (bug fix) TkMenubutton.c wasn't cleaning up mbPtr->varName
|
||
properly during menubutton cleanup if an error occurred during
|
||
menubutton creation.
|
||
|
||
1/19/92 (bug fix) Fixed off-by-one bug in tkListbox.c that caused
|
||
scrollbars to display a slider that was too large.
|
||
|
||
2/10/92 (bug fix) Tk_CreateFileHandler didn't correctly handle case
|
||
where new mask was specified for existing handler.
|
||
|
||
2/13/92 (bug fix) Tk_DeleteAllBindings wasn't correctly removing
|
||
bindings from the pattern table: only did the removal for the
|
||
first pattern in a pattern list.
|
||
|
||
2/15/92 (new feature) Added procedures Tk_DefineBitmap and
|
||
Tk_SizeOfBitmap. Tk_GetBitmapFromData is now considered obsolete
|
||
and probably shouldn't be used anymore. Tk_GetBitmapFromData
|
||
is now implemented by calling Tk_DefineBitmap and Tk_GetBitmap.
|
||
|
||
2/15/92 (new feature) Added "curselection" and "select clear" options
|
||
to widget command for listboxes.
|
||
|
||
2/15/92 (new feature) Added Tk_3DBorderColor procedure.
|
||
|
||
2/17/92 (relaxed limitations) Changed scrollbars so they no longer limit
|
||
the slider position to lie within the object's range: can scroll off the
|
||
end of an object, if the object permits it. Changed listboxes and
|
||
entries to explicitly prevent viewing off the ends. Also relaxed
|
||
listbox index checks so that out-of-range indices are automatically
|
||
adjust to fit within the listbox range.
|
||
|
||
2/19/92 (bug fix) tkWindow.c tended to leave half-created windows around
|
||
if a new window's name was found to be in use already. Fixed to clean
|
||
them up.
|
||
|
||
2/22/92 (new feature) Added -anchor, -bitmap, -height, -textvariable,
|
||
-width options to labels, buttons, check buttons, menu buttons, and radio
|
||
buttons. This means that (a) size can be controlled better, (b) bitmaps
|
||
can be displayed in any buttons, (c) the position of the text within the
|
||
button can be controlled, and (d) a button can be made to display the value
|
||
of a variable, continuously updating itself. Also changed -selector option
|
||
so that if it's specified as an empty string then no selector is drawn
|
||
for the button.
|
||
|
||
2/22/92 (new feature) Changed menus to support bitmaps in menu entries:
|
||
added new -bitmap option for entries.
|
||
|
||
2/26/92 (bug fix) "after" command, when invoked with just one argument,
|
||
called Tk_Sleep rather than registering a timer handler and looping on
|
||
Tk_DoOneEvent. As a result, it caused the application to become non-
|
||
responsive to X events during the sleep. Changed to use a Tk_DoOneEvent
|
||
loop so that it is responsive.
|
||
|
||
2/26/92 (bug fix) Tk's main program didn't map the main window until
|
||
after the startup script returned. Changed to map the window as a
|
||
do-when-idle handler, so that scripts can cause the window to be
|
||
mapped immediately with a call to "update" or "after".
|
||
|
||
2/28/92 (bug fix) "wm withdraw" wasn't working if invoked before window
|
||
was originally mapped: window got mapped anyway. Fixed so that the
|
||
window doesn't get mapped as long as it's withdrawn.
|
||
|
||
2/29/92 (new feature) Can use "focus none" to clear input focus.
|
||
|
||
2/29/92 (bug fix) Fixed tkEvent.c to generate SubstructureNotify events
|
||
properly. These weren't being generated previously.
|
||
|
||
2/29/92 (bug fix) Fixed entries so that newline characters can be properly
|
||
displayed (as `\x0a'). Had to change interface to TkDisplayChars in order
|
||
to do this (added flags argument).
|
||
|
||
2/29/92 (bug fix) Change Tk not to update size and position of top-level
|
||
windows directly during calls like Tk_ResizeWindow. Instead, wait until
|
||
actual event is received. This makes updates happen at same time as
|
||
callbacks.
|
||
|
||
3/6/92 (bug fix) TkMenubutton.c was dumping core when a menubutton was
|
||
pressed at a time when there was no associated menu for the button.
|
||
|
||
3/6/92 (new feature) Added Tk script library directory with official
|
||
Tk initialization file "tk.tcl". Other procedures used by Tk are in
|
||
other files. Tk procedures and variables all have names starting
|
||
with "tk_". Also added Wish startup script "wish.tcl", which sources
|
||
both the Tk and Tcl startup scripts. This means that things like
|
||
auto-loading and abbreviation expansion are now available in wish.
|
||
Added new variables tk_library, tk_priv, and tk_version.
|
||
|
||
3/6/92 (new feature) It's now possible to set bindings for whole
|
||
classes by using the class name in the bind command. For example,
|
||
"bind Button <Enter> {puts stdout Hi!}" will cause a message to be
|
||
printed whenever any mouse button is entered. Can also use "all"
|
||
to set bindings for all widgets. Widget-specific bindings override
|
||
class bindings which override "all" bindings.
|
||
|
||
3/6/92 (reorganization) Changed buttons (all flavors) and listboxes to
|
||
eliminate all hard-wired behavior. Instead, default behavior is set
|
||
by class bindings in tk.tcl. Also set up class bindings for menus,
|
||
menubuttons, and entries, which previously had no default behavior at
|
||
all. Scrollbars and scales still have hard-wired behavior that can't
|
||
be overridden.
|
||
|
||
3/7/92 (look-and-feel change) Changed listboxes and entries and menus
|
||
to use button 2 for scanning instead of button 3. This is more consistent
|
||
with the official Motif use of button 2 for dragging.
|
||
|
||
3/10/92 (new features) Added more options to "winfo" command: screencells,
|
||
screendepth, screenmmheight, screenmmwidth, and screenvisual.
|
||
|
||
3/13/92 (bug fix) Event sharing mechanism (tkShare.c) wasn't checking
|
||
to see whether window was mapped before sharing events with it.
|
||
|
||
3/16/92 (bug fix) Tk_SetInternalBorderWidth was passing wrong window to
|
||
geometry-management procedures, causing core-dumps when menu buttons
|
||
had their border widths changed.
|
||
|
||
3/16/92 (bug fix) Menus were setting their geometry directory rather
|
||
than using Tk_GeometryRequest mechanism.
|
||
|
||
3/17/92 (new feature) Added -cursor option to all widgets to set the
|
||
active cursor for the widget. Also added TK_CONFIG_ACTIVE_CURSOR
|
||
configure type.
|
||
|
||
3/18/92 (new feature) Implemented generalized screen coordinates to
|
||
allow resolution-independent specification in many cases (but pixel-
|
||
based coordinates are still OK). Added Tk_GetScreenMM(),
|
||
Tk_GetPixels(), new configure types TK_CONFIG_SCREEN_MM and
|
||
TK_CONFIG_PIXELS. Changed widgets to use this new configure types
|
||
wherever possible (a few of the more complex cases still haven't
|
||
been taken care of yet). Added "pixels" and "fpixels" options to
|
||
"winfo" command.
|
||
|
||
3/18/92 (new feature) First cut at canvas widgets is done and part of
|
||
the official Tk now. Canvases display text and structured graphics,
|
||
and allow you to bind commands to events related to the text and
|
||
graphics.
|
||
|
||
3/21/92 (new feature) Added new "place" command. It implements a
|
||
new geometry manager that provides fixed placement, rubber-sheet
|
||
placement, and combinations of the two. Eliminated the commands
|
||
"move", "resize", and "map" that were provided by main.c but never
|
||
officially supported; the placer provides all of this functionality.
|
||
|
||
3/23/92 (bug fix) Fixed bug in tkWm.c where top-level windows were
|
||
occasionally not being given the right size. The problem occurred
|
||
when a string of resizes happened all in a row (such as deleting all
|
||
the windows in an application and then recreating them).
|
||
|
||
3/23/92 (new feature) Added Tk_CoordsToWindow procedure and
|
||
"winfo containing" command. These may be used to locate the window
|
||
containing a given point.
|
||
|
||
3/28/92 (new feature) Added "-exportselection" option to listboxes,
|
||
so that listbox selection need not necessarily be the X selection.
|
||
|
||
4/12/92 (bug fix) Changed menu buttons to store name of menubutton
|
||
in the associated variable, rather than the name of the menu. This
|
||
is necessary in order to allow several menu buttons to share the
|
||
same menu.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
4/12/92 (bug fix) Fixed core dump that occurred in tkError.c when
|
||
removing the first error record from the error list.
|
||
|
||
4/15/92 (bug fix) Fixed bug in tkBind.c that prevented <KeyPress-1>
|
||
event specifications from being processed correctly: the "1" was
|
||
treated as a button name rather than a keysym.
|
||
|
||
4/18/92 (new feature) Added Tk_DefineCursor and Tk_UndefineCursor
|
||
procedures.
|
||
|
||
4/18/92 (new feature) Major revision to listboxes. Can now scroll and
|
||
scan in both x and y, plus -exportselection option allows selection not
|
||
to be exported. The "view" widget command has been replaced by "xview"
|
||
and "yview", and the "scan" widget command has a new syntax.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
4/18/92 (new feature) Added -exportselection option to entries, so you
|
||
can select whether you want the entry selection to be the X selection
|
||
or not.
|
||
|
||
4/24/92 (new features) Added TK_CONFIG_CUSTOM type to Tk_ConfigureWidget,
|
||
plus added new flags TK_CONFIG_NULL_OK, TK_CONFIG_DONT_SET_DEFAULT,
|
||
and TK_CONFIG_OPTION_SPECIFIED. Several other new types, such as
|
||
TK_CONFIG_CAP_STYLE, were also added as part of implementing canvases.
|
||
|
||
4/29/92 (bug fix) Changed "-selector" default for menus to have separate
|
||
values for mono and color.
|
||
|
||
4/30/92 (bug fix) Fixed bug in tkListbox.c where it occasionally generated
|
||
bogus scroll commands (last index less than first).
|
||
|
||
4/30/92 (reorganization) Moved demos directory to "library/demos".
|
||
|
||
---------------------- Release 2.0, 5/1/92 -------------------------
|
||
|
||
5/2/92 (bug fix) Fixed problem in tkListbox.c where it was doing too many
|
||
redisplays after repeated insertions. Also reduced number of invocations
|
||
of scrollbar commands.
|
||
|
||
5/7/92 (portability improvement) Changed main.c not to use TK_EXCEPTION
|
||
flag; it isn't needed and it causes problems on some systems.
|
||
|
||
5/9/92 (bug fix) Plugged core leaks in tkListbox.c and tkBind.c
|
||
|
||
5/9/92 (bug fix) TkBind.c was accidentally deleting bindings during
|
||
attempts to print non-existent bindings.
|
||
|
||
5/11/92 (bug fix) Maximum name length for applications (name used in
|
||
"send" commands) was too short (only 20); increased to 1000. Also
|
||
fixed bug related to over-long names that caused core dumps.
|
||
|
||
5/13/92 (bug fix) tkShare.c was using a dangling pointer if a share
|
||
group was deleted as a side-effect of a shared event.
|
||
|
||
5/13/92 (bug fix) Various initialization and core leak problems in
|
||
tkGC.c, tkSend.c, tkMenu.c, tkEvent.c, tkCanvas.c, tkCanvPoly.c,
|
||
tkCanvLine.c, tkListbox.c, tkEntry.c.
|
||
|
||
5/13/92 (bug fix) Empty entries could be scanned off the left edge,
|
||
displaying a garbage character.
|
||
|
||
5/13/92 (bug fix) Fixed a few problems with window manager interactions,
|
||
such as tendency for windows to spontaneously shrink in size. By no
|
||
means are all of the problems fixed, though.
|
||
|
||
5/13/92 (performance optimization) Changed Tk_GeometryRequest not to
|
||
invoke geometry manager unless requested size has changed.
|
||
|
||
---------------------- Release 2.1, 5/14/92 -------------------------
|
||
|
||
5/1/92 (new features) Added flags like TK_IDLE_EVENTS to Tk_DoWhenIdle,
|
||
plus added "idletasks" option to "update" command. Tk_DoWhenIdle arguments
|
||
look different now, but the change should be upward-compatible.
|
||
|
||
5/17/92 (new feature/bug fix) Added support for VisibilityNotify events
|
||
to the "bind" command. For some reason they weren't supported previously.
|
||
|
||
5/17/92 (new feature) Added "tkwait" command.
|
||
|
||
5/17/92 (new feature) Added "grab" command.
|
||
|
||
5/17/92 (new feature) Added "-width" option to messages. Also changed
|
||
messages to use the computed (i.e. desired) line length when displaying,
|
||
not the actual width of the window.
|
||
|
||
5/17/92 (bug fixes) Did some more fiddling with tkWm.c in the hopes
|
||
of improving window manager interactions. Now there won't be more than
|
||
one configure request outstanding to the wm at a time.
|
||
|
||
5/17/92 (bug fix) Arrowheads on canvas lines weren't being translated
|
||
or scaled correctly.
|
||
|
||
5/20/92 (bug fix) Page-mode scrolling didn't work correctly for canvases
|
||
(wrong windowUnits was passed to scrollbars).
|
||
|
||
5/20/92 (bug fix) Changed scrollbars not to lose highlight when pointer
|
||
leaves window with button down. Also changed redisplay to double-buffer
|
||
for smoother redraws.
|
||
|
||
5/21/92 (new feature) Added "gray50" and "gray25" as predefined bitmaps.
|
||
|
||
5/22/92 (new feature) Buttons can now be disabled using the "-state" and
|
||
"-disabledforeground configuration options. The "activate" and "deactivate"
|
||
widget commands for buttons are now obsolete and will go away soon.
|
||
Please change Tcl scripts not to use them.
|
||
|
||
5/23/92 (new feature) Entries can now be disabled using the "-state"
|
||
config option. Also improved class bindings for entries to keep the
|
||
cursor visible in the window when operations occur. Also made slight
|
||
improvements in the way redisplay is done.
|
||
|
||
5/23/92 (new feature) Added "-textvariable" option to entries so that
|
||
the text in an entry can be tied to the value of a global variable in
|
||
a fashion similar to buttons.
|
||
|
||
5/27/92 (new feature) Added "-textvariable" and "-anchor" options to
|
||
messages.
|
||
|
||
5/28/92 (new feature) Added "-padx" and "-pady" and "-underline" options
|
||
to menubuttons.
|
||
|
||
5/28/92 (feature change) Changed "-width" and "-height" options on
|
||
all flavors of buttons and menubuttons so that they are orthogonal
|
||
to "-padx" and "-pady". It used to be that -width overrode -padx
|
||
(no padding). Now they accumulate.
|
||
|
||
5/29/92 (new feature) Added "-disabledforeground" option to menus and
|
||
all flavors of buttons (can specify color for disabled things rather
|
||
than just using stipple to gray out).
|
||
|
||
5/29/92 (new features) Added many new options to menu entries:
|
||
-activebackground, -background, -font, -state, -underline. The
|
||
"disable" and "enable" widget commands for menus are now obsolete
|
||
and will go away soon. Please change Tcl scripts not to use them.
|
||
|
||
5/29/92 (new features) Added "atom" and "atomname" options to "winfo"
|
||
command.
|
||
|
||
5/29/92 (new feature) Wrote tk_listboxSingleSelect procedure, which
|
||
can be used to change listbox behavior so that only a single item is
|
||
selected at once.
|
||
|
||
6/1/92 (new feature) Added new modifier names "Meta" and "Alt" for
|
||
"bind" command.
|
||
|
||
6/3/92 (new feature) Added "winfo toplevel" command.
|
||
|
||
6/3/92 (new feature) Made several changes for greater Motif compliance,
|
||
including:
|
||
- menu retention if you click and release in the menu button,
|
||
- keyboard traversal of menus (see traversal.man)
|
||
- no widget flashing if you set $tk_strictMotif to 1
|
||
|
||
6/15/92 (bug fix) Fixed problem in tkBind.c where command string for a
|
||
binding could get reallocated while the command was being executed (e.g.
|
||
bindings that delete or change themselves).
|
||
|
||
6/15/92 (bug fix) Don't allow "tabWidth" field to become zero in tkFont.c:
|
||
can cause core dumps for fonts that don't enough information to compute
|
||
tab widths.
|
||
|
||
6/19/92 (bug fix) Fixed bug in binding mechanism that caused structure-
|
||
related events to be reported both to the correct window and its parent.
|
||
|
||
7/14/92 (bug fix) Changed tkColor.c not to free colors for visual types
|
||
StaticGray or StaticColor.
|
||
|
||
7/15/92 (new feature) Text widgets now exist. They display any number of
|
||
lines of text with a variety of display formats, and include hypertext
|
||
facilities. See the manual page for details.
|
||
|
||
7/20/92 (bug fix) If a top-level window was put in the iconic state to
|
||
begin with, it could be deiconified with "wm deiconify .foo" until it had
|
||
first been deiconified by hand from the window manager. Tk was getting
|
||
confused and thought the window was mapped when it wasn't.
|
||
|
||
7/29/92 (bug fix) Don't permit rectangles or ovals to have zero-sized
|
||
dimensions. Round up to at least one pixel.
|
||
|
||
7/29/92 (new features) Major upgrade to canvases:
|
||
- new item types: arc, window, bitmap
|
||
- added Bezier spline support for lines and polygons
|
||
- rectangles and ovals now center their outlines on the shape,
|
||
rather than drawing them entirely inside the shape
|
||
- new "coords" and "bbox" widget commands
|
||
- new "-tags" option for all item types.
|
||
- new "-confine" option to prevent scrolling off edge of canvas.
|
||
|
||
8/6/92 (new feature) Added "-width" and "-height" options to frames.
|
||
The "-geometry" option is now obsolete and should be removed from Tcl
|
||
scripts: it may go away in the future.
|
||
|
||
8/7/92 (bug fix) Error messages in Tk_ParseArgv were sometimes including
|
||
the option name where they should have included its value.
|
||
|
||
---------------------- Release 2.2, 8/7/92 -------------------------
|
||
|
||
8/7/92 (bug fix) Changed tkCanvas.c to be more conservative in the area
|
||
it passes to XCopyArea.
|
||
|
||
8/8/92 (bug fix) Fixed bug in tkTextDisp.c that sometimes caused core
|
||
dumps when text views changed (e.g. typing return on last line of screen).
|
||
|
||
8/8/92 (bug fix) Fixed bug in menu.tcl that caused errors when using
|
||
keyboard to traverse over separator menu entries.
|
||
|
||
8/10/92 (bug fix) Changed to use OPEN_MAX instead of MAX_FD to compute
|
||
maximum # of open files.
|
||
|
||
8/10/92 (bug fix) Canvases weren't updating scrollbars on window size
|
||
changes. They also weren't recentering canvases on window size changes.
|
||
|
||
8/10/92 (bug fix) There were still a few places where commands were being
|
||
invoked at local level instead of global level (e.g. commands associated
|
||
with buttons and menu entries).
|
||
|
||
8/10/92 (bug fix) TkBind.c used to ignore explicit shift modifiers for
|
||
all keys (i.e. <Shift-Tab> was treated the same as <Tab>). Modified to
|
||
allow explicit request for shift modifier, like <Shift-Tab>.
|
||
|
||
8/13/92 (feature change) Changed default fonts to request "Adobe" fonts
|
||
explicitly.
|
||
|
||
8/16/92 (bug fixes) Modified tkCanvArc.c and tkTrig.c to increase slightly
|
||
the bounding boxes for arcs, in order to make sure that proper redisplay
|
||
occurs when arcs are moved (little turds were getting left behind).
|
||
|
||
8/16/92 (bug fix) Modified tkCanvas.c not to redraw at all if the redisplay
|
||
area is off the screen. Also, only do a background clear for the portion
|
||
of the redraw area that is on-screen. Also, reduced size of off-screen
|
||
pixmaps used for redisplaying, which speeds up redisplay in some cases.
|
||
|
||
8/19/92 (bug fix) Canvases that were taller than wide were not being
|
||
redisplayed properly.
|
||
|
||
8/20/92 (new feature) Added Tk_CreateGenericHandler procedure for trapping
|
||
all X events (useful for tracing, watching non-Tk windows, etc.).
|
||
|
||
8/21/92 (bug fix) Widgets weren't always being notified when they got
|
||
the focus back again (the problem had to do with grabs and menus in
|
||
particular).
|
||
|
||
8/21/92 (new feature) Added "-state" option to scale widgets.
|
||
|
||
8/22/92 (new feature) Changed tkBitmap.c to allow tilde-substitution
|
||
to occur in bitmap file names.
|
||
|
||
---------------------- Release 2.3, 8/24/92 -------------------------
|
||
|
||
8/27/92 (bug fix) Changes to -activebackground and -activeforeground options
|
||
for menubuttons were being lost.
|
||
|
||
8/27/92 (bug fix) Entries were selecting last character when a B1-drag
|
||
occurred past the right edge of the text.
|
||
|
||
8/28/92 (bug fix) Fixed bug in canvases where a grab during a button
|
||
press caused the canvas state to lock up so that it didn't select a
|
||
new current item.
|
||
|
||
9/7/92 (bug fix) Changed tkMenu.c to accept numerical menu indices that
|
||
are out of range; now it just rounds them off to the nearest existing
|
||
entry.
|
||
|
||
9/7/92 (bug fix) Fixed bug in tkTextDisp.c that caused core dumps when
|
||
invoking "yview -pickplace" widget command on texts that are too small
|
||
to hold any lines at all.
|
||
|
||
9/11/92 (bug fix) Fixed bug in tkTextDisp.c that caused core dumps
|
||
when adding tags to non-existent lines.
|
||
|
||
9/11/92 (bug fix) Line items in canvases didn't permit an empty fill
|
||
color (i.e. couldn't make them transparent).
|
||
|
||
9/14/92 (reorganization) Changed manual entries to use .1, .3, and .n
|
||
extensions. Added "install" target to Makefile to suggest how Tk should
|
||
be installed.
|
||
|
||
9/16/92 (bug fix) Changed tkSend.c to always specify the root window of
|
||
screen 0 rather than using DefaultRootWindow. DefaultRootWindow doesn't
|
||
always go to screen 0 on displays with multiple screens, which can result
|
||
in send's not being possible between the screens.
|
||
|
||
9/18/92 (new feature) Added three new options to "wm" command: "protocol",
|
||
"client", and "command". These provide support for window manager protocols
|
||
such as WM_DELETE_WINDOW and WM_TAKE_FOCUS, plus support for the
|
||
WM_CLIENT_MACHINE and WM_COMMAND properties.
|
||
|
||
9/30/92 (new feature) Implemented color model support, including
|
||
"tk colormodel" command and Tk_GetColorModel and Tk_SetColorModel
|
||
procedures. These allow you to force mono operation even on a color
|
||
display. Also changed color allocation not to give errors when colors
|
||
run out, but just to switch to a mono color model.
|
||
|
||
10/1/92 (bug fixes) Fixed two bugs in tkTextBTree.c that caused core dumps
|
||
during text deletion.
|
||
|
||
10/5/92 (bug work-around) Changed tkColor.c to ignore errors when freeing
|
||
colors. This is needed to work around improper reference count management
|
||
for colormap entries under X11/NeWS.
|
||
|
||
10/7/92 (new feature) Added support for different visual types, including
|
||
procedures Tk_SetWindowVisual and Tk_SetWindowColormap, plus macros
|
||
Tk_Visual, Tk_Depth, and Tk_Colormap. The code for this was contributed
|
||
by Paul Mackerras.
|
||
|
||
10/7/92 (new feature) Added Tk_IsTopLevel macro.
|
||
|
||
10/12/92 (bug fix) Fixed bug in tk.tcl that caused torn-off menus with
|
||
cascaded children not to track mouse motion correctly (the cascade
|
||
switched in response to mouse motions within the cascaded child).
|
||
|
||
10/12/92 (new feature) Major changes to focus handling:
|
||
(a) Tk watches FocusIn and FocusOut events for focus changes, not Enter
|
||
and Leave, so it will work better with explicit-focus-model window
|
||
managers (e.g. mwm in default mode).
|
||
(b) Tk generates FocusIn and FocusOut events for the focus window now.
|
||
The old procedural interface (via Tk_CreateFocusHandler) is obsolete
|
||
and is no longer used inside Tk. It is still supported for
|
||
compatibility, but won't be for long. You should change your code
|
||
to use FocusIn and FocusOut events instead.
|
||
(c) The model for FocusIn and FocusOut events is different than the
|
||
one described in Xlib documentation. See the "focus" manual entry
|
||
for details.
|
||
(d) If there is no input focus then keyboard events are discarded. They
|
||
used to be directed to the mouse pointer window, although this wasn't
|
||
documented. The focus now defaults to the root window.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
10/15/92 (bug fix) Fixed text items in canvases where they didn't
|
||
display the insertion cursor if the item had no characters in it.
|
||
|
||
10/26/92 (bug fix) Fixed bug in tkSelect.c that occasionally caused
|
||
BadWindow X protocol errors when retrieving the selection. Tk wasn't
|
||
making sure that a window existed before using it to retrieve the
|
||
selection.
|
||
|
||
10/30/92 (feature change) Changed canvases so that if the scroll region
|
||
is smaller than the window and -confine is on, the scroll region isn't
|
||
forced to be centered in the window; it can be anywhere that meets the
|
||
confinement restrictions.
|
||
|
||
11/2/92 (new feature) Added "winfo exists" command.
|
||
|
||
11/5/92 (new feature) Changed DoWhenIdle handlers so that if a new
|
||
when-idle handler is created as a side-effect of another when-idle
|
||
handler, the new handler isn't invoked until Tk has first checked
|
||
for other events to process.
|
||
|
||
11/6/92 (bug fixes, new features) Major overhaul of window manager
|
||
interface:
|
||
(a) Tk should now work with virtual-root window managers;
|
||
(b) windows will now place more accurately on the screen and stay where
|
||
they're supposed to;
|
||
(c) size changes handled more reliably;
|
||
(d) code now works robustly in the face of withdrawals followed
|
||
immediately by deiconifications.
|
||
(e) Added new procedure Tk_GetVRootInfo and new options to "winfo" command:
|
||
vrootx, vrooty, vrootwidth, vrootheight.
|
||
(f) Added "overrideredirect" option to "wm".
|
||
(g) Fixed bug where change in width-only via "wm geom" didn't always work
|
||
(min and max window sizes weren't being set properly for the wm).
|
||
|
||
11/6/92 (bug fixes) Modified menus so that they work correctly with
|
||
virtual root window managers. Also fixed bug where menus didn't move
|
||
along with their associated windows, so that the menu popped up at
|
||
the old location of the window rather than its new location.
|
||
|
||
11/9/92 (new constraint) Made it illegal to give windows names that
|
||
start with upper-case letters, since such names will goof up the
|
||
option database by appearing to be classes rather than names.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
11/10/92 (new feature) Added Postscript output to canvases.
|
||
|
||
11/13/92 (bug fix) Changed default for maximum size passed to window
|
||
manager from 1000000 (which causes some wm's to make windows too large
|
||
when "maximized") to the size of the display.
|
||
|
||
11/14/92 (feature change) Major overhaul of menubuttons and pull-down
|
||
menus. Removed event-sharing code, including Tk_ShareEvents and
|
||
Tk_UnshareEvents. The -variable option for menubuttons has been
|
||
removed,and the "post" and "unpost" widget commands for menubuttons
|
||
no longer exist. The "post" widget command for menus no longer
|
||
allows a group option. The procedure tk_menus has been replaced
|
||
with a new procedure, tk_menuBar, which has a slightly different
|
||
interface.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
11/20/92 (new features, feature changes) Major overhaul of grab
|
||
mechanism to produce more correct event streams. Also changed Tcl
|
||
commands to require explicit window for grab releases (makes it
|
||
possible for grabs to work on multiple displays simultaneously).
|
||
The old "grab none" command no longer exists, but new options
|
||
have been added: "current", "release", "set", and "status".
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
11/20/92 (new feature) Use TK_LIBRARY environment variable to set library
|
||
directory location, if it is defined. Otherwise fall back on usual
|
||
compiled-in value.
|
||
|
||
11/25/92 (bug fix) "wm grid" command was using wrong window.
|
||
|
||
11/29/92 (bug fix) Fixed core dump that occurred when trying to use
|
||
placer on top-level windows: return error instead.
|
||
|
||
11/29/92 (bug fix) Selection retrieval wasn't making sure that the window
|
||
on whose behalf selection is being retrieved actually exists.
|
||
|
||
12/3/92 (new feature) Added support for Mode_switch key to support the
|
||
full ISO character set. Also added event handlers for MappingNotify
|
||
events so that Tk updates itself in response to keycode and modifier
|
||
changes.
|
||
|
||
12/6/92 (bug fix) Ignore recursive attempts to destroy window.
|
||
|
||
12/9/92 (new demos) Added "tcolor" and "rmt" demos.
|
||
|
||
12/10/92 (new features) Added "yposition" widget command for menus,
|
||
changed "delete" widget command to take an optional second index,
|
||
and changed -command option for cascade entries so that it is
|
||
invoked when the entry is activated rather than when it is invoked.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/12/92 (implementation change) Changed the procedures Tk_FreeBitmap,
|
||
Tk_NameOfBitmap, Tk_SizeOfBitmap, Tk_FreeCursor, Tk_NameOfCursor, and
|
||
Tk_FreeGC to require an addition Display argument. This is needed for
|
||
Tk to function correctly when an application has windows on multiple
|
||
displays.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/12/92 (new feature) Started creating a test suite. Right now it
|
||
only has a few tests.
|
||
|
||
12/12/92 (new feature) Modified the packer so that a window can be
|
||
packed in descendants of its parent (used to be restricted to the
|
||
parent alone). This makes it possible to hide extra windows used
|
||
for geometry management. Also, can use generalized screen distances
|
||
in the "pack" command.
|
||
|
||
12/16/92 (feature change) Boolean options such as -exportselection now
|
||
print as 0/1 rather than true/false (both the default and current values
|
||
print this way). This makes it easier to use these values in expressions.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/16/92 (name change) The classes "RadioButton" and "CheckButton" have
|
||
been renamed "Radiobutton" and "Checkbutton" for consistency. From now
|
||
on widget class names will have exactly one capital letter.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/16/92 (new feature) Added -setgrid option to listboxes.
|
||
|
||
12/16/92 (new feature) The "destroy" command, and the "delete" widget
|
||
command for canvases, now accept any number of arguments, including
|
||
zero.
|
||
|
||
12/16/92 (new feature) Changed internal TkBindError procedure to
|
||
Tk_BackgroundError and exported it to Tk clients.
|
||
|
||
12/16/92 (option name change) Changed the place command's "dependents"
|
||
option to "slaves" for better consistency with documentation.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/16/92 (name changes) Renamed the "cursor*" options in entries and
|
||
canvases to "insert*". Also renamed the "cursor" index to "insert" and
|
||
the "cursor" widget command to "icursor". This was done to avoid
|
||
confusion between the mouse cursor and the insertion cursor.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
---------------------- Release 3.0, 12/17/92 -------------------------
|
||
|
||
12/17/92 (bug fix) Fixed dangling-pointer bug in canvases that occurred
|
||
if a <LeaveNotify> binding deleted the current item.
|
||
|
||
12/18/92 (bug fix) Core dump occurred if "wm" invoked with no arguments.
|
||
Also, tkWm.c wasn't properly setting WM_CLASS property on application
|
||
startup.
|
||
|
||
12/18/92 (incorrect documentation) Updated manual entries for Tk_FreeGC,
|
||
Tk_FreeCursor, and Tk_FreeBitmap to reflect new interface that requires
|
||
"display" argument.
|
||
|
||
12/18/92 (missing documentation) Added documentation for the canvas
|
||
"postscript" command, which was missing in the 3.0 release.
|
||
|
||
12/21/92 (bug fixes) There were lots of problems with the new installation
|
||
targets in the Makefiles, such as using "cp -f" and not installing
|
||
prolog.ps. Made several other miscellaneous improvements to Makefile.
|
||
|
||
12/21/92 (bug fix) Arrowheads on canvas line items weren't moving properly
|
||
after coordinate changes made with the "coords" widget command.
|
||
|
||
12/21/92 (bug fix) If top-level window was initially withdrawn, couldn't
|
||
ever deiconify it again.
|
||
|
||
12/21/92 (bug fix) Double-button event sequences didn't always trigger
|
||
properly when grabs were in effect.
|
||
|
||
12/22/92 (bug fix) The packer didn't display any top or bottom windows
|
||
after a left or right expanded window, and vice versa. Also made the
|
||
distribution of space among expanded windows more even.
|
||
|
||
12/28/92 (new features) Several improvements to selection:
|
||
(a) Added procedures Tk_ClearSelection and Tk_DeleteSelHandler.
|
||
(b) Added "clear" and "own" options to "selection" command, extended
|
||
"handle" option to delete handlers.
|
||
(c) Error returns from "selection handle" scripts are now turned into
|
||
selection retrieval errors ("no such selection") rather than an
|
||
empty selection.
|
||
(d) Tk responds automatically for targets APPLICATION (name of application,
|
||
so you can "send" to it) and WINDOW_NAME (name of window within
|
||
application.
|
||
(e) Added test file "select.test" to test suite.
|
||
|
||
12/28/92 (bug fix) Fixed problem with flashing menus that occurred
|
||
because menu.tcl was willing to unpost and then immediately repost
|
||
the same menu.
|
||
|
||
1/6/93 (bug fix) Test for UnmapNotify events in tkPack.c used = instead
|
||
of ==.
|
||
|
||
1/21/93 (bug fix) Changed many widgets to eliminate use of
|
||
DefaultVisualofScreen, DefaultColormap, etc. and use the visuals
|
||
and colormaps for the actual windows instead. Also changed to
|
||
inherit colormaps and windows from parent by default.
|
||
|
||
1/21/93 (new features) Added new winfo options "cells", "depth", and
|
||
"visual".
|
||
|
||
1/23/93 (bug fix) Fixed problem with text display that could result
|
||
in negative XCopyArea heights being sent to X server. This causes some
|
||
servers (e.g. some versions of OpenWindows) to crash.
|
||
|
||
1/25/93 (new feature) Added -postcommand option to menus, so that menus
|
||
can be reconfigured before each posting.
|
||
|
||
1/29/93 (feature change) Changed %X and %Y in bindings so that they
|
||
refer to the virtual root rather than the true root. Although
|
||
potentially incompatible, this change should almost always "do the
|
||
right thing".
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
1/31/93 (bug fix) Changed "send" code to grab server while updating
|
||
the registry property (before this fix, two programs could allocate
|
||
the same interpreter name if they started up simultaneously). In
|
||
order to make this fix I had to change the code for reclaiming
|
||
names of dead interpreters in a way that sometimes allows dead
|
||
interpreters to persist in the registry.
|
||
|
||
2/1/93 (feature change) Changed entries to allow leftmost "visible"
|
||
character to be the end of the text (i.e. no characters actually visible).
|
||
This is needed so that the cursor can be displayed even if the last
|
||
actual character is too wide to fit in the window.
|
||
|
||
2/3/93 (bug fix) Fixed two bugs in tkFocus.c: (a) FocusIn events
|
||
were getting lost in some cases because the focus window hadn't been
|
||
created yet (e.g. new top-level window pops up underneath the mouse);
|
||
(b) Tk was accidentally triggering FocusOut events when the mouse
|
||
moved from a top-level window to one of its children.
|
||
|
||
2/4/93 (new feature) Added "visibility" option to "tkwait" command to make
|
||
it easier to wait for a new window to appear on the screen.
|
||
|
||
---------------------- Release 3.1, 2/5/93 -------------------------
|
||
|
||
2/10/93 (installation improvements) Makefile improvements: added RANLIB
|
||
variable for easier Sys-V installation, changed to use INCLUDE_DIR
|
||
properly, and added SHELL variable for SGI systems.
|
||
|
||
---------------------- Release 3.2, 2/11/93 -------------------------
|
||
|
||
2/11/93 (new feature) Added "wm state" command, and improved wm so that
|
||
the right thing will happen if you invoke "wm iconify" when a window is
|
||
withdrawn.
|
||
|
||
2/14/93 (bug fix) When -colormap option was used in generating Postscript
|
||
for canvases, Tk didn't add an extra space after the color command.
|
||
|
||
2/14/93 (new feature) Changed "extern" declarations in tk.h to "EXTERN",
|
||
which will use the definition of EXTERN from tcl.h and work correctly
|
||
in C++ programs.
|
||
|
||
2/18/93 (bug fix) Item-specific bindings weren't getting deleted from
|
||
canvas items when the items were deleted. As a result, they could
|
||
suddenly re-appear for new items if the new items were allocated a
|
||
record at the same addresses as the old ones.
|
||
|
||
2/18/93 (feature reversal) Changed "after" back again, so that it sleeps
|
||
*without* responding to events when it is invoked with just one argument;
|
||
can always use tkwait plus after with additional arguments to achieve
|
||
the effect of responding to events.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
2/20/93 (bug fix) Fixed bug in tkWindow.c where colormaps weren't being
|
||
set correctly for new top-level windows on different screens than their
|
||
parents (the bug results in X protocol errors: "invalid Colormap
|
||
parameter").
|
||
|
||
2/22/93 (bug fix) Changed "#!/usr/local/wish" in demo scripts to
|
||
"#!/usr/local/bin/wish" to reflect new location of binary.
|
||
|
||
2/22/93 (new feature) Added new reliefs "groove" and "ridge".
|
||
|
||
2/25/93 (new feature) Added new built-in bitmaps: "error", "hourglass",
|
||
"info", "question", "questhead", and "warning". Also added new demo in
|
||
"widget" to display all of these (under the Miscellaneous menu).
|
||
|
||
2/25/93 (improved implementation) Changed DrawText procedure in
|
||
prolog for outputting Postscript from canvases to use stringwidth
|
||
instead of charpath+pathbbox: avoids limitcheck problems with long
|
||
strings, and also properly includes space characters in calculation.
|
||
|
||
2/25/93 (bug fix) Fixed several bugs in library/menu.tcl that caused
|
||
menu traversal to mis-behave when menu had no entries.
|
||
|
||
2/26/93 (new feature) Added "wm frame" command.
|
||
|
||
3/6/93 (bug fix) Mwm in click-to-focus mode was goofing up grabs so that
|
||
pull-down menus were sometimes unresponsive. Modified tk.tcl to ignore
|
||
the spurious B1-Enter events generated by mwm, plus modified tkGrab.c to
|
||
release simulated button grabs correctly.
|
||
|
||
3/8/93 (bug fix) Tk had wrong interpretation of "lbearing" font metric,
|
||
which caused text to be displayed at the wrong horizontal position in
|
||
several places (labels/buttons, listboxes, canvas text, scales). This
|
||
change will cause slight changes in the way certain widgets are
|
||
displayed.
|
||
|
||
3/12/93 (bug fix) Fixed core dumps that occurred in tkEntry.c because of
|
||
zero values in entryPtr->avgWidth.
|
||
|
||
3/12/93 (bug fix) Tk_CoordsToWindow was using root coordinates always.
|
||
Changed to use virtual-root coordinates when a virtual-root window
|
||
manager is being used. Before this fix, "winfo containing" didn't
|
||
return the correct window under virtual-root window managers.
|
||
|
||
3/18/93 (bug fix) Modified tkWm.c so that Tk doesn't fight with window
|
||
manager over position of window; it just takes what the window manager
|
||
gives it.
|
||
|
||
3/21/93 (new feature) Changed menus to display cascade entries with
|
||
standard Motif arrows at right side.a
|
||
|
||
3/22/93 (bug fix) Fixed bug in tkPack.c that was causing memory to
|
||
get trashed with the integer value 1.
|
||
|
||
3/22/93 (bug fix) Canvas text didn't print correctly if it contained
|
||
an open paren (or other special character) immediately followed by
|
||
an octal digit.
|
||
|
||
3/22/93 (bug fix) Text widgets didn't redisplay properly in cases
|
||
where two or more groups of lines both got taller at the same time
|
||
(e.g. from tag changes), causing two separate bit copies where the
|
||
first bit copy's target area overlapped the source area for
|
||
the second bit copy.
|
||
|
||
4/1/93 (bug fix) Changed canvases to use ISO Latin-1 font encoding
|
||
if that's supported by the Postscript interpreter. Also added workaround
|
||
for bug in NeWSprint related to stipple fills.
|
||
|
||
4/1/93 (bug fixes) Made various changes to focusing and grabs to
|
||
eliminate extraneous focus events and generally improve behavior.
|
||
|
||
4/2/93 (bug fix) Modified tkWm.c not to wait indefinitely for the window
|
||
manager to map or reconfigure a window: this led to deadlock in some
|
||
situations, such as creating a new top-level window with a grab held.
|
||
|
||
4/19/93 (bug fix) Fixed another bug in tkWm.c that caused windows to walk
|
||
across the screen in some situations. Also fixed problem where rapid
|
||
posting and unposting of cascaded submenus (or menus?) could cause Tk
|
||
to become confused about whether or not a window is mapped (added
|
||
TkWmUnmapWindow procedure to make top-level unmaps synchronous).
|
||
|
||
4/24/93 (feature change) Changed the "after" command to allow times
|
||
less than or equal to 0, and to use 0 whenever they occur.
|
||
|
||
4/26/93 (new feature) Implemented security check for "send" as proposed
|
||
by Bennett Todd: incoming sends are now rejected unless (a) xhost-style
|
||
access control is enabled and (b) the list of authorized hosts is
|
||
empty. In other words, you have to use xauth to use send. This feature
|
||
can be disabled by setting the TK_NO_SECURITY flag at compile-time.
|
||
|
||
5/15/93 (improvement) Switched to use Tcl_PrintDouble whenever returning
|
||
real values as Tcl results. This potentially allows higher precision.
|
||
Switched to use %.15g whenever printing reals in Postscript files.
|
||
However, the change Tcl_PrintDouble causes incompatibilities. For
|
||
now, it's disabled with a macro in tclInt.h that redefines Tcl_PrintDouble.
|
||
Tk 4.0 will delete the macro, and you can also delete it now if you
|
||
want the better (but incompatible) behavior.
|
||
|
||
5/19/93 (bug fix) Fixed divide-by-zero problem that could occur in
|
||
closeness calculations for canvas oval items.
|
||
|
||
5/30/93 (bug fix) PROP and CONFIG were accidentally #defined to the same
|
||
value in tkBind.c, which could cause incorrect %-substitutions in event
|
||
bindings in a few exotic cases.
|
||
|
||
6/4/93 (improvement) Changed to use GNU autoconfig for configuration.
|
||
Makefile format changed, and Tcl is no longer automatically included
|
||
in Tk releases.
|
||
|
||
6/7/93 (bug fix) Fixed off-by-one error in rounding negative coordinates
|
||
during redisplay of canvases.
|
||
|
||
6/9/93 (feature improvement) Modified default bindings for entries to
|
||
keep one character visible to the left of the cursor during backspaces.
|
||
|
||
6/18/93 (feature improvement) Added patchlevel.h, for use in coordinating
|
||
future patch releases, and also added tk_patchLevel variable to make the
|
||
patch level available in scripts.
|
||
|
||
6/26/93 (bug fix) Fixed numeric problems in scales that occurred with
|
||
very large scale values.
|
||
|
||
6/26/93 (bug fix) Polygon items in canvases could cause core dumps if
|
||
the "coords" widget command was used to add one new coordinate.
|
||
|
||
6/26/93 (bug fix) Changed canvases to handle large stipple patterns
|
||
gracefully (stipples used to jump around during redisplay and lose
|
||
coherency).
|
||
|
||
7/1/93 (syntax change, new feature) Implemented the new packer syntax
|
||
as described in the book. For now the old syntax will continue to be
|
||
supported too. Converting over is straightforward except (a) use
|
||
"-anchor" instead of "frame", and (b) padding is different (separate
|
||
internal and external padding, plus pad amounts are *on each side*
|
||
instead of total). Also added "pack propagate" command for keeping
|
||
the packer from setting the master's requested size.
|
||
|
||
7/1/93 Changed copyright notices. The effect is the same as with the
|
||
old notices, but the new notices more clearly disclaim liability.
|
||
|
||
7/7/93 (new feature) Added support for window stacking order. Windows
|
||
will now stack in the order created (most recent on top), plus "raise"
|
||
and "lower" commands may be used to restack (Tk_RestackWindow procedure
|
||
is available from C level).
|
||
|
||
7/7/93 (reorganization) Moved main.c to tkMain.c, reorganized it to
|
||
call Tcl_AppInit just like tclsh does, and added argv0 variable to contain
|
||
application name, and added default Tcl_AppInit procedure for wish.
|
||
Also added tkTest.c to hold C code for testing.
|
||
|
||
7/7/93 (new feature) Added new Tk-specific "exit" command, which cleans
|
||
up properly before exiting. It replaces the Tcl "exit" command, and
|
||
can be used in place of "destroy .".
|
||
|
||
7/9/93 (new features) Added tk_dialog library procedure that creates
|
||
dialogs with a bitmap, message, and any number of buttons. Also changed
|
||
default tkerror procedure to use tk_dialog plus offer the user a chance
|
||
to see a Tcl stack trace.
|
||
|
||
-------------------- Release 3.3 Beta 1, 7/9/93 -------------------------
|
||
|
||
7/12/93 (configuration changes) Eliminated leading blank line in
|
||
configure script; provided separate targets in Makefile for installing
|
||
binary and non-binary information; fixed -lnsl and -lsocket handling
|
||
in configure; added autoconf support for fd_set type; check for various
|
||
typedefs like mode_t and size_t, and provide substitutes if they
|
||
don't exist; don't include tkAppInit.o in libtk.a; try to locate the
|
||
X includes and library in all of the standard places for various systems.
|
||
|
||
7/14/93 (new feature) Modified tkMain.c so that it stores the value
|
||
of the -display command-line option into the DISPLAY environment
|
||
variable, if it is specified.
|
||
|
||
7/15/93 (feature removal) Removed auto-initialization feature from
|
||
Tk_ConfigureWidget, so that you must once again initialize all fields
|
||
of a widget record before calling Tk_ConfigureWidget. This restores
|
||
the behavior back to what it was in Tk 3.2.
|
||
|
||
7/16/93 (bug fix) Modified tkBind.c to ignore the Caps Lock modifier
|
||
unless it is explicitly requested in a binding. Without this fix,
|
||
buttons and menus and other things didn't work if the Caps Lock key
|
||
was active.
|
||
|
||
-------------------- Release 3.3 Beta 2, 7/21/93 -------------------------
|
||
|
||
7/21/93 (new feature) Change "make install" so that it will modify the
|
||
#! lines on demo scripts to reflect the place where the wish binary
|
||
is installed.
|
||
|
||
7/23/93 (new feature) Added Tk_MainWindow procedure that returns the
|
||
main window associated with a Tcl interpreter. This is intended for
|
||
use by Tcl_AppInit and other initialization procedures.
|
||
|
||
7/24/93 (configuration improvements) Changed configure script not to
|
||
omplain about "fd_set" missing if it's defined in <sys/select.h>.
|
||
|
||
7/28/93 (bug fix) "Bad Match - parameter mismatch" errors were
|
||
sometimes occurring when several top-level windows got created
|
||
at the same time, due to wrong choice of sibling when stacking
|
||
windows.
|
||
|
||
8/14/93 (new feature) Added support for tcl_prompt1 and tcl_prompt2
|
||
to wish main program: makes prompts user-settable.
|
||
|
||
8/19/93 (bug fix) Bindings to event sequences like "aD" never matched
|
||
because the Shift key has to be pressed before D. Modified Tk to
|
||
ignore extraneous keypresses if they are for modifier keys.
|
||
|
||
8/26/93 (configuration changes) Added Tk_Init, modified Tcl_AppInit
|
||
procedures to use it and Tcl_Init. Added support for .wishrc file.
|
||
|
||
8/28/93 (new feature) The main window is now a legitimate toplevel
|
||
widget.
|
||
|
||
-------------------- Release 3.3 Beta 3, 8/30/93 -------------------------
|
||
|
||
9/2/93 (bug fix) The packer wasn't always relaying out a master after
|
||
changes to some of the configuration options of its slaves.
|
||
|
||
9/2/93 (bug fix) The binding mechanism made it impossible for patterns
|
||
like <Double-ButtonRelease-1> to ever match.
|
||
|
||
9/2/93 (bug fix) Fixed core dump that occurred for bitmap canvas items
|
||
if Postscript is generated but no -bitmap option has been specified.
|
||
|
||
9/4/93 (enhancement) Slight improvements to menu traversal: set menu
|
||
traversal bindings for menubar window in tk_menuBar, plus trigger
|
||
traversal on <Any-Alt-Keypress> instead of <Alt-Keypress>.
|
||
|
||
9/9/93 (bug fix) Changed tkBind.c so that the Num_Lock key doesn't
|
||
prevent events from triggering bindings.
|
||
|
||
9/9/93 (bug fix) Changed tkOption.c to always fetch RESOURCE_MANAGER
|
||
property from root window of screen 0, rather than using default
|
||
screen.
|
||
|
||
9/9/93 (bug fix) Entry widgets weren't allocating quite enough width
|
||
for themselves. Fixed this and changed the size computation to match
|
||
what's done for buttons and texts.
|
||
|
||
9/16/93 (bug fix) Changed tkMain.c not to call exit C procedure directly;
|
||
instead always invoke "exit" Tcl command so that application can redefine
|
||
the command to do additional cleanup.
|
||
|
||
-------------------- Release 3.3, 9/29/93 -------------------------
|
||
|
||
9/30/93 (bug fix) Packer wasn't unmapping slaves when master got deleted.
|
||
|
||
9/30/93 (bug fix) Binding event sequences such as <Right> were being
|
||
misprinted as ASCII characters such as "S".
|
||
|
||
10/6/93 (bug fix) Canvases weren't unmapping window items when the canvas
|
||
got unmapped, which caused problems for window items whose windows weren't
|
||
descendants of the canvas (they got left on the screen).
|
||
|
||
10/7/93 (feature change) NULL proc arguments to Tk_CreateFileHandler used
|
||
to have a special undocumented meaning (fd was display); eliminated this
|
||
special interpretation.
|
||
|
||
10/7/93 (configuration change) Eliminated dependency of tkMain.c on
|
||
tkInt.h and tkConfig.h, so that it's easier for people to copy the file
|
||
out of the source directory to make modified versions.
|
||
|
||
10/8/93 (bug fix) 3.0 introduced a bug where the class of the application
|
||
wasn't being set properly, so options based on the application class
|
||
weren't triggering. Fixed by adding new argument to Tk_CreateMainWindow.
|
||
|
||
10/11/93 (bug fix) Fixed bug in tkTextBTree.c where some deletions would
|
||
cause core dumps due to halfwayLinePtr not getting set correctly.
|
||
|
||
10/18/93 (bug fix) Fixed a couple of bugs that made it hard to actually
|
||
display N characters in an entry with "-width N" (tended to scroll the
|
||
entry so that only N-1 characters were visible at once).
|
||
|
||
10/22/93 (bug fix) During configuration, XINCLUDE_DIR and XLIBRARY_DIR
|
||
weren't overriding xmkmf like they were supposed to.
|
||
|
||
10/23/93 (new feature) Allow negative scale factors in canvas "scale"
|
||
widget command.
|
||
|
||
10/23/93 (bug fix) Grabs weren't being cleaned up right if the grab
|
||
window was deleted, causing core-dumps in some cases.
|
||
|
||
10/23/93 (bug fix) tk_TextSelectTo wasn't checking to be sure that
|
||
the "anchor" mark exists.
|
||
|
||
10/27/93 (bug fix) Fixed core dump that could occur in a text widget if
|
||
the scroll command modifies the text.
|
||
|
||
11/1/93 (bug fix) Change texts so that the -yscrollcommand option is
|
||
invoked at display time, not when the window is re-layed out. This
|
||
eliminated various core dumps that could occur if -yscrollcommand modified
|
||
the text.
|
||
|
||
-------------------- Release 3.4, 11/04/93 -------------------------
|
||
|
||
Note: there is no 3.5 release. It was flawed and was thus withdrawn
|
||
shortly after it was released.
|
||
|
||
11/12/93 (bug fix) TkMain.c didn't compile on some systems because of
|
||
R_OK in call to "access". Changed to eliminate call to "access".
|
||
|
||
-------------------- Release 3.6, 11/26/93 -------------------------
|
||
|
||
11/10/93 (bug fix) Packer and placer didn't always reposition a window
|
||
correctly if it was managed inside a neice or lower descendant (using
|
||
"-in" option) and the neice's parent moved.
|
||
|
||
11/24/93 (bug fix) Fixed time problem in selection (retrievals could
|
||
fail if retriever hasn't received any X events since selection was
|
||
made, so that time of retrieval appears to be older than time of
|
||
selection). Selection code is now much less picky about times, both
|
||
on retrieving and supplying sides.
|
||
|
||
12/2/93 (new feature) Changed arrow-head drawing code for canvas
|
||
lines to draw a 0-width outline in addition to filling the area:
|
||
this produces much nicer, more symmetrical displays.
|
||
|
||
12/2/93 (bug fix) When colors ran out, Tk was invoking "tkerror"
|
||
when its state was internally inconsistent, which could cause
|
||
core dumps in some situations (e.g. if tkerror used the same color
|
||
that caused colors to run out). Changed notification to occur
|
||
as a when-idle handler.
|
||
|
||
12/3/93 (bug fix) During a global grab, Tk wasn't including PointerMotion
|
||
in the list of grabbed events, so pointer motion couldn't be tracked
|
||
outside the grabbing application.
|
||
|
||
12/3/93 (bug fix) Canvases didn't handle smoothed lines correctly
|
||
when they only contained two points.
|
||
|
||
12/3/93 (bug fix) Fixed bug in tkWindow.c where certain kinds of
|
||
errors during window creation could cause Destroy events to be generated
|
||
for a window that was never completely initialized.
|
||
|
||
12/13/93 (bug fix) Fixed bug in tkTextDisp.c that resulted in core
|
||
dumps at line 1467 under exmh. The exact situation is that a text
|
||
widget was being redisplayed at a time when it had a -yscrollcommand
|
||
option but hadn't yet been mapped onto the screen.
|
||
|
||
12/17/93 (bug fix) Fixed bug in tkWindow.c whereby new top-level windows
|
||
with non-default visuals still inherited border pixmap from parent (root),
|
||
which could cause visual clash and X error.
|
||
|
||
12/17/93 (bug fix) Fixed bug in tkTextDisp.c that caused round-off
|
||
error in the information passed to scroll commands.
|
||
|
||
12/18/93 (bug fix) Fixed bug in tkPack.c that caused core dumps in
|
||
some situations if a master with siblings packed "-in" it was deleted.
|
||
|
||
12/18/93 (bug fix) Added "compat" directory to distribution, since it's
|
||
referenced by tkConfig.h on some systems.
|
||
|
||
12/18/93 (performance improvement) Improved performance of appending to
|
||
a listbox, so that inserting N items doesn't take N**2 time.
|
||
|
||
12/20/93 (bug fix) Fixed bug in canvas ovals that caused the fill color
|
||
for the oval to stick out past the outline.
|
||
|
||
1/2/94 (fixed Xlib bug) Added code to reuse X resource identifiers so
|
||
that they won't run out in long running applications. There are three
|
||
new library procedures: Tk_FreeXId, Tk_GetPixmap, and Tk_FreePixmap.
|
||
Modified all Tk code to use these procedures, so wish applications should
|
||
now be able to run forever without running out of identifiers.
|
||
|
||
1/10/94 (bug fix) tkCursor wasn't freeing pixmaps used to create
|
||
cursors, which caused memory leaks in programs that changed cursors
|
||
frequently.
|
||
|
||
1/21/94 (bug fix) Fixed bug in scales that caused them to loop
|
||
infinitely drawing tick-marks when -from and -to were the same.
|
||
|
||
2/2/94 (bug fix) Fixed problem where messages that contained tabs
|
||
didn't always compute the correct size, so that text spilled off
|
||
the right edge. The fix adds an extra "tabOrigin" parameter to
|
||
the internal procedures TkMeasureChars, TkDisplayChars, and
|
||
TkUnderlineChars.
|
||
|
||
2/4/94 (bug fix) Fixed off-by-one problem in tkBind.c that caused
|
||
it to read past the initialized part of dispPtr->modKeyCodes.
|
||
|
||
2/7/94 (bug fix) Text widgets didn't handle grabs correctly, such
|
||
that the "current" character got stuck if a grab occurred while a
|
||
mouse button was down. It would get unstuck until after the
|
||
next button press and release.
|
||
|
||
2/19/94 (bug fix) Fixed prolog.ps (prolog for Postscript printing from
|
||
canvases) so that it correctly prints all of the characters in the
|
||
ISO Latin-1 character set.
|
||
|
||
2/19/94 (bug fix) Modified tkBind.c to save and restore the interpreter's
|
||
result across the execution of binding scripts. Otherwise if an event
|
||
triggers in the middle of some other script (e.g. a destroy event during
|
||
window creation, because there was an error in the creation command),
|
||
the intepreter's result gets lost.
|
||
|
||
2/19/94 (bug fix) Fixed bug in dealing with results of sent command
|
||
that could cause them to get lost in some situations.
|
||
|
||
2/21/94 (bug fix) Don't let user close a dialog window created by
|
||
tk_dialog, since this would cause tk_dialog to hang: force the user
|
||
to select one of the dialog's buttons.
|
||
|
||
2/21/94 (bug fix) Fixed bug in canvas polygons whereby they didn't
|
||
correctly handle changes in the number of points (via "coords"
|
||
widget command).
|
||
|
||
2/23/94 (bug fix) Large bitmaps in canvases didn't print correctly
|
||
because they overflowed the 64-KB limit on strings in Postscript.
|
||
Changed canvas printing to split up large bitmaps into mutliple
|
||
smaller ones for printing.
|
||
|
||
2/25/94 (bug fix) The "." window was being set up with -width
|
||
and -height options, which interfered with geometry management (any
|
||
configuration change on "." causes the window to change size to
|
||
200x200, then change back again).
|
||
|
||
2/26/94 (bug fix) Fixed several bugs that occurred when a Destroy
|
||
event handler for a window deleted the window's parent.
|
||
|
||
3/3/94 (new features) Changes to binding mechanism:
|
||
- The modifiers for "Alt", "Meta", and "M" are now computed by
|
||
examining the modifier map, rather than being hardwired to
|
||
M2, M1, and M1.
|
||
- When processing events, one script is invoked for each object
|
||
in the list passed to Tk_BindEvent, rather than stopping as
|
||
soon as a script is invoked for some object. The "break" and
|
||
"continue" commands can be used within a script to abort all
|
||
scripts for the event or the current one.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Added "bindtags" command so that new binding groups can be
|
||
defined for widgets and the evaluation order can be changed.
|
||
- When matching events to bindings, extra modifiers are now ignored,
|
||
as if "Any" were specified for every event. The "Any" modifier
|
||
is still recognized, but it is ignored and is deprecated.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- In % sequences that print window identifiers (e.g. %a and %S), print
|
||
in hexadecimal rather than decimal, for consistence with "winfo id".
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- The "bind" command no longer supports the event types CirculateRequest,
|
||
ConfigureRequest, MapRequest, or ResizeRequest. These event types
|
||
are somewhat dangerous, and they never worked anyway.
|
||
|
||
3/13/94 (bug fix) Fixed numerous problems with the "wm iconwindow" command.
|
||
It appears that this command never really worked at all, but it should
|
||
work OK now.
|
||
|
||
3/14/94 (feature changes) Removed several obsolete features:
|
||
- Eliminated "enable" and "disable" widget commands for menus.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Eliminated "activate" and "deactivate" widget commands for buttons,
|
||
checkbuttons, radiobuttons, and menubuttons.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Removed -geometry option for frames and toplevels: it causes
|
||
problems when .Xdefaults files contain entries like
|
||
"*geometry: +0+0". Must use -width and -height instead.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Desupported "tkVersion" variable: use "tk_version" instead.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
3/16/94 (feature changes) Changes to listboxes:
|
||
- Eliminated -geometry option (it causes problems when .Xdefaults
|
||
files contain entries like "*geometry: +0+0"). Added -width
|
||
and -height options to use instead.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
3/21/94 (bug fix) Fixed bug in tkOption.c where the option cache wasn't
|
||
properly cleaned up after window deletion; this could cause the wrong
|
||
value from the option database to be used under some conditions.
|
||
|
||
3/25/94 (new features) Changes to geometry management:
|
||
- Added Tk_MaintainGeometry and Tk_UnmaintainGeometry procedures
|
||
to solve problems with -in windows. Modified the packer, the
|
||
placer, and canvases to use them.
|
||
- Changed 2nd argument to Tk_ManageGeometry from Tk_GeometryProc *
|
||
to a pointer to a structure with additional information about
|
||
the geometry manager, such as name and procedure to call when
|
||
slaves are stolen.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
3/28/94 (new feature) Overhauled event management:
|
||
- Added "cancel" option to the "after" command so that you can
|
||
cancel previously-scheduled commands.
|
||
- Separated X-specific stuff from generic event management. The
|
||
file tkEvent.c can now be used stand-alone without the rest of Tk.
|
||
See the manual entry for Tk_EventInit for information on which
|
||
procedures are available this way.
|
||
- Added Tk_CreateFileHandler2 procedure, which provides a lower-level
|
||
and more powerful form of file event handler.
|
||
- Fixed bug in Tk_DoOneEvent where an infinite loop could occur if
|
||
the TK_FILE_EVENT and TK_DONT_WAIT flags were set simultaneously
|
||
(there were bugs with several other combinations too; all should
|
||
be fixed now).
|
||
|
||
3/28/94 (new feature) Added "fileevent" command, which allows event-
|
||
driven I/O in the style of Mark Diekhans' "addinput" command.
|
||
|
||
4/11/94 (new feature) Better support for colormaps and visuals:
|
||
- Added new -colormap and -visual options to toplevels and frames.
|
||
- Added "winfo visualsavailable" command.
|
||
- Added "wm colormapwindows" command, plus support for WM_COLORMAP_WINDOWS
|
||
to Tk_SetWindowColormap.
|
||
- Added new library procedures Tk_GetVisual, Tk_GetColormap,
|
||
and Tk_FreeColormap.
|
||
|
||
4/11/94 (bug fix) Fixed core dump that used to occur when specifying
|
||
an iconwindow ("wm iconwindow") for a toplevel on a different screen
|
||
than the main window.
|
||
|
||
4/23/94 (new feature) Added support for images, including the following:
|
||
- New "image" command for creating images.
|
||
- Built-in image type: bitmap.
|
||
- New "image" item type in canvases.
|
||
- Labels, buttons, checkbuttons, radiobuttons, menubuttons, and
|
||
menu entries now support a -image option for displaying images.
|
||
- Tk_CreateImageType and Tk_ImageChanged procedures, for defining
|
||
new types of images in C.
|
||
- Tk_GetImage, Tk_FreeImage, Tk_RedrawImage, and Tk_SizeOfImage
|
||
procedures, for using images in widgets.
|
||
|
||
5/1/94 (new features) Added new procedures Tk_3DVerticalBevel and
|
||
Tk_3DHorizontalBevel.
|
||
|
||
5/11/94 (new features) Major overhaul of text widgets:
|
||
- Implemented embedded windows and "window" widget command.
|
||
- Added new configuration options for tags: -justify, -lmargin1,
|
||
-lmargin2, -rmargin, -offset, -spacing1, -spacing2, and -spacing3.
|
||
See the "Display styles" widget demo for examples.
|
||
- Added new configuration options for texts: -spacing1, -spacing2,
|
||
and -spacing3.
|
||
- Added "tagList" option to "insert" widget command to control
|
||
tags on new text. Made tagged regions so they aren't sticky on
|
||
either side: new characters get a tag only if the old chars. on
|
||
both sides had it.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Added gravity for marks, and "mark gravity" widget command.
|
||
- Added horizontal scrolling, "xview" widget command, -xscrollcommand
|
||
option. Changed "scan" widget commands to support horizontal
|
||
scrolling.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Added "search" widget command for searching (either exact matches
|
||
or regular expressions).
|
||
- New widget commands: bbox, dlineinfo, and see.
|
||
- Changed implementation of bindings so that Enter and Leave
|
||
events are not generated unless the tag has just become present
|
||
(or just ceased to be present) on the current character. Also
|
||
changed bindings to process separately for each tag, rather than
|
||
having high-priority tags override low-priority ones.
|
||
- The "end" index now refers to the character after the last newline
|
||
rather than the newline itself. You can now tag the final newline
|
||
and set a mark after the final newline.
|
||
- Deletions of the "sel" tag and the "insert" and "current" marks
|
||
are now ignored silently, rather than generating errors. This means
|
||
you can do things like "eval .t tag delete [.t tag names]".
|
||
|
||
5/19/94 (bug fix) Canvases didn't generate proper Postscript for stippled
|
||
text.
|
||
|
||
5/20/94 (new feature) Added "bell" command to ring the display's bell.
|
||
|
||
5/20/94 (new feature) Incorporated "square" demonstration widget into
|
||
tktest application.
|
||
|
||
5/20/94 (new features) Changed wish application (tkMain.c):
|
||
- wish no longer processes the -help option.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- The wish main program is now called Tk_Main; tkAppInit.c has a
|
||
"main" procedure that calls Tk_Main. This makes it easier to use
|
||
Tk with C++ programs, which need their own main programs, and it
|
||
also allows an application to prefilter the argument list before
|
||
calling Tk_Main.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- The application's class is now the same as its name (except the
|
||
first letter is capitalized), instead of "Tk".
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- The -file keyword is no longer required: the script file name can
|
||
be provided as the first argument without being preceded by "-file",
|
||
as in tclsh. For backward compatibility the "-file" keyword is
|
||
ignored if it is the first argument, but it is deprecated.
|
||
|
||
5/26/94 (feature removed) Removed support for "fill" justify mode from
|
||
Tk_GetJustify and from the TK_CONFIG_JUSTIFY configuration option. None
|
||
of the built-in widgets ever supported this mode anyway.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
5/27/94 (feature change) Changed Tk to use Tk_PrintDouble everywhere
|
||
that it converts reals to strings. This means that floating-point
|
||
values will be generated in some cases where integer-like values were
|
||
generated before.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
6/1/94 (feature change) Renamed "pack newinfo" command to "pack info".
|
||
The old "pack info" command is no longer available.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
6/20/94 (feature changes) Overhaul of entry widgets:
|
||
- Added "-justify" option.
|
||
- Added "-show" option to make entries easier to use for passwords.
|
||
- Added "cget" widget command.
|
||
- Added "selection range" and "selection present" widget commands.
|
||
- Added "anchor" symbolic index.
|
||
- Changed "-scrollcommand" option to "-xscrollcommand", "view"
|
||
widget command to "xview", for compatibility with other widgets.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Changed sel.last to refer to character just *after* last one
|
||
selected, again for compatibility with other widgets.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- For "delete" widget command, second index now refers to character
|
||
just *after* last one to delete.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Overhauled bindings to be more Motif-compatible and to include
|
||
common Emacs bindings for editing.
|
||
- Changed -width option: if specified as 0, widget sizes to fit
|
||
its current text.
|
||
|
||
6/11/94 (new features) Improved Motif compatibility:
|
||
- Added "-highlightwidth" and "-highlightcolor" options to all widgets.
|
||
|
||
6/27/94 (bug fix) Postscript generation for text items in canvases was
|
||
not justifying the text properly when a -width was specified that was
|
||
longer than the longest line.
|
||
|
||
6/27/94 (bug fix) "winfo exists" used to report a window as existing
|
||
if it was in the process of being destroyed (i.e., a destroy handler
|
||
is in the middle of execution). Changed to report it as non-existent
|
||
under these conditions.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
7/11/94 (bug fix) Selections claimed via "selection own" weren't always
|
||
being cleared properly when the selection was claimed away. Also fixed
|
||
bug where Tk wasn't properly claiming the selection, if there haven't
|
||
been any recent X events at the time of the claim.
|
||
|
||
7/13/94 (feature changes) Overhaul of scrollbar widgets:
|
||
- New widget commands: "activate", "cget", "fraction", and "identify".
|
||
- New options: -activebackground, -activerelief, -highlightcolor,
|
||
-jump, -highlightthickness, and -troughcolor. What used to be
|
||
-background is now -troughcolor, -foreground is now -background,
|
||
and -activeforeground is now -activebackground.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Added new syntax for "set" command, "get" result, and generated
|
||
commands. Changed other widgets to use the new syntax.
|
||
- Moved the bindings out of C and into Tcl scripts, using the new
|
||
options and widget commands. Added support for all Motif
|
||
bindings, plus jump scrolling and cancelling of slider drags.
|
||
|
||
7/16/94 (bug fix) Canvases assumed that the Leave event for one item
|
||
didn't modify or delete the next current item; this could cause core
|
||
dumps under some conditions.
|
||
|
||
7/23/94 (feature change) Modified Tk_BackgroundError so that tkerror
|
||
is invoked as an idle handler. If tkerror generates a break exception
|
||
then all other queued reports are aborted.
|
||
|
||
8/14/94 (bug fix) "cursorOffTime" and "cursorOnTime" were confused in
|
||
canvases, resulting in the same time being used for both.
|
||
|
||
8/16/94 (bug fix) "tkwait variable" command didn't detect errors in
|
||
variable name, such as trying to wait for an entire array.
|
||
|
||
9/2/94 (new features) Overhaul of scale widgets:
|
||
- Floating-point values are supported now, following Paul Mackerras'
|
||
"fscale" widget. Added "-resolution" and "-digits" options.
|
||
- Added "-variable" option to link scale to variable, following
|
||
Henning Schulzrinne's implementation.
|
||
- Added focus highlight (-highlightthickness and -highlightcolor
|
||
options).
|
||
- Added new widget commands "cget", "coords", "identify", plus
|
||
improved "get"; removed wired-in bindings, added complete set
|
||
of Motif bindings via Tcl scripts.
|
||
- Changed -sliderforeground option to -background, -background to
|
||
-troughColor, -activeforeground to -activebackground.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Moved value label from below horizontal scales to above the scale,
|
||
for Motif compliance.
|
||
|
||
9/9/94 (bug fix) Fixed bug in tkWm.c that caused long delays in "raise"
|
||
command under some conditions (window already at the top of the stack).
|
||
|
||
9/10/94 (new features) Overhaul of label/button/checkbutton/radiobutton
|
||
widgets:
|
||
- Added focus highlight (-highlightthickness and -highlightcolor
|
||
options).
|
||
- Added new widget command "cget".
|
||
- Changed -selector option to -selectcolor, and changed its meaning
|
||
too: empty no longer means don't draw the indicator; it means
|
||
don't use a special color when selected.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Added -indicatoron (controls whether indicator is displayed) and
|
||
-selectimage (gives special image to display when selected) options.
|
||
- Modified bindings to be more Motif-like, added binding for space
|
||
key.
|
||
- Changed padding defaults to give widgets correct Motif appearance
|
||
by default. Also, changed to ignore padding options when displaying
|
||
an image or bitmap.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Can now display text on multiple lines: newlines cause line breaks,
|
||
and word wrapping can be requested with -wraplength option. Also
|
||
added -justify and -underline options.
|
||
- The -value option for radiobuttons can now have an empty string as
|
||
its value; it no longer defaults to the name of the widget.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
9/13/94 (new features) Modified both canvases and messages to support
|
||
-highlightthickness and -highlightcolor options plus "cget" widget
|
||
command.
|
||
|
||
9/19/94 (new features) Added Tk_UnsetGrid procedure, modified widgets
|
||
to use it. Also changed Tk_SetGrid so that at most one window per
|
||
toplevel can have gridding enabled.
|
||
|
||
9/23/94 (new features) Major overhaul of listbox widgets:
|
||
- Added focus highlight (-highlightthickness and -highlightcolor
|
||
options).
|
||
- Added new widget command "cget".
|
||
- Revised selection commands to support single selections as well
|
||
as multiple disjoint selections; syntax of "selection" widget
|
||
command has changed to support this. Added new option -selectmode
|
||
for specifying which mode to use. Default is single selection;
|
||
tk_listboxSingleSelect procedure no longer exists. Selections
|
||
now return as items separated by newlines instead of a list whose
|
||
elements are the items.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Extended "get" widget command to allow many items to be retrieved
|
||
at once.
|
||
- Added "bbox" widget command for finding position of an element on
|
||
screen.
|
||
- Added "activate" command to mark element with traversal focus.
|
||
- Extended index mechanism to support new types of indices:
|
||
"active", "anchor", "@x,y".
|
||
- Added "see" widget command.
|
||
- Revised bindings to include all Motif features except for AddMode.
|
||
- If -width or -height option is <= 0, the widget requests a size just
|
||
large enough to hold all of its text.
|
||
|
||
10/6/94 (new features) Overhaul of menubuttons:
|
||
- Added focus highlight (-highlightthickness and -highlightcolor
|
||
options).
|
||
- Added new widget command "cget".
|
||
- Added -indicatoron option to display option menu indicator.
|
||
- The -menu option must be a child of the menubutton.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
10/6/94 (new features) Overhaul of menu widgets:
|
||
- Added new widget commands "cget" and "entrycget".
|
||
- Changed the implementation of tear-off menus to be more
|
||
Motif-like; added -tearoff option for specifying whether
|
||
tearoff entry is displayed.
|
||
- Changed interpretation of "@y" index: it now returns the
|
||
closest entry, rather than "none" if y is outside the menu's
|
||
range.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- The -menu option for a cascade entry must now be a child of
|
||
the menu.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Added "type" widget command, so that you can query the type of
|
||
an entry.
|
||
- Added -foreground, -activeforeground, -selectcolor, -indicatoron,
|
||
-image, and -selectimage options to menu entries.
|
||
- Changed "selector" menu option to "selectColor" for Motif compliance.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Added -relief option for menus, just for consistency with other
|
||
widgets (it was implicitly "raised" before).
|
||
|
||
10/6/94 (feature change) Completely overhauled the bindings for menus
|
||
and menubuttons. They now fit better with other Tk 4.0 facilities,
|
||
such as the new binding mechanism, and they provide better Motif
|
||
compliance (e.g. keyboard traversal of submenus). Also, the bindings
|
||
now support option menus, popup menus, and proper Motif tear-off
|
||
menus.
|
||
|
||
10/6/94 (obsolete features) The procedures tk_menuBar and
|
||
tk_bindForTraversal are no longer needed in Tk 4.0. They still exist
|
||
for compability, but they do nothing.
|
||
|
||
10/6/94 (new procedures) Added "tk_popup" procedure for posting a
|
||
popup menu, and "tk_optionMenu" for creating an option menubutton
|
||
and its associated menu.
|
||
|
||
10/6/94 (change in name) The variable "tk_priv" has been renamed
|
||
to "tkPriv" to reflect that fact that it is private to Tk now.
|
||
This shouldn't cause any problems, since no-one except Tk should
|
||
have been using it before anyway (right?).
|
||
|
||
10/6/94 (bug fix) Fixed bug in texts where sometimes the text would
|
||
stop tracking mouse motion (the "current" item wouldn't get updated)
|
||
because the text widget missed a ButtonRelease event.
|
||
|
||
10/20/94 (new features) Overhauled selection code to support multiple
|
||
selections (primary, secondary, etc.) and multiple displays:
|
||
- Changed "selection" command to support new options such as
|
||
"-displayof" and "-selection". Old command formats are still
|
||
supported for compatibility, but they are no longer documented
|
||
and are deprecated.
|
||
- Changed procedures Tk_GetSelection, Tk_CreateSelHandler, and
|
||
Tk_ClearSelection to take additional "selection" argument.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Selection targets APPLICATION and WINDOW_NAME have been replaced
|
||
by TK_APPLICATION and TK_WINDOW.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
10/20/94 (new features) Added support for clipboard:
|
||
- New "clipboard" command.
|
||
- C procedures Tk_ClipboardClear and Tk_ClipboardAppend.
|
||
- Bindings for "cut", "paste", and "copy" for text and entry widgets,
|
||
plus "copy" binding for listboxes.
|
||
|
||
10/24/94 (bug fix) Button widgets weren't checking for errors when
|
||
setting the values of associated variables.
|
||
|
||
11/3/94 (bug fix) Fixed bug whereby Tk would hang if "exit" was invoked
|
||
from inside a <Destroy> binding.
|
||
|
||
11/15/94 (new features) Overhaul of focus mechanism:
|
||
- Added support for multiple displays: separate focus windows are
|
||
kept for each display.
|
||
- Added support for keyboard traversal.
|
||
- Changed focus model so Tk keeps track of a focus window for each
|
||
top-level window and automatically sets the focus on Enter to the
|
||
top-level. Tk no longer synthesizes FocusIn and FocusOut events,
|
||
but just uses the standard X mechanisms. There is no "default"
|
||
focus window anymore; the focus reverts to top-levels by default.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Changed focus command: eliminated "focus default" and "focus none",
|
||
added "-displayof" and "-lastfor" options. An empty string is now
|
||
used to signify "no focus" instead of "none".
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Added library procedures tk_focusNext, tk_focusPrev, and
|
||
tk_focusFollowsMouse.
|
||
- Removed obsolete Tk_CreateFocusHandler: must use FocusIn and
|
||
FocusOut events now.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
11/23/94 (new features) Overhaul of "send" command:
|
||
- Added support for multiple displays: -displayof option to "send".
|
||
- Added asynchronous sends: -async option to "send".
|
||
- Eliminated fixed timeouts on sends: as long as the target
|
||
application appears to exist, the send will wait for it.
|
||
- Stale entries get removed from the application registry now,
|
||
so "winfo interps" should never return non-existent applications.
|
||
- Can change the name of an application with "tk appname" command.
|
||
This is also the preferred way of querying the application name
|
||
now.
|
||
- The errorCode and errorInfo variables are now propagated back to
|
||
the sender now, so a full stack trace is available.
|
||
- Tk checks display security on each send now, instead of just during
|
||
initialization, so changes in the security status are seen immediately
|
||
by all applications.
|
||
- The above changes required changes to the data formats used for
|
||
communication between source and target applications, so Tk 4.0
|
||
applications cannot send to, or be sent from, Tk 3.6 applications.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- The procedure Tk_RegisterInterp has been replaced with Tk_SetAppName.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/6/94 (cleanup) Eliminated "interp" argument to Tk_GetColorByValue,
|
||
since it is no longer needed.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/7/94 (feature change) Changed the "wm" command so that top-level
|
||
windows are now resizable by default. You can no longer specify
|
||
empty arguments to "wm maxsize" and "wm minsize".
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/8/94 (new feature) Added new "photo" image type using code provided
|
||
by Paul Mackerras: currently supports only PPM "P6" format images.
|
||
|
||
12/14/94 (new features) Canvas modifications:
|
||
- Modified the interfaces between generic canvas code and the item
|
||
types so that it's easy for people to write new item types outside
|
||
of Tk.
|
||
- Added support for transparent bitmap items: just specify an
|
||
empty string as the background color.
|
||
- Changed the "xview" and "yview" commands for canvases to use the
|
||
new scrolling syntax.
|
||
- Eliminated -scrollincrement option.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/14/94 (bug fix) Fixed bug where the dimensions of canvas arrowheads
|
||
scaled during a "scale" widget command, but the scaling was only
|
||
temporary and got lost on the next re-configure of the item. The
|
||
correct behavior is for the arrowheads not to scale.
|
||
|
||
-------------------- Release 4.0b1, 12/23/94 -------------------------
|
||
|
||
12/26/94 (bug fix) Removed obsolete demos from Makefile (color, dialog,
|
||
size), fixed "install" target.
|
||
|
||
1/3/95 (bug fix) Fixed all procedure calls to explicitly cast arguments:
|
||
implicit conversions from prototypes don't work when compiling under
|
||
non-ANSI compilers. Tk is now clean under gcc -Wconversion.
|
||
|
||
1/4/95 (bug fix) Used "screenX" without ever setting it in DisplayText
|
||
in tkCanvText.c: caused tabs in canvas text items to get messed up.
|
||
|
||
1/4/95 (bug fix) Canvases forgot to register the built-in types if
|
||
Tk_CreateItemType was called before a canvas widget was created.
|
||
|
||
1/4/95 (bug fixes) Fixed glitches in various text bindings:
|
||
- Up used to do nothing if the cursor was at 2.0.
|
||
- Right used to make the cursor invisible if it was just before
|
||
the final newline of the text.
|
||
- Control-t didn't conform to Emacs; made it conform to GNU Emacs.
|
||
- Deleted Control-x binding, since it doesn't conform to anything and
|
||
is confusing for Emacs users.
|
||
|
||
1/4/95 (bug fixes) Changed Control-t for entries just as for texts (see
|
||
above) an deleted Control-x for entries (see above).
|
||
|
||
1/4/95 (bug fix) The packer didn't map slaves unless the master was mapped;
|
||
this could cause slaves to get "lost" so that they weren't mapped until the
|
||
master resized.
|
||
|
||
1/5/95 (bug fix) Scrollbars weren't executing the proper code the first time
|
||
the mouse entered the widget; this caused problems if tk_strictMotif was
|
||
set.
|
||
|
||
1/6/95 (bug fix) Fixed label/button/checkbutton/radiobutton/menubutton
|
||
widgets to allow arbitrary screen distances when specifying -width and
|
||
-height for an image or bitmap (the manual pages already documented this
|
||
but the code didn't implement it).
|
||
|
||
1/6/95 (new feature) Added very primitive support for input methods,
|
||
as suggested by Martin Forssen. This should be enough for European
|
||
character sets (Compose key) but it isn't near enough for Asian
|
||
character sets.
|
||
|
||
1/8/95 (bug fix) Fixed problem in canvas "xview" and "yview" commands
|
||
where divide-by-zero errors could sometimes occur.
|
||
|
||
1/8/95 (bug fix) New event handler didn't properly handle files for
|
||
which both TK_READABLE and TK_WRITABLE were specified.
|
||
|
||
1/11/95 (bug fix) Fixed bug with text selections: was returning count
|
||
too high for data, causing bogus garbage to appear when selection was
|
||
copied.
|
||
|
||
-------------------- Release 4.0b2, 1/12/95 -------------------------
|
||
|
||
1/27/95 (feature removal) Removed %D substitution from binding scripts:
|
||
wasn't portable, shouldn't be used anyway.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
1/27/95 (new features) Added -displayof options to the commands
|
||
"winfo atom", "winfo atomname", "winfo containing", "winfo interps",
|
||
and "winfo pathname".
|
||
|
||
1/27/95 (new feature) Added "idle" option to "after" command to run
|
||
scripts as idle handlers.
|
||
|
||
1/28/95 (new feature) Modified placer to make -x and -relx additive
|
||
if you specify both. Same for -y and -rely, -width and -relwidth,
|
||
and -height and -relheight. This makes it easy to make request such
|
||
as "make .a 2 pixels larger than .b".
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
1/28/95 (new feature) Improved auto-grab mechanism in canvases (which
|
||
prevents current item from changing while a button is down): changed
|
||
to report Enter and Leave events for the current item while a button
|
||
is down. However, as before, no Enter events are reported for other
|
||
items until the button goes up.
|
||
|
||
1/28/95 (new feature) Bitmap images are now transparent if the -background
|
||
is specified as an empty string (-maskdata and -maskfile are ignored in
|
||
this case). This is also the default.
|
||
|
||
1/28/95 (bug fix) Tk didn't support manufacturer- or site-specific keysyms
|
||
such as SunAudioMute. Modified tkBind.c so that it uses XStringToKeysym
|
||
in addition to its own hash table, so that all keysyms are now available.
|
||
|
||
1/30/95 (feature change) Modified "clipboard append" so that it reclaims
|
||
the clipboard selection if it had been previously lost, rather than just
|
||
generating an error. This handles certain race conditions more cleanly,
|
||
and also allows the use of programs like "xclipboard".
|
||
|
||
1/30/95 (new feature) Added -xscrollincrement and -yscrollincrement
|
||
options to canvases.
|
||
|
||
1/31/95 (bug fix) Geometry management was broken if a particular geometry
|
||
manager claimed a slave away from itself.
|
||
|
||
1/31/95 (bug fix) Fixed bug in tkVisual.c where a visual with fewer bits
|
||
than requested was being selected in preference to one with just the right
|
||
number of bits.
|
||
|
||
1/31/95 (bug fix) Texts weren't redisplaying the padding region properly
|
||
after changes in -padx or -pady.
|
||
|
||
1/31/95 (new features) More text improvements:
|
||
- Extended "insert" widget command for texts to allow multiple
|
||
text-tagList pairs in the same command.
|
||
- Added -nocase option to "search" widget command.
|
||
- Added -overstrike option to tags.
|
||
- Added tab stops, via -tabs option for widget and for tags.
|
||
|
||
2/10/95 (bug fix) Modified all widgets to allow renaming of widget
|
||
commands. Deleting a widget command will delete the widget.
|
||
|
||
2/11/95 (new feature) Added -highlightbackground option to all widgets.
|
||
|
||
2/14/95 (new feature) Added "insert" widget command for menus.
|
||
|
||
2/15/95 (new feature) Modified text display code (for all widgets) to
|
||
display well-known control characters like newline and backspace as
|
||
\n or \b instead of \xa.
|
||
|
||
2/15/95 (bug fix) Modified bitmap and photo image managers to delete
|
||
the image command when the image is deleted. Also modified them to
|
||
allow renaming of the image command, and to delete the image if the
|
||
image command is deleted.
|
||
|
||
2/15/95 (bug fix) Fixed text widgets to allow horizontal scrolling
|
||
even if wrapping was enabled, if a line isn't entirely visible due to
|
||
a large character or embedded window.
|
||
|
||
2/16/95 (feature change) Added "postcascade" widget command to menus,
|
||
changed "invoke" and "activate" not to post or unpost submenus. Also
|
||
fixed bug in redisplay that tended to leave bits of garbage on menu
|
||
when submenu unposted.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
2/16/95 (feature removal) Removed "snap back" behavior (slider
|
||
snaps back to old position if you move the mouse outside the widet
|
||
before releasing the button) from scrollbars and scales.
|
||
|
||
2/16/95 (bug fix) The last line of a listbox wasn't being displayed if
|
||
it was only partially visible.
|
||
|
||
2/16/95 (new features) Added support for "-resolution 0" (no rounding
|
||
of values) to scale widgets, plus smarter computation of how many digits
|
||
to display.
|
||
|
||
2/17/95 (bug fix) Fixed bug in text bindings for things like Shift-Left:
|
||
didn't properly set the anchor position.
|
||
|
||
2/20/95 (bug fix) Changed management of COLORMAP_WINDOWS property to
|
||
add the toplevel implicitly to the end of the list if it wasn't already
|
||
on the list somewhere. Without this, some window managers implicitly
|
||
put it at the front of the list, so that colormaps in internal windows
|
||
are never used.
|
||
|
||
2/20/95 (bug fix) Changed to use separate command procedures for
|
||
button, checkbutton, label, and radiobutton commands. This allows the
|
||
class commands to be renamed without breaking their behavior.
|
||
|
||
2/20/95 (removed feature) The "bind" command no longer supports
|
||
"Keymap" events; they never worked anyway.
|
||
|
||
2/20/95 (bug fix) The text "search" widget command looped infinitely
|
||
when searching an empty text.
|
||
|
||
2/20/95 (bug fix) Canvases weren't redrawing their borders after
|
||
configuration changes.
|
||
|
||
2/20/95 (upgrade) Changed to use autoconf version 2.2.
|
||
|
||
2/21/95 (bug fix) Fixed several bug fixes in menu bindings that occur
|
||
when menus have no entries.
|
||
|
||
2/21/95 (bug fix) Fixed bug in geometry management that caused windows
|
||
packed -in siblings to not always be mapped and unmapped properly
|
||
(particularly when the toplevel got unmapped and mapped).
|
||
|
||
2/22/95 (bug fix) Fixed resource leak problem in tkTextDisp.c that
|
||
caused embedded windows not to be unmapped when off-screen.
|
||
|
||
2/23/95 (bug fix) "After cancel" dumped core when the script for an
|
||
after event cancelled itself.
|
||
|
||
2/24/95 (bug fix) Text and entry widgets weren't properly ignoring
|
||
Alt-, Control-, and Meta- keystrokes, so a widget-specific binding
|
||
for one of these resulted in the character also being inserted.
|
||
|
||
2/24/95 (bug fix) Several widgets accidentally performed unsigned
|
||
division on negative numbers, thereby losing the sign bit. This
|
||
mostly affected the display of images and bitmaps in buttons,
|
||
menubuttons, and messages.
|
||
|
||
2/24/95 (feature reversal) Restored old behavior of %A so that it
|
||
returns non-printing characters as well as printing ones now.
|
||
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
|
||
|
||
2/24/95 (bug fix) Duplicate "leave" events could occur for canvas
|
||
items under some conditions, due to recursive calls to PickCurrentItem.
|
||
Added code to detect and skip the nested calls.
|
||
|
||
2/24/95 (bug fix) Fixed bug where an error could occur during the first
|
||
keystroke in an application if its binding invoked "break".
|
||
|
||
2/25/95 (new feature) Modified syntax of "search" widget command for
|
||
texts. The -nowrap switch and the "variable" final argument are no
|
||
longer supported. Instead, there is a -count switch to replace
|
||
the final argument; if the final argument is specified, it is now
|
||
a stopping index for the search. The features of -nowrap can be
|
||
achieved now with the stopping index.
|
||
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
|
||
|
||
2/27/95 (bug fix) Fixed problem that appears to prevent keyboard
|
||
input for working under IRIX: tkBind.c was ignoring XmbLookupString
|
||
calls that returned a status of XLookupBoth.
|
||
|
||
2/27/95 (new feature) Added Tk_GetItemTypes procedure to return
|
||
information about available canvas item types.
|
||
|
||
2/27/95 (feature change) Changed Makefile to always use install-sh
|
||
for installations: there's just too much variation among "install"
|
||
system programs, which makes installation flakey.
|
||
|
||
2/27/95 (bug fix) Fixed bug in tkSend.c that caused core dumps if
|
||
the app's main window was destroyed by a destroy handler on a
|
||
child.
|
||
|
||
3/5/95 (feature change) Change separator character used in "bind +..."
|
||
bindings from semi-colon to newline (permits bindings that are
|
||
comments, for what that's worth).
|
||
|
||
3/7/95 (bug fix/feature change) Overhauled focus code, both in C
|
||
and in Tcl:
|
||
- Tk won't move the X focus in response to the "focus" command
|
||
unless either the application already has the focus or the
|
||
-force switch is specified.
|
||
- Tk no longer sets the X focus to anything other than top-levels;
|
||
it synthesizes events for FocusIn and FocusOut to children.
|
||
- A window no longer has to be viewable when focussed to; Tk will
|
||
set the X focus later, when the window becomes viewable.
|
||
- Added -takefocus option to all widgets.
|
||
- Rewrote tk_focusPrev and tk_focusNext to use the -takefocus option.
|
||
These procedures no longer set the focus; they just return the
|
||
next window in focus order.
|
||
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
|
||
- Eliminated tk_focusContinue.
|
||
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
|
||
|
||
3/8/95 (new feature, bug fix) Added support for tk_strictMotif variable
|
||
in C: Tk_StrictMotif library procedure. Modified buttons, menubuttons,
|
||
menus to use it. This fixes the problem with menus not supporting
|
||
tk_strictMotif properly in Tk4.0b1 and b2.
|
||
|
||
3/16/95 (feature overhaul) Overhauled color management:
|
||
- Changed Tk so it never denies a color request because a colormap
|
||
filled up. Instead, it allocates the closest available color.
|
||
- Eliminated "color model" mechanism. The "tk colormodel" command
|
||
is gone, as are the procedures Tk_GetColorModel and Tk_SetColorModel.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Changed 3D border implementation to allocate colors for shadows
|
||
lazily, so they're never allocated if they're never used. Also
|
||
added new feature whereby stippling is used for borders when
|
||
the colormap has run out of entries. Changed arguments to many
|
||
of Tk_3D C procedures to take a Tk_Window as argument instead of
|
||
a (Display *). This is needed to do lazy color allocation.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
- Eliminated colormap argument to Tk_GetColor, Tk_GetColorByValue,
|
||
and Tk_Get3DBorder.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
3/16/95 (feature change) Event bindings created from Tcl will now ignore
|
||
Enter, Leave, FocusIn, and FocusOut events with detail NotifyInferior.
|
||
This is done in anticipation of mega-widgets, so that the user of a
|
||
mega-widget can create Enter/Leave bindings on the mega-widget without
|
||
seeing spurious events as the mouse moves among the windows in the
|
||
mega-widget.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
3/17/95 (feature change) Changed C interfaces throughout Tk to use ints
|
||
instead of unsigneds: the unsigneds turn out to cause subtle problems
|
||
with arithmetic in some places, and using ints everywhere is just
|
||
simpler.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
3/23/95 (bug fix) Selections longer than 4000 bytes were being
|
||
truncated to 4000 bytes.
|
||
|
||
-------------------- Release 4.0b3, 3/24/95 -------------------------
|
||
|
||
3/25/95 (bug fix) Changed "install" to "./install" in Makefile so that
|
||
"make install" will work even when "." isn't in the search path.
|
||
|
||
3/25/95 (bug fix) Modified Tk's selection mechanism to prevent core
|
||
dumps in other applications during retrievals of large selections
|
||
(this is actually a bug in the other apps, but I've patched Tk to
|
||
keep it from getting triggered).
|
||
|
||
3/25/95 (bug fix) Fixed bug where X window for "." wasn't being
|
||
deleted.
|
||
|
||
3/27/95 (bug fix) Fixed many bugs associated with having more than
|
||
one application in a single process.
|
||
|
||
3/28/95 (bug fix) The "search" widget command for texts didn't
|
||
return the correct index and count if there were embedded widgets
|
||
on the same line as the returned range but before the end of
|
||
the range.
|
||
|
||
3/28/95 (bug fix) Changed pasting via button 2 in text and entries
|
||
so that it inserts at the pointer location, not the location of
|
||
the insertion cursor.
|
||
|
||
3/28/95 (bug fix) Fixed several bugs related to <Destroy> bindings
|
||
that delete ancestors in the window hierarchy. Also eliminated
|
||
extraneous calls to XDestroyWindow, which speeds up window deletion
|
||
by about 3x.
|
||
|
||
3/28/95 (bug fix) Several widgets (buttons, menubuttons, menus) didn't
|
||
properly handle image deletions that occurred while the widget was
|
||
being deleted (caused core dumps).
|
||
|
||
3/29/95 (bug fix) When retrieving long selections from text widgets,
|
||
parts of lines were getting duplicated in the selection information.
|
||
|
||
4/1/95 (bug fix) Fixed bug that caused infinite loop in horizontal
|
||
scales with 0 range.
|
||
|
||
4/1/95 (bug fix) Fixed problem with -command option for scrollbars and
|
||
-takefocus option that caused commands to be evaluated in the wrong
|
||
context.
|
||
|
||
4/1/95 (bug fix) Fixed problem with option database that caused it to
|
||
sometimes use the wrong option (wasn't flushing the database properly
|
||
after a change in a window's class).
|
||
|
||
4/1/95 (bug fix) If a line in a text widget just barely fit in the window,
|
||
Tk was allocating a second screen line just for the newline character.
|
||
|
||
4/1/95 (new feature) When backspacing in an entry widget, when you reach
|
||
the left edge of the widget, the insertion cursor gets recentered.
|
||
|
||
4/1/95 (new features) Added "winfo pointerx" and "winfo pointery" commands
|
||
to fetch the current pointer position.
|
||
|
||
4/6/95 (bug fix) If the last line of a text widget was only partially
|
||
visible, it was counted as visible for purposes of the scrollbar. Now
|
||
it is treated as if it were off-screen for scrolling purposes.
|
||
|
||
4/6/95 (new feature) Modified "bell" command to reset screen saver as well.
|
||
|
||
4/6/95 (feature change) Modified menu scanning (where menus pull down
|
||
as you drag across their menubuttons) so it only works among menus
|
||
in the same toplevel; it used to work for any menubuttons in the
|
||
application.
|
||
|
||
4/6/95 (bug fix) Canvas text items weren't allowing real numbers in
|
||
"@x,y" notation for specifying indices.
|
||
|
||
4/7/95 (bug fix) Menus didn't display correctly when -activeborderwidth
|
||
was large.
|
||
|
||
4/7/95 (bug fix) Changed "clipboard append" command to support -- option
|
||
and to always treat the last argument as data, even if it starts with
|
||
"-".
|
||
|
||
4/17/95 (new feature) Added -wrap option to text tags.
|
||
|
||
4/18/95 (bug fix) Listboxes and texts weren't updating their grid information
|
||
when -width or -height changed.
|
||
|
||
4/18/95 (bug fix) "Down" didn't work right in text widgets if the last
|
||
line was only partially visible in the window.
|
||
|
||
4/19/95 (bug fix) Listboxes didn't handle partially visible last lines
|
||
right: couldn't scroll it into full visibility, for example.
|
||
|
||
4/20/95 (bug fix) If a toplevel was positioned with a command like
|
||
"wm geometry . -0-0", the window didn't reposition itself to maintain
|
||
that geometry after a size change.
|
||
|
||
4/21/95 (feature change) Changed order of binding tags so widget bindings
|
||
fire before class bindings. New order is: widget, class, toplevel, all.
|
||
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 ***
|
||
|
||
4/23/95 (new feature) Added "winfo colormapfull" command.
|
||
|
||
4/23/95 (new feature) Buttons and radiobuttons and checkbuttons now
|
||
treat Return the same as Space, unless tk_strictMotif is set.
|
||
|
||
4/23/95 (bug fix) Modified menu tear-off procedure to duplicate the
|
||
binding tags and bindings of the original in the copy.
|
||
|
||
4/25/95 (bug fix and feature change) Modified mechanism for choosing
|
||
"best" visual to fix a bug where depth wasn't really getting highest
|
||
priority in all situations.
|
||
|
||
4/28/95 (bug fix) Failed text searches starting at "end" could result
|
||
in an infinite loop in Tk.
|
||
|
||
4/30/95 (new feature) Added "wm resizable" command to enable and
|
||
disable interactive resizing.
|
||
|
||
4/30/95 (new feature) Added "window names" widget command to texts:
|
||
returns a list of all embedded windows.
|
||
|
||
5/2/95 (feature change) Changed text searches so that forward searches
|
||
start at the given index, rather than the character just after the
|
||
given index.
|
||
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 ***
|
||
|
||
5/4/95 (bug fix) Default bit gravity for windows was wrong (it was
|
||
ForgetGravity) causing unnecessary flashing when windows were resized.
|
||
|
||
5/4/95 (feature change) Modified Tk_DoOneEvent so that it doesn't
|
||
sleep if there's nothing that will wake it up again (e.g. no file
|
||
or timer handlers). Returns 0 immediately.
|
||
|
||
5/5/95 (configuration change) Changed to use BSDgettimeofday instead
|
||
of gettimeofday on systems like IRIX where BSDgettimeofday is
|
||
available. This avoids compilation problems due to the different
|
||
interface to gettimeofday provided by IRIX.
|
||
|
||
5/5/95 (feature change) Changed binding mechanism so that all bindings
|
||
are created immediately at initialization time, rather than waiting
|
||
until the first FocusIn or Enter event for a class.
|
||
|
||
5/6/95 (feature change) Changed default text for labels, buttons,
|
||
checkbuttons, radiobuttons, menubuttons, and messages from " " to
|
||
"".
|
||
|
||
5/6/95 (bug fix) If the application was destroyed in the middle of
|
||
an "update" command, Tk would dump core.
|
||
|
||
5/6/95 (bug fix) Changed manual entries to use the standard .TH
|
||
macro instead of a custom .HS macro; the .HS macro confuses index
|
||
generators like makewhatis.
|
||
|
||
5/6/95 (bug fix) Change "wm iconwindow" command to disable button
|
||
presses for the icon window. This is needed so that the window
|
||
manager can get those events (X only allows button presses to go
|
||
to one client for a given window).
|
||
|
||
5/9/95 (new feature) When specifying visuals, can now use "best"
|
||
with a depth, e.g. "-visual {best 8}" to get the best 8-bit visual.
|
||
|
||
5/18/95 (bug fix) Fixed bug with -spacing* options for text widget:
|
||
screen distances weren't allowed, only integers.
|
||
|
||
5/20/95 (bug fix) Eliminated memory leaks in tkTextDisp.c and elsewhere.
|
||
|
||
5/22/95 (color change) Changed the Tk color palette to a gray scheme.
|
||
Also added a library procedure tk_setPalette that makes it easy to
|
||
change colors on the fly, and a procedure tk_bisque that restores the
|
||
previous light brown scheme.
|
||
|
||
5/28/95 (bug fix) Modified canvases so that the -width and -height
|
||
options refer to the space inside the borders, not the total widget
|
||
space. Also changed "xview" and "yview" commands and scroll-increment
|
||
rounding to use the pixel just inside the borders, rather than (0,0).
|
||
|
||
5/28/95 (bug fix) Several widgets (e.g. entries, buttons, and menus)
|
||
didn't properly handle unsets of variables they were tracing, if the
|
||
variables were reference through upvars in procedures.
|
||
|
||
6/4/95 (bug fix) The placer wasn't rounding window widths right when
|
||
both -relx and -relwidth were specified (or -rely and -relheight) so
|
||
that rounding errors accumulated.
|
||
|
||
6/4/95 (feature improvement) Change parsing of text indices to handle
|
||
weird mark and tag names better (e.g. any string ending with ".first"
|
||
will now be parsed as a tag name, even if it contains embedded spaces,
|
||
etc.).
|
||
|
||
6/4/95 (feature change) If a font defines glyphs for control characters,
|
||
they are now displayed, instead of translating the character to a
|
||
backslash sequence (however, tabs and newlines are still treated
|
||
specially; glyphs are not displayed for these characters).
|
||
|
||
6/4/95 (bug fix) Modify the implementation of "raise" and "lower" for
|
||
toplevels so that it now works under olwm and olvwm. It didn't use to
|
||
work, and the problem is really in the window manager, but Tk now
|
||
patches around it. However, only "total" raises and lowers work:
|
||
raising and lowering relative to a sibling still don't work under
|
||
olvwm and olwm.
|
||
|
||
6/4/95 (feature change) Modified tab code in texts so that a tab always
|
||
occupies at least as much space as a space character.
|
||
|
||
6/4/95 (bug fix) The "%t" substitution wasn't being made properly in
|
||
Enter and Leave event bindings.
|
||
|
||
6/7/95 (new feature) Added support for GIF images. Unfortunately it's
|
||
a bit fragile: certain kinds of badly formed images can cause core
|
||
dumps; I don't know enough about the GIF reader (taken from giftoppm)
|
||
to figure this out.
|
||
|
||
6/7/95 (bug fix and feature change) Fixed PPM image reader to be more
|
||
flexible about header formats, and added support for PGM images.
|
||
|
||
6/7/95 (feature change) Added -outlinestipple option to canvas arc
|
||
items, changed "-style arc" to use -outline as the color instead of
|
||
-fill (the old approach was pretty quirky).
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
6/8/95 (feature change) Modified interface to Tk_Main to pass in the
|
||
address of the application-specific initialization procedure.
|
||
Tcl_AppInit is no longer hardwired into Tk_Main. This is needed
|
||
in order to make Tcl a shared library.
|
||
|
||
6/8/95 (feature change) Modified Makefile so that the installed versions
|
||
of wish and libtk.a have version number in them (e.g. wish4.0 and
|
||
libtk4.0.a) and the library directory name also has an embedded version
|
||
number (e.g., /usr/local/lib/tk4.0). This should make it easier for
|
||
Tk 4.0 to coexist with earlier versions.
|
||
|
||
6/9/95 (new feature) Added -outline and -width options to canvas polygon
|
||
items.
|
||
|
||
6/9/95 (feature changed) Renamed -decimate in photo widget to -subsample
|
||
(decimate wasn't technically correct).
|
||
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 ***
|
||
|
||
-------------------- Release 4.0b4, 6/16/95 -------------------------
|
||
|
||
6/19/95 (bug fix) Colors weren't being rounded correctly in canvas
|
||
Postscript generation: caused "white" to appear slightly gray when
|
||
the display of the canvas used only 8 bits per color.
|
||
|
||
6/20/95 (bug fix) "bbox" widget command for texts didn't return
|
||
proper width for tabs.
|
||
|
||
6/20/95 (bug fix) Scrollbars didn't always work right for texts:
|
||
couldn't scroll all the way to the bottom of the text in a single
|
||
drag of the slider.
|
||
|
||
6/20/95 (new feature) Added "delta" widget command for scrollbars
|
||
(needed for above bug fix).
|
||
|
||
6/23/95 (bug fix) Listboxes weren't properly redisplaying their
|
||
borders when the were configured to a smaller size.
|
||
|
||
6/23/95 (new feature) Added "winfo server" command.
|
||
|
||
6/23/95 (bug fix) If a menu was posted, couldn't switch to another
|
||
menu with an Alt- key.
|
||
|
||
6/24/95 (new feature) Added "winfo pointerxy" command.
|
||
|
||
6/25/95 (bug fix) Tk_ParseArgv referenced beyond the end of 0-length
|
||
option names.
|
||
|
||
6/25/95 (bug fix) Fixed problem in tkOption.c where "cachedWindow"
|
||
could get garbage in it if the main window's class was changed by
|
||
calling Tk_SetClass.
|
||
|
||
6/25/95 (bug fix) Fixed two bugs in menus, one where errors in
|
||
variable traces weren't propagated correctly and one where "invoke"
|
||
was invoked at the wrong stack level, with the result that variable
|
||
traces didn't have access to the right variables.
|
||
|
||
6/27/95 (bug fix) tk3d.c wasn't using all the right information
|
||
when deciding whether or not to stipple borders, so it stippled
|
||
borders even on 16-bit true-color displays.
|
||
|
||
6/28/95 (bug fix) Page up and down operations in texts could cause
|
||
insertion cursor to drift to the right. Changed tkTextScrollPages
|
||
to use upper-left corner of current character, rather than center
|
||
of character.
|
||
|
||
6/28/95 (bug fix) Changed text widget so that you can't put the
|
||
insertion cursor after the last newline in the text.
|
||
|
||
6/28/95 (bug fix) Bitmap images didn't allow ~'s in file names.
|
||
|
||
6/28/95 (bug fix) Fixed problem that could cause core dumps in the
|
||
text widget when dealing with embedded windows (there were problems
|
||
if the act of redisplaying caused the window layout to change, which
|
||
can happen with embedded windows).
|
||
|
||
6/28/95 (bug fix) Texts didn't handle indices with double negatives,
|
||
such as ".t mark set insert {insert + -20 chars}".
|
||
|
||
6/28/95 (bug fix) Fixed problem where focus didn't always revert to
|
||
its prior window after a dialog box was dismissed.
|
||
|
||
6/28/95 (bug fix) Fixed problem with "search" widget command returning
|
||
incorrect length on some backwards regexp searches.
|
||
|
||
6/28/95 (bug fix) Successive "wm iconbitmap . {}" commands could cause
|
||
a core dump.
|
||
|
||
6/29/95 (new feature) Added -elementborderwidth option for scrollbars
|
||
so the -borderwidth can be set to 0 without flattening the arrows and
|
||
slider.
|
||
|
||
-------------------- Release 4.0, 7/1/95 -------------------------
|
||
|
||
7/18/95 (bug fix) %t in event bindings didn't work properly for some
|
||
events (e.g. PropertyNotify).
|
||
|
||
7/18/95 (bug fix) Changed "exec wish" lines in demo scripts to
|
||
"exec wish4.0" to avoid version conflicts.
|
||
|
||
7/18/95 (bug fix) Fixed round-off errors in scrolling for texts,
|
||
canvases, listboxes, and entries. The error could cause the view
|
||
to shift up in a command like "$w yview moveto [lindex [$w yview] 0]".
|
||
|
||
7/19/95 (bug fix) Canvases weren't always redrawing borders correctly
|
||
when they became unobscured. There were also some problems with
|
||
improper refresh after size changes.
|
||
|
||
7/19/95 (bug fix) Fixed bug in text index processing that causes
|
||
tests textIndex-11.1 and textIndex12.1 to fail on some platforms.
|
||
|
||
7/19/95 (bug fix) Fixed bug where 2-second delays were ocurring during
|
||
"raise" and "lower" commands for toplevel windows under some window
|
||
managers (such as fvwm).
|
||
|
||
7/20/95 (bug fix) Text searches were misbehaving when there were embedded
|
||
windows on the starting line of the search. The most common symptom is
|
||
that Tk would fail to find a match at the starting position for the
|
||
search.
|
||
|
||
7/22/95 (bug fix) Fixed core dump that could occur in menus if a checkbutton
|
||
entry's -variable option referred to an array (or couldn't be read
|
||
by the menu C code for some other reason).
|
||
|
||
7/22/95 (bug fix) Text widgets didn't update their scrollbars when
|
||
changes were made to information that was off-screen.
|
||
|
||
7/25/95 (bug fix) Fixed core-dump in tkListbox.c that used to happen
|
||
in the command ".l bbox end" if the listbox was empty.
|
||
|
||
7/25/95 (bug fix) Page-up and page-down bindings for listboxes didn't
|
||
move active element to remain on the screen.
|
||
|
||
7/25/95 (bug fix) Patched around H-P compiler problem that results in
|
||
core-dumps in tkImgPhoto.c during image handling.
|
||
|
||
7/25/95 (bug fix) Fixed bug in tkImgPhoto.c that caused core dumps
|
||
(during Tk self-tests and other image uses) on AIX and other machines
|
||
where "schar" in tkImgPhoto.c was being defined as "short" instead of
|
||
"char".
|
||
|
||
7/26/95 (bug fix) The PPM image reader couldn't handle maximum intensity
|
||
values other than 255.
|
||
|
||
7/26/95 (bug fix) Canvases didn't redraw their borders when the relief
|
||
changed from raised to flat.
|
||
|
||
7/27/95 (bug fix) Canvases didn't set the scrolling values correctly
|
||
when no scroll region was specified.
|
||
|
||
7/28/95 (bug fix) Modified menu and tk_dialog scripts to restore any
|
||
old grab that might have been in effect before a menu or dialog was
|
||
posted.
|
||
|
||
----------------- Released patch 4.0p1, 7/29/95 ----------------------
|
||
|
||
8/4/95 (bug fix) Calls to toupper and tolower weren't using the UCHAR
|
||
macro, so they didn't always work in non-U.S. locales. (JO)
|
||
|
||
8/14/95 (new feature) Added -tearoffcommand option for menus.
|
||
|
||
8/16/95 (bug fix) Canvases didn't generate proper Enter and Leave
|
||
events if the Leave handler for an item reconfigured the canvas in
|
||
a way that made the old current item the new current item again. (JO)
|
||
|
||
8/21/95 (bug fix/feature change) When -takefocus was a script, Tk
|
||
was allowing window viewability to override it. Changed so that
|
||
viewability is now ignored when -takefocus is a script. (JO)
|
||
|
||
8/21/95 (bug fixes) Fixed memory leaks in tkSend.c, tkSelect.c, and
|
||
tkUnixWm.c (JO).
|
||
|
||
8/21/95 (bug fix) Text widgets didn't handle commands like
|
||
".t search -backwards foo end 1.0" properly: never found foo. (JO)
|
||
|
||
8/23/95 (new feature) Added Makefile and configure.in support for
|
||
dynamic loading. (JO)
|
||
|
||
8/25/95 (bug fix) The "frame" and "toplevel" commands couldn't safely
|
||
be renamed, due to a kludgy way that they shared a single command
|
||
procedure. Split into separate procedures. (JO)
|
||
|
||
8/25/95 (bug fix) Fixed bug in libary/menu.tcl that caused "grab
|
||
window not visible" errors for popup menus (and perhaps elsewhere?). (JO)
|
||
|
||
8/25/95 (bug fix / new feature) The "gray25" bitmap was really only
|
||
12.5% on, not 25%. Added new "gray12" bitmap that is the same as the
|
||
old "gray25". "Gray25" is still supported for compatibility, but its
|
||
use is deprecated. (JO)
|
||
|
||
8/25/95 (bug fix) Scrollbar bindings didn't properly handle case where
|
||
B2 is clicked while B1 is already down. (JO)
|
||
|
||
8/26/95 (bug fix) Menus were ignoring -activebackground if tk_strictMotif
|
||
was set, but not -activeforeground. Changed to ignore both. (JO)
|
||
|
||
8/26/95 (bug fix) Scales and scrollbars didn't properly handle a
|
||
-repeatdelay value of 0 (they shouldn't auto-repeat in this case). (JO)
|
||
|
||
8/28/95 (bug fix) Tcl errors were occurring for tkPriv(oldGrab) when
|
||
clicking on a disabled option menu. (JO)
|
||
|
||
8/28/95 (bug fix) Changed event-handling code to use FD_SETSIZE instead
|
||
of OPEN_MAX, since OPEN_MAX is incorrect on some systems (e.g., IRIX). (JO)
|
||
|
||
8/28/95 (bug fix) Fixed bug in photo images that caused garbling of
|
||
image data in the "put" and "copy" commands if the source data had
|
||
only one scan line but had a width less than the width of the target
|
||
image. (JO)
|
||
|
||
8/29/95 (bug fix) Tk used to refuse to post menus if they had no
|
||
entries. This made it impossible for a menu to fill itself the first
|
||
time it is posted. Changed to allow menus with no entries to be
|
||
posted. (JO)
|
||
|
||
8/30/95 (bug fix) If there was extra space at the bottom of a menu,
|
||
it wasn't being redisplayed properly.
|
||
|
||
8/30/95 (new feature) Added -transient option to menus.
|
||
|
||
8/30/95 (new features) Added proper button 2 support to both scrollbars
|
||
and scales (it sets the slider position from the mouse position). (JO)
|
||
|
||
8/30/95 (bug fix) Fixed potential core dump that could occur in
|
||
photo images (ReadPPMFileHeader could overflow buffer under some bad
|
||
inputs, such as certain GIF images). (JO)
|
||
|
||
8/30/95 (bug fix) Errors of the form `syntax error in expression "!"'
|
||
could occasionally happen in tkScaleDrag. (JO)
|
||
|
||
8/31/95 (new feature) Changed man page installation (with "mkLinks"
|
||
script) to create additional links for manual pages corresponding to
|
||
each of the procedure and command names described in the pages. (JO)
|
||
|
||
9/1/95 (new feature) Added "after info" command. Also added checks
|
||
so that one interpreter can't cancel another's "after" events. (JO)
|
||
|
||
9/8/95 (bug fix) Fixed bug that could cause memory corruption and core
|
||
dumps if a "fileevent" handler was deleted while the handler was
|
||
active. (JO)
|
||
|
||
9/11/95 Reorganized Tk sources for Windows and Mac ports. All sources
|
||
are now in subdirectories: "generic" contains sources that work on all
|
||
platforms, "windows", "mac", and "unix" directories contain platform-
|
||
specific sources. (SS)
|
||
|
||
9/11/95 (new feature) Added new "notifier" mechanism to allow multiple
|
||
implementations of the mechanisms for finding out about events. This
|
||
change was necessary to support Mac and PC platforms, but it may also
|
||
allow other goodies such as combining Xt and Tk widgets in a single
|
||
application. See the new manual entry Notifier.3 for details. (SS)
|
||
|
||
9/11/95 (feature change) Changed interface to Tk_RestrictProc so that
|
||
(a) it takes a clientData argument instead of display and arg, and
|
||
(b) it returns a value that can ask for the event to be discarded as well
|
||
as deferred or processed. (SS)
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
9/11/95 (new feature) Added TK_WINDOW_EVENTS #define, which is equivalent
|
||
to TK_X_EVENTS but is now preferred, since it applies to all platforms. (SS)
|
||
|
||
9/11/95 (feature change) Can't export variables anymore because this doesn't
|
||
work under Windows DLLs. Eliminated tk_NumMainWindows variable and replaced
|
||
with procedure Tk_GetNumMainWindows. (SS)
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
9/11/95 (new feature) Added procedure Tk_PreserveColormap to increment
|
||
the reference count on colormaps. Used in photo widgets. (SS)
|
||
|
||
----------------- Released patch 4.0p2, 9/15/95 ----------------------
|
||
|
||
----------------- Released 4.1a1, 9/15/95 ----------------------
|
||
|
||
9/22/95 (renamed files) Changed the names of the bitmap images in the
|
||
$tk_library/demos/images directory to use the .bmap file extension. (RJ)
|
||
|
||
9/22/95 (bug fix) Fixed bug where text widgets could occasionally
|
||
display the insertion cursor both at the end of one line and the
|
||
beginning of the next. (JO)
|
||
|
||
9/25/95 (bug fix) Fixed bug that could cause core dumps when an
|
||
application uses multiple screens and a binding destroys the main
|
||
window (bind code was using MainInfo structure after it had been
|
||
freed). (JO)
|
||
|
||
9/25/95 (bug fix) Text widgets sometimes scrolled backwards on
|
||
occasion if you dragged down past the bottom of the scrollbar. (JO)
|
||
|
||
9/25/95 (bug fix) Fixed bug in menus where a cascaded submenu posted
|
||
from a torn-off menu could be left posted if mouse was pulled off the
|
||
end of the cascade and released. (JO)
|
||
|
||
9/25/95 (new feature) Added "--" switch to wish, so that you can
|
||
pass arguments like -n through to a script without having wish
|
||
interpret them. (JO)
|
||
|
||
9/25/95 (bug fix) Fixed core dump that could occur for radiobuttons
|
||
and selectbuttons if -selectcolor was an empty string. (JO)
|
||
|
||
9/26/95 (bug fix) Entries didn't used to notice if a trace procedure
|
||
on the -textvariable overrode a new value set by the entry. This
|
||
could cause the variable to get out of sync with the contents of the
|
||
entry. (JO)
|
||
|
||
9/26/95 (new feature) Added -sliderrelief option to scales, changed
|
||
default bindings to change the slider's relief to sunken while it's
|
||
being dragged with the mouse. (JO)
|
||
|
||
9/26/95 (bug fix) TkColor.c wasn't computing colormap size correctly;
|
||
could result in X Protocol error for QueryColors when colormaps run
|
||
out of colors. (JO)
|
||
|
||
9/26/95 (bug fix) Wish couldn't handle script files with spaces in
|
||
their names. (JO)
|
||
|
||
9/27/95 (cosmetic clean-up) Removed extraneous spaces to make error
|
||
messages consistent: ": should be" is now ": should be". (JO)
|
||
|
||
9/27/95 (feature change) Modified tk_dialog so that it uses the
|
||
option database for the -wraplength option on the message. This
|
||
allows the option to be overridden by the caller. (JO)
|
||
|
||
9/28/95 (bug fix) Wish incorrectly parsed the command line under
|
||
Windows, causing backslashes to be substituted. (SS)
|
||
|
||
9/28/95 (bug fix) Wish now sources wishrc.tcl instead of .wishrc. (SS)
|
||
|
||
9/28/95 (bug fix) Tk_DoOneEvent returned 0 under some circumstances
|
||
when it was possible to find more work to do. For example, if a
|
||
signal interrupted select(), but no event handlers were triggered, it
|
||
would return 0 even though it could still detect events by reentering
|
||
select(). (SS)
|
||
|
||
9/29/95 (bug fix) "winfo interps" caused a crash under Windows. (SS)
|
||
|
||
10/1/95 (feature change) Eliminated Tk_NotifyIdle interface in favor of
|
||
Tk_IdlePending. (SS)
|
||
|
||
10/1/95 (bug fix) Turned motion event collapsing into an idle handler
|
||
so it will be easier to move the event loop into Tcl. (SS)
|
||
|
||
10/1/95 (bug fix) Fixed several problems with negative coordinates
|
||
in canvases. One example: dragging a canvas rectangle with a wide
|
||
border and fractional coordinates could leave junk on the screen
|
||
if the rectangle was in negative coordinate space. (JO)
|
||
|
||
10/2/95 (bug fix) Tk was improperly handling Enter/Leave events
|
||
during a button grab. (SS)
|
||
|
||
10/2/95 (new feature) Added support for the Macintosh do script
|
||
('dosc') event. Available only on the Macintosh. (RJ)
|
||
|
||
10/4/95 (new feature) Added support for compiling with VC++.
|
||
Resulting binaries work under Win32s through NT.
|
||
|
||
----------------- Released 4.1a2, 10/6/95 ----------------------
|
||
|
||
10/10/95 (new feature) Macintosh Tk now supports the complete set
|
||
of X cursors that Unix Tk supports. (RJ)
|
||
|
||
10/11/95 (bug fix) Tk now supports all of the X11 cursors under
|
||
Windows. (SS)
|
||
|
||
10/11/95 (bug fix) The "wm resizable" command was missing from the
|
||
Windows version of Tk. (SS)
|
||
|
||
10/12/95 (bug fix) Macintosh Tk had problems with clipping toplevel
|
||
windows that children of any frame other than another toplevel. (RJ)
|
||
|
||
10/13/95 (bug fix) Eliminated dependency on MKS toolkit for generating
|
||
the tk.def file from Borland object files. (SS)
|
||
|
||
10/16/95 (bug fix) Fixed clipping and update problems relating to
|
||
the raising and lowering of overlapping windows on Mac. (RJ)
|
||
|
||
10/30/95 (bug fix) When focus-follows-mode (invoked via tk_focusFollowsMouse),
|
||
was focussing on windows even in situations where keyboard traversal would
|
||
skip the window. Changed to use the tkFocusOK procedure so that the
|
||
criteria for focussing are the same in both modes. (JO)
|
||
|
||
11/2/95 (bug fix) Changed listbox bindings to ignore double-clicks.
|
||
This avoids errors that used to occur if a user defined a binding
|
||
for double-click that deleted the listbox. (JO)
|
||
|
||
11/3/95 (feature change) Moved most of the Tk event loop to Tcl. Many
|
||
Tk_ names have become Tcl names now:
|
||
|
||
TK_READABLE => TCL_READABLE
|
||
TK_WRITABLE => TCL_WRITABLE
|
||
TK_EXCEPTION => TCL_EXCEPTION
|
||
TK_DONT_WAIT => TCL_DONT_WAIT
|
||
TK_WINDOW_EVENTS => TCL_WINDOW_EVENTS
|
||
TK_FILE_EVENTS => TCL_FILE_EVENTS
|
||
TK_TIMER_EVENTS => TCL_TIMER_EVENTS
|
||
TK_IDLE_EVENTS => TCL_IDLE_EVENTS
|
||
TK_ALL_EVENTS => TCL_ALL_EVENTS
|
||
Tk_IdleProc => Tcl_IdleProc
|
||
Tk_FileProc => Tcl_FileProc
|
||
Tk_TimerProc => Tcl_TimerProc
|
||
Tk_TimerToken => Tcl_TimerToken
|
||
Tk_BackgroundError => Tcl_BackgroundError
|
||
Tk_CancelIdleCall => Tcl_CancelIdleCall
|
||
Tk_CreateFileHandler => Tcl_CreateFileHandler
|
||
Tk_CreateTimerHandler =>Tcl_CreateTimerHandler
|
||
Tk_DeleteFileHandler => Tcl_DeleteFileHandler
|
||
Tk_DeleteTimerHandler =>Tk_DeleteTimerHandler
|
||
Tk_DoOneEvent => Tcl_DoOneEvent
|
||
Tk_DoWhenIdle => Tcl_DoWhenIdle
|
||
Tk_Sleep => Tcl_Sleep
|
||
tkerror => bgerror
|
||
|
||
Other than the name changes, the functions are the same. In addition,
|
||
there are #defines in tk.h so that the old Tk names will still work.
|
||
tkerror and bgerror are specially hacked as synonyms, so it should be
|
||
safe to use either one. You should switch to the new Tcl names ASAP,
|
||
though, since the old Tk names will eventually be desupported. (JO)
|
||
|
||
11/7/95 (features removed) As part of moving the event loop to Tcl,
|
||
the following procedures were deleted:
|
||
- Tk_EventInit (the presence of the event loop in Tcl should
|
||
make this unneccessary).
|
||
- Tk_CreatFileHandler2 (you can get the same effect by using event
|
||
sources in Tcl, but you have to modify your code to use the new
|
||
Tcl APIs).
|
||
- All of the stuff in the manual entries Notifer.3 and QueueEvent.3;
|
||
this has changed because the notifier got reworked when it was
|
||
moved to Tcl.
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
11/7/95 (feature change) Changed to use exit handler to cleanup windows
|
||
in Tk, so Tk no longer needs to have a private copy of the "exit" command.
|
||
(JO)
|
||
|
||
11/7/95 (bug fix) If wish was invoked with a command-line geometry and
|
||
a script file (e.g. "wish foo.tcl -geometry 30x20"), and if one of
|
||
the windows created by the script used the -setgrid option, then the
|
||
width and height from the command line were lost. (JO)
|
||
|
||
11/8/95 (bug fix) The "see" command didn't work quite right for texts:
|
||
if the window was small and you try to "see" a line just offscreen,
|
||
Tk centered the line (actually, mis-centered it) when it should have
|
||
aligned it at the top or bottom. (JO)
|
||
|
||
11/9/95 (bug fix) The "send" command crashed if you tried to send to
|
||
a different display with "-displayof". (JO)
|
||
|
||
11/9/95 (bug fix) The Symbol font didn't print right in Postscript
|
||
output, because of changes made to re-encode fonts to get proper
|
||
ISO Latin1 behavior. Changed the code not to re-encode the Symbol
|
||
font. (JO)
|
||
|
||
11/13/95 (bug fix) Fixed Makefile.in and configure.in for UNIX so that
|
||
configure can be run from a clean directory separate from the Tcl source
|
||
tree, and compilations can be performed there. (JO)
|
||
|
||
11/17/95 (bug fix) If a window was gridded, Tk still computed the
|
||
default maximum dimensions in pixel units, which resulted in windows
|
||
that could grow much larger than the screen. (JO)
|
||
|
||
11/17/95 (bug fix) If a menus entries were all disabled, posting
|
||
the menu and typing Up or Down caused an infinite loop, locking
|
||
up the screen (JO).
|
||
|
||
11/19/95 (bug fix) The focus wasn't being restored properly after a
|
||
menu selection in a cascaded menu. (JO)
|
||
|
||
11/19/95 (bug fix) Menubutton's didn't stipple display their images
|
||
differently when disabled. Change to have the same behavior as buttons:
|
||
the image is stippled over in the background color when the menubutton
|
||
is disabled. (JO)
|
||
|
||
11/21/95 (bug fix) Changes in display attributes such as font could
|
||
cause core dumps in the text widget under some circumstances involving
|
||
line wrapping. (JO)
|
||
|
||
11/22/95 (bug fix/new feature) Changed both the placer and the packer
|
||
to ensure that slaves are unmapped whenever the master is unmapped.
|
||
This saves time that slaves might otherwise spend trying to redisplay
|
||
themselves when they're unmapped. (JO)
|
||
|
||
11/22/95 (bug fix) Space and return keys didn't work for menus if
|
||
they were posted via Alt-x keystrokes. (JO)
|
||
|
||
11/24/95 (bug fix) tk_dialog procedure had binding for <Return> that
|
||
always activated default binding, even if input focus was in some
|
||
other binding. Removed this feature, since existing focus support
|
||
will already "do the right thing". (JO)
|
||
|
||
11/24/95 (bug fix) Both canvases and texts could dump core if a binding
|
||
(such as ButtonRelease on an internal item) deleted the widget. (JO)
|
||
|
||
11/24/95 (feature change) Replaced "configInfo" file with tkConfig.sh,
|
||
which is more complete and uses slightly different names. Also
|
||
arranged for tkConfig.sh to be installed in the platform-specific
|
||
library directory. (JO)
|
||
|
||
11/24/95 (bug fix) It was possible for a slave to be placed or packed
|
||
-in itself, with unpleasant consequences. It is now an error for the
|
||
slave to be its own master for geometry management. (JO)
|
||
|
||
11/25/95 (bug fix) The -command option of scales was sometimes being
|
||
invoked spuriously (e.g. when the mouse moved in the scale without a
|
||
button down). This was because the scale wasn't rounding properly
|
||
when setting the scale value from its associated variable. (JO)
|
||
|
||
----------------- Released patch 4.0p3, 11/28/95 ----------------------
|
||
|
||
12/18/95 (feature change) Moved Tk_Preserve, Tk_Release, and
|
||
Tk_EventuallyFree to Tcl, renamed to Tcl_Preserve etc. Added #defines
|
||
to tk.h so that the old names still work. (JO)
|
||
|
||
12/23/95 (bug fix) If a single process had > 1 Tk application, Tk
|
||
didn't guarantee that the application names were unique, which could
|
||
cause all sorts of confusion with "send". (JO)
|
||
|
||
12/23/95 (feature change) Eliminated Tk_CreateMainWindow and moved
|
||
all of its functionality to Tk_Init. All that you need to do now
|
||
to get Tk in an application is to call Tk_Init. Improved Tk_Init
|
||
so that -colormap and -visual command-line arguments are now passed
|
||
through to TkCreateFrame. Tk_Main is much simpler now, since a lot
|
||
of its functionality has moved to Tk_Init. (JO)
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
12/23/95 (new feature) Added support for Tcl_StaticPackage so
|
||
that Tk can now be loaded into slave interpreters with the "load"
|
||
command to create new applications. (JO)
|
||
|
||
12/23/95 (new features) Added support for -colormap and -visual command-
|
||
line options for wish. (JO)
|
||
|
||
1/4/95 (bug fix) Fixed keyboard code to properly handle alt-key
|
||
sequences for international keyboards and menu-accelerators. (SS)
|
||
|
||
1/5/96 (bug fix) Scrollbar code sometimes generated errors on accesses
|
||
to tkPriv(relief) during control-clicks. (JO)
|
||
|
||
1/9/96 (new feature) added the "grid" command to provide a table based
|
||
geometry manager. (SU)
|
||
|
||
1/12/96 (performance optimization) Changed the way tag information is kept
|
||
in the text's Btree so the cost of adding and removing tag ranges is no longer
|
||
proportional to the number of unique tags in the text. In the old system
|
||
the cost of adding N unique tags was O(N-squared). The new implementation is
|
||
optimized for tags that only cover a small amount of text, measuring from
|
||
their earliest tag range to the end of their last range. In the best case the
|
||
cost of adding a tag range is unrelated to the number of unique tags, so the
|
||
cost of adding N tags is only O(N). In the worst case, where all tags
|
||
cover all the text, the cost is still O(N-squared) to add N such tags.
|
||
Deleting tags still has an O(N) cost (so deleting N tags is O(N-squared),
|
||
but it is now a factor of 2 faster than the old system. (BW)
|
||
|
||
1/12/96 (new feature) added the text "dump" operation that returns information
|
||
about all elements in a text widget: text, tags, marks, and windows. (BW)
|
||
|
||
1/12/96 (new feature) added the text "mark next" and "mark previous" operations
|
||
to search forward and backwards for the next (previous) mark in the text. (BW)
|
||
|
||
1/12/96 (new feature) added the text "tag prevrange" operation to search
|
||
backwards for the current or previous range of a tag. (BW)
|
||
|
||
1/16/96 (new feature) Added support for relative widget placement on
|
||
the "grid" command. (SU)
|
||
|
||
1/17/96 (new feature) Modified the Makefile/configure setup to support
|
||
compiling Tk as a shared library. Use the --enable-shared option to
|
||
the "configure" script. (JO)
|
||
|
||
----------------- Released 4.1b1, 1/26/96 -----------------------
|
||
|
||
2/2/96 (bug fix) Frames were getting a default size of 200x200, whereas
|
||
there should be no default. (JO)
|
||
|
||
2/2/96 (bug fix) Argc wasn't getting reset properly after Tk removed
|
||
the arguments it understood from those on the command line. (JO)
|
||
|
||
2/6/96 (bug fix) Fixed off by one error in argument parsing code under
|
||
Windows. (SS)
|
||
|
||
2/6/96 (bug fix) "wm transient" now works under Windows. The resulting
|
||
toplevel is created with a modal dialog box frame and will not appear
|
||
in the taskbar under Windows '95. (SS)
|
||
|
||
2/9/96 (bug fix) Changed Makefile.in to use -L and -l for Tcl and Tk
|
||
libraries so that shared libraries are more likely to be found correctly
|
||
on more platforms. (JO)
|
||
|
||
2/14/96 (feature change) Eliminated tk_CanvasTagsOption variable because
|
||
it can't be exported safely across DLL boundaries. Instead, exported
|
||
Tk_CanvasTagsParseProc and Tk_CanvasTagsPrintProc procedures for
|
||
use by canvas type managers in creating their own custom options. (JO)
|
||
*** POTENTIAL INCOMPATIBILITY ***
|
||
|
||
2/14/96 (bug fix) "winfo pointerxy" when applied to a non-toplevel window
|
||
crashed wish. (SS)
|
||
|
||
2/14/96 (bug fix) "tkwait visibility" would hang under Windows. (SS)
|
||
|
||
2/14/96 (bug fix) Cursors were not being updated until an enter event.
|
||
In cases where the cursor left the toplevel and reentered before Tk
|
||
noticed, the cursor would get "stuck" until the next enter event.
|
||
Similarly, if the cursor attribute of a window was updated while the
|
||
mouse was in the window, the cursor would not change until the next
|
||
time the mouse entered the window. (SS)
|
||
|
||
2/15/96 (bug fix) If a top-level was resizable in one direction
|
||
(e.g. "wm resizable . 0 1"), once the user resized it any changes
|
||
in the internally requested size (by the widgets) were ignored,
|
||
even for the non-resizable dimension. Fixed to handle the two
|
||
dimensions totally independently, so the widget's requests are
|
||
honored as long as that dimension hasn't been set by the user. (JO)
|
||
|
||
2/17/96 (bug fix) If a text widget had very long lines (e.g. more than
|
||
32K pixels), integer overflow could occur, resulting in parts of the
|
||
line not being visible. (JO)
|
||
|
||
2/20/96 (feature change) Changed the -minsize option of grid to take
|
||
screen units instead of pixels. (SU)
|
||
|
||
2/20/96 (bug fix) grid row and column weights are compared against
|
||
MINWEIGHT (0.001) instead of 0.0 to guard against divide by zero errors
|
||
during weight normalization. (SU)
|
||
|
||
2/20/96 (bug fix) Menu commands were not being invoked sometimes.
|
||
There was a race condition that caused events to be processed while a
|
||
menu was being unposted. (SS)
|
||
|
||
----------------- Released 4.1b2, 2/23/96 -----------------------
|
||
|
||
2/23/96 (bug fix) Alt-keys invoked in torn-off and popped up menus
|
||
caused menus to be posted in the parent toplevel. (JO)
|
||
|
||
2/23/96 (bug fix) Canvases weren't always updating their scrollbars
|
||
when they should. (JO)
|
||
|
||
2/23/96 (bug fix) Fixed core dump that could occur if a WM_DELETE_PROTOCOL
|
||
handler generated an error. (JO)
|
||
|
||
2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile:
|
||
this caused problems on some platforms (like Linux?). (JO)
|
||
|
||
2/24/96 (feature change) Changed text and entry widgets so that they
|
||
set the insertion cursor before inserting during a button-2 click.
|
||
Also made optional bindings check for tk_strictMotif at the time of
|
||
the event, rather than at the time the bindings are created. (JO)
|
||
|
||
2/24/96 (bug fix) Tk tended to crash with an X error when unsetting
|
||
an icon window (e.g. "wm iconwindow . {}"). (JO)
|
||
|
||
2/25/96 (bug fix) Wasn't removing windows from the WM_COLORMAP_WINDOWS
|
||
property when they were deleted. (JO)
|
||
|
||
3/1/96 (new feature) Added new "bbox" widget command for entries.
|
||
Also modified mouse bindings for entries and texts so that the
|
||
mouse position rounds to the nearest inter-character gap, rather
|
||
than the left edge of the character under the mouse. This provides
|
||
more natural selection behavior. (JO)
|
||
|
||
3/1/96 (bug fix) Fixed core dump that could occur in image code if an
|
||
image was deleted while in use in a widet, then re-used in another
|
||
widget while "deleted". (JO)
|
||
|
||
3/1/96 (bug fix) Calling wish with a single argument caused a crash
|
||
under Windows due to an off-by-one error in the argument parsing code. (SS)
|
||
|
||
3/1/96 (bug fix) Palette management was broken and resulted in
|
||
incorrect palette realization and refresh behavior. Also, images were
|
||
being drawn incorrectly if they were attached to widgets that had a
|
||
private colormap. (SS)
|
||
|
||
3/2/96 (bug fix) It was possible to press the mouse button over an
|
||
option menu, drag to a pulldown menu, and have the pulldown menu
|
||
popup in place of the option menu. Fixed this so that option menus
|
||
are isolated from each other and from pulldowns. (JO)
|
||
|
||
3/2/96 (bug fix) Fixed yet another bug that caused long delays when
|
||
raising toplevel windows. (JO)
|
||
|
||
3/2/96 (bug fix) Fixed bug in canvases where zero-sized rectangles
|
||
and ovals didn't always redisplay right (could leave trailing
|
||
garbage on screen when moved). (JO)
|
||
|
||
3/2/96 (bug fix) Entry widgets reset their insertion cursor, selection,
|
||
and view whenever the text variable changed, plus whenever a "configure"
|
||
widget command was invoked and there was a text variable for the
|
||
widget. Fixed to preserve this information as much as possible. (JO)
|
||
|
||
3/5/96 (new feature) Added version suffix to shared library names so that
|
||
Tk will compile under NetBSD and FreeBSD (I hope). (JO)
|
||
|
||
3/6/96 (bug fix) Changed the way certain configure & motion events are
|
||
reported. This fixes several bugs in menus & "winfo rootx". (RJ)
|
||
|
||
3/7/96 (bug fix) Fixed tag remove bug that showed up when draging out a
|
||
selection. If you had dragged left, then tried to drag back right, the
|
||
left edge of the selection wasn't being updated because the tag remove
|
||
wasn't doing anything. (BW)
|
||
|
||
3/7/96 (bug fix) Fixed the boundary conditions of tag prevrange. The second
|
||
index argument wasn't effecting in stopping the search if it fell within
|
||
a range. The second index has to come at or before the start of a range
|
||
for the range to be found by tag prevrange. (BW)
|
||
|
||
3/7/96 (bug fix) "puts" to stdout or stderr when running from a script
|
||
caused wish41.exe to exit silently. Now the output is silently
|
||
discarded without generating an error. (SS)
|
||
|
||
3/7/96 (bug fix) Fixed bug where wish was treating empty lines in the input
|
||
as end of input, if the input came from stdin. This would cause it to
|
||
complain about missing closing braces etc. (JL)
|
||
|
||
----------------- Released 4.1b3, 3/8/96 -----------------------
|
||
|
||
3/9/96 (bug fix) Fixed bug in text.tcl that could cause errors in text
|
||
widgets of the form 'can't use non-numeric string as operand of "-"'. (JO)
|
||
|
||
3/12/96 (feature improvement) Modified startup script to look in several
|
||
different places for the Tcl library directory. This should allow tk
|
||
to find the libraries under all but the weirdest conditions, even without
|
||
the TK_LIBRARY environment variable being set. (JO)
|
||
|
||
3/14/96 (bug fix) "wish bogus_file_name" didn't print an error message. (JO)
|
||
|
||
3/14/96 (bug fix) Button-2 wasn't claiming the focus during paste
|
||
operations. (JO)
|
||
|
||
3/14/96 (bug fix) "tkwait visibility" use to hang forever if its window
|
||
was deleted. Now it detects this condition and returns an error. (JO)
|
||
|
||
3/16/96 (bug fix) Changed configuration stuff to get dynamic loading and
|
||
shared libraries working under AIX. (JO)
|
||
|
||
3/16/96 (bug fix) Fixed core dumps that could occur when a slave interpreter
|
||
was deleted in the middle of executin bindings. (JO)
|
||
|
||
3/18/96 (new feature) Added support for Activate/Deactivate events.
|
||
Currently, these new X events will generated only on the Macintosh. (RJ/CS)
|
||
|
||
3/21/96 (bug fix) The "tag prevrange" command would fail to return the current
|
||
range if it began at 1.0 and the starting point of the search was within
|
||
the range. (BW)
|
||
|
||
3/21/96 (configuration improvement) Changed configure script so it
|
||
doesn't use version numbers (as in -ltk4.1 and libtk4.1.so) under
|
||
SunOS 4.1, where they don't work anyway. (JO)
|
||
|
||
3/22/96 (bug fix) Made Tk more robust against interpreter deletion. Now it
|
||
should be safe to delete an interpreter with a Tk application inside it,
|
||
without first deleting the Tk application. (JL)
|
||
|
||
3/26/96 (bug fix) Tk now returns results from a "send" to an interpreter
|
||
in which the Tk application is destroyed, if the interpreter continues
|
||
computing after the Tk application is destroyed. Previously any results
|
||
computed after '.' was destroyed in the target interpreter were discarded
|
||
by the "send". (JL)
|
||
|
||
3/26/96 (new feature) Tk now provides a static Tktest package which is
|
||
present only in test versions of Tk; this allows the testing commands to
|
||
be loaded into new interpreters besides the main one. (JL)
|
||
|
||
3/28/96 (bug fix) Changed the tk_dialog procedure *not* to make the
|
||
dialog a transient for its parent. The old behavior meant that the
|
||
dialog did not get posted if the parent was iconified. (JO)
|
||
|
||
4/5/96 (bug fix) Tk would occasionally crash when destroying toplevels
|
||
under Windows. (SS)
|
||
|
||
4/5/96 (bug fix) Fonts were not being properly deallocated, causing
|
||
GDI resources to be consumed and never released under Windows. (SS)
|
||
|
||
4/11/96 (bug fix) Toplevel windows with no specified geometry were
|
||
always appearing in the upper left corner of the screen under
|
||
Windows. (SS)
|
||
|
||
4/11/96 (bug fix) "wm minsize" did not properly report the minimum
|
||
size imposed by the Windows window manager. (SS)
|
||
|
||
4/13/96 (bug fix) Text widgets could dump core in some cases where
|
||
text was inserted on the top visible line. (JO)
|
||
|
||
4/16/96 (bug fix) Changed menu code to ignore errors that occur when
|
||
restoring a grab: the old grab window might not be visible anymore. (JO)
|
||
|
||
----------------- Released 4.1, 4/21/96 -----------------------
|
||
|
||
5/1/96 (bug fix) "option readfile" did not handle files with CRLF
|
||
line termination. (SS)
|
||
|
||
5/1/96 (bug fix) Changed to install tkConfig.sh under "make install-binaries",
|
||
not "make install-libraries". (JO)
|
||
|
||
5/7/96 (bug fix) Moved initScript in tkUnixInit.c to writable memory to
|
||
avoid potential core dumps. (JO)
|
||
|
||
5/7/96 (bug fix) Changed tk_dialog back so that the dialog box is a
|
||
transient window again. This is needed to make sure that the dialog
|
||
box doesn't get obscured. Also changed it to return -1 if the dialog
|
||
window is deleted before the user presses a button. (JO)
|
||
|
||
5/16/96 (bug fix) Fixed bug that caused core-dumps if a text widget
|
||
with -setgrid 1 was deleted by removing its command. (JO)
|
||
|
||
5/16/96 (bug fix) Fixed bug that caused Tk initialization to use improperly
|
||
initialized variables left over from previous invocation of Tk_Init on
|
||
another interpreter. (JL)
|
||
|
||
5/16/96 (new feature) Implemented application embedding on Windows
|
||
platforms (only Tk inside another application, not the other way yet). (JL)
|
||
|
||
5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe
|
||
interpreter. (JL)
|
||
|
||
5/16/96 (bug fix) Fixed bug that caused Tk initialization to use improperly
|
||
initialized variables left over from previous invocation of Tk_Init on
|
||
another interpreter. (JL)
|
||
|
||
5/16/96 (new feature) Implemented application embedding on Windows
|
||
platforms (only Tk inside another application, not the other way yet). (JL)
|
||
|
||
5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe
|
||
interpreter. (JL)
|
||
|
||
5/22/96 (bug fix) Listboxes weren't properly ignoring double clicks on
|
||
button 1. (JO)
|
||
|
||
6/12/96 (bug fix) Focus was automatically placed on new toplevels.
|
||
This caused the titlebar to flash during menubar traversal. (SS)
|
||
|
||
6/12/96 (bug fix) Iconification of a window with a specified geometry
|
||
by using the minimize button would leave the window in an inconsistent
|
||
state. When the window was deiconified using "wm deiconify", the
|
||
window would continue to display as an icon with the deiconified
|
||
geometry. (SS)
|
||
|
||
6/12/96 (bug fix) Fixed a resource leak where the text widget was not
|
||
freeing all of the TkRegions it created. This fix affects all
|
||
platforms, but is particularly important for Win32s. (SS)
|
||
|
||
6/21/96 (configuration change) Added --enable-gcc switch to configure
|
||
script to make Tk just like Tcl. Now Tk will not use gcc unless you
|
||
request it explicitly. (JO)
|
||
|
||
7/18/96 (bug fix) Changed "configure" script to add an extra -R switch
|
||
(or whatever is appropriate to the platform) if the X library is in a
|
||
nonstandard place. This guarantees that the shared library can be
|
||
found at runtime without having to set the LD_LIBRARY_PATH variable. (JO)
|
||
|
||
7/19/96 (bug fix) Fixed bug in tkImgGIF.c that cause core dumps if a
|
||
GIF file contained multiple images. (JO)
|
||
|
||
7/20/96 (bug fix) Deadlock could occur if a recursive series of send
|
||
operations involved multiple displays. (JO)
|
||
|
||
7/23/96 (bug fix) Fixed a resource leak where deallocated XIDs were
|
||
taking up memory on Windows and Macintosh platforms. (SS)
|
||
|
||
7/30/96 (bug fix) A core dump could occur if a <Destroy> handler for
|
||
a window tried to create a child in the half-dead window. Fixed by
|
||
making the window's name disappear from the name table once it starts
|
||
to be deleted. (JO)
|
||
|
||
----------------- Released patch 4.1p1, 8/2/96 -----------------------
|
||
|
||
4/30/96 (new feature) Added support for named virtual events. New "event"
|
||
command to define/destroy named virtual events and to programmatically
|
||
send both real and virtual events to Tk. (CS)
|
||
|
||
8/6/96 (bug fix) Entry widgets were invoking scrollbar update functions
|
||
too often. (JO)
|
||
|
||
8/9/96 (bug fix) 7/30 change above for <Destroy> handlers broke many
|
||
things by making window available during Destroy handler. Reworked
|
||
fix for core dump to simply disallow creating children of half-dead
|
||
parents. (JO)
|
||
|
||
8/12/96 (bug fix) Fixed bug where using the Copy menu item on the
|
||
Macintosh would append a NULL character at the end of the text. (RJ)
|
||
|
||
8/15/96 (bug fix) Fixed Mac code so garbage wouldn't be printed in
|
||
text and entry widgets when function & other non-printing keys were
|
||
pressed. (RJ)
|
||
|
||
8/15/96 (configuration improvement) Changed the file patchlevel.h
|
||
to be tkPatch.h. This avoids conflict with the Tcl file and is now
|
||
in 8.3 format on the Windows platform. (RJ)
|
||
|
||
8/19/96 (bug fix) Fixed a bug under Windows where the initial window
|
||
position for a toplevel window was reported as +0+0, regardless of the
|
||
actual position. (SS)
|
||
|
||
8/21/96 (bug fix) If the last character on a line in a text widget was
|
||
a space character that didn't completely fit, the text widget would
|
||
sometimes add an extra wrap line. (JO)
|
||
|
||
8/22/96 (feature change) Complete rewrite of the grid geometry manager.
|
||
There is a new layout algorithm that produces better (but different)
|
||
layouts in many common cases. (SU)
|
||
|
||
8/22/96 (new feature) There are two new options for the grid geometry
|
||
manager, "grid update" which forces an immediate layout calculation,
|
||
and a "-pad" option to rowconfigure and columnconfigure that allows for
|
||
extra space around widgets. (SU)
|
||
|
||
8/22/96 (feature change) The order in which the grid geometry manager
|
||
reports slaves is now last-managed first. (SU)
|
||
|
||
8/22/96 (feature change) The column and row weights in the grid
|
||
geometry manager are kept internally as integers, instead of floating
|
||
point values. Floating point values are still accepted on the command line,
|
||
but are truncated to integers. (SU)
|
||