ChangeLog   [plain text]

2009-04-14  Stuart Cassoff  <>

	* unix/tcl.m4:	Removed -Wno-implicit-int from CFLAGS_WARNING.

2009-04-09  Don Porter  <>

	* generic/tk.h:	Restore _TCL guards around tcl.h inclusion to restore
	compat with early 8.4.* releases.  Thanks Stuart Cassoff. [Bug 1723812]

2009-02-28  Pat Thoyts  <>

	* generic/tkWindow.c: [Bug 2645457] check for dead windows after
	calling Tk_MakeWindowExist to avoid a crash when mapping dead windows.

2008-02-06  Daniel Steffen  <>

	* generic/tkImgPhoto.c:		fix leaks discovered with the Mac OS X
	* generic/tkMenu.c: Leaks tool.
	* macosx/tkMacOSXWm.c:

2009-01-16  Andreas Kupries  <>

	* win/tkWinWm.c (WmAttributesCmd): Fix a single use of
	SetWindowLongPtr which was not properly ifdef'd.

2008-11-04  Jeff Hobbs  <>

	* generic/tkPort.h: remove the ../unix/ header dir as the build
	system already has it, and it confuses builds when used with
	private headers installed.

2008-08-14  Daniel Steffen  <>

	* unix/tcl.m4 (SC_PATH_X):	check for libX11.dylib in addition to et al.

	* unix/configure: 		autoconf-2.13

2008-08-06  Joe English  <>

	* generic/tk.h: Fix for [Bug 2010422]: account for X11 changing
	constant LASTEvent.

2008-06-18  Daniel Steffen  <>

	* macosx/tkMacOSXCarbonEvents.c:	fix debug carbon event tracing;
	(InstallStandardApplicationEventHandler):	replace needless use of
	TkMacOSXInitNamedDebugSymbol() by standard TkMacOSXInitNamedSymbol().

	* macosx/tkMacOSXDebug.c:	revert 2007-11-09 commit making
	* macosx/tkMacOSXDebug.h:	TkMacOSXInitNamedDebugSymbol()
					available outside of debug builds.

	* macosx/tkMacOSXEmbed.c (TkpMakeWindow):	fix bug with missing
	* macosx/tkMacOSXSubwindows.c (XMapWindow):	focus on first map by
	only sending VisibilityNotify events once windows are mapped (rather
	than when they are created).

	* macosx/tkMacOSXWindowEvent.c (TkMacOSXProcessWindowEvent): fix
	return value.

2008-06-12  Daniel Steffen  <>

	* generic/tkPointer.c (Tk_UpdatePointer): fix failure to restore a
	global grab capture and to release the restrict window capture when
	releasing a button grab. Fixes segfault due to dangling reference to
	restrict window inside TkpSetCapture() implementation. [Bug 1991932]

	* macosx/tkMacOSXXStubs.c: sync with core-8-5-branch.

	* unix/tcl.m4 (SunOS-5.11): fix 64bit amd64 support with gcc & Sun cc.
	* unix/configure: autoconf-2.13

2008-04-17  Don Porter  <>

	*** 8.4.19 TAGGED FOR RELEASE ***

	* generic/tkCanvas.c:	Fix logic that determines when canvas item
	<Enter> event should fire.  Thanks to Sebastian Wangnick. [Bug 1327482]

2008-04-07  Jeff Hobbs  <>

	* generic/tkWindow.c (Initialize): fix double-free on Tk_ParseArgv
	* tests/main.test (main-3.*):      error. [Bug 1937135]

2008-04-07  Don Porter  <>

	* README:		Bump version number to 8.4.19
	* generic/tk.h:
	* unix/
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf-2.13
	* win/configure:

	* changes:		updates for 8.4.19 release.

2008-03-27  Daniel Steffen  <>

	* unix/tcl.m4 (SunOS-5.1x): fix 64bit support for Sun cc. [Bug 1921166]

	* unix/configure: autoconf-2.13

2008-02-27  Daniel Steffen  <>

	* macosx/tkMacOSXDraw.c: workaround leak in Carbon SetPortPenPixPat()
	API [Bug 1863346]; avoid repeated PixPat allocation/deallocation.

2008-02-06  Don Porter  <>

	*** 8.4.18 TAGGED FOR RELEASE ***

	* README:		Bump version number to 8.4.18
	* generic/tk.h:
	* unix/
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf-2.13
	* win/configure:

	* changes:		updates for 8.4.18 release.

2008-02-02  Daniel Steffen  <>

	* macosx/	add CFBundleLocalizations key, listing
	* unix/ (Darwin): 	all library/msgs locales.

	* unix/ (Darwin):	correct Info.plist year substitution in
					non-framework builds.

	* unix/configure:		autoconf-2.13

2008-02-01  Reinhard Max  <>

	* generic/tkImgGIF.c: Fixed a buffer overflow (CVE-2008-0553).
	* tests/imgPhoto.test: Added a test for the above.

2007-12-31  Don Porter  <>

	*** 8.4.17 TAGGED FOR RELEASE ***

	* changes:		updates for 8.4.17 release.
	* unix/	Add "hu" to LOCALES.
	* unix/configure:	autoconf-2.13

2007-12-18  Daniel Steffen  <>

	* macosx/tkMacOSXWm.c (ApplyMasterOverrideChanges): Revert 2007-10-26
	change to window class of transient toplevels that are not also
	overrideredirect. [Bug 1845899]

	* macosx/tkMacOSXWm.c (ApplyMasterOverrideChanges): Implement more
	* macosx/tkMacOSXMouseEvent.c (BringWindowForward): X11-like transient
	* macosx/tkMacOSXSubwindows.c (XDestroyWindow):     behaviour by adding
	transient windows to a window group owned by the master window, this
	ensures transients always remain in front of and are collapsed with the
	master; bring master to front when selecting transient windows; restore
	default window group of transients if master destroyed. [Bug 1845899]

	* macosx/tkMacOSXPrivate.h: fix Panther build.

2007-12-13  Jeff Hobbs  <>

	* generic/tkMenubutton.c (ConfigureMenuButton): trace the
	-textvariable even if an image exists as it may use -compound.

2007-12-12  Jeff Hobbs  <>

	* generic/tkText.c (DeleteChars, TextEditCmd, updateDirtyFlag): 
	* tests/text.test (text-25.10.1,25.11.[12]): 
	Don't require [update idle] to trigger Modified event [Bug 1809538]
	Modified virtual event should only fire on state change [Bug 1799782]
	Make sure we delete chars before triggering <<Modified>> [Bug 1737288]

2007-12-05  Jeff Hobbs  <>

	* win/tkWinInt.h: remove CS_CLASSDC (not recommended for any apps now)
	* win/tkWinX.c:   and simplify WNDCLASS to one style.
	* win/tkWinWm.c:  Reduce wrapper update for exStyle to toolwindow
	change only and set WS_EX_LAYERED as sticky (once set on a window,
	do not remove it) to reduce alpha transition flicker.

	* win/tkWinDraw.c: Applied [Patch 1723362] for transparent bitmaps.

2007-11-26  Kevin Kenny  <>
	Backport from HEAD of [Bug #1822391]:
	* generic/tkImgPPM.c (StringReadPPM): Corrected a comparison
	whose sense was reversed that resulted in reading beyond the
	end of the input buffer on malformed PPM data. [Bug #1822391]
	* tests/imgPPM.test (imgPPM-4.1): Added test case that
	exercises [Bug #1822391].
2007-11-09  Daniel Steffen  <>

	Backport from HEAD of Aqua changes from 2007-10-12 to 2007-11-09:

	* macosx/tkMacOSXCarbonEvents.c
	(InstallStandardApplicationEventHandler): on Mac OS X Leopard, replace
	the 2005-11-27 approach of installing the standard application handler
	by calling RAEL and immediately longjmping out of it from an event
	handler, as that now leads to crashes in -[NSView unlockFocus] whenever
	HIToolbox uses Cocoa in Leopard (Help menu, Nav Services, Color
	Picker). Instead call InstallStandardEventHandler() on the application
	and menubar event targets, as Leopard ISEH finally handles these
	correctly. Unfortunately need a HIToolbox-internal SPI to retrieve the
	menubar event target, no public API appears have that functionality.

	* macosx/tkMacOSXDebug.c:	make TkMacOSXInitNamedDebugSymbol()
	* macosx/tkMacOSXDebug.h:	available outside of debug builds as
					the new Leopard ISAEH needs it.

	* macosx/tkMacOSXButton.c:	replace HiliteControl() by modern API
	* macosx/tkMacOSXMenubutton.c:	for activation and enabling;
					distinguish inactive and disabled
					look&feel; correct activation handling
					to match that of container toplevel.

	* macosx/tkMacOSXMenubutton.c:	correct size computation of bevelbutton
					variant to match that of buttons;
					fix crash with bitmap due to NULL GC;
					delay picParams setup until needed;
					formatting cleanup. [Bug 1824521]

	* library/menu.tcl:		correct handling of menubutton "active"
					state on Aqua to match that of buttons.

	* macosx/tkMacOSXDefault.h:	correct button & menubutton active
					foreground and background colors and
					menubutton border width.

	* macosx/tkMacOSXWindowEvent.c:	handle kEventWindowExpanding carbon
	* macosx/tkMacOSXCarbonEvents.c: event instead of kEventWindowExpanded
					to ensure activate event arrives after
					window is remapped, also need to
					process all Tk events generated by
					remapping in the event handler to
					ensure children are remapped before
					activate event is processed.

	* macosx/tkMacOSXSubwindows.c:	add pixmap size field to MacDrawable
	* macosx/tkMacOSXInt.h:		struct; add flag for B&W pixmaps.
	* macosx/tkMacOSXDraw.c:
	* macosx/tkMacOSXEmbed.c:
	* macosx/tkMacOSXMenu.c:

	* macosx/tkMacOSXPrivate.h:	correct Leopard HIToolboxVersionNumber.

	* macosx/tkMacOSXMenus.c: add "Run Widget Demo" menu item to the
	default Edit menu along with associated carbon event handler enabling
	the item only if demo files are installed; cleanup handling of "About"
	and "Source" menu items.

	* library/bgerror.tcl:		fix background of detail text on Aqua.

	* library/console.tcl:		sync aqua font size with HEAD.

	* library/demos/widget:		Aqua GOOBE.

	* macosx/tkMacOSXEvent.c (TkMacOSXProcessCommandEvent): fix boolean arg
	* macosx/tkMacOSXColor.c (GetThemeColor): improve translation of RGB
					pixel values into RGBColor.

	* library/demos/widget:		increase height of main window text
					widget to use more of the available
					vertical space.

	* macosx/tkMacOSXDraw.c:	replace all (internal) use of QD region
	* macosx/tkMacOSXSubwindows.c:	API by HIShape API, with conversion to
	* macosx/tkMacOSXWindowEvent.c:	QD regions only when required by legacy
	* macosx/tkMacOSXPrivate.h:	Carbon or Tk API.
	* macosx/tkMacOSXRegion.c:
	* macosx/tkMacOSXDebug.c:
	* macosx/tkMacOSXDebug.h:

	* macosx/tkMacOSXInt.h:		replace MacDrawable's QD RgnHandles
	* macosx/tkMacOSXEmbed.c:	clipRgn, aboveClipRgn & drawRgn by
	* macosx/tkMacOSXMenu.c:	HIShapeRefs visRgn & aboveVisRgn and
	* macosx/tkMacOSXSubwindows.c:	CGRect drawRect.

	* macosx/tkMacOSXWindowEvent.c:	remove use of QD port vis rgn in window
	* macosx/tkMacOSXSubwindows.c:	update rgn calculation, manually excise
	* macosx/tkMacOSXWm.c:		growbox from toplevel clip rgn instead.

	* macosx/tkMacOSXDraw.c:	replace use of QD port clip rgn by new
	* macosx/tkMacOSXPrivate.h:	clipRgn fld in TkMacOSXDrawingContext;
					handle QD/CG drawing mismatches in
					XCopyArea, XCopyPlane and TkPutImage;
					cleanup/speedup CGContext setup in

	* macosx/tkMacOSXDraw.c:	change TkMacOSXSetupDrawingContext() to
	* macosx/tkMacOSXEntry.c:	return boolean indicating whether
	* macosx/tkMacOSXFont.c:	drawing is allowed (and was setup) or
	* macosx/tkMacOSXMenu.c:	not (e.g. when clipRgn is empty).

	* macosx/tkMacOSXSubwindows.c:	signal that drawable is a pixmap via
	* macosx/tkMacOSXInt.h:		new explicit TK_IS_PIXMAP flag instead
					of a NULL cligRgn field.

	* macosx/tkMacOSXRegion.c:	add wrappers for missing/buggy HIShape
	* macosx/tkMacOSXPrivate.h:	API, and private helpers to operate on
					HIShapeRefs & convert to/from TkRegion.

	* macosx/tkMacOSXRegion.c:	add Tkp{Retain,Release}Region() API for
	* macosx/tkMacOSXInt.h:		TkRegion.

	* xlib/xgc.c:			factor out alloc/free of GC clip_mask;
	* macosx/tkMacOSXXStubs.c:	manage clip rgn lifetime with new

	* macosx/tkMacOSXButton.c:	delay picParams setup until needed.

2007-10-30  Jeff Hobbs  <>

	* library/entry.tcl: don't error with Clear event. [Bug 1509288]

2007-10-26  Daniel Steffen  <>

	* macosx/tkMacOSXWm.c (ApplyMasterOverrideChanges): fix window class of
	transient toplevels that are not also overrideredirect. [Bug 1816252]

	* macosx/tkMacOSXDialog.c:	sync with HEAD.

	* unix/ (Darwin):	add support for 64-bit X11.
	* unix/configure:		autoconf-2.13

2007-10-25  Don Porter  <>

	* generic/tkPlace.c:	Prevent segfault in place geometry manager.
	Thanks to Colin McDonald.  [Bug 1818491]

2007-10-11  Donal K. Fellows  <>

	* library/msgs/hu.msg: Added message catalog for Hungarian.
	[Patch 1800742] (rezso)

2007-10-11  Daniel Steffen  <>

	* macosx/tkMacOSXWm.c (TkMacOSXGrowToplevel): manually constrain resize
	limitBounds to maxBounds, works around SectRect() mis-feature (return
	zero rect if input rect has zero height/width). [Bug 1810818]

2007-10-02  Don Porter  <>

	* README:		Bump version number to 8.4.17
	* generic/tk.h:
	* unix/	Removed "es_ES" entry in LOCALES
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf-2.13
	* win/configure:

2007-09-18  Daniel Steffen  <>

	*** 8.4.16 TAGGED FOR RELEASE ***

	* changes: updates for 8.4.16 release.

2007-09-15  Daniel Steffen  <>

	* unix/tcl.m4 (SunOS-5.1x): 	replace direct use of '/usr/ccs/bin/ld'
					in SHLIB_LD by 'cc' compiler driver.
	* unix/configure: autoconf-2.13

2007-09-11  Reinhard Max  <>

	* generic/tkImgGIF.c: Fixed a buffer overrun that got triggered by
	multi-frame interlaced GIFs that contain subsequent frames that
	are smaller than the first one.

	* tests/imgPhoto.test: Added a test for the above.

2007-09-11  Daniel Steffen  <>

	* unix/	backport of TK_INCLUDE_SPEC addition.
	* unix/	[Bug 777203]
	* unix/configure: autoconf-2.13

2007-09-11  Pat Thoyts  <>

	* win/ Fix for AMD64 symbols target builds.
	* win/

2007-09-05  Pat Thoyts  <>

	* win/rc/tk_base.rc: Backported the BASE_NO_TK_ICON patch to assist in
	creating tclkits and/or basekits with corrent resources.

2007-09-04  Pat Thoyts  <>

	* tests/wm.test: -transparentcolor added to windows wm attributes tests

2007-08-27  Daniel Steffen  <>

	* macosx/tkMacOSXDialog.c (Tk_ChooseColorObjCmd): correct setting of
	interp result [Bug 1782105]; fix -initialcolor overwriting last color
	selection; style cleanup.

2007-08-07  Daniel Steffen  <>

	* unix/	add support for compile flags specific to
				object files linked directly into executables.

	* unix/ (Darwin): only use -seg1addr flag when prebinding;
	use -mdynamic-no-pic flag for object files linked directly into exes.

	* unix/configure: autoconf-2.13

2007-07-25  Daniel Steffen  <>

	* macosx/tkMacOSXDialog.c (NavServicesGetFile): reset interp result on
	nav dialog cancel. [Bug 1743786]

2007-07-09  Daniel Steffen  <>

	* macosx/tkMacOSXWindowEvent.c (Tk_MacOSXIsAppInFront):	use process mgr
	* macosx/tkMacOSXMouseEvent.c:				to determine if
	app is in front instead of relying on activate/deactivate events (which
	may arrive after this info is needed, e.g. during window drag/click
	activation); replace other process mgr use to get this info with calls
	to Tk_MacOSXIsAppInFront().

	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): correct
	window click activation, titlebar click handling and background window
	dragging/growing in the presence of grabs or window-/app-modal windows;
	fix window click activation bringing all other app windows to front.

	* macosx/tkMacOSXDraw.c (TkPutImage): handle non-native XImage byte and
	bit orders; reverse bits via xBitReverseTable instead of InvertByte().

2007-07-04  Jeff Hobbs  <>

	* macosx/tkMacOSXXStubs.c (DestroyImage): Fixed crash in release
	of image data for images coming from XGetImage, introduced
	2007-06-23. (das)

2007-07-02  Daniel Steffen  <>

	* xlib/xgc.c (XCreateGC): correct black and white pixel values used to
	initialize GC foregrund and background fields.

	* macosx/tkMacOSXColor.c: add debug messages for unknown pixel values.

	*  macosx/tkMacOSXDraw.c (TkMacOSXRestoreDrawingContext): don't restore
	port state if it wasn't altered by TkMacOSXSetupDrawingContext().

2007-06-29  Daniel Steffen  <>

	* xlib/ximage.c:		bitmaps created from the static .bmp
					arrays always have LSBFirst bit order.

	* macosx/tkMacOSXScrlbr.c: correct int <-> dobule conversion issues
	that could lead to Carbon getting confused about scrollbar thumb size.

	* macosx/tkMacOSXDraw.c (XCopyArea, XCopyPlane, TkPutImage) use
	TkMacOSX{Setup,Restore}DrawingContext() to setup/restore clip & colors.
	(TkMacOSXSetupDrawingContext, TkMacOSXRestoreDrawingContext): add save
	and restore of QD port clip region; factor out clip region code common
	to CG and QD branches; check for port and context validity; handle
	tkPictureIsOpen flag during QD port setup.
	(TkScrollWindow): remove unnecessary scroll region manipulation

	* macosx/tkMacOSXDraw.c:	remove second global QD temp region
	* macosx/tkMacOSXInt.h:		(no longer necessary) and rename
	* macosx/tkMacOSXRegion.c:	remaining global QD temp region.
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWindowEvent.c:

	* macosx/tkMacOSXDraw.c: 	make useCGDrawing variable MODULE_SCOPE
	* macosx/tkMacOSXFont.c: 	and sync formatting with HEAD.

	* macosx/tkMacOSXButton.c:	reduce reliance on current QD port
	* macosx/tkMacOSXColor.c:	setting and remove unnecessary
	* macosx/tkMacOSXDebug.c:	references to a drawable's QD port,
	* macosx/tkMacOSXDebug.h:	notably replace GetWindowFromPort(
	* macosx/tkMacOSXDialog.c:	TkMacOSXGetDrawablePort()) idiom by new
	* macosx/tkMacOSXDraw.c:	TkMacOSXDrawableWindow() and change
	* macosx/tkMacOSXKeyEvent.c:	TkMacOSXSetColorInPort() to take a port
	* macosx/tkMacOSXMenu.c:	argument.
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXScale.c:
	* macosx/tkMacOSXScrlbr.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXInt.h:		  	factor out macros, declarations
	* macosx/tkMacOSXPrivate.h (new): 	and prototypes that are purely
	internal and private to the 'macosx' sources into a new internal header
	file that does _not_ get installed into Tk.framework/PrivateHeaders.

	* macosx/tkMacOSXButton.c: 		#include new tkMacOSXPrivate.h
	* macosx/tkMacOSXCarbonEvents.c:	instead of tkMacOSXInt.h.
	* macosx/tkMacOSXClipboard.c:
	* macosx/tkMacOSXColor.c:
	* macosx/tkMacOSXCursor.c:
	* macosx/tkMacOSXDebug.c:
	* macosx/tkMacOSXDialog.c:
	* macosx/tkMacOSXDraw.c:
	* macosx/tkMacOSXEntry.c:
	* macosx/tkMacOSXEvent.c:
	* macosx/tkMacOSXFont.c:
	* macosx/tkMacOSXHLEvents.c:
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXKeyEvent.c:
	* macosx/tkMacOSXMenu.c:
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXMenus.c:
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXNotify.c:
	* macosx/tkMacOSXRegion.c:
	* macosx/tkMacOSXScale.c:
	* macosx/tkMacOSXScrlbr.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.c:
	* macosx/tkMacOSXXStubs.c:

2007-06-23  Daniel Steffen  <>

	* generic/tkImgPhoto.c (ImgPhotoConfigureInstance, DisposeInstance):
	use XDestroyImage instead of XFree to destroy XImage; replace runtime
	endianness determination by compile-time check for WORDS_BIGENDIAN.

	* xlib/ximage.c (XCreateBitmapFromData): use XCreateImage and
	XDestroyImage instead of creating XImage structure manually.

	* macosx/tkMacOSXXStubs.c (XCreateImage, DestroyImage): correct XImage
	bytes_per_line/bitmap_pad calculations and endianness setting; free
	image data and XImage structure at destruction; formatting cleanup.

	* macosx/tkMacOSXDialog.c (NavServicesGetFile): disable app-modal
	sheet variant of nav dialog on OS versions where it causes problems.

2007-06-09  Jeff Hobbs  <>

	* win/tkWinWm.c (WmIconphotoCmd): fix wm iconphoto RGBA issues.
	[Bug 1467997] (janssen)

	* win/tkWinMenu.c (TkWinHandleMenuEvent): improve handling to
	allow for unicode char menu indices and not use CharUpper on Tcl
	utf strings. [Bug 1734223]

2007-06-09  Daniel Steffen  <>

	* macosx/tkMacOSXColor.c: fix issues with TK_{IF,ELSE,ENDIF} macros;
	* macosx/tkMacOSXDraw.c:  implement Jaguar equivalent of unavailable
	* macosx/tkMacOSXEntry.c: kHIToolboxVersion global; panic at startup
	* macosx/tkMacOSXEvent.c: if MAC_OS_X_VERSION_MIN_REQUIRED constraint
	* macosx/tkMacOSXInit.c:  is not satisfied.
	* macosx/tkMacOSXInt.h:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXDraw.c (XCopyArea, XCopyPlane, TkPutImage)
	(TkMacOSXSetupDrawingContext): factor out common code and standardize
	setup/restore of port, context and clipping; formatting cleanup.

	* macosx/tkMacOSXWindowEvent.c:	add error checking.
	* macosx/tkMacOSXMenu.c:	fix gcc3 warning.
	* macosx/tkMacOSXScrlbr.c:	fix testsuite crash.
	* macosx/tkMacOSXSubwindows.c:	formatting cleanup.
	* macosx/tkMacOSXRegion.c:	fix typos.
	* macosx/tkMacOSXScale.c:

2007-06-06  Daniel Steffen  <>

	* macosx/tkMacOSXInt.h: use native debug message API when available.

	* macosx/tkMacOSXMouseEvent.c (GenerateMouseWheelEvent): enable
	processing of mousewheel events in background windows.

	* macosx/tkMacOSXScrlbr.c: modernize checks for active/front window.
	* macosx/tkMacOSXScale.c:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXColor.c: factor out verbose #ifdef checks of
	* macosx/tkMacOSXEntry.c: and runtime checks of kHIToolboxVersion into
	* macosx/tkMacOSXEvent.c: new TK_{IF,ELSE,ENDIF}_MAC_OS_X macros.
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXInt.h:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXDraw.c:  factor out clip clearing in QD ports;
	* macosx/tkMacOSXEntry.c: formatting cleanup.

	* unix/ (Darwin): link the Tk and Wish plists into their
	binaries in all cases; fix 64bit arch removal in fat 32&64bit builds. 

	* unix/tcl.m4 (Darwin): fix CF checks in fat 32&64bit builds. 
	* unix/configure: autoconf-2.13

2007-06-05  Donal K. Fellows  <>

	* doc/photo.n: Clarified the fact that base64 support for the -data
	option is not universal. [Bug 1731348] (matzek)

2007-06-04  Daniel Steffen  <>

	* macosx/tkMacOSXMenu.c: add error checking; whitespace cleanup.

	* macosx/tkMacOSXDraw.c:	sync comment formatting with HEAD.
	* macosx/tkMacOSXEmbed.c:
	* macosx/tkMacOSXEntry.c:
	* macosx/tkMacOSXKeyEvent.c:
	* macosx/tkMacOSXKeyboard.c:
	* macosx/tkMacOSXMenus.c:
	* macosx/tkMacOSXSend.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.c:
	* macosx/tkMacOSXXStubs.c:

2007-06-02  Daniel Steffen  <>

	* macosx/tkMacOSXMenu.c (TkpPostMenu): ensure cascade menus display in
	posted menus that are not part of the menubar or attached to a
	menubutton (fixes bug reported on tcl-mac by Linus Nyberg).

2007-05-31  Daniel Steffen  <>

	* macosx/tkMacOSXWindowEvent.c (GenerateUpdateEvent): complete all
	pending idle-time redraws before newly posted Expose events are
	processed; add bounds of redrawn windows to update region to ensure all
	child windows overdrawn by parents are redrawn.

	* macosx/tkMacOSXWindowEvent.c:	centralize clip and window invalidation
	* macosx/tkMacOSXSubwindows.c: 	after location/size changes in the
	* macosx/tkMacOSXWm.c:		BoundsChanged carbon event handler;
	correct/add window invalidation after window attribute changes.

	* macosx/tkMacOSXSubwindows.c (XResizeWindow, XMoveResizeWindow,
	XMoveWindow): factor out common code dealing with embedded and
	non-toplevel windows; remove unnecessary clip and window invalidation.

	* macosx/tkMacOSXButton.c (TkpDisplayButton): move clip setup closer to
	native button drawing calls.

	* macosx/tkMacOSXWm.c (TkMacOSXIsWindowZoomed, TkMacOSXZoomToplevel):
	correct handling of gridded windows in max size calculations.

	* macosx/tkMacOSXEvent.c (TkMacOSXFlushWindows): use HIWindowFlush API
	when available.

	* macosx/tkMacOSXColor.c:	cleanup whitespace and formatting.
	* macosx/tkMacOSXDraw.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWm.c:

	* generic/tkFont.c:	#ifdef out debug msg printing to stderr.

2007-05-30  Don Porter  <>

	* generic/tk.h: Correct placement of #include <tcl.h> [Bug 1723812].

	* README:		Bump version number to 8.4.16
	* generic/tk.h:
	* unix/
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf-2.13
	* win/configure:

2007-05-30  Daniel Steffen  <>

	* library/bgerror.tcl:	standardize dialog option & button size
	* library/dialog.tcl:	modifications done when running on on Aqua.
	* library/msgbox.tcl:

	* library/demos/button.tcl: set button highlightbackground on Aqua.

	* generic/tkFileFilter.c (AddClause): fix warning.

	* macosx/tkMacOSXMenu.c (DrawMenuSeparator): use DrawingContext API.

	* macosx/tkMacOSXWindowEvent.c (ClearPort): clip to updateRgn.

	* macosx/tkMacOSXDebug.c:	factor out debug region flashing.
	* macosx/tkMacOSXDebug.h:
	* macosx/tkMacOSXDraw.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWindowEvent.c:

	* macosx/tkMacOSXEvent.c:	cleanup whitespace and formatting.
	* macosx/tkMacOSXFont.c:
	* macosx/tkMacOSXRegion.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.c:
	* macosx/tkMacOSXXStubs.c:
	* xlib/xgc.c:

2007-05-25  Don Porter  <>

	*** 8.4.15 TAGGED FOR RELEASE ***

	* unix/README:	Updates and typo corrections.  [Bug 1724841]

2007-05-16  Don Porter  <>

	* tests/bind.test:	Make test suite more SCIM-tolerant [Bug 1609316]

2007-05-15  Don Porter  <>

	* changes: updates for 8.4.15 release.

	* generic/tkGrid.c: Stop crash due to list intrep shimmer [Bug 1677608]

2007-05-09  Daniel Steffen  <>

	* generic/tkFileFilter.c (AddClause): OSType endianness fixes.

	* library/palette.tcl (tk::RecolorTree): handle color options with
	empty value, fixes error due to emtpy -selectforeground (reported on
	tcl-mac by Russel E. Owen).

	* macosx/tkMacOSXWindowEvent.c:	ensure window is brought to the front
	* macosx/tkMacOSXMouseEvent.c:	at the start of a window drag (except
	* macosx/tkMacOSXInt.h:		when cmd key is down); formatting and
					whitespace fixes.

	* macosx/tkMacOSXDialog.c (Tk_GetSaveFileObjCmd): add -filetypes option

	* macosx/tkMacOSXEmbed.c (TkpMakeWindow, TkpUseWindow): fix sending of
	Visibility event for embedded windows (fixes frame-3.9 hang).

	* macosx/tkMacOSXScrlbr.c (ScrollbarBindProc):		fix testsuite
	* macosx/tkMacOSXSubwindows.c (TkMacOSXUpdateClipRgn):	crashes by
	adding sanity checks.

	* macosx/tkMacOSXButton.c: fix debug msg typo.

2007-04-29  Daniel Steffen  <>

	* generic/tkCanvas.c:	allow -selectforeground option to be None; add
	* generic/tkCanvText.c:	fallback to fgColor when selFgColor is None
	* generic/tkEntry.c:	(new default on aqua to match native L&F).
	* generic/tkListbox.c:
	* generic/tkText.c:

	* generic/tkCanvas.c:	   add support for bypassing all of Tk's double
	* generic/tkEntry.c:	   buffered drawing into intermediate pixmaps
	* generic/tkFrame.c:	   (via TK_NO_DOUBLE_BUFFERING #define), it is
	* generic/tkListbox.c:	   unnecessary & wasteful on aqua where all
	* generic/tkPanedWindow.c: drawing is already double-buffered by the
	* generic/tkTextDisp.c:	   window server. (Use of this on other
	* macosx/tkMacOSXPort.h:   platforms would only require implementation
	* unix/tkUnixScale.c:	   of TkpClipDrawableToRect()).

	* library/bgerror.tcl:	on aqua, use moveable alert resp. modal dialog
	* library/dialog.tcl:	window class and corresponding system
				background pattern; fix button padding.

	* library/tearoff.tcl:	correct aqua menu bar height; vertically offset
	* library/tk.tcl:	aqua tearoff floating window to match menu.

	* library/demos/menu.tcl:   on aqua, use custom MDEF and tearoffs;
	* library/demos/menubu.tcl: correct menubutton toplevel name.

	* library/demos/puzzle.tcl: fix button size & padding for aqua.

	* macosx/tkMacOSXCarbonEvents.c: add window event target carbon event
	* macosx/tkMacOSXEvent.c:	 handler for all kEventClassWindow and
	* macosx/tkMacOSXEvent.h:	 kEventClassMouse events; move all
	* macosx/tkMacOSXNotify.c:	 remaining events except for
	* macosx/tkMacOSXWindowEvent.c:	 kEventClassKeyboard from dispatcher to
	application event handler; pass event handler callRef downstream; fix
	debug event tracing; process all tcl event types in carbon event timer;
	delay carbon event timer first fire; add TkMacOSXTrackingLoop() to mark
	enter/exit of event tracking loop during which all tcl events but only
	carbon update events should be processed by the timer (replaces various
	calls to Tcl_SetServiceMode()); rename TkMacOSXReceiveAndProcessEvent()
	to TkMacOSXReceiveAndDispatchEvent(), move it from tkMacOSXEvent.c to
	tkMacOSXCarbonEvents.c and modify it to dequeue only update events
	during a tracking loop; add TkMacOSXRunTclEventLoop() to standardize
	the various ways in use to run the tcl event loop; add handling of
	kEventClassAppearance events (for ScrollBarVariantChanged event).

	* macosx/tkMacOSXDialog.c:	use new TkMacOSXTrackingLoop() around
	* macosx/tkMacOSXEvent.c:	blocking API that puts up modal dialogs
	* macosx/tkMacOSXMenu.c:	or when entering/exiting menu/control
	* macosx/tkMacOSXMouseEvent.c:	tracking, window dragging and other
	* macosx/tkMacOSXScale.c:	mouse tracking loops.
	* macosx/tkMacOSXScrlbr.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXDialog.c:	use new TkMacOSXRunTclEventLoop()
	* macosx/tkMacOSXScale.c:	instead of Tcl_DoOneEvent(),
	* macosx/tkMacOSXScrlbr.c:	Tcl_ServiceAll(), TclServiceIdle()
	* macosx/tkMacOSXWindowEvent.c:	and Tcl_GlobalEval("update idletasks").

	* macosx/tkMacOSXColor.c: make available as Tk system colors all
	* macosx/tkMacOSXPort.h:  appearance manager brushes, text colors and
	backgrounds with new and legacy names, as well as the fully transparent
	color "systemTransparent"; add TkMacOSXSetColorIn{Port,Context}() to
	directly set an X pixel color value in the current QD port resp. the
	given CG context without requiring passage through rgb representation
	(lossy for most system colors); modernize/remove Classic-era code;
	replace crufty strcmp() elseifs by Tcl_GetIndexFromObjStruct().

	* macosx/tkMacOSXButton.c:	use new TkMacOSXSetColorInPort()
	* macosx/tkMacOSXDraw.c:	instead of setting rgb color directly
	* macosx/tkMacOSXMenubutton.c:	to allow for non-rgb system colors.

	* macosx/tkMacOSXCursor.c: implement "none" cursor as on other
	platforms [Patch 1615427]; add all missing appearance manager cursors.

	* macosx/tkMacOSXDefault.h: set SELECT_FG_COLORs to None to match aqua
	L&F; use standard system color names; use new 'menu' system font;
	correct default scrollbar width.

	* macosx/tkMacOSXDraw.c: 	standardize initialization, use and
	* macosx/tkMacOSXInt.h: 	emptying of various static temp rgns
	* macosx/tkMacOSXRegion.c:	onto two global RgnHandles; in debug
	* macosx/tkMacOSXSubwindows.c:	builds, verify emptiness of these temp
	* macosx/tkMacOSXWindowEvent.c:	rgns before use.

	* macosx/tkMacOSXDraw.c: add TkMacOSX{Setup,Restore}DrawingContext() to
	* macosx/tkMacOSXInt.h:  abstract common setup & teardown of drawing
	environment (for both CG and QD); save/restore QD theme drawing state;
	handle GC clip region; add TkpClipDrawableToRect() to allow clipped
	drawing into drawable regardless of GC used; use new system color
	"systemWindowHeaderBackground" to setup background in themed toplevels;
	correct implementation of TkMacOSXMakeStippleMap().

	* macosx/tkMacOSXEntry.c: use new TkMacOSXSetupDrawingContext() and
	* macosx/tkMacOSXFont.c:  TkMacOSXRestoreDrawingContext() instead of
	various setup/teardown procs like TkMacOSX{SetUp,Release}CGContext(),
	TkMacOSXQuarz{Start,End}Draw(), TkMacOSXSetUpGraphicsPort() etc.

	* macosx/tkMacOSXEmbed.c: add CG context and drawable clip rgn fields
	* macosx/tkMacOSXInt.h:   to MacDrawable struct.
	* macosx/tkMacOSXSubwindows.c:

	* macosx/tkMacOSXDialog.c: make -parent option of tk_getOpenFile et al.
	use the sheet version of NavServices dialogs; ensure native parent win
	exists before using StandardSheet API for tk_messageBox [Bug 1677611];
	force sheets to behave like app-modal dialogs via WindowModality() API;
	use more modern ColorPicker API.

	* macosx/tkAboutDlg.r: use themed movable modal dialog, fix (c) year.

	* macosx/tkMacOSXEntry.c:  take xOff/yOff of MacDrawable into account
	when computing locations/bounds to ensure correct posititioning when
	not drawing into intermediate pixmap.

	* macosx/tkMacOSXFont.c: use appearance manager API to map system font
	* macosx/tkMacOSXFont.h: names to TkFonts; add "menu" system font for
	menu item text drawing from MDEF; disable broken QD stippling.

	* macosx/tkMacOSXMenu.c:		large-scale rewrite of custom
	* macosx/tkMacOSXMenu.r (removed):	MDEF and related code that
	* unix/			restores many longtime-MIA
	features to working order (e.g. images, custom colors & fonts in menus
	etc); implement compound menu items; use Appearance Mgr and ThemeText
	APIs to mimic native MDEF as closely as possible when default "menu"
	system font is used; remove now obsolete SICN drawing code and

	* macosx/tkMacOSXCarbonEvents.c: handle additional menu carbon events
	* macosx/tkMacOSXEvent.c:	 in order to support <<MenuSelect>> in
	* macosx/tkMacOSXMenu.c:	 the menubar and in menus that are not
	* macosx/tkMacOSXMenus.c:	 using the custom MDEF [Bug 1620826];
	fix early and missing clearing of current Tk active menu entry; fix
	extraneous sending of <<MenuSelect>> during active menu entry clearing.

	* macosx/tkMacOSXMouseEvent.c: add support for async window dragging by
	the window server; set the corresponding window attribute by default.

	* macosx/tkMacOSXMouseEvent.c: rationalized handling order of
	non-mousedown events; add TkMacOSXModifierState() to retrieve the
	current key modifiers in carbon format.

	* macosx/tkMacOSXScrlbr.c: use appearance manager API to retrieve
	scrollbar component metrics; add awareness of multiple possibilites for
	scrollbar arrow position in aqua and handle user changes to arrow
	position pref; handle difference in metrics of small & large scrollbar
	variants; handle aqua "jump to here" scrollbar behaviour; correct
	computation of scroll view size and position; enforce min scrollbar
	height to avoid scrollbar component overlap; erase scrollbar area
	outside of standard width; remove broken auto-adjust code; account for
	window class when leaving space for grow box; remove code to manually
	draw grow box; use modern API for thumb scroll proc; replace
	HiliteControl() by modern API; replace control mgr constants with
	appearance mgr equivalents.

	* macosx/tkMacOSXSubwindows.c: use SetWindowBounds() API instead of
	SizeWindow(); invalidate clip regions after X{Map,Unmap}Window as fix
	for [Bug 940117] made them dependent on mapping state; remove unneeded
	calls to TkMacOSXInvalClipRgns() and unnecessary setting of QD port;
	use native-endian pixmap on intel; remove obsolete pixmap pix locking.

	* macosx/tkMacOSXWindowEvent.c: handle only the first of a batch of
	kEventAppAvailableWindowBoundsChanged events sent per transaction;
	handle kEventWindowBoundsChanged event to support live window resizing
	and centralized sending of location/size changed ConfigureNotify
	events; ensure HIGrowBox is redrawn after bounds change; constrain
	window after dragging to ensure titlebar is not inacessible
	offscreen or under dock/menubar; handle kEventWindowGetRegion and
	kEventWindowDrawContent for transparent windows to mark resp. paint
	content region as transparent; handle kEventWindowConstrain for
	fullscreen windows to ensure bounds match new screen size; enter/exit
	fullscreen UIMode upon activation/deactivation of fullscreen window.

	* macosx/tkMacOSXWm.c: use live-resize and async-drag carbon window
	* macosx/tkMacOSXWm.h: attributes for toplevels by default; implement
	new [wm attributes] -topmost, -transparent and -fullscreen; refactor
	WmAttributesCmd() parallelling the tkUnixWm.c implementation, use thus
	factored proc to set proxy icon from [wm iconbitmap]; dynamically
	determine default values for toplevel min and max sizes (similar to
	tkWinWm.c impl): min sizes depend on window class & attributes to
	ensure visibility of all titlebar widgets and grow box, max sizes
	depend on maximal window bounds for all active displays; factor out
	code that puts into effect changes to master or override_redirect; use
	RepositionWindow() API to determine staggered initial window bounds;
	correct resize limit calculations, handle gridding and use modern
	resize API in TkMacOSXGrowToplevel(); remove sending of ConfigureNotify
	after resize or zoom (now handled by BoundsChanged handler); correct
	composite carbon window attribute handling, remove currently unusable
	attributes and add new attributes in [tk::unsupported::MacWindowStyle];
	ensure validity of window class and attributes before use; apply
	changes to window class when handling carbon window attribute changes
	(if HIWindowChangeClass() API available); add debug build warning
	message when deprecated window style is used instead of window class;
	use transparent HIGrowBox for resizable windows; avoid unnecessary
	calls to window structure width API; use tcl time API in TkpGetMS();
	add TkMacOSXEnterExitFullscreen() to enter/exit UIMode with dock and
	menubar hidden; restrict wmTracing output to debug builds; remove
	unneeded calls to TkMacOSXInvalClipRgns() and unnecessary setting of QD
	port; workaround GetWindowStructureWidths() Carbon bug (bogus results
	for never-mapped floating windows).

	* macosx/tkMacOSXXStubs.c (TkMacOSXDisplayChanged): add maximal window
	bounds field to Screen record (in ext_data), computed as the union of
	available window positioning bounds of all graphics devices (displays).

	* macosx/tkMacOSXBitmap.c: fix macRoman encoding leak.
	* macosx/tkMacOSXCursor.c:
	* macosx/tkMacOSXDebug.c (TkMacOSXCarbonEventToAscii): use static
	* macosx/tkMacOSXDebug.h: buffer to simplify callers; const fixes.

	* macosx/tkMacOSXBitmap.c: use more efficient QDSwapPort() instead of
	* macosx/tkMacOSXButton.c: GetPort()/SetPort()/GetGWorld()/SetGWorld().
	* macosx/tkMacOSXDraw.c:
	* macosx/tkMacOSXFont.c:
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXScale.c:
	* macosx/tkMacOSXScrlbr.c:
	* macosx/tkMacOSXXStubs.c:

	* macosx/tkMacOSXColor.c: use kHIToolboxVersionNumber for runtime OS
	* macosx/tkMacOSXEntry.c: version check rather than Gestalt() etc.
	* macosx/tkMacOSXInt.h:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXDraw.c: remove obsolete and now incorrect
	* macosx/tkMacOSXInt.h:  tkMenuCascadeRgn clipping code.
	* macosx/tkMacOSXMenu.c:

	* macosx/tkMacOSXHLEvents.c: replace Tcl_GlobalEval() resp. Tcl_Eval()
	* macosx/tkMacOSXScrlbr.c:   by Tcl_EvalEx().
	* macosx/tkMacOSXInit.c:

	* macosx/tkMacOSXInit.c (TkpInit): reorder initialization steps.

	* macosx/tkMacOSXKeyEvent.c: remove pre-10.2 support.

	* macosx/tkMacOSXMenus.c: remove now useless call to
	TkMacOSXHandleTearoffMenu(); use \x.. quoting for non-latin1 macroman
	literar chars to allow file to be edited as utf-8.

	* macosx/tkMacOSXScale.c: replace TrackControl() by modern
	* macosx/tkMacOSXScrlbr.c: HandleControlClick() API (using new
	* macosx/tkMacOSXInt.h:		move all constant #defines needed to
	* macosx/tkMacOSXColor.c:	support building on older OS X releases
	* macosx/tkMacOSXEvent.h:	to a central location in tkMacOSXInt.h.
	* macosx/tkMacOSXFont.c:
	* macosx/tkMacOSXMenu.c:
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXMenus.c:
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXInt.h:		 add ChkErr() macro to factor out
	* macosx/tkMacOSXButton.c:	 Carbon OSStatus return value checking
	* macosx/tkMacOSXCarbonEvents.c: and TkMacOSXDbgMsg() macro to factour
	* macosx/tkMacOSXClipboard.c:	 out debug message output; use these
	* macosx/tkMacOSXColor.c:	 macros to replace #ifdef TK_MAC_DEBUG
	* macosx/tkMacOSXCursor.c:	 blocks & direct printing to stderr,
	* macosx/tkMacOSXDebug.c:	 and to do additional OSStatus return
	* macosx/tkMacOSXDialog.c:	 checking, and to standardize OSStatus
	* macosx/tkMacOSXDraw.c:	 usage.
	* macosx/tkMacOSXEntry.c:
	* macosx/tkMacOSXEvent.c:
	* macosx/tkMacOSXFont.c:
	* macosx/tkMacOSXHLEvents.c:
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXKeyEvent.c:
	* macosx/tkMacOSXMenu.c:
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXMenus.c:
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXScrlbr.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.c:
	* macosx/tkMacOSXXStubs.c:

	* macosx/tkMacOSXSend.c:	remove duplicate/unused declarations.
	* macosx/tkMacOSXXStubs.c:

	* macosx/tkMacOSXDebug.c:	const fixes.
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXTest.c:
	* macosx/tkMacOSXWm.c:
	* macosx/tkMacOSXXStubs.c:

	* macosx/ add tcl document extensions/mime types and
	LSMinimumSystemVersion, LSRequiresCarbon & NSAppleScriptEnabled keys.

	* macosx/tkMacOSXAETE.r:	fix whitespace.
	* macosx/tkMacOSXConfig.c:
	* macosx/tkMacOSXCursors.r:
	* macosx/tkMacOSXKeyboard.c:
	* macosx/tkMacOSXSend.c:
	* macosx/tkMacOSXXCursors.r:
	* macosx/README:

	* macosx/Makefile:		fix/add copyright and license refs.
	* macosx/
	* macosx/
	* macosx/tkMacOSX.h:

	* unix/ (dist): copy license.terms to dist macosx dir.
	* unix/ install license.terms into Tk.framework; fix tk
	debug build detection.
	* unix/configure: autoconf-2.13

	* doc/colors.n:		document new Mac OS X system colors.
	* doc/cursors.n:	document new Mac OS X native cursors.
	* doc/font.n:		document new Mac OS X 'menu' system font.
	* doc/wm.n:		document new Mac OS X [wm attributes].

2007-03-07  Daniel Steffen  <>

	* generic/tkMain.c (Tk_MainEx): replicate macosx-specific code from
	TkpInit() that ensures the console window appears when wish is started
	from the OS X Finder (i.e. with stdin == /dev/null), jeffh's 2006-11-24
	change rendered the corresponding code in TkpInit() ineffective in wish
	because Tk_MainEx() sets tcl_interactive before calling TkpInit().

	* macosx/tkMacOSXDebug.c (TkMacOSXGetNamedDebugSymbol): add fix for
	libraries loaded with a DYLD_IMAGE_SUFFIX.

	* unix/tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in macosx-version-min check.
	* unix/configure: autoconf-2.13

2007-02-19  Jeff Hobbs  <>

	* unix/tcl.m4: use SHLIB_SUFFIX=".so" on HP-UX ia64 arch.
	* unix/configure: autoconf-2.13

	* library/tkfbox.tcl (::tk::IconList_Goto): avoid goto issues in
	empty dirs.  [Bug 1662959]

2007-02-04  Daniel Steffen  <>

	* unix/ add caching to -pipe check.
	* unix/configure: autoconf-2.13

2007-01-30  Jeff Hobbs  <>

	* win/ (install-private-headers): added target

2007-01-25  Daniel Steffen  <>

	* unix/tcl.m4:       integrate CPPFLAGS into CFLAGS as late as possible
	* unix/ and move (rather than duplicate) -isysroot flags
	from CFLAGS to CPPFLAGS to avoid errors about multiple -isysroot flags
	from some older gcc builds.

	* unix/configure: autoconf-2.13

2006-01-19  Daniel Steffen  <>

	* unix/tcl.m4: ensure CPPFLAGS env var is used when set. [Bug 1586861]
	(Darwin): add -isysroot and -mmacosx-version-min flags to CPPFLAGS when
	present in CFLAGS to avoid discrepancies between what headers configure
	sees during preprocessing tests and compiling tests.

	* unix/configure: autoconf-2.13

2006-12-22  Donal K. Fellows  <>

	* unix/tkUnixEvent.c (TkUnixDoOneXEvent): Made correct on AMD64 and
	other similar 64-bit systems where fd_mask is not 'unsigned int' in
	effect. [Bug 1522467]

	* library/msgs/es_ES.msg (removed):
	* library/msgs/es.msg: Fixed translation fault that was present in all
	Spanish-speaking locales. [Bug 1111213]

2006-12-19  Jeff Hobbs  <>

	* win/tkWinButton.c (TkpDisplayButton): lint init. [Bug 1618604]

2006-12-19  Daniel Steffen  <>

	* unix/tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit -arch
	flag succeeds before enabling 64bit build.
	* unix/configure: autoconf-2.13

2006-12-04  Jeff Hobbs  <>

	* generic/tkListbox.c (ConfigureListboxItem): ListboxWorldChanged
	not needed - just call EventuallyRedrawRange. [Bug 1608046] (rezic)

2006-12-01  Jeff Hobbs  <>

	* doc/wm.n, tests/winWm.test:
	* win/tkWinWm.c: add -transparentcolor attribute for Windows.

2006-11-30  Daniel Steffen  <>

	* macosx/tkMacOSXDialog.c (Tk_MessageBoxObjCmd): fix inability to use
	buttons with standard Escape key binding as -default button (reported
	on tcl-mac by Hans-Christoph Steiner).

2006-11-26  Daniel Steffen  <>

	* unix/tcl.m4 (Linux): --enable-64bit support.	[Patch 1597389]
	* unix/configure: autoconf-2.13			[Bug 1230558]

2006-11-24  Jeff Hobbs  <>

	* macosx/tkMacOSXInit.c (TkpInit): only set tcl_interactive 1 if
	it isn't already defined.  Allows embedders to set it to 0 to
	prevent the console appearing on OS X. [Bug 1487701]

	* unix/tkUnixMenu.c (DrawMenuUnderline): bound Tcl_UtfAtIndex usage
	* tests/menu.test (menu-36.1): [Bug 1599877]

2006-11-23  Jeff Hobbs  <>

	* win/tkWinMenu.c (TkWinHandleMenuEvent, DrawMenuUnderline):
	handle unichar underlining correctly and safely. [Bug 1599877]

2006-11-02  Daniel Steffen  <>

	* macosx/tkMacOSXWindowEvent.c (GenerateUpdateEvent): fix handling of
	Carbon Update events: the QuickDraw window update region was being
	ignored and all child TkWindows were sent an Expose XEvent even when
	they did not need to be redrawn. [Patch 1589226]

2006-11-01  Daniel Steffen  <>

	* macosx/tkMacOSXDebug.c: add TkMacOSX prefix to leftover macosx-private
	* macosx/tkMacOSXDebug.h: global symbols without Tk prefix; ifdef out
	* macosx/tkMacOSXEmbed.c: currently unused debug procs.
	* macosx/tkMacOSXEvent.c:
	* macosx/tkMacOSXInt.h:
	* macosx/tkMacOSXCarbonEvents.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWm.c:

2006-10-31  Pat Thoyts  <>

	* Fix bug #1582769 build with VC2003 and correct i386 arch.

2006-10-23  Don Porter  <>

	* README:		Bump version number to 8.4.15
	* generic/tk.h:
	* unix/
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf-2.13
	* win/configure:

2006-10-18  Pat Thoyts  <>

	*** 8.4.14 TAGGED FOR RELEASE ***

	* win/nmakehlp.c: Ensure builds with VC6 without Platform SDK.
	* win/   Pickup MACHINE from environment.

2006-10-17  Don Porter  <>

	* generic/tkPanedWindow.c:	Cleaned up some code flagged by a
	* generic/tkText.c:		`make checkexports` test.
	* generic/tkText.h
	* generic/tkTextTag.c:

2006-10-16  Daniel Steffen  <>

	* changes: updates for 8.4.14 release.

	* macosx/tkMacOSXDraw.c: fix numerous issues in CG and QD drawing procs
	so that they now match X11 drawing much more closely [Bug 1558051];
	use Tiger ellipse drawing API when available; fix comments & whitespace.

	* macosx/tkMacOSXInit.c: set default linewidth limit for CG
	antialiasing to 0 as thin horizontal/vertical lines look good now.
	* macosx/README: document CG antialiasing limit changes.

	* generic/tkCanvLine.c (ConfigureLine):     on TkAqua, pass outline
	* generic/tkCanvPoly.c (ConfigurePolygon):  linewidth in gc even for
	* generic/tkRectOval.c (ConfigureRectOval): fills (as it controls AA).

	* macosx/Makefile: don't redo prebinding of non-prebound binaires.

2006-10-10  Don Porter  <>

	* changes:		changes updated for 8.4.14 release.

2006-10-05  Jeff Hobbs  <>

	* unix/tkUnixFont.c (Ucs2beToUtfProc, UtfToUcs2beProc):
	(TkpFontPkgInit, encodingAliases): Correct alignment issues in
	encoding conversion.  Call ucs-2be "unicode" on big-endian
	systems. [Bug 1122671]

2006-09-27  Pat Thoyts  <>

	* win/  Support MSVC8 and AMD64 target. Also try using
	* win/     sed to generate the manifest (cross-compile cannot
	* win/nmakehlp.c:   execute tclsh). If no sed, use the tclsh exe.

2006-09-25  Andreas Kupries  <>

	* generic/tkConsole.c: Complete reversal of the changes of Sep 22.
	* generic/tkMain.c:    For compat reason the Tcl core will not change
	* generic/tkWindow.c:  the registered version to include the patchlevel,
	* library/tk.tcl:      making the changes to Tk unnecessary.
	* unix/configure:
	* unix/
	* unix/tcl.m4:
	* win/configure:
	* win/
	* win/
	* win/
	* win/tcl.m4:

2006-09-22  Andreas Kupries  <>

	* generic/tkConsole.c: TIP #268 update regarding registered package
	* generic/tkMain.c:    version, now using full patchlevel instead of
	* generic/tkWindow.c:  major.minor
	* library/tk.tcl:
	* unix/configure:
	* unix/
	* unix/tcl.m4:
	* win/configure:
	* win/
	* win/
	* win/
	* win/tcl.m4:

2006-09-22  Donal K. Fellows  <>

	* generic/tkImgBmap.c (ImgBmapPostscript):  Use NULL instead of 0 as
	end-of-strings marker to Tcl_AppendResult; the difference matters on
	64-bit machines. [Bug 1562528]

2006-09-20  Jeff Hobbs  <>

	* win/tkWinMenu.c (TkpPostMenu): disable menu animation in menus
	with images to avoid clipping bug.  [Bug 1329198]

2006-09-11  Daniel Steffen  <>

	* macosx/tkMacOSXWm.c (TkMacOSXMakeRealWindowExist): revert part of
	2006-05-16 change that had set overrideredirect windows to not become
	activated by the window manager, as this prevented interaction with
	native widgets in such windows [Bug 1472624]; apply changes to carbon
	window attributes even if native window has already been created.

	* macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): fix app
	* macosx/tkMacOSXMenu.c (DrawMenuBarWhenIdle): menu item key shortcuts
	* macosx/tkMacOSXInt.h: when custom ".apple" menu is installed.

	* library/demos/widget: on TkAqua, don't install file menu with single
	quit menu item, as the application menu already has a quit item.

	* macosx/tkMacOSXColor.c: fix building on Mac OS X 10.2.

2006-09-10  Daniel Steffen  <>

	* macosx/tkMacOSXColor.c (TkSetMacColor, TkpGetColor): use AppearanceMgr
	* macosx/tkMacOSXDefault.h: to retrieve platform std colors for text
	* macosx/tkMacOSXPort.h:    selections, add "systemHighlightSecondary"
	color name for standard color of inactive selections.

	* library/text.tcl (aqua): change focus bindings to implement platform
	standard look for inactive text selections using this new color.

	* generic/tkTextBTree.c (TkTextIsElided): on TkAqua, don't show text
	* generic/tkTextDisp.c (GetStyle):        selection when text widget
	* generic/tkText.c (TextEventProc):       is in disabled state.

	* generic/tkEntry.c (DisplayEntry): change default TkAqua selection
	* macosx/tkMacOSXDefault.h:         relief to "flat" (platform std).

	* generic/tkText.c (Tk_TextCmd): fix bug leading to default text
	selection relief string DEF_TEXT_SELECT_RELIEF being ignored.

	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): allow mouse
	event delivery to background windows with kWindowNoActivatesAttribute
	(e.g. overrideredirect windows), as these never come to the foreground
	they would never receive any mouse events otherwise. [Bug 1472624]

	* macosx/tkMacOSXWindowEvent.c (TkMacOSXGenerateFocusEvent): do not
	send focus events to any windows with kWindowNoActivatesAttribute.

	* macosx/tkMacOSXXStubs.c (XQueryColor, XQueryColors): implement basic
	XColor computation from pixel values, enough to make tkImg's window.c
	happy, fixes img::window failures reported on tcl-mac.

	* macosx/tkMacOSXMenu.c (DrawMenuEntryLabel): fix leak. [Bug 1554672]

	* macosx/Makefile: workaround bug in 'cp -pRH' on Darwin 6 and earlier,
	fixes 'make embedded' failure reported on tcl-mac; fix error from 'make
	deploy' with same build tree as previous 'make embedded'.

	* macosx/tkMacOSXEntry.c (TkpDrawEntryBorderAndFocus): fix typo.

	* unix/tcl.m4: sync with tcl/unix/tcl.m4.

2006-09-07  Daniel Steffen  <>

	* generic/tkWindow.c: add #include "tclInt.h" now required due to use
	of tcl internal Tcl_CreateNamespace() in previous commit.

2006-09-06  Jeff Hobbs  <>

	* generic/tkEntry.c:     move hard-coded ALWAYS_SHOW_SELECTION
	* generic/tkInt.h:       control of entry/text selection display
	* generic/tkText.c:      based on focus to the Tcl level,
	* generic/tkTextBTree.c: controlled by ::tk::AlwaysShowSelection
	* generic/tkTextDisp.c:  (boolean, private).  [Bug 1553691]
	* generic/tkWindow.c:
	* library/tk.tcl
	* unix/tkUnixPort.h:

	* generic/tkText.c (DeleteChars): backport of 8.5 text delete
	speedup that removes tags from deleted area first. [Bug 1456342]

2006-08-30  Jeff Hobbs  <>

	* win/tkWinKey.c: Add WM_UNICHAR window message support (used by
	* win/tkWinX.c:   virtual keyboard apps). [Bug 1518677] (petasis)

2006-08-24  Daniel Steffen  <>

	* macosx/tkMacOSXScrlbr.c (UpdateControlValues): set native scrollbar
	control bounds only once all size adjustments have been computed.
	Fixes issue with grow icon obscuring scrollbar reported on tcl-mac.

2006-08-21  Daniel Steffen  <>

	* macosx/tkMacOSXCarbonEvents.c (CarbonTimerProc): avoid starving main
	event loop: limit the number of tcl events processed per invocation.
	Fixes bug reported on tcl-mac by Kevan Hashemi.

2006-08-18  Daniel Steffen  <>

	* unix/tcl.m4 (Darwin): add support for --enable-64bit on x86_64, for
	universal builds including x86_64, for 64-bit CoreFoundation on Leopard
	and for use of -mmacosx-version-min instead of MACOSX_DEPLOYMENT_TARGET.
	* unix/ (Darwin): remove 64-bit arch flags from CFLAGS for
	combined 32-bit and 64-bit universal builds, as neither TkAqua nor TkX11
	can be built for 64-bit at present.
	* unix/configure: autoconf-2.13

	* macosx/README: updates for x86_64 support in Tcl.

	* macosx/tkMacOSXInit.c (TkpInit): when available, use public
	TransformProcessType() API instead of CPSEnableForegroundOperation() SPI
	to notify the window server that we are a GUI application.

	* macosx/tkMacOSXWm.c (WmAttrGetTitlePath): use HIWindow API on >=Tiger.

	* macosx/tkMacOSXMouseEvent.c (GenerateToolbarButtonEvent):
	* macosx/tkMacOSXMenus.c (GenerateEditEvent):
	* macosx/tkMacOSXMenu.c (MenuSelectEvent): bzero XVirtualEvent structure
	before use to ensure all fields are initialized. [Bug 1542205]

2006-08-16  Jeff Hobbs  <>

	* macosx/tkMacOSXWm.c (WmAttributesCmd): correct OS X result for
	[wm attributes $top].

2006-07-25  Daniel Steffen  <>

	* macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): handle key
	shortcut for kHICommandQuit in the same way as other application menu
	item key shortcuts. [Bug 1516950]

2006-07-24  Daniel Steffen  <>

	* macosx/tkMacOSXWm.c (TkWmMapWindow): fix incorrect values of wmInfo
	parentWidth/Height for toplevels by recalculating them once the window
	is mapped (i.e once the window&structure sizes are known). [Bug 1358663]
	(ParseGeometry): sync with ParseGeometry in tkUnixWm.c/tkWinWm.c.

2006-07-21  Daniel Steffen  <>

	* generic/tkBind.c (TkBindInit): for REDO_KEYSYM_LOOKUP, change
	keysym-to-string mapping hash to use first name in ks_names.h instead of
	last (if there are multiple possibilities), e.g. "F11" instead of "L1".

	* macosx/tkMacOSXKeyboard.c (TkpGetKeySym): correct keysyms for pure
	modifier key presses [Bugs 700311, 1525905]; correct keysym for Enter
	key; add keysyms for new NumLock and Fn modifiers (added 2005-08-09).

2006-07-20  Daniel Steffen  <>

	* macosx/tkMacOSXWm.c (WmAttributesCmd, WmIconbitmapCmd): add support
	for weakly importing symbols not available on OSX 10.2 or 10.3, enables
	binaires built on later OSX versions to run on earlier ones.
	* macosx/README: document how to enable weak-linking; cleanup.
	* unix/ enforce requirement of OSX 10.2 for TkAqua; move
	* unix/tcl.m4:       Darwin specific checks & defines that are only
	relevant to the tcl build out of tcl.m4; restrict framework option to
	Darwin; cleanup quoting.
	* unix/configure: autoconf-2.13

	* macosx/tkMacOSXKeyEvent.c: ifdef out diagnostic messages to stderr.

	* macosx/tkMacOSXEvent.h:      standardize MAC_OS_X_VERSION_MAX_ALLOWED
	* macosx/tkMacOSXMenu.c:       checks per QA1316, ensure define can be
	* macosx/tkMacOSXMenubutton.c: overridden on command line (from default
	* macosx/tkMacOSXMenus.c:      of current OS version).
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXCursor.c (TkMacOSXCursor):
	* macosx/tkMacOSXDebug.c (TkMacOSXGetNamedDebugSymbol):
	* macosx/tkMacOSXInit.c (Map): fix signed-with-unsigned comparison and
	other warnings from gcc4 -Wextra.

2006-07-14  Andreas Kupries  <>

	* generic/tkWindow.c (Initialize): Modify change of 2006-05-25
	  (jeffh). Release mutex a bit earlier, to prevent lock when OS X
	  creates its console windows (recursively enters Tk_Init). Patch
	  by JeffH.

2006-07-06  Jeff Hobbs  <>

	* library/tkfbox.tcl: catch scrollbar use of highlightthickness

2006-06-21  Jeff Hobbs  <>

	* library/bgerror.tcl (::tk::dialog::error::bgerror): remove a
	couple of unnecessary hardcoded options

2006-06-15  Don Porter  <>

	* changes: changes to start prep for an 8.4.14 release.

2006-06-15  Pat Thoyts  <>

	* win/  Sync with tcl to enable building with 
	* win/     VC8 (VS2005 C compiler)
	* win/nmakehlp.c:

2006-06-14  Don Porter  <>

	* generic/tkScale.c:	Revised variable writing logic to account
	for [scale]'s design that it deals with its value as a formatted
	string, and not as a double.	[Bug 891141].

2006-06-14  Daniel Steffen  <>

	* macosx/tkMacOSXSubwindows.c (TkMacOSXInvalidateWindow): ensure invalid
	clip regions are recreated via TkMacOSXUpdateClipRgn() before they are
	used; correct call order of TkMacOSXInvalidateWindow() and
	TkMacOSXInvalClipRgns() throughout. [Bug 1501922]

	* macosx/tkMacOSXDraw.c (TkPutImage): implement drawing of very wide
	images in slices of less than 4096 pixels to workaround CopyBits
	limitation. [Bug 950121]

2006-06-09  Don Porter  <>

	* generic/tkMain.c:     Added Tcl_Preserve() call on the master
	interp as crash protection against any Tcl_DeleteInterp() call
	that might happen.

2006-06-05  Don Porter	<>

	* generic/tkInt.h:      Thread safety for the data structures of 
	* generic/tkConsole.c:  the wish [console].  [Bug 1188340].

2006-06-01  Don Porter	<>

	* generic/tkConsole.c:	Added Tcl_RegisterChannel() calls to bump
	the refcount of channels passed to Tcl_SetStdChannel().	 This prevents
	early free-ing of the channels that leads to crashes.  [Bug 912571].

2006-05-29  Jeff Hobbs  <>

	* tests/entry.test (entry-22.1):
	* tests/listbox.test (listbox-6.15):
	* generic/tkListbox.c (ListboxInsertSubCmd, ListboxDeleteSubCmd):
	Ignore Tcl_SetVar2Ex failure of listVarName, similar to entry
	widget handling. [Bug 1424513]

2006-05-26  Jeff Hobbs  <>

	* macosx/tkMacOSXButton.c (TkMacOSXDrawControl): correct redraw
	for direct transition from disabled to active state. [Bug 706446]

2006-05-25  Jeff Hobbs  <>

	* generic/tkMenu.c (DeleteMenuCloneEntries): Modify entry index
	changes to work around VC6 optimization bug. [Bug 1224330]

	* generic/tkMessage.c (MessageWidgetObjCmd): Correct msgPtr
	preserve/release pairing. [Bug 1485750] (afredd)

	* generic/tkWindow.c (Initialize): Correct mutex (un)lock
	pairing. [Bug 1479587]

2006-05-16  Daniel Steffen  <>

	* macosx/tkMacOSXWindowEvent.c (TkMacOSXGenerateFocusEvent): don't send
	focus events to windows of class help or to overrideredirect windows.
	[Bug 1472624]

	* macosx/tkMacOSXWm.c: set overrideredirect windows to not become
	activated by the window manager and to not receive OS activate events
	(should make them behave more like on other platforms); use modern
	window class API for overrideredirect and transient windows; set the
	default class of overrideredirect windows to 'simple' rather than
	'plain' (i.e. no window frame); add missing Panther and Tiger window
	attributes to [::tk::unsupported::MacWindowStyle].

2006-05-12  Jeff Hobbs  <>

	* generic/tkImgPhoto.c (Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock):
	Fix opt added 2006-03 that caused slowdown for some common cases.
	[Bug 1409140]

2006-05-13  Daniel Steffen  <>

	* generic/tkCanvWind.c (DisplayWinItem, WinItemRequestProc): ensure
	canvas window items are unmapped when canvas is unmapped. [Bug 940117]

	* macosx/tkMacOSXSubwindows.c (TkMacOSXUpdateClipRgn): empty clip region
	of unmapped windows to prevent any drawing into them or into their
	children from becoming visible. [Bug 940117]

	* macosx/tkMacOSXInt.h:         revert Jim's attempt of 2005-03-14 to
	* macosx/tkMacOSXSubwindows.c:  fix Bug 940117 as it disables Map/Unmap
	event propagation to children.  [Bug 1480105]

	* macosx/tkMacOSXDraw.c (TkPutImage): handle tkPictureIsOpen flag, fixes
	incorrect positioning of images with complex alpha on native buttons;
	actual alpha blending is still broken in this situation. [Bug 1155596]

	* macosx/tkMacOSXEvent.c (TkMacOSXProcessCommandEvent):
	* macosx/tkMacOSXMenus.c (TkMacOSXInitMenus): workaround carbon bug with
	key shortcut for 'Preferences' app menu item. [Bug 1481503]

	* macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): only check
	for HICommand menu item shortcuts in the application menu.

	* macosx/tkMacOSXInt.h:       initialize keyboard layout setup in
	* macosx/tkMacOSXInit.c:      TkpInit() rather than during handling of
	* macosx/tkMacOSXKeyEvent.c:  first key down event.

	* macosx/tkMacOSXDraw.c:        add optional debug code to flash clip
	* macosx/tkMacOSXSubwindows.c:  regions during update or draw.

2006-05-04  Don Porter  <>

	* README:		Bump version number to 8.4.14
	* generic/tk.h:
	* unix/
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf-2.13
	* win/configure:

2006-04-28  Daniel Steffen  <>

	* macosx/tkMacOSXWm.c (TkWmMapWindow, InitialWindowBounds): fix use of
	potentially stale window position in initial configure event on first
	map of a window. [Bug 1476443]
	(TkMacOSXWindowOffset): use modern GetWindowStructureWidths API.

	* macosx/tkMacOSXInt.h:
	* macosx/tkMacOSXMouseEvent.c (TkGenerateButtonEventForXPointer): new
	internal function to generate button events for current pointer
	directly, without requiring prior call to XQueryPointer().

	* macosx/tkMacOSXMouseEvent.c (XQueryPointer): implement return of
	window-local pointer position.

	* macosx/tkMacOSXInt.h:      use improvements above to avoid calls to
	* macosx/tkMacOSXKeyEvent.c: GlobalToLocal() when the current port might
	* macosx/tkMacOSXMenu.c:     not be set correctly. May fix [Bug 1243318]
	* macosx/tkMacOSXMenus.c:    
	* macosx/tkMacOSXScale.c:
	* macosx/tkMacOSXScrlbr.c:

	* tkAboutDlg.r: update copyright.

	* macosx/tkMacOSXCarbonEvents.c: sync with HEAD
	* macosx/tkMacOSXDebug.c:
	* macosx/tkMacOSXDebug.h:
	* macosx/tkMacOSXDraw.c:
	* macosx/tkMacOSXEvent.c:
	* macosx/tkMacOSXEvent.h:
	* macosx/tkMacOSXFont.h:
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXInt.h:
	* macosx/tkMacOSXKeyEvent.c:
	* macosx/tkMacOSXMenu.c:
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXSend.c:
	* macosx/tkMacOSXTest.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.c:

2006-04-25  Donal K. Fellows  <>

	* unix/tkUnixFont.c (TkpGetFontFamilies): Fix crash caused when the
	XServer returns invalid font names. [Bug 1475865]

2006-04-22  Daniel Steffen  <>

	* macosx/tkMacOSXEmbed.c:
	* macosx/tkMacOSXWm.c:
	* tests/constraints.tcl:
	* tests/wm.test: sync with 2006-04-18 commit to HEAD. (darley)

2006-04-12  Don Porter  <>

	*** 8.4.13 TAGGED FOR RELEASE ***

	* generic/tkGrid.c: Fixed handling of out of bounds row or column.
	* tests/grid.test:  [Bug 1432666]

	* changes:	Updates for next RC.

2006-04-11  Jeff Hobbs  <>

	* changes: update for bug fix.

	* generic/tkBind.c (Tk_BindEvent, ChangeScreen): replace
	Tcl_GlobalEval with more efficient Tcl_EvalEx.

	* win/tkWinEmbed.c (TkpGetOtherWindow):   do not panic if no window
	* win/tkWinWm.c (UpdateGeometryInfo):     is found - handle it in
	* unix/tkUnixEmbed.c (TkpGetOtherWindow): the caller. [Bug 1212056]
	* unix/tkUnixWm.c (Tk_CoordsToWindow, UpdateGeometryInfo): 

2006-04-11  Daniel Steffen  <>

	* changes: added latest aqua bug fixes.

	* macosx/tkMacOSXDialog.c (Tk_MessageBoxObjCmd): added standard Escape
	key binding for msgbox cancel buttons [Patch 1193614], whitespace.

	* macosx/tkMacOSXCarbonEvents.c: handle kEventCommandUpdateStatus
	* macosx/tkMacOSXEvent.c:        carbon event to dynamically enable
	the 'Preferences' app menu item when proc [::tk::mac::ShowPreferences]
	is defined. [Bug 700316]

	* macosx/tkMacOSXHLEvents.c:    call ::tk::mac::* procs for all
	* macosx/tkMacOSXWindowEvent.c: registered appleevents [FR 1105284],
	implement print applevent handling, style/whitespace cleanup. 

	* macosx/tkMacOSXDraw.c (TkMacOSXInitCGDrawing): prevent multiple init.

	* macosx/tkMacOSXInt.h:         Implemented 'zoomed' window state
	* macosx/tkMacOSXWindowEvent.c: handling for TkAqua, via titlebar
	* macosx/tkMacOSXWm.c:          widget clicks as well as [wm state].
	* doc/wm.n:                     [Bug 1073456]

2006-04-10  Don Porter  <>

	* changes:	Updates for next RC.

2006-04-09  Daniel Steffen  <>

	* macosx/tkMacOSXWm.c (WmResizableCmd): propagate window attribute
	changes to Carbon window manager. [FR 1467004]
	(TkSetWMName, TkMacOSXMakeRealWindowExist): allow empty name for
	toplevels, remove bogus initial window name. [Bug 1450800]

2006-04-07  Daniel Steffen  <>

	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): fix return
	values, implement window dragging & growing in background (with Command
	key down) and by fronting clicks [Bug 934524], use correct button &
	modifier state API when application is in background (also in

	* macosx/tkMacOSXWm.c (TkMacOSXGrowToplevel): ensure QD port is set
	correctly before using API relying on it.
2006-04-06  Vince Darley <>

	* macosx/tkMacOSXMouseEvent.c: now that [wm attributes -titlepath]
	works correctly, add OS support for dragging proxy icons and 
	using the titlepath menu.

2006-04-06  Daniel Steffen  <>

	* macosx/tkMacOSXWm.c (WmAttributesCmd, WmIconbitmapCmd): fix errors
	in setting/removing window proxy icons via [wm attributes -titlepath]
	and [wm iconbitmap], use HIWindow API on Tiger or later. [Bug 1455241]
	define on Darwin. [Tcl Bug 1457515]
	* unix/configure: autoconf-2.13

2006-04-05  Jeff Hobbs  <>

	* win/tkWinMenu.c (FreeID, TkpNewMenu, MenuExitHandler) 
	(MenuThreadExitHandler, TkpMenuInit, TkpMenuThreadInit): rework
	Windows menu init/finalization to better respect per-process and
	per-thread boundaries.

	* win/tkWinWm.c (WmProc): pass WM_QUERYENDSESSION message to Tk as
	WM_SAVE_YOURSELF wm protocol callback.

	* generic/tkTextDisp.c (TkTextPixelIndex): Don't segfault on full
	-elide text. [Bug 1442102]

	* win/tkWinX.c (TkWinXInit): init default keyboard charset
	correctly. [Bug 1374119] (pajas)

	* generic/tkText.c (DumpLine): stop dumping if we detect that the
	text widget state has changed while dumping. [Bug 1414171]
	(InsertChars, DeleteChars): fix undo with space-based path.
	* tests/text.test (text-25.14): [Bug 1452419]

	* tests/grid.test: fix segfault on empty index list
	* generic/tkGrid.c (GridRowColumnConfigureCommand):  [Bug 1422430]

2006-03-29  Jeff Hobbs  <>

	* generic/tkWindow.c (DeleteWindowsExitProc): added comments
	* generic/tkOption.c (TkOptionDeadWindow): handle
	OptionThreadExitProc being called before DeleteWindowsExitProc.

2006-03-29  Don Porter  <>

	* unix/tkUnixDefault.h: Changed "Black" to "#000000" and "White" to
	"#ffffff" to work around the (broken?) X servers that do not accept
	those color names.  [Bug 917433]

2006-03-28  Jeff Hobbs  <>

	* generic/tkWindow.c (CreateTopLevelWindow): use thread exit
	handler for DeleteWindowsExitProc.

2006-03-28  Pat Thoyts  <>

	* win/   Avoid pipe problems on win98.

2006-03-28  Jeff Hobbs  <>

	* win/configure, win/tcl.m4: define MACHINE for gcc builds as well.
	Needed by Tk for manifest generation.

2006-03-28  Daniel Steffen  <>

	* generic/tkFont.h: added prototype for TkFontGetFirstTextLayout()
	needed by tkMacOSXButton.c and tkMacOSXMenubutton.c.

	* macosx/tkMacOSX.h:             Cleaned up & rationalized order of
	* macosx/tkMacOSXBitmap.c:       #includes of tk and carbon headers;
	* macosx/tkMacOSXButton.c:       sync whitespace, comments & minor
	* macosx/tkMacOSXCarbonEvents.c: changes with HEAD.
	* macosx/tkMacOSXClipboard.c:
	* macosx/tkMacOSXColor.c:
	* macosx/tkMacOSXConfig.c:
	* macosx/tkMacOSXCursor.c:
	* macosx/tkMacOSXDialog.c:
	* macosx/tkMacOSXDraw.c:
	* macosx/tkMacOSXEmbed.c:
	* macosx/tkMacOSXEntry.c:
	* macosx/tkMacOSXEvent.c:
	* macosx/tkMacOSXEvent.h:
	* macosx/tkMacOSXFont.c:
	* macosx/tkMacOSXFont.h (new file):
	* macosx/tkMacOSXHLEvents.c:
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXInt.h:
	* macosx/tkMacOSXKeyEvent.c:
	* macosx/tkMacOSXKeyboard.c:
	* macosx/tkMacOSXMenu.c:
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXMenus.c:
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXNotify.c:
	* macosx/tkMacOSXRegion.c:
	* macosx/tkMacOSXScale.c:
	* macosx/tkMacOSXScrlbr.c:
	* macosx/tkMacOSXSend.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXTest.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.c:
	* macosx/tkMacOSXWm.h:
	* macosx/tkMacOSXXStubs.c:

2006-03-27  Donal K. Fellows  <>

	* generic/tkImgGIF.c (FileReadGIF): Stop crashes when the first GIF
	frame does not define the overall size of the image. [Bug 1458234]

2006-03-22  Don Porter  <>

	* changes:	Updates for next RC.

2006-03-21  Daniel Steffen  <>

	* unix/ fix detection of symbols build when enabling
	TkAqua debug code; filter nm output of libtclstub better to avoid
	error on intel macs [Bug 1415789].
	* unix/configure: autoconf-2.13

2006-03-20  Donal K. Fellows  <>

	* generic/tkUndo.c (TkUndoSetDepth): Fix a crash in the undo stack
	code. [Bug 1380427, Patch 1391939] Thanks to <> for
	reporting and Ludwig Callewaert for the fix.

2006-03-17  Pat Thoyts  <>

	* library/clrpick.tcl:   bug #1451587: avoid using abbreviated
	* library/palette.tcl:   sub-commands in core scripts as this can
	* library/scale.tcl:     cause problems with mega-widget libraries
	* library/scrlbar.tcl:   like snit.
	* library/tkfbox.tcl:
	* library/xmfbox.tcl:

2006-03-16  Donal K. Fellows  <>

	* library/msgs/pt.msg: Messages for Portuguese (strictly just for
	Brazilian Portuguese, but they'll do until we get other Portuguese
	speakers localize) from Ricardo Jorge <> and
	Silas Justiano <>. Many thanks! [Bug 1405069]

	* generic/tkImgPhoto.c (ImgPhotoCmd, Tk_PhotoPutBlock)
	(Tk_PhotoPutZoomedBlock): Added hack to detect copying of a photo with
	a simple alpha channel and skip calling ToggleComplexAlphaIfNeeded.
	This should speed up many photo-to-photo copies, keeping the cost of
	the alpha channel down.

2006-03-15  Donal K. Fellows  <>

	* generic/tkImgPhoto.c (Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock): Try
	to squelch performance issue with code that writes to large images by
	single pixels. Masses of thanks to George Staplin for helping to trace
	this down to the COMPLEX_ALPHA flag handling code. [Bug 1409140]

2006-03-13  Don Porter  <>

	* tests/scrollbar.test:	Corrected several broken calls to [testmetrics]
	that were crashing the test suite.

	* tests/constraints.tcl:	Added notAqua constraint to canvPs-3.1
	* tests/canvPs.test:		to stop test suite crash on Mac OSX.
					[Bug 1088807]

	* generic/tkCmds.c:		Purged remaining references to
	* macosx/tkMacOSXPort.h:	errno, and errno.h.  Standardized
	* macosx/tkMacOSXWm.c:		the logic for using header files from
	* macosx/tkMacOSXWm.h:		the compat directory.  Thanks Joe
	* unix/tkUnixPort.h:		English for the patch. [Patch 1445404]

2006-03-11  Donal K. Fellows  <>

	* library/bgerror.tcl (::tk::dialog::error::bgerror): Truncated error
	details were getting lost, leading to unreadable error messages.

2006-03-07  Donal K. Fellows  <>

	* doc/canvas.n: Added note that stipples are not well-supported on
	non-X11 platforms. [Bug 220787] It's not a great solution, but it does
	indicate the state of affairs that has existed for years anyway; not
	much modern software uses stipples anyway.

2006-03-07  Don Porter  <>

	* READNE:		Bump version number to 8.4.13 and update
	* changes:		changes to start prep for an 8.4.13 release.
	* generic/tk.h:
	* unix/configure{.in}:
	* unix/tk.spec:
	* win/configure{.in}:

2006-03-02  Jeff Hobbs  <>

	* win/ convert _NATIVE paths to use / to avoid ".\"
	path-as-escape issue.

	* unix/tcl.m4, win/tcl.m4: []-quote ac_defun functions.

	* macosx/tkMacOSXDraw.c (TkPutImage): fix endian issue on OS X x86
	displaying images.  Bitmap images still have a black/white
	reversal issue, appears to be a general OS X issue (as seen in
	frogger demo).

2006-03-02  Pat Thoyts  <>

	* unix/tcl.m4:    Fix for tk bug #1334613 to sort out shared library
	* unix/configure: issues on NetBSD. Regenerated configure script.

2006-02-27  Donal K. Fellows  <>

	* generic/tkBitmap.c (Tk_GetBitmapFromData): Improve thread-safety.
	[Bug 470322]

	* generic/tkImgBmap.c (ImgBmapConfigureInstance): Force creation of
	new Pixmaps before deletion of old ones to prevent stupid caching
	problems. [Bug 480862]

2006-02-09  Daniel Steffen  <>

	* generic/tk.decls:             fix signature of TkMacOSXInvalClipRgns
	* generic/tkPlatDecls.h:        to use Tk_Window instead of internal	
	* macosx/tkMacOSXSubwindows.c:  type TkWindow (which led to any include 
	* macosx/tkMacOSXWindowEvent.c: of public header tkMacOSX.h requiring
	* macosx/tkMacOSXWm.c:          prior include of tkInt.h).
	* generic/tk.h:          move TkAqua specific REDO_KEYSYM_LOOKUP define
	* macosx/tkMacOSXPort.h: out of tk.h into platform header.

2006-01-25  Don Porter  <>

	* library/bgerror.tcl:	Updates to use Tcl 8.4 features. [Patch 1237759]
	* library/button.tcl:
	* library/choosedir.tcl:
	* library/clrpick.tcl:
	* library/comdlg.tcl:
	* library/console.tcl:
	* library/dialog.tcl:
	* library/entry.tcl:
	* library/focus.tcl:
	* library/listbox.tcl:
	* library/menu.tcl:
	* library/msgbox.tcl:
	* library/palette.tcl:
	* library/panedwindow.tcl:
	* library/safetk.tcl:
	* library/scale.tcl:
	* library/scrlbar.tcl:
	* library/spinbox.tcl:
	* library/tearoff.tcl:
	* library/text.tcl:
	* library/tk.tcl:
	* library/tkfbox.tcl:
	* library/xmfbox.tcl:

2006-01-23  Daniel Steffen  <>

	* unix/configure:    minor fix to Darwin specific code removing
	* unix/ 64bit flags from CFLAGS for Tk build.

2006-01-20  Joe English  <>

	* generic/tkEvent.c, unix/tkUnixEvent.c:  XIM fixes 
	[See #905830, patch tk84-xim-fixes.patch].
	+ Revert 2005-12-05 patch disabling XIM when SCIM in use;
	+ Make sure all X events get passed to XFilterEvent,
	including those without a corresponding Tk window.

2006-01-10  Daniel Steffen  <>

	* macosx/tkMacOSXDraw.c: re-added inclusion of tclInt.h to allow access
	* macosx/tkMacOSXFont.c: to 8.4-internal Tcl_CreateNamespace().

	* macosx/tkMacOSXDebug.c: add TkMacOSXGetNamedDebugSymbol() function
	* macosx/tkMacOSXDebug.h: that finds unexported symbols in loaded
	libraries by manually walking their symbol table; only to be used for
	debugging purposes, may break unexpectedly in the future. Needed to get
	access to private_extern internal debugging functions in HIToolbox.

	* macosx/tkMacOSXCarbonEvents.c: fix debug event tracing on Tiger.
	* macosx/tkMacOSXMenu.c: add debug menu printing during reconfigure.
	* macosx/tkMacOSXInit.c: conditionalize 64bit-unsafe dyld code.
	* macosx/Makefile: add 'wish8.x' symlink to SYMROOT.

	* unix/configure:    add caching, use AC_CACHE_CHECK instead of
	* unix/ AC_CACHE_VAL where possible, consistent message
	* unix/tcl.m4:       quoting, sync relevant tclconfig/tcl.m4 changes and
	gratuitous formatting differences, fix SC_CONFIG_MANPAGES with default
	argument, Darwin improvements to SC_LOAD_*CONFIG.

2005-12-13  Daniel Steffen  <>

	* library/demos/cscroll.tcl: add MouseWheel bindings for aqua.

	* macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents):
	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent,
	GenerateMouseWheelEvent): add support for kEventMouseScroll events
	(smooth mouse wheel scrolling from mighty mouse or scrolling trackpad)
	by handling kEventMouseWheelMoved on application target as well as on
	dispatcher, in order to pick up synthesized MouseWheel events from
	HIObject handler (c.f. QA1453); add support for horizontal scrolling
	events by generating MouseWheel XEvent with Shift modifier.

2005-12-12  Jeff Hobbs  <>

	* unix/tcl.m4, unix/configure: Fix sh quoting error reported in
	bash-3.1+ [Bug 1377619] (schafer)

2005-12-08  Daniel Steffen  <>

	* macosx/tkMacOSXDraw.c:  remove inclusion of tclInt.h and use of tcl
	* macosx/tkMacOSXFont.c:  internals wherever possible in tk/macosx, the
	* macosx/tkMacOSXInit.c:  only remaining tcl internals in TkAqua are
	* macosx/tkMacOSXNotify.c: TclServiceIdle() in tkMacOSXScrlbr.c and
	* macosx/tkMacOSXScrlbr.c: Tcl_Get/SetStartupScript() in tkMacOSXInit.c
				   [RFE 1336531].
	* macosx/tkMacOSXInt.h:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXXStubs.c: sync comments/whitespace with HEAD.

2005-12-05  Jeff Hobbs  <>

	*** 8.4.12 TAGGED FOR RELEASE ***

	* generic/tkOldConfig.c (Tk_ConfigureWidget): fix the handling of
	TK_CONFIG_OPTION_SPECIFIED to be flagged appropriately in original
	Tk_ConfigSpec.  This is *not* thread safe, but will be retained
	for 8.4.x and left out of 8.5.x. [Bug 749908]

2005-12-05  Reinhard Max  <>

	* unix/tkUnixEvent.c (OpenIM): Added a workaround to allow at
	least ASCII and the Compose key when typing into text and entry
	widgets on a system that uses SCIM. This has to be taken out again
	once the SCIM problems have been fixed.

2005-12-04  Daniel Steffen  <>

	* mac/README: add note that mac classic port is no longer supported.

2005-12-01  Don Porter  <>

	* changes:	Update changes for 8.4.12 release

	* mac/tkMacWm.c:	Restored consistent error checking and
	* macosx/tkMacOSXWm.c:	messages among different platform's
	* tests/wm.test:	[wm grid] commands.  [Bug 1323972].
	* win/tkWinWm.c:

2005-12-01  Kevin Kenny  <>

	* win/ restored buildability.
2005-12-01  Jeff Hobbs  <>

	* library/menu.tcl (::tk::PostOverPoint): correct menu post near
	bottom of screen on Windows. [Bug 1353416]

2005-12-01  Daniel Steffen  <>

	* unix/tcl.m4 (Darwin): fixed error when MACOSX_DEPLOYMENT_TARGET unset
	* unix/configure: regen.

	* macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents): added newly
	registered kEventAppAvailableWindowBoundsChanged to debugging code.

2005-11-30  Jeff Hobbs  <>

	* win/tkWinWm.c (WmAttributesCmd): set (no)topmost window aspect
	before rewrapping.  [Bug 1086049]

	* generic/tkImgGIF.c: cast calls to block_out

	* win/ place TCL_BIN_DIR first in PATH for targets to
	get Tcl built dll first.

	* tests/scrollbar.test (6.22): fix rounding-error sensitive test

	* tests/textWind.test: use "Courier -12" on all platforms.
	Reduces Windows XP test errors in that file from 9 to 2 (13.2 and
	13.9 still off-by-one pixel).

	* win/tkWinWm.c (UpdateWrapper): Don't install frame menu on dead
	window.  Backport of 1233635

	* generic/tkEvent.c: fix handling of ClientMessage handlers.
	[Bug 1289565 983920]

	* macosx/tkMacOSXEvent.h: define
	kEventAppAvailableWindowBoundsChanged for OS X < 10.3.

2005-11-29  Jeff Hobbs  <>

	* library/console.tcl (::tk::ConsoleInit): improve work-around to
	avoid '% ' from tclMain.c [Bug 1252259]

	* macosx/tkMacOSXXStubs.c (TkpOpenDisplay, TkMacOSXDisplayChanged):
	* macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents):
	* macosx/tkMacOSXWindowEvent.c (TkMacOSXProcessApplicationEvent):
	* macosx/tkMacOSXInt.h: Trap kEventAppAvailableWindowBoundsChanged
	event to watch for change in display size and adjust internal
	state appropriately.

	* win/tcl.m4:      Add build support for Windows-x64 builds.
	* win/configure:   --enable-64bit now accepts =amd64|ia64 for
	* win/ Windows 64-bit build variants (default: amd64)
	* win/ [Bug 1369597]
	* win/
	* win/ (new):     manifest must map in MACHINE
	* win/rc/wish.exe.manifest (removed): and VERSION to be correct.

2005-11-27  Daniel Steffen  <>

	* unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),
	add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to
	configure (flag can't be present twice, so can't be in both CFLAGS and
	LDFLAGS during configure), don't use -prebind when deploying on 10.4,
	(SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete
	autoconf macros. Sync with tk/unix/tcl.m4, sync whitespace with HEAD.

	* unix/ fix obsolete autoconf macros, sync gratuitous
	formatting/ordering differences with tcl/unix/

	* unix/ add CFLAGS to wish/tktest link to make
	executable linking the same as during configure (needed to avoid
	loosing any linker relevant flags in CFLAGS, in particular flags
	that can't be in LDFLAGS).  Avoid concurrent linking of wish and
	compiling of tkTestInit.o during parallel make, fix dependencies
	and flags for building tkMacOSXInit.o
	(checkstubs, checkexports): dependency and Darwin fixes

	* macosx/tkMacOSXEvent.c (TkMacOSXProcessEvent):
	* macosx/tkMacOSXEvent.h:
	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent):
	* macosx/tkMacOSXCarbonEvents.c: install standard application event
	handler, add & call functions to start and stop carbon even timer that
	runs the tcl event loop periodically during a nested carbon event loop
	in the toolbox (e.g. during menutracking) to ensure tcl timers etc
	continue to fire, register app event handler for menu tracking and HI
	command carbon events, move menu event handling to new handlers for
	those carbon events, no longer register for/handle appleevent carbon
	event (now dealt with by standard application event handler), event
	debugging code dynamically acquires carbon event debugging functions to
	allow use on Tiger where they are no longer exported from HIToolbox.

	* macosx/tkMacOSXFont.c (TkMacOSXUseAntialiasedText):
	* macosx/tkMacOSXKeyEvent.c (GetKeyboardLayout):
	* macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents):
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXInt.h: abstract common code to dynamically acquire
	address of a named symbol (from a loaded dynamic library) into new
	function TkMacOSXGetNamedSymbol() and macro TkMacOSXInitNamedSymbol.

	* macosx/tkMacOSXMenu.c (TkpNewMenu):
	* macosx/tkMacOSXMenubutton.c (MenuButtonInitControl):
	* macosx/tkMacOSXMenus.c (TkMacOSXHandleMenuSelect): switch to  modern
	utf8 aware menu manager API, remove obsolete code, add error handling.

	* macosx/tkMacOSXMenu.c:
	* macosx/tkMacOSXMenus.c:
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXMouseEvent.c: define OSX 10.3 or later only constants
	if necessary to allow compilation on OSX 10.2

	* macosx/tkMacOSXWm.c (UpdateSizeHints): remove code that is never

	* generic/tk.h: add/correct location of version numbers in macosx

	* generic/tkInt.h: clarify fat compile comment.

	* macosx/Wish.pbproj/default.pbxuser (new file):
	* macosx/Wish.pbproj/jingham.pbxuser:
	* macosx/Wish.pbproj/project.pbxproj: sync with HEAD.

	* macosx/buildTkConfig.tcl (removed): remove obsolete build files.

	* macosx/README: clarification/cleanup, sync with HEAD, document
	universal (fat) builds via CFLAGS (i.e. ppc and i386 at the same time).

	* macosx/Makefile: add support for reusing configure cache, build
	target fixes.

	* generic/tkMenu.c:
	* macosx/tkMacOSXButton.c:
	* macosx/tkMacOSXDebug.c:
	* macosx/tkMacOSXDebug.h:
	* macosx/tkMacOSXDialog.c:
	* macosx/tkMacOSXDraw.c:
	* macosx/tkMacOSXEntry.c:
	* macosx/tkMacOSXMenu.c:
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXXStubs.c:
	* macosx/tkMacOSXSubwindows.c:
	* xlib/xgc.c: declare functions and globals used only in own file as
	static, #ifdef out a few Xlib and aqua functions that are never called
	(sync with HEAD).

	* macosx/tkMacOSXPort.h:
	* generic/tkInt.decls: correct signature of TkMacOSXHandleMenuSelect,
	add XSync to aqua Xlib stubs.

	* generic/tkTest.c: #ifdef unix only declarations.
	(TestmetricsCmd): unify win and mac implementation.

	* generic/tkTextDisp.c:
	* generic/tkTextBTree.c:
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXKeyEvent.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXXStubs.c: fix gcc 4 warnings.

	* macosx/tkMacOSXNotify.c:
	* macosx/tkMacOSXTest.c: sync with HEAD.

	* generic/tkIntPlatDecls.h:
	* generic/tkIntXlibDecls.h:
	* generic/tkStubInit.c:
	* unix/configure: regen.

2005-11-22  Donal K. Fellows  <>

	* generic/tkFont.c (ParseFontNameObj, ConfigAttributesObj): Allow
	these functions to work with a NULL interp by making them check when
	generating error messages. [Bug 1151523]

	* unix/tkUnixSelect.c (SelCvtToX, SelCvtFromX): Backport of fixes for
	* generic/tkSelect.c (TkSelDefaultSelection):	"spaces in atom names"
	* tests/select.test (select-9.5):		problems. [Bug 1353414]

	* library/tkfbox.tcl (::tk::dialog::file::): Correct the quoting of
	the script used in variable traces so that widget names with spaces in
	will work. [Bug 1335485]

2005-11-16  Don Porter  <>

	* changes:	Update changes for 8.4.12 release

	* README:		Bump version number to 8.4.12
	* generic/tk.h:
	* macosx/Wish.pbproj/project.pbxproj:
	* unix/
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf
	* win/configure:

2005-11-16  Vince Darley <>

	* doc/text.n: clarify left to right interpretation of index
	modifiers, including the fact that validation occurs after
	each step [Bug 1357575]

2005-11-06  Pat Thoyts  <>

	* unix/tcl.m4: Add missing LIBS for OpenBSD shared libary

2005-10-18  Don Porter  <>

	* generic/tkMain.c:	Rewrote code that sets the ::argv value
	to be sure conversion from the system encoding is complete before
	any processing sensitive to list-special characters is done.
	[Bug 1328926].

2005-10-17  Jeff Hobbs  <>

	* macosx/tkMacOSXScrlbr.c (UpdateControlValues): check geomMgrPtr
	is valid before checking type

2005-10-10  Jeff Hobbs  <>

	* generic/tkInt.h: add MODULE_SCOPE and WORDS_BIGENDIAN checks
	that will work with OS X universal binary compiles. (steffen)

	* generic/tkConfig.c (Tk_DeleteOptionTable, Tk_CreateOptionTable):
	properly alloc/delete one more option. [Bug 1319720] (melbardis)

2005-10-10  Pat Thoyts  <>

	* tests/winfo.test: Wait until child window is visible
	* tests/wm.test:    Modified test to match actual error output.

2005-10-04  Jeff Hobbs  <>

	* library/dialog.tcl (::tk_dialog): add tkwait visibility before
	grab. [Bug 1216775]

	* win/tkWinDialog.c (ChooseDirectoryValidateProc): reset stored
	path to "" if it doesn't exist and -mustexist is true. [Bug 1309218]

2005-09-15  Donal K. Fellows  <>

	* generic/tkOldConfig.c (GetCachedSpecs): Split out the code to
	manipulate the cached writable specs so that it can be reused from
	all the public Tk_Configure* functions.
	(Tk_ConfigureInfo, Tk_ConfigureWidget, Tk_ConfigureValue): Use the
	factored out code everywhere, so we always manipulate the cache
	correctly. [Bug 1288128]

2005-09-11  Daniel Steffen  <>

	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): check if
	process is in front on MouseDown, otherwise request process activation
	from BringWindowForward() via new isFrontProcess param.

	* macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents):
	register our event handler on the dispatcher target for all carbon
	events of interest to TkAqua; this replaces event processing
	directly from the event queue and thus allows to capture events
	that are syntesized by Carbon and sent directly to the dispatcher
	and not to the event queue.

	* macosx/tkMacOSXEvent.c: remove TkMacOSXCountAndProcessMacEvents(),
	rename ReceiveAndProcessEvent() to TkMacOSXReceiveAndProcessEvent().
	(TkMacOSXReceiveAndProcessEvent): remove tk event processing before
	sending events to the dispatcher, all events of interest are now
	processed in our dispatcher target event handler.

	* macosx/tkMacOSXNotify.c (CarbonEventsCheckProc): dispatch events
	directly via TkMacOSXReceiveAndProcessEvent(), but dispatch no
	more than four carbon events at one time to avoid starving other
	event sources.

	* macosx/tkMacOSXEvent.c: formatting cleanup, move XSync() to XStubs,
	* macosx/tkMacOSXEvent.h: removed obsolete kEventClassWish handling.
	* macosx/tkMacOSXXStubs.c

	* macosx/tkMacOSXButton.c: conditionalize all debug message printing to
	* macosx/tkMacOSXCursor.c: stderr via TK_MAC_DEBUG define.
	* macosx/tkMacOSXDebug.c:
	* macosx/tkMacOSXDebug.h:
	* macosx/tkMacOSXDialog.c:
	* macosx/tkMacOSXEvent.c:
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXKeyEvent.c:
	* macosx/tkMacOSXMenu.c:
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXScale.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.c: 

	* unix/ define TK_MAC_DEBUG on aqua when symbols enabled.
	* unix/configure: autoconf-2.13

	* library/listbox.tcl: corrected comments.
	* library/text.tcl: 

	* xlib/xcolors.c: fixed warning

2005-08-23  Jeff Hobbs  <>

	* macosx/tkMacOSXDialog.c: make dialogs ignore -initialfile "" and
	-initialdir "" instead of error.

2005-08-23  Mo DeJong  <>

	* win/tkWin32Dll.c (DllMain): Replace old asm SEH
	approach with Kenny's new SEH implementation.
	[Tcl bug 1235544]

2005-08-22  Daniel Steffen  <>

	* macosx/tkMacOSXButton.c:
	* macosx/tkMacOSXDialog.c: fix warnings.

2005-08-16  Donal K. Fellows  <>

	* generic/tkOldConfig.c (Tk_ConfigureWidget, Tk_ConfigureInfo): 
	(Tk_ConfigureValue, DeleteSpecCacheTable): Keep per-interpreter (and
	hence per-thread) copies of all the Tk_ConfigSpec tables so that
	Tk_Uids do not leak across threads. [Bug 749908]

2005-08-11  Donal K. Fellows  <>

	* generic/tkCanvLine.c, generic/tkCanvPoly.c, generic/tkCanvText.c: 
	* generic/tkCanvas.c, generic/tkConfig.c, generic/tkFocus.c: 
	* generic/tkFrame.c, generic/tkGrid.c, generic/tkImgPhoto.c: 
	* generic/tkPack.c, generic/tkPanedWindow.c: Don't pass size_t
	arguments to Tcl_GetStringFromObj, even with casting; it's not
	portable to 64-bit systems. [Bug 1252702]

2005-08-09  Daniel Steffen  <>

	* macosx/tkMacOSXCarbonEvents.c (new): moved carbon events code into
	* macosx/tkMacOSXHLEvents.c:           new file like on HEAD,
	* macosx/tkMacOSXInit.c (TkpInit):     initialize carbon event handlers
	* macosx/tkMacOSXInt.h:                in TkpInit(), add new source
	* unix/                    file to

	* macosx/tkMacOSXCarbonEvents.c (AppEventHandlerProc): handle carbon
	events sent directly to application event target via the general
	TkMacOSXProcessEvent() in the same way as events posted to the event
	loop. Moved existing app event handlers to tkMacOSXWindowEvent.c.
	(TkMacOSXInitCarbonEvents): register our application event handler for
	kEventWindowExpanded events to deal with uncollapsing from the dock.

	* macosx/tkMacOSXEvent.h: made TkMacOSXProcessEvent() non-static, added
	* macosx/tkMacOSXEvent.c: new interp field to TkMacOSXEvent struct for
	                          use by app event handler.

	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): retrieve
	current window, partCode, modifiers and local cursor position from
	carbon mouse event if possible. Use new static GenerateButtonEvent()
	taking a MouseEventData struct instead of TkGenerateButtonEvent() to
	avoid recomputing already known values. Move process activation on
	MouseDown into BringWindowForward() to allow clicking on window titlebar
	widgets without activating process. Move code dealing with clicks in
	window titelbar into separate function HandleWindowTitlebarMouseDown()
	to avoid code duplication. Avoid repeated calls to TkMacOSXGetXWindow()
	by storing result in MouseEventData struct.
	(TkMacOSXButtonKeyState, XQueryPointer): try to get button and modifier
	state from currently processed carbon event (to avoid unnecessary IPC
	with the window server), otherwise use modern carbon API to get this
	info instead of Button() and GetKeys(); only retrieve info caller asks
	for (via non-NULL ptr passed to XQueryPointer).
	(ButtonModifiers2State): new static function converting carbon button
	and modifier state into tk state, allows detection of more than 3 mouse
	buttons (tk supports up to 5) and of NumLock and Fn modifier keys
	(NumLock is mapped to Mod3 and Fn to Mod4).

	* macosx/tkMacOSXWindowEvent.c (TkMacOSXProcessApplicationEvent): handle
	kEventWindowExpanded event to deal with window uncollapsing from the
	dock by generating tk Map event, handle kEventAppHidden and
	kEventAppShown events (moved here from tkMacOSXCarbonEvents.c).

	* macosx/tkMacOSXSubwindows.c (XUnmapWindow): only hide window when
	it is not iconified to avoid window flashing on collapse.

	* macosx/tkMacOSXWm.c: replaced Tk_DoWhenIdle() by Tcl_DoWhenIdle().
	(TkMacOSXZoomToplevel): remove call to TrackBox(), now done in
	HandleWindowTitlebarMouseDown() in tkMacOSXMouseEvent.c.
	(TkpWmSetState): avoid window flashing on collapse by unmapping after
	calling CollapseWindow(); only uncollapse window if it is collapsed.

	* generic/tkInt.decls: changed TkMacOSXZoomToplevel() signature.
	* generic/tkIntPlatDecls.h:

	* macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): only call
	GetMenuItemCommandID() on KeyDown or KeyRepeat events.

	* macosx/tkMacOSXMenu.c (ReconfigureMacintoshMenu): remove call to
	obsolete AppendResMenu() API.

	* macosx/tkMacOSXKeyEvent.c: replaced all direct uses of expensive
	* macosx/tkMacOSXMenu.c:     GetMouse() and TkMacOSXButtonKeyState()
	* macosx/tkMacOSXMenus.c:    APIs by calls to XQueryPointer()
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXScale.c:
	* macosx/tkMacOSXScrlbr.c:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXDialog.c:   replaced use of FrontNonFloatingWindow()
	* macosx/tkMacOSXKeyEvent.c: by ActiveNonFloatingWindow() as
	* macosx/tkMacOSXMenu.c:     recommended by Carbon docs.
	* macosx/tkMacOSXMenus.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWm.c:

	* macosx/tkMacOSXDialog.c: fixed warnings
	* macosx/tkMacOSXTest.c:

	* macosx/tkMacOSXCarbonEvents.c: added CVS Id line to file header.
	* macosx/tkMacOSXDebug.c:
	* macosx/tkMacOSXDebug.h:
	* macosx/tkMacOSXEntry.c:
	* macosx/tkMacOSXEvent.h:
	* macosx/tkMacOSXKeyEvent.c:
	* macosx/tkMacOSXMouseEvent.c:
	* macosx/tkMacOSXWindowEvent.c:
	* macosx/tkMacOSXWm.h:

	* macosx/tkMacOSXEmbed.c: replaced all uses of panic() with Tcl_Panic()
	* macosx/tkMacOSXFont.c:  (sync with HEAD).
	* macosx/tkMacOSXMenus.c:
	* macosx/tkMacOSXSubwindows.c:
	* macosx/tkMacOSXWm.c:
	* macosx/tkMacOSXXStubs.c:

	* macosx/tkMacOSXInt.h:      sync with HEAD changes of 2005-03-14.
	* macosx/tkMacOSXSubwindows.c:

	* macosx/tclets.r (removed): sync with HEAD.
	* macosx/tkMacOSXScale.c:
	* macosx/tkMacOSXPort.h:

2005-07-30  Daniel Steffen  <>

	* unix/ (html): reverted/amended changes of 2005-07-24
	that broke TkAqua 'make install'; added BUILD_HTML_FLAGS
	optional var like in tcl/unix/

2005-07-28  Jeff Hobbs  <>

	* macosx/tkMacOSXDraw.c (XDrawLines, XDrawSegments): correct
	drawing of CoordModePrevious style (each point based on last).
	Exposed by tktable -drawmode fast.

	* library/bgerror.tcl (::tk::dialog::error::bgerror): use
	zoomDocProc instead of dBoxProc for bgerror dialog

	* macosx/tkMacOSXWm.c (TkpWmSetState): add IsWindowCollapsed check
	before calling CollapseWindow.
	(WmResizableCmd): adjust kWindow*Attributes according to resize

	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): handle
	inToolbarButton action (generates <<ToolbarButton>> virtual event)
	and correct inCollapseBox to properly track the event (waiting for
	buttonrelease) and generate the Unmap event (Map event on
	redisplay still missing).

2005-07-27  Jeff Hobbs  <>

	* generic/tkFrame.c (DisplayFrame):
	* generic/tkInt.decls:  add TkpDrawFrame to allow for
	* generic/tkIntDecls.h: platform-specific drawing into the frame/
	* generic/tkStubInit.c: toplevel area.  Currently only differs on
	* generic/tkFrame.c:    OS X (Aqua), which will draw a themed bg
	* win/tkWinDraw.c:      if tk::mac::useThemedToplevel == 1.
	* unix/tkUnixDraw.c:    Normal frames left alone until we can
	* mac/tkMacDraw.c:      better factor out frame drawing to be
	* macosx/tkMacOSXDraw.c:widget-specific.

	* generic/tkInt.h: Swap TkUnsupported1Cmd for TkUnsupported1ObjCmd.
	* generic/tkWindow.c: Ditto. (neil madden)
	* macosx/tkMacOSXInt.h: Added TkMacOSXWindowClass decl
	* macosx/tkMacOSXWm.c (TkMacOSXWinStyle) New function.
	(TkUnsupported1ObjCmd): New function, replaces the un-objectified
	version of the command, recognizes more classes and attributes.
	(TkMacOSXWindowClass): private function to return OS X class of a
	Tk window.
	* macosx/tkMacOSXSubwindows.c (XMapWindow, XUnmapWindow):
	recognize special show/hide functions for sheets

2005-07-24  Mo DeJong  <>

	* unix/ Subst TCLSH_PROG and
	BUILD_TCLSH into Makefile. Rework html
	target so that it depends on the tclsh
	installed on the system PATH.
	* unix/configure: Regen.
	* unix/ Invoke SC_PROG_TCLSH
	and SC_BUILD_TCLSH and subst into Makefile.
	* unix/tcl.m4: Update from Tcl.
	* win/ Subst TCLSH_PROG and
	BUILD_TCLSH into Makefile. Rework winhelp
	target so that it depends on the tclsh
	installed on the system PATH.
	* win/configure: Regen.
	* win/ Invoke SC_BUILD_TCLSH
	and subst into Makefile.
	* win/tcl.m4: Update from Tcl.
	[Tcl patch 1244153]

2005-07-21  Jeff Hobbs  <>

	* unix/configure, unix/tcl.m4: sync'ed to Tcl's tcl.m4

	* macosx/tkMacOSXEntry.c (TkpDrawEntryBorderAndFocus): set
	oldWidth to avoid warning

	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): 
	corrected if expression error (use of = instead of ==)

2005-07-06  Jeff Hobbs  <>

	* doc/getOpenFile.n: correct -multiple docs (takes boolean)

2005-06-25  Daniel Steffen  <>

	*** 8.4.11 TAGGED FOR RELEASE ***

	* library/demos/menu.tcl: removed errant '}'.

2005-06-23  Daniel Steffen  <>

	* generic/tkConsole.c: backport fix for bug 756840 & sync whitespace
	changes from HEAD.

	* generic/tkConsole.c (TkConsolePrint): prevent potential NULL deref.

	* macosx/tkMacOSXDefault.h: change ENTRY_BORDER defaults to from 5 to 2
	to make default entry widgets in TkAqua look like in other aqua apps
	(and have same border dimensions as other platforms). [Bug 1176610]

	* unix/ (install-private-headers): rewrite tkPort.h when
	installing private headers to remove ../unix relative #include path to
	tkUnixPort.h (which is incorrect at the installed location).

2005-06-21  Donal K. Fellows  <>

	* doc/GetBitmap.3: Fix silly error in SYNOPSIS. [Bug 1224983]

2005-06-20  Donal K. Fellows  <>

	* generic/tkImgGIF.c (mInit,Mgetc,Fread): Stop anyone from reading
	off the end of a buffer.

2005-06-18  Daniel Steffen  <>

	* macosx/Makefile: for X11 build, add -X11 suffix to unversioned wish
	symbolic link.

	* unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to
	ensure we can always relocate binaries with install_name_tool.

	* unix/configure: autoconf-2.13

2005-06-18  Don Porter	<>

	* changes:		Update changes for 8.4.11 release

	* README:		Bump version number to 8.4.11
	* generic/tk.h:
	* macosx/Wish.pbproj/project.pbxproc:
	* unix/
	* win/

	* unix/	Updated LOCALES to cover all msgs catalogs.

	* unix/configure:	autoconf
	* win/configure:

2005-06-04  Donal K. Fellows  <>

	* generic/tkCanvas.c (SearchUids): Move all global data into
	protected storage to stop cross-thread issues. [Bug 1114977] 

2005-06-03  Donal K. Fellows  <>

	* generic/tkConsole.c (Tk_CreateConsoleWindow, TkConsolePrint):
	Transmit the ConsoleInfo through AssocData, so renaming [console]
	won't make things break. [Bug 1016385]

2005-06-03  Daniel Steffen  <>

	*** 8.4.10 TAGGED FOR RELEASE ***

	* macosx/Makefile: fixed 'embedded' target.

2005-06-02  Jim Ingham  <>

        Another patch from M. Kirkham.
	* macosx/tkMacOSXScrlbr.c (ThumbActionProc, ScrollBarBindProc):
	Record the first mouse down point, and compute differences from
	that, rather than getting the mouse down each time through the
	loop.  The old method would get fooled if you moved the mouse less
	than a text line height in the text widget.
	[Bug 1083728]
2005-06-02  Jeff Hobbs  <>

	* changes: update for 8.4.10 release (porter)

2005-05-31  Mo DeJong  <>

	* macosx/tkMacOSXWm.c (TkWmStackorderToplevelWrapperMap, TkWmStackorderToplevel):
	* unix/tkUnixWm.c (TkWmStackorderToplevelWrapperMap, TkWmStackorderToplevel):
	* win/tkWinWm.c (TkWmStackorderToplevelWrapperMap, TkWmStackorderToplevel):
	Fix panic in wm stackorder when a toplevel is created on another
	diplay. The code now ignores toplevels that have a display
	that does not match the display of the parent window.
	[Bug 1152809]

2005-05-30  Jeff Hobbs  <>

	* generic/tkPanedWindow.c, tests/panedwindow.test: batch of fixes
	to panedwindow from Daniel South.  Improved auto-size to fit
	internal windows, fixed sash placement at edge of pane, fixed
	calculation of stretch amount for internal windows.
	[Bug 1124198 1161543 1054117 1010941 795869 690169 1192323]

	* generic/tkMenu.c (MenuCmd): create event handler earlier to
	ensure proper destruction of menu through DestroyNotify.
	[Bug 1159367]

	* library/console.tcl (::tk::ConsoleInit): print out first prompt
	and swallow the extra "% " that comes once from Tcl on Windows.

2005-05-29  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: added missing FRAMEWORK defines
	introduced with configure/make based build.

	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXNotify.c: fixed warnings.

	* unix/ skip X11 configure checks when building tk_aqua.
	* unix/configure: autoconf-2.13

2005-05-27  Jeff Hobbs  <>

	* README:       Bumped patchlevel to 8.4.10
	* generic/tk.h:
	* macosx/Wish.pbproj/project.pbxproj:
	* unix/configure, unix/, unix/tk.spec:
	* win/configure, win/

2005-05-27  Todd Helfter <>

	* library/menu.tcl: correct the sticky behavior of menus posted by
	tk_popup so that they "stick" after the initial <ButtonRelease>
	following the post, that is not over an active menu entry.

2005-05-26  Daniel Steffen  <>

	* macosx/tkMacOSXInit.c (TkpInit): fixed resource file extraction
	from __tk_rsrc section to work with non-prebound .dylib and .bundle.

	* macosx/Makefile: corrected EMBEDDED_BUILD check, use separate tcl
	and tk version vars to properly support tk/x11 framework version
	overriding, rewrite when overriding tk version, corrected symlink in tk build dir.
	* unix/ corrected framework finalization to softlink
	stub library to Versions/8.x subdir instead of Versions/Current.
	* unix/configure: autoconf-2.13

2005-05-25  Jeff Hobbs  <>

	* unix/configure, unix/ ensure false Tcl.framework is
	only created with --enable-framework

	* unix/ (install-libraries): protect possible empty
	list in for with list= trick for older shells.

2005-05-24  Daniel Steffen  <>

	* generic/tkTest.c: disable commands not available on TkAqua.

	* macosx/Makefile:
	* macosx/README:
	* macosx/ (new file):
	* macosx/ (new file):
	* unix/
	* unix/
	* unix/tcl.m4:
	* unix/tkUnixInit.c:  moved all Darwin framework and TkAqua build
	support from macosx/Wish.pbproj and macosx/Makefile into the standard
	unix configure/make buildsystem, the project and macosx/Makefile are
	no longer required to build Tk.framework and/or TkAqua. TkAqua is now
	enabled by the --enable-aqua configure option, and static and
	non-framework builds of TkAqua are now available via the standard
	configure switches. Tk/X11 can also be built as a framework. The
	macosx/Makefile now wraps the unix buildsystem and no longer uses the
	projects, embedded builds are still only available via this Makefile,
	but for other builds it is not longer required (but its current
	functionality is still available for backwards compatibility). The
	projects currently do not call through to the Makefile to build
	(unlike Tcl.pbproj) so project builds may differ from makefile builds.
	Due to issues with spaces in pathnames, 'Wish' has been
	renamed to '', the macosx/Makefile installs backwards
	compatibility symlinks for the old name.
	* macosx/tkMacOSXInit.c (TkpInit): added support for Tk resource file
	in non-framework and static builds: the resource file is copied into a
	__tk_rsrc MachO segment of the library or executable at link time and
	extracted into a temporary location at initialization.
	* unix/configure: autoconf-2.13

	* macosx/Wish.pbproj/project.pbxproj:
	* macosx/tkAboutDlg.r: updated copyright years to 2005.

2005-05-15  Jim Ingham  <>

	Fixes from Michael Kirkham:

	* macosx/tkMacOSXMenu.c (TkpConfigureMenuEntry): Thinko in clearing 
	the ENTRY_ACCEL_MASK before re-parsing it. [Tk Bug 1012852]

	* macosx/tkMacOSXScrlbr.c (UpdateControlValues): Don't set the 
	control value BEFORE setting the min and max or the control manager
	will reset it for you. [Tk Bug 1202181]

	* macosx/tkMacOSXXStubs.c (TkMacOSXXGetPixel, TkMacOSXXPutPixel):
	Restore the port to what it was before putting we were called.
	[Tk Bug 1202223]
2005-05-14  Daniel Steffen  <>

	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXNotify.c: introduction of new tcl notifier based on
	CFRunLoop allows replacement of the custom TkAqua notifier by a
	standard tcl event source. Removes requirement of threaded tcl core
	for TkAqua, allows to stub-link TkAqua against Tcl by removing use of
	the unstubbed TclInitNotifier & TclFinalizeNotifier. [Tcl Patch 1202052]

	* macosx/Wish.pbproj/project.pbxproj: stub-link TkAqua: build with
	USE_TCL_STUBS and link against libtclstub instead of Tcl.framework,
	unexport libtclstub symbols from Tk to avoid duplicate symbol warnings
	when linking with both Tcl and Tk, fixes for gcc4.0 warnings.

	* macosx/tkMacOSXBitmap.c:
	* macosx/tkMacOSXButton.c:
	* macosx/tkMacOSXDialog.c:
	* macosx/tkMacOSXFont.c:
	* macosx/tkMacOSXHLEvents.c:
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXKeyboard.c:
	* macosx/tkMacOSXMenu.c:
	* macosx/tkMacOSXMenubutton.c:
	* macosx/tkMacOSXWm.c:
	* macosx/tkMacOSXXStubs.c: fixed gcc 4.0 warnings.

	* unix/tcl.m4: sync with tcl
	* unix/configure: autoconf-2.13

2005-05-10  Vince Darley <>

	* library/text.tcl: test and fix to TextPrevPara to avoid infinite loop
	* tests/textIndex.test: at start of widget [Bug 1191895]

2005-05-06  Jeff Hobbs  <>

	* unix/configure: regen
	* unix/ add AC_C_BIGENDIAN check
	* unix/tcl.m4: correct Solaris 10 (5.10) check and add support for
	x86_64 Solaris cc builds.

2005-04-25  Daniel Steffen  <>

	* macosx/tkMacOSXNotify.c: syncd with tclUnixNotfy.c changes since
	2004-06-22, added compile time check for threaded tcl core, removed
	unthreaded code paths as they are never used anyway, fixed
	TkMacOSXAlertNotifier() implementation.

	* unix/ added TCL_STUB_LIB_FILE, needed for unexporting of
	symbols from libtclstub to avoid duplicate symbol warnings.

	* unix/tcl.m4 (Darwin): added configure checks for recently added linker
	flags -single_module and -search_paths_first to allow building with
	older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD and
	not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of symbols
	from libtclstub to avoid duplicate symbol warnings, added PLAT_SRCS
	definition for Mac OS X.
	(SC_MISSING_POSIX_HEADERS): added caching of dirent.h check.
	(SC_TCL_64BIT_FLAGS): fixed 'checking for off64_t' message output.

	* unix/configure: autoconf-2.13

2005-04-12  Jeff Hobbs  <>

	* unix/tkUnixFont.c (FontMapLoadPage): reorder char[] decls to
	avoid possible segv.  Minimal fix for [Bug 1122671]

	* library/tkfbox.tcl (::tk::dialog::file::): fix typeMenuLab ref.
	Add undoc'd ::tk::dialog::file::showHiddenBtn var (default 0) that
	will add a "Show Hidden" checkbutton to tk_get*File and
	tk_chooseDirectory if set to true.
	* library/choosedir.tcl (::tk::dialog::file::chooseDir::): fix
	cancelBtn ref, add hiddenBtn ref for "Show Hidden" button.

2005-04-09  Daniel Steffen  <>

	* macosx/README: updated requirements for OS & developer tool
	versions + other small fixes/cleanup.

	* macosx/tkMacOSXEntry.c (ComputeIncDecParameters): manually define
	constants present only in 10.3 headers so that we can build on 10.2.
	* macosx/Wish.pbproj/project.pbxproj: fixed absolute path to 
	tkEntry.h that confused 10.2 PBX.
	* unix/tcl.m4 (Darwin): added -single_module linker flag to
	* unix/configure: autoconf-2.13

2005-03-29  Jeff Hobbs  <>

	* win/tcl.m4, win/configure: do not require cygpath in macros to
	allow msys alone as an alternative.

2005-03-24  Jim Ingham  <>

        These changes allow us to draw the Entry and Spinbox widget
	with a native look and feel on Mac OS X.

	* generic/tkEntry.h: New file, extracting the definitions of
	Entry and Spinbox.
	* generic/tkEntry.c (DisplayEntry): Call out to
	TkpDrawEntryBorderAndFocus and TkpDrawSpinboxButtons.  Also
	provide default implementations for X11 & Win.
	* macosx/tkMacOSXEntry.c: New file, implements the entry & focus
	and spinbox button drawing.
	* tkMacOSXDefaults.h: Change the Mac OS X defaults so they fit
	the native widget shapes.
	* xlib/xgc.c (XCreateGC): Set the default linewidth to 1, not
	0.  Some extensions seem to expect this.
2005-03-15  Pat Thoyts  <>

	* unix/tcl.m4:    Updated for OpenBSD and regenerated the configure
	* unix/configure: script

2005-03-11  Jim Ingham  <>

	* macosx/tkMacOSXButton.c (TkpDisplayButton): Set the port to
	the Button window's port BEFORE you set the clip, otherwise you 
	are setting the clip on the wrong window!
	Also, a little cleanup - move x & y into the branches where they are
	used, and don't compute the TextAnchor if we are using the native 
	button text, since we aren't going to use it.
	(TkMacOSXDrawControl): Call ShowControl & SetControlVisibility in a more
	logical order.

	* tkMacOSXInt.h: Add TkMacOSXGenerateFocusEvent.
	* tkMacOSXSubwindows.c (XDestroyWindow): We don't get Activate events
	for the remaining windows when a Floating window is destroyed.  This 
	can cause the focus to disappear.  So catch this case when the window
	is being destroyed and move the focus here.
	* tkMacOSXWindowEvent.c (TkMacOSXGenerateFocusEvent): Make this public
	(used to be GenerateFocusEvent) since we need it here and in 
	tkMacOSXSubwindows.c.  Then change the name everywhere it is used.
	[Bug 1124237]
2005-03-10  Jim Ingham  <>

	* macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): In
	the inDrag section, set the GrafPort to the drag window's GrafPort
	before doing LocalToGlobal. [Bug 1160025]
2005-03-08  Jeff Hobbs  <>

	* win/tkWinWm.c (WinSetIcon): fix GCLP_ICONSM -> GCLP_HICONSM.

	* win/ clarify necessary defined vars that can come
	from MSVC or the Platform SDK.

2005-02-28  Jeff Hobbs  <>

	* win/tkWinX.c (GenerateXEvent): correct %A translation on
	MouseWheel [Bug 1118340]

2005-02-25  Jeff Hobbs  <>

	* unix/tkUnixFont.c (FontMapLoadPage): swap decl of char arrays to
	avoid aligment issues in Tcl_UtfToExternal. [Bug 1122671]

	* unix/configure, unix/ add AC_C_BIGENDIAN check
	which defines WORDS_BIGENDIAN on BE machines.

2005-02-24  Daniel Steffen  <>

	* macosx/tkMacOSX.h: fixed incorrect inclusion of internal header.
	* macosx/tkMacOSXNotify.c: corrected included headers.

2005-02-22  Daniel Steffen  <>

	* macosx/tkMacOSXDialog.c (Tk_GetSaveFileObjCmd, NavServicesGetFile):
	fixed encoding problems with -initialfile & -filetypes and
	corrected potential buffer overrun with -initialdir/-initialfile.
	[Bug 1146057]

2005-02-14  Donal K. Fellows  <>

	* tests/all.tcl: Add a [package require Tk] so that a missing
	display causes an early failure and keeps the error trace short.
	Issue observed in [FRQ 11122147], even though that's unrelated.

2005-02-11  Jeff Hobbs  <>

	* library/panedwindow.tcl (::tk::panedwindow::Cursor): check
	window existence on delayed call. [Bug 949792]

	* doc/text.n: note 'image' key in 'dump' command. [Bug 1115907]

	* win/tkWinWm.c (TkWinGetIcon): fix toplevel retrieval for
	determining icon ref (potential crash). [Bug 1105738]

	* generic/tkCanvBmap.c (ConfigureBitmap, ComputeBitmapBbox): Fixed
	possible crash with disabled bmap and bbox handling [Bug 1119460]
	(BitmapToPostscript): made aware of various bitmap types
	(DisplayBitmap): remove unused fg/bgColor refs

2005-02-10  Jeff Hobbs  <>

	* unix/ remove SHLIB_LD_FLAGS (only for AIX, inlined
	* unix/tcl.m4:      into SHLIB_LD).  Combine AIX-* and AIX-5
	* unix/configure:   branches in SC_CONFIG_CFLAGS.
	Correct gcc builds for AIX-4+ and HP-UX-11.

2005-01-31  Donal K. Fellows  <>

	* library/msgs/es_ES.msg: Added more localization for Spanish
	Spanish. [Bug 1111213]

2005-01-28  Jeff Hobbs  <>

	* unix/configure, unix/tcl.m4: add solaris 64-bit gcc build
	support. [Bug 1021871]

2005-01-25  Daniel Steffen  <>

	* macosx/tkMacOSXInit.c (TkpInit): set tcl_interactive to 1 to show
	console at startup instead of directly calling [console show].
	* unix/tcl.m4 (Darwin): fixed bug with static build linking to
	dynamic library in /usr/lib etc instead of linking to static library
	earlier in search path. [Tcl Bug 956908]
	Removed obsolete references to Rhapsody. 
	* unix/configure: autoconf-2.13

2005-01-18  Donal K. Fellows  <>

	* library/demos/menu.tcl: Reworked to make dialogs children of the
	demo widget so that they are properly visible. Issue reported by
	Keith Nash <>

2005-01-14  Joe English  <>

	* unix/tkUnixWm.c: Sync with CVS HEAD (r1.47):
	Fixes: #959973 "wm title bug" (support Unicode titles)
	Fixes: #742882 "Potential division by zero in gridded wm geometry"
	Use Tcl_GetTime instead of TclpGetTime [#874745]
	Use Tcl_Panic() instead of "panic" [#865264]
	Fixes: #632816 "cannot remove transient"
	Fixes: #568861 "Fix for wm minsize and maxsize commands"
	* tests/unixWm.test, tests/wm.test: Updated test suite for 
	#632816 (unixWm-37.3, unixWm-37.4, wm-grid-1.11, wm-grid-1.12)
	and #742882 (unixWm-20.9, unixWm-20.11).

2005-01-11  Donal K. Fellows  <>

	* generic/tkObj.c (TkParsePadAmount):
	* generic/tkPack.c: Moved function to tkObj.c and rewrote so that it
	takes advantage of Tcl_Objs properly and cannot leave objects in an
	inconsistent state. [Bug 1098779]

2005-01-07  Donal K. Fellows  <>

	* generic/tkWindow.c (GetScreen): Make sure the result is reset on
	all error paths to stop strange errors. [Bug 697915]

2005-01-05  Donal K. Fellows  <>

	* doc/loadTk.n, doc/toplevel.n: Convert to other form of emacs
	mode control comment to prevent problems with old versions of
	man. [Bug 1085127]

2005-01-03  Jeff Hobbs  <>

	* win/tkWinWm.c (TkWinWmCleanup): clean up layered window class.
	This caused crash in reinit of Tk (as seen in plugin).

2004-12-29  Jeff Hobbs  <>

	* win/tcl.m4, win/configure: update MSVC CFLAGS_OPT to -O2, remove
	-Gs (included in -O2) and -GD (outdated).  Use "link -lib" instead
	of "lib" binary and remove -YX for MSVC7 portability.  Add
	-fomit-frame-pointer for gcc OPT compiles. [Bug 1092952, 1091967]

2004-12-20  Donal K. Fellows  <>

	* doc/panedwindow.n: Fix silly typo. [Bug 1087842]

2004-12-09  Donal K. Fellows  <>

	* generic/tkImgPhoto.c (Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock):
	Added guards so that rescanning for the complex-alpha check is not
	done in the common case of creating a simple image a bit at a
	time, or any other time where the image was simple before and the
	input data has no alpha channel. [Bug 1081966]

2004-12-06  Jeff Hobbs  <>

	*** 8.4.9 TAGGED FOR RELEASE ***

	* library/text.tcl (::tk::TextUpDownLine): revert 2004-11-23 as it
	prevented scrolling to bottom.

2004-12-03  Donal K. Fellows  <>

	* generic/tkImgPhoto.c (Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock):
	Make overlay compositing where the target is empty no longer set
	the target to magical gray, and also make sure that the
	complex-alpha flag is toggled when necessary. [Patch 848161]

2004-12-02  Jeff Hobbs  <>

	* changes: updated for 8.4.9 release

2004-12-01  Jeff Hobbs  <>

	* unix/tkUnixButton.c (TkpDisplayButton): constrain coords to
	Tk_RedrawImage to display only portion that is valid.
	* generic/tkImgPhoto.c (ImgPhotoDisplay): add X error suppression
	around XGetImage to prevent app abort. [Bug 979239]

2004-11-24  Jeff Hobbs  <>

	* README:       Bumped patchlevel to 8.4.9
	* generic/tk.h:
	* macosx/Wish.pbproj/project.pbxproj:
	* unix/configure, unix/, unix/tk.spec:
	* win/configure, win/

2004-11-23  Vince Darley <>

	* library/text.tcl: make up/down cursor keys move by display
	lines, not logical lines [Bug 1011234] (REVERTED 2004-12-06)

2004-11-19  Reinhard Max  <>

	*** 8.4.8 TAGGED FOR RELEASE ***

	* unix/installManPage: Classic sed doesn't support | in REs.

	* doc/pack-old.n: Changed the internal name of the man page to
	pack-old to avoid a name clash in the installed man pages.

2004-11-18  Don Porter	<>

	* changes:	Final updates for Tcl 8.4.8 release.

2004-11-18  Reinhard Max  <>

	* unix/tcl.m4 (SC_CONFIG_MANPAGES): Applied an improved version of
	* unix/                patch #996085, that introduces
	* unix/                 --enable-man-suffix.

	* unix/installManPage:              added
	* unix/mkLinks:                     removed

2004-11-17  Jeff Hobbs  <>

	* generic/tkCanvWind.c (ConfigureWinItem): unmap windows
	immediately when state hidden is requested. [Bug 982248]

	* generic/tkCanvImg.c (ImageToPostscript): don't try ps generation
	of canvas image item without image specified. [Bug 1032300]

	* library/console.tcl (::tk::console::ExpandVariable): correct
	array keyname expansion. [Bug 1004508] (bold)

	* generic/tkPanedWindow.c (Tk_PanedWindowObjCmd): set save_under X
	attr to prevent expose events when moving sash. [Bug 1036963]

2004-11-16  Don Porter	<>

	* changes:	Updates for Tk 8.4.8 release.

	* library/msgs/it.msg:	Updated Italian message catalog.
	Thanks to Roberto Ugoccioni [Bug 1063675].

2004-11-12  Daniel Steffen  <>

	* macosx/tkMacOSXXStubs.c: implemented XGetGeometry().

2004-11-12  Jeff Hobbs  <>

	* generic/tkCmds.c (Tk_TkObjCmd): use correct screen data when
	-displayof arg is passed to [tk scaling]. [Bug 800178]

2004-11-12  Daniel Steffen  <>

	* macosx/tkMacOSXFont.c (Tk_MeasureChars,Tk_DrawChars,etc): Make
	sure that the lastSubFontPtr remains valid even when the subfont
	array is reallocated. [Bug 618872]

2004-11-11  Daniel Steffen  <>

	* generic/tkMain.c:
	* macosx/tkMacOSXAppInit.c (removed):
	* macosx/Wish.pbproj/project.pbxproj: 
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXInt.h: changes to make TkAqua dynamically loadable,
	enabling [package require Tk] from tclsh. Startup code from
	tkMacOSXAppInit.c moved into tkMacOSXInit.c, added code that
	notifies the window server that an unbundled executable is a full
	GUI application after loading Tk. [Patch 1035348]

	* doc/wm.n: documented [wm attributes] on Mac OS X. [Bug 606665]
	* macosx/tkMacOSXWm.c: implemented TIP 222 [wm attributes -alpha] on
	Mac OS X. [Patch 892194]
	WmIconbitmapCmd: adopted FSRef changes from [wm atttrs -titlepath].

	* macosx/tkMacOSXButton.c:
	* macosx/tkMacOSXMenus.c:
	* macosx/tkMacOSXRegion.c:
	* macosx/tkMacOSXSubwindows.c: synced spacing/formatting with HEAD.

	* macosx/tkMacOSXMouseEvent.c: endianness fixes.

	* macosx/Wish.pbproj/project.pbxproj: corrected path to html help
	inside framework.

	* macosx/Makefile: prevent parallel make from building several
	targets at the same time.
	Ensure that xcodebuild will use Wish.pbproj project even if a .xcode
	project is also present.

2004-11-10  Jim Ingham  <>

	From Michael Kirkham (
	* macosx/tkMacOSXButton.c (TkpDisplayButton): Don't set
	the text if compound is NONE and we have and image.
	[Bug 1055023]
2004-10-29  Mo DeJong  <>

	* tests/wm.test: Add Win32 test cases for attributes
	* win/tkWinWm.c (WmAttributesCmd): Fixup broken
	option processing logic for attributes subcommand.

2004-10-29  Pat Thoyts  <>

	* win/ (DOTVERSION): Was installing 8.4 relabelled as 8.5

	* library/tk.tcl (::tk::PlaceWindow): Backported the fix from 
	#533519 to handle window placement on multi-monitor Windows.

2004-10-28  Mo DeJong  <>

	* doc/wm.n: Add wm attributes . -alpha doc to account
	for recent alpha changes.

2004-10-28  Mo DeJong  <>

	* win/tkWin32Dll.c (DllMain, _except_dllmain_detach_handler):
	Back port HAVE_NO_SEH handler code from CVS HEAD to fix
	gcc build breakage caused by 2004-10-26 back port.

2004-10-28  Don Porter	<>

	* README:				Bumped to patch level 8.4.8
	* generic/tk.h:				to prepare for next patch
	* macosx/Wish.pbproj/project.pbxproj:	release.
	* unix/
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf (2.13)
	* win/configure:

2004-10-28  Pat Thoyts  <>

	* unix/tkUnixScale.c (DisplayHorizontalValue): Backport fix for
	#220927 by Michael Schlenker to keep the labels within the window.

2004-10-28  Donal K. Fellows  <>

	* doc/*.n: Backport of minor documentation fixes.

2004-10-27  Don Porter	<>

	* library/xmfbox.tcl (MotifFDialog_BuildUI): Fix [Bug 987169] in
	the Motif file dialogs as well.	 Backport of DKF bug fix.

2004-10-26  David Gravereaux <>

	* generic/tkInt.h:	Backport of shutdown safety mods from the HEAD
	* generic/tkMenu.c:	dating from 2003-12-21
	* generic/tkUtil.c:
	* generic/tkWindow.c:
	* mac/tkMacButton.c:
	* unix/tkUnixEvent.c:
	* win/tkWin32Dll.c:
	* win/tkWinEmbed.c:
	* win/tkWinMenu.c:
	* win/tkWinX.c:

	* generic/tkInt.decls:       Signature for tkWinXCleanup needed to be
	* generic/tkIntPlatDecls.h:  changed so it matches the Tcl_ExitProc
				     typedef to avoid a bad-style cast.

	* win/  Backport to the most recent
	* win/     changes on the HEAD.
	* win/nmakehlp.c:

2004-10-26  Don Porter	<>

	* tests/safe.test (safe-1.3):  Made test less sensitve to the
	full set of existing aliases in an interp, so the it only tests
	whether the tested ones are present.

	* unix/	Copied LD_LIBRARY_PATH machinery from
	`make shell` target to other similar targets so that just built
	libraries are tested, rather than previous installations.

2004-10-26  Reinhard Max  <>

	* generic/tkEvent.c (Tk_HandleEvent): Call XSetICFocus whenever
	the window receives focus. This fixes bug #905830 but avoids
2004-10-20  Jeff Hobbs  <>

	* win/tkWinWm.c (UpdateWrapper): pass SWP_NOOWNERZORDER to
	SetWindowPos when maintaining win Z order, to prevent parent
	from flashing (adjusting Z order).

2004-10-05  Jeff Hobbs  <>

	Backport of 8.5 wm iconphoto that added support for Tk photo
	* generic/tkInt.h (TkDisplay):    images as titlebar icons. TIP #159
	* win/tkWinWm.c (WmIconphotoCmd): wm iconphoto ?-default? image1 ...
	* macosx/tkMacOSXWm.c (WmIconphotoCmd): Implemented for Win/Unix,
	* unix/tkUnixWm.c (WmIconphotoCmd):     stubbed out for OS X.
	* tests/wm.test, tests/unixWm.test, tests/winWm.test: [Bug 815751]

2004-09-24  Don Porter	<>

	* generic/tkCursor.c:  Add missing initialization in debug routine.

2004-09-22  Jeff Hobbs  <>

	* win/tkWinInt.h (TkWinDisplayChanged): added decl
	* win/tkWinX.c (TkWinDisplayChanged, TkpOpenDisplay): Correctly
	* win/tkWinWm.c (InvalidateSubTreeDepth, WmProc):     handle color
	and screen resolution changes.  Tested for 16/24/32 bpp changes on
	XP.  May need more fixes for 8bpp switch, use of special
	colormaps, or other special palette handling cases.  [Bug 223689]

2004-09-22  Mo DeJong  <>

	* generic/tkInt.decls: Add decl for TkWinGetPlatformTheme.
	It is only defined under Win32.
	* generic/tkIntPlatDecls.h: Regen.
	* generic/tkStubInit.c: Regen.
	* win/tkWinInt.h: Define TK_THEME_WIN_CLASSIC and
	* win/tkWinMenu.c (DrawMenuEntryAccelerator, DrawMenuEntryLabel):
	Draw a disabled 3D text highlight for the accelerator only
	with the Win95/98 look. Same goes for the menu entry text.
	* win/tkWinX.c (TkWinGetPlatformId, TkWinGetPlatformTheme):
	Automatically detect the Windows theme in use and return
	TkWinGetPlatformTheme function is invoked.
	[Patch 866194]

2004-09-22  Vince Darley <>

	* win/tkWinMenu.c: only provide a submenu handle when the
	MF_POPUP flag is given, fixing a recently-introduced crash
	when submenus are disabled.  Also better error checking for
	this sort of situation in the future.
2004-09-22  Mo DeJong  <>

	* win/tkWinMenu.c (ReconfigureWindowsMenu): Fix drawing of a disabled
	(TkWinHandleMenuEvent, DrawMenuEntryArrow): cascade menu arrow. Tk was
	displaying a disabled cascade menu arrow in black instead of
	gray. This was caused by a bug in the Win32 code for user drawn
	menu items. The fix is to avoid telling Windows that the menu item
	is a cascade type and then draw the gray arrow bitmap on our own.
	[Patch 865842]

2004-09-22  Mo DeJong  <>

	* win/tkWinMenu.c (DrawWindowsSystemBitmap): Fix a strange Win32
	bug where the logical coordinates returned by a call to DPtoLP are
	wrong the first time a menu is posted.  This bug manifested itself
	by drawing the bitmap in the wrong place in a menu.  The fix was
	to pass the newly created DC instead of the DC from the window.

2004-09-22  Mo DeJong  <>

	* win/tkWinMenu.c (DrawMenuEntryAccelerator):
	(DrawMenuEntryLabel): When drawing the label text and accelerator
	text for a disabled menu entry be sure to draw a 3D highlight.
	The only exception to this is when a disabled menu entry is
	highlighted, in that case do not draw a 3D hightlight.

2004-09-22  Mo DeJong  <>

	* win/tkWinMenu.c (DrawMenuEntryAccelerator, DrawMenuEntryArrow):
	Move the unused menu arrow drawing code in
	DrawMenuEntryAccelerator into a new function named
	DrawMenuEntryArrow.  This makes no functional change but it will
	make it easier to fix things in the future.

2004-09-22  Mo DeJong  <>

	* win/tkWinWm.c: Rework WS_EX_LAYERED and LWA_ALPHA
	defines so that compiling with mingw works again.

2004-09-20  Jeff Hobbs  <>

	* win/tkWinWm.c (UpdateWrapper, WmAttributesCmd): handle attribute
	settings prior to window mapping and resort to more forceful
	wrapper update again for -toolwindow (to remove it from taskbar).

2004-09-18  Jeff Hobbs  <>

	* win/tkWinWm.c (WmAttributesCmd): correct -alpha 0.0/1.0 setting
	and round the value.
	(UpdateWrapper): don't adjust Z order of TOPMOST window.
	(WmAttributesCmd): don't call UpdateWrapper for -disabled or
	-toolwindow attr changes.

2004-09-18  Daniel Steffen  <>

	* macosx/README: typos
	* macosx/tkMacOSXDraw.c (TkMacOSXSetUpCGContext): performance
	improvements: removed slow & unnecessary calls.

2004-09-17  Jeff Hobbs  <>

	* tests/winWm.test: Add 'wm attributes -alpha' to control toplevel
	* win/tkWinInt.h:   alpha transparency on Win2K/XP+.
	* win/tkWinWm.c:    TIP #222 [Patch 892194]

	* win/tkWinWm.c (UpdateWrapper): Ensure that we maintain Z order
	* tests/winWm.test:              and focus of preexisting window
	when replacing the wrapper window.
	* win/tkWinWm.c (WmIconwindowCmd): Replace bogus call to
	XWithdrawWindow with proper code. (mdejong)

2004-09-16  Jeff Hobbs  <>

	* generic/tkMenu.c (MenuWorldChanged): ensure that we recompute
	the menu geometry on WorldChanged to handle font size
	changes. [Bug 607649]

2004-09-16  Peter Spjuth  <>

	* tests/place.test:
	* generic/tkPlace.c: Fixed a memory leak when a placed widget was
	forgotten. [Bug 1028888]

2004-09-13  Jeff Hobbs  <>

	* win/tkWinWm.c (ReadIconFromFile): fix mem alloc to get the right
	size for both icons ('?:' order of precedence mistake).

2004-09-10  Donal K. Fellows  <>

	* library/tkfbox.tcl (::tk::dialog::file::): Make sure that the
	state is reset properly when starting to run the dialog. [Bug 845189]

	* library/demos/filebox.tcl: Stop the use of tk_strictMotif from
	poisoning the rest of the widget demo. [Bug 1013942]

2004-09-10  Jeff Hobbs  <>

	* win/tkWinWm.c (ActivateWindow): SetFocus to grab window when
	clicking outside the grab window hierarchy. [Bug 220908]
	(UpdateWrapper): update to Kovalenko to account for whether the
	override window has a transient parent, and apply WS_POPUP in the
	correct case.  The makes splash screens pop up as well as making
	dropdowns not grab focus away from the parent.

2004-09-09  Jeff Hobbs  <>

	* win/tkWinWm.c: backport of several items from 8.5 head:
	(ReadIconFromFile): when using SHGetFileInfo to retrieve icon, get
	regular icon as well for correct Alt-Tab icon. (hobbs)
	Fix for #742882 "Potential division by zero in gridded wm
	geometry" (jenglish)
	(UpdateWrapper): Let overrideredirect'ed window's wrapper be the
	child of desktop window, thus making it to behave more similarly
	to X11 Override Redirect. Esp. useful for combobox-like
	megawidgets. (kovalenko)
	(InstallColormaps): Check for TK_ALREADY_DEAD to avoid handling of
	dead windows. (kovalenko)
	Change 'panic' to 'Tcl_Panic' (davygrvy)

2004-09-06  Jeff Hobbs  <>

	* library/tkfbox.tcl (::tk::dialog::file::Create): use label
	instead of button for "File of type", as it properly handles
	-state disabled now.

2004-08-26  Jeff Hobbs  <>

	* library/text.tcl (::tk::TextTranspose): Ensure that Transpose is
	an atomic op to undo.  Replace 'string compare' with 'ne'.

2004-08-19  Jeff Hobbs  <>

	* win/tkWinDialog.c (EatSpuriousMessageBugFix): Fix a problem with
	double clicks in file dialogs falling through to the window
	underneath in win32. [Patch #611615]

	* win/tkWinDialog.c (Tk_MessageBoxObjCmd): Inherit the icon from
	* win/tkWinInt.h:                          the -parent window for
	* win/tkWinWm.c (TkWinGetIcon):            the MessageBox.

2004-08-18  Donal K. Fellows  <>

	* generic/tkPanedWindow.c (optionSpecs): Add missing GEOMETRY flag
	to -handlepad option. [Bug 1010938]

2004-08-10  Joe English  <>

	* unix/tkUnixWm.c: Fix for #1006686 "wm resizable command 
	not working on Solaris/CDE" (patch from Colin McDonald).

2004-08-09  Mo DeJong  <>

	* tests/canvText.test:
	* win/tkWinFont.c (Tk_MeasureChars): Fix for text
	wrapping problem that appeared using canvas text
	under Win32. A long wrapping string that had
	leading spaces was being incorrectly wrapped.
	This change makes the Win32 implementation behave
	the same as the Unix implementation. [Patch 1006286]

2004-08-04  Donal K. Fellows  <>

	* generic/tkImgPhoto.c (ImgPhotoBlendComplexAlpha): Clean the code
	up a bit and add a few more comments.
	(Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock): Clarified the code,
	corrected the compositing rule now that I have looked up what the
	right thing to do is, and factorized out the compositing rule code
	into a few simpler macros.

2004-07-30  Daniel Steffen  <>

	* unix/configure:
	* unix/tcl.m4 (SC_CONFIG_CFLAGS): Darwin: instead of setting PLAT_OBJS 
	to explict object files in tcl.m4, refer to MAC_OSX_OBJS makefile var.

2004-07-29  Don Porter	<>

	*** 8.4.7 TAGGED FOR RELEASE ***

	* changes:
	* generic/tkEvent.c (Tk_HandleEvent): revert the 2004-07-20 commit.
	That commit created a new Bug 1000051 - a broken Compose Key.
	This revert restores Bug 905830 until a cleaner fix can be provided.

2004-07-27  Daniel Steffen  <>

	* generic/tkImgGIF.c (FileReadGIF): fix crash reported by Reinhard Max:
	in case of premature end of image data, return error instead of
	passing nil buffer to Tk_PhotoPutBlock().

	* generic/tkRectOval.c (ComputeRectOvalBbox): Mac OS X specific
	fix to rounding in bounding box 'bloat' calculation to avoid drawing
	outside of bounding box when CG drawing enabled. Fix probably
	correct on other platforms as well?
	* macosx/tkMacOSXDraw.c (TkMacOSXInitCGDrawing): fixed LinkVar type
	for tkMacOSXCGAntiAliasLimit.

2004-07-26  Jeff Hobbs  <>

	* changes:	Updated for Tcl 8.4.7 release.

2004-07-24  Jim Ingham  <>

	* macosx/tkMacOSXDefault.h: Change the default -tearoff value
	to 0.  It doesn't work at present, so it is silly to make
	it the default.
	Mac OS X: Complete the implementation of the CG version of
	the X drawing emulation layer.
	This was mostly done by James Tittle (tigital<at>mac<dot>com), 
	with a little help from me.

	* macosx/tkMacOSXint.h: Add declaration of TkMacOSXInitCGDrawing.
	* macosx/tkMacOSXInit.c: Call it.
	* macosx/tkMacOSXDraw.c (TkMacOSXInitCGDrawing): New function
	set up the variables controlling the use of cg drawing.
	(XFillRectangles): Make the CG branch work.
	(XDrawLines): Ditto
	(XDrawSegments): Ditto
	(XFillPolygon): Ditto
	(XDrawRectangle): Ditto
	(XDrawRectangles): Ditto
	(XDrawArc): Ditto
	(XDrawArcs): Ditto
	(XFillArc): Ditto
	(XFillArcs): Ditto
	(TkMacOSXSetupCGContext): Make this actually work.
	(TkMacOSXReleaseCGContext): Ditto.

	Mac OS X: Add support for reading the wm attributes -titlepath 
	command, and convert to using FSRef's.  
	This was done by Neil Madden (nem<at>cs<dot>nott<dot>ac<dot>uk).

	* macosx/tkMacOSXWm.c (WmAttrGetModifiedStatus): New function.
	(WmAttrGetTitlePath) New function.
	(WmAttributesCmd): Convert command parsing to use the options index.
	Use the two above functions to report results.  Convert the titlepath
	code to use FSRef's.
2004-07-23  Benjamin Riefenstahl  <>

	[Merge from HEAD]

	Mac OS X: Fix several problems with Icelandic (and Faroese) keyboards
	reported by Jérôme Gagnon-Voyer <gagnonje5000<at>mac<dot>com> on
	tcl-mac on 2004-03-22.
	* macosx/tkMacOSXKeyEvent.c (KLSInit): Add.
	(GetKeyboardLayout): Add calls to Keyboard Layout Services, if
	present.  Rework classic handling.  Use GetKCHREncoding().  Add
	parameter encodingPtr.
	(GetKCHREncoding): Add.

2004-07-22  Jeff Hobbs  <>

	* library/tkfbox.tcl (::tk::dialog::file::Update): use -directory
	[pwd] (instead of .) to get around some VFS edge case bugs.
	Use [bind $w], not [$w configure] to modify bindings.

2004-07-20  Jim Ingham  <>

	* generic/tkEvent.c (TkQueueEventForAllChildren): Don't queue
	events for unmapped windows.
2004-07-20  Jeff Hobbs  <>

	* generic/tkEvent.c (Tk_HandleEvent): ensure IC focus is set after
	creation. [Bug #905830]

2004-07-20  Daniel Steffen  <>

	* unix/tcl.m4: fixed Darwin autoconf breakage caused by
	recent CFLAGS reordering.
	* unix/configure: regen

	* macosx/Makefile: added support to tk framework build to
	optionally install tk manpages in addition to html help,
	similarly to tcl/macosx/Makefile.
	* macosx/Wish.pbproj/project.pbxproj: fixes for building with
	non-default SYMROOT/OBJROOT/SRCROOT, added support for using a
	Tcl.framework in DYLIB_INSTALL_PATH != /Library/Frameworks,
	added optional support for building html help without tcl sources 
	present by giving explicit location of tcltk-man2html script.
	* macosx/tkMacOSXMenu.c: fixed #include case sensitivity bug.

2004-07-19  Jeff Hobbs  <>

	* unix/, unix/tcl.m4:     move (C|LD)FLAGS after their
	* unix/, unix/configure: _DEFAULT to allow for env
	setting to override m4 switches.
	Consolidate header checks to limit redundancy in configure.
	(CFLAGS_WARNING): Remove -Wconversion, add -fno-strict-aliasing
	for gcc builds (need to suppress 3.x type puning warnings).
	(SC_ENABLE_THREADS): Set m4 to force threaded build when built
	against a threaded Tcl core.
	Reorder for better 64-bit build configuration,
	replacing EXTRA_CFLAGS with CFLAGS.  [Bug #874058]

2004-07-14  Jim Ingham  <>

	* macosx/tkMacOSXCursor.c (TkpSetCursor): The code to not
	reset the cursor more often than necessary was getting fooled
	when the current cursor was nulled out when the current cursor
	gets freed.  So in the case where the input cursor was NULL, we
	have to just always set it. [Bug #894550]
2004-07-14  Jeff Hobbs  <>

	* generic/tkUndo.c (TkUndoSetDepth): correct -maxundo
	segfault. [Bug #969358] (jiangwu)

	* generic/tk.h (TK_PATCH_LEVEL): 
	* README, macosx/Wish.pbproj/project.pbxproj:      bumped to
	* unix/configure, unix/, unix/tk.spec: patchlevel 8.4.7
	* win/configure, win/

2004-07-11  Donal K. Fellows  <>

	* library/tkfbox.tcl (::tk::dialog::file::Create): Watch out for
	users destroying the dialog indirectly. [Bug 987169]

2004-06-29  Jeff Hobbs  <>

	* generic/tkCmds.c (Tk_WinfoObjCmd): refetch interp result obj for
	'winfo id' as it can change when making the window exist.

2004-06-25  Donal K. Fellows  <>

	* generic/tkImgPhoto.c (ImgPhotoDisplay): Early exit from image
	redraw if the region to redraw is empty, so stopping XGetImage
	from bailing out. [Bug 979239]

2004-06-08  Mo DeJong  <>

	* generic/tkCanvText.c (DisplayCanvText): Fix text
	rendering problem with canvas text items that
	have a selected region. The previous implementation
	would render the whole line and then redraw the
	selected text if it was a different color. This caused
	problems when the selected text foreground differs
	from the normal text foreground, the anti-aliasing
	alpha pixels for the two text strings would blend
	together resulting in strange looking text. The
	fix is to draw the normal text and the selected text
	separately. This problem has only been observed
	under Windows, with anti-aliased text. [Patch 968725]

2004-05-14  Chengye Mao <>

	* win/tkWinWm.c (UpdateWrapper): Modified to delete the old wrapper
	correctly [Bug #767176]

2004-05-14  Donal K. Fellows  <>

	* library/msgbox.tcl (MessageBox): Shrank the default font size
	for the message to 14-point; nobody liked 18-point!

2004-05-12  Chengye Mao <>

	* generic/tkBind.c (HandleEventGenerate): Modified to fix wish
	crash due to incorrectly generate <Destroy> event. This bug was
	reported in comp.lang.tcl but not logged.

2004-05-10  Pat Thoyts  <>

	* win/ Apply fix from tcl bug #950049 for make docs.

2004-05-05  Jeff Hobbs  <>

	* win/tkWinFont.c (Tk_MeasureChars,Tk_DrawChars,etc): Make sure
	that the lastSubFontPtr remains valid even when the subfont array
	is reallocated. [Bug #618872] (dkf, hobbs)

2004-05-03  Jeff Hobbs  <>

	* win/tkWinMenu.c, unix/tkUnixMenu.c (DrawMenuEntryLabel): place
	images of compound menu entries in indicator space if not a radio
	of checkbutton. [Bug #756952] (eserte)

	* win/tkWinX.c:                fix drawing of unicode chars in menu
	* win/tkWinInt.h (TkWinProcs): titles. [Bug #904371] (riefenstahl)
	* win/tkWinMenu.c (ReconfigureWindowsMenu):

	* generic/tkClipboard.c:   Move TkClipCleanup from tkClipboard.c
	* mac/tkMacXStubs.c:       to being implemented in a platform
	* macosx/tkMacOSXXStubs.c: specific manner.  The cleanup order was
	* unix/tkUnixEvent.c:      bad at least on Windows, where we
	* win/tkWinX.c:            reset/cleared display info that was
	still needed for the clipboard to render.
	[Bug #939389, #822002, #732662]

	* library/panedwindow.tcl (MarkSash): call DragSash to stop sash
	jump when B1 is pressed and released without moving. [Bug #932155]
	Make the panedwindow -opaqueresize option work as per the docs.
	[Bug #778893]

	* tests/panedwindow.test: panedwindow-25.1
	* generic/tkPanedWindow.c (Unlink): clean up -before/-after refs
	to a slave when removing it. [Bug #928413] (griffin)

	* generic/tkImgPhoto.c (ImgPhotoConfigureMaster): force -data into
	ByteArray and -format into String to correctly handle them if they've
	been shimmered or created as some other object type. [Bug #1027849]
	(ImgPhotoCmd): correctly init matched to 0.

2004-04-20  Joe English  <>

	* unix/tkUnixWm.c: Backported fix for bug #915350  
	"Tk sets min, max size in WM_HINTS when it shouldn't" 
	and #922336 "Tk apps have no maximize window button under 

2004-04-16  Jeff Hobbs  <>

	* library/bgerror.tcl (bgerror): rework to only set -topmost bit
	on Windows if necessary.  Also use existing ::tk functions for
	placing dialog and managing focus/grab.

2004-03-31  Jim Ingham  <>

	* tkMacOSXMenu.c (EventuallyInvokeMenu): Report errors from invoking
	menu commands as background errors. [Bug 220871]

2004-03-26  Donal K. Fellows  <>

	* generic/tkImgPPM.c (ReadPPMStringHeader): Code to read PPM/PGM data
	(StringReadPPM, StringMatchPPM): from strings/bytearrays. [FRQ 540375]
	* generic/tkImgPPM.c (StringWritePPM): New function to support
	converting of images to PPM strings.  Other direction not yet
	done.  Rest of file converted to use new image API.
	* generic/tkImgPhoto.c (ImgPhotoCmd): Restored support for the
	stringWriteProc of old photo formats.  [Bug 923555]

2004-03-20  Jim Ingham  <>

	* macosx/tkMacOSXSubwindows.c (GenerateConfigureNotify): New
	(XMoveWindow): Generate configure notify events for child
	widgets on move.
	(XMoveResizeWindow): Ditto.

2004-03-17  Jim Ingham  <>

	* macosx/tkMacOSXHLEvents.c (ApplicationCarbonEventsHandler): New 
	(tkMacOSXInitAppleEvents): Init the Application Event handler as
	* macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): Grab
	the Command-H & Command-Shift-H keys and use them for Hide and
	Hide Others before passing keystrokes on to the generic keyboard
	event processing.  There isn't any other good way to get the
	Hide command to work, and the Apple HIG explicitly reserves them.
	* macosx/tkMacOSXMenus.c (TkMacOSXInitMenus): Stop putting a Quit
	menu item in the File menu.  It doesn't belong there.

2004-03-01  Don Porter	<>

	*** 8.4.6 TAGGED FOR RELEASE ***

	* unix/tcl.m4 (SC_CONFIG_CFLAGS):	Allow 64-bit enabling on
	IRIX64-6.5* systems.  [Bug 218561]
	* unix/configure:	autoconf-2.13

2004-02-23  Daniel Steffen  <>

	* macosx/tkMacOSXDraw.c:
	* macosx/tkMacOSXXStubs.c:
	* xlib/ximage.c: fixed MacOSX XGetImage/XPutImage and related 
	functions to deal properly with XImages copied from screen.
	* generic/tkCanvPs.c (TkImageGetColor): MacOSX fix.
	* generic/tkImgPhoto.c (ImgPhotoDisplay): enabled alpha blending
	for images with partial transparency on MacOSX.
	[Bug 809157]

2004-02-18  Peter Spjuth  <>

	* tests/grid.test:
	* generic/tkGrid.c: Fixed a bug in grid geometry calculations for
	a shrinking grid. [Bug 899246]

2004-02-17  Jeff Hobbs  <>

	* generic/tkBind.c (HandleEventGenerate): only modify root[xy]
	with [xy] when they haven't been otherwise set.

2004-02-17  Don Porter	<>

	* tests/imgPhoto.test (imgPhoto-16.1):	Corrected incorrect
	variable name [Bug 899010].

2004-02-17  Daniel Steffen  <>

	* macosx/tkMacOSXMouseEvent.c: fixed modifiers for MouseWheel events.
	* library/listbox.tcl:
	* library/text.tcl:
	* library/scrlbar.tcl: on Mac OS, add bindings for MouseWheel with
	modifiers, according to platform convention: 
	Option increases scrolling speed 10 fold; Space scrolls horizontally.
	* macosx/Wish.pbproj/project.pbxproj:
	* macosx/tkAboutDlg.r: changed year in copyright strings to 2004.

2004-02-16  Jim Ingham  <>

	Fix for MouseWheel Events (from Daniel Steffen):

	* generic/tkEvent.c (Tk_HandleEvent): On Mac OS X, don't route
	MouseWheel events to the Focus window.  They are sent to the
	window under the pointer on X (and the GenerateMouseWheelEvent
	already got this right.)
	* library/listbox.tcl: On Mac OS, don't use the magic 120
	divisor that is used on Windows.  We may come up with a cleaner
	way to do this for the TOT, but this is simple and will do for the
	8.4 branch.
	* library/text.tcl: Ditto.
	* doc/bind.n: Update the docs to reflect the changes.
2004-02-15  Jim Ingham  <>

	Backport Mac OS X specific fixes from TOT:

	* macosx/tkMacOSXKeyboard.c: General cleanup.  Add support for
	[event generate].  [Bug #860454] - [Benjamin Riefenstahl]
	* macosx/tkMacOSXKeyboard.c: Add PowerBook keycode 0x34 as <Return>.
	[Benjamin Riefenstahl]

	* macosx/tkMacOSXScrlbr.c: Reworking Vince's fix to [Bug 842952].
	This version is clearer, and works helps keep the mouse better
	pinned to the scrollbar.  I also removed the glitch where the
	scrollbar would jump get its middle over the mouse when you first
	moved it.
	* macosx/tkMacOSXClipboard.c (TkSuspendClipboard, TkSelGetSelection):
	add unicode clipboard support. [Patch #840107] (senn)	
	* macosx/tkMacOSXDialog.c (NavServicesGetFile): Minor cleanups.
	* (OpenFileFilterProc): Handle FSRef's as well as FSSpec's in the input
	file.  Also convert the FSSpec filename to an C-string before passing
	to MatchOneFile.  [bug 517600]
	* (MatchOneFile): Require the input filename to be a C-string, not a
	pascal string.
	* macosx/tkMacOSXDialog.c (MatchOneType): If the Macintosh filetype
	is 0, then automatically pass the fileType check.

	* macosx/tkMacOSXButton.c (TkpDisplayButton): Use the tk text
	drawing for checkbuttons & radiobuttons as well as for labels.
	* macosx/tkMacOSXEvent.c (XSync): New function, need to implement
	this so drawing will get flushed in "update idletasks".
	* tkMacOSXPort.h: convert #define of XSync to function def'n.

	* generic/tkWindow.c:
	* macosx/tkMacOSXDialog.c: added native tk_messageBox command,
	(Tk_MessageBoxObjCmd) for MacOS X platform. [Vince Darley]

	* macosx/tkMacOSXMenu.c: corrected encoding conversion for
	torn-off menu entries (but many other display problems still
	exist with these) [Vince Darley]

	* macosx/tkMacOSXMouseEvent.c: improved handling of events in the
	presence of grabs, particularly activation events. [Vince Darley]
	* macosx/tkMacOSXColor.c (GetControlPartColor): Use
	the ThemeBrushes to get the control text color for
	* tkMacOSXAppInit.c: Formatting cleanups.
	* tkMacOSXButton.c: Ditto
	* tkMacOSXClipboard.c: Ditto
	* tkMacOSXDebug.c: Ditto
	* tkMacOSXDialog.c: Ditto
	* tkMacOSXDraw.c: Ditto
	* tkMacOSXEvent.c: Ditto
	* tkMacOSXFont.c: Ditto
	* tkMacOSXHLEvents.c: Ditto
	* tkMacOSXInit.c: Ditto
	* tkMacOSXInt.h
	* tkMacOSXKeyEvent.c: Ditto
	* tkMacOSXMenu.c: Ditto
	* tkMacOSXMenubutton.c: Ditto
	* tkMacOSXMouseEvent.c: Ditto
	* tkMacOSXNotify.c: Ditto
	* tkMacOSXScale.c: Ditto
	* tkMacOSXScrlbr.c: Ditto
	* tkMacOSXSubwindows.c: Ditto
	* tkMacOSXWindowEvent.c: Ditto
	* tkMacOSXWm.c: Ditto
2004-02-13  Jeff Hobbs  <>

	* win/tkWinFont.c (Tk_MeasureChars): backport fixes to bold/italic
	font handling. [Patch 852669] [Bug 478568]
	* tests/textDisp.test: added test for the font measurement 

2004-02-13  Jim Ingham  <>

	* macosx/tkMacOSXDialog.c (Tk_GetOpenFileObjCmd): Use CFStringRef for
	title & message options, not pascal strings.
	(Tk_GetSaveFileObjCmd): Ditto
	(Tk_ChooseDirectoryObjCmd): Ditto
	(NavServicesGetFile): Now that we get CFStrings, we don't need
	to convert them here.

	* macosx/tkMacOSXMenu.c (TkMacOSXDispatchMenuEvent): Cleanup, we don't
	need to handle the Apple Menu picks any more, but the code didn't
	reflect that.

	* macosx/tkMacOSXWm.c (TkSetWMName): Use CFStrings for the Window Title
	name, not Pascal strings.  
2004-02-12  Jeff Hobbs  <>

	* README:       update to patchlevel 8.4.6
	* generic/tk.h:
	* macosx/Wish.pbproj/project.pbxproj:
	* unix/configure, unix/, unix/tk.spec:
	* win/configure, win/

	* tests/window.test: simple code cleanup

	* win/tkWinDialog.c (ChooseDirectoryValidateProc): create a pidl
	for -initialdir if we have a UNC path because BFFM_SETSELECTION
	doesn't support UNC paths in strings.

2004-02-10  Donal K. Fellows  <>

	* library/msgs/eo.msg:	Language support for Esperanto and Polish from
	* library/msgs/pl.msg:	Artur Trzewik <> with thanks.

2004-02-09  Donal K. Fellows  <>

	* generic/tkImgPhoto.c (Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock): 
	* tests/imgPhoto.test (imgPhoto-16.1): Better handling of the case
	when copying from one area of a photo to another triggers a
	resizing of the image.  [Bug 877950]

2004-02-03  Jeff Hobbs  <>

	* library/menu.tcl (::tk::MbPost): make menubuttons that post
	above or below reverse direction when not enough space is available.

2004-01-28  Pat Thoyts  <>

	* win/tkWinCursor.c: Backported fix for bug #776646 which makes
	* tests/cursor.test: hand2 and fleur native on windows.

2003-01-27  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: removed erroneous reference
	to mkpsenc.tcl in bundle resources phase (mkpsenc.tcl is already
	part of the copy files phase to Resources/Scripts).

	* macosx/Makefile: added support for 'xcodebuild' on Mac OS X 10.3.

2003-12-31  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: added missing private headers
	to installed Tk.framework, so that tkInt.h can be included  
	sucessfully from Tk.framework/PrivateHeaders.
	* generic/tkPort.h: corrected include of tkMacOSXPort.h

2003-12-17  Jim Ingham <>

	* macosx/tkMacOSXScrlbr.c: Reworking Vince's fix to [Bug 842952].
	This version is clearer, and works helps keep the mouse better
	pinned to the scrollbar.  I also removed the glitch where the
	scrollbar would jump get its middle over the mouse when you first
	moved it.
	Import from TOT.

2003-12-11  David Gravereaux <>

	* win/winMain.c: Backed-out yesterdays change.  Reverted to 1.15 for
	two reasons.  1) problem is best addressed in Tcl's DllMain() and
	2) needs a MinGW custom assembly implimentation as it doesn't
	understand SEH syntax.

2003-12-10  David Gravereaux <>

	* win/winMain.c (WishPanic) : placed ExitProcess() in a __try block
	(SEH) to catch any exceptions that might happen.  As Tcl will call
	Tcl_Finalize from its DllMain due to the unload from ExitProcess()
	unloading Tcl, and if Tcl_Panic had gotten called in an __except
	block handling an exception, this avoid the possibility of not
	being able to exit from the stack being a mess.  Falls to
	TerminateProcess() in the __except case.

	Removed the #ifdef _MSC_VER around DebugBreak as that function
	exists in kernel32.dll and is not compiler dependent.  I'd prefer
	to use 'if (IsDebuggerPresent()) DebugBreak();' but
	IsDebuggerPresent() isn't available in all kernel32.dll modules
	for all versions of windows.

2003-12-10  Donal K. Fellows  <>

	* doc/CrtImgType.3: Fixed line-transposition error found by Eric
	Raymond. [Bug 857159]

2003-12-03  Don Porter	<>

	* generic/tk.h:		Bumped patch level to to distinguish
	* unix/	CVS snapshots from the 8.4.5 release.
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf (2.13)
	* win/configure:

2003-12-02  Jeff Hobbs  <>

	* generic/tkMenu.c (MenuVarProc): prevent this from triggering
	while interp is being destroyed.

2003-11-21  Benjamin Riefenstahl  <>

	*** 8.4.5 TAGGED FOR RELEASE ***

	* macosx/tkMacOSXKeyboard.c: Add PowerBook keycode 0x34 as
    	<Return>. (Merge from trunk)

2003-11-18  Jeff Hobbs  <>

	* changes: updated for 8.4.5 release

2003-11-17  Jeff Hobbs  <>

	* generic/tkMenubutton.h: fixed compound menubutton handling like
	* generic/tkMenubutton.c: *button corrections of 2003-04-25.
	* mac/tkMacMenubutton.c (TkpDisplayMenuButton): 
	* unix/tkUnixMenubu.c (TkpDisplayMenuButton): 

2003-11-16  Don Porter	<>

	* win/	Restored consistency of pkgIndex.tcl file
	with that generated by Makefile.

2003-11-15  David Gravereaux <>

	* win/ Fixes pkgIndex.tcl generation so a symbols build
	is loaded when Tcl is symbols.

2003-11-11  Jeff Hobbs  <>

	* unix/configure:
	* unix/tcl.m4: improve AIX --enable-64bit handling

	* generic/tkButton.c (ConfigureButton): abort option processing if
	the button was deleted. [Bug #824479]

	* generic/tkMenuDraw.c (TkPostSubmenu): add {} around menu name in
	case it has spaces when calling Tcl_VarEval.  This is a hack until
	this is rewritten for proper Tcl_Obj handling. [Bug #723856]

	* library/tkfbox.tcl (::tk::dialog::file::Update): optimize the
	dir/files list separation by using the -tails, -directory and
	-type option of 'glob'.  Also passes the glob the -filetypes
	filters instead of calling string match over each file.
	[Patch #833819]
	(::tk::dialog::file::ActivateEnt): allow typing filename into
	entry when tk_getOpenFile -multiple 1 is specified. [Bug #788069]

	* generic/tkListbox.c (ListboxDeleteSubCmd, ListboxListVarProc):
	free itemconfig data when removing it from table. [Bug #836483]

	* macosx/tkMacOSXClipboard.c (TkSuspendClipboard, TkSelGetSelection):
	add unicode clipboard support. [Patch #840107] (senn)

2003-11-10  Jeff Hobbs  <>

	* win/tkWinDraw.c (XFillRectangles): correctly handle the
	XGCValues.function parameter when filling rectangles.
	[Bug #820278] [Patch #820282]

	* generic/tkImgPhoto.c (ImgPhotoBlendComplexAlpha): add alpha
	blending for images with partial transparency.  Only operates for
	15bpp+ display, and not on Mac at all. [Bug 809157]

	* win/configure:
	* win/ define TK_LIB_FLAG, TK_LIB_SPEC,
	TK_BUILD_STUB_LIB_PATH for [Bug #826614]

	* unix/ (SHLIB_LD_FLAGS): include in Makefile as it is
	used in MAKE_LIB sometimes (ie: AIX-64) [Bug #829686] (jimix)

2003-11-01  Donal K. Fellows  <>

	* library/msgs/nl.msg: Updated messages from Arjen Markus and
	Pascal Scheffers.  Thanks!  [Patch 820519]

2003-10-29  Donal K. Fellows  <>

	* library/tkfbox.tcl (IconList_Create,IconList_Add): Added option
	munging to allow some control of foreground colours on Unix in the
	same way that you can influence the background.  [Bug 795717]

2003-10-28  Jeff Hobbs  <>

	* unix/tkUnixFont.c (GetFontAttributes): place extra check for NULL
	family against bad X servers.

	* win/tkWinImage.c (XGetImageZPixmap): add separate 16bpp
	XGetImage code to correctly handle 16bpp requests.  This appears
	to never have worked correctly.

	* tests/focusTcl.test (setup1): expand frame size to allow for
	correct visibility of windows that use larger default fonts.

2003-10-28  Donal K. Fellows  <>

	* library/tk.tcl (::tk::PlaceWindow): Added check for empty string
	first when determining placement strategy. [Bug 819284]

2003-10-22  Donal K. Fellows  <>

	* library/dialog.tcl (tk_dialog): Constrain the dialog to be
	fairly sensibly sized and placed.  [Bug 827535]

2003-10-12  Jeff Hobbs  <>

	* generic/tkInt.h:      move TkGetOptionSpec to stubs intDecls
	* generic/tkIntDecls.h:
	* generic/tkInt.decls:
	* generic/tkStubInit.c:

	* tests/listbox.test (13.3): correct result size
	(4.7): correct test for possible window drift [Bug #701931] (dgp)

	* unix/mkLinks:
	* doc/GetHWND.3: add Tk_AttachHWND docs [Bug #220803]

2003-10-10  Jeff Hobbs  <>

	* mac/tkMacButton.c (TkpDisplayButton):
	* macosx/tkMacOSXButton.c (TkpDisplayButton):
	* unix/tkUnixButton.c (TkpDisplayButton): correct imageYOffset for
	buttons with just images.

2003-10-09  Jeff Hobbs	<>

	* win/tkWinButton.c (TkpDisplayButton): correct imageYOffset for
	buttons with just images.

2003-10-06  Don Porter	<>

	* doc/ConfigWidg.3:	Removed reference to Tk_Offset from the
	NAME section to resolve mkLinks conflict with SetOptions.3 [Bug 404197]

	* unix/	Reconfigured to use $TCL_PREFIX as the
	default value of --prefix, and also added warning when a TK_PREFIX
	value different from TCL_PREFIX is selected, since [package require Tk]
	fails in that configuration. [Bugs 428627,765642]

	* unix/tcl.m4 (SC_PATH_TCLCONFIG):	Corrected search path so
	that alpha and beta releases of Tcl are not favored. [Bug 608698]

	* unix/	Added check that version of Tcl header found
	by configure matches that of the Tk we wish to build.  As long as
	the Tk sources insist on lockstep releases, Tk's configuration should
	verify that's what we have.  [Bug 749088]

	* unix/configure:	autoconf (2.13)
	* unix/mkLinks:		make mklinks

2003-10-03  Don Porter  <>

	* README:				Bumped to patch level 8.4.5
	* generic/tk.h:				to prepare for next patch
	* macosx/Wish.pbproj/project.pbxproj:	release.
	* unix/
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf (2.13)
	* win/configure:

2003-10-03  Pat Thoyts  <>

	* library/scale.tcl: Clear bug with chording mouse buttons.

2003-10-01  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj:
	* macosx/Makefile: fixed redo prebinding bug when DESTDIR="".
	Added support for all applicable customizable makefile variables
	from tcl/macosx/Makefile.

	* macosx/README:
	* macosx/Wish.pbproj/project.pbxproj: ensure that the versioned
	wishX.X script works correctly when Tk.framework with multiple
	versions is present by referring to a copy of 'Wish'
	located in Tk.framework/Versions/X.X/Resources.

2003-09-29  Donal K. Fellows  <>

	* unix/tcl.m4 (SC_ENABLE_FRAMEWORK): Added note to make it clearer
	that this is an OSX feature, not a general Unix feature. [Bug 619440]

2003-09-26  Benjamin Riefenstahl  <>

	* macosx/tkMacOSXWm.c (TkWmStackorderToplevelWrapperMap): Add
	GetWindowFromPort() [Bug #812415]; make function static.

2003-09-25  Daniel Steffen  <>

	* library/demos/widget: don't create iconwindow on aqua, but add
	about menu like on classic.
	* macosx/Makefile: pass MAKEOVERRIDES to pxbuild.
	* macosx/tkMacOSXButton.c: added -compound support for bevel buttons.

2003-09-17  Don Porter  <>

	* generic/tkImage.c:    Stopped [image create] from generating an
	* tests/image.test:     image command name that would overwrite an
	existing command name.  Thanks to Michael Schlenker.  [Bug 808039].

2003-08-19  Joe English  <>
	* generic/tkPanedWindow.c(PanedWindowWorldChanged):
	Set window background from the -background resource.
	Fixes [BUG #791500 "PanedWindow refresh glitches on X"]

2003-08-13  Pat Thoyts  <>

	* library/scale.tcl: Fix for bug #787065 for Button-2 press.
	* tests/scale.test:  Added test for this bug.
2003-08-12  Daniel Steffen  <>

	* macosx/tkMacOSXMenu.c: fixed C99'ism that breaks gcc 2.95.

2003-07-21  Jeff Hobbs  <>

	*** 8.4.4 TAGGED FOR RELEASE ***

	* changes: updated for 8.4.4 release

2003-07-20  Daniel Steffen  <>

	* macosx/buildTkConfig.tcl: fix to TK_BUILD_* ref generation
	broken by changes to tcl buildsystem.

2003-07-19  Pat Thoyts  <>

	* library/scale.tcl: Fix for bug 706765 to correctly handle the 
	-sliderrelief option while moving the thumb.

2003-07-18  Jeff Hobbs  <>

	* unix/tkUnixFont.c (Tk_DrawChars): do not make XGetGeometry call
	that prevents overwidth lines as it requires a roundtrip call to
	the X server for every string drawn.  Hard-code max width to 32768
	until a beter solution to get max width is made.

	* library/panedwindow.tcl: use widget-specific Priv slots for
	pwAfterId and panecursor items to correctly handle cursor changes
	with adjacant panedwindows.

	* generic/tkEvent.c (Tk_HandleEvent): correct XCreateIC call for
	TK_XIM_SPOT usage. [Bug 742660] (takahashi)

	* win/tkWinCursor.c (TkGetCursorByName): Fix bug 420510 to provide
	consistency between unix and windows -cursor option. (thoyts)

	* win/tkWinDialog.c: doubled the TK_MULTI_MAX_PATH value to ~10K.
	This is a short-term solution until the -multiple option is
	extended.  [Bug 641261]

2003-07-18  Donal K. Fellows  <>

	* tests/panedwindow.test (panedwindow-30.2): 
	* generic/tkPanedWindow.c (Tk_PanedWindowObjCmd): Ensure that we
	can share GCs between a panedwindow and its sash proxy, even if
	the panedwindow is in a toplevel with a different visual. [Bug 702230]

2003-07-17  Daniel Steffen  <>

	* macosx/Makefile: Changes for new tcl buildsystem.

	* macosx/Wish.pbproj/jingham.pbxuser:
	* macosx/Wish.pbproj/project.pbxproj:
	Changes for new tcl buildsystem.
	Changed build to include tk specific html help in Tk.framework
	instead of Tcl.framework.
	Set default SYMROOT in target options to simplify setting up PB
	(manually setting common build folder for tcl & tk no longer needed).

	* macosx/README: Updated info for changes to buildsystem,
	html help location and PB setup.

2003-07-17  Donal K. Fellows  <>

	* doc/photo.n: [$photo put] has been able to take rectangles of
	pixel colours, specified as lists of lists, for years.  Now this
	is a documented feature.  [Bug 728952]

	* generic/tkPanedWindow.c (PanedWindowReqProc): Fix from Eric
	Boudaillier so panedwindows get their geometry right even when
	their children don't know their size initially. [Bug 738143]
	* doc/panedwindow.n: Removed sentences about the use of [update
	idletasks] with this command, as that is no longer necessary with
	the fix from Bug 738143. [Bug 747814]

	* generic/tkImgPhoto.c (ImgPhotoCmd): Rewrote subcommand processing
	to never jump to the end of the switch.  I find that confusing as
	I can't see whether there's processing still to be done from a
	quick glance at the code, unlike with a direct return. [Bug 771988]
	(ImgPhotoCmd, ImgPhotoSetSize, ImgPhotoInstanceSetSize): Try harder
	to avoid zero-length mallocs()... [Bug 404421]

2003-07-16  Don Porter  <>

	* generic/tkPack.c (ConfigureSlaves): silence compiler warning
	[Bug 771982]

2003-07-16  Jeff Hobbs  <>

	* win/tkWinImage.c (XGetImage): correct init of biSizeImage in
	bitmap header. [Bug 703697] (cap)

2003-07-17  Peter Spjuth  <>

	* tests/frame.test:
	* generic/tkFrame.c (CreateFrame): Make sure all options can be set
	to their default value. [Bug #697652]

2003-07-16  Jeff Hobbs  <>

	* generic/tkPanedWindow.c (ArrangePanes): Ensure that the last pane
	* tests/panedwindow.test: shrinks instead of being clipped when
	resized below the reqsize. [Bug 748277] (spjuth)

	* generic/tkWindow.c (Initialize): do not free uninit'ed dstring.
	[Bug 755906] (mistachkin)

2003-07-15  Mo DeJong  <>

	* unix/tkUnixEvent.c (TkpCloseDisplay): Don't
	test for XCloseIM bug when the XFree86 version
	is newer than 4.0 since the layout of the
	XIM structure has changed. The check is not
	needed for newer XFree86 releases since
	the bug we are checking for was fixed in
	the release. [Bug 755530]

2003-07-15  Don Porter  <>

	* README:		Bumped patchlevel to 8.4.4 in preparation
	* generic/tk.h:		for the Tk 8.4.4 release.
	* macosx/Wish.pbproj/project.pbxproj:
	* unix/
	* unix/tk.spec:
	* win/

	* unix/configure:	autoconf (2.13)
	* win/configure:

2003-07-15  Vince Darley <>

	* generic/tkMenu.c
	* generic/tkMenu.h
	* generic/tkMenuDraw.c: 
	* tests/menu.test: fixed complex bug in menu clone cleanup
	[Bug#465324] and removed 'knownBug' from a test.
        (This was applied to cvs head on 2003-05-03).
2003-07-09  Donal K. Fellows  <>

	* tests/send.test: Strengthened constraints to stop accidental
	smashing of Xserver access; some systems (*ahem* mine *ahem*)
	require xhost-style security for all use...  :^/

2003-07-07  Donal K. Fellows  <>

	* generic/tkImage.c (TkDeleteAllImages,etc.): Stopped the deleting
	of hash entries from a table that has just been deleted by this
	function when some images are Tcl_Preserve()d...  [Bug 749353]

2003-05-20  Jeff Hobbs  <>

	*** 8.4.3 TAGGED FOR RELEASE ***

	* changes: updated for 8.4.3

	* unix/ do not run autoconf during 'make dist' as the
	configure is now a CVS-maintained file and should be up-to-date.

2003-05-19  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: changed location
	in versioned framework subdirectories to be identical to location
	in framework toplevel; fixed stub library symbolic links to be
	tk version specific.

2003-05-15  Jeff Hobbs  <>

	* README:            Bumped version to 8.4.3
	* generic/tk.h:
	* macosx/Wish.pbproj/project.pbxproj:
	* unix/configure:
	* unix/
	* unix/tk.spec:
	* win/configure:
	* win/

	* unix/tkUnixFont.c: use gb2312-raw as the alias for gb2312*
	charset fonts.  gb2312.enc was made to be euc-cn for Tcl because
	that is what is most often meant, but X really wants the original
	(-raw) gb2312 encoding. [Bug 557030]

2003-05-14  Jeff Hobbs  <>

	* library/msgs/fr.msg: updated msg catalog. [Bug #737790] (zolli)

2003-05-13  Daniel Steffen  <>

	* macosx/tkMacOSXInit.c (TkpInit): use new versioned bundle 
	resource API to get tk runtime library for TK_VERSION. [Bug 736774]

2003-05-13  Daniel Steffen  <>

	backport of Mac OS X specific changes on trunk since 8.4.2:
	* macosx/tkMacOSXClipboard.c (TkSelGetSelection): Convert
	'\r' to '\n' on the way into Tcl. (ingham)

	* macosx/tkMacOSXMenu.c (EventuallyInvokeMenu): New function,
	used to invoke menu commands at idle time.
	(TkMacOSXDispatchMenuEvent): Don't immediately dispatch menu
	commands, wait till the idle loop to do so.  This is more like
	what is done on Windows, and avoids the crash from destroying
	a menu in it's command. (ingham)

	* macosx/tkMacOSXHLEvents.c (ReallyKillMe): Don't force the shell
	to exit.  According to the OS X HI guidelines, it should be
	possible to cancel an attempt to quit, and if we force the kill,
	here, it would not be possible to implement this. (ingham)

	* macosx/tkMacOSXApplication.r (removed):
	* macosx/tkMacOSXLibrary.r (removed):
	* macosx/tkMacOSXResource.r (removed):
	* macosx/Wish.pbproj/project.pbxproj:
	* macosx/tkAboutDlg.r: updated copyrights, cleaned up about box,
	removed obsolete unused resource files. (steffen)

2003-05-10  Jeff Hobbs  <>

	* generic/tkCanvPoly.c (PolygonToPostscript):
	* tests/canvPs.test: correct crash when generating postscript for
	a single-line polygon (point) with no color. [Bug #734498] (wilm)

2003-04-30  Jeff Hobbs  <>

	* macosx/tkMacOSXButton.c (TkpDisplayButton): correct typo for
	stippleGC [Bug #730124].

2003-04-25  Jeff Hobbs  <>

	* generic/tkButton.h:                         Rewrote the handling
	* generic/tkButton.c (TkButtonWorldChanged):  of compound *buttons
	* mac/tkMacButton.c (TkpDisplayButton):       to correctly display
	* macosx/tkMacOSXButton.c (TkpDisplayButton): mixture of disabledfg,
	* unix/tkUnixButton.c (TkpDisplayButton):     selectcolor, indicator,
	* win/tkWinButton.c (TkpDisplayButton):       etc.  *buttons will
	now only stipple the image, unless no disabledfg is given, in which 
	case it will stipple the whole button.

	* library/bgerror.tcl: make bgerror dialog topmost on Windows to
	prevent it being covered by other windows.

	* unix/tkUnixButton.c (TkpDisplayButton): Use the normalTextGc when
	* win/tkWinButton.c (TkpDisplayButton):   displaying disabled text
	that have images, as they get a gray50 stipple as well and the
	disabledGc is not set up correctly for font drawing. [Bug #477740]

2003-04-18  Jeff Hobbs  <>

	* generic/tkCanvBmap.c: s/CreateBitmap/TkcCreateBitmap as Windows
	has a CreateBitmap function already.

	* generic/tkCursor.c: s/GetCursor/TkcGetCursor as Windows has a
	GetCursor func already, which causes compiler warnings.

2003-04-02  Mo DeJong  <>

	* win/configure: Regen.
	* win/ Set stub lib flag based
	on new LIBFLAGSUFFIX variable.
	* win/tcl.m4: Update from Tcl to get new

2003-04-02  Mo DeJong  <>

	* win/configure: Regen.
	* win/ Don't set TCL_DLL_FILE,
	and TCL_BUILD_STUB_LIB_SPEC. These variables are
	already set in
	[Bug 691908]

2003-03-22  Kevin Kenny  <>

	* win/
	* win/ Corrected several problems that prevented
	OPTS=symbols from building properly. [Patch 707792] Thanks
	to Joe Mistachkin for the fixes.
2003-03-18  Don Porter  <>

	* tests/unixWm.test (unixWm-41.2): Corrected typo in 2003-03-13
	commit.  Thanks Larry Virden.  [Bug 705567]

2003-03-18  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj:
	* macosx/Makefile:
	* macosx/README: added support for giving 'make' the location
	of Tcl.framework and tclsh to build and link against.

	* macosx/tkMacOSXXStubs.c: fixed crash in [winfo server].

2003-03-14  Donal K. Fellows  <>

	* library/msgbox.tcl (Tk::MessageBox): Stop buttons from being
	very wide when a messageBox has a lot of content. [Bug #701812]

2003-03-13  Don Porter  <>

	* tests/unixWm.test:  Constrained all tests older than revision 1.21
	to run only on Unix.  Alternative approach did not match maintainer
	* tests/spinbox.test (spinbox-17.4): Avoid long failure message.

2003-03-13  Kevin Kenny  <>

	* win/ Backed the version to 8.4 on the 8.4 branch.
	(I just loathe sticky tags).
2002-03-11  Kevin Kenny  <>

	* win/ Backported the code that makes the makefile
	build pkgIndex.tcl as part of the install step.
2003-03-03  Jeff Hobbs  <>

	*** 8.4.2 TAGGED FOR RELEASE ***

2003-02-28  Donal K. Fellows  <>

	* tests/bind.test (bind-16.44): 
	* generic/tkBind.c (ExpandPercents): Only allow events to see
	those expansions that are actually valid for them, and force the
	substitution of the rest as "??".  This stops some crashes on
	Windows and gets rid of bogus values everywhere.  [Bug #612110]

2003-02-26  Jeff Hobbs  <>

	* macosx/README: correct 8.4.3 refs to 8.4.2.

	* unix/README: replace version refs with version-agnostic wording.

2003-02-25  Jeff Hobbs  <>

	* win/tkWinInt.h:
	* win/tkWinDraw.c:
	* win/tkWinFont.c (Tk_DrawChars): add support for simple XOR text
	drawing on Windows. [Patch #685388] (martin)

	* generic/tkMenu.c (TkMenuCleanup): make sure to reset static
	menusInitialized on finalize. [Bug #548729]

2003-02-25  Daniel Steffen  <>

	* macosx/tkMacOSXHLEvents.c: fixed conversion of apple event
	parameters to posix style path names.
	[Bug #621672] (steffen, Benjamin Riefenstahl) 

	* macosx/tkMacOSXDialog.c: 
	* macosx/tkMacOSXWm.c:
	* macosx/Wish.pbproj/project.pbxproj:
	* macosx/tkMacOSXUtil.c (removed):
	* macosx/tkMacOSXUtil.h (removed): removed all references to
	tkMacOSXUtil.{c,h}, made obsolete by the patch above. [Bug #621672]
2003-02-24  Jeff Hobbs  <>

	* unix/tkUnixFont.c (CreateClosestFont, CanUseFallback): use the
	first best font match in user font path. [Bug #647497] (dal zotto)

	* generic/tkListbox.c (ListboxSelectionSubCmd): 
	* tests/listbox.test: Allow 'selection includes' to respond when
	disabled (but only 'includes'). [Bug #632514]

	* unix/tkUnixButton.c (TkpDisplayButton): Correct visual display
	of disabled check/radiobutton to be more distinctive on unix.
	* tests/unixButton.test: [Bug #669595] (hintermayer)

	* doc/panedwindow.n: clarified the need to use 'update idle' when
	adding unmapped windows.  Needs further examination. [Bug #605105]

	* generic/tkEntry.c (SpinboxWidgetObjCmd, EntryWidgetObjCmd):
	* tests/entry.test:   return 1 if selection is present even if
	* tests/spinbox.test: entry/spinbox is disabled, as selection get
	will still return the selection (although selection still ignore
	modify requests when entry/spinbox is disabled). [Bug #637828]

2003-02-24  Benjamin Riefenstahl  <>

	* tkMacOSXDialog.c (NavServicesGetFile): Fix bug with
	kNavCtlSetSelection - control data should be a pointer
	not a handle.
2003-02-21  Donal K. Fellows  <>

	* library/clrpick.tcl (color::BuildDialog): 
	* library/msgbox.tcl (MessageBox): Yet more places that did
	complex and fragile width calculations instead of using grid,
	though with these it is the -uniform option that saves the day.

	* library/tkfbox.tcl (file::Create): This procedure was really
	very crufty in how it went about creating the GUI.  It is far
	easier and more robust to use the grid geometry manager than it is
	to tune the results of pack with tweaks to -width.  [Bug #673722]

	* library/comdlg.tcl (FDGetFileTypes): Set an upper limit on how
	long a file type item description string can get due to appending
	of types. [Bug #617392]

	* tests/panedwindow.test (panedwindow-30.1): 
	* generic/tkPanedWindow.c (DisplayPanedWindow, DisplayProxyWindow): 
	Use the window's depth, not the screen's default depth. [Bug #671122]

2003-02-20  Daniel Steffen  <>

	* library/console.tcl: (aqua & macintosh) added missing <Cmd-q>
	binding for corresponding Quit menu item shortcut.

	* macosx/README: updated instructions for embedded build, 
	added various improvements by Russell Owen.

	* unix/tcl.m4: update from Tcl.
	* unix/configure: regen.

2003-02-20  Jeff Hobbs  <>

	* win/tkWinScrlbr.c (UpdateScrollbar): use SIF_DISABLENOSCROLL to
	"disable" scrollbar when on Windows when there is nothing to
	scroll.  This is Windows style, and fixes [Bug #624116].

	* tests/panedwindow.test: 
	* generic/tkPanedWindow.c (ValidSashIndex): corrected to note that
	2 panes must exist before any one sash does. [tcllib Bug #689258]

2003-02-20  Peter Spjuth  <>

	* tests/panedwindow.test:
	* generic/tkPanedWindow.c: Fixed calculation of the last slave's
	size when increasing the size of the panedwindow. [Bug #689099]

2003-02-20  Donal K. Fellows  <>

	* generic/tkImgGIF.c (GetDataBlock): Removed pointless static
	variable ZeroDataBlock [Bug #664788]

	* unix/tkUnixFont.c (CanUseFallback): Added argument, passed
	through from callers to FindSubFontForChar(), so that pointers
	into the old subfont table to be updated when that table is
	reallocated, avoiding a (sometimes fatal) FMR.
	[Bugs #618872 and #689357]

2003-02-19  Daniel Steffen  <>

	* macosx/tkMacOSXKeyEvent.c: fix for uninitialized var warning.

2003-02-19  Jim Ingham <>

	* macosx/tkMacOSXMouseEvents.c (GeneratePollingEvents): In the case
	where there was a capture window, we were sending the events to
	the capture window.  But the capture window (return value or
	TkMacOSXGetCapture) is always a toplevel.  So this is wrong in 
	the case that the Event's toplevel IS the capture window - in
	which case the event should go to the subwindow most closely
	containing the event.
2003-02-19  Benjamin Riefenstahl <>
	       & Jim Ingham <>

	This patch changes the default Tk behavior so that events
	are by default routed to the standard event handlers after
	Tk has looked at them.
	* macosx/tkMacOSXEvent.h: Rename "handledByTk" into
	* macosx/tkMacOSXEvent.c: Update erroneous comments and
	remove unused includes.
	(TkMacOSXProcessAppleEvent): Don't declare events
	handled that we didn't even look at.
	(TkMacOSXProcessEvent): Add a comment on policy for
	(TkMacOSXProcessEvent): Remove "handling" of events that	
	are not our business.
	(TkMacOSXProcessEvent): Rename "handledByTk" into
	(ReceiveAndProcessEvent): Ditto.
	(ReceiveAndProcessEvent): Tune error production of
	* macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent):
	Rename "handledByTk" into "stopProcessing".
	* macosx/tkMacOSXWindowEvent.c: Ditto.

	* macosx/tkMacOSXMouseEvent.c: Remove setting of
	(TkMacOSXProcessMouseEvent): Handle clicks in the "traffic
	lights" in the window title when the window (or app) is
	in the background.

	This patch changes the key event handling to use the MacOS
	translation mechanisms.  It also improves dead key handling.
	* macosx/tkMacOSXKeyEvent.c (InitKeyData): Add.
	(InitKeyEvent): Add.
	(DecodeViaUnicodeResource): Rename
	(DecodeViaKCHRResource): Rename KeycodeToUnicodeViaKCHRResource.
	(GetKeyboardLayout): Use a boolean flag instead of a special
	layout id.

	(KeycodeToUnicodeViaUnicodeResource): Change interface and
	implementation to return a Unicode string instead of directly
	filling an XEvent.
	(KeycodeToUnicodeViaKCHRResource): Ditto.
	(KeycodeToUnicodeViaUnicodeResource): Add handling for callers
	that don't want deadkey processing (i.e. XKeycodeToKeysym).
	(KeycodeToUnicodeViaKCHRResource): Ditto.
	(KeycodeToUnicodeViaUnicodeResource): Clear deadKeyState if a
	character was produced.
	(KeycodeToUnicodeViaKCHRResource): Use CFString and current
	keyboard encoding instead of Tcl Tcl_ExternalToUtf() and fixed
	(TkMacOSXKeycodeToUnicode): Add.
	(TkMacOSXProcessKeyboardEvent): Add some heuristics to improve
	keyup events.
	(deadKeyState): Split into deadKeyStateUp and deadKeyStateDown.
	(GenerateKeyEvent): Change interface and implementation to accept
	a Unicode string instead of individual characters.
	(GenerateKeyEvent): Don't generate string representations for
	special characters. 

	* macosx/tkMacOSXEvent.h (TkMacOSXKeycodeToUnicode): Add

	* macosx/tkMacOSXKeyboard.c (KCHRPtr): Remove.
	(XKeycodeToKeysym): Use TkMacOSXKeycodeToUnicode instead of
	(XKeycodeToKeysym): Support latin-1 keysyms.

	This patch reverts the hack to put icons in menus that Vince put
	in yesterday (but preserves the bug fix in that submission.)

	* macosx/tkMacOSXMenu.c (SetMenuTitle): revert treating 
	"<bullet> number" as a request to put icon number <number> in
	the menu.
2003-02-18  Mo DeJong  <>

	* doc/entry.n:
	* doc/text.n: Update double and triple click
	docs to match implementation changes made on
2003-02-19  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj:
	* macosx/Makefile: reworked embedded build to no longer require
	relinking but to use install_name_tool instead to change the
	install_names for embedded frameworks. [Bug #644510]

2003-02-19  Donal K. Fellows  <>

	* library/demos/widget:		New part for the widget demo showing
	* library/demos/unicodeout.tcl: Tk's UNICODE output. [Patch #627453]

2003-02-18  Andreas Kupries  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl (HP xnet [Bug #651811]).

2003-02-18  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.

2003-02-18  Jeff Hobbs  <>

	* generic/tkText.c (TextWidgetCmd): remove unused lastEnd var.
	[Bug #664790]

	* generic/tkCanvPs.c (TkPostscriptImage): remove unused depth var.
	[Bug #664787]

	* generic/tkEntry.c (EntrySetValue): removed unused code var.
	[Bug #664781]

	* library/tk.tcl (::tk::TabToWindow): auto-highlight spinboxes as
	well as entries when tabbing in. [Patch #683813] (bron)

	* library/xmfbox.tcl (::tk::MotifFDialog_ActivateSEnt): correct
	sub on embedded newlines. [Patch #688572] (bonfield)

	* doc/colors.n: corrected B values [Bug #682714].

	* win/tkWinInit.c (TkpDisplayWarning): truncate MessageBox string
	to 1024 chars to prevent possible oversized window errors.  May be
	necessary in other MB uses (ie Tcl_AppInit). [Tcl Bug #608559]

2003-02-18  Vince Darley <>

	* macosx/tkMacOSXMenu.c: (SetMenuTitle) fix to utf encoding
	problem when setting menu titles, and provisional support
	for icons. [Tcl Bug #625080]

2003-02-18  Donal K. Fellows  <>

	* generic/tkImgGIF.c (FileReadGIF): Ensure that the trashBuffer is
	always deallocated on function exit to stop a potential memory leak.

2003-02-17  Mo DeJong  <>

	* generic/tkEvent.c (Tk_HandleEvent): Fixup button
	press state saving code, it was incorrectly converting
	normal motion events into button press and motion
	events in some cases.
	* generic/tkInt.h: Add mouseButtonWindow member
	to the TkDisplay structure.
	* tests/event.test: Add test case for faulty
	button motion logic.

2003-02-14  Jeff Hobbs  <>

	* README:             Bumped to 8.4.2.
	* generic/tk.h:
	* macosx/Wish.pbproj/project.pbxproj:
	* unix/configure:
	* unix/
	* unix/tcl.m4:
	* unix/tk.spec:
	* win/configure:
	* win/

	* unix/tcl.m4: correct HP-UX ia64 --enable-64bit build flags

2003-02-13  Kevin Kenny  <>

	* doc/wish.n: Added language to describe the handling of
	the end-of-file character \u001a in script files. [Bug 685505]
2003-02-10  Jim Ingham <>

	* macosx/tkMacOSXCursor.c (TkMacOSXInstallCursor): Set all theme
	cursors using SetThemeCursor or SetAnimatedThemeCursors.
	(TkGetCursorByName): Use the theme cursors for arrow, ibeam, etc.
	Allow animatedCursor{NUM} form for an animated cursor with count.
	(TkpSetCursor): Don't reset the cursor if there is no change.
	* macosx/tkMacOSXMouseEvent.c (GeneratePollingEvents): Don't
	directly call TkMacOSXInstallCursor, it gets called by the call
	to Tk_UpdatePointer immediately above.
2003-02-05  Fred Fish  <>

	* macosx/tkMacOSXWm.c (Tk_SetGrid): Fix precedence problem with
	* mac/tkMacWm.c (Tk_SetGrid):       '==' and '|'.

2003-02-08  Jeff Hobbs  <>

	* generic/tkCanvArc.c (CreateArc):       Rework canvas create item
	* generic/tkCanvBmap.c (CreateBitmap):   type coords handling to be
	* generic/tkCanvImg.c (CreateImage):     consistent across types
	* generic/tkCanvPoly.c (CreatePolygon):  and not pass empty coords
	* generic/tkCanvLine.c (CreateLine):     to item creation procs.
	* generic/tkCanvText.c (CreateText):
	* generic/tkCanvWind.c (CreateWinItem):
	* generic/tkCanvas.c (CanvasWidgetCmd CANV_CREATE):
	* generic/tkRectOval.c (CreateRectOval):
	* tests/canvRect.test:
	* tests/canvText.test:
	* tests/canvas.test:

2003-01-28  Joe English  <>

	* generic/tkInt.h (TkDisplay,TkMainInfo):
	* generic/tkObj.c (windowObjType):
	* generic/tkWindow.c (Tk_DestroyWindow):
	* tests/wm.test (wm-deletion-epoch-1.1):
	Moved 'deletionEpoch' field from TkDisplay to TkMainInfo.
	Reworked windowObj type.  Fixes Tk Bug #671330 "segfault when e.g.
	deiconifying destroyed window"

2003-01-23  D. Richard Hipp  <>

	* library/entry.tcl: Fix the KeyPress binding on the entry widget
	so that it enters text from left to right (not right to left) even
	if the mouse button is being held down.  [Bug #673687]

2003-01-22  Donal K. Fellows  <>

	* generic/tkFrame.c (TkToplevelWindowForCommand): Added way of
	mapping from command names to tkwins-for-toplevels.
	* generic/tkImage.c (Tk_ImageObjCmd): Added check to make sure
	that you're not creating an image named the same as .'s command,
	which refixes 220891, even when the name of the command has been
	changed with 'rename'.  The error message is better too.
	* tests/image.test (image-1.10,image-1.11): Updated to match new
	error message and added test for the rename case.

2003-01-19  Jeff Hobbs  <>

	* generic/tkImage.c (DeleteImage): delete the image's entry in the
	image table correctly when there are no more instances.  This
	reopens bug 220891. [Bug #669759]

2003-01-18  Jeff Hobbs  <>

	* doc/loadTk.n: note that ::safe::loadTk has a prereq on
	::safe::interpCreate or ::safe::interpInit. [Bug #669159]

	* doc/photo.n: $image put only accepts -format and -to, and note
	extended use of -to.

2003-01-17  D. Richard Hipp <>
	* generic/tkCanvUtil.c: The clipping algorithm introduced on 2003-01-08
	was unnecessarily aggressive in reducing the size of the clipping box.
	This did not cause a problem for normal display, but did create
	trouble for some extensions that attempt to render a canvas on a
	GDI printer under Windows.  The patch here relaxes the constraints on
	the clipping box somewhat.  [Bug #663981]

2003-01-14  Joe English  <>
	* generic/tkSelect.c (Tk_CreateSelHandler):
	Fix for #666346 "Selection handling crashes under KDE 3.0"
	* tests/unixSelect.test (unixSelect-1.20): Added test case.

2003-01-13  Mo DeJong  <>

	* win/tkWinDialog.c (Tk_ChooseDirectoryObjCmd,
	ChooseDirectoryValidateProc, Tk_MessageBoxObjCmd):
	Remove unused tsdPtr variable. Use TEXT macro
	instead of _T macro since _T does not work
	under Cygwin. Declare flags as UINT to avoid
	compiler warning when compiling with mingw.

2003-01-12  Mo DeJong  <>

	* win/ Add TCL_DEFS to AC_FLAGS
	so that compiler flags defined by Tcl get
	passed to the compiler. Add empty rule
	for cat.c so that Tk compiles under msys.
	* win/configure: Regen.
	* win/tcl.m4: Update from Tcl, this pulls
	in a subst of TCL_DEFS, it also defines
	USE_THREAD_ALLOC when threads are used
	and it updates the SC_ENABLE_SYMBOLS
	and SC_PROG_TCLSH macros to match the
	ones used in Tcl.

2003-01-10  Joe English  <>

	* unix/tkUnixEvent.c (OpenIM): Remove unused variable
	(Fixes: #664780 "SGI warning: OpenIM")

2003-01-08  D. Richard Hipp <>

	* generic/tkCanvLine.c:
	* generic/tkCanvas.h:
	* generic/tkCanvUtil.c: Clip long lines so that they will display
	properly even on windowing systems where coordinates are expressed
	as 16-bit numbers.  [Bug #663981]

2003-01-03  Jeff Hobbs  <>

	* generic/tkFrame.c (CreateFrame): throw a Tcl error instead of a
	panic when we cannot get a main window and appname is NULL.  This
	can indicate that a user tried to create a frame/toplevel while Tk
	was dying. [Bug #661792]

2002-12-27  David Gravereaux <>

	* generic/tkText.h: ANSI unfriendly typedef for TkTextBTree
	repaired for C++ compilers.

2002-12-27  Joe English  <>

	* unix/tkUnixWm.c (WaitForEvent): process Map and Unmap events
	as well as Configure events during WaitFor{Configure|Map}Notify.
	Fixes [Bug 578569] (WaitForMapNotify could process Map and Unmap
	events out of order, making Tk think a window was unmapped when
	it really wasn't).

2002-12-18  Todd M. Helfter  <>

	* doc/label.n: Fixed documentation of the -compound option to
	the label widget.  The option was simply missing from the
	man page [Bug 577540]

2002-12-17  Donal K. Fellows  <>

	* doc/photo.n: Fixed documentation of the put subcommand to no
	longer talk about files and to mention that you can use colour
	names for working with solid colours.  [Bug 640026]

2002-12-13  Don Porter <>

	* generic/tkMain.c (Tk_Main):  Call on Tcl*StartupScript*() routines
	to store the startup script, if any.  [Bug 616245].

2002-12-10  David Gravereaux  <>

	* win/ tclThreadTest.obj not required to link
	tktest.exe [Bug 651396]

2002-12-08  Jeff Hobbs  <>

	* generic/tkEntry.c (ConfigureEntry): keep a flag to indicate when
	a var is traced to prevent double-traces caused by configuring the
	widget in traces with validation on. (dejong)

2002-12-07  Jeff Hobbs  <>

	* generic/tkInt.decls: add TkWinSetHINSTANCE decl
	* generic/tkIntPlatDecls.h: regen
	* generic/tkStubInit.c: regen
	* win/tkWinInit.c (TkpInit):  While init and cleanup aren't correct
	* win/tkWinX.c (TkWinXInit):  in DllMain, we had to specify the
	* win/tkWin32Dll.c (DllMain): true HINSTANCE or the resources of a
	dynamic Tk weren't being loaded correctly.  Created a new function
	TkWinSetHINSTANCE for this purpose.

2002-12-06  Jeff Hobbs  <>

	* win/tkWinX.c (TkWinXInit):      Move cleanup into an exit handler
	* win/tkWin32Dll.c (DllMain):     to ensure that it will be called
	* win/tkWinWm.c (TkWinWmCleanup): without having to unload the dll.
	Also reset the static int initialized on cleanup to allow reinit.

2002-12-01  Mo DeJong  <>

	* tests/event.test (_keypress, _text_ind_to_x_y): Force focus to
	widget in _keypress method to avoid problems with window managers
	that use focus follows mouse. [Bug 526209]

2002-12-01  Mo DeJong  <>

	* tests/wm.test: Add wm-transient-6.3 to check that a transient
	remains withdrawn when it is first withdrawn and then turned into
	a transient.
	* unix/tkUnixWm.c:
	and set this flag whenever a window is explicitly withdrawn. This
	fixes the test case added above. [Bug 644356]

2002-11-22  Jeff Hobbs  <>

	* tests/textDisp.test:
	* generic/tkTextDisp.c (TkTextSeeCmd): handle see for unmapped
	text displays. [Bug #641778]

2002-11-19  Jim Ingham <>

	* macosx/tkMacOSXScrlbr.c (TkpDisplayScrollbar): If the
	scrollbar width is set to 12 or less (but 12 is what you 
	should use) use the small metric scrollbar.

	(UpdateControlValues): Fix thinko in setting off AUTO_ADJUST for
	the place geometry manager.
2002-11-19  Jeff Hobbs  <>

	* unix/ add macosx/*.tcl (buildTkConfig.tcl in
	particular) to the dist target.

2002-11-14  Mo DeJong  <>

	* generic/tkWindow.c (Tk_DestroyWindow, DeleteWindowsExitProc):
	Add TkHalfdeadWindow type and halfdeadWindowList to keep track of
	windows that were only partially deallocated before a call to
	exit. Finish cleaning up these windows in DeleteWindowsExitProc.
	Keep track of cleanup status in Tk_DestroyWindow so that a window
	with a Destroy binding which calls exit will get fully destroyed.
	* tests/window.test: Add Tk_DestroyWindow tests for an assortment
	of half dead window cases. [Bug 630533]

2002-11-10  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: fixed erroneous
	removal of libtkstub before Wish was built.

2002-11-07  Mo DeJong  <>

	* tests/unixWm.test: Add short delay to test unixWm-51.7
	to account for raise/lower changes in TIP 107. This allows
	the test case to pass under Window Maker on Linux.

2002-11-07  Peter Spjuth  <>

	* tests/place.test:
	* generic/tkPlace.c: place info did not return all settings,
	and didn't make sure the result was a proper list.
	Put '-in' first in result to be more consistent with how
	grid/pack info behaves. [Bug #635025][Bug #532022]

2002-11-07  Daniel Steffen  <>

	* unix/ added macosx/README to dist target.
	* macosx/Wish.pbproj/project.pbxproj: fix to 'wish' script
	to allow it to work when not installed into '/'.

2002-11-06  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.
	* win/configure: Regen.
	* win/ Check that AR, RANLIB, and RC
	are found on the path when building with gcc.

2002-11-04  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: added Wish linker flag
	-headerpad_max_install_names to allow use of 'install_name_tool'.
	fixed generation and redo_prebinding in the case where
	Tk is not installed alongside Tcl.

2002-11-03  David Gravereaux <>

	* win/winMain.c (Tcl_AppInit): Calls Registry_Init() and
	are set.

	* win/  linkexten option now sets the
	TCL_USE_STATIC_PACKAGES	macro which also adds the registry and
	dde static lib files to the link of the shell. [Patch 479697]

	* win/ Matches the one from Tcl.

	* win/ More useful commentary.

2002-11-01  Andreas Kupries  <>

	* win/ (TCLREGLIBNAME): Updated to registry 1.1.

2002-10-29  Daniel Steffen  <>

	* macosx/README: added info on new package searching in
	Frameworks directories.
2002-10-22  Jeff Hobbs  <>

	*** 8.4.1 TAGGED FOR RELEASE ***

	* changes: updated for 8.4.1 release

2002-10-21  Daniel Steffen  <>

	* macosx/README: revised according to Jim's suggestions
	* macosx/tkMacOSXAppInit.c: use standard PATH_MAX from <limits.h>
2002-10-18  Jeff Hobbs  <>

	* win/winMain.c (WinMain, main): remove obsolete SetMessageQueue call

	* win/configure: Regen. 
	* win/tcl.m4 (SC_CONFIG_CFLAGS): Check for bug in Cygwin version
	of windres and work around that case by passing a POSIX path
	instead of a Windows native path. One can't always pass a POSIX
	path because the mingw native toolchain accepts only Windows
	native paths. (dejong)

	* win/tkWinPort.h: define OPEN_MAX only if not defined.
	[Patch #625472] (howell)

2002-10-18  Daniel Steffen  <>

	* mac/tkMacAppInit.c: removed tcltest dependency.
	[Bug #592639] (porter)

2002-10-17  Jeff Hobbs  <>

	* tests/imgPhoto.test:
	* generic/tkImgPhoto.c (ImgPhotoConfigureMaster): fix arg handling
	for missing -format or -data options. [Bug #624974]

	* tests/text.test:                    properly return the number of
	* unix/tkUnixFont.c (ControlUtfProc): bytes consumed. [Bug #624732]

2002-10-17  Daniel Steffen  <>

	* macosx/README: info specific to building and running
	TclTk on Mac OS X, answers to tcl-mac list FAQs.
	* macosx/Makefile: permission fix after embedded install.
	* macosx/Wish.pbproj/project.pbxproj: after install, fix
	permissions of uninstalled products.

2002-10-17  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: added TEXT document
	type to plist so that files can be dragged onto Wish Shell.

	* macosx/tkMacOSXInt.h:
	* macosx/tkMacOSXInit.c:
	* macosx/tkMacOSXFont.c: added private proc
	TkMacOSXUseAntialiasedText() to enable/disable quickdraw
	text antialiasing where available, default is enabled.
	Added a linked boolean ::tk::mac::antialiasedtext with
	write trace to allow control of antialiasing from tcl.

2002-10-16  Vince Darley  <>

	* macosx/tkMacOSXMenu.c: fix to accelerators shown in menus
	with non-alphanumeric keys.
	* macosx/tkMacOSXKeyEvent.c: 
	* macosx/tkMacOSXKeyboard.c: applied first patch from [Patch
	#622582] to fix some of [Bug #616988].  Further work is needed
	in this area, but this will let foreign keyboards at least work
	reasonably with Tk.

2002-10-15  Jeff Hobbs  <>

	* unix/configure:
	* unix/tcl.m4: add AIX-5 ppc build support. Remove unused

	* win/configure:
	* win/tcl.m4: Add --enable-shared=mem support.

2002-10-10  Peter Spjuth  <>

	* tests/grid.test:
	* generic/tkGrid.c: The grid size was not updated properly
	when removing a widget from a grid. [Bug #621241] (forssen)

2002-10-10  Jeff Hobbs  <>

	* tests/canvPs.test: tests for canvas embedded window ps generation
	* generic/tkCanvWind.c (CanvasPsWindow): removed dead code loop.
	* generic/tkCanvas.h: moved TkColormapData struct to tkCanvPs.c
	* generic/tkCanvPs.c (TkImageGetColor): corrected bogus use of
	TkColormapData on Windows (Windows now requires RGB pixel data
	from image).
	* win/tkWinImage.c (XGetImage, XGetImageZPixmap): added support
	for generating ps for embedded widgets on canvases on Windows,
	tested for 8, 16, 24 and 32-bit depths (XGetImageZPixmap not used).

	* library/tk.tcl: simplified the adding of extra <ISO_Left_Tab>
	and <hpBackTab> events to <<PrevWindow>>.

2002-10-09  Jeff Hobbs  <>

	* unix/README: doc'ed --enable-symbols options.
	* unix/ comment docs
	* unix/configure: regen
	* unix/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent
	SC_ENABLE_SYMBOLS that takes yes|no|mem|all as options now.

2002-10-09  Don Porter <>

	* generic/tk.h:  Added reminder comment to edit
	macosx/Wish.pbproj/project.pbxproj when version number changes.

2002-10-09  Daniel Steffen  <>

	* macosx/Makefile: don't remove tclsh after building embedded.
	* macosx/Wish.pbproj/project.pbxproj: bumped version to 8.4.1;
	added missing library/mkpsenc.tcl to framework.

2002-10-09  Daniel Steffen  <>

	* generic/tkInt.decls(tkIntXlib): added XQueryTree declaration for
	mac & aqua, since it's now called from ParentXId via Tk_HandleEvent.
	* generic/tkIntXlibDecls.h:
	* generic/tkStubInit.c: regen.
	* mac/tkMacXStubs.c: added XQueryTree stub

	* mac/tkMacEmbed.c (TkpUseWindow): check that container window
	has -container option set (sync with other platforms).

	* mac/tkMacBitmap.c:
	* mac/tkMacFont.c: 
	* mac/tkMacSend.c: 
	* mac/tkMacTest.c: 
	* mac/tkMacWm.c: CONSTification.

	* mac/tkMacProjects.sea.hqx: added tkStyle.c and tkUndo.c to
	tk library projects.

2002-10-09  Donal K. Fellows  <>

	* generic/tkImgPhoto.c (ImgPhotoSetSize): Only error-out if we
	fail to allocate a non-empty buffer; getting a NULL when we
	allocate an empty buffer is no problem since nothing will look at
	the value anyway. [Bug 619544]
	Also tidied up file to take into account the fact that we're using
	32 bits per pixel in the master to accommodate the alpha channel
	as well as RGB.

2002-10-08  Jeff Hobbs  <>

	* tests/winButton.test: add option clear to top to prevent option
	leakage from other tests causing problems. [Bug #582382]

	* generic/tkPanedWindow.c (Tk_PanedWindowObjCmd): leave the
	DestroyPanedWindow proc to free the pwPtr, add a Preserve
	reference to the pwPtr->tkwin.
	(DestroyPanedWindow): Release the pwPtr->tkwin.

	* generic/tkFocus.c (TkFocusFilterEvent): Ignore event if we are
	focusing into a dead window. [Bug #588831] (griffin)

2002-10-02  Jim Ingham  <>

	* macosx/tkMacOSXScrlbr.c (TkpDisplayScrollbar): Put the Tk scrollbar
	pointer into the control reference data for the Mac scrollbar, so we
	can get it out again in the ScrollbarActionProc.

2002-10-02  Jeff Hobbs  <>

	* generic/tkText.c (TextBlinkProc): don't blink the cursor unless
	it is visible. [Bug #616791] [Patch #614474] (bonfield)

	* tests/entry.test: added entry-20.7
	* generic/tkEntry.c (EntryTextVarProc): check if the entry is
	being deleted before handling an associated textvariable.
	[Bug #607390 #617446]

2002-10-01  Donal K. Fellows  <>

	* tests/unixSelect.test (unixSelect-1.1[89]): Altered these tests
	to work around [Bug #616923]
	* unix/tkUnixSelect.c (SelRcvIncrProc,TkSelPropProc): It turns out
	a much simpler and more robust solution is possible if we leverage
	Tcl's encoding engine by using the same code path as for the
	normal string selection.  It might be a bit slower, but it should
	be a lot more correct.  [Bug #614650]

2002-09-30  Jeff Hobbs  <>

	* tests/panedwindow.test: added panedwindow-28.[12]
	* generic/tkPanedWindow.c (PanedWindowCmdDeletedProc): 
	(Tk_PanedWindowObjCmd): when destroying the panedwindow, destroy
	the proxy before the parent to avoid dependency conflicts.
	[Bug #616589]

2002-09-30  Donal K. Fellows  <>

	* tests/unixSelect.test: Test for various things that can fail to
	work in 8.4.0...
	* unix/tkUnixSelect.c (TkSelPropProc,SelRcvIncrProc): Incremental
	transfers of UTF8_STRING selections should now work; Tk will now
	tag them with the right size and only transfer complete UTF8
	characters.  Previously, things only worked when the transfer
	could only happen in one go, and even then not always. [Bug 614650]

	* doc/bind.n: Doc-fix to mention that %A substitutes UNICODE
	characters rather than ASCII ones.  Tk's done this ever since 8.1
	in any case; after all, it is the right thing to do.

2002-09-27  Don Porter <>

	* README:		Bumped to version 8.4.1 to avoid confusion
	* generic/tk.h:		of CVS snapshots with release 8.4.0.
	* unix/README:
	* unix/
	* unix/tk.spec
	* win/

	* unix/configure:	autoconf
	* win/configure:

2002-09-26  Jeff Hobbs  <>

	* unix/configure: regen.
	* unix/tcl.m4: improve AIX-4/5 64bit compilation support.

	* unix/ add macosx subdir to dist target.
	Do not generate .Z, only .gz and .zip in alldist target.

2002-09-18  Mumit Khan  <>

	Added basic Cygwin support.

	* win/tcl.m4 (SC_PATH_TCLCONFIG): Support one-tree build.
	(SC_PATH_TKCONFIG): Likewise.
	(SC_PROG_TCLSH): Likewise.
	(SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin 
	flags.  Add -mwin32 to extra_cflags and extra_ldflags.
	Remove ``-e _WinMain@16'' from LDFLAGS_WINDOW.
	* win/configure: Regenerate.

	* win/tkWinPort.h (tchar.h): Do not include on Cygwin.
	(_T): Define for Cygwin.
	* win/winMain.c (main): Conditionally define.

2002-09-26  Daniel Steffen  <>

	* macosx/Makefile: preserve environment value of INSTALL_ROOT.
	When embedding only use deployment build. Force relink before
	embedded build to ensure new linker flags are picked up.

	* macosx/buildTkConfig.tcl (new):
	* macosx/Wish.pbproj/project.pbxproj: synthesize
	based on in Tcl.framework and
	Add symbolic links to debug lib, stub libs and
	in framework toplevel. Made tkIntXlibDecls.h a public header
	since Headers/X11/Xlib.h includes it. Install wish8.4 script
	that runs "Wish" and corresponding wish link.
	Use tcl headers from built Tcl.framework instead of from tcl
	source directory.

	* macosx/tkMacOSXPort.h: added missing standard unix includes 
	and defines, similarly to tkUnixPort.h.
	* macosx/tkMacOSXNotify.c: removed dependency on internal tcl
	header "tclPort.h"

	* unix/
	* unix/install-sh: copied support for 'install-strip' target
	over from tcl/unix/{,install-sh}

2002-09-22  Jim Ingham <>

	* macosx/tkMacOSXScrlbr.c (UpdateControlValue): HiliteControl
	doesn't give the proper "nothing to scroll" look on Mac OS X.
	You have to set the min value greater than the max value to
	get this.

2002-09-15  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.
	* unix/tkUnixEvent.c (TkpCloseDisplay): Use PEEK_XCLOSEIM
	to examine the input context queue before invoking
	XCloseIM. Generate an assert if there is an input
	context that has not been freed.
	[Patch 570902]

2002-09-13  Andreas Kupries  <>

	* generic/tk.h: Moved RC_INVOKED down so that tcl.h is still
	  included when running the resource compiler. <tcl.h> excludes
	  the unnecessary parts on its own. This reenables the Windows
	  build. It failed because the non-inclusion of tcl.h caused the
	  resource compiler to miss some vital macro definitions

2002-09-12  Daniel Steffen  <>

	* generic/tk.h:
	* mac/tkMacApplication.r:
	* mac/tkMacLibrary.r:
	* mac/tkMacResource.r:
	* macosx/tkAboutDlg.r:
	* macosx/tkMacOSXApplication.r:
	* macosx/tkMacOSXLibrary.r:
	* macosx/tkMacOSXResource.r: unified use of the two equivalent 
	resource compiler header inclusion defines RC_INVOKED and
	RESOURCE_INCLUDED, now use RC_INVOKED throughout.

	* macosx/tkMacOSXAppInit.c: improved detection of Wish startup
	by the finder (by checking if stdin is /dev/null), in which
	case we want to bring up the Tk console window.

	* macosx/tkMacOSXHLEvents.c: added 'rapp' apple event handler.

2002-09-12  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: reference & install
	tk/generic/ instead of tk/library/

2002-09-10  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: added backwards
	compatibility for OSX 10.1 ProjectBuilder 2.0.

2002-09-10  Daniel Steffen  <>

	* unix/ added DYLIB_INSTALL_DIR variable for Darwin
	and set it to default value ${LIB_RUNTIME_DIR}
	* unix/tcl.m4 (Darwin): use DYLIB_INSTALL_DIR instead of
	LIB_RUNTIME_DIR in the -install_name argument to ld.
	* unix/configure: regen.

	* macosx/Wish.pbproj/project.pbxproj:
	* macosx/Makefile: added support for building Tcl as an embedded
	framework, i.e. using an dyld install_name containing
	@executable_path/../Frameworks via the new DYLIB_INSTALL_DIR
	unix/Makefile variable.

2002-09-10  Jeff Hobbs  <>

	*** 8.4.0 TAGGED FOR RELEASE ***

2002-09-09  Jeff Hobbs  <>

	* macosx/tkMacOSXNotify.c (Tk_MacOSXSetupTkNotifier): corrected
	Mac Jaguar event loop issue.

	* library/tk.tcl: use command instead of control on Aqua bindings.
	Force dialogs to appear below fixed native Mac menubar.
	* macosx/tkMacOSXKeyEvent.c:
	* macosx/tkMacOSXKeyboard.c: Keypress/release events for pure
	modifier keys were not being passed to Tk.
	Deadkey presses were inserting null characters into text windows.
	Now they do nothing. (Still not ideal, but better than before!)
	* macosx/tkMacOSXMenu.c: Allow more than 200 menus to exist -
	increased to 2000.
	* macosx/tkMacOSXMouseEvent.c: Bad interactions between floating
	windows and ordinary ones.  Ensure that local<->global coordinate
	transformations are wrt to the correct window.
	* macosx/tkMacOSXWm.c: Better error msg for 'wm attributes'.
	Remove crash in 'wm transient'.
	Add 'noActivates' and 'noUpdates' flags to unsupported command.
	[Patch #606658] (darley)

	* library/xmfbox.tcl (::tk::MotifFDialog_ActivateSEnt): corrected
	msgcat code with XPG specifier. [Patch #606719] (miller)

2002-09-06  Don Porter <>

	* tests/unixWm.test (unixWm-50.3):  Constrained test that hangs
	on Windows.

2002-09-05  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: added overlooked missing
	TK_PATCH_LEVEL version bump to 8.4.0.

2002-09-04  Andreas Kupries  <>

	* win/ (install-libraries): Added code section to
	  install the message catalogs. Copied same section from
	  unix/ and adapted it to the slightly different

2002-09-03  Jeff Hobbs  <>

	* library/button.tcl: further restrict buttons to not resetting
	the "original" relief if it has changed in the interim.  This
	prevents code that simulated overrelief buttons from not working
	in 8.4.  [Bug #604270]

2002-09-03  Daniel Steffen  <>

	* macosx/Wish.pbproj/project.pbxproj: Bumped version number to
	8.4.0 and updated copyright info.

2002-09-03  Vince Darley  <>

	* macosx/tkMacOSXWm.c: fix to 'wm attributes' error-handling bug.
2002-09-03  Don Porter <>

	* changes: Updated for 8.4.0 release

2002-09-02  Jeff Hobbs  <>

	* tests/cursor.test: reverted 2002-08-31 change for OS X to use
	'heart' cursor because 'arrow' on windows has a pre-skewed use
	count. [Bug #602667]

	* tests/button.test: added button-14.1
	* win/tkWinButton.c (TkpComputeButtonGeometry): correct Win button
	sizing to be equal for one-line buttons with -height of 0 or 1, as
	well as -height 0 buttons with empty text and no image, which
	should be the same as single-line text buttons. [Bug #565485]

	* library/button.tcl (::tk::ButtonLeave): correctly restore state
	of button to normal for unix bindings. [Bug #597920]

	* doc/tk.n: added tk windowingsystem docs.

	* tests/wm.test:
	* unix/tkUnixWm.c: remove possible 2-second delay in 'raise'.
	[Patch #601518] (english) TIP #107

	* unix/tcl.m4: add support for 64-bit builds on HP-11 with gcc.
	* unix/ make sure to substitute LD_LIBRARY_PATH_VAR.
	* unix/configure: regend

	* README:		Bumped version number to 8.4.0
	* generic/tk.h:
	* unix/configure:
	* unix/
	* unix/tk.spec:
	* win/configure:
	* win/

	* generic/tkCmds.c:
	* generic/tkWindow.c: made 'tk' available in safe interpreters,
	but only the caret and windowingsystem subcommands may be called.
	* tests/safe.test (safe-1.2): noted that tk is now available in
	safe interps, but not the appname/scaling subcommands.

	* tests/tk.test (tk-1.2): noted new tk windowingsystem subcommand

2002-08-31  Daniel Steffen  <>

	* unix/tcl.m4: update from Tcl

	* unix/ import of TK_SHLIB_LD_EXTRAS for Tk library
	specific linker settings. Added use of new LD_LIBRARY_PATH_VAR.

	* unix/configure: regen

2002-08-31  Daniel Steffen  <>

	*** macosx-8-4-branch merged into the mainline [tcl patch #602770] ***

	* generic/tk.decls:
	* generic/tkInt.decls: added new "aqua" specific entries to the
	stubs tables. Changed all "unix" entries to "x11" to allow us to
	distinguish and build both "aqua" on MacOSX and "x11" on MacOSX.

	* generic/tk.h: added a #ifnded RESOURCE_INCLUDED so that tk.h can
	be passed to the resource compiler. 
	* generic/tkCmds.c (Tk_TkObjCmd): added [tk windowingsystem]
	subcommand: returns "x11" when running on X11, "win32" on Windows,
	"classic" on MacOS9 and "aqua" on MacOSX Aqua (i.e. Carbon)

	* generic/tkFont.c (TkFontGetFirstTextLayout): new private function
	returning the first chunk of a Tk_TextLayout, i.e. until the first
	font change on the first line (or the whole first line if there is
	no such font change).

	* generic/tkMain.c: made Tcl_ThreadDataKey static

	* library/demos/puzzle.tcl: fixed button metrics for aqua

	* tests/cursor.test: check for presence of arrow cursor instead of
	heart cursor

	* xlib/xcolors.c: changed xColors static initialization to more
	standard C
	* macosx/Wish.pbproj/jingham.pbxuser (new):
	* macosx/Wish.pbproj/project.pbxproj (new): project for Apple's
	ProjectBuilder IDE.

	* macosx/Makefile (new): simple makefile for building the project
	from the command line via the ProjectBuilder tool 'pbxbuild'.

	* macosx/tkMacOSXAppInit.c (new): macosx specific AppInit looking
	for a AppMain.tcl file in its bundled Resources/Scripts folder. If
	present, argv[1] is set to that file and the Scripts folder is
	added to the auto_path. This allows tk apps to embed scripts within
	their bundle directory structure.

	* macosx/tkMacOSXInit.c (new): macosx adapted version of
	tkUnixInit.c: we initialize & cache the Carbon native encoding
	(e.g. 'macRoman') and try to find the tk script library files
	inside Tk packaged as a framework.

	* macosx/tkMacOSXNotify.c (new): new macosx specific merged
	Carbon/select-based notifier.

	* macosx/tkMacOSXEvent.c (new):
	* macosx/tkMacOSXEvent.h (new):
	* macosx/tkMacOSXKeyEvent.c (new):
	* macosx/tkMacOSXMouseEvent.c (new):
	* macosx/tkMacOSXWindowEvent.c (new): new macosx specific event
	handling functionality.

	* macosx/tkMacOSX.h (new):
	* macosx/tkMacOSXBitmap.c (new): 
	* macosx/tkMacOSXButton.c (new):
	* macosx/tkMacOSXClipboard.c (new):
	* macosx/tkMacOSXColor.c (new):
	* macosx/tkMacOSXConfig.c (new):
	* macosx/tkMacOSXCursor.c (new):
	* macosx/tkMacOSXDefault.h (new):
	* macosx/tkMacOSXDialog.c (new):
	* macosx/tkMacOSXDraw.c (new):
	* macosx/tkMacOSXEmbed.c (new):
	* macosx/tkMacOSXFont.c (new):
	* macosx/tkMacOSXHLEvents.c (new):
	* macosx/tkMacOSXInt.h (new):
	* macosx/tkMacOSXKeyboard.c (new):
	* macosx/tkMacOSXMenu.c (new):
	* macosx/tkMacOSXMenubutton.c (new):
	* macosx/tkMacOSXMenus.c (new):
	* macosx/tkMacOSXPort.h (new):
	* macosx/tkMacOSXRegion.c (new):
	* macosx/tkMacOSXScale.c (new):
	* macosx/tkMacOSXScrlbr.c (new):
	* macosx/tkMacOSXSubwindows.c (new):
	* macosx/tkMacOSXTest.c (new):
	* macosx/tkMacOSXUtil.c (new):
	* macosx/tkMacOSXUtil.h (new):
	* macosx/tkMacOSXWm.c (new):
	* macosx/tkMacOSXWm.h (new):
	* macosx/tkMacOSXXStubs.c (new): macosx ports of classic mac Tk
	implementation in tk/mac.

	* macosx/tkMacOSXSend.c (new): only send to local interp
	implemented currently.

	* macosx/tkMacOSXDebug.h (new):
	* macosx/tkMacOSXDebug.c (new): new macosx specific functions for
	debugging MacOS events, regions, etc.

	* macosx/tkAboutDlg.r (new):
	* macosx/tkMacOSXApplication.r (new):
	* macosx/tkMacOSXCursors.r (new):
	* macosx/tkMacOSXLibrary.r (new):
	* macosx/tkMacOSXMenu.r (new):
	* macosx/tkMacOSXResource.r (new):
	* macosx/tkMacOSXXCursors.r (new):
	* macosx/tclets.r (new): sources for Rez resource compiler.

	* macosx/Wish.icns (new): Wish application icon.

	* generic/tk.h:
	* generic/default.h:
	* generic/tkBind.c:
	* generic/tkCmds.c:
	* generic/tkGrab.c:
	* generic/tkPointer.c:
	* generic/tkPort.h:
	* generic/tkSelect.c:
	* generic/tkStubLib.c:
	* generic/tkTest.c:
	* generic/tkText.c:
	* generic/tkWindow.c:
	* unix/tkUnix3d.c:
	* xlib/xgc.c:
	* xlib/X11/X.h:
	* xlib/X11/Xlib.h:
	* xlib/X11/Xutil.h: added #includes and #ifdefs for macosx

	* library/bgerror.tcl:
	* library/button.tcl:
	* library/console.tcl:
	* library/dialog.tcl:
	* library/entry.tcl:
	* library/listbox.tcl:
	* library/menu.tcl:
	* library/msgbox.tcl:
	* library/scrlbar.tcl:
	* library/spinbox.tcl:
	* library/text.tcl:
	* library/tk.tcl:
	* library/demos/menu.tcl:
	* library/demos/menubu.tcl:
	* library/demos/widget: check [tk windowingsystem] instead of
	and/or in addition to $tcl_platform(platform).

	* generic/tkInt.h:
	* mac/tkMacBitmap.c:
	* mac/tkMacWm.c: added missing CONSTification

	* generic/tkIntDecls.h:
	* generic/tkIntPlatDecls.h:
	* generic/tkIntXlibDecls.h:
	* generic/tkPlatDecls.h:	
	* generic/tkStubInit.c: regen

2002-08-27  D. Richard Hipp <>

	* doc/checkbutton.n:      [Bug 582457] Fix the -offrelief option so
	* doc/radiobutton.n:      that when -offrelief is flat and -relief is
	* mac/tkMacButton.c:      sunken and -overrelief is raised, buttons
	* unix/tkUnixButton.c:    work look toolbar buttons under Windows.
	* win/tkWinButton.c:      See also: TIP #82.

2002-08-26  Don Porter <>

	* win/	Removed dependence on the (parts of) the
	* win/winMain.c:	tcltest executable on Windows.  It was not
	used, and the dependency complicated the Makefile.  [Bug 592638].

2002-08-20  Don Porter <>

	* README:		Bumped version number to 8.4b3 to distinguish
	* generic/tk.h:		HEAD from the 8.4b2 release.
	* unix/
	* win/
	* unix/tk.spec:
	* unix/configure:	autoconf
	* win/configure:

	* generic/tk.h:	Added compile-time check that the tcl.h header file
	#included by Tk 8.4 is one from Tcl 8.4.  This is needed to be sure
	that new #defines like CONST84 are available. [Bug 597432].

2002-08-16  Jeff Hobbs  <>

	* unix/ (install-binaries): simplified pkgIndex.tcl
	file created on installation.
	* win/ (install-binaries): corrected and simplified
	creation of pkgIndex.tcl file on installation.

2002-08-14  Vince Darley  <>

	* win/tkWinDialog.c:
	* win/ broken compilation and link from changes
	Hobbs-08-07 fixed.
	* win/tkWinTest.c: CONST problem resolved.

2002-08-13  Jeff Hobbs  <>

	* library/button.tcl: change the bindings to use Priv($w,relief)
	instead of just Priv(relief).  This ensures that neighboring
	buttons don't confuse (over)relief settings.

2002-08-13  Reinhard Max  <>

	* unix/tkUnixSend.c (Tk_SetAppName): Fixed a compiler warning.

2002-08-12  Donal K. Fellows  <>

	* library/demos/image2.tcl: Tweaked the behaviour of the directory
	box on resize, as resizing of the overall window tends to be
	common given the sample images.

2002-08-08  Mo DeJong  <>

	* unix/tkUnixWm.c (WmTransientCmd): Apply fix for
	wm transient assertion error that was applied
	to tkWinWm.c for Tk Bug #592201.

2002-08-08  Mo DeJong  <>

	* tests/wm.test: Add deleteWindows at start of
	new transient tests so they do not fail if the
	toplevels already exist.
	* unix/tkUnixWm.c: Revert patch for Tk Bug #592201
	which incorrectly removed numTransients member.

2002-08-08  Joe English  <>

	* unix/tkUnixWm.c:
	* win/tkWinWm.c:
	* tests/wm.test: Fix for Tk Bug #592201 "wm transient fails with two
	  masters"; fixes panic after a transient window is reassigned to
	  new master and either master is subsequently destroyed.

2002-08-08  Don Porter <>

	* tests/unixWm.test:  Corrected packaging of unixWm-50.3 so that
	[setupbg] and [cleanupbg] always balance, no matter what tests
	are skipped.

2002-08-08  Reinhard Max  <>

	* unix/ Fixed typos in DISTNAME, and ZIPNAME.

2002-08-08  Jeff Hobbs  <>

	*** 8.4b2 TAGGED FOR RELEASE ***

	* generic/tkButton.c (TkButtonWorldChanged): added GCFont handling
	to the disabledGc of buttons when compound != none.  The drawing
	appears to be incorrect across platforms still.  [Bug #477740]

	* generic/tkImgGIF.c (FileReadGIF): fixed -from handling for gifs
	[Bug #467524] (obermeier)

2002-08-07  Jeff Hobbs  <>

	* generic/tkCanvUtil.c (TkSmoothParseProc): recognize the built-in
	bezier method by name. [Bug #578654]
	* doc/canvas.n: update to note that -smooth really doesn't take
	or return just booleans.

	* win/tkWinMenu.c (TkpSetWindowMenuBar): fixed logic bug in when
	to idle call ReconfigureWindowsMenu.

	* doc/GetBitmap.3: removed doc refs to deprecated
	Tk_GetBitmapFromData. [Bug #590379]

	* generic/tkPanedWindow.c (Tk_PanedWindowObjCmd): 
	* library/panedwindow.tcl: changed class from PanedWindow to
	Panedwindow to not conflict with existing bwidgets, but also to be
	more regular with other names used in the core.

	* tests/panedwindow.test: added -text foobar to some test buttons
	to enable correct testing of panedwindow across platforms.
	[Bug #582370]

	* win/tkWinDialog.c: enabled use of the updated native Windows
	directory browser (tk_chooseDirectory).  This does require
	shell32.dll v4.71 or greater. [Patch #468139]

	* win/configure:
	* win/tcl.m4: added shell32 to libs for updated native Windows
	tk_chooseDirectory dialog.

2002-08-06  Donal K. Fellows  <>

	* generic/tkPanedWindow.c (RESIZE_PENDING): Separated out flag for
	indicating that a resize needs to be issued.
	(PanedWindowReqProc): Do the old behaviour when the panedwindow is
	not mapped; easiest way of making the test suite pass while still
	preserving improved behaviour in the face of children whose size
	is not known immediately.

2002-08-06  Don Porter <>

	* tests/defs.tcl: removed file.  No longer needed now that Tk is 
	using the tcltest package to do its testing.

2002-08-05  Don Porter <>

	* win/tkWinFont.c:	Additional changes to fix CONST warnings on
	* win/tkWinWM.c:	Windows due to latest patch.  Tks Vince Darley.

	* doc/3DBorder.3:	Applied companion patch for Tcl Patch 585105,
	* doc/BindTable.3:	updating Tk to use Tcl 8.4's fully CONST-ified
	* doc/ConfigWidg.3:	interface, and fully CONSTifying Tk at the
	* doc/CrtImgType.3:	same time.
	* doc/CrtWindow.3:
	* doc/DeleteImg.3:	This patch includes purging Tk of its last
	* doc/FindPhoto.3:	direct access to interp->result.  [Bug 589853]
	* doc/GetAnchor.3:
	* doc/GetBitmap.3:	The substantial changes include copying
	* doc/GetCapStyl.3:	event sequence strings into Tcl_DStrings
	* doc/GetClrmap.3:	in tkBind.c, and copying [text] indices into
	* doc/GetColor.3:	Tcl_DStrings because parsing them involved
	* doc/GetCursor.3:	overwriting them.  If this causes performance
	* doc/GetFont.3:	trouble, that can be resolved by further
	* doc/GetImage.3:	converting them to Tcl_Obj's.
	* doc/GetJoinStl.3:
	* doc/GetJustify.3:	The #defines USE_NON_CONST and USE_COMPAT_CONST
	* doc/GetOption.3:	have the same effect for Tk as they do for Tcl.
	* doc/GetRelief.3:	(They actually change tcl.h)
	* doc/GetScroll.3:
	* doc/GetVisual.3:
	* doc/InternAtom.3:
	* doc/NameOfImg.3:
	* doc/SetAppName.3:
	* doc/WindowId.3:
	* generic/tk.decls:
	* generic/tk.h:
	* generic/tk3d.c:
	* generic/tkAtom.c:
	* generic/tkBind.c:
	* generic/tkBitmap.c:
	* generic/tkButton.c:
	* generic/tkCanvArc.c:
	* generic/tkCanvBmap.c:
	* generic/tkCanvImg.c:
	* generic/tkCanvLine.c:
	* generic/tkCanvPoly.c:
	* generic/tkCanvPs.c:
	* generic/tkCanvText.c:
	* generic/tkCanvUtil.c:
	* generic/tkCanvWind.c:
	* generic/tkCanvas.c:
	* generic/tkCanvas.h:
	* generic/tkClipboard.c:
	* generic/tkCmds.c:
	* generic/tkColor.c:
	* generic/tkConfig.c:
	* generic/tkConsole.c:
	* generic/tkCursor.c:
	* generic/tkDecls.h:
	* generic/tkEntry.c:
	* generic/tkFont.c:
	* generic/tkFrame.c:
	* generic/tkGet.c:
	* generic/tkGrid.c:
	* generic/tkImage.c:
	* generic/tkImgBmap.c:
	* generic/tkImgPhoto.c:
	* generic/tkInt.decls:
	* generic/tkInt.h:
	* generic/tkIntDecls.h:
	* generic/tkIntPlatDecls.h:	
	* generic/tkListbox.c:
	* generic/tkMenu.c:
	* generic/tkMenubutton.c:
	* generic/tkMessage.c:
	* generic/tkOldConfig.c:
	* generic/tkOption.c:
	* generic/tkRectOval.c:
	* generic/tkScale.c:
	* generic/tkScrollbar.c:
	* generic/tkSelect.c:
	* generic/tkStyle.c:
	* generic/tkTest.c:
	* generic/tkText.c:
	* generic/tkText.h:
	* generic/tkTextBTree.c:
	* generic/tkTextDisp.c:
	* generic/tkTextImage.c:
	* generic/tkTextIndex.c:
	* generic/tkTextMark.c:
	* generic/tkTextTag.c:
	* generic/tkTextWind.c:
	* generic/tkUtil.c:
	* generic/tkVisual.c:
	* generic/tkWindow.c:
	* mac/tkMacConfig.c:
	* mac/tkMacCursor.c:
	* mac/tkMacEmbed.c:
	* mac/tkMacSend.c:
	* unix/tkUnixConfig.c:
	* unix/tkUnixCursor.c:
	* unix/tkUnixEmbed.c:
	* unix/tkUnixFont.c:
	* unix/tkUnixSelect.c:
	* unix/tkUnixSend.c:
	* unix/tkUnixWm.c:
	* win/tkWinConfig.c:
	* win/tkWinCursor.c:
	* win/tkWinEmbed.c:
	* win/tkWinMenu.c:
	* win/tkWinSend.c:

2002-08-02  Donal K. Fellows  <>

	* generic/tkPanedWindow.c (DestroyPanedWindow): Idle calls need to
	be deleted on destruction of the window, or things can *really* go

2002-07-31  Donal K. Fellows  <>

	* generic/tkPanedWindow.c (PanedWindowReqProc): Postpone pane
	arrangement until idle, as is done in other window managers, to
	fix problems with size calculations when the children don't
	already know their sizes anyway.

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.

2002-07-29  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/ Remove code that was setting
	account for cc vs ld linking. Tcl now handles this.
	* unix/tcl.m4: Update from Tcl.

2002-07-27  Mo DeJong  <>

	to support changes in tcl.m4 related to library builds.
	Use MAKE_LIB macro to avoid dealing with RANLIB issues.
	Use new INSTALL_LIB and INSTALL_STUB_LIB substs to
	deal with ranlib issues when install libraries.
	* unix/configure: Regen.
	* unix/ Remove AC_PROG_RANLIB since
	this is done by tcl.m4 now. Define CC_SEARCH_FLAGS
	instead of TK_CC_SEARCH_FLAGS and so on.
	Use MAKE_LIB and MAKE_STUB_LIB from tcl.m4.
	Remove AC_SUBST calls that are no done in tcl.m4.
	* unix/tcl.m4: Update from Tcl.
	* unix/ Subst CC_SEARCH_FLAGS and

2002-07-25  Peter Spjuth  <>

	* generic/tkInt.h:
	* generic/tkWindow.c:
	* mac/tkMacWm.c:
	* unix/tkUnixWm.c:
	* win/tkWinWm.c:
	* tests/wm.test:
	* tests/winWm.test:
	* tests/unixWm.test: Objectifed wm. [Patch #564521]
	Note: At this point the Mac file is completely untested
	and may not even compile.

2002-07-25  Jeff Hobbs  <>

	* tests/spinbox.test: added spinbox-22.[1-3]
	* generic/tkEntry.c (ConfigureEntry): made the textvariable value
	take precedence over changed -from/-to values, unless it must be
	constrained.  [Bug #559078]

	* library/spinbox.tcl (MouseSelect): when not in the entry, just
	return instead of invoking - ButtonUp handles invoking already.
	[Bug #499168]

	* library/tk.tcl (RestoreFocusGrab): handle the case where the
	FocusGrab info is not set. [Bug #553283]

2002-07-24  Jeff Hobbs  <>

	* tests/canvas.test: added canvas-14.[1-6]
	* generic/tkCanvas.c (CanvasWidgetCmd): corrected handling of
	'scan' subcommand args.  Also removed early return cases to goto
	done instead where the canvasPtr would be Tcl_Release'd.  This may
	solve other problems with unreleased canvasPtr's. [Bug #581560]

	* win/tkWinButton.c (TkpDisplayButton): corrected display of focus
	ring around the actual text when the button is a compound button.
	[Bug #583691]

	* unix/README: Corrected notes about running user interactive Tk
	tests. [Bug #462320]

	* generic/tkText.c (TextEditUndo): set isDirtyIncrement to -1 when
	reverting to note proper "dirtiness". [Bug #580362] (callewaert)

	* generic/tkEntry.c (DisplayEntry): correct cursor position before
	calling Tk_SetCaretPos. (yamamoto)

2002-07-23  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.

2002-07-22  Mo DeJong  <>

	* library/choosedir.tcl (tk::dialog::file::chooseDir):
	* library/clrpick.tcl (tk::dialog::file::chooseDir):
	* library/msgbox.tcl (tk::MessageBox):
	* library/tkfbox.tcl (tk::dialog::file):
	* library/xmfbox.tcl (tk::MotifFDialog):
	Revert [Tk patch 568278]. The transient window workaround
	is no longer needed since the fix for [Tk bug 570764]
	solved the problem for withdrawn transients.

2002-07-19  Mo DeJong  <>

	* unix/configure:
	* unix/
	* win/configure:
	* win/ Add AC_PREREQ(2.13) in an attempt
	to make it more clear that the configure scripts
	must be generated with autoconf version 2.13.
	[Tcl Bug 583573]

2002-07-19  D. Richard Hipp  <>

	* library/mkpsec.tcl: Fix a bug that was causing postscript generation
	to fail under Win2K.

2002-07-18  Reinhard Max  <>

	* unix/tkUnixSend.c: Using Tcl_GetTime instead of TclpGetTime.

2002-07-17  Reinhard Max  <>

	* library/unsupported.tcl: Extended ExposePrivateVariable, and
	ExposePrivateCommand to accept patterns as well.	

2002-07-17  Don Porter <>

	* generic/tkFont.c: Corrected reversed logic in assert -> panic
	conversion.  [Bug 582799]

2002-07-16  Mo DeJong  <>

	* generic/tkFont.c (TkFontPkgFree): Call panic instead
	of assert since assert is not used in the rest of Tk.
	[Tk bug 579651]

2002-07-16  Mo DeJong  <>

	* unix/
	* win/ Add a more descriptive warning
	in the event `make genstubs` needs to be rerun.

2002-07-16  Vince Darley  <>

	* win/tkWinWm.c: 
	* doc/wm.n: fix for part of [Bug 581627], and made iconbitmap
	code on Windows more flexible about reading in icons [Bug

2002-07-15  David Gravereaux <>

	* win/makefile.bc (new): re-add of the borland makefile.  Submitted
	by Helmut Giese <>.  This needs testing, still.

2002-07-15  Don Porter <>

	* Fixes for [Bug 581627, 581795].
	* generic/tkTest.c:		Test commands not supported on non-Unix
	  platforms should not be defined there in the first place.
	* tests/constraints.tcl:	Fixed "secureserver" constraint.
	* tests/unixWm.test:		Some tests needed "unix" constraint.
	* win/tkWinWm.c:		Typo in error message.

2002-07-14  Don Porter <>

	* tests/event.test:	Fixes to enable testing of only userInteraction
	* tests/visual_bb.test:	tests.

	* README:		Bumped HEAD to version 8.4b2 in order to 
	* generic/tk.h:		distinguish it from the 8.4b1 release.
	* unix/configure*:	Also extended LOCALES to cover all message
	* unix/tk.spec:		catalogs.
	* win/configure*:

	* tests/focustTcl.test:	Conversion bug: Corrected backwards logic.
	* tests/imgPhoto.test:	Conversion bug: overwrote unix/README.

	* tests/all.tcl:		Completed conversion of Tk test suite
	* tests/constraints.tcl:	to use tcltest.
	* tests/[b-v]*.test:
	* unix/

2002-07-12  Don Porter <>

	* tests/constraints.tcl:	Converted more files to tcltest and
	* tests/[g-x]*.test:		factored out common code.

2002-07-11  Don Porter <>

	* tests/canvPsImg.tcl:			Converted several files in the
	* tests/constraints.tcl (new file):	Tk test suite for testing by
	* tests/[r-x]*.test:			tcltest 2.1.
	* unix/

2002-07-11  Jeff Hobbs  <>

	* win/tkWinDialog.c (Tk_ChooseDirectoryObjCmd): initialize
	utfTitle to NULL, add a few more notes about limitations of
	possible new Tk_ChooseDirectoryObjCmd function.

2002-07-11  Donal K. Fellows  <>

	* tests/imgPhoto.test (imgPhoto-15.1): Added test of mem-alloc
	failure, but this is non-portable.
	* generic/tkImgPhoto.c (ImgPhotoSetSize): Allowed this function to
	fail when it can't allocate enough memory.  Note that not all the
	places that call it can fail nicely without API changes; some
	still panic but at least some of the potential failures are now
	handled gracefully.

	* tests/visual_bb.test (lpr): Stopped this from relying on
	external files; direct piping is much more flexible for this

2002-07-09  Don Porter <>

	* generic/tkTest.c:	Removed unused dependence on TclThread_Init()
	* tests/defs.tcl:	and [testthread].  [Bug 578165, Tcl Bug 531413]

2002-07-08  David Gravereaux <>

	* unix/ Added missing win/lamp.bmp to the dist

2002-07-05  Jeff Hobbs  <>

	*** 8.4b1 TAGGED FOR RELEASE ***

2002-07-04  Donal K. Fellows  <>

	* library/bgerror.tcl (bgerror): Stopped the bgerror dialog from
	getting wider than the screen; in theory really long messages
	could make it become taller than the screen now, but that's much
	less likely to happen.  Also trimmed a little bit of internal
	space so that the icon-message gap is the same as the icon-frame
	and message-frame gaps.

2002-07-01  Don Porter <>

	* unix/configure:
	* unix/tcl.m4: Updated to latest tcl.m4 from Tcl.

2002-06-28  Donal K. Fellows  <>

	* library/msgbox.tcl (MessageBox): Force all non-button widgets to
	have the same background as the containing toplevel.  [Bug #552515]

2002-06-27  Andreas Kupries  <>

	* win/ (install-binaries): Fix of troubled Makefile
	quoting introduced by [Patch 521356] causing the installed to

2002-06-25  Don Porter <>

	* unix/tkUnixFont.c: (Tk_DrawChars) silence compiler warning.

2002-06-26  David Gravereaux <>

	* generic/tkStyle.c: <eol> of the committing cvs client didn't
	match the <eol> of the file itself.  Windows users where getting
	\r\r\n.  Problem fixed.

2002-06-26  Anton Kovalenko <>

	* generic/tkFont.c (TkTextLayoutToPostscript): fixed potential
	buffer overflow which could be intentionally triggered from
	within safe interpreter -- malicious applet could modify 
	tk::psglyphs array.

2002-06-26  Anton Kovalenko <>

	* tests/font.test (font-32.1): updated this test
	to expect the new behavior of canvas postscript.

2002-06-25  Don Porter <>

	* unix/	Expanded install-binaries target to create
	* win/	and install a pkgIndex.tcl file to enable
	Tk as a loadable package [Patch 521356]

2002-06-25  Anton Kovalenko <>

	* library/mkpsenc.tcl: (added) utilities to generate
	Postscript prolog for current system encoding.
	* generic/tkCanvPs.c (TkCanvPostscriptCmd): now
	uses mkpsenc.tcl to generate Postscript prolog.
	* generic/tkFont.c (TkTextLayoutToPostscript): modified
	according to patch #546910. Now outputs system-encoded
	characters (for unibyte) or Adobe glyph names (for
	multibyte or outside-locale).
	* tests/canvText.test (canvText-17.1): updated this test
	to expect the new behavior of canvas postscript.

2002-06-25  Reinhard Max  <>

	* unix/tcl.m4:       New macro SC_CONFIG_MANPAGES.
	* unix/ Added support for symlinks and compression
	* unix/  when installing the manpages. [Patch 518052]
	                     Default is still hardlinks and no compression.

	* unix/mkLinks:      generated
	* unix/configure:

	* unix/README:       Added documentation for the new features.

	* unix/configure:                  Replaced ${exec_prefix}/lib
	* unix/tcl.m4 (SC_PATH_TCLCONFIG): by ${libdir}.

2002-06-24  Mo DeJong  <>

	* tests/winWm.test: Verify that both an unmapped
	and already mapped toplevel are raised and receive
	the focus when deiconified.
	* tests/wm.test: Add wm deiconify tests. Check that
	a toplevel that has never been mapped is not mapped
	by the deiconify command since it should be done
	at idle by MapFrame.
	* win/tkWinWm.c (Tk_WmCmd): Check the WM_NEVER_MAPPED
	flag while processing the wm deiconify command.
	The WM_UPDATE_PENDING flag should never be set when
	WM_NEVER_MAPPED is set, but double check so that
	the implementation is more explicit and matches
	the comment just above.
	Return without invoking TkWmRestackToplevel or
	TkSetFocusWin on a toplevel that has never been
	mapped. This fixes a bug where a toplevel is mapped
	with the wrong size and is then resized by the
	idle call to MapFrame. [Tk bug 233150]

2002-06-23  Jeff Hobbs  <>

	* win/tkWinWm.c (UpdateGeometryInfo): remove the check for a null
	wrapper introduced in r1.41 on 2002-06-15 because it prevented
	geometry setting from taking effect if the window was not on the
	screen.  Another check may go in it's place as IsIconic and
	IsZoomed should not be passed NULL.

2002-06-22  Mo DeJong  <>

	* tests/wm.test: Remove invalid minsize test. Add update
	calls to wm transient tests so that idle handlers get
	run. This is needed to get the tests to pass under Win32.
	* unix/tkUnixWm.c (WmWaitMapProc): Move the special
	transient withdrawn check into the if body to
	make it easier to set a breakpoint on this test
	inside a debugger. No functional changes.
	* win/tkWinWm.c (WmWaitVisibilityOrMapProc): Ditto.

2002-06-22  Jeff Hobbs  <>

	* doc/wm.n:                   TIP #95 Windows implementation and
	* mac/tkMacWm.c (Tk_WmCmd):   docs with mac and unix stubs.
	* unix/tkUnixWm.c (Tk_WmCmd):
	* win/tkWinWm.c (Tk_WmCmd):
	* tests/unixWm.test:
	* tests/winWm.test: more wm attr tests will be needed.

	* generic/tkGrid.c (GridReqProc): check that gridPtr is not NULL
	(may be when embedded). [Bug #548791] (halliday)

	* generic/tkFont.c (TkFontPkgFree): changed panic on freeing fonts
	to an assert, and wrapped panic in #ifdef PURIFY. [Bug #568701]

	* library/menu.tcl: corrected menus from being posted offscreen
	on Windows. [Bug #464451] (darley)

	* library/console.tcl: corrected the defaultPrompt substitution
	[Bug #553207] and made Tab a default expansion key (like Escape).

	* win/tkWinEmbed.c (EmbedWindowDeleted): added a check for a null
	containerPtr.  The core of this bug is likely elsewhere. [Bug #476176]

	* doc/text.n:                             TIP #93 implementation that
	* generic/tkText.c (TextWidgetCmd):       enhances the text get and
	* generic/tkTextIndex.c (TkTextGetIndex): delete methods to accept
	* tests/text.test:                        multiple range pairs.
	This handles the delete case in an atomic, fixed-index fashion.

2002-06-21  Mo DeJong  <>

	* tests/wm.test: Add tests to make sure a withdrawn
	transient does not get remapped by state changes
	in the master.
	* unix/tkUnixWm.c (Tk_WmCmd, WmWaitMapProc):
	* win/tkWinWm.c (Tk_WmCmd, WmWaitVisibilityOrMapProc):
	Add a WM_TRANSIENT_WITHDRAWN flag that gets set by the
	withdraw, deiconify, or state wm subcommands. Check
	this flag before mapping a transient when processing
	a MapNotify event. [Tk bug 570764]

2002-06-21  Donal K. Fellows  <>

	* unix/tk.spec (version), README, win/, unix/ 
	* generic/tk.h (TK_RELEASE_*, TK_PATCH_LEVEL): Bumped to beta1.

2002-06-21  Jeff Hobbs  <>

	* doc/text.n:          TIP #104 implementation which generalizes the
	* generic/tkText.c:    undo/redo stack to not be tied solely to the
	* generic/tkText.h:    text widget.  The APIs are still private.
	* generic/tkUndo.c:    This also adds a stack limiting ability and
	* generic/tkUndo.h:    a -maxundo option to the text widget (in
	* library/text.tcl:    addition to the options from TIP #26) should
	* mac/tkMacDefault.h:  users want to limit the undo/redo stack
	* tests/text.test:     (should not be necessary in most cases).
	* unix/    [Patch #554763] (callewart)
	* unix/tkUnixDefault.h:
	* win/
	* win/
	* win/tkWinDefault.h:

2002-06-21  Don Porter <>

	* unix/	Removed unnecessary dependence of tktest
	* unix/tkAppInit.c:	executable on the tcltest executable on
	Unix.  If there are similar dependencies on other platforms, they
	can probably be removed as well.  [Bug 572134].

2002-06-20  Jeff Hobbs  <>

	* doc/listbox.n:
	* generic/tkListbox.c (DisplayListbox): 
	* mac/tkMacDefault.h:   TIP #94 implementation adding -activestyle
	* tests/listbox.test:   option to the listbox.  This adds the ability 
	* unix/tkUnixDefault.h: to have listboxes look native on Windows, and
	* win/tkWinDefault.h:   "nicer" elsewhere using the 'dotbox' style.

2002-06-20  Peter Spjuth  <>

	* generic/tkGrid.c: Corrected the test for grid propagate change.
	[Bug #571433]

2002-06-19  Jeff Hobbs  <>

	* tests/panedwindow.test:
	* generic/tkPanedWindow.c: ensure that sash index is lower bounds
	checked. [Bug #548727]

2002-06-19  Mo DeJong  <>

	* generic/tkClipboard.c (TkClipCleanup): Add code
	to set dispPtr->clipWindow to NULL, this was
	accidently removed by last commit. Fixes
	a crash while running the tests under win32.

2002-06-19  Mo DeJong  <>

	* generic/tkBind.c (TkBindDeadWindow):
	Handle case where Tk_DestroyWindow is invoked
	on clipboard and send windows.
	* generic/tkClipboard.c (TkClipCleanup):
	Invoke Tk_DestroyWindow to cleanup the
	dispPtr->clipWindow. Call Tcl_Preserve
	and Tcl_Release on the window to avoid an
	invalid memory ref on shutdown.
	* generic/tkEvent.c (Tk_HandleEvent):
	Panic if XCreateIC is invoked twice for
	the same window. This should never happen,
	the check were just added to make sure it
	does not since this could lead to crashes
	in XCloseIM.
	* generic/tkFocus.c (TkFocusDeadWindow):
	Handle case where Tk_DestroyWindow is invoked
	on clipboard and send windows.
	* generic/tkOption.c (TkOptionDeadWindow): Ditto.
	* generic/tkWindow.c (TkCloseDisplay): Move
	deletion of dispPtr->winTable after TkpCloseDisplay
	call since Tk_DestroyWindow uses it and could
	be called by TkpCloseDisplay for clipboard/send windows.
	Also invoke ckfree for the dispPtr instead of
	doing it in TkpCloseDisplay.
	(Tk_DestroyWindow): Check for a null winPtr->mainPtr
	before doing certain cleanup tasks so the we can
	invoke Tk_DestroyWindow on clipboard and send windows.
	We need to do this so that XDestroyIC will get invoked
	for the input contexts of each window.
	* mac/tkMacXStubs.c (TkpCloseDisplay): Don't free
	the displayPtr since this is now done in TkCloseDisplay.
	* unix/tkUnixEvent.c (TkpCloseDisplay, OpenIM): Remove
	conditional compilation around calls to XCloseIM
	since I am confident that the crashes related to
	input contexts has been fixed. Don't free
	the displayPtr since this is now done in TkCloseDisplay.
	* unix/tkUnixSend.c (TkSendCleanup): Invoke the
	Tk_DestroyWindow method to cleanup the special
	send window. This will call XDestroyIC and thereby
	avoid a crash in XCloseIM. The send window needs
	to be Tcl_Preserve and Tcl_Release to avoid an
	invalid memory ref on shutdown.
	* win/tkWinX.c (TkpCloseDisplay): Don't free
	the displayPtr since this is now done in TkCloseDisplay.
	[Tk patch 570902]

2002-06-19  Donal K. Fellows  <>

	* generic/tkStyle.c: TIP#48 style engine.
	See for details.

	* generic/tkConfig.c (GetOptionFromObj): Split to allow for access
	to option tables via name as well as via object.
	(TkGetOptionSpec): Semi-public interface to GetOption functionality.
	(DoObjConfig, Tk_RestoreSavedOptions, FreeResources)
	(GetObjectForOption): Basic style support for configure.

	* generic/tkWindow.c (TkCreateMainWindow, Tk_DestroyWindow): Added
	calls to set up and tear down the style subsystem.

	* generic/tk.decls, generic/tk.h: Many declarations forming TIP#48
	public interface.

	* generic/tkInt.decls (TkStylePkgInit,TkStylePkgFree): 
	* generic/tkInt.h (TkGetOptionSpec): Supporting declarations.

	* unix/, win/, win/ Added
	tkStyle.c to list of generic source files.

2002-06-18  Donal K. Fellows  <>

	* tests/defs.tcl (makeFile): Defined the return value of this
	procedure to be the filename of the created file, as in the real
	tcltest package...

2002-06-17  Mo DeJong  <>

	* generic/tkImage.c (Tk_ImageObjCmd, DeleteImage): Call
	Tcl_Preserve and Tcl_Release for the masterPtr->winPtr
	window to avoid accessing memory that had already
	been deallocated in DeleteImage.

2002-06-17  David Gravereaux <>

	Trims to support the removal of RESOURCE_INCLUDED from rc
	scripts from Tcl's accepted FR #565088.

	* generic/tk.h: Changed RESOURCE_INCLUDED to be RC_INVOKED
	as the RC tool defines this already by default.

	* win/rc/tk.rc:
	* win/rc/wish.rc: removed the #define RESOURCE_INCLUDED lines.

2002-06-17  Jeff Hobbs  <>

	* unix/ (dist): correct installation of
	wish.exe.manifest to DISTDIR target directory.

	* generic/tkCmds.c (Tk_TkObjCmd): 
	* generic/tkInt.h (struct TkCaret): 
	* mac/tkMacXStubs.c (Tk_SetCaretPos): 
	* unix/tkUnixKey.c (TkpGetString, Tk_SetCaretPos): 
	* win/tkWinX.c (Tk_SetCaretPos): 
	* tests/tk.test:        Added 'tk caret' implementation of TIP#96
	* doc/SetCaret.3 (new): which adds a TkCaret structure element to
	* doc/tk.n:             TkDisplay for maintaining state.

	* unix/tkUnixSend.c (TkSendCleanup): special cleanup of
	inputContext to avoid bug in XCloseIM. (dejong)

2002-06-17  Don Porter <>

	* library/msgs/en_gb.msg:  Added catalog for UK English.
	Currently includes only Color -> Colour translation.

2002-06-17  D. Richard Hipp  <>

	* doc/checkbutton.n:
	* doc/radiobutton.n:
	* generic/tkButton.c:
	* generic/tkButton.h:
	* mac/tkMacButton.c:
	* tests/button.test:
	* unix/tkUnixButton.c:
	* win/tkWinButton.c: Implementation of TIP#82 - Added the
	-offrelief option to checkbutton and radiobutton.

2002-06-14  Mo DeJong  <>

	* generic/tkWindow.c (Tk_DestroyWindow): Set the pathName
	component of a window to NULL after its memory has been
	deallocated to avoid a possible illegal memory access
	as a result of a call to Tk_PathName() on a Tk_Window
	structure of a window that has already been destroyed.
	[Tk bug 521946]

2002-06-14  Mo DeJong  <>

	* generic/tkOption.c (Tk_GetOption): Allocate
	memory with ckalloc not malloc. This keeps
	Tk from erroring out when built with

2002-06-14  Jeff Hobbs  <>

	* generic/tkBind.c (HandleEventGenerate): 
	* generic/tkInt.h: changed warpInProgress boolean from int to a
	bit in the flags variable (TK_DISPLAY_IN_WARP)

	* generic/tkCmds.c (Tk_TkObjCmd): 
	* unix/tkUnixKey.c (TkpGetString): 
	* generic/tkEvent.c (Tk_HandleEvent): 
	* generic/tkInt.h: changed useInputMethods boolean from int to a
	bit in the flags variable (TK_DISPLAY_USE_IM)

	* generic/tkInt.h:
	* generic/tkCmds.c (Tk_WmObjCmd): 
	* unix/tkUnixWm.c (Tk_WmCmd): 
	* win/tkWinWm.c (Tk_WmCmd): changed wmTracing from being an int to
	just a bit in the flags variable (TK_DISPLAY_WM_TRACING)

	* generic/tkEvent.c (Tk_HandleEvent): 
	* unix/tkUnixEvent.c (OpenIM): 
	* unix/tkUnixKey.c (TkpGetString): 
	* generic/tkInt.h: added TK_DISPLAY_XIM_SPOT flag bit for TkDisplay
	and used this to allow a runtime check to see if over-the-spot XIM
	is possible.  If not it will try and fallback to the old-style
	input context, which handles things like dead keys input.

	* generic/tk.decls:     added TIP #84 implementation that adds a
	* generic/tkDecls.h:    Tk_CollapseMotionEvents API which controls
	* generic/tkEvent.c:    Tk's collapsing of incoming motion events
	* generic/tkInt.h:      on its windows.  The default remains to do
	* generic/tkStubInit.c: collapsing.  Added a flags parameter to the
	* generic/tkWindow.c:   internal display structure to support this
	* doc/QWinEvent.3:      and be used in the future for other bits.
	                        [Tk patch 564642]

	* unix/mkLinks: updated from current docs

2002-06-14  Mo DeJong  <>

	* generic/tkEvent.c (TkXErrorHandler): Declare static
	function to avoid compiler error with VC++.
	* generic/tkBind.c (ExpandPercents): Cast argument to
	Tk_GetAtomName in order to avoid compiler warning.

2002-06-14  Joe English  <>

	* doc/bind.n:
	* generic/tk.h:
	* generic/tkBind.c:
	* generic/tkCanvWind.c:
	* generic/tkCmds.c:
	* generic/tkEvent.c:
	* generic/tkFocus.c:
	* generic/tkGrab.c:
	* generic/tkGrid.c:
	* generic/tkImage.c:
	* generic/tkPack.c:
	* generic/tkPlace.c:
	* generic/tkPointer.c:
	* generic/tkTextWind.c:
	* generic/tkWindow.c:
	* mac/tkMacSubwindows.c:
	* mac/tkMacWindowMgr.c
	* mac/tkMacWm.c:
	* unix/
	* unix/tkUnixEmbed.c:
	* unix/tkUnixWm.c:
	* win/tkWinScrlbr.c:
	* win/tkWinWindow.c:
	* win/tkWinWm.c: Implementation of TIP #47 by Neil McKay
	"Modifying Tk to Allow Writing X Window managers".
	Add CirculateRequest, Create, MapRequest, ResizeRequest, 
	and ConfigureRequest event types;
	TK_WIN_MANAGED, and TK_TOP_HIERARCHY. [Tk patch 572978]

2002-06-14  Andreas Kupries  <>

	* unix/tkAppInit.c: Removed now unneeded and erroneous reference
	  to 'matherr'. See Tcl ChangeLog entry 2002-05-31 Don Porter.

2002-06-14  David Gravereaux <>

	* win/ The test for compiler optimizations was in error.
	Thanks goes to Roy Terry <> for his
	assistance with this.

2002-06-14  Donal K. Fellows  <>

	Implement TIP 98  [Tk patch 566765]
	* doc/FindPhoto.3, generic/tk.h, generic/tk.decls:
	* generic/tkImgPhoto.c: Changed *_Old to *_NoComposite and
	following a suggestion from Don Porter. 

	* tests/imgPhoto.test: Added tests of -compositingrule

	* doc/photo.n: Added documentation for "-compositingrule".
	* generic/tkImgPhoto.c (ImgPhotoCmd, ParseSubcommandOptions): New
	"-compositingrule" option for [$photo copy] subcommand, using
	OPT_COMPOSITE flag and compositingRule field in SubcommandOptions

	* doc/FindPhoto.3: Documented the extra argument for the
	compositing rule and the action to take if anyone wants to
	maintain total backward-compatability.

	* generic/tk.h (TK_PHOTO_COMPOSITE_*): Defined values for use as
	compositing rules. 
	(USE_OLD_PHOTO_PUT_BLOCK): Added a way for users to select the old
	interface to Tk_PhotoPutBlock to provide an easier upgrade path.

	* generic/tk.decls: Alter Tk_PhotoPut*Block to Tk_PhotoPut*Block_Old
	and introduce new slots for the old name of function with an extra
	argument at the end for the compositing rule.

	* generic/tkImgPhoto.c (ImgPhotoCmd): Updated "transparency set"
	subcommand to use TkSubtractRegion().

	* win/tkWinRegion.c (TkSubtractRegion): 
	* mac/tkMacRegion.c (TkSubtractRegion): 
	* generic/tkInt.decls (TkSubtractRegion): 
	* unix/tkUnixPort.h (TkSubtractRegion): Added function to perform
	the set-difference operation on regions; it seems all platforms
	can support it, and it makes removing rectangular bits from
	regions much easier.

	* generic/tkImgPPM.c (FileReadPPM): Reading a PPM/PGM always uses
	the SET compositing rule because it is faster and the format does
	not have any transparency information.

	* generic/tkImgGIF.c (FileReadGIF): Reading a GIF always uses the
	SET compositing rule because GIF files model transparency as a
	single special colour.

	* generic/tkImgPhoto.c (Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock):
	Added a compositing rule to allow better control over what happens
	to transparent pixels when inserting data into a photo image.

2002-06-13  Mo DeJong  <>

	* tests/winfo.test: Add basic tests for winfo ismapped.

2002-06-13  Mo DeJong  <>

	* tests/unixWm.test:
	* tests/wm.test: Move wm minsize and wm maxsize
	usage tests into the cross platform wm tests.

2002-06-13  Don Porter <>

	* tests/cursor.test:  corrected error after cursor-2.2.
	* tests/defs.tcl: Added enhancements to Tk's fake version of
	tcltest required by recent cursor.test changes.

2002-06-13  Donal K. Fellows  <>

	* tests/cursor.test (cursor-2.[34]): Tests added to ensure that
	cursor specs really are well-behaved lists.  Also some general
	* win/tkWinCursor.c (TkGetCursorByName): Undone Jeff's back-off
	and fixed things so that they should work now.  Cursor specs are
	lists first and foremost.

2002-06-12  Mo DeJong  <>

	* changes: Clearly label wm transient changes as
	* doc/wm.n: Remove "some window managers will" text
	and explicitly state what behavior a transient
	window will display. Also mention that it is an
	error to make a window a transient of itself.

2002-06-12  Mo DeJong  <>

	* library/choosedir.tcl (tk::dialog::file::chooseDir):
	* library/clrpick.tcl (tk::dialog::file::chooseDir):
	* library/msgbox.tcl (tk::MessageBox):
	* library/tkfbox.tcl (tk::dialog::file):
	* library/xmfbox.tcl (tk::MotifFDialog): Remove the
	transient property on dialogs after they have been
	dismissed to insulate them from further state changes
	in the master. This keeps a withdrawn dialog from
	being mapped when the master is deiconified. [Tk patch 568278]

2002-06-12  Jeff Hobbs  <>

	* win/tkWinCursor.c (TkGetCursorByName): reverted fix from
	2002-06-06 because it broke the ability to use built-in cursors
	like left_ptr.

2002-06-12  Mo DeJong  <>

	* library/choosedir.tcl (tk::dialog::file::chooseDir):
	* library/clrpick.tcl (tk::dialog::color):
	* library/dialog.tcl (tk_dialog):
	* library/msgbox.tcl (tk::MessageBox):
	* library/tkfbox.tcl (tk::dialog::file):
	* library/xmfbox.tcl (tk::MotifFDialog_Create):
	Only make the dialog window a transient if
	the master is visible. This check already
	appeared in some of the dialogs. This patch
	just copies the check into those that were
	lacking. [Tk patch 568253]

2002-06-12  Mo DeJong  <>

	* changes: Add note about new transient behavior.
	* tests/unixWm.test: Check that the WM_TRANSIENT_FOR
	property for a transient window is being cleared
	when the master is destroyed.
	* tests/wm.test: Source defs.tcl instead of using
	tcltest to match the rest of Tk's test files.
	Add new tests that ensure that a transient's state
	mirrors the state of the master.
	* unix/tkUnixWm.c (WmInfo, TkWmNewWindow, TkWmMapWindow,
	TkWmDeadWindow, Tk_WmCmd, WmWaitMapProc): Add numTransients
	member to WmInfo structure. Keep state of master and
	transient in sync using a callback that tracks MapNotify
	and UnmapNotify events. When the master is mapped, map
	the transient. When the master is unmapped or iconified,
	withdraw the transient.
	* win/tkWinWm.c (TkWmMapWindow, TkpWmSetState,
	TkWmDeadWindow, Tk_WmCmd, WmWaitVisibilityOrMapProc):
	Keep state of master and transient in sync using a
	callback that tracks MapNotify and UnmapNotify events.
	Move masterPtr check from TkpWmSetState into TkWmMapWindow
	to deal with WM_NEVER_MAPPED transients. Cleanup
	numTransients and the callback in TkWmDeadWindow.
	Cleanup numTransients and the callback only after
	deleting a master in wm transient command to avoid
	deleting the callback when an error is raised.
	Add support for MapNotify and UnmapNotify events
	to the master callback. [Tk patch 561708]

2002-06-11  Joe English  <>

	* library/menu.tcl: fix for bug report #530212 "Bad Window Path 
	  Name in tkMenuFind"

2002-06-10  David Gravereaux <>

	* win/ Fixed a win98 issue where the /exclude option
	for xcopy is unsupported.
	Reported by Roy Terry <>.

2002-06-10  Anton Kovalenko <>

	* library/tk.tcl: added utility functions to get "-underline" and 
	"-text" for labels and buttons from translatable string containing 
	"magic ampersand" [patch #566605]
	* library/clrpick.tcl:
	* library/msgbox.tcl:
	* library/tkfbox.tcl:
	* library/xmfbox.tcl: some places where msgcat is used to get
	translated label are modified to handle labels with magic ampersand.
	* library/msgs/ru.msg: russian translations added
	* library/msgs/cs.msg:
	* library/msgs/de.msg:
	* library/msgs/el.msg: 
	* library/msgs/es.msg:
	* library/msgs/fr.msg:
	* library/msgs/it.msg:
	* library/msgs/nl.msg: all translation files now have labels with
	'magic ampersand' where appropriate. In el.msg some ampersands are
	missing, as I don't know which underline positions seems natural
	to "el" users.

2002-06-09  Mo DeJong  <>

	* library/bgerror.tcl (tk::dialog::error::bgerror):
	Don't set the bgerror dialog as a transient of
	itself since this operation is ill defined.

2002-06-06  Donal K. Fellows  <>

	* win/tkWinCursor.c (TkGetCursorByName): Fixed so that the reading
	of cursors from a file with a cursor spec was built using [list]
	works when the file has a space in instead of requiring fiddling
	with backslashes.

2002-06-06  Anton Kovalenko <>

	* library/msgbox.tcl (MessageBox): Add -default normal
	when creating non-default buttons for message box.
	They already get -default normal when they're 
	unfocused, and dialog window size used to change suddenly
	in such cases.

2002-06-05  Anton Kovalenko <>

	* unix/tkUnixFont.c (Tk_DrawChars): Don't assume that
	one char is always one byte, and that required 
	subfont for the last character in any string is 
	the same as for the previous character 
	[Bug #559435] [Patch #559437]

2002-05-27  Mo DeJong  <>

	* changes: Document [wm transient .t .t] error.
	* tests/wm.test: Check that setting a window
	as a transient of itself raises an error. Check
	that passing a non-toplevel window to the wm
	transient command uses the enclosing toplevel.
	* unix/tkUnixWm.c (Tk_WmCmd): Raise an error
	if the user tries to make a toplevel a
	transient of itself.
	* win/tkWinWm.c (Tk_WmCmd): Raise an error
	if the user tries to make a toplevel a
	transient of itself. Test for other error
	before checking for the transient self error.

2002-05-27  Mo DeJong  <>

	* unix/tkUnixWm.c (WmInfo, TkWmCleanup, TkWmNewWindow,
	TkWmMapWindow, TkWmDeadWindow, Tk_WmCmd): Replace
	WmInfo's master and masterWindowName members with
	a masterPtr member. This implementation is much
	simpler and mirrors the Win32 implementation. This
	change makes it easy to check the flags of the
	master window. No user visible changes.

2002-05-27  Mo DeJong  <>

	* generic/tkInt.decls: Add unix decl for TkpWmSetState.
	* generic/tkIntPlatDecls.h: Regen.
	* generic/tkStubInit.c: Regen.
	* tests/wm.test: Test state changes between iconic,
	normal, and withdrawn both before and after initial
	* unix/tkUnixWm.c (Tk_WmCmd, TkpWmSetState): Move
	state change code into TkpWmSetState to more closely
	match the Win32 implementation. No user visible changes.

2002-05-27  Mo DeJong  <>

	* tests/embed.test: Added cross platform embed tests.
	Check that window passed to -use has the -container
	option set.
	* tests/wm.test: Remove useless catch call. Deiconify
	. just in case, stackorder tests will not pass unless
	it is in the normal state. Add -container flag to
	embedded stackorder test.
	* unix/tkUnixEmbed.c (TkpUseWindow):
	* win/tkWinEmbed.c (TkpUseWindow): Lookup Tk window
	based on the id passed in as the value for -use.
	Generate an error if the Tk window did not have
	the -container option set.

2002-05-26  Peter Spjuth <>

	* generic/tkButton.c (ConfigureButton): When creating
	a radiobutton with -value "" it was not drawn properly
	if the -variable was created by the radiobutton.
	[Bug #548765]

2002-05-26  Peter Spjuth <>

	* generic/tkCanvText.c (ComputeTextBbox): Negative
	coordinates were rounded badly causing a 1 pixel
	displacement. [Bug #556526]
2002-05-24  Mo DeJong  <>

	* mac/tkMacWm.c (Tk_WmCmd):
	* tests/unixWm.test: Move wm transient checks over
	to wm.test so they will be run on all systems.
	* tests/wm.test: Add tests to check for error when
	an iconwindow is passed to the wm transient command.
	* unix/tkUnixWm.c (Tk_WmCmd):
	* win/tkWinWm.c (Tk_WmCmd): Raise an error if one
	of the windows passed to the wm transient command
	is an iconwindow for another toplevel.

2002-05-23  Mo DeJong  <>

	* mac/tkMacWm.c (TkWmStackorderToplevelWrapperMap):
	* tests/wm.test: Add embedded Window test case for
	the stackorder command.
	* unix/tkUnixWm.c (TkWmStackorderToplevelWrapperMap):
	* win/tkWinWm.c (TkWmStackorderToplevelWrapperMap):
	Ignore embedded windows during wm stackorder command.

2002-05-21  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/ Invoke SC_ENABLE_SHARED before
	calling SC_CONFIG_CFLAGS so that the SHARED_BUILD
	variable can be checked inside SC_CONFIG_CFLAGS.
	* unix/tcl.m4: Update from Tcl.

2002-05-20  Don Porter  <>

	* library/tk.tcl:  A little namespace cleanup on Daniel Steffen's
	latest revisions to avoid defining new global commands.

2002-05-20  Daniel Steffen  <>

	* mac/tkMacInit.c:
	* mac/tkMacTclCode.r: include msgcat package in resources
	as bgerror depends on it. Restores ability of mac static
	build to run standalone (except for encoding file issues).

	* mac/tkMacInit.c:
	* library/console.tcl:
	* library/tk.tcl: fix tk.tcl not sourcing library files
	that define bindings at startup on mac. (independent of
	tk library files being in resources or on auto_path)

2002-05-08  Don Porter  <>

	* library/bgerror.tcl:
	* library/tclIndex:  Cleaned up namespace usage of the bgerror
	dialog.  Completes soft dependence on msgcat.  [FR 539309]

2002-05-07  David Gravereaux  <>
	* win/ Problem with TCLDIR macro not accepting
	forward slash path seperators resolved.  Added the same logic
	to INSTALLDIR, too. [Bug #553208]

2002-04-26  Jeff Hobbs  <>

	* unix/configure:
	* unix/tcl.m4: change HP-11 SHLIB_LD_LIBS from "" to ${LIBS} so
	that the .sl knows its dependent libs.

2002-04-24  Daniel Steffen  <>

	* mac/tkMacTclCode.r:
	* mac/tkMacResource.r: added check of
	TCLTK_NO_LIBRARY_TEXT_RESOURCES #define to allow disabling the
	inclusion of the tk library code in the resource fork of Tk
	executables and shared libraries.
	Moved tk library code inclusion to separate file like in tcl.
	Added 'panedwindow' resource.

2002-04-22  Jeff Hobbs  <>

	* library/button.tcl (ButtonLeave): corrected the 3
	implementations of ButtonLeave to check for Priv(relief) existing
	before trying to use it. [Patch #541849]

	* generic/tkTextDisp.c (DisplayLineBackground): 
	* unix/tkUnix3d.c (Tk_3DHorizontalBevel): 
	* unix/tkUnixFont.c (Tk_DrawChars): applied fixes to not overrun
	the X window 16-bit size limit. [Patch #541999] (bonfield)

2002-04-22  Donal K. Fellows  <>

	* generic/tkTextDisp.c (GetXView, GetYView): Comparison with
	previous values of scrollbar range are now done in a way that is
	sensitive to the bizarreness of floating-point on architectures
	where IEEE-FP is not used on the processor.  Also increased the
	size of the temporary buffer to take account of the fact that
	TCL_DOUBLE_SPACE is meant to only imply enough space to take a
	printed double and trailing '\0', and no more.  [Bug #223739]
	(FP_EQUAL_SCALE): New macro to help compare floating-point numbers
	for equality in a sane way, used in GetXView and GetYView.

2002-04-12  Jeff Hobbs  <>

	* generic/tkWindow.c (TkCloseDisplay): Added to centralize where a
	display was closed.  This handles freeing memory associated with a
	display and closing it.
	(DeleteWindowsExitProc): actually close displays.  This would also
	ideally be done in Tk_DestroyWindow when the last window on the
	display has been closed, but that still has unresolved order of
	cleanup problems.
	(Tk_DestroyWindow): added TkFocusFree call.

	* generic/tkStubInit.c:
	* generic/tkIntPlatDecls.h:
	* generic/tkIntDecls.h:
	* generic/tkInt.decls: added TkFocusFree, TkClipCleanup and
	TkGCCleanup generic private procs, and TkWmCleanup, TkSendCleanup
	and TkFreeXId unix private procs.

	* generic/tkInt.h:
	* unix/tkUnixXId.c (TkFreeXId): frees XID resources.
	Made idCleanupScheduled a Tcl_TimerToken (was int) in TkDisplay
	structure to allow us to delete the timer scheduled for it.

	* unix/tkUnixWm.c (TkWmStackorderToplevel): ensure children
	structure is freed.
	(ConfigureEvent, ComputeReparentGeometry): Add extra wm tracing info
	(TkWmRestackToplevel): initialize changes to 0 to prevent UMR.
	Use WaitForConfigureNotify on all windows.  This part still
	requires fixing as it is the root of the 2 second raise delay on
	some window managers (those that use extra wrapper windows of
	their own).

	* unix/tkUnixSend.c (TkSendCleanup): free send-related resources

	* unix/tkUnixEvent.c (TkpCloseDisplay): call TkSendCleanup and

	* unix/tkUnixSelect.c (SelRcvIncrProc): added missing Tcl_Release
	of interp

	* generic/tkGet.c (FreeUidThreadExitProc): free thread-specific
	resources on thread exit

	* generic/tkFocus.c (TkFocusFree): frees TkMainInfo data
	* generic/tkClipboard.c (TkClipCleanup): frees TkDisplay data
	* generic/tkGC.c (TkGCCleanup): frees TkDisplay data

	* unix/tkUnixFont.c (FontPkgCleanup): cleanup thread specific font
	resources on thread exit.

	* mac/tkMacXStubs.c (TkpOpenDisplay): memset the initial display
	structures to 0.

	* generic/tkOption.c (OptionThreadExitProc): freed tsd option
	stacks on thread exit.
	(Tk_GetOption): free mem used to get Tk_Uid

	* generic/tkMenu.c (ConfigureMenu): freed saved options in all
	error cases.

	* win/tkWinInt.h: declaration for TkWinGetUnicodeEncoding
	* win/tkWinDialog.c (GetFileNameW): use TkWinGetUnicodeEncoding
	* win/tkWinInit.c (TkpDisplayWarning): use TkWinGetUnicodeEncoding
	* win/tkWinFont.c: use TkWinGetUnicodeEncoding instead of static

	* win/tkWinX.c (Tk_SetCaretPos): remove WM_IME_STARTCOMPOSITION
	and place the IME position within Tk_SetCaretPos.  Cache results in
	Tk_SetCaretPos to reduce unnecessary repositioning.  Also call
	DestroyCaret if we receive WM_KILLFOCUS.
	(TkpOpenDisplay): ZeroMemory the initial display structures.
	(TkWinGetUnicodeEncoding): Added so that Windows only needs to
	cache this value one, and then free it in TkWinXCleanup.
	(HandleIMEComposition): add support for Win98 and ATOK13
	IME. (yamamoto)

	* generic/tkConsole.c (ConsoleCmd): correct return that should
	have just set result code.

	* generic/tkImgPhoto.c: Added PhotoFormatThreadExitProc to clean
	up on thread exit. (Tk_PhotoPutBlock) slight code updates

	* generic/tkPanedWindow.c (DestroyPanedWindow, ConfigureSlaves):
	fix mem leaks in not freeing slave info

	* win/configure:
	* win/tcl.m4: Enabled COFF as well as CV style debug info with
	--enable-symbols to allow Dr. Watson users to see function info.
	More info on debugging levels can be obtained at:

2002-04-10  Mo DeJong  <>

	* doc/wm.n:
	* mac/tkMacWm.c:
	* tests/wm.test:
	* unix/tkUnixWm.c:
	* win/tkWinWm.c: Update wm stackorder usage message
	to make it clear that either 1 or 3 arguments are
	required. [Bug 540013]

2002-04-08  Daniel Steffen  <>

	* mac/tkMacProjects.sea.hqx: added tkPanedWindow.c to projects
	* mac/tkMacAppInit.c: fixes to MSL stdin/stdout hookup to the
	TkConsole when using shared MSL libraries; fix for crashing
	bug on exit: writing to stdin/sterr when console has already
	been destroyed. (both fixes need support in MSL, see 
	'CW Pro6 changes' in tcl/mac/tcltkMacBuildSupport.sea.hqx)
	* mac/tkMacDialog.c: fixes to Navigation Services Dialog filter.
	* mac/tkMacDraw.c: add panic for overwide TkImages that would
	crash Tk on mac otherwise.

2002-04-05  Jeff Hobbs  <>

	* mac/tkMacXStubs.c: added Tk_SetCaretPos stub (does nothing).
	* win/tkWinX.c: added Tk_SetCaretPos code to position IME windows
	correctly when WM_IME_STARTCOMPOSITION is received.
	* unix/tkUnixKey.c: added Tk_SetCaretPos and code for setting
	XIM caret in TkpGetString.

	* generic/tkStubInit.c:
	* generic/tkDecls.h:
	* generic/tk.decls: added Tk_SetCaretPos declaration.  This command
	allows users to indicate the cursor position and is used by XIM
	(Unix) or IME (Windows) to place the caret box correctly.  It is
	also part of correct Accessibility style on Windows to make the
	magnifier jump to the focus point.

	* win/tkWinButton.c (TkpDisplayButton): 
	* generic/tkTextMark.c (TkTextInsertDisplayProc):
	* generic/tkCanvText.c (DisplayCanvText):
	* generic/tkEntry.c (DisplayEntry): added Tk_SetCaretPos calls

	* generic/tkInt.h: added TK_XIM_SPOT #define (default 1).
	Added XFontSet attribute to TkDisplay when TK_XIM_SPOT is true.
	* generic/tkEvent.c (Tk_HandleEvent): made sure inputContexts are
	not getting created on DestroyNotify events (for dead windows).
	Added over-the-spot support if TK_XIM_SPOT is defined (default).
	The is the nicer XIM behavior, but uses a bit more memory.

	* unix/tkUnixEvent.c:
	* generic/tkWindow.c: moved OpenIM over to tkUnixEvent.c.
	Removed setting inputContext to null in Tk_MakeWindowExist as it
	was redundant.

	* unix/tkUnixWm.c (CreateWrapper): Removed redundat setting of
	inputContext to null.

	* win/ changed gdb and shell targets to properly build
	all binaries before running (otherwise an error often occured).

2002-03-28  David Gravereaux <>

	* win/.cvsignore (new):
	* win/lamp.bmp (new):
	* win/
	* win/nmakehlp.c (new):
	* win/  Brought the makefile up-to-date with Tcl's one.
	This now has support for Win9x issues and the winhelp target now
	exists.  Color scheme can be changed.  I'm just imparting a first
	suggestion using orange :)  I'll have to think about the install
	portion of the helpfile as I'll need to do some tricks to insert
	tk's contents file into Tcl's using some special winhlp32.exe
	switches.  [Bug 533862 527941]

	* win/  Tk helpfile is now installing itself into Tcl's
	contents file as part of the install target and rebuilding the
	contents table as desired.  [Bug 527941]

	* doc/console.n:  Changed topic from "Tcl Built-In Commands" to
	"Tk Built-In Commands"

	* win/  Update to match Tcl.

2002-03-26  Andreas Kupries  <>

	* unix/tkUnixFont.c: Added inclusion of <arpa/inet.h>. This fixes
	  a GCC/HPUX problem with missing a "htons". See also
	  "tclUnixPort.h" for equivalent code.

2002-03-21  David Gravereaux <>

	* win/ Changed optimize flag to -0ti instead of -02.
	[Bug 528441]

2002-03-20  Don Porter  <>

	* generic/tkButton.c (ButtonTextVarProc,ButtonVarProc): 
	* generic/tkCmds.c (WaitVariableProc):
	* generic/tkEntry.c (EntryTextVarProc):
	* generic/tkListbox.c (ListboxListVarProc):
	* generic/tkMenu.c (MenuVarProc):
	* generic/tkMenubutton.c (MenuButtonTextVarProc): 
	* generic/tkMessage.c (MessageTextVarProc): 
	* generic/tkScale.c (ScaleVarProc): Updates to handle change in
	type of part2 argument of Tcl_VarTraceProc typedef. [TIP 27]
	[Patch 532644].

2002-03-19  Jeff Hobbs  <>

	* generic/tkOldConfig.c (Tk_ConfigureValue): prevent leaving
	interp->result as NULL.

2002-03-07  Donal K. Fellows  <>

	* library/text.tcl (TextPasteSelection): Renaming of TextPaste to
	prevent confusion with tk_textPaste.  Stopped code from inserting
	selections twice, which seems to have happened with TIP#26, and
	reorganized code to reduce amount of stuff protected by catch
	which is tricky to maintain.
	(tk_textPaste): Reduce amount of code protected by catch.

2002-03-06  Mo DeJong  <>

	* win/tkWinX.c: Define _WIN32_IE as 0x0300
	before including commctrl.h so that we can
	access the InitCommonControlsEx API when
	building Tk with mingw.

2002-03-06  Donal K. Fellows  <>

	* README, generic/tk.h, unix/, unix/tk.spec:
	* win/ Bumped patchlevel; this might need to change
	in the future, but it will help us distinguish between the CVS
	version and the most recent released version.

2002-03-05  Jeff Hobbs  <>

	*** 8.4a4 TAGGED FOR RELEASE ***

	* unix/README: updated --* options docs.

	* unix/tk.spec: fixed URL refs to use or SF.

2002-03-04  Jeff Hobbs  <>

	* mac/README: 
	* unix/README: 
	* win/README: updated to use URL.

2002-03-03  Jeff Hobbs  <>

	* library/entry.tcl: added catch around Triple-1 binding use of

2002-02-28  Don Porter  <>

	* library/console.tcl (ConsoleBind): Corrected console <<Paste>>
	binding on Unix platforms.

2002-02-26  Jeff Hobbs  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.

	* generic/tkWindow.c (Tk_MainWindow, Tk_GetNumMainWindows):
	protect against being called before Tcl stubs are init'ed.
	[Bug #220916] (porter)

2002-02-25  Jeff Hobbs  <>

	* generic/tkText.c (ConfigureText): reenable the blinking cursor
	on state change where necessary. [Bug #503772]

	* tests/listbox.test:
	* generic/tkListbox.c: corrected error handling when setting to an
	invalid listvar value. [Bug #503613]

	* library/scale.tcl: mirror B2 bindings to B3 on Windows to better
	accomodate two button mice. [Patch #493145]

	* library/panedwindow.tcl: improved proxy sash handling. (boudaillier)

2002-02-25  Donal K. Fellows  <>

	* tests/filebox.test: Reorganised and fixed so that tests are
	executed fewer times (!) and the automatic extension adding
	behaviour of tk_getSaveFile is tested.

2002-02-23  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.

2002-02-22  Jeff Hobbs  <>

	* generic/tkPanedWindow.c (PanedWindowWidgetObjCmd): fixed returns
	that should have been breaks instead.  Corrected .pw configure
	handling for insufficient args.  [Patch #521436] (boudaillier)

	* mac/tkMacDefault.h:
	* unix/tkUnixDefault.h:
	* win/tkWinDefault.h: changed panedwindow default relief to flat,
	a more natural outer relief.

	* library/panedwindow.tcl (ReleaseSash): changed to not pass x and
	y args at all (they aren't used).
	Added proc comments.  Made configuring sash cursor more efficient.
	Added Cursor timer that restores the default cursor when pointer
	is no longer over the sash.  This is necessary because Leave
	events won't be seen when moving into a paned child.

2002-02-22  Donal K. Fellows  <>

	* library/demos/widget: New section "Paned Windows"
	* library/demos/paned2.tcl, library/demos/paned1.tcl: New files.

	* library/panedwindow.tcl (ReleaseSash): Added missing arguments.
	* library/tk.tcl: Bindings for paned window were not being loaded
	by default.

	* unix/tkUnixMenu.c (GetMenuLabelGeometry,DrawMenuEntryLabel):
	Stop meaningless GCC warnings.

2002-02-21  Jeff Hobbs  <>

	* doc/panedwindow.n (new):
	* generic/tkPanedWindow.c (new):
	* generic/tkInt.h:
	* generic/tkWindow.c:
	* library/panedwindow.tcl (new):
	* mac/tkMacDefault.h:
	* tests/panedwindow.test (new):
	* unix/
	* unix/tkUnixDefault.h:
	* win/
	* win/
	* win/tkWinDefault.h: added implementation of TIP #41, panedwindow
	widget. [Patch #512503] (melski)

	* generic/tkOption.c (ReadOptionFile): fixed Tcl_Seek casting to
	remove warnings (we expect no option files with be > 2GB).

	* unix/configure: regenerated
	* unix/tcl.m4: updated to sync with Tcl's tcl.m4
	Added --enable-64bit support for AIX-4 using IBM's xlc (-q64 flag).

2002-02-19  Don Porter  <>

	* changes: First draft of updated changes for 8.4a4 release.

2002-02-19  Donal K. Fellows  <>

	* generic/tkImgPhoto.c (MatchFileFormat):  Tcl_Seek takes
	Tcl_WideInt offset (three places.)
	* generic/tkImgPPM.c (FileReadPPM): Tcl_Seek takes Tcl_WideInt offset.
	* generic/tkFrame.c (ConfigureFrame): Stop GCC warning.

	* generic/tkImgGIF.c: Made file meet the formatting rules from the
	Tcl Engineering Manual better; mostly differences in whitespace.

2002-02-18  Jeff Hobbs  <>

	* unix/configure: regen'd
	* unix/tcl.m4:
	* unix/ added macros and calls to SC_TCL_EARLY_FLAGS
	and SC_TCL_64BIT_FLAGS, part of TIP #72.

2002-02-14  Mo DeJong  <>

	* library/entry.tcl:
	* library/text.tcl: Adjust <Double-1> and <Triple-1> bindings
	so that no anchor point is set and the insertion cursor is
	set to the last character in the selection. [Bug 220943]
	* tests/event.test: Add test cases for double click and
	drag as well as triple click and drag in the text and
	entry widgets.

2002-02-14  Mo DeJong  <>

	* tests/event.test (_text_ind_to_x_y, _get_selection): Fix
	incorrect use of results from bbox invocation so that
	y center point for a give index is calculated correctly.
	Add new method to return the selection and use it in
	test cases. Always lappend to the result list to avoid
	case where initial result includes a space.

2002-02-07  Don Porter  <>

	* generic/tkMain.c:
	* mac/tkMacInit.c:
	* mac/tkMacKeyboard.c:
	* win/tkWinDialog.c:
	* win/tkWinTest.c: modified some callers of Tcl routines that
	were restored to return (char *) pointing into Tcl_DStrings.

2002-02-03  eric melski  <>

	* generic/tkImage.c (Tk_ImageObjCmd): Clean up bogus for loop in
	[image inuse] subcommand [Bug #485803].

2002-02-01  Jeff Hobbs  <>

	* generic/tkCmds.c (Tk_TkObjCmd): don't use 'bool' as an arg as it
	conflicts with the C99 spec. [Bug #511956] (ingham)

2002-02-01  David Gravereaux <>

	* win/ unset macro located in the tktest target
	caused a failure to build.  [Bug 511652]

2002-01-30  Don Porter  <>

	* win/stubs.c (XSetCommand):  Overlooked CONSTification.

2002-02-01  Donal K. Fellows  <>

	* doc/photo.n: Documented transparency subcommand.
	* tests/imgPhoto.test (imgPhoto-4.40...imgPhoto-4.68): Tests for
	the transparency subcommand.
	* generic/tkImgPhoto.c (ImgPhotoCmd): Added transparency
	subcommand (see TIP #14.)

2002-01-31  Todd Helfter <>
	* generic/tkMenu.c (ConfigureMenuCloneEntries)
	* tests/menu.test (menu3.68)
	Correct and test for logic error when cloning menus. [Bug #508988]

2002-01-30  Don Porter  <>

	* generic/tk.decls:  The POTENTIAL INCOMPATIBILITY in the changing
	interface of Tk_ParseArgv can now be removed by the -DUSE_NON_CONST
	compiler flag.
	* generic/tkDecls.h: make genstubs

2002-01-29  Andreas Kupries  <>

	* win/tkWinInit.c (TkpGetAppName): TIP 27 fixup. The code now does
	  not write into the CONST path returned by "argv0" and
	  Tcl_SplitPath anymore.

2002-01-28  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/ Don't set TCL_LIB_SPEC and
	TCL_STUB_LIB_SPEC variables since this breaks
	the AIX build. This was used in the past to
	support linking with Tcl from the build dir
	or the install dir, but it is no longer needed.

2002-01-28  Mo DeJong  <>

	* unix/ Remove commented out vars.
	* unix/configure: Regen.
	* unix/ Don't subst vars that are already
	taken care of in SC_LOAD_TCLCONFIG.
	* unix/tcl.m4: Update from Tcl.
	* win/configure: Regen.
	* win/tcl.m4: Update from Tcl.

2001-01-27  Daniel Steffen  <>

	* generic/tkFileFilter.c:
	* mac/tkMacInit.c:
	* mac/tkMacKeyboard.c:
	* mac/tkMacMenus.c: TIP 27 CONSTification induced changes

2002-01-25  Don Porter  <>

	* All changes below are Patch 505159

	* doc/AddOption.3:
	* doc/CanvTkWin.3:
	* doc/GetPixels.3:
	* doc/Name.3:
	* doc/ParseArgv.3:
	* generic/tk.decls (Tk_AddOption,Tk_CanvasGetCoord,Tk_GetPixels,
	* generic/tkArgv.c (Tk_ParseArgv):
	* generic/tkCanvLine.c (ParseArrowShape):
	* generic/tkCanvUtil.c (Tk_CanvasGetCoord,Tk_CanvasTagsParseProc,
	* generic/tkCanvas.c (ConfigureCanvas):
	* generic/tkGet.c (Tk_GetPixels,Tk_GetScreenMM):
	* generic/tkImgPhoto.c (ImgPhotoCmd):
	* generic/tkMain.c (Tk_MainEx):
	* generic/tkOldConfig.c (FormatConfigInfo):
	* generic/tkOption.c (Tk_AddOption):
	* generic/tkText.c (TextWidgetCmd,TkTextGetTabs,DumpSegment):
	* generic/tkText.h (TkTextCreateTag):
	* generic/tkTextTag.c (TkTextCreateTag):
	* generic/tkWindow.c (Tk_NameToWindow,Initialize):
	* mac/tkMacCursor.c (FindCursorByName,TkGetCursorByName):
	* mac/tkMacWm.c (Tk_WmCmd):
	* unix/tkUnixCursor.c (TkGetCursorByName):
	* unix/tkUnixSend.c (ValidateName):
	* unix/tkUnixWm.c (Tk_WmCmd):
	* win/tkWinCursor.c (TkGetCursorByName):
	* win/tkWinWm.c (Tk_WmCmd): Updated callers of Tcl_SplitList and
	* generic/tkDecls.h: make genstubs
	Includes a source incompatibility in the argv argument of Tcl_ParseArgv.

	* generic/tkBind.c (DeleteVirtualEvent):
	* generic/tkCanvas.c (ScrollFractions, CanvasWidgetCmd,
	* generic/tkTestTag.c (TkTextTagCmd): Updated callers of
	Tcl_GetStringResult.  Rewrote PrintScrollFractions to
	ScrollFractions to stop scribbling directly on interp->result.

	* generic/tkInt.decls (TkGetDefaultScreenName, TkpDisplayWarning,
	* generic/tkCanvPs.c (Tk_PostscriptColor, Tk_PostscriptFont):
	* generic/tkEntry.c (EntrySetValue, EntryValidateChange, ExpandPercents,
	  EntryValueChanged, Tk_EntryObjCmd, DestroyEntry, ConfigureEntry,
	  EntryComputeGeometry, InsertChars, DeleteChars, EntryFetchSelection,
	  EntryTextVarProc, Tk_SpinBoxObjCmd, SpinboxWidgetObjCmd):
	* generic/tkMain.c (Prompt):
	* generic/tkMenu.c (MenuVarProc):
	* generic/tkMenubutton.c (ConfigureMenuButton, MenuButtonTextVarProc):
	* generic/tkMessage.c (ConfigureMessage, MessageTextVarProc):
	* generic/tkWindow.c (GetScreen, Initialize):
	* mac/tkMacInit.c (TkpInit, TkpDisplayWarning):
	* mac/tkMacXStubs.c (TkGetDefaultScreenName, TkpOpenDisplay):
	* unix/tkUnix.c (TkGetDefaultScreenName):
	* unix/tkUnixEvent.c (TkpOpenDisplay):
	* unix/tkUnixInit.c (TkpGetAppName, TkpDisplayWarning):
	* unix/tkUnixSend.c (SendEventProc):
	* win/tkWinInit.c (TkpGetAppName, TkpDisplayWarning):
	* win/tkWinX.c (TkGetDefaultScreenName,TkpOpenDisplay): Updated
	callers of Tcl_GetVar, Tcl_GetVar2
	* generic/tkIntDecls.h: make genstubs

	* generic/tkCanvPs.c (TkCanvPostscriptCmd):
	* generic/tkImgBmap.c (TkGetBitmapData):
	* generic/tkOption.c (ReadOptionFile):
	* mac/tkMacInit.c (TkpInit, TkpGetAppName):
	* win/tkWinInit.c (TkpGetAppName): Updated callers of
	Tcl_SplitPath, Tcl_JoinPath, and Tcl_TranslateFileName.

2002-01-18  Mo DeJong  <>

	* tests/wm.test: Rewrite stackorder tests that
	deal with toplevels that have the overrideredirect
	flag set. [Tk bug 492259]

2002-01-18  Don Porter  <>

	* win/tkWinDialog.c: Overlooked Tcl_GetIndexFromObj callers.

2001-01-18  Daniel Steffen  <>

	* mac/tkMacDialog.c:
	* mac/tkMacSend.c: TIP 27 CONSTification broke the mac
	build in a few places.

2002-01-16  Jeff Hobbs  <>

	* generic/tkListbox.c (ChangeListboxOffset): improved tracking
	when scrolling on x axis with entry/text.  [Bug #225025] (voskuil)

2002-01-16  Don Porter  <>

	* generic/tk3d.c (Tk_GetReliefFromObj): 
	* generic/tkBind.c (Tk_EventObjCmd,HandleEventGenerate): 
	* generic/tkButton.c (ButtonWidgetObjCmd): 
	* generic/tkCanvas.c (CanvasWidgetCmd,FindItems): 
	* generic/tkClipboard.c (Tk_ClipboardObjCmd): 
	* generic/tkCmds.c (Tk_BellObjCmd, Tk_TkObjCmd, Tk_TkwaitObjCmd,
	  Tk_UpdateObjCmd, Tk_WinfoObjCmd, Tk_WmObjCmd): 
	* generic/tkConfig.c (DoObjConfig): 
	* generic/tkEntry.c (EntryWidgetObjCmd, SpinboxWidgetObjCmd):
	* generic/tkFocus.c (Tk_FocusObjCmd):
	* generic/tkFont.c (Tk_FocusObjCmd, ConfigAttributesObj):
	* generic/tkFrame.c (Tk_FrameObjCmd):
	* generic/tkGet.c (Tk_GetAnchorFromObj, Tk_GetJustifyFromObj):
	* generic/tkGrab.c (Tk_GrabObjCmd):
	* generic/tkGrid.c (Tk_GridObjCmd,GridRowColumnConfigureCommand,
	  GridSlavesCommand, ConfigureSlaves):
	* generic/tkImage.c (Tk_ImageObjCmd):
	* generic/tkImgBmap.c (ImgBmapCmd):
	* generic/tkImgGIF.c (FileReadGIF):
	* generic/tkImgPhoto.c (ImgPhotoCmd):
	* generic/tkListbox.c (ListboxWidgetObjCmd, ListboxSelectionSubCmd,
	* generic/tkMenu.c (MenuWidgetObjCmd, MenuAddOrInsert, MenuCmd,
	  ConfigureMenu, CloneMenu):
	* generic/tkMenubutton.c (MenuButtonWidgetObjCmd): 
	* generic/tkMessage.c (MessageWidgetObjCmd): 
	* generic/tkOption.c (Tk_OptionObjCmd):
	* generic/tkPack.c (Tk_PackObjCmd, ConfigureSlaves):
	* generic/tkPlace.c (Tk_PlaceObjCmd):
	* generic/tkScale.c (ScaleWidgetObjCmd): 
	* generic/tkSelect.c (Tk_SelectionObjCmd): 
	* generic/tkSquare.c (SquareWidgetObjCmd): 
	* generic/tkTest.c (TestobjconfigObjCmd, TrivialConfigObjCmd,
	  TestfontObjCmd): Updates to handle change in type of tablePtr
	argument of Tcl_GetIndexFromObj(Struct) from (char **) to
	(CONST char **).  [TIP 27] [Patch 504705]

	* generic/tkCanvText.c (GetSelText):
	* generic/tkEntry.c (Entry{FetchSelection,Setvalue},ExpandPercents):
	* generic/tkSelect.c (HandleTclCommand):
	* generic/tkText.c (TextSearchCmd):
	* generic/tkTextIndex.c (TkTextMakeByteIndex, TkTextIndexBackChars):
	* mac/tkMacFont.c (Tk_MeasureChars, BreakLine):
	* unix/tkUnixMenu.c (DrawMenuUnderline):
	* win/tkWinMenu.c (GetEntryText, DrawMenuUnderline):  Updated
	callers of Tcl_Utf* and Tcl_Regexp* APIs to reflect TIP 27 API
	changes (see Tcl Patch 471509). [Patch 471513]

2002-01-16  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.
	* win/configure: Regen.
	* win/tcl.m4: Update from Tcl.

2002-01-04  Don Porter  <>

	* generic/tkMain.c (Tk_MainEx):  Updated callers of CONSTified
	Tcl interfaces Tcl_EvalFile and TclGetStartupScriptFileName.

	* generic/tkConsole.c (ConsoleOutputProc, TkConsolePrint):  
	* generic/tkInt.h (TkConsolePrint):
	* mac/tkMacAppInit.c (TkConsolePrint): Updated Tk's console to
	CONSTified channel driver interface.  [Tcl Patch 503565, Tk Patch

2002-01-11  Mo DeJong  <>

	Use ${libdir} instead of ${exec_prefix}/lib. [Tcl bug 489370]
	* unix/configure: Regen.
	* unix/ Define and use libdir.
	* win/configure: Regen.
	* win/ Define libdir.

2002-01-11  Mo DeJong  <>

	* unix/ Burn Tcl and Tk build
	directories into tktest executable to avoid crashes
	caused by ld loading a previously installed version
	of the tcl or tk shared libraries. Remove setting
	before running tktest since it should no
	longer be required.

2002-01-11  Mo DeJong  <>

	Enable use of Tcl stubs when building Tk as
	a shared library. This should fix the build
	under AIX. [Bugs 220858, 220955, 220921]

	* unix/ Add TCL_STUB_LIB_SPEC and
	TCL_STUB_LIB_FLAG variables.
	* unix/configure: Regen.
	* unix/ Pass TCL_STUB_LIB_SPEC into
	Makefile and use it when linking the tk shared library.
	Define USE_TCL_STUBS when building shared. Subst

2002-01-08  D. Richard Hipp  <>

	* win/tkWinMenu.c: Fix the following bug: If you select an entry
	on a cascade menu then the next time the parent menu is posted, the
	cascade entry was active.  Also, if you traverse to a disabled entry
	using keystrokes and press ENTER on the disabled entry, then that
	entry appears active the next time the menu is posted.  The same
	patch fixes both problems.

2002-01-04  Don Porter  <>

	* generic/tkBind.c (TkBindFree):
	* generic/tkGrid.c (ResolveConstraints,CheckSlotData,DestroyGrid):
	* generic/tkSelect.c (Tk_DeleteSelHandler,TkSelDeadWindow): Replaced
	Tcl_Free calls with ckfree so that memory debugging is fully supported.

2001-12-28  Jeff Hobbs  <>

	* test/winButton.test:
	* win/tkWinButton.c: added updated patch #463234 which returns the
	default sizing behavior (not so native), but enables native L&F
	with negative sizing (-11 for example).

	* library/text.tcl (tk::TextButton1): made text receive focus even
	in disabled state for Windows to show selection and allow
	mouse-wheel scrolling.

	* win/tkWinInit.c (TkpDisplayWarning): added Tcl_DStringFree's

	* win/tkWinInt.h:
	* win/tkWinX.c: added TkWinProcs that represent a function table
	to switch between unicode and ansi procs on Windows.  This is
	analogous to the TclWinProcs.  Using Tcl_WinUtfToTChar, we can
	easily take advantage of using unicode functions where available
	without having to switch on the platform id each time.

	* win/tkWinWm.c (InitWindowClass): corrected init routines to
	allow unicode in window titles on Windows (for Win2K/XP).
	(TkWmStackorderToplevel): Corrected casts to enable debug compile

	* win/configure: regen'ed
	* win/tcl.m4: added shell32.lib to link libs, as these are
	necessary for new directory chooser (when enabled).

	* win/tkWinDialog.c (Tk_MessageBoxObjCmd): use MessageBoxW for
	proper display of unicode errors.
	Added patch which uses new OLE based directory chooser.  This
	still has some issues, so is disabled by default. [Patch #468139]
	(ColorDlgHookProc) Corrected ability to use unicode chars in
	tk_chooseColor -title.

2001-12-27  Jeff Hobbs  <>

	* win/tkWinInit.c (TkpDisplayWarning): Use MessageBoxW in case the
	error displayed has unicode chars. [Bug #485986]

2001-12-27  Daniel Steffen <>

	* mac/tkMacInit.c:
	* mac/tkMacResource.r: synced up tkInit features to unix/win:
	use existing tkInit proc if defined. Added spinbox.tcl resource.
	Used TclGetEnv() instead of Tcl_GetVar2(interp, env)
	* mac/tkMacApplication.r:
	* mac/tkMacLibrary.r: minor version resources cleanup

2001-12-27  Jeff Hobbs  <>

	* generic/tkButton.c (ButtonTextVarProc): guard against being
	called while the *button/label is being deleted. [Bug #490051]

	* library/entry.tcl: 
	* library/spinbox.tcl: 
	* library/text.tcl: added extra checks against bug #220269 and
	made spinbox reuse more of the entry procedure code.

2001-12-20  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.

2001-12-19  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.

2001-12-18  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/ Move EXP file changes over from
	Tcl configure script to fix AIX build with gcc. [Bug 220955]

2001-12-18  Mo DeJong  <>

	* unix/
	* win/ Use $(MAKE) instead of make
	in the tcltest rule.

2001-12-18  Don Porter  <>

	* tests/event.test (event-click-drag-1.2): Corrected test that
	failed on Solaris/CDE due to text scrolling.  [Bug 413735]

2001-12-18  Jeff Hobbs  <>

	* library/spinbox.tcl (ButtonDown): added catch to ignore
	possible error in after cancel when Priv(afterId) isn't defined.

	* doc/spinbox.n: corrected spin(up|down) -> button(up|down)

2001-12-14  Donal K. Fellows  <>

	* doc/getOpenFile.n: Documented change.
	* library/tkfbox.tcl (SetFilter): Added code to guess the correct
	default extension from whatever value was selected in the
	filetypes option menu.  Adapted from code by Chris Nelson
	submitted in Patch #492220.

2001-12-12  Jeff Hobbs  <>

	* unix/tkUnixWm.c (TkWmStackorderToplevelWrapperMap): added static

2001-12-05  Jeff Hobbs  <>

	* generic/tkText.c:
	* generic/tkText.h: changed TkTextEditType enums to be prefaced
	with TK_EDIT_ to prevent name collision.

2001-12-05  Daniel Steffen <>

	* mac/tkMacWm.c: mac implementation of wm stackorder
	(patch 481148, TIP 74)

2001-12-03  Mo DeJong  <>

	Add TK patch 481148 to implement TIP 74, the
	wm stackorder command.

	* doc/winfo.n: Update documentation for the winfo
	children command to indicate that top-level windows
	are not returned in stacking order.
	* doc/wm.n: Add documentation for wm stackorder.
	* generic/tkInt.decls (TkWmStackorderToplevel):
	Add decl for new function.
	* generic/tkIntDecls.h: Regen.
	* generic/tkStubInit.c: Regen.
	* tests/unixWm.test: Add stackorder command to test
	for wm command usage message.
	* tests/wm.test: Add new set of tests for generic
	window manager methods.
	* unix/tkUnixWm.c (Tk_WmCmd,
	TkWmStackorderToplevel): Add unix implementation of
	new wm stackorder command.
	* win/tkWinWm.c (Tk_WmCmd,
	TkWmStackorderToplevel): Add windows implementation
	of new wm stackorder command.

2001-12-03  David Gravereaux <>

	* win/ install target changes by request from
	Ryan Casey <>.

2001-11-30  Donal K. Fellows  <>

	* library/demos/widget: Further overhauling; shrank fonts, made
	better use of fonts, added an icon, fixed the About box.  Prompted
	by Bug #487442 from Vincent Wartelle.

2001-11-29  Donal K. Fellows  <>

	* library/palette.tcl (tk_setPalette): Added heuristic to guess
	from the background whether to use black or white for the
	foreground when not told specifically.  Suggested by Chris Nelson,
	this makes the command fit the documentation better!

2001-11-27  David Gravereaux <>

	* win/ Fixed CAT32 target.  cat.c is located in the Tcl
	source, not the Tk source.

2001-11-27  D. Richard Hipp <>

	* library/menu.tcl: Do not allow keyboard traversal of torn-off
	menus to visit the (invisible) tearoff bar.

2001-11-26  D. Richard Hipp <>

	* win/tkWinMenu.c: disabled menu items show the activebackground
	color in their background.  This change makes menu behavior
	consistent with what native windows does.

2001-11-24  Mo DeJong  <>

	* unix/ Add comments to better describe
	TCL_EXE and when it should be available. Add
	rule that prints message about running `make genstubs`
	when tkStubInit.c is out of date.
	* win/ Add TCL_TOOL_DIR and TCL_EXE
	variables to better match the Tcl Makefile. Add
	genstubs rule so tkSTubInit.c can be regenerated.

2001-11-24  Mo DeJong  <>

	* win/configure: Regen.
	or CFLAGS_WARNING since it is now done in SC_CONFIG_CFLAGS.

2001-11-23  Daniel Steffen <>

	Up-port to 8.4 of mac code changes for 8.3.3 & various new
	changes for 8.4, some already backported to 8.3.4 (patch #435660)

	* library/tk.tcl: added <Key-F1> binding for <<Undo>> on the mac (TIP26)

	* library/button.tcl: fixed undefined $Priv(repeated) error for button
	without -repeatdelay support

	* generic/tkConsole.c:
	* library/console.tcl:
	* mac/tkMacInit.c:
	* mac/tkMacResource.r: corrected how mac deals with tcl library
	files present both in resources and in $tk_library directory.

	* generic/tkConsole.c: crashing bug fix when printing to console
	at program exit after the console has already been closed.
	Now setting gStdoutInterp=NULL in ConsoleClose().

	* mac/tkMacInit.c: correct use of Tcl_JoinPath in tk_library

	* mac/tkMacMenu.c: special MDEF_PROC_OFFSET only needed for
	exactly one specific version of the MWERKS 68k compiler .

	* mac/tkMacShLib.exp: removed file

	* unix/ removed reference to .exp files

	* mac/MWTkBuildLibHeader.h:
	* mac/MW_TkBuildLibHeader.pch:
	* mac/MW_TkHeaderCommon.h:
	* mac/MW_TkOldImgStaticHeader.h:
	* mac/MW_TkStaticHeader.h:
	* mac/MW_TkStaticHeader.pch: new precompiled header files

	* mac/MW_TkHeader.pch:
	* mac/MW_TkOldImgHeader.h:
	* mac/MW_TkTestHeader.pch: revised precompiled header handling: now
	include a common header file 'MW_TkHeaderCommon.h' from all .pch files,
	the .pch files themselves now only setup #defines (e.g. BUILD_tk,
	STATIC_BUILD, TCL_DEBUG, TCL_THREADS) like in makefiles on other

	* mac/tkMac.h:
	* mac/tkMacPort.h:
	* mac/tkMacInt.h: use of BUILD_tk and TCL_STORAGE_CLASS like on other
	platforms, standardize #include'd files to what's done on other
	platforms, removed use of #pragma export, changed extern to EXTERN
	where appropriate to enable DLL export via the TCL_STORAGE_CLASS

	* mac/tkMacAppearanceStubs.c: removed use of #pragma export

	* mac/widget.r: new resource file for 'Widget Demos'

	* mac/tkMacProjects.sea.hqx: updated mac build project files:
	build support for CodeWarrior Pro6, UnivIntf 3.4 & shared runtime
	libraries (see Tcl ChangeLog for details).
	changed weak linking so that CFM68k binaries now work on all OS
	versions from the free 7.5.5 onwards, with or without AppearanceMgr
	and/or NavigationMgr installed.
	added target to automatically build 'Widget Demos'
	included XML versions of the projects for CW Pro5 or Pro7 users.
	use compat/strtod.c instead of MSL's strtod()

	* generic/tkInt.decls:
	* generic/tkIntDecls.h:
	* generic/tkIntPlatDecls.h:
	* generic/tkStubInit.c:

	* mac/tkMacInt.h: MAC_TCL tk stub support was badly broken due to
	multiply defined (mac specific) names in tk.decls and tkInt.decls,
	removed the duplicates from the internal unsupported interfaces
	"interface tkInt" and "interface tkIntPlat"; moved declaration of
	TkpIsWindowFloating from tkMacInt.h to tkInt.decls: interface tkIntPlat.
	- these changes to the stub tables might require you to recompile your
	Tk extensions if they turn out to reference one of the removed routines
	in the wrong table (should be unlikely).

	* generic/tkMain.c: MAC_TCL: workaround for broken/non-standard isatty
	on MW Pro6, #include <unistd.h> instead of defining isatty
	* generic/tkPointer.c: MAC_TCL: #include tkMacInt.h

	* generic/tkStubLib.c: MAC_TCL: removed obsolete special casing of mac
	headers, standardize #include'd files to what's done on other platforms

	* mac/tclets.r:
	* mac/tkMacWindowMgr.c:
	* mac/tkMacScrlbr.c:
	* mac/tkMacMenu.c:
	* mac/tkMacMenus.c:
	* mac/tkMacFont.c:
	* mac/tkMacDialog.c: 
	* mac/tkMacButton.c: renamed obsolete apple API names to modern
	equivalents; UH3.4 support: added #include <ControlDefinitions.h>;
	fixed munged non-ASCII chars in sources due to bungled latin1<->mac
	roman encoding in CVS repository.

	* mac/tkMacDialog.c: added support for -filetypes option (fix for bug
	tcl #221636); added update event handling for background windows while
	in a NavigationMgr dialog; fixed nasty bug when calling CustomGetFile
	(missing addr operator) (fix for bug tk #220911 & tcl #219367); renamed
	routines conflicting with standard MoreFiles headers (see Tcl ChangeLog
	for details)

	* mac/tkMacApplication.r:
	* mac/tkMacLibrary.r:
	* mac/tkMacResource.r: fixed obsolete copyrights/dates in version
	strings, updated version strings to standard usage, added support for
	'(Support Libraries)' subfolder for shared runtime libraries in
	unmerged binaries, commented out demo setting of "Tcl Environment
	Variables"; reorganized resources among these files to avoid 
	multiple copies in applications and shared libraries, the script
	libraries/Xcursors etc are now no longer duplicated in Wish but are
	only included in the resources of Tk.shlb.

	* mac/tkMacMenu.c: 
	* mac/tkMacMDEF.r: changes to support MW Pro 6 68k (vers 0x2400 only) 
	compiler producing different offset to start of MDEF; fix to static 68k
	presence testing when calling the custom MDEF

	* mac/tkMacWm.c.c:
	* mac/tkMacWindowMgr.c: added/fixed AppearanceMgr checks; override
	AppearanceMgr version detection on static 68k to ensure static 68k Wish
	runs on PPCs with recent AppearanceMgr

	* mac/tkMacButton.c: fixed misplaced/missing variable initialization.

2001-11-20  Jeff Hobbs  <>

	* generic/tkText.c (TextGetText): reworked to use DString for
	improved speed. (callewaert, darley)
	(DestroyText): plugged mem leak when not clearing stack (callewaert)
	(TextGetText): more efficient string size calculation (darley)

2001-11-19  Donal K. Fellows  <>

	* library/demos/entry3.tcl: New demo showing off validation and
	password entry.

	* library/demos/widget: Some reorganization to make the code
	simpler, plus a new entry demo.

2001-11-17  Jeff Hobbs  <>

	* win/tkWinButton.c (TkpComputeButtonGeometry): corrected the
	default size of Windows buttons to conform to the Windows style.
	This changes the default size of buttons on Windows.
	[Patch #463234] (nelson)
2001-11-16  Jeff Hobbs  <>

	* library/menu.tcl: corrected menu traversal code on Unix to
	better handle entering cascades.  [Patch #481219] (oleinick)

2001-11-16  David Gravereaux <>

	* win/  Install target repaired.

2001-11-15  Donal K. Fellows  <>

	* library/demos/image2.tcl: Many improvements to this
	image-viewing demo; now uses labelframes and tk_chooseDirectory

	* library/palette.tcl (::tk::RecolorTree): Made this work better
	with CDE, which does some extremely annoying things with the
	option database that interact badly with Tk's way of handling

	* doc/text.n: Overhauled the documentation of undo to make it
	easier to understand.
	* library/tk.tcl (::tk::EventMotifBindings): Added Emacs-like undo
	binding, but not behaviour (we separate undo and redo.)
	* library/demos/text.tcl: Show off our undo capability!

2001-11-12  David Gravereaux <>

	* win/mkd.bat:
	* win/rmd.bat:  Removed -kb CVS attribute and added changes
	from Llyod Lim for better stability.  [Patch #456761]

	* win/
	* win/
	* win/  large rewrite following Tcl's as
	a guide and Patch #456761.  Appears BugFree(tm).

2001-11-12  Jeff Hobbs  <>

	* doc/text.n:
	* generic/tkText.c:
	* generic/tkText.h:
	* generic/tkTextTag.c:
	* library/text.tcl:
	* library/tk.tcl:
	* mac/tkMacDefault.h:
	* tests/text.test:
	* unix/tkUnixDefault.h:
	* win/tkWinDefault.h: added TIP #26 implementation of simple
	built-in undo/redo of text editing in the text widget.
	[Patch #458879] (callewaert)

2001-11-12  Donal K. Fellows  <>

	* library/demos/menu.tcl: Show off -compound support in menus.

	* library/demos/radio.tcl: Added some code to both show off the
	extra capabilities of the buttons and also show what can be done
	with compound images on the sly.

2001-11-10  Mo DeJong  <>

	* unix/
	* win/ Add "make gdb" target. This target
	can run wish inside either gdb or insight.

2001-11-09  Jeff Hobbs  <>

	* library/clrpick.tcl: changed a few parameters so that the full
	0..255 range could be accessed via the mouse. [Bug #478498]

	* unix/configure:
	* unix/tcl.m4: added -lc to AIX libs, fixed path to ldAix

	* win/configure:
	* win/tcl.m4:
	* win/ add comctl32.lib to build libs.
	* win/tkWinX.c (TkWinXInit): added InitCommonControlsEx call.
	* win/rc/tk.rc:
	* win/rc/wish.rc:
	* win/rc/wish.exe.manifest: added resources that specify using v6
	of the MS Common Controls library when available (WinXP+).  This
	enables use of the themeable widgets (like scrollbars) to be used
	in Tk. [Patch #478933]

2001-11-09  Mo DeJong  <>

	* unix/configure:
	* unix/tcl.m4: Update from Tcl.

2001-11-08  Mo DeJong  <>

	* unix/
	Avoid adding libc to the LIBS and WISH_LIBS
	variables since it is not needed when linking with CC.
	If required when linking with LD it should be done
	on a case by case basis in tcl.m4.

2001-11-05  Donal K. Fellows  <>

	* library/demos/dialog2.tcl: Typo-fix.
	* library/demos/browse, library/demos/ixset, library/demos/rolodex: 
	Installation does version number fixup, so we shouldn't.  Thanks
	to for pointing these (thankfully minor) problems

2001-10-30  Donal K. Fellows  <>

	* library/demos/widget: Integrated labelframe item into the labels
	section and added a spinbox demo to the (retitled) entry section.

	* library/demos/labelframe.tcl: Adjusted so as to show off the
	labelframe widget to better effect and have a better description.

	* library/demos/spin.tcl: New demo to show off spinbox capabilities.

	* library/demos/rolodex: Changes up-ported from core-8-3-1-branch
	to make the script use more 8.*-isms, but not menus due to the way
	the context help system works.

	* library/demos/ixset: Changed to use the labelframe widget and
	the grid geometry manager.

2001-10-29  Donal K. Fellows  <>

	* library/demos/browse: Changes up-ported from core-8-3-1-branch
	to make the script much more robust, particularly when neither the
	current version of wish or the script are on the path.

	* library/demos/hello: Added emacs trailing tag-line.

	* library/demos/tcolor: Changes up-ported from core-8-3-1-branch
	to make the script compliant with current good practise, as well
	as extensive use of the new labelframe widget.

	* library/demos/timer: Changes up-ported from core-8-3-1-branch to
	make the script look and work better.

	* library/demos/rmt: Changes up-ported from core-8-3-1-branch to
	use more 8.* features and make the demo script more generally
	useful to people.

2001-10-23  Donal K. Fellows  <>

	* generic/tkCursor.c (Tk_GetCursorFromData): Fixed uninit nextPtr
	field.  [adapted from Patch 473875]
	(GetCursor): Removed double-assignment to nextPtr field.

2001-10-19  Jeff Hobbs  <>

	* library/console.tcl: removed transpose ability until the console
	can get a proper rewrite of tag handling.

2001-10-18  Jeff Hobbs  <>

	* tests/defs.tcl: removed threaded build warning under X.

	* library/console.tcl (ConsoleOutput): fixed undefined widget

2001-10-16  Jeff Hobbs  <>

	* library/xmfbox.tcl: fixed filtering in motif file dialog.
	[Patch #469670] (nelson)

	* generic/tkWindow.c (OpenIM): Added simple XIM patch to enable
	basic XIM input on Unix. [Patch #412727] (fabian)

2001-10-15  Jeff Hobbs  <>

	* unix/configure:
	* unix/
	* win/configure:
	* win/
	* win/ reworked to be a little cleaner in
	comparison to each other, and to AC_SUBST even empty vars for

2001-10-12  Todd M. Helfter <>

	* ChangeLog:
	* doc/menu.n:
	* generic/tkMenu.c:
	* generic/tkMenu.h:
	* generic/tkMenubutton.c:
	* generic/tkMenubutton.h:
	* mac/tkMacDefault.h:
	* mac/tkMacMenu.c:
	* mac/tkMacMenubutton.c:
	* tests/menu.test:
	* unix/tkUnixDefault.h:
	* unix/tkUnixMenu.c:
	* win/
	* win/tkWinDefault.h:
	* win/tkWinMenu.c:
	* win/tkWinWm.c: Implementation of TIP #63, the addition of
	a -compound option to menu entries allowing text and an image to
	be displayed at the same time.

2001-10-09  Jeff Hobbs  <>

	* library/console.tcl: added more smarts extracted from tkcon to
	the default console.

2001-10-01  Jeff Hobbs  <>

	* win/tkWinTest.c: better error reporting from testclipboard

	* win/tkWinDialog.c: minor cast changes to support Win64

	* win/tkWinWindow.c: made use of standard Tk_GetHWND instead of
	older, private TkWinGetHWND.

	* win/configure: regen'ed
	* win/tcl.m4:
	* win/ updated for Win64 SDK RC1 compilation support

2001-09-30  Peter Spjuth <>

	* doc/grid.n:
	* generic/tkGrid.c:
	* tests/grid.test: Added -uniform option to grid's row/column-
	configure. [TIP 37] [Patch 459343]
2001-09-26  Peter Spjuth <>

	* win/tkWinFont.c (Tk_DrawChars): Added support for clipping text.

	* doc/frame.n:
	* doc/labelframe.n:
	* doc/toplevel.n:
	* generic/tkFrame.c:
	* generic/tkInt.h:
	* generic/tkWindow.c:
	* library/demos/radio.tcl:
	* library/demos/labelframe.tcl:
	* library/demos/widget:
	* mac/tkMacDefault.h:
	* tests/frame.test:
	* unix/tkUnixDefault.h:
	* win/tkWinDefault.h: Added labelframe widget. Added -padx/y
	options to frame and toplevel.

	* tests/grid.test:
	* tests/pack.test:
	* tests/place.test: Used labelframe to test geometry manager changes.
	[TIP 18] [Patch 429164]
2001-09-26  Peter Spjuth <>

	* doc/GeomReq.3:
	* doc/WindowId.3:
	* generic/tk.decls:
	* generic/tk.h:
	* generic/tkDecls.h:
	* generic/tkGeometry.c:
	* generic/tkGrid.c (ArrangeGrid):
	* generic/tkInt.h:
	* generic/tkPack.c (ArrangePacking):
	* generic/tkPlace.c (RecomputePlacement):
	* generic/tkStubInit.c:
	* generic/tkUtil.c (TkComputeAnchor):
	* generic/tkWindow.c (TkAllocWindow):
	* unix/mkLinks: Geometry manager changes to support TIP#18.
	Allows a widget to set different internal border widths on
	different sides, and to set a minimum requested size.
2001-09-25  Don Porter  <>

	* generic/tkBind.c:
	* generic/tkInt.decls (TkpScanWindowId):
	* unix/tkUnixPort.h (Tkp{Print,Scan}WindowId):
	* unix/tkUnixXId.c (TkpScanWindowId):
	* win/tkWinWindow.c (TkpScanWindowId): Corrected definition of
	TkpScanWindowId to handle situation where types Window and int
	do not have the same number of bits.  CONST-ified too.

	* generic/tkIntPlatDecls.h: 
	* generic/tkStubInit.c: make genstubs

2001-09-24  Don Porter  <>

	* generic/tkMain.c (StdinProc): Update to handle change in
	return type of Tcl_DStringAppend() from (char *) to (CONST char *).
	[TIP 27]

2001-09-23  Peter Spjuth  <>
	* generic/tkPack.c (ConfigureSlaves):
	* tests/pack.test:
	* tests/grid.test:  Pack accepted asymmetric values for -ipadx/y.
	Only -padx/y supports asymmetry. [Bug #462348]

2001-09-21  Jeff Hobbs  <>

	* win/tkWinWindow.c (TkpPrintWindowId, TkpScanWindowId): fixed to
	work on Win64 with 64bit XIDs.

	* generic/tkWindow.c (Tk_CreateAnonymousWindow): 
	* generic/tkEntry.c (GetSpinboxElement): fixed unreachable returns.

	* win/tkWinX.c (TkGetServerInfo): added recognition of Win64.

	* xlib/X11/X.h: made XID __int64 type for Win64.

	* unix/tkUnixPort.h:
	* mac/tkMacPort.h: add (int*) cast to TkpScanWindowId.
	These may need to be changed to Window* (ulong).

	* generic/tkCmds.c (Tk_WinfoObjCmd):
	* generic/tkBind.c (NameToWindow):
	correct Window id's to be of type Window

	* generic/tkIntDecls.h:
	* generic/tkIntPlatDecls.h:
	* generic/tkInt.decls (TkpScanWindowId): changed decl to use
	Window* instead of int*.

	* xlib/xcolors.c:
	* generic/tkPack.c,tkWindow.c:
	* win/tkWinFont.c,tkWinMenu.c:
	* unix/tkUnixScale.c: minor cast fixes to prevent 64bit warnings.

	* tests/scrollbar.test (scrollbar-6.27): marked knownBug because
	it is skewed by bad dimensions returned by Windows.

	* tests/textDisp.test (textDisp-4.12): corrected test to work
	properly on Windows.

	* tests/id.test,macFont.test,macMenu.test,macscrollbar.test:
	* tests/send.test,winClipboard.test,winDialog.test,winFont.test:
	improved use of test constraints

	* win/tkWinWm.c (WinSetIcon): fixed SetClassLong for 64bit support.

2001-09-20  Jeff Hobbs  <>

	* unix/configure: regen'ed
	* unix/tcl.m4: added --enable-64bit support for HP-11 with the
	64-bit kernel.

2001-09-17  Don Porter  <>

	* generic/tkGrid.c (ConfigureSlaves):
	* generic/tkPack.c (PackAfter):  Corrected type definition of
	argument passed to Tcl_GetStringFromObj() from size_t to int.
	Incorrect type broke [pack] and [grid] on systems where
	sizeof(size_t) != sizeof(int).  [Bugs 462375, 462342, 462338]

2001-09-17  Donal K. Fellows  <>

	* library/choosedir.tcl (DblClick): 
	* library/tkfbox.tcl (OkCmd, ListInvoke): Rewrote so as to avoid
	the highly confusing string "text" and to be consistent about what
	is and what is not a list.  [Bug 459895, reported by fandom]

2001-09-14  Andreas Kupries  <>

	* generic/tkImgGIF.c:
	* generic/tkImgPPM.c:
	* generic/tkImgPhoto.c:
	* generic/tkMenu.c: Applied patch [461578], provided by Vincent
	  Darley. This fixes several memory leaks in the image code. They
	  happen if there are errors during the initialization of the
	  channel the image is supposed to be read from.

2001-09-12  Mo DeJong  <>

	* unix/configure:
	* unix/tcl.m4: Update from Tcl.

2001-09-12  D. Richard Hipp  <>

	* library/tkfbox.tcl: fixed error that appeared when you would
	click on the canvas while viewing an empty directory.

2001-09-10  Mo DeJong  <>

	* unix/configure:
	* unix/tcl.m4: Update from Tcl.

2001-09-09  Mo DeJong  <>

	* win/ Fix Windows Makefile so that
	tcltest will automatically be compiled if the
	user tries to build tktest.

2001-09-09  Mo DeJong  <>

	* win/ Use TKTEST variable directly
	instead of depending on the tktest alias.

2001-09-08  Mo DeJong  <>

	* win/mkd.bat:
	* win/rmd.bat:
	Apply binary property (cvs admin -kb) to files and convert
	to CRLF linefeed format to fix the VC++ build. [Tcl Bug #219409]

2001-08-29  Jeff Hobbs  <>

	* tests/menu.test:
	* tests/send.test:
	* tests/select.test: corrected to use testConfig constraints in
	the TK_ALT_DISPLAY case

	* tests/unixSend.test: removed test file completely identical to
	send.test.  Removed platform specific named file in case somebody
	gets send working on Win/Mac in the future.

	* tests/config.test: added config-14.1 to test namespace import
	evaluation of widgets.
	* generic/tkButton.c (ButtonCreate):
	* generic/tkFrame.c (CreateFrame):
	* generic/tkMenubutton.c (Tk_MenubuttonObjCmd):
	* generic/tkPlace.c (Tk_PlaceObjCmd):
	* generic/tkScale.c (Tk_ScaleObjCmd):
	* generic/tkMessage.c (Tk_MessageObjCmd):
	* generic/tkEntry.c (Tk_EntryObjCmd, Tk_SpinboxObjCmd):
	* generic/tkSquare.c (SquareObjCmd): redid the handling of
	optionTables in widgets to allow them to be imported into other
	namespaces. [Bug #456632]

2001-08-28  Jeff Hobbs  <>

	* win/tkWinDialog.c (ChooseDirectoryHookProc): work-around for MS
	bug that caused crashing in tk_chooseDirectory on Win95.
	[Bug #224936] (baker)

	* unix/tkUnixWm.c (TkWmRestackToplevel): reworked how
	ConfigureNotify requests were handled in relation to the parent to
	avoid the problem with potential 'raise' delays on some wms.
	[Bug #220260] (baker) wms that were affected should notice the
	difference in tests unixWm-51.* not failing that failed before.

2001-08-26  Don Porter  <>

	* library/text.tcl (<Shift-Up> binding):  Corrected TIP 44 typo
	that broke binding.  Thanks to "Michal" for the fix.
	[Bug 455468]

2001-08-23  Jeff Hobbs  <>

	* unix/configure:
	* unix/tcl.m4: added QNX-6 build support. [Bug #219410] (loverso)

	* doc/CrtPhImgFmt.3: removed bogus note about including tkPhoto.h

2001-08-22  Peter Spjuth  <>

	* generics/tkGrid.c (ConfigureSlaves):
	* tests/grid.test: Fixed a bug where adjacent 'x' and '^' where
	not handled properly. [Bug #452040]
2001-08-22  Jeff Hobbs  <>

	* generic/tkPack.c (TkParsePadAmount): added lint init for sepChar.

	* tests/dialog.test (HitReturn): fixed failing dialog-2.1 test
	because it wasn't always getting focus properly.

2001-08-21  Jeff Hobbs  <>

	* tests/unixFont.test (unixFont-2.[234]): fixed to be more
	sensitive on systems that have more installed fonts.

	* library/dialog.tcl (tk_dialog): changed dialog to show bar on
	Windows as well and added some y padding between the buttons and
	the bar. [Patch #442835] (harrismh)

2001-08-20  Peter Spjuth  <>

	* generic/tkInt.h:
	* generic/tkWindow.c:
	* generic/tkGrid.c:
	* generic/tkPack.c:
	* tests/grid.test:
	* tests/oldpack.test:
	* tests/pack.test: Objectified grid and pack commands.

2001-08-20  Donal K. Fellows  <>

	* generic/tkObj.c (TkGetWindowFromObj): Rewrote window code to
	reuse a previously worked-out set of window information exactly
	when the reference window is the same and no window deletions have
	occurred since the object was allocated (display has same epoch
	counter.)  Required changing the internal rep of the window quite
	a bit as now need to save three words-worth of information in the
	internal rep (this window, reference window, display epoch.)
	* generic/tkObj.c (SetWindowFromAny, DupWindowInternalRep,
	FreeWindowInternalRep): Code to support new internal rep for
	window objects.
	* generic/tkInt.h: Added epoch counter to TkDisplay structure
	* generic/tkWindow.c (GetScreen, Tk_DestroyWindow): Epoch counter
	is incremented every time a window is deleted.

2001-08-18  Peter Spjuth <>

	* doc/grid.n:
	* tests/grid.test:
	* generic/tkGrid.c: Grid configure rejected initial "x" and "^".
	[Bug #418664]
2001-08-17  Donal K. Fellows  <>

	* generic/tkObj.c (TkGetWindowFromObj): Was failing to reuse
	cached window objects, forcing a call to Tcl_GetStringFromObj and
	Tk_NameToWindow every time.  This fault has been in there for
	nearly three years...

2001-08-15  Don Porter <>

	* changes: Labelled the TIP 44 changes as "POTENTIAL INCOMPATIBILITY".
	Although technically internal changes are not incompatible, they'll
	be perceived as such by those who get bitten, and this will help
	them find the cause of their trouble.

2001-08-14  Donal K. Fellows  <>

	* generic/tk{Util,Font,Cursor,Color,Bitmap,3d}.c: Modified
	objtype declarations so that they can be picked up in tkObj.c and
	the names are now prefixed with "tk" too.
	* generic/tkObj.c (TkRegisterObjTypes): 
	* generic/tkWindow.c (Initialize): 
	* generic/tkInt.h: Added code to register Tk's object types with
	the Tcl runtime.  [Tcl Bug 450545]

2001-08-12  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.

2001-08-10  Donal K. Fellows  <>

	* library/demos/image2.tcl (loadDir): Converted non-portable
	[glob [file join $dirName *]] to [glob -directory $dirName *]
	which is both fully portable and more reliable when directory
	names contain glob-significant characters.  [Bug 223313]

2001-08-08  Don Porter <>

	* tests/dialog.test:  New file testing [tk_dialog].

	* library/dialog.tcl:
	* library/tkfbox.tcl: Corrections to problems introduced by
	the TIP 44 changes.  [Bug 449261]

	* generic/tk.h:
	* unix/configure:
	* unix/
	* unix/tk.spec:
	* win/configure:
	* win/ Bumped up patchlevel to 8.4a4 to distinguish
	CVS snapshots from the 8.4a3 release.  This does not necessarily
	mean there will be an 8.4a4 release.  [Bug 448938].

2001-08-07  Jeff Hobbs  <>

	* unix/ (dist): added {unix,win}/tcl.m4 and
	library/msgs/*.msg to dist target.  [Bug: #448802]

2001-08-06  Jeff Hobbs  <>

	8.4a3 RELEASE

	* changes:
	* README: updated for 8.4a3 release

	* unix/configure: regenerated
	* unix/tcl.m4: added GNU (HURD) configuration target. (brinkmann)
	[Patch: #442974]

2001-08-06  Don Porter  <>

	* generic/tkConsole.c:
	* generic/tkWindow.c:
	* library/bgerror.tcl:
	* library/dialog.tcl:
	* library/msgbox.tcl:
	* library/unsupported.tcl:
	* mac/tclets.tcl:
	* mac/tkMacHLEvents.c:
	* mac/tkMacWm.c:  TIP 44 changes specific to the Mac and
	Windows platforms that were overlooked before: tkOpenDocument,
	tkConsoleExit, tkConsoleOutput, unsupported1 out of namespace :: .
	Thanks to Vince Darley for prompting another look.

2001-08-03  Jeff Hobbs  <>

	* win/winMain.c (WishPanic): fixed CONST changes to go with
	CONST-ification in Tcl.

	* win/configure: regenerated
	* win/tcl.m4: fixed DLLSUFFIX definition to always be ${DBGX}.dll.
	This is necessary for TEA compliant builds that build shared
	against a static-built Tk.
	* win/ ($(WISH)): added $(TK_STUB_LIB_FILE) to build
	target, otherwise it wouldn't get generated in a static build.

2001-08-01  Don Porter  <>

	* doc/console.n:
	* doc/menu.n:
	* doc/text.n:
	* doc/tkvars.n:
	* generic/tkBind.c:
	* generic/tkMenu.c:
	* library/bgerror.tcl:
	* library/button.tcl:
	* library/choosedir.tcl:
	* library/clrpick.tcl:
	* library/comdlg.tcl:
	* library/console.tcl:
	* library/dialog.tcl:
	* library/entry.tcl:
	* library/focus.tcl:
	* library/listbox.tcl:
	* library/menu.tcl:
	* library/msgbox.tcl:
	* library/optMenu.tcl:
	* library/palette.tcl:
	* library/scale.tcl:
	* library/scrlbar.tcl:
	* library/spinbox.tcl:
	* library/tclIndex:
	* library/tearoff.tcl:
	* library/text.tcl:
	* library/tk.tcl:
	* library/tkfbox.tcl:
	* library/unsupported.tcl:
	* library/xmfbox.tcl:
	* mac/tkMacMenu.c:
	* tests/clrpick.test:
	* tests/filebox.test:
	* tests/macMenu.test:
	* tests/menu.test:
	* tests/menuDraw.test:
	* tests/msgbox.test:
	* tests/text.test:
	* tests/unixMenu.test:
	* tests/winMenu.test:
	* tests/xmfbox.test:
	* unix/mkLinks:
	* unix/tkUnixDialog.c: Merged changes from feature branch
	dgp-privates-into-namespace, implementing TIP 44.  All
	Tk commands and variables matching tk[A-Z]* are now in the
	::tk namespace.  See "BRANCH: dgp-privates-into-namespace"
	entries below for details.  [FR 220936]

2001-07-24  Mo DeJong  <>

	* generic/default.h: Include tkWinDefault.h
	when built with Cygwin or Mingw.

2001-07-18  Don Porter	<>

	BRANCH dgp-privates-into-namespace:
	* doc/console.n:  Updated names of private console commands.

2001-07-16  Don Porter	<>

	BRANCH dgp-privates-into-namespace:
	* library/console.tcl:
	* library/unsupported.tcl: Renamed tk::histNum to tk::HistNum
	as directed by the Tcl Style Guide.

2001-07-10  Mo DeJong  <>

	* unix/ Add AR and STLIB_LD variables.
	* unix/configure:
	* unix/ Use STLIB_LD when defining MAKE_LIB
	* unix/tcl.m4: Update from Tcl.
	* win/configure: Regen.
	* win/tcl.m4: Update from Tcl.

2001-07-06  Mo DeJong  <>

	* win/configure: Regen.
	* win/tcl.m4: Update from Tcl.

2001-07-05  Mo DeJong  <>

	* win/ Subst DEPARG directly instead
	of relying on a variable. This will make Cygwin
	build faster since an extra exec will be avoided.
	* win/configure: Regen.
	* win/ Subst DEPARG.
	* win/tcl.m4: Update from Tcl.

2001-07-04  Jeff Hobbs  <>

	* mac/README:
	* unix/README:
	* win/README: updated READMEs with purls

2001-07-03  Jeff Hobbs  <>

	* tests/canvas.test:
	* generic/tkCanvPoly.c (PolygonToArea): Added patch that respects
	the polygon difference of including points in the polygon even
	when fill is empty.  [Bug #226357]

2001-07-03  Mo DeJong  <>

	* win/ Remove PATHTYPE variable.
	* win/configure: Regen.
	* win/ Don't subst PATHTYPE.
	* win/tcl.m4: Update from Tcl.

2001-07-03  Mo DeJong  <>

	* win/ Don't use VPSEP, instead just use :
	in the VPATH.
	* win/configure: Regen.
	* win/ Don't subst VPSEP.

2001-07-03  Donal K. Fellows  <>

	* library/xmfbox.tcl (tkMotifFDialog_ActivateSEnt): Added missing
	backslash [Bug #438247]

2001-07-02  Jeff Hobbs  <>

	* generic/tkWindow.c (Tk_DestroyWindow): changed to use
	Tcl_EventuallyFree instead of ckfree so that widgets that have
	references to a tkwin can use them.

	* generic/tkCanvArc.c:
	* generic/tkCanvBmap.c:
	* generic/tkCanvLine.c:
	* generic/tkCanvPoly.c:
	* generic/tkCanvText.c:
	* generic/tkCanvWind.c:
	* generic/tkRectOval.c: corrected argument handling in
	Create<Item> functions that could lead to ABRs or FMRs and
	corrected names of argc/argv to objc/objv.

	* generic/tkImgGIF.c (Mgetc): corrected screwy use of ternary
	operator and possible FMR.

	* generic/tkEntry.c: corrected missing Tcl_Release that caused
	font not freed complaints when trying valid cleanup calls.
	* generic/tkListbox.c: made use of Tcl_Preserve/Tcl_Release to
	prevent FMR errors in Display functions.

	* unix/tkUnixScale.c (TkpDisplayScale): corrected FMR when scale
	was deleted while calling its command.

	* library/console.tcl:
	* library/entry.tcl:
	* library/spinbox.tcl:
	* library/text.tcl:
	* library/tk.tcl: added private ::tk::GetSelection command to
	handle requesting selection.  This is to support requesting
	UTF8_STRING before generic STRING on Unix.  Changed Text, Spinbox,
	Entry and Console to use this command.

	* tests/select.test:
	* generic/tkSelect.c (Tk_CreateSelHandler, Tk_DeleteSelHandler):
	on Unix, a UTF8_STRING handler will be created when the user
	requests a STRING handler (in addition to the STRING handler).
	This provides implicit support for the new UTF8_STRING selection
	* unix/tkUnixSelect.c (TkSelEventProc, ConvertSelection): Added
	support for UTF8_STRING target. [RFE #418653, Patch #433283]

	* generic/tkInt.h: added utf8Atom to TkDisplay structure.

	* tests/listbox.test: changed 'darkblue' to 'white' in a test
	because it isn't a portable color name.

	* generic/tkEntry.c (DestroyEntry): used Tcl_EventuallyFree
	instead of ckfree for entryPtr to prevent FMRs. [Bug #413904]

2001-06-26  Mo DeJong  <>

	* unix/
	* win/ Add `make shell` target. This target
	will set the proper env vars before invoking wish
	from the build directory.

2001-06-26  Mo DeJong  <>

	* win/configure:
	* win/ Revert cross compiling change
	accidently added during last checkin.

2001-06-26  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/ Fix last checkin by removing
	export since that only works in bash.
	* win/configure: Regen.
	* win/ Ditto.

2001-06-26  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/ Set CFLAGS to "" if the user
	did not set CFLAGS in the env. This keeps AC_PROG_CC
	from adding "-g -O2" to the CFLAGS by default.
	* win/configure: Regen.
	* win/ Ditto.

2001-06-22  Mo DeJong  <>

	* win/configure: Regen.
	* win/ Use RC_DEFINE flag from tcl.m4.
	* win/tcl.m4: Update from Tcl.

2001-06-22  Mo DeJong  <>

	* win/configure: Regen.
	* win/tcl.m4: Update from Tcl.

2001-06-22  Mo DeJong  <>

	* win/configure: Regen.
	* win/tcl.m4 (SC_CONFIG_CFLAGS): Link to the
	imm32 library when building with mingw gcc.
	* win/tkWinX.c: Include the imm.h header
	to fix compiling with mingw gcc.

2001-06-22  Mo DeJong  <>

	* win/configure: Regen.
	* win/ Add resource compiler fix from
	8.3.3 to fix compiling with mingw.

2001-06-22  Mo DeJong  <>

	* win/configure: Regen.
	* win/tcl.m4: Fix silly typo in last checkin.

2001-06-22  Mo DeJong  <>

	* unix/ Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@.
	and LDFLAGS_OPTIMIZE to match the way CFLAGS_DEFAULT works. Use
	new LDFLAGS variable in the Makefile instead of @LDFLAGS@.
	* unix/configure: Regen.
	* unix/ Don't set CFLAGS to CFLAGS_DEFAULT, instead
	subst CFLAGS_DEFAULT into the Makefile. Add AC_SUBST for CFLAGS_DEBUG,
	Remove unused LD_FLAGS subst.
	* unix/tcl.m4: Update from Tcl.
	* win/ Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@.
	* win/configure: Regen.
	* win/ Don't set CFLAGS or LDFLAGS, instead subst
	* win/tcl.m4: Update from Tcl.

2001-06-22  Mo DeJong  <>

	* win/configure:
	* win/tcl.m4: Update From Tcl.

2001-06-21  eric melski  <>

	* doc/colors.n: Corrected bogus documentation with respect to
	several shades of blue, all of which were listed as RGB 0 0 0.
	[Bug #432104].

2001-06-14  Donal K. Fellows  <>

	* library/demos/floor.tcl, library/demos/filebox.tcl,
	* library/demos/clrpick.tcl, library/demos/vscale.tcl,
	* library/demos/twind.tcl, library/demos/ruler.tcl, 
	* library/demos/plot.tcl, library/demos/items.tcl, 
	* library/demos/hscale.tcl, library/demos/ctext.tcl,
	* library/demos/cscroll.tcl, library/demos/arrow.tcl,
	* library/xmfbox.tcl, library/msgbox.tcl,
	* library/clrpick.tcl, library/bgerror.tcl: Braced expressions.

2001-06-06  Mo DeJong  <>

	* win/configure: Regen.
	* win/ Handle the --prefix option correctly
	it should default to /usr/local like the unix version.

2001-06-03  Jeff Hobbs  <>

	* doc/selection.n: 
	* doc/clipboard.n: added SEE ALSOs to cross-reference selection
	and clipboard, with extra note for clipboard command in selection
	docs.  [Patch #422256]

	* unix/tkUnixFont.c: Corrected support for iso10646 (X11 Unicode)
	fonts on Unix. This adds a ucs-2be (UCS-2 Big Endian) encoding in
	Tk on Unix that is used for those fonts (X11 requires
	big-endianness). (welch) [Patch #406411; Bug #220890 #220899]
	This differs from the 8.3.3 patch by not adding ucs-2be in the
	preferred encodingList (seems works fine without).
	Added alias for jisx0201* fonts to jis0201 encoding. [Bug #414033]

2001-05-30  Jeff Hobbs  <>

	* win/tkWinKey.c (TkpSetKeycodeAndState): removed old debug info

2001-05-29  Jeff Hobbs  <>

	* win/tkWinX.c: moved the initialization of tkPlatformId from
	TkWinXInit to TkWinGetPlatformId because static builds could call
	it before it was initialized. [Bug #427278]

2001-05-28  Peter Spjuth  <>

	* generic/tkFrame.c:
	* generic/tkWindow.c:
	* tests/frame.test: Upgraded frame to use the newer TK_OPTION
	style when processing configuration options. Some cleanup of
	bad comments and bad code. [part of patch #420861]

2001-05-23  Mo DeJong  <>

	* unix/configure:
	* unix/tcl.m4:
	* win/configure:
	* win/tcl.m4: Sync from Tcl sources.

2001-05-21  Jeff Hobbs  <>

	* unix/tcl.m4: sync'ed up wih Tcl tcl.m4. [Bug #419812]

	* doc/TkInitStubs.3:
	* generic/tk.h:
	* generic/tkStubLib.c: CONST'ified Tk_InitStubs to match CONST
	changes to Tcl_PkgRequireEx.

2001-05-21  Todd M. Helfter  <>

	* doc/menubutton.n:
	* generic/tkMenubutton.c:
	* generic/tkMenubutton.h:
	* mac/tkMacMenubutton.c:
	* tests/menubut.test:
	* unix/tkUnixMenubu.c: Implementation of TIP #11, the addition of
	a -compound option to the menubutton allowing text and an image to
	be displayed at the same time.  This behavior is identical to the
	behavior of the button widget.

2001-05-16  Donal K. Fellows  <>

	* doc/console.n: Added - was erroneously placed in Tcl before...

2001-04-25  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/tcl.m4: Update from Tcl.
	* win/configure: Regen.
	* win/tcl.m4: Update from Tcl.

2001-04-25  Mo DeJong  <>

	* unix/configure: Regen.
	* unix/ Use $@ in MAKE_LIB and MAKE_STUB_LIB
	commands instead of using a delayed subst variable. Replace
	instances of STUB_LIB_FILE with TK_STUB_LIB_FILE.

2001-04-25  Mo DeJong  <>

	* unix/ Use TCL_STUB_LIB_FILE instead of STUB_LIB_FILE.
	* unix/configure: Regen.
	* unix/ Don't subst STUB_LIB_FILE, use TCL_STUB_LIB_FILE

2001-04-12  Donal K. Fellows  <>

	* generic/tkImage.c (Tk_ImageObjCmd,DeleteImage): Better detection
	of deletion when world is falling apart. [Bug #220819]

2001-04-04  Jeff Hobbs  <>

	* win/tkWinMenu.c (TkWinHandleMenuEvent): corrected reseting of
	service mode to only occur when it was set. [Bug #220948]

2001-04-03  Jeff Hobbs  <>

	* tests/winClipboard.test: improved results for understanding when
	tests fail.

	* tests/winDialog.test: string totitle'd some results that
	expected [pwd] to return a capital drive letter.

	* tests/cursor.test: changed tests to use 'heart' cursor because
	'arrow' on windows has a pre-skewed use count.

	* win/tkWinDialog.c (GetFileNameA): initialize multi to 0.

2001-04-02  Jeff Hobbs  <>

	* win/configure:
	* win/tcl.m4 (SHLIB_LD): added -incremental:no. [Bug #219381]

	* generic/tkMenu.c (TkInvokeMenu): checked for menu deletion
	before calling associated menu entry command.  [Bug #220821]

	* doc/image.n: added warning about names chosen for images.

	* generic/tkImgPhoto.c (ImgPhotoCmd): corrected the src and dest
	values for $imageName put when -format and -to are used.
	[Bug #232741]

	* tests/listbox.test: added test listbox-27.1, delete during
	scrollbar update
	* generic/tkListbox.c (DestroyListbox, ListboxEventProc):
	corrected listbox to make proper use of Tcl_EventuallyFree and
	protect against unusual listbox deletion.

	* tests/entry.test: added tests entry-20.*, delete during widget
	* generic/tkEntry.c (DestroyEntry, EntryEventProc): fixed the
	entry widget to survive deletion while processing scrollbar
	updates and validation.

	* tests/canvas.test: test of canvas delete during event
	* generic/tkCanvas.c (DestroyCanvas, CanvasEventProc): fixed the
	canvas to survive deletion during event processing. [Bug #228024]

2001-04-01  Jeff Hobbs  <>

	* mac/README: updated patchlevel to 8.4a3 and corrected links and

	* generic/tk.h:
	* unix/ (TK_PATCH_LEVEL): 
	* unix/configure:
	* unix/tk.spec:
	* win/ (TK_PATCH_LEVEL): 
	* win/configure: updated patchlevel to 8.4a3

2001-03-30  Jeff Hobbs  <>

	* tests/safe.test: added note about correcting failures in
	* library/tk.tcl: moved package require msgcat inside if case to
	not be used in safe interps.

	* win/
	* win/configure:
	* win/tcl.m4: added imm32.lib to LIBS_GUI for Tk IME support.
	* win/tkWinInt.h:
	* win/tkWinKey.c:
	* win/tkWinX.c: added support for changing IME on the fly in
	Windows (2000).  (lam) [Patch #402993]
	* tests/bind.test (bind-22.18):
	* generic/tkBind.c (NameToWindow): handled the error case where a
	valid-looking but invalid identifier could be passed in certain
	event generate options causing a crash. [Bug #411307]

	* win/tkWinWm.c (UpdateWrapper): ensured that the passed in winPtr
	had an existent window to operate on. [Bug #409172]

	* win/ (install-*): improved install-* targets to use
	their base build dependency.

	* generic/tkImage.c (Tk_ImageObjCmd, EventuallyDeleteImage):
	added casts to allow compiling on Windows with debbuging.

2001-03-29  Jeff Hobbs  <>

	* library/msgs/de.msg: fixed translations. [Patch #403525]

	* doc/canvas.n: Noted ability to specify coords as a list in the
	docs. (techentin) [Patch #403660]

	* tests/canvas.test: added test case to check obj conversion
	* generic/tkObj.c (UpdateStringOfMM, SetMMFromAny): better
	obj-aware screen distances.  (pgbaum, hobbs) [Patch #403327]

	* library/bgerror.tcl (bgerror): allow focus into details window
	for Windows C&P to work. [Bug #220929]

	* library/tk.tcl: put a catch around adding <hpBackTab> to the
	<<PrevWindow>> virtual event as it doesn't seem to work on all HP
	systems. [Bug #411669]

	* library/tkfbox.tcl: fixed selecting directories and single files
	with spaces using tk_getOpenFile -multiple 1. [Bug #411640]

	* win/tkWinDialog.c (GetFileNameA): added support for -multiple to
	ascii-based tk_getOpenFile (Win9*). (haneef) [Patch #403047]
	(GetFileNameW): increased number of files that could be returned
	by tk_getOpenFile -multiple. [Patch #412042]

2001-03-29  Mo DeJong  <>

	* library/entry.tcl (tkEntryMouseSelect):
	* library/text.tcl (tkTextSelectTo): When
	the mouse is dragged with the button down,
	move the insertion cursor to the current
	mouse position.
	* tests/event.test: Add a series of tests
	for event generation. Add tests for selection,
	check the position of the insertion cursor.

2001-03-28  Jeff Hobbs  <>

	* unix/configure:
	* unix/tcl.m4: corrected IRIX-5.x config to not use -n32.
 	(english) [Patch 403626]

2001-03-28  Don Porter  <>

	* tests/focus.test (focus-6.1):
	* tests/macEmbed.test (unixEmbed-5.1):
	* tests/macMenu.test (macMenu-21.3):
	* tests/menu.test (menu-27.1):
	* tests/unixEmbed.test (unixEmbed-8.2):
	* tests/unixWm.test (unixWm-50.4):  Replaced all [load {} tk]
	in Tk test suite with [load {} Tk].  [Bug 220940, Patch 411952]

2001-03-12  Don Porter  <>

	BRANCH dgp-privates-into-namespace:
	* doc/menu.n:
	* unix/mkLinks: Added documentation for [tk_menuSetFocus].

2001-03-12  Don Porter  <>

	BRANCH dgp-privates-into-namespace:
	* doc/text.n:
	* doc/tkvars.n:
	* unix/mkLinks: Added documentation for commands and variables
	matching tk_text*.

2001-03-08  Don Porter  <>

	BRANCH dgp-privates-into-namespace:
	* generic/tkTextDisp.c: 
	* library/unsupported.tcl: 
	* tests/textDisp.test: Restored the global variables tk_textRedraw
	and tk_textRelayout.  Since they match tk_*, they should remain
	publicly available until at least Tk 9.

2001-03-01  Don Porter  <>

	BRANCH dgp-privates-into-namespace:
	* library/unsupported.tcl: New file for Tk's unsupported
	interfaces.  Contains [tk::unsupported::ExposePrivateCommand]
	and [tk::unsupported::ExposePrivateVariable] that restore the
	availability of an old public name of one of Tk's private
	commands and variables, respectively, for those applications
	and extensions that depend on the old names against advice.

2001-02-28  Don Porter  <>

	BRANCH dgp-privates-into-namespace:  Feature branch to move all
	of Tk's private commands and variable into the ::tk namespace
	and its children.

	* doc/tkvars.n:  Documented private variable tkPriv renamed tk::Priv.

	* generic/tkBind.c:
	* generic/tkMenu.c:
	* generic/tkTextDisp.c:
	* library/bgerror.tcl:
	* library/button.tcl:
	* library/choosedir.tcl:
	* library/clrpick.tcl:
	* library/comdlg.tcl:
	* library/console.tcl:
	* library/dialog.tcl:
	* library/entry.tcl:
	* library/focus.tcl:
	* library/listbox.tcl:
	* library/menu.tcl:
	* library/msgbox.tcl:
	* library/optMenu.tcl:
	* library/palette.tcl:
	* library/scale.tcl:
	* library/scrlbar.tcl:
	* library/spinbox.tcl:
	* library/tclIndex:
	* library/tearoff.tcl:
	* library/text.tcl:
	* library/tk.tcl:
	* library/tkfbox.tcl:
	* library/xmfbox.tcl:
	* mac/tkMacMenu.c:
	* tests/clrpick.test:
	* tests/filebox.test:
	* tests/macMenu.test:
	* tests/menu.test:
	* tests/menuDraw.test:
	* tests/msgbox.test:
	* tests/text.test:
	* tests/textDisp.test:
	* tests/unixMenu.test:
	* tests/winMenu.test:
	* tests/xmfbox.test:
	* unix/tkUnixDialog.c:  All Tk commands matching ::tk[A-Z]* and
	all Tk private variables in the global namespace were renamed to
	live in the namespace ::tk or one of its children.  

2001-02-13  Eric Melski  <>

	* doc/photo.n: [Bug 132213] Added clarification on interpretation
	of ranges for "photoName data -from" subcommand.

2001-02-12  D. Richard Hipp  <>

	TIP #21: Asymmetric padding in the pack and grid geometry managers.
	With this changes, you can now say "-padx {10 20}" to put 10 pixels
	of padding on the left and 20 on the right.  Similar rules apply
	for vertical padding.  See the revised documentation for details.

2001-01-02  Andreas Kupries  <>

	* Everything below belongs together and implements TIP #8
	  (SF patch #102833).

	* win/tkWinWm.c (line 56f): Added icon structures.
	* win/tkWinWm.c (struct WmInfo, line 242): Added reference to
	  optional icon for titlebar.
	* win/tkWinWm.c (struct ThreadSpecificData, line 335): Added
	  reference to optional default icon for toplevel windows.
	* win/tkWinWm.c (line 387 ... 1169): All the new functions required
	  to deal with icon specifications, 'InitWm' changed.
	* win/tkWinWm.c (TkWmNewWindow, UpdateWrapper, TkWmDeadWindow, Tk_WmCmd):
	  Added initialization and handling of the new fields.
	* doc/wm.n: Documentation updated to explain the newly available

2000-12-13  jeff hobbs  <>

	* generic/tkObj.c (SetMMFromAny): Added ability to recognize
	double type object to speed up canvas coord calculations.
	[Patch 403327]

2000-12-12  Donal K. Fellows  <>

	* doc/entry.n: Improved documentation of interplay between the
	  -state and -textvariable options.

2000-11-29  Donal K. Fellows  <>

	* tests/image.test (image-1.10): Improved this test, which
	  previously only worked if the command failed to delete the root
	  window, and caused *major* trouble otherwise...
	* generic/tkImage.c (EventuallyDeleteImage): Created this function
	  so that images that get deleted during the creation of an image
	  won't cause a nasty core dump.  Properly fixes bug #120819.

2000-11-28  Donal K. Fellows  <>

	* doc/image.n: 
	* generic/tkImage.c (Tk_ImageObjCmd): Backed out previous change.
	  Bug #120819 is back again in force.  Left the test in there

2000-11-23  Donal K. Fellows  <>

	* doc/image.n: 
	* tests/image.test (image-1.10):
	* generic/tkImage.c (Tk_ImageObjCmd): Prohibited image names that
	  start with "." since they can cause some really obscure
	  crashes.  Fixes Bug #120819.

2000-11-21  Eric Melski  <>

	Overall change:  Implemented TIP 5, which exports
	TkClassProcs/TkSetClassProcs as Tk_ClassProcs/Tk_SetClassProcs,
	adding a size field to Tk_ClassProcs to allow for future
	expansion, and renaming the geometryProc to worldChangedProc,
	which is more in keeping with the actual use of the callback.

	* unix/mkLinks: Added link for Tk_SetClassProcs.

	* doc/SetClassProcs.3: Documentation for

	* generic/tkCanvas.c:
	* generic/tkEntry.c:
	* generic/tkFrame.c:
	* generic/tkListbox.c:
	* generic/tkMenu.c:
	* generic/tkMessage.c:
	* generic/tkScale.c:
	* generic/tkText.c: Updated to use Tk_ClassProcs/Tk_SetClassProcs
	instead of TkClassProcs/TkSetClassProcs.

	* generic/tkMenubutton.c:
	* generic/tkScrollbar.c:
	* generic/tkButton.c: Updated to use Tk_SetClassProcs instead of

	* generic/tkMenubutton.h:
	* generic/tkScrollbar.h:
	* generic/tkButton.h:
	* win/tkWinButton.c:
	* win/tkWinScrlbr.c:
	* mac/tkMacButton.c:
	* mac/tkMacMenubutton.c:
	* mac/tkMacScrlbr.c:
	* unix/tkUnixButton.c:
	* unix/tkUnixMenubu.c:
	* unix/tkUnixScrlbr.c: Updated to use Tk_ClassProcs instead of

	* generic/tkDecls.h:
	* generic/tkStubInit.c:
	* generic/tkIntDecls.h: Regenned from tk.decls, tkInt.decls.
	* generic/tk.h: Added declaration of Tk_ClassProcs, with size
	field.  Added typedef's for Tk_ClassCreateProc,
	Tk_ClassWorldChangedProc, Tk_ClassModalProc.  Added definition of
	Tk_GetClassProc macro, shorthand for extracting a member of the
	Tk_ClassProcs structure.

	* generic/tkInt.h: Removed declaration of TkClassProcs,
	TkClassGeometryProc, etc.

	* generic/tkBind.c (Tk_BindEvent): Updated to use Tk_GetClassProc
	macro to extract modalProc; added check that the modalProc is non-NULL.

	* generic/tkFont.c (RecomputeWidgets): Updated to use
	Tk_GetClassProc macro to extract worldChangedProc; added comment
	about the choice of a recursive versus iterative algorithm for
	propagating world changed messages.

	* generic/tkWindow.c (Tk_MakeWindowExist): Updated to use
	Tk_GetClassProc macro to extract createProc from Tk_ClassProcs.

	* generic/tk.decls: Added declaration for Tk_SetClassProcs.

	* generic/tkInt.decls: Commented out declaration for
	TkSetClassProcs, which is made public by this change.  The entry
	is left in place, but commented, so that future developers will
	know not to reuse it's stub number.

2000-11-21  Donal K. Fellows  <>

	* doc/ConfigWidg.3: Added deprecation note from Bug #120944 - use
	Tk_SetOption() instead.

	* generic/tkImgPhoto.c (TkPhotoGetValidRegion): Applied patch to
	create this function and add it to tkInt stubs.  Should now be
	possible to write an extension that accesses the transparency data
	in a photo image.  Bug #120930

2000-11-03  Jeff Hobbs  <>

	8.4a2 RELEASE

	* generic/tkWindow.c (Initialize): added call to Tcl_SetMainLoop.
	This only has effect when tclsh is run (not wish), and then Tk is
	loaded in interactively.

2000-11-02  Jeff Hobbs  <>

	* win/tkWinButton.c:
	* win/tkWinDialog.c:
	* win/tkWinScrlbr.c:
	* win/tkWinWm.c: fixed up code for Win64 support.  This mostly
	remains in _WIN64 #ifdef's, until updated compilers are standard.

	* win/tcl.m4:
	* win/ updated for Win64 compile support

	* unix/configure:
	* win/configure: checked in configure scripts so people doing
	CVS checkouts aren't required to have autoconf.  Changes to in the future will require the corresponding
	configure script to also be re-autoconf'ed and checked in.

	* doc/event.n: added note that key events require window focus.

2000-11-01  Jeff Hobbs  <>

	* win/tkWinDialog.c (GetFileNameW, GetFileNameA,
	Tk_ChooseDirectoryObjCmd): created
	work-around for change in NT5.0/98 that caused no initialdir
	setting to open the browser up in the user's documents dir.

	* tests/color.test: marked color-2.6 nonPortable as we can't
	reliably assume what 'red' maps to.

2000-11-01  Eric Melski  <>

	* tests/winDialog.test: Corrected expected results for bad option
	tests (5.2, 5.5) to include -multiple option.

	* win/tkWinDialog.c: Added branch for 0 return from
	CommDlgExtendedError() switches; this was formerly treated as an
	error, but it actually is not, since it just means the user hit
	cancel or closed the dialog.  (GetFileNameW): Added better smarts
	such that -multiple is not considered a valid option for
	Removed CommDlgExtendedError() checks for color and choosedir
	dialogs, and removed all except the explicit invalid filename
	checks for the file dialogs.
2000-10-30  David Gravereaux  <>

	* win/
	* win/
	* win/
	* win/rc/tk.rc:
	* win/rc/tk_base.rc (new):
	* win/rc/wish.rc: Added logic to derive filenames better in the 
	resource scripts based on compile options along with better
	support for building a static wish shell with cursor resources.

2000-10-27  Jeff Hobbs  <>

	* unix/tcl.m4: added support for AIX-5.

	* tests/tk.test: 
	* doc/tk.n: updated to reflect default on status of useinputmethods.
	* library/tk.tcl: tk useinputmethods is set to 1 by default.  This
	enables Kanji and dead-char input by default.  Intro'd in
	1999-12-16 with default off to avoid some problems with older X
	servers that would slow down widget creation over time.

	* win/ (test, winhelp, tktest): corrected the
	TCL_LIBRARY path specification.

2000-10-18  Eric Melski  <>

	* win/tkWinDraw.c (RenderObject): Applied patch from [Bug: 6368],
	which corrects rendering of 1-pixel wide stippled lines on Windows.

	* generic/tkCanvLine.c (DisplayLine): Applied patch from 
	[Bug: 6368], corrects bugs relating to use of active- and
	disabledwidth values for displaying lines (disabledwidth was never
	used, and activewidth/disablewidths would only possibly be used
	when greater than default width, rather than when simply not equal
	to default width).

	* library/tkfbox.tcl (OkCmd): Applied patch from [Bug: 6365],
	which adds safety for directory names containing spaces or which
	are non-lists.

	* win/tkWinDialog.c (GetFileNameW, GetFileNameA, 
	Tk_ChooseColorObjCmd, Tk_ChooseDirectoryObjCmd): Added error
	checking for the return value from the common dialog functions, so
	that the commands will not silently fail if the common dialog
	returns an error. [Bug: 6369].

2000-10-10  Eric Melski  <>

	* generic/tkConfig.c (Tk_InitOptions): Added
	Tcl_IncrRefCount/Tcl_DecrRefCount calls on valuePtr, to prevent
	memory leaks when the value object comes from the option
	database.  [Bug: 6275].

2000-10-06  Jeff Hobbs  <>

	* win/ (cat32.${OBJEXT}): add win/ subdirectory to
	cat32 target to correctly find the source file.

2000-10-05  Eric Melski  <>

	* generic/tkCmds.c (Tk_WinfoObjCmd): Added check for
	TK_ANONYMOUS_WINDOW flag in the [winfo children] subcommand; if
	set, the window will not be printed in the list of children.

	* doc/CrtWindow.3: Added entry for Tk_CreateAnonymousWindow.

	* generic/tkWindow.c 
	(Tk_CreateAnonymousWindow): New API for creating anonymous
	windows.  These windows are manipulable from C, but not from Tcl,
	because they have no pathname associated with them.  They are used
	initially by widgets that do rubber-band resizing (panedwindow,
	multi-column listbox, etc.), and may be useful for other widgets
	as well (dropbox, combobox).
	(Tk_DestroyWindow): Added check for TK_ANONYMOUS_WINDOW flag when
	determining whether to generate a DestroyNotify event.

	* generic/tkStubInit.c: 
	* generic/tkDecls.h: Regen'd from tk.decls.

	* generic/tk.decls: Added Tk_CreateAnonymousWindow declaration.

	* generic/tk.h: Added TK_ANONYMOUS_WINDOW flag for Tk_Window's.

2000-10-04  Eric Melski  <>

	* doc/MaintGeom.3: Noted that Tk_MaintainGeometry handles direct
	descendants properly.

	* generic/tkGeometry.c (Tk_MaintainGeometry): Added a check for
	the case in which the slave window is a direct descendant of the
	master window.  In this case, we need not set up the additional
	infrastructure normally provide by Tk_MaintainGeometry, because we
	can rely on the parent/child relationship to handle it for us
	implicitly.  In this case, Tk_MaintainGeometry just calls directly
	to Tk_MoveResizeWindow.  This allows geometry managers to simply
	always use Tk_MaintainGeometry to maintain geometry for slaves,
	and avoid doing the direct descendant check themselves.
	(Tk_UnmaintainGeometry): Added a matching check for the direct
	descendant case; in this case, Tk_UnmaintainGeometry simply
	returns immediately.

2000-10-01  Eric Melski  <>

	* generic/tkButton.c (ConfigureButton): Added tests for -compound
	option, so that when there is a textvariable and an image, and
	-compound is not none, the button will display both the
	textvariable and the image.

	* doc/SetOptions.3: Added note that restoreProc and freeProc may
	be NULL.

	* generic/tkConfig.c (Tk_RestoreSavedOptions): For custom options,
	added test that the restoreProc is not NULL, to allow for custom
	options that don't care about supporting Tk_RestoreSavedOptions.

2000-09-29  D. Richard Hipp <>

	* generic/tkBitmap.c: Changes to prevent a BadMatch error from the
	Xserver when the same bitmap is used on two or more screens of the
	same display.

	* tests/menu.test: Print a warning if the TK_ALT_DISPLAY environment
	variable is not configured so as to test for the bug fix above.

	* library/tk.tcl (::tk::SetGrabFocus): "Catch" the grab in case
	another application already holds the grab and the "grab" command

2000-09-29  Jeff Hobbs  <>

	* win/ commented use of TESTFLAGS
	* unix/ added TESTFLAGS to test and testlang targets to
	conform with Windows makefile and TEA style.

2000-09-29  Eric Melski  <>

	* generic/tkTest.c: Fixed tests to use updated API.

	* doc/SetOptions.3:
	* generic/tk.h: 
	* generic/tkConfig.c: Changed interface for Tk_CustomOptionSetProc
	and Tk_CustomOptionGetProc; these now take a pointer to the start
	of the widget record, and an integer offset to the slot for the
	option value, instead of just a pointer to the slot.  This allows
	more sophisticated options to do interesting things based on other
	data in the widget record.

2000-09-17  Eric Melski  <>

	* generic/tk.h: Added declaration of Tk_ObjCustomOption structure,
	used for TK_OPTION_CUSTOM, and typedef's of the functions
	Tk_CustomOptionSetProc, Tk_CustomOptionGetProc,
	Tk_CustomOptionRestoreProc, and Tk_CustomOptionFreeProc, used for

	* doc/SetOptions.3: Added documentation of TK_OPTION_CUSTOM, and
	section "CUSTOM OPTION TYPES" explaining how to create and use
	custom options.

	* tests/config.test: Added tests for custom option type.

	* generic/tkTest.c: Added test support for TK_OPTION_CUSTOM to
	TestobjconfigObjCmd.  Added CustomOption* functions to implement a
	test custom option.

	* generic/tkConfig.c: Added new option type TK_OPTION_CUSTOM,
	which allows the definition of custom option types by creating
	parsing, printing, freeing, and restoring procedures for a custom
	option.  This is needed by the text and canvas widgets if they are
	to be fully objectified.

2000-09-07  Jeff Hobbs  <>

	* doc/Tk_Init.3:
	* doc/bell.n:
	* doc/loadTk.n: minor doc cleanup

2000-09-06  Eric Melski  <>

	* doc/HWNDToWindow.3: 
	* doc/GetHWND.3: Changed synopsis to indicate the tkPlatDecls.h
	should be included, not tk.h.

	* generic/tkPlatDecls.h: Removed #include <windows.h> for Windows,
	a better solution for now is to update the docs and have extension
	authors #include <tkPlatDecls.h>.

	* generic/tk.h: Removed '#include "tkPlatDecls.h"', as the
	incorrect inclusion order between windows.h/tkPlatDecls.h causes
	build conflicts on Windows.

	* generic/tkPlatDecls.h: Added #include <windows.h> for Windows,
	so that HWND, etc., are defined properly.

2000-09-06  Jeff Hobbs  <>

	* doc/canvas.n: fixed doc bug (ellson). [Bug: 6218]

	* generic/tk.h:
	* unix/
	* unix/tk.spec:
	* win/ updated to patchlevel 8.4a2

	* generic/tkMessage.c (MessageWidgetObjCmd): initialized result to
	avoid pedantic warning.

	* generic/tkGrab.c (Tk_GrabObjCmd): changed len arg from size_t to
	int to fix pedantic warning.

2000-09-01  Eric Melski  <>

	* win/ (install-libraries): 
	* win/ (install-libraries): 
	* unix/ (install-libraries): Added tkPlatDecls.h to
	list of header files to install.

	* generic/tk.h: Added #include "tkPlatDecls.h", which declares the
	platform specific component of the public Tk stubs API's.

2000-08-29  Eric Melski  <>

	* win/tkWinMenu.c (DrawWindowsSystemBitmap): Use scratchDC
	for determining the source's logical coordinates.  Patch from 
	[Bug: 6134 (Markus Oberhumer)].

	* win/tkWinMenu.c (SetDefaults): Compute the indicatorDimensions[]
	under Windows NT/2000 in the same way as under Windows 95/98.
	Patch from [Bug: 6134 (Markus Oberhumer)].

	* win/tkWinFont.c (GetScreenFont): Added a memset() to
	pacify memory checkers.  Patch from [Bug: 6134 (Markus Oberhumer)].

	* library/tkfbox.tcl (::tk::dialog::file::Update): Corrected
	handling of multi-pattern filters (eg, "* *.*"), which was broken
	by the getOpenFile performance patches applied earlier.

2000-08-24  Eric Melski  <>

	* doc/toplevel.n: 
	* doc/spinbox.n: 
	* doc/scrollbar.n: 
	* doc/scale.n: 
	* doc/menubutton.n: 
	* doc/menu.n: 
	* doc/listbox.n: 
	* doc/entry.n: 
	* doc/frame.n: 
	* doc/message.n: 
	* doc/checkbutton.n: 
	* doc/radiobutton.n: 
	* doc/button.n: 
	* doc/label.n: 
	* doc/canvas.n: 
	* doc/text.n: Fixed Standard Options section to make best use of
	new tab settings in man.macros.

2000-08-24  Mo DeJong  <>

	* unix/README: Update to account for removal of --enable-gcc.
	* unix/
	* unix/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option.
	* win/ 
	* win/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option.
	Remove quick hack that provided cross compile support for
	windows builds.

2000-08-23  Jeff Hobbs  <>

	* generic/tkButton.c (ButtonTextVarProc): reversed change below,
	it was not correct.

2000-08-22  Jeff Hobbs  <>

	* generic/tkButton.c (ButtonTextVarProc): changed order of
	incr/decr of new value object, in case they are equal.

2000-08-18  Eric Melski  <>

	* generic/tkImgPhoto.c (ImgPhotoGet): Removed redundant call to
	DitherInstance; this call was formerly being made from
	ImgPhotoGet->ImgPhotoConfigureInstance->DitherInstance, and
	ImgPhotoGet->DitherInstance.  The second call was removed.

2000-08-10  Jeff Hobbs  <>

	* doc/SetOptions.3: added missing ')'.

2000-08-09  Eric Melski  <>

	* doc/SetOptions.3: Updated documentation to reflect support for

	* generic/tkConfig.c: Added for TK_OPTION_NULL_OK support for

	* doc/place.n: Updated, reformatted manual entry.

	* tests/place.test: Added many tests.

	* generic/tkPlace.c (Tk_PlaceObjCmd): Updated to use Tk
	widget-option management facilities to manage place options (-x,
	-y, etc.), which simplifies the placer code.  Added support for
	[place configure pathName] and [place configure pathName -option],
	similar to the behavior of the configure subcommand supported by

2000-08-08  Eric Melski  <>

	* tests/place.test: Extended test suite to test error returns from

	* generic/tkInt.h: Replaced Tk_PlaceCmd prototype with
	Tk_PlaceObjCmd prototype.

	* generic/tkWindow.c: Updated [place] command entry to use new
	Tcl_Obj interface.

	* generic/tkPlace.c (Tk_PlaceObjCmd): Tcl_Obj'ified [place] command.

2000-08-07  Eric Melski  <>

	* generic/tkWindow.c: Updated [selection] command entry to use
	new Tcl_Obj interface.

	* generic/tkInt.h: Replaced Tk_SelectionCmd prototype with
	Tk_SelectionObjCmd prototype.

	* tests/select.test: Updated test suite to recognize standardized
	error messages.

	* generic/tkSelect.c (Tk_SelectionObjCmd): Tcl_Obj'ified
	[selection] command.

2000-08-07  Jeff Hobbs  <>

	* doc/cursors.n: changed .SS to more compatible macros.

2000-08-05  Jeff Hobbs  <>

	* library/safetk.tcl: rationalized the setting of tk_library when
	initialized Tk in a safe interpreter.

2000-08-03  Eric Melski  <>

	* generic/tkWindow.c: Updated "grab" command entry to use
	Tcl_Obj'ified command.

	* generic/tkInt.h: Replaced Tk_GrabCmd prototype with
	Tk_GrabObjCmd prototype.

	* tests/grab.test: Initial suite of tests for [grab] command.

	* generic/tkGrab.c (Tk_GrabObjCmd): Tcl_Obj'ified [grab] command.

	* generic/tkInt.h: Removed Tk_AfterCmd function prototype; the
	function does not exist (since 4.0p3).  Cleaned up some line
	* generic/tk.h: Removed "#define Tk_AfterCmd Tcl_AfterCmd";
	nothing in the core uses Tk_AfterCmd, and Tcl_AfterCmd doesn't exist
	anymore anyway.

	* generic/tkInt.h: Replace Tk_BindCmd prototype with
	Tk_BindObjCmd prototype.

	* generic/tkWindow.c: Updated "bind" command entry to use
	Tcl_Obj'ified command.

	* generic/tkCmds.c (Tk_BindObjCmd): Tcl_Obj'ified [bind] command.

	* tests/bind.test: Tweaked expected error messages for [bindtags]
	to comply with updated error messages.

	* generic/tkMenu.c (CloneMenu): Replaced calls to Tk_BindtagsCmd
	with equivalent calls to Tk_BindtagsObjCmd.

	* generic/tkInt.h: Replace Tk_BindtagsCmd prototype with
	Tk_BindtagsObjCmd prototype.

	* generic/tkWindow.c: Updated "bindtags" command entry to use
	Tcl_Obj'ified command.

	* generic/tkCmds.c (Tk_BindtagsObjCmd): Tcl_Obj'ified [bindtags]

2000-08-02  Eric Melski  <>

	* generic/tkCmds.c (Tk_TkwaitObjCmd): Tcl_Obj'ified [tkwait] command.

	* generic/tkWindow.c: Updated "tkwait" command entry to use
	Tcl_Obj'ified command.

	* generic/tkInt.h: Replace Tk_TkwaitCmd prototype with
	Tk_TkwaitObjCmd prototype.

	* generic/tkGrid.c (Tk_GridCmd): Split [grid] subcommands into
	separate functions instead of inlining them all in Tk_GridCmd.

2000-08-01  Eric Melski  <>

	* generic/tkInt.h: Replaced prototype for Tk_MessageCmd with
	prototype for Tk_MessageObjCmd.

	* generic/tkWindow.c: Marked message command as using the new
	MessageObjCmd instead of the old MessageCmd.

	* tests/message.test: Added tests for the message widget.

	* generic/tkMessage.c: Obj'ified the message widget.

	* generic/tkInt.h: Removed prototype for Tk_ClipboardCmd, added
	prototype for Tk_ClipboardObjCmd.

	* generic/tkWindow.c: Updated function pointers for clipboard
	command to use Tcl_Obj version.

	* tests/clipboard.test: Updated tests to expect standard error

	* generic/tkClipboard.c (Tk_ClipboardObjCmd): Obj'ified
	Tk_ClipboardCmd -> Tk_ClipboardObjCmd.

2000-07-28  Eric Melski  <>

	* unix/tkUnixButton.c (TkpDisplayButton): Added bits to change
	the indicator color when radio-/check-buttons are disabled.  This
	reduces the visual incongruity when a group of these controls are
	disabled together.

	* win/tkWinMenu.c (ReconfigureWindowsMenu): Added MF_GRAYED bit
	for disabled menu entries, to ensure that those which are drawn by
	the system are shown grayed (such as entries on menubars) [Bug: 4372].

	* doc/label.n: Added -disabledforeground to list of options [Bug:

	* mac/tkMacDefault.h: 
	* unix/tkUnixDefault.h: Added default values for listbox
	disabledforeground and state.

	* win/tkWinDefault.h: Changed default listbox background color to
	white and listbox selection borderwidth to 0, in keeping with the
	"Microsoft Windows User Experience"; added default values for
	listbox disabledforeground and listbox state.

	* doc/listbox.n: Added documentation for -state option.

	* generic/tkListbox.c: Added support for -state to listbox. [RFE:

	* tests/listbox.test: Tests for listbox disabled state.

2000-07-27  Mo DeJong  <>

	* win/ TCL_STUB_LIB_FLAG and
	TK_STUB_LIB_FLAG should not include ${TCL_DBGX}
	in win/, fix that.

2000-07-25  Joe English  <>
	* doc: CanvPsY.3, ConfigWidg.3, CrtImgType.3, CrtItemType.3, 
	FontId.3, GetFont.3, canvas.n, font.n, options.n, text.n:
	Documentation fix: Replaced references to XFontStruct *
	and Tk_FontStruct with Tk_Font.

2000-07-24  Eric Melski  <>

	* tests/text.test: Added tests for -regexp -nocase searches with
	backslash character classes.

	* generic/tkText.c (TextSearchCmd): Text search did not work
	properly when -regexp and -nocase were used, in combination with
	backslash character classes represented by capital letters (ie,
	\W, \M); altered implementation of -regexp -nocase searches to use
	new regexp interfaces to fix this problem.  [Bug: 5988].

2000-07-21  Eric Melski  <>

	* tests/text.test: Added tests for searching when text is elided.

	* generic/tkText.c (TextSearchCmd): Text search was not returning
	the correct index when the search covered (but did not search)
	elided characters; corrected this by adjusting the match index by
	the number of elided characters preceeding the start of the match,
	just as is done with embedded windows, etc. [Bug: 5470].

2000-07-21  Mo DeJong  <>

	* win/ Add TK_STUB_LIB_FLAG and
	TK_BUILD_STUB_LIB_SPEC. These are needed to build a stub enabled

2000-07-20  Eric Melski  <>

	* unix/tkUnixDraw.c (TkScrollWindow): Replaced a use of a trinary
	operator with an if/else, to avoid build problems on some
	platforms [Bug: 5819].

	* win/ Applied patch from Don Porter to enhance nmake
	support on NT/Alpha [RFE: 5939].

2000-07-19  Eric Melski  <>

	* library/text.tcl: Enhanced <Tab> binding to behave like normal
	<Tab> bindings when the text widget is disabled (ie, it advances
	focus to the next widget).

	* generic/tkText.c (TextSearchCmd): Added a test for a NULL
	segment pointer when doing backwards searches for "" on an empty
	text widget. [Bug: 6007].

2000-07-18  Mo DeJong  <>

	* unix/aclocal.m4: Use tcl.m4.

	* unix/ Properly quote LOCALES variable. Properly quote
	argument to m4 macro.
	* unix/tcl.m4: Add updated file from tcl.
	* win/tcl.m4: Updated file from tcl.

2000-07-18  Eric Melski  <>

	* library/tkfbox.tcl: Fixed keyboard navigation in the iconlist.

	* unix/ (MAKE_LIB): Corrected definition of MAKE_LIB
	for shared builds, with patch from Mike Hopkirk.
2000-07-18  Mo DeJong  <>

	* win/ Fix TCL_GENERIC_DIR variable
	so that it uses the TK_SRC_DIR in the same way
	as the unix version.

2000-07-17  David Gravereaux  <>

	* generic/tkConsole.c: Added comments for a Win2K OS bug with
	GetStdHandle(STD_OUTPUT_HANDLE).  No change was done to the code
	as the resulting behaviour of ShouldUseConsoleChannel() was
	correct, anyways. [BUG: 5971]

2000-07-17  Eric Melski  <>

	* generic/tkStubImg.c (Tk_InitImageArgs): Applied patch from [Bug:
	5990], from Anselm Lingnau, which correctly sets the value of
	useNewImage to 0 when the new image system is not to be used,
	instead of leaving it at -1, which causes the check to be
	performed more times than is really necessary.
	* library/bgerror.tcl: Fixed a typo in one of the bgerror dialog

	* library/msgs/it.msg: Italian message catalog, from Paolo
	Brutti. [RFE: 6012].

2000-07-07  Eric Melski  <>

	* library/msgs/el.msg: Greek message catalog, from George Petasis.

2000-07-07  Mo DeJong  <>

	* win/ Fix subst of TK_SHARED_BUILD
	variable in Fix definition of
	TK_SRC_DIR variable so that it matches the
	unix version.

2000-07-05  Mo DeJong  <>

	* generic/tkFileFilter.c (AddClause): Cast to match function prototype.
	* win/stubs.c (_XInitImageFuncPtrs): Add return value for function.
	* win/tkWinButton.c (buttonStyles, ButtonBindProc, ComputeStyle):
	Remove unused declarations.
	* win/tkWinColor.c (GetColorByName, GetColorByValue): Remove unused
	function declarations.
	* win/tkWinDialog.c (TrySetDirectory): Remove unused function 
	* win/tkWinEmbed.c (TkWinEmbeddedEventProc): Cast to match function 
	* win/tkWinMenu.c (winMenuMutex, MenuExitProc): Remove unused
	* win/tkWinWindow.c (StackWindow): Remove unused declaration.
	* win/tkWinWm.c (ConfigureEvent): Remove unused declaration.
	* win/tkWinX.c (winXMutex): Remove unused declaration.
	* xlib/ximage.c (XCreateBitmapFromData): Cast to match function 

2000-07-05  Eric Melski  <>

	* tests/imgPhoto.test: Added test for GIF writing code [Bug: 5823].

	* generic/tkImgGIF.c: Applied patch from Jan Nijtmans to fix a
	problem with the GIF writing code [Bug:	5823].

	* generic/tkCursor.c: Added initialization for nextPtr field of
	TkCursor, patch from Nijtmans/Howlett.

2000-07-05  Eric Melski  <>

	* library/msgs/nl.msg: Dutch message catalog for dialogs, from Jan

2000-06-30  Eric Melski  <>

	* doc/keysyms.n: 
	* doc/colors.n: Added extra .CE/.CS pairs to break up the large
	text block, so that the generated Windows help file could
	accomodate the manual entry. [Bug: 5862]

	* tests/filebox.test: Adjusted tests to accomodate -multiple.

	* library/xmfbox.tcl: Adjusted arguments list construction such
	that -multiple is not presented as an option for tk_getSaveFile.

	* library/tk.tcl: Added test for safe interpreter status before
	attempting to load message catalogs (which is impossible in a
	standard safe interpreter).  This means that SafeTk will not have
	localized dialogs, unless a means is found for loading the message
	catalog files.

2000-06-29  Eric Melski  <>

	* library/msgs/de.msg: German message catalog.
	* library/msgs/en.msg: English message catalog.

	* library/msgs/es.msg: Spanish message catalog.

	* library/msgs/fr.msg: French message catalog.

	* unix/ 
	* unix/ 
	* library/tk.tcl:
	* library/clrpick.tcl:
	* library/choosedir.tcl:
	* library/console.tcl:
	* library/msgbox.tcl:
	* library/tkfbox.tcl:
	* library/xmfbox.tcl:
	* library/bgerror.tcl: Applied patches from Laurent Duperval to 
	provide localization of Tk dialogs. [RFE: 2671].

2000-06-27  Eric Melski  <>

	* generic/tkMenu.c (DeleteMenuCloneEntries): Applied fix from
	[Bug: 5275], which corrected a segfault-causing indexing problem
	when deleting entries from torn-off menus.

2000-06-22  Eric Melski  <>

	* doc/getOpenFile.n: Updated with information about -multiple.

	* library/choosedir.tcl: Tweaked to handle modified tkIconList API's.

	* library/tkfbox.tcl: Preliminary implementation of multiple
	selection; based on patch from [RFE: 604].  Some of the tkIconList
	functions changed to support this and to make the dialog faster.

	* library/xmfbox.tcl: Added support for multiple selection, from
	patch in [RFE: 4999].

2000-06-21  Eric Melski  <>

	* library/text.tcl: Corrected behavior of text widget with respect
	to this sequence of events:  click, shift-click.  Previously, the
	shift-click just moved the cursor and anchor; now, the shift-click
	will select the text between the click and the shift-click, which
	is the behavior most users expect. [Bug: 5929].

2000-06-19  Eric Melski  <>

	* library/bgerror.tcl: Added auto-truncation for long error
	messages (more than 30 characters wide, or more than 4 lines
	long), so that the dialog remains a manageable size. [RFE: 5782]

2000-06-15  Eric Melski  <>

	* win/tkWinDialog.c: Patched to support tk_getOpenFile
	-multiple. [RFE: 604].

2000-06-13  Eric Melski  <>

	* win/aclocal.m4: 
	* win/ 
	* win/ Applied patch from [RFE: 5844], to provide
	support for the mingw compile environment for Windows.

2000-06-06  Jeff Hobbs  <>

	8.4a1 RELEASE

2000-06-03  Jeff Hobbs  <>

	* doc/CrtCmHdlr.3: new doc for ClientMessage handler procs
	* generic/tk.h: added typdef for Tk_ClientMessageProc
	* generic/tkStubInit.c:
	* generic/tkDecls.h:
	* generic/tk.decls: Added Tk_CreateClientMessageHandler and
	Tk_DeleteClientMessageHandler declarations.
	* generic/tkEvent.c (Tk_HandleEvent): Added
	Tk_CreateClientMessageHandler and Tk_DeleteClientMessageHandler to
	allow adding event handlers that invoke for ClientMessage events.
	This is necessary to support unix dnd protocols.

2000-06-02  Jeff Hobbs  <>

	* canvas.test: added test for 5783.
	* generic/tkCanvPoly.c (DisplayPolygon): added checks for the
	polygon fillGC not being empty to prevent segfault. [Bug: 5783]

2000-05-31  Eric Melski  <>

	* library/bgerror.tcl: Improved bgerror based on work by Donal
	K. Fellows; no longer dependant on tk_dialog; features a
	Windows-esque "Details" button, and a customizable extra function
	button that allows the user to (for example) save the stack trace
	to a file.

2000-05-30  Eric Melski  <>

	* generic/tkImgGIF.c: Changed defines for GIF87a/GIF89a to be
	static char arrays with integer initialization, to address EBCIDIC
	vs. ASCII encoding issues and to handle compilers that don't deal
	with "\xAB" syntax for specifying hex values in strings.

2000-05-28  Jeff Hobbs  <>

	* doc/spinbox.n: (new file) docs for spinbox widget
	* generic/tkInt.h: added Tk_SpinboxObjCmd declaration
	* generic/tkEntry.c: added 'spinbox' widget - an extension of the
	entry widget type.
	* generic/tkWindow.c: added 'spinbox' to core Tk commands
	* library/spinbox.tcl: (new file) binding and helper procs for spinbox
	* library/tk.tcl: added spinbox.tcl to list of files to source
	* tests/entry.test: updated changed error messages
	* tests/spinbox.test: (new file) test suite for spinbox

	* generic/tkPlace.c (Tk_PlaceCmd): reworked place master/slave
	table init'n to prevent seg fault when using place on multiple

	* generic/tk.h: added comments ot Tk_FakeWin structure

2000-05-26  Eric Melski  <>

	* generic/tkOption.c (Tk_GetOption): Extended Tk_GetOption to
	support a new syntax for option names in option tables.  If the
	option name has an embedded ".", it indicates that the name field
	contains both an option name and an overriding widget class, in
	the form "class.option".  The lookup for the option value will be
	performed as though the widget class is that specified, rather
	than the actual widget class.
	(SetupStacks): Replaced several lines of array element copying
	with a for loop for conciseness.

2000-05-25  Eric Melski  <>

	* library/button.tcl: Tweaks for -overrelief handling on Windows.

	* doc/radiobutton.n: Added documentation for -overrelief option.

	* doc/checkbutton.n: Added documentation for -overrelief option.

	* doc/label.n: Added documentation for -state option.

	* generic/tkButton.c: Added -overrelief option for checkbuttons,
	and radiobuttons.

	* library/button.tcl (tkButtonDown, macintosh version): Added
	protection against querying the -repeatdelay option from a widget
	that doesn't support it (ie, checkbuttons, radiobuttons, etc).
	Other platforms use a different binding script for checkbuttons
	and radiobuttons, so they don't have this issue.
	(tkCheckRadioEnter, windows version):  Added code to handle
	-overrelief for check/radiobuttons on windows.

2000-05-22  Eric Melski  <>

	* generic/tkButton.c: Added -activeforeground, -activebackground
	for labels, for the -state option.

	* doc/label.n: Added documentation for -state option,
	-activeforeground, -activebackground.

2000-05-22  Jeff Hobbs  <>

	* win/ (install-libraries): corrected to install X
	headers [Bug: 5516]

	* doc/bind.n: 
	* doc/canvas.n: 
	* doc/entry.n: 
	* doc/listbox.n: 
	* doc/photo.n: doc fix-ups [Bug: 5396]

2000-05-17  Jeff Hobbs  <>

	* doc/bell.n:
	* tests/bell.test:
	* generic/tkCmds.c (Tk_BellObjCmd): added -nice option to
	optionally avoid resetting screen saver [Bug: 4279]

2000-05-15  Jeff Hobbs  <>

	* win/tkWinWm.c (Tk_WmCmd): changed wm deiconify from using idle
	callback to calling restack and focus code immediately.

2000-05-17  Eric Melski  <>

	Overall change:  Added "-readonlybackground" option for entries,
	to enable a visual change when state goes to readonly.

	* mac/tkMacDefault.h (DEF_ENTRY_READONLY_BG_COLOR,
	* win/tkWinDefault.h (DEF_ENTRY_READONLY_BG_COLOR,
	* unix/tkUnixDefault.h (DEF_ENTRY_READONLY_BG_COLOR,
	DEF_ENTRY_READONLY_BG_COLOR): Added default values for entry
	-readonlybackground option.

	* generic/tkEntry.c: Added -readonlybackground option, cleaned up
	excessive use of graphics contexts.

	* tests/entry.test: Added configuration test for
	-readonlybackground option.

	* doc/entry.n: Added documentation for -readonlybackground option.

	Overall change:  changed implementation of "link" relief for
	buttons.  Instead of a new relief style (-relief link), there is a
	new option, -overrelief, which if set is used when the mouse is
	over the button.

	* doc/SetOptions.3: Added information about TK_OPTION_NULL_OK with

	* win/tkWinButton.c: Removed bits about TK_RELIEF_LINK.

	* tests/button.test: Added tests for -overrelief; removed tests
	for -relief link.

	* mac/tkMacButton.c: Removed bits about TK_RELIEF_LINK.

	* generic/tkOldConfig.c: Removed bits about TK_RELIEF_LINK.

	* generic/tkConfig.c: Removed bits about TK_RELIEF_LINK; added

	* library/button.tcl: Added binding support for -overrelief.

	* generic/tk3d.c (Tk_GetRelief): Added branch for TK_RELIEF_NULL.

	* generic/tkButton.c: Added -overrelief option; removed
	Enter/Leave EventProc masks and handlers.

	* generic/tk.h: Added TK_RELIEF_NULL definition, removed

	* mac/tkMacDefault.h (DEF_BUTTON_OVER_RELIEF): 
	* win/tkWinDefault.h (DEF_BUTTON_OVER_RELIEF): 
	* unix/tkUnixDefault.h (DEF_BUTTON_OVER_RELIEF): Added default
	value for the -overrelief option.

2000-05-16  Eric Melski  <>

	* win/tkWinMenu.c (ReconfigureWindowsMenu): Added code to add the
	MF_SEPARATOR bit for SEPARATOR_ENTRY menu items.  This causes
	separator entries on the system menu to be drawn correctly [Bug: 5451].

2000-05-15  Eric Melski  <>

	* doc/image.n: Added documentation for [image inuse] command.

	* tests/image.test: Added tests for [image inuse] command.

	* generic/tkImage.c (Tk_ImageObjCmd): Added [image inuse] command,
	which provides a means for programmers to determine if a given
	image is in use by any widgets. [RFE: 3327].

2000-05-14  Eric Melski  <>

	* doc/clipboard.n: Added documentation for "clipboard get".

	* generic/tkClipboard.c (Tk_ClipboardCmd): Added "clipboard get"
	subcommand [RFE: 4628].

	* tests/clipboard.test: Updated to use "clipboard get" instead of
	"selection get -s CLIPBOARD".

	* library/entry.tcl: Adjusted Button-1 binding to set focus to the
	entry when it is readonly or normal.

	* doc/entry.n: Added documentation for readonly state,
	-disabledforeground, -disabledbackground.

	* tests/entry.test: Added tests for readonly state.

	* generic/tkEntry.c: Added support for "readonly" state, and
	redefined "disabled" state.  A disabled entry will display its
	text in a dimmed color and possibly with a different background,
	and will be completely unusable (no selection, no editing).  A
	readonly entry will look like a normal entry, but it will not be
	editable; selection is still allowed. [RFE: 4239].  To support the
	new disabled state properly, "-disabledforeground" and
	"-disabledbackground" options were added.

	* win/tkWinDefault.h:
	* mac/tkMacDefault.h:
	* unix/tkUnixDefault.h: Added DEF_ENTRY_DISABLED_FG,

2000-05-12  Eric Melski  <>

	* unix/tkUnixButton.c (TkpDisplayButton, TkpComputeButtonGeometry): 
	* mac/tkMacButton.c (TkpDisplayButton, TkpComputeButtonGeometry): 
	* win/tkWinButton.c (TkpDisplayButton, TkpComputeButtonGeometry): 
	Added code for drawing compound buttons.

	* tests/button.test: Added configuration tests for -repeatdelay,
	-repeatinterval, -compound.

	* library/button.tcl: Added support for -repeatedelay,
	-repeatinterval options.

	* generic/tkOldConfig.c: Changed handling of link relief so that
	proper error messages are used.

	* generic/tkButton.h: Added -compound, -repeatdelay,
	-repeatinterval options.

	* generic/tkButton.c: Added event watchers for enter/leave events,
	for link relief support.

	* generic/tk3d.c: Changed handling of link relief so that proper
	error messages are used.

	* generic/tk.h: Changed values of
	TK_OPTION_LINK_OK/TK_CONFIG_LINK_OK for link relief support.

2000-05-12  Jeff Hobbs  <>

	* win/tkWinFont.c (LoadFontRanges): improved support for all chars
	in 0-255 range for bitmap ANSI fonts.  May be improved to handle
	bitmap non-ANSI fonts in the future. [Bug: 2172]

	* win/tkWinWm.c (RaiseWinWhenIdle): added TK_DONT_DESTROY_WINDOW
	to flag check to prevent timing related core dump. [Bug: 5438]

2000-05-11  Jeff Hobbs  <>

	* win/tkWinTest.c (TestclipboardObjCmd): ensured CloseClipboard
	would always get called for each OpenClipboard.

	* tests/focus.test (focusSetupAlt): removed wm withdraw from proc
	as it would cause a hang for tkwait visibility

	* tests/menu.test:
	* generic/tk3d.c:
	* generic/tkColor.c:
	* generic/tkCursor.c: corrected handling of 3DBorder, Cursor and
	Color objects on multiple screens. [Bug: 5454]

2000-05-09  Eric Melski  <>

	* doc/button.n: Added documentation for link relief.

	* tests/button.test: Added tests for link relief for buttons.

	* generic/tk.h (TK_CONFIG_LINK_OK): Added definition of

	* generic/tk3d.c: Added support for link relief. [RFE: 4348]

	* mac/tkMacButton.c (TkpDisplayButton): 
	* unix/tkUnixButton.c (TkpDisplayButton): Added support for link
	relief. [RFE: 4348]

	* generic/tkOldConfig.c (Tk_ConfigureWidget): 
	* generic/tkConfig.c (DoObjConfig): Added understanding of link
	relief, which is allowed only for widgets that have
	TK_OPTION_LINK_OK or TK_CONFIG_LINK_OK set for the "-relief"
	option. [RFE: 4348]

	* generic/tkButton.c: Added TK_OPTION_LINK_OK to "-relief" option
	for buttons. [RFE: 4348]

	style bit, so that transient windows have full-size titlebars
	(like the tk_getOpenFile dialog).

	* win/tkWinMenu.c (GetMenuSeparatorGeometry): Tweaked height
	requested for separator bars to be (linespace - (2*descent))
	instead of just (linespace); this makes the separator occupy a
	more correct amount of vertical space. [Bug: 5303].

2000-05-09  Jeff Hobbs  <>

	* library/focus.tcl: fixed calling of takeFocus proc [Bug: 5372]

2000-05-02  Jeff Hobbs  <>

	* generic/tk.h:
	* library/tk.tcl:
	* mac/README:
	* unix/README:
	* unix/
	* unix/tk.spec:
	* win/README:
	* win/aclocal.m4:
	* win/
	* win/ updated patchlevel to 8.4a1

	* unix/ added tk.spec to dist target

2000-04-27  Eric Melski  <>

	* doc/Tk_Init.3: Added Tk_SafeInit information [Bug: 1884].

	* doc/keysyms.n: Man page enumerating keysyms [RFE: 1645].

	* doc/colors.n: Man page enumerating valid color names [RFE: 1645].

	* doc/cursors.n: Man page enumerating valid cursor values [RFE: 1645].

	* library/msgbox.tcl: Corrected Unix tk_messageBox implementation
	to make the first button the default when no default is specified
	[Bug: 2218].

	* doc/messageBox.n: Updated documentation with regards to
	selection of default button when none is specified (now it will
	use the first button as the default in that case) [Bug: 2218].

2000-04-26  Jeff Hobbs  <>

	8.3.1 RELEASE

	* mac/README:
	* unix/README:
	* unix/tk.spec:
	* win/README: Updating URLs to reference

2000-04-25  Jeff Hobbs  <>

	* unix/
	* win/ makefile cleanup

2000-04-25  Eric Melski  <>

	* generic/tkMain.c: Fixed function header comment for Tk_MainEx.

	* unix/mkLinks: 
	* doc/GetScroll.3: Added information about Tk_GetScrollInfoObj
	[Bug: 1866].

2000-04-24  Eric Melski  <>

	* unix/mkLinks: 
	* doc/Grab.3: Man page for Tk_Grab and Tk_Ungrab [Bug: 1868, 1889]

	* unix/mkLinks: 
	* doc/MainWin.3: Added entry for Tk_GetNumMainWindows [Bug: 1865].

	* unix/mkLinks: 
	* doc/GetHINSTANCE.3: Man page for Tk_GetHINSTANCE [Bug: 1862].

2000-04-24  Jeff Hobbs  <>

	* generic/tkImage.c (Tk_PostscriptImage): added check to create
	necessary prolog for photos
	* generic/tkCanvPs.c: added Tk_PostscriptPhoto that outputs PS for
	photo images
	* generic/tkImgPhoto.c: new func ImgPhotoPostscript and added that
	in as ps proc in tkPhotoImageType.
	* generic/tkStubInit.c:
	* generic/tkDecls.h:
	* generic/tk.decls: added Tk_PostscriptPhoto

	* generic/tkConfig.c (DoObjConfig): removed direct setting of

	* mac/tkMacWm.c (Tk_WmCmd): initialized gotToplevel in
	colormapwindows case (bug found by Reasoning, Inc's automated code

2000-04-24  Eric Melski  <>

	* unix/mkLinks: 
	* doc/GetHWND.3: Man page for Tk_GetHWND [Bug: 1863].

	* unix/mkLinks: 
	* doc/HWNDToWindow.3: Man page for Tk_HWNDToWindow [Bug: 1869].

	* unix/mkLinks: 
	* doc/AddOption.3: Man page for Tk_AddOption [Bug: 1854]

2000-04-22  Jim Ingham	<>

	* mac/tkMacDialog.c (Tk_MacGetOpenFile): Add empty bodies for the 
	"-initialfile" and "-defaultextension" options.

	* mac/tkMacDialog.c (NavServicesGetFile): Only cons the result up
	into a list if multiple is true.

	* mac/tkMacMenus.c (SourceDialog): Use the "tk_getOpenFile"
	instead of hand-coding the dialog with StandardGetFile.  This way
	we get the Navigation dialogs for free.

	* doc/getOpenFile.n: Document the -multiple and -message flags
	which are only implemented on the Mac.  Also note that the -title
	works on the Mac with Nav Services installed.

2000-04-19  Eric Melski  <>

	* doc/WinViewable.3: 
	* unix/mkLinks: Removed docs for Tk_IsViewable.

	* win/tkWinDialog.c: Removed calls to Tk_IsViewable.

	* generic/tkUtil.c: 
	* generic/tkStubInit.c: 
	* generic/tkDecls.h: 
	* generic/tkCmds.c: 
	* generic/tk.decls: Removed Tk_IsViewable function (it was not
	actually needed).

2000-04-19  Jeff Hobbs  <>

	* win/aclocal.m4: made SC_PROG_TCLSH search specifically for
	tclsh*.exe type files to find an executable.

	* win/ fixed up cleanup, winhelp, cat32 targets

	* library/console.tcl: made console use systemfixed font on Win

	* generic/tkEntry.c: removed unnecessary ENTRY_VALIDATE #define

2000-04-19  Eric Melski  <>

	* generic/tkRectOval.c (ConfigureRectOval): Added checks for valid
	outline settings before creating of outline GC; this means that it
	is really possible now to have an oval or rectangle with no
	outline.  [Bug: 5029].

2000-04-19  Jeff Hobbs  <>

	* library/choosedir.tcl (::tk::dialog::file::chooseDir::Config):
	* library/tkfbox.tcl (::tk::dialog::file::Config): removed the
	extraneous glob on -initialdir after file isdir already returned 1
	and moved cd trick into this case as the else already uses [pwd].
	[Bug: 5181]

	* win/winMain.c: moved extern call out of WinMain func

	* generic/tk.h:
	* unix/
	* unix/tk.spec:
	* win/ bumped to version 8.3.1

	* library/msgbox.tcl (tkMessageBox): changed to use grid in some
	places, realign icon to anchor nw.

	* mac/tkMacScale.c: reverted tkMacScale.c to 1.5 equivalent (it
	was accidentally bumped forward).

2000-04-18  Eric Melski  <>

	* win/tkWinPointer.c: Changed Mod2Mask in TkWinGetModifierState to
	ALT_MASK, to fix some event problems [Bugs: 1160, 5088].

	* win/tkWinX.c: Changed Mod2Mask in GetState to ALT_MASK, to fix
	some event problems [Bugs: 1160, 5088].

	* generic/tkInt.h: Moved definition of ALT_MASK and META_MASK here
	so that it would be accessible from other modules than tkBind.c.

	* generic/tkBind.c: Added code in BindEvent to check for ALT_MASK
	and META_MASK in the event state field, as this field may not be
	set up with the correct display modifier mask bits if the XEvent
	structure was created by [event generate] or by the Windows X
	emulation. [Bugs: 1160, 5088].

2000-04-18  Scott Redman  <redman@HILO>

	* win/tk.rc:
	* win/wish.rc:
	* win/wish.ico:  Modified copyright dates in Windows resource
	files.  Updated the icon for wish.exe.

2000-04-17  Eric Melski  <>

	* win/tkWinDialog.c: Added checks for visibility of parent window
	before creating MessageBox and ChooseColor dialogs; this prevents
	the application from locking when the parent is withdrawn and the
	message box is created.  In these cases, the window will be
	created without a parent.

	* unix/mkLinks: Added WinViewable.3.

	* tests/msgbox.test: Added tests for patch from [Bug: 4997].

	* library/msgbox.tcl: 
	* library/dialog.tcl: Applied patch from [Bug: 4997]; detaches
	dialog window from parent if parent is not viewable.

	* library/bgerror.tcl: Removed workaround from [Bug: 4370]; this
	is superceeded by patches to dialog.tcl.

	* generic/tkCmds.c: Changed WinfoObjCmd to use Tk_IsViewable
	function to determine visibility of windows instead of inlining
	the code.

	* generic/tkStubInit.c: 
	* generic/tkDecls.h: 
	* generic/tk.decls: Added Tk_IsViewable declaration.

2000-04-17  Eric Melski  <>

	* library/text.tcl: Tweaked double-/triple-click selection;
	previously, anchor and insert marks were placed in unexpected
	locations following a double or triple click.  Now they are placed
	logically.  Also tweaked the extension of selection via
	shift-double-clicks so that it no longer selects the contiguous
	whitespace on the side of the selection opposite the
	double-click. [RFE: 4253].

	* doc/menu.n: Added note regarding rendering of
	checkbuttons/radiobuttons in menubars on different platforms --
	some systems do not draw indicators for check/radiobuttons in

	* library/menu.tcl: Corrected behavior of
	checkbuttons/commands/radiobuttons in menubars [Bug: 630].

	* tests/grid.test: Added test for [grid propagate . 0] to not toggle.
	* generic/tkGrid.c: Fixed bogus logic in [grid propagate] that
	caused [grid propagate . 0] to act as a toggle instead of an
	absolute set. [Bug: 2286].

2000-04-16  Jeff Hobbs  <>

	* win/tkWinColor.c (FindSystemColor): correct calculation of
	colors when shifting value. [Bug: 4919]

2000-04-16  Jim Ingham   <>

	* mac/tkMacPort.h: protect against strncasecmp already defined -
	it is in the Pro5 version of MSL.

	* mac/tkMacWindowMgr.c (GenerateKeyEvent): Check for a null tkWin.
	If the hidden window we use for double-buffering controls manages
	to percolate to the top (should never happen, but...) this will
	keep us from crashing.

	* mac/tkMacButton.c (InitSampleControls): Hide the
	double-buffering window BEHIND the first "." window you can find.
	This will keep it from ever being the front window, and thus a
	black hole for events.  * mac/tkMacButton.c (ButtonEventProc):
	Disable the controls when the window is in the background.  This
	is required by the MacOS HIG. This doesn't always get called when
	it should, it still needs more work.

	* mac/tkMacDialog.c: Pretty substantial rewrite to include
	Navigation Services support for systems which have it.

2000-04-14  Eric Melski  <>

	* win/tkWinKey.c: Added check for ASCII delete character in
	KeycodeToKeysym, to fix [Bug: 5090].  See comment in code for more

	* generic/ks_names.h: Added Scroll_Lock and Sys_Req definitions.

	* win/tkWinKey.c: Changed implementation of KeycodeToKeysym,
	et. al., to use a keycode table for lookups; this will result in
	faster keycode -> keysym translations for non-ASCII keys like
	Control, Alt, etc.

2000-04-14  Jeff Hobbs  <>

	* win/tkWinWm.c (WmProc): added check in WM_MOUSEACTIVATE so we
	correctly activate native menus when clicking in when we didn't
	have focus [Bug: 2272]

	* generic/tkCanvas.c (CanvasEventProc:2451): corrected cast

	* generic/tkEntry.c (Tk_EntryObjCmd): adjusted finishing error
	cases and changed TK_CONFIG_NULL_OK to TK_OPTION_NULL_OK

	* tests/scale.test:
	* generic/tkScale.c:
	* generic/tkScale.h:
	* unix/tkUnixScale.c:
	* mac/tkMacScale.c: moved (PixelToValue|ValueToPixel|SetScaleValue)
	to tkScale.c.  Caused an associated variable to be immediately set
	[Bug: 4833]

	* library/scale.tcl (tkScaleActivate): reduced number of scale
	redisplays by checking current value of state before setting it
	again.  [Bug: 4191]

	* tests/winDialog.test: tk_chooseDirectory seems to get a noop
	from GetOpenFileName in the static build, hanging some tests.
	The tests were fixed to timeout (noop cause unknown).

	* unix/aclocal.m4 (SC_ENABLE_THREADS): enhanced the detection of
	pthread_mutex_init [Bug: 4359] and (SC_CONFIG_CFLAGS) added
	--enable-64bit-vis switch for Sparc VIS compilation [Bug: 4995]

2000-04-13  Eric Melski  <>

	* win/tkWinKey.c: Added smarts to check whether the left or right
	Control, Shift, or Alt key was pressed.  [Bug: 870].

	* win/tkWinMenu.c: Corrected code that created separator items on
	menus; originally, it requested that the system be responsible for
	drawing those items, so it would ignore configuration items like
	the widget background.  Now, we draw the separators ourselves (as
	we do with every other kind of menu item already). [Bug: 1166].

	* win/tkWin3d.c: 
	* unix/tkUnix3d.c: Applied patch from [RFE: 2501]: adds more
	sophisticated smarts to TkpGetShadows, so that the highlight of a
	very bright color is actually distinguishable from the color, and
	the shadow of a very dark color is similarly distinguishable from
	the color.

	* generic/tkCanvas.c: Applied patch from [Bug: 4202]; adds a check
	for NULL tkwin in Tk_CanvasEventuallyRedraw.

2000-04-12  Jeff Hobbs  <>

	* test/winClipboard.test:
	* win/tkWinInt.h:
	* win/tkWinClipboard.c (UpdateClipboard):
	* win/tkWinX.c (GenerateXEvent): added updatingClipboard tsd and
	TkWinUpdatingClipboard accessor function to allow us to flag
	ourselves when we are the ones updating the clipboard.  This
	corrected inability to create our own clipboard types within a Tk
	application.  [Bug: 2338 4318]
	* win/tkWinTest.c (TestclipboardCmd): improved TestclipboardCmd
	with better error handling and obj'ification

2000-04-11  Eric Melski  <>

	* msgcat.n: Added docs for new behavior from patch in [Bug: 4158].

	* msgcat.test: Added tests for new behavior from patch in [Bug:
	* msgcat.tcl: Applied patch from [Bug: 4158], which enables
	msgcat::mc to search the entire namespace ancestry chain for
	message translations (ie, first it checks the current namespace,
	then the parent, then the parent's parent, etc).  Also allows the
	specification of additional args for msgcat::mc; if extra args are
	given, the [format] command is used to substitute the additional
	args in the translated message.

	* library/bgerror.tcl: Moved check for withdrawn state after check
	for tkerror; this was causing problems when tkerror was used.

2000-04-10  Eric Melski  <>

	* library/bgerror.tcl: Added check for withdrawn state of . and
	unsetting of transient bit for .bgerrorDialog if . is not
	viewable; this protects against the application hanging on systems
	like Windows, where transient windows are withdrawn with their
	parents. [Bug: 4370].

	* tests/event.test: Added test for [event generate $widget
	<Alt-z>] [Bug: 4611].

	* tests/choosedir.test: Changed "namespace import ::tcltest" to
	"namespace import -force ::tcltest".

	* win/tkWinKey.c: 
	* unix/tkUnixKey.c: 
	* mac/tkMacKeyboard.c: Changed InitKeymapInfo to
	TkpInitKeymapInfo. [Bug: 4611].

	* generic/tkStubInit.c: 
	* generic/tkIntDecls.h: Re-gen'd from tkInt.decls.

	* generic/tkInt.decls: Added TkpInitKeymapInfo to list of function

	* generic/tkBind.c (HandleEventGenerate): Added code to initialize
	keymap info if necessary, and to correctly set modifier bits in
	XEvent structure create to handle [event generate] calls.
	Previously, the alt/meta bits were not set correctly, so [event
	generate $widget <Alt-z>] would always fail. [Bug: 4611]

2000-04-07  Jeff Hobbs  <>

	* generic/tkGrid.c (InitMasterData): fixed uninit'd data in
	GridMaster struct [Bug: 4387]

	* library/safetk.tcl (disallowTk): made disallowTk work in the
	simple case.

	* library/comdlg.tcl (tkFocusGroup_In): fixed key navigation
	problems in dialogs under CDE [Bug: 2960]

	* tests/winDialog.test: removed knownBug constraint from 5.16

	* win/tkWinFont.c (GetScreenFont): corrected adjustment against
	LC_FACESIZE limitation for NT [Bug: 4931]

	* win/ (TKTEST_OBJS):
	* win/ (TKTEST_OBJS): moved tkWinTest.c from normal
	objs to TKTEST_OBJS where it belonged.

2000-04-03  Jeff Hobbs  <>

	* generic/tkTest.c: fixed incorrect platform inclusion for
	TkplatformtestInit (it would never get called).

	* unix/ (MAN_INSTALL_DIR): patch to accept --mandir
	correctly [Bug: 4085]

	* library/clrpick.tcl (tkColorDialog_Config): error now thrown
	when -initialcolor "" specified. [Bug: 4198]

2000-03-31  Jeff Hobbs  <>

	* doc/DrawFocHlt.3: doc name correction

	* generic/tkEntry.c: set TK_OPTION_NULL_OK bit on -invcmd option
	and removed #ifdef ENTRY_VALIDATE expressions

	* library/menu.tcl (tkMenuInvoke): corrected naming of tearoffs
	[Bug: 4506]

	* library/tkfbox.tcl (tkIconList_Goto): caused browsecmd to be
	called in tkIconList_Select.  This causes the entry to be set
	properly when using the type-in-name-in-listbox bindings.

	* win/tkWinDialog.c: added unicode-aware open/save file dialogs

	* win/tkWinFont.c (TkpFontPkgInit): move private ref to platformId
	to TkWinGetPlatformId

	* win/tkWinMenu.c (SetDefaults): moved private use of versionInfo
	to TkWinGetPlatformId and removed all code for
	(versionInfo.dwMajorVersion < 4) (== Win32s)

	* win/tkWinX.c:
	* win/tkWin32Dll.c: moved TkWinGetPlatformId to tkWinX.c
	* win/tkWinInit.c: added TkWinXInit to TkpInit to ensure that its
	called for static Windows shells. [Bug: 3647]

	* win/tkWinInt.h:
	* win/tkWinX.c:
	* win/tkWinDraw.c (SetUpGraphicsPort): 
	* win/tkWinScrlbr.c (UpdateScrollbar): removed use of tkpIsWin32s

	* win/tkWinInt.h (TkWinDCState struct): added bkmode value
	* win/tkWinDraw.c (TkWinGetDrawableDC, et al): added support for
	properly transparent dashed lines on Windows. [Bug: 4617]

2000-03-30  Eric Melski  <>

	* generic/tkImgGIF.c: Fixed some ANSI specific bits to avoid
	compile problems with non-ANSI compilers (ie, replace const with
	CONST, etc).  [Bug: 4223].

	* unix/ Applied patch from [Bug: 4237]; ensures that
	srcdir is fully qualified.

	* unix/ Applied patch from [Bug: 4237]; if tcltest was
	not compiled, make test/tktest failed.  Now it has a rule to build
	tcltest if it has not been built.

2000-03-28  Eric Melski  <>

	* library/tkfbox.tcl: Moved an overlooked tkFDialog* function in
	::tk::dialog::file namespace.

	* tests/unixWm.test: Added tests for memory leak conditions in

	* tests/canvas.test: Added test for bad configuration options on
	empty and non-empty canvas.

	* generic/tkCanvas.c: Removed bad code in CANV_CONFIGURE block of
	CanvasWidgetCmd; this was causing non-empty canvases to improperly
	handle bad configuration options [Bug: 4456].

2000-03-27  Eric Melski  <>

	* unix/tkUnixWm.c: Applied patch from [Bug: 4405]; fixes memory
	leak in Unix wm command.

2000-03-24  Eric Melski  <>

	* tests/filebox.test: 
	* tests/choosedir.test: Updated tests.

	* library/xmfbox.tcl: Updated to stash data array in
	::tk::dialog::file namespace instead of in global namespace.

	* library/tkfbox.tcl: Extended some functions to support creation
	of a choosedir dialog, to allow greater code reuse between the two
	dialogs.  Moved tkFDialog* functions into a namespace
	(::tk::dialog::file).  Because these are private Tk functions (and
	should thus not be used directly by users), this should not impact
	anybody (the tk_getOpenFile and tk_getSaveFile commands still
	exist at the global scope).

	* library/tk.tcl: 
	* library/tclIndex: Updated function names for tkFDialog*
	functions and choosedir functions.

	* library/choosedir.tcl: New and improved implementation of
	tk_chooseDirectory dialog.  Based on tk_getOpenFile dialog.

2000-03-23  Eric Melski  <>

	* generic/tkWindow.c: 
	* generic/tkInt.h: Updated Tcl_OptionCmd -> Tcl_OptionObjCmd

	* generic/tkOption.c: Tcl_Obj'ectified the "option" command.

2000-03-22  Eric Melski  <>

	* library/listbox.tcl (tkListboxCancel): Added a check for empty
	string value for tkPriv(listboxPrev).  Without this check, it's
	possible to get a stack trace under certain conditions. [Bug: 4373].

2000-03-15  Sven Delmas  <>

	* win/tkWinDialog.c: Changed the behavior for the
	tk_chooseDirectory dialog under Windows. Instead of trying to
	return the currently selected listbox entry (which didn't work in
	case the user selected the initial directory anyway), we now
	return the value shown in the entry. This seems to be in
	accordance with the expected behavior for this dialog.

2000-03-14  Eric Melski  <>

	* tests/choosedir.test: Marked test 3.1 and 3.2 as bad until the
	issue with those tests on IRIX can be determined.

2000-03-10  Eric Melski  <>

	* library/menu.tcl: Applied patch from [Bug: 4155]; protects
	against grabs on non-viewable windows.

2000-03-08  Eric Melski  <>

	* tests/choosedir.test: Modified test 3.1 (-mustexist works) to be
	more careful about cleaning up its potentially troublesome after 

2000-03-07  Eric Melski  <>

	* tests/button.test: 
	* generic/tkButton.c: Added -disabledforeground/-state to labels.

2000-03-07  Jeff Hobbs  <>

	* tests/entry.test:
	* generic/tkEntry.c (EntrySetValue): malloc the value when
	validating because validation could cause the pointer to become
	invalid.  Also fixed configure to not trigger focus-based
	validation.  Improved use of Tcl_WrongNumArgs. [Bug: 4320]

2000-03-06  Eric Melski  <>

	* library/menu.tcl: Added a check in tkMenuFirstEntry that changes
	menu behavior to only auto-post an immediate child cascade if we
	are currently on a menubar menu.  This prevents massive
	auto-cascading in cases where the first entry of the cascade is
	itself a cascade, and the first entry of that cascade is a
	cascade, and the first entry of that cascade is a cascade
	... [Bug: 676].

	* generic/tkOldConfig.c: Added check for NULL tkwin value in
	Tk_ConfigureWidget [Bug: 4079]

	* generic/tkWindow.c: Added check for NULL tkwin value in
	Tk_NameToWindow [Bug: 4079]

2000-03-02  Jeff Hobbs  <>

	* tests/color.test:
	* xlib/xcolors.c (XParseColor FindColor):
	* win/tkWinColor.c (XAllocColor): Fixed bit fiddling for colors to
	return "correct" values for color mapping. [Bug: 4282]

	* unix/ (SCRIPT_INSTALL_DIR): removed extraneous '/'
	* unix/aclocal.m4: corrected TCL_NEEDS_EXP_FILE to be 1 for AIX

	* win/tkWinInt.h: change extern to EXTERN for TkWinChildProc
	declaration with extra #defs. [Bug: 4240]

	* library/focus.tcl: fixed tkFocusOK to protect $w in
	uplevel with list. [Bug: 4208]

	* doc/CrtItemType.3: fixed docs for Tk_CreateItemType to reflect
	changes made in 8.3.0 (but old style would still work as well).
	[Bug: 4252]

	* tests/config.test: extra test to check object cleanup when
	destroying the widget
	* generic/tkListbox.c (DestroyListbox): fixed crash in
	DestroyListbox due to null tkwin.  [Bug: 4207]

	* tests/entry.test: added test suite for entry validation
	* doc/entry.n: improved docs discussing caveats and gotchas when
	mixing textvar with widget validation
	* generic/tkEntry.c (EntryValidateChange): improved handling of
	validation with relation to -textvariable.  Previously, it would
	turn off whenever the textvar was set.  Now it will it will turn
	off only when the textvar is set and validation returns 0.  Added
	%V (type of validation occuring) to %-subs to help work with
	trickier validation.

2000-03-01  Eric Melski  <>

	* tests/clrpick.test: 
	* library/clrpick.tcl: Added code to make color chooser dialog
	inherit screen setting from parent (bug #2334)

2000-02-25  Jeff Hobbs  <>

	* win/tkWinWm.c (RaiseWinWhenIdle): Checked for the possibility
	that the window could be destroyed (can occur with
	wm deiconify .toplevel; destroy .toplevel).

2000-02-25  Eric Melski  <>

	* generic/tkImgGIF.c: Applied "spirit of" the patch in 1605 (the
	submitted patch was more complicated than necessary and did not
	extend to writing GIF's, only reading), to allow reading/writing
	of GIF files on EBCDIC and other non-ASCII based systems.

2000-02-14  Eric Melski  <>

	* unix/tk.spec: RPM specification for producing a binary Tk RPM
	for Linux.

	* unix/ Added rpm target to generate Tk
	binary RPM.

2000-02-10  Jeff Hobbs  <>

	8.3.0 RELEASE

	* changes: updated for 8.3.0 release

	* generic/tkImgGIF.c (FileReadGIF): added cast for trashBuffer

	* generic/tkIntXlibDecls.h:
	* generic/tkInt.decls: declared some Xlib emulation calls for
	the Mac

	* generic/tkFrame.c (TkInstallFrameMenu): added extra panic to
	inform user of bad call when framePtr is NULL [Bug: 2530]

	* generic/tkMenu.c (DestroyMenuInstance): Placed checks around
	menu name objects before trying to incr the ref.  [Bug: 3402]

	* generic/tkTest.c: removed USE_OLD_IMAGE def for Mac

	* library/listbox.tcl:
	* library/text.tcl: added support for <4> and <5> for mousewheel
	style scrolling on Unix for mice that map to these buttons.

	* tests/scrollbar.test: fixed check of testmetrics command to
	allow unix tests to run (testmetrics is mac/pc only)

	* unix/tkUnixWm.c (Tk_CoordsToWindow): qualified delete of error
	handler as the goto label is reached from above and below.

	* unix/
	* unix/aclocal.m4: cleaned up macros to coincide with tcl.m4,
	added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998]

	* unix/README:
	* unix/ (dist): removed porting.notes and porting.old
	from distribution and CVS.  The information was very outdated.  Now
	refer to

	* xlib/xgc.c: #def'd out XDrawSegments for the Mac, and added
	some extra include info for the Mac

2000-02-09  Jim Ingham  <>

	* mac/tkMacButton.c: Stop removing the appearance window from the
	Window List.  It is not clear why Ray did this, and it causes the
	Appearance manager to crash at random times.
	* mac/tkMacWM.c: Add support in unsupported1 style for the Appearance
	specification of window styles, including floating window support.
	* mac/tkMacWindowMgr.c: Operate on the front non-floating window,
	unless the mouse is directly over the floating window.  Also,
	keystrokes go to the front non-floating window.
	* mac/tkMacAppInit.c: Initialize floating window support.
	* mac/tkMacScrlbr.c:
	* mac/tkMacmenu.c: Fixes for floating windows - operate on the 
	* mac/tkMacLibrary.r: Fix typo in File info string.
	* mac/tkMacApplication.r: Fix typo in file info string.  Add
	Finder balloon help for no apparent reason.
	* mac/tkMacSubwindows.c: Change panic in tkMacGetDrawablePort to
	Debugger.  This is only a temporary fix.  The panic is only
	triggered when a safeTk interpreter is torn down, and ignoring it
	does no harm.  I haven't figured out how to avoid it yet, however.
	Also use the Appearance MoveWindowStructure call when available.
	New Files:
	* MW_TkOldImageHeader.h: Handle #defining USE_OLD_IMAGE for tkImgPPM.c.
	* MW_TkTestHeader.h:
	* MW_TkTestHeader.pch:
	* MW_TkHeader.h: Add separate prefix files for test & release
	versions of Tk, so we can just have separate targets w/o having to
	edit files.
	* tclets.r: The D&D Tclets icon in rez form so we can have a
	target for this.

	The above are curtesy of Daniel Steffen (
	* tkMacAppearanceStubs.c: Stubs of the Mac Appearance calls I use
	so I can link the static 68K Shell without putting ifdef's all
	over the code.
2000-02-08  Jeff Hobbs  <>

	* generic/tk.decls:
	* generic/tkBind.c:
	* generic/tkInt.decls:
	* generic/tkIntDecls.h:
	* generic/tkStubInit.c:
	* mac/tkMacKeyboard.c:
	* unix/tkUnixKey.c:
	* win/tkWinKey.c: Fix for keyboard handling of "dead" keys and
	caps lock from Peter Spjuth. [Bug: 4105 3359 2493]
	Split functions into platform specific files:
	Static functions GetKeySym(), SetKeycodeAndState() and InitKeymapInfo()
	from tkBind.c moved into platform files tkWinKey.c tkUnixKey.c and
	tkMacKeyboard.c.  GetKeySym() and SetKeycodeAndState() renamed to 
	Tkp* and made public (as private functions) in tkInt.decls.

	Step 2, fixes in tkWinKey.c
	New static function: KeycodeToKeysym(), based on XKeycodeToKeysym()
	but with different arguments, and a lot of improvements.
	TkpGetString() changed to use KeycodeToKeysym() + other fixes.
	TkpGetKeySym() changed to use KeycodeToKeysym() + other fixes.
	InitKeymapInfo() changed to use KeycodeToKeysym().
	TkpSetKeycodeAndState() rewritten, mostly by copying code from
	XKeycodeToKeysym() rewritten. Preferably it should be removed.

	EXPLANATION: The main problem is ToAscii() which has a lot of side
	effects, and also that XKeycodeToKeysym() is not provided enough
	input to do a proper job.  The changes' main goal is to avoid
	calling ToAscii() if not necessary, and to provide it with as
	correct information as possible when called.  Also some attempts
	to clean up what ToAscii() did are done.  See the code for details.

	BUGS FIXED: Typing shifted (and AltGr) dead keys did not work.
	Keyboard lock lamps did not work on Win98.
	Events regarding AltGr-keys behaved badly.
	Example: On a Swedish keyboard, $ is typed with AltGr-4.
	That keyboard event would get the keysym '4' not 'dollar'.
	Also, doing [event generete . <Key-dollar>] would send keysym '4'.
	Translation to ascii in TkpGetString did not handle return and
	tab correctly. I.e. [event generate . <Key-Return>] gave wrong %A

	* generic/tkDecls.h:
	* generic/tk.decls:
	* generic/tk.h: moved new public functions created in dash patch
	to the stubs interface [Bug: 4062]

	* generic/tk.h: 
	* doc/CrtImgType.3:
	* doc/CrtPhImgFmt.3:
	* generic/tk.h:
	* generic/tkImgGIF.c:
	* generic/tkImgPhoto.c:
	* generic/tkStubImg.c (new file):
	* generic/tkTest.c:
	* unix/
	* win/
	* win/ improved support for moving from the old style
	image C API to the new obj'ified one with new Tk_InitImageArgs
	command and stub'ing of image code.  See docs for how to make the
	transition. [Bug: 4060]

	* library/tk.tcl: wrapped check for tcl_platform(os) around info
	exists because it won't in safe interpreters

	* win/tkWinFont.c: corrected symbol font use to only work on 8-bit
	characters [Bug: 2406]

	* unix/aclocal.m4: changed all -fpic to -fPIC

	* unix/
	* win/
	* generic/tk.h (TK_RELEASE_SERIAL): Moved to 8.3.0 patchlevel

2000-02-07  Eric Melski  <>

	* library/tkfbox.tcl: Applied patch from bug #4117,
	tk_getOpenFile/getSaveFile doesn't do the right thing when user
	types a directory name in the entry and a default extension is

2000-02-05  Jeff Hobbs  <>

	* unix/tkUnixScale.c (TkpDestroyScale): changed ckfree to
	Tcl_EventuallyFree to behave with Tcl_Preserve in TkpDisplayScale
	(prevents possible segfault).

2000-02-03  Eric Melski  <>

	* tests/canvText.test: test for fix for bug #2525.

	* generic/tkFont.c (Tk_ComputeTextLayout): Was erroneously setting
	the width of newline-only text display chunks to some arbitrary
	huge number, instead of 0; this was interfering with things like
	the canvas find enclosed feature. (bug #2525).

	* tests/text.test: 
	* generic/tkText.c (DumpLine/DumpSegment): Changed DumpSegment to
	take a TkTextIndex instead of two integer offsets, so that it
	could use TkTextPrintIndex to format the offsets into an index,
	which makes it UTF smart (bug #2582).

2000-02-01  Eric Melski  <>

	* library/tk.tcl: 
	* library/tclIndex: 
	* library/choosedir.tcl: Moved choosedir functions into the
	::tk::dialog::chooseDir namespace instead of a toplevel
	::tkChooseDirectory namespace.  Additional cleanup on the
	chooseDir dialog.

2000-02-01  Jeff Hobbs  <>

	* doc/text.n: clarified docs on what happens during a search with
	-count when images/windows are embedded

	* win/ (install-*): reduced verbosity of install

	* win/tkWinPixmap.c (XGetGeometry): added support for windows in
	XGetGeometry [Bug: 4069]

	* win/tkWinFont.c (GetScreenFont): fixed possible mem overrun with
	long font names [Bug: 4108]

	* win/tkWinDialog.c: added EnableWindow calls to dialogs to
	correct for possible loss of control in parent Tk toplevel
	[Bug: 1212 et al]

	* generic/tkRectOval.c (ConfigureRectOval): 
	* generic/tkCanvLine.c (ConfigureLine): 
	* generic/tkCanvPoly.c (ConfigurePoly): 
	* generic/tkCanvArc.c (Configure/DisplayArc): fixed handling for
	negative dash values [Bug: 4104]

	* generic/tkScale.c (TkRoundToResolution): fixed incorrect
	assumption that (N+1)*delta = N*delta + delta with floating point
	math [Bug: 3689, 4099]
	(DestroyScale) Fixed check for cancelling TkpDisplayScale (was

	* tests/listbox.test: corrected test case for listbox itemconfigure

	* unix/aclocal.m4: added *BSD ELF recognition for
	SHARED_LIB_SUFFIX determination (from Tcl's tcl.m4)

2000-01-27  Eric Melski  <>

	* generic/tkImgPhoto.c: Removed unneccesary object translation in 
	MatchStringFormat (bug #4103).

2000-01-27  Eric Melski  <>

	* generic/tkImgGIF.c: Additional code cleanup (now we only have
	one decoder!  neat!)

2000-01-26  Eric Melski  <>

	* doc/getOpenFile.n: 
	* doc/chooseDirectory.n: Man page/cross links for
	tk_chooseDirectory (bug #1786).

	* library/tk.tcl: 
	* library/tclIndex: Added hooks for tk_chooseDirectory. (bug #1786)

	* library/choosedir.tcl: tk_chooseDirectory implementation for
	Unix/Mac (bug #1786).

	* generic/tkImgPhoto.c: Added some comments regarding slow
	processing of transparent images.

	* generic/tkImgGIF.c: Improved GIF decoder for ~60% speed
	increase.  Added some comments on how to further improve the
	implementation, time permitting.

	* doc/photo.n: Added a description of what the -data string can
	contain (base64 or binary data).

	* generic/tkImgPhoto.c: Fixed bug with use of binary data for
	"-data" option to "image create" command.

2000-01-21  Eric Melski  <>

	* library/tkfbox.tcl: Fixed bug relating to incorrect parent
	values for error message boxes displayed by the file dialog (bug

	* tests/text.test: 
	* generic/tkText.c: Fixed bug relating to regexp searching for
	empty lines; previously, the starting line was ignored. (bug #1643).

2000-01-20  Jeff Hobbs  <>

	* library/text.tcl: fixed double-click selection behavior where
	there were embedded windows/widgets in the same line. [Bug: 3989]

	* win/tkWinWm.c (TkWmProtocolEventProc): cached atom name as the
	window could get destroyed during eval [Bug: 2513]

	* generic/tkCanvLine.c (LineCoords): fixed segfault when too few
	coords were passed to a line with certain options set (it should
	always have thrown an error anyway). [Bug: 4042]

	* tests/text.test:
	* generic/tkText.c: fixed missing " in error case and missing
	'dump' in subcommand listing [Bug: 4036]

	* generic/tkListbox.c: adjusted use of basic string concatenation
	in (non-K&R behavior) [Bug: 4027]
	Swapped bg/fg class for -select(bg|fg) for listbox and their
	items [Bug: 4039]

	* unix/mkLinks:
	* doc/WindowId.3: added docs for Tk_IsContainer and Tk_IsEmbedded

	* doc/text.n: clarified mark gravity definition and usage of
	``word'' in binding definitions.  [Bug: 2004 2277 1388]

	* generic/tkInt.h: moved new TkDisplay useInputMethods structure
	element to end to not disturb position of previous elements in
	the structure (as compared to Tk <=8.2).

2000-01-20  Eric Melski  <>

	* tests/grid.test: Added a test for the consecutive ^ and multiple
	widget case (bug #1386).

	* generic/tkGrid.c: Fixed interpretation of consecutive ^
	characters in grid command.  Previously, ^ ^ was interpreted as
	meaning that there must be a 2-column widget above to extend,
	neglecting the case where there was actually 2 1-column widgets
	above.  Now, ^ ^ is interpreted as a possible width; the gridder
	will consume as many ^'s as there are columns in the widget, and
	leave the rest for the extension of other widgets.  (bug #1386).

2000-01-19  Eric Melski  <>

	* library/tk.tcl: Created a virtual event <<PrevWindow>> for
	reverse tab traversals, with one default binding <Shift-Tab>, and
	OS specific bindings for Linux, HP-UX, and IRIX. (bug #3163)

2000-01-13  Jeff Hobbs  <>

	* changes: updated changes file to reflect 8.3b2 mods
	* generic/tk.h:
	* unix/
	* win/ updated to patchlevel 8.3b2

	* win/tkWinWm.c: added visibility event handler to make sure
	that transient window wrappers would be updated when the master
	was initially mapped.

2000-01-12  Jeff Hobbs  <>

	* tests/text.test: changed test to reflect change of -hidden
	to -elide in search options.

	* win/tkWinScrlbr.c: added check for valid hwnd in ModalLoopProc
	to avoid crash when building statically

	* doc/event.n:
	* generic/tkBind.c: prevented core with event -warp on Windows
	when window wasn't mapped [Bug: 4004] and added docs stating
	the requirement for mapped windows.

	* generic/tkCanvas.c: fixed mem leak with TagSearchExprInit
	[Bug: 3977]

	* generic/tkStubInit.c:
	* generic/tkDecls.h: remove non-existent
	Tk_(Get|Create)CanvasVisitor prototypes

	* generic/tkText.c:
	* generic/tkEntry.c: fixed cursor to not blink when widget was
	disabled [Bug: 1807]

	* generic/tkRectOval.c: added note about change to bloat for
	RectOval bounds calculation for WIN32 only

	* library/dialog.tcl: improved handling of $default arg to allow
	for name of given button, as well as bounds checking

	* doc/wm.n:
	* tests/winWm.test:
	* tests/unixWm.test:
	* mac/tkMacWm.c:
	* unix/tkUnixWm.c: fixed possible X error being raised [Bug: 3377]
	* win/tkWinWm.c: wm deiconify in zoom state [Bug: 2077],
	fixed possible flashing of unmapped toplevel in deiconify [Bug: 3338]
	and fixed mapping of transient window [Bug: 572]
	Also, for all wm's, extended 'wm state' command to allow setting
	of the state, and added official support of 'zoomed' state on Win.

	* unix/aclocal.m4: strtod bug on Tru64 [Bug: 3378]

	* unix/ added tests to prevent unnecessary chmod +x
	in source dirs while installing [Bug: 3367]

	* unix/ properly sub'ed in TK_SHARED_BUILD [Bug: 3385]

2000-01-05  Jeff Hobbs  <>

	* doc/text.n:
	* generic/tkText.c:
	* generic/tkText.h:
	* generic/tkTextBTree.c:
	* generic/tkTextDisp.c:
	* generic/tkTextTag.c: removed the -state option for text tags,
	and reoriented it around -elide, as -state disabled was never
	implemented, and -state hidden is better as -elide.

	* mac/tkMacClipboard.c: fixed i18n problems with clipboard [Bug: 3544]

	* library/entry.tcl:
	* library/focus.tcl:
	* library/listbox.tcl:
	* library/scale.tcl:
	* library/scrlbar.tcl:
	* library/tearoff.tcl:
	* library/text.tcl:
	* library/tkfbox.tcl:
	* library/xmfbox.tcl: fixed unprotected arg parsing through eval/after
	[Bug: 3943]

	* unix/ added unix/aclocal.m4 to distribution [Bug: 3938]
	* unix/aclocal.m4: changed NetBSD SHLIB_CFLAGS from -fpic to -fPIC

	* win/tkWinImage.c: added static declaration to function

1999-12-22  Jeff Hobbs  <>

	* changes: updated changes file

	* generic/tkScale.c:
	* generic/tkScale.h:
	* mac/tkMacScale.c:
	* unix/tkUnixScale.c: fixed potential segv from patch in 3897

	* tests/unixWm.test: nonPOrtable -> nonPortable

1999-12-21  Jeff Hobbs  <>

	* generic/tk.h:
	* unix/
	* win/
	* win/aclocal.m4:
	* README: updated for patch level 8.3b1

	* unix/tkUnixWm.c: fixed panic in Tk_CoordsToWindow to print error
	and continue instead (for Tix) [Bug: 716 et al]

	* scale.test:
	* generic/tkScale.c:
	* generic/tkScale.h: fixed possible core when freeing options
	(cursor) associated with scale widget [Bug: 3897]

	* doc/MeasureChar.3: fixed docs for Tk_MeasureChars to reflect code
	* doc/listbox.n: fixed formatting problem

	* generic/tk3d.c: added extra calculations to ensure that thin
	frames get refreshed too [Bug: 3596]

	* unix/tkUnixMenu.c:
	* unix/tkUnixFont.c:
	* generic/tkCanvText.c:
	* generic/tkEntry.c:
	* generic/tkFont.c:
	* generic/tkImgPPM.c: removed extranneous vars that were set but
	never used.

	* mac/tclMacHLEvents.c: fixed applescript for I18N [Bug: 3644]

	* unix/aclocal.m4: removed -O flag for AIX when using the IBM
	compiler (several versions have a bug that crops up in the text
	widget). [Bug: 2316]

	* unix/ removed extra slash in SCRIPT_INSTALL_DIR
	[Bug: 3896]

	* library/listbox.tcl: added extra checks for existence of
	tkPriv(listboxSelection) before it was used. [Bug: 3892]

1999-12-16  Jeff Hobbs  <>

	* doc/GetCursor.3:
	* win/tkWinCursor.c: added support for Windows cursors to
	TkGetCursorByName (.ani, .cur) using -cursor @<filename>
	(Ascher) [Bug: 1350]

	* win/tkWinWm.c: fixed 'wm deiconify' to update position of the
	toplevel if event is waiting before mapping. (Mao) [Bug: 3687]
	This removes the need for 'update idle' before 'wm deiconify' on

	* doc/listbox.n: added doc for <<ListboxSelect>> [Bug: 3500]

	* doc/getOpenFile.n: removed note that -initialfile didn't work
	for tk_getOpenFile
	* library/tkfbox.tcl: updated tk_get*File to better match the
	Windows file box it emulates, give proper support to -initialfile,
	and fixes lack of global tkPriv call.  [Bug: 3735 3882]

	* doc/tk.n: added doc for 'tk useinputmethods ...'
	* tests/tk.test:
	* unix/tkUnixKey.c:
	* generic/tkCmds.c:
	* generic/tkEvent.c:
	* generic/tkWindow.c:
	* generic/tkInt.h: add 'tk useinputmethods ?-display win? ?bool?'
	call to provide support for disabling/enabling the use of XIM on
	X.  This was previously all done at compile time, and always on.
	Now it is turned off by default, even when available, and the user
	must turn it on to use XIM (per display).

	* generic/tkCanvUtil.c: fixed bug in Tk_CanvasPsOutline that freed
	mem it shouldn't.

	* generic/tkFont.c: added "bitstream cyberbit" (popular Windows
	CJK font) to list of font fallbacks. (kenny) [Bug: 2407]

	* mac/tkMacMenu.c: finished bug 3075 by changing the char values of
	what was checked (verified correctness on Mac).

1999-12-13  Jeff Hobbs  <>

	* doc/canvas.n: added docs for items added by dash patch (-*dash*,
	-state, -active*, -disabled*, -offset, essentially rewrote the
	man patch for completely updated 8.3 canvas widget.
	* doc/entry.n: added docs for entry widget validation
	* doc/event.n: added docs for -warp
	* doc/text.n: doc'ed new -state value 'hidden'
	* doc/GetDash.3: (new file) man page explaining Tk_GetDash
	* generic/tkStubInit.c:
	* generic/tkDecls.h:
	* generic/tkIntXlibDecls.h:
	* generic/tkInt.decls: added XSetDashes and XWarpPointer
	* generic/tk.decls: added Tk_CreateSmoothMethod, and reserved
	two spots
	* generic/tk.h: added Tk_SmoothMethod struct,
	state item to canvas record, #defines for item state,
	support for using old char*-based canvas item C creation
	procedures with -DUSE_OLD_CANVAS,
	Tk_Dash, Tk_TSOffset (-offsets) & Tk_Outline structs and #defs,
	decls for dash, outline and postscript routines
	* generic/tkBind.c: added support for Quadruple clicks, and added
	the -warp option to 'event' with pointer warping routines
	* xlib/xgc.c:
	* generic/tkRectOval.c:
	* generic/tkCanvArc.c:
	* generic/tkCanvBmap.c:
	* generic/tkCanvImg.c:
	* generic/tkCanvLine.c:
	* generic/tkCanvPoly.c:
	* generic/tkCanvPs.c:
	* generic/tkCanvText.c:
	* generic/tkCanvUtil.c:
	* generic/tkCanvWind.c:
	* generic/tkCanvas.c:
	* generic/tkCanvas.h: Canvas and items received overhaul to with
	the addition of the dash patch (Nijtmans, et al)  This includes
	objectification of the 'canvas' command, as well as support for
	(where appropriate) dashes in items, extended stipple support,
	state for all items, and postscript generation of images and
	windows.  See the new canvas man page for related docs.
	* generic/tkEntry.c: added entry widget validation, see entry.n
	* generic/tkEvent.c: on simulated events, ButtonPress should
	be matched with ButtonRelease to be correct
	* generic/tkFont.c: corrected possible null reference
	* generic/tkFrame.c: made frame a Tcl_Obj based command
	* generic/tkGet.c: added TkGetDoublePixels
	* generic/tkImage.c: bug fixes from Img patch and new
	Tk_PostscriptImage and Tk_SetTSOrigin functions
	* generic/tkImgBmap.c: new ImgBmapPostscript function
	* generic/tkImgPhoto.c: new Tk_CreatePhotoOption, Tk_DitherPhoto
	* generic/tkInt.h: declarations for some new functions
	* generic/tkMessage.c: reworked relief drawing
	* generic/tkOldConfig.c: added TK_CONFIG_OBJS so old style
	ConfigureWidget calls can pass in Tcl_Obj arrays
	* generic/tkScrollbar.c:
	* generic/tkScrollbar.h: made -orient use an option table
	* generic/tkText.c:
	* generic/tkText.h: made -wrap and -state use option tables
	* generic/tkTextBTree.c:
	* generic/tkTextDisp.c:
	* generic/tkTextImage.c:
	* generic/tkTextMark.c:
	* generic/tkTextTag.c:
	* generic/tkTextWind.c: added support for -elide and -state hidden
	* generic/tkTrig.c: changed TkMakeBezierCurve to support returning
	the upper limit of points needed for spline
	* generic/tkUtil.c: new option table parsing routines
	* generic/tkWindow.c: init'ing of warp stuff, mouseButtonState

	related bug ids for the fixes:
	[Bug: 648 1541 1540 1779 2168 2311 2297 2340 2348 2578 3386]

	* tests/bind.test:
	* tests/canvImg.test:
	* tests/canvPsArc.tcl:
	* tests/canvPsImg.tcl: (new file)
	* tests/canvRect.test:
	* tests/canvText.test:
	* tests/canvas.test:
	* tests/defs.tcl:
	* tests/entry.test:
	* tests/event.test:
	* tests/font.test:
	* tests/frame.test:
	* tests/imgPhoto.test:
	* tests/safe.test:
	* tests/scale.test:
	* tests/scrollbar.test:
	* tests/select.test:
	* tests/text.test:
	* tests/textDisp.test:
	* tests/textTag.test:
	* tests/unixFont.test:
	* tests/unixWm.test:
	* tests/visual_bb.test:
	* tests/winClipboard.test: tests for the dash patch changes

	* unix/mkLinks: added GetDash.3 into the mkLink step

	* mac/tkMacDraw.c: mac still needs pointer warping routine
	* mac/tkMacXStubs.c:
	* win/tkWinDraw.c:
	* win/tkWinPointer.c: added support for pointer warping and
	platform specific support for dash patch items

1999-12-12  Jeff Hobbs  <>

	* generic/tkText.c: fixed bug in TextSearchCmd for multibyte chars
	(Darley) [Bug: 3839]

	* unix/aclocal.m4: added warning when configuring with
	--enable-threads that Tk may have problems

1999-12-09  Jeff Hobbs  <>

	* generic/tkImgGIF.c: updated casting

	* win/ removed 16bit stuff, simplified makefile.

1999-12-06  Scott Redman  <>

	* generic/tkMain.c: need to include tclInt.h for new hook
	functions that are internal-use-only.

1999-12-06  Jeff Hobbs  <>

	* library/comdlg.tcl: removed tclVerifyInteger and tclSortNoCase,
	they weren't used, and were not actually correct

	* mac/tkMacFont.c:
	* mac/tkMacMenu.c:
	* mac/tkMacWindowMgr.c: fixed greyed out menu items, handling of
	... elipsis, font mapping problem, and enabled generated menu
	posting [Bug: 3705]

1999-12-02  Jeff Hobbs  <>

	* generic/tkInt.h:
	* generic/tkWindow.c:
	* generic/tkCmds.c: converted Tk_DestroyCmd, Tk_LowerCmd and
	Tk_RaiseCmd to their ObjCmd equivalent.

	* library/msgbox.tcl: added color icons for tk_messageBox on Unix
	and Mac when tk_strictMotif isn't set. (Hipp)
	* library/tk.tcl: added window bounds checking to ::tk::PlaceWindow

	* tests/imgPPM.test: fixed test 2.2 to use -format ppm (since
	we know have GIF write capability)

1999-12-01  Scott Redman <>

	* generic/tkMain.c :
	* unix/tkAppInit.c: 
	* win/winMain.c: Added added hooks into the main() code for
	supporting TclPro and other "big" shells more easily without
	requiring a copy of the main() code.

1999-11-29  Jeff Hobbs  <>

	* generic/tkImgGIF.c: added GIF writing that uses miGIF RLE
	[Bug: 2039, new patch]

	* library/entry.tcl: fixed up tkEntrySeeInsert (Nemthi)

	* generic/tkListbox.c: fixed 'get' of listbox to return a string
	when only one item is requested.

	* tests/clrpick.test:
	* tests/filebox.test: minor whitespace cleanup

	* library/tk.tcl: fixed missing $w in ::tk::PlaceWindow

1999-11-24  Jeff Hobbs  <>

	* library/clrpick.tcl:
	* library/msgbox.tcl:
	* library/tk.tcl:
	* library/tkfbox.tcl:
	* library/xmfbox.tcl: fixed dialogs to center over -parent,
	added utility functions ::tk::PlaceWindow, ::tk::SetFocusGrab,
	::tk::RestoreFocusGrab to tk.tcl to help

1999-11-23  Eric Melski  <>

	* tests/listbox.test: Added a test to check that the topIndex is
	update when items are removed from the listvar variable.

	* generic/tkListbox.c: Added a check the updates the topIndex when
	items are removed from the listvar variable.

	* tests/listbox.test: Added a test to check that the vertical
	scrollbar is updated when the listvar changes.

	* generic/tkListbox.c (ListboxListVarProc): added a check that
	sets the UPDATE_V_SCROLLBAR flag if the length of the listvar has

1999-11-23  Jeff Hobbs  <>

	* generic/tk.h:
	* generic/tkConfig.c: added support for TK_OPTION_DONT_SET_DEFAULT
	* generic/tkListbox.c: added TK_OPTION_DONT_SET_DEFAULT to the
	item specs

1999-11-19  Jeff Hobbs  <>

	* generic/tkColor.c:
	* generic/tkColor.h: fixed Tk_NameOfColor to work correctly,
	with minor change to TkColor struct.

	* generic/tkConsole.c: added static declaration to
	ConsoleDeleteProc function (proto already had it)

	* win/tkWinInt.h: removed TkFontAttributes typedef (was
	redundant with tkFont.h).
	* win/tkWinPort.h: put #ifndef __GNUC__ around redefinition
	of str[n]casecmp, as cygwin uses the originals.
	* win/tkWinX.c: changed GetCurrentTime to GetTickCount (the
	former is deprecated).  [Bug: 2053]

1999-11-19  Eric Melski  <>

	* tests/listbox.test: Added tests for itemcget and itemconfigure.

	* doc/listbox.n: Added documentation for -listvar option and for
	itemconfigure and itemcget commands.

	* generic/tkListbox.c: Added support for itemconfigure/itemcget
	listbox subcommands (addresses rfe #936)

1999-11-17  Eric Melski  <>

	* tests/listbox.test: Updated tests for new error messages.

	* generic/tkListbox.c: Improved error messages for bad -listvar's.

	* tests/listbox.test: Added tests for bad -listvar's.

	* generic/tkListbox.c: Added handlers for bad -listvar's (ie, bad

	* tests/listbox.test: Added tests for ListboxUpdateHScrollbar.

	* generic/tkListbox.c: Changed some old static buffers to base
	size on TCL_DOUBLLE_SPACE instead of (completely) hardcoding the size.

	* tests/listbox.test: New tests for -listvar functionality, and an
	odd extra case that wasn't covered before.

	* generic/tkListbox.c: Tests exposed some bugs, now fixed.

1999-11-16  Eric Melski  <>

	* tests/listbox.test: Fixed tests to comply with new objectified
	error messages.  No -listvar specific tests yet.

	* win/tkWinDefault.h: 
	* unix/tkUnixDefault.h: 
	* mac/tkMacDefault.h: Added default value for -listvar option.

	* generic/tkWindow.c: Changed "listbox" mapping from old-school to
	new-school objectified command.

	* generic/tkListbox.c: Objectified listbox; added support for
	-listvar option.  Converted internal structure to use a Tcl list
	object to store the data.

	* generic/tkInt.h: Changed reference to Tk_ListboxCmd to

1999-11-09  Jeff Hobbs  <>

	* generic/tkGrid.c: changed Tcl_Alloc to ckalloc

	* generic/tkEntry.c: fixed C expr error in destroy of entry
	that could lead to 'malformed bucket chain' error

	* win/winMain.c: corrected winMain to not do a DebugBreak when
	returning an error message from the top level

1999-10-30  Jeff Hobbs  <>

	* win/tkWinKey.c: fixed XKeysymToKeycode to handle mapping of
	symbolic keysyms (Left, Home, ...) with event generate

	* library/entry.tcl: change tkEntrySeeInsert to avoid the use
	of a while loop that could eat CPU tremendously.  Behavior of
	moving the cursor at the right edge changes slightly (previously
	it tried to keep the cursor at the right edge, now it moves the
	cursor to a "central right" location - better IMHO).

1999-10-28  Jeff Hobbs  <>

	* doc/CrtImgType.3:
	* doc/CrtPhImgFmt.3:
	* doc/FindPhoto.3:
	* doc/photo.n:
	* generic/tk.h:
	* generic/tkCmds.c:
	* generic/tkImage.c:
	* generic/tkImgBmap.c:
	* generic/tkImgGIF.c:
	* generic/tkImgPPM.c:
	* generic/tkImgPhoto.c:
	* generic/tkInt.h:
	* generic/tkTest.c:
	* generic/tkWindow.c:
	* tests/imgPhoto.test: added Img patch (Nijtmans) with docs,
	headers #def'd with USE_OLD_IMAGE.  Upgrades image stuff to
	Tcl_Obj API, adds alpha channel (images are now 32 bpp)

	* changed 'c:/program files' to c:/progra~1

1999-10-19  Jeff Hobbs  <>

	* library/scrlbar.tcl: changed tkScrollButtonUp to check for
	existence of tkPriv(relief) in order to avoid spurious release

	* unix/ added ChangeLog to dist archive

1999-09-24  Jeff Hobbs  <>

	* */README:
	* win/
	* */
	* generic/tk.h:
	* library/tk.tcl: up'd to 8.3a1

	* unix/ changed 'mkdir' to 'mkdir -p'

	* library/dialog.tcl: changed {Times 18} to {Times 12} for
	dialog font.

1999-09-16  Jeff Hobbs  <>

	* generic/tkFont.c: fixed processing of font options and error
	returned [Bug: 2075]

	* win/tkWinWm.c: fixed bug in 'wm deiconify' that raised the
	wrong toplevel, and changed it to not set focus on overridden

1999-09-15  Jeff Hobbs  <>

	* unix/aclocal.m4: added fix for FreeBSD-[1-2] recognition [Bug: 2070]
	and fix to AIX-* to get ldAix right [Bug: 2624], fixed AIX
	version check (readjust from 8-21 fix) and several other config
	fixes for AIX
	* mac/tkMacMenubutton.c:
	* unix/tkUnixMenubu.c: fixed permanently stippled menubutton image
	* win/tkWinButton.c: fixed possible pointer smash [Bug: 2733]

1999-09-14  Jeff Hobbs  <>

	* win/tkWinMenu.c: fix for stack overrun in GetTextFace [Bug: 909]

1999-09-01  Jeff Hobbs  <>

	* win/tkWinDraw.c:
	* unix/tkUnixDraw.c: fixed header style for TkpDrawHighlightBorder
	* generic/tkCanvas.c: fixed GC error (bg <> fg) in tkCanvas.c
	(from code added to support TkpDrawHighlightBorder) [Bug: 2676]
	* unix/aclocal.m4: added -bnoentry to the AIX-* flags
	* library/msgbox.tcl: changed the behavior of tk_messageBox on
	Unix to be more Windows like in handling of <Return> and the
	default button
	* library/button.tcl:
	* library/clrpick.tcl:
	* library/comdlg.tcl:
	* library/console.tcl:
	* library/dialog.tcl:
	* library/entry.tcl:
	* library/focus.tcl:
	* library/listbox.tcl:
	* library/menu.tcl:
	* library/msgbox.tcl:
	* library/palette.tcl:
	* library/safetk.tcl:
	* library/scale.tcl:
	* library/scrlbar.tcl:
	* library/tearoff.tcl:
	* library/text.tcl:
	* library/tk.tcl:
	* library/tkfbox.tcl:
	* library/xmfbox.tcl: updated commands to use [string] ops
	instead of expr equality operators

1999-08-21  Jeff Hobbs  <>

	* unix/aclocal.m4: Changed AIX-4.[2-9] check to AIX-4.[1-9]
	[Bug: 1909]

1999-08-20  Jeff Hobbs  <>

	* generic/tkCursor.c: fixed bug in GetCursorFromObj that caused
	panic [Bug: 2562]

	* TK 8.2.0 RELEASED

1999-08-13  Jim Ingham  <>

	* mac/tkMacMenu.c: Tk_DrawChars ends up setting the menu background
	wrong.	There is no clean way to stop it, so I use lower level routines
	here to draw the text.
	* mac/tkMacProjects.sea.hqx: Rearrange the projects so that the build 
	directory is separate from the sources.  Much more convenient! 

1999-08-10  Jeff Hobbs  <>

	* win/tkWinWm.c: changed "wm deiconify" on Windows to raise and
	force the focus on the deiconified window (behavioral change from
	8.1 to comply better with Windows style) [Bug: 1609]
	* doc/wm.n: clarified behavior of "wm deiconify".
	* generic/tkInt.decls: added TkSetFocusWin
	* generic/tkFocus.c: changed static SetFocus to TkSetFocusWin

	* library/clrpick.tcl:
	* library/console.tcl:
	* library/tk.tcl: fixed code where abbreviations where used
	in calling widget methods (confuses iWidgets) [Bug: 2422]

1999-08-09  Jeff Hobbs  <>

	* library/button.tcl: cleaned up programming (config -> configure)
	and fixed Windows relief bug [Bug: 664]
	* library/entry.tcl: changed Entry C/C/P to not use global data
	(now uses tkPriv(data)) [Bug: 1475]
	* library/listbox.tcl: fixed extended mode script error [Bug: 866]
	* doc/options.n: clarified that -troughcolor doesn't work on Windows
	* doc/wm.n: fixed wm positionfrom docs [Bug: 2284]

1999-08-01  Jeff Hobbs  <>

	* mac/tkMacPort.h: wrapped panic in #ifndef panic to avoid
	compiler errors when used with stubs-#defines, from Vince Darley.
	[Bug: 2389]
1999-07-31  Scott Redman  <>

	* xlib/X11/Xlib.h: Remove XFillRectangle since it is now in the
	stub tables.

1999-07-30  Jeff Hobbs  <>

	* generic/tkInt.decls: Added stub entry for XFillRectangle [Bug: 2446]

1999-07-30    <>

	* win/ Corrected building threaded tktest.exe on
	Windows.  Needed to link in .obj files from Tcl, needs to change
	later so that code is in Tk and doesn't require a Tcl build.
	Also added runtest target.

1999-07-29    <>

	* generic/tkConsole.c: Allow tcl to open CON and NUL, even for std
	channels.  Checking for bad/unusable std channels was moved to Tk
	since its only purpose was to check whether to use the Tk Console
	Window for the std channels.  [Bug: 2393 2392 2209 2458]

	* win/ Corrected building threaded tktest.exe on
	Windows.  Needed to link in .obj files from Tcl, needs to change
	later so that code is in Tk and doesn't require a Tcl build.

1999-07-22    <>

	* Changed version to 8.2b2

	* win/tkWinPort.h: Block out include of sys/stat.h in order to
	build extensions with MetroWerks compiler for Win32. [Bug: 2385]
	* unix/ Need to make install-sh executable before
	calling (with chmod +x).  [Bug: 2413]
	* library/menu.tcl: Applied patch from Jeff Hobbs to fix typo.
	[Bug: 2425]
1999-07-21    <>

	* unix/ Add Windows configure script to distribution.

1999-07-16    <>

	* unix/
	* win/  Copy the from the generic directory
	for install-libraries.

	* unix/aclocal.m4: Check for Alpha/Linux to set the IEEE flag to
	the compiler to be -mieee.  Patch from Don Porter.

1999-07-08    <>

	* tests/unixSelect.test: Fixed broken test.

	* win/ Added special case target to ensure that 
	tkStubLib.obj is built with -DSTATIC_BUILD.

	* win/tkWinX.c (TkWinChildProc): Changed to pass
	WM_WINDOWPOSCHANGED through to DefWindowProc to make OpenGL
	sub-windows happy.  This allows Windows to generate the WM_SIZE
	and WM_MOVE messages.

1999-07-08    <>

	* unix/ Fix Tk stub lib file names and flags.

1999-06-30    <>

	* generic/tkGrid.c: removed deprecated functions (applied patch
	from Jan Nijtmans). [Bug: 2080]

	* generic/tkImgGIF.c:
	* generic/tkImgPPM.c:
	* generic/tkImgPhoto.c: Applied patch to allow Img extension to
	work with 8.2, from Jan Nijtmans. [Bug: 2068]

	* win/tkWinWm.c: Applied patch from Don Porter to prevent the
	windows code from calling the Tcl functions when the stub table
	has not been initialized in TkWinWmCleanup.  [Bug: 2269]
1999-06-16    <>

	* unix/
	* unix/
	* unix/aclocal.m4: Numerous build changes to make Tk conform to
	the proposed TEA spec

	* tkConsole.c: changed some variable types from (int) to (size_t)
	to prevent compiler warnings.  Cast return value from strlen()
	to (int) in one place for the same reason.

1999-06-03    <>

	* unix/tkUnixSelect.c: 
	* tests/unixSelect.test: 
	* generic/tkSelect.c: Fixed selection code to handle Unicode data
	in COMPOUND_TEXT and STRING selections. [Bug: 1791]

1999-06-02    <>

	* generic/tkIntXlibDecls.h: 
	* xlib/X11/Xlib.h: Added Mac specific defines to help with

	* generic/tkFont.c: lint

1999-06-01    <>

	* unix/tkUnixSelect.c: Improved I18N selection support.
	COMPOUND_TEXT is converted to/from iso2022, and STRING is
	converted to/from iso8859-1.  There are still a few loose ends to
	tie up before this is completely done.

	* unix/tkUnixFont.c: Eliminated redundant case folding code.

	* generic/tkFont.c: Eliminated use of isupper/tolower in favor of
	Unicode variants.

1999-05-24    <>

	* generic/tkStubLib.c: 
	* generic/tkStubInit.c:
	* generic/tkIntXlibDecls.h: 
	* generic/tkIntPlatDecls.h: 
	* generic/tkIntDecls.h: 
	* generic/tkInt.decls: 
	* generic/tkConsole.c: Various changes to try to get the Mac
	builds working.

1999-05-21    <>

	* win/tkWinClipboard.c: Fixed clipboard code to handle lack of
	CF_LOCALE information (e.g. from

1999-05-20    <>

	* library/console.tcl: Changed copyright string to read 1999
	Scriptics Corp. in wish console about box.
1999-05-19    <>

	* generic/tk.h: Add extern "C" block around entire header file for
	C++ compilers to fix linkage issues.  Submitted by Don Porter and
	Paul Duffin.

1999-05-18    <>

	* tests/winClipboard.test: 
	* win/tkWinClipboard.c: Fixed clipboard code so it handles Unicode
	data properly on Windows NT and 95. [Bug: 1791]

1999-05-07    <>

	* library/menu.tcl: Fixed bug where tk_popup fails when called too
	quickly. [Bug: 2009]

1999-04-30    <>

	* Changed version number to 8.1.1.

1999-04-30    <>

	* Merged changes from 8.1.0 branch:

	* generic/tkDecls.h: 
	* generic/tkIntDecls.h: 
	* generic/tkIntPlatDecls.h: 
	* generic/tkIntXlibDecls.h: 
	* generic/tkPlatDecls.h: 
	* generic/tkStubInit.c: Changed to avoid the need for forward
	declarations in stub initializers.  Added extern "C" blocks around
	stub table pointer declarations so the stubs can be used from C++
	code. [Bug: 1934]

	* generic/tkInt.decls: Added TkClipBox, XDrawSegments, and
	XForceScreenSaver to stubs.

	* generic/tkStubLib.c: Reordered declarations to avoid
	circularities and forward references.

	* generic/tkStubInit.c: Added includes for Mac.

	* generic/tkMenubutton.c: lint

	* generic/tkEntry.c: Fixed bad option table entry.

	* generic/tkImgBmap.c:
	* generic/tkImgPPM.c:
	* generic/tkImgPhoto.c: Set the -translation and -encoding options
	to binary for image files. (reported by Marco Gazzetta)
1999-04-23    <>

	* generic/tkInt.decls: Added TkClipBox, XDrawSegments, and
	XForceScreenSaver to stubs.

	* generic/tkStubLib.c: Reordered declarations to avoid
	circularities and forward references.

	* generic/tkStubInit.c: Added includes for Mac.

	* generic/tkMenubutton.c: lint

	* generic/tkEntry.c: Fixed bad option table entry.

1999-04-22    <>

	* generic/tkImgBmap.c:
	* generic/tkImgPPM.c:
	* generic/tkImgPhoto.c: Set the -translation and -encoding options
	to binary for image files. (reported by Marco Gazzetta)

1999-04-20    <>

	* xlib/X11/Xlib.h: changed definition of Status type to use a
	typedef instead of a #define to avoid conflicting with the cygwin
	win32 headers [Bug 1804]

1999-04-15    <>

	* Merged 8.1 branch into the main trunk

1999-04-09    <>

	* generic/tkWindow.c: Fixed deadlock situation when the Initialize()
	function returns without releasing the mutex.  Found while testing
	Bug 1700, during safe.test (tk).

1999-04-06    <>

	* generic/tkMain.c (Tk_MainEx): Changed to reset result before
	calling Tcl_EvalFile.  The ensures that error messages will be
	generated cleanly.

	* tests/winfo.test: Enabled tests that previously failed.

1999-04-05    <>

	* library/bgerror.tcl:
	* library/button.tcl:
	* library/clrpick.tcl:
	* library/console.tcl:
	* library/dialog.tcl:
	* library/entry.tcl:
	* library/focus.tcl:
	* library/listbox.tcl:
	* library/menu.tcl:
	* library/msgbox.tcl:
	* library/palette.tcl:
	* library/scale.tcl:
	* library/scrlbar.tcl:
	* library/tearoff.tcl:
	* library/text.tcl:
	* library/tk.tcl: Lots of minor performance improvements
	contributed by Jeffrey Hobbs. [Bug: 1118]

	* win/tkWinWm.c (Tk_WmCmd): Fixed bad code in tracing
	suboption. [Bug: 1519]

	* library/tkfbox.tcl: Change to restore button text after an
	action to avoid the sticky "Open" button in a save dialog.
	[Bug: 1640]

	* library/entry.tcl: Fixed so selection is returned using the
	-show character during cut and paste operations. [Bug: 1687]
1999-04-5     <>

	* generic/tkInt.decls:
	* generic/tkIntXlibDecls.h:
	* generic/tkStubInit.c:
	* xlib/xgc.c:
	* xlib/X11/Xlib.h:
	* xlib/X11/Xutil.h: Added more X functions to the Win & Mac stubs
1999-04-05    <>

	* unix/
	* generic/tkCanvPs.c: Added configure test for pw_gecos field in
	pwd to support OS/390. [Bug: 1724]

1999-04-02    <>

	* tests/text.test: 
	* generic/tkText.c: Fixed handling of Unicode in text searches.
	The -count option was returning byte counts instead of character
	counts. [Bug: 1056, 1148, 1666]

1999-04-01    <>

	* generic/tk.decls:
	* generic/tk.h:
	* generic/tkStubInit.c:
	* generic/tkWindow.c:
	* unix/
	* win/ Tk now uses its own stub library to store
	pointers to its own stubs table.

	* doc/dde.n: (removed)
	* doc/send.n:
	* generic/tk.decls:
	* tests/winSend.test:
	* generic/tkPlatDecls.h:
	* win/tkWinSend.c:  Removed the DDE-based send and dde commands,
	they were causing Tk to lock up when any window on the system was
	not processing its message queue (more importantly, windows in Tcl
	and Tk).  The send command needs to be rewritten to prevent the
	deadlock situation (soon).  The dde command is being pushed into
	its own package and will provide almost all of the capabilities
	that send did before (using a "dde eval" command), not yet

1999-03-31    <>

	* win/tkWinSend.c: Modified dde/send code to work properly on
	Win95/Win98. String lengths are not returned properly by DDE, so
	NULL terminate all strings going in and ignore the string length
	coming back out.  Do not destroy handles until all necessary work
	on those handles (and child handles) is done.

1999-03-30    <>

	* generic/tkWindow.c (Tk_DestroyWindow): Image handlers are now
	finalized before the font subsystem since complex image handlers
	may contain references to fonts (e.g. Tix compound images).
	[Bug: 1603]

1999-03-29    <>

	* doc/MeasureChar.3: 
	* doc/TextLayout.3: 
	* generic/tk.decls: 
	* generic/tkCanvText.c: 
	* generic/tkEntry.c:
	* generic/tkFont.c: 
	* generic/tkListbox.c: 
	* generic/tkMessage.c: 
	* mac/tkMacFont.c: 
	* unix/tkUnixButton.c: 
	* unix/tkUnixFont.c: 
	* unix/tkUnixMenu.c: 
	* win/tkWinFont.c: 
	* win/tkWinMenu.c: Standardized text layout and font interfaces
	so they are consistent with respect to byte versus character
	oriented indices.  The layout functions all manipulate character
	oriented values while the lower level measurement functions all
	operate on byte oriented values.  This distinction was not clear
	and so the functions were being used improperly in a number of
	places.  [Bug: 1053, 747, 749, 1646]

	* generic/tk.decls: Eliminated uses of C++ STL types string and
	list from declarations.

	* generic/tkFont.c: Changes to named fonts were not being
	propagated in some cases. [Bug: 1144]
	* xlib/X11/Xlib.h:
	* generic/tkInt.decls: Added XParseColor to xlib stub
	tables. [Bug: 1574] 

	* doc/GetBitmap.3: 
	* generic/tkBitmap.c (BitmapInit): Eliminated use of Tk_Uid's in
	bitmaps.  Added a few CONST declarations.

1999-03-29    <>

	* unix/
	* unix/
	* win/
	* generic/tkDecls.h:
	* generic/tkIntDecls.h:
	* generic/tkIntPlatDecls.h:
	* generic/tkPlatDecls.h:
	* generic/tkIntXlibDecls.h: Removed stub functions. Always use the
	Tcl stubs when building with --enable-shared.

1999-03-26    <>

	* generic/tkTextIndex.c:
	* tests/testIndex.test: Avoid looking past the beginning of the
	array storing data for the text widget (.t index end-2c).  Added
	test case to check for the bug.  [Bug 991]
	* generic/tkConsole.c: Copy static strings into a Tcl_DString
	before passing to Tcl_Eval, in case the compiler puts static
	strings into read-only memory.

1999-03-26    <>
	* unix/
	--nameble-shared is now the default and builds Tk as a shared
	library; specify --disable-shared to build a static Tk library
	and shell.

1999-03-26    <>

	* library/menu.tcl: Fixed bug reported by Bryan Oakley in the
	menubutton bindings.  There was a false assumption that there was
	always a menu attached to the button.  [Bug 1116] 

1999-03-26    <>

	* unix/ Removed --enable-tcl-stub.  Linking Tk to Tcl
 	stubs is causing too many problems when linking executables like wish.
  	Until the Tk is a fully loadable extension, linking against the Tcl
 	stubs is not supported in Tk.

1999-03-19    <>

	* generic/tkBitmap.c:
	* generic/tkCursor.c:
	* generic/tkGC.c: When creating hash tables that key off of XID
 	handles, make sure to pass TCL_ONE_WORD_KEYS.  XIDs are guaranteed
 	to be 32bit numbers, although on some 64bit systems (including 64bit
 	Solaris 7) they are packed into a 64bit value where the upper 32bits
 	are zero. The normal method of sizeof(XID)/sizeof(int) causes the
 	hash table code to assume that the XID is a pointer to an array of 
	two ints, which it is not.  Tk now supports 64bit Solaris 7.

1999-03-17    <>

	* win/ 
	* generic/tk.h: Changed to use TCL_BETA_RELEASE macro, and fixed
	so this works in rc files.
	* win/ 
	* win/makefile.bc: 
	* win/README: 
	* unix/ 
	* generic/tk.h: 
	* README: Updated version to 8.1b3.

1999-03-14    <stanton@GASPODE>

	* unix/ Added missing stub related definitions.

	* unix/ Install tkDecls.h in addition to tk.h.

	* generic/tkStubLib.c: Added flags to ensure we are using Tcl
	stub macros.

1999-03-11    <stanton@GASPODE>

	* generic/tkInt.decls: Added reserved slot for XSetDashes for use
	by the dash patch.

1999-03-10    <>

	* xlib/xdraw.c:
	* xlib/X11/Xlib.h:
	* mac/tkMac.h:
	* mac/tkMacInt.h:
	* mac/tkMacPort.h:
	* mac/tkMacXStubs.c:
	* mac/tkMacAppInit.c:
	* mac/tkMacCursor.c:
	* win/
	* win/tkWin.h:
	* win/tkWinInt.h:
	* win/tkWinPort.h:
	* win/winMain.c:
	* generic/tk.h:
	* generic/tkInt.h:
	* generic/tk.decls:
	* generic/tkInt.decls:
	* generic/tkDecls.h:
	* generic/tkPlatDecls.h:
	* generic/tkIntDecls.h:
	* generic/tkIntPlatDecls.h:
	* generic/tkIntXlibDecls.h:
	* generic/tkStubs.c:
	* generic/tkPlatStubs.c:
	* generic/tkIntStubs.c:
	* generic/tkIntPlatStubs.c:
	* generic/tkIntXlibStubs.c:
	* generic/tkStubInit.c:
	* generic/tkStubLib.c:
	* generic/tkBind.c:
	* generic/tkCmds.c:
	* generic/tkConfig.c:
	* generic/tkConsole.c: 
	* generic/tkCursor.c:
	* generic/tkGrab.c:
	* generic/tkImgPhoto.c:
	* generic/tkMain.c:
	* generic/tkMenu.c:
	* generic/tkPointer.c:
	* generic/tkTextDisp.c:
	* generic/tkWindow.c:
	* unix/tkUnixInt.h:
	* unix/tkUnixPort.h:
	* unix/
	* unix/
	* unix/
	* unix/tkUnix.c:
	* unix/tkUnix3d.c:
	* unix/tkUnixDraw.c:
	* unix/tkUnixFont.c:
	* unix/tkUnixMenubu.c: Stubs implementation for 8.1.  Tk_Main() is
	replaced with a macro which calls Tk_MainEx(). Tk can link to the Tcl
	stubs library, wish links directly to Tcl and Tk. Use
	--enable-tcl-stubs to link Tk to the Tcl stubs library (Unix), on
	by default on Windows. Exported all public functions through the
	stubs mechanism (see the *.decls files) and many of the internal
	functions. Most of the changes dealt with shifting around the
	function declarations in the header files.  Mac code may not
	compile, but it shouldn't take much work to fix this.
	* mac/tkMacMenu.c: Added dummy TkpMenuThreadInit for Mac to be
	consistent with Unix and Windows versions.
1999-03-08    <>

	* win/tkWinWm.c: Toplevel class no longer shared between 
	* win/tkWinX.c: Multiple threads no longer share the same
	TkDisplay structure.  Required because TkDisplay stores much
	thread-specific data for a given thread.

	* win/tkWinSend.c: Moved application instance handle out
	out thread-local storage.  DDE was failing to initialize
	when the instance handles were different between threads.
	* win/ Added THREADDEFINES for building with
	threads enabled.
	* generic/tkMenu.c:
	* win/tkWinMenu.c:
	* unix/tkUnixMenu.c: Added TkpMenuThreadInit for initializing
	thread-specific Menu state.

1999-03-01    <>

	* win/tkWinWm.c: 
	* win/tkWinPointer.c:
	* win/tkWinInt.h: Fix "focus -force" for Windows.  The Win32 API
	function SetForegroundWindow() does not work unless the window
	handle is a toplevel window (a Windows toplevel).  The handle
	being passed was a Tk toplevel, which is a child of the Windows

1999-02-26    <>

	* win/cat.c: Remove this file, use the one in the Tcl source directory.

	* win/ Remove the wishc.exe from the default targets.  Add
	a separate console-wish target to build it.  The need for a 
	console-wish will go away soon, so we don't want to encourage its

1999-02-25    <>

	* win/tkWinWm.c: Properly initialize the tsdPtr->firstWindow field.
	* win/cat.c: Code for cat32.exe, copied from the Tcl sources. Required
	in order to run the test suite from the makefile

	* win/winMain.c: Add main() for a console-based wishc.exe, which meant
	adding code to disable the call to Tk_ConsoleInit().
	* generic/tkConsole.c: Check the standard handles before creating the
	new standard channels.	This allows a windows app that has stdin,
	stdout, or stderr to correctly connect to them.
	* generic/tkMain.c: Add a proper check for the interactive mode, since
	the standard channels may actually be connected in windows mode or
	even in the console-based wish.
	* win/ Add targets for wishc.exe (console-based wish) and
	cat32.exe (for testing). Fix the test suite target so it can be run
	from the makefile (which can happen since the standard handles have
	been fixed).

1999-02-12    <>

	* generic/tkMenuButton.h:
	* generic/tkMenuButton.c:
	* mac/tkMacMenubutton.c:
	* mac/tkMacDefault.h
	* unix/tkUnixMenubu.c: Eliminated Tk_Uids used by -state option.
	* unix/tkUnixDefault.h
	* win/tkWinDefault.h

	* generic/tk.h:
	* generic/tkScale.h:
	* generic/tkScale.c:
	* generic/tkWindow.c:
	* unix/tkUnixScale.c:	
	* unix/tkUnixDefault.h:
	* unix/tkWinDefault.h:
	* mac/tkMacDefault.h:  Objectified scale widget.

	* win/tkWinX.c: Removed Thread-specific data from process
	initialization code that was stopping the Tk Dll from 

1999-02-11    <stanton@GASPODE>

	* generic/tk.h: 
	* unix/
	* win/README:
	* win/makefile.bc:
	* win/ Updated version to 8.1b2.
	* unix/tkUnixSend.c: Fixed one more Tcl_*ObjVar instance.
1999-02-04    <stanton@GASPODE>

	* Various cleanup related to the Tcl_Eval and Tcl_ObjSetVar
	changes in Tcl.
	* win/tkWinMenu.c (TkpDestroyMenu): Changed so modalMenuPtr is
	cleared when it is being destroyed.

	* generic/tkImgPhoto.c: Changed so color tables are freed
	immediately instead of being delayed.  This ensures that color
	tables are properly disposed at process exit.

	* library/ Changed string that determines font height to
	include European character with an umlaut.

	* generic/tkImgBmap.c (ImgBmapConfigureInstance): If an image
	mask changed but ended up with the same XID, the GC failed to be
	updated and so the new mask was not used. [Bug: 970]

	* generic/tkFocus.c (SetFocus): Changed so focus window is always
	set if -force is specified.  This fixes the problem on Windows
	where Tk does not activate the window if it already has focus.

	* generic/tkConsole.c: Fixed so errors in console eval are
	reported properly.  Eliminated duplicate result messages. [Bug: 973]

	* win/tkWinWm.c: Changed so windows that aren't resizable don't
	have resize handles and the zoom box is disabled.

	* win/tkWinInt.h:
	* win/tkWinPointer.c: Changed to cancel the mouse timer when a
	user initiated move/resize loop begins.

	* unix/ TK_LD_SEARCH_FLAGS was set incorrectly if
	SHLIB_LD_LIBS='${LIBS}', and shared linking is performed through
	the C compiler. Systems affected are Linux, MP-RAS and NEXTSTEP,
	but also with gcc on many more systems. [Bug: 908]

	* win/ First stab at install target.  Fixed quoting so
	paths with spaces work.
	* tests/main.test:
	* tests/unixWm.test: Better cleanup of temporary files.
	* mac/tkMacAppInit.c:
	* generic/tkTest.c:
	* generic/tkAppInit.c:
	* win/winMain.c: Changed some EXTERN declarations to extern
	since they are not defining exported interfaces.  This avoids
	generating useless declspec() attributes and makes the windows
	makefile simpler.

	* library/menu.tcl (tkMenuFind): Changed so keyboard shortcuts
	will only be found in the current toplevel.  Previously, they
	might be found in menus attached to other toplevels that might not
	even be mapped. [Bug: 924]

	* generic/tkCanvLine.c: Changed to treat zero width lines like
	they have width 1 for purposes of selection. [Bug: 925]

	* win/tkWinFont.c (Tk_MeasureChars): Added a workaround for a bug
	in GetTextExtentExPoint on Win NT 4.0/Japanese. [Bug: 1006]

	* unix/tkUnixSend.c (Tk_SetAppName): Fixed uninitialized memory
	access bug. [Bug: 919]

1999-1-28    <stanton@GASPODE>

	* generic/tkGrid.c: Fixed bug in "grid forget" that failed to cancel
	pending idle handlers, resulting in a crash in a few odd cases.

1999-01-06  <lfb@JUSTICE>

	* generic/tk.h, generic/tkGet.c, generic/tkConfig.c, 
	* generic/tkOldConfig.c, generic/tkEntry.c, generic/tkMenubutton.c, 
	* generic/tkMenubutton.h, generic/tkScale.c, generic/tkScale.h, 
	* generic/tkTextDisplay.c, generic/tkText.c, unix/tkUnixMenubu.c, 
	* unix/tkUnixScale.c, mac/tkMacMenu.c, mac/tkMacMenubutton.c, 
	Removed global Tk_Uids dealing with "-state" configuration option
	and added new TK_CONFIG_STATE configSpec that doesn't use 

1998-12-11    === Tk 8.1b1 Release ===
1998-12-11    <stanton@GASPODE>

	* generic/tkMain.c (Tk_Main): Fixed improper command line encoding

1998-12-08    <stanton@GASPODE>

	* win/tkWinClipboard.c (TkSelGetSelection, TkWinClipboardRender):
	Changed to handle multibyte characters properly. [Bug: 935]

1998-12-07    <stanton@GASPODE>

	* library/xmfbox.tcl (tkMotifFDialog_Create): In the cached case,
	the data array was not being initialized with the correct set of

1998-12-4    <welch@SAGE>

	* Changed patchLevel to 8.1b1

	* generic/tkMenu.c (ConfigureMenuCloneEntries): The -menu configuration
	option was being incorrectly specified as just "menu". 

1998-11-30    <stanton@GASPODE>

	* generic/tkButton.c (ConfigureButton): The error result was
	getting lost when restoring configuration options. [Bug: 619]

1998-11-25    <stanton@GASPODE>

	* unix/tkUnixFont.c (GetFontAttributes): Initialize an unspecified
	family to an empty string.
	(FontMapLoadPage): if the font included characters below 32, the
	index computation was incorrect because the range was shifted up
	to 32.
	(CreateClosestFont): check for empty locale as well as NULL.

	* generic/tkFont.c (TkFontParseXLFD): initialize charset to
	iso8859-1 if no charset is specified.

	* mac/tkMacHLEvents.c (OdocHandler): added conversion from
	external string to UTF [Bug: 869]

	* integrated tk8.0.4 changes.
	* generic/tkBind.c: fixed deletion order bug where a crash would
	result if a binding deleted "."

	* generic/tkMenu.c (MenuWidgetObjCmd): disabled menu entries were
	getting reenabled whenever the mouse passed over the entry [Bug: 860]

	* unix/tkUnixMenu.c (TkpComputeStandardMenuGeometry): hidemargin
	option was not honored properly in menus [Bug: 859]

1998-11-24    <stanton@GASPODE>

	* tkMacMenu.c, tkUnixMenu.c, tkWinMenu.c, tkMenuDraw.c, tkMenu.h,
	* tkMenu.c: Backed out the previous fix for bug 620 and
	eliminated a bunch of code that created unnecessary objects.
	Changed back to using internal types instead of objects for many
	configuration options.	There are many more fixes like this that
	could be made, but some require a little restructuring of the
	code. In any case the leaks are fixed and there is a lot less
	allocation happening. [Bug: 620]

1998-11-19    <stanton@GASPODE>

	* tkMenu.c (DestroyMenuEntry): fixed memory leaks [Bug: 620]
	* tkWinX.c (GetTranslatedKey): fixed bad code merge

	* tkWinWm.c, tkWinMenu.c: fixed titles and menus so they properly
	display Unicode [Bug: 819]