Share

Tcl

File Release Notes and Changelog

Release Name: 8.4.15

Notes:
Tcl/Tk 8.4.15 Release Announcement
May 25, 2007

The Tcl Core Team is pleased to announce the 8.4.15 releases of the Tcl
dynamic language and the Tk toolkit.  This is the fifteenth patch release
of Tcl/Tk 8.4.  More details can be found below.  We would like to
express our gratitude to all those who submit bug reports and patches.
This information is invaluable in enabling us to identify and eliminate
problems in the core.

Where to get the new releases:
------------------------------

Tcl/Tk 8.4.15 sources are freely available as open source from the
Tcl Developer Xchange web site at:

        http://www.tcl.tk/software/tcltk/8.4.html

This web page also contains additional information about the releases,
including new features and notes about installing and compiling the
releases.  Sources are always available from the Tcl SourceForge
project's file distribution area:

        http://sourceforge.net/project/showfiles.php?group_id=10894

Binaries for most major platforms are available from:

        http://www.activestate.com/Tcl

For additional information:
---------------------------

Please visit the Tcl Developer Xchange web site:

        http://www.tcl.tk/

This site contains a variety of information about Tcl/Tk in general, the
core Tcl and Tk distributions, Tcl development tools, and much more.

Summary of Changes since Tcl/Tk 8.4.14:
--------------------------------------

The following were the main changes in Tcl/Tk 8.4.15.  A complete list
can be found in the changes file at the root of the source tree.  The
more complete ChangeLog is also included with each source release.  This
is a patch release, so it primarily included bug fixes and corrections
to erratic behavior.  Below are only the most notable changes.

  * [wm attributes $win -transparentcolor] now available on Windows

  * Many Aqua/Tk bug fixes and improvements, see Tk changes file.

  * Fixed buffer overflow in registry (registry 1.1.5)

  * Fixed wrong fd's passed to select() on 64-bit systems.

  * [$listbox itemconfigure] performance issues resolved.

  * Corrected errors from [tk_getOpenFile] in empty dir

  * Corrected underlines in multibyte menu items.

  * Fixed build with VC2003.

  * Mac OS X: <Escape> binding fixed for dialogs

  * Mac OS X: better embedder control over Tk console via ::tcl_interactive.

  * Fixed double write of chars in escape encoding that bridge channel buffers.

  * Fixed [file copy] from an AFS filesystem

  * Fixed crash in fts_open() on 64-bit Darwin 8 or earlier.

  * Fixed several rare crashes involving list shimmering.

  * Fixed hang in [foreach {} x {}].

  * New target: `make install-private-headers`

--
Tcl Core Team and Maintainers
Don Porter, Tcl Core Release Manager                                                             

Changes: **** TCL **** 2007-05-24 Don Porter <dgp@users.sourceforge.net> *** 8.4.15 TAGGED FOR RELEASE *** * generic/tclIO.c: Backport memleak fix in TclFinalizeIOSubsystem. 2007-05-17 Don Porter <dgp@users.sourceforge.net> * tests/fCmd.test: Backport the notNetworkFilesystem constraint. 2007-05-15 Don Porter <dgp@users.sourceforge.net> * generic/tclNamesp.c: Plugged memory leak related to [namespace delete ::]. [Bug 1716782] * changes: updates for 8.4.15 release. * win/tclWinReg.c: Bump to registry 1.1.5 to account * library/reg/pkgIndex.tcl: for [1682211] bug fix. 2007-05-10 Don Porter <dgp@users.sourceforge.net> * generic/tclInt.h: TclFinalizeThreadAlloc() is always defined, so make sure it is also always declared. [Tcl Bug 1706140] * generic/tclCmdMZ.c (Trace*Proc): Update Tcl_VarTraceProcs so * generic/tclLink.c (LinkTraceProc): that they call * generic/tclUtil.c (TclPrecTraceProc): Tcl_InterpDeleted() for themselves, and do not rely on (frequently buggy) setting of the TCL_INTERP_DESTROYED flag by the trace core. * generic/tclVar.c: Update callers of CallVarTraces to not pass in the TCL_INTERP_DESTROYED flag. Also apply filters so that public routines only pass documented flag values down to lower level routines. * generic/tclVar.c (CallVarTraces): The setting of the TCL_INTERP_DESTROYED flag is now done entirely within the CallVarTraces routine, the only place it can be done right. 2007-04-30 Daniel Steffen <das@users.sourceforge.net> * unix/Makefile.in: add 'tclsh' dependency to install targets that rely on tclsh, fixes parallel 'make install' from empty build dir. 2007-04-29 Daniel Steffen <das@users.sourceforge.net> * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open() * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier. * unix/tclLoadDyld.c (TclpLoadMemory): fix (void*) arithmetic. * macosx/tclMacOSXNotify.c: fix warnings. * macosx/README: sync whitespace/formatting with HEAD. * macosx/tclMacOSXBundle.c: * macosx/tclMacOSXNotify.c: * unix/tclLoadDyld.c: * macosx/Makefile: fix/add copyright and license refs. * macosx/tclMacOSXBundle.c: * macosx/Tcl-Info.plist.in: * unix/Makefile.in (dist): copy license.terms to dist macosx dir. * unix/configure.in: install license.terms into Tcl.framework. * unix/configure: autoconf-2.13 2007-04-21 Kevin B. Kenny <kennyb@acm.org> * generic/tclClock.c: Restored Cygwin buildability [Bug 1387154] * generic/tclInt.decls: Yet another round of attempting * generic/tclInt.h: to get the correct type signature * unix/tclUnixPort.h: for TclpLocaltime and TclpGmtime. * unix/tclUnixTime.c: CONST TclpTime_t is a 'time_t *CONST' * win/tclWinTime.c: and not a 'CONST time_t*' [Bug 1677275] * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: Regenerated. 2007-03-24 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> * win/tclWinThrd.c: Thread exit handler marks the current thread as un-initialized. This allows exit handlers that are registered later to re-initialize this subsystem in case they need to use some sync primitives (cond variables) from this file again. 2007-03-19 Don Porter <dgp@users.sourceforge.net> * generic/tclEvent.c (Tcl_CreateThread): Replaced some calls to * generic/tclPkg.c (CheckVersion): Tcl_Alloc() with calls to * unix/tclUnixTime.c (SetTZIfNecessary): ckalloc(), which better * win/tclAppInit.c (setargv): supports memory debugging. 2007-03-17 Kevin Kenny <kennykb@acm.org> * win/tclWinReg.c (GetKeyNames): Size the buffer for enumerating key names correctly, so that Unicode names exceeding 127 chars can be retrieved without crashing. [Bug 1682211] * tests/registry.test (registry-4.9): Added test case for the above bug. 2007-03-13 Don Porter <dgp@users.sourceforge.net> * generic/tclExecute.c (INST_FOREACH_STEP4): Re-fetch pointers for * tests/foreach.test (foreach-10.1): the value list each iteration of the loop as defense against shimmers. [Bug 1671087] * generic/tclVar.c (TclArraySet): Re-fetch pointers for the list * tests/var.test (var-17.1): argument of [array set] each time through the loop as defense against possible shimmer issues. [Bug 1669489]. 2007-03-10 Donal K. Fellows <donal.k.fellows@man.ac.uk> * generic/tclCmdIL.c (Tcl_LsortObjCmd): Handle tricky case with loss * tests/cmdIL.test (cmdIL-1.29):of list rep during sorting due to shimmering. [Bug 1675116] 2007-03-07 Daniel Steffen <das@users.sourceforge.net> * macosx/tclMacOSXNotify.c: add spinlock debugging and sanity checks. * unix/tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in macosx-version-min check. * unix/configure: autoconf-2.13 2007-03-01 Donal K. Fellows <donal.k.fellows@man.ac.uk> * generic/tclCompCmds.c (TclCompileForeachCmd): Prevent an unexpected * tests/foreach.test (foreach-9.1): infinite loop when the variable list is empty and the foreach is compiled. [Bug 1671138] 2007-02-22 Andreas Kupries <andreask@activestate.com> * tests/pkg.test: Added tests for the case of an alpha package satisfying a require for the regular package, demonstrating a corner case specified in TIP#280. More notes in the comments to the test. 2007-02-20 Don Porter <dgp@users.sourceforge.net> * doc/tcltest.n: Typo fix. [Bug 1663539] 2007-02-19 Jeff Hobbs <jeffh@ActiveState.com> * generic/tclIOUtil.c (Tcl_FSEvalFile): safe incr of objPtr ref. * unix/tcl.m4: use SHLIB_SUFFIX=".so" on HP-UX ia64 arch. * unix/configure: autoconf-2.13 2007-02-12 Andreas Kupries <andreask@activestate.com> * generic/tclEncoding.c (EscapeFromUtfProc): Applied patch supplied by Mo DeJong to fix [Bug 1516109]. Backport from Tcl 8.5. Mo's description: Clear the TCL_ENCODING_END flag when end bytes are written. This fix keep this method from writing escape bytes for an encoding like iso2022-jp multiple times when the escape byte overlap with the end of the IO buffer. * tests/io.test: Add test case for escape byte overlap case. 2007-02-04 Daniel Steffen <das@users.sourceforge.net> * unix/configure.in: add caching to -pipe check. * unix/configure: autoconf-2.13 2007-01-30 Jeff Hobbs <jeffh@ActiveState.com> * win/Makefile.in (install-private-headers): added target 2007-01-29 Don Porter <dgp@users.sourceforge.net> * doc/fcopy.n: Typo fix. [Bug 1630627] 2007-01-25 Daniel Steffen <das@users.sourceforge.net> * unix/tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible * unix/configure.in: 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 2007-01-22 Andreas Kupries <andreask@activestate.com> * compat/memcmp.c (memcmp): Fixed the VOID / CONST typo introduced by the last checkin. 2007-01-22 Donal K. Fellows <donal.k.fellows@man.ac.uk> * compat/memcmp.c (memcmp): Reworked so that arithmetic is never performed upon void pointers, since that is illegal. [Bug 1631017] 2006-01-19 Daniel Steffen <das@users.sourceforge.net> * macosx/tclMacOSXNotify.c: accommodate changes to prototypes of OSSpinLock(Un)Lock API. * tests/env.test: add extra system env vars that need to be preserved on some Mac OS X versions for testsuite to work. * 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-19 Daniel Steffen <das@users.sourceforge.net> * unix/tclUnixThrd.c (TclpInetNtoa): fix for 64 bit. * unix/tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit -arch flag succeeds before enabling 64bit build. * unix/configure: autoconf-2.13 2006-12-14 Donal K. Fellows <donal.k.fellows@man.ac.uk> * doc/string.n: Fix example. [Bug 1615277] 2006-12-05 Andreas Kupries <andreask@activestate.com> * tests/pkg.test: Backport to 8.4 (Don Porter's work): * generic/tclPkg.c: When no requirements are supplied to a [package require $pkg] and [package unknown] is invoked to find a satisfying package, pass the requirement argument "0-" (which means all versions are acceptable). This permits a registered [package unknown] command to call [package vsatisfies $testVersion {*}$args] without any special handling of the empty $args case. This fixes/avoids a bug in [::tcl::tm::UnknownHandler] that was causing old TM versions to be provided in preference to newer TM versions. Thanks to Julian Noble for discovering the issue. 2006-12-04 Donal K. Fellows <donal.k.fellows@man.ac.uk> * doc/file.n: Fix confusing wording for [file pathtype]. [Bug 1606454] 2006-11-28 Andreas Kupries <andreask@activestate.com> * generic/tclBasic.c: TIP #280 implementation, conditional on the * generic/tclCmdAH.c: define TCL_TIP280. * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompCmds.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclCompile.h: * generic/tclExecute.c: * generic/tclIOUtil.c: * generic/tclInt.h: * generic/tclInterp.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclProc.c: * tests/compile.test: * tests/info.test: * tests/platform.test: * tests/safe.test: 2006-11-27 Kevin Kenny <kennykb@acm.org> * unix/tclUnixChan.c (TclUnixWaitForFile): * tests/event.test (event-14.*): Corrected a bug where TclUnixWaitForFile would present select() with the wrong mask on an LP64 machine if a fd number exceeds 32. Thanks to Jean-Luc Fontaine for reporting and diagnosing [Bug 1602208] 2006-11-26 Daniel Steffen <das@users.sourceforge.net> * unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389] * unix/configure: autoconf-2.13 [Bug 1230558] 2006-11-07 Andreas Kupries <andreask@activestate.com> * unix/tclUnixFCmd.c (CopyFile): Added code to fall back to a hardwired default block size should the filesystem report a bogus value. [Bug 1586470] 2006-11-03 Miguel Sofer <msofer@users.sf.net> * generic/tclBasic.c (TEOVI): fix for possible leak of a Command in the presence of execution traces that delete it. * generic/tclBasic.c (TEOVI): * tests/trace.test (trace-21.11): fix for [Bug 1590232], execution traces may cause a second command resolution in the wrong namespace. 2006-11-01 Daniel Steffen <das@users.sourceforge.net> * generic/tclEnv.c (Darwin): mark _environ symbol as unexported. 2006-10-31 Pat Thoyts <patthoyts@users.sourceforge.net> * rules.vc: Fix [Bug 1582769] build with VC2003 and correct i386 arch 2006-10-23 Don Porter <dgp@users.sourceforge.net> * README: Bump version number to 8.4.15 * generic/tcl.h: * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.spec: * win/README.binary: * win/configure.in: * unix/configure: autoconf-2.13 * win/configure: **** TK **** 2007-05-25 Don Porter <dgp@users.sourceforge.net> *** 8.4.15 TAGGED FOR RELEASE *** * unix/README: Updates and typo corrections. [Bug 1724841] 2007-05-16 Don Porter <dgp@users.sourceforge.net> * tests/bind.test: Make test suite more SCIM-tolerant [Bug 1609316] 2007-05-15 Don Porter <dgp@users.sourceforge.net> * changes: updates for 8.4.15 release. * generic/tkGrid.c: Stop crash due to list intrep shimmer [Bug 1677608] 2007-05-09 Daniel Steffen <das@users.sourceforge.net> * 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 processing. * 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 <das@users.sourceforge.net> * 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/Makefile.in: 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 resources. * 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 TkMacOSXModifierState()). * 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/Wish-Info.plist.in: 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/Tk-Info.plist.in: * macosx/Wish-Info.plist.in: * macosx/tkMacOSX.h: * unix/Makefile.in (dist): copy license.terms to dist macosx dir. * unix/configure.in: 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 <das@users.sourceforge.net> * 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 <jeffh@ActiveState.com> * 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 <das@users.sourceforge.net> * unix/configure.in: add caching to -pipe check. * unix/configure: autoconf-2.13 2007-01-30 Jeff Hobbs <jeffh@ActiveState.com> * win/Makefile.in (install-private-headers): added target 2007-01-25 Daniel Steffen <das@users.sourceforge.net> * unix/tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible * unix/configure.in: 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 <das@users.sourceforge.net> * 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 <donal.k.fellows@man.ac.uk> * 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 <jeffh@ActiveState.com> * win/tkWinButton.c (TkpDisplayButton): lint init. [Bug 1618604] 2006-12-19 Daniel Steffen <das@users.sourceforge.net> * 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 <jeffh@ActiveState.com> * generic/tkListbox.c (ConfigureListboxItem): ListboxWorldChanged not needed - just call EventuallyRedrawRange. [Bug 1608046] (rezic) 2006-12-01 Jeff Hobbs <jeffh@ActiveState.com> * doc/wm.n, tests/winWm.test: * win/tkWinWm.c: add -transparentcolor attribute for Windows. 2006-11-30 Daniel Steffen <das@users.sourceforge.net> * 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 <das@users.sourceforge.net> * unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389] * unix/configure: autoconf-2.13 [Bug 1230558] 2006-11-24 Jeff Hobbs <jeffh@ActiveState.com> * 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 <jeffh@ActiveState.com> * win/tkWinMenu.c (TkWinHandleMenuEvent, DrawMenuUnderline): handle unichar underlining correctly and safely. [Bug 1599877] 2006-11-02 Daniel Steffen <das@users.sourceforge.net> * 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 <das@users.sourceforge.net> * 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 <patthoyts@users.sourceforge.net> * rules.vc: Fix bug #1582769 build with VC2003 and correct i386 arch. 2006-10-23 Don Porter <dgp@users.sourceforge.net> * README: Bump version number to 8.4.15 * generic/tk.h: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.13 * win/configure: