OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [tk/] [changes] - Blame information for rev 578

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
This file summarizes all changes made to Tk since version 1.0 was
2
released on March 13, 1991.  Changes that aren't backward compatible
3
are marked specially.
4
 
5
RCS: @(#) $Id: changes,v 1.1.1.1 2002-01-16 10:25:47 markom Exp $
6
 
7
3/16/91 (bug fix) Modified tkWindow.c to remove Tk's Tcl commands from
8
the interpreter when the main window is deleted (otherwise there will
9
be dangling pointers to the non-existent window).
10
 
11
3/16/91 (bug fix) Modified tkColor.c not to free black or white colors:
12
some X servers get upset at this.
13
 
14
3/18/91 (bug fix) Modified tkShare.c to fix bug causing "DeleteGroup
15
couldn't find group on shareList" panic.
16
 
17
3/18/91 (bug fix) Several changes to tkListbox.c and tkScrollbar.c to
18
handle listboxes (and scrollbars) with zero total entries in them.
19
 
20
3/22/91 (bug fix) Fixed a few ='s in tkListbox.c that should be ==.
21
 
22
3/22/91 (bug fix) Fixed error in main.c that caused BadWindow errors
23
in some cases where wish scripts invoke "destroy .".
24
 
25
3/23/91 (new feature) Added Tk_CancelIdleCall to remove Tk_DoWhenIdle
26
handler.
27
 
28
3/23/91 (bug fix and new feature) Added -name option to main.c, made
29
it more clever about choosing name (was always using the name "wish"
30
on most Unix systems).
31
 
32
3/23/91 (new feature) Added TK_CONFIG_STRING option to Tk_ConfigureWidget,
33
used it to malloc strings for various widget options that used to be
34
Tk_Uid's (e.g. button text, message strings, etc.).  Eliminates core
35
leaks when values change in continuous non-repeating fashion.
36
 
37
3/29/91 (new feature) Added Tk_Preserve, Tk_Release, and
38
Tk_EventuallyFree procedures to help manage widget records and avoid
39
premature memory free-ing.
40
 
41
4/4/91 (bug fix) Fixed problem in tkWm.c where top-level window geometry
42
wasn't tracking correctly when wm-induced size change also changed window
43
position (e.g. menus wouldn't be displayed at the right places).
44
 
45
4/5/91 (new feature) Added "invoke" option to widget command for buttons,
46
check buttons, and radio buttons.
47
 
48
4/5/91 (new feature) Added "unpack" option to "pack" command.
49
 
50
4/5/91 (bug fix) Changed tkPack.c to use new Tk_Preserve code and be
51
more careful about window deletions that occur while repacking is in
52
progress.
53
 
54
4/6/91 (bug fix) Major overhaul of deletion code in all widgets to use
55
Tk_Preserve and Tk_Release.  Should fix many problems.
56
 
57
4/6/91 (bug fix) Changed "winfo children" to generate correct lists
58
when child names have embedded spaces.
59
 
60
4/6/91 (new feature) Added "screenheight" and "screenwidth" options to
61
"winfo".
62
 
63
4/18/91 (bug fix) Binding mechanism didn't correctly handle very long
64
%-substitutions in commands (e.g. long path names) and caused memory
65
to be overwritten.  Modified tkBind.c to fix.
66
 
67
---------------------- Release 1.1, 4/18/91 -------------------------
68
 
69
4/19/91 (bug fix) Inconsistent ICCCM handling of coordinates of reparented
70
windows causes windows to gradually walk south when moved or resized.
71
Fixed tkWm.c to patch around the problem.
72
 
73
---------------------- Release 1.2, 4/24/91 -------------------------
74
 
75
4/26/91 (new feature) Added -geometry and -display switches to wish.
76
Also wrote wish manual entry.
77
 
78
5/3/91 (bug fix) Fixed bug in tkListbox.c that caused garbage to appear
79
at right edge of window when strings were to large to fit in window.
80
 
81
5/3/91 (bug fix) Fixed bug in tkListbox.c where topIndex wasn't getting
82
updated when elements were deleted:  tended to cause errors in
83
communication with scrollbars.
84
 
85
5/16/91 (bug fix) Fixed bug in tk3d.c, which caused core dumps when
86
consecutive points in a polygon were the same (happened with some
87
configurations of radio buttons, for example).
88
 
89
5/16/91 (bug fix) Fixed main.c to allow stdin to be redirected.
90
 
91
6/1/91 (bug fix) Make sure that pointers are never used after being
92
freed.
93
 
94
6/15/91 (bug fix) Fixed bug in tkBind.c that caused current binding
95
values to not always be printed correctly.
96
 
97
6/15/91 (bug fix) Make sure that interpreters are always unregistered
98
when their main windows are deleted, and make wish delete the main
99
window before exiting.
100
 
101
8/21/91 (misfeature correction)  Automatically set source of window
102
position to "user" in "wm geometry" command, unless it has been
103
explicitly set to "program".
104
 
105
9/5/91 (bug fix) Modified option code to accept '#' as a comment
106
character in .Xdefaults files, in addition to '!'.
107
 
108
9/10/91 (misfeature correction) Changed binding mechanism so that
109
numeric %-sequences are output in decimal instead of hex.
110
 
111
9/19/91 (bug fix) Fixed bug in Tk_DoOneEvent(1) where it wasn't
112
checking files and X connections properly so it missed events.
113
 
114
10/6/91 (new feature) Reorganized tkBind.c to provide generic "binding
115
table" structure, which can be used to create bindings on items in
116
canvases as well as windows.
117
 
118
10/6/91 (new feature) Upgraded buttons and menus to use new tracing
119
code in Tcl 6.0.  Allows radio buttons and check buttons to both set
120
and clear themselves when associated variable changes.
121
 
122
10/17/91 (bug fix) Fixed 2 bugs in listboxes: accidentally advanced the
123
selection when new entries were inserted in the listbox after the location
124
of the selected item(s), and goofed up on redisplay if selected item
125
was deleted and then selection was immediately lost.
126
 
127
10/27/91 (bug fix) "pack unpack" wasn't telling Tk that it no longer
128
manages window;  this led to core dumps in some situations.
129
 
130
10/31/91 (reorganization) Renamed manual entries so that they are no
131
more than 14 characters in length.
132
 
133
10/31/91 (reorganization) Changed tk.h and tkInt.h so that tkInt.h
134
doesn't needed to be included by tk.h.
135
 
136
11/3/91 (portability improvement) Eliminated use of "class" as a variable
137
name, since it's a reserved word in C++.
138
 
139
11/7/91 (reorganization) Many changes to upgrade for Tcl 6.1 including
140
use of Tcl hash tables instead of separate "Hash_" module.  The "lib"
141
subdirectory is no longer needed in Tk.
142
 
143
---------------------- Release 1.3, 11/7/91 -------------------------
144
 
145
11/24/91 (bug fix) Fixed bug causing occasional errors if existing bindings
146
are modified (FindSequence in tkBind.c forget to set *maskPtr).
147
 
148
11/24/91 (bug fix) Used wrong hash table in Tk_GetColorByValue.  Could
149
cause new entries to get created unnecessarily.
150
 
151
12/2/91 (bug fix) Changed "bind" code to put backslashes in front of
152
special characters (e.g. [ or \) that appear in %-replacements, so that
153
they can be parsed cleanly.
154
 
155
12/10/91 (bug fix) Manual entries had first lines that caused "man" program
156
to try weird preprocessor.  Added blank comment lines to fix problem.
157
 
158
1/2/92 (documentation cleanup) Changed manual entries for Tk_GetBitmap
159
and the like to make it more clear that the argument must be a Tk_Uid
160
and not a string.
161
 
162
1/2/92 (bug fix) Fixed problem where scrollbars that were very short or
163
very narrow (too small to hold both arrows) could cause negative values
164
in calls to XClearArea, which crashed some servers.
165
 
166
1/2/92 (bug fix) Fixed bug in TkMeasureChars occurring when maxChars
167
is 0.  Occasionally affected things like message window geometry.
168
 
169
1/3/92 (new feature) Added procedures Tk_GetJustify, Tk_GetAnchor,
170
Tk_GetCapStyle, and Tk_GetJoinStyle, plus support for these things
171
in Tk_ConfigureWidget.
172
 
173
---------------------- Release 1.4, 1/10/92 -------------------------
174
 
175
1/12/92 (bug fix) TkMenubutton.c wasn't cleaning up mbPtr->varName
176
properly during menubutton cleanup if an error occurred during
177
menubutton creation.
178
 
179
1/19/92 (bug fix) Fixed off-by-one bug in tkListbox.c that caused
180
scrollbars to display a slider that was too large.
181
 
182
2/10/92 (bug fix) Tk_CreateFileHandler didn't correctly handle case
183
where new mask was specified for existing handler.
184
 
185
2/13/92 (bug fix) Tk_DeleteAllBindings wasn't correctly removing
186
bindings from the pattern table:  only did the removal for the
187
first pattern in a pattern list.
188
 
189
2/15/92 (new feature) Added procedures Tk_DefineBitmap and
190
Tk_SizeOfBitmap.  Tk_GetBitmapFromData is now considered obsolete
191
and probably shouldn't be used anymore.  Tk_GetBitmapFromData
192
is now implemented by calling Tk_DefineBitmap and Tk_GetBitmap.
193
 
194
2/15/92 (new feature) Added "curselection" and "select clear" options
195
to widget command for listboxes.
196
 
197
2/15/92 (new feature) Added Tk_3DBorderColor procedure.
198
 
199
2/17/92 (relaxed limitations) Changed scrollbars so they no longer limit
200
the slider position to lie within the object's range:  can scroll off the
201
end of an object, if the object permits it.  Changed listboxes and
202
entries to explicitly prevent viewing off the ends.  Also relaxed
203
listbox index checks so that out-of-range indices are automatically
204
adjust to fit within the listbox range.
205
 
206
2/19/92 (bug fix) tkWindow.c tended to leave half-created windows around
207
if a new window's name was found to be in use already.  Fixed to clean
208
them up.
209
 
210
2/22/92 (new feature) Added -anchor, -bitmap, -height, -textvariable,
211
-width options to labels, buttons, check buttons, menu buttons, and radio
212
buttons.  This means that (a) size can be controlled better, (b) bitmaps
213
can be displayed in any buttons, (c) the position of the text within the
214
button can be controlled, and (d) a button can be made to display the value
215
of a variable, continuously updating itself.  Also changed -selector option
216
so that if it's specified as an empty string then no selector is drawn
217
for the button.
218
 
219
2/22/92 (new feature) Changed menus to support bitmaps in menu entries:
220
added new -bitmap option for entries.
221
 
222
2/26/92 (bug fix) "after" command, when invoked with just one argument,
223
called Tk_Sleep rather than registering a timer handler and looping on
224
Tk_DoOneEvent.  As a result, it caused the application to become non-
225
responsive to X events during the sleep.  Changed to use a Tk_DoOneEvent
226
loop so that it is responsive.
227
 
228
2/26/92 (bug fix) Tk's main program didn't map the main window until
229
after the startup script returned.  Changed to map the window as a
230
do-when-idle handler, so that scripts can cause the window to be
231
mapped immediately with a call to "update" or "after".
232
 
233
2/28/92 (bug fix) "wm withdraw" wasn't working if invoked before window
234
was originally mapped:  window got mapped anyway.  Fixed so that the
235
window doesn't get mapped as long as it's withdrawn.
236
 
237
2/29/92 (new feature) Can use "focus none" to clear input focus.
238
 
239
2/29/92 (bug fix) Fixed tkEvent.c to generate SubstructureNotify events
240
properly.  These weren't being generated previously.
241
 
242
2/29/92 (bug fix) Fixed entries so that newline characters can be properly
243
displayed (as `\x0a').  Had to change interface to TkDisplayChars in order
244
to do this (added flags argument).
245
 
246
2/29/92 (bug fix) Change Tk not to update size and position of top-level
247
windows directly during calls like Tk_ResizeWindow.  Instead, wait until
248
actual event is received.  This makes updates happen at same time as
249
callbacks.
250
 
251
3/6/92 (bug fix) TkMenubutton.c was dumping core when a menubutton was
252
pressed at a time when there was no associated menu for the button.
253
 
254
3/6/92 (new feature) Added Tk script library directory with official
255
Tk initialization file "tk.tcl".  Other procedures used by Tk are in
256
other files.  Tk procedures and variables all have names starting
257
with "tk_".  Also added Wish startup script "wish.tcl", which sources
258
both the Tk and Tcl startup scripts.  This means that things like
259
auto-loading and abbreviation expansion are now available in wish.
260
Added new variables tk_library, tk_priv, and tk_version.
261
 
262
3/6/92 (new feature) It's now possible to set bindings for whole
263
classes by using the class name in the bind command.  For example,
264
"bind Button  {puts stdout Hi!}" will cause a message to be
265
printed whenever any mouse button is entered.  Can also use "all"
266
to set bindings for all widgets.  Widget-specific bindings override
267
class bindings which override "all" bindings.
268
 
269
3/6/92 (reorganization) Changed buttons (all flavors) and listboxes to
270
eliminate all hard-wired behavior.  Instead, default behavior is set
271
by class bindings in tk.tcl.  Also set up class bindings for menus,
272
menubuttons, and entries, which previously had no default behavior at
273
all.  Scrollbars and scales still have hard-wired behavior that can't
274
be overridden.
275
 
276
3/7/92 (look-and-feel change) Changed listboxes and entries and menus
277
to use button 2 for scanning instead of button 3.  This is more consistent
278
with the official Motif use of button 2 for dragging.
279
 
280
3/10/92 (new features) Added more options to "winfo" command:  screencells,
281
screendepth, screenmmheight, screenmmwidth, and screenvisual.
282
 
283
3/13/92 (bug fix) Event sharing mechanism (tkShare.c) wasn't checking
284
to see whether window was mapped before sharing events with it.
285
 
286
3/16/92 (bug fix) Tk_SetInternalBorderWidth was passing wrong window to
287
geometry-management procedures, causing core-dumps when menu buttons
288
had their border widths changed.
289
 
290
3/16/92 (bug fix) Menus were setting their geometry directory rather
291
than using Tk_GeometryRequest mechanism.
292
 
293
3/17/92 (new feature) Added -cursor option to all widgets to set the
294
active cursor for the widget.  Also added TK_CONFIG_ACTIVE_CURSOR
295
configure type.
296
 
297
3/18/92 (new feature) Implemented generalized screen coordinates to
298
allow resolution-independent specification in many cases (but pixel-
299
based coordinates are still OK).  Added Tk_GetScreenMM(),
300
Tk_GetPixels(), new configure types TK_CONFIG_SCREEN_MM and
301
TK_CONFIG_PIXELS.  Changed widgets to use this new configure types
302
wherever possible (a few of the more complex cases still haven't
303
been taken care of yet).  Added "pixels" and "fpixels" options to
304
"winfo" command.
305
 
306
3/18/92 (new feature) First cut at canvas widgets is done and part of
307
the official Tk now.  Canvases display text and structured graphics,
308
and allow you to bind commands to events related to the text and
309
graphics.
310
 
311
3/21/92 (new feature) Added new "place" command.  It implements a
312
new geometry manager that provides fixed placement, rubber-sheet
313
placement, and combinations of the two.  Eliminated the commands
314
"move", "resize", and "map" that were provided by main.c but never
315
officially supported;  the placer provides all of this functionality.
316
 
317
3/23/92 (bug fix) Fixed bug in tkWm.c where top-level windows were
318
occasionally not being given the right size.  The problem occurred
319
when a string of resizes happened all in a row (such as deleting all
320
the windows in an application and then recreating them).
321
 
322
3/23/92 (new feature) Added Tk_CoordsToWindow procedure and
323
"winfo containing" command.  These may be used to locate the window
324
containing a given point.
325
 
326
3/28/92 (new feature) Added "-exportselection" option to listboxes,
327
so that listbox selection need not necessarily be the X selection.
328
 
329
4/12/92 (bug fix) Changed menu buttons to store name of menubutton
330
in the associated variable, rather than the name of the menu.  This
331
is necessary in order to allow several menu buttons to share the
332
same menu.
333
*** POTENTIAL INCOMPATIBILITY ***
334
 
335
4/12/92 (bug fix) Fixed core dump that occurred in tkError.c when
336
removing the first error record from the error list.
337
 
338
4/15/92 (bug fix) Fixed bug in tkBind.c that prevented 
339
event specifications from being processed correctly:  the "1" was
340
treated as a button name rather than a keysym.
341
 
342
4/18/92 (new feature) Added Tk_DefineCursor and Tk_UndefineCursor
343
procedures.
344
 
345
4/18/92 (new feature) Major revision to listboxes.  Can now scroll and
346
scan in both x and y, plus -exportselection option allows selection not
347
to be exported.  The "view" widget command has been replaced by "xview"
348
and "yview", and the "scan" widget command has a new syntax.
349
*** POTENTIAL INCOMPATIBILITY ***
350
 
351
4/18/92 (new feature) Added -exportselection option to entries, so you
352
can select whether you want the entry selection to be the X selection
353
or not.
354
 
355
4/24/92 (new features) Added TK_CONFIG_CUSTOM type to Tk_ConfigureWidget,
356
plus added new flags TK_CONFIG_NULL_OK, TK_CONFIG_DONT_SET_DEFAULT,
357
and TK_CONFIG_OPTION_SPECIFIED.  Several other new types, such as
358
TK_CONFIG_CAP_STYLE, were also added as part of implementing canvases.
359
 
360
4/29/92 (bug fix) Changed "-selector" default for menus to have separate
361
values for mono and color.
362
 
363
4/30/92 (bug fix) Fixed bug in tkListbox.c where it occasionally generated
364
bogus scroll commands (last index less than first).
365
 
366
4/30/92 (reorganization) Moved demos directory to "library/demos".
367
 
368
---------------------- Release 2.0, 5/1/92 -------------------------
369
 
370
5/2/92 (bug fix) Fixed problem in tkListbox.c where it was doing too many
371
redisplays after repeated insertions.  Also reduced number of invocations
372
of scrollbar commands.
373
 
374
5/7/92 (portability improvement) Changed main.c not to use TK_EXCEPTION
375
flag;  it isn't needed and it causes problems on some systems.
376
 
377
5/9/92 (bug fix) Plugged core leaks in tkListbox.c and tkBind.c
378
 
379
5/9/92 (bug fix) TkBind.c was accidentally deleting bindings during
380
attempts to print non-existent bindings.
381
 
382
5/11/92 (bug fix) Maximum name length for applications (name used in
383
"send" commands) was too short (only 20);  increased to 1000.  Also
384
fixed bug related to over-long names that caused core dumps.
385
 
386
5/13/92 (bug fix) tkShare.c was using a dangling pointer if a share
387
group was deleted as a side-effect of a shared event.
388
 
389
5/13/92 (bug fix) Various initialization and core leak problems in
390
tkGC.c, tkSend.c, tkMenu.c, tkEvent.c, tkCanvas.c, tkCanvPoly.c,
391
tkCanvLine.c, tkListbox.c, tkEntry.c.
392
 
393
5/13/92 (bug fix) Empty entries could be scanned off the left edge,
394
displaying a garbage character.
395
 
396
5/13/92 (bug fix) Fixed a few problems with window manager interactions,
397
such as tendency for windows to spontaneously shrink in size.  By no
398
means are all of the problems fixed, though.
399
 
400
5/13/92 (performance optimization) Changed Tk_GeometryRequest not to
401
invoke geometry manager unless requested size has changed.
402
 
403
---------------------- Release 2.1, 5/14/92 -------------------------
404
 
405
5/1/92 (new features) Added flags like TK_IDLE_EVENTS to Tk_DoWhenIdle,
406
plus added "idletasks" option to "update" command.  Tk_DoWhenIdle arguments
407
look different now, but the change should be upward-compatible.
408
 
409
5/17/92 (new feature/bug fix) Added support for VisibilityNotify events
410
to the "bind" command.  For some reason they weren't supported previously.
411
 
412
5/17/92 (new feature) Added "tkwait" command.
413
 
414
5/17/92 (new feature) Added "grab" command.
415
 
416
5/17/92 (new feature) Added "-width" option to messages.  Also changed
417
messages to use the computed (i.e. desired) line length when displaying,
418
not the actual width of the window.
419
 
420
5/17/92 (bug fixes) Did some more fiddling with tkWm.c in the hopes
421
of improving window manager interactions.  Now there won't be more than
422
one configure request outstanding to the wm at a time.
423
 
424
5/17/92 (bug fix) Arrowheads on canvas lines weren't being translated
425
or scaled correctly.
426
 
427
5/20/92 (bug fix) Page-mode scrolling didn't work correctly for canvases
428
(wrong windowUnits was passed to scrollbars).
429
 
430
5/20/92 (bug fix) Changed scrollbars not to lose highlight when pointer
431
leaves window with button down.  Also changed redisplay to double-buffer
432
for smoother redraws.
433
 
434
5/21/92 (new feature) Added "gray50" and "gray25" as predefined bitmaps.
435
 
436
5/22/92 (new feature) Buttons can now be disabled using the "-state" and
437
"-disabledforeground configuration options.  The "activate" and "deactivate"
438
widget commands for buttons are now obsolete and will go away soon.
439
Please change Tcl scripts not to use them.
440
 
441
5/23/92 (new feature) Entries can now be disabled using the "-state"
442
config option.  Also improved class bindings for entries to keep the
443
cursor visible in the window when operations occur.  Also made slight
444
improvements in the way redisplay is done.
445
 
446
5/23/92 (new feature) Added "-textvariable" option to entries so that
447
the text in an entry can be tied to the value of a global variable in
448
a fashion similar to buttons.
449
 
450
5/27/92 (new feature) Added "-textvariable" and "-anchor" options to
451
messages.
452
 
453
5/28/92 (new feature) Added "-padx" and "-pady" and "-underline" options
454
to menubuttons.
455
 
456
5/28/92 (feature change) Changed "-width" and "-height" options on
457
all flavors of buttons and menubuttons so that they are orthogonal
458
to "-padx" and "-pady".  It used to be that -width overrode -padx
459
(no padding).  Now they accumulate.
460
 
461
5/29/92 (new feature) Added "-disabledforeground" option to menus and
462
all flavors of buttons (can specify color for disabled things rather
463
than just using stipple to gray out).
464
 
465
5/29/92 (new features) Added many new options to menu entries:
466
-activebackground, -background, -font, -state, -underline.  The
467
"disable" and "enable" widget commands for menus are now obsolete
468
and will go away soon.  Please change Tcl scripts not to use them.
469
 
470
5/29/92 (new features) Added "atom" and "atomname" options to "winfo"
471
command.
472
 
473
5/29/92 (new feature) Wrote tk_listboxSingleSelect procedure, which
474
can be used to change listbox behavior so that only a single item is
475
selected at once.
476
 
477
6/1/92 (new feature) Added new modifier names "Meta" and "Alt" for
478
"bind" command.
479
 
480
6/3/92 (new feature) Added "winfo toplevel" command.
481
 
482
6/3/92 (new feature) Made several changes for greater Motif compliance,
483
including:
484
    - menu retention if you click and release in the menu button,
485
    - keyboard traversal of menus (see traversal.man)
486
    - no widget flashing if you set $tk_strictMotif to 1
487
 
488
6/15/92 (bug fix) Fixed problem in tkBind.c where command string for a
489
binding could get reallocated while the command was being executed (e.g.
490
bindings that delete or change themselves).
491
 
492
6/15/92 (bug fix) Don't allow "tabWidth" field to become zero in tkFont.c:
493
can cause core dumps for fonts that don't enough information to compute
494
tab widths.
495
 
496
6/19/92 (bug fix) Fixed bug in binding mechanism that caused structure-
497
related events to be reported both to the correct window and its parent.
498
 
499
7/14/92 (bug fix) Changed tkColor.c not to free colors for visual types
500
StaticGray or StaticColor.
501
 
502
7/15/92 (new feature) Text widgets now exist.  They display any number of
503
lines of text with a variety of display formats, and include hypertext
504
facilities.  See the manual page for details.
505
 
506
7/20/92 (bug fix) If a top-level window was put in the iconic state to
507
begin with, it could be deiconified with "wm deiconify .foo" until it had
508
first been deiconified by hand from the window manager.  Tk was getting
509
confused and thought the window was mapped when it wasn't.
510
 
511
7/29/92 (bug fix) Don't permit rectangles or ovals to have zero-sized
512
dimensions.  Round up to at least one pixel.
513
 
514
7/29/92 (new features) Major upgrade to canvases:
515
    - new item types: arc, window, bitmap
516
    - added Bezier spline support for lines and polygons
517
    - rectangles and ovals now center their outlines on the shape,
518
      rather than drawing them entirely inside the shape
519
    - new "coords" and "bbox" widget commands
520
    - new "-tags" option for all item types.
521
    - new "-confine" option to prevent scrolling off edge of canvas.
522
 
523
8/6/92 (new feature) Added "-width" and "-height" options to frames.
524
The "-geometry" option is now obsolete and should be removed from Tcl
525
scripts:  it may go away in the future.
526
 
527
8/7/92 (bug fix) Error messages in Tk_ParseArgv were sometimes including
528
the option name where they should have included its value.
529
 
530
---------------------- Release 2.2, 8/7/92 -------------------------
531
 
532
8/7/92 (bug fix) Changed tkCanvas.c to be more conservative in the area
533
it passes to XCopyArea.
534
 
535
8/8/92 (bug fix) Fixed bug in tkTextDisp.c that sometimes caused core
536
dumps when text views changed (e.g. typing return on last line of screen).
537
 
538
8/8/92 (bug fix) Fixed bug in menu.tcl that caused errors when using
539
keyboard to traverse over separator menu entries.
540
 
541
8/10/92 (bug fix) Changed to use OPEN_MAX instead of MAX_FD to compute
542
maximum # of open files.
543
 
544
8/10/92 (bug fix) Canvases weren't updating scrollbars on window size
545
changes.  They also weren't recentering canvases on window size changes.
546
 
547
8/10/92 (bug fix) There were still a few places where commands were being
548
invoked at local level instead of global level (e.g. commands associated
549
with buttons and menu entries).
550
 
551
8/10/92 (bug fix) TkBind.c used to ignore explicit shift modifiers for
552
all keys (i.e.  was treated the same as ).  Modified to
553
allow explicit request for shift modifier, like .
554
 
555
8/13/92 (feature change) Changed default fonts to request "Adobe" fonts
556
explicitly.
557
 
558
8/16/92 (bug fixes) Modified tkCanvArc.c and tkTrig.c to increase slightly
559
the bounding boxes for arcs, in order to make sure that proper redisplay
560
occurs when arcs are moved (little turds were getting left behind).
561
 
562
8/16/92 (bug fix) Modified tkCanvas.c not to redraw at all if the redisplay
563
area is off the screen.  Also, only do a background clear for the portion
564
of the redraw area that is on-screen.  Also, reduced size of off-screen
565
pixmaps used for redisplaying, which speeds up redisplay in some cases.
566
 
567
8/19/92 (bug fix) Canvases that were taller than wide were not being
568
redisplayed properly.
569
 
570
8/20/92 (new feature) Added Tk_CreateGenericHandler procedure for trapping
571
all X events (useful for tracing, watching non-Tk windows, etc.).
572
 
573
8/21/92 (bug fix) Widgets weren't always being notified when they got
574
the focus back again (the problem had to do with grabs and menus in
575
particular).
576
 
577
8/21/92 (new feature) Added "-state" option to scale widgets.
578
 
579
8/22/92 (new feature) Changed tkBitmap.c to allow tilde-substitution
580
to occur in bitmap file names.
581
 
582
---------------------- Release 2.3, 8/24/92 -------------------------
583
 
584
8/27/92 (bug fix) Changes to -activebackground and -activeforeground options
585
for menubuttons were being lost.
586
 
587
8/27/92 (bug fix) Entries were selecting last character when a B1-drag
588
occurred past the right edge of the text.
589
 
590
8/28/92 (bug fix) Fixed bug in canvases where a grab during a button
591
press caused the canvas state to lock up so that it didn't select a
592
new current item.
593
 
594
9/7/92 (bug fix) Changed tkMenu.c to accept numerical menu indices that
595
are out of range;  now it just rounds them off to the nearest existing
596
entry.
597
 
598
9/7/92 (bug fix) Fixed bug in tkTextDisp.c that caused core dumps when
599
invoking "yview -pickplace" widget command on texts that are too small
600
to hold any lines at all.
601
 
602
9/11/92 (bug fix) Fixed bug in tkTextDisp.c that caused core dumps
603
when adding tags to non-existent lines.
604
 
605
9/11/92 (bug fix) Line items in canvases didn't permit an empty fill
606
color (i.e. couldn't make them transparent).
607
 
608
9/14/92 (reorganization) Changed manual entries to use .1, .3, and .n
609
extensions.  Added "install" target to Makefile to suggest how Tk should
610
be installed.
611
 
612
9/16/92 (bug fix) Changed tkSend.c to always specify the root window of
613
screen 0 rather than using DefaultRootWindow.  DefaultRootWindow doesn't
614
always go to screen 0 on displays with multiple screens, which can result
615
in send's not being possible between the screens.
616
 
617
9/18/92 (new feature) Added three new options to "wm" command: "protocol",
618
"client", and "command".  These provide support for window manager protocols
619
such as WM_DELETE_WINDOW and WM_TAKE_FOCUS, plus support for the
620
WM_CLIENT_MACHINE and WM_COMMAND properties.
621
 
622
9/30/92 (new feature) Implemented color model support, including
623
"tk colormodel" command and Tk_GetColorModel and Tk_SetColorModel
624
procedures.  These allow you to force mono operation even on a color
625
display.  Also changed color allocation not to give errors when colors
626
run out, but just to switch to a mono color model.
627
 
628
10/1/92 (bug fixes) Fixed two bugs in tkTextBTree.c that caused core dumps
629
during text deletion.
630
 
631
10/5/92 (bug work-around) Changed tkColor.c to ignore errors when freeing
632
colors.  This is needed to work around improper reference count management
633
for colormap entries under X11/NeWS.
634
 
635
10/7/92 (new feature) Added support for different visual types, including
636
procedures Tk_SetWindowVisual and Tk_SetWindowColormap, plus macros
637
Tk_Visual, Tk_Depth, and Tk_Colormap.  The code for this was contributed
638
by Paul Mackerras.
639
 
640
10/7/92 (new feature) Added Tk_IsTopLevel macro.
641
 
642
10/12/92 (bug fix) Fixed bug in tk.tcl that caused torn-off menus with
643
cascaded children not to track mouse motion correctly (the cascade
644
switched in response to mouse motions within the cascaded child).
645
 
646
10/12/92 (new feature) Major changes to focus handling:
647
(a) Tk watches FocusIn and FocusOut events for focus changes, not Enter
648
    and Leave, so it will work better with explicit-focus-model window
649
    managers (e.g. mwm in default mode).
650
(b) Tk generates FocusIn and FocusOut events for the focus window now.
651
    The old procedural interface (via Tk_CreateFocusHandler) is obsolete
652
    and is no longer used inside Tk.  It is still supported for
653
    compatibility, but won't be for long.  You should change your code
654
    to use FocusIn and FocusOut events instead.
655
(c) The model for FocusIn and FocusOut events is different than the
656
    one described in Xlib documentation.  See the "focus" manual entry
657
    for details.
658
(d) If there is no input focus then keyboard events are discarded.  They
659
    used to be directed to the mouse pointer window, although this wasn't
660
    documented.  The focus now defaults to the root window.
661
*** POTENTIAL INCOMPATIBILITY ***
662
 
663
10/15/92 (bug fix) Fixed text items in canvases where they didn't
664
display the insertion cursor if the item had no characters in it.
665
 
666
10/26/92 (bug fix) Fixed bug in tkSelect.c that occasionally caused
667
BadWindow X protocol errors when retrieving the selection.  Tk wasn't
668
making sure that a window existed before using it to retrieve the
669
selection.
670
 
671
10/30/92 (feature change) Changed canvases so that if the scroll region
672
is smaller than the window and -confine is on, the scroll region isn't
673
forced to be centered in the window;  it can be anywhere that meets the
674
confinement restrictions.
675
 
676
11/2/92 (new feature) Added "winfo exists" command.
677
 
678
11/5/92 (new feature) Changed DoWhenIdle handlers so that if a new
679
when-idle handler is created as a side-effect of another when-idle
680
handler, the new handler isn't invoked until Tk has first checked
681
for other events to process.
682
 
683
11/6/92 (bug fixes, new features) Major overhaul of window manager
684
interface:
685
(a) Tk should now work with virtual-root window managers;
686
(b) windows will now place more accurately on the screen and stay where
687
    they're supposed to;
688
(c) size changes handled more reliably;
689
(d) code now works robustly in the face of withdrawals followed
690
    immediately by deiconifications.
691
(e) Added new procedure Tk_GetVRootInfo and new options to "winfo" command:
692
    vrootx, vrooty, vrootwidth, vrootheight.
693
(f) Added "overrideredirect" option to "wm".
694
(g) Fixed bug where change in width-only via "wm geom" didn't always work
695
   (min and max window sizes weren't being set properly for the wm).
696
 
697
11/6/92 (bug fixes) Modified menus so that they work correctly with
698
virtual root window managers.  Also fixed bug where menus didn't move
699
along with their associated windows, so that the menu popped up at
700
the old location of the window rather than its new location.
701
 
702
11/9/92 (new constraint) Made it illegal to give windows names that
703
start with upper-case letters, since such names will goof up the
704
option database by appearing to be classes rather than names.
705
*** POTENTIAL INCOMPATIBILITY ***
706
 
707
11/10/92 (new feature) Added Postscript output to canvases.
708
 
709
11/13/92 (bug fix) Changed default for maximum size passed to window
710
manager from 1000000 (which causes some wm's to make windows too large
711
when "maximized") to the size of the display.
712
 
713
11/14/92 (feature change) Major overhaul of menubuttons and pull-down
714
menus.  Removed event-sharing code, including Tk_ShareEvents and
715
Tk_UnshareEvents.  The -variable option for menubuttons has been
716
removed,and the "post" and "unpost" widget commands for menubuttons
717
no longer exist.  The "post" widget command for menus no longer
718
allows a group option.  The procedure tk_menus has been replaced
719
with a new procedure, tk_menuBar, which has a slightly different
720
interface.
721
*** POTENTIAL INCOMPATIBILITY ***
722
 
723
11/20/92 (new features, feature changes) Major overhaul of grab
724
mechanism to produce more correct event streams.  Also changed Tcl
725
commands to require explicit window for grab releases (makes it
726
possible for grabs to work on multiple displays simultaneously).
727
The old "grab none" command no longer exists, but new options
728
have been added: "current", "release", "set", and "status".
729
*** POTENTIAL INCOMPATIBILITY ***
730
 
731
11/20/92 (new feature) Use TK_LIBRARY environment variable to set library
732
directory location, if it is defined.  Otherwise fall back on usual
733
compiled-in value.
734
 
735
11/25/92 (bug fix) "wm grid" command was using wrong window.
736
 
737
11/29/92 (bug fix) Fixed core dump that occurred when trying to use
738
placer on top-level windows: return error instead.
739
 
740
11/29/92 (bug fix) Selection retrieval wasn't making sure that the window
741
on whose behalf selection is being retrieved actually exists.
742
 
743
12/3/92 (new feature) Added support for Mode_switch key to support the
744
full ISO character set.  Also added event handlers for MappingNotify
745
events so that Tk updates itself in response to keycode and modifier
746
changes.
747
 
748
12/6/92 (bug fix) Ignore recursive attempts to destroy window.
749
 
750
12/9/92 (new demos) Added "tcolor" and "rmt" demos.
751
 
752
12/10/92 (new features) Added "yposition" widget command for menus,
753
changed "delete" widget command to take an optional second index,
754
and changed -command option for cascade entries so that it is
755
invoked when the entry is activated rather than when it is invoked.
756
*** POTENTIAL INCOMPATIBILITY ***
757
 
758
12/12/92 (implementation change)  Changed the procedures Tk_FreeBitmap,
759
Tk_NameOfBitmap, Tk_SizeOfBitmap, Tk_FreeCursor, Tk_NameOfCursor, and
760
Tk_FreeGC to require an addition Display argument.  This is needed for
761
Tk to function correctly when an application has windows on multiple
762
displays.
763
*** POTENTIAL INCOMPATIBILITY ***
764
 
765
12/12/92 (new feature) Started creating a test suite.  Right now it
766
only has a few tests.
767
 
768
12/12/92 (new feature) Modified the packer so that a window can be
769
packed in descendants of its parent (used to be restricted to the
770
parent alone).  This makes it possible to hide extra windows used
771
for geometry management.  Also, can use generalized screen distances
772
in the "pack" command.
773
 
774
12/16/92 (feature change) Boolean options such as -exportselection now
775
print as 0/1 rather than true/false (both the default and current values
776
print this way).  This makes it easier to use these values in expressions.
777
*** POTENTIAL INCOMPATIBILITY ***
778
 
779
12/16/92 (name change) The classes "RadioButton" and "CheckButton" have
780
been renamed "Radiobutton" and "Checkbutton" for consistency.  From now
781
on widget class names will have exactly one capital letter.
782
*** POTENTIAL INCOMPATIBILITY ***
783
 
784
12/16/92 (new feature) Added -setgrid option to listboxes.
785
 
786
12/16/92 (new feature) The "destroy" command, and the "delete" widget
787
command for canvases, now accept any number of arguments, including
788
zero.
789
 
790
12/16/92 (new feature) Changed internal TkBindError procedure to
791
Tk_BackgroundError and exported it to Tk clients.
792
 
793
12/16/92 (option name change) Changed the place command's "dependents"
794
option to "slaves" for better consistency with documentation.
795
*** POTENTIAL INCOMPATIBILITY ***
796
 
797
12/16/92 (name changes) Renamed the "cursor*" options in entries and
798
canvases to "insert*".  Also renamed the "cursor" index to "insert" and
799
the "cursor" widget command to "icursor".  This was done to avoid
800
confusion between the mouse cursor and the insertion cursor.
801
*** POTENTIAL INCOMPATIBILITY ***
802
 
803
---------------------- Release 3.0, 12/17/92 -------------------------
804
 
805
12/17/92 (bug fix) Fixed dangling-pointer bug in canvases that occurred
806
if a  binding deleted the current item.
807
 
808
12/18/92 (bug fix) Core dump occurred if "wm" invoked with no arguments.
809
Also, tkWm.c wasn't properly setting WM_CLASS property on application
810
startup.
811
 
812
12/18/92 (incorrect documentation) Updated manual entries for Tk_FreeGC,
813
Tk_FreeCursor, and Tk_FreeBitmap to reflect new interface that requires
814
"display" argument.
815
 
816
12/18/92 (missing documentation) Added documentation for the canvas
817
"postscript" command, which was missing in the 3.0 release.
818
 
819
12/21/92 (bug fixes) There were lots of problems with the new installation
820
targets in the Makefiles, such as using "cp -f" and not installing
821
prolog.ps.  Made several other miscellaneous improvements to Makefile.
822
 
823
12/21/92 (bug fix) Arrowheads on canvas line items weren't moving properly
824
after coordinate changes made with the "coords" widget command.
825
 
826
12/21/92 (bug fix) If top-level window was initially withdrawn, couldn't
827
ever deiconify it again.
828
 
829
12/21/92 (bug fix) Double-button event sequences didn't always trigger
830
properly when grabs were in effect.
831
 
832
12/22/92 (bug fix) The packer didn't display any top or bottom windows
833
after a left or right expanded window, and vice versa.  Also made the
834
distribution of space among expanded windows more even.
835
 
836
12/28/92 (new features) Several improvements to selection:
837
(a) Added procedures Tk_ClearSelection and Tk_DeleteSelHandler.
838
(b) Added "clear" and "own" options to "selection" command, extended
839
    "handle" option to delete handlers.
840
(c) Error returns from "selection handle" scripts are now turned into
841
    selection retrieval errors ("no such selection") rather than an
842
    empty selection.
843
(d) Tk responds automatically for targets APPLICATION (name of application,
844
    so you can "send" to it) and WINDOW_NAME (name of window within
845
    application.
846
(e) Added test file "select.test" to test suite.
847
 
848
12/28/92 (bug fix) Fixed problem with flashing menus that occurred
849
because menu.tcl was willing to unpost and then immediately repost
850
the same menu.
851
 
852
1/6/93 (bug fix) Test for UnmapNotify events in tkPack.c used = instead
853
of ==.
854
 
855
1/21/93 (bug fix) Changed many widgets to eliminate use of
856
DefaultVisualofScreen, DefaultColormap, etc. and use the visuals
857
and colormaps for the actual windows instead.  Also changed to
858
inherit colormaps and windows from parent by default.
859
 
860
1/21/93 (new features) Added new winfo options "cells", "depth", and
861
"visual".
862
 
863
1/23/93 (bug fix) Fixed problem with text display that could result
864
in negative XCopyArea heights being sent to X server.  This causes some
865
servers (e.g. some versions of OpenWindows) to crash.
866
 
867
1/25/93 (new feature) Added -postcommand option to menus, so that menus
868
can be reconfigured before each posting.
869
 
870
1/29/93 (feature change) Changed %X and %Y in bindings so that they
871
refer to the virtual root rather than the true root.  Although
872
potentially incompatible, this change should almost always "do the
873
right thing".
874
*** POTENTIAL INCOMPATIBILITY ***
875
 
876
1/31/93 (bug fix) Changed "send" code to grab server while updating
877
the registry property (before this fix, two programs could allocate
878
the same interpreter name if they started up simultaneously).  In
879
order to make this fix I had to change the code for reclaiming
880
names of dead interpreters in a way that sometimes allows dead
881
interpreters to persist in the registry.
882
 
883
2/1/93 (feature change) Changed entries to allow leftmost "visible"
884
character to be the end of the text (i.e. no characters actually visible).
885
This is needed so that the cursor can be displayed even if the last
886
actual character is too wide to fit in the window.
887
 
888
2/3/93 (bug fix) Fixed two bugs in tkFocus.c:  (a) FocusIn events
889
were getting lost in some cases because the focus window hadn't been
890
created yet (e.g. new top-level window pops up underneath the mouse);
891
(b) Tk was accidentally triggering FocusOut events when the mouse
892
moved from a top-level window to one of its children.
893
 
894
2/4/93 (new feature) Added "visibility" option to "tkwait" command to make
895
it easier to wait for a new window to appear on the screen.
896
 
897
---------------------- Release 3.1, 2/5/93 -------------------------
898
 
899
2/10/93 (installation improvements) Makefile improvements:  added RANLIB
900
variable for easier Sys-V installation, changed to use INCLUDE_DIR
901
properly, and added SHELL variable for SGI systems.
902
 
903
---------------------- Release 3.2, 2/11/93 -------------------------
904
 
905
2/11/93 (new feature) Added "wm state" command, and improved wm so that
906
the right thing will happen if you invoke "wm iconify" when a window is
907
withdrawn.
908
 
909
2/14/93 (bug fix) When -colormap option was used in generating Postscript
910
for canvases, Tk didn't add an extra space after the color command.
911
 
912
2/14/93 (new feature) Changed "extern" declarations in tk.h to "EXTERN",
913
which will use the definition of EXTERN from tcl.h and work correctly
914
in C++ programs.
915
 
916
2/18/93 (bug fix) Item-specific bindings weren't getting deleted from
917
canvas items when the items were deleted.  As a result, they could
918
suddenly re-appear for new items if the new items were allocated a
919
record at the same addresses as the old ones.
920
 
921
2/18/93 (feature reversal) Changed "after" back again, so that it sleeps
922
*without* responding to events when it is invoked with just one argument;
923
can always use tkwait plus after with additional arguments to achieve
924
the effect of responding to events.
925
*** POTENTIAL INCOMPATIBILITY ***
926
 
927
2/20/93 (bug fix) Fixed bug in tkWindow.c where colormaps weren't being
928
set correctly for new top-level windows on different screens than their
929
parents (the bug results in X protocol errors: "invalid Colormap
930
parameter").
931
 
932
2/22/93 (bug fix) Changed "#!/usr/local/wish" in demo scripts to
933
"#!/usr/local/bin/wish" to reflect new location of binary.
934
 
935
2/22/93 (new feature) Added new reliefs "groove" and "ridge".
936
 
937
2/25/93 (new feature) Added new built-in bitmaps:  "error", "hourglass",
938
"info", "question", "questhead", and "warning".  Also added new demo in
939
"widget" to display all of these (under the Miscellaneous menu).
940
 
941
2/25/93 (improved implementation) Changed DrawText procedure in
942
prolog for outputting Postscript from canvases to use stringwidth
943
instead of charpath+pathbbox:  avoids limitcheck problems with long
944
strings, and also properly includes space characters in calculation.
945
 
946
2/25/93 (bug fix) Fixed several bugs in library/menu.tcl that caused
947
menu traversal to mis-behave when menu had no entries.
948
 
949
2/26/93 (new feature) Added "wm frame" command.
950
 
951
3/6/93 (bug fix) Mwm in click-to-focus mode was goofing up grabs so that
952
pull-down menus were sometimes unresponsive.  Modified tk.tcl to ignore
953
the spurious B1-Enter events generated by mwm, plus modified tkGrab.c to
954
release simulated button grabs correctly.
955
 
956
3/8/93 (bug fix) Tk had wrong interpretation of "lbearing" font metric,
957
which caused text to be displayed at the wrong horizontal position in
958
several places (labels/buttons, listboxes, canvas text, scales).  This
959
change will cause slight changes in the way certain widgets are
960
displayed.
961
 
962
3/12/93 (bug fix) Fixed core dumps that occurred in tkEntry.c because of
963
zero values in entryPtr->avgWidth.
964
 
965
3/12/93 (bug fix) Tk_CoordsToWindow was using root coordinates always.
966
Changed to use virtual-root coordinates when a virtual-root window
967
manager is being used.  Before this fix, "winfo containing" didn't
968
return the correct window under virtual-root window managers.
969
 
970
3/18/93 (bug fix) Modified tkWm.c so that Tk doesn't fight with window
971
manager over position of window;  it just takes what the window manager
972
gives it.
973
 
974
3/21/93 (new feature) Changed menus to display cascade entries with
975
standard Motif arrows at right side.a
976
 
977
3/22/93 (bug fix) Fixed bug in tkPack.c that was causing memory to
978
get trashed with the integer value 1.
979
 
980
3/22/93 (bug fix) Canvas text didn't print correctly if it contained
981
an open paren (or other special character) immediately followed by
982
an octal digit.
983
 
984
3/22/93 (bug fix) Text widgets didn't redisplay properly in cases
985
where two or more groups of lines both got taller at the same time
986
(e.g. from tag changes), causing two separate bit copies where the
987
first bit copy's target area overlapped the source area for
988
the second bit copy.
989
 
990
4/1/93 (bug fix) Changed canvases to use ISO Latin-1 font encoding
991
if that's supported by the Postscript interpreter.  Also added workaround
992
for bug in NeWSprint related to stipple fills.
993
 
994
4/1/93 (bug fixes) Made various changes to focusing and grabs to
995
eliminate extraneous focus events and generally improve behavior.
996
 
997
4/2/93 (bug fix) Modified tkWm.c not to wait indefinitely for the window
998
manager to map or reconfigure a window:  this led to deadlock in some
999
situations, such as creating a new top-level window with a grab held.
1000
 
1001
4/19/93 (bug fix) Fixed another bug in tkWm.c that caused windows to walk
1002
across the screen in some situations.  Also fixed problem where rapid
1003
posting and unposting of cascaded submenus (or menus?) could cause Tk
1004
to become confused about whether or not a window is mapped (added
1005
TkWmUnmapWindow procedure to make top-level unmaps synchronous).
1006
 
1007
4/24/93 (feature change) Changed the "after" command to allow times
1008
less than or equal to 0, and to use 0 whenever they occur.
1009
 
1010
4/26/93 (new feature) Implemented security check for "send" as proposed
1011
by Bennett Todd: incoming sends are now rejected unless (a) xhost-style
1012
access control is enabled and (b) the list of authorized hosts is
1013
empty.  In other words, you have to use xauth to use send.  This feature
1014
can be disabled by setting the TK_NO_SECURITY flag at compile-time.
1015
 
1016
5/15/93 (improvement) Switched to use Tcl_PrintDouble whenever returning
1017
real values as Tcl results.  This potentially allows higher precision.
1018
Switched to use %.15g whenever printing reals in Postscript files.
1019
However, the change Tcl_PrintDouble causes incompatibilities.  For
1020
now, it's disabled with a macro in tclInt.h that redefines Tcl_PrintDouble.
1021
Tk 4.0 will delete the macro, and you can also delete it now if you
1022
want the better (but incompatible) behavior.
1023
 
1024
5/19/93 (bug fix) Fixed divide-by-zero problem that could occur in
1025
closeness calculations for canvas oval items.
1026
 
1027
5/30/93 (bug fix) PROP and CONFIG were accidentally #defined to the same
1028
value in tkBind.c, which could cause incorrect %-substitutions in event
1029
bindings in a few exotic cases.
1030
 
1031
6/4/93 (improvement) Changed to use GNU autoconfig for configuration.
1032
Makefile format changed, and Tcl is no longer automatically included
1033
in Tk releases.
1034
 
1035
6/7/93 (bug fix) Fixed off-by-one error in rounding negative coordinates
1036
during redisplay of canvases.
1037
 
1038
6/9/93 (feature improvement) Modified default bindings for entries to
1039
keep one character visible to the left of the cursor during backspaces.
1040
 
1041
6/18/93 (feature improvement) Added patchlevel.h, for use in coordinating
1042
future patch releases, and also added tk_patchLevel variable to make the
1043
patch level available in scripts.
1044
 
1045
6/26/93 (bug fix) Fixed numeric problems in scales that occurred with
1046
very large scale values.
1047
 
1048
6/26/93 (bug fix) Polygon items in canvases could cause core dumps if
1049
the "coords" widget command was used to add one new coordinate.
1050
 
1051
6/26/93 (bug fix) Changed canvases to handle large stipple patterns
1052
gracefully (stipples used to jump around during redisplay and lose
1053
coherency).
1054
 
1055
7/1/93 (syntax change, new feature) Implemented the new packer syntax
1056
as described in the book.  For now the old syntax will continue to be
1057
supported too.  Converting over is straightforward except (a) use
1058
"-anchor" instead of "frame", and (b) padding is different (separate
1059
internal and external padding, plus pad amounts are *on each side*
1060
instead of total).  Also added "pack propagate" command for keeping
1061
the packer from setting the master's requested size.
1062
 
1063
7/1/93 Changed copyright notices.  The effect is the same as with the
1064
old notices, but the new notices more clearly disclaim liability.
1065
 
1066
7/7/93 (new feature) Added support for window stacking order.  Windows
1067
will now stack in the order created (most recent on top), plus "raise"
1068
and "lower" commands may be used to restack (Tk_RestackWindow procedure
1069
is available from C level).
1070
 
1071
7/7/93 (reorganization) Moved main.c to tkMain.c, reorganized it to
1072
call Tcl_AppInit just like tclsh does, and added argv0 variable to contain
1073
application name, and added default Tcl_AppInit procedure for wish.
1074
Also added tkTest.c to hold C code for testing.
1075
 
1076
7/7/93 (new feature) Added new Tk-specific "exit" command, which cleans
1077
up properly before exiting.  It replaces the Tcl "exit" command, and
1078
can be used in place of "destroy .".
1079
 
1080
7/9/93 (new features) Added tk_dialog library procedure that creates
1081
dialogs with a bitmap, message, and any number of buttons.  Also changed
1082
default tkerror procedure to use tk_dialog plus offer the user a chance
1083
to see a Tcl stack trace.
1084
 
1085
-------------------- Release 3.3 Beta 1, 7/9/93 -------------------------
1086
 
1087
7/12/93 (configuration changes) Eliminated leading blank line in
1088
configure script;  provided separate targets in Makefile for installing
1089
binary and non-binary information; fixed -lnsl and -lsocket handling
1090
in configure; added autoconf support for fd_set type; check for various
1091
typedefs like mode_t and size_t, and provide substitutes if they
1092
don't exist; don't include tkAppInit.o in libtk.a; try to locate the
1093
X includes and library in all of the standard places for various systems.
1094
 
1095
7/14/93 (new feature) Modified tkMain.c so that it stores the value
1096
of the -display command-line option into the DISPLAY environment
1097
variable, if it is specified.
1098
 
1099
7/15/93 (feature removal) Removed auto-initialization feature from
1100
Tk_ConfigureWidget, so that you must once again initialize all fields
1101
of a widget record before calling Tk_ConfigureWidget.  This restores
1102
the behavior back to what it was in Tk 3.2.
1103
 
1104
7/16/93 (bug fix) Modified tkBind.c to ignore the Caps Lock modifier
1105
unless it is explicitly requested in a binding.  Without this fix,
1106
buttons and menus and other things didn't work if the Caps Lock key
1107
was active.
1108
 
1109
-------------------- Release 3.3 Beta 2, 7/21/93 -------------------------
1110
 
1111
7/21/93 (new feature) Change "make install" so that it will modify the
1112
#! lines on demo scripts to reflect the place where the wish binary
1113
is installed.
1114
 
1115
7/23/93 (new feature) Added Tk_MainWindow procedure that returns the
1116
main window associated with a Tcl interpreter.  This is intended for
1117
use by Tcl_AppInit and other initialization procedures.
1118
 
1119
7/24/93 (configuration improvements) Changed configure script not to
1120
omplain about "fd_set" missing if it's defined in .
1121
 
1122
7/28/93 (bug fix) "Bad Match - parameter mismatch" errors were
1123
sometimes occurring when several top-level windows got created
1124
at the same time, due to wrong choice of sibling when stacking
1125
windows.
1126
 
1127
8/14/93 (new feature) Added support for tcl_prompt1 and tcl_prompt2
1128
to wish main program:  makes prompts user-settable.
1129
 
1130
8/19/93 (bug fix) Bindings to event sequences like "aD" never matched
1131
because the Shift key has to be pressed before D.  Modified Tk to
1132
ignore extraneous keypresses if they are for modifier keys.
1133
 
1134
8/26/93 (configuration changes) Added Tk_Init, modified Tcl_AppInit
1135
procedures to use it and Tcl_Init.  Added support for .wishrc file.
1136
 
1137
8/28/93 (new feature) The main window is now a legitimate toplevel
1138
widget.
1139
 
1140
-------------------- Release 3.3 Beta 3, 8/30/93 -------------------------
1141
 
1142
9/2/93 (bug fix) The packer wasn't always relaying out a master after
1143
changes to some of the configuration options of its slaves.
1144
 
1145
9/2/93 (bug fix) The binding mechanism made it impossible for patterns
1146
like  to ever match.
1147
 
1148
9/2/93 (bug fix) Fixed core dump that occurred for bitmap canvas items
1149
if Postscript is generated but no -bitmap option has been specified.
1150
 
1151
9/4/93 (enhancement) Slight improvements to menu traversal:  set menu
1152
traversal bindings for menubar window in tk_menuBar, plus trigger
1153
traversal on  instead of .
1154
 
1155
9/9/93 (bug fix) Changed tkBind.c so that the Num_Lock key doesn't
1156
prevent events from triggering bindings.
1157
 
1158
9/9/93 (bug fix) Changed tkOption.c to always fetch RESOURCE_MANAGER
1159
property from root window of screen 0, rather than using default
1160
screen.
1161
 
1162
9/9/93 (bug fix) Entry widgets weren't allocating quite enough width
1163
for themselves.  Fixed this and changed the size computation to match
1164
what's done for buttons and texts.
1165
 
1166
9/16/93 (bug fix) Changed tkMain.c not to call exit C procedure directly;
1167
instead always invoke "exit" Tcl command so that application can redefine
1168
the command to do additional cleanup.
1169
 
1170
-------------------- Release 3.3, 9/29/93 -------------------------
1171
 
1172
9/30/93 (bug fix) Packer wasn't unmapping slaves when master got deleted.
1173
 
1174
9/30/93 (bug fix) Binding event sequences such as  were being
1175
misprinted as ASCII characters such as "S".
1176
 
1177
10/6/93 (bug fix) Canvases weren't unmapping window items when the canvas
1178
got unmapped, which caused problems for window items whose windows weren't
1179
descendants of the canvas (they got left on the screen).
1180
 
1181
10/7/93 (feature change) NULL proc arguments to Tk_CreateFileHandler used
1182
to have a special undocumented meaning (fd was display);  eliminated this
1183
special interpretation.
1184
 
1185
10/7/93 (configuration change) Eliminated dependency of tkMain.c on
1186
tkInt.h and tkConfig.h, so that it's easier for people to copy the file
1187
out of the source directory to make modified versions.
1188
 
1189
10/8/93 (bug fix) 3.0 introduced a bug where the class of the application
1190
wasn't being set properly, so options based on the application class
1191
weren't triggering.  Fixed by adding new argument to Tk_CreateMainWindow.
1192
 
1193
10/11/93 (bug fix) Fixed bug in tkTextBTree.c where some deletions would
1194
cause core dumps due to halfwayLinePtr not getting set correctly.
1195
 
1196
10/18/93 (bug fix) Fixed a couple of bugs that made it hard to actually
1197
display N characters in an entry with "-width N" (tended to scroll the
1198
entry so that only N-1 characters were visible at once).
1199
 
1200
10/22/93 (bug fix) During configuration, XINCLUDE_DIR and XLIBRARY_DIR
1201
weren't overriding xmkmf like they were supposed to.
1202
 
1203
10/23/93 (new feature) Allow negative scale factors in canvas "scale"
1204
widget command.
1205
 
1206
10/23/93 (bug fix) Grabs weren't being cleaned up right if the grab
1207
window was deleted, causing core-dumps in some cases.
1208
 
1209
10/23/93 (bug fix) tk_TextSelectTo wasn't checking to be sure that
1210
the "anchor" mark exists.
1211
 
1212
10/27/93 (bug fix) Fixed core dump that could occur in a text widget if
1213
the scroll command modifies the text.
1214
 
1215
11/1/93 (bug fix) Change texts so that the -yscrollcommand option is
1216
invoked at display time, not when the window is re-layed out.  This
1217
eliminated various core dumps that could occur if -yscrollcommand modified
1218
the text.
1219
 
1220
-------------------- Release 3.4, 11/04/93 -------------------------
1221
 
1222
Note: there is no 3.5 release.  It was flawed and was thus withdrawn
1223
shortly after it was released.
1224
 
1225
11/12/93 (bug fix) TkMain.c didn't compile on some systems because of
1226
R_OK in call to "access".  Changed to eliminate call to "access".
1227
 
1228
-------------------- Release 3.6, 11/26/93 -------------------------
1229
 
1230
11/10/93 (bug fix) Packer and placer didn't always reposition a window
1231
correctly if it was managed inside a neice or lower descendant (using
1232
"-in" option) and the neice's parent moved.
1233
 
1234
11/24/93 (bug fix) Fixed time problem in selection (retrievals could
1235
fail if retriever hasn't received any X events since selection was
1236
made, so that time of retrieval appears to be older than time of
1237
selection).  Selection code is now much less picky about times, both
1238
on retrieving and supplying sides.
1239
 
1240
12/2/93 (new feature) Changed arrow-head drawing code for canvas
1241
lines to draw a 0-width outline in addition to filling the area:
1242
this produces much nicer, more symmetrical displays.
1243
 
1244
12/2/93 (bug fix) When colors ran out, Tk was invoking "tkerror"
1245
when its state was internally inconsistent, which could cause
1246
core dumps in some situations (e.g. if tkerror used the same color
1247
that caused colors to run out).  Changed notification to occur
1248
as a when-idle handler.
1249
 
1250
12/3/93 (bug fix) During a global grab, Tk wasn't including PointerMotion
1251
in the list of grabbed events, so pointer motion couldn't be tracked
1252
outside the grabbing application.
1253
 
1254
12/3/93 (bug fix) Canvases didn't handle smoothed lines correctly
1255
when they only contained two points.
1256
 
1257
12/3/93 (bug fix) Fixed bug in tkWindow.c where certain kinds of
1258
errors during window creation could cause Destroy events to be generated
1259
for a window that was never completely initialized.
1260
 
1261
12/13/93 (bug fix) Fixed bug in tkTextDisp.c that resulted in core
1262
dumps at line 1467 under exmh.  The exact situation is that a text
1263
widget was being redisplayed at a time when it had a -yscrollcommand
1264
option but hadn't yet been mapped onto the screen.
1265
 
1266
12/17/93 (bug fix) Fixed bug in tkWindow.c whereby new top-level windows
1267
with non-default visuals still inherited border pixmap from parent (root),
1268
which could cause visual clash and X error.
1269
 
1270
12/17/93 (bug fix) Fixed bug in tkTextDisp.c that caused round-off
1271
error in the information passed to scroll commands.
1272
 
1273
12/18/93 (bug fix) Fixed bug in tkPack.c that caused core dumps in
1274
some situations if a master with siblings packed "-in" it was deleted.
1275
 
1276
12/18/93 (bug fix) Added "compat" directory to distribution, since it's
1277
referenced by tkConfig.h on some systems.
1278
 
1279
12/18/93 (performance improvement) Improved performance of appending to
1280
a listbox, so that inserting N items doesn't take N**2 time.
1281
 
1282
12/20/93 (bug fix) Fixed bug in canvas ovals that caused the fill color
1283
for the oval to stick out past the outline.
1284
 
1285
1/2/94 (fixed Xlib bug) Added code to reuse X resource identifiers so
1286
that they won't run out in long running applications.  There are three
1287
new library procedures: Tk_FreeXId, Tk_GetPixmap, and Tk_FreePixmap.
1288
Modified all Tk code to use these procedures, so wish applications should
1289
now be able to run forever without running out of identifiers.
1290
 
1291
1/10/94 (bug fix) tkCursor wasn't freeing pixmaps used to create
1292
cursors, which caused memory leaks in programs that changed cursors
1293
frequently.
1294
 
1295
1/21/94 (bug fix) Fixed bug in scales that caused them to loop
1296
infinitely drawing tick-marks when -from and -to were the same.
1297
 
1298
2/2/94 (bug fix) Fixed problem where messages that contained tabs
1299
didn't always compute the correct size, so that text spilled off
1300
the right edge.  The fix adds an extra "tabOrigin" parameter to
1301
the internal procedures TkMeasureChars, TkDisplayChars, and
1302
TkUnderlineChars.
1303
 
1304
2/4/94 (bug fix) Fixed off-by-one problem in tkBind.c that caused
1305
it to read past the initialized part of dispPtr->modKeyCodes.
1306
 
1307
2/7/94 (bug fix) Text widgets didn't handle grabs correctly, such
1308
that the "current" character got stuck if a grab occurred while a
1309
mouse button was down.  It would get unstuck until after the
1310
next button press and release.
1311
 
1312
2/19/94 (bug fix) Fixed prolog.ps (prolog for Postscript printing from
1313
canvases) so that it correctly prints all of the characters in the
1314
ISO Latin-1 character set.
1315
 
1316
2/19/94 (bug fix) Modified tkBind.c to save and restore the interpreter's
1317
result across the execution of binding scripts.  Otherwise if an event
1318
triggers in the middle of some other script (e.g. a destroy event during
1319
window creation, because there was an error in the creation command),
1320
the intepreter's result gets lost.
1321
 
1322
2/19/94 (bug fix) Fixed bug in dealing with results of sent command
1323
that could cause them to get lost in some situations.
1324
 
1325
2/21/94 (bug fix) Don't let user close a dialog window created by
1326
tk_dialog, since this would cause tk_dialog to hang:  force the user
1327
to select one of the dialog's buttons.
1328
 
1329
2/21/94 (bug fix) Fixed bug in canvas polygons whereby they didn't
1330
correctly handle changes in the number of points (via "coords"
1331
widget command).
1332
 
1333
2/23/94 (bug fix) Large bitmaps in canvases didn't print correctly
1334
because they overflowed the 64-KB limit on strings in Postscript.
1335
Changed canvas printing to split up large bitmaps into mutliple
1336
smaller ones for printing.
1337
 
1338
2/25/94 (bug fix) The "." window was being set up with -width
1339
and -height options, which interfered with geometry management (any
1340
configuration change on "." causes the window to change size to
1341
200x200, then change back again).
1342
 
1343
2/26/94 (bug fix) Fixed several bugs that occurred when a Destroy
1344
event handler for a window deleted the window's parent.
1345
 
1346
3/3/94 (new features) Changes to binding mechanism:
1347
    - The modifiers for "Alt", "Meta", and "M" are now computed by
1348
      examining the modifier map, rather than being hardwired to
1349
      M2, M1, and M1.
1350
    - When processing events, one script is invoked for each object
1351
      in the list passed to Tk_BindEvent, rather than stopping as
1352
      soon as a script is invoked for some object.  The "break" and
1353
      "continue" commands can be used within a script to abort all
1354
      scripts for the event or the current one.
1355
      *** POTENTIAL INCOMPATIBILITY ***
1356
    - Added "bindtags" command so that new binding groups can be
1357
      defined for widgets and the evaluation order can be changed.
1358
    - When matching events to bindings, extra modifiers are now ignored,
1359
      as if "Any" were specified for every event.  The "Any" modifier
1360
      is still recognized, but it is ignored and is deprecated.
1361
      *** POTENTIAL INCOMPATIBILITY ***
1362
    - In % sequences that print window identifiers (e.g. %a and %S), print
1363
      in hexadecimal rather than decimal, for consistence with "winfo id".
1364
      *** POTENTIAL INCOMPATIBILITY ***
1365
    - The "bind" command no longer supports the event types CirculateRequest,
1366
      ConfigureRequest, MapRequest, or ResizeRequest.  These event types
1367
      are somewhat dangerous, and they never worked anyway.
1368
 
1369
3/13/94 (bug fix) Fixed numerous problems with the "wm iconwindow" command.
1370
It appears that this command never really worked at all, but it should
1371
work OK now.
1372
 
1373
3/14/94 (feature changes) Removed several obsolete features:
1374
    - Eliminated "enable" and "disable" widget commands for menus.
1375
      *** POTENTIAL INCOMPATIBILITY ***
1376
    - Eliminated "activate" and "deactivate" widget commands for buttons,
1377
      checkbuttons, radiobuttons, and menubuttons.
1378
      *** POTENTIAL INCOMPATIBILITY ***
1379
    - Removed -geometry option for frames and toplevels:  it causes
1380
      problems when .Xdefaults files contain entries like
1381
      "*geometry: +0+0".  Must use -width and -height instead.
1382
      *** POTENTIAL INCOMPATIBILITY ***
1383
    - Desupported "tkVersion" variable: use "tk_version" instead.
1384
      *** POTENTIAL INCOMPATIBILITY ***
1385
 
1386
3/16/94 (feature changes) Changes to listboxes:
1387
    - Eliminated -geometry option (it causes problems when .Xdefaults
1388
      files contain entries like "*geometry: +0+0").  Added -width
1389
      and -height options to use instead.
1390
      *** POTENTIAL INCOMPATIBILITY ***
1391
 
1392
3/21/94 (bug fix) Fixed bug in tkOption.c where the option cache wasn't
1393
properly cleaned up after window deletion;  this could cause the wrong
1394
value from the option database to be used under some conditions.
1395
 
1396
3/25/94 (new features) Changes to geometry management:
1397
    - Added Tk_MaintainGeometry and Tk_UnmaintainGeometry procedures
1398
      to solve problems with -in windows.  Modified the packer, the
1399
      placer, and canvases to use them.
1400
    - Changed 2nd argument to Tk_ManageGeometry from Tk_GeometryProc *
1401
      to a pointer to a structure with additional information about
1402
      the geometry manager, such as name and procedure to call when
1403
      slaves are stolen.
1404
      *** POTENTIAL INCOMPATIBILITY ***
1405
 
1406
3/28/94 (new feature) Overhauled event management:
1407
    - Added "cancel" option to the "after" command so that you can
1408
      cancel previously-scheduled commands.
1409
    - Separated X-specific stuff from generic event management.  The
1410
      file tkEvent.c can now be used stand-alone without the rest of Tk.
1411
      See the manual entry for Tk_EventInit for information on which
1412
      procedures are available this way.
1413
    - Added Tk_CreateFileHandler2 procedure, which provides a lower-level
1414
      and more powerful form of file event handler.
1415
    - Fixed bug in Tk_DoOneEvent where an infinite loop could occur if
1416
      the TK_FILE_EVENT and TK_DONT_WAIT flags were set simultaneously
1417
      (there were bugs with several other combinations too;  all should
1418
      be fixed now).
1419
 
1420
3/28/94 (new feature) Added "fileevent" command, which allows event-
1421
driven I/O in the style of Mark Diekhans' "addinput" command.
1422
 
1423
4/11/94 (new feature) Better support for colormaps and visuals:
1424
    - Added new -colormap and -visual options to toplevels and frames.
1425
    - Added "winfo visualsavailable" command.
1426
    - Added "wm colormapwindows" command, plus support for WM_COLORMAP_WINDOWS
1427
      to Tk_SetWindowColormap.
1428
    - Added new library procedures Tk_GetVisual, Tk_GetColormap,
1429
      and Tk_FreeColormap.
1430
 
1431
4/11/94 (bug fix) Fixed core dump that used to occur when specifying
1432
an iconwindow ("wm iconwindow") for a toplevel on a different screen
1433
than the main window.
1434
 
1435
4/23/94 (new feature) Added support for images, including the following:
1436
    - New "image" command for creating images.
1437
    - Built-in image type: bitmap.
1438
    - New "image" item type in canvases.
1439
    - Labels, buttons, checkbuttons, radiobuttons, menubuttons, and
1440
      menu entries now support a -image option for displaying images.
1441
    - Tk_CreateImageType and Tk_ImageChanged procedures, for defining
1442
      new types of images in C.
1443
    - Tk_GetImage, Tk_FreeImage, Tk_RedrawImage, and Tk_SizeOfImage
1444
      procedures, for using images in widgets.
1445
 
1446
5/1/94 (new features) Added new procedures Tk_3DVerticalBevel and
1447
Tk_3DHorizontalBevel.
1448
 
1449
5/11/94 (new features) Major overhaul of text widgets:
1450
    - Implemented embedded windows and "window" widget command.
1451
    - Added new configuration options for tags: -justify, -lmargin1,
1452
      -lmargin2, -rmargin, -offset, -spacing1, -spacing2, and -spacing3.
1453
      See the "Display styles" widget demo for examples.
1454
    - Added new configuration options for texts: -spacing1, -spacing2,
1455
      and -spacing3.
1456
    - Added "tagList" option to "insert" widget command to control
1457
      tags on new text.  Made tagged regions so they aren't sticky on
1458
      either side:  new characters get a tag only if the old chars. on
1459
      both sides had it.
1460
      *** POTENTIAL INCOMPATIBILITY ***
1461
    - Added gravity for marks, and "mark gravity" widget command.
1462
    - Added horizontal scrolling, "xview" widget command, -xscrollcommand
1463
      option.  Changed "scan" widget commands to support horizontal
1464
      scrolling.
1465
      *** POTENTIAL INCOMPATIBILITY ***
1466
    - Added "search" widget command for searching (either exact matches
1467
      or regular expressions).
1468
    - New widget commands: bbox, dlineinfo, and see.
1469
    - Changed implementation of bindings so that Enter and Leave
1470
      events are not generated unless the tag has just become present
1471
      (or just ceased to be present) on the current character.  Also
1472
      changed bindings to process separately for each tag, rather than
1473
      having high-priority tags override low-priority ones.
1474
    - The "end" index now refers to the character after the last newline
1475
      rather than the newline itself.  You can now tag the final newline
1476
      and set a mark after the final newline.
1477
    - Deletions of the "sel" tag and the "insert" and "current" marks
1478
      are now ignored silently, rather than generating errors.  This means
1479
      you can do things like "eval .t tag delete [.t tag names]".
1480
 
1481
5/19/94 (bug fix) Canvases didn't generate proper Postscript for stippled
1482
text.
1483
 
1484
5/20/94 (new feature) Added "bell" command to ring the display's bell.
1485
 
1486
5/20/94 (new feature) Incorporated "square" demonstration widget into
1487
tktest application.
1488
 
1489
5/20/94 (new features) Changed wish application (tkMain.c):
1490
    - wish no longer processes the -help option.
1491
      *** POTENTIAL INCOMPATIBILITY ***
1492
    - The wish main program is now called Tk_Main;  tkAppInit.c has a
1493
      "main" procedure that calls Tk_Main.  This makes it easier to use
1494
      Tk with C++ programs, which need their own main programs, and it
1495
      also allows an application to prefilter the argument list before
1496
      calling Tk_Main.
1497
      *** POTENTIAL INCOMPATIBILITY ***
1498
    - The application's class is now the same as its name (except the
1499
      first letter is capitalized), instead of "Tk".
1500
      *** POTENTIAL INCOMPATIBILITY ***
1501
    - The -file keyword is no longer required:  the script file name can
1502
      be provided as the first argument without being preceded by "-file",
1503
      as in tclsh.  For backward compatibility the "-file" keyword is
1504
      ignored if it is the first argument, but it is deprecated.
1505
 
1506
5/26/94 (feature removed) Removed support for "fill" justify mode from
1507
Tk_GetJustify and from the TK_CONFIG_JUSTIFY configuration option.  None
1508
of the built-in widgets ever supported this mode anyway.
1509
*** POTENTIAL INCOMPATIBILITY ***
1510
 
1511
5/27/94 (feature change) Changed Tk to use Tk_PrintDouble everywhere
1512
that it converts reals to strings.  This means that floating-point
1513
values will be generated in some cases where integer-like values were
1514
generated before.
1515
*** POTENTIAL INCOMPATIBILITY ***
1516
 
1517
6/1/94 (feature change) Renamed "pack newinfo" command to "pack info".
1518
The old "pack info" command is no longer available.
1519
*** POTENTIAL INCOMPATIBILITY ***
1520
 
1521
6/20/94 (feature changes) Overhaul of entry widgets:
1522
    - Added "-justify" option.
1523
    - Added "-show" option to make entries easier to use for passwords.
1524
    - Added "cget" widget command.
1525
    - Added "selection range" and "selection present" widget commands.
1526
    - Added "anchor" symbolic index.
1527
    - Changed "-scrollcommand" option to "-xscrollcommand", "view"
1528
      widget command to "xview", for compatibility with other widgets.
1529
      *** POTENTIAL INCOMPATIBILITY ***
1530
    - Changed sel.last to refer to character just *after* last one
1531
      selected, again for compatibility with other widgets.
1532
      *** POTENTIAL INCOMPATIBILITY ***
1533
    - For "delete" widget command, second index now refers to character
1534
      just *after* last one to delete.
1535
      *** POTENTIAL INCOMPATIBILITY ***
1536
    - Overhauled bindings to be more Motif-compatible and to include
1537
      common Emacs bindings for editing.
1538
    - Changed -width option:  if specified as 0, widget sizes to fit
1539
      its current text.
1540
 
1541
6/11/94 (new features) Improved Motif compatibility:
1542
    - Added "-highlightwidth" and "-highlightcolor" options to all widgets.
1543
 
1544
6/27/94 (bug fix) Postscript generation for text items in canvases was
1545
not justifying the text properly when a -width was specified that was
1546
longer than the longest line.
1547
 
1548
6/27/94 (bug fix) "winfo exists" used to report a window as existing
1549
if it was in the process of being destroyed (i.e., a destroy handler
1550
is in the middle of execution).  Changed to report it as non-existent
1551
under these conditions.
1552
*** POTENTIAL INCOMPATIBILITY ***
1553
 
1554
7/11/94 (bug fix) Selections claimed via "selection own" weren't always
1555
being cleared properly when the selection was claimed away.  Also fixed
1556
bug where Tk wasn't properly claiming the selection, if there haven't
1557
been any recent X events at the time of the claim.
1558
 
1559
7/13/94 (feature changes) Overhaul of scrollbar widgets:
1560
    - New widget commands: "activate", "cget", "fraction", and "identify".
1561
    - New options: -activebackground, -activerelief, -highlightcolor,
1562
      -jump, -highlightthickness, and -troughcolor.  What used to be
1563
      -background is now -troughcolor, -foreground is now -background,
1564
      and -activeforeground is now -activebackground.
1565
      *** POTENTIAL INCOMPATIBILITY ***
1566
    - Added new syntax for "set" command, "get" result, and generated
1567
      commands.  Changed other widgets to use the new syntax.
1568
    - Moved the bindings out of C and into Tcl scripts, using the new
1569
      options and widget commands.  Added support for all Motif
1570
      bindings, plus jump scrolling and cancelling of slider drags.
1571
 
1572
7/16/94 (bug fix) Canvases assumed that the Leave event for one item
1573
didn't modify or delete the next current item;  this could cause core
1574
dumps under some conditions.
1575
 
1576
7/23/94 (feature change) Modified Tk_BackgroundError so that tkerror
1577
is invoked as an idle handler.  If tkerror generates a break exception
1578
then all other queued reports are aborted.
1579
 
1580
8/14/94 (bug fix) "cursorOffTime" and "cursorOnTime" were confused in
1581
canvases, resulting in the same time being used for both.
1582
 
1583
8/16/94 (bug fix) "tkwait variable" command didn't detect errors in
1584
variable name, such as trying to wait for an entire array.
1585
 
1586
9/2/94 (new features) Overhaul of scale widgets:
1587
    - Floating-point values are supported now, following Paul Mackerras'
1588
      "fscale" widget.  Added "-resolution" and "-digits" options.
1589
    - Added "-variable" option to link scale to variable, following
1590
      Henning Schulzrinne's implementation.
1591
    - Added focus highlight (-highlightthickness and -highlightcolor
1592
      options).
1593
    - Added new widget commands "cget",  "coords", "identify", plus
1594
      improved "get";  removed wired-in bindings, added complete set
1595
      of Motif bindings via Tcl scripts.
1596
    - Changed -sliderforeground option to -background, -background to
1597
      -troughColor, -activeforeground to -activebackground.
1598
      *** POTENTIAL INCOMPATIBILITY ***
1599
    - Moved value label from below horizontal scales to above the scale,
1600
      for Motif compliance.
1601
 
1602
9/9/94 (bug fix) Fixed bug in tkWm.c that caused long delays in "raise"
1603
command under some conditions (window already at the top of the stack).
1604
 
1605
9/10/94 (new features) Overhaul of label/button/checkbutton/radiobutton
1606
widgets:
1607
    - Added focus highlight (-highlightthickness and -highlightcolor
1608
      options).
1609
    - Added new widget command "cget".
1610
    - Changed -selector option to -selectcolor, and changed its meaning
1611
      too: empty no longer means don't draw the indicator;  it means
1612
      don't use a special color when selected.
1613
      *** POTENTIAL INCOMPATIBILITY ***
1614
    - Added -indicatoron (controls whether indicator is displayed) and
1615
      -selectimage (gives special image to display when selected) options.
1616
    - Modified bindings to be more Motif-like, added binding for space
1617
      key.
1618
    - Changed padding defaults to give widgets correct Motif appearance
1619
      by default.  Also, changed to ignore padding options when displaying
1620
      an image or bitmap.
1621
      *** POTENTIAL INCOMPATIBILITY ***
1622
    - Can now display text on multiple lines:  newlines cause line breaks,
1623
      and word wrapping can be requested with -wraplength option.  Also
1624
      added -justify and -underline options.
1625
    - The -value option for radiobuttons can now have an empty string as
1626
      its value;  it no longer defaults to the name of the widget.
1627
      *** POTENTIAL INCOMPATIBILITY ***
1628
 
1629
9/13/94 (new features) Modified both canvases and messages to support
1630
-highlightthickness and -highlightcolor options plus "cget" widget
1631
command.
1632
 
1633
9/19/94 (new features) Added Tk_UnsetGrid procedure, modified widgets
1634
to use it.  Also changed Tk_SetGrid so that at most one window per
1635
toplevel can have gridding enabled.
1636
 
1637
9/23/94 (new features) Major overhaul of listbox widgets:
1638
    - Added focus highlight (-highlightthickness and -highlightcolor
1639
      options).
1640
    - Added new widget command "cget".
1641
    - Revised selection commands to support single selections as well
1642
      as multiple disjoint selections;  syntax of "selection" widget
1643
      command has changed to support this.  Added new option -selectmode
1644
      for specifying which mode to use.  Default is single selection;
1645
      tk_listboxSingleSelect procedure no longer exists.  Selections
1646
      now return as items separated by newlines instead of a list whose
1647
      elements are the items.
1648
      *** POTENTIAL INCOMPATIBILITY ***
1649
    - Extended "get" widget command to allow many items to be retrieved
1650
      at once.
1651
    - Added "bbox" widget command for finding position of an element on
1652
      screen.
1653
    - Added "activate" command to mark element with traversal focus.
1654
    - Extended index mechanism to support new types of indices:
1655
      "active", "anchor", "@x,y".
1656
    - Added "see" widget command.
1657
    - Revised bindings to include all Motif features except for AddMode.
1658
    - If -width or -height option is <= 0, the widget requests a size just
1659
      large enough to hold all of its text.
1660
 
1661
10/6/94 (new features) Overhaul of menubuttons:
1662
    - Added focus highlight (-highlightthickness and -highlightcolor
1663
      options).
1664
    - Added new widget command "cget".
1665
    - Added -indicatoron option to display option menu indicator.
1666
    - The -menu option must be a child of the menubutton.
1667
      *** POTENTIAL INCOMPATIBILITY ***
1668
 
1669
10/6/94 (new features) Overhaul of menu widgets:
1670
    - Added new widget commands "cget" and "entrycget".
1671
    - Changed the implementation of tear-off menus to be more
1672
      Motif-like;  added -tearoff option for specifying whether
1673
      tearoff entry is displayed.
1674
    - Changed interpretation of "@y" index:  it now returns the
1675
      closest entry, rather than "none" if y is outside the menu's
1676
      range.
1677
      *** POTENTIAL INCOMPATIBILITY ***
1678
    - The -menu option for a cascade entry must now be a child of
1679
      the menu.
1680
      *** POTENTIAL INCOMPATIBILITY ***
1681
    - Added "type" widget command, so that you can query the type of
1682
      an entry.
1683
    - Added -foreground, -activeforeground, -selectcolor, -indicatoron,
1684
      -image, and -selectimage options to menu entries.
1685
    - Changed "selector" menu option to "selectColor" for Motif compliance.
1686
      *** POTENTIAL INCOMPATIBILITY ***
1687
    - Added -relief option for menus, just for consistency with other
1688
      widgets (it was implicitly "raised" before).
1689
 
1690
10/6/94 (feature change) Completely overhauled the bindings for menus
1691
and menubuttons.  They now fit better with other Tk 4.0 facilities,
1692
such as the new binding mechanism, and they provide better Motif
1693
compliance (e.g. keyboard traversal of submenus).  Also, the bindings
1694
now support option menus, popup menus, and proper Motif tear-off
1695
menus.
1696
 
1697
10/6/94 (obsolete features) The procedures tk_menuBar and
1698
tk_bindForTraversal are no longer needed in Tk 4.0.  They still exist
1699
for compability, but they do nothing.
1700
 
1701
10/6/94 (new procedures) Added "tk_popup" procedure for posting a
1702
popup menu, and "tk_optionMenu" for creating an option menubutton
1703
and its associated menu.
1704
 
1705
10/6/94 (change in name) The variable "tk_priv" has been renamed
1706
to "tkPriv" to reflect that fact that it is private to Tk now.
1707
This shouldn't cause any problems, since no-one except Tk should
1708
have been using it before anyway (right?).
1709
 
1710
10/6/94 (bug fix) Fixed bug in texts where sometimes the text would
1711
stop tracking mouse motion (the "current" item wouldn't get updated)
1712
because the text widget missed a ButtonRelease event.
1713
 
1714
10/20/94 (new features) Overhauled selection code to support multiple
1715
selections (primary, secondary, etc.) and multiple displays:
1716
    - Changed "selection" command to support new options such as
1717
      "-displayof" and "-selection".  Old command formats are still
1718
      supported for compatibility, but they are no longer documented
1719
      and are deprecated.
1720
    - Changed procedures Tk_GetSelection, Tk_CreateSelHandler, and
1721
      Tk_ClearSelection to take additional "selection" argument.
1722
      *** POTENTIAL INCOMPATIBILITY ***
1723
    - Selection targets APPLICATION and WINDOW_NAME have been replaced
1724
      by TK_APPLICATION and TK_WINDOW.
1725
      *** POTENTIAL INCOMPATIBILITY ***
1726
 
1727
10/20/94 (new features) Added support for clipboard:
1728
    - New "clipboard" command.
1729
    - C procedures Tk_ClipboardClear and Tk_ClipboardAppend.
1730
    - Bindings for "cut", "paste", and "copy" for text and entry widgets,
1731
      plus "copy" binding for listboxes.
1732
 
1733
10/24/94 (bug fix) Button widgets weren't checking for errors when
1734
setting the values of associated variables.
1735
 
1736
11/3/94 (bug fix) Fixed bug whereby Tk would hang if "exit" was invoked
1737
from inside a  binding.
1738
 
1739
11/15/94 (new features) Overhaul of focus mechanism:
1740
    - Added support for multiple displays:  separate focus windows are
1741
      kept for each display.
1742
    - Added support for keyboard traversal.
1743
    - Changed focus model so Tk keeps track of a focus window for each
1744
      top-level window and automatically sets the focus on Enter to the
1745
      top-level.  Tk no longer synthesizes FocusIn and FocusOut events,
1746
      but just uses the standard X mechanisms.  There is no "default"
1747
      focus window anymore; the focus reverts to top-levels by default.
1748
      *** POTENTIAL INCOMPATIBILITY ***
1749
    - Changed focus command:  eliminated "focus default" and "focus none",
1750
      added "-displayof" and "-lastfor" options.  An empty string is now
1751
      used to signify "no focus" instead of "none".
1752
      *** POTENTIAL INCOMPATIBILITY ***
1753
    - Added library procedures tk_focusNext, tk_focusPrev, and
1754
      tk_focusFollowsMouse.
1755
    - Removed obsolete Tk_CreateFocusHandler:  must use FocusIn and
1756
      FocusOut events now.
1757
      *** POTENTIAL INCOMPATIBILITY ***
1758
 
1759
11/23/94 (new features) Overhaul of "send" command:
1760
    - Added support for multiple displays: -displayof option to "send".
1761
    - Added asynchronous sends: -async option to "send".
1762
    - Eliminated fixed timeouts on sends:  as long as the target
1763
      application appears to exist, the send will wait for it.
1764
    - Stale entries get removed from the application registry now,
1765
      so "winfo interps" should never return non-existent applications.
1766
    - Can change the name of an application with "tk appname" command.
1767
      This is also the preferred way of querying the application name
1768
      now.
1769
    - The errorCode and errorInfo variables are now propagated back to
1770
      the sender now, so a full stack trace is available.
1771
    - Tk checks display security on each send now, instead of just during
1772
      initialization, so changes in the security status are seen immediately
1773
      by all applications.
1774
    - The above changes required changes to the data formats used for
1775
      communication between source and target applications, so Tk 4.0
1776
      applications cannot send to, or be sent from, Tk 3.6 applications.
1777
      *** POTENTIAL INCOMPATIBILITY ***
1778
    - The procedure Tk_RegisterInterp has been replaced with Tk_SetAppName.
1779
      *** POTENTIAL INCOMPATIBILITY ***
1780
 
1781
12/6/94 (cleanup) Eliminated "interp" argument to Tk_GetColorByValue,
1782
since it is no longer needed.
1783
*** POTENTIAL INCOMPATIBILITY ***
1784
 
1785
12/7/94 (feature change) Changed the "wm" command so that top-level
1786
windows are now resizable by default.  You can no longer specify
1787
empty arguments to "wm maxsize" and "wm minsize".
1788
*** POTENTIAL INCOMPATIBILITY ***
1789
 
1790
12/8/94 (new feature) Added new "photo" image type using code provided
1791
by Paul Mackerras:  currently supports only PPM "P6" format images.
1792
 
1793
12/14/94 (new features) Canvas modifications:
1794
    - Modified the interfaces between generic canvas code and the item
1795
      types so that it's easy for people to write new item types outside
1796
      of Tk.
1797
    - Added support for transparent bitmap items:  just specify an
1798
      empty string as the background color.
1799
    - Changed the "xview" and "yview" commands for canvases to use the
1800
      new scrolling syntax.
1801
    - Eliminated -scrollincrement option.
1802
      *** POTENTIAL INCOMPATIBILITY ***
1803
 
1804
12/14/94 (bug fix) Fixed bug where the dimensions of canvas arrowheads
1805
scaled during a "scale" widget command, but the scaling was only
1806
temporary and got lost on the next re-configure of the item.  The
1807
correct behavior is for the arrowheads not to scale.
1808
 
1809
-------------------- Release 4.0b1, 12/23/94 -------------------------
1810
 
1811
12/26/94 (bug fix) Removed obsolete demos from Makefile (color, dialog,
1812
size), fixed "install" target.
1813
 
1814
1/3/95 (bug fix) Fixed all procedure calls to explicitly cast arguments:
1815
implicit conversions from prototypes don't work when compiling under
1816
non-ANSI compilers.  Tk is now clean under gcc -Wconversion.
1817
 
1818
1/4/95 (bug fix) Used "screenX" without ever setting it in DisplayText
1819
in tkCanvText.c:  caused tabs in canvas text items to get messed up.
1820
 
1821
1/4/95 (bug fix) Canvases forgot to register the built-in types if
1822
Tk_CreateItemType was called before a canvas widget was created.
1823
 
1824
1/4/95 (bug fixes) Fixed glitches in various text bindings:
1825
    - Up used to do nothing if the cursor was at 2.0.
1826
    - Right used to make the cursor invisible if it was just before
1827
      the final newline of the text.
1828
    - Control-t didn't conform to Emacs;  made it conform to GNU Emacs.
1829
    - Deleted Control-x binding, since it doesn't conform to anything and
1830
      is confusing for Emacs users.
1831
 
1832
1/4/95 (bug fixes) Changed Control-t for entries just as for texts (see
1833
above) an deleted Control-x for entries (see above).
1834
 
1835
1/4/95 (bug fix) The packer didn't map slaves unless the master was mapped;
1836
this could cause slaves to get "lost" so that they weren't mapped until the
1837
master resized.
1838
 
1839
1/5/95 (bug fix) Scrollbars weren't executing the proper code the first time
1840
the mouse entered the widget;  this caused problems if tk_strictMotif was
1841
set.
1842
 
1843
1/6/95 (bug fix) Fixed label/button/checkbutton/radiobutton/menubutton
1844
widgets to allow arbitrary screen distances when specifying -width and
1845
-height for an image or bitmap (the manual pages already documented this
1846
but the code didn't implement it).
1847
 
1848
1/6/95 (new feature) Added very primitive support for input methods,
1849
as suggested by Martin Forssen.  This should be enough for European
1850
character sets (Compose key) but it isn't near enough for Asian
1851
character sets.
1852
 
1853
1/8/95 (bug fix) Fixed problem in canvas "xview" and "yview" commands
1854
where divide-by-zero errors could sometimes occur.
1855
 
1856
1/8/95 (bug fix) New event handler didn't properly handle files for
1857
which both TK_READABLE and TK_WRITABLE were specified.
1858
 
1859
1/11/95 (bug fix) Fixed bug with text selections:  was returning count
1860
too high for data, causing bogus garbage to appear when selection was
1861
copied.
1862
 
1863
-------------------- Release 4.0b2, 1/12/95 -------------------------
1864
 
1865
1/27/95 (feature removal) Removed %D substitution from binding scripts:
1866
wasn't portable, shouldn't be used anyway.
1867
*** POTENTIAL INCOMPATIBILITY ***
1868
 
1869
1/27/95 (new features) Added -displayof options to the commands
1870
"winfo atom", "winfo atomname", "winfo containing", "winfo interps",
1871
and "winfo pathname".
1872
 
1873
1/27/95 (new feature) Added "idle" option to "after" command to run
1874
scripts as idle handlers.
1875
 
1876
1/28/95 (new feature) Modified placer to make -x and -relx additive
1877
if you specify both.  Same for -y and -rely, -width and -relwidth,
1878
and -height and -relheight.  This makes it easy to make request such
1879
as "make .a 2 pixels larger than .b".
1880
*** POTENTIAL INCOMPATIBILITY ***
1881
 
1882
1/28/95 (new feature) Improved auto-grab mechanism in canvases (which
1883
prevents current item from changing while a button is down):  changed
1884
to report Enter and Leave events for the current item while a button
1885
is down.  However, as before, no Enter events are reported for other
1886
items until the button goes up.
1887
 
1888
1/28/95 (new feature) Bitmap images are now transparent if the -background
1889
is specified as an empty string (-maskdata and -maskfile are ignored in
1890
this case).  This is also the default.
1891
 
1892
1/28/95 (bug fix) Tk didn't support manufacturer- or site-specific keysyms
1893
such as SunAudioMute.  Modified tkBind.c so that it uses XStringToKeysym
1894
in addition to its own hash table, so that all keysyms are now available.
1895
 
1896
1/30/95 (feature change) Modified "clipboard append" so that it reclaims
1897
the clipboard selection if it had been previously lost, rather than just
1898
generating an error.  This handles certain race conditions more cleanly,
1899
and also allows the use of programs like "xclipboard".
1900
 
1901
1/30/95 (new feature) Added -xscrollincrement and -yscrollincrement
1902
options to canvases.
1903
 
1904
1/31/95 (bug fix) Geometry management was broken if a particular geometry
1905
manager claimed a slave away from itself.
1906
 
1907
1/31/95 (bug fix) Fixed bug in tkVisual.c where a visual with fewer bits
1908
than requested was being selected in preference to one with just the right
1909
number of bits.
1910
 
1911
1/31/95 (bug fix) Texts weren't redisplaying the padding region properly
1912
after changes in -padx or -pady.
1913
 
1914
1/31/95 (new features) More text improvements:
1915
    - Extended "insert" widget command for texts to allow multiple
1916
      text-tagList pairs in the same command.
1917
    - Added -nocase option to "search" widget command.
1918
    - Added -overstrike option to tags.
1919
    - Added tab stops, via -tabs option for widget and for tags.
1920
 
1921
2/10/95 (bug fix) Modified all widgets to allow renaming of widget
1922
commands.  Deleting a widget command will delete the widget.
1923
 
1924
2/11/95 (new feature) Added -highlightbackground option to all widgets.
1925
 
1926
2/14/95 (new feature) Added "insert" widget command for menus.
1927
 
1928
2/15/95 (new feature) Modified text display code (for all widgets) to
1929
display well-known control characters like newline and backspace as
1930
\n or \b instead of \xa.
1931
 
1932
2/15/95 (bug fix) Modified bitmap and photo image managers to delete
1933
the image command when the image is deleted.  Also modified them to
1934
allow renaming of the image command, and to delete the image if the
1935
image command is deleted.
1936
 
1937
2/15/95 (bug fix) Fixed text widgets to allow horizontal scrolling
1938
even if wrapping was enabled, if a line isn't entirely visible due to
1939
a large character or embedded window.
1940
 
1941
2/16/95 (feature change) Added "postcascade" widget command to menus,
1942
changed "invoke" and "activate" not to post or unpost submenus.  Also
1943
fixed bug in redisplay that tended to leave bits of garbage on menu
1944
when submenu unposted.
1945
*** POTENTIAL INCOMPATIBILITY ***
1946
 
1947
2/16/95 (feature removal) Removed "snap back" behavior (slider
1948
snaps back to old position if you move the mouse outside the widet
1949
before releasing the button) from scrollbars and scales.
1950
 
1951
2/16/95 (bug fix) The last line of a listbox wasn't being displayed if
1952
it was only partially visible.
1953
 
1954
2/16/95 (new features) Added support for "-resolution 0" (no rounding
1955
of values) to scale widgets, plus smarter computation of how many digits
1956
to display.
1957
 
1958
2/17/95 (bug fix) Fixed bug in text bindings for things like Shift-Left:
1959
didn't properly set the anchor position.
1960
 
1961
2/20/95 (bug fix) Changed management of COLORMAP_WINDOWS property to
1962
add the toplevel implicitly to the end of the list if it wasn't already
1963
on the list somewhere.  Without this, some window managers implicitly
1964
put it at the front of the list, so that colormaps in internal windows
1965
are never used.
1966
 
1967
2/20/95 (bug fix) Changed to use separate command procedures for
1968
button, checkbutton, label, and radiobutton commands.  This allows the
1969
class commands to be renamed without breaking their behavior.
1970
 
1971
2/20/95 (removed feature) The "bind" command no longer supports
1972
"Keymap" events;  they never worked anyway.
1973
 
1974
2/20/95 (bug fix) The text "search" widget command looped infinitely
1975
when searching an empty text.
1976
 
1977
2/20/95 (bug fix) Canvases weren't redrawing their borders after
1978
configuration changes.
1979
 
1980
2/20/95 (upgrade) Changed to use autoconf version 2.2.
1981
 
1982
2/21/95 (bug fix) Fixed several bug fixes in menu bindings that occur
1983
when menus have no entries.
1984
 
1985
2/21/95 (bug fix) Fixed bug in geometry management that caused windows
1986
packed -in siblings to not always be mapped and unmapped properly
1987
(particularly when the toplevel got unmapped and mapped).
1988
 
1989
2/22/95 (bug fix) Fixed resource leak problem in tkTextDisp.c that
1990
caused embedded windows not to be unmapped when off-screen.
1991
 
1992
2/23/95 (bug fix) "After cancel" dumped core when the script for an
1993
after event cancelled itself.
1994
 
1995
2/24/95 (bug fix) Text and entry widgets weren't properly ignoring
1996
Alt-, Control-, and Meta- keystrokes, so a widget-specific binding
1997
for one of these resulted in the character also being inserted.
1998
 
1999
2/24/95 (bug fix) Several widgets accidentally performed unsigned
2000
division on negative numbers, thereby losing the sign bit.  This
2001
mostly affected the display of images and bitmaps in buttons,
2002
menubuttons, and messages.
2003
 
2004
2/24/95 (feature reversal) Restored old behavior of %A so that it
2005
returns non-printing characters as well as printing ones now.
2006
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
2007
 
2008
2/24/95 (bug fix) Duplicate "leave" events could occur for canvas
2009
items under some conditions, due to recursive calls to PickCurrentItem.
2010
Added code to detect and skip the nested calls.
2011
 
2012
2/24/95 (bug fix) Fixed bug where an error could occur during the first
2013
keystroke in an application if its binding invoked "break".
2014
 
2015
2/25/95 (new feature) Modified syntax of "search" widget command for
2016
texts.  The -nowrap switch and the "variable" final argument are no
2017
longer supported.  Instead, there is a -count switch to replace
2018
the final argument;  if the final argument is specified, it is now
2019
a stopping index for the search.  The features of -nowrap can be
2020
achieved now with the stopping index.
2021
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
2022
 
2023
2/27/95 (bug fix) Fixed problem that appears to prevent keyboard
2024
input for working under IRIX:  tkBind.c was ignoring XmbLookupString
2025
calls that returned a status of XLookupBoth.
2026
 
2027
2/27/95 (new feature) Added Tk_GetItemTypes procedure to return
2028
information about available canvas item types.
2029
 
2030
2/27/95 (feature change) Changed Makefile to always use install-sh
2031
for installations:  there's just too much variation among "install"
2032
system programs, which makes installation flakey.
2033
 
2034
2/27/95 (bug fix) Fixed bug in tkSend.c that caused core dumps if
2035
the app's main window was destroyed by a destroy handler on a
2036
child.
2037
 
2038
3/5/95 (feature change) Change separator character used in "bind +..."
2039
bindings from semi-colon to newline (permits bindings that are
2040
comments, for what that's worth).
2041
 
2042
3/7/95 (bug fix/feature change) Overhauled focus code, both in C
2043
and in Tcl:
2044
    - Tk won't move the X focus in response to the "focus" command
2045
      unless either the application already has the focus or the
2046
      -force switch is specified.
2047
    - Tk no longer sets the X focus to anything other than top-levels;
2048
      it synthesizes events for FocusIn and FocusOut to children.
2049
    - A window no longer has to be viewable when focussed to;  Tk will
2050
      set the X focus later, when the window becomes viewable.
2051
    - Added -takefocus option to all widgets.
2052
    - Rewrote tk_focusPrev and tk_focusNext to use the -takefocus option.
2053
      These procedures no longer set the focus;  they just return the
2054
      next window in focus order.
2055
      *** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
2056
    - Eliminated tk_focusContinue.
2057
      *** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 ***
2058
 
2059
3/8/95 (new feature, bug fix) Added support for tk_strictMotif variable
2060
in C:  Tk_StrictMotif library procedure.  Modified buttons, menubuttons,
2061
menus to use it.  This fixes the problem with menus not supporting
2062
tk_strictMotif properly in Tk4.0b1 and b2.
2063
 
2064
3/16/95 (feature overhaul) Overhauled color management:
2065
    - Changed Tk so it never denies a color request because a colormap
2066
      filled up.  Instead, it allocates the closest available color.
2067
    - Eliminated "color model" mechanism.  The "tk colormodel" command
2068
      is gone, as are the procedures Tk_GetColorModel and Tk_SetColorModel.
2069
      *** POTENTIAL INCOMPATIBILITY ***
2070
    - Changed 3D border implementation to allocate colors for shadows
2071
      lazily, so they're never allocated if they're never used.  Also
2072
      added new feature whereby stippling is used for borders when
2073
      the colormap has run out of entries.  Changed arguments to many
2074
      of Tk_3D C procedures to take a Tk_Window as argument instead of
2075
      a (Display *).  This is needed to do lazy color allocation.
2076
      *** POTENTIAL INCOMPATIBILITY ***
2077
    - Eliminated colormap argument to Tk_GetColor, Tk_GetColorByValue,
2078
      and Tk_Get3DBorder.
2079
      *** POTENTIAL INCOMPATIBILITY ***
2080
 
2081
3/16/95 (feature change) Event bindings created from Tcl will now ignore
2082
Enter, Leave, FocusIn, and FocusOut events with detail NotifyInferior.
2083
This is done in anticipation of mega-widgets, so that the user of a
2084
mega-widget can create Enter/Leave bindings on the mega-widget without
2085
seeing spurious events as the mouse moves among the windows in the
2086
mega-widget.
2087
*** POTENTIAL INCOMPATIBILITY ***
2088
 
2089
3/17/95 (feature change) Changed C interfaces throughout Tk to use ints
2090
instead of unsigneds:  the unsigneds turn out to cause subtle problems
2091
with arithmetic in some places, and using ints everywhere is just
2092
simpler.
2093
*** POTENTIAL INCOMPATIBILITY ***
2094
 
2095
3/23/95 (bug fix) Selections longer than 4000 bytes were being
2096
truncated to 4000 bytes.
2097
 
2098
-------------------- Release 4.0b3, 3/24/95 -------------------------
2099
 
2100
3/25/95 (bug fix) Changed "install" to "./install" in Makefile so that
2101
"make install" will work even when "." isn't in the search path.
2102
 
2103
3/25/95 (bug fix) Modified Tk's selection mechanism to prevent core
2104
dumps in other applications during retrievals of large selections
2105
(this is actually a bug in the other apps, but I've patched Tk to
2106
keep it from getting triggered).
2107
 
2108
3/25/95 (bug fix) Fixed bug where X window for "." wasn't being
2109
deleted.
2110
 
2111
3/27/95 (bug fix) Fixed many bugs associated with having more than
2112
one application in a single process.
2113
 
2114
3/28/95 (bug fix) The "search" widget command for texts didn't
2115
return the correct index and count if there were embedded widgets
2116
on the same line as the returned range but before the end of
2117
the range.
2118
 
2119
3/28/95 (bug fix) Changed pasting via button 2 in text and entries
2120
so that it inserts at the pointer location, not the location of
2121
the insertion cursor.
2122
 
2123
3/28/95 (bug fix) Fixed several bugs related to  bindings
2124
that delete ancestors in the window hierarchy.  Also eliminated
2125
extraneous calls to XDestroyWindow, which speeds up window deletion
2126
by about 3x.
2127
 
2128
3/28/95 (bug fix) Several widgets (buttons, menubuttons, menus) didn't
2129
properly handle image deletions that occurred while the widget was
2130
being deleted (caused core dumps).
2131
 
2132
3/29/95 (bug fix) When retrieving long selections from text widgets,
2133
parts of lines were getting duplicated in the selection information.
2134
 
2135
4/1/95 (bug fix) Fixed bug that caused infinite loop in horizontal
2136
scales with 0 range.
2137
 
2138
4/1/95 (bug fix) Fixed problem with -command option for scrollbars and
2139
-takefocus option that caused commands to be evaluated in the wrong
2140
context.
2141
 
2142
4/1/95 (bug fix) Fixed problem with option database that caused it to
2143
sometimes use the wrong option (wasn't flushing the database properly
2144
after a change in a window's class).
2145
 
2146
4/1/95 (bug fix) If a line in a text widget just barely fit in the window,
2147
Tk was allocating a second screen line just for the newline character.
2148
 
2149
4/1/95 (new feature) When backspacing in an entry widget, when you reach
2150
the left edge of the widget, the insertion cursor gets recentered.
2151
 
2152
4/1/95 (new features) Added "winfo pointerx" and "winfo pointery" commands
2153
to fetch the current pointer position.
2154
 
2155
4/6/95 (bug fix) If the last line of a text widget was only partially
2156
visible, it was counted as visible for purposes of the scrollbar.  Now
2157
it is treated as if it were off-screen for scrolling purposes.
2158
 
2159
4/6/95 (new feature) Modified "bell" command to reset screen saver as well.
2160
 
2161
4/6/95 (feature change) Modified menu scanning (where menus pull down
2162
as you drag across their menubuttons) so it only works among menus
2163
in the same toplevel;  it used to work for any menubuttons in the
2164
application.
2165
 
2166
4/6/95 (bug fix) Canvas text items weren't allowing real numbers in
2167
"@x,y" notation for specifying indices.
2168
 
2169
4/7/95 (bug fix) Menus didn't display correctly when -activeborderwidth
2170
was large.
2171
 
2172
4/7/95 (bug fix) Changed "clipboard append" command to support -- option
2173
and to always treat the last argument as data, even if it starts with
2174
"-".
2175
 
2176
4/17/95 (new feature) Added -wrap option to text tags.
2177
 
2178
4/18/95 (bug fix) Listboxes and texts weren't updating their grid information
2179
when -width or -height changed.
2180
 
2181
4/18/95 (bug fix) "Down" didn't work right in text widgets if the last
2182
line was only partially visible in the window.
2183
 
2184
4/19/95 (bug fix) Listboxes didn't handle partially visible last lines
2185
right:  couldn't scroll it into full visibility, for example.
2186
 
2187
4/20/95 (bug fix) If a toplevel was positioned with a command like
2188
"wm geometry . -0-0", the window didn't reposition itself to maintain
2189
that geometry after a size change.
2190
 
2191
4/21/95 (feature change) Changed order of binding tags so widget bindings
2192
fire before class bindings.  New order is: widget, class, toplevel, all.
2193
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 ***
2194
 
2195
4/23/95 (new feature) Added "winfo colormapfull" command.
2196
 
2197
4/23/95 (new feature) Buttons and radiobuttons and checkbuttons now
2198
treat Return the same as Space, unless tk_strictMotif is set.
2199
 
2200
4/23/95 (bug fix) Modified menu tear-off procedure to duplicate the
2201
binding tags and bindings of the original in the copy.
2202
 
2203
4/25/95 (bug fix and feature change) Modified mechanism for choosing
2204
"best" visual to fix a bug where depth wasn't really getting highest
2205
priority in all situations.
2206
 
2207
4/28/95 (bug fix) Failed text searches starting at "end" could result
2208
in an infinite loop in Tk.
2209
 
2210
4/30/95 (new feature) Added "wm resizable" command to enable and
2211
disable interactive resizing.
2212
 
2213
4/30/95 (new feature) Added "window names" widget command to texts:
2214
returns a list of all embedded windows.
2215
 
2216
5/2/95 (feature change) Changed text searches so that forward searches
2217
start at the given index, rather than the character just after the
2218
given index.
2219
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 ***
2220
 
2221
5/4/95 (bug fix) Default bit gravity for windows was wrong (it was
2222
ForgetGravity) causing unnecessary flashing when windows were resized.
2223
 
2224
5/4/95 (feature change) Modified Tk_DoOneEvent so that it doesn't
2225
sleep if there's nothing that will wake it up again (e.g. no file
2226
or timer handlers).  Returns 0 immediately.
2227
 
2228
5/5/95 (configuration change) Changed to use BSDgettimeofday instead
2229
of gettimeofday on systems like IRIX where BSDgettimeofday is
2230
available.  This avoids compilation problems due to the different
2231
interface to gettimeofday provided by IRIX.
2232
 
2233
5/5/95 (feature change) Changed binding mechanism so that all bindings
2234
are created immediately at initialization time, rather than waiting
2235
until the first FocusIn or Enter event for a class.
2236
 
2237
5/6/95 (feature change) Changed default text for labels, buttons,
2238
checkbuttons, radiobuttons, menubuttons, and messages from " " to
2239
"".
2240
 
2241
5/6/95 (bug fix) If the application was destroyed in the middle of
2242
an "update" command, Tk would dump core.
2243
 
2244
5/6/95 (bug fix) Changed manual entries to use the standard .TH
2245
macro instead of a custom .HS macro;  the .HS macro confuses index
2246
generators like makewhatis.
2247
 
2248
5/6/95 (bug fix) Change "wm iconwindow" command to disable button
2249
presses for the icon window.  This is needed so that the window
2250
manager can get those events (X only allows button presses to go
2251
to one client for a given window).
2252
 
2253
5/9/95 (new feature) When specifying visuals, can now use "best"
2254
with a depth, e.g. "-visual {best 8}" to get the best 8-bit visual.
2255
 
2256
5/18/95 (bug fix) Fixed bug with -spacing* options for text widget:
2257
screen distances weren't allowed, only integers.
2258
 
2259
5/20/95 (bug fix) Eliminated memory leaks in tkTextDisp.c and elsewhere.
2260
 
2261
5/22/95 (color change) Changed the Tk color palette to a gray scheme.
2262
Also added a library procedure tk_setPalette that makes it easy to
2263
change colors on the fly, and a procedure tk_bisque that restores the
2264
previous light brown scheme.
2265
 
2266
5/28/95 (bug fix) Modified canvases so that the -width and -height
2267
options refer to the space inside the borders, not the total widget
2268
space.  Also changed "xview" and "yview" commands and scroll-increment
2269
rounding to use the pixel just inside the borders, rather than (0,0).
2270
 
2271
5/28/95 (bug fix) Several widgets (e.g. entries, buttons, and menus)
2272
didn't properly handle unsets of variables they were tracing, if the
2273
variables were reference through upvars in procedures.
2274
 
2275
6/4/95 (bug fix) The placer wasn't rounding window widths right when
2276
both -relx and -relwidth were specified (or -rely and -relheight) so
2277
that rounding errors accumulated.
2278
 
2279
6/4/95 (feature improvement) Change parsing of text indices to handle
2280
weird mark and tag names better (e.g. any string ending with ".first"
2281
will now be parsed as a tag name, even if it contains embedded spaces,
2282
etc.).
2283
 
2284
6/4/95 (feature change) If a font defines glyphs for control characters,
2285
they are now displayed, instead of translating the character to a
2286
backslash sequence (however, tabs and newlines are still treated
2287
specially;  glyphs are not displayed for these characters).
2288
 
2289
6/4/95 (bug fix) Modify the implementation of "raise" and "lower" for
2290
toplevels so that it now works under olwm and olvwm.  It didn't use to
2291
work, and the problem is really in the window manager, but Tk now
2292
patches around it.  However, only "total" raises and lowers work:
2293
raising and lowering relative to a sibling still don't work under
2294
olvwm and olwm.
2295
 
2296
6/4/95 (feature change) Modified tab code in texts so that a tab always
2297
occupies at least as much space as a space character.
2298
 
2299
6/4/95 (bug fix) The "%t" substitution wasn't being made properly in
2300
Enter and Leave event bindings.
2301
 
2302
6/7/95 (new feature) Added support for GIF images.  Unfortunately it's
2303
a bit fragile:  certain kinds of badly formed images can cause core
2304
dumps;  I don't know enough about the GIF reader (taken from giftoppm)
2305
to figure this out.
2306
 
2307
6/7/95 (bug fix and feature change) Fixed PPM image reader to be more
2308
flexible about header formats, and added support for PGM images.
2309
 
2310
6/7/95 (feature change) Added -outlinestipple option to canvas arc
2311
items, changed "-style arc" to use -outline as the color instead of
2312
-fill (the old approach was pretty quirky).
2313
*** POTENTIAL INCOMPATIBILITY ***
2314
 
2315
6/8/95 (feature change) Modified interface to Tk_Main to pass in the
2316
address of the application-specific initialization procedure.
2317
Tcl_AppInit is no longer hardwired into Tk_Main.  This is needed
2318
in order to make Tcl a shared library.
2319
 
2320
6/8/95 (feature change) Modified Makefile so that the installed versions
2321
of wish and libtk.a have version number in them (e.g. wish4.0 and
2322
libtk4.0.a) and the library directory name also has an embedded version
2323
number (e.g., /usr/local/lib/tk4.0).  This should make it easier for
2324
Tk 4.0 to coexist with earlier versions.
2325
 
2326
6/9/95 (new feature) Added -outline and -width options to canvas polygon
2327
items.
2328
 
2329
6/9/95 (feature changed) Renamed -decimate in photo widget to -subsample
2330
(decimate wasn't technically correct).
2331
*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 ***
2332
 
2333
-------------------- Release 4.0b4, 6/16/95 -------------------------
2334
 
2335
6/19/95 (bug fix) Colors weren't being rounded correctly in canvas
2336
Postscript generation: caused "white" to appear slightly gray when
2337
the display of the canvas used only 8 bits per color.
2338
 
2339
6/20/95 (bug fix) "bbox" widget command for texts didn't return
2340
proper width for tabs.
2341
 
2342
6/20/95 (bug fix) Scrollbars didn't always work right for texts:
2343
couldn't scroll all the way to the bottom of the text in a single
2344
drag of the slider.
2345
 
2346
6/20/95 (new feature) Added "delta" widget command for scrollbars
2347
(needed for above bug fix).
2348
 
2349
6/23/95 (bug fix) Listboxes weren't properly redisplaying their
2350
borders when the were configured to a smaller size.
2351
 
2352
6/23/95 (new feature) Added "winfo server" command.
2353
 
2354
6/23/95 (bug fix) If a menu was posted, couldn't switch to another
2355
menu with an Alt- key.
2356
 
2357
6/24/95 (new feature) Added "winfo pointerxy" command.
2358
 
2359
6/25/95 (bug fix) Tk_ParseArgv referenced beyond the end of 0-length
2360
option names.
2361
 
2362
6/25/95 (bug fix) Fixed problem in tkOption.c where "cachedWindow"
2363
could get garbage in it if the main window's class was changed by
2364
calling Tk_SetClass.
2365
 
2366
6/25/95 (bug fix) Fixed two bugs in menus, one where errors in
2367
variable traces weren't propagated correctly and one where "invoke"
2368
was invoked at the wrong stack level, with the result that variable
2369
traces didn't have access to the right variables.
2370
 
2371
6/27/95 (bug fix) tk3d.c wasn't using all the right information
2372
when deciding whether or not to stipple borders, so it stippled
2373
borders even on 16-bit true-color displays.
2374
 
2375
6/28/95 (bug fix) Page up and down operations in texts could cause
2376
insertion cursor to drift to the right.  Changed tkTextScrollPages
2377
to use upper-left corner of current character, rather than center
2378
of character.
2379
 
2380
6/28/95 (bug fix) Changed text widget so that you can't put the
2381
insertion cursor after the last newline in the text.
2382
 
2383
6/28/95 (bug fix) Bitmap images didn't allow ~'s in file names.
2384
 
2385
6/28/95 (bug fix) Fixed problem that could cause core dumps in the
2386
text widget when dealing with embedded windows (there were problems
2387
if the act of redisplaying caused the window layout to change, which
2388
can happen with embedded windows).
2389
 
2390
6/28/95 (bug fix) Texts didn't handle indices with double negatives,
2391
such as ".t mark set insert {insert + -20 chars}".
2392
 
2393
6/28/95 (bug fix) Fixed problem where focus didn't always revert to
2394
its prior window after a dialog box was dismissed.
2395
 
2396
6/28/95 (bug fix) Fixed problem with "search" widget command returning
2397
incorrect length on some backwards regexp searches.
2398
 
2399
6/28/95 (bug fix) Successive "wm iconbitmap . {}" commands could cause
2400
a core dump.
2401
 
2402
6/29/95 (new feature) Added -elementborderwidth option for scrollbars
2403
so the -borderwidth can be set to 0 without flattening the arrows and
2404
slider.
2405
 
2406
-------------------- Release 4.0, 7/1/95 -------------------------
2407
 
2408
7/18/95 (bug fix) %t in event bindings didn't work properly for some
2409
events (e.g. PropertyNotify).
2410
 
2411
7/18/95 (bug fix) Changed "exec wish" lines in demo scripts to
2412
"exec wish4.0" to avoid version conflicts.
2413
 
2414
7/18/95 (bug fix) Fixed round-off errors in scrolling for texts,
2415
canvases, listboxes, and entries.  The error could cause the view
2416
to shift up in a command like "$w yview moveto [lindex [$w yview] 0]".
2417
 
2418
7/19/95 (bug fix) Canvases weren't always redrawing borders correctly
2419
when they became unobscured.  There were also some problems with
2420
improper refresh after size changes.
2421
 
2422
7/19/95 (bug fix) Fixed bug in text index processing that causes
2423
tests textIndex-11.1 and textIndex12.1 to fail on some platforms.
2424
 
2425
7/19/95 (bug fix) Fixed bug where 2-second delays were ocurring during
2426
"raise" and "lower" commands for toplevel windows under some window
2427
managers (such as fvwm).
2428
 
2429
7/20/95 (bug fix) Text searches were misbehaving when there were embedded
2430
windows on the starting line of the search.  The most common symptom is
2431
that Tk would fail to find a match at the starting position for the
2432
search.
2433
 
2434
7/22/95 (bug fix) Fixed core dump that could occur in menus if a checkbutton
2435
entry's -variable option referred to an array (or couldn't be read
2436
by the menu C code for some other reason).
2437
 
2438
7/22/95 (bug fix) Text widgets didn't update their scrollbars when
2439
changes were made to information that was off-screen.
2440
 
2441
7/25/95 (bug fix) Fixed core-dump in tkListbox.c that used to happen
2442
in the command ".l bbox end" if the listbox was empty.
2443
 
2444
7/25/95 (bug fix) Page-up and page-down bindings for listboxes didn't
2445
move active element to remain on the screen.
2446
 
2447
7/25/95 (bug fix) Patched around H-P compiler problem that results in
2448
core-dumps in tkImgPhoto.c during image handling.
2449
 
2450
7/25/95 (bug fix) Fixed bug in tkImgPhoto.c that caused core dumps
2451
(during Tk self-tests and other image uses) on AIX and other machines
2452
where "schar" in tkImgPhoto.c was being defined as "short" instead of
2453
"char".
2454
 
2455
7/26/95 (bug fix) The PPM image reader couldn't handle maximum intensity
2456
values other than 255.
2457
 
2458
7/26/95 (bug fix) Canvases didn't redraw their borders when the relief
2459
changed from raised to flat.
2460
 
2461
7/27/95 (bug fix) Canvases didn't set the scrolling values correctly
2462
when no scroll region was specified.
2463
 
2464
7/28/95 (bug fix) Modified menu and tk_dialog scripts to restore any
2465
old grab that might have been in effect before a menu or dialog was
2466
posted.
2467
 
2468
----------------- Released patch 4.0p1, 7/29/95 ----------------------
2469
 
2470
8/4/95 (bug fix) Calls to toupper and tolower weren't using the UCHAR
2471
macro, so they didn't always work in non-U.S. locales. (JO)
2472
 
2473
8/14/95 (new feature) Added -tearoffcommand option for menus.
2474
 
2475
8/16/95 (bug fix) Canvases didn't generate proper Enter and Leave
2476
events if the Leave handler for an item reconfigured the canvas in
2477
a way that made the old current item the new current item again. (JO)
2478
 
2479
8/21/95 (bug fix/feature change) When -takefocus was a script, Tk
2480
was allowing window viewability to override it.  Changed so that
2481
viewability is now ignored when -takefocus is a script. (JO)
2482
 
2483
8/21/95 (bug fixes) Fixed memory leaks in tkSend.c, tkSelect.c, and
2484
tkUnixWm.c (JO).
2485
 
2486
8/21/95 (bug fix) Text widgets didn't handle commands like
2487
".t search -backwards foo end 1.0" properly:  never found foo. (JO)
2488
 
2489
8/23/95 (new feature) Added Makefile and configure.in support for
2490
dynamic loading. (JO)
2491
 
2492
8/25/95 (bug fix) The "frame" and "toplevel" commands couldn't safely
2493
be renamed, due to a kludgy way that they shared a single command
2494
procedure.  Split into separate procedures. (JO)
2495
 
2496
8/25/95 (bug fix) Fixed bug in libary/menu.tcl that caused "grab
2497
window not visible" errors for popup menus (and perhaps elsewhere?). (JO)
2498
 
2499
8/25/95 (bug fix / new feature) The "gray25" bitmap was really only
2500
12.5% on, not 25%.  Added new "gray12" bitmap that is the same as the
2501
old "gray25".  "Gray25" is still supported for compatibility, but its
2502
use is deprecated. (JO)
2503
 
2504
8/25/95 (bug fix) Scrollbar bindings didn't properly handle case where
2505
B2 is clicked while B1 is already down. (JO)
2506
 
2507
8/26/95 (bug fix) Menus were ignoring -activebackground if tk_strictMotif
2508
was set, but not -activeforeground.  Changed to ignore both. (JO)
2509
 
2510
8/26/95 (bug fix) Scales and scrollbars didn't properly handle a
2511
-repeatdelay value of 0 (they shouldn't auto-repeat in this case). (JO)
2512
 
2513
8/28/95 (bug fix) Tcl errors were occurring for tkPriv(oldGrab) when
2514
clicking on a disabled option menu. (JO)
2515
 
2516
8/28/95 (bug fix) Changed event-handling code to use FD_SETSIZE instead
2517
of OPEN_MAX, since OPEN_MAX is incorrect on some systems (e.g., IRIX). (JO)
2518
 
2519
8/28/95 (bug fix) Fixed bug in photo images that caused garbling of
2520
image data in the "put" and "copy" commands if the source data had
2521
only one scan line but had a width less than the width of the target
2522
image. (JO)
2523
 
2524
8/29/95 (bug fix) Tk used to refuse to post menus if they had no
2525
entries.  This made it impossible for a menu to fill itself the first
2526
time it is posted.  Changed to allow menus with no entries to be
2527
posted. (JO)
2528
 
2529
8/30/95 (bug fix) If there was extra space at the bottom of a menu,
2530
it wasn't being redisplayed properly.
2531
 
2532
8/30/95 (new feature) Added -transient option to menus.
2533
 
2534
8/30/95 (new features) Added proper button 2 support to both scrollbars
2535
and scales (it sets the slider position from the mouse position). (JO)
2536
 
2537
8/30/95 (bug fix) Fixed potential core dump that could occur in
2538
photo images (ReadPPMFileHeader could overflow buffer under some bad
2539
inputs, such as certain GIF images). (JO)
2540
 
2541
8/30/95 (bug fix) Errors of the form `syntax error in expression "!"'
2542
could occasionally happen in tkScaleDrag. (JO)
2543
 
2544
8/31/95 (new feature) Changed man page installation (with "mkLinks"
2545
script) to create additional links for manual pages corresponding to
2546
each of the procedure and command names described in the pages. (JO)
2547
 
2548
9/1/95 (new feature) Added "after info" command.  Also added checks
2549
so that one interpreter can't cancel another's "after" events. (JO)
2550
 
2551
9/8/95 (bug fix) Fixed bug that could cause memory corruption and core
2552
dumps if a "fileevent" handler was deleted while the handler was
2553
active. (JO)
2554
 
2555
9/11/95 Reorganized Tk sources for Windows and Mac ports.  All sources
2556
are now in subdirectories:  "generic" contains sources that work on all
2557
platforms, "windows", "mac", and "unix" directories contain platform-
2558
specific sources.  (SS)
2559
 
2560
9/11/95 (new feature) Added new  "notifier" mechanism to allow multiple
2561
implementations of the mechanisms for finding out about events.  This
2562
change was necessary to support Mac and PC platforms, but it may also
2563
allow other goodies such as combining Xt and Tk widgets in a single
2564
application.  See the new manual entry Notifier.3 for details. (SS)
2565
 
2566
9/11/95 (feature change) Changed interface to Tk_RestrictProc so that
2567
(a) it takes a clientData argument instead of display and arg, and
2568
(b) it returns a value that can ask for the event to be discarded as well
2569
as deferred or processed. (SS)
2570
*** POTENTIAL INCOMPATIBILITY ***
2571
 
2572
9/11/95 (new feature) Added TK_WINDOW_EVENTS #define, which is equivalent
2573
to TK_X_EVENTS but is now preferred, since it applies to all platforms. (SS)
2574
 
2575
9/11/95 (feature change) Can't export variables anymore because this doesn't
2576
work under Windows DLLs.  Eliminated tk_NumMainWindows variable and replaced
2577
with procedure Tk_GetNumMainWindows. (SS)
2578
*** POTENTIAL INCOMPATIBILITY ***
2579
 
2580
9/11/95 (new feature) Added procedure Tk_PreserveColormap to increment
2581
the reference count on colormaps.  Used in photo widgets. (SS)
2582
 
2583
----------------- Released patch 4.0p2, 9/15/95 ----------------------
2584
 
2585
----------------- Released 4.1a1, 9/15/95 ----------------------
2586
 
2587
9/22/95 (renamed files) Changed the names of the bitmap images in the
2588
$tk_library/demos/images directory to use the .bmap file extension.  (RJ)
2589
 
2590
9/22/95 (bug fix) Fixed bug where text widgets could occasionally
2591
display the insertion cursor both at the end of one line and the
2592
beginning of the next. (JO)
2593
 
2594
9/25/95 (bug fix) Fixed bug that could cause core dumps when an
2595
application uses multiple screens and a binding destroys the main
2596
window (bind code was using MainInfo structure after it had been
2597
freed). (JO)
2598
 
2599
9/25/95 (bug fix) Text widgets sometimes scrolled backwards on
2600
occasion if you dragged down past the bottom of the scrollbar. (JO)
2601
 
2602
9/25/95 (bug fix) Fixed bug in menus where a cascaded submenu posted
2603
from a torn-off menu could be left posted if mouse was pulled off the
2604
end of the cascade and released. (JO)
2605
 
2606
9/25/95 (new feature) Added "--" switch to wish, so that you can
2607
pass arguments like -n through to a script without having wish
2608
interpret them. (JO)
2609
 
2610
9/25/95 (bug fix) Fixed core dump that could occur for radiobuttons
2611
and selectbuttons if -selectcolor was an empty string. (JO)
2612
 
2613
9/26/95 (bug fix) Entries didn't used to notice if a trace procedure
2614
on the -textvariable overrode a new value set by the entry.  This
2615
could cause the variable to get out of sync with the contents of the
2616
entry. (JO)
2617
 
2618
9/26/95 (new feature) Added -sliderrelief option to scales, changed
2619
default bindings to change the slider's relief to sunken while it's
2620
being dragged with the mouse. (JO)
2621
 
2622
9/26/95 (bug fix) TkColor.c wasn't computing colormap size correctly;
2623
could result in X Protocol error for QueryColors when colormaps run
2624
out of colors. (JO)
2625
 
2626
9/26/95 (bug fix) Wish couldn't handle script files with spaces in
2627
their names. (JO)
2628
 
2629
9/27/95 (cosmetic clean-up) Removed extraneous spaces to make error
2630
messages consistent: ":  should be" is now ": should be". (JO)
2631
 
2632
9/27/95 (feature change)  Modified tk_dialog so that it uses the
2633
option database for the -wraplength option on the message.  This
2634
allows the option to be overridden by the caller. (JO)
2635
 
2636
9/28/95 (bug fix) Wish incorrectly parsed the command line under
2637
Windows, causing backslashes to be substituted. (SS)
2638
 
2639
9/28/95 (bug fix) Wish now sources wishrc.tcl instead of .wishrc. (SS)
2640
 
2641
9/28/95 (bug fix) Tk_DoOneEvent returned 0 under some circumstances
2642
when it was possible to find more work to do.  For example, if a
2643
signal interrupted select(), but no event handlers were triggered, it
2644
would return 0 even though it could still detect events by reentering
2645
select().  (SS)
2646
 
2647
9/29/95 (bug fix) "winfo interps" caused a crash under Windows. (SS)
2648
 
2649
10/1/95 (feature change) Eliminated Tk_NotifyIdle interface in favor of
2650
Tk_IdlePending. (SS)
2651
 
2652
10/1/95 (bug fix) Turned motion event collapsing into an idle handler
2653
so it will be easier to move the event loop into Tcl. (SS)
2654
 
2655
10/1/95 (bug fix) Fixed several problems with negative coordinates
2656
in canvases.  One example:  dragging a canvas rectangle with a wide
2657
border and fractional coordinates could leave junk on the screen
2658
if the rectangle was in negative coordinate space. (JO)
2659
 
2660
10/2/95 (bug fix) Tk was improperly handling Enter/Leave events
2661
during a button grab. (SS)
2662
 
2663
10/2/95 (new feature) Added support for the Macintosh do script
2664
('dosc') event.  Available only on the Macintosh.  (RJ)
2665
 
2666
10/4/95 (new feature) Added support for compiling with VC++.
2667
Resulting binaries work under Win32s through NT.
2668
 
2669
----------------- Released 4.1a2, 10/6/95 ----------------------
2670
 
2671
10/10/95 (new feature) Macintosh Tk now supports the complete set
2672
of X cursors that Unix Tk supports. (RJ)
2673
 
2674
10/11/95 (bug fix) Tk now supports all of the X11 cursors under
2675
Windows.  (SS)
2676
 
2677
10/11/95 (bug fix) The "wm resizable" command was missing from the
2678
Windows version of Tk. (SS)
2679
 
2680
10/12/95 (bug fix) Macintosh Tk had problems with clipping toplevel
2681
windows that children of any frame other than another toplevel. (RJ)
2682
 
2683
10/13/95 (bug fix) Eliminated dependency on MKS toolkit for generating
2684
the tk.def file from Borland object files. (SS)
2685
 
2686
10/16/95 (bug fix) Fixed clipping and update problems relating to
2687
the raising and lowering of overlapping windows on Mac. (RJ)
2688
 
2689
10/30/95 (bug fix) When focus-follows-mode (invoked via tk_focusFollowsMouse),
2690
was focussing on windows even in situations where keyboard traversal would
2691
skip the window.  Changed to use the tkFocusOK procedure so that the
2692
criteria for focussing are the same in both modes. (JO)
2693
 
2694
11/2/95 (bug fix) Changed listbox bindings to ignore double-clicks.
2695
This avoids errors that used to occur if a user defined a binding
2696
for double-click that deleted the listbox. (JO)
2697
 
2698
11/3/95 (feature change) Moved most of the Tk event loop to Tcl.  Many
2699
Tk_ names have become Tcl names now:
2700
 
2701
TK_READABLE =>          TCL_READABLE
2702
TK_WRITABLE =>          TCL_WRITABLE
2703
TK_EXCEPTION =>         TCL_EXCEPTION
2704
TK_DONT_WAIT =>         TCL_DONT_WAIT
2705
TK_WINDOW_EVENTS =>     TCL_WINDOW_EVENTS
2706
TK_FILE_EVENTS =>       TCL_FILE_EVENTS
2707
TK_TIMER_EVENTS =>      TCL_TIMER_EVENTS
2708
TK_IDLE_EVENTS =>       TCL_IDLE_EVENTS
2709
TK_ALL_EVENTS =>        TCL_ALL_EVENTS
2710
Tk_IdleProc =>          Tcl_IdleProc
2711
Tk_FileProc =>          Tcl_FileProc
2712
Tk_TimerProc =>         Tcl_TimerProc
2713
Tk_TimerToken =>        Tcl_TimerToken
2714
Tk_BackgroundError =>   Tcl_BackgroundError
2715
Tk_CancelIdleCall =>    Tcl_CancelIdleCall
2716
Tk_CreateFileHandler => Tcl_CreateFileHandler
2717
Tk_CreateTimerHandler =>Tcl_CreateTimerHandler
2718
Tk_DeleteFileHandler => Tcl_DeleteFileHandler
2719
Tk_DeleteTimerHandler =>Tk_DeleteTimerHandler
2720
Tk_DoOneEvent =>        Tcl_DoOneEvent
2721
Tk_DoWhenIdle =>        Tcl_DoWhenIdle
2722
Tk_Sleep =>             Tcl_Sleep
2723
tkerror =>              bgerror
2724
 
2725
Other than the name changes, the functions are the same.  In addition,
2726
there are #defines in tk.h so that the old Tk names will still work.
2727
tkerror and bgerror are specially hacked as synonyms, so it should be
2728
safe to use either one.  You should switch to the new Tcl names ASAP,
2729
though, since the old Tk names will eventually be desupported. (JO)
2730
 
2731
11/7/95 (features removed) As part of moving the event loop to Tcl,
2732
the following procedures were deleted:
2733
    - Tk_EventInit (the presence of the event loop in Tcl should
2734
      make this unneccessary).
2735
    - Tk_CreatFileHandler2 (you can get the same effect by using event
2736
      sources in Tcl, but you have to modify your code to use the new
2737
      Tcl APIs).
2738
    - All of the stuff in the manual entries Notifer.3 and QueueEvent.3;
2739
      this has changed because the notifier got reworked when it was
2740
      moved to Tcl.
2741
*** POTENTIAL INCOMPATIBILITY ***
2742
 
2743
11/7/95 (feature change)  Changed to use exit handler to cleanup windows
2744
in Tk, so Tk no longer needs to have a private copy of the "exit" command.
2745
(JO)
2746
 
2747
11/7/95 (bug fix) If wish was invoked with a command-line geometry and
2748
a script file (e.g. "wish foo.tcl -geometry 30x20"), and if one of
2749
the windows created by the script used the -setgrid option, then the
2750
width and height from the command line were lost. (JO)
2751
 
2752
11/8/95 (bug fix) The "see" command didn't work quite right for texts:
2753
if the window was small and you try to "see" a line just offscreen,
2754
Tk centered the line (actually, mis-centered it) when it should have
2755
aligned it at the top or bottom. (JO)
2756
 
2757
11/9/95 (bug fix) The "send" command crashed if you tried to send to
2758
a different display with "-displayof". (JO)
2759
 
2760
11/9/95 (bug fix) The Symbol font didn't print right in Postscript
2761
output, because of changes made to re-encode fonts to get proper
2762
ISO Latin1 behavior.  Changed the code not to re-encode the Symbol
2763
font. (JO)
2764
 
2765
11/13/95 (bug fix) Fixed Makefile.in and configure.in for UNIX so that
2766
configure can be run from a clean directory separate from the Tcl source
2767
tree, and compilations can be performed there. (JO)
2768
 
2769
11/17/95 (bug fix) If a window was gridded, Tk still computed the
2770
default maximum dimensions in pixel units, which resulted in windows
2771
that could grow much larger than the screen. (JO)
2772
 
2773
11/17/95 (bug fix) If a menus entries were all disabled, posting
2774
the menu and typing Up or Down caused an infinite loop, locking
2775
up the screen (JO).
2776
 
2777
11/19/95 (bug fix) The focus wasn't being restored properly after a
2778
menu selection in a cascaded menu. (JO)
2779
 
2780
11/19/95 (bug fix) Menubutton's didn't stipple display their images
2781
differently when disabled.  Change to have the same behavior as buttons:
2782
the image is stippled over in the background color when the menubutton
2783
is disabled. (JO)
2784
 
2785
11/21/95 (bug fix) Changes in display attributes such as font could
2786
cause core dumps in the text widget under some circumstances involving
2787
line wrapping. (JO)
2788
 
2789
11/22/95 (bug fix/new feature)  Changed both the placer and the packer
2790
to ensure that slaves are unmapped whenever the master is unmapped.
2791
This saves time that slaves might otherwise spend trying to redisplay
2792
themselves when they're unmapped. (JO)
2793
 
2794
11/22/95 (bug fix) Space and return keys didn't work for menus if
2795
they were posted via Alt-x keystrokes. (JO)
2796
 
2797
11/24/95 (bug fix) tk_dialog procedure had binding for  that
2798
always activated default binding, even if input focus was in some
2799
other binding.  Removed this feature, since existing focus support
2800
will already "do the right thing".  (JO)
2801
 
2802
11/24/95 (bug fix) Both canvases and texts could dump core if a binding
2803
(such as ButtonRelease on an internal item) deleted the widget. (JO)
2804
 
2805
11/24/95 (feature change) Replaced "configInfo" file with tkConfig.sh,
2806
which is more complete and uses slightly different names.  Also
2807
arranged for tkConfig.sh to be installed in the platform-specific
2808
library directory. (JO)
2809
 
2810
11/24/95 (bug fix) It was possible for a slave to be placed or packed
2811
-in itself, with unpleasant consequences.  It is now an error for the
2812
slave to be its own master for geometry management. (JO)
2813
 
2814
11/25/95 (bug fix) The -command option of scales was sometimes being
2815
invoked spuriously (e.g. when the mouse moved in the scale without a
2816
button down).  This was because the scale wasn't rounding properly
2817
when setting the scale value from its associated variable. (JO)
2818
 
2819
----------------- Released patch 4.0p3, 11/28/95 ----------------------
2820
 
2821
12/18/95 (feature change) Moved Tk_Preserve, Tk_Release, and
2822
Tk_EventuallyFree to Tcl, renamed to Tcl_Preserve etc.  Added #defines
2823
to tk.h so that the old names still work.  (JO)
2824
 
2825
12/23/95 (bug fix) If a single process had > 1 Tk application, Tk
2826
didn't guarantee that the application names were unique, which could
2827
cause all sorts of confusion with "send".  (JO)
2828
 
2829
12/23/95 (feature change) Eliminated Tk_CreateMainWindow and moved
2830
all of its functionality to Tk_Init.  All that you need to do now
2831
to get Tk in an application is to call Tk_Init.  Improved Tk_Init
2832
so that -colormap and -visual command-line arguments are now passed
2833
through to TkCreateFrame.  Tk_Main is much simpler now, since a lot
2834
of its functionality has moved to Tk_Init. (JO)
2835
*** POTENTIAL INCOMPATIBILITY ***
2836
 
2837
12/23/95 (new feature) Added support for Tcl_StaticPackage so
2838
that Tk can now be loaded into slave interpreters with the "load"
2839
command to create new applications. (JO)
2840
 
2841
12/23/95 (new features) Added support for -colormap and -visual command-
2842
line options for wish. (JO)
2843
 
2844
1/4/95 (bug fix) Fixed keyboard code to properly handle alt-key
2845
sequences for international keyboards and menu-accelerators. (SS)
2846
 
2847
1/5/96 (bug fix) Scrollbar code sometimes generated errors on accesses
2848
to tkPriv(relief) during control-clicks. (JO)
2849
 
2850
1/9/96 (new feature) added the "grid" command to provide a table based
2851
geometry manager. (SU)
2852
 
2853
1/12/96 (performance optimization) Changed the way tag information is kept
2854
in the text's Btree so the cost of adding and removing tag ranges is no longer
2855
proportional to the number of unique tags in the text.  In the old system
2856
the cost of adding N unique tags was O(N-squared).  The new implementation is
2857
optimized for tags that only cover a small amount of text, measuring from
2858
their earliest tag range to the end of their last range.  In the best case the
2859
cost of adding a tag range is unrelated to the number of unique tags, so the
2860
cost of adding N tags is only O(N).  In the worst case, where all tags
2861
cover all the text, the cost is still O(N-squared) to add N such tags.
2862
Deleting tags still has an O(N) cost (so deleting N tags is O(N-squared),
2863
but it is now a factor of 2 faster than the old system. (BW)
2864
 
2865
1/12/96 (new feature) added the text "dump" operation that returns information
2866
about all elements in a text widget: text, tags, marks, and windows. (BW)
2867
 
2868
1/12/96 (new feature) added the text "mark next" and "mark previous" operations
2869
to search forward and backwards for the next (previous) mark in the text. (BW)
2870
 
2871
1/12/96 (new feature) added the text "tag prevrange" operation to search
2872
backwards for the current or previous range of a tag. (BW)
2873
 
2874
1/16/96 (new feature) Added support for relative widget placement on
2875
the "grid" command. (SU)
2876
 
2877
1/17/96 (new feature) Modified the Makefile/configure setup to support
2878
compiling Tk as a shared library.  Use the --enable-shared option to
2879
the "configure" script. (JO)
2880
 
2881
----------------- Released 4.1b1, 1/26/96 -----------------------
2882
 
2883
2/2/96 (bug fix) Frames were getting a default size of 200x200, whereas
2884
there should be no default. (JO)
2885
 
2886
2/2/96 (bug fix) Argc wasn't getting reset properly after Tk removed
2887
the arguments it understood from those on the command line. (JO)
2888
 
2889
2/6/96 (bug fix) Fixed off by one error in argument parsing code under
2890
Windows. (SS)
2891
 
2892
2/6/96 (bug fix) "wm transient" now works under Windows.  The resulting
2893
toplevel is created with a modal dialog box frame and will not appear
2894
in the taskbar under Windows '95. (SS)
2895
 
2896
2/9/96 (bug fix) Changed Makefile.in to use -L and -l for Tcl and Tk
2897
libraries so that shared libraries are more likely to be found correctly
2898
on more platforms. (JO)
2899
 
2900
2/14/96 (feature change) Eliminated tk_CanvasTagsOption variable because
2901
it can't be exported safely across DLL boundaries.  Instead, exported
2902
Tk_CanvasTagsParseProc and Tk_CanvasTagsPrintProc procedures for
2903
use by canvas type managers in creating their own custom options. (JO)
2904
*** POTENTIAL INCOMPATIBILITY ***
2905
 
2906
2/14/96 (bug fix) "winfo pointerxy" when applied to a non-toplevel window
2907
crashed wish.  (SS)
2908
 
2909
2/14/96 (bug fix) "tkwait visibility" would hang under Windows. (SS)
2910
 
2911
2/14/96 (bug fix) Cursors were not being updated until an enter event.
2912
In cases where the cursor left the toplevel and reentered before Tk
2913
noticed, the cursor would get "stuck" until the next enter event.
2914
Similarly, if the cursor attribute of a window was updated while the
2915
mouse was in the window, the cursor would not change until the next
2916
time the mouse entered the window. (SS)
2917
 
2918
2/15/96 (bug fix) If a top-level was resizable in one direction
2919
(e.g. "wm resizable . 0 1"), once the user resized it any changes
2920
in the internally requested size (by the widgets) were ignored,
2921
even for the non-resizable dimension.  Fixed to handle the two
2922
dimensions totally independently, so the widget's requests are
2923
honored as long as that dimension hasn't been set by the user. (JO)
2924
 
2925
2/17/96 (bug fix) If a text widget had very long lines (e.g. more than
2926
32K pixels), integer overflow could occur, resulting in parts of the
2927
line not being visible. (JO)
2928
 
2929
2/20/96 (feature change) Changed the -minsize option of grid to take
2930
screen units instead of pixels. (SU)
2931
 
2932
2/20/96 (bug fix) grid row and column weights are compared against
2933
MINWEIGHT (0.001) instead of 0.0 to guard against divide by zero errors
2934
during weight normalization. (SU)
2935
 
2936
2/20/96 (bug fix) Menu commands were not being invoked sometimes.
2937
There was a race condition that caused events to be processed while a
2938
menu was being unposted. (SS)
2939
 
2940
----------------- Released 4.1b2, 2/23/96 -----------------------
2941
 
2942
2/23/96 (bug fix) Alt-keys invoked in torn-off and popped up menus
2943
caused menus to be posted in the parent toplevel. (JO)
2944
 
2945
2/23/96 (bug fix) Canvases weren't always updating their scrollbars
2946
when they should. (JO)
2947
 
2948
2/23/96 (bug fix) Fixed core dump that could occur if a WM_DELETE_PROTOCOL
2949
handler generated an error. (JO)
2950
 
2951
2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile:
2952
this caused problems on some platforms (like Linux?). (JO)
2953
 
2954
2/24/96 (feature change) Changed text and entry widgets so that they
2955
set the insertion cursor before inserting during a button-2 click.
2956
Also made optional bindings check for tk_strictMotif at the time of
2957
the event, rather than at the time the bindings are created. (JO)
2958
 
2959
2/24/96 (bug fix) Tk tended to crash with an X error when unsetting
2960
an icon window (e.g. "wm iconwindow . {}"). (JO)
2961
 
2962
2/25/96 (bug fix) Wasn't removing windows from the WM_COLORMAP_WINDOWS
2963
property when they were deleted.  (JO)
2964
 
2965
3/1/96 (new feature) Added new "bbox" widget command for entries.
2966
Also modified mouse bindings for entries and texts so that the
2967
mouse position rounds to the nearest inter-character gap, rather
2968
than the left edge of the character under the mouse.  This provides
2969
more natural selection behavior. (JO)
2970
 
2971
3/1/96 (bug fix) Fixed core dump that could occur in image code if an
2972
image was deleted while in use in a widet, then re-used in another
2973
widget while "deleted". (JO)
2974
 
2975
3/1/96 (bug fix) Calling wish with a single argument caused a crash
2976
under Windows due to an off-by-one error in the argument parsing code. (SS)
2977
 
2978
3/1/96 (bug fix) Palette management was broken and resulted in
2979
incorrect palette realization and refresh behavior.  Also, images were
2980
being drawn incorrectly if they were attached to widgets that had a
2981
private colormap. (SS)
2982
 
2983
3/2/96 (bug fix) It was possible to press the mouse button over an
2984
option menu, drag to a pulldown menu, and have the pulldown menu
2985
popup in place of the option menu.  Fixed this so that option menus
2986
are isolated from each other and from pulldowns. (JO)
2987
 
2988
3/2/96 (bug fix) Fixed yet another bug that caused long delays when
2989
raising toplevel windows. (JO)
2990
 
2991
3/2/96 (bug fix) Fixed bug in canvases where zero-sized rectangles
2992
and ovals didn't always redisplay right (could leave trailing
2993
garbage on screen when moved). (JO)
2994
 
2995
3/2/96 (bug fix) Entry widgets reset their insertion cursor, selection,
2996
and view whenever the text variable changed, plus whenever a "configure"
2997
widget command was invoked and there was a text variable for the
2998
widget.  Fixed to preserve this information as much as possible. (JO)
2999
 
3000
3/5/96 (new feature) Added version suffix to shared library names so that
3001
Tk will compile under NetBSD and FreeBSD (I hope).  (JO)
3002
 
3003
3/6/96 (bug fix) Changed the way certain configure & motion events are
3004
reported.  This fixes several bugs in menus & "winfo rootx". (RJ)
3005
 
3006
3/7/96 (bug fix) Fixed tag remove bug that showed up when draging out a
3007
selection.  If you had dragged left, then tried to drag back right, the
3008
left edge of the selection wasn't being updated because the tag remove
3009
wasn't doing anything. (BW)
3010
 
3011
3/7/96 (bug fix) Fixed the boundary conditions of tag prevrange.  The second
3012
index argument wasn't effecting in stopping the search if it fell within
3013
a range.  The second index has to come at or before the start of a range
3014
for the range to be found by tag prevrange. (BW)
3015
 
3016
3/7/96 (bug fix) "puts" to stdout or stderr when running from a script
3017
caused wish41.exe to exit silently.  Now the output is silently
3018
discarded without generating an error.  (SS)
3019
 
3020
3/7/96 (bug fix) Fixed bug where wish was treating empty lines in the input
3021
as end of input, if the input came from stdin. This would cause it to
3022
complain about missing closing braces etc. (JL)
3023
 
3024
----------------- Released 4.1b3, 3/8/96 -----------------------
3025
 
3026
3/9/96 (bug fix) Fixed bug in text.tcl that could cause errors in text
3027
widgets of the form 'can't use non-numeric string as operand of "-"'. (JO)
3028
 
3029
3/12/96 (feature improvement) Modified startup script to look in several
3030
different places for the Tcl library directory.  This should allow tk
3031
to find the libraries under all but the weirdest conditions, even without
3032
the TK_LIBRARY environment variable being set. (JO)
3033
 
3034
3/14/96 (bug fix) "wish bogus_file_name" didn't print an error message. (JO)
3035
 
3036
3/14/96 (bug fix) Button-2 wasn't claiming the focus during paste
3037
operations. (JO)
3038
 
3039
3/14/96 (bug fix) "tkwait visibility" use to hang forever if its window
3040
was deleted.  Now it detects this condition and returns an error. (JO)
3041
 
3042
3/16/96 (bug fix) Changed configuration stuff to get dynamic loading and
3043
shared libraries working under AIX. (JO)
3044
 
3045
3/16/96 (bug fix) Fixed core dumps that could occur when a slave interpreter
3046
was deleted in the middle of executin bindings. (JO)
3047
 
3048
3/18/96 (new feature) Added support for Activate/Deactivate events.
3049
Currently, these new X events will generated only on the Macintosh. (RJ/CS)
3050
 
3051
3/21/96 (bug fix) The "tag prevrange" command would fail to return the current
3052
range if it began at 1.0 and the starting point of the search was within
3053
the range. (BW)
3054
 
3055
3/21/96 (configuration improvement) Changed configure script so it
3056
doesn't use version numbers (as in -ltk4.1 and libtk4.1.so) under
3057
SunOS 4.1, where they don't work anyway.  (JO)
3058
 
3059
3/22/96 (bug fix) Made Tk more robust against interpreter deletion. Now it
3060
should be safe to delete an interpreter with a Tk application inside it,
3061
without first deleting the Tk application. (JL)
3062
 
3063
3/26/96 (bug fix) Tk now returns results from a "send" to an interpreter
3064
in which the Tk application is destroyed, if the interpreter continues
3065
computing after the Tk application is destroyed. Previously any results
3066
computed after '.' was destroyed in the target interpreter were discarded
3067
by the "send". (JL)
3068
 
3069
3/26/96 (new feature) Tk now provides a static Tktest package which is
3070
present only in test versions of Tk; this allows the testing commands to
3071
be loaded into new interpreters besides the main one. (JL)
3072
 
3073
3/28/96 (bug fix) Changed the tk_dialog procedure *not* to make the
3074
dialog a transient for its parent.  The old behavior meant that the
3075
dialog did not get posted if the parent was iconified. (JO)
3076
 
3077
4/5/96 (bug fix) Tk would occasionally crash when destroying toplevels
3078
under Windows. (SS)
3079
 
3080
4/5/96 (bug fix) Fonts were not being properly deallocated, causing
3081
GDI resources to be consumed and never released under Windows. (SS)
3082
 
3083
4/11/96 (bug fix) Toplevel windows with no specified geometry were
3084
always appearing in the upper left corner of the screen under
3085
Windows. (SS)
3086
 
3087
4/11/96 (bug fix) "wm minsize" did not properly report the minimum
3088
size imposed by the Windows window manager. (SS)
3089
 
3090
4/13/96 (bug fix) Text widgets could dump core in some cases where
3091
text was inserted on the top visible line. (JO)
3092
 
3093
4/16/96 (bug fix) Changed menu code to ignore errors that occur when
3094
restoring a grab:  the old grab window might not be visible anymore. (JO)
3095
 
3096
----------------- Released 4.1, 4/21/96 -----------------------
3097
 
3098
5/1/96 (bug fix) "option readfile" did not handle files with CRLF
3099
line termination. (SS)
3100
 
3101
5/1/96 (bug fix) Changed to install tkConfig.sh under "make install-binaries",
3102
not "make install-libraries". (JO)
3103
 
3104
5/7/96 (bug fix) Moved initScript in tkUnixInit.c to writable memory to
3105
avoid potential core dumps. (JO)
3106
 
3107
5/7/96 (bug fix) Changed tk_dialog back so that the dialog box is a
3108
transient window again.  This is needed to make sure that the dialog
3109
box doesn't get obscured.  Also changed it to return -1 if the dialog
3110
window is deleted before the user presses a button. (JO)
3111
 
3112
5/16/96 (bug fix) Fixed bug that caused core-dumps if a text widget
3113
with -setgrid 1 was deleted by removing its command. (JO)
3114
 
3115
5/16/96 (bug fix) Fixed bug that caused Tk initialization to use improperly
3116
initialized variables left over from previous invocation of Tk_Init on
3117
another interpreter. (JL)
3118
 
3119
5/16/96 (new feature) Implemented application embedding on Windows
3120
platforms (only Tk inside another application, not the other way yet). (JL)
3121
 
3122
5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe
3123
interpreter. (JL)
3124
 
3125
5/16/96 (bug fix) Fixed bug that caused Tk initialization to use improperly
3126
initialized variables left over from previous invocation of Tk_Init on
3127
another interpreter. (JL)
3128
 
3129
5/16/96 (new feature) Implemented application embedding on Windows
3130
platforms (only Tk inside another application, not the other way yet). (JL)
3131
 
3132
5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe
3133
interpreter. (JL)
3134
 
3135
5/22/96 (bug fix) Listboxes weren't properly ignoring double clicks on
3136
button 1. (JO)
3137
 
3138
6/12/96 (bug fix) Focus was automatically placed on new toplevels.
3139
This caused the titlebar to flash during menubar traversal. (SS)
3140
 
3141
6/12/96 (bug fix) Iconification of a window with a specified geometry
3142
by using the minimize button would leave the window in an inconsistent
3143
state.  When the window was deiconified using "wm deiconify", the
3144
window would continue to display as an icon with the deiconified
3145
geometry. (SS)
3146
 
3147
6/12/96 (bug fix) Fixed a resource leak where the text widget was not
3148
freeing all of the TkRegions it created.  This fix affects all
3149
platforms, but is particularly important for Win32s. (SS)
3150
 
3151
6/21/96 (configuration change) Added --enable-gcc switch to configure
3152
script to make Tk just like Tcl.  Now Tk will not use gcc unless you
3153
request it explicitly. (JO)
3154
 
3155
7/18/96 (bug fix) Changed "configure" script to add an extra -R switch
3156
(or whatever is appropriate to the platform) if the X library is in a
3157
nonstandard place.  This guarantees that the shared library can be
3158
found at runtime without having to set the LD_LIBRARY_PATH variable. (JO)
3159
 
3160
7/19/96 (bug fix) Fixed bug in tkImgGIF.c that cause core dumps if a
3161
GIF file contained multiple images. (JO)
3162
 
3163
7/20/96 (bug fix) Deadlock could occur if a recursive series of send
3164
operations involved multiple displays. (JO)
3165
 
3166
7/23/96 (bug fix) Fixed a resource leak where deallocated XIDs were
3167
taking up memory on Windows and Macintosh platforms. (SS)
3168
 
3169
7/30/96 (bug fix) A core dump could occur if a  handler for
3170
a window tried to create a child in the half-dead window.  Fixed by
3171
making the window's name disappear from the name table once it starts
3172
to be deleted. (JO)
3173
 
3174
----------------- Released patch 4.1p1, 8/2/96 -----------------------
3175
 
3176
4/30/96 (new feature) Added support for named virtual events. New "event"
3177
command to define/destroy named virtual events and to programmatically
3178
send both real and virtual events to Tk. (CS)
3179
 
3180
8/6/96 (bug fix) Entry widgets were invoking scrollbar update functions
3181
too often. (JO)
3182
 
3183
8/9/96 (bug fix) 7/30 change above for  handlers broke many
3184
things by making window available during Destroy handler.  Reworked
3185
fix for core dump to simply disallow creating children of half-dead
3186
parents. (JO)
3187
 
3188
8/12/96 (bug fix) Fixed bug where using the Copy menu item on the
3189
Macintosh would append a NULL character at the end of the text. (RJ)
3190
 
3191
8/15/96 (bug fix) Fixed Mac code so garbage wouldn't be printed in
3192
text and entry widgets when function & other non-printing keys were
3193
pressed. (RJ)
3194
 
3195
8/15/96 (configuration improvement) Changed the file patchlevel.h
3196
to be tkPatch.h.  This avoids conflict with the Tcl file and is now
3197
in 8.3 format on the Windows platform. (RJ)
3198
 
3199
8/19/96 (bug fix) Fixed a bug under Windows where the initial window
3200
position for a toplevel window was reported as +0+0, regardless of the
3201
actual position. (SS)
3202
 
3203
8/21/96 (bug fix) If the last character on a line in a text widget was
3204
a space character that didn't completely fit, the text widget would
3205
sometimes add an extra wrap line. (JO)
3206
 
3207
8/22/96 (feature change) Complete rewrite of the grid geometry manager.
3208
There is a new layout algorithm that produces better (but different)
3209
layouts in many common cases. (SU)
3210
 
3211
8/22/96 (new feature) There are two new options for the grid geometry
3212
manager, "grid update" which forces an immediate layout calculation,
3213
and a "-pad" option to rowconfigure and columnconfigure that allows for
3214
extra space around widgets. (SU)
3215
 
3216
8/22/96 (feature change) The order in which the grid geometry manager
3217
reports slaves is now last-managed first. (SU)
3218
 
3219
8/22/96 (feature change) The column and row weights in the grid
3220
geometry manager are kept internally as integers, instead of floating
3221
point values.  Floating point values are still accepted on the command line,
3222
but are truncated to integers. (SU)
3223
 
3224
8/22/96 (new feature) There are four new commands for opening common
3225
dialog boxes: tk_chooseColor, tk_getOpenFile, tk_getSaveFile and
3226
tk_messageBox. Native dialog boxes are used wherever available. (IL)
3227
 
3228
8/22/96 (new demos) Added "fsbox", "msgbox" and "clrpick" demos. (IL)
3229
 
3230
8/23/96 (feature change) Invoking the edit menu on the Macintosh now
3231
generates the following virtual events <>, <>, <>,
3232
and <> instead of faking key events. (RJ)
3233
*** POTENTIAL INCOMPATIBILITY ***
3234
 
3235
8/25/96 (bug fix)  Fixed a bug that would cause "grid x" to dump core. (SU)
3236
 
3237
8/26/96 (new feature) Added the "unsupported1" command to the
3238
Macintosh version of Tk.  This command will allow you to set the style
3239
of a new toplevel Window (much like overrideredirect).  You can use
3240
this to get access to all of the Native Mac window styles.  This is to
3241
hold you over until we get a more general solution added to the
3242
toplevel command. (RJ)
3243
 
3244
8/26/96 (new feature) Added support to handle the zoom box on a
3245
Macintosh window.  (Currently, you can only get a Tk window with a
3246
zoom box by using the "unsupported1" command. (RJ)
3247
 
3248
8/27/96 (documentation change) Removed old change bars (for changes in
3249
Tk 4.1 and earlier releases) from manual entries. (JO)
3250
 
3251
----------------- Released 4.2b1, 8/30/96 -----------------------
3252
 
3253
9/5/96 (bug fixes) Fixed several bugs in file dialogs: individual files
3254
could be listed twice, if a long list of files were shown, and the view
3255
scrolled to the right, and then a different file file was shown, the
3256
scrollregion on the canvas wasn't being reset, so the file dialog was
3257
broken from then on, added an update idletasks so that the watch
3258
cursor was shown when the dialog was thinking. For the motif file
3259
dialog, fixed the weights for resizing.  On the clrpicker, fixed the
3260
finalColor variable which caused problems when the OK button was
3261
"clicked" before the dialog was mapped (in the test suite). Added Ioi's
3262
last changes from before he left. For message boxes, if a single button
3263
message box is shown (currently only 'ok'), it is set to be the default
3264
even if not specified. (KC)
3265
 
3266
9/5/96 (bug fix) Fixed bug on Macintosh where menus would appear in a
3267
seemingly random location.  (RJ)
3268
 
3269
9/5/96 (bug fix) Text widgets had rounding problems with the "yview"
3270
command that caused them sometimes to round to the line before the
3271
correct one. (JO)
3272
 
3273
9/5/96 (bug fix) Changed grab code to retry grabs after errors where
3274
another application already has the grab.  This is needed to get
3275
around race conditions with some window managers and will hopefully
3276
solve the grab errors that people see occasionally. (JO)
3277
 
3278
9/6/96 (bug fix) Fixed x-y coordinate confusion problem with scaling
3279
of window items in canvases. (JO)
3280
 
3281
9/11/96 (bug fix) The open and save file dialogs would change the
3282
current working directory under Windows. (SS)
3283
 
3284
9/12/96 (bug fix) The Tk event system was delivering events to dead
3285
windows, if the event handler got reentered during a Destroy event
3286
handler.  This could cause core dumps and other problems. (JO)
3287
 
3288
9/20/96 (bug fix) In XFillRectangles under Windows, a brush was not
3289
being deallocated. (SS)
3290
 
3291
9/20/96 (bug fix) The Mac window manager used to generate a mouseUp
3292
event for a top level that was recently raised to the front/active
3293
window which often caused a tk(priv) error.  The up event is no
3294
longer generated with solves several problems. (RJ)
3295
 
3296
9/25/96 (bug fix) The font code under Windows was leaking memory
3297
whenever a new font was referenced using the three part font names. (SS)
3298
 
3299
9/26/96 (bug fix) The tests for the common dialogs still used the 'testevent'
3300
function.  I updated these calls in clrpick.test, msgbox.test, filebox.test
3301
to use the new event gereating mechanism.
3302
 
3303
9/18/96 (bug fix) Long-standing bug in bind where  was
3304
reported as , but  was reported as "aa". (CS)
3305
 
3306
9/27/96 (bug fix) Bindings didn't work on 64-bit machines due to changes
3307
made for virtual events. (CS)
3308
 
3309
9/30/96 (feature change) Binding for new virtual events included both
3310
lower and upper-case, e.g., <> was defined as  and
3311
.  Previously, widgets were directly bound to only lower-case
3312
bindings.  The upper-case binding caused incompatibility with some existing
3313
Tcl programs, so the upper case bindings for <>, <>, and <>
3314
were removed. (CS)
3315
 
3316
9/30/96 (bug fix) The postscript code in the canvas widget now uses
3317
channels to get and write .ps files which fixed a bug on the Mac where
3318
an output file would have mixed EOL characters.  In addition, I added
3319
the ability for the prolog to come from the Tk shared library on the
3320
Mac which makes it possible to have a standalone application. (RJ)
3321
 
3322
10/1/96 (feature change)  "grid forget" was renamed "grid remove".  A new
3323
command "grid forget" was added whose semantics are the same as "pack forget"
3324
(SAU)
3325
*** POTENTIAL INCOMPATIBILITY ***
3326
 
3327
10/1/96 (feature change)  grid no longer accepts floating point values for
3328
row or column weights, integers must be used.  (SAU)
3329
*** POTENTIAL INCOMPATIBILITY ***
3330
 
3331
10/1/96 (feature change)  "grid {column,row}configure  "
3332
returns a list of option value pairs for all of the row or column
3333
constraints. It used to return an error. (SAU)
3334
 
3335
10/1/96 (bug fix)  "The way grid handles '^' short-cuts was re-written
3336
to eliminate core dumps. (SAU)
3337
 
3338
10/3/96 (feature change) A virtual event binding associated with a
3339
given physical event is now considered less specific than a binding for
3340
that same physical event, all other things being equal. (CS).
3341
 
3342
10/3/96 (bug fix) Under Windows text placed on the clipboard did not
3343
undergo CRLF translation when delivered to other applications. (SS)
3344
 
3345
10/3/96 (bug fix) Copying an image onto itself with a zoom factor that
3346
caused the image to grow was accessing freed memory. (SS)
3347
 
3348
10/3/96 (bug fix) Under Windows, the image blank subcommand did not
3349
work. (SS)
3350
 
3351
10/10/96 (bug fix) Under Windows & Macintosh, XSetFont and XChangeGC
3352
were not implemented, and XSetLineAttributes did not correctly update
3353
the GC. (SS)
3354
 
3355
10/10/96 (bug fix) Under Windows, 8-bit non-palette displays were not
3356
handled properly. (SS)
3357
 
3358
10/10/96 (bug fix) Under Windows, images of depth other than 8 or 24
3359
bits were not being rendered properly. (SS)
3360
 
3361
10/10/96 (bug fix) Under Windows, bitmap subimages were not correctly
3362
displayed. (SS)
3363
 
3364
10/14/96 (bug fix) Under Window, wm resizable would constrain both
3365
programatic resizes as well as user resizes. (SS)
3366
 
3367
----------------- Released 4.2, 10/16/96 -----------------------
3368
 
3369
10/17/96 (bug fix) XCopyPlane was broken under Windows and would cause
3370
a crash when used with a clipping bitmap. (SS)
3371
 
3372
10/21/96 (bug fix) Added missing resources needed by tk_getOpenDialog
3373
on the Macintosh to the shared library for Tk. (RJ)
3374
 
3375
10/22/96 (bug fix) Invoking a menu with an Alt key sequence caused an
3376
error due to a misplaced common in library/menu.tcl. (JO)
3377
 
3378
10/23/96 (bug fix) Errors in files sourced by the Macintosh
3379
"Source..." menu are now correctly reported via the background
3380
error mechanism. (RJ)
3381
 
3382
10/23/96 (bug fix) Fixed a bug in the Mac subwindow implementation
3383
that caused refreshes to not occur for canvases with embedded
3384
windows. (RJ)
3385
 
3386
10/24/96 (bug fix) Provided workaround for Apple bug that doesn't
3387
handle zooming correctly for floating windows. (RJ)
3388
 
3389
10/24/96 (bug fix) Macintosh tearoff menus are now correctly
3390
displayed as Mac floating windows. (RJ)
3391
 
3392
11/1/96 (bug fix) Restored manual page for procedures like
3393
Tk_CreateWindowFromPath and Tk_DestroyWindow; was accidentally deleted
3394
when Tk_CreateMainWindow procedure was decommissioned. (JO)
3395
 
3396
11/19/96 (bug fix) Fixed bugs in postscript code that would cause the
3397
prefix to not be included and the output file to have the wrong
3398
permissions. (RJ)
3399
 
3400
12/2/96 (bug fix) Fixed problem with canvas lines where it didn't
3401
compute bounding boxes correctly for zero-width lines: this could
3402
potentially leave garbage on the screen when items were deleted or
3403
moved. (JO)
3404
 
3405
12/5/96 (bug fix) Fixed the Macintosh implementation of pointer x/y
3406
which was returning garbage. (RJ)
3407
 
3408
12/6/96 (bug fix) Fixed grid bug where the positioning of slaves was
3409
incorrect for non-zero values of ipadx and ipady (SU)
3410
 
3411
12/6/96 (bug fix) Fixed grid bug where slaves got "lost" when an
3412
already managed slave is re-managed in a different master. (SAU)
3413
 
3414
----------------- Released 4.2p1, 12/8/96 (Mac only) --------------
3415
 
3416
1/17/97 (bug fix) Fixed bug where the Tk clipboard was not in sync
3417
with the Macintosh clipboard on start-up.  (RJ)
3418
 
3419
----------------- Released 4.2p2, 1/31/97 --------------
3420
 
3421
----------------------------------------------------------
3422
Changes for Tk 4.2 go above this line.
3423
Changes for Tk 4.3 go below this line.
3424
----------------------------------------------------------
3425
 
3426
9/19/96 (improvement) Implemented table driven mechanism for deciding
3427
whether a command is safe. If it is added by Tk_Init and it appears in the
3428
table then it is kept, otherwise it is removed in a safe interpreter. (JL)
3429
 
3430
10/18/96 (new feature) Added support for application embedding:
3431
    - Frame and toplevel widgets now have a -container option, which
3432
      turns the widget into a container.
3433
    - Toplevel widgets have a -use option for requesting that the
3434
      widget be embedded in another application.
3435
    - Wish also supports a -use command-line option.
3436
Embedding is fully supported under Unix, but the implementation is
3437
not complete under Windows or the Macintosh (it works just well
3438
enough to support the Tcl/Tk plugin). (JO)
3439
 
3440
10/22/96 (bug fix) The commands "winfo rootx" and "winfo rooty" didn't
3441
work for non-toplevel windows in embedded applications: they returned
3442
the coordinates of the nearest toplevel. (JO)
3443
 
3444
12/02/96 (new feature) Implemented Safe Tk. Tk can now be loaded into a
3445
safe interpreter that has been created with tcl_safeCreateInterp, by
3446
calling load {} Tk interpname. (JL)
3447
 
3448
12/02/96 (new feature) A safe Tk interpreter can no longer generate
3449
postscript output from a canvas. (JL)
3450
 
3451
12/02/96 (new feature) Added -channel option to photo command to allow
3452
image data to be read from a channel. This is useful in safe Tk
3453
interpreters where the data cannot be read directly from a file. (JL)
3454
 
3455
----------------------------------------------------------
3456
Changes for Tk 4.3 go above this line.
3457
Changes for Tk 8.0 go below this line.
3458
----------------------------------------------------------
3459
 
3460
9/1/96 (new features) The font mechanism in Tk has been completely
3461
reworked:
3462
    - Font names need not be nasty X LFDs: more intuitive names like
3463
      {Times 12 Bold} can also be used.  See the manual entry font.n
3464
      for details.
3465
    - Font requests always succeed now.  If the requested font is not
3466
      available, Tk finds the closest available font and uses that one.
3467
    - Tk now supports named fonts whose precise attributes can be
3468
      changed dynamically.  If a named font is changed, any widget
3469
      using that font updates itself to reflect the change.
3470
    - There is a new command "font" for creating named fonts and querying
3471
      various information about fonts.
3472
    - There are now officially supported C APIs for measuring and
3473
      displaying text.  If you use these APIs now, your code will
3474
      automatically handle international text when internationalization
3475
      is added to Tk in a future release.  See the manual entries
3476
      MeasureChar.3, TextLayout.3, and FontId.3.
3477
    - The old C procedures Tk_GetFontStruct, Tk_NameOfFontStruct, and
3478
      Tk_FreeFontStruct have been replaced with more portable procedures
3479
      Tk_GetFont, Tk_NameOfFont, and Tk_FreeFont.
3480
      *** POTENTIAL INCOMPATIBILITY ***
3481
(CS)
3482
 
3483
9/24/96 (bug fix) Under Windows, transient windows would be destroyed
3484
if their master was destroyed, even if the transient window was not a
3485
child of the master. (SS)
3486
 
3487
10/18/96 (new features) A -menu option has been added to the toplevel
3488
widget command, which allows a menu to operate as a menubar. On the
3489
Macintosh, the menubar is displayed accross the top of the main monitor,
3490
just like with other applications. Under Windows and Unix, the menu is
3491
attached to the toplevel window. Also, changed some semantics.
3492
Tearoff menus will now reflect changes to the menu it was
3493
torn off from, and are deleted when the master menu is
3494
deleted. Tearoffs also reflect more look-and-feel of the
3495
platforms they are running on. (SRP)
3496
 
3497
10/31/96 (bug fix) Under Windows, missing system cursors would
3498
generate an error instead of falling through to the Tk cursor of the
3499
same name. (SS)
3500
 
3501
11/7/96 (feature change) Under Unix, default borderwidth is now 1 to
3502
more closely approximate CDE.  (SS)
3503
Note: this change was undone on 6/12/97, restoring the default border
3504
width to 2 again.  (JO)
3505
 
3506
11/7/96 (new feature) The button widget now supports a -default option
3507
that draws a platform specific default ring around the widget. (SS)
3508
 
3509
11/7/96 (feature change) Under Windows, buttons and scrollbars now
3510
have native look and feel.  This affects the default class bindings
3511
and the way the some configuration options are interpreted.  Refer to
3512
the widget manual pages for more details. (SS)
3513
*** POTENTIAL INCOMPATIBILITY ***
3514
 
3515
11/19/96 (bug fix) Under Windows, images were incorrectly drawn on
3516
16-bit displays. (SS)
3517
 
3518
11/19/96 (bug fix) Under Windows, the class name for the main window
3519
(.) was not properly generated from argv0. (SS)
3520
 
3521
11/20/96 (bug fix) Fixed a couple of bugs in the Canvas widget.  The
3522
postscript file is now created with the correct permissions.  Also,
3523
the prolog is now properly included in all cases. (RJ)
3524
 
3525
11/22/96 (bug fix) Under Windows, the initial directory and file names
3526
were not properly translated before being passed to the system
3527
open/save file dialogs.  So forward slashes were not converted to
3528
backslashes, and tilde substitution was not performed.  (SS)
3529
 
3530
11/25/96 (feature change) Under Windows and Macintosh, the selection
3531
highlight is now hidden whenever an entry or text widget loses focus.
3532
Also, the previous selection information is not lost when a new
3533
selection is made in a different widget. (SS)
3534
 
3535
11/26/96 (new feature) Added support for images as primitive types in
3536
text widgets. (SU)
3537
 
3538
11/30/96 (configuration improvement) Modified configure.in to handle the
3539
case where Tcl and Tk are installed in different places by including both
3540
their library directories in the library search path for Tk. (JO)
3541
 
3542
12/3/96 (bug fixes) Fixed two bugs related to canvas lines that caused
3543
the screen to be incorrectly refreshed, leaving garbage on the screen.
3544
One bug was related to lines with width zero, and the other was
3545
related to lines with very long miters. (JO)
3546
 
3547
12/4/96 (bug fix) The "update" command was only syncing the display
3548
for its main window.  Changed to sync all displays. (JO)
3549
 
3550
12/5/96 (bug fix) Color deallocation would occasionally cause a panic
3551
under Windows. (SS)
3552
 
3553
12/5/96 (bug fix) Errors during startup were silently discarded under
3554
Windows. (SS)
3555
 
3556
12/5/96 (bug fix) Errors during startup were silently discarded under
3557
Windows. (SS)
3558
 
3559
12/11/96 (bug fix) Text widgets weren't considering the -spacing1
3560
and -spacing2 options when computing their desired geometry. (JO)
3561
 
3562
12/12/96 (feature change) Option menus using tk_optionMenu were
3563
created with command entries that set the option menu's variable in a
3564
command string. This has been changed so that the option menu's
3565
entries are now radiobutton entries so that the entries that matches
3566
the variable is now checked when the menu is posted. (SRP)
3567
 
3568
12/12/96 (feature change) The destroy command no longer returns an
3569
error when a window does not exist. (SRP)
3570
 
3571
12/13/96 (new feature) grid row/column-configure accepts a list of
3572
indices in addition to a single index. (SU)
3573
 
3574
12/17/96 (bug fix) Under Windows, command line was not being parsed
3575
correctly if it contained the literal characters \" (CS)
3576
 
3577
12/17/96 (feature change) Native Windows labels do not get a focus-ring
3578
border.  (CS)
3579
 
3580
12/17/96 (bug fix) Under Windows, colors specified as "#XXYYZZ" where XX, YY,
3581
or ZZ were not valid hex digits were getting a random color value instead of
3582
being an error. (CS)
3583
 
3584
----------------- Released 8.0a1, 12/17/96 -----------------------
3585
 
3586
12/23/96 (bug fix) Fixed two menu bugs:
3587
    - Menus could get stacked below other windows so that they weren't
3588
      visible when posted (especially under olvwm and fvwm).
3589
    - Under olvwm if you pressed button 1 over an entry in a new-style
3590
      menubar, the menu didn't appear until you moved the mouse slightly.
3591
(JO)
3592
 
3593
1/6/97 (bug fix) Focus could accidentally get grabbed by an application
3594
away from the rightful focus owner if the focus recently changed from one
3595
application to another. (JO)
3596
 
3597
1/6/97 (bug fix) Under Windows, the console was appearing even for
3598
non-interactive applications.  This was a side effect of a general
3599
problem with the wm state of windows that were being mapped for the
3600
first time. (SS)
3601
 
3602
1/6/97 (bug fix) Under Windows, the initialization code was not
3603
looking in the right directory for the Tk libraries when the program
3604
being run was not in the Tcl installation heirarchy. (SS)
3605
 
3606
1/8/97 (bug fix) Under Windows, the windows were not being unmapped
3607
properly, which led to strange packer behavior. (SS)
3608
 
3609
1/8/97 (bug fix) The "winfo containing" command (and the Tk_CoordsToWindow
3610
procedure) didn't work properly on Unix in the presence of embedding or
3611
menubars. (JO)
3612
 
3613
1/15/97 (bug fix) Invoking "destroy ." as the command from a menu would
3614
cause Tk to crash because TkMainInfo was freed before menu released its
3615
resources.  This bug had already been fixed for scrollbars and buttons. (CS)
3616
 
3617
1/15/97 (bug fix) Tk is now working under Win32s again, including Win32
3618
version 1.25.  Fixed separate problems in fonts and dialogs. (CS)
3619
 
3620
1/15/97 (feature change) Under Windows, font sizes are now specified in
3621
points, not pixels.  The mapping between pointsize and pixels depends on
3622
Windows having accurate metrics for the monitor (plug&play helps).  Font
3623
metrics are still reported in pixels. (CS)
3624
 
3625
1/21/97 (bug fix)  Grid no longer reports rows or columns "out of range"
3626
when requesting their constraints. (SAU)
3627
 
3628
1/21/97 (bug fix)  Fixed some window manager related bugs on the
3629
Macintosh.  Now better support global grabs. (RJ)
3630
 
3631
1/21/97 (bug fix) For Windows: Fixed problems with canvas items that
3632
used end caps.  Fixed arc implementation to more closely approximate
3633
X.  Stippling now works properly on fat lines. (SS)
3634
 
3635
1/21/97 (bug fix) Small interlaced GIF images were not properly
3636
decoded. (SS)
3637
 
3638
1/21/97 (bug fix) More changes to image code to try to handle 16-bit
3639
displays properly under Windows. (SS)
3640
 
3641
1/21/97 (bug fix) Numerous display bugs on Unix and Macintosh are now
3642
fixed. Numerous binding problems for menubars under Unix are now
3643
fixed. Deletion of menu separators under Windows is now fixed. (SRP)
3644
 
3645
----------------- Released 8.0a2, 1/24/97 -----------------------
3646
 
3647
1/29/97 (feature change) The -transient field for menus is no longer
3648
supported.  There is now a -type field which is used to achieve the
3649
same purpose that the -transient field accomplished. When a menu is
3650
created, the -type field controls whether the menu is a normal
3651
pull-down menu, a floating tearoff menu or a menubar. This option is
3652
normally only used by the library code and internally by the menubar
3653
code. (SRP)
3654
*** POTENTIAL INCOMPATIBILITY ***
3655
 
3656
2/5/97 (feature change) Changed the photo image mechanism to use
3657
Tcl_Channels instead of FILE * as an argument to image matching
3658
functions.  The change will make it much easier to write cross
3659
platform image types in Tk.  Note: FILE * is no longer used anywhere
3660
in Tk. (RJ)
3661
*** POTENTIAL INCOMPATIBILITY ***
3662
 
3663
2/7/97 (enhancement) Were not allowed to bind to virtual events inside of
3664
canvas or text widget (e.g., "$canvas bind all <> {script}" or
3665
"$text tag bind sel <> {script}"); it would return an error
3666
disallowing that binding.  Now _can_ bind to a virtual event, but that
3667
binding inside of the canvas or text widget will only fire if the
3668
underlying virtual event definition is of type key, button, motion,
3669
enter, or leave; all other physical event types get filtered out by the
3670
widget before the virtual event mapping is done. (CS)
3671
 
3672
2/22/97 (bug fix) Under Unix, "wm geometry +-20+-30" didn't work. (JO)
3673
 
3674
2/24/97 (bug fix) The photo image didn't always zero out enough of its
3675
pixel and dither correction arrays. (JO)
3676
 
3677
2/25/97 (bug fix) Fixed focus problem that could cause "BadMatch (invalid
3678
parameter attributes)" in X_SetInputFocus requests on Unix. (JO)
3679
 
3680
2/25/97 (bug fix and new feature) Added new "gray75" bitmap, fixed
3681
"gray25" bitmap to really be 25% on (due to an ancient mistake, it
3682
had been only 12% on). (JO)
3683
 
3684
2/28/97 (bug fix) Windows: made embedding work again on Win32 platform.
3685
Prevent iconification, deiconinification on embedded windows. (JL)
3686
 
3687
3/4/97 (new feature) Added the ability to manipulate the Apple and
3688
Help menus on the Macintosh; the system menu on Windows; and to have a
3689
right justified Help menu on Unix. See the documentation for menu.n
3690
for more details. (SRP)
3691
 
3692
3/4/97 (bug fix) Prevented core dump at exit if a  binding on "."
3693
gets invoked from destroying a nested widget and the binding causes the
3694
interpreter to be deleted. The core dump was being caused by the
3695
interpreter not being Tcl_Preserve'd during the destroy of ".". (JL)
3696
 
3697
3/4/97 (bug fix) Under Unix, when embedded Tk is running in a separate
3698
process, correctly handle a race condition: ignore cross-over messages from
3699
the X server for windows that Tk thinks it had already deleted, when the
3700
containing process deletes its container window. Some other race conditions
3701
still remain, e.g. with pixmaps, colormaps and images. (JL)
3702
 
3703
3/10/97 (bug fix) Prevented core dump in generic console code due to
3704
following a NULL pointer when the console interpreter was already deleted.
3705
This may happen due to different orders of deletion possible at exit. (JL)
3706
 
3707
3/10/97 (bug fix) Fixed bug on Mac and Windows that caused time to be
3708
ignored when considering if a single click was actually a double
3709
click. (RJ)
3710
 
3711
3/11/97 (feature change) A major oversight has been that although it was
3712
documented that the Tk programmer was asking for a font in points (1/72 of an
3713
inch), under Unix and Mac Tk was actually asking for a font in pixels, while
3714
only under Windows was it using points.  This caused applications to appear
3715
much larger when run under Windows.  Now, on all platforms the (purportedly)
3716
correct size in points is used when asking for fonts.  However, for
3717
compatibility with existing tk4.2 applications that depend on fonts being of
3718
specified pixel size, XLFDs retain their incorrect behavior of getting a
3719
font in pixels.  (CCS)
3720
*** POTENTIAL INCOMPATIBILITY ***
3721
 
3722
3/13/97 (new feature) "tk scaling" command to setup the mapping between
3723
pixels and points.  This scaling factor is used by all widgets that accept
3724
ruler distances, not just fonts. (CCS)
3725
 
3726
3/24/97 (new feature) Added "-columnbreak" option to menu
3727
entries. When this value is "1", the entry will appear at the top of a
3728
new column in a non-menubar menu. Also added "-hideMargin". Together
3729
with "-columnBreak", menus with palettes are now possible. (SRP)
3730
 
3731
3/26/97 (new features and bug fix) Titles for tearoff menus were
3732
broken on the Mac and Windows. Added the ability to set the title of a
3733
menu when it gets torn off and override Tk's automatic generation of
3734
the title.  On the Macintosh, whenever a menu
3735
label contains three dots in a row "...", the menu will instead
3736
display the elipses character 'É'.  (SRP)
3737
 
3738
3/27/97 (bug fixes) When a menu had an error executing a postcommand,
3739
the error information was getting lost. On Windows, a set of
3740
menubuttons was not highligting properly when clicking between
3741
windows. On Windows, post commands were getting executed twice for
3742
popup menus.  On Macintosh, fixed problem where menubars were not
3743
always current. (SRP)
3744
 
3745
4/11/97 (new feature) Menubuttons now have a direction flag which
3746
controls where the menu popups up relative to the button. (SRP)
3747
 
3748
4/24/97 (bug fix) Transient windows did not obey the resizable setting
3749
under Windows. (SS)
3750
 
3751
4/24/97 (bug fix) wm geometry did not correctly parse negative
3752
coordinates. (SS)
3753
 
3754
4/29/97 (bug fix) Changed the canvas polygon implementation to only
3755
report the coordinates specified by the end user not the automatically
3756
generated end point of a self closing polygon. (RJ)
3757
*** POTENTIAL INCOMPATIBILITY ***
3758
 
3759
4/23/97 (feature change) Loosened the rules on parsing font names so that
3760
unix-centric fonts in scripts don't break when run on Windows or Mac.
3761
(1) Previously, an XLFD had to specify font name, weight, slant, and size;
3762
now, a minimal XLFD (such as "*-times-*") will be accepted, and all
3763
unspecified attributes will be given default values.  (2) Previously, in the
3764
{name size style ...} format, only the style was optional; now both the size
3765
and the style are optional; this solves the problem of old scripts that
3766
contain specifications of the form "-font fixed" or "-font times". (CCS)
3767
 
3768
5/7/97 (new feature) Menus now send a virtual event <>
3769
when an item is highlighted in a menu. Applications can use this to
3770
implement context-sensitive help. (SRP)
3771
 
3772
5/14/97 (bug fix) Fixed a race condition in the focus code where focus
3773
could be taken away from a window incorrectly.  Scenario is that the main
3774
window creates a toplevel and assigns focus to it.  When the user moves the
3775
mouse from the main window into the toplevel there was a race between
3776
two different kinds of focus events. (BW)
3777
 
3778
5/20/97 (bug fix) Fixed bug where the clipboard was not rendered before
3779
the application exited. (SS)
3780
 
3781
5/22/97 (feature change) When a Tk8.0 menu is configured, all menus
3782
derived from it (menubars, tearoff) mirror the changes. This was not
3783
true for the "-tearoff" flag. In Tk4.6, tearoff menus had the
3784
"-tearoff" flag turned off. Now, the "-tearoff" flag is tracked just
3785
as the other options are. Tearoff menus and menubars with the
3786
"-tearoff" option set will not display the tearoff item. This means
3787
that a given menu entry for a menu and a tearoff of that menu will
3788
match now. (SRP)
3789
*** POTENTIAL INCOMPATIBILITY ***
3790
 
3791
----------------- Released 8.0b1, 5/27/97 -----------------------
3792
 
3793
5/30/97 (bug fix) Made the options to the grid command shortcut-able.
3794
Ie. You can now use -stick, in addition to -sticky. (RJ)
3795
 
3796
6/2/97 (bug fix) Fixed bug in startup code that caused a problem in
3797
finding the library files when they are installed in a directory
3798
containing a space in the name. (SS)
3799
 
3800
6/2/97 (bug fix) Virtual events associated with / in text
3801
widget tag caused panic. (CCS)
3802
 
3803
6/6/97 (bug fix) On some systems, struct timeval.tv_sec is unsigned. (SS)
3804
 
3805
6/6/97 (feature change) Changed -default option on buttons to take
3806
three states: normal, active, disabled.  This allows apps to have a
3807
row of buttons where the default ring moves between buttons without
3808
changing the geometry of the buttons.  See the button.n manual page
3809
for more details. (SS)
3810
*** POTENTIAL INCOMPATIBILITY with Tk 8.0b1, but not with Tk 4.2 ***
3811
 
3812
6/9/97 (bug fix) Canvas postscript printing now works for bitmaps
3813
under Windows. (SS)
3814
 
3815
6/10/97 (bug fix) Fixed bug in bindings for listboxes where state wasn't
3816
being properly initialized on Shift-1 button presses. (JO)
3817
 
3818
6/11/97 (bug fix) Text widget display code did not include internal
3819
padding in the damage calculation for borders leading to unrefreshed
3820
sections on Windows and Mac. (SS)
3821
 
3822
6/12/97 (feature reversal) Changed default border widths under Unix
3823
back to 2 again.  This reverses the change made on 11/7/96. (JO)
3824
 
3825
6/13/97 (bug fixes) In canvas text item: the insertion cursor wasn't shown
3826
if insertion point was at end of text item, it was impossible to click to
3827
position the insertion point after the last character, and @x,y indices were
3828
computed incorrectly if -scrollregion had been specified and canvas was
3829
scrolled. (CCS)
3830
 
3831
6/13/97 (bug fix) Hitting up/down arrows in a text widget packed in a
3832
toplevel window created with the "-screen" option would cause an error dialog
3833
to pop up. (CCS)
3834
 
3835
6/12/97 (bug fix) Fixed bug in canvas text items where multi-line
3836
selections were not highlighted properly.  This bug existed only in
3837
earlier releases of Tk 8.0.  (JO)
3838
 
3839
6/16/97 (bug fix) In some obscure cases, canvas window items could
3840
accidentally specified a 0x0 size for the window, which caused a
3841
BadValue error under X. (JO)
3842
 
3843
6/17/97 (bug fix) Tk buttons on the Macintosh will now correctly
3844
draw under MacOS 8.0. (RJ)
3845
 
3846
6/18/97 (feature change) Changed the way highlights are drawn in text
3847
widgets so that the empty space to the left of a line is highlighted
3848
whenever the leftmost character of the line is highlighted (the empty
3849
space didn't used to be highlighted).  This produces a neater left
3850
edge when several lines are selected.  (JO)
3851
 
3852
6/18/97 (bug fix) Tk was using the wrong system colors to draw various
3853
widgets under Windows. (SS)
3854
 
3855
6/19/97 (bug fix) Under Windows, the "wm transient" and "wm overrideredirect"
3856
subcommands can now be applied to a toplevel to change its window
3857
style at any time during the life of the window. (SS)
3858
 
3859
6/19/97 (feature change) All GIF and XBM images needed for the "TK"
3860
file dialog box are included in-line in tkfbox.tcl. (IL)
3861
 
3862
6/27/97 (bug fix) Revamped focus code to eliminate most XSetInputFocus
3863
calls from the FilterEvent procedure.  This moves the implementation back
3864
towards the Tk 4.2 implementation, but adds embedding support.  There is
3865
still a known bug with twm's NoTitleFocus and embedded windows.  However,
3866
the races in a2 and the funny focus stealing in b1 are gone. (BW)
3867
 
3868
6/25/97 (bug fix) Error message was not properly reported when using
3869
button 'toggle'. (DL)
3870
 
3871
6/25/97 (bug fix) Removed one source of memory corruption in tkGrid.c code
3872
(fixes what was exercised by "grid col . 0 -w 1; grid col . 0 -w 25") (DL)
3873
 
3874
----------------- Released 8.0b2, 6/30/97 -----------------------
3875
 
3876
7/1/97 (bug fix) Menu shortcut and tearoff reported problem fixed. (DL)
3877
 
3878
7/1/97 (new feature) TK_BUILD_SHARED flag set in tkConfig.sh
3879
when Tk has been built with --enable-shared. TK_SRC_DIR added.
3880
A new tkLibObjs make target, echoing the list of the .o's needed
3881
to build a tk library, is now provided. (DL)
3882
 
3883
7/9/97 (bug fix) Fixed Tk_CreateFileHandler and Tk_DeleteFileHandler
3884
macros to directly call the Tcl equivalents. (JL)
3885
 
3886
7/10/97 (bug fix) On the Mac, if the binding for <> was
3887
drawing, the drawing could bleed over into the menus. This is now
3888
fixed. (SRP)
3889
 
3890
7/10/97 (bug fixes) Removed duplicate code related to Tk_SafeInit,
3891
made a single init script handling both cases. (DL)
3892
 
3893
7/10/97 (feature change) On Unix, to be able to load Tk into a safe
3894
interp you need to set the env(DISPLAY) var. Some API should be
3895
added to allow master crontrol over Tk instantiation. (DL)
3896
 
3897
7/11/97 (new feature) On the Mac, menus that are too big for the
3898
screen will now scroll. This is part of the interface on the Mac,
3899
impossible under Windows, and is not done for Unix. (SRP)
3900
 
3901
7/21/97 (bug fix) After fixing the bug that in canvas text item the insertion
3902
cursor wasn't shown if insertion point was at end of text item, introduced a
3903
different bug in where clicking in entry widget with 0 characters would
3904
crash or display garbage. (CCS)
3905
 
3906
7/22/97 (bug fix) If there were a whole bunch of returns or tabs in a row in
3907
a canvas text item, then the temporary buffer used when outputting
3908
postscript could overflow and overwrite the stack. (CCS)
3909
 
3910
7/23/97 (feature change) Reenabled "tkwait" in the Safe Tk base. (JL)
3911
 
3912
7/24/97 (bug fix) Single init script for both Win and Unix.
3913
new library/safetk.tcl using features from new tcl safe.tcl (DL)
3914
 
3915
7/30/97 (feature change) As a result of native menus, you can no
3916
longer drag through a frame of menubuttons on Macintosh and Windows
3917
and have the menus pop down. You can still click on individual
3918
menubuttons and their menus will pop down.  Applications needing to
3919
present a menubar should consider using the new "-menu" configuration
3920
of the toplevel widget to set up menubar which behaves correctly on
3921
Macintosh, Windows and X Windows. (SRP)
3922
 
3923
7/31/97 (bug fix) Tk widget commands can now safely be hidden commands.
3924
Previously destroying the widget would potentially leave dangling pointers
3925
and destroy an exposed command instead of a hidden one if an exposed
3926
command by that name existed. (JL)
3927
 
3928
7/31/97 (bug fix) On Windows, popup menus were not tracking the right mouse
3929
button correctly if it was used to invoke the menu. On Unix, tearoff
3930
menus were stealing focus when the mouse moving over them even when
3931
focus following was turned off. (SRP)
3932
 
3933
8/4/97 (bug fix) Fixed problem under USENIX where raising a toplevel
3934
window could cause an X error if the window had just been withdrawn.  (JO)
3935
 
3936
8/4/97 (feature change) tkerror and bgerror are not anymore hard links
3937
maintained by the Tcl core. The implementation of bgerror provided by
3938
Tk tries, for backward compatibility only, to to call "tkerror" and
3939
if that fails, falls back to the usual dialog and stack trace option
3940
posting. You can thus still use either "bgerror" or "tkerror" as your
3941
application error handling proc, but using "bgerror" is strongly
3942
recommended as support for "tkerror" will eventually vanish in upcoming
3943
releases. (DL)
3944
*** POTENTIAL INCOMPATIBILITY with scripts that were using
3945
    the actual hardlink implementation 'features' and with
3946
    scripts (if any) that would be calling the default "tkerror" to
3947
    simulate error messages (use "bgerror" instead)                  ***
3948
 
3949
8/7/97 (feature change/addition) Removed the gif files used for the
3950
Open dialog box on UNIX (they were previously made inline).  Added a
3951
new images directory that includes several images of the Tcl and Tcl
3952
Powered logos. (RJ)
3953
 
3954
8/7/97 (bug fix) Fixed focus to deal with embedding when there is
3955
no window manager. (BW)
3956
 
3957
8/8/97 (bug fix) Fixed bug in photo image code where photo images from
3958
different interpreters could get confused if they had the same name. (JO)
3959
 
3960
8/8/97 (new feature) Added new procedure Tk_GetImageMasterData for
3961
mapping image names to master data.  (JO)
3962
 
3963
8/8/97 (feature change) Modified Tk_FindPhoto procedure to require
3964
extra "interp" argument (needed for bug fix above).  (JO)
3965
*** POTENTIAL INCOMPATIBILITY ***
3966
 
3967
8/8/97 (bug fix) Fixed problems under Windows renaming toplevels with
3968
menubars. Fixed problems on all platforms renaming menu widgets and
3969
using new menus of the same name as an old one as cascades. Fixed a
3970
cosmetic problem with tearoff menus. (SRP)
3971
 
3972
8/13/97 (bug fixes) Fixed "-from" option for the "image create" and
3973
"imageName read" commands for GIF images, which didn't used to work
3974
correctly.  Also made transparency work correctly for GIF images
3975
without the TRANSPARENT_GIF_COLOR hack; TRANSPARENT_GIF_COLOR is
3976
now ignored.  These fixes were provided by Jan Nijtmans. (JO)
3977
 
3978
8/13/97 (new feature) added safe::loadTk command to load Tk in a
3979
safe slave interpreter. See the loadTk.n manual page for more
3980
details. (DL)
3981
 
3982
----------------- Released 8.0, 8/18/97 -----------------------
3983
 
3984
8/22/97 - (bug fix) Fixed syntax error in tk_popup; option menus now
3985
popup over their selected items like they did in tk4.2. Fixed problem
3986
where cascades sometimes did not work on X. On X, menubars with
3987
checkbuttons and radiobuttons in them would infinite loop when
3988
mappped. (SRP)
3989
 
3990
8/27/97 (new feature) Added support for new X11R6 colors under Windows
3991
and Mac platforms. (SS)
3992
 
3993
8/29/97 (bug fix) Wish crashed if stdin was closed. (SS)
3994
 
3995
9/10/97 (bug fix) "font actual {helvetica 10} -displayof ." wasn't taking
3996
into account the "-displayof" option.  This problem also existed for the
3997
"font metrics" and "font measure" commands. (CCS)
3998
 
3999
9/16/97 (new feature) Added "resource delete" and "resource files"
4000
command to the Mac.  Also fixed "resource write" when the resource
4001
was specified by id and already existed. (JI)
4002
 
4003
9/16/97 (bug fix) Added null bindings to  for the
4004
text and entry widget on the Macintosh.  This prevents unbound command
4005
key sequences from having the character echoed to the widget. Also
4006
fixed Cut & Copy bindings.  (JI) (RJ)
4007
 
4008
9/18/97 (bug fix) Revamped Macintosh focus code.  Cut, Copy & Paste
4009
virtual events now go to the correct (focus) window. (RJ)
4010
 
4011
9/19/97 (bug fix) Made Macintosh tearoff menus non-resizable. (RJ)
4012
 
4013
10/9/97 (bug fix) Image code could cause crashes during "exit" under
4014
some conditions (such as an image named "place").  (JO)
4015
 
4016
10/9/97 (bug fix) Fixed bug that sometimes prevented listboxes from
4017
scrolling far enough horizontally to see the rightmost character.  (JO)
4018
 
4019
10/9/97 (bug fix) Default font for new canvas text items was hardcoded to
4020
"Helvetica 12" instead of using DEF_CANVTEXT_FONT defined in
4021
tk{platform}Default.h like all the other widget settings.  (CCS)
4022
 
4023
10/10/97 (bug fix) In canvas text items, if the text ended with a \n, it
4024
was not counted in the bbox height, as it did in tk4.2.  This caused
4025
"hello\n" to be the same height as "hello" and you couldn't see the
4026
cursor positioned on the next line. (CCS)
4027
 
4028
10/10/97 (bug fix) The grid geometry manager didn't always properly
4029
forget about windows after a "grid forget" or "grid remove" command:
4030
the windows could reappear on the screen later.  (JO)
4031
 
4032
10/13/97 (bug fix) Selection could not be restored to a text widget
4033
after "selection clear" on Windows. (SS)
4034
 
4035
10/14/97 (bug fix) If a canvas had contained windows that were off-screen,
4036
the windows could sometimes reappear (in the wrong place) if the canvas was
4037
enlarged.  (JO)
4038
 
4039
10/20/97 (bug fix) Omitting the arguments to the text widget "mark
4040
gravity" option caused a crash. (SS)
4041
 
4042
10/21/97 (bug fix) Tk did not reset the result after native dialog
4043
modal loops on Window so background events could perturb the dialog
4044
result. (SS)
4045
 
4046
10/23/97 (bug fix) Memory leak in unix's TkpGetFontFamilies.  Thanks
4047
to James Bonfield for the fix. (DL)
4048
 
4049
10/27/97 (bug fix) Fixed event reporting for the Mac during a grab
4050
when the pointer was out of the toplevel window. (RJ)
4051
 
4052
10/28/97 (bug fix) Under Unix, override-redirect was getting set
4053
incorrectly for menus, so that "wm overrideredirect" returned 0. (JO)
4054
 
4055
10/28/97 (bug fix) Under Unix, focus code could sometimes cause the
4056
display to deadlock (it wasn't flushing the output buffer after issuing
4057
an ungrab command). (JO)
4058
 
4059
10/28/97 (bug fix) If a PPM image file wasn't complete (e.g. it
4060
consisted of nothing but space characters) Tk entered an infinite loop
4061
reading the header. (JO)
4062
 
4063
10/28/97 (bug fixes) On the Mac, menubars assigned to toplevels would
4064
disappear after a menu item was invoked from them. On Windows,
4065
clicking a system menu with added items and then again with a
4066
different set of added items would crash. On all platforms, a command
4067
menu entry that caused the entry to be deleted, another one created in
4068
its place, and the replacement deleted would cause a panic. On Unix,
4069
<> event bindings were firing every time the mouse moved,
4070
instead of everytime the active menu item changed. (SRP)
4071
 
4072
10/27/97 (bug fix) If a particular race condition occurred under Windows,
4073
Tk would crash complaining about trying to free a color that wasn't
4074
allocated. (SS)
4075
 
4076
10/28/97 (bug fix) Under Windows, button grabs did not report motion
4077
events that occurred outside of Tk windows. (SS)
4078
 
4079
10/28/97 (bug fix) Fixed incorrect display of transparent images on
4080
the Macintosh. (JI)
4081
 
4082
10/29/97 (bug fix) Reworked the handling of out-of-range indices in
4083
the widget command for listboxes: there were all sorts of quirks
4084
before (e.g., ".l delete -1" actually deleted the first element
4085
of the listbox). (JO)
4086
 
4087
10/29/97 (bug fix) Fixed crash on the Macintosh that could occur if a
4088
window is moved before it is mapped where the X window was created but
4089
the Macintosh port was not. (RJ)
4090
 
4091
10/29/97 (bug fix) Fixed several errors in how wm state was maintained
4092
on the Macintosh.  Tk now also will iconify a toplevel window on the
4093
Mac if the new Appearance Manager is present. (RJ)
4094
 
4095
10/28/97 (bug fixes) In canvas' postscript command: User name
4096
information was leaked in safe interpreters on Unix (security fix).
4097
Errors while reading prolog.ps were not propagated and the error
4098
message was mixed with partial data. Note: postscript output does
4099
not work in safe interpreters on unix and windows. (DL)
4100
 
4101
10/28/97 (bug fix) Safe Tk interps on unix were leaking env(DISPLAY). (DL)
4102
 
4103
10/31/97 (bug fix) Fixed problems related to the input focus when one
4104
application had windows open simultaneously on several displays. (JO)
4105
 
4106
10/31/97 (bug fix) Fixed several problems with traversal of menus via
4107
the keyboard under Unix. (SRP)
4108
 
4109
11/4/97 (bug fix) Fixed various word-size related problems for 64-bit
4110
architectures. (SS)
4111
 
4112
11/5/97 (bug fix) Embedding on Windows was using freed data (crashing
4113
in safe.test with TCL_MEM_DEBUG). NB: Embedding is still not fully
4114
implemented on Windows ! (It works mostly when Tk is embeded into it's
4115
own Tk frame (safe::loadTk case), but not well with respect to resizing
4116
with a toplevel container or with an external process). (DL)
4117
 
4118
----------------- Released 8.0p1, 11/7/97 -----------------------
4119
 
4120
11/20/97 (bug fix) Fixed bug on the Mac where the "package require"
4121
command caused menus to stop working. (JI)
4122
 
4123
11/20/97 (bug fix) Fixed bug in rendering transparent gifs on Text
4124
widgets. (JI)
4125
 
4126
11/20/97 (enhancement) Made the changes required to work with the new
4127
Apple Universal Headers V. 3.0 so we can compile with CW Pro 2.0 (JI)
4128
 
4129
----------------- Released 8.0p2, 11/25/97 -----------------------
4130
 
4131
11/25/97 (security bug fix + added feature) Tk Safe Init now asks
4132
the master's safe::TkInit for the 'argv' to use. This is transparently
4133
dealt with by the safe::loadTk API. New optional "-display displayName"
4134
argument to safe::loadTk, and the "-use" argument accepts both window
4135
Ids and Tk window names: see loadTk(n). Made the ":0.0" default display
4136
work on the Mac as it works on Windows and Unix. (DL)
4137
 
4138
12/3/97 (bug fix/optimization) Removed unneeded and potentially dangerous
4139
instances of double evaluations if "if" and "expr" statements from
4140
the library files. It is recommended that unless you need a double
4141
evaluation you always use "expr {...}" instead of "expr ..." and
4142
"if {...} ..." instead of "if ... ...". It will also be faster
4143
thanks to the byte compiler. (DL)
4144
 
4145
12/3/97 (new feature) Added support for browser/plugin style embedding,
4146
and made various other fixes to get the plugin working on the Mac. (JI)
4147
 
4148
12/8/97 (bug fix) on Windows, using "winfo pathname" before "." was mapped
4149
was crashing. (DL)
4150
 
4151
---- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ----
4152
 
4153
12/97 (bug fix) more Macintosh embeding fixes needed for the plugin. (JI)
4154
 
4155
Jan/9/98 (improvement) Allow applications to have custom init script
4156
without  having to patch the Tk core: Tk_Init will use an existing
4157
"tkInit" proc if one exists in the interp where one tries to install Tk
4158
instead of defining it's own (tkInit is the transient proc defined in
4159
generic/tkInitScript.h that searches and sources tk.tcl and defines
4160
the 'correct' tk_library). (DL)
4161
 
4162
---- Shipped as part of the plugin2.0 as 8.0p2Plugin2, Jan 15th 98 ----
4163
 
4164
6/3/98 (bug fix) Fixed bugs in the tk_getOpenFile under Unix.
4165
 1) If the -initialdir option was "." the result would be "././foo.tcl"
4166
    instead of an absolute path, like the Windows interface.
4167
 2) There is a traceVar on the data(selectPath) where the script was
4168
    assumes the window exists. (BS)
4169
 
4170
6/12/98 (feature change) Focus -force now sets the foreground window
4171
on Windows platforms in addition to moving the focus. (SS)
4172
 
4173
6/12/98 (bug fix) Fixed bug in Windows font measurement that did not
4174
take kerning into account. (BS)
4175
 
4176
6/24/98 (bug fix) On Unix, fixed -initialdir switch to tk_getOpenFile
4177
and tk_getSaveFile to convert the specified directory to an absolute
4178
path and to use the current working directory if the specified
4179
directory does not exist. (SS)
4180
 
4181
6/25/98 (bug fix) On Unix, both the Tk and the Motif file dialogs
4182
would fail if the -parent flag changed between two parent windows that
4183
had been previously used as file dialog parents. (SS)
4184
 
4185
6/29/98 (compatibility patch)  Added reserved fields to several Tk
4186
structures to match additions made by Jan Nijtmans dash patch.  This
4187
means that extensions can be compiled against the dash patch
4188
and still work with unpatched Tk, and vice versa.
4189
 
4190
7/6/98 (bug fix) Added keysym definitions for the new keys on the
4191
Microsoft keyboards.  You can bind to , , and ,
4192
but you cannot use the Win keys as modifiers. (SS, BW)
4193
 
4194
7/6/98 (new feature) Added support for the Macintosh Appearance Manager. (JI)
4195
 
4196
7/24/98 (feature change) Eliminated the static variable that sets
4197
tk_library and simplified search order for tk.tcl.  The tk_library
4198
variable can now be set before calling Tk_Init to avoid doing any
4199
searches.  If it isn't set, then Tk checks env(TK_LIBRARY), relative
4200
to tcl_library, an install directory relative to the executable, a
4201
source directory relative to the executable, and a tk directory
4202
relative to the source heirarchy containing the executable.  See the
4203
comment at the top of generic/tkInitScript.h for more details. (SS)
4204
 
4205
7/27/98 (bug fix) The bbox for coords in the canvas were incorrectly
4206
including the center of the coord as part of the bound area.  (RJ)
4207
 
4208
8/4/98 (bug fix) Fixed memory leak in Windows menu code. (SS)
4209
 
4210
8/4/98 (bug fix) Fixed bug where bgerror's were not being generated
4211
from menu callbacks on Windows. (SS)
4212
 
4213
8/4/98 (bug fix) Alt-key bindings were not being handled properly
4214
under Windows, resulting in annoying beeps. (SS)
4215
 
4216
8/4/98 (bug fix) Fixed bug in Windows menubar handling that allowed
4217
a shared menubar to be deleted when any window using it was deleted. (SS)
4218
 
4219
8/4/98 (feature change) Introduced TkReadBitmapFile to replace
4220
XReadBitmapFile so that all Tk file opens go through the Tcl channel
4221
mechanism.  This lets us wrap applications that define their own
4222
bitmaps and cursors. Note that XReadBitmapFile is no longer
4223
emulated for non-unix platforms platforms (RJ, BW)
4224
 
4225
8/5/98 (bug fix)  binding in entries was masking the virtual
4226
event <> binding to Shift-Insert on Windows. (SS)
4227
 
4228
8/5/98 (bug fix) wm frame would crash if the window had not been
4229
mapped yet on Windows. (SS)
4230
 
4231
8/5/98 (bug fix) Local grabs did not exclude menus or the caption bar
4232
under Windows. (SS)
4233
 
4234
8/5/98 (bug fix) Reduced message traffic by setting
4235
WS_EX_NOPARENTNOTIFY on TkChild windows. (SS)
4236
 
4237
8/6/98 (feature change) Changed tkInitScript.h to use the new
4238
tcl_findLibrary procedure to locate its script library. (BW)
4239
 
4240
8/10/98 (bug fix) Added special case to font code to limit the
4241
length of displayed strings to avoid wrap-around bugs in some
4242
PC X servers when the pixel length of the string exceeds 0x7fff. (SS)
4243
 
4244
8/12/98 (bug fix) Macintosh, lock down some of the resources
4245
associated with menus to try and stabilise the menu system
4246
on memory limited machines. (JI)
4247
 
4248
8/12/98 (windows build change) Moved the tkConsole.obj into the tk80.dll
4249
on windows.  If you build your own Tk main program, you no longer
4250
need to compile and link this yourself. (SKS)
4251
 
4252
-------- Released 8.0.3 to the Tcl Consortium CD-ROM project, 8/13/98 ------
4253
 
4254
10/5/98 (new feature) Added the event "MouseWheel" that will fire on
4255
Windows applications in response to mouse wheel movement.  You can
4256
bind to the MouseWheel event and use the %D substitution to get the
4257
delta the wheel moved.  The "event generate" command has also been
4258
enhanced with the -delta flag so you can generate these events from
4259
Tcl.  See the bind and event man pages for more details.  The listbox
4260
and text widgets' default bindings have been updated to understand
4261
MouseWheel events. (RJ)
4262
 
4263
10/12/98 (performance improvement) Added hash table to canvas widget
4264
that holds numeric ids for items.  The hash table makes item lookup
4265
almost constant time which improves certain canvas operations
4266
(exspecially for canvases with large number items).  Thanks to Mark
4267
Weissman  and Jan Nijtmans 
4268
for submitting this improvement.  (RJ)
4269
 
4270
10/15/98 (bug fix) The -fill option to text items in the canvas did
4271
not allow the empty string as an argument (meaning transparent) even
4272
though every other item type did.  Thanks to Sebastian Wangnick
4273
 for supplying this patch. (RJ)
4274
 
4275
10/20/98 (feature change) The Makefile and configure scripts have been
4276
changed for IRIX to build n32 binaries instead of the old 32 abi
4277
format.  If you have extensions built with the o32 abi's you will need
4278
to update them to n32 for them to work with Tcl.  (RJ)
4279
*** POTENTIAL INCOMPATIBILITY ***
4280
 
4281
11/10/98 (feature change) The Macintosh menus will use the Appearance Theme
4282
backgrounds, separators and menu shape, if Appearance version 1.0.1 or
4283
greater is installed.  The version of Appearance that shipped with MacOS 8.0
4284
so it will not work with a straight 8.0, but it will with MacOS 8.1 or later. (JI)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.