From c2e8768187b8a0373793db9afd305d89d09de3a3 Mon Sep 17 00:00:00 2001 From: Keith Seitz Date: Tue, 24 Sep 2002 22:00:43 +0000 Subject: one more time: import tcl 8.4.0 --- tcl/ChangeLog | 10427 +++++++++++++++----------------------------- tcl/README | 187 +- tcl/changes | 8793 +++++++++++++++++++------------------ tcl/compat/license.terms | 9 +- tcl/doc/license.terms | 9 +- tcl/generic/README | 6 +- tcl/library/license.terms | 9 +- tcl/library/tclIndex | 343 +- tcl/license.terms | 9 +- tcl/mac/README | 82 +- tcl/mac/bugs.doc | 86 +- tcl/mac/license.terms | 9 +- tcl/macosx/Makefile | 16 +- tcl/tests/README | 91 +- tcl/tests/all.tcl | 20 +- tcl/tests/event.test | 1169 +++-- tcl/tests/get.test | 165 +- tcl/tests/license.terms | 9 +- tcl/tests/main.test | 1197 ++++- tcl/tests/obj.test | 599 ++- tcl/tests/safe.test | 645 ++- tcl/tests/util.test | 359 +- tcl/unix/Makefile.in | 1651 +++---- tcl/unix/README | 152 +- tcl/unix/configure | 7446 ++++++++++++++++++++----------- tcl/unix/configure.in | 691 +-- tcl/unix/mkLinks | 2920 ++++++++----- tcl/win/Makefile.in | 824 ++-- tcl/win/README | 119 +- tcl/win/buildall.vc.bat | 9 +- tcl/win/configure | 526 ++- tcl/win/configure.in | 235 +- tcl/win/license.terms | 9 +- tcl/win/makefile.bc | 859 ++-- tcl/win/makefile.vc | 857 ++-- tcl/win/rules.vc | 2 +- tcl/win/tcl.m4 | 40 +- 37 files changed, 21456 insertions(+), 19123 deletions(-) diff --git a/tcl/ChangeLog b/tcl/ChangeLog index 0ff16040b3b..2884fcf180c 100644 --- a/tcl/ChangeLog +++ b/tcl/ChangeLog @@ -1,12 +1,12 @@ 2002-09-10 Daniel Steffen - * unix/Makefile.in: added DYLIB_INSTALL_DIR variable for Darwin + * unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx 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/Tcl.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 @@ -16,7371 +16,4058 @@ *** 8.4.0 TAGGED FOR RELEASE *** -2002-09-09 Jeff Hobbs +2002-09-06 Don Porter - * macosx/tkMacOSXNotify.c (Tk_MacOSXSetupTkNotifier): corrected - Mac Jaguar event loop issue. + * doc/file.n: Format correction, and clarified [file normalize] + returns an absolute path. - * 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) + * doc/tcltest.n: Added examples section, as long promised. - * library/xmfbox.tcl (::tk::MotifFDialog_ActivateSEnt): corrected - msgcat code with XPG specifier. [Patch #606719] (miller) +2002-09-06 Reinhard Max -2002-09-06 Don Porter + * tests/tcltest.test: Added nonRoot flag to tests 8.3, 8.4, and 8.12. - * tests/unixWm.test (unixWm-50.3): Constrained test that hangs - on Windows. +2002-09-05 Don Porter -2002-09-05 Daniel Steffen + * doc/tcltest.n: Clarified phrasing. - * macosx/Wish.pbproj/project.pbxproj: added overlooked missing - TK_PATCH_LEVEL version bump to 8.4.0. + * generic/tclBasic.c (TclRenameCommand,CallCommandTraces): + * tests/trace.test (trace-27.1): Corrected memory leak when a rename + trace deleted the command being traced. Test added. Thanks to + Hemang Lavana for the fix. [Bug 604609] -2002-09-04 Andreas Kupries + * generic/tclVar.c (TclDeleteVars): Corrected logic for setting the + TCL_INTERP_DESTROYED flag when calling variable traces. [Tk Bug 605121] - * win/Makefile.in (install-libraries): Added code section to - install the message catalogs. Copied same section from - unix/Makefile.in and adapted it to the slightly different - environment. +2002-09-04 Miguel Sofer -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/configure.in: 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/configure.in: - * unix/tk.spec: - * win/configure: - * win/configure.in: - - * 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/Makefile.in: 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/Makefile.in: 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/configure.in: - * win/configure.in: - * 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/Makefile.in (install-binaries): simplified pkgIndex.tcl - file created on installation. - * win/Makefile.in (install-binaries): corrected and simplified - creation of pkgIndex.tcl file on installation. - -2002-08-14 Vince Darley - - * win/tkWinDialog.c: - * win/makefile.vc: 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/Makefile.in: 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 - pear-shaped. - -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/configure.in: Remove code that was setting - CC_SEARCH_FLAGS and LD_SEARCH_FLAGS to try to - account for cc vs ld linking. Tcl now handles this. - * unix/tcl.m4: Update from Tcl. - -2002-07-27 Mo DeJong - - * unix/Makefile.in: Add MAJOR_VERSION, MINOR_VERSION, - PATCH_LEVEL, INSTALL_LIBRARY, STUB_LIB_FILE, and LIB_FILE - to support changes in tcl.m4 related to library builds. - Use MAKE_LIB macro to avoid dealing with RANLIB issues. - Rename TK_CC_SEARCH_FLAGS to CC_SEARCH_FLAGS and - rename TK_LD_SEARCH_FLAGS to LD_SEARCH_FLAGS. - Use new INSTALL_LIB and INSTALL_STUB_LIB substs to - deal with ranlib issues when install libraries. - * unix/configure: Regen. - * unix/configure.in: 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/tkConfig.sh.in: Subst CC_SEARCH_FLAGS and - LD_SEARCH_FLAGS. - -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/configure.in: - * win/configure: - * win/configure.in: 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/Makefile.in: - * win/Makefile.in: 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 - 220800]. - -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/Makefile.in: - -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/Makefile.in: - -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 - application. - -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/Makefile.in: Added missing win/lamp.bmp to the dist - target. - -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/Makefile.in (install-binaries): Fix of troubled Makefile - quoting introduced by [Patch 521356] causing the installed to - fail. - -2002-06-25 Don Porter - - * unix/tkUnixFont.c: (Tk_DrawChars) silence compiler warning. - -2002-06-26 David Gravereaux - - * generic/tkStyle.c: of the committing cvs client didn't - match the 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/Makefile.in: Expanded install-binaries target to create - * win/Makefile.in: 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/configure.in: Added support for symlinks and compression - * unix/Makefile.in: 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/configure.in, unix/configure.in: - * 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/Makefile.in: [Patch #554763] (callewart) - * unix/tkUnixDefault.h: - * win/Makefile.in: - * win/makefile.vc: - * win/tkWinDefault.h: - -2002-06-21 Don Porter - - * unix/Makefile.in: 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 http://purl.org/tcl/tip/48.html 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/Makefile.in, win/Makefile.in, win/makefile.vc: 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/Makefile.in (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 - TCL_MEM_DEBUG. - -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/Makefile.in: - * 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; - Split TK_TOPLEVEL flag into TK_TOPLEVEL, TK_HAS_WRAPPER, - 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/rules.vc: 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 - USE_OLD_PHOTO_PUT_BLOCK to USE_COMPOSITELESS_PHOTO_PUT_BLOCK - 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 - structure. - - * 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 - clean-up... - * 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 - a POTENTIAL INCOMPATIBILITY. - * 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/makefile.vc: 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 - mapping. - * 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/configure.in: 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/makefile.vc: 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 - TkWmCleanup. - - * 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 - unicodeEncoding. - - * 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: - http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp - -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/Makefile.in: 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/makefile.vc: - * win/nmakehlp.c (new): - * win/rules.vc: 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/makefile.vc: 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/buildall.vc.bat: Update to match Tcl. - -2002-03-26 Andreas Kupries - - * unix/tkUnixFont.c: Added inclusion of . This fixes - a GCC/HPUX problem with missing a "htons". See also - "tclUnixPort.h" for equivalent code. - -2002-03-21 David Gravereaux - - * win/makefile.vc: 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/configure.in, unix/tk.spec: - * win/configure.in: 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 www.tcl.tk or SF. - -2002-03-04 Jeff Hobbs - - * README: - * mac/README: - * unix/README: - * win/README: updated to use www.tcl.tk URL. - -2002-03-03 Jeff Hobbs - - * library/entry.tcl: added catch around Triple-1 binding use of - sel.last - -2002-02-28 Don Porter - - * library/console.tcl (ConsoleBind): Corrected console <> - 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/Makefile.in: - * unix/tkUnixDefault.h: - * win/Makefile.in: - * win/makefile.vc: - * 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/configure.in: 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 and 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/makefile.vc: 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/configure.in: 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/Makefile.in: Remove commented out vars. - * unix/configure: Regen. - * unix/configure.in: 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, - Tk_GetScreenMM,Tk_NameToWindow,Tk_ParseArgv): - * generic/tkArgv.c (Tk_ParseArgv): - * generic/tkCanvLine.c (ParseArrowShape): - * generic/tkCanvUtil.c (Tk_CanvasGetCoord,Tk_CanvasTagsParseProc, - Tk_CanvasTagsPrintProc,Tk_GetDash): - * 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 - Tcl_Merge. - * generic/tkDecls.h: make genstubs - ***POTENTIAL INCOMPATIBILITY*** - Includes a source incompatibility in the argv argument of Tcl_ParseArgv. - - * generic/tkBind.c (DeleteVirtualEvent): - * generic/tkCanvas.c (ScrollFractions, CanvasWidgetCmd, - CanvasUpdateScrollbars): - * 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, - TkpOpenDisplay): - * 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, - GetListboxIndex): - * 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 - 503983] - -2002-01-11 Mo DeJong - - Use ${libdir} instead of ${exec_prefix}/lib. [Tcl bug 489370] - - * unix/configure: Regen. - * unix/configure.in: Define and use libdir. - * win/configure: Regen. - * win/configure.in: Define libdir. - -2002-01-11 Mo DeJong - - * unix/Makefile.in: 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 - of LD_LIBRARY_PATH, LIBPATH, and SHLIB_PATH - 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/Makefile.in: Add TCL_STUB_LIB_SPEC and - TCL_STUB_LIB_FLAG variables. - * unix/configure: Regen. - * unix/configure.in: Pass TCL_STUB_LIB_SPEC into - Makefile and use it when linking the tk shared library. - Define USE_TCL_STUBS when building shared. Subst - TCL_STUB_LIB_SPEC and TCL_STUB_LIB_FLAG. - -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/configure.in: Move EXP file changes over from - Tcl configure script to fix AIX build with gcc. [Bug 220955] - -2001-12-18 Mo DeJong - - * unix/Makefile.in: - * win/Makefile.in: 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, - TkWmStackorderToplevelWrapperMap, - TkWmStackorderToplevel): Add unix implementation of - new wm stackorder command. - * win/tkWinWm.c (Tk_WmCmd, - TkWmStackorderToplevelEnumProc, - TkWmStackorderToplevelWrapperMap, - TkWmStackorderToplevel): Add windows implementation - of new wm stackorder command. - -2001-12-03 David Gravereaux - - * win/makefile.vc: 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/makefile.vc: 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/Makefile.in: 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/Makefile.in: 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. - * win/configure.in: Don't AC_SUBST CFLAGS_DEBUG, CFLAGS_OPTIMIZE, - or CFLAGS_WARNING since it is now done in SC_CONFIG_CFLAGS. - * win/tcl.m4 (SC_CONFIG_CFLAGS): AC_SUBST DL_LIBS, CFLAGS_DEBUG, - CFLAGS_OPTIMIZE, and CFLAGS_WARNING. - -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 binding for <> 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 - initialization - - * 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/Makefile.in: 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 - platforms. - - * 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 - mechanism. - - * 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 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 ; - 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) - **** POTENTIAL VISUAL INCOMPATABILITY **** - -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/makefile.vc: 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 - options. - - * 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/rules.vc(new): - * win/buildall.vc.bat(new): - * win/makefile.vc: large rewrite following Tcl's makefile.vc 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/Makefile.in: - * win/Makefile.in: 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/makefile.vc: 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/Makefile.in: - 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 wohnivec@iol.cz for pointing these (thankfully minor) problems - out. - -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 - argument. - -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/configure.in: - * win/configure: - * win/configure.in: - * win/tkConfig.sh.in: reworked to be a little cleaner in - comparison to each other, and to AC_SUBST even empty vars for - win/tkConfig.sh - -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/makefile.vc: - * 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/makefile.vc: 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. - POTENTIAL INCOMPATIBILITY. [Patch 429164] - -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/Makefile.in: Fix Windows Makefile so that - tcltest will automatically be compiled if the - user tries to build tktest. - -2001-09-09 Mo DeJong - - * win/Makefile.in: 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 ( 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] - - * README: - * generic/tk.h: - * unix/configure: - * unix/configure.in: - * unix/tk.spec: - * win/configure: - * win/configure.in: 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/Makefile.in (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/Makefile.in ($(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/Makefile.in: Add AR and STLIB_LD variables. - * unix/configure: - * unix/configure.in: Use STLIB_LD when defining MAKE_LIB - and MAKE_STUB_LIB. Subst STLIB_LD, RANLIB, and AR. - * 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/Makefile.in: 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/configure.in: Subst DEPARG. - * win/tcl.m4: Update from Tcl. - -2001-07-04 Jeff Hobbs - - * README: - * 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/Makefile.in: Remove PATHTYPE variable. - * win/configure: Regen. - * win/configure.in: Don't subst PATHTYPE. - * win/tcl.m4: Update from Tcl. - -2001-07-03 Mo DeJong - - * win/Makefile.in: Don't use VPSEP, instead just use : - in the VPATH. - * win/configure: Regen. - * win/configure.in: 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 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 - target. - * 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/Makefile.in: - * win/Makefile.in: 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/configure.in: Revert cross compiling change - accidently added during last checkin. - -2001-06-26 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: Fix last checkin by removing - export since that only works in bash. - * win/configure: Regen. - * win/configure.in: Ditto. - -2001-06-26 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: 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/configure.in: Ditto. - -2001-06-22 Mo DeJong - - * win/configure: Regen. - * win/configure.in: 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/configure.in: 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/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. - Set LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. Add LDFLAGS_DEBUG - and LDFLAGS_OPTIMIZE to match the way CFLAGS_DEFAULT works. Use - new LDFLAGS variable in the Makefile instead of @LDFLAGS@. - * unix/configure: Regen. - * unix/configure.in: Don't set CFLAGS to CFLAGS_DEFAULT, instead - subst CFLAGS_DEFAULT into the Makefile. Add AC_SUBST for CFLAGS_DEBUG, - CFLAGS_OPTIMIZE, LDFLAGS_DEFAULT, LDFLAGS_DEBUG, and LDFLAGS_OPTIMIZE. - Remove unused LD_FLAGS subst. - * unix/tcl.m4: Update from Tcl. - * win/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. - Set LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. - * win/configure: Regen. - * win/configure.in: Don't set CFLAGS or LDFLAGS, instead subst - CFLAGS_DEFAULT and LDFLAGS_DEFAULT into the Makefile. - * 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/configure.in: 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/configure.in: 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/Makefile.in: Use TCL_STUB_LIB_FILE instead of STUB_LIB_FILE. - * unix/configure: Regen. - * unix/configure.in: Don't subst STUB_LIB_FILE, use TCL_STUB_LIB_FILE - instead. - -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 - activity - * 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 - - * README: - * mac/README: updated patchlevel to 8.4a3 and corrected links and - notes. - - * generic/tk.h: - * unix/configure.in (TK_PATCH_LEVEL): - * unix/configure: - * unix/tk.spec: - * win/configure.in (TK_PATCH_LEVEL): - * win/configure: updated patchlevel to 8.4a3 - -2001-03-30 Jeff Hobbs - - * tests/safe.test: added note about correcting failures in - safe.test. - * library/tk.tcl: moved package require msgcat inside if case to - not be used in safe interps. - - * win/makefile.vc: - * 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/Makefile.in (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 to the - <> 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 - functionality. - -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 - though. - -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 - Tk_ClassProcs/Tk_SetClassProcs. - - * 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 - TkSetClassProcs. - - * 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 - TkClassProcs. - - * 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/makefile.vc: 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 - configure.in 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 - tk_getSaveFile. - 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/configure.in: - * win/Makefile.in: - * win/makefile.vc: - * 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/Makefile.in (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/Makefile.in (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 - fails. - -2000-09-29 Jeff Hobbs - - * win/Makefile.in: commented use of TESTFLAGS - * unix/Makefile.in: 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 - TK_OPTION_CUSTOM. - - * 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 for Windows, - a better solution for now is to update the docs and have extension - authors #include . - - * 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 for Windows, - so that HWND, etc., are defined properly. - -2000-09-06 Jeff Hobbs - - * doc/canvas.n: fixed doc bug (ellson). [Bug: 6218] - - * README: - * generic/tk.h: - * unix/configure.in: - * unix/tk.spec: - * win/configure.in: 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/makefile.vc (install-libraries): - * win/Makefile.in (install-libraries): - * unix/Makefile.in (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/configure.in: - * unix/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. - * win/configure.in: - * 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 - TK_OPTION_NULL_OK for TK_OPTION_DOUBLE and TK_OPTION_PIXELS. - - * generic/tkConfig.c: Added for TK_OPTION_NULL_OK support for - TK_OPTION_DOUBLE and TK_OPTION_PIXELS. - - * 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 - widgets. - -2000-08-08 Eric Melski - - * tests/place.test: Extended test suite to test error returns from - [place]. - - * 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 - wrapping. - - * 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] - command. - -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 - messages. - - * 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: - 6053]. - - * 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: - 6052]. - - * tests/listbox.test: Tests for listbox disabled state. - -2000-07-27 Mo DeJong - - * win/configure.in: TCL_STUB_LIB_FLAG and - TK_STUB_LIB_FLAG should not include ${TCL_DBGX} - in win/tkConfig.sh, 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/configure.in: Add TK_STUB_LIB_FLAG and - TK_BUILD_STUB_LIB_SPEC. These are needed to build a stub enabled - extension. - -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/makefile.vc: Applied patch from Don Porter to enhance nmake - support on NT/Alpha [RFE: 5939]. - -2000-07-19 Eric Melski - - * library/text.tcl: Enhanced binding to behave like normal - 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/configure.in: 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/configure.in (MAKE_LIB): Corrected definition of MAKE_LIB - for shared builds, with patch from Mike Hopkirk. - -2000-07-18 Mo DeJong - - * win/Makefile.in: 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 - label. - - * 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/configure.in: Fix subst of TK_SHARED_BUILD - variable in tkConfig.sh.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 - declaration. - * win/tkWinEmbed.c (TkWinEmbeddedEventProc): Cast to match function - prototype. - * win/tkWinMenu.c (winMenuMutex, MenuExitProc): Remove unused - declaration. - * 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 - prototype. - -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 - Nijtmans. - -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/Makefile.in: - * unix/configure.in: - * 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/configure.in: - * win/Makefile.in: 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 - displays. - - * 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/Makefile.in (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, - DEF_ENTRY_READONLY_BG_COLOR): - * win/tkWinDefault.h (DEF_ENTRY_READONLY_BG_COLOR, - 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 - TK_OPTION_RELIEF. - - * 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 - support for TK_OPTION_NULL_OK for TK_OPTION_RELIEF. - - * 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 - TK_RELIEF_LINK. - - * 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. - *** THIS IS A BACKWARDS INCOMPATIBLE BEHAVIOR CHANGE *** - - * win/tkWinDefault.h: - * mac/tkMacDefault.h: - * unix/tkUnixDefault.h: Added DEF_ENTRY_DISABLED_FG, - DEF_ENTRY_DISABLED_BG_COLOR, DEF_ENTRY_DISABLED_BG_MONO. - -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 - TK_RELIEF_LINK, TK_OPTION_LINK_OK and TK_CONFIG_LINK_OK. [RFE: 4348] - - * 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] - - * win/tkWinWm.c (EX_TRANSIENT_STYLE): Removed WS_EX_TOOLWINDOW - 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 - - * README: - * generic/tk.h: - * library/tk.tcl: - * mac/README: - * unix/README: - * unix/configure.in: - * unix/tk.spec: - * win/README: - * win/aclocal.m4: - * win/configure.in: - * win/makefile.vc: updated patchlevel to 8.4a1 - - * unix/Makefile.in: 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 - - * README: - * mac/README: - * unix/README: - * unix/tk.spec: - * win/README: Updating URLs to reference dev.scriptics.com - -2000-04-25 Jeff Hobbs - - * unix/Makefile.in: - * win/Makefile.in: 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 - interp->result. - - * mac/tkMacWm.c (Tk_WmCmd): initialized gotToplevel in - colormapwindows case (bug found by Reasoning, Inc's automated code - testing). - -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. + * generic/tclVar.c (DeleteArray): leak plug [Bug 604239]. Thanks + to dkf and dgp for the long and difficult discussion in the chat. - * 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 +2002-09-03 Jeff Hobbs - * doc/WinViewable.3: - * unix/mkLinks: Removed docs for Tk_IsViewable. + * generic/tclVar.c (Tcl_UpVar2): code cleanup to not use goto - * win/tkWinDialog.c: Removed calls to Tk_IsViewable. + * unix/configure: remove -pthread from LIBS on FreeBSD in thread + * unix/tcl.m4: enabled build. [Bug #602849] - * generic/tkUtil.c: - * generic/tkStubInit.c: - * generic/tkDecls.h: - * generic/tkCmds.c: - * generic/tk.decls: Removed Tk_IsViewable function (it was not - actually needed). +2002-09-03 Miguel Sofer -2000-04-19 Jeff Hobbs + * generic/tclInterp.c (AliasCreate): a Tcl_Obj was leaked on error + return from TclPreventAliasLoop. + +2002-09-03 Daniel Steffen - * win/aclocal.m4: made SC_PROG_TCLSH search specifically for - tclsh*.exe type files to find an executable. + * macosx/Tcl.pbproj/project.pbxproj: Bumped version number to + 8.4.0 and updated copyright info. - * win/Makefile.in: fixed up cleanup, winhelp, cat32 targets +2002-09-03 Miguel Sofer - * library/console.tcl: made console use systemfixed font on Win + * generic/tclVar.c (Tcl_UpVar2): a Tcl_Obj was being leaked on + error return from TclGetFrame. - * generic/tkEntry.c: removed unnecessary ENTRY_VALIDATE #define +2002-09-03 Don Porter -2000-04-19 Eric Melski + * changes: Updated changes for 8.4.0 release. - * 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]. +2002-09-02 Jeff Hobbs -2000-04-19 Jeff Hobbs + * unix/tclUnixFile.c (TclpObjLink): removed unnecessary/unfreed + extra native char*. - * 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] + * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): make sure to init + flags field of TcpState ptr to 0. - * win/winMain.c: moved extern call out of WinMain func + * unix/configure: + * unix/tcl.m4: added 64-bit gcc compilation support on HP-11. + [Patch #601051] (martin) - * README: - * generic/tk.h: + * README: Bumped version number to 8.4.0 + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure: * unix/configure.in: - * unix/tk.spec: - * win/configure.in: 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 + * unix/tcl.spec: + * win/README.binary: + * win/configure: + * win/configure.in: - * win/tkWinPointer.c: Changed Mod2Mask in TkWinGetModifierState to - ALT_MASK, to fix some event problems [Bugs: 1160, 5088]. + * generic/tclInterp.c (SlaveCreate): make sure that the memory and + checkmem commands are initialized in non-safe slave interpreters + when TCL_MEM_DEBUG is used. [Bug #583445] - * win/tkWinX.c: Changed Mod2Mask in GetState to ALT_MASK, to fix - some event problems [Bugs: 1160, 5088]. + * win/tclWinConsole.c (ConsoleCloseProc): only wait on writable + pipe if there was something to write. This may prevent infinite + wait on exit. - * generic/tkInt.h: Moved definition of ALT_MASK and META_MASK here - so that it would be accessible from other modules than tkBind.c. + * tests/exec.test: marked exec-18.1 unixOnly until the Windows + incompatability (in the test, not the core) can be resolved. - * 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]. + * tests/http.test (http-3.11): added close $fp that was causing an + error on Windows because the file was not closed before deleting. -2000-04-18 Scott Redman + * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): made this static + function only appear when HAVE_CFBUNDLE is defined. - * win/tk.rc: - * win/wish.rc: - * win/wish.ico: Modified copyright dates in Windows resource - files. Updated the icon for wish.exe. +2002-08-31 Daniel Steffen -2000-04-17 Eric Melski + * unix/tcl.m4: added TK_SHLIB_LD_EXTRAS analogue of existing + TCL_SHLIB_LD_EXTRAS for linker settings only used when linking Tk. - * 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/configure: regen - * unix/mkLinks: Added WinViewable.3. +2002-08-31 Daniel Steffen - * tests/msgbox.test: Added tests for patch from [Bug: 4997]. + *** macosx-8-4-branch merged into the mainline [tcl patch #602770] *** - * library/msgbox.tcl: - * library/dialog.tcl: Applied patch from [Bug: 4997]; detaches - dialog window from parent if parent is not viewable. + * generic/tcl.decls: added new macosx specific entry to stubs table. - * library/bgerror.tcl: Removed workaround from [Bug: 4370]; this - is superceeded by patches to dialog.tcl. + * tools/genStubs.tcl: added generation of platform guards for + macosx. This is a little more complex than it seems, because MacOS + X IS "unix" plus a little bit, for the purposes of Tcl. BUT + unfortunately, Tk uses "unix" to mean X11. So added platform keys + for macosx (the little added to "unix"), "aqua" and "x11" to + distinguish these for Tk. + + * generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h + can be passed to the resource compiler. + + * generic/tcl.h: + * generic/tclNotify.c: added a few Notifier procs, to be able to + modify more bits of the Tcl notifier dynamically. Required to get + Mac OS X Tk to live on top of the Tcl Unix threaded notifier. + Changes the size of the Tcl_NotifierProcs structure, but doesn't + move any elements around. - * generic/tkCmds.c: Changed WinfoObjCmd to use Tk_IsViewable - function to determine visibility of windows instead of inlining - the code. + * unix/tclUnixNotfy.c: moved the call to Tcl_ConditionNotify till + AFTER we are done mucking with the pointer swap. Fixes cases where + the thread waiting on the condition wakes & accesses the + waitingListPtr before it gets reset, causing a hang. - * generic/tkStubInit.c: - * generic/tkDecls.h: - * generic/tk.decls: Added Tk_IsViewable declaration. + * library/auto.tcl (tcl_findLibrary): added checking the + directories in the tcl_pkgPath for library files on macosx to + enable support of the standard Mac OSX library locations -2000-04-17 Eric Melski + * unix/Makefile.in: + * unix/configure.in: + * unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS: + there are some MacOS X specific files now for Tcl, and when I get + he resource & applescript stuff ported over, and restore support + for FindFiles, etc, there will be a few more. + Added LD_LIBRARY_PATH_VAR configure variable to avoid having to set + all possible LD_LIBRARY_PATH analogues on all platforms. + LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH" by default, "LIBPATH" on + AIX, "SHLIB_PATH" on HPUX and "DYLD_LIBRARY_PATH" on Mac OSX. + Added configure option to package Tcl as a framework on Mac OSX. + + * macosx/tclMacOSXBundle.c (new): support for finding Tcl extension + packaged as 'bundles' in the standard Mac OSX library locations. + + * unix/tclUnixInit.c: added support for findig the tcl script + library inside Tcl packaged as a framework on Mac OSX. + + * macosx/Tcl.pbproj/jingham.pbxuser (new): + * macosx/Tcl.pbproj/project.pbxproj (new): project for Apple's + ProjectBuilder IDE. - * 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]. + * macosx/Makefile (new): simple makefile for building the project + from the command line via the ProjectBuilder tool 'pbxbuild'. - * 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 - menubars. + * unix/configure: + * generic/tclStubInit.c: + * generic/tclPlatDecls.h: regen - * library/menu.tcl: Corrected behavior of - checkbuttons/commands/radiobuttons in menubars [Bug: 630]. +2002-08-29 Andreas Kupries - * 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]. + * win/tclWinThrd.c (TclpFinalizeThreadData, TclWinFreeAllocCache): + Applied patch for bug #599428, provided by Miguel Sofer + . -2000-04-16 Jeff Hobbs +2002-08-28 David Gravereaux - * win/tkWinColor.c (FindSystemColor): correct calculation of - colors when shifting value. [Bug: 4919] + * generic/tclEnv.c: + * unix/configure.in: + * win/tclWinPort.h: putenv() on some systems copies the buffer + rather than taking reference to it. This causes memory leaks + and is know to effect mswindows (msvcrt) and NetBSD 1.5.2 . This + patch tests for this behavior and turns on -DHAVE_PUTENV_THAT_COPIES=1 + when approriate. Thanks to David Welton for assistance. + [Bug 414910] -2000-04-16 Jim Ingham + * unix/configure: regen'd - * mac/tkMacPort.h: protect against strncasecmp already defined - - it is in the Pro5 version of MSL. +2002-08-28 Donal K. Fellows - * 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. + * doc/eval.n: Added mention of list command and corrected "SEE ALSO". - * 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. + * unix/configure.in: Cache handling of ac_cv_type_socklen_t was + wrong. [Bug 600931] reported by John Ellson. Fixed by putting the + brackets where they belong. - * mac/tkMacDialog.c: Pretty substantial rewrite to include - Navigation Services support for systems which have it. +2002-08-26 Miguel Sofer -2000-04-14 Eric Melski + * generic/tclCompCmds.c: fix for [Bug 599788] (error in element + name causing segfault), reported by Tom Wilkason. Fixed by copying + the tokens instead of the source string. - * win/tkWinKey.c: Added check for ASCII delete character in - KeycodeToKeysym, to fix [Bug: 5090]. See comment in code for more - information. +2002-08-26 Miguel Sofer - * generic/ks_names.h: Added Scroll_Lock and Sys_Req definitions. + * generic/tclThreadAlloc.c: small optimisation, reducing the + new allocator's overhead. + +2002-08-23 Miguel Sofer - * 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. + * generic/tclObj.c (USE_THREAD_ALLOC): fixed leak [Bug 597936]. + Thanks to Zoran Vasiljevic. -2000-04-14 Jeff Hobbs +2002-08-23 Miguel Sofer - * 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/tclThreadAlloc.c (USE_THREAD_ALLOC): moving objects + between caches as a block, instead of one-by-one. - * generic/tkCanvas.c (CanvasEventProc:2451): corrected cast +2002-08-22 Miguel Sofer - * generic/tkEntry.c (Tk_EntryObjCmd): adjusted finishing error - cases and changed TK_CONFIG_NULL_OK to TK_OPTION_NULL_OK + * generic/tclBasic.c: + * generic/tclCmdMZ.c: fix for freed memory r/w in delete traces + [Bug 589863], patch by Hemang Lavana. - * 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] +2002-08-20 Andreas Kupries - * library/scale.tcl (tkScaleActivate): reduced number of scale - redisplays by checking current value of state before setting it - again. [Bug: 4191] + * win/Makefile.in (CFLAGS): + * unix/Makefile.in (MEM_DEBUG_FLAGS): Added usage of @MEM_DEBUG_FLAGS@. + * win/configure.in: + * unix/configure.in: Added usage of SC_ENABLE_MEMDEBUG. + * win/tcl.m4: + * unix/tcl.m4: Added macro SC_ENABLE_MEMDEBUG. Allows a user of + configure to (de)activate memory validation and debugging + (TCL_MEM_DEBUG). No need to modify the makefile anymore. - * 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). +2002-08-20 Don Porter - * 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] + * generic/tclCkalloc.c: CONSTified MemoryCmd and CheckmemCmd. -2000-04-13 Eric Melski + * README: Bumped version number to 8.4b3 to distinguish + * generic/tcl.h: HEAD from the 8.4b2 release. + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: - * win/tkWinKey.c: Added smarts to check whether the left or right - Control, Shift, or Alt key was pressed. [Bug: 870]. + * unix/configure: autoconf + * win/configure: - * 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]. + * library/http/http.tcl: Corrected installation directory of + * library/msgcat/msgcat.tcl: the package tcltest 2.2. Added + * library/opt/optparse.tcl: comments in other packages to remind + * library/tcltest/tcltest.tcl: that installation directories need + * unix/Makefile.in: updates to match increasing version + * win/Makefile.in: numbers. [Bug 597450] + * win/makefile.bc: + * win/makefile.vc: - * 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. +2002-08-19 Andreas Kupries - * generic/tkCanvas.c: Applied patch from [Bug: 4202]; adds a check - for NULL tkwin in Tk_CanvasEventuallyRedraw. + * unix/tclUnixTest.c (TestfilehandlerCmd): Changed + readable/writable to the more common readable|writable. -2000-04-12 Jeff Hobbs + Fixes SF #596034 reported by Larry Virden + . - * 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 +2002-08-16 Donal K. Fellows -2000-04-11 Eric Melski + * tests/fCmd.test: Added test to make sure that the cause of the + problem is detectable with an unpatched Tcl. + * doc/ObjectType.3: Added note on the root cause of this problem + to the documentation, since it is possible for user code to + trigger this sort of behaviour too. + * generic/tclIOUtil.c (SetFsPathFromAny): Objects should only have + their old representation deleted when we know that we are about to + install a new one. This stops a weird TclX bug under Linux with + certain kinds of memory debugging enabled which essentally came + down to a double-free of a string. - * msgcat.n: Added docs for new behavior from patch in [Bug: 4158]. +2002-08-14 Miguel Sofer - * msgcat.test: Added tests for new behavior from patch in [Bug: - 4158]. + * generic/tclInt.h: + * generic/tclObj.c: (code cleanup) factored the parts in the macros + TclNewObj() / TclDecrRefCount() into a common part for all + memory allocators and two new macros TclAllocObjStorage() / + TclFreeObjStorage() that are specific to each allocator and fully + describe the differences. Removed allocator-specific code from + tclObj.c by using the macros. - * 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. +2002-08-12 Miguel Sofer - * 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 - ] [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/tclCmdMZ.c: fixing UMR in delete traces, [Bug 589863]. + +2002-08-08 David Gravereaux - * generic/tkStubInit.c: - * generic/tkIntDecls.h: Re-gen'd from tkInt.decls. + * tools/man2help.tcl: Fixed $argv handling bug where if -bitmap + wasn't specified $argc was off by one. - * generic/tkInt.decls: Added TkpInitKeymapInfo to list of function - decls. +2002-08-08 Miguel Sofer - * 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 ] would always fail. [Bug: 4611] + * tests/uplevel.test: added 6.1 to test [uplevel] with shadowed + commands [Bug 524383] -2000-04-07 Jeff Hobbs + * tests/subst.test: added 5.8-10 as further tests for [Bug 495207] - * generic/tkGrid.c (InitMasterData): fixed uninit'd data in - GridMaster struct [Bug: 4387] +2002-08-08 Don Porter - * library/safetk.tcl (disallowTk): made disallowTk work in the - simple case. + * tests/README: Noted removal of defs.tcl. - * library/comdlg.tcl (tkFocusGroup_In): fixed key navigation - problems in dialogs under CDE [Bug: 2960] +2002-08-08 Jeff Hobbs - * tests/winDialog.test: removed knownBug constraint from 5.16 + * doc/lsearch.n: corrected lsearch docs to use -inline in examples. - * win/tkWinFont.c (GetScreenFont): corrected adjustment against - LC_FACESIZE limitation for NT [Bug: 4931] + *** 8.4b2 TAGGED FOR RELEASE *** - * win/makefile.vc (TKTEST_OBJS): - * win/Makefile.in (TKTEST_OBJS): moved tkWinTest.c from normal - objs to TKTEST_OBJS where it belonged. + * tests/fCmd.test: + * tests/unixFCmd.test: updated tests for new link copy behavior. + * generic/tclFCmd.c (CopyRenameOneFile): changed the behavior to + follow links to endpoints and copy that file/directory instead of + just copying the surface link. This means that trying to copy a + link that has no endpoint (danling link) is an error. + [Patch #591647] (darley) + (CopyRenameOneFile): this is currently disabled by default until + further issues with such behavior (like relative links) can be + handled correctly. + + * tests/README: slight wording improvements + +2002-08-07 Miguel Sofer + + * docs/BoolObj.3: added description of valid string reps for a + boolean object [Bug 584794] + * generic/tclObj.c: optimised Tcl_GetBooleanFromObj and + SetBooleanFromAny to avoid parsing the string rep when it can be + avoided [Bugs 584650, 472576] + +2002-08-07 Miguel Sofer + + * generic/tclCompile.h: + * generic/tclObj.c: making tclCmdNameType static ([Bug 584567], + Don Porter). + +2002-08-07 Miguel Sofer + + * generic/tclObj.c (Tcl_NewObj): added conditional code for + USE_THREAD_ALLOC; objects allocated through Tcl_NewObj() were + otherwise being leaked. [Bug 587488] reported by Sven Sass. + +2002-08-06 Daniel Steffen + + * generic/tclInt.decls: + * unix/tclUnixThrd.c: Added stubs and implementations for + non-threaded build for the tclUnixThrd.c procs TclpReaddir, + TclpLocaltime, TclpGmtime and TclpInetNtoa. + Fixes link errors in stubbed & threaded extensions that include + tclUnixPort.h and use any of the procs readdir, localtime, + gmtime or inet_ntoa (e.g. TclX 8.4) [Bug 589526] + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: Regen. + +2002-08-05 Don Porter + + * library/tcltest/tcltest.tcl: The setup and cleanup scripts are now + * library/tcltest/pkgIndex.tcl: skipped when a test is skipped, fixing + * tests/tcltest.test: [Bug 589859]. Test for bug added, and + corrected tcltest package bumped to version 2.2. + + * generic/tcl.decls: Restored Tcl_Concat to return (char *). Like + * generic/tclDecls.h: Tcl_Merge, it transfers ownership of a dynamic + * generic/tclUtil.c: allocated string to the caller. + +2002-08-04 Don Porter + + * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ify + * doc/Concat.3: all remaining public interfaces of Tcl. + * doc/CrtCommand.3: Notably, the parser no longer writes on + * doc/CrtSlave.3: the string it is parsing, so it is no + * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be + * doc/Eval.3: given a writable string. Also, the + * doc/ExprLong.3: refactoring of the Tcl_*Var* routines + * doc/LinkVar.3: by Miguel Sofer is included, so that the + * doc/ParseCmd.3: "part1" argument for them no longer needs + * doc/SetVar.3: to be writable either. + * doc/TraceVar.3: + * doc/UpVar.3: Compatibility support has been enhanced so + * generic/tcl.decls that a #define of USE_NON_CONST will remove + * generic/tcl.h all possible source incompatibilities with + * generic/tclBasic.c the 8.3 version of the header file(s). + * generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does + * generic/tclCompCmds.c what USE_NON_CONST used to do -- disable + * generic/tclCompExpr.c only those new CONST's that introduce + * generic/tclCompile.c irreconcilable incompatibilities. + * generic/tclCompile.h + * generic/tclDecls.h Several bugs are also fixed by this patch. + * generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429] + * generic/tclEvent.c + * generic/tclInt.decls + * generic/tclInt.h + * generic/tclIntDecls.h + * generic/tclInterp.c + * generic/tclLink.c + * generic/tclObj.c + * generic/tclParse.c + * generic/tclParseExpr.c + * generic/tclProc.c + * generic/tclTest.c + * generic/tclUtf.c + * generic/tclUtil.c + * generic/tclVar.c + * mac/tclMacTest.c + * tests/expr-old.test + * tests/parseExpr.test + * unix/tclUnixTest.c + * unix/tclXtTest.c + * win/tclWinTest.c + +2002-08-01 Miguel Sofer + + * generic/tclExecute.c: bugfix (reading freed memory). Testsuite + passed on linux/i386, compile-13.1 hung on linux/alpha. + +2002-08-01 Miguel Sofer + + * generic/tclExecute.c: added a reference count for the complete + execution stack, instead of Tcl_Preserve/Tcl_Release. + +2002-08-01 Mo DeJong + + * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): + Don't lock the ckalloc mutex before invoking the + Tcl_DumpActiveMemory function since it also + locks the same mutex. This code is only executed + when "memory onexit filename" has been executed + and Tcl is compiled with -DTCL_MEM_DEBUG. + +2002-08-01 Reinhard Max + + * win/tclWinPort.h: The windows headers don't provide socklen_t, + so we have to do it. + +2002-07-31 Miguel Sofer + + * generic/tclInt.h (USE_THREAD_ALLOC): for unshared objects, + TclDecrRefCount now frees the internal rep before the string rep - + just like the non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. + For the other allocators the fix was done on 2002-03-06. + +2002-07-31 Miguel Sofer + + * generic/tclInterp.c: signed/unsigned comparison warning fixed + (Vince Darley). -2000-04-03 Jeff Hobbs +2002-07-31 Donal K. Fellows - * generic/tkTest.c: fixed incorrect platform inclusion for - TkplatformtestInit (it would never get called). + * unix/tcl.m4 (SC_BUGGY_STRTOD): Enabled caching of test results. - * unix/Makefile.in (MAN_INSTALL_DIR): patch to accept --mandir - correctly [Bug: 4085] + * unix/tcl.m4 (SC_BUGGY_STRTOD): Solaris 2.8 still has a buggy + strtod() implementation; make sure we detect it. - * library/clrpick.tcl (tkColorDialog_Config): error now thrown - when -initialcolor "" specified. [Bug: 4198] + * tests/expr.test (expr-22.*): Marked as non-portable because it + seems that these tests have an annoying tendency to fail in + unexpected ways. [Bugs 584825, 584950, 585986] -2000-03-31 Jeff Hobbs +2002-07-30 Andreas Kupries - * doc/DrawFocHlt.3: doc name correction + * tests/io.test: + * generic/tclIO.c (WriteChars): Added flag to break out of loop if + nothing of the input is consumed at all, to prevent infinite + looping of called with a non-UTF-8 string. Fixes Bug 584603 + (partially). Added new test "io-60.1". Might need additional + changes to Tcl_Main so that unprintable results are printed as + binary data. - * generic/tkEntry.c: set TK_OPTION_NULL_OK bit on -invcmd option - and removed #ifdef ENTRY_VALIDATE expressions +2002-07-29 Mo DeJong - * library/menu.tcl (tkMenuInvoke): corrected naming of tearoffs - [Bug: 4506] + * unix/Makefile.in: Use CC_SEARCH_FLAGS instead of + LD_SEARCH_FLAGS when linking with ${CC}. + * unix/configure: Regen. + * unix/configure.in: Don't subst CC_SEARCH_FLAGS or + LD_SEARCH_FLAGS since this is now done in tcl.m4. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Document and + set CC_SEARCH_FLAGS whenever LD_SEARCH_FLAGS is set. + [Tcl patch 588290] + +2002-07-29 Reinhard Max + + * unix/tcl.m4 (SC_SERIAL_PORT): Fixed detection for cases when + configure's stdin is not a tty. + + * unix/tclUnixPort.h: + * generic/tclIOSock.c: Changed size_t to socklen_t in + socket-related function calls. + + * unix/configure.in: Added test and fallback definition + for socklen_t. + + * unix/configure: generated. + +2002-07-29 Miguel Sofer + + * generic/tclObj.c: fixed a comment + + * generic/tcl.h: + * generic/tclBasic.c: + * generic/tclInterp.c: added the new flag TCL_EVAL_INVOKE to + the interface of the Tcl_Eval* functions, removing the + TCL_EVAL_NO_TRACEBACK added yesterday: alias invocations not only + require no tracebacks, but also look up the command name in the + global scope - see new test interp-9.4 + * tests/interp.test: added 9.3 to test for safety of aliases to + hidden commands, 9.4 to test for correct command lookup scope. + +2002-07-29 Donal K. Fellows + + * generic/regc_locale.c (cclass): [[:xdigit:]] is only a defined + concept on western characters, so should not allow any unicode + digit, and hence number of ranges in [[:xdigit:]] is fixed. + * tests/reg.test: Added test to detect the bug. + * generic/regc_cvec.c (newcvec): Corrected initial size value in + character vector structure. [Bug 578363] Many thanks to + pvgoran@users.sf.net for tracking this down. + +2002-07-28 Miguel Sofer + + * generic/tcl.h: + * generic/tclBasic.c: added the new flag TCL_EVAL_NO_TRACEBACK to + the interface of the Tcl_Eval* functions. Modified the error + message for too many nested evaluations. + * generic/tclInterp.h: changed the Alias struct to be of variable + length and store the prefix arguments directly (instead of a + pointer to a Tcl_Obj list). Made AliasObjCmd call Tcl_EvalObjv + instead of TclObjInvoke - thus making aliases trigger execution + traces [Bug 582522]. + * tests/interp.test: + * tests/stack.test: adapted to the new error message. + * tests/trace.test: added tests for aliases firing the exec + traces. - * 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. +2002-07-27 Mo DeJong - * win/tkWinDialog.c: added unicode-aware open/save file dialogs + * unix/Makefile.in: Revert fix for Tcl bug 529801 + since it was incorrect and broke the build on + other systems. Fix Tcl bug 587299. + Add MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL, + SHLIB_LD_FLAGS, SHLIB_LD_LIBS, CC_SEARCH_FLAGS, + LD_SEARCH_FLAGS, and LIB_FILE variables to support + more generic library build/install rules. + * unix/configure: Regen. + * unix/configure.in: Move AC_PROG_RANLIB into + tcl.m4. Move shared build test and setting + of MAKE_LIB and MAKE_STUB_LIB into tcl.m4. + Move subst of a number of variables into + tcl.m4 where they are defined. + * unix/tcl.m4 (SC_ENABLE_SYMBOLS, SC_CONFIG_CFLAGS): + Subst vars where they are defined. Add MAKE_LIB, + MAKE_STUB_LIB, INSTALL_LIB, and INSTALL_STUB_LIB + rules to deal with the ugly details of running + ranlib on static libs at build and install time. + Replace TCL_SHLIB_LD_EXTRAS with SHLIB_LD_FLAGS + and use it when building a shared library. + * unix/tclConfig.sh.in: Add TCL_CC_SEARCH_FLAGS. - * win/tkWinFont.c (TkpFontPkgInit): move private ref to platformId - to TkWinGetPlatformId +2002-07-26 Miguel Sofer - * win/tkWinMenu.c (SetDefaults): moved private use of versionInfo - to TkWinGetPlatformId and removed all code for - (versionInfo.dwMajorVersion < 4) (== Win32s) + * generic/tclExecute.c: fixed Tcl_Obj leak in code corresponding + to the macro NEXT_INST_V(x, 0, 1) [Bug 587495]. + +2002-07-26 Miguel Sofer - * 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] + * generic/tclVar.c (TclObjLookupVar): leak fix and improved + comments. - * win/tkWinInt.h: - * win/tkWinX.c: - * win/tkWinDraw.c (SetUpGraphicsPort): - * win/tkWinScrlbr.c (UpdateScrollbar): removed use of tkpIsWin32s +2002-07-26 Jeff Hobbs - * 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] + * generic/tclVar.c (TclLookupVar): removed early returns that + prevented the parens from being restored. also removed goto label + as it was not necessary. -2000-03-30 Eric Melski +2002-07-24 Miguel Sofer - * generic/tkImgGIF.c: Fixed some ANSI specific bits to avoid - compile problems with non-ANSI compilers (ie, replace const with - CONST, etc). [Bug: 4223]. + * generic/tclExecute.c: + * tests/expr-old.test: fix for erroneous error messages in [expr], + [Bug 587140] reported by Martin Lemburg. - * unix/configure.in: Applied patch from [Bug: 4237]; ensures that - srcdir is fully qualified. +2002-07-25 Joe English + * generic/tclProc.c: fix for Tk Bug #219218 "error handling + with bgerror in Tk" - * unix/Makefile.in: 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. +2002-07-24 Miguel Sofer -2000-03-28 Eric Melski + * generic/tclExecute.c: restoring full TCL_COMPILE_DEBUG + functionality. - * library/tkfbox.tcl: Moved an overlooked tkFDialog* function in - ::tk::dialog::file namespace. +2002-07-24 Don Porter - * tests/unixWm.test: Added tests for memory leak conditions in - tkUnixWm.c. + * tests/unixInit.test: relaxed unixInit-3.1 to accept iso8859-15 + as a valid C encoding. [Bug 575336] - * tests/canvas.test: Added test for bad configuration options on - empty and non-empty canvas. +2002-07-24 Miguel Sofer - * 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]. + * generic/tclExecute.c: restoring the tcl_traceCompile + functionality while I repair tcl_traceExec. The core now compiles + and runs also under TCL_COMPILE_DEBUG, but execution in the + bytecode engine can still not be traced. -2000-03-27 Eric Melski +2002-07-24 Daniel Steffen - * unix/tkUnixWm.c: Applied patch from [Bug: 4405]; fixes memory - leak in Unix wm command. + * unix/Makefile.in: + * unix/configure.in: corrected fix for [Bug 529801]: ranlib + only needed for static builds on Mac OS X. + * unix/configure: Regen. + * unix/tclLoadDyld.c: fixed small bugs introduced by Vince, + implemented library unloading correctly (needs OS X 10.2). -2000-03-24 Eric Melski +2002-07-23 Joe English - * tests/filebox.test: - * tests/choosedir.test: Updated tests. + * doc/OpenFileChnl.3: (Updates from Larry Virden) + * doc/open.n: + * doc/tclsh.1: Fix section numbers in Unix man page references. + * doc/lset.n: In EXAMPLES section, include command to set the + initial value used in subsequent examples. + * doc/http.n: Package version updated to 2.4. - * library/xmfbox.tcl: Updated to stash data array in - ::tk::dialog::file namespace instead of in global namespace. +2002-07-23 Mo DeJong - * 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). + * unix/configure: Regen. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Enable 64 bit compilation + when using the native compiler on a 64 bit version of IRIX. + [Tcl bug 219220] - * library/tk.tcl: - * library/tclIndex: Updated function names for tkFDialog* - functions and choosedir functions. +2002-07-23 Mo DeJong - * library/choosedir.tcl: New and improved implementation of - tk_chooseDirectory dialog. Based on tk_getOpenFile dialog. + * unix/Makefile.in: Combine ranlib tests and + avoid printing unless ranlib is actually run. -2000-03-23 Eric Melski +2002-07-23 Mo DeJong - * generic/tkWindow.c: - * generic/tkInt.h: Updated Tcl_OptionCmd -> Tcl_OptionObjCmd + * unix/tcl.m4 (SC_PATH_X): Set XINCLUDES to "" instead + of "# no special path needed" or "# no include files found" + when x headers cannot be located. - * generic/tkOption.c: Tcl_Obj'ectified the "option" command. +2002-07-22 Vince Darley -2000-03-22 Eric Melski + * generic/tclIOUtil.c: made tclNativeFilesystem static + (since 07-19 changes removed its usage elsewhere), and + added comments about its usage. + * generic/tclLoad.c: + * generic/tcl.h: + * generic/tcl.decls: + * doc/FileSystem.3: converted last load-related ClientData + parameter to Tcl_LoadHandle opaque structure, removing a + couple of casts in the process. + + * generic/tclInt.h: removed tclNativeFilesystem declaration + since it is now static again. + +2002-07-22 Donal K. Fellows - * 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]. + * tests/expr.test (expr-22.*): Added tests to help detect the + corrected handling. + * generic/tclExecute.c (IllegalExprOperandType): Improved error + message generated when attempting to manipulate Inf and NaN values. + * generic/tclParseExpr.c (GetLexeme): Allowed parser to recognise + 'Inf' as a floating-point number. [Bug 218000] -2000-03-15 Sven Delmas +2002-07-21 Don Porter - * 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. + * tclIOUtil.c: Silence compiler warning. [Bug 584408]. -2000-03-14 Eric Melski +2002-07-19 Vince Darley - * tests/choosedir.test: Marked test 3.1 and 3.2 as bad until the - issue with those tests on IRIX can be determined. + * generic/tclIOUtil.c: fix to GetFilesystemRecord + * win/tclWinFile.c: + * unix/tclUnixFile.c: fix to subtle problem with links shown + up by latest tclkit builds. -2000-03-10 Eric Melski +2002-07-19 Mo DeJong - * library/menu.tcl: Applied patch from [Bug: 4155]; protects - against grabs on non-viewable windows. + * unix/configure: + * unix/configure.in: + * win/configure: + * win/configure.in: 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. + [Bug 583573] -2000-03-08 Eric Melski +2002-07-19 Vince Darley - * tests/choosedir.test: Modified test 3.1 (-mustexist works) to be - more careful about cleaning up its potentially troublesome after - events. + * unix/Makefile.in: fix to build on MacOS X [Bug 529801], bug + report and fix from jcw. -2000-03-07 Eric Melski +2002-07-19 Donal K. Fellows - * tests/button.test: - * generic/tkButton.c: Added -disabledforeground/-state to labels. + * win/tclWinSerial.c (no_timeout): Made this variable static. -2000-03-07 Jeff Hobbs + * generic/tclExecute.c, generic/tclCompile.c, generic/tclBasic.c: + * generic/tclCompile.h (builtinFuncTable, instructionTable): Added + prefix to these symbols because they are visible outside the Tcl + library. - * 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] + * generic/tclCompExpr.c (operatorTable): + * unix/tclUnixTime.c (tmKey): + * generic/tclIOUtil.c (theFilesystemEpoch, filesystemWantToModify, + filesystemIteratorsInProgress, filesystemOkToModify): Made these + variables static. -2000-03-06 Eric Melski + * unix/tclUnixFile.c: Renamed nativeFilesystem to + * win/tclWinFile.c: tclNativeFilesystem and declared + * generic/tclIOUtil.c: it properly in tclInt.h + * generic/tclInt.h: - * 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/tclUtf.c (totalBytes): Made this array static and const. - * generic/tkOldConfig.c: Added check for NULL tkwin value in - Tk_ConfigureWidget [Bug: 4079] + * generic/tclParse.c (typeTable): Made this array static and const. + (Tcl_ParseBraces): Simplified error handling case so that scans + are only performed when needed, and flags are simpler too. - * generic/tkWindow.c: Added check for NULL tkwin value in - Tk_NameToWindow [Bug: 4079] + * license.terms: Added AS to list of copyright holders; it's only + fair for the current gatekeepers to be listed here! -2000-03-02 Jeff Hobbs + * tests/cmdMZ.test: Renamed constraint for clarity. [Bug#583427] + Added tests for the [time] command, which was previously only + indirectly tested! - * 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] +2002-07-18 Vince Darley - * unix/Makefile.in (SCRIPT_INSTALL_DIR): removed extraneous '/' - * unix/aclocal.m4: corrected TCL_NEEDS_EXP_FILE to be 1 for AIX + * generic/tclInt.h: + * generic/tcl.h: + * */*Load*.c: added comments on changes of 07/17 and + replaced clientData with Tcl_LoadHandle in all locations. - * win/tkWinInt.h: change extern to EXTERN for TkWinChildProc - declaration with extra #defs. [Bug: 4240] + * generic/tclFCmd.c: + * tests/fileSystem.test: fixed a 'knownBug' with 'file + attributes ""' + * tests/winFCmd.test: + * tests/winPipe.test: + * tests/fCmd.test: + * tessts/winFile.test: added 'pcOnly' constraint to some + tests to make for more useful 'tests skipped' log from + running all tests on non-Windows platforms. + +2002-07-17 Miguel Sofer - * library/focus.tcl: fixed tkFocusOK to protect $w in - uplevel with list. [Bug: 4208] + * generic/tclBasic.c (CallCommandTraces): delete traces now + receive the FQ old name of the command. + [Bug 582532] (Don Porter) - * 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] +2002-07-18 Vince Darley - * 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/ioUtil.test: added constraints to 1.4,2.4 so they + don't run outside of tcltest. [Bugs 583276,583277] + +2002-07-17 Miguel Sofer - * 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. + * generic/tclVar.c (DupParsedVarName): nasty bug fixed, reported + by Vince Darley. -2000-03-01 Eric Melski +2002-07-17 Miguel Sofer - * tests/clrpick.test: - * library/clrpick.tcl: Added code to make color chooser dialog - inherit screen setting from parent (bug #2334) + * generic/tclVar.c (TclPtrIncrVar): missing CONST in declarations, + inconsistent with tclInt.h. Thanks to Vince Darley for reporting, + boo to gcc for not complaining. + +2002-07-17 Vince Darley -2000-02-25 Jeff Hobbs + * generic/tclInt.h: + * generic/tclIOUtil.c: + * generic/tclLoadNone.c: + * unix/tclLoadAout.c: + * unix/tclLoadDl.c: + * unix/tclLoadDld.c: + * unix/tclLoadDyld.c: + * unix/tclLoadNext.c: + * unix/tclLoadOSF.c: + * unix/tclLoadShl.c: + * mac/tclMacLoad.c: + * win/tclWinLoad.c: modified to move more functionality + to the generic code and avoid duplication. Partial replacement + of internal uses of clientData with opaque Tcl_LoadHandle. A + little further work still needed, but significant changes are done. - * win/tkWinWm.c (RaiseWinWhenIdle): Checked for the possibility - that the window could be destroyed (can occur with - wm deiconify .toplevel; destroy .toplevel). +2002-07-17 D. Richard Hipp -2000-02-25 Eric Melski + * library/msgcat/msgcat.tcl: fix a comment that was causing + problems for programs (ex: mktclapp) that embed the initialization + scripts in strings. - * 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. +2002-07-17 Miguel Sofer -2000-02-14 Eric Melski + * generic/tclInt.decls: + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + * generic/tclVar.c: removing the now redundant functions to access + indexed variables: Tcl(Get|Set|Incr)IndexedScalar() and + Tcl(Get|Set|Incr)ElementOfIndexedArray(). + +2002-07-17 Donal K. Fellows - * unix/tk.spec: RPM specification for producing a binary Tk RPM - for Linux. + * generic/tclExecute.c (TclExecuteByteCode): Minor fixes to make + this file compile with SunPro CC... + +2002-07-17 Miguel Sofer - * unix/Makefile.in: Added rpm target to generate Tk - binary RPM. + * generic/tclExecute.c: modified to do variable lookup explicitly, + and then either inlining the variable access or else calling the new + TclPtr(Set|Get|Incr)Var functions in tclVar.c + * generic/tclInt.h: declare some functions previously local to + tclVar.c for usage by TEBC. + * generic/tclVar.c: removed local declarations; moved all special + accessor functions for indexed variables to the end of the file - + they are unused and ready for removal, but left there for the time + being as they are in the internal stubs table. -2000-02-10 Jeff Hobbs + ** WARNING FOR BYTECODE MAINTAINERS ** + TCL_COMPILE_DEBUG is currently not functional; will be fixed ASAP. + +2002-07-16 Mo DeJong - 8.3.0 RELEASE + * unix/Makefile.in: + * win/Makefile.in: Add a more descriptive warning + in the event `make genstubs` needs to be rerun. - * changes: updated for 8.3.0 release +2002-07-16 Mo DeJong - * generic/tkImgGIF.c (FileReadGIF): added cast for trashBuffer + * unix/Makefile.in: Use dltest.marker file + to keep track of when the dltest package + is up to date. This fixes [Tcl bug 575768] + since tcltest is no longer linked every time. + * unix/dltest/Makefile.in: Create ../dltest.marker + after a successful `make all` run in dltest. - * generic/tkIntXlibDecls.h: - * generic/tkInt.decls: declared some Xlib emulation calls for - the Mac +2002-07-16 Mo DeJong - * generic/tkFrame.c (TkInstallFrameMenu): added extra panic to - inform user of bad call when framePtr is NULL [Bug: 2530] + * unix/configure: Regen. + * unix/configure.in: Remove useless subst of TCL_BIN_DIR. - * generic/tkMenu.c (DestroyMenuInstance): Placed checks around - menu name objects before trying to incr the ref. [Bug: 3402] +2002-07-15 Miguel Sofer - * generic/tkTest.c: removed USE_OLD_IMAGE def for Mac + * generic/tclVar.c: inaccurate comment fixed + +2002-07-15 Miguel Sofer - * 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. + * generic/tclBasic.c (Tcl_AddObjErrorInfo): + * generic/tclExecute.c (TclUpdateReturnInfo): + * generic/tclInt.h: + * generic/tclProc.c: + Added two Tcl_Obj to the ExecEnv structure to hold the fully + qualified names "::errorInfo" and "::errorCode" to cache the + addresses of the corresponding variables. The two most frequent + setters of these variables now profit from the new variable name + caching. - * tests/scrollbar.test: fixed check of testmetrics command to - allow unix tests to run (testmetrics is mac/pc only) +2002-07-15 Miguel Sofer - * unix/tkUnixWm.c (Tk_CoordsToWindow): qualified delete of error - handler as the goto label is reached from above and below. + * generic/tclVar.c: refactorisation to reuse already looked-up Var + pointers; definition of three new Tcl_Obj types to cache variable + name parsing and lookup for later reuse; modification of internal + functions to profit from the caching. + + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclNamesp.c: adding CONST qualifiers to variable names + passed to Tcl_FindNamespaceVar and to variable resolvers; adding + CONST qualifier to the 'msg' argument to TclLookupVar. Needed to + avoid code duplication in the new tclVar.c code. - * unix/configure.in: - * unix/aclocal.m4: cleaned up macros to coincide with tcl.m4, - added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998] + * tests/set-old.test: + * tests/var.test: slight modification of error messages due to the + modifications in the tclVar.c code. - * unix/README: - * unix/Makefile.in (dist): removed porting.notes and porting.old - from distribution and CVS. The information was very outdated. Now - refer to http://dev.scriptics.com/services/support/platforms.html +2002-07-15 Don Porter - * xlib/xgc.c: #def'd out XDrawSegments for the Mac, and added - some extra include info for the Mac + * tests/unixInit.test: Improved constraints to protect /tmp. + [Bug 581403] -2000-02-09 Jim Ingham +2002-07-15 Vince Darley - * 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. + * tests/winFCmd.test: renamed 'win2000' and 'notWin2000' to + more appropriate constraint names. + * win/tclWinFile.c: updated comments to reflect 07-11 changes. + * win/tclWinFCmd.c: made ConvertFileNameFormat static again, + since no longer used in tclWinFile.c + * mac/tclMacFile.c: completed TclpObjLink implementation which + was previously lacking. + * generic/tclIOUtil.c: comment cleanup and code speedup. - * 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 - FrontNonFloatingWindow. - * 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. +2002-07-14 Don Porter - The above are curtesy of Daniel Steffen (steffen@math.mq.edu.au) - - * 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. + * generic/tclInt.h: Removed declarations that duplicated entries + in the (internal) stub table. -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 - XKeysymToKeycode(). - 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 . ] would send keysym '4'. - Translation to ascii in TkpGetString did not handle return and - tab correctly. I.e. [event generate . ] 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/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: 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/tcltest/tcltest.tcl: Corrected errors in handling of + configuration options -constraints and -limitconstraints. - * 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] + * README: Bumped HEAD to version 8.4b2 so we can + * generic/tcl.h: distinguish it from the 8.4b1 release. + * tools/tcl.wse.in: + * unix/configure*: + * unix/tcl.spec: + * win/README.binary: + * win/configure*: - * unix/aclocal.m4: changed all -fpic to -fPIC +2002-07-11 Vince Darley - * README: - * unix/configure.in: - * win/configure.in: - * generic/tk.h (TK_RELEASE_SERIAL): Moved to 8.3.0 patchlevel + * doc/file.n: + * win/tclWinFile.c: on Win 95/98/ME the long form of the path + is used as a normalized form. This is required because short + forms are not a robust representation. The file normalization + function has been sped up, but more performance gains might be + possible, if speed is still an issue on these platforms. -2000-02-07 Eric Melski +2002-07-11 Don Porter - * 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 - specified. + * library/tcltest/tcltest.tcl: Corrected reaction to existing but + false ::tcl_interactive. -2000-02-05 Jeff Hobbs + * doc/Hash.3: Overlooked CONST documentation update. - * unix/tkUnixScale.c (TkpDestroyScale): changed ckfree to - Tcl_EventuallyFree to behave with Tcl_Preserve in TkpDisplayScale - (prevents possible segfault). +2002-07-11 Donal K. Fellows -2000-02-03 Eric Melski + * generic/tclCkalloc.c: ckalloc() and friends take the block size + as an unsigned, so we should use %ud when reporting it in fprintf() + and panic(). - * tests/canvText.test: test for fix for bug #2525. +2002-07-11 Miguel Sofer - * 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). + * generic/tclCompile.c: now setting local vars undefined at + compile time, instead of waiting until the proc is initialized. + * generic/tclProc.c: use macro TclSetVarUndefined instead of + directly etting the flag. - * 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). +2002-07-11 Donal K. Fellows -2000-02-01 Eric Melski + * tests/cmdAH.test: [file attr -perm] is Unix-only, so add [catch] + when not inside a suitably-protected test. - * 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. +2002-07-10 Donal K. Fellows -2000-02-01 Jeff Hobbs + * tests/unixFCmd.test, tests/fileName.test: + * tests/fCmd.test: Removed [exec] of Unix utilities that have + equivalents in standard Tcl. [Bug 579268] Also simplified some + of unixFCmd.test while I was at it. - * doc/text.n: clarified docs on what happens during a search with - -count when images/windows are embedded +2002-07-10 Don Porter - * win/Makefile.in (install-*): reduced verbosity of install + * tests/tcltest.test: Greatly reduced the number of [exec]s, using + slave interps instead. + * library/tcltest/tcltest.tcl: Fixed bug uncovered in the conversion + where a message was written to stdout instead of [outputChannel]. - * win/tkWinPixmap.c (XGetGeometry): added support for windows in - XGetGeometry [Bug: 4069] + * tests/basic.test: Cleaned up, constrained, and reduced the + * tests/compile.test: amount of [exec] usage in the test suite. + * tests/encoding.test: + * tests/env.test: + * tests/event.test: + * tests/exec.test: + * tests/io.test: + * tests/ioCmd.test: + * tests/regexp.test: + * tests/regexpComp.test: + * tests/socket.test: + * tests/tcltest.test: + * tests/unixInit.test: + * tests/winDde.test: + * tests/winPipe.test: + +2002-07-10 Donal K. Fellows + + * tests/cmdAH.test: Removed [exec] of Unix utilities. [Bug 579211] + + * tests/expr.test: Added tests to make sure that this works. + * generic/tclExecute.c (ExprCallMathFunc): Functions should also + be able to return wide-ints. [Bug 579284] + +2002-07-08 Andreas Kupries + + * tests/socket.test: Fixed bug #578164. The original reason for + the was a DNS outage while running the testsuite. Changed [info + hostname] to 127.0.0.1 to bypass DNS, knowing that we operate on + the local host. + +2002-07-08 Don Porter + + * doc/tcltest.n: Fixed incompatibility in [viewFile]. + * library/tcltest/tcltest.tcl: Corrected docs. Bumped to 2.2.1. + * library/tcltest/pkgIndex.tcl: [Bug 578163] + +2002-07-08 Vince Darley + + * tests/cmdAH.test: + * tests/fCmd.test: + * tests/fileName.test: tests which rely on 'file link' need a + constraint so they don't run on older Windows OS. [Bug 578158] + * generic/tclIOUtil.c: + * generic/tcl.h: + * generic/tclInt.h: + * generic/tclTest.c: + * mac/tclMacChan.c: + * unix/tclUnixChan.c: + * win/tclWinChan.c: + * doc/FileSystem.3: cleaned up internal handling of + Tcl_FSOpenFileChannel to remove duplicate code, and make + writing external vfs's clearer and easier. No + functionality change. Also clarify that objects with refCount + zero should not be passed in to the Tcl_FS API, and prevent + segfaults from occuring on such user errors. [Bug 578617] + +2002-07-06 Don Porter + + * tests/pkgMkIndex.test: Constrained tests of [load] package indexing + to those platforms where the testing shared libraries have been built. + [Bug 578166]. + +2002-07-05 Don Porter + * changes: added recent changes + +2002-07-05 Reinhard Max + + * generic/tclClock.c (FormatClock): Convert the format string to + UTF8 before calling TclpStrftime, so that non-ASCII characters + don't get mangled when the result string is being converted back. + * tests/clock.test: Added a test for that. + +2002-07-05 Donal K. Fellows + + * unix/Makefile.in (ro-test,ddd,GDB,DDD): Created new targets to + allow running the test suite with a read-only current directory, + running under ddd instead of gdb, and factored out some executable + names for broken sites (like mine) where gdb and ddd are installed + with non-standard names... + + * tests/httpold.test: Altered test names to httpold-* to avoid + clashes with http.test, and stopped tests from failing when the + current directory is not writable... + + * tests/event.test: Stop these tests from failing + * tests/ioUtil.test: when the current directory is + * tests/regexp.test: not writable... + * tests/regexpComp.test: + * tests/source.test: + * tests/unixFile.test: + * tests/unixNotfy.test: + + * tests/unixFCmd.test: Trying to make these test-files + * tests/macFCmd.test: not bomb out with an error when + * tests/http.test: the current directory is not + * tests/fileName.test: writable... + * tests/env.test: - * win/tkWinFont.c (GetScreenFont): fixed possible mem overrun with - long font names [Bug: 4108] +2002-07-05 Jeff Hobbs - * win/tkWinDialog.c: added EnableWindow calls to dialogs to - correct for possible loss of control in parent Tk toplevel - [Bug: 1212 et al] + *** 8.4b1 TAGGED FOR RELEASE *** - * 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] +2002-07-04 Donal K. Fellows - * 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 - REDRAW_ALL, is now REDRAW_PENDING) + * tests/cmdMZ.test (cmdMZ-1.4): + * tests/cmdAH.test: More fixing of writable-current-dir + assumption. [Bug 575824] - * tests/listbox.test: corrected test case for listbox itemconfigure +2002-07-04 Miguel Sofer - * unix/aclocal.m4: added *BSD ELF recognition for - SHARED_LIB_SUFFIX determination (from Tcl's tcl.m4) + * tests/basic.test: Same issue as below; fixed [Bug 575817] + +2002-07-04 Andreas Kupries -2000-01-27 Eric Melski + * tests/socket.test: + * tests/winPipe.test: + * tests/pid.test: Fixed SF Bug #575848. See below for a + description the general problem. + + * All the bugs below are instances of the same problem: The + testsuite assumes [pwd] = [temporaryDirectory] and writable. + + * tests/iogt.test: Fixed bug #575860. + * tests/io.test: Fixed bug #575862. + * tests/exec.test: + * tests/ioCmd.test: Fixed bug #575836. + +2002-07-03 Don Porter + + * tests/pkg1/direct1.tcl: removed + * tests/pkg1/pkgIndex.tcl: removed + * tests/pkgMkIndex.test: Imported auxilliary files from tests/pkg1 + into the test file pkgMkIndex.test itself. Formatting fixes. + + * unix/Makefile.in: removed tests/pkg/* from `make dist` + + * tests/pkg/circ1.tcl: removed + * tests/pkg/circ2.tcl: removed + * tests/pkg/circ3.tcl: removed + * tests/pkg/global.tcl: removed + * tests/pkg/import.tcl: removed + * tests/pkg/pkg1.tcl: removed + * tests/pkg/pkg2_a.tcl: removed + * tests/pkg/pkg2_b.tcl: removed + * tests/pkg/pkg3.tcl: removed + * tests/pkg/pkg4.tcl: removed + * tests/pkg/pkg5.tcl: removed + * tests/pkg/pkga.tcl: removed + * tests/pkg/samename.tcl: removed + * tests/pkg/simple.tcl: removed + * tests/pkg/spacename.tcl: removed + * tests/pkg/std.tcl: removed + * tests/pkgMkIndex.test: Fixed [Bug 575857] where this test file + expected to be able to write to [file join [testsDirectory] + pkg]. Part of the fix was to import several auxilliary files + into the test file itself. + + * tests/main.test: Cheap fix for [Bugs 575851, 575858]. Avoid + * tests/tcltest.test: non-writable . by [cd [temporaryDirectory]]. + + * library/auto.tcl: Fix [tcl_findLibrary] to be sure it sets + $varName only if a successful library script is found. + [Bug 577033] + +2002-07-03 Miguel Sofer + + * generic/tclCompCmds.c (TclCompileCatchCmd): return + TCL_OUT_LINE_COMPILE instead of TCL_ERROR: let the failure + happen at runtime so that it can be caught [Bug 577015]. + +2002-07-02 Joe English + + * doc/tcltest.n: Markup fixes, spellcheck. + +2002-07-02 Don Porter + + * doc/tcltest.n: more refinements of the documentation. + + * library/tcltest/tcltest.tcl: Added trace to be sure the stdio + constraint is updated whenever the [interpreter] changes. + + * doc/tcltest.n: Reverted [makeFile] and [viewFile] to + * library/tcltest/tcltest.tcl: their former behavior, and documented + * tests/cmdAH.test: it. Corrected misspelling of hook + * tests/event.test: procedure. Restored tests. + * tests/http.test: + * tests/io.test: + + * library/tcltest/tcltest.tcl: Simplified logic of + [GetMatchingFiles] and [GetMatchingDirectories], removing + special case processing. + + * doc/tcltest.n: More documentation updates. Reference sections + are complete. Only examples need adding. + +2002-07-02 Vince Darley + + * tests/fCmd.test: + * generic/tclCmdAH.c: clearer error msgs for 'file link', + as per the man page. + +2002-07-01 Joe English + + * doc/Access.3: + * doc/AddErrInfo.3: + * doc/Alloc.3: + * doc/Backslash.3: + * doc/CrtChannel.3: + * doc/CrtSlave.3: + * doc/Encoding.3: + * doc/Eval.3: + * doc/FileSystem.3: + * doc/Notifier.3: + * doc/OpenFileChnl.3: + * doc/ParseCmd.3: + * doc/RegExp.3: + * doc/Tcl_Main.3: + * doc/Thread.3: + * doc/TraceCmd.3: + * doc/Utf.3: + * doc/WrongNumArgs.3: + * doc/binary.n: + * doc/clock.n: + * doc/expr.n: + * doc/fconfigure.n: + * doc/glob.n: + * doc/http.n: + * doc/interp.n: + * doc/lsearch.n: + * doc/lset.n: + * doc/msgcat.n: + * doc/packagens.n: + * doc/pkgMkIndex.n: + * doc/registry.n: + * doc/resource.n: + * doc/safe.n: + * doc/scan.n: + * doc/tclvars.n: Spell-check, fixed typos (Updates from Larry Virden). + +2002-07-01 Donal K. Fellows + + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Made Solaris use gcc for linking + when building with gcc to resolve problems with undefined symbols + being present when tcl library used with non-gcc linker at later + stage. Symbols were compiler-generated, so it is the compiler's + business to define them. [Bug #541181] + +2002-07-01 Don Porter + + * doc/tcltest.n: more work in progress updating tcltest docs. + + * library/tcltest/tcltest.tcl: Change [configure -match] to + stop treating an empty list as a list of the single pattern "*". + Changed the default value to [list *] so default operation + remains the same. + + * tests/pkg/samename.tcl: restored. needed by pkgMkIndex.test. + + * library/tcltest/tcltest.tcl: restored writeability testing of + -tmpdir, augmented by a special exception for the deafault value. + +2002-07-01 Donal K. Fellows + + * doc/concat.n: Documented the *real* behaviour of [concat]! + +2002-06-30 Don Porter + + * doc/tcltest.n: more work in progress updating tcltest docs. + + * tests/README: Updated the instructions on running and + * tests/cmdMZ.test: adding to the test suite. Also updated + * tests/encoding.test: several tests, mostly to correctly create + * tests/fCmd.test: and destroy any temporary files in the + * tests/info.test: [temporaryDirectory] of tcltest. + * tests/interp.test: + + * library/tcltest/tcltest.tcl: Stopped checking for writeability + of -tmpdir value because no default directory can be guaranteed to + be writeable. + + * tests/autoMkindex.tcl: removed. + * tests/pkg/samename.tcl: removed. + * tests/pkg/magicchar.tcl: removed. + * tests/pkg/magicchar2.tcl: removed. + * tests/autoMkindex.test: Updated auto_mkIndex tests to use + [makeFile] and [removeFile] so tests are done in [temporaryDirecotry] + where write access is guaranteed. + + * library/tcltest/tcltest.tcl: Fixed [makeFile] and [viewFile] to + * tests/cmdAH.test: accurately reflect a file's contents. + * tests/event.test: Updated tests that depended on buggy + * tests/http.test: behavior. Also added warning messages + * tests/io.test: to "-debug 1" operations to debug test + * tests/iogt.test: calls to (make|remove)(File|Directory). + + * unix/mkLinks: `make mklinks` on 6-27 commits. + +2002-06-28 Miguel Sofer + + * generic/tclCompile.h: modified the macro TclEmitPush to not + call its first argument repeatedly or pass it to other macros, + [Bug 575194] reported by Peter Spjuth. + +2002-06-28 Don Porter + + * docs/tcltest.n: Doc revisions in progress. + * library/tcltest/tcltest.tcl: Corrected -testdir default value. + Was not reliable, and disagreed with docs! Thanks to Hemang Lavana. + [Bug 575150] - * generic/tkImgPhoto.c: Removed unneccesary object translation in - MatchStringFormat (bug #4103). +2002-06-28 Donal K. Fellows -2000-01-27 Eric Melski + * unix/tclUnixThrd.c: Renamed the Tcl_Platform* #defines to + * unix/tclUnixPipe.c: TclOS* because they are only used + * unix/tclUnixFile.c: internally. Also stopped double-#def + * unix/tclUnixFCmd.c: of TclOSlstat [Bug #566099, post-rename] + * unix/tclUnixChan.c: + * unix/tclUnixPort.h: - * generic/tkImgGIF.c: Additional code cleanup (now we only have - one decoder! neat!) + * doc/string.n: Improved documentation for [string last] along + lines described in Bug #574799 so it indicates that the supplied + index marks the end of the search space. -2000-01-26 Eric Melski +2002-06-27 Don Porter - * doc/getOpenFile.n: - * doc/chooseDirectory.n: Man page/cross links for - tk_chooseDirectory (bug #1786). + * doc/dde.n: Work in progress updating the documentation + * doc/http.n: of the packages that come bundled with + * doc/msgcat.n: the Tcl source distribution, notably tcltest. + * doc/registry.n: + * doc/tcltest.n: - * library/tk.tcl: - * library/tclIndex: Added hooks for tk_chooseDirectory. (bug #1786) + * library/tcltest/tcltest.tcl: Made sure that the TCLTEST_OPTIONS + environment variablle configures tcltest at package load time. - * library/choosedir.tcl: tk_chooseDirectory implementation for - Unix/Mac (bug #1786). +2002-06-26 Vince Darley - * generic/tkImgPhoto.c: Added some comments regarding slow - processing of transparent images. + * tests/fileSystem.test: + * generic/tclIOUtil.c: fix to handling of empty paths "" + which are not claimed by any filesystem (Bug #573758). + Ensure good error messages are given in all cases. + * tests/cmdAH.test: + * unix/tclUnixFCmd.c: fix to bug reported as part of + (Patch #566669). Thanks to Taguchi, Takeshi for the report. + +2002-06-26 Reinhard Max - * generic/tkImgGIF.c: Improved GIF decoder for ~60% speed - increase. Added some comments on how to further improve the - implementation, time permitting. + * unix/tclUnixTime.c: Make [clock format] respect locale settings. + * tests/clock.test: Bug #565880. ***POTENTIAL INCOMPATIBILITY*** - * doc/photo.n: Added a description of what the -data string can - contain (base64 or binary data). +2002-06-26 Miguel Sofer - * generic/tkImgPhoto.c: Fixed bug with use of binary data for - "-data" option to "image create" command. + * doc/CrtInterp.3: + * doc/StringObj.3: clarifications by Don Porter, bugs #493995 and + #500930. + +2002-06-24 Don Porter -2000-01-21 Eric Melski + * library/tcltest/tcltest.tcl: Corrected suppression of -verbose skip + * tests/tcltest.test: and start by [test -output]. Also + corrected test suite errors exposed by corrected code. [Bug 564656] - * library/tkfbox.tcl: Fixed bug relating to incorrect parent - values for error message boxes displayed by the file dialog (bug - #3616). +2002-06-25 Reinhard Max - * tests/text.test: - * generic/tkText.c: Fixed bug relating to regexp searching for - empty lines; previously, the starting line was ignored. (bug #1643). + * unix/tcl.m4: New macro SC_CONFIG_MANPAGES. + * unix/configure.in: Added support for symlinks and compression + * unix/Makefile.in: when installing the manpages. [Patch 518052] + * unix/mkLinks.tcl: Default is still hardlinks and no compression. -2000-01-20 Jeff Hobbs + * unix/mkLinks: generated + * unix/configure: - * library/text.tcl: fixed double-click selection behavior where - there were embedded windows/widgets in the same line. [Bug: 3989] + * unix/README: Added documentation for the new features. - * win/tkWinWm.c (TkWmProtocolEventProc): cached atom name as the - window could get destroyed during eval [Bug: 2513] + * unix/tcl.m4 (SC_PATH_TCLCONFIG): Replaced ${exec_prefix}/lib by + ${libdir}. + +2002-06-25 Donal K. Fellows + + * generic/tclUtil.c (TclGetIntForIndex): Fix of critical bug + #533364 generated when the index is bad and the result is a shared + object. The T_ASTO(T_GOR, ...) idiom likely exists elsewhere + though. Also removed some cruft that just complicated things to + no advantage. + (SetEndOffsetFromAny): Same fix, though this wasn't on the path + excited by the bug. + +2002-06-24 Don Porter + + * library/tcltest/tcltest.tcl: Implementation of TIP 101. Adds + * tests/parseOld.test: and exports a [configure] command + * tests/tcltest.test: from tcltest. + +2002-06-22 Don Porter + + * changes: updated changes file for 8.4b1 release. + + * library/tcltest/tcltest.tcl: Corrections to tcltest and the + * tests/basic.test: Tcl test suite so that a test + * tests/cmdInfo.test: with options -constraints knownBug + * tests/compile.test: -limitConstraints 1 only tests the + * tests/encoding.test: knownBug tests. Mostly involves + * tests/env.test: replacing direct access to the + * tests/event.test: testConstraints array with calls + * tests/exec.test: to the testConstraint command + * tests/execute.test: (which requires tcltest version 2) + * tests/fCmd.test: + * tests/format.test: + * tests/http.test: + * tests/httpold.test: + * tests/ioUtil.test: + * tests/link.test: + * tests/load.test: + * tests/namespace.test: + * tests/pkgMkIndex.test: + * tests/reg.test: + * tests/result.test: + * tests/scan.test: + * tests/stack.test: + +2002-06-22 Donal K. Fellows + + * tools/tcl.wse.in (Disk Label), unix/tcl.spec (version): + * win/README.binary, README, win/configure.in, unix/configure.in: + * generic/tcl.h (TCL_RELEASE_*, TCL_PATCH_LEVEL): Bump to beta1. + +2002-06-21 Joe English + + * generic/tclCompExpr.c: + * generic/tclParseExpr.c: LogSyntaxError() should reset + the interpreter result [Bug 550142 "Tcl_ExprObj -> abort"] + +2002-06-21 Don Porter + + * unix/Makefile.in: Updated all package install directories + * win/Makefile.in: to match current Major.minor versions + * win/makefile.bc: of the packages. Added tcltest package + * win/makefile.vc: to installation on Windows. + + * library/init.tcl: Corrected comments and namespace style + issues. Thanks to Bruce Stephens. [Bug 572025] + +2002-06-21 Vince Darley + + * tests/cmdAH.test: Added TIP#99 implementation + * tests/fCmd.test: of 'file link'. Supports creation + * tests/fileName.test: of symbolic and hard links in the + * tests/fileSystem.test: native filesystems and in vfs's, + * generic/tclTest.c: when the individual filesystem + * generic/tclCmdAH.c: supports the concept. + * generic/tclIOUtil.c: + * generic/tcl.h: + * generic/tcl.decls: + * doc/FileSystem.3: + * doc/file.n: + * mac/tclMacFile.c: + * unix/tclUnixFile.c: + * win/tclWinFile.c: Also enhanced speed of 'file normalize' on + Windows. - * 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] +2002-06-20 Miguel Sofer - * tests/text.test: - * generic/tkText.c: fixed missing " in error case and missing - 'dump' in subcommand listing [Bug: 4036] + * generic/tclBasic.c (TclEvalObjvInternal): fix for [Bug 571385] + in the implementation of TIP#62 (command tracing). Vince Darley, + Hemang Lavana & Don Porter: thanks. - * 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] +2002-06-20 Miguel Sofer - * unix/mkLinks: - * doc/WindowId.3: added docs for Tk_IsContainer and Tk_IsEmbedded + * generic/tclExecute.c (TclCompEvalObj): clarified and simplified + the logic for compilation/recompilation. - * doc/text.n: clarified mark gravity definition and usage of - ``word'' in binding definitions. [Bug: 2004 2277 1388] +2002-06-19 Joe English + * doc/file.n: Fixed indentation. No substantive changes. - * 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). +2002-06-19 Jeff Hobbs -2000-01-20 Eric Melski + * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): get the resultPtr again + as the Tcl_ObjSetVar2 may cause the result to change. + [Patch #558324] (watson) - * tests/grid.test: Added a test for the consecutive ^ and multiple - widget case (bug #1386). +2002-06-19 Miguel Sofer - * 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). + * generic/tclExecute.c (TEBC): removing unused "for(;;)" loop; + improved comments; re-indentation. -2000-01-19 Eric Melski +2002-06-18 Miguel Sofer - * library/tk.tcl: Created a virtual event <> for - reverse tab traversals, with one default binding , and - OS specific bindings for Linux, HP-UX, and IRIX. (bug #3163) + * generic/tclExecute.c (TEBC): + - elimination of duplicated code in the non-immediate INST_INCR + instructions. + - elimination of 103 (!) TclDecrRefCount macros. The different + instructions now jump back to a common "DecrRefCount zone" at + the top of the loop. The macro "ADJUST_PC" was replaced by two + macros "NEXT_INST_F" and "NEXT_INST_V" that take three params + (pcAdjustment, # of stack objects to discard, resultObjPtr + handling flag). The only instructions that retain a + TclDecrRefCount are INST_POP (for speed), the common code for + the non-immediate INST_INCR, INST_FOREACH_STEP and the two + INST_LSET. -2000-01-13 Jeff Hobbs + The object size of tclExecute.o was reduced by approx 20% since + the start of the consolidation drive, while making room for some + peep-hole optimisation at runtime. - * changes: updated changes file to reflect 8.3b2 mods - * README: - * generic/tk.h: - * unix/configure.in: - * win/configure.in: updated to patchlevel 8.3b2 +2002-06-18 Miguel Sofer - * win/tkWinWm.c: added visibility event handler to make sure - that transient window wrappers would be updated when the master - was initially mapped. + * generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic + code for tcl-stack corruption. -2000-01-12 Jeff Hobbs +2002-06-17 David Gravereaux - * tests/text.test: changed test to reflect change of -hidden - to -elide in search options. + Trims to support the removal of RESOURCE_INCLUDED from rc + scripts from FR #565088. - * win/tkWinScrlbr.c: added check for valid hwnd in ModalLoopProc - to avoid crash when building statically + * generic/tcl.h: moved the #ifndef RC_INVOKED start block up in + the file. rc scripts don't need to know thread mutexes. - * 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. + * win/tcl.rc: + * win/tclsh.rc: removed the #define RESOURCE_INCLUDED to let the + built-in -DRC_INVOKED to the work. - * generic/tkCanvas.c: fixed mem leak with TagSearchExprInit - [Bug: 3977] +2002-06-17 Jeff Hobbs - * generic/tkStubInit.c: - * generic/tkDecls.h: remove non-existent - Tk_(Get|Create)CanvasVisitor prototypes + * doc/CrtTrace.3: Added TIP#62 implementation of command + * doc/trace.n: execution tracing [FR #462580] (lavana). + * generic/tcl.h: This includes enter/leave tracing as well + * generic/tclBasic.c: as inter-procedure stepping. + * generic/tclCmdMZ.c: + * generic/tclCompile.c: + * generic/tclExecute.c: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + * generic/tclVar.c: + * tests/trace.test: + +2002-06-17 Andreas Kupries + + * win/tclWinPipe.c (BuildCommandLine): Fixed bug #554068 ([exec] + on windows did not treat { in filenames well.). Bug reported by + Vince Darley , patch + provided by Vince too. + +2002-06-17 Joe English + + * generic/tcl.h: #ifdef logic for K&R C backwards compatibility + changed to assume modern C by default. See SF FR #565088 for + full details. + +2002-06-17 Don Porter + + * doc/msgcat.n: Corrected en_UK references to en_GB. UK is not + a country designation recognized in ISO 3166. + + * library/msgcat/msgcat.tcl: More Windows Registry locale codes + from Bruno Haible. + + * doc/msgcat.n: + * library/msgcat/msgcat.tcl: + * library/msgcat/pkgIndex.tcl: + * tests/msgcat.test: Revised locale initialization to interpret + environment variable locale values according to XPG4, and to + recognize the LC_ALL and LC_MESSAGES values over that of LANG. + Also added many Windows Registry locale values to those + recognized by msgcat. Revised tests and docs. Bumped to + version 1.3. Thanks to Bruno Haible for the report and + assistance crafting the solution. [Bug 525522, 525525] + +2002-06-16 Miguel Sofer + + * generic/tclCompile.c (TclCompileTokens): a better algorithm for + the previous bug fix. + +2002-06-16 Miguel Sofer + + * generic/tclCompile.c (TclCompileTokens): + * tests/compile.test: [Bug 569438] in the processing of dollar + variables; report by Georgios Petasis. + +2002-06-16 Miguel Sofer + + * generic/tclExecute.c: bug in the consolidation of the + INCR_..._STK instructions; the bug could not be exercised as the + (faulty) instruction INST_INCR_ARRAY_STK was never compiled-in + (related to [Bug 569438]). + +2002-06-14 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): runtime peep-hole + optimisation of variables (INST_STORE, INST_INCR) and commands + (INST_INVOKE); faster check for the existence of a catch. + (TclExecuteByteCode): runtime peep-hole optimisation of + comparisons. + (TclExecuteByteCode): runtime peep-hole optimisation of + INST_FOREACH - relies on peculiarities of the code produced by the + bytecode compiler. - * generic/tkText.c: - * generic/tkEntry.c: fixed cursor to not blink when widget was - disabled [Bug: 1807] +2002-06-14 David Gravereaux - * generic/tkRectOval.c: added note about change to bloat for - RectOval bounds calculation for WIN32 only + * win/rules.vc: The test for compiler optimizations was in error. + Thanks goes to Roy Terry for his + assistance with this. - * library/dialog.tcl: improved handling of $default arg to allow - for name of given button, as well as bounds checking +2002-06-14 Donal K. Fellows - * 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. + * doc/trace.n, tests/trace.test: + * generic/tclCmdMZ.c (Tcl_TraceObjCmd,TclTraceCommandObjCmd) + (TclTraceVariableObjCmd): Changed references to "trace list" to + "trace info" as mandated by TIP#102. + +2002-06-13 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): consolidated code for + the conditional branch instructions. + +2002-06-13 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): fixed the previous + patch - wouldn't compile with TCL_COMPILE_DEBUG set. + +2002-06-13 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): consolidated the + handling of exception returns to INST_INVOKE and INST_EVAL, as + well as most of the code for INST_CONTINUE and INST_BREAK, in the + new jump target "processExceptionReturn". + +2002-06-13 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): consolidated variable + handling opcodes, replaced redundant code with some 'goto'. All + store/append/lappend opcodes on the same data type now share the + main code; same with incr opcodes. + * generic/tclVar.c: added the bit TCL_TRACE_READS to the possible + flags to Tcl_SetVar2Ex - it causes read traces to be fired prior + to setting the variable. This is used in the core for [lappend]. + + ***NOTE*** the usage of TCL_TRACE_READS in Tcl_(Obj)?GetVar.* is + not documented; there, it causes the call to create the variable + if it does not exist. The new usage in Tcl_(Obj)?SetVar.* remains + undocumented too ... + +2002-06-13 Vince Darley + + * tests/fCmd.test: + * tests/winFile.test: + * tests/fileSystem.test: + * generic/tclTest.c: + * generic/tclCmdAH.c: + * generic/tclIOUtil.c: + * doc/FileSystem.3: + * mac/tclMacFile.c: + * unix/tclUnixFile.c: + * win/tclWinFile.c: fixed up further so both compiles and + actually works with VC++ 5 or 6. + * win/tclWinInt.h: + * win/tclWin32Dll.c: cleaned up code and vfs tests and + added tests for the internal changes of 2002-06-12, to see + whether WinTcl on NTFS can coexist peacefully with links + in the filesystem. Added new test command 'testfilelink' + to enable the newer code to be tested. + * tests/fCmd.test: (made certain tests of 'testfilelink' not + run on unix). + +2002-06-12 Miguel Sofer + + * tclBasic.c (Tcl_DeleteTrace): fixed [Bug 568123] (thanks to + Hemang Lavana) + +2002-06-12 Jeff Hobbs - * unix/aclocal.m4: strtod bug on Tru64 [Bug: 3378] + * win/tclWinFile.c: corrected the symbolic link handling code to + allow it to compile. Added real definition of REPARSE_DATA_BUFFER + (found in winnt.h). Most of the added definitions appear to have + correct, cross-Win-version equivalents in winnt.h and should be + removed, but just making things "work" for now. - * unix/Makefile.in: added tests to prevent unnecessary chmod +x - in source dirs while installing [Bug: 3367] +2002-06-12 Vince Darley + + * generic/tclIOUtil.c: + * generic/tcl.decls: + * generic/tclDecls.h: made code for Tcl_FSNewNativePath + agree with man pages. + + * doc/FileSystem.3: clarified the circumstances under which + certain functions are called in the presence of symlinks. + + * win/tclWinFile.c: + * win/tclWinPort.h: + * win/tclWinInt.h: + * win/tclWinFCmd.c: Fix for Windows to allow 'file lstat', + 'file type', 'glob -type l', 'file copy', 'file delete', + 'file normalize', and all VFS code to work correctly in the + presence of symlinks (previously Tcl's behaviour was not very + well defined). This also fixes possible serious problems in + all versions of WinTcl where 'file delete' on a NTFS symlink + could delete the original, not the symlink. + Note: symlinks cannot yet be created in pure Tcl. + +2002-06-11 Miguel Sofer + + * generic/tclBasic.c: + * generic/tclCompCmds.c: + * generic/tclInt.h: reverted the new compilation functions; + replaced by a more general approach described below. + + * generic/tclCompCmds.c: + * generic/tclCompile.c: made *all* compiled variable access + attempts create an indexed variable - even get or incr without + previous set. This allows indexed access to local variables that + are created and set at runtime, for example by [global], [upvar], + [variable], [regexp], [regsub]. + +2002-06-11 Miguel Sofer + + * doc/global.n: + * doc/info.n: + * test/info.test: + * generic/tclCmdIL.c: fix for [Bug 567386], [info locals] was + reporting some linked variables. + + * generic/tclBasic.c: + * generic/tclCompCmds.c: + * generic/tclInt.h: added compile functions for [global], + [variable] and [upvar]. They just declare the new local variables, + the commands themselves are not compiled-in. This gives a notably + faster read access to these linked variables. + +2002-06-11 Miguel Sofer + + * generic/tclExecute.c: optimised algorithm for exception range + lookup; part of [Patch 453709]. + +2002-06-10 Vince Darley + + * unix/tclUnixFCmd.c: fixed [Bug #566669] + * generic/tclIOUtil.c: improved and sped up handling of + native paths (duplication and conversion to normalized paths), + particularly on Windows. + * modified part of above commit, due to problems on Linux. + Will re-examine bug report and evaluate more closely. + +2002-06-07 Don Porter + + * tests/tcltest.test: More corrections to test suite so that tests + of failing [test]s don't show up themselves as failing tests. + +2002-06-07 Donal K. Fellows + + * generic/tclExecute.c: Tidied up headers in relation to float.h + to cut the cruft and ensure DBL_MAX is defined since doubles seem + to be the same size everywhere; if the assumption isn't true, the + variant platforms had better have run configure... + + * unix/tclUnixPort.h (EOVERFLOW): Added code to define it if it + wasn't previously defined. Also some other general tidying and + adding of comments. [Tcl bugs 563122, 564595] + * compat/tclErrno.h: Added definition for EOVERFLOW copied from + Solaris headers; I've been unable to find any uses of EFTYPE, + which was the error code previously occupying the slot, in Tcl, or + any definition of it in the Solaris headers. + +2002-06-06 Mo DeJong + + * unix/dltest/Makefile.in: Remove hard coded CFLAGS=-g + and add CFLAGS_DEBUG, CFLAGS_OPTIMIZE, and + CFLAGS_DEFAULT varaibles. [Tcl bug 565488] + +2002-06-06 Don Porter + + * tests/tcltest.test: Corrections to test suite so that tests + of failing [test]s don't show up themselves as failing tests. + + * tests/io.test: Fixed up namespace variable resolution issues + revealed by running test suite with "-singleproc 1". + + * doc/tcltest.n: + * library/tcltest/tcltest.tcl: + * tests/tcltest.test: Several updates to tcltest. + 1) changed to lazy initialization of test constraints + 2) deprecated [initConstraintsHook] + 3) repaired badly broken [limitConstraints]. + 4) deprecated [threadReap] and [mainThread] + [Patch 512214, Bug 558742, Bug 461000, Bug 534903] + +2002-06-06 Daniel Steffen + + * unix/tclUnixThrd.c (TclpReaddir, TclpLocaltime, TclpGmtime): + added mutex wrapped calls to readdir, localtime & gmtime in + case their thread-safe *_r counterparts are not available. + * unix/tcl.m4: added configure check for readdir_r + * unix/tcl.m4 (Darwin): set TCL_DEFAULT_ENCODING to utf-8 on + MacOSX (where posix file apis expect utf-8, not iso8859-1). + * unix/configure: regen + * unix/Makefile.in: set DYLD_LIBRARY_PATH in parallel + to LD_LIBRARY_PATH for MacOSX dynamic linker. + * generic/tclEnv.c (TclSetEnv): fix env var setting on + MacOSX (adapted from patch #524352 by jkbonfield). - * unix/configure.in: properly sub'ed in TK_SHARED_BUILD [Bug: 3385] +2002-06-05 Don Porter -2000-01-05 Jeff Hobbs + * doc/Tcl_Main.3: Documented $tcl_rcFileName and added more + clarifications about the intended use of Tcl_Main(). [Bug 505651] - * 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. +2002-06-05 Daniel Steffen - * mac/tkMacClipboard.c: fixed i18n problems with clipboard [Bug: 3544] + * generic/tclFileName.c (TclGlob): mac specific fix to + recent changes in 'glob -tails' handling. + * mac/tclMacPort.h: + * mac/tclMacChan.c: fixed TIP#91 bustage. + * mac/tclMacResource.c (Tcl_MacConvertTextResource): added utf + conversion of text resource contents. + * tests/macFCmd.test (macFCmd-1.2): allow CWIE creator. - * 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] +2002-06-04 Don Porter - * unix/Makefile.in: added unix/aclocal.m4 to distribution [Bug: 3938] - * unix/aclocal.m4: changed NetBSD SHLIB_CFLAGS from -fpic to -fPIC + * library/tcltest/tcltest.tcl: + * tests/init.test: + * tests/tcltest.test: Added more TIP 85 tests from Arjen Markus. + Converted tcltest.test to use a private namespace. Fixed bugs in + [tcltest::Eval] revealed by calling [tcltest::test] from a non-global + namespace, and namespace errors in init.test. - * win/tkWinImage.c: added static declaration to function +2002-06-04 Mo DeJong -1999-12-22 Jeff Hobbs + * win/README: Update msys+mingw URL. - * changes: updated changes file +2002-06-03 Don Porter - * generic/tkScale.c: - * generic/tkScale.h: - * mac/tkMacScale.c: - * unix/tkUnixScale.c: fixed potential segv from patch in 3897 + * doc/tcltest.n: + * library/tcltest/tcltest.tcl: + * library/tcltest/pkgIndex.tcl: + * tests/tcltest.test: Implementation of TIP 85. Allows tcltest + users to add new legal values of the -match option to [test], + associating each with a Tcl command that does the matching of + expected results with actual results of tests. Thanks to + Arjen Markus. => tcltest 2.1 [Patch 521362] - * tests/unixWm.test: nonPOrtable -> nonPortable +2002-06-03 Miguel Sofer -1999-12-21 Jeff Hobbs + * doc/namespace.n: added description of [namepace forget] + behaviour for unqualified patterns [Bug 559268] - * generic/tk.h: - * unix/configure.in: - * win/configure.in: - * win/aclocal.m4: - * README: updated for patch level 8.3b1 +2002-06-03 Miguel Sofer - * unix/tkUnixWm.c: fixed panic in Tk_CoordsToWindow to print error - and continue instead (for Tix) [Bug: 716 et al] + * generic/tclExecute.c: reverting an accidental modification in + the last commit. + +2002-06-03 Miguel Sofer - * scale.test: - * generic/tkScale.c: - * generic/tkScale.h: fixed possible core when freeing options - (cursor) associated with scale widget [Bug: 3897] + * doc/Tcl.n: clarify the empty variable name issue ([Bug 549285] + reported by Tom Krehbiel, patch by Don Porter). - * doc/MeasureChar.3: fixed docs for Tk_MeasureChars to reflect code - * doc/listbox.n: fixed formatting problem +2002-05-31 Don Porter - * generic/tk3d.c: added extra calculations to ensure that thin - frames get refreshed too [Bug: 3596] + * library/package.tcl: Fixed leak of slave interp in [pkg_mkIndex]. + Thanks to Helmut for report. [Bug 550534] - * 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. + * tests/io.test: + * tests/main.test: Use the "stdio" constraint to control whether + an [open "|[interpreter]"] is attempted. - * mac/tclMacHLEvents.c: fixed applescript for I18N [Bug: 3644] + * generic/tclExecute.c (TclMathInProgress,TclExecuteByteCode + ExprCallMathFunc): + * generic/tclInt.h (TclMathInProgress): + * unix/Makefile.in (tclMtherr.*): + * unix/configure.in (NEED_MATHERR): + * unix/tclAppInit.c (matherr): + * unix/tclMtherr.c (removed file): + * win/tclWinMtherr.c (_matherr): Removed internal routine + TclMathInProgress and Unix implementation of matherr(). These + are now obsolete, dealing with very old versions of the C math + library. Windows version is retained in case Borland compilers + require it, but it is inactive. Thanks to Joe English. + [Bug 474335, Patch 555635]. + * unix/configure: regen - * 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] +2002-05-30 Miguel Sofer - * unix/Makefile.in: removed extra slash in SCRIPT_INSTALL_DIR - [Bug: 3896] + * generic/tclCompExpr.c: + * generic/tclCompile.c: + * generic/tclCompile.h: removed exprIsJustVarRef and + exprIsComparison from the ExprInfo and CompileEnv structs. These + were set, but not used since dec 1999 [Bug 562383]. - * library/listbox.tcl: added extra checks for existence of - tkPriv(listboxSelection) before it was used. [Bug: 3892] +2002-05-30 Vince Darley -1999-12-16 Jeff Hobbs + * generic/tclFileName.c (TclGlob): fix to longstanding + 'knownBug' in fileName tests 15.2-15.4, and fix to a new + Tcl 8.4 bug in certain uses of 'glob -tails'. + * tests/fileName.test: removed 'knownBug' flag from some tests, + added some new tests for above bugs. + +2002-05-29 Jeff Hobbs - * doc/GetCursor.3: - * win/tkWinCursor.c: added support for Windows cursors to - TkGetCursorByName (.ani, .cur) using -cursor @ - (Ascher) [Bug: 1350] + * unix/configure: regen'ed + * unix/configure.in: replaced bigendian check with autoconf + standard AC_C_BIG_ENDIAN, which defined WORDS_BIGENDIAN on + bigendian systems. + * generic/tclUtf.c (Tcl_UniCharNcmp): + * generic/tclInt.h (TclUniCharNcmp): use WORDS_BIGENDIAN instead of + TCL_OPTIMIZE_UNICODE_COMPARE to enable memcmp alternative. + + * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): + * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for + choosing the Tcl_UniCharNcmp compare to when both objs are of + StringType, as benchmarks show that is the optimal check (both + bigendian and littleendian systems). + +2002-05-29 Don Porter + + * generic/tclMain.c: Removed "dummy" reference to Tcl_LinkVar. + It is no longer needed since Tcl_Main() now actually calls + Tcl_LinkVar(). Thanks to Joe English for pointing that out. + +2002-05-29 Donal K. Fellows + + * generic/tclExecute.c (TclExecuteByteCode): + * generic/tclCmdMZ.c (Tcl_StringObjCmd): Use the macro version. + * generic/tclInt.h (TclUniCharNcmp): Optimised still further with + a macro for use in sensitive places like tclExecute.c + + * generic/tclUtf.c (Tcl_UniCharNcmp): Use new flag to figure out + when we can use an optimal comparison scheme, and default to the + old scheme in other cases which is at least safe. + * unix/configure.in (TCL_OPTIMIZE_UNICODE_COMPARE): New optional + flag that indicates when we can use memcmp() to compare Unicode + strings (i.e. when the high-byte of a Tcl_UniChar precedes the + low-byte.) + +2002-05-29 Jeff Hobbs + + * generic/tclInt.decls: + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + * generic/tclUtf.c: added TclpUtfNcmp2 private command that + mirrors Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This + provides a faster alternative for comparing utf strings internally. + (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end + of string check as it wasn't correct for the function (by doc and + logic). + + * generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal + comparison code to use TclpUtfNcmp2 as well as short-circuit for + equal objects or unequal length strings in the equal case. + Removed the use of goto and streamlined the other parts. + + * generic/tclExecute.c (TclExecuteByteCode): added check for + object equality in the comparison instructions. Added + short-circuit for != length strings in INST_EQ, INST_NEQ and + INST_STR_CMP. Reworked INST_STR_CMP to use TclpUtfNcmp2 where + appropriate, and only use Tcl_UniCharNcmp when at least one of the + objects is a Unicode obj with no utf bytes. + + * generic/tclCompCmds.c (TclCompileStringCmd): removed error + creation in code that no longer throws an error. + + * tests/string.test: + * tests/stringComp.test: added more string comparison checks. + + * tests/clock.test: better qualified 9.1 constraint check for %s. + +2002-05-28 Jeff Hobbs + + * generic/tclThreadAlloc.c (TclpRealloc, TclpFree): protect + against the case when NULL is based. + + * tests/clock.test: added clock-9.1 + * compat/strftime.c: + * generic/tclClock.c: + * generic/tclInt.decls: + * generic/tclIntDecls.h: + * unix/tclUnixTime.c: fix for Windows msvcrt mem leak caused by + using an env(TZ) setting trick for in clock format -gmt 1. This + also makes %s seem to work correctly with -gmt 1 as well as + making it a lot faster by avoid the env(TZ) hack. TclpStrftime + now takes useGMT as an arg. [Bug #559376] + +2002-05-28 Vince Darley + + * generic/tclIOUtil.c: fixes to Tcl_FSLoadFile when called on + a file inside a vfs. This should avoid leaving temporary + files sitting around on exit. [Bug #545579] + +2002-05-27 Donal K. Fellows + + * win/tclWinError.c: Added comment on conversion of + ERROR_NEGATIVE_SEEK because that is a mapping that really belongs, + and not a catch-all case. + * win/tclWinPort.h (EOVERFLOW): Should be either EFBIG or EINVAL + * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): EOVERFLOW can + potentially be a synonym for EINVAL. + +2002-05-24 Donal K. Fellows + + === Changes due to TIP#91 === + + * win/tclWinPort.h: Added declaration of EOVERFLOW. + * doc/CrtChannel.3: Added documentation of wideSeekProc. + * generic/tclIOGT.c (TransformSeekProc, TransformWideSeekProc): + Adapted to use the new channel mechanism. + * unix/tclUnixChan.c (FileSeekProc, FileWideSeekProc): Renamed + FileSeekProc to FileWideSeekProc and created new FileSeekProc + which has the old-style interface and which errors out with + EOVERFLOW when the returned file position can't fit into the + return type (int for historical reasons.) + * win/tclWinChan.c (FileSeekProc, FileWideSeekProc): Renamed + FileSeekProc to FileWideSeekProc and created new FileSeekProc + which has the old-style interface and which errors out with + EOVERFLOW when the returned file position can't fit into the + return type (int for historical reasons.) + * mac/tclMacChan.c (FileSeek): Reverted to old interface; Macs + lack large-file support because I can't see how to add it. + * generic/tclIO.c (Tcl_Seek, Tcl_Tell): Given these functions + knowledge of the new arrangement of channel types. + (Tcl_ChannelVersion): Added recognition of new version code. + (HaveVersion): New function to do version checking. + (Tcl_ChannelBlockModeProc, Tcl_ChannelFlushProc) + (Tcl_ChannelHandlerProc): Made these functions use HaveVersion for + ease of future maintainability. + (Tcl_ChannelBlockModeProc): Obvious lookup function. + * generic/tcl.h (Tcl_ChannelType): New wideSeekProc field, and + seekProc type restored to old interpretation. + (TCL_CHANNEL_VERSION_3): New channel version. + +2002-05-24 Andreas Kupries + + * tests/winPipe.test: Applied patch for SF Tcl Bug #549617. Patch + and bug report by Kevin Kenny . + + * win/tclWinSock.c (TcpWatchProc): Fixed SF Tcl Bug #557878. We + are not allowed to mess with the watch mask if the socket is a + server socket. I believe that the original reporter is George + Peter Staplin. - * 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 - Windows. +2002-05-21 Mo DeJong - * doc/listbox.n: added doc for <> [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/configure: Regen. + * unix/configure.in: 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 (SC_CONFIG_CFLAGS): Pass -non_shared + instead of -shared to ld when configured with + --disable-shared under OSF. [Tcl bug 540390] - * unix/mkLinks: added GetDash.3 into the mkLink step +2002-05-20 Daniel Steffen - * 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 + * generic/tclInt.h: added prototype for TclpFilesystemPathType(). + * mac/tclMacChan.c: use MSL provided creator type if available + instead of the default 'MPW '. -1999-12-12 Jeff Hobbs +2002-05-16 Joe English - * generic/tkText.c: fixed bug in TextSearchCmd for multibyte chars - (Darley) [Bug: 3839] + * doc/CrtObjCmd.3: + Added Tcl_GetCommandFromObj, Tcl_GetCommandFullName + (Tcl Bug #547987, #414921) - * unix/aclocal.m4: added warning when configuring with - --enable-threads that Tk may have problems +2002-05-14 Donal K. Fellows -1999-12-09 Jeff Hobbs + * unix/tclUnixChan.c (TtyOutputProc): #if/#endif-ed this function + out to stop compiler warnings. Also much general tidying of + comments in this file and removal of whitespace from blank lines. - * generic/tkImgGIF.c: updated casting +2002-05-13 Donal K. Fellows - * win/makefile.vc: removed 16bit stuff, simplified makefile. + * unix/tclUnixChan.c (SETBREAK): Solaris thinks ioctl() takes a + signed second argument, and Linux thinks ioctl() takes an unsigned + second argument. So need a longer definition of this macro to get + neither to spew warnings... -1999-12-06 Scott Redman +2002-05-13 Vince Darley - * generic/tkMain.c: need to include tclInt.h for new hook - functions that are internal-use-only. + * generic/tclEvent.c: + * generic/tclIOUtil.c: + * generic/tclInt.h: clean up all memory allocated by the + filesystem, via introduction of 'TclFinalizeFilesystem'. + Move TclFinalizeLoad into TclFinalizeFilesystem so we can + be sure it is called at just the right time. + Fix bad comment also. [Bug #555078 and 'fs' part of #543549] + * win/tclWinChan.c: fix comment referring to wrong function. + +2002-05-10 Don Porter -1999-12-06 Jeff Hobbs + * tests/load.test: + * tests/safe.test: + * tests/tcltest.test: Corrected some list-quoting issues and + other matters that cause tests to fail when the patch includes + special characters. Report from Vince Darley. [Bug 554068]. - * library/comdlg.tcl: removed tclVerifyInteger and tclSortNoCase, - they weren't used, and were not actually correct +2002-05-08 David Gravereaux - * 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] + * doc/file.n: + * tools/man2tcl.c: + * tools/man2help2.tcl: Thanks to Peter Spjuth + , again. My prior fix for + single-quote macro mis-understanding was wrong. Reverted to + reimpliment the 'macro2' proc which handles single-quote macros + and restored file.n text arrangement to avoid single-quotes on + the first line. Sorry for all the confusion. -1999-12-02 Jeff Hobbs +2002-05-08 David Gravereaux - * generic/tkInt.h: - * generic/tkWindow.c: - * generic/tkCmds.c: converted Tk_DestroyCmd, Tk_LowerCmd and - Tk_RaiseCmd to their ObjCmd equivalent. + * tools/man2tcl.c: + * tools/man2help2.tcl: Proper source of macro error mis- + understanding single-quote as the leading macro command found + and repaired. - * 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 + * doc/file.n: Reverted to prior state before I messed with + it. - * tests/imgPPM.test: fixed test 2.2 to use -format ppm (since - we know have GIF write capability) +2002-05-08 Don Porter -1999-12-01 Scott Redman + * library/tcltest/tcltest.tcl: Corrected [uplevel] quoting when + [source]-ing test script in subdirectories. + * tests/fileName.test: + * tests/load.test: + * tests/main.test: + * tests/tcltest.test: + * tests/unixInit.test: Fixes to test suite when there's a space + in the working path. Thanks to Kevin Kenny. + +2002-05-07 David Gravereaux + + -- Changes from Peter Spjuth + * tools/man2tcl.c: Increased line buffer size and a bail-out if + that should ever be over-run. + * tools/man2help.tcl: Include Courier New font in rtf header. + * tools/man2help2.tcl: Improved handling of CS/CE fields. Use + Courier New for code samples and indent better. + + * doc/file.n: + * doc/TraceCmd.3: winhelp conversion tools where understanding + a ' as the first character on a line to be an unknown macro. + Not knowing how to repair tools/man2tcl.c, I decided to rearrange + the text in the docs instead. + +2002-05-07 Vince Darley + + * generic/tclFileName.c: fix to similar segfault when using + 'glob -types nonsense -dir dirname -join * *'. [Bug 553320] + + * doc/FileSystem.3: further documentation on vfs. + * tests/cmdAH.test: + * tests/fileSystem.test: + * tests/pkgMkindex.test: Fix to testsuite bugs when running out + of directory whose name contains '{' or '['. + +2002-05-07 Miguel Sofer + + * tests/basic.test: Fix for [Bug 549607] + * tests/encoding.test: Fix for [Bug 549610] + These are testsuite bugs that caused failures when the filename + contained spaces. Report & fix by Kevin Kenny. + +2002-05-02 Vince Darley + + * generic/tclFileName.c: fix to freeing a bad object + (i.e. segfault) when using 'glob -types nonsense -dir dirname'. + * generic/tclWinFile.c: fix to [Bug 551306], also wrapped some + long lines. + * tests/fileName.test: added several tests for the above bugs. + * doc/FileSystem.3: clarified documentation on refCount + requirements of the object returned by the path type function. + * generic/tclIOUtil.c: + * win/tclWinFile.c: + * unix/tclUnixFile.c: + * mac/tclMacFile.c: moved TclpFilesystemPathType to the + platform specific directories, so we can add missing platform- + specific implementations. On Windows, 'file system' now returns + useful results like "native NTFS", "native FAT" for that system. + Unix and MacOS still only return "native". + * doc/file.n: clarified documentation. + * tests/winFile.test: test for 'file system' returning correct + values. + * tests/fileSystem.test: test for 'file system' returning correct + values. Clean up after failed previous test run. + +2002-04-26 Jeff Hobbs - * 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. + * unix/configure: + * unix/tcl.m4: change HP-11 SHLIB_LD_LIBS from "" to ${LIBS} so + that the .sl knows its dependent libs. -1999-11-29 Jeff Hobbs +2002-04-26 Donal K. Fellows - * generic/tkImgGIF.c: added GIF writing that uses miGIF RLE - [Bug: 2039, new patch] + * tests/obj.test (obj-11.[56]): Test conversion to boolean more + thoroughly. + * generic/tclObj.c (SetBooleanFromAny): Was not calling an integer + parsing function on native 64-bit platforms! [Bug 548686] - * library/entry.tcl: fixed up tkEntrySeeInsert (Nemthi) +2002-04-24 Jeff Hobbs - * generic/tkListbox.c: fixed 'get' of listbox to return a string - when only one item is requested. + * generic/tclInt.h: corrected TclRememberJoinableThread decl to + use VOID instead of void. + * generic/tclThreadJoin.c: noted that this code isn't needed on Unix. - * tests/clrpick.test: - * tests/filebox.test: minor whitespace cleanup +2002-04-23 Jeff Hobbs - * library/tk.tcl: fixed missing $w in ::tk::PlaceWindow + * doc/exec.n: + * doc/tclvars.n: doc updates [Patch #509426] (gravereaux) -1999-11-24 Jeff Hobbs +2002-04-24 Daniel Steffen - * 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 + * mac/tclMacResource.r: added check of + TCLTK_NO_LIBRARY_TEXT_RESOURCES #define to allow disabling the + inclusion of the tcl library code in the resource fork of Tcl + executables and shared libraries. -1999-11-23 Eric Melski +2002-04-23 Donal K. Fellows - * tests/listbox.test: Added a test to check that the topIndex is - update when items are removed from the listvar variable. + * doc/TraceCmd.3: New file that documents Tcl_CommandTraceInfo, + Tcl_TraceCommand and Tcl_UntraceCommand [Bug 414927] - * generic/tkListbox.c: Added a check the updates the topIndex when - items are removed from the listvar variable. +2002-04-22 Jeff Hobbs - * tests/listbox.test: Added a test to check that the vertical - scrollbar is updated when the listvar changes. + * generic/tclAlloc.c: + * generic/tclInt.h: + * generic/tclThreadAlloc.c (new): + * unix/Makefile.in: + * unix/tclUnixThrd.c: + * win/Makefile.in: + * win/tclWinInt.h: + * win/tclWinThrd.c: added new threaded allocator contributed by + AOL that significantly reduces lock contention when multiple + threads are in use. Only Windows and Unix implementations are + ready, and the Windows one may need work. It is only used by + default on Unix for now, and requires that USE_THREAD_ALLOC be + defined (--enable-threads on Unix will define this). - * generic/tkListbox.c (ListboxListVarProc): added a check that - sets the UPDATE_V_SCROLLBAR flag if the length of the listvar has - changed. + * generic/tclIOUtil.c (Tcl_FSRegister, Tcl_FSUnregister): + corrected calling of Tcl_ConditionWait to ensure that there would + be a condition to wait upon. -1999-11-23 Jeff Hobbs + * generic/tclCmdAH.c (Tcl_FileObjCmd): added cast in FILE_SIZE. - * generic/tk.h: - * generic/tkConfig.c: added support for TK_OPTION_DONT_SET_DEFAULT - as equiv for TK_CONFIG_DONT_SET_DEFAULT - * generic/tkListbox.c: added TK_OPTION_DONT_SET_DEFAULT to the - item specs + * win/tclWinFCmd.c (DoDeleteFile): check return of setattr API + calls in file deletion for correct Win32 API handling. -1999-11-19 Jeff Hobbs + * win/Makefile.in: correct dependencies for shell, gdb, runtest + targets. - * generic/tkColor.c: - * generic/tkColor.h: fixed Tk_NameOfColor to work correctly, - with minor change to TkColor struct. + * doc/clock.n: + * compat/strftime.c (_fmt): change strftime to correctly handle + localized %c, %x and %X on Windows. Added some notes about how + the other values could be further localized. - * generic/tkConsole.c: added static declaration to - ConsoleDeleteProc function (proto already had it) +2002-04-19 Don Porter - * 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] + * generic/tclMain.c (Tcl_Main): Free the memory allocated for the + startup script path. [Bug 543549] -1999-11-19 Eric Melski + * library/msgcat/msgcat.tcl: [mcmax] wasn't using the caller's + namespace when determining the max translated length. Also + made revisions for better use of namespace variables and more + efficient [uplevel]s. - * tests/listbox.test: Added tests for itemcget and itemconfigure. + * doc/msgcat.n: + * library/msgcat/msgcat.tcl: + * library/msgcat/pkgIndex.tcl: Added [mcload] to the export list + of msgcat; bumped to 1.2.3. [Bug 544727] - * doc/listbox.n: Added documentation for -listvar option and for - itemconfigure and itemcget commands. +2002-04-20 Daniel Steffen - * generic/tkListbox.c: Added support for itemconfigure/itemcget - listbox subcommands (addresses rfe #936) + * generic/tclInt.decls: + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: + * mac/tclMacFCmd.c: + * mac/tclMacFile.c: + * mac/tclMacUtil.c: Modified TclpObjNormalizePath to be alias + file aware, and replaced various calls to FSpLocationFrom*Path + by calls to new alias file aware versions FSpLLocationFrom*Path. + The alias file aware routines don't resolve the last component of + a path if it is an alias. This allows [file copy/delete] etc. to + act correctly on alias files. (c.f. discussion in Bug #511666) -1999-11-17 Eric Melski +2002-04-19 Donal K. Fellows - * tests/listbox.test: Updated tests for new error messages. + * tests/lindex.test (lindex-3.7): + * generic/tclUtil.c (TclGetIntForIndex): Stopped indexes from + hitting wide ints. [Bug #526717] - * generic/tkListbox.c: Improved error messages for bad -listvar's. +2002-04-18 Miguel Sofer - * tests/listbox.test: Added tests for bad -listvar's. + * generic/tclNamesp.c: + * tests/info.test: [Bug 545325] info level didn't report + namespace eval, bug report by Richard Suchenwirth. - * generic/tkListbox.c: Added handlers for bad -listvar's (ie, bad - lists) +2002-04-18 Don Porter - * tests/listbox.test: Added tests for ListboxUpdateHScrollbar. + * doc/subst.n: Clarified documentation on handling unusual return + codes during substitution, and on variable substitutions implied + by command substitution, and vice versa. [Bug 536838] - * generic/tkListbox.c: Changed some old static buffers to base - size on TCL_DOUBLLE_SPACE instead of (completely) hardcoding the size. +2002-04-18 Donal K. Fellows - * tests/listbox.test: New tests for -listvar functionality, and an - odd extra case that wasn't covered before. + * generic/tclCmdIL.c (InfoBodyCmd): + * tests/info.test (info-2.6): Proc bodies without string reps + would report as empty [Bug #545644] - * generic/tkListbox.c: Tests exposed some bugs, now fixed. + * generic/tclCmdMZ.c (Tcl_SubstObj): More clarification for + comment on behaviour when substitutions are not well-formed, + prompted by [Bug #536831]; alas, removing the ill-defined + behaviour is a lot of work. -1999-11-16 Eric Melski +2002-04-18 Miguel Sofer - * tests/listbox.test: Fixed tests to comply with new objectified - error messages. No -listvar specific tests yet. + * generic/tclExecute.c: + * tests/expr-old.test: fix for [Bug #542588] (Phil Ehrens), where + "too large integers" were reported as "floating-point value" in + [expr] error messages. - * win/tkWinDefault.h: - * unix/tkUnixDefault.h: - * mac/tkMacDefault.h: Added default value for -listvar option. +2002-04-17 Jeff Hobbs - * generic/tkWindow.c: Changed "listbox" mapping from old-school to - new-school objectified command. + * generic/tclEncoding.c (EscapeFromUtfProc): + * generic/tclIO.c (WriteChars, Tcl_Close): corrected the handling + of outputting end escapes for escape-based encodings. + [Bug #526524] (yamamoto) - * generic/tkListbox.c: Objectified listbox; added support for - -listvar option. Converted internal structure to use a Tcl list - object to store the data. +2002-04-17 Don Porter - * generic/tkInt.h: Changed reference to Tk_ListboxCmd to - Tk_ListboxObjCmd. + * doc/tcltest.n: Removed [saveState] and [restoreState] from + tcltest 2 documentation, effectively deprecating them. [Bug 495660] + * library/tcltest/tcltest.tcl: Made separate export for commands + kept only for tcltest 1 compatibility. -1999-11-09 Jeff Hobbs + * tests/iogt.test: Revised to run tests in a namespace, rather than + use the useless and buggy [saveState] and [restoreState] commands + of tcltest. Updated to use tcltest 2 as well. [Patch 544911] - * generic/tkGrid.c: changed Tcl_Alloc to ckalloc +2002-04-16 Don Porter - * generic/tkEntry.c: fixed C expr error in destroy of entry - that could lead to 'malformed bucket chain' error + * tests/io.test: Revised to run tests in a namespace, rather than + use the useless and buggy [saveState] and [restoreState] commands + of tcltest. Updated to use tcltest 2 as well. [Patch 544546] - * win/winMain.c: corrected winMain to not do a DebugBreak when - returning an error message from the top level +2002-04-15 Miguel Sofer -1999-10-30 Jeff Hobbs + * generic/tclProc.c: + * tests/proc-old.test: Improved stack trace for TCL_BREAK and + TCL_CONTINUE returns from procs. Patch by Don Porter + [Bug 536955]. + + * generic/tclExecute.c: + * tests/compile.test: made bytecodes check for a catch before + returning; the compiled [return] is otherwise non-catchable. + [Bug 542142] reported by Andreas Kupries. - * win/tkWinKey.c: fixed XKeysymToKeycode to handle mapping of - symbolic keysyms (Left, Home, ...) with event generate +2002-04-15 Don Porter - * 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). + * tests/socket.test: Increased timeout values so that tests have + time to successfully complete even on slow/busy machines. [Bug 523470] -1999-10-28 Jeff Hobbs + * doc/tcltest.n: + * library/tcltest/tcltest.tcl: + * tests/tcltest.test: Revised [tcltest::test] to return errors + when called with invalid syntax and to accept exactly two arguments + as documented. Improved error messages. [Bug 497446, Patch 513983] + ***POTENTIAL INCOMPATIBILITY***: Incompatible with previous + tcltest 2.* releases, found only in alpha releases of Tcl 8.4. - * 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) +2002-04-11 Jeff Hobbs - * makefile.vc: changed 'c:/program files' to c:/progra~1 + * generic/tclNotify.c (TclFinalizeNotifier): remove remaining + unserviced events on finalization. -1999-10-19 Jeff Hobbs + * 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: + http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp - * library/scrlbar.tcl: changed tkScrollButtonUp to check for - existence of tkPriv(relief) in order to avoid spurious release - events + * tests/ioCmd.test: fixed iocmd-8.15 to have mac and unixPc variants. - * unix/Makefile.in: added ChangeLog to dist archive + * generic/tclParse.c (Tcl_ParseVar): conditionally incr obj + refcount to prevent possible mem leak. -1999-09-24 Jeff Hobbs +2002-04-08 Daniel Steffen - * */README: - * win/makefile.vc: - * */configure.in: - * generic/tk.h: - * library/tk.tcl: up'd to 8.3a1 - - * unix/Makefile.in: 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 - toplevels - -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 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 + * generic/tcl.h: no on mac. + * mac/tclMacFile.c: minor fixes to Vince's changes from 03-24. + * mac/tclMacOSA.c: + * mac/tclMacResource.c: added missing Tcl_UtfToExternalDString + conversions of resource file names. + * mac/tclMacSock.c (TcpGetOptionProc): fixed bug introduced + by Andreas on 02-25; changed strcmp's to strncmp's so that + option comparison behaves like on other platforms. + * mac/tcltkMacBuildSupport.sea.hqx (CW Pro6 changes): added + support to allow Tk to hookup C library stderr/stdout to TkConsole. + * tests/basic.test: + * tests/cmdAH.test: + * tests/encoding.test: + * tests/fileSystem.test: + * tests/ioCmd.test: fixed tests failing on mac: check for + existence of [exec], changed some result strings. + +2002-04-06 Jeff Hobbs + + * unix/tclUnixFCmd.c (Realpath): added a little extra code to + initialize a realpath arg when compiling in PURIFY mode in order + to prevent spurious purify warnings. We should really create our + own realpath implementation, but this will at least quiet purify + for now. + +2002-04-05 Don Porter + + * generic/tclCmdMZ.c (Tcl_SubstObj): + * tests/subst.test: Corrected [subst] so that return codes + TCL_BREAK and TCL_CONTINUE returned by variable substitution + have the same effect as when those codes are returned by command + substitution. [Bug 536879] + +2002-04-03 Jeff Hobbs + + * library/tcltest/tcltest.tcl: added getMatchingFiles back (alias + to GetMatchingFiles), which was a public function in tcltest 1.0. + +2002-04-01 Vince Darley + + * generic/tclEnv.c: + * generic/tclIOUtil.c: invalidate filesystem cache when the + user changes env(HOME). Fixes [Bug #535621]. Also cleaned up + some of the documentation. + * tests/fileSystem.test: added test for bug just fixed. + +2002-04-01 Kevin Kenny + + * win/tclWinTime.c (Tcl_GetTime): made the checks of clock + frequency more permissive to cope with the fact that Win98SE + is observed to return 1.19318 in place of 1.193182 for the + performance counter frequency. + +2002-03-29 Jeff Hobbs + + * generic/tclCmdMZ.c (Tcl_TraceObjCmd, TraceVarProc) + (TraceCommandProc, TclTraceCommandObjCmd): corrected + potential double-free of traces on variables by flagging in + Trace*Proc that it will free the var in case the eval wants to + delete the var trace as well. [Bug #536937] + Also converted Tcl_UntraceVar -> Tcl_UntraceVar2 and Tcl_Eval to + Tcl_EvalEx in Trace*Proc for slight efficiency improvement. + +2002-03-29 Don Porter + + * doc/AllowExc.3: + * generic/tclBasic.c (Tcl_EvalObjv,Tcl_EvalEx,Tcl_EvalObjEx): + * generic/tclCompile.h (TclCompEvalObj): + * generic/tclExecute.c (TclCompEvalObj,TclExecuteByteCode): + * tests/basic.test: Corrected problems with Tcl_AllowExceptions + having influence over the wrong scope of Tcl_*Eval* calls. Patch + from Miguel Sofer. Report from Jean-Claude Wippler. [Bug 219181] + +2002-03-28 Don Porter + + * generic/tclVar.c: Refactored CallTraces to collect repeated + handling of its returned value into CallTraces itself. - * xlib/X11/Xlib.h: Remove XFillRectangle since it is now in the - stub tables. +2002-03-28 David Gravereaux -1999-07-30 Jeff Hobbs + * tools/feather.bmp: + * tools/man2help.tcl: + * tools/man2help2.tcl: + * win/makefile.vc: More winhelp target fixups. Added a feather + bitmap to the non-scrollable area and changed the color to be + yellow from a plain white. The colors can be whatever we want + them to be, but thought I would start with something bold. + [Bug 527941] + + * doc/SetVar.3: + * doc/TraceVar.3: + * doc/UpVar.3: .AP macro syntax repair. + +2002-03-27 David Gravereaux + + * tools/man2help.tcl: + * win/makefile.vc: winhelp target now copies all needed files + from tools/ to a workarea under $(OUT_DIR) and builds it from + there. No build cruft is left in tools/ anymore. All paths + used in man2help.tcl are now relative to where the script is. + [Bug 527941] + +2002-03-27 David Gravereaux + + * win/.cvsignore: + * win/buildall.vc.bat: + * win/coffbase.txt: + * win/makefile.vc: + * win/nmakehlp.c (new): + * win/rules.vc: First draft fix for [Bug 527941]. More changes + need to done to the makehelp target to get to stop leaving build + files in the tools/ directory. This does not address the syntax + errors in the man files. Having the contents of tcl.hpj(.in) + inside makefile.vc allows for version numbers to be replaced with + macros. + + The new nmakehlp.c is built by rules.vc in preprocessing and removes + the need to use tricky shell syntax that wasn't compatible on Win9x + systems. Clean targets made Win9x complient. This is a first draft + repair for [Bug 533862]. + +2002-03-28 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalEx): passing the correct commandSize + to TclEvalObjvInternal. [Bug 219362], fix by David Knoll. + +2002-03-28 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalEx): + * tests/basic.test: avoid exceptional returns at level 0 + [Bug 219181] + +2002-03-27 Don Porter + + * doc/tcltest.n ([mainThread]): + * library/tcltest/tcltest.tcl: + * tests/tcltest.test: Major code cleanup to deal with whitespace, + coding conventions, and namespace issues, with several minor bugs + fixed in the process. + + * tests/main.test: Added missing [after cancel]s. + +2002-03-25 Don Porter + + * tests/main.test: Removed workarounds for Bug 495977. + + * library/tcltest/tcltest.tcl: Keep the value of $::auto_path + unchanged, so that the tcltest package can test code that depends + on auto-loading. If a testing application needs $::auto_path pruned, + it should do that itself. [Bug 495726] + Improve the processing of the -constraints option to [test] so that + constraint lists can have arbitrary whitespace, and non-lists don't + blow things up. [Bug 495977] + Corrected faulty variable initialization. [Bug 534845] + +2002-03-25 Miguel Sofer + + * doc/CrtTrace.3: small doc correction + * generic/tclBasic.c (Tcl_DeleteTrace): Allow NULL callback on + trace deletions [Bug 534728] (Hemang Lavana). + +2002-03-24 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalObjv): replaced obscure, incorrect + code as described in [Bug 533907] (Don Porter). + +2002-03-24 Don Porter + + * library/tcltest/tcltest.tcl: Use [interpreter] to set/query the + executable currently running the tcltest package. [Bug 454050] + + * library/tcltest/tcltest.tcl: Allow non-proc commands to be used + as the customization hooks. [Bug 495662] + +2002-03-24 Vince Darley + + * generic/tclFilename.c: + * generic/tclFCmd.c: + * generic/tclTest.c: + * generic/tcl.h: + * generic/tclIOUtil.c: + * win/tclWinFile.c: + * win/tclWinFCmd.c: + * win/tclWinPipe.c: + * unix/tclUnixFile.c: + * unix/tclUnixFCmd.c: + * mac/tclMacFile.c: + * doc/FileSystem.3: + * doc/file.n: + * tests/cmdAH.test: + * tests/fileName.test: + * tests/fileSystem.test: (new file) + * tests/winFCmd.test: fix [Bug 511666] and [Bug 511658], + and improved documentation of some aspects of the filesystem, + particularly 'Tcl_FSMatchInDirectory' which now might match + a single file/directory only, and 'file normalize' which + wasn't very clear before. Removed inconsistency betweens + docs and the Tcl_Filesystem structure. Also fixed + [Bug 523217] and corrected file normalization on Unix so that + it expands symbolic links. Added some new tests of the + filesystem code (in the new file 'fileSystem.test'), and + some extra tests for correct handling of symbolic links. + Fix to [Bug 530960] which shows up on Win98. Made comparison + with ".com" case insensitive in tclWinPipe.c + + ***POTENTIAL INCOMPATIBILITY***: But only between alpha + releases (users of the new Tcl_Filesystem lookup table in Tcl + 8.4a4 need to handle the new way in which Tcl may call + Tcl_FSMatchInDirectory, and 'file normalize' on unix now + behaves correctly). Only known impact is with the 'tclvfs' + extension. - * generic/tkInt.decls: Added stub entry for XFillRectangle [Bug: 2446] +2002-03-22 Miguel Sofer -1999-07-30 + * tests/basic.test (basic-46.1): adding test for [Bug 533758], + fixed earlier today. + +2002-03-22 Jeff Hobbs - * win/makefile.vc: 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. + * win/tclWinInt.h: moved undef of TCL_STORAGE_CLASS. [Bug #478579] -1999-07-29 +2002-03-22 Miguel Sofer - * 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] + * generic/tclBasic.c (Tcl_EvalObjEx): + * generic/tclExecute.c (TclCompEvalObj): fixed the errorInfo for + return codes other than (TCL_OK, TCL_ERROR) to runLevel 0 + [Bug 533758]. Removed the static RecordTracebackInfo(), as its + functionality is easily replicated by Tcl_LogCommandInfo. Bug + and redundancy noted by Don Porter. - * win/Makefile.in: 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. +2002-03-21 Donal K. Fellows -1999-07-22 + * doc/expr.n: Improved documentation for ceil and floor [Bug 530535] - * Changed version to 8.2b2 +2002-03-20 Don Porter - * win/tkWinPort.h: Block out include of sys/stat.h in order to - build extensions with MetroWerks compiler for Win32. [Bug: 2385] - - * unix/Makefile.in: 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 + * doc/SetVar.3: + * doc/TraceVar.3: + * doc/UpVar.3: + * generic/tcl.h (Tcl_VarTraceProc): + * generic/tcl.decls (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, + Tcl_UnsetVar2, Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, + Tcl_GetVar2Ex, TclSetVar2Ex): + * generic/tclCmdMZ.c (TraceVarProc): + * generic/tclEnv.c (EnvTraceProc): + * generic/tclEvent.c (VwaitVarProc): + * generic/tclInt.decls (TclLookupVar,TclPrecTraceProc): + * generic/tclLink.c (LinkTraceProc): + * generic/tclUtil.c (TclPrecTraceProc): + * generic/tclVar.c (CallTraces, MakeUpvar, VarErrMsg, TclLookupVar, + Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, Tcl_UnsetVar2, + Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, Tcl_GetVar2Ex, + TclSetVar2Ex): Updated interfaces of generic/tclVar.c according + to TIP 27. In particular, the "part2" arguments were CONSTified. + [Patch 532642] + * generic/tclDecls.h: + * generic/tclIntDecls.h: make genstubs + +2002-03-15 Donal K. Fellows + + * tests/compile.test (compile-12.3): Test to detect bug 530320. + * generic/tclCompile.c (TclCompileTokens): Fixed buffer overrun + reported in bug 530320. + +2002-03-14 Mo DeJong - * unix/Makefile.in: Add Windows configure script to distribution. + * win/configure: Regen. + * win/configure.in: Add configure time test for SEH + support in the compiler. + * win/tclWin32Dll.c (ESP, EBP, TclpCheckStackSpace, + _except_checkstackspace_handler): + * win/tclWinChan.c (ESP, EBP, Tcl_MakeFileChannel, + _except_makefilechannel_handler): + * win/tclWinFCmd.c (ESP, EBP, DoRenameFile, + _except_dorenamefile_handler, + DoCopyFile, _except_docopyfile_handler): + Implement SEH support under gcc using inline asm. + Tcl and Tk should now compile with Mingw 1.1. [Patch 525746] -1999-07-16 +2002-03-14 Mo DeJong - * unix/Makefile.in: - * win/Makefile.in: Copy the prolog.ps from the generic directory - for install-libraries. + * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle + an SEH exception with EXCEPTION_EXECUTE_HANDLER instead + of restarting the faulting instruction with + EXCEPTION_CONTINUE_EXECUTION. Bug 466102 provides an + example of how restarting could send Tcl into an + infinite loop. [Patch 525746] - * unix/aclocal.m4: Check for Alpha/Linux to set the IEEE flag to - the compiler to be -mieee. Patch from Don Porter. +2002-03-11 Mo DeJong -1999-07-08 + * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, DoDeleteFile, + DoRemoveJustDirectory): Make sure we don't pass NULL or "" + as a path name to Win32 API functions since this was + crashing under Windows 98. - * tests/unixSelect.test: Fixed broken test. +2002-03-11 Don Porter - * win/makefile.vc: Added special case target to ensure that - tkStubLib.obj is built with -DSTATIC_BUILD. + * library/tcltest/tcltest.tcl: + * library/tcltest/pkgIndex.tcl: Bumped tcltest package to 2.0.2. - * 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. +2002-03-11 Mo DeJong -1999-07-08 + * library/tcltest/tcltest.tcl (getMatchingFiles): Pass + a proper list to foreach to avoid munging a Windows + patch like D:\Foo\Bar into D:FooBar before the glob. - * unix/configure.in: Fix Tk stub lib file names and flags. +2002-03-11 Mo DeJong -1999-06-30 + * generic/tclEncoding.c: Fix typo in comment. + * generic/tclIO.c (DoReadChars, ReadBytes, ReadChars): + Use NULL value instead of pointer set to NULL to make + things more clear. Reorder arguments so that they + match the function signatures. Cleanup little typos + and add more descriptive comment. - * generic/tkGrid.c: removed deprecated functions (applied patch - from Jan Nijtmans). [Bug: 2080] +2002-03-08 Mo DeJong - * 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/README: Update to indicate that Mingw 1.1 is + required to build Tcl. Add section describing new + msys based build process. Update Cygwin build + instructions so users know where to find Mingw 1.1. - * 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 +2002-03-08 Jeff Hobbs - * unix/configure.in: - * unix/Makefile.in: - * unix/aclocal.m4: Numerous build changes to make Tk conform to - the proposed TEA spec + * win/tclWinFCmd.c (DoCopyFile): correctly set retval to TCL_OK. - * 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. +2002-03-07 Mo DeJong -1999-06-03 + * win/tclWin32Dll.c (TclpCheckStackSpace): + * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace + hard coded constants with Win32 symbolic names. + Move control flow statements out of __try blocks + since the documentation indicates it is frowned upon. - * unix/tkUnixSelect.c: - * tests/unixSelect.test: - * generic/tkSelect.c: Fixed selection code to handle Unicode data - in COMPOUND_TEXT and STRING selections. [Bug: 1791] +2002-03-07 Don Porter -1999-06-02 + * doc/interp.n: + * generic/tclInterp.c(Tcl_InterpObjCmd,SlaveObjCmd,SlaveRecursionLimit): + * generic/tclTest.c: + * tests/interp.test: Added the [interp recursionlimit] command to + set/query the recursion limit of an interpreter. Proposal and + implementation from Stephen Trier. [TIP 87, Patch 522849] - * generic/tkIntXlibDecls.h: - * xlib/X11/Xlib.h: Added Mac specific defines to help with - compilation. +2002-03-06 Donal K. Fellows - * generic/tkFont.c: lint + * generic/tcl.h, tools/tcl.wse.in, unix/configure.in, + * unix/tcl.spec, win/README.binary, win/configure.in, README: + 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. -1999-06-01 +2002-03-06 Miguel Sofer - * 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. + * generic/tclInt.h: for unshared objects, TclDecrRefCount now + frees the internal rep before the string rep - just like the + non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. - * unix/tkUnixFont.c: Eliminated redundant case folding code. +2002-03-06 Donal K. Fellows - * generic/tkFont.c: Eliminated use of isupper/tolower in favor of - Unicode variants. + * doc/lsearch.n: Documentation of new features, plus examples. + * tests/lsearch.test: Tests of new features. + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): TIP#80 support. See + http://purl.org/tcl/tip/80 for details. -1999-05-24 +2002-03-05 Jeff Hobbs - * 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. + *** 8.4a4 TAGGED FOR RELEASE *** -1999-05-21 + * unix/tclUnixChan.c: initial remedy for [Bug #525783] flush + problem introduced by TIP #35. This may not satisfy true serial + channels, but it restores the correct flushing of std* channels on + exit. - * win/tkWinClipboard.c: Fixed clipboard code to handle lack of - CF_LOCALE information (e.g. from command.com). + * unix/README: added --enable-langinfo doc. -1999-05-20 + * unix/tcl.spec: + * tools/tcl.wse.in: fixed URL refs to use www.tcl.tk or SF. - * library/console.tcl: Changed copyright string to read 1999 - Scriptics Corp. in wish console about box. - -1999-05-19 +2002-03-04 Jeff Hobbs - * 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. + * README: + * mac/README: + * unix/Makefile.in: + * unix/README: + * win/README: + * win/README.binary: updated to use www.tcl.tk URL. -1999-05-18 + * unix/Makefile.in: added older ChangeLogs to dist target. - * tests/winClipboard.test: - * win/tkWinClipboard.c: Fixed clipboard code so it handles Unicode - data properly on Windows NT and 95. [Bug: 1791] + * tests/io.test: + * tests/encoding.test: corrected iso2022 encoding results. + added encoding-24.* + * generic/tclEncoding.c (EscapeFromUtfProc): corrected output of + escape codes as per RFC 1468. [Patch #474358] (taguchi) + (TclFinalizeEncodingSubsystem): corrected potential double-free + when encodings were finalized on exit. [Bug #219314, #524674] -1999-05-07 +2002-03-01 Jeff Hobbs - * library/menu.tcl: Fixed bug where tk_popup fails when called too - quickly. [Bug: 2009] + * library/encoding/iso2022-jp.enc: + * library/encoding/iso2022.enc: + * tools/encoding/iso2022-jp.esc: + * tools/encoding/iso2022.esc: gave $B precedence over $@, + based on comments (point 1) in [Bug #219283] (rfc 1468) -1999-04-30 + * tests/encoding.test: added encoding-23.* tests + * generic/tclIO.c (FilterInputBytes): reset the TCL_ENCODING_START + flags in the ChannelState when using 'gets'. [Bug #523988] + Also reduced the value of ENCODING_LINESIZE from 30 to 20 as this + seems to improve the performance of 'gets' according to tclbench. - * Changed version number to 8.1.1. +2002-02-28 Jeff Hobbs -1999-04-30 + * generic/tclCmdMZ.c (TraceCommandProc): ensure that TraceCommandInfo + structure was also deleted when a command was deleted to prevent a + mem leak. - * Merged changes from 8.1.0 branch: + * generic/tclBasic.c (Tcl_CreateObjTrace): set tracePtr->flags + correctly. - * 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/tclTimer.c (TimerExitProc): remove remaining events in + tls on thread exit. - * generic/tkInt.decls: Added TkClipBox, XDrawSegments, and - XForceScreenSaver to stubs. +2002-02-28 Miguel Sofer - * generic/tkStubLib.c: Reordered declarations to avoid - circularities and forward references. + * generic/tclNamesp.c: allow cached fully-qualified namespace + names to be usable from different namespaces within the same + interpreter without forcing a new lookup [Patch 458872]. - * generic/tkStubInit.c: Added includes for Mac. +2002-02-28 Miguel Sofer - * generic/tkMenubutton.c: lint + * generic/tclExecute.c: Replaced a few direct stack accesses + with the POP_OBJECT() macro [Bug 507181] (Don Porter). - * generic/tkEntry.c: Fixed bad option table entry. +2002-02-27 Don Porter - * 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 + * doc/GetIndex.3: + * generic/tcl.decls (Tcl_GetIndexFromObjStruct): + * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Revised the + prototype of the Tcl_GetIndexFromObjStruct to take its struct + table as a (CONST VOID *) argument, better describing what it is, + maintaining source compatibility, and adding CONST correctness + according to TIP 27. Thanks to Joe English for an elegant + solution. [Bug 520304] - * generic/tkInt.decls: Added TkClipBox, XDrawSegments, and - XForceScreenSaver to stubs. + * generic/tclDecls.h: make genstubs - * generic/tkStubLib.c: Reordered declarations to avoid - circularities and forward references. + * generic/tclMain.c (Tcl_Main,StdinProc): Corrected some reference + count management errors on the interactive command Tcl_Obj found by + Purify. Thanks to Jeff Hobbs for the report and assistance. - * generic/tkStubInit.c: Added includes for Mac. +2002-02-27 Jeff Hobbs - * generic/tkMenubutton.c: lint + * generic/tclBasic.c (Tcl_EvalTokensStandard): corrected mem leak + in error case. - * generic/tkEntry.c: Fixed bad option table entry. + * generic/tclTest.c (TestStatProc[123]): correct harmless UMRs. -1999-04-22 + * generic/tclLink.c (Tcl_LinkVar): correct mem leak in error case. - * generic/tkImgBmap.c: - * generic/tkImgPPM.c: - * generic/tkImgPhoto.c: Set the -translation and -encoding options - to binary for image files. (reported by Marco Gazzetta) +2002-02-27 Andreas Kupries -1999-04-20 + * tests/socket.test (2.7): Accepted and applied patch for Tcl SF + bug #523470 provided by Don Porter + to avoid timing problems in that test. - * 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] + * unix/tclUnixChan.c (TclpOpenFileChannel): Added code to regonize + "/dev/tty" (by name) and to not handle it as tty / serial + line. This is the controlling terminal and is special. Setting + it into raw mode as is done for other tty's is a bad idea. This + is a hackish fix for expect SGF Bug #520624. The fix has + limitation: Tcl_MakeFileChannel handles tty's specially too, but + is unable to recognize /dev/tty as it only gets a file + descriptor, and no name for it. -1999-04-15 +2002-02-26 Jeff Hobbs - * Merged 8.1 branch into the main trunk + * generic/tclCmdAH.c (StoreStatData): corrected mem leak. -1999-04-09 + * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): prevent obj leak in + remedial regsub case. - * generic/tkWindow.c: Fixed deadlock situation when the Initialize() - function returns without releasing the mutex. Found while testing - Bug 1700, during safe.test (tk). + * generic/tclFileName.c (Tcl_TranslateFileName): decr refcount for + error case to prevent mem leak. -1999-04-06 + * generic/tclVar.c (Tcl_ArrayObjCmd): removed extra obj allocation. - * generic/tkMain.c (Tk_MainEx): Changed to reset result before - calling Tcl_EvalFile. The ensures that error messages will be - generated cleanly. + * unix/tclUnixSock.c (Tcl_GetHostName): added an extra + gethostbyname check to guard against failure with truncated + names returned by uname. - * tests/winfo.test: Enabled tests that previously failed. + * unix/configure: + * unix/tcl.m4 (SC_SERIAL_PORT): added sys/modem.h check and defined + _XOPEN_SOURCE_EXTENDED for HP-11 to get updated header decls. -1999-04-05 + * unix/tclUnixChan.c: added Unix implementation of TIP #35, serial + port support. [Patch #438509] (schroedter) - * 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] +2002-02-26 Miguel Sofer - * win/tkWinWm.c (Tk_WmCmd): Fixed bad code in tracing - suboption. [Bug: 1519] + * generic/tclCmpCmds.c: (bugfix to the bugfix, hopefully the last) + Bugfix to the new [for] compiling code: was setting a + exceptArray parameter using another param which wasn't yet + initialised, thus filling it with noise. - * library/tkfbox.tcl: Change to restore button text after an - action to avoid the sticky "Open" button in a save dialog. - [Bug: 1640] +2002-02-25 Andreas Kupries - * 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 - tables. - -1999-04-05 + * mac/tclMacSock.c (TcpGetOptionProc): Changed to recognize the + option "-error". Essentially ignores the option, always + returning an empty string. - * unix/configure.in: - * generic/tkCanvPs.c: Added configure test for pw_gecos field in - pwd to support OS/390. [Bug: 1724] +2002-02-25 Jeff Hobbs -1999-04-02 + * doc/Alloc.3: + * doc/LinkVar.3: + * doc/ObjectType.3: + * doc/PkgRequire.3: + * doc/Preserve.3: + * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc, + ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and + to accurately describe when and how they are used. [Bug #497459] (dgp) - * 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] + * generic/tclHash.c (AllocArrayEntry, AllocStringEntry): + Before invoking ckalloc when creating a Tcl_HashEntry, + check that the amount of memory being allocated is + at least as large as sizeof(Tcl_HashEntry). The previous + code was allocating memory regions that were one + or two bytes short. [Bug #521950] (dejong) -1999-04-01 +2002-02-25 Miguel Sofer - * generic/tk.decls: - * generic/tk.h: - * generic/tkStubInit.c: - * generic/tkWindow.c: - * unix/Makefile.in: - * win/makefile.vc: 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 - completed. - -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] + * generic/tclBasic.c (Tcl_EvalEx): avoiding a buffer overrun + reported by Joe English, and restoring tcl7.6 behaviour for + [subst]: badly terminated nested scripts will raise an error + and not be evaluated. [Bug #495207] - * doc/GetBitmap.3: - * generic/tkBitmap.c (BitmapInit): Eliminated use of Tk_Uid's in - bitmaps. Added a few CONST declarations. +2002-02-25 Don Porter -1999-03-29 + * unix/tclUnixPort.h: corrected strtoll prototype mismatch on Tru64. + * compat/strtod.c (strtod): simplified #includes + * compat/strtol.c (strtol): gather result in a long before returning + as a long: necessary on platforms where sizeof(int) != sizeof(long). - * unix/configure.in: - * unix/Makefile.in: - * win/makefile.vc: - * 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. - +2002-02-25 Daniel Steffen -1999-03-26 + * unix/tclLoadDyld.c: updated to use Mac OS X 10.1 dyld APIs that + have more libdl-like semantics. (bug #514392) - * 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. +2002-02-25 Miguel Sofer -1999-03-26 + * generic/tclCompCmds: fixing a bug in patch dated 2002-02-22, in + the code for [for] and [while]. Under certain conditions, for long + bodies, the exception range parameters were badly computed. Tests + forthcoming: I still can't reproduce the conditions in the + testsuite (!), although the bug (with assorted segfault or panic!) + can be triggered from the console or with the new parse.bench in + tclbench. - * unix/configure.in: - --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] +2002-02-25 Donal K. Fellows -1999-03-26 + * compat/strtoul.c, compat/strtol.c, compat/strtod.c: Added UCHAR, + CONST and #includes to clean up GCC output. - * unix/configure.in: 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. +2002-02-23 Don Porter -1999-03-19 + * compat/strtoull.c (strtoull): + * compat/strtoll.c (strtoll): + * compat/strtoul.c (strtoul): Fixed failure to handle leading + sign symbols '+' and '-' and '0X' and raise overflow errors. + [Bug 440916] Also corrects prototype and errno problems. - * 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. +2002-02-23 Mo DeJong -1999-03-17 + * configure: Regen. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Link with -n32 + instead of -32 when building on IRIX64-6.* system. + [Tcl bug 521707] - * win/makefile.vc: - * generic/tk.h: Changed to use TCL_BETA_RELEASE macro, and fixed - so this works in rc files. - - * win/makefile.vc: - * win/makefile.bc: - * win/README: - * unix/configure.in: - * generic/tk.h: - * README: Updated version to 8.1b3. +2002-02-22 Don Porter -1999-03-14 + * generic/tclInt.h: + * generic/tclObj.c: renamed global variable emptyString -> + tclEmptyString because it is no longer static. + * generic/tclPkg.c: Fix for panic when library is loaded on a + platform without backlinking without proper use of stubs. [Bug 476537] - * unix/configure.in: Added missing stub related definitions. +2002-02-22 Jeff Hobbs - * unix/Makefile.in: Install tkDecls.h in addition to tk.h. + * tests/regexpComp.test: updated regexp-11.[1-4] to match changes + in regexp.test for new regsub syntax - * generic/tkStubLib.c: Added flags to ensure we are using Tcl - stub macros. + * unix/configure: + * unix/tcl.m4: added --enable-64bit support for AIX-4 (using -q64 + flag) when using IBM's xlc compiler. -1999-03-11 + * tests/safe.test: updated safe-8.5 and safe-8.7 + * library/safe.tcl (CheckFileName): removed the limit on + sourceable file names (was only *.tcl or tclIndex files with no + more than one dot and 14 chars). There is enough internal + protection in a safe interpreter already. Fixes [Tk Bug #521560]. - * generic/tkInt.decls: Added reserved slot for XSetDashes for use - by the dash patch. +2002-02-22 Miguel Sofer -1999-03-10 + * generic/tclCompCmds: [FR 465811]. Optimising [if], [for] and + [while] for constant conditions; in addition, [for] and [while] + are now compiled with the "loop rotation" optimisation (thanks to + Kevin Kenny). - * 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/makefile.vc: - * 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/Makefile.in: - * unix/configure.in: - * unix/tkConfig.sh.in: - * 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 +2002-02-22 Donal K. Fellows - * win/tkWinWm.c: Toplevel class no longer shared between - threads. - - * win/tkWinX.c: Multiple threads no longer share the same - TkDisplay structure. Required because TkDisplay stores much - thread-specific data for a given thread. + --- TIP#76 CHANGES --- + * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): Final-argument-less + [regsub] returns the modified string. + * doc/regsub.n: Updated docs. + * tests/regexp.test: Updated and added tests. - * 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/makefile.vc: Added THREADDEFINES for building with - threads enabled. - - * generic/tkMenu.c: - * win/tkWinMenu.c: - * unix/tkUnixMenu.c: Added TkpMenuThreadInit for initializing - thread-specific Menu state. + * compat/strtoll.c (strtoll): + * compat/strtoull.c (strtoull): + * unix/tclUnixPort.h: + * win/tclWinPort.h: Const-ing 64-bit compatability declarations. + Note that the return pointer is non-const because it is entirely + legal for the functions to be called from somewhere that owns the + string being passed. Fixes problem reported by Larry Virden. -1999-03-01 +2002-02-21 David Gravereaux - * 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 - toplevel. + * win/mkd.bat (removed): + * win/coffbase.txt (new): + * win/makefile.bc: + * win/makefile.vc: Changed the 'setup' target to stop using + the mkd.bat file and just make the directory right in the rule. + Same change to makefile.bc. configure.in nor Makefile.in use + it. -1999-02-26 + coffbase.txt will be the master list for our "prefered base + addresses" set by the linker. This should improve load-time + (NT only) by avoiding relocations. Submissions to the list + by extension authors are encouraged. - * win/cat.c: Remove this file, use the one in the Tcl source directory. + Added a 'tidy' target to compliment 'clean' and 'hose' to remove + just the outputs. Also removed the $(winlibs) macro as it wasn't + being used. - * win/makefile.vc: 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 - use. + Stuff left to do: + 1) get the winhelp target to stop building in the tools/ + directory. + 2) stop using rmd.bat + 3) add more dependacy rules. -1999-02-25 + * win/tclAppInit.c: Reverted back to -r1.6, as the header file + change to tclPort.h won't allow for easy embedded support + outside of the source dist. Thanks to Don Porter for pointing + this out to me. - * 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 +2002-02-21 David Gravereaux - * 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/makefile.vc: 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 - + * win/makefile.vc: + * win/rules.vc: Added a new "loimpact" option that sets the + -ws:aggressive linker option. Off by default. It's said to + keep the heap use low at the expense of alloc speed. - * 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/tclAppInit.c: Changed #include "tcl.h" to be tclPort.h to + remove the raw windows.h include. tclPort.h brings in windows.h + already and lessens the pre-compiled-header mush and the randomly + useless #pragma comment (lib,...) references throughout the big + windows.h tree (as observed at high linker warning levels). - * win/tkWinX.c: Removed Thread-specific data from process - initialization code that was stopping the Tk Dll from - loading. +2002-02-21 Donal K. Fellows -1999-02-11 + * generic/tcl.h: Better guessing of LP64/ILP32 architecture, but + now sensitive to presence of (suitable) - * README: - * generic/tk.h: - * unix/configure.in: - * win/README: - * win/makefile.bc: - * win/makefile.vc: Updated version to 8.1b2. - - * unix/tkUnixSend.c: Fixed one more Tcl_*ObjVar instance. - -1999-02-04 +2002-02-20 Don Porter - * Various cleanup related to the Tcl_Eval and Tcl_ObjSetVar - changes in Tcl. - - INTEGRATED PATCHES FROM 8.0.5b2: - - * win/tkWinMenu.c (TkpDestroyMenu): Changed so modalMenuPtr is - cleared when it is being destroyed. + * generic/tcl.decls (Tcl_RegExpRange,Tcl_GetIndexFromObjStruct): + Overlooked a few source incompatibilities. Now using CONST84. + * generic/tclDecls.h: make genstubs + * generic/tcl.h (Tcl_CmdObjTraceProc): silence warning from Sun + Workshop compiler. - * 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. +2002-02-20 David Gravereaux - * library/prolog.ps: Changed string that determines font height to - include European character with an umlaut. + * win/buildall.vc.bat: + * win/makefile.vc: + * win/rules.vc: General clean-ups. Added compiler and linker tests + for a) the pentium 0x0F errata, b) optimizing (not all have this), + and c) linker v6 section alignment confusion. All these are tested + first to make sure any D4002 or LNK1117 warnings aren't displayed. + The pentium 0x0F errata is a recommended switch. The v5 linker's + section alignment default is 512, but the v6 linker was changed + to 4096 in an attempt to speed loading on Win98. I changed the + default to always be 512 across both linkers, unless linking + statically, then 4096 is used for the claimed speed effect. Using + a 512 alignment saves 12k bytes of dead space in the DLL. - * 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] + Added IA64 B-stepping errata switch when the compiler supports it. - * 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. + Added profiling to $(lflags) when requested and also removed the + explict -entry option as the default works fine as is. - * generic/tkConsole.c: Fixed so errors in console eval are - reported properly. Eliminated duplicate result messages. [Bug: 973] + Removed win/tclWinInit.c from the special case section to let it + use the common implicit rule as the $(EXTFLAGS) macro it had was + never referenced anywhere. - * win/tkWinWm.c: Changed so windows that aren't resizable don't - have resize handles and the zoom box is disabled. +2002-02-20 Donal K. Fellows - * win/tkWinInt.h: - * win/tkWinPointer.c: Changed to cancel the mouse timer when a - user initiated move/resize loop begins. + * generic/tcl.h: Added code to guess the correct settings for + TCL_WIDE_INT_IS_LONG and TCL_WIDE_INT_TYPE when configure doesn't + tell us them, as can happen with extensions. - * unix/configure.in: 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] +2002-02-19 Donal K. Fellows - * win/makefile.vc: 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. + * doc/format.n: Updated docs to list the specification. + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Made behaviour on 64-bit + platforms correctly meet the specification, that %d works with the + native word-sized integer, instead of trying to guess (wrongly) + from the value being passed. - * 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] +2002-02-19 Don Porter - * generic/tkCanvLine.c: Changed to treat zero width lines like - they have width 1 for purposes of selection. [Bug: 925] + * changes: First draft of updated changes for 8.4a4 release. - * win/tkWinFont.c (Tk_MeasureChars): Added a workaround for a bug - in GetTextExtentExPoint on Win NT 4.0/Japanese. [Bug: 1006] +2002-02-15 Jeff Hobbs + + * unix/tclUnixPort.h: add strtoll/strtoull declarations for + platforms that do not define them. + + * generic/tclIndexObj.c (STRING_AT): removed ptrdiff_t cast and + use of VOID* in default case (GNU-ism). + +2002-02-15 Kevin Kenny + + * compat/strtoll.c: + * compat/strtoul.c: + * compat/strtoull.c: + * generic/tclIOUtil.c: + * generic/tclPosixStr.c: + * generic/tclTest.c: + * generic/tclTestObj.c: + * tests/get.test: + * win/Makefile.vc: Further tweaks to the TIP 72 patch to make it + compile under VC++. + +2002-02-15 Andreas Kupries + + * tclExecute.c: + * tclIOGT.c: + * tclIndexObj.c: Touchups to the TIP 72 patch to make it + compileable under Windows again. The changes are not complete, + there is one nasty regarding _stati64 + +2002-02-15 Donal K. Fellows + + +----------------------+ + | TIP #72 IMPLEMENTED. | + +----------------------+ + + There are a lot of changes from this TIP, so please see + http://purl.org/tcl/tip/72.html for discussion of + backward-compatability issues, but the main ones modifications are + in: + + * generic/tcl.h: New types. + * generic/tcl.decls: New public functions. + * generic/tclExecute.c: 64-bit aware bytecode engine. + * generic/tclBinary.c: 64-bit handling in [binary] command. + * generic/tclScan.c: 64-bit handling in [scan] command. + * generic/tclCmdAH.c: 64-bit handling in [file] and [format] + commands. + * generic/tclBasic.c: New "wordSize" entry in ::tcl_platform. + * generic/tclFCmd.c: Large-file support (with many consequences.) + * generic/tclIO.c: Large-file support (with many consequences.) + * compat/strtoll.c, compat/strtoull.c: New support functions. + * unix/tcl.m4, unix/configure: 64-bit support and greatly enhanced + cacheing. + + Most other changes, including all those in doc/* and test/* as + well as the majority in the platform directories, follow on from + these. + + Also coming out of the woodwork: + * generic/tclIndex.c: Better support for Cray PVP. + * win/tclWinMtherr.c: Better Borland support. + + Note that, in a number of places through the Unix part of the + platform support, there are Tcl_Platform* references. These are + expanded into the correct way to call that particular underlying + function, i.e. with or without a '64' suffix, and should be used + by people working on the core in preference to the API functions + they overlay so that the code remains portable depending on the + presence or absence of 64-bit support on the underlying platform. + + ***POTENTIAL INCOMPATIBILITY***: Extracted from the TIP + + SUMMARY OF INCOMPATIBILITIES AND FIXES + ====================================== + + The behaviour of expressions containing constants that appear + positive but which have a negative internal representation will + change, as these will now usually be interpreted as wide + integers. This is always fixable by replacing the constant with + int(constant). + + Extensions creating new channel types will need to be altered as + different types are now in use in those areas. The change to the + declaration of Tcl_FSStat and Tcl_FSLstat (which are the new + preferred API in any case) are less serious as no non-alpha + releases have been made yet with those API functions. + + Scripts that are lax about the use of the l modifier in format and + scan will probably need to be rewritten. This should be very + uncommon though as previously it had absolutely no effect. + + Extensions that create new math functions that take more than one + argument will need to be recompiled (the size of Tcl_Value + changes), and functions that accept arguments of any type + (TCL_EITHER) will need to be rewritten to handle wide integer + values. (I do not expect this to affect many extensions at all.) + +2002-02-14 Andreas Kupries + + * generic/tclIOCmd.c (Tcl_GetsObjCmd): Trivial fix for bug + #517503, a memory leak reported by Miguel Sofer + . The leak happens if an error + occurs for "set var [gets $chan]" and leak one empty object. + +2002-02-12 David Gravereaux + + * djgpp/ (new directory) + * djgpp/Makefile (new): + * unix/tclAppInit.c: + * unix/tclMtherr.c: + * unix/tclUnixFCmd.c: + * unix/tclUnixFile.c: + * unix/tclUnixInit.c: + * unix/tclUnixPort.h: Early stage of DJGPP support for building + Tcl on DOS. Dynamic loading isn't working, yet. Requires watt32 + for the TCP/IP stack. No autoconf, yet. Barely tested, but + makes a working exe that runs Tcl in protected-mode, flat memory. + [exec] and pipes will need the most work as multi-tasking on DOS + has to be carefully. + +2002-02-10 Kevin Kenny + + * doc/CrtObjCmd.3: + * doc/CrtTrace.3: + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclBasic.c: + * generic/tclInt.h: + * generic/tclTest.c: + * tests/basic.test: Added Tcl_CreateObjTrace, + Tcl_GetCommandInfoFromToken and Tcl_SetCommandInfoFromToken. + (TIPs #32 and #79.) + + * generic/tclDecls.h: + * generic/tclStubInit.c: Regenerated Stubs tables. + +2002-02-08 Jeff Hobbs - * unix/tkUnixSend.c (Tk_SetAppName): Fixed uninitialized memory - access bug. [Bug: 919] + * unix/configure: + * unix/tcl.m4: added -pthread for FreeBSD to EXTRA_CFLAGS and + LDFLAGS. Also triggered nodots only for FreeBSD-3. + Added AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) for Solaris. + + * unix/tclUnixPort.h: + * unix/tclUnixThrd.c: added thread-safe versions of readdir, + localtime, gmtime and inet_ntoa for threaded build. (jgdavidson) + + * generic/tclScan.c (Tcl_ScanObjCmd): prevented ckfree being + called on a pointer to NULL. + +2002-02-07 Don Porter + + * doc/DString.3: + * doc/Encoding.3: + * doc/GetCwd.3: + * doc/SplitPath.3: + * doc/Translate.3: + * doc/Utf.3: + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclEncoding.c: + * generic/tclEnv.c: + * generic/tclFileName.c: + * generic/tclIOUtil.c: + * generic/tclUtf.c: + * generic/tclUtil.c: + * mac/tclMacInit.c: + * unix/tclUnixFile.c: + * unix/tclUnixInit.c: + * unix/tclUnixPipe.c: + * win/tclWin32Dll.c: + * win/tclWinFCmd.c: + * win/tclWinFile.c: + * win/tclWinInit.c: Partial TIP 27 rollback. Following routines + restored to return (char *): Tcl_DStringAppend, + Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName, + Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString, + Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also + restored Tcl_WinUtfToTChar to return (TCHAR *) and + Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified + some callers. This change recognizes that Tcl_DStrings are + de-facto white-box objects. + + * generic/tclDecls.h: + * generic/tclPlatDecls.h: make genstubs + + * generic/tclCmdMZ.c: corrected use of C++-style comment. + +2002-02-06 Jeff Hobbs + + * tests/scan.test: + * generic/tclScan.c (Tcl_ScanObjCmd): corrected scan 0x... %x + handling that didn't accept the 0x as a prelude to a base 16 + number. [Bug #495213] + + * generic/tclCompCmds.c (TclCompileRegexpCmd): made early check + for bad RE to stop checking further. + + * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): added special case to + search for simple 'string map' style regsub calls. + Delayed creation of resultPtr object until an initial match is + made, as the input string object can then be reused for no matches. + (Tcl_StringObjCmd): optimization improvements to the STR_MAP + algorithm for zero-length and nocase cases. + + * tests/regexp.test: + * tests/regexpComp.test: extra code coverage tests. + + * tests/string.test: added 10.18 and 10.19 extra tests. + + * generic/regc_locale.c (casecmp): slight performance improvement. + +2002-02-05 Don Porter + + * library/http/http.tcl: + * library/http/pkgIndex.tcl: Corrected use of http::error when + ::error was intended. Bump to http 2.4.2. + +2002-02-04 Andreas Kupries + + * unix/tclUnixChan.c (FileOutputProc): Fixed [bug 465765] reported + by Dale Talcott . Avoid + writing nothing into a file as STREAM based implementations will + consider this a EOF (if the file is a pipe). Not done in the + generic layer as this type of writing is actually useful to + check the state of a socket. + + * doc/open.n: Fixed [Bug 511540], added cross-reference to 'pid' + as the command to use to retrieve the pid of a command pipeline + created via 'open'. -1999-1-28 +2002-02-01 Jeff Hobbs - * generic/tkGrid.c: Fixed bug in "grid forget" that failed to cancel - pending idle handlers, resulting in a crash in a few odd cases. + * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): handle quirky about case + earlier to avoid shimmering problem. -1999-01-06 +2002-02-01 Andreas Kupries - * 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 - Tk_Uids. + * tests/io.test: io-39.22 split into two tests, one platform + dependent, the other not. -eofchar is not empty on the windows + platform. -1998-12-11 === Tk 8.1b1 Release === - -1998-12-11 +2002-02-01 Vince Darley - * generic/tkMain.c (Tk_Main): Fixed improper command line encoding - handling. + * generic/tclTest.c: fix to picky windows compiler problem + with the 'MainLoop' function declaration. -1998-12-08 +2002-01-31 Andreas Kupries - * win/tkWinClipboard.c (TkSelGetSelection, TkWinClipboardRender): - Changed to handle multibyte characters properly. [Bug: 935] + * win/tclWinFCmd.c: TIP 27: Applied patch fixing CONST warnings on + behalf of Don Porter . -1998-12-07 +2002-01-30 Don Porter - * library/xmfbox.tcl (tkMotifFDialog_Create): In the cached case, - the data array was not being initialized with the correct set of - widgets. + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclInt.h: For each interface identified in the TIP 27 + changes below as a POTENTIAL INCOMPATIBILITY, the source of the + incompatibility has been parameterized so that it can be + removed. When compiling extension code against the Tcl header + files, use the compiler flag -DUSE_NON_CONST to remove the + irresolvable source incompatibilities introduced by the TIP 27 + changes. Resolvable changes are left for extension authors to + resolve. + * generic/tclDecls.h: make genstubs -1998-12-4 +2002-01-30 Vince Darley - * Changed patchLevel to 8.1b1 + * doc/FileSystem.3: added documentation for 3 public + functions which had been overlooked. Fixes [Bug 507701]. + * unix/mkLinks: make mklinks - * generic/tkMenu.c (ConfigureMenuCloneEntries): The -menu configuration - option was being incorrectly specified as just "menu". +2002-01-29 Jeff Hobbs -1998-11-30 + * tests/regexpComp.test: + * generic/tclCompCmds.c (TclCompileRegexpCmd): enhanced to support + -nocase and -- options. - * generic/tkButton.c (ConfigureButton): The error result was - getting lost when restoring configuration options. [Bug: 619] +2002-01-28 Mo DeJong -1998-11-25 + * unix/tcl.m4 (SC_LOAD_TCLCONFIG): + * win/tcl.m4 (SC_LOAD_TCLCONFIG): Set TCL_LIB_SPEC, + TCL_STUB_LIB_SPEC, and TCL_STUB_LIB_PATH to the + values of TCL_BUILD_LIB_SPEC, TCL_BUILD_STUB_LIB_SPEC, + and TCL_BUILD_STUB_LIB_PATH when tclConfig.sh is loaded + from the build directory. A Tcl extension should + make use of the non-build versions of these variables + since they will work in both cases. This modification + was described in TIP 34. + +2002-01-28 Jeff Hobbs + + * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey) + (DeleteKey,GetKeyNames,GetType,GetValue,OpenSubKey,SetValue): + redid the CONSTification as previous changes caused failing tests. + + * tests/regexpComp.test (new): + * generic/tclInt.h: + * generic/tclBasic.c: added TclCompileRegexpCmd entry + * generic/tclCompCmds.c (TclCompileStringCmd): corrected to return + TCL_OUT_LINE_COMPILE instead of TCL_ERROR for parsing errors, so + it only throws the error for runtime compile, in case the user + modifies 'string'. + (TclCompileRegexpCmd): first try at a byte-compiled regexp + command. It handles static strings and ^$ bounded static strings. + (TclCompileAppendCmd): made TclPushVarName call always use + TCL_CREATE_VAR as numWords is always > 2 at that point. + + * generic/tclExecute.c (TclExecuteByteCode:INST_LIST): correct + possibly dangerous decr in macro call. + + * win/tclWinInit.c (TclpFindVariable): CONSTification touch-up + + * win/tclWinReg.c (OpenSubKey): corrected bug introduced in + CONSTification that dropped pointer reference. + + * ChangeLog.2000 (new file): + * ChangeLog: broke changes from 2000 into ChangeLog.2000 to reduce + size of the main ChangeLog. + +2002-01-28 David Gravereaux + + * generic/tclPlatDecls.h: Added preprocessor logic to force a + typedef of TCHAR when __STDC__ is defined when using the uncommon + -Za compiler switch with the microsoft compiler. + +2002-01-27 Don Porter + + * doc/package.n: Documented global namespace context for script + evaluation by [package require]. + +2002-01-27 Daniel Steffen + + * generic/tclInt.decls: + * generic/tclIntPlatDecls.h: + * mac/tclMacChan.c: + * mac/tclMacFCmd.c: + * mac/tclMacFile.c: + * mac/tclMacInit.c: + * mac/tclMacLoad.c: + * mac/tclMacResource.c: + * mac/tclMacSock.c: TIP 27 CONSTification induced changes - * 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. + * tests/event.test: + * tests/main.test: added catches/constraints to test that + use features that don't exist on the mac. + +2002-01-25 Mo DeJong + + Make -eofchar and -translation options read only for + server sockets. [Bug 496733] + + * generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption): + Instead of returning nothing for the -translation option + on a server socket, always return "auto". Return the empty + string enclosed in quotes for the -eofchar option on + a server socket. Fixup -eofchar usage message so that + it matches the implementation. + * tests/io.test: Add -eofchar tests and -translation tests + to ensure options are read only on server sockets. + * tests/socket.test: Update tests to account for -eofchar + and -translation option changes. + +2002-01-25 Don Porter + + * compat/strstr.c (strstr): + * generic/tclCmdAH.c (Tcl_FormatObjCmd): + * generic/tclCmdIL.c (InfoNameOfExecutableCmd): + * generic/tclEnv.c (ReplaceString): + * generic/tclFileName.c (ExtractWinRoot): + * generic/tclIO.c (FlushChannel,Tcl_BadChannelOption): + * generic/tclStringObj.c (AppendUnicodeToUtfRep): + * generic/tclThreadTest.c (TclCreateThread): + * generic/tclUtf.c (Tcl_UtfPrev): + * mac/tclMacFCmd.c (TclpObjListVolumes): + * mac/tclMacResource.c (TclMacRegisterResourceFork, + BuildResourceForkList): + * win/tclWinInit.c (AppendEnvironment): Sought out and eliminated + instances of CONST-casting that are no longer needed after the + TIP 27 effort. + + * Following is [Patch 501006] + * generic/tclInt.decls (Tcl_AddInterpResolvers, Tcl_Export, + Tcl_FindNamespace, Tcl_GetInterpResolvers, Tcl_ForgetImport, + Tcl_Import, Tcl_RemoveInterpResolvers): + * generic/tclNamesp.c (Tcl_Export, Tcl_Import, Tcl_ForgetImport, + Tcl_FindNamespace): + * generic/tclResolve.c (Tcl_AddInterpResolvers,Tcl_GetInterpResolvers, + Tcl_RemoveInterpResolvers): Updated APIs in generic/tclResolve.c + and generic/tclNamesp.c according to the guidelines of TIP 27. + * generic/tclIntDecls.h: make genstubs + + * Following is [Patch 505630] + * doc/AddErrorInfo.3: + * generic/tcl.decls (Tcl_LogCommandInfo): + * generic/tclBasic.c (Tcl_LogCommandInfo): Updated interfaces + of generic/tclBasic.cc according to TIP 27. + * generic/tclDecls.h: make genstubs + + * Following is [Patch 506818] + * doc/Hash.3: + * generic/tcl.decls (Tcl_HashStats): + * generic/tclHash.c (Tcl_HashStats): Updated APIs of generic/tclHash.c + according to guidelines of TIP 27. + * generic/tclDecls.h: make genstubs + * generic/tclVar.c (Tcl_ArrayObjCmd): Updated callers. + + * Following is [Patch 506807] + * doc/ObjectType.3: + * generic/tcl.decls (Tcl_GetObjType): + * generic/tclObj.c (Tcl_GetObjType): Updated APIs of generic/tclObj.c + according to guidelines of TIP 27. + * generic/tclDecls.h: make genstubs + + * Following is [Patch 507304] + * doc/Encoding.3: + * generic/tcl.decls (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf): + * win/tclWin32Dll.c (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf): + Updated interfaces in win/tclWin32Dll.c according to TIP 27. + * generic/tclPlatDecls.h: make genstubs + * generic/tclIOUtil.c (TclpNativeToNormalized): + * win/tclWinFCmd.c (TclpObjNormalizePath): + * win/tclWinFile.c (TclpFindExecutable,TclpMatchInDirectory, + NativeIsExec,NativeStat): + * win/tclWinLoad.c (TclpLoadFile): + * win/tclWinPipe.c (TclpOpenFile,ApplicationType): + * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey,DeleteKey, + GetKeyNames,GetType,GetValue,OpenSubKey,SetValue): + * win/tclWinSerial.c (SerialSetOptionProc): Update callers. + + * Following is [Patch 505072] + * doc/Concat.3: + * doc/Encoding.3: + * doc/Filesystem.3: + * doc/Macintosh.3: + * doc/OpenFileChnl.3 + * doc/SetResult.3: + * doc/SetVar.3: + * doc/SplitList.3: + * doc/SplitPath.3: + * doc/Translate.3: + * generic/tcl.h (Tcl_FSMatchInDirectoryProc): + * generic/tclInt.h (TclpMatchInDirectory): + * generic/tcl.decls (Tcl_Concat,Tcl_GetStringResult,Tcl_GetVar, + Tcl_GetVar2,Tcl_JoinPath,Tcl_Merge,Tcl_OpenCommandChannel,Tcl_SetVar, + Tcl_SetVar2,Tcl_SplitList,Tcl_SplitPath,Tcl_TranslateFileName, + Tcl_ExternalToUtfDString,Tcl_GetEncodingName,Tcl_UtfToExternalDString, + Tcl_GetDefaultEncodingDir,Tcl_SetDefaultEncodingDir, + Tcl_FSMatchInDirectory,Tcl_MacEvalResource,Tcl_MacFindResource): + * generic/tclInt.decls (TclCreatePipeline,TclGetEnv,TclpGetCwd, + TclpCreateProcess): + * mac/tclMacFile.c (TclpGetCwd): + * generic/tclEncoding.c (Tcl_GetDefaultEncodingDir, + Tcl_SetDefaultEncodingDir,Tcl_GetEncodingName, + Tcl_ExternalToUtfDString,Tcl_UtfToExternalDString, OpenEncodingFile, + LoadEscapeEncoding): + * generic/tclFileName.c (DoTildeSubst,Tcl_JoinPath,Tcl_SplitPath, + Tcl_TranslateFileName): + * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): + * generic/tclPipe.c (FileForRedirect,TclCreatePipeline, + Tcl_OpenCommandChannel): + * generic/tclResult.c (Tcl_GetStringResult): + * generic/tclUtil.c (Tcl_Concat,Tcl_SplitList,Tcl_Merge): + * generic/tclVar.c (Tcl_GetVar,Tcl_GetVar2,Tcl_SetVar,Tcl_SetVar2): + * mac/tclMacResource.c (Tcl_MacEvalResource,Tcl_MacFindResource): + Updated interfaces of generic/tclEncoding, generic/tclFilename.c, + generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, + generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according + to TIP 27. Tcl_TranslateFileName rewritten as wrapper around + VFS-aware version. + ***POTENTIAL INCOMPATIBILITY*** + Includes source incompatibilities: argv arguments of Tcl_Concat, + Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of + Tcl_SplitList and Tcl_SplitPath. + * generic/tclDecls.h: + * generic/tclIntDecls.h: make genstubs + + * generic/tclCkalloc.c (MemoryCmd): + * generic/tclClock.c (FormatClock): + * generic/tclCmdAH.c (Tcl_CaseObjCmd,Tcl_EncodingObjCmd,Tcl_FileObjCmd): + * generic/tclCmdIL.c (InfoLibraryCmd,InfoPatchLevelCmd, + InfoTclVersionCmd): + * generic/tclCompCmds.c (TclCompileForeachCmd): + * generic/tclCompCmds.h (TclCompileForeachCmd): + * generic/tclCompile.c (TclFindCompiledLocal): + * generic/tclEnv.c (TclSetupEnv,TclSetEnv,Tcl_PutEnv,TclGetEnv, + EnvTraceProc): + * generic/tclEvent.c (Tcl_BackgroundError): + * generic/tclIO.c (Tcl_BadChannelOption,Tcl_SetChannelOption): + * generic/tclIOCmd.c (Tcl_ExecObjCmd,Tcl_OpenObjCmd): + * generic/tclIOSock.c (TclSockGetPort): + * generic/tclIOUtil.c (SetFsPathFromAny): + * generic/tclLink.c (LinkTraceProc): + * generic/tclMain.c (Tcl_Main): + * generic/tclNamesp.c (TclTeardownNamespace): + * generic/tclProc.c (TclCreateProc): + * generic/tclTest.c (TestregexpObjCmd,TesttranslatefilenameCmd, + TestchmodCmd,GetTimesCmd,TestsetCmd,TestOpenFileChannelProc1, + TestOpenFileChannelProc2,TestOpenFileChannelProc3,AsyncHandlerProc, + TestpanicCmd): + * generic/tclThreadTest.c (ThreadErrorProc,ThreadEventProc): + * generic/tclUtil.c (TclPrecTraceProc): + * mac/tclMacFCmd.c (GetFileSpecs): + * mac/tclMacFile.c (TclpMatchInDirectory): + * mac/tclMacInit.c (TclpInitLibraryPath,Tcl_SourceRCFile): + * mac/tclMacOSA.c (tclOSAStore,tclOSALoad): + * mac/tclMacResource.c (Tcl_MacEvalResource): + * unix/tclUnixFCmd.c (TclpObjNormalizePath): + * unix/tclUnixFile.c (TclpMatchInDirectory,TclpGetUserHome,TclpGetCwd, + TclpReadLink): + * unix/tclUnixInit.c (TclpInitLibraryPath,TclpSetVariables, + Tcl_SourceRCFile): + * unix/tclUnixPipe.c (TclpOpenFile,TclpCreateTempFile, + TclpCreateProcess): + * win/tclWinFile.c (TclpGetCwd,TclpMatchInDirectory): + * win/tclWinInit.c (TclpInitLibraryPath,Tcl_SourceRCFile, + TclpSetVariables): + * win/tclWinPipe.c (TclpCreateProcess): Updated callers. + +2002-01-24 Don Porter + + * generic/tclIOUtil.c (SetFsPathFromAny): Corrected tilde-substitution + of pathnames where > 1 separator follows the ~. [Bug 504950] + +2002-01-24 Jeff Hobbs + + * library/http/pkgIndex.tcl: + * library/http/http.tcl: don't add port in default case to handle + broken servers. http bumped to 2.4.1 [Bug #504508] + +2002-01-23 Andreas Kupries + + * unix/mkLinks: Regenerated. + * doc/CrtChannel.3: + * doc/ChnlStack.3: Moved documentation for 'Tcl_GetTopChannel' + from 'CrtChannel' to 'ChnlStack'. Added documentation of + 'Tcl_GetStackedChannel'. Bug #506147 reported by Mark Patton + . + +2002-01-23 Don Porter + + * win/tclWinFile.c (NativeAccess,NativeStat,NativeIsExec, + TclpGetUserHome): + * win/tclWinPort.h (TclWinSerialReopen): + * win/tclWinSerial.c (TclWinSerialReopen): + * win/tclWinSock.c (Tcl_OpenTcpServer): Corrections to earlier + TIP 27 changes. Thanks to Andreas Kupries for the feedback. + * generic/tclPlatDecls.h: make genstubs + + * doc/GetHostName.3: + * doc/GetOpnFl.3: + * doc/OpenTcp.3: + * tcl.decls (Tcl_GetHostName,Tcl_GetOpenFile,Tcl_OpenTcpClient, + Tcl_OpenTclServer): + * mac/tclMacSock.c (CreateSocket,Tcl_OpenTcpClient,Tcl_OpenTcpServer, + Tcl_GetHostName,GetHostFromString): + * unix/tclUnixChan.c (CreateSocket,CreateSocketAddress, + Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetOpenFile): + * unix/tclUnixSock.c (Tcl_GetHostName): + * win/tclWinSock.c (CreateSocket,CreateSocketAddress, + Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetHostName): + Updated socket interfaces according to TIP 27. + * generic/tclCmdIL.c (InfoHostnameCmd): Updated callers. + * generic/tclDecls.h: make genstubs + +2002-01-21 David Gravereaux + + * generic/tclLoadNone.c: TclpLoadFile() didn't match proto of + typedef Tcl_FSLoadFileProc. OK'd by vincentdarley. + [Patch #502488] + +2002-01-21 Andreas Kupries + + * generic/tclIO.c (WriteChars): Fix for SF #506297, reported by + Martin Forssen . The encoding + chosen in the script exposing the bug writes out three intro + characters when TCL_ENCODING_START is set, but does not consume + any input as TCL_ENCODING_END is cleared. As some output was + generated the enclosing loop calls UtfToExternal again, again + with START set. Three more characters in the out and still no + use of input ... To break this infinite loop we remove + TCL_ENCODING_START from the set of flags after the first call + (no condition is required, the later calls remove an unset flag, + which is a no-op). This causes the subsequent calls to + UtfToExternal to consume and convert the actual input. + +2002-01-21 Don Porter + + * generic/tclTest.c: Converted declarations of TestReport file system + to more portable form. [Bug 501417]. + + * generic/tcl.decls (Tcl_TraceCommand,Tcl_UntraceCommand, + Tcl_CommandTraceInfo): + * generic/tclCmdMZ.c (Tcl_TraceCommand,Tcl_UntraceCommand, + Tcl_CommandTraceInfo): Updated APIs in generic/tclCmdMZ.c + according to the guidelines of TIP 27. + * generic/tclDecls.h: make genstubs + +2002-01-18 Don Porter + + * win/tclWinChan.c: + * win/tclWinFCmd.c: + * win/tclWinFile.c: Overlooked callers of Tcl_FSGetNativePath + + * win/tclWinDde.c: + * win/tclWinReg.c: Overlooked callers of Tcl_GetIndexFromObj + +2002-01-18 Daniel Steffen + + * generic/tclThreadTest.c: + * mac/tclMacChan.c: + * mac/tclMacFCmd.c: + * mac/tclMacFile.c: + * mac/tclMacLoad.c: + * mac/tclMacResource.c: TIP 27 CONSTification broke the mac + build in a number of places. + +2002-01-17 Andreas Kupries + + * generic/tclIOCmd.c (Tcl_GetsObjCmd): Fixed bug #504642 as + reported by Brian Griffin , + using his patch. Before the patch the generic I/O layer held an + unannounced reference to the interp result to store the read + line into. This unfortunately has disastrous results if the + channel driver executes a tcl script to perform its operation, + this freeing the interp result. In that case we are + dereferencing essentially a dangling reference. It is not truly + dangling because the object is in the free list, but this only + causes us to smash the free list and have the error occur later + somewhere else. The patch simply creates a new object for the + line and later sets it into the interp result when we are done + with reading. - * generic/tkFont.c (TkFontParseXLFD): initialize charset to - iso8859-1 if no charset is specified. +2002-01-16 Mo DeJong - * mac/tkMacHLEvents.c (OdocHandler): added conversion from - external string to UTF [Bug: 869] + * unix/tcl.m4 (SC_LOAD_TCLCONFIG): + * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst TCL_DBGX + into TCL_STUB_LIB_FILE and TCL_STUB_LIB_FLAG + variables so that an extension does not need + to subst TCL_DBGX into its makefile. [Tk Bug 504356] + +2002-01-16 Don Porter + + * doc/FileSystem.3: + * doc/GetCwd.3: + * doc/GetIndex.3: + * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, + Tcl_GetCwd, Tcl_FSFileAttrStrings, Tcl_FSGetNativePath, + Tcl_FSGetTranslatedStringPath): + * generic/tcl.h (Tcl_FSFileAttrStringsProc): + * generic/tclFCmd.c (TclFileAttrsCmd): + * generic/tclIOUtil.c (Tcl_GetCwd,NativeFileAttrStrings, + Tcl_FSFileAttrStrings,Tcl_FSGetTranslatedStringPath, + Tcl_FSGetNativePath): + * generic/tclIndexObj.c (Tcl_GetIndexFromObj,Tcl_GetIndexFromObjStruct): + More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that were + overlooked before. [Patch 504671] + ***POTENTIAL INCOMPATIBILITY*** + Includes a source incompatibility in the tablePtr arguments of + the Tcl_GetIndexFromObj* routines. + * generic/tclDecls.h: make genstubs + + * generic/tclBinary.c (Tcl_BinaryObjCmd): + * generic/tclClock.c (Tcl_ClockObjCmd): + * generic/tclCmdAH.c (Tcl_EncodingObjCmd, Tcl_FileObjCmd): + * generic/tclCmdIL.c (Tcl_InfoObjCmd,Tcl_LsearchObjCmd,Tcl_LsortObjCmd): + * generic/tclCmdMZ.c (Tcl_TraceObjCmd,Tcl_RegexpObjCmd,Tcl_RegsubObjCmd, + Tcl_StringObjCmd,Tcl_SubstObjCmd,Tcl_SwitchObjCmd, + TclTraceCommandObjCmd,TclTraceVariableObjCmd): + * generic/tclCompCmds.c (TclCompileStringCmd): + * generic/tclEvent.c (Tcl_UpdateObjCmd): + * generic/tclFileName.c (Tcl_GlobObjCmd): + * generic/tclIO.c (Tcl_FileEventObjCmd): + * generic/tclIOCmd.c (Tcl_SeekObjCmd,Tcl_ExecObjCmd,Tcl_SocketObjCmd, + Tcl_FcopyObjCmd): + * generic/tclInterp.c (Tcl_InterpObjCmd,SlaveObjCmd): + * generic/tclNamesp.c (Tcl_NamespaceObjCmd): + * generic/tclPkg.c (Tcl_PackageObjCmd): + * generic/tclTest.c (Tcltest_Init,TestencodingObjCmd,TestgetplatformCmd, + TestlocaleCmd,TestregexpObjCmd,TestsaveresultCmd, + TestGetIndexFromObjStructObjCmd,TestReportFileAttrStrings): + * generic/tclTestObj.c (TestindexObjCmd,TeststringObjCmd): + * generic/tclTimer.c (Tcl_AfterObjCmd): + * generic/tclVar.c (Tcl_ArrayObjCmd): + * mac/tclMacFCmd.c (SetFileFinderAttributes): + * unix/tclUnixChan.c (TclpOpenFileChannel): + * unix/tclUnixFCmd.c (tclpFileAttrStrings): + * unix/tclUnixFile.c (TclpObjAccess,TclpObjChdir,TclpObjStat, + TclpObjLstat): + * win/tclWinFCmd.c (tclpFileAttrStrings): Updated callers. + + * doc/RegExp.3: + * doc/Utf.3: + * generic/tcl.decls: + * generic/tclInt.decls: + * generic/tclRegexp.c: + * generic/tclUtf.c: Updated APIs in generic/tclUtf.c and + generic/tclRegexp.c according to the guidelines of TIP 27. + [Patch 471509] + + * generic/regc_locale.c (element,cclass): + * generic/tclCmdMZ.c (Tcl_StringObjCmd): + * generic/tclFileName.c (TclpGetNativePathType,SplitMacPath): + * generic/tclIO.c (ReadChars): + * mac/tclMacLoad.c (TclpLoadFile): + * win/tclWinFile.c (TclpGetUserHome): Updated callers. + + * generic/tclDecls.h: + * generic/tclIntDecls.h: make genstubs + + * doc/ParseCmd.3 (Tcl_ParseVar): + * generic/tcl.decls (Tcl_ParseVar): + * generic/tclParse.c (Tcl_ParseVar): + * generic/tclTest.c (TestparsevarObjCmd): Updated APIs in + generic/tclParse.c according to the guidelines of TIP 27. Updated + callers. [Patch 501046] + * generic/tclDecls.h: make genstubs + + * generic/tcl.decls (Tcl_RecordAndEval): + * generic/tclDecls.h: make genstubs + * generic/tclHistory.c (Tcl_RecordAndEval): Updated APIs in + generic/tclHistory.c according to the guidelines of TIP 27. + [Patch 504091] + + * doc/CrtSlave.3: + * generic/tcl.decls (Tcl_CreateAlias, Tcl_CreateAliasObj, + Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): + * generic/tclInterp.c (Tcl_CreateAlias, Tcl_CreateAliasObj, + Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): + Updated APIs in the file generic/tclInterp.c according to the + guidelines of TIP 27. [Patch 501371] + ***POTENTIAL INCOMPATIBILITY*** + Includes a source incompatibility in the targetCmdPtr arguments of + the Tcl_GetAlias* routines. + + * generic/tclDecls.h: make genstubs + +2002-01-15 Don Porter + + * doc/SetErrno.3 (Tcl_ErrnoMsg): Corrected documentation for + Tcl_ErrnoMsg; it takes an integer argument. Thanks to Georgios + Petasis. [Bug 468183] + + * doc/AddErrInfo.3 (Tcl_PosixError): + * doc/Eval.3 (Tcl_EvalFile): + * doc/FileSystem.c (Tcl_FSOpenFileChannel,Tcl_FSOpenFileChannelProc): + * doc/OpenFileChnl.3 (Tcl_OpenFileChannel): + * doc/SetErrno.3 (Tcl_ErrnoId,Tcl_ErrnoMsg): + * doc/Signal.3 (Tcl_SignalId,Tcl_SignalMsg): + * generic/tcl.decls (Tcl_ErrnoId,TclErrnoMsg,Tcl_EvalFile, + Tcl_OpenFileChannel,Tcl_PosixError,Tcl_SignalId,Tcl_SignalMsg, + Tcl_FSOpenFileChannel): + * generic/tcl.h (Tcl_FSOpenFileChannelProc): + * generic/tclIO.c (FlushChannel): + * generic/tclIOUtil.c (Tcl_OpenFileChannel,Tcl_EvalFile,TclGetOpenMode, + Tcl_PosixError,Tcl_FSOpenFileChannel): + * generic/tclInt.decls (TclGetOpenMode): + * generic/tclInt.h (TclOpenFileChannelProc_,TclGetOpenMode, + TclpOpenFileChannel): + * generic/tclPipe.c (TclCleanupChildren): + * generic/tclPosixStr.c (Tcl_ErrnoId,Tcl_ErrnoMsg,Tcl_SignalId, + Tcl_SignalMsg): + * generic.tclTest.c (PretendTclpOpenFileChannel, + TestOpenFileChannelProc1,TestOpenFileChannelProc2, + TestOpenFileChannelProc3,TestReportOpenFileChannel): + * mac/tclMacChan.c (TclpOpenFileChannel): + * unix/tclUnixChan.c (TclpOpenFileChannel): + * win/tclWinChan.c (TclpOpenFileChannel): Updated APIs in + generic/tclIOUtil.c and generic/tclPosixStr.c according to the + guidelines of TIP 27. Updated callers. [Patch 499196] + + * generic/tclDecls.h: + * generic/tclIntDecls.h: make genstubs + + * doc/CrtChannel.3: + * doc/OpenFileChnl.3: + * generic/tcl.decls: + * generic/tclIO.h: + * generic/tclIO.c (DoWrite, Tcl_RegisterChannel, Tcl_GetChannel, + Tcl_CreateChannel, Tcl_GetChannelName, CloseChannel, Tcl_Write, + Tcl_WriteRaw, Tcl_Ungets, Tcl_BadChannelOption, Tcl_GetChannelOption, + Tcl_SetChannelOption, Tcl_GetChannelNamesEx, Tcl_ChannelName): + Updated APIs in the file generic/tclIO.c according to the guidelines + of TIP 27. Several minor documentation corrections as well. + [Patch 503565] + * generic/tclDecls.h: make genstubs + + * generic/tcl.h (Tcl_DriverOutputProc, Tcl_DriverGetOptionProc, + Tcl_DriverSetOptionProc): + * generic/tclIOGT.c (TransformOutputProc, TransformGetOptionProc, + TransformSetOptionProc): + * mac/tclMacChan.c (FileOutput, StdIOOutput): + * man/tclMacSock.c (TcpGetOptionProc, TcpOutput): + * unix/tclUnixChan.c (FileOutputProc, TcpGetOptionProc, TcpOutputProc, + TtyGetOptionProc, TtySetOptionProc): + * unix/tclUnixPipe.c (PipeOuputProc): + * win/tclWinChan.c (FileOutputProc): + * win/tclWinConsole.c (ConsleOutputProc): + * win/tclWinPipe.c (PipeOuputProc): + * win/tclWinSerial.c (SerialOutputProc, SerialGetOptionProc, + SerialSetOptionProc): + * win/tclWinSock.c (TcpGetOptionProc, TcpOutput): Updated channel + driver interface according to the guidelines of TIP 27. See also + [Bug 500348]. + + * doc/CrtChannel.3: + * generic/tcl.h: + * generic/tclIO.c: + * generic/tclIO.h: + * generic/tclInt.h: + * tools/checkLibraryDoc.tcl: + Moved Tcl_EolTranslation enum declaration from generic/tcl.h to + generic/tclInt.h (renamed to TclEolTranslation). It is not used + anywhere in Tcl's public interface. + +2002-01-14 Don Porter + + * doc/GetIndex.3: + * doc/WrongNumArgs.3: + * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, + Tcl_WrongNumArgs): + * generic/tclIndexObj.c (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, + Tcl_WrongNumArgs): Updated APIs in the file generic/tclIndexObj.c + according to the guidelines of TIP 27. [Patch 501491] + * generic/tclDecls.h: make genstubs - * integrated tk8.0.4 changes. - - * generic/tkBind.c: fixed deletion order bug where a crash would - result if a binding deleted "." +2002-01-11 Mo DeJong - * generic/tkMenu.c (MenuWidgetObjCmd): disabled menu entries were - getting reenabled whenever the mouse passed over the entry [Bug: 860] + * unix/configure: Regen. + * unix/configure.in: + * win/configure: Regen. + * win/configure.in: Use ${libdir} instead of ${exec_prefix}/lib + to properly support the --libdir option to configure. [Bug 489370] - * unix/tkUnixMenu.c (TkpComputeStandardMenuGeometry): hidemargin - option was not honored properly in menus [Bug: 859] +2002-01-11 Andreas Kupries -1998-11-24 + * win/tclWinSerial.c (SerialSetOptionProc): Applied patch for SF + bug #500348 supplied by Rolf Schroedter + . The function modified the + contents of the the 'value' string and now does not do this + anymore. This is a followup to the change made on 2001-12-17. - * 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] +2002-01-11 David Gravereaux -1998-11-19 + * win/makefile.vc: Removed -GD compiler option. It was intended + for future use, but MS is again changing the future at their whim. + The D4002 warning was harmless though, but someone using VC .NET + logged it as a concern. [Bug #501565] - * tkMenu.c (DestroyMenuEntry): fixed memory leaks [Bug: 620] - - * tkWinX.c (GetTranslatedKey): fixed bad code merge +2002-01-11 Mo DeJong - * tkWinWm.c, tkWinMenu.c: fixed titles and menus so they properly - display Unicode [Bug: 819] + * unix/Makefile.in: Burn Tcl build directory + into tcltest executable to avoid crashes caused + by ld loading a previously installed version + of the tcl shared library. [Bug 218110] + +2002-01-10 Don Porter , + Kevin Kenny + + * unix/tclLoadDld.c (TclpLoadFile): syntax error: unbalanced + parens. Kevin notes that it's far from clear that this file is + ever included in an actual build; Linux without dlopen appears to + be a nonexistent configuration. + +2002-01-08 Don Porter , + Kevin Kenny + + * doc/StaticPkg.3 (Tcl_StaticPackage): + * generic/tcl.decls (Tcl_StaticPackage): + * generic/tclDecls.h (Tcl_StaticPackage): + * generic/tclInt.decls (TclGuessPackageName): + * generic/tclInt.h (TclGuessPackageName): + * generic/tclLoad.c (Tcl_StaticPackage): + * generic/tclLoadNone.c (TclGuessPackageName): + * mac/tclMacLoad.c (TclGuessPackageName): + * unix/tclLoadAout.c (TclGuessPackageName): + * unix/tclLoadDl.c (TclGuessPackageName): + * unix/tclLoadDld.c (TclGuessPackageName): + * unix/tclLoadDyld.c (TclGuessPackageName): + * unix/tclLoadNext.c (TclGuessPackageName): + * unix/tclLoadOSF.c (TclGuessPackageName): + * unix/tclLoadShl.c (TclGuessPackageName): + * win/tclWinLoad.c (TclGuessPackageName): Updated APIs in + the files */tcl*Load*.c according to the guidelines of TIP 27. + [Patch 501096] + +2002-01-09 Don Porter + + * generic/tclTest.c (MainLoop): + * tests/main.test (Tcl_Main-1.{3,4,5,6}): Corrected some non-portable + tests from the new Tcl_Main changes. Thanks to Kevin Kenny. + +2002-01-07 Don Porter + + * generic/tclEvent.c (TclInExit): + * generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized, + SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep): + * generic/tclListObj.c (TclLsetList,TclLsetFlat): Added some type + casts to satisfy picky compilers. + + * generic/tclMain.c: Bug fix: neglected the NULL case in + TclGetStartupScriptFileName(). Broke Tk/wish. + +2002-01-05 Don Porter + + * doc/Tcl_Main.3: + * generic/tclMain.c: Substantial rewrite and expanded documentation + of Tcl_Main to correct a number of bugs and flaws: + + * Interactive Tcl_Main can now enter a main loop, exit + that loop and continue interactive operations. The loop + may even exit in the midst of interactive command typing + without loss of the partial command. [Bugs 486453, 474131] + * Tcl_Main now gracefully handles deletion of its master + interpreter. + * Interactive Tcl_Main can now operate with non-blocking stdin + * Interactive Tcl_Main can now detect EOF on stdin even in + mid-command. [Bug 491341] + * Added VFS-aware internal routines for managing the + startup script selection. + * Tcl variable 'tcl_interactive' is now linked to C variable + 'tty' so that one can disable/enable interactive prompts + at the script level when there is no startup script. This + is meant for use by the test suite. + * Consistent use of the Tcl libraries standard channels as + returned by Tcl_GetStdChannel(); as opposed to the channels + named 'stdin', 'stdout', and 'stderr' in the master interp, + which can be different or unavailable. + * Tcl_Main now calls Tcl_Exit() if evaluation of [exit] in the + master interpreter returns, assuring Tcl_Main does not return. + * Documented Tcl_Main's absence from public stub table + * Documented that Tcl_Main does not return. + * Documented Tcl variables set by Tcl_Main. + * All prompts are done from a single procedure, Prompt. + * Use of Tcl_Obj-enabled interfaces everywhere. + + * generic/tclInt.decls (TclGetStartupScriptPath, + TclSetStartupScriptPath): New internal VFS-aware routines for + managing the startup script of Tcl_Main. + * generic/tclIntDecls.h: + * generic/tclStubInit.c: make genstubs + + * generic/tclTest.c (TestsetmainloopCmd,TestexitmainloopCmd, + Tcltest_Init,TestinterpdeleteCmd): + * tests/main.test (new): Added new file to test suite that + thoroughly tests generic/tclMain.c; added some new test commands + for testing Tcl_SetMainLoop(). + +2002-01-04 Don Porter + + * doc/Alloc.3: + * doc/Concat.3: + * doc/CrtMathFnc.3: + * doc/Hash.3: + * doc/Interp.3: + * doc/LinkVar.3: + * doc/ObjectType.3: + * doc/PkgRequire.3: + * doc/Preserve.3: + * doc/SetResult.3: + * doc/SplitList.3: + * doc/SplitPath.3: + * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc, + ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and + to accurately describe when and how they are used. [Bug 497459] + + * generic/tclThreadJoin.c (TclRememberJoinableThread,TclJoinThread): + Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that + memory debugging is supported. + +2002-01-04 Daniel Steffen + + * mac/tclMacTime.c (TclpGetTZName): fix for daylight savings TZName bug + +2002-01-03 Don Porter + + * doc/FileSystem.3: + * generic/tclIOUtil.c: Updated some old uses of "fileName" to + new VFS terminology, "pathPtr". + +2002-01-03 Donal K. Fellows + + * tests/basic.test (basic-39.4): Greatly simplified test while + still leaving it so that it crashes when run without the fix to + the [foreach] implementation. + * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stopped Bug #494348 from + happening by not trying to be so clever with cacheing; if nothing + untoward is happening anyway, the less efficient technique will + only add a few instruction cycles (one function call and a few + derefs/assigns per list per iteration, with no change in the + number of tests) and if something odd *is* going on, the code is + now far more robust. + + * tests/basic.test (basic-39.4): Reproducable script from Bug #494348 + +2002-01-02 Donal K. Fellows + + * tests/util.test (Wrapper_Tcl_StringMatch,util-5.*): Rewrote so + the test is performed with the right internal function since + [string match] no longer uses Tcl_StringCaseMatch internally. + + * tests/string.test (string-11.51): + * generic/tclUtf.c (Tcl_UniCharCaseMatch): + * generic/tclUtil.c (Tcl_StringCaseMatch): Fault with matching + case-insensitive non-ASCII patterns containing upper case + characters. [Bug #233257] + + ****************************************************************** + *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" *** + *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** + *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" *** + ****************************************************************** diff --git a/tcl/README b/tcl/README index 45c0ea1d2d7..e48983c5566 100644 --- a/tcl/README +++ b/tcl/README @@ -1,5 +1,5 @@ -README: Tk - This is the Tk 8.4.0 source distribution. +README: Tcl + This is the Tcl 8.4.0 source distribution. Tcl/Tk is also available through NetCVS: http://tcl.sourceforge.net/ You can get any source release of Tcl from the file distributions @@ -7,39 +7,180 @@ README: Tk RCS: @(#) $Id$ +Contents +-------- + 1. Introduction + 2. Documentation + 3. Compiling and installing Tcl + 4. Development tools + 5. Tcl newsgroup + 6. Tcl contributed archive + 7. Tcl Resource Center + 8. Mailing lists + 9. Support and Training + 10. Thank You + 1. Introduction --------------- +Tcl provides a powerful platform for creating integration applications that +tie together diverse applications, protocols, devices, and frameworks. +When paired with the Tk toolkit, Tcl provides the fastest and most powerful +way to create GUI applications that run on PCs, Unix, and the Macintosh. +Tcl can also be used for a variety of web-related tasks and for creating +powerful command languages for applications. + +Tcl is maintained, enhanced, and distributed freely by the Tcl community. +The home for Tcl/Tk sources and bug/patch database is on SourceForge: + + http://tcl.sourceforge.net/ -This directory contains the sources and documentation for Tk, an X11 -toolkit implemented with the Tcl scripting language. +with the Tcl Developer Xchange hosted at: -For details on features, incompatibilities, and potential problems with -this release, see the Tcl/Tk 8.4 Web page at + http://www.tcl.tk/ +Tcl is a freely available open source package. You can do virtually +anything you like with it, such as modifying it, redistributing it, +and selling it either in whole or in part. See the file +"license.terms" for complete information. + +2. Documentation +---------------- + +Extensive documentation is available at our website. +The home page for this release, including new features, is http://www.tcl.tk/software/tcltk/8.4.html -or refer to the "changes" file in this directory, which contains a -historical record of all changes to Tk. +Detailed release notes can be found at the file distributions page +by clicking on the relevant version. + http://sourceforge.net/project/showfiles.php?group_id=10894 + +Information about Tcl itself can be found at + http://www.tcl.tk/scripting/ + +There are many Tcl books on the market. Most are listed at + http://www.tcl.tk/resource/doc/books/ + +2a. Unix Documentation +---------------------- + +The "doc" subdirectory in this release contains a complete set of +reference manual entries for Tcl. Files with extension ".1" are for +programs (for example, tclsh.1); files with extension ".3" are for C +library procedures; and files with extension ".n" describe Tcl +commands. The file "doc/Tcl.n" gives a quick summary of the Tcl +language syntax. To print any of the man pages on Unix, cd to the +"doc" directory and invoke your favorite variant of troff using the +normal -man macros, for example + + ditroff -man Tcl.n + +to print Tcl.n. If Tcl has been installed correctly and your "man" program +supports it, you should be able to access the Tcl manual entries using the +normal "man" mechanisms, such as + + man Tcl + +2b. Windows Documentation +------------------------- + +The "doc" subdirectory in this release contains a complete set of Windows +help files for Tcl. Once you install this Tcl release, a shortcut to the +Windows help Tcl documentation will appear in the "Start" menu: + + Start | Programs | Tcl | Tcl Help + +3. Compiling and installing Tcl +------------------------------- -Tk is maintained, enhanced, and distributed freely by members of the -Tcl community. The home for Tcl/Tk sources and bug database is on -SourceForge at: +There are brief notes in the unix/README, win/README, and mac/README about +compiling on these different platforms. There is additional information +about building Tcl from sources at + + http://www.tcl.tk/doc/howto/compile.html + +4. TclPro Development tools +--------------------------- + +A high quality set of commercial quality development tools is available to +accelerate your Tcl application development. The TclPro product provides a +debugger, static code checker, packaging utility, and bytecode compiler. +TclPro was open-sourced when Scriptics/Ajuba was acquired by Interwoven. +Visit its home at SourceForge for more information and source/binaries: + + http://tclpro.sourceforge.net/ + +5. Tcl newsgroup +---------------- + +There is a network news group "comp.lang.tcl" intended for the exchange of +information about Tcl, Tk, and related applications. The newsgroup is a +great place to ask general information questions. For bug reports, please +see the "Support and bug fixes" section below. + +6. Tcl contributed archive +-------------------------- + +Many people have created exciting packages and applications based on Tcl +and/or Tk and made them freely available to the Tcl community. An archive +of these contributions is kept on the machine ftp.neosoft.com. You +can access the archive using anonymous FTP; the Tcl contributed archive is +in the directory "/pub/tcl". The archive also contains several FAQ +("frequently asked questions") documents that provide solutions to problems +that are commonly encountered by TCL newcomers. + +7. Tcl Resource Center +---------------------- + +Visit http://www.tcl.tk/resource/ to see an annotated index of +many Tcl resources available on the World Wide Web. This includes +papers, books, and FAQs, as well as development tools, extensions, +applications, binary releases, and patches. You can also recommend +additional URLs for the resource center using the forms labeled "Add a +Resource". + +8. Mailing lists +---------------- + +Several mailing lists are hosted at SourceForge to discuss development or +use issues (like Macintosh and Windows topics). For more information and +to subscribe, visit: + + http://sourceforge.net/projects/tcl/ + +and go to the Mailing Lists page. + +9. Support and Training +------------------------ + +We are very interested in receiving bug reports, patches, and suggestions +for improvements. We prefer that you send this information to us via the +bug form at SourceForge, rather than emailing us directly. The bug +database is at: http://tcl.sourceforge.net/ -with the Tcl Developer Xchange at: +The bug form was designed to give uniform structure to bug reports as +well as to solicit enough information to minimize followup questions. - http://www.tcl.tk/ +We will log and follow-up on each bug, although we cannot promise a +specific turn-around time. Enhancements may take longer and may not happen +at all unless there is widespread support for them (we're trying to slow +the rate at which Tcl/Tk turns into a kitchen sink). It's very difficult +to make incompatible changes to Tcl/Tk at this point, due to the size of +the installed base. -Tk is a freely available open source package. You can do virtually -anything you like with it, such as modifying it, redistributing it, -and selling it either in whole or in part. See the file -"license.terms" for complete information. +The Tcl community is too large for us to provide much individual support +for users. If you need help we suggest that you post questions to +comp.lang.tcl. We read the newsgroup and will attempt to answer esoteric +questions for which no-one else is likely to know the answer. In addition, +see the following Web site for links to other organizations that offer +Tcl/Tk training: + + http://www.tcl.tk/resource/community/commercial/training -2. See Tcl README ------------------ +10. Thank You +------------- -Please see the README file that comes with the associated Tcl release -for more information. There are pointers there to extensive -documentation. In addition, there are additional README files -in the subdirectories of this distribution. +We'd like to express our thanks to the Tcl community for all the +helpful suggestions, bug reports, and patches we have received. +Tcl/Tk has improved vastly and will continue to do so with your help. diff --git a/tcl/changes b/tcl/changes index 8d8da5bf953..d24add87332 100644 --- a/tcl/changes +++ b/tcl/changes @@ -1,5313 +1,5602 @@ -This file summarizes all changes made to Tk since version 1.0 was -released on March 13, 1991. Changes that aren't backward compatible -are marked specially. +Recent user-visible changes to Tcl: RCS: @(#) $Id$ -3/16/91 (bug fix) Modified tkWindow.c to remove Tk's Tcl commands from -the interpreter when the main window is deleted (otherwise there will -be dangling pointers to the non-existent window). +1. No more [command1] [command2] construct for grouping multiple +commands on a single command line. -3/16/91 (bug fix) Modified tkColor.c not to free black or white colors: -some X servers get upset at this. +2. Semi-colon now available for grouping commands on a line. -3/18/91 (bug fix) Modified tkShare.c to fix bug causing "DeleteGroup -couldn't find group on shareList" panic. +3. For a command to span multiple lines, must now use backslash-return +at the end of each line but the last. -3/18/91 (bug fix) Several changes to tkListbox.c and tkScrollbar.c to -handle listboxes (and scrollbars) with zero total entries in them. +4. "Var" command has been changed to "set". -3/22/91 (bug fix) Fixed a few ='s in tkListbox.c that should be ==. +5. Double-quotes now available as an argument grouping character. -3/22/91 (bug fix) Fixed error in main.c that caused BadWindow errors -in some cases where wish scripts invoke "destroy .". +6. "Return" may be used at top-level. -3/23/91 (new feature) Added Tk_CancelIdleCall to remove Tk_DoWhenIdle -handler. +7. More backslash sequences available now. In particular, backslash-newline +may be used to join lines in command files. -3/23/91 (bug fix and new feature) Added -name option to main.c, made -it more clever about choosing name (was always using the name "wish" -on most Unix systems). +8. New or modified built-in commands: case, return, for, glob, info, +print, return, set, source, string, uplevel. -3/23/91 (new feature) Added TK_CONFIG_STRING option to Tk_ConfigureWidget, -used it to malloc strings for various widget options that used to be -Tk_Uid's (e.g. button text, message strings, etc.). Eliminates core -leaks when values change in continuous non-repeating fashion. +9. After an error, the variable "errorInfo" is filled with a stack +trace showing what was being executed when the error occurred. -3/29/91 (new feature) Added Tk_Preserve, Tk_Release, and -Tk_EventuallyFree procedures to help manage widget records and avoid -premature memory free-ing. +10. Command abbreviations are accepted when parsing commands, but +are not recommended except for purely-interactive commands. -4/4/91 (bug fix) Fixed problem in tkWm.c where top-level window geometry -wasn't tracking correctly when wm-induced size change also changed window -position (e.g. menus wouldn't be displayed at the right places). +11. $, set, and expr all complain now if a non-existent variable is +referenced. -4/5/91 (new feature) Added "invoke" option to widget command for buttons, -check buttons, and radio buttons. +12. History facilities exist now. See Tcl.man and Tcl_RecordAndEval.man. -4/5/91 (new feature) Added "unpack" option to "pack" command. +13. Changed to distinguish between empty variables and those that don't +exist at all. Interfaces to Tcl_GetVar and Tcl_ParseVar have changed +(NULL return value is now possible). *** POTENTIAL INCOMPATIBILITY *** -4/5/91 (bug fix) Changed tkPack.c to use new Tk_Preserve code and be -more careful about window deletions that occur while repacking is in -progress. +14. Changed meaning of "level" argument to "uplevel" command (1 now means +"go up one level", not "go to level 1"; "#1" means "go to level 1"). +*** POTENTIAL INCOMPATIBILITY *** -4/6/91 (bug fix) Major overhaul of deletion code in all widgets to use -Tk_Preserve and Tk_Release. Should fix many problems. +15. 3/19/90 Added "info exists" option to see if variable exists. -4/6/91 (bug fix) Changed "winfo children" to generate correct lists -when child names have embedded spaces. +16. 3/19/90 Added "noAbbrev" variable to prohibit command abbreviations. -4/6/91 (new feature) Added "screenheight" and "screenwidth" options to -"winfo". +17. 3/19/90 Added extra errorInfo option to "error" command. -4/18/91 (bug fix) Binding mechanism didn't correctly handle very long -%-substitutions in commands (e.g. long path names) and caused memory -to be overwritten. Modified tkBind.c to fix. +18. 3/21/90 Double-quotes now only affect space: command, variable, +and backslash substitutions still occur inside double-quotes. +*** POTENTIAL INCOMPATIBILITY *** ----------------------- Release 1.1, 4/18/91 ------------------------- +19. 3/21/90 Added support for \r. -4/19/91 (bug fix) Inconsistent ICCCM handling of coordinates of reparented -windows causes windows to gradually walk south when moved or resized. -Fixed tkWm.c to patch around the problem. +20. 3/21/90 List, concat, eval, and glob commands all expect at least +one argument now. *** POTENTIAL INCOMPATIBILITY *** ----------------------- Release 1.2, 4/24/91 ------------------------- +21. 3/22/90 Added "?:" operators to expressions. -4/26/91 (new feature) Added -geometry and -display switches to wish. -Also wrote wish manual entry. +22. 3/25/90 Fixed bug in Tcl_Result that caused memory to get trashed. -5/3/91 (bug fix) Fixed bug in tkListbox.c that caused garbage to appear -at right edge of window when strings were to large to fit in window. +------------------- Released version 3.1 --------------------- -5/3/91 (bug fix) Fixed bug in tkListbox.c where topIndex wasn't getting -updated when elements were deleted: tended to cause errors in -communication with scrollbars. +23. 3/29/90 Fixed bug that caused "file a.b/c ext" to return ".b/c". -5/16/91 (bug fix) Fixed bug in tk3d.c, which caused core dumps when -consecutive points in a polygon were the same (happened with some -configurations of radio buttons, for example). +24. 3/29/90 Semi-colon is not treated specially when enclosed in +double-quotes. -5/16/91 (bug fix) Fixed main.c to allow stdin to be redirected. +------------------- Released version 3.2 --------------------- -6/1/91 (bug fix) Make sure that pointers are never used after being -freed. +25. 4/16/90 Rewrote "exec" not to use select or signals anymore. +Should be more Sys-V compatible, and no slower in the normal case. -6/15/91 (bug fix) Fixed bug in tkBind.c that caused current binding -values to not always be printed correctly. +26. 4/18/90 Rewrote "glob" to eliminate GNU code (there's no GNU code +left in Tcl, now), and added Tcl_TildeSubst procedure. Added automatic +tilde-substitution in many commands, including "glob". -6/15/91 (bug fix) Make sure that interpreters are always unregistered -when their main windows are deleted, and make wish delete the main -window before exiting. +------------------- Released version 3.3 --------------------- -8/21/91 (misfeature correction) Automatically set source of window -position to "user" in "wm geometry" command, unless it has been -explicitly set to "program". +27. 7/11/90 Added "Tcl_AppendResult" procedure. -9/5/91 (bug fix) Modified option code to accept '#' as a comment -character in .Xdefaults files, in addition to '!'. +28. 7/20/90 "History" with no options now defaults to "history info" +rather than to "history redo". Although this is a backward incompatibility, +it should only be used interactively and thus shouldn't present any +compatibility problems with scripts. -9/10/91 (misfeature correction) Changed binding mechanism so that -numeric %-sequences are output in decimal instead of hex. +29. 7/20/90 Added "Tcl_GetInteger", "Tcl_GetDouble", and "Tcl_GetBoolean" +procedures. -9/19/91 (bug fix) Fixed bug in Tk_DoOneEvent(1) where it wasn't -checking files and X connections properly so it missed events. +30. 7/22/90 Removed "Tcl_WatchInterp" procedure: doesn't seem to be +necessary, since the same effect can be achieved with the deletion +callbacks on individual commands. *** POTENTIAL INCOMPATIBILITY *** -10/6/91 (new feature) Reorganized tkBind.c to provide generic "binding -table" structure, which can be used to create bindings on items in -canvases as well as windows. +31. 7/23/90 Added variable tracing: Tcl_TraceVar, Tcl_UnTraceVar, +and Tcl_VarTraceInfo procedures, "trace" command. -10/6/91 (new feature) Upgraded buttons and menus to use new tracing -code in Tcl 6.0. Allows radio buttons and check buttons to both set -and clear themselves when associated variable changes. +32. 8/9/90 Mailed out list of all bug fixes since 3.3 release. -10/17/91 (bug fix) Fixed 2 bugs in listboxes: accidentally advanced the -selection when new entries were inserted in the listbox after the location -of the selected item(s), and goofed up on redisplay if selected item -was deleted and then selection was immediately lost. +33. 8/29/90 Fixed bugs in Tcl_Merge relating to backslashes and +semi-colons. Mailed out patch. -10/27/91 (bug fix) "pack unpack" wasn't telling Tk that it no longer -manages window; this led to core dumps in some situations. +34. 9/3/90 Fixed bug in tclBasic.c: quotes weren't quoting ]'s. +Mailed out patch. -10/31/91 (reorganization) Renamed manual entries so that they are no -more than 14 characters in length. +35. 9/19/90 Rewrote exec to always use files both for input and +output to the process. The old pipe-based version didn't work if +the exec'ed process forked a child and then exited: Tcl waited +around for stdout to get closed, which didn't happen until the +grandchild exited. -10/31/91 (reorganization) Changed tk.h and tkInt.h so that tkInt.h -doesn't needed to be included by tk.h. +36. 11/5/90 ERR_IN_PROGRESS flag wasn't being cleared soon enough +in Tcl_Eval, allowing error messages from different commands to +pile up in $errorInfo. Fixed by re-arranging code in Tcl_Eval that +re-initializes result and ERR_IN_PROGRESS flag. Didn't mail out +patch: changes too complicated to describe. -11/3/91 (portability improvement) Eliminated use of "class" as a variable -name, since it's a reserved word in C++. +37. 12/19/90 Added Tcl_VarEval procedure as a convenience for +assembling and executing Tcl commands. -11/7/91 (reorganization) Many changes to upgrade for Tcl 6.1 including -use of Tcl hash tables instead of separate "Hash_" module. The "lib" -subdirectory is no longer needed in Tk. +38. 1/29/91 Fixed core leak in Tcl_AddErrorInfo. Also changed procedure +and Tcl_Eval so that first call to Tcl_AddErrorInfo need not come from +Tcl_Eval. ----------------------- Release 1.3, 11/7/91 ------------------------- +----------------- Released version 5.0 with Tk ------------------ -11/24/91 (bug fix) Fixed bug causing occasional errors if existing bindings -are modified (FindSequence in tkBind.c forget to set *maskPtr). +39. 4/3/91 Removed change bars from manual entries, leaving only those +that came after version 3.3 was released. -11/24/91 (bug fix) Used wrong hash table in Tk_GetColorByValue. Could -cause new entries to get created unnecessarily. +40. 5/17/91 Changed tests to conform to Mary Ann May-Pumphrey's approach. + +41. 5/23/91 Massive revision to Tcl parser to simplify the implementation +of string and floating-point support in expressions. Newlines inside +[] are now treated as command separators rather than word separators +(this makes newline treatment consistent throughout Tcl). +*** POTENTIAL INCOMPATIBILITY *** -12/2/91 (bug fix) Changed "bind" code to put backslashes in front of -special characters (e.g. [ or \) that appear in %-replacements, so that -they can be parsed cleanly. +42. 5/23/91 Massive rewrite of expression code to support floating-point +values and simple string comparisons. The C interfaces to expression +routines have changed (Tcl_Expr is replaced by Tcl_ExprLong, Tcl_ExprDouble, +etc.), but all old Tcl expression strings should be accepted by the new +expression code. +*** POTENTIAL INCOMPATIBILITY *** -12/10/91 (bug fix) Manual entries had first lines that caused "man" program -to try weird preprocessor. Added blank comment lines to fix problem. +43. 5/23/91 Modified tclHistory.c to check for negative "keep" value. -1/2/92 (documentation cleanup) Changed manual entries for Tk_GetBitmap -and the like to make it more clear that the argument must be a Tk_Uid -and not a string. +44. 5/23/91 Modified Tcl_Backslash to handle backslash-newline. It now +returns 0 to indicate that a backslash sequence should be replaced by +no character at all. +*** POTENTIAL INCOMPATIBILITY *** -1/2/92 (bug fix) Fixed problem where scrollbars that were very short or -very narrow (too small to hold both arrows) could cause negative values -in calls to XClearArea, which crashed some servers. +45. 5/29/91 Modified to use ANSI C function prototypes. Must set +"USE_ANSI" switch when compiling to get prototypes. -1/2/92 (bug fix) Fixed bug in TkMeasureChars occurring when maxChars -is 0. Occasionally affected things like message window geometry. +46. 5/29/91 Completed test suite by providing tests for all of the +built-in Tcl commands. -1/3/92 (new feature) Added procedures Tk_GetJustify, Tk_GetAnchor, -Tk_GetCapStyle, and Tk_GetJoinStyle, plus support for these things -in Tk_ConfigureWidget. +47. 5/29/91 Changed Tcl_Concat to eliminate leading and trailing +white-space in each of the things it concatenates and to ignore +elements that are empty or have only white space in them. This +produces cleaner output from the "concat" command. +*** POTENTIAL INCOMPATIBILITY *** + +48. 5/31/91 Changed "set" command and Tcl_SetVar procedure to return +new value of variable. ----------------------- Release 1.4, 1/10/92 ------------------------- +49. 6/1/91 Added "while" and "cd" commands. -1/12/92 (bug fix) TkMenubutton.c wasn't cleaning up mbPtr->varName -properly during menubutton cleanup if an error occurred during -menubutton creation. +50. 6/1/91 Changed "exec" to delete the last character of program +output if it is a newline. In most cases this makes it easier to +process program-generated output. +*** POTENTIAL INCOMPATIBILITY *** -1/19/92 (bug fix) Fixed off-by-one bug in tkListbox.c that caused -scrollbars to display a slider that was too large. +51. 6/1/91 Made sure that pointers are never used after freeing them. -2/10/92 (bug fix) Tk_CreateFileHandler didn't correctly handle case -where new mask was specified for existing handler. +52. 6/1/91 Fixed bug in TclWordEnd where it wasn't dealing with +[] inside quotes correctly. -2/13/92 (bug fix) Tk_DeleteAllBindings wasn't correctly removing -bindings from the pattern table: only did the removal for the -first pattern in a pattern list. +53. 6/8/91 Fixed exec.test to accept return values of either 1 or +255 from "false" command. -2/15/92 (new feature) Added procedures Tk_DefineBitmap and -Tk_SizeOfBitmap. Tk_GetBitmapFromData is now considered obsolete -and probably shouldn't be used anymore. Tk_GetBitmapFromData -is now implemented by calling Tk_DefineBitmap and Tk_GetBitmap. +54. 7/6/91 Massive overhaul of variable management. Associative +arrays now available, along with "unset" command (and Tcl_UnsetVar +procedure). Variable traces have been completely reworked: +interfaces different both from Tcl and C, and multiple traces may +exist on same variable. Can no longer redefine existing local +variable to be global. Calling sequences have changed slightly +for Tcl_GetVar and Tcl_SetVar ("global" is now "flags"). Tcl_SetVar +can fail and return a NULL result. New forms of variable-manipulation +procedures: Tcl_GetVar2, Tcl_SetVar2, etc. Syntax of variable +$-notation changed to support array indexing. +*** POTENTIAL INCOMPATIBILITY *** -2/15/92 (new feature) Added "curselection" and "select clear" options -to widget command for listboxes. +55. 7/6/91 Added new list-manipulation procedures: Tcl_ScanElement, +Tcl_ConvertElement, Tcl_AppendElement. -2/15/92 (new feature) Added Tk_3DBorderColor procedure. +56. 7/12/91 Created new procedure Tcl_EvalFile, which does most of the +work of the "source" command. -2/17/92 (relaxed limitations) Changed scrollbars so they no longer limit -the slider position to lie within the object's range: can scroll off the -end of an object, if the object permits it. Changed listboxes and -entries to explicitly prevent viewing off the ends. Also relaxed -listbox index checks so that out-of-range indices are automatically -adjust to fit within the listbox range. +57. 7/20/91 Major reworking of "exec" command to allow pipelines, +more redirection, background. Added new procedures Tcl_Fork, +Tcl_WaitPids, Tcl_DetachPids, and Tcl_CreatePipeline. The old +"< input" notation has been replaced by "<< input" ("<" is for +redirection from a file). Also handles error returns and abnormal +terminations (e.g. signals) differently. +*** POTENTIAL INCOMPATIBILITY *** -2/19/92 (bug fix) tkWindow.c tended to leave half-created windows around -if a new window's name was found to be in use already. Fixed to clean -them up. +58. 7/21/91 Added "append" and "lappend" commands. -2/22/92 (new feature) Added -anchor, -bitmap, -height, -textvariable, --width options to labels, buttons, check buttons, menu buttons, and radio -buttons. This means that (a) size can be controlled better, (b) bitmaps -can be displayed in any buttons, (c) the position of the text within the -button can be controlled, and (d) a button can be made to display the value -of a variable, continuously updating itself. Also changed -selector option -so that if it's specified as an empty string then no selector is drawn -for the button. +59. 7/22/91 Reworked error messages and manual entries to use +?x? as the notation for an optional argument x, instead of [x]. The +bracket notation was often confused with the use of brackets for +command substitution. Also modified error messages to be more +consistent. -2/22/92 (new feature) Changed menus to support bitmaps in menu entries: -added new -bitmap option for entries. +60. 7/23/91 Tcl_DeleteCommand now returns an indication of whether +or not the command actually existed, and the "rename" command uses +this information to return an error if an attempt is made to delete +a non-existent command. +*** POTENTIAL INCOMPATIBILITY *** -2/26/92 (bug fix) "after" command, when invoked with just one argument, -called Tk_Sleep rather than registering a timer handler and looping on -Tk_DoOneEvent. As a result, it caused the application to become non- -responsive to X events during the sleep. Changed to use a Tk_DoOneEvent -loop so that it is responsive. +61. 7/25/91 Added new "errorCode" mechanism, along with procedures +Tcl_SetErrorCode, Tcl_UnixError, and Tcl_ResetResult. Renamed +Tcl_Return to Tcl_SetResult, but left a #define for Tcl_Return to +avoid compatibility problems. -2/26/92 (bug fix) Tk's main program didn't map the main window until -after the startup script returned. Changed to map the window as a -do-when-idle handler, so that scripts can cause the window to be -mapped immediately with a call to "update" or "after". +62. 7/26/91 Extended "case" command with alternate syntax where all +patterns and commands are together in a single list argument: makes +it easier to write multi-line case statements. -2/28/92 (bug fix) "wm withdraw" wasn't working if invoked before window -was originally mapped: window got mapped anyway. Fixed so that the -window doesn't get mapped as long as it's withdrawn. +63. 7/27/91 Changed "print" command to perform tilde-substitution on +the file name. -2/29/92 (new feature) Can use "focus none" to clear input focus. +64. 7/27/91 Added "tolower", "toupper", "trim", "trimleft", and "trimright" +options to "string" command. -2/29/92 (bug fix) Fixed tkEvent.c to generate SubstructureNotify events -properly. These weren't being generated previously. +65. 7/29/91 Added "atime", "mtime", "size", and "stat" options to "file" +command. -2/29/92 (bug fix) Fixed entries so that newline characters can be properly -displayed (as `\x0a'). Had to change interface to TkDisplayChars in order -to do this (added flags argument). +66. 8/1/91 Added "split" and "join" commands. -2/29/92 (bug fix) Change Tk not to update size and position of top-level -windows directly during calls like Tk_ResizeWindow. Instead, wait until -actual event is received. This makes updates happen at same time as -callbacks. +67. 8/11/91 Added commands for file I/O, including "open", "close", +"read", "gets", "puts", "flush", "eof", "seek", and "tell". -3/6/92 (bug fix) TkMenubutton.c was dumping core when a menubutton was -pressed at a time when there was no associated menu for the button. - -3/6/92 (new feature) Added Tk script library directory with official -Tk initialization file "tk.tcl". Other procedures used by Tk are in -other files. Tk procedures and variables all have names starting -with "tk_". Also added Wish startup script "wish.tcl", which sources -both the Tk and Tcl startup scripts. This means that things like -auto-loading and abbreviation expansion are now available in wish. -Added new variables tk_library, tk_priv, and tk_version. - -3/6/92 (new feature) It's now possible to set bindings for whole -classes by using the class name in the bind command. For example, -"bind Button {puts stdout Hi!}" will cause a message to be -printed whenever any mouse button is entered. Can also use "all" -to set bindings for all widgets. Widget-specific bindings override -class bindings which override "all" bindings. - -3/6/92 (reorganization) Changed buttons (all flavors) and listboxes to -eliminate all hard-wired behavior. Instead, default behavior is set -by class bindings in tk.tcl. Also set up class bindings for menus, -menubuttons, and entries, which previously had no default behavior at -all. Scrollbars and scales still have hard-wired behavior that can't -be overridden. - -3/7/92 (look-and-feel change) Changed listboxes and entries and menus -to use button 2 for scanning instead of button 3. This is more consistent -with the official Motif use of button 2 for dragging. - -3/10/92 (new features) Added more options to "winfo" command: screencells, -screendepth, screenmmheight, screenmmwidth, and screenvisual. - -3/13/92 (bug fix) Event sharing mechanism (tkShare.c) wasn't checking -to see whether window was mapped before sharing events with it. - -3/16/92 (bug fix) Tk_SetInternalBorderWidth was passing wrong window to -geometry-management procedures, causing core-dumps when menu buttons -had their border widths changed. - -3/16/92 (bug fix) Menus were setting their geometry directory rather -than using Tk_GeometryRequest mechanism. - -3/17/92 (new feature) Added -cursor option to all widgets to set the -active cursor for the widget. Also added TK_CONFIG_ACTIVE_CURSOR -configure type. - -3/18/92 (new feature) Implemented generalized screen coordinates to -allow resolution-independent specification in many cases (but pixel- -based coordinates are still OK). Added Tk_GetScreenMM(), -Tk_GetPixels(), new configure types TK_CONFIG_SCREEN_MM and -TK_CONFIG_PIXELS. Changed widgets to use this new configure types -wherever possible (a few of the more complex cases still haven't -been taken care of yet). Added "pixels" and "fpixels" options to -"winfo" command. - -3/18/92 (new feature) First cut at canvas widgets is done and part of -the official Tk now. Canvases display text and structured graphics, -and allow you to bind commands to events related to the text and -graphics. - -3/21/92 (new feature) Added new "place" command. It implements a -new geometry manager that provides fixed placement, rubber-sheet -placement, and combinations of the two. Eliminated the commands -"move", "resize", and "map" that were provided by main.c but never -officially supported; the placer provides all of this functionality. - -3/23/92 (bug fix) Fixed bug in tkWm.c where top-level windows were -occasionally not being given the right size. The problem occurred -when a string of resizes happened all in a row (such as deleting all -the windows in an application and then recreating them). - -3/23/92 (new feature) Added Tk_CoordsToWindow procedure and -"winfo containing" command. These may be used to locate the window -containing a given point. - -3/28/92 (new feature) Added "-exportselection" option to listboxes, -so that listbox selection need not necessarily be the X selection. - -4/12/92 (bug fix) Changed menu buttons to store name of menubutton -in the associated variable, rather than the name of the menu. This -is necessary in order to allow several menu buttons to share the -same menu. +68. 8/14/91 Switched to use a hash table for command lookups. Command +abbreviations no longer have direct support in the Tcl interpreter, but +it should be possible to simulate them with the auto-load features +described below. The "noAbbrev" variable is no longer used by Tcl. *** POTENTIAL INCOMPATIBILITY *** -4/12/92 (bug fix) Fixed core dump that occurred in tkError.c when -removing the first error record from the error list. +68.5 8/15/91 Added support for "unknown" command, which can be used to +complete abbreviations, auto-load library files, auto-exec shell +commands, etc. -4/15/92 (bug fix) Fixed bug in tkBind.c that prevented -event specifications from being processed correctly: the "1" was -treated as a button name rather than a keysym. +69. 8/15/91 Added -nocomplain switch to "glob" command. -4/18/92 (new feature) Added Tk_DefineCursor and Tk_UndefineCursor -procedures. +70. 8/20/91 Added "info library" option and TCL_LIBRARY #define. Also +added "info script" option. -4/18/92 (new feature) Major revision to listboxes. Can now scroll and -scan in both x and y, plus -exportselection option allows selection not -to be exported. The "view" widget command has been replaced by "xview" -and "yview", and the "scan" widget command has a new syntax. +71. 8/20/91 Changed "file" command to take "option" argument as first +argument (before file name), for consistency with other Tcl commands. *** POTENTIAL INCOMPATIBILITY *** -4/18/92 (new feature) Added -exportselection option to entries, so you -can select whether you want the entry selection to be the X selection -or not. - -4/24/92 (new features) Added TK_CONFIG_CUSTOM type to Tk_ConfigureWidget, -plus added new flags TK_CONFIG_NULL_OK, TK_CONFIG_DONT_SET_DEFAULT, -and TK_CONFIG_OPTION_SPECIFIED. Several other new types, such as -TK_CONFIG_CAP_STYLE, were also added as part of implementing canvases. - -4/29/92 (bug fix) Changed "-selector" default for menus to have separate -values for mono and color. - -4/30/92 (bug fix) Fixed bug in tkListbox.c where it occasionally generated -bogus scroll commands (last index less than first). +72. 8/20/91 Changed format of information in $errorInfo variable: +comments such as + ("while" body line 1) +are now on separate lines from commands being executed. +*** POTENTIAL INCOMPATIBILITY *** -4/30/92 (reorganization) Moved demos directory to "library/demos". +73. 8/20/91 Changed Tcl_AppendResult so that it (eventually) frees +large buffers that it allocates. ----------------------- Release 2.0, 5/1/92 ------------------------- +74. 8/21/91 Added "linsert", "lreplace", "lsearch", and "lsort" +commands. -5/2/92 (bug fix) Fixed problem in tkListbox.c where it was doing too many -redisplays after repeated insertions. Also reduced number of invocations -of scrollbar commands. +75. 8/28/91 Added "incr" and "exit" commands. -5/7/92 (portability improvement) Changed main.c not to use TK_EXCEPTION -flag; it isn't needed and it causes problems on some systems. +76. 8/30/91 Added "regexp" and "regsub" commands. -5/9/92 (bug fix) Plugged core leaks in tkListbox.c and tkBind.c +77. 9/4/91 Changed "dynamic" field in interpreters to "freeProc" (procedure +address). This allows for alternative storage managers. +*** POTENTIAL INCOMPATIBILITY *** -5/9/92 (bug fix) TkBind.c was accidentally deleting bindings during -attempts to print non-existent bindings. +78. 9/6/91 Added "index", "length", and "range" options to "string" +command. Added "lindex", "llength", and "lrange" commands. -5/11/92 (bug fix) Maximum name length for applications (name used in -"send" commands) was too short (only 20); increased to 1000. Also -fixed bug related to over-long names that caused core dumps. +79. 9/8/91 Removed "index", "length", "print" and "range" commands. +"Print" is redundant with "puts", but less general, and the other +commands are replaced with the new commands described in change 78 +above. +*** POTENTIAL INCOMPATIBILITY *** -5/13/92 (bug fix) tkShare.c was using a dangling pointer if a share -group was deleted as a side-effect of a shared event. +80. 9/8/91 Changed history revision to occur even when history command +is nested; needed in order to allow "history" to be invoked from +"unknown" procedure. -5/13/92 (bug fix) Various initialization and core leak problems in -tkGC.c, tkSend.c, tkMenu.c, tkEvent.c, tkCanvas.c, tkCanvPoly.c, -tkCanvLine.c, tkListbox.c, tkEntry.c. +81. 9/13/91 Changed "panic" not to use vfprintf (it's uglier and less +general now, but makes it easier to run Tcl on systems that don't +have vfprintf). Also changed "strerror" not to redeclare sys_errlist. -5/13/92 (bug fix) Empty entries could be scanned off the left edge, -displaying a garbage character. +82. 9/19/91 Lots of changes to improve portability to different UNIX +systems, including addition of "config" script to adapt Tcl to the +configuration of the system it's being compiled on. -5/13/92 (bug fix) Fixed a few problems with window manager interactions, -such as tendency for windows to spontaneously shrink in size. By no -means are all of the problems fixed, though. +83. 9/22/91 Added "pwd" command. -5/13/92 (performance optimization) Changed Tk_GeometryRequest not to -invoke geometry manager unless requested size has changed. +84. 9/22/91 Renamed manual pages so that their filenames are no more +than 14 characters in length, moved to "doc" subdirectory. ----------------------- Release 2.1, 5/14/92 ------------------------- +85. 9/24/91 Redid manual entries so they contain the supplemental +macros that they need; can just print with "troff -man" or "man" +now. -5/1/92 (new features) Added flags like TK_IDLE_EVENTS to Tk_DoWhenIdle, -plus added "idletasks" option to "update" command. Tk_DoWhenIdle arguments -look different now, but the change should be upward-compatible. +86. 9/26/91 Created initial version of script library, including +a version of "unknown" that does auto-loading, auto-execution, and +abbreviation expansion. This library is used by tclTest +automatically. See the "library" manual entry for details. -5/17/92 (new feature/bug fix) Added support for VisibilityNotify events -to the "bind" command. For some reason they weren't supported previously. +----------------- Released version 6.0, 9/26/91 ------------------ -5/17/92 (new feature) Added "tkwait" command. +87. 9/30/91 Made "string tolower" and "string toupper" check case +before converting: on some systems, "tolower" and "toupper" assume +that character already has particular case. -5/17/92 (new feature) Added "grab" command. +88. 9/30/91 Fixed bug in Tcl_SetResult: wasn't always setting freeProc +correctly when called with NULL value. This tended to cause memory +allocation errors later. -5/17/92 (new feature) Added "-width" option to messages. Also changed -messages to use the computed (i.e. desired) line length when displaying, -not the actual width of the window. +89. 10/3/91 Added "upvar" command. -5/17/92 (bug fixes) Did some more fiddling with tkWm.c in the hopes -of improving window manager interactions. Now there won't be more than -one configure request outstanding to the wm at a time. +90. 10/4/91 Changed "format" so that internally it converts %D to %ld, +%U to %lu, %O to %lo, and %F to %f. This eliminates some compatibility +problems on some machines without affecting behavior. -5/17/92 (bug fix) Arrowheads on canvas lines weren't being translated -or scaled correctly. +91. 10/10/91 Fixed bug in "regsub" that caused core dumps with the -all +option when the last match wasn't at the end of the string. -5/20/92 (bug fix) Page-mode scrolling didn't work correctly for canvases -(wrong windowUnits was passed to scrollbars). +92. 10/17/91 Fixed problems with backslash sequences: \r support was +incomplete and \f and \v weren't supported at all. -5/20/92 (bug fix) Changed scrollbars not to lose highlight when pointer -leaves window with button down. Also changed redisplay to double-buffer -for smoother redraws. +93. 10/24/91 Added Tcl_InitHistory procedure. -5/21/92 (new feature) Added "gray50" and "gray25" as predefined bitmaps. +94. 10/24/91 Changed "regexp" to store "-1 -1" in subMatchVars that +don't match, rather than returning an error. -5/22/92 (new feature) Buttons can now be disabled using the "-state" and -"-disabledforeground configuration options. The "activate" and "deactivate" -widget commands for buttons are now obsolete and will go away soon. -Please change Tcl scripts not to use them. +95. 10/27/91 Modified "regexp" to return actual strings in matchVar +and subMatchVars instead of indices. Added "-indices" switch to cause +indices to be returned. +*** POTENTIAL INCOMPATIBILITY *** -5/23/92 (new feature) Entries can now be disabled using the "-state" -config option. Also improved class bindings for entries to keep the -cursor visible in the window when operations occur. Also made slight -improvements in the way redisplay is done. +96. 10/27/91 Fixed bug in "scan" where it used hardwired constants for +sizes of floats and doubles instead of using "sizeof". -5/23/92 (new feature) Added "-textvariable" option to entries so that -the text in an entry can be tied to the value of a global variable in -a fashion similar to buttons. +97. 10/31/91 Fixed bug in tclParse.c where parse-related error messages +weren't being storage-managed correctly, causing spurious free's. -5/27/92 (new feature) Added "-textvariable" and "-anchor" options to -messages. +98. 10/31/91 Form feed and vertical tab characters are now considered +to be space characters by the parser. -5/28/92 (new feature) Added "-padx" and "-pady" and "-underline" options -to menubuttons. +99. 10/31/91 Added TCL_LEAVE_ERR_MSG flag to procedures like Tcl_SetVar. -5/28/92 (feature change) Changed "-width" and "-height" options on -all flavors of buttons and menubuttons so that they are orthogonal -to "-padx" and "-pady". It used to be that -width overrode -padx -(no padding). Now they accumulate. +100. 11/7/91 Fixed bug in "case" where "in" argument couldn't be omitted +if all case branches were embedded in a single list. -5/29/92 (new feature) Added "-disabledforeground" option to menus and -all flavors of buttons (can specify color for disabled things rather -than just using stipple to gray out). +101. 11/7/91 Switched to use "pid_t" and "uid_t" and other official +POSIC types and function prototypes. -5/29/92 (new features) Added many new options to menu entries: --activebackground, -background, -font, -state, -underline. The -"disable" and "enable" widget commands for menus are now obsolete -and will go away soon. Please change Tcl scripts not to use them. +----------------- Released version 6.1, 11/7/91 ------------------ -5/29/92 (new features) Added "atom" and "atomname" options to "winfo" -command. +102. 12/2/91 Modified Tcl_ScanElement and Tcl_ConvertElement in several +ways. First, allowed caller to request that only backslashes be used +(no braces). Second, made Tcl_ConvertElement more aggressive in using +backslashes for braces and quotes. -5/29/92 (new feature) Wrote tk_listboxSingleSelect procedure, which -can be used to change listbox behavior so that only a single item is -selected at once. +103. 12/5/91 Added "type", "lstat", and "readlink" options to "file" +command, plus added new "type" element to output of "stat" and "lstat" +options. -6/1/92 (new feature) Added new modifier names "Meta" and "Alt" for -"bind" command. +104. 12/10/91 Manual entries had first lines that caused "man" program +to try weird preprocessor. Added blank comment lines to fix problem. -6/3/92 (new feature) Added "winfo toplevel" command. +105. 12/16/91 Fixed a few bugs in auto_mkindex proc: wasn't handling +errors properly, and hadn't been upgraded for new "regexp" syntax. -6/3/92 (new feature) Made several changes for greater Motif compliance, -including: - - menu retention if you click and release in the menu button, - - keyboard traversal of menus (see traversal.man) - - no widget flashing if you set $tk_strictMotif to 1 +106. 1/2/92 Fixed bug in "file" command where it didn't properly handle +a file names containing tildes where the indicated user doesn't exist. -6/15/92 (bug fix) Fixed problem in tkBind.c where command string for a -binding could get reallocated while the command was being executed (e.g. -bindings that delete or change themselves). +107. 1/2/92 Fixed lots of cases in tclUnixStr.c where two different +errno symbols (e.g. EWOULDBLOCK and EAGAIN) have the same number; Tcl +will only use one of them. -6/15/92 (bug fix) Don't allow "tabWidth" field to become zero in tkFont.c: -can cause core dumps for fonts that don't enough information to compute -tab widths. +108. 1/2/92 Lots of changes to configuration script to handle many more +systems more gracefully. E.g. should now detect the bogus strtoul that +comes with AIX and substitute Tcl's own version instead. -6/19/92 (bug fix) Fixed bug in binding mechanism that caused structure- -related events to be reported both to the correct window and its parent. +----------------- Released version 6.2, 1/10/92 ------------------ -7/14/92 (bug fix) Changed tkColor.c not to free colors for visual types -StaticGray or StaticColor. +109. 1/20/92 Config didn't have code to actually use "uid_t" variable +to set TCL_UIT_T #define. -7/15/92 (new feature) Text widgets now exist. They display any number of -lines of text with a variety of display formats, and include hypertext -facilities. See the manual page for details. +110. 2/10/92 Tcl_Eval didn't properly reset "numLevels" variable when +too-deep recursion occurred. -7/20/92 (bug fix) If a top-level window was put in the iconic state to -begin with, it could be deiconified with "wm deiconify .foo" until it had -first been deiconified by hand from the window manager. Tk was getting -confused and thought the window was mapped when it wasn't. +111. 2/29/92 Added "on" and "off" to keywords accepted by Tcl_GetBoolean. -7/29/92 (bug fix) Don't permit rectangles or ovals to have zero-sized -dimensions. Round up to at least one pixel. +112. 3/19/92 Config wasn't installing default version of strtod.c for +systems that don't have one in libc.a. -7/29/92 (new features) Major upgrade to canvases: - - new item types: arc, window, bitmap - - added Bezier spline support for lines and polygons - - rectangles and ovals now center their outlines on the shape, - rather than drawing them entirely inside the shape - - new "coords" and "bbox" widget commands - - new "-tags" option for all item types. - - new "-confine" option to prevent scrolling off edge of canvas. +113. 3/23/92 Fixed bug in tclExpr.c where numbers with leading "."s, +like 0.75, couldn't be properly substituted into expressions with +variable or command substitution. -8/6/92 (new feature) Added "-width" and "-height" options to frames. -The "-geometry" option is now obsolete and should be removed from Tcl -scripts: it may go away in the future. +114. 3/25/92 Fixed bug in tclUnixAZ.c where "gets" command wasn't +checking to make sure that it was able to write the variable OK. -8/7/92 (bug fix) Error messages in Tk_ParseArgv were sometimes including -the option name where they should have included its value. +115. 4/16/92 Fixed bug in tclUnixAZ.c where "read" command didn't +compute file size right for device files. ----------------------- Release 2.2, 8/7/92 ------------------------- +116. 4/23/92 Fixed but in tclCmdMZ.c where "trace vinfo" was overwriting +the trace command. -8/7/92 (bug fix) Changed tkCanvas.c to be more conservative in the area -it passes to XCopyArea. +----------------- Released version 6.3, 5/1/92 ------------------ -8/8/92 (bug fix) Fixed bug in tkTextDisp.c that sometimes caused core -dumps when text views changed (e.g. typing return on last line of screen). +117. 5/1/92 Added Tcl_GlobalEval. -8/8/92 (bug fix) Fixed bug in menu.tcl that caused errors when using -keyboard to traverse over separator menu entries. +118. 6/1/92 Changed auto-load facility to source files at global level. -8/10/92 (bug fix) Changed to use OPEN_MAX instead of MAX_FD to compute -maximum # of open files. +119. 6/8/92 Tcl_ParseVar wasn't always setting termPtr after errors, which +sometimes caused core dumps. -8/10/92 (bug fix) Canvases weren't updating scrollbars on window size -changes. They also weren't recentering canvases on window size changes. +120. 6/21/92 Fixed bug in initialization of regexp pattern cache. This +bug caused segmentation violations in regexp commands under some conditions. -8/10/92 (bug fix) There were still a few places where commands were being -invoked at local level instead of global level (e.g. commands associated -with buttons and menu entries). +121. 6/22/92 Changed implementation of "glob" command to eliminate +trailing slashes on directory names: they confuse some systems. There +shouldn't be any user-visible changes in functionality except for names +in error messages not having trailing slashes. -8/10/92 (bug fix) TkBind.c used to ignore explicit shift modifiers for -all keys (i.e. was treated the same as ). Modified to -allow explicit request for shift modifier, like . +122. 7/2/92 Fixed bug that caused 'string match ** ""' to return 0. -8/13/92 (feature change) Changed default fonts to request "Adobe" fonts -explicitly. +123. 7/2/92 Fixed bug in Tcl_CreateCmdBuf where it wasn't initializing +the buffer to an empty string. -8/16/92 (bug fixes) Modified tkCanvArc.c and tkTrig.c to increase slightly -the bounding boxes for arcs, in order to make sure that proper redisplay -occurs when arcs are moved (little turds were getting left behind). +124. 7/6/92 Fixed bug in "case" command where it used NULL pattern string +after errors in the "default" clause. -8/16/92 (bug fix) Modified tkCanvas.c not to redraw at all if the redisplay -area is off the screen. Also, only do a background clear for the portion -of the redraw area that is on-screen. Also, reduced size of off-screen -pixmaps used for redisplaying, which speeds up redisplay in some cases. +125. 7/25/92 Speeded up auto_load procedure: don't reread all the index +files unless the path has changed. -8/19/92 (bug fix) Canvases that were taller than wide were not being -redisplayed properly. +126. 8/3/92 Changed tclUnix.h to define MAXPATHLEN from PATH_MAX, not +_POSIX_PATH_MAX. -8/20/92 (new feature) Added Tk_CreateGenericHandler procedure for trapping -all X events (useful for tracing, watching non-Tk windows, etc.). +----------------- Released version 6.4, 8/7/92 ------------------ -8/21/92 (bug fix) Widgets weren't always being notified when they got -the focus back again (the problem had to do with grabs and menus in -particular). +127. 8/10/92 Changed tclBasic.c so that comment lines can be continued by +putting a backslash before the newline. -8/21/92 (new feature) Added "-state" option to scale widgets. +128. 8/21/92 Modified "unknown" to allow the source-ing of a file for +an auto-load to trigger other nested auto-loads, as long as there isn't +any recursion on the same command name. -8/22/92 (new feature) Changed tkBitmap.c to allow tilde-substitution -to occur in bitmap file names. +129. 8/25/92 Modified "format" command to allow " " and "+" flags, and +allow flags in any order. ----------------------- Release 2.3, 8/24/92 ------------------------- +130. 9/14/92 Modified Tcl_ParseVar so that it doesn't actually attempt +to look up the variable if "noEval" mode is in effect in the interpreter +(it just parses the name). This avoids the errors that used to occur +in statements like "expr {[info exists foo] && $foo}". -8/27/92 (bug fix) Changes to -activebackground and -activeforeground options -for menubuttons were being lost. +131. 9/14/92 Fixed bug in "uplevel" command where it didn't output the +correct error message if a level was specified but no command. -8/27/92 (bug fix) Entries were selecting last character when a B1-drag -occurred past the right edge of the text. +132. 9/14/92 Renamed manual entries to have extensions like .3 and .n, +and added "install" target to Makefile. -8/28/92 (bug fix) Fixed bug in canvases where a grab during a button -press caused the canvas state to lock up so that it didn't select a -new current item. +133. 9/18/92 Modified "unknown" command to emulate !!, !, and +^^ csh history substitutions. -9/7/92 (bug fix) Changed tkMenu.c to accept numerical menu indices that -are out of range; now it just rounds them off to the nearest existing -entry. +134. 9/21/92 Made the config script cleverer about figuring out which +switches to pass to "nm". -9/7/92 (bug fix) Fixed bug in tkTextDisp.c that caused core dumps when -invoking "yview -pickplace" widget command on texts that are too small -to hold any lines at all. +135. 9/23/92 Fixed tclVar.c to be sure to copy flags when growing variables. +Used to forget about traces in progress and make extra recursive calls +on trace procs. -9/11/92 (bug fix) Fixed bug in tkTextDisp.c that caused core dumps -when adding tags to non-existent lines. +136. 9/28/92 Fixed bug in auto_reset where it was unsetting variables +that might not exist. -9/11/92 (bug fix) Line items in canvases didn't permit an empty fill -color (i.e. couldn't make them transparent). +137. 10/7/92 Changed "parray" library procedure to print any array +accessible to caller, local or global. -9/14/92 (reorganization) Changed manual entries to use .1, .3, and .n -extensions. Added "install" target to Makefile to suggest how Tk should -be installed. +138. 10/15/92 Fixed bug where propagation of new environment variable +values among interpreters took N! time if there exist N interpreters. -9/16/92 (bug fix) Changed tkSend.c to always specify the root window of -screen 0 rather than using DefaultRootWindow. DefaultRootWindow doesn't -always go to screen 0 on displays with multiple screens, which can result -in send's not being possible between the screens. +139. 10/16/92 Changed auto_reset procedure so that it also deletes any +existing procedures that are in the auto_load index (the assumption is +that they should be re-loaded to get the latest versions). -9/18/92 (new feature) Added three new options to "wm" command: "protocol", -"client", and "command". These provide support for window manager protocols -such as WM_DELETE_WINDOW and WM_TAKE_FOCUS, plus support for the -WM_CLIENT_MACHINE and WM_COMMAND properties. +140. 10/21/92 Fixed bug that caused lists to be incorrectly generated +for elements that contained backslash-newline sequences. -9/30/92 (new feature) Implemented color model support, including -"tk colormodel" command and Tk_GetColorModel and Tk_SetColorModel -procedures. These allow you to force mono operation even on a color -display. Also changed color allocation not to give errors when colors -run out, but just to switch to a mono color model. +141. 12/9/92 Added support for TCL_LIBRARY environment variable: use +it as library location if it's present. -10/1/92 (bug fixes) Fixed two bugs in tkTextBTree.c that caused core dumps -during text deletion. +142. 12/9/92 Added "info complete" command, Tcl_CommandComplete procedure. -10/5/92 (bug work-around) Changed tkColor.c to ignore errors when freeing -colors. This is needed to work around improper reference count management -for colormap entries under X11/NeWS. +143. 12/16/92 Changed the Makefile to check to make sure "config" has been +run (can't run config directly from the Makefile because it modifies the +Makefile; thus make has to be run again after running config). -10/7/92 (new feature) Added support for different visual types, including -procedures Tk_SetWindowVisual and Tk_SetWindowColormap, plus macros -Tk_Visual, Tk_Depth, and Tk_Colormap. The code for this was contributed -by Paul Mackerras. +----------------- Released version 6.5, 12/17/92 ------------------ -10/7/92 (new feature) Added Tk_IsTopLevel macro. - -10/12/92 (bug fix) Fixed bug in tk.tcl that caused torn-off menus with -cascaded children not to track mouse motion correctly (the cascade -switched in response to mouse motions within the cascaded child). - -10/12/92 (new feature) Major changes to focus handling: -(a) Tk watches FocusIn and FocusOut events for focus changes, not Enter - and Leave, so it will work better with explicit-focus-model window - managers (e.g. mwm in default mode). -(b) Tk generates FocusIn and FocusOut events for the focus window now. - The old procedural interface (via Tk_CreateFocusHandler) is obsolete - and is no longer used inside Tk. It is still supported for - compatibility, but won't be for long. You should change your code - to use FocusIn and FocusOut events instead. -(c) The model for FocusIn and FocusOut events is different than the - one described in Xlib documentation. See the "focus" manual entry - for details. -(d) If there is no input focus then keyboard events are discarded. They - used to be directed to the mouse pointer window, although this wasn't - documented. The focus now defaults to the root window. -*** POTENTIAL INCOMPATIBILITY *** +144. 12/21/92 Changed config to look in several places for libc file. -10/15/92 (bug fix) Fixed text items in canvases where they didn't -display the insertion cursor if the item had no characters in it. - -10/26/92 (bug fix) Fixed bug in tkSelect.c that occasionally caused -BadWindow X protocol errors when retrieving the selection. Tk wasn't -making sure that a window existed before using it to retrieve the -selection. - -10/30/92 (feature change) Changed canvases so that if the scroll region -is smaller than the window and -confine is on, the scroll region isn't -forced to be centered in the window; it can be anywhere that meets the -confinement restrictions. - -11/2/92 (new feature) Added "winfo exists" command. - -11/5/92 (new feature) Changed DoWhenIdle handlers so that if a new -when-idle handler is created as a side-effect of another when-idle -handler, the new handler isn't invoked until Tk has first checked -for other events to process. - -11/6/92 (bug fixes, new features) Major overhaul of window manager -interface: -(a) Tk should now work with virtual-root window managers; -(b) windows will now place more accurately on the screen and stay where - they're supposed to; -(c) size changes handled more reliably; -(d) code now works robustly in the face of withdrawals followed - immediately by deiconifications. -(e) Added new procedure Tk_GetVRootInfo and new options to "winfo" command: - vrootx, vrooty, vrootwidth, vrootheight. -(f) Added "overrideredirect" option to "wm". -(g) Fixed bug where change in width-only via "wm geom" didn't always work - (min and max window sizes weren't being set properly for the wm). - -11/6/92 (bug fixes) Modified menus so that they work correctly with -virtual root window managers. Also fixed bug where menus didn't move -along with their associated windows, so that the menu popped up at -the old location of the window rather than its new location. - -11/9/92 (new constraint) Made it illegal to give windows names that -start with upper-case letters, since such names will goof up the -option database by appearing to be classes rather than names. +145. 12/23/92 Added "elseif" support to if. Also, "then", "else", and +"elseif" may no longer be abbreviated. *** POTENTIAL INCOMPATIBILITY *** -11/10/92 (new feature) Added Postscript output to canvases. +146. 12/28/92 Changed "puts" and "read" to support initial "-nonewline" +switch instead of additional "nonewline" argument. The old form is +still supported, but it is discouraged and is no longer documented. +Also changed "puts" to make the file argument default to stdout: e.g. +"puts foo" will print foo on standard output. -11/13/92 (bug fix) Changed default for maximum size passed to window -manager from 1000000 (which causes some wm's to make windows too large -when "maximized") to the size of the display. +147. 1/6/93 Fixed bug whereby backslash-newline wasn't working when +typed interactively, or in "info complete". -11/14/92 (feature change) Major overhaul of menubuttons and pull-down -menus. Removed event-sharing code, including Tk_ShareEvents and -Tk_UnshareEvents. The -variable option for menubuttons has been -removed,and the "post" and "unpost" widget commands for menubuttons -no longer exist. The "post" widget command for menus no longer -allows a group option. The procedure tk_menus has been replaced -with a new procedure, tk_menuBar, which has a slightly different -interface. -*** POTENTIAL INCOMPATIBILITY *** - -11/20/92 (new features, feature changes) Major overhaul of grab -mechanism to produce more correct event streams. Also changed Tcl -commands to require explicit window for grab releases (makes it -possible for grabs to work on multiple displays simultaneously). -The old "grab none" command no longer exists, but new options -have been added: "current", "release", "set", and "status". -*** POTENTIAL INCOMPATIBILITY *** +148. 1/22/93 Fixed bugs in "lreplace" and "linsert" where close +quotes were being lost from last element before replacement or +insertion. -11/20/92 (new feature) Use TK_LIBRARY environment variable to set library -directory location, if it is defined. Otherwise fall back on usual -compiled-in value. +149. 1/29/93 Fixed bug in Tcl_AssembleCmd where it wasn't requiring +a newline at the end of a line before considering a command to be +complete. The bug caused some very long lines in script files to +be processed as multiple separate commands. -11/25/92 (bug fix) "wm grid" command was using wrong window. +150. 1/29/93 Various changes in Makefile to add more configuration +options, simplify installation, fix bugs (e.g. don't use -f switch +for cp), etc. -11/29/92 (bug fix) Fixed core dump that occurred when trying to use -placer on top-level windows: return error instead. +151. 1/29/93 Changed "name1" and "name2" identifiers to "part1" and +"part2" to avoid name conflicts with stupid C++ implementations that +use "name1" and "name2" in a reserved way. -11/29/92 (bug fix) Selection retrieval wasn't making sure that the window -on whose behalf selection is being retrieved actually exists. +152. 2/1/93 Added "putenv" procedure to replace the standard system +version so that it will work correctly with Tcl's environment handling. -12/3/92 (new feature) Added support for Mode_switch key to support the -full ISO character set. Also added event handlers for MappingNotify -events so that Tk updates itself in response to keycode and modifier -changes. +----------------- Released version 6.6, 2/5/93 ------------------ -12/6/92 (bug fix) Ignore recursive attempts to destroy window. +153. 2/10/93 Fixed bugs in config script: missing "endif" in libc loop, +and tried to use strncasecmp.c instead of strcasecmp.c. -12/9/92 (new demos) Added "tcolor" and "rmt" demos. +154. 2/10/93 Makefile improvements: added RANLIB variable for easier +Sys-V configuration, added SHELL variable for SGI systems. -12/10/92 (new features) Added "yposition" widget command for menus, -changed "delete" widget command to take an optional second index, -and changed -command option for cascade entries so that it is -invoked when the entry is activated rather than when it is invoked. -*** POTENTIAL INCOMPATIBILITY *** +----------------- Released version 6.7, 2/11/93 ------------------ -12/12/92 (implementation change) Changed the procedures Tk_FreeBitmap, -Tk_NameOfBitmap, Tk_SizeOfBitmap, Tk_FreeCursor, Tk_NameOfCursor, and -Tk_FreeGC to require an addition Display argument. This is needed for -Tk to function correctly when an application has windows on multiple -displays. +153. 2/6/93 Changes in backslash processing: + - \Cx, \Mx, \CMx, \e sequences no longer special + - \ also eats up any space after the newline, replacing + the whole sequence with a single space character + - Hex sequences like \x24 are now supported, along with ANSI C's \a. + - "format" no longer does backslash processing on its format string + - there is no longer any special meaning to a 0 return value from + Tcl_Backslash + - unknown backslash sequences, like (e.g. \*), are replaced with + the following character (e.g. *), instead of just treating the + backslash as an ordinary character. *** POTENTIAL INCOMPATIBILITY *** -12/12/92 (new feature) Started creating a test suite. Right now it -only has a few tests. - -12/12/92 (new feature) Modified the packer so that a window can be -packed in descendants of its parent (used to be restricted to the -parent alone). This makes it possible to hide extra windows used -for geometry management. Also, can use generalized screen distances -in the "pack" command. - -12/16/92 (feature change) Boolean options such as -exportselection now -print as 0/1 rather than true/false (both the default and current values -print this way). This makes it easier to use these values in expressions. -*** POTENTIAL INCOMPATIBILITY *** +154. 2/6/93 Updated all copyright notices. The meaning hasn't changed +at all but the wording does a better job of protecting U.C. from +liability (according to U.C. lawyers, anyway). -12/16/92 (name change) The classes "RadioButton" and "CheckButton" have -been renamed "Radiobutton" and "Checkbutton" for consistency. From now -on widget class names will have exactly one capital letter. +155. 2/6/93 Changed "regsub" so that it overwrites the result variable +in all cases, even if there is no match. *** POTENTIAL INCOMPATIBILITY *** -12/16/92 (new feature) Added -setgrid option to listboxes. +156. 2/8/93 Added support for XPG3 %n$ conversion specifiers to "format" +command. -12/16/92 (new feature) The "destroy" command, and the "delete" widget -command for canvases, now accept any number of arguments, including -zero. +157. 2/17/93 Fixed bug in Tcl_Eval where errors due to infinite +recursion could result in core dumps. -12/16/92 (new feature) Changed internal TkBindError procedure to -Tk_BackgroundError and exported it to Tk clients. +158. 2/17/93 Improved the auto-load mechanism to deal gracefully (i.e. +return an error) with a situation where a library file that supposedly +defines a procedure doesn't actually define it. -12/16/92 (option name change) Changed the place command's "dependents" -option to "slaves" for better consistency with documentation. +159. 2/17/93 Renamed Tcl_UnixError procedure to Tcl_PosixError, and +changed errorCode variable usage to use POSIX as keyword instead of +UNIX. *** POTENTIAL INCOMPATIBILITY *** -12/16/92 (name changes) Renamed the "cursor*" options in entries and -canvases to "insert*". Also renamed the "cursor" index to "insert" and -the "cursor" widget command to "icursor". This was done to avoid -confusion between the mouse cursor and the insertion cursor. +160. 2/19/93 Changes to exec and process control: + - Added support for >>, >&, >>&, |&, <@, >@, and >&@ forms of redirection. + - When exec puts processes into background, it returns a list of + their pids as result. + - Added support for file, etc. (i.e. no space between + ">" and file name. + - Added -keepnewline option. + - Deleted Tcl_Fork and Tcl_WaitPids procedures (just use fork and + waitpid instead). + - Added waitpid compatibility procedure for systems that don't have + it. + - Added Tcl_ReapDetachedProcs procedure. + - Changed "exec" to return an error if there is stderr output, even + if the command returns a 0 exit status (it's always been documented + this way, but the implementation wasn't correct). + - If a process returns a non-zero exit status but doesn't generate + any diagnostic output, then Tcl generates an error message for it. *** POTENTIAL INCOMPATIBILITY *** ----------------------- Release 3.0, 12/17/92 ------------------------- - -12/17/92 (bug fix) Fixed dangling-pointer bug in canvases that occurred -if a binding deleted the current item. - -12/18/92 (bug fix) Core dump occurred if "wm" invoked with no arguments. -Also, tkWm.c wasn't properly setting WM_CLASS property on application -startup. - -12/18/92 (incorrect documentation) Updated manual entries for Tk_FreeGC, -Tk_FreeCursor, and Tk_FreeBitmap to reflect new interface that requires -"display" argument. - -12/18/92 (missing documentation) Added documentation for the canvas -"postscript" command, which was missing in the 3.0 release. - -12/21/92 (bug fixes) There were lots of problems with the new installation -targets in the Makefiles, such as using "cp -f" and not installing -prolog.ps. Made several other miscellaneous improvements to Makefile. +161. 2/25/93 Fixed two memory-management problems having to do with +managing the old result during variable trace callbacks. -12/21/92 (bug fix) Arrowheads on canvas line items weren't moving properly -after coordinate changes made with the "coords" widget command. +162. 3/1/93 Added dynamic string library: Tcl_DStringInit, Tcl_DStringAppend, +Tcl_DStringFree, Tcl_DStringResult, etc. -12/21/92 (bug fix) If top-level window was initially withdrawn, couldn't -ever deiconify it again. - -12/21/92 (bug fix) Double-button event sequences didn't always trigger -properly when grabs were in effect. - -12/22/92 (bug fix) The packer didn't display any top or bottom windows -after a left or right expanded window, and vice versa. Also made the -distribution of space among expanded windows more even. - -12/28/92 (new features) Several improvements to selection: -(a) Added procedures Tk_ClearSelection and Tk_DeleteSelHandler. -(b) Added "clear" and "own" options to "selection" command, extended - "handle" option to delete handlers. -(c) Error returns from "selection handle" scripts are now turned into - selection retrieval errors ("no such selection") rather than an - empty selection. -(d) Tk responds automatically for targets APPLICATION (name of application, - so you can "send" to it) and WINDOW_NAME (name of window within - application. -(e) Added test file "select.test" to test suite. - -12/28/92 (bug fix) Fixed problem with flashing menus that occurred -because menu.tcl was willing to unpost and then immediately repost -the same menu. - -1/6/93 (bug fix) Test for UnmapNotify events in tkPack.c used = instead -of ==. - -1/21/93 (bug fix) Changed many widgets to eliminate use of -DefaultVisualofScreen, DefaultColormap, etc. and use the visuals -and colormaps for the actual windows instead. Also changed to -inherit colormaps and windows from parent by default. - -1/21/93 (new features) Added new winfo options "cells", "depth", and -"visual". - -1/23/93 (bug fix) Fixed problem with text display that could result -in negative XCopyArea heights being sent to X server. This causes some -servers (e.g. some versions of OpenWindows) to crash. - -1/25/93 (new feature) Added -postcommand option to menus, so that menus -can be reconfigured before each posting. - -1/29/93 (feature change) Changed %X and %Y in bindings so that they -refer to the virtual root rather than the true root. Although -potentially incompatible, this change should almost always "do the -right thing". +163. 3/1/93 Modified glob command to only return the names of files that +exist, and to only return names ending in "/" if the file is a directory. *** POTENTIAL INCOMPATIBILITY *** -1/31/93 (bug fix) Changed "send" code to grab server while updating -the registry property (before this fix, two programs could allocate -the same interpreter name if they started up simultaneously). In -order to make this fix I had to change the code for reclaiming -names of dead interpreters in a way that sometimes allows dead -interpreters to persist in the registry. - -2/1/93 (feature change) Changed entries to allow leftmost "visible" -character to be the end of the text (i.e. no characters actually visible). -This is needed so that the cursor can be displayed even if the last -actual character is too wide to fit in the window. - -2/3/93 (bug fix) Fixed two bugs in tkFocus.c: (a) FocusIn events -were getting lost in some cases because the focus window hadn't been -created yet (e.g. new top-level window pops up underneath the mouse); -(b) Tk was accidentally triggering FocusOut events when the mouse -moved from a top-level window to one of its children. - -2/4/93 (new feature) Added "visibility" option to "tkwait" command to make -it easier to wait for a new window to appear on the screen. +164. 3/19/93 Modified not to use system calls like "read" directly, +but instead to use special Tcl procedures that retry automatically +if interrupted by signals. ----------------------- Release 3.1, 2/5/93 ------------------------- - -2/10/93 (installation improvements) Makefile improvements: added RANLIB -variable for easier Sys-V installation, changed to use INCLUDE_DIR -properly, and added SHELL variable for SGI systems. - ----------------------- Release 3.2, 2/11/93 ------------------------- - -2/11/93 (new feature) Added "wm state" command, and improved wm so that -the right thing will happen if you invoke "wm iconify" when a window is -withdrawn. - -2/14/93 (bug fix) When -colormap option was used in generating Postscript -for canvases, Tk didn't add an extra space after the color command. - -2/14/93 (new feature) Changed "extern" declarations in tk.h to "EXTERN", -which will use the definition of EXTERN from tcl.h and work correctly -in C++ programs. - -2/18/93 (bug fix) Item-specific bindings weren't getting deleted from -canvas items when the items were deleted. As a result, they could -suddenly re-appear for new items if the new items were allocated a -record at the same addresses as the old ones. - -2/18/93 (feature reversal) Changed "after" back again, so that it sleeps -*without* responding to events when it is invoked with just one argument; -can always use tkwait plus after with additional arguments to achieve -the effect of responding to events. +165. 4/3/93 Eliminated "noSep" argument to Tcl_AppendElement, plus +TCL_NO_SPACE flag for Tcl_SetVar and Tcl_SetVar2. *** POTENTIAL INCOMPATIBILITY *** -2/20/93 (bug fix) Fixed bug in tkWindow.c where colormaps weren't being -set correctly for new top-level windows on different screens than their -parents (the bug results in X protocol errors: "invalid Colormap -parameter"). - -2/22/93 (bug fix) Changed "#!/usr/local/wish" in demo scripts to -"#!/usr/local/bin/wish" to reflect new location of binary. - -2/22/93 (new feature) Added new reliefs "groove" and "ridge". - -2/25/93 (new feature) Added new built-in bitmaps: "error", "hourglass", -"info", "question", "questhead", and "warning". Also added new demo in -"widget" to display all of these (under the Miscellaneous menu). - -2/25/93 (improved implementation) Changed DrawText procedure in -prolog for outputting Postscript from canvases to use stringwidth -instead of charpath+pathbbox: avoids limitcheck problems with long -strings, and also properly includes space characters in calculation. - -2/25/93 (bug fix) Fixed several bugs in library/menu.tcl that caused -menu traversal to mis-behave when menu had no entries. - -2/26/93 (new feature) Added "wm frame" command. +166. 4/3/93 Eliminated "flags" and "termPtr" arguments to Tcl_Eval. +*** POTENTIAL INCOMPATIBILITY *** -3/6/93 (bug fix) Mwm in click-to-focus mode was goofing up grabs so that -pull-down menus were sometimes unresponsive. Modified tk.tcl to ignore -the spurious B1-Enter events generated by mwm, plus modified tkGrab.c to -release simulated button grabs correctly. +167. 4/3/93 Changes to expressions: + - The "expr" command now accepts multiple arguments, which are + concatenated together with space separators. + - Integers aren't automatically promoted to floating-point if they + overflow the word size: errors are generated instead. + - Tcl can now handle "NaN" and other special values if the underlying + library procedures handle them. + - When printing floating-point numbers, Tcl ensures that there is a "." + or "e" in the number, so it can't be treated as an integer accidentally. + The procedure Tcl_PrintDouble is available to provide this function + in other contexts. Also, the variable "tcl_precision" can be used + to set the precision for printing (must be a decimal number giving + digits of precision). + - Expressions now support transcendental and other functions, e.g. sin, + acos, hypot, ceil, and round. Can add new math functions with + Tcl_CreateMathFunc(). + - Boolean expressions can now have any of the string values accepted + by Tcl_GetBoolean, such as "yes" or "no". +*** POTENTIAL INCOMPATIBILITY *** -3/8/93 (bug fix) Tk had wrong interpretation of "lbearing" font metric, -which caused text to be displayed at the wrong horizontal position in -several places (labels/buttons, listboxes, canvas text, scales). This -change will cause slight changes in the way certain widgets are -displayed. - -3/12/93 (bug fix) Fixed core dumps that occurred in tkEntry.c because of -zero values in entryPtr->avgWidth. +168. 4/5/93 Changed Tcl_UnsetVar and Tcl_UnsetVar2 to return TCL_OK +or TCL_ERROR instead of 0 or -1. +*** POTENTIAL INCOMPATIBILITY *** -3/12/93 (bug fix) Tk_CoordsToWindow was using root coordinates always. -Changed to use virtual-root coordinates when a virtual-root window -manager is being used. Before this fix, "winfo containing" didn't -return the correct window under virtual-root window managers. - -3/18/93 (bug fix) Modified tkWm.c so that Tk doesn't fight with window -manager over position of window; it just takes what the window manager -gives it. - -3/21/93 (new feature) Changed menus to display cascade entries with -standard Motif arrows at right side.a +169. 4/5/93 Eliminated Tcl_CmdBuf structure and associated procedures; +can use Tcl_DStrings instead. +*** POTENTIAL INCOMPATIBILITY *** -3/22/93 (bug fix) Fixed bug in tkPack.c that was causing memory to -get trashed with the integer value 1. +170. 4/8/93 Changed interface to Tcl_TildeSubst to use a dynamic +string for buffer space. This makes the procedure re-entrant and +thread-safe, whereas it wasn't before. +*** POTENTIAL INCOMPATIBILITY *** -3/22/93 (bug fix) Canvas text didn't print correctly if it contained -an open paren (or other special character) immediately followed by -an octal digit. - -3/22/93 (bug fix) Text widgets didn't redisplay properly in cases -where two or more groups of lines both got taller at the same time -(e.g. from tag changes), causing two separate bit copies where the -first bit copy's target area overlapped the source area for -the second bit copy. - -4/1/93 (bug fix) Changed canvases to use ISO Latin-1 font encoding -if that's supported by the Postscript interpreter. Also added workaround -for bug in NeWSprint related to stipple fills. - -4/1/93 (bug fixes) Made various changes to focusing and grabs to -eliminate extraneous focus events and generally improve behavior. - -4/2/93 (bug fix) Modified tkWm.c not to wait indefinitely for the window -manager to map or reconfigure a window: this led to deadlock in some -situations, such as creating a new top-level window with a grab held. - -4/19/93 (bug fix) Fixed another bug in tkWm.c that caused windows to walk -across the screen in some situations. Also fixed problem where rapid -posting and unposting of cascaded submenus (or menus?) could cause Tk -to become confused about whether or not a window is mapped (added -TkWmUnmapWindow procedure to make top-level unmaps synchronous). - -4/24/93 (feature change) Changed the "after" command to allow times -less than or equal to 0, and to use 0 whenever they occur. - -4/26/93 (new feature) Implemented security check for "send" as proposed -by Bennett Todd: incoming sends are now rejected unless (a) xhost-style -access control is enabled and (b) the list of authorized hosts is -empty. In other words, you have to use xauth to use send. This feature -can be disabled by setting the TK_NO_SECURITY flag at compile-time. - -5/15/93 (improvement) Switched to use Tcl_PrintDouble whenever returning -real values as Tcl results. This potentially allows higher precision. -Switched to use %.15g whenever printing reals in Postscript files. -However, the change Tcl_PrintDouble causes incompatibilities. For -now, it's disabled with a macro in tclInt.h that redefines Tcl_PrintDouble. -Tk 4.0 will delete the macro, and you can also delete it now if you -want the better (but incompatible) behavior. - -5/19/93 (bug fix) Fixed divide-by-zero problem that could occur in -closeness calculations for canvas oval items. - -5/30/93 (bug fix) PROP and CONFIG were accidentally #defined to the same -value in tkBind.c, which could cause incorrect %-substitutions in event -bindings in a few exotic cases. - -6/4/93 (improvement) Changed to use GNU autoconfig for configuration. -Makefile format changed, and Tcl is no longer automatically included -in Tk releases. - -6/7/93 (bug fix) Fixed off-by-one error in rounding negative coordinates -during redisplay of canvases. - -6/9/93 (feature improvement) Modified default bindings for entries to -keep one character visible to the left of the cursor during backspaces. - -6/18/93 (feature improvement) Added patchlevel.h, for use in coordinating -future patch releases, and also added tk_patchLevel variable to make the -patch level available in scripts. +171. 4/14/93 Eliminated tclHash.h, and moved everything from it to +tcl.h +*** POTENTIAL INCOMPATIBILITY *** -6/26/93 (bug fix) Fixed numeric problems in scales that occurred with -very large scale values. +172. 4/15/93 Eliminated Tcl_InitHistory, made "history" command always +be part of interpreter. +*** POTENTIAL INCOMPATIBILITY *** -6/26/93 (bug fix) Polygon items in canvases could cause core dumps if -the "coords" widget command was used to add one new coordinate. +173. 4/16/93 Modified "file" command so that "readable" option always +exists, even on machines that don't support symbolic links (always returns +same error as if the file wasn't a symbolic link). + +174. 4/26/93 Fixed bugs in "regsub" where ^ patterns didn't get handled +right (pretended not to match when it really did, and looped infinitely +if -all was specified). + +175. 4/29/93 Various improvements in the handling of variables: + - Can create variables and array elements during a read trace. + - Can delete variables during traces (note: unset traces will be + invoked when this happens). + - Can upvar to array elements. + - Can retarget an upvar to another variable by re-issuing the + upvar command with a different "other" variable. + +176. 5/3/93 Added Tcl_GetCommandInfo, which returns info about a Tcl +command such as whether it exists and its ClientData. Also added +Tcl_SetCommandInfo, which allows any of this information to be modified +and also allows a command's delete procedure to have a different +ClientData value than its command procedure. + +177. 5/5/93 Added Tcl_RegExpMatch procedure. + +178. 5/6/93 Fixed bug in "scan" where it didn't properly handle +%% conversion specifiers. Also changed "scan" to use Tcl_PrintDouble +for printing real values. + +179. 5/7/93 Added "-exact", "-glob", and "-regexp" options to "lsearch" +command to allow different kinds of pattern matching. + +180. 5/7/93 Added many new switches to "lsort" to control the sorting +process: "-ascii", "-integer", "-real", "-command", "-increasing", +and "-decreasing". + +181. 5/10/93 Changes to file I/O: + - Modified "open" command to support a list of POSIX access flags + like {WRONLY CREAT TRUNC} in addition to current fopen-style + access modes. Also added "permissions" argument to set permissions + of newly-created files. + - Fixed Scott Bolte's bug (can close stdin etc. in application and + then re-open them with Tcl commands). + - Exported access to Tcl's file table with new procedures Tcl_EnterFile + and Tcl_GetOpenFile. + +182. 5/15/93 Added new "pid" command, which can be used to retrieve +either the current process id or a list of the process ids in a +pipeline opened with "open |..." + +183. 6/3/93 Changed to use GNU autoconfig for configuration instead of +the home-brew "config" script. Also made many other configuration-related +changes, such as using instead of explicitly declaring system +calls in tclUnix.h. + +184. 6/4/93 Fixed bug where core-dumps could occur if a procedure +redefined itself (the memory for the procedure's body could get +reallocated in the middle of evaluating the body); implemented +simple reference count mechanism. + +185. 6/5/93 Changed tclIndex file format in two ways: (a) it's now +eval-ed instead of parsed, which makes it 3-4x faster; (b) the entries +in auto_index are now commands to evaluate, which allows commands to +be loaded in different ways such as dynamic-loading of C code. The +old tclIndex file format is still supported. + +186. 6/7/93 Eliminated tclTest program, added new "tclsh" program +that is more like wish (allows script files to be invoked automatically +using "#!/usr/local/bin/tclsh", makes arguments available to script, +etc.). Added support for Tcl_AppInit plus default version; this +allows new Tcl applications to be created without modifying the +main program for tclsh. + +187. 6/7/93 Fixed bug in TclWordEnd that kept backslash-newline from +working correctly in some cases during interactive input. + +188. 6/9/93 Added Tcl_LinkVar and related procedures, which automatically +keep a Tcl variable in sync with a C variable. + +189. 6/16/93 Increased maximum nesting depth from 100 to 1000. + +190. 6/16/93 Modified "trace var" command so that error messages from +within traces are returned properly as the result of the variable +access, instead of the generic "access disallowed by trace command" +message. + +191. 6/16/93 Added Tcl_CallWhenDeleted to provide callbacks when an +interpreter is deleted (same functionality as Tcl_WatchInterp, which +used to exist in versions before 6.0). + +193. 6/16/93 Added "-code" argument to "return" command; it's there +primarily for completeness, so that procedures implementing control +constructs can reflect exceptional conditions back to their callers. + +194. 6/16/93 Split up Tcl.n to make separate manual entries for each +Tcl command. Tcl.n now contains a summary of the language syntax. + +195. 6/17/93 Added new "switch" command to replace "case": allows +alternate forms of pattern matching (exact, glob, regexp), replaces +pattern lists with single patterns (but you can use "-" bodies to +share one body among several patterns), eliminates "in" noise word. +"Case" command is now obsolete. + +196. 6/17/93 Changed the "exec", "glob", "regexp", and "regsub" commands +to include a "--" switch. All initial arguments starting with "-" are now +treated as switches unless a "--" switch is present to end the list. +*** POTENTIAL INCOMPATIBILITY *** -6/26/93 (bug fix) Changed canvases to handle large stipple patterns -gracefully (stipples used to jump around during redisplay and lose -coherency). +197. 6/17/93 Changed auto-exec so that the subprocess gets stdin, stdout, +and stderr from the parent. This allows truly interactive sub-processes +(e.g. vi) to be auto-exec'ed from a tcl shell command line. -7/1/93 (syntax change, new feature) Implemented the new packer syntax -as described in the book. For now the old syntax will continue to be -supported too. Converting over is straightforward except (a) use -"-anchor" instead of "frame", and (b) padding is different (separate -internal and external padding, plus pad amounts are *on each side* -instead of total). Also added "pack propagate" command for keeping -the packer from setting the master's requested size. +198. 6/18/93 Added patchlevel.h, for use in coordinating future patch +releases, and also added "info patchlevel" command to make the patch +level available to Tcl scripts. -7/1/93 Changed copyright notices. The effect is the same as with the -old notices, but the new notices more clearly disclaim liability. +199. 6/19/93 Modified "glob" command so that a leading "//" in a name +gets left as is (this is needed for systems like Apollos where "//" is +the super-root; Tcl used to collapse the two slashes into a single +slash). -7/7/93 (new feature) Added support for window stacking order. Windows -will now stack in the order created (most recent on top), plus "raise" -and "lower" commands may be used to restack (Tk_RestackWindow procedure -is available from C level). +200. 7/7/93 Added Tcl_SetRecursionLimit procedure so that the maximum +allowable nesting depth can be controlled for an interpreter from C. -7/7/93 (reorganization) Moved main.c to tkMain.c, reorganized it to -call Tcl_AppInit just like tclsh does, and added argv0 variable to contain -application name, and added default Tcl_AppInit procedure for wish. -Also added tkTest.c to hold C code for testing. +----------------- Released version 7.0 Beta 1, 7/9/93 ------------------ -7/7/93 (new feature) Added new Tk-specific "exit" command, which cleans -up properly before exiting. It replaces the Tcl "exit" command, and -can be used in place of "destroy .". +201. 7/12/93 Modified Tcl_GetInt and tclExpr.c so that full-precision +unsigned integers can be specified without overflow errors. -7/9/93 (new features) Added tk_dialog library procedure that creates -dialogs with a bitmap, message, and any number of buttons. Also changed -default tkerror procedure to use tk_dialog plus offer the user a chance -to see a Tcl stack trace. +202. 7/12/93 Configuration changes: eliminate leading blank line in +configure script; provide separate targets in Makefile for installing +binary and non-binary information; check for size_t and a few other +potentially missing typedefs; don't put tclAppInit.o into libtcl.a; +better checks for matherr support. --------------------- Release 3.3 Beta 1, 7/9/93 ------------------------- +203. 7/14/93 Changed tclExpr.c to check the termination pointer before +errno after strtod calls, to avoid problems with some versions of +strtod that set errno in unexpected ways. -7/12/93 (configuration changes) Eliminated leading blank line in -configure script; provided separate targets in Makefile for installing -binary and non-binary information; fixed -lnsl and -lsocket handling -in configure; added autoconf support for fd_set type; check for various -typedefs like mode_t and size_t, and provide substitutes if they -don't exist; don't include tkAppInit.o in libtk.a; try to locate the -X includes and library in all of the standard places for various systems. +204. 7/16/93 Changed "scan" command to be more ANSI-conformant: +eliminated %F, %D, etc., added code to ignore "l", "h", and "L" +modifiers but always convert %e, %f, and %g with implicit "l"; +also added support for %u and %i. Also changed "format" command +to eliminate %D, %U, %O, and add %i. +*** POTENTIAL INCOMPATIBILITY *** -7/14/93 (new feature) Modified tkMain.c so that it stores the value -of the -display command-line option into the DISPLAY environment -variable, if it is specified. +205. 7/17/93 Changed "uplevel" and "upvar" so that they can be used +from global level to global level: this used to generate an error. -7/15/93 (feature removal) Removed auto-initialization feature from -Tk_ConfigureWidget, so that you must once again initialize all fields -of a widget record before calling Tk_ConfigureWidget. This restores -the behavior back to what it was in Tk 3.2. +206. 7/19/93 Renamed "setenv", "putenv", and "unsetenv" procedures +to avoid conflicts with system procedures with the same names. If +you want Tcl's procedures to override the system procedures, do it +in the Makefile (instructions are in the Makefile). +*** POTENTIAL INCOMPATIBILITY *** -7/16/93 (bug fix) Modified tkBind.c to ignore the Caps Lock modifier -unless it is explicitly requested in a binding. Without this fix, -buttons and menus and other things didn't work if the Caps Lock key -was active. +----------------- Released version 7.0 Beta 2, 7/21/93 ------------------ --------------------- Release 3.3 Beta 2, 7/21/93 ------------------------- +207. 7/21/93 Fixed bug in tclVar.c where freed memory was accidentally +used if a procedure returned an element of a local array. -7/21/93 (new feature) Change "make install" so that it will modify the -#! lines on demo scripts to reflect the place where the wish binary -is installed. +208. 7/22/93 Fixed bug in "unknown" where it didn't properly handle +errors occurring in the "auto_load" procedure, leaving its state +inconsistent. -7/23/93 (new feature) Added Tk_MainWindow procedure that returns the -main window associated with a Tcl interpreter. This is intended for -use by Tcl_AppInit and other initialization procedures. +209. 7/23/93 Changed exec's ">2" redirection operator to "2>" for +consistency with sh. This is incompatible with earlier beta releases +of 7.0 but not with pre-7.0 releases, which didn't support either +operator. -7/24/93 (configuration improvements) Changed configure script not to -omplain about "fd_set" missing if it's defined in . +210. 7/28/93 Changed backslash-newline handling so that the resulting +space character *is* treated as a word separator unless the backslash +sequence is in quotes or braces. This is incompatible with 7.0b1 +and 7.0b2 but is more compatible with pre-7.0 versions that the b1 +and b2 releases were. -7/28/93 (bug fix) "Bad Match - parameter mismatch" errors were -sometimes occurring when several top-level windows got created -at the same time, due to wrong choice of sibling when stacking -windows. +211. 7/28/93 Eliminated Tcl_LinkedVarWritable, added TCL_LINK_READ_ONLY to +Tcl_LinkVar to accomplish same purpose. This change is incompatible +with earlier beta releases, but not with releases before Tcl 7.0. -8/14/93 (new feature) Added support for tcl_prompt1 and tcl_prompt2 -to wish main program: makes prompts user-settable. +212. 7/29/93 Renamed regexp C functions so they won't clash with POSIX +regexp functions that use the same name. -8/19/93 (bug fix) Bindings to event sequences like "aD" never matched -because the Shift key has to be pressed before D. Modified Tk to -ignore extraneous keypresses if they are for modifier keys. +213. 8/3/93 Added "-errorinfo" and "-errorcode" options to "return" +command: these allow for much better handling of the errorInfo +and errorCode variables in some cases. -8/26/93 (configuration changes) Added Tk_Init, modified Tcl_AppInit -procedures to use it and Tcl_Init. Added support for .wishrc file. +214. 8/12/93 Changed "expr" so that % always returns a remainder with +the same sign as the divisor and absolute value smaller than the +divisor. -8/28/93 (new feature) The main window is now a legitimate toplevel -widget. +215. 8/14/93 Turned off auto-exec in "unknown" unless the command +was typed interactively. This means you must use "exec" when +invoking subprocesses, unless it's a command that's typed interactively. +*** POTENTIAL INCOMPATIBILITY *** --------------------- Release 3.3 Beta 3, 8/30/93 ------------------------- +216. 8/14/93 Added support for tcl_prompt1 and tcl_prompt2 variables +to tclMain.c: makes prompts user-settable. -9/2/93 (bug fix) The packer wasn't always relaying out a master after -changes to some of the configuration options of its slaves. +217. 8/14/93 Added asynchronous handlers (Tcl_AsyncCreate etc.) so +that signals can be taken cleanly by Tcl applications. -9/2/93 (bug fix) The binding mechanism made it impossible for patterns -like to ever match. +218. 8/16/93 Moved information about open files from the interpreter +structure to global variables so that a file can be opened in one +interpreter and read or written in another. -9/2/93 (bug fix) Fixed core dump that occurred for bitmap canvas items -if Postscript is generated but no -bitmap option has been specified. +219. 8/16/93 Removed ENV_FLAGS from Makefile, so that there's no +official support for overriding setenv, unsetenv, and putenv. -9/4/93 (enhancement) Slight improvements to menu traversal: set menu -traversal bindings for menubar window in tk_menuBar, plus trigger -traversal on instead of . +220. 8/20/93 Various configuration improvements: coerce chars +to unsigned chars before using macros like isspace; source ~/.tclshrc +file during initialization if it exists and program is running +interactively; allow there to be directories in auto_path that don't +exist or don't have tclIndex files (ignore them); added Tcl_Init +procedure and changed Tcl_AppInit to call it. -9/9/93 (bug fix) Changed tkBind.c so that the Num_Lock key doesn't -prevent events from triggering bindings. +221. 8/21/93 Fixed bug in expr where "+", "-", and " " were all +getting treated as integers with value 0. -9/9/93 (bug fix) Changed tkOption.c to always fetch RESOURCE_MANAGER -property from root window of screen 0, rather than using default -screen. +222. 8/26/93 Added "tcl_interactive" variable to tclsh. -9/9/93 (bug fix) Entry widgets weren't allocating quite enough width -for themselves. Fixed this and changed the size computation to match -what's done for buttons and texts. +223. 8/27/93 Added procedure Tcl_FilePermissions to return whether a +given file can be read or written or both. Modified Tcl_EnterFile +to take a permissions mask rather than separate read and write arguments. -9/16/93 (bug fix) Changed tkMain.c not to call exit C procedure directly; -instead always invoke "exit" Tcl command so that application can redefine -the command to do additional cleanup. +224. 8/28/93 Fixed performance bug in "glob" command (unnecessary call +to "access" for each file caused a 5-10x slow-down for big directories). --------------------- Release 3.3, 9/29/93 ------------------------- +----------------- Released version 7.0 Beta 3, 8/28/93 ------------------ -9/30/93 (bug fix) Packer wasn't unmapping slaves when master got deleted. +225. 9/9/93 Renamed regexp.h to tclRegexp.h to avoid conflicts with system +include file by same name. -9/30/93 (bug fix) Binding event sequences such as were being -misprinted as ASCII characters such as "S". +226. 9/9/93 Added Tcl_DontCallWhenDeleted. -10/6/93 (bug fix) Canvases weren't unmapping window items when the canvas -got unmapped, which caused problems for window items whose windows weren't -descendants of the canvas (they got left on the screen). +227. 9/16/93 Changed not to call exit C procedure directly; instead +always invoke "exit" Tcl command so that application can redefine the +command to do additional cleanup. -10/7/93 (feature change) NULL proc arguments to Tk_CreateFileHandler used -to have a special undocumented meaning (fd was display); eliminated this -special interpretation. +228. 9/17/93 Changed auto-exec to handle names that contain slashes +(i.e. don't use PATH for them). -10/7/93 (configuration change) Eliminated dependency of tkMain.c on -tkInt.h and tkConfig.h, so that it's easier for people to copy the file -out of the source directory to make modified versions. +229. 9/23/93 Fixed bug in "read" and "gets" commands where they didn't +clear EOF conditions. -10/8/93 (bug fix) 3.0 introduced a bug where the class of the application -wasn't being set properly, so options based on the application class -weren't triggering. Fixed by adding new argument to Tk_CreateMainWindow. +----------------- Released version 7.0, 9/29/93 ------------------ -10/11/93 (bug fix) Fixed bug in tkTextBTree.c where some deletions would -cause core dumps due to halfwayLinePtr not getting set correctly. +230. 10/7/93 "Scan" command wasn't properly aligning things in memory, +so segmentation faults could arise under some circumstances. -10/18/93 (bug fix) Fixed a couple of bugs that made it hard to actually -display N characters in an entry with "-width N" (tended to scroll the -entry so that only N-1 characters were visible at once). +231. 10/7/93 Fixed bug in Tcl_ConvertElement where it forgot to +backslash leading curly brace when creating lists. -10/22/93 (bug fix) During configuration, XINCLUDE_DIR and XLIBRARY_DIR -weren't overriding xmkmf like they were supposed to. +232. 10/7/93 Eliminated dependency of tclMain.c on tclInt.h and +tclUnix.h, so that people can copy the file out of the Tcl source +directory to make modified private versions. -10/23/93 (new feature) Allow negative scale factors in canvas "scale" -widget command. +233. 10/8/93 Fixed bug in auto-loader that reversed the priority order +of entries in auto_path for new-style index files. Now things are +back to the way they were before 3.0: first in auto_path is always +highest priority. -10/23/93 (bug fix) Grabs weren't being cleaned up right if the grab -window was deleted, causing core-dumps in some cases. +234. 10/13/93 Fixed bug where Tcl_CommandComplete didn't recognize +comments and treat them as such. Thus if you typed the line + # { +interactively, Tcl would think that the command wasn't complete and +wait for more input before evaluating the script. -10/23/93 (bug fix) tk_TextSelectTo wasn't checking to be sure that -the "anchor" mark exists. +235. 10/14/93 Fixed bug where "regsub" didn't set the output variable +if the input string was empty. -10/27/93 (bug fix) Fixed core dump that could occur in a text widget if -the scroll command modifies the text. +236. 10/23/93 Fixed bug where Tcl_CreatePipeline didn't close off enough +file descriptors in child processes, causing children not to exit +properly in some cases. -11/1/93 (bug fix) Change texts so that the -yscrollcommand option is -invoked at display time, not when the window is re-layed out. This -eliminated various core dumps that could occur if -yscrollcommand modified -the text. +237. 10/28/93 Changed "list" and "concat" commands not to generate +errors if given zero arguments, but instead to just return an empty +string. --------------------- Release 3.4, 11/04/93 ------------------------- +----------------- Released version 7.1, 11/4/93 ------------------ -Note: there is no 3.5 release. It was flawed and was thus withdrawn +Note: there is no 7.2 release. It was flawed and was thus withdrawn shortly after it was released. -11/12/93 (bug fix) TkMain.c didn't compile on some systems because of +238. 11/10/93 TclMain.c didn't compile on some systems because of R_OK in call to "access". Changed to eliminate call to "access". --------------------- Release 3.6, 11/26/93 ------------------------- - -11/10/93 (bug fix) Packer and placer didn't always reposition a window -correctly if it was managed inside a neice or lower descendant (using -"-in" option) and the neice's parent moved. - -11/24/93 (bug fix) Fixed time problem in selection (retrievals could -fail if retriever hasn't received any X events since selection was -made, so that time of retrieval appears to be older than time of -selection). Selection code is now much less picky about times, both -on retrieving and supplying sides. +----------------- Released version 7.3, 11/26/93 ------------------ -12/2/93 (new feature) Changed arrow-head drawing code for canvas -lines to draw a 0-width outline in addition to filling the area: -this produces much nicer, more symmetrical displays. +239. 11/6/93 Modified "lindex", "linsert", "lrange", and "lreplace" +so that "end" can be specified as an index. -12/2/93 (bug fix) When colors ran out, Tk was invoking "tkerror" -when its state was internally inconsistent, which could cause -core dumps in some situations (e.g. if tkerror used the same color -that caused colors to run out). Changed notification to occur -as a when-idle handler. +240. 11/6/93 Modified "append" and "lappend" to allow only two +words total (i.e., nothing to append) without generating an error. -12/3/93 (bug fix) During a global grab, Tk wasn't including PointerMotion -in the list of grabbed events, so pointer motion couldn't be tracked -outside the grabbing application. - -12/3/93 (bug fix) Canvases didn't handle smoothed lines correctly -when they only contained two points. - -12/3/93 (bug fix) Fixed bug in tkWindow.c where certain kinds of -errors during window creation could cause Destroy events to be generated -for a window that was never completely initialized. - -12/13/93 (bug fix) Fixed bug in tkTextDisp.c that resulted in core -dumps at line 1467 under exmh. The exact situation is that a text -widget was being redisplayed at a time when it had a -yscrollcommand -option but hadn't yet been mapped onto the screen. - -12/17/93 (bug fix) Fixed bug in tkWindow.c whereby new top-level windows -with non-default visuals still inherited border pixmap from parent (root), -which could cause visual clash and X error. - -12/17/93 (bug fix) Fixed bug in tkTextDisp.c that caused round-off -error in the information passed to scroll commands. - -12/18/93 (bug fix) Fixed bug in tkPack.c that caused core dumps in -some situations if a master with siblings packed "-in" it was deleted. - -12/18/93 (bug fix) Added "compat" directory to distribution, since it's -referenced by tkConfig.h on some systems. - -12/18/93 (performance improvement) Improved performance of appending to -a listbox, so that inserting N items doesn't take N**2 time. - -12/20/93 (bug fix) Fixed bug in canvas ovals that caused the fill color -for the oval to stick out past the outline. - -1/2/94 (fixed Xlib bug) Added code to reuse X resource identifiers so -that they won't run out in long running applications. There are three -new library procedures: Tk_FreeXId, Tk_GetPixmap, and Tk_FreePixmap. -Modified all Tk code to use these procedures, so wish applications should -now be able to run forever without running out of identifiers. - -1/10/94 (bug fix) tkCursor wasn't freeing pixmaps used to create -cursors, which caused memory leaks in programs that changed cursors -frequently. - -1/21/94 (bug fix) Fixed bug in scales that caused them to loop -infinitely drawing tick-marks when -from and -to were the same. - -2/2/94 (bug fix) Fixed problem where messages that contained tabs -didn't always compute the correct size, so that text spilled off -the right edge. The fix adds an extra "tabOrigin" parameter to -the internal procedures TkMeasureChars, TkDisplayChars, and -TkUnderlineChars. - -2/4/94 (bug fix) Fixed off-by-one problem in tkBind.c that caused -it to read past the initialized part of dispPtr->modKeyCodes. - -2/7/94 (bug fix) Text widgets didn't handle grabs correctly, such -that the "current" character got stuck if a grab occurred while a -mouse button was down. It would get unstuck until after the -next button press and release. - -2/19/94 (bug fix) Fixed prolog.ps (prolog for Postscript printing from -canvases) so that it correctly prints all of the characters in the -ISO Latin-1 character set. - -2/19/94 (bug fix) Modified tkBind.c to save and restore the interpreter's -result across the execution of binding scripts. Otherwise if an event -triggers in the middle of some other script (e.g. a destroy event during -window creation, because there was an error in the creation command), -the intepreter's result gets lost. - -2/19/94 (bug fix) Fixed bug in dealing with results of sent command -that could cause them to get lost in some situations. - -2/21/94 (bug fix) Don't let user close a dialog window created by -tk_dialog, since this would cause tk_dialog to hang: force the user -to select one of the dialog's buttons. - -2/21/94 (bug fix) Fixed bug in canvas polygons whereby they didn't -correctly handle changes in the number of points (via "coords" -widget command). - -2/23/94 (bug fix) Large bitmaps in canvases didn't print correctly -because they overflowed the 64-KB limit on strings in Postscript. -Changed canvas printing to split up large bitmaps into mutliple -smaller ones for printing. - -2/25/94 (bug fix) The "." window was being set up with -width -and -height options, which interfered with geometry management (any -configuration change on "." causes the window to change size to -200x200, then change back again). - -2/26/94 (bug fix) Fixed several bugs that occurred when a Destroy -event handler for a window deleted the window's parent. - -3/3/94 (new features) Changes to binding mechanism: - - The modifiers for "Alt", "Meta", and "M" are now computed by - examining the modifier map, rather than being hardwired to - M2, M1, and M1. - - When processing events, one script is invoked for each object - in the list passed to Tk_BindEvent, rather than stopping as - soon as a script is invoked for some object. The "break" and - "continue" commands can be used within a script to abort all - scripts for the event or the current one. - *** POTENTIAL INCOMPATIBILITY *** - - Added "bindtags" command so that new binding groups can be - defined for widgets and the evaluation order can be changed. - - When matching events to bindings, extra modifiers are now ignored, - as if "Any" were specified for every event. The "Any" modifier - is still recognized, but it is ignored and is deprecated. - *** POTENTIAL INCOMPATIBILITY *** - - In % sequences that print window identifiers (e.g. %a and %S), print - in hexadecimal rather than decimal, for consistence with "winfo id". - *** POTENTIAL INCOMPATIBILITY *** - - The "bind" command no longer supports the event types CirculateRequest, - ConfigureRequest, MapRequest, or ResizeRequest. These event types - are somewhat dangerous, and they never worked anyway. - -3/13/94 (bug fix) Fixed numerous problems with the "wm iconwindow" command. -It appears that this command never really worked at all, but it should -work OK now. - -3/14/94 (feature changes) Removed several obsolete features: - - Eliminated "enable" and "disable" widget commands for menus. - *** POTENTIAL INCOMPATIBILITY *** - - Eliminated "activate" and "deactivate" widget commands for buttons, - checkbuttons, radiobuttons, and menubuttons. - *** POTENTIAL INCOMPATIBILITY *** - - Removed -geometry option for frames and toplevels: it causes - problems when .Xdefaults files contain entries like - "*geometry: +0+0". Must use -width and -height instead. - *** POTENTIAL INCOMPATIBILITY *** - - Desupported "tkVersion" variable: use "tk_version" instead. - *** POTENTIAL INCOMPATIBILITY *** - -3/16/94 (feature changes) Changes to listboxes: - - Eliminated -geometry option (it causes problems when .Xdefaults - files contain entries like "*geometry: +0+0"). Added -width - and -height options to use instead. - *** POTENTIAL INCOMPATIBILITY *** - -3/21/94 (bug fix) Fixed bug in tkOption.c where the option cache wasn't -properly cleaned up after window deletion; this could cause the wrong -value from the option database to be used under some conditions. - -3/25/94 (new features) Changes to geometry management: - - Added Tk_MaintainGeometry and Tk_UnmaintainGeometry procedures - to solve problems with -in windows. Modified the packer, the - placer, and canvases to use them. - - Changed 2nd argument to Tk_ManageGeometry from Tk_GeometryProc * - to a pointer to a structure with additional information about - the geometry manager, such as name and procedure to call when - slaves are stolen. - *** POTENTIAL INCOMPATIBILITY *** - -3/28/94 (new feature) Overhauled event management: - - Added "cancel" option to the "after" command so that you can - cancel previously-scheduled commands. - - Separated X-specific stuff from generic event management. The - file tkEvent.c can now be used stand-alone without the rest of Tk. - See the manual entry for Tk_EventInit for information on which - procedures are available this way. - - Added Tk_CreateFileHandler2 procedure, which provides a lower-level - and more powerful form of file event handler. - - Fixed bug in Tk_DoOneEvent where an infinite loop could occur if - the TK_FILE_EVENT and TK_DONT_WAIT flags were set simultaneously - (there were bugs with several other combinations too; all should - be fixed now). - -3/28/94 (new feature) Added "fileevent" command, which allows event- -driven I/O in the style of Mark Diekhans' "addinput" command. - -4/11/94 (new feature) Better support for colormaps and visuals: - - Added new -colormap and -visual options to toplevels and frames. - - Added "winfo visualsavailable" command. - - Added "wm colormapwindows" command, plus support for WM_COLORMAP_WINDOWS - to Tk_SetWindowColormap. - - Added new library procedures Tk_GetVisual, Tk_GetColormap, - and Tk_FreeColormap. - -4/11/94 (bug fix) Fixed core dump that used to occur when specifying -an iconwindow ("wm iconwindow") for a toplevel on a different screen -than the main window. - -4/23/94 (new feature) Added support for images, including the following: - - New "image" command for creating images. - - Built-in image type: bitmap. - - New "image" item type in canvases. - - Labels, buttons, checkbuttons, radiobuttons, menubuttons, and - menu entries now support a -image option for displaying images. - - Tk_CreateImageType and Tk_ImageChanged procedures, for defining - new types of images in C. - - Tk_GetImage, Tk_FreeImage, Tk_RedrawImage, and Tk_SizeOfImage - procedures, for using images in widgets. - -5/1/94 (new features) Added new procedures Tk_3DVerticalBevel and -Tk_3DHorizontalBevel. - -5/11/94 (new features) Major overhaul of text widgets: - - Implemented embedded windows and "window" widget command. - - Added new configuration options for tags: -justify, -lmargin1, - -lmargin2, -rmargin, -offset, -spacing1, -spacing2, and -spacing3. - See the "Display styles" widget demo for examples. - - Added new configuration options for texts: -spacing1, -spacing2, - and -spacing3. - - Added "tagList" option to "insert" widget command to control - tags on new text. Made tagged regions so they aren't sticky on - either side: new characters get a tag only if the old chars. on - both sides had it. - *** POTENTIAL INCOMPATIBILITY *** - - Added gravity for marks, and "mark gravity" widget command. - - Added horizontal scrolling, "xview" widget command, -xscrollcommand - option. Changed "scan" widget commands to support horizontal - scrolling. - *** POTENTIAL INCOMPATIBILITY *** - - Added "search" widget command for searching (either exact matches - or regular expressions). - - New widget commands: bbox, dlineinfo, and see. - - Changed implementation of bindings so that Enter and Leave - events are not generated unless the tag has just become present - (or just ceased to be present) on the current character. Also - changed bindings to process separately for each tag, rather than - having high-priority tags override low-priority ones. - - The "end" index now refers to the character after the last newline - rather than the newline itself. You can now tag the final newline - and set a mark after the final newline. - - Deletions of the "sel" tag and the "insert" and "current" marks - are now ignored silently, rather than generating errors. This means - you can do things like "eval .t tag delete [.t tag names]". - -5/19/94 (bug fix) Canvases didn't generate proper Postscript for stippled -text. - -5/20/94 (new feature) Added "bell" command to ring the display's bell. - -5/20/94 (new feature) Incorporated "square" demonstration widget into -tktest application. - -5/20/94 (new features) Changed wish application (tkMain.c): - - wish no longer processes the -help option. - *** POTENTIAL INCOMPATIBILITY *** - - The wish main program is now called Tk_Main; tkAppInit.c has a - "main" procedure that calls Tk_Main. This makes it easier to use - Tk with C++ programs, which need their own main programs, and it - also allows an application to prefilter the argument list before - calling Tk_Main. - *** POTENTIAL INCOMPATIBILITY *** - - The application's class is now the same as its name (except the - first letter is capitalized), instead of "Tk". - *** POTENTIAL INCOMPATIBILITY *** - - The -file keyword is no longer required: the script file name can - be provided as the first argument without being preceded by "-file", - as in tclsh. For backward compatibility the "-file" keyword is - ignored if it is the first argument, but it is deprecated. - -5/26/94 (feature removed) Removed support for "fill" justify mode from -Tk_GetJustify and from the TK_CONFIG_JUSTIFY configuration option. None -of the built-in widgets ever supported this mode anyway. -*** POTENTIAL INCOMPATIBILITY *** +241. 12/2/93 Changed to use EAGAIN as the errno for non-blocking +I/O instead of EWOULDBLOCK: this should fix problem where non-blocking +I/O didn't work correctly on System-V systems. -5/27/94 (feature change) Changed Tk to use Tk_PrintDouble everywhere -that it converts reals to strings. This means that floating-point -values will be generated in some cases where integer-like values were -generated before. -*** POTENTIAL INCOMPATIBILITY *** +242. 12/22/93 Fixed bug in expressions where cancelled evaluation +wasn't always working correctly (e.g. "set one 1; eval {1 || 1/$one}" +failed with a divide by zero error). -6/1/94 (feature change) Renamed "pack newinfo" command to "pack info". -The old "pack info" command is no longer available. -*** POTENTIAL INCOMPATIBILITY *** +243. 1/6/94 Changed TCL_VOLATILE definition from -1 to the address of +a dummy procedure Tcl_Volatile, since -1 causes portability problems on +some machines (e.g., Crays). -6/20/94 (feature changes) Overhaul of entry widgets: - - Added "-justify" option. - - Added "-show" option to make entries easier to use for passwords. - - Added "cget" widget command. - - Added "selection range" and "selection present" widget commands. - - Added "anchor" symbolic index. - - Changed "-scrollcommand" option to "-xscrollcommand", "view" - widget command to "xview", for compatibility with other widgets. - *** POTENTIAL INCOMPATIBILITY *** - - Changed sel.last to refer to character just *after* last one - selected, again for compatibility with other widgets. - *** POTENTIAL INCOMPATIBILITY *** - - For "delete" widget command, second index now refers to character - just *after* last one to delete. - *** POTENTIAL INCOMPATIBILITY *** - - Overhauled bindings to be more Motif-compatible and to include - common Emacs bindings for editing. - - Changed -width option: if specified as 0, widget sizes to fit - its current text. - -6/11/94 (new features) Improved Motif compatibility: - - Added "-highlightwidth" and "-highlightcolor" options to all widgets. - -6/27/94 (bug fix) Postscript generation for text items in canvases was -not justifying the text properly when a -width was specified that was -longer than the longest line. - -6/27/94 (bug fix) "winfo exists" used to report a window as existing -if it was in the process of being destroyed (i.e., a destroy handler -is in the middle of execution). Changed to report it as non-existent -under these conditions. -*** POTENTIAL INCOMPATIBILITY *** +244. 2/4/94 Added support for unary plus. -7/11/94 (bug fix) Selections claimed via "selection own" weren't always -being cleared properly when the selection was claimed away. Also fixed -bug where Tk wasn't properly claiming the selection, if there haven't -been any recent X events at the time of the claim. - -7/13/94 (feature changes) Overhaul of scrollbar widgets: - - New widget commands: "activate", "cget", "fraction", and "identify". - - New options: -activebackground, -activerelief, -highlightcolor, - -jump, -highlightthickness, and -troughcolor. What used to be - -background is now -troughcolor, -foreground is now -background, - and -activeforeground is now -activebackground. - *** POTENTIAL INCOMPATIBILITY *** - - Added new syntax for "set" command, "get" result, and generated - commands. Changed other widgets to use the new syntax. - - Moved the bindings out of C and into Tcl scripts, using the new - options and widget commands. Added support for all Motif - bindings, plus jump scrolling and cancelling of slider drags. - -7/16/94 (bug fix) Canvases assumed that the Leave event for one item -didn't modify or delete the next current item; this could cause core -dumps under some conditions. - -7/23/94 (feature change) Modified Tk_BackgroundError so that tkerror -is invoked as an idle handler. If tkerror generates a break exception -then all other queued reports are aborted. - -8/14/94 (bug fix) "cursorOffTime" and "cursorOnTime" were confused in -canvases, resulting in the same time being used for both. - -8/16/94 (bug fix) "tkwait variable" command didn't detect errors in -variable name, such as trying to wait for an entire array. - -9/2/94 (new features) Overhaul of scale widgets: - - Floating-point values are supported now, following Paul Mackerras' - "fscale" widget. Added "-resolution" and "-digits" options. - - Added "-variable" option to link scale to variable, following - Henning Schulzrinne's implementation. - - Added focus highlight (-highlightthickness and -highlightcolor - options). - - Added new widget commands "cget", "coords", "identify", plus - improved "get"; removed wired-in bindings, added complete set - of Motif bindings via Tcl scripts. - - Changed -sliderforeground option to -background, -background to - -troughColor, -activeforeground to -activebackground. - *** POTENTIAL INCOMPATIBILITY *** - - Moved value label from below horizontal scales to above the scale, - for Motif compliance. - -9/9/94 (bug fix) Fixed bug in tkWm.c that caused long delays in "raise" -command under some conditions (window already at the top of the stack). - -9/10/94 (new features) Overhaul of label/button/checkbutton/radiobutton -widgets: - - Added focus highlight (-highlightthickness and -highlightcolor - options). - - Added new widget command "cget". - - Changed -selector option to -selectcolor, and changed its meaning - too: empty no longer means don't draw the indicator; it means - don't use a special color when selected. - *** POTENTIAL INCOMPATIBILITY *** - - Added -indicatoron (controls whether indicator is displayed) and - -selectimage (gives special image to display when selected) options. - - Modified bindings to be more Motif-like, added binding for space - key. - - Changed padding defaults to give widgets correct Motif appearance - by default. Also, changed to ignore padding options when displaying - an image or bitmap. - *** POTENTIAL INCOMPATIBILITY *** - - Can now display text on multiple lines: newlines cause line breaks, - and word wrapping can be requested with -wraplength option. Also - added -justify and -underline options. - - The -value option for radiobuttons can now have an empty string as - its value; it no longer defaults to the name of the widget. - *** POTENTIAL INCOMPATIBILITY *** - -9/13/94 (new features) Modified both canvases and messages to support --highlightthickness and -highlightcolor options plus "cget" widget -command. +245. 2/17/94 Changed Tcl_RecordAndEval and "history" command to +call Tcl_GlobalEval instead of Tcl_Eval. Otherwise, invocation of +these facilities in nested procedures can cause unwanted results. -9/19/94 (new features) Added Tk_UnsetGrid procedure, modified widgets -to use it. Also changed Tk_SetGrid so that at most one window per -toplevel can have gridding enabled. - -9/23/94 (new features) Major overhaul of listbox widgets: - - Added focus highlight (-highlightthickness and -highlightcolor - options). - - Added new widget command "cget". - - Revised selection commands to support single selections as well - as multiple disjoint selections; syntax of "selection" widget - command has changed to support this. Added new option -selectmode - for specifying which mode to use. Default is single selection; - tk_listboxSingleSelect procedure no longer exists. Selections - now return as items separated by newlines instead of a list whose - elements are the items. - *** POTENTIAL INCOMPATIBILITY *** - - Extended "get" widget command to allow many items to be retrieved - at once. - - Added "bbox" widget command for finding position of an element on - screen. - - Added "activate" command to mark element with traversal focus. - - Extended index mechanism to support new types of indices: - "active", "anchor", "@x,y". - - Added "see" widget command. - - Revised bindings to include all Motif features except for AddMode. - - If -width or -height option is <= 0, the widget requests a size just - large enough to hold all of its text. - -10/6/94 (new features) Overhaul of menubuttons: - - Added focus highlight (-highlightthickness and -highlightcolor - options). - - Added new widget command "cget". - - Added -indicatoron option to display option menu indicator. - - The -menu option must be a child of the menubutton. - *** POTENTIAL INCOMPATIBILITY *** - -10/6/94 (new features) Overhaul of menu widgets: - - Added new widget commands "cget" and "entrycget". - - Changed the implementation of tear-off menus to be more - Motif-like; added -tearoff option for specifying whether - tearoff entry is displayed. - - Changed interpretation of "@y" index: it now returns the - closest entry, rather than "none" if y is outside the menu's - range. - *** POTENTIAL INCOMPATIBILITY *** - - The -menu option for a cascade entry must now be a child of - the menu. - *** POTENTIAL INCOMPATIBILITY *** - - Added "type" widget command, so that you can query the type of - an entry. - - Added -foreground, -activeforeground, -selectcolor, -indicatoron, - -image, and -selectimage options to menu entries. - - Changed "selector" menu option to "selectColor" for Motif compliance. - *** POTENTIAL INCOMPATIBILITY *** - - Added -relief option for menus, just for consistency with other - widgets (it was implicitly "raised" before). - -10/6/94 (feature change) Completely overhauled the bindings for menus -and menubuttons. They now fit better with other Tk 4.0 facilities, -such as the new binding mechanism, and they provide better Motif -compliance (e.g. keyboard traversal of submenus). Also, the bindings -now support option menus, popup menus, and proper Motif tear-off -menus. - -10/6/94 (obsolete features) The procedures tk_menuBar and -tk_bindForTraversal are no longer needed in Tk 4.0. They still exist -for compability, but they do nothing. - -10/6/94 (new procedures) Added "tk_popup" procedure for posting a -popup menu, and "tk_optionMenu" for creating an option menubutton -and its associated menu. - -10/6/94 (change in name) The variable "tk_priv" has been renamed -to "tkPriv" to reflect that fact that it is private to Tk now. -This shouldn't cause any problems, since no-one except Tk should -have been using it before anyway (right?). - -10/6/94 (bug fix) Fixed bug in texts where sometimes the text would -stop tracking mouse motion (the "current" item wouldn't get updated) -because the text widget missed a ButtonRelease event. - -10/20/94 (new features) Overhauled selection code to support multiple -selections (primary, secondary, etc.) and multiple displays: - - Changed "selection" command to support new options such as - "-displayof" and "-selection". Old command formats are still - supported for compatibility, but they are no longer documented - and are deprecated. - - Changed procedures Tk_GetSelection, Tk_CreateSelHandler, and - Tk_ClearSelection to take additional "selection" argument. - *** POTENTIAL INCOMPATIBILITY *** - - Selection targets APPLICATION and WINDOW_NAME have been replaced - by TK_APPLICATION and TK_WINDOW. - *** POTENTIAL INCOMPATIBILITY *** - -10/20/94 (new features) Added support for clipboard: - - New "clipboard" command. - - C procedures Tk_ClipboardClear and Tk_ClipboardAppend. - - Bindings for "cut", "paste", and "copy" for text and entry widgets, - plus "copy" binding for listboxes. - -10/24/94 (bug fix) Button widgets weren't checking for errors when -setting the values of associated variables. - -11/3/94 (bug fix) Fixed bug whereby Tk would hang if "exit" was invoked -from inside a binding. - -11/15/94 (new features) Overhaul of focus mechanism: - - Added support for multiple displays: separate focus windows are - kept for each display. - - Added support for keyboard traversal. - - Changed focus model so Tk keeps track of a focus window for each - top-level window and automatically sets the focus on Enter to the - top-level. Tk no longer synthesizes FocusIn and FocusOut events, - but just uses the standard X mechanisms. There is no "default" - focus window anymore; the focus reverts to top-levels by default. - *** POTENTIAL INCOMPATIBILITY *** - - Changed focus command: eliminated "focus default" and "focus none", - added "-displayof" and "-lastfor" options. An empty string is now - used to signify "no focus" instead of "none". - *** POTENTIAL INCOMPATIBILITY *** - - Added library procedures tk_focusNext, tk_focusPrev, and - tk_focusFollowsMouse. - - Removed obsolete Tk_CreateFocusHandler: must use FocusIn and - FocusOut events now. - *** POTENTIAL INCOMPATIBILITY *** - -11/23/94 (new features) Overhaul of "send" command: - - Added support for multiple displays: -displayof option to "send". - - Added asynchronous sends: -async option to "send". - - Eliminated fixed timeouts on sends: as long as the target - application appears to exist, the send will wait for it. - - Stale entries get removed from the application registry now, - so "winfo interps" should never return non-existent applications. - - Can change the name of an application with "tk appname" command. - This is also the preferred way of querying the application name - now. - - The errorCode and errorInfo variables are now propagated back to - the sender now, so a full stack trace is available. - - Tk checks display security on each send now, instead of just during - initialization, so changes in the security status are seen immediately - by all applications. - - The above changes required changes to the data formats used for - communication between source and target applications, so Tk 4.0 - applications cannot send to, or be sent from, Tk 3.6 applications. - *** POTENTIAL INCOMPATIBILITY *** - - The procedure Tk_RegisterInterp has been replaced with Tk_SetAppName. - *** POTENTIAL INCOMPATIBILITY *** - -12/6/94 (cleanup) Eliminated "interp" argument to Tk_GetColorByValue, -since it is no longer needed. -*** POTENTIAL INCOMPATIBILITY *** +246. 2/17/94 Fixed bug in tclExpr.c where an expression such as +"expr {"12398712938788234-1298379" != ""}" triggers an integer +overflow error for the number in quotes, even though it isn't really +a proper integer anyway. -12/7/94 (feature change) Changed the "wm" command so that top-level -windows are now resizable by default. You can no longer specify -empty arguments to "wm maxsize" and "wm minsize". -*** POTENTIAL INCOMPATIBILITY *** +247. 2/19/94 Added new procedure Tcl_DStringGetResult to move result +from interpreter to a dynamic string. -12/8/94 (new feature) Added new "photo" image type using code provided -by Paul Mackerras: currently supports only PPM "P6" format images. +248. 2/19/94 Fixed bug in Tcl_DStringResult that caused it to overwrite +the contents of a static result in some situations. This can cause +bizarre errors such as variables suddenly having empty values. -12/14/94 (new features) Canvas modifications: - - Modified the interfaces between generic canvas code and the item - types so that it's easy for people to write new item types outside - of Tk. - - Added support for transparent bitmap items: just specify an - empty string as the background color. - - Changed the "xview" and "yview" commands for canvases to use the - new scrolling syntax. - - Eliminated -scrollincrement option. - *** POTENTIAL INCOMPATIBILITY *** +249. 2/21/94 Fixed bug in Tcl_AppendElement, Tcl_DStringAppendElement, +and the "lappend" command that caused improper omission of a separator +space in some cases. For example, the script + set x "abc{"; lappend x "def" +used to return the result "abc{def" instead of "abc{ def". -12/14/94 (bug fix) Fixed bug where the dimensions of canvas arrowheads -scaled during a "scale" widget command, but the scaling was only -temporary and got lost on the next re-configure of the item. The -correct behavior is for the arrowheads not to scale. +250. 3/3/94 Tcl_ConvertElement was outputting empty elements as \0 if +TCL_DONT_USE_BRACES was set. This depends on old pre-7.0 meaning of +\0, which is no longer in effect, so it didn't really work. Changed +to output empty elements as {} always. --------------------- Release 4.0b1, 12/23/94 ------------------------- +251. 3/3/94 Renamed Tcl_DStringTrunc to Tcl_DStringSetLength and extended +it so that it can be used to lengthen a string as well as shorten it. +Tcl_DStringTrunc is defined as a macro for backward compatibility, but +it is deprecated. -12/26/94 (bug fix) Removed obsolete demos from Makefile (color, dialog, -size), fixed "install" target. +252. 3/3/94 Added Tcl_AllowExceptions procedure. -1/3/95 (bug fix) Fixed all procedure calls to explicitly cast arguments: -implicit conversions from prototypes don't work when compiling under -non-ANSI compilers. Tk is now clean under gcc -Wconversion. +253. 3/13/94 Fixed bug in Tcl_FormatCmd that could cause "format" +to mis-behave on 64-bit Big-Endian machines. -1/4/95 (bug fix) Used "screenX" without ever setting it in DisplayText -in tkCanvText.c: caused tabs in canvas text items to get messed up. +254. 3/13/94 Changed to use vfork instead of fork on systems where +vfork exists. -1/4/95 (bug fix) Canvases forgot to register the built-in types if -Tk_CreateItemType was called before a canvas widget was created. +255. 3/23/94 Fixed bug in expressions where ?: didn't associate +right-to-left as they should. -1/4/95 (bug fixes) Fixed glitches in various text bindings: - - Up used to do nothing if the cursor was at 2.0. - - Right used to make the cursor invisible if it was just before - the final newline of the text. - - Control-t didn't conform to Emacs; made it conform to GNU Emacs. - - Deleted Control-x binding, since it doesn't conform to anything and - is confusing for Emacs users. +256. 4/3/94 Fixed "exec" to flush any files used in >@ or >&@ +redirection in exec, so that data buffered for them is written +before any new data added by the subprocess. -1/4/95 (bug fixes) Changed Control-t for entries just as for texts (see -above) an deleted Control-x for entries (see above). +257. 4/3/94 Added "subst" command. -1/4/95 (bug fix) The packer didn't map slaves unless the master was mapped; -this could cause slaves to get "lost" so that they weren't mapped until the -master resized. - -1/5/95 (bug fix) Scrollbars weren't executing the proper code the first time -the mouse entered the widget; this caused problems if tk_strictMotif was -set. - -1/6/95 (bug fix) Fixed label/button/checkbutton/radiobutton/menubutton -widgets to allow arbitrary screen distances when specifying -width and --height for an image or bitmap (the manual pages already documented this -but the code didn't implement it). - -1/6/95 (new feature) Added very primitive support for input methods, -as suggested by Martin Forssen. This should be enough for European -character sets (Compose key) but it isn't near enough for Asian -character sets. +258. 5/20/94 The tclsh main program is now called Tcl_Main; tclAppInit.c +has a "main" procedure that calls Tcl_Main. This makes it easier to use +Tcl with C++ programs, which need their own main programs, and it also +allows an application to prefilter the argument list before calling +Tcl_Main. +*** POTENTIAL INCOMPATIBILITY *** -1/8/95 (bug fix) Fixed problem in canvas "xview" and "yview" commands -where divide-by-zero errors could sometimes occur. +259. 6/6/94 Fixed bug in procedure returns where the errorInfo variable +could get truncated if an unset trace was invoked as part of returning +from the procedure. -1/8/95 (bug fix) New event handler didn't properly handle files for -which both TK_READABLE and TK_WRITABLE were specified. +260. 6/13/94 Added "wordstart" and "wordend" options to "string" command. -1/11/95 (bug fix) Fixed bug with text selections: was returning count -too high for data, causing bogus garbage to appear when selection was -copied. +261. 6/27/94 Fixed bug in expressions where they didn't properly cancel +the evaluation of math functions in &&, ||, and ?:. --------------------- Release 4.0b2, 1/12/95 ------------------------- +262. 7/11/94 Incorrect boolean values, like "ogle", weren't being +handled properly. -1/27/95 (feature removal) Removed %D substitution from binding scripts: -wasn't portable, shouldn't be used anyway. -*** POTENTIAL INCOMPATIBILITY *** +263. 7/15/94 Added Tcl_RegExpCompile, Tcl_RegExpExec, and Tcl_RegExpRange, +which provide lower-level access to regular expression pattern matching. -1/27/95 (new features) Added -displayof options to the commands -"winfo atom", "winfo atomname", "winfo containing", "winfo interps", -and "winfo pathname". +264. 7/22/94 Fixed bug in "glob" command where "glob -nocomplain ~bad_user" +would complain about a missing user. Now it doesn't complain anymore. -1/27/95 (new feature) Added "idle" option to "after" command to run -scripts as idle handlers. +265. 8/4/94 Fixed bug with linked variables where they didn't behave +correctly when accessed via upvars. -1/28/95 (new feature) Modified placer to make -x and -relx additive -if you specify both. Same for -y and -rely, -width and -relwidth, -and -height and -relheight. This makes it easy to make request such -as "make .a 2 pixels larger than .b". -*** POTENTIAL INCOMPATIBILITY *** +266. 8/17/94 Fixed bug in Tcl_EvalFile where it didn't clear interp->result. -1/28/95 (new feature) Improved auto-grab mechanism in canvases (which -prevents current item from changing while a button is down): changed -to report Enter and Leave events for the current item while a button -is down. However, as before, no Enter events are reported for other -items until the button goes up. +267. 8/31/94 Modified "open" command so that errors in exec-ing +subprocesses are returned by the open immediately, rather than +being delayed until the "close" is executed. -1/28/95 (new feature) Bitmap images are now transparent if the -background -is specified as an empty string (-maskdata and -maskfile are ignored in -this case). This is also the default. +268. 9/9/94 Modified "expr" command to generate errors for integer +overflow (includes addition, subtraction, negation, multiplication, +division). -1/28/95 (bug fix) Tk didn't support manufacturer- or site-specific keysyms -such as SunAudioMute. Modified tkBind.c so that it uses XStringToKeysym -in addition to its own hash table, so that all keysyms are now available. +269. 9/23/94 Modified "regsub" to return a count of the number of +matches and replacements, rather than 0/1. -1/30/95 (feature change) Modified "clipboard append" so that it reclaims -the clipboard selection if it had been previously lost, rather than just -generating an error. This handles certain race conditions more cleanly, -and also allows the use of programs like "xclipboard". +279. 10/4/94 Added new features to "array" command: + - added "get" and "set" commands for easy conversion between arrays + and lists. + - added "exists" command to see if a variable is an array, changed + "names" and "size" commands to treat a non-existent array (or scalar + variable) just like an empty one. + - added pattern option to "names" command. -1/30/95 (new feature) Added -xscrollincrement and -yscrollincrement -options to canvases. +280. 10/6/94 Modified Tcl_SetVar2 so that read traces on variables get +called during append operations. -1/31/95 (bug fix) Geometry management was broken if a particular geometry -manager claimed a slave away from itself. +281. 10/20/94 Fixed bug in "read" command where reading from stdin +required two control-D's to stop the reading. -1/31/95 (bug fix) Fixed bug in tkVisual.c where a visual with fewer bits -than requested was being selected in preference to one with just the right -number of bits. +282. 11/3/94 Changed "expr" command to use longs for division just like +all other expr operators; it previously used ints for division. -1/31/95 (bug fix) Texts weren't redisplaying the padding region properly -after changes in -padx or -pady. +283. 11/4/94 Fixed bugs in "unknown" procedure: it wasn't properly +handling exception returns from commands that were executed after +being auto-loaded. -1/31/95 (new features) More text improvements: - - Extended "insert" widget command for texts to allow multiple - text-tagList pairs in the same command. - - Added -nocase option to "search" widget command. - - Added -overstrike option to tags. - - Added tab stops, via -tabs option for widget and for tags. +----------------- Released version 7.4b1, 12/23/94 ------------------ -2/10/95 (bug fix) Modified all widgets to allow renaming of widget -commands. Deleting a widget command will delete the widget. +284. 12/26/94 Fixed "install" target in Makefile (couldn't always +find install program). -2/11/95 (new feature) Added -highlightbackground option to all widgets. +285. 12/26/94 Added strcncasecmp procedure to compat directory. -2/14/95 (new feature) Added "insert" widget command for menus. +286. 1/3/95 Fixed all procedure calls to explicitly cast arguments: +implicit conversions from prototypes (especially integer->double) +don't work when compiling under non-ANSI compilers. Tcl is now clean +under gcc -Wconversion. -2/15/95 (new feature) Modified text display code (for all widgets) to -display well-known control characters like newline and backspace as -\n or \b instead of \xa. +287. 1/4/95 Fixed problem in Tcl_ArrayCmd where same name was used for +both a label and a variable; caused problems on several older compilers, +making array command misbehave and causing many errors in Tcl test suite. -2/15/95 (bug fix) Modified bitmap and photo image managers to delete -the image command when the image is deleted. Also modified them to -allow renaming of the image command, and to delete the image if the -image command is deleted. +----------------- Released version 7.4b2, 1/12/95 ------------------ -2/15/95 (bug fix) Fixed text widgets to allow horizontal scrolling -even if wrapping was enabled, if a line isn't entirely visible due to -a large character or embedded window. +288. 2/9/95 Modified Tcl_CreateCommand to return a token, and added +Tcl_GetCommandName procedure. Together, these procedures make it possible +to track renames of a command. -2/16/95 (feature change) Added "postcascade" widget command to menus, -changed "invoke" and "activate" not to post or unpost submenus. Also -fixed bug in redisplay that tended to leave bits of garbage on menu -when submenu unposted. +289. 2/13/95 Fixed bug in expr where "089" was interpreted as a +floating-point number rather than a bogus octal number. *** POTENTIAL INCOMPATIBILITY *** -2/16/95 (feature removal) Removed "snap back" behavior (slider -snaps back to old position if you move the mouse outside the widet -before releasing the button) from scrollbars and scales. +290. 2/14/95 Added code to Tcl_GetInt and Tcl_GetDouble to check for +overflows when reading in numbers. -2/16/95 (bug fix) The last line of a listbox wasn't being displayed if -it was only partially visible. - -2/16/95 (new features) Added support for "-resolution 0" (no rounding -of values) to scale widgets, plus smarter computation of how many digits -to display. - -2/17/95 (bug fix) Fixed bug in text bindings for things like Shift-Left: -didn't properly set the anchor position. - -2/20/95 (bug fix) Changed management of COLORMAP_WINDOWS property to -add the toplevel implicitly to the end of the list if it wasn't already -on the list somewhere. Without this, some window managers implicitly -put it at the front of the list, so that colormaps in internal windows -are never used. - -2/20/95 (bug fix) Changed to use separate command procedures for -button, checkbutton, label, and radiobutton commands. This allows the -class commands to be renamed without breaking their behavior. - -2/20/95 (removed feature) The "bind" command no longer supports -"Keymap" events; they never worked anyway. - -2/20/95 (bug fix) The text "search" widget command looped infinitely -when searching an empty text. - -2/20/95 (bug fix) Canvases weren't redrawing their borders after -configuration changes. - -2/20/95 (upgrade) Changed to use autoconf version 2.2. - -2/21/95 (bug fix) Fixed several bug fixes in menu bindings that occur -when menus have no entries. - -2/21/95 (bug fix) Fixed bug in geometry management that caused windows -packed -in siblings to not always be mapped and unmapped properly -(particularly when the toplevel got unmapped and mapped). - -2/22/95 (bug fix) Fixed resource leak problem in tkTextDisp.c that -caused embedded windows not to be unmapped when off-screen. - -2/23/95 (bug fix) "After cancel" dumped core when the script for an -after event cancelled itself. - -2/24/95 (bug fix) Text and entry widgets weren't properly ignoring -Alt-, Control-, and Meta- keystrokes, so a widget-specific binding -for one of these resulted in the character also being inserted. - -2/24/95 (bug fix) Several widgets accidentally performed unsigned -division on negative numbers, thereby losing the sign bit. This -mostly affected the display of images and bitmaps in buttons, -menubuttons, and messages. - -2/24/95 (feature reversal) Restored old behavior of %A so that it -returns non-printing characters as well as printing ones now. -*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 *** - -2/24/95 (bug fix) Duplicate "leave" events could occur for canvas -items under some conditions, due to recursive calls to PickCurrentItem. -Added code to detect and skip the nested calls. - -2/24/95 (bug fix) Fixed bug where an error could occur during the first -keystroke in an application if its binding invoked "break". - -2/25/95 (new feature) Modified syntax of "search" widget command for -texts. The -nowrap switch and the "variable" final argument are no -longer supported. Instead, there is a -count switch to replace -the final argument; if the final argument is specified, it is now -a stopping index for the search. The features of -nowrap can be -achieved now with the stopping index. -*** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 *** - -2/27/95 (bug fix) Fixed problem that appears to prevent keyboard -input for working under IRIX: tkBind.c was ignoring XmbLookupString -calls that returned a status of XLookupBoth. - -2/27/95 (new feature) Added Tk_GetItemTypes procedure to return -information about available canvas item types. - -2/27/95 (feature change) Changed Makefile to always use install-sh -for installations: there's just too much variation among "install" -system programs, which makes installation flakey. - -2/27/95 (bug fix) Fixed bug in tkSend.c that caused core dumps if -the app's main window was destroyed by a destroy handler on a -child. - -3/5/95 (feature change) Change separator character used in "bind +..." -bindings from semi-colon to newline (permits bindings that are -comments, for what that's worth). - -3/7/95 (bug fix/feature change) Overhauled focus code, both in C -and in Tcl: - - Tk won't move the X focus in response to the "focus" command - unless either the application already has the focus or the - -force switch is specified. - - Tk no longer sets the X focus to anything other than top-levels; - it synthesizes events for FocusIn and FocusOut to children. - - A window no longer has to be viewable when focussed to; Tk will - set the X focus later, when the window becomes viewable. - - Added -takefocus option to all widgets. - - Rewrote tk_focusPrev and tk_focusNext to use the -takefocus option. - These procedures no longer set the focus; they just return the - next window in focus order. - *** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 *** - - Eliminated tk_focusContinue. - *** POTENTIAL INCOMPATIBILITY with Tk 4.0b2, but not with Tk 3.6 *** - -3/8/95 (new feature, bug fix) Added support for tk_strictMotif variable -in C: Tk_StrictMotif library procedure. Modified buttons, menubuttons, -menus to use it. This fixes the problem with menus not supporting -tk_strictMotif properly in Tk4.0b1 and b2. - -3/16/95 (feature overhaul) Overhauled color management: - - Changed Tk so it never denies a color request because a colormap - filled up. Instead, it allocates the closest available color. - - Eliminated "color model" mechanism. The "tk colormodel" command - is gone, as are the procedures Tk_GetColorModel and Tk_SetColorModel. - *** POTENTIAL INCOMPATIBILITY *** - - Changed 3D border implementation to allocate colors for shadows - lazily, so they're never allocated if they're never used. Also - added new feature whereby stippling is used for borders when - the colormap has run out of entries. Changed arguments to many - of Tk_3D C procedures to take a Tk_Window as argument instead of - a (Display *). This is needed to do lazy color allocation. - *** POTENTIAL INCOMPATIBILITY *** - - Eliminated colormap argument to Tk_GetColor, Tk_GetColorByValue, - and Tk_Get3DBorder. - *** POTENTIAL INCOMPATIBILITY *** - -3/16/95 (feature change) Event bindings created from Tcl will now ignore -Enter, Leave, FocusIn, and FocusOut events with detail NotifyInferior. -This is done in anticipation of mega-widgets, so that the user of a -mega-widget can create Enter/Leave bindings on the mega-widget without -seeing spurious events as the mouse moves among the windows in the -mega-widget. -*** POTENTIAL INCOMPATIBILITY *** +291. 2/18/95 Changed "array set" to stop after first error, rather than +continuing after error. -3/17/95 (feature change) Changed C interfaces throughout Tk to use ints -instead of unsigneds: the unsigneds turn out to cause subtle problems -with arithmetic in some places, and using ints everywhere is just -simpler. -*** POTENTIAL INCOMPATIBILITY *** +292. 2/20/95 Upgraded to use autoconf version 2.2. -3/23/95 (bug fix) Selections longer than 4000 bytes were being -truncated to 4000 bytes. +293. 2/20/95 Fixed core dump that could occur in "scan" command if a +close bracket was omitted. --------------------- Release 4.0b3, 3/24/95 ------------------------- +294. 2/27/95 Changed Makefile to always use install-sh for installations: +there's just too much variation among "install" system programs, which +makes installation flakey. + +----------------- Released version 7.4b3, 3/24/95 ------------------ 3/25/95 (bug fix) Changed "install" to "./install" in Makefile so that "make install" will work even when "." isn't in the search path. -3/25/95 (bug fix) Modified Tk's selection mechanism to prevent core -dumps in other applications during retrievals of large selections -(this is actually a bug in the other apps, but I've patched Tk to -keep it from getting triggered). - -3/25/95 (bug fix) Fixed bug where X window for "." wasn't being -deleted. - -3/27/95 (bug fix) Fixed many bugs associated with having more than -one application in a single process. - -3/28/95 (bug fix) The "search" widget command for texts didn't -return the correct index and count if there were embedded widgets -on the same line as the returned range but before the end of -the range. - -3/28/95 (bug fix) Changed pasting via button 2 in text and entries -so that it inserts at the pointer location, not the location of -the insertion cursor. - -3/28/95 (bug fix) Fixed several bugs related to bindings -that delete ancestors in the window hierarchy. Also eliminated -extraneous calls to XDestroyWindow, which speeds up window deletion -by about 3x. - -3/28/95 (bug fix) Several widgets (buttons, menubuttons, menus) didn't -properly handle image deletions that occurred while the widget was -being deleted (caused core dumps). - -3/29/95 (bug fix) When retrieving long selections from text widgets, -parts of lines were getting duplicated in the selection information. - -4/1/95 (bug fix) Fixed bug that caused infinite loop in horizontal -scales with 0 range. - -4/1/95 (bug fix) Fixed problem with -command option for scrollbars and --takefocus option that caused commands to be evaluated in the wrong -context. - -4/1/95 (bug fix) Fixed problem with option database that caused it to -sometimes use the wrong option (wasn't flushing the database properly -after a change in a window's class). +3/29/95 (bug fix) Fixed bug where the auto-loading mechanism wasn't +protecting the values of the errorCode and errorInfo variables. -4/1/95 (bug fix) If a line in a text widget just barely fit in the window, -Tk was allocating a second screen line just for the newline character. +3/29/95 (new feature) Added optional pattern argument to "parray" procedure. -4/1/95 (new feature) When backspacing in an entry widget, when you reach -the left edge of the widget, the insertion cursor gets recentered. +3/29/95 (bug fix) Made the full functionality of + "return -code ... -errorcode ..." +work not just inside procedures, but also in sourced files and at +top level. -4/1/95 (new features) Added "winfo pointerx" and "winfo pointery" commands -to fetch the current pointer position. +4/6/95 (new feature) Added "pattern" option to "array names" command. -4/6/95 (bug fix) If the last line of a text widget was only partially -visible, it was counted as visible for purposes of the scrollbar. Now -it is treated as if it were off-screen for scrolling purposes. +4/18/95 (bug fix) Fixed bug in parser where it didn't allow backslash-newline +immediately after an argument in braces or quotes. -4/6/95 (new feature) Modified "bell" command to reset screen saver as well. +4/19/95 (new feature) Added tcl_library variable, which application can +set to override default library directory. -4/6/95 (feature change) Modified menu scanning (where menus pull down -as you drag across their menubuttons) so it only works among menus -in the same toplevel; it used to work for any menubuttons in the -application. - -4/6/95 (bug fix) Canvas text items weren't allowing real numbers in -"@x,y" notation for specifying indices. - -4/7/95 (bug fix) Menus didn't display correctly when -activeborderwidth -was large. - -4/7/95 (bug fix) Changed "clipboard append" command to support -- option -and to always treat the last argument as data, even if it starts with -"-". - -4/17/95 (new feature) Added -wrap option to text tags. - -4/18/95 (bug fix) Listboxes and texts weren't updating their grid information -when -width or -height changed. - -4/18/95 (bug fix) "Down" didn't work right in text widgets if the last -line was only partially visible in the window. - -4/19/95 (bug fix) Listboxes didn't handle partially visible last lines -right: couldn't scroll it into full visibility, for example. - -4/20/95 (bug fix) If a toplevel was positioned with a command like -"wm geometry . -0-0", the window didn't reposition itself to maintain -that geometry after a size change. - -4/21/95 (feature change) Changed order of binding tags so widget bindings -fire before class bindings. New order is: widget, class, toplevel, all. -*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 *** - -4/23/95 (new feature) Added "winfo colormapfull" command. - -4/23/95 (new feature) Buttons and radiobuttons and checkbuttons now -treat Return the same as Space, unless tk_strictMotif is set. - -4/23/95 (bug fix) Modified menu tear-off procedure to duplicate the -binding tags and bindings of the original in the copy. - -4/25/95 (bug fix and feature change) Modified mechanism for choosing -"best" visual to fix a bug where depth wasn't really getting highest -priority in all situations. - -4/28/95 (bug fix) Failed text searches starting at "end" could result -in an infinite loop in Tk. - -4/30/95 (new feature) Added "wm resizable" command to enable and -disable interactive resizing. - -4/30/95 (new feature) Added "window names" widget command to texts: -returns a list of all embedded windows. - -5/2/95 (feature change) Changed text searches so that forward searches -start at the given index, rather than the character just after the -given index. -*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 *** - -5/4/95 (bug fix) Default bit gravity for windows was wrong (it was -ForgetGravity) causing unnecessary flashing when windows were resized. - -5/4/95 (feature change) Modified Tk_DoOneEvent so that it doesn't -sleep if there's nothing that will wake it up again (e.g. no file -or timer handlers). Returns 0 immediately. +4/30/95 (bug fix) During trace callbacks for array elements, the variable +name used in the original reference would be temporarily modified to +separate the array name and element name; if the trace callback used +the same name string, it would get the wrong name (the array name without +element). Fixed to restore the variable name before making trace +callbacks. -5/5/95 (configuration change) Changed to use BSDgettimeofday instead -of gettimeofday on systems like IRIX where BSDgettimeofday is -available. This avoids compilation problems due to the different -interface to gettimeofday provided by IRIX. +4/30/95 (new feature) Added -nobackslashes, -nocommands, and -novariables +switches to "subst" command. -5/5/95 (feature change) Changed binding mechanism so that all bindings -are created immediately at initialization time, rather than waiting -until the first FocusIn or Enter event for a class. +5/4/95 (new feature) Added TCL_EVAL_GLOBAL flag to Tcl_RecordAndEval. -5/6/95 (feature change) Changed default text for labels, buttons, -checkbuttons, radiobuttons, menubuttons, and messages from " " to -"". +5/5/95 (bug fix) Format command would overrun memory when printing +integers with very large precision, as in "format %.1000d 0". -5/6/95 (bug fix) If the application was destroyed in the middle of -an "update" command, Tk would dump core. +5/5/95 (portability improvement) Changed to use BSDgettimeofday on +IRIX machines, to avoid compilation problems with the gettimeofday +declaration. 5/6/95 (bug fix) Changed manual entries to use the standard .TH macro instead of a custom .HS macro; the .HS macro confuses index generators like makewhatis. -5/6/95 (bug fix) Change "wm iconwindow" command to disable button -presses for the icon window. This is needed so that the window -manager can get those events (X only allows button presses to go -to one client for a given window). +5/9/95 (bug fix) Modified configure script to check for Solaris bug +that makes vfork unreliable (core dumps result if vforked child +changes a signal handler); will use fork instead of vfork if the +bug is present. -5/9/95 (new feature) When specifying visuals, can now use "best" -with a depth, e.g. "-visual {best 8}" to get the best 8-bit visual. +6/5/95 (bug fix) Modified "lsort" command to disallow recursive calls +to lsort from a comparison function. This is needed because qsort +is not reentrant. -5/18/95 (bug fix) Fixed bug with -spacing* options for text widget: -screen distances weren't allowed, only integers. +6/5/95 (bug fix) Undid change 243 above: changed TCL_VOLATILE and +TCL_DYNAMIC back to integer constants rather than procedure addresses. +This was needed because procedure addresses can have multiple values +under some dynamic loading systems (e.g. SunOS 4.1 and Windows). -5/20/95 (bug fix) Eliminated memory leaks in tkTextDisp.c and elsewhere. - -5/22/95 (color change) Changed the Tk color palette to a gray scheme. -Also added a library procedure tk_setPalette that makes it easy to -change colors on the fly, and a procedure tk_bisque that restores the -previous light brown scheme. - -5/28/95 (bug fix) Modified canvases so that the -width and -height -options refer to the space inside the borders, not the total widget -space. Also changed "xview" and "yview" commands and scroll-increment -rounding to use the pixel just inside the borders, rather than (0,0). - -5/28/95 (bug fix) Several widgets (e.g. entries, buttons, and menus) -didn't properly handle unsets of variables they were tracing, if the -variables were reference through upvars in procedures. - -6/4/95 (bug fix) The placer wasn't rounding window widths right when -both -relx and -relwidth were specified (or -rely and -relheight) so -that rounding errors accumulated. - -6/4/95 (feature improvement) Change parsing of text indices to handle -weird mark and tag names better (e.g. any string ending with ".first" -will now be parsed as a tag name, even if it contains embedded spaces, -etc.). +6/8/95 (feature change) Modified interface to Tcl_Main to pass in the +address of the application-specific initialization procedure. +Tcl_AppInit is no longer hardwired into Tcl_Main. This is needed +in order to make Tcl a shared library. -6/4/95 (feature change) If a font defines glyphs for control characters, -they are now displayed, instead of translating the character to a -backslash sequence (however, tabs and newlines are still treated -specially; glyphs are not displayed for these characters). +6/8/95 (feature change) Modified Makefile so that the installed versions +of tclsh and libtcl.a have version number in them (e.g. tclsh7.4 and +libtcl7.4.a) and the library directory name also has an embedded version +number (e.g., /usr/local/lib/tcl7.4). This should make it easier for +Tcl 7.4 to coexist with earlier versions. -6/4/95 (bug fix) Modify the implementation of "raise" and "lower" for -toplevels so that it now works under olwm and olvwm. It didn't use to -work, and the problem is really in the window manager, but Tk now -patches around it. However, only "total" raises and lowers work: -raising and lowering relative to a sibling still don't work under -olvwm and olwm. +----------------- Released version 7.4b4, 6/16/95 ------------------ -6/4/95 (feature change) Modified tab code in texts so that a tab always -occupies at least as much space as a space character. +6/19/95 (bug fix) Fixed bugs in tclCkalloc.c that caused core dumps +if TCL_MEM_DEBUG was enabled on word-addressed machines such as Crays. -6/4/95 (bug fix) The "%t" substitution wasn't being made properly in -Enter and Leave event bindings. +6/21/95 (feature removal) Removed overflow checks for integer arithmetic: +they just cause too much trouble (e.g. for random number generators). -6/7/95 (new feature) Added support for GIF images. Unfortunately it's -a bit fragile: certain kinds of badly formed images can cause core -dumps; I don't know enough about the GIF reader (taken from giftoppm) -to figure this out. +6/28/95 (new features) Added tcl_patchLevel and tcl_version variables, +for consistency with Tk. -6/7/95 (bug fix and feature change) Fixed PPM image reader to be more -flexible about header formats, and added support for PGM images. +6/29/95 (bug fix) Fixed problem in Tcl_Eval where it didn't record +the right termination character if a script ended with a comment. This +caused erroneous output for the following command, among others: +puts "[ +expr 1+1 +# duh! +]" -6/7/95 (feature change) Added -outlinestipple option to canvas arc -items, changed "-style arc" to use -outline as the color instead of --fill (the old approach was pretty quirky). -*** POTENTIAL INCOMPATIBILITY *** +6/29/95 (message change) Changed the error message for ECHILD slightly +to provide a hint about why the problem is occurring. -6/8/95 (feature change) Modified interface to Tk_Main to pass in the -address of the application-specific initialization procedure. -Tcl_AppInit is no longer hardwired into Tk_Main. This is needed -in order to make Tcl a shared library. +----------------- Released version 7.4, 7/1/95 ------------------ -6/8/95 (feature change) Modified Makefile so that the installed versions -of wish and libtk.a have version number in them (e.g. wish4.0 and -libtk4.0.a) and the library directory name also has an embedded version -number (e.g., /usr/local/lib/tk4.0). This should make it easier for -Tk 4.0 to coexist with earlier versions. +7/18/95 (bug fix) Changed "lreplace" so that nothing is deleted if +the last index is less than the first index or if the last index +is < 0. -6/9/95 (new feature) Added -outline and -width options to canvas polygon -items. +7/18/95 (bug fix) Fixed bugs with backslashes in comments: +Tcl_CommandComplete (and "info complete") didn't properly handle +strings ending in backslash-newline, and neither Tcl_CommandComplete +nor the Tcl parser handled other backslash sequences right, such +as two backslashes before a newline. -6/9/95 (feature changed) Renamed -decimate in photo widget to -subsample -(decimate wasn't technically correct). -*** POTENTIAL INCOMPATIBILITY with Tk 4.0b3, but not with Tk 3.6 *** +7/19/95 (bug fix) Modified Tcl_DeleteCommand to delete the hash table +entry for the command before invoking its callback. This is needed in +order to deal with reentrancy. --------------------- Release 4.0b4, 6/16/95 ------------------------- +7/22/95 (bug fix) "exec" wasn't reaping processes correctly after +certain errors (e.g. if the name of the executable was bogus, as +in "exec foobar"). -6/19/95 (bug fix) Colors weren't being rounded correctly in canvas -Postscript generation: caused "white" to appear slightly gray when -the display of the canvas used only 8 bits per color. +7/27/95 (bug fix) Makefile.in wasn't using the LIBS variable provided +by the "configure" script. This caused problems on some SCO systems. -6/20/95 (bug fix) "bbox" widget command for texts didn't return -proper width for tabs. +7/27/95 (bug fix) The version of strtod in fixstrtod.c didn't properly +handle the case where endPtr == NULL. -6/20/95 (bug fix) Scrollbars didn't always work right for texts: -couldn't scroll all the way to the bottom of the text in a single -drag of the slider. +----------------- Released patch 7.4p1, 7/29/95 ----------------------- -6/20/95 (new feature) Added "delta" widget command for scrollbars -(needed for above bug fix). +8/4/95 (bug fix) C-level trace callbacks for variables were sometimes +receiving the PART1_NOT_PARSED flag, which could cause errors in +subsequent Tcl library calls using the flags. (JO) -6/23/95 (bug fix) Listboxes weren't properly redisplaying their -borders when the were configured to a smaller size. +8/4/95 (bug fix) Calls to toupper and tolower weren't using the +UCHAR macros, which caused trouble in non-U.S. locales. (JO) -6/23/95 (new feature) Added "winfo server" command. +8/10/95 (new feature) Added the "load" command for dynamic loading of +binary packages, and the Tcl_PackageInitProc prototype for package +initialization procedures. (JO) -6/23/95 (bug fix) If a menu was posted, couldn't switch to another -menu with an Alt- key. +8/23/95 (new features) Added "info sharedlibextension" and +"info nameofexecutable" commands, plus Tcl_FindExtension procedure. (JO) -6/24/95 (new feature) Added "winfo pointerxy" command. +8/25/95 (bug fix) If the target of an "upvar" was non-existent but +had traces set, the traces were silently lost. Change to generate +an error instead. (JO) -6/25/95 (bug fix) Tk_ParseArgv referenced beyond the end of 0-length -option names. +8/25/95 (bug fix) Undid change from 7/19, so that commands can stay +around while their deletion callbacks execute. Added lots of code to +handle all of the reentrancy problems that this opens up. (JO) -6/25/95 (bug fix) Fixed problem in tkOption.c where "cachedWindow" -could get garbage in it if the main window's class was changed by -calling Tk_SetClass. +8/25/95 (bug fix) Fixed core dump that could occur in TclDeleteVars +if there was an upvar from one entry in the table to the next entry +in the same table. (JO) -6/25/95 (bug fix) Fixed two bugs in menus, one where errors in -variable traces weren't propagated correctly and one where "invoke" -was invoked at the wrong stack level, with the result that variable -traces didn't have access to the right variables. +8/28/95 (bug fix) Exec wasn't handling bad user names properly, as +in "exec ~bogus_user/foo". (JO) -6/27/95 (bug fix) tk3d.c wasn't using all the right information -when deciding whether or not to stipple borders, so it stippled -borders even on 16-bit true-color displays. +8/29/95 (bug fixes) Changed backslash-newline handling to correct two +problems: + - Only spaces and tabs following the backslash-newline are now + absorbed as part of the backslash-newline. Newlinew are no + longer absorbed (add another backslash if you want to absorb + another newline). + - TclWordEnd returns the character just before the backslash in + the sequence as the end of the sequence; it used to not consider + the backslash-newline as a word separator. (JO) -6/28/95 (bug fix) Page up and down operations in texts could cause -insertion cursor to drift to the right. Changed tkTextScrollPages -to use upper-left corner of current character, rather than center -of character. +8/31/95 (new feature) Changed man page installation (with "mkLinks" +script) to create additional links for manual pages corresponding to +each of the procedure and command names described in the pages. (JO) -6/28/95 (bug fix) Changed text widget so that you can't put the -insertion cursor after the last newline in the text. +9/10/95 Reorganized Tcl sources for Windows and Mac ports. All sources +are now in subdirectories: "generic" contains sources that work on all +platforms, "windows", "mac", and "unix" directories contain platform- +specific sources. Some UNIX sources are also used on other platforms. (SS) -6/28/95 (bug fix) Bitmap images didn't allow ~'s in file names. +9/10/95 (feature change) Eliminated exported global variables (they +don't work with Windows DLLs). Replaced tcl_AsyncReady and +tcl_FileCloseProc with procedures Tcl_AsyncReady() and +Tcl_SetFileCloseProc(). Replaced C variable tcl_RcFileName with +a Tcl variable tcl_rcFileName. (SS) +*** POTENTIAL INCOMPATIBILITY *** -6/28/95 (bug fix) Fixed problem that could cause core dumps in the -text widget when dealing with embedded windows (there were problems -if the act of redisplaying caused the window layout to change, which -can happen with embedded windows). +9/11/95 (new feature) Added procedure Tcl_SetPanicProc to override +the default implementation of "panic". (SS) + +9/11/95 (new feature) Added "interp" command to allow creation of +new interpreters and execution of untrusted scripts. Added many new +procedures, such as Tcl_CreateSlave, Tcl_CreateAlias,and Tcl_MakeSafe, +to provide C-level access to the interpreter facility. This mechanism +now provides almost all of the generic functions of Borenstein's and +Rose's Safe-Tcl (but not any Tk or email-related stuff). (JL) + +9/11/95 (feature change) Changed file management so that files are +no longer shared between interpreters: a file cannot normally be +referenced in one interpreter if it was opened in another. This +feature is needed to support safe interpreters. Added Tcl_ShareHandle() +procedure for allowing files to be shared, and added "interp" argument +to Tcl_FilePermissions procedure. (JL) +*** POTENTIAL INCOMPATIBILITY *** -6/28/95 (bug fix) Texts didn't handle indices with double negatives, -such as ".t mark set insert {insert + -20 chars}". +9/11/95 (new feature) Added "AssocData" mechanism, whereby extensions +can associate their own data with an interpreter and get called back +when the interpreter is deleted. This is visible at C level via the +procedures Tcl_SetAssocData and Tcl_GetAssocData. (JL) -6/28/95 (bug fix) Fixed problem where focus didn't always revert to -its prior window after a dialog box was dismissed. +9/11/95 (new feature) Added Tcl_ErrnoMsg to translate an errno value +into a human-readable string. This is now used instead of calling +strerror because strerror mesages vary dramatically from platform +to platform, which messes up Tcl tests. Tcl_ErrnoMsg uses the standard +POSIX messages for all the common signals, and calls strerror for +signals it doesn't understand. -6/28/95 (bug fix) Fixed problem with "search" widget command returning -incorrect length on some backwards regexp searches. +----------------- Released patch 7.4p2, 9/15/95 ----------------------- -6/28/95 (bug fix) Successive "wm iconbitmap . {}" commands could cause -a core dump. +----------------- Released 7.5a1, 9/15/95 ----------------------- -6/29/95 (new feature) Added -elementborderwidth option for scrollbars -so the -borderwidth can be set to 0 without flattening the arrows and -slider. +9/22/95 (bug fix) Changed auto_mkindex to create tclIndex files that +handle directories whose paths might contain spaces. (RJ) --------------------- Release 4.0, 7/1/95 ------------------------- +9/27/95 (bug fix) The "format" command didn't check for huge or negative +width specifiers, which could cause core dumps. (JO) -7/18/95 (bug fix) %t in event bindings didn't work properly for some -events (e.g. PropertyNotify). +9/27/95 (bug fix) Core dumps could occur if an interactive command typed +to tclsh returned a very long result for tclsh to print out. The bug is +actually in printf (in Solaris 2.3 and 2.4, at least); switched to use +puts instead. (JO) -7/18/95 (bug fix) Changed "exec wish" lines in demo scripts to -"exec wish4.0" to avoid version conflicts. +9/28/95 (bug fix) Changed makefile.bc to eliminate a false dependency +for tcl1675.dll on the Borland run time library. (SS) -7/18/95 (bug fix) Fixed round-off errors in scrolling for texts, -canvases, listboxes, and entries. The error could cause the view -to shift up in a command like "$w yview moveto [lindex [$w yview] 0]". +9/28/95 (bug fix) Fixed tcl75.dll so it looks for tcl1675.dll instead +of tcl16.dll. (SS) -7/19/95 (bug fix) Canvases weren't always redrawing borders correctly -when they became unobscured. There were also some problems with -improper refresh after size changes. +9/28/95 (bug fix) Tcl was not correctly detecting the difference +between Win32s and Windows '95. (SS) -7/19/95 (bug fix) Fixed bug in text index processing that causes -tests textIndex-11.1 and textIndex12.1 to fail on some platforms. +9/28/95 (bug fix) "exec" was not passing environment changes to child +processes under Windows. (SS) -7/19/95 (bug fix) Fixed bug where 2-second delays were ocurring during -"raise" and "lower" commands for toplevel windows under some window -managers (such as fvwm). +9/28/95 (bug fix) Changed Tcl to ensure that open files are not passed +to child processes under Windows. (SS) -7/20/95 (bug fix) Text searches were misbehaving when there were embedded -windows on the starting line of the search. The most common symptom is -that Tk would fail to find a match at the starting position for the -search. +9/28/95 (bug fix) Fixed Windows '95 and NT versions of exec so it can +handle both console and windows apps. (SS) -7/22/95 (bug fix) Fixed core dump that could occur in menus if a checkbutton -entry's -variable option referred to an array (or couldn't be read -by the menu C code for some other reason). +9/28/95 (bug fix) Fixed Windows version of exec so it no longer leaves +temp files lying around. Also changed it so the temp files are +created in the appropriate system dependent temp directory. (SS) -7/22/95 (bug fix) Text widgets didn't update their scrollbars when -changes were made to information that was off-screen. +9/28/95 (bug fix) Eliminated source dependency on the Win32s Universal +Thunk header file, since it is not bundled with VC++. (SS) -7/25/95 (bug fix) Fixed core-dump in tkListbox.c that used to happen -in the command ".l bbox end" if the listbox was empty. +9/28/95 (bug fix) Under Windows, Tcl now constructs the HOME +environment variable from HOMEPATH and HOMEDRIVE when HOME is not +already set. (SS) -7/25/95 (bug fix) Page-up and page-down bindings for listboxes didn't -move active element to remain on the screen. +9/28/95 (bug fix) Added support for "info nameofexecutable" and "info +sharedlibextension" to the Windows version. (SS) -7/25/95 (bug fix) Patched around H-P compiler problem that results in -core-dumps in tkImgPhoto.c during image handling. +9/28/95 (bug fix) Changed tclsh to correctly parse command line +arguments so that backslashes are preserved under Windows. (SS) -7/25/95 (bug fix) Fixed bug in tkImgPhoto.c that caused core dumps -(during Tk self-tests and other image uses) on AIX and other machines -where "schar" in tkImgPhoto.c was being defined as "short" instead of -"char". +9/29/95 (bug fix) Tcl 7.5a1 treated either return or newline as end +of line in "gets", which caused lines ending in CRLF to be treated as +two separate lines. Changed to allow only character as end-of-line: +carriage return on Macs, newline elsewhere. (JO) -7/26/95 (bug fix) The PPM image reader couldn't handle maximum intensity -values other than 255. +9/29/95 (new feature) Changed to install "configInfo" file in same +directory as library scripts. It didn't used to get installed. (JO) -7/26/95 (bug fix) Canvases didn't redraw their borders when the relief -changed from raised to flat. +9/29/95 (bug fix) Tcl was not converting Win32 errors into POSIX +errors under some circumstances. (SS) -7/27/95 (bug fix) Canvases didn't set the scrolling values correctly -when no scroll region was specified. +10/2/95 (bug fix) Safe interpreters no longer get initialized with +a call to Tcl_Init(). (JL) -7/28/95 (bug fix) Modified menu and tk_dialog scripts to restore any -old grab that might have been in effect before a menu or dialog was -posted. +10/1/95 (new feature) Added "tcl_platform" global variable to provide +environment information such as the instruction set and operating +system. (JO) ------------------ Released patch 4.0p1, 7/29/95 ---------------------- +10/1/95 (bug fix) "exec" command wasn't always generating the +"child process exited abnormally" message when it should have. (JO) -8/4/95 (bug fix) Calls to toupper and tolower weren't using the UCHAR -macro, so they didn't always work in non-U.S. locales. (JO) +10/2/95 (bug fix) Changed "mkLinks.tcl" so that the scripts it generates +won't create links that overwrite original manual entries (there was +a problem where pack-old.n was overwriting pack.n). (JO) -8/14/95 (new feature) Added -tearoffcommand option for menus. +10/2/95 (feature change) Changed to use -ldl for dynamic loading under +Linux if it is available, but fall back to -ldld if it isn't. (JO) -8/16/95 (bug fix) Canvases didn't generate proper Enter and Leave -events if the Leave handler for an item reconfigured the canvas in -a way that made the old current item the new current item again. (JO) +10/2/95 (bug fix) File sharing was causing refcounts to reach 0 +prematurely for stdin, stdout and stderr, under some circumstances. (JL) -8/21/95 (bug fix/feature change) When -takefocus was a script, Tk -was allowing window viewability to override it. Changed so that -viewability is now ignored when -takefocus is a script. (JO) +10/2/95 (platform support) Added support for Visual C++ compiler on +Windows, Windows '95 and Windows NT, code donated by Gordon Chaffee. (JL) -8/21/95 (bug fixes) Fixed memory leaks in tkSend.c, tkSelect.c, and -tkUnixWm.c (JO). +10/3/95 (bug fix) Tcl now frees any libraries that it loads before it +exits. (SS) -8/21/95 (bug fix) Text widgets didn't handle commands like -".t search -backwards foo end 1.0" properly: never found foo. (JO) +10/03/95 (bug fix) Fixed bug in Macintosh ls command where the -l +and -C options would fail in anything but the HOME directory. (RJ) -8/23/95 (new feature) Added Makefile and configure.in support for -dynamic loading. (JO) +----------------- Released 7.5a2, 10/6/95 ----------------------- -8/25/95 (bug fix) The "frame" and "toplevel" commands couldn't safely -be renamed, due to a kludgy way that they shared a single command -procedure. Split into separate procedures. (JO) +10/10/95 (bug fix) "file dirnam /." was returning ":" on UNIX instead +of "/". (JO) -8/25/95 (bug fix) Fixed bug in libary/menu.tcl that caused "grab -window not visible" errors for popup menus (and perhaps elsewhere?). (JO) +10/13/95 (bug fix) Eliminated dependency on MKS toolkit for generating +the tcl.def file from Borland object files. (SS) + +10/17/95 (new features) Moved the event loop from Tcl to Tk, made major +revisions along the way: + - New Tcl commands: after, update, vwait (replaces "tkwait variable"). + - "tkerror" is now replaced with "bgerror". + - The following procedures are similar to their old Tk counterparts: + Tcl_DoOneEvent, Tcl_Sleep, Tcl_DoWhenIdle, Tcl_CancelIdleCall, + Tcl_CreateFileHandler, Tcl_DeleteFileHandler, Tcl_CreateTimerHandler, + Tcl_DeleteTimerHandler, Tcl_BackgroundError. + - Revised notifier, add new concept of "event source" with the following + procedures: Tcl_CreateEventSource, Tcl_DeleteEventSource, + Tcl_WatchFile, Tcl_SetMaxBlockTime, Tcl_FileReady, Tcl_QueueEvent, + Tcl_WaitForEvent. (JO) + +10/31/95 (new features) Implemented cross platform file name support to make +it easier to write cross platform scripts. Tcl now understands 4 file naming +conventions: Windows (both DOS and UNC), Mac, Unix, and Network. The network +convention is a new naming mechanism that can be used to paths in a platform +independent fashion. See the "file" command manual page for more details. +The primary interfaces changes are: + - All Tcl commands that expect a file name now accept both network and + native form. + - Two new "file" subcommands, "nativename" and "networkname", provide a + way to convert between network and native form. + - Renamed Tcl_TildeSubst to Tcl_TranslateFileName, and changed it so that + it always returns a filename in native form. Tcl_TildeSubst is defined + as a macro for backward compatibility, but it is deprecated. (SS) + +11/5/95 (new feature) Made "tkerror" and "bgerror" synonyms, so that +either name can be used to manipulate the command (provides temporary +backward compatibility for existing scripts that use tkerror). (JO) + +11/5/95 (new feature) Added exit handlers and new C procedures +Tcl_CreateExitHandler, Tcl_DeleteExitHandler, and Tcl_Exit. (JO) + +11/6/95 (new feature) Added pid command for Macintosh version of +Tcl (it didn't previously exist on the Mac). (RJ) + +11/7/95 (new feature) New generic IO facility and support for IO to +files, pipes and sockets based on a common buffering scheme. Support +for asynchronous (non-blocking) IO and for event driver IO. Support +for automatic (background) asynchronous flushing and asynchronous +closing of channels. (JL) + +11/7/95 (new feature) Added new commands "fconfigure" and "fblocked" +to support new I/O features such as nonblocking I/O. Added "socket" +command for creating TCP client and server sockets. (JL). + +11/7/95 (new feature) Complete set of C APIs to the new generic IO +facility: + - Opening channels: Tcl_OpenFileChannel, Tcl_OpenCommandChannel, + Tcl_OpenTcpClient, Tcl_OpenTcpServer. + - I/O procedures on channels, which roughly mirror the ANSI C stdio + library: Tcl_Read, Tcl_Gets, Tcl_Write, Tcl_Flush, Tcl_Seek, + Tcl_Tell, Tcl_Close, Tcl_Eof, Tcl_InputBlocked, Tcl_GetChannelOption, + Tcl_SetChannelOption. + - Extension mechanism for creating new kinds of channels: + Tcl_CreateChannel, Tcl_GetChannelInstanceData, Tcl_GetChannelType, + Tcl_GetChannelName, Tcl_GetChannelFile, Tcl_RegisterChannel, + Tcl_UnregisterChannel, Tcl_GetChannel. + - Event-driven I/O on channels: Tcl_CreateChannelHandler, + Tcl_DeleteChannelHandler. (JL) + +11/7/95 (new feature) Channel driver interface specification to allow +new types of channels to be added easily to Tcl. Currently being used +in three drivers - for files, pipes and TCP-based sockets. (JL). + +11/7/95 (new feature) interp delete now takes any number of path +names of interpreters to delete, including zero. (JL). + +11/8/95 (new feature) implemented 'info hostname' and Tcl_GetHostName +command to get host name of machine on which the Tcl process is running. (JL) + +11/9/95 (new feature) Implemented file APIs for access to low level files +on each system. The APIs are: Tcl_CloseFile, Tcl_OpenFile, Tcl_ReadFile, +Tcl_WriteFile and Tcl_SeekFile. Also implemented Tcl_WaitPid which waits +in a system dependent manner for a child process. (JL) + +11/9/95 (new feature) Added Tcl_UpdateLinkedVar procedure to force a +Tcl variable to be updated after its C variable changes. (JO) + +11/9/95 (bug fix) The glob command has been totally reimplemented so +that it can support different file name conventions. It now handles +Windows file names (both UNC and drive-relative) properly. It also +supports nested braces correctly now. (SS) + +11/13/95 (bug fix) Fixed Makefile.in so that configure can be run +from a clean directory separate from the Tcl source tree, and compilations +can be performed there. (JO) + +11/14/95 (bug fix) Fixed file sharing between interpreters and file +transferring between interpreters to correctly manage the refcount so that +files are closed when the last reference to them is discarded. (JL) + +11/14/95 (bug fix) Fixed gettimeofday implementation for the +Macintosh. This fixes several timing related bugs. (RJ) + +11/17/95 (new feature) Added missing support for info nameofexecutable +on the Macintosh. (RJ) + +11/17/95 (bug fix) The Tcl variables argc argv and argv0 now return +something reasonable on the Mac. (RJ) + +11/22/95 (new feature) Implemented "auto-detect" mode for end of line +translations. On input, standalone "\r" mean MAC mode, standalone "\n" +mean Unix mode and "\r\n" means Windows mode. On output, the mode is +modified to whatever the platform specific mode for that platform is. (JL) + +11/24/95 (feature change) Replaced "configInfo" file with tclConfig.sh, +which is more complete and uses slightly different names. Also +arranged for tclConfig.sh to be installed in the platform-specific +library directory instead of Tcl's script library directory. (JO) +*** POTENTIAL INCOMPATIBILITY with Tcl 7.5a2, but not with Tcl 7.4 *** -8/25/95 (bug fix / new feature) The "gray25" bitmap was really only -12.5% on, not 25%. Added new "gray12" bitmap that is the same as the -old "gray25". "Gray25" is still supported for compatibility, but its -use is deprecated. (JO) +----------------- Released patch 7.4p3, 11/28/95 ----------------------- -8/25/95 (bug fix) Scrollbar bindings didn't properly handle case where -B2 is clicked while B1 is already down. (JO) +12/5/95 (new feature) Added Tcl_File facility to support platform- +independent file handles. Changed all interfaces that used Unix- +style integer fd's to use Tcl_File's instead. (SS) +*** POTENTIAL INCOMPATIBILITY *** -8/26/95 (bug fix) Menus were ignoring -activebackground if tk_strictMotif -was set, but not -activeforeground. Changed to ignore both. (JO) +12/5/95 (new feature) Added a new "clock" command to Tcl. The command +allows you to get the current "clicks" or seconds & allows you to +format or scan human readable time/date strings. (RJ) -8/26/95 (bug fix) Scales and scrollbars didn't properly handle a --repeatdelay value of 0 (they shouldn't auto-repeat in this case). (JO) +12/18/95 (new feature) Moved Tk_Preserve, Tk_Release, and Tk_EventuallyFree +to Tcl, renamed to Tcl_Preserve, Tcl_Release, and Tcl_EventuallyFree. (JO) -8/28/95 (bug fix) Tcl errors were occurring for tkPriv(oldGrab) when -clicking on a disabled option menu. (JO) +12/18/95 (new feature) Added new "package" command and associated +procedures Tcl_PkgRequire and Tcl_PkgProvide. Also wrote +pkg_mkIndex library procedure to create index files from binaries +and scripts. (JO) -8/28/95 (bug fix) Changed event-handling code to use FD_SETSIZE instead -of OPEN_MAX, since OPEN_MAX is incorrect on some systems (e.g., IRIX). (JO) +12/20/95 (new feature) Added Tcl_WaitForFile procedure. (JO) -8/28/95 (bug fix) Fixed bug in photo images that caused garbling of -image data in the "put" and "copy" commands if the source data had -only one scan line but had a width less than the width of the target -image. (JO) +12/21/95 (new features) Made package name argument to "load" optional +(Tcl will now attempt to guess the package name if necessary). Also +added Tcl_StaticPackage and support in "load" for statically linked +packages. (JO) -8/29/95 (bug fix) Tk used to refuse to post menus if they had no -entries. This made it impossible for a menu to fill itself the first -time it is posted. Changed to allow menus with no entries to be -posted. (JO) +12/22/95 (new feature) Upgraded the foreach command to accept multiple +loop variables and multiple value lists. This lets you iterate over +multiple lists in parallel, and/or assign multiple loop variables from +one value list during each iteration. The only potential compatibility +problem is with scripts that used loop variables with a name that could be +construed to be a list of variable names (i.e. contained spaces). (BW) -8/30/95 (bug fix) If there was extra space at the bottom of a menu, -it wasn't being redisplayed properly. +1/5/96 (new feature) Changed tclsh so it builds as a console mode +application under Windows. Now tclsh can be used from the command +line with pipes or interactively. Note that this only works under +Windows 95 or NT. (SS) -8/30/95 (new feature) Added -transient option to menus. +1/17/96 (new feature) Modified Makefile and configure script to allow +Tcl to be compiled as a shared library: use the --enable-shared option +when configuing. (JO) -8/30/95 (new features) Added proper button 2 support to both scrollbars -and scales (it sets the slider position from the mouse position). (JO) +1/17/96 (removed obsolete features) Removed the procedures Tcl_EnterFile +and Tcl_GetOpenFile: these no longer make sense with the new I/O system. (JL) +*** POTENTIAL INCOMPATIBILITY *** -8/30/95 (bug fix) Fixed potential core dump that could occur in -photo images (ReadPPMFileHeader could overflow buffer under some bad -inputs, such as certain GIF images). (JO) +1/19/96 (bug fixes) Prevented formation of circular aliases, through the +Tcl 'interp alias' command and through the 'rename' command, as well as +through the C API Tcl_CreateAlias. (JL) -8/30/95 (bug fix) Errors of the form `syntax error in expression "!"' -could occasionally happen in tkScaleDrag. (JO) +1/19/96 (bug fixes) Fixed several bugs in direct deletion of interpreters +with Tcl_DeleteInterp when the interpreter is a slave; fixes based on a +patch received from Viktor Dukhovni of ESM. (JL) -8/31/95 (new feature) Changed man page installation (with "mkLinks" -script) to create additional links for manual pages corresponding to -each of the procedure and command names described in the pages. (JO) +1/19/96 (new feature) Implemented on-close handlers for channels; added +the C APIs Tcl_CreateCloseHandler and Tcl_DeleteCloseHandler. (JL) -9/1/95 (new feature) Added "after info" command. Also added checks -so that one interpreter can't cancel another's "after" events. (JO) +1/19/96 (new feature) Implemented portable error reporting mechanism; added +the C APIs Tcl_SetErrno and Tcl_GetErrno. (JL) -9/8/95 (bug fix) Fixed bug that could cause memory corruption and core -dumps if a "fileevent" handler was deleted while the handler was -active. (JO) +1/24/96 (bug fix) Unknown command processing properly invokes external +commands under Windows NT and Windows '95 now. (SS) -9/11/95 Reorganized Tk sources for Windows and Mac ports. All sources -are now in subdirectories: "generic" contains sources that work on all -platforms, "windows", "mac", and "unix" directories contain platform- -specific sources. (SS) - -9/11/95 (new feature) Added new "notifier" mechanism to allow multiple -implementations of the mechanisms for finding out about events. This -change was necessary to support Mac and PC platforms, but it may also -allow other goodies such as combining Xt and Tk widgets in a single -application. See the new manual entry Notifier.3 for details. (SS) - -9/11/95 (feature change) Changed interface to Tk_RestrictProc so that -(a) it takes a clientData argument instead of display and arg, and -(b) it returns a value that can ask for the event to be discarded as well -as deferred or processed. (SS) -*** POTENTIAL INCOMPATIBILITY *** +1/23/96 (bug fix) Eliminated extremely long startup times under Windows '95. +The problem was a result of the option database initialization code that +concatenated $HOME with /.Xdefaults, resulting in a // in the middle of the +file name. Under Windows '95, this is incorrectly interpreted as a UNC +path. They delays came from the network timeouts needed to determine that +the file name was invalid. Tcl_TranslateFileName now suppresses duplicate +slashes that aren't at the beginning of the file name. (SS) + +1/25/96 (bug fix) Changed exec and open to create children so they are +attached to the application's console if it exists. (SS) -9/11/95 (new feature) Added TK_WINDOW_EVENTS #define, which is equivalent -to TK_X_EVENTS but is now preferred, since it applies to all platforms. (SS) +1/31/96 (bug fix) Fixed command line parsing to handle embedded +spaces under Windows. (SS) -9/11/95 (feature change) Can't export variables anymore because this doesn't -work under Windows DLLs. Eliminated tk_NumMainWindows variable and replaced -with procedure Tk_GetNumMainWindows. (SS) -*** POTENTIAL INCOMPATIBILITY *** +----------------- Released 7.5b1, 2/1/96 ----------------------- -9/11/95 (new feature) Added procedure Tk_PreserveColormap to increment -the reference count on colormaps. Used in photo widgets. (SS) +2/7/96 (bug fix) Fixed off by one error in argument parsing code under +Windows. (SS) ------------------ Released patch 4.0p2, 9/15/95 ---------------------- +2/7/96 (bug fix) Fixed bugs in VC++ makefile that improperly +initialized the tcl75.dll. Fixed bugs in Borland makefile that caused +build failures under Windows NT. (SS) ------------------ Released 4.1a1, 9/15/95 ---------------------- +2/9/96 (bug fix) Fixed deadlock problem in AUTO end of line translation +mode which would cause a socket server with several concurrent clients +writing in CRLF mode to hang. (JL) -9/22/95 (renamed files) Changed the names of the bitmap images in the -$tk_library/demos/images directory to use the .bmap file extension. (RJ) +2/9/96 (API change) Replaced -linemode option to fconfigure with a +new -buffering option, added "none" setting to enable immediate write. (JL) +*** INCOMPATIBILITY with b1 *** -9/22/95 (bug fix) Fixed bug where text widgets could occasionally -display the insertion cursor both at the end of one line and the -beginning of the next. (JO) +2/9/96 (new feature) Added C API Tcl_InputBuffered which returns the count +of bytes currently buffered in the input buffer of a channel, and o for +output only channels. (JL) -9/25/95 (bug fix) Fixed bug that could cause core dumps when an -application uses multiple screens and a binding destroys the main -window (bind code was using MainInfo structure after it had been -freed). (JO) +2/9/96 (new feature) Implemented asynchronous connect for sockets. (JL) -9/25/95 (bug fix) Text widgets sometimes scrolled backwards on -occasion if you dragged down past the bottom of the scrollbar. (JO) +2/9/96 (new feature) Added C API Tcl_SetDefaultTranslation to set (per +channel) the default end of line translation mode. This is the mode that +will be installed if an output operation is done on the channel while it is +still in AUTO mode. (JL) -9/25/95 (bug fix) Fixed bug in menus where a cascaded submenu posted -from a torn-off menu could be left posted if mouse was pulled off the -end of the cascade and released. (JO) +2/9/96 (bug fix) Changed Tcl_OpenCommandChannel interface to properly +handle all of the combinations of stdio inheritance in background +pipelines. See the Tcl_OpenFileChannel(3) man page for more +info. This change fixes the bug where exec of a background pipeline +was not getting passed the stdio handles properly. (SS) -9/25/95 (new feature) Added "--" switch to wish, so that you can -pass arguments like -n through to a script without having wish -interpret them. (JO) +2/9/96 (bug fix) Removed the new Tcl_CreatePipeline interface, and +restored the old version for Unix platforms only. All new code should +use Tcl_CreateCommandChannel instead. (SS) -9/25/95 (bug fix) Fixed core dump that could occur for radiobuttons -and selectbuttons if -selectcolor was an empty string. (JO) +2/9/96 (bug fix) Changed Makefile.in to use -L and -ltcl7.5 for Tcl +library so that shared libraries are more likely to be found correctly +on more platforms. (JO) -9/26/95 (bug fix) Entries didn't used to notice if a trace procedure -on the -textvariable overrode a new value set by the entry. This -could cause the variable to get out of sync with the contents of the -entry. (JO) +2/13/96 (new feature) Added C API Tcl_SetNotifierData and +Tcl_GetNotifierData to allow notifier and channel driver writers to +associate data with a Tcl_File. The result of this change is that +Tcl_GetFileInfo now always returns an OS file handle, and Tcl_GetFile +can be used to construct a Tcl_File for an externally constructed OS +handle. (SS) -9/26/95 (new feature) Added -sliderrelief option to scales, changed -default bindings to change the slider's relief to sunken while it's -being dragged with the mouse. (JO) +2/13/96 (bug fix) Changed Windows socket implementation so it doesn't +set SO_REUSEADDR on server sockets. Now attempts to create a server +socket on a port that is already in use will be properly identified +and an error will be generated. (SS) -9/26/95 (bug fix) TkColor.c wasn't computing colormap size correctly; -could result in X Protocol error for QueryColors when colormaps run -out of colors. (JO) +2/13/96 (bug fix) Fixed problems with DLL initialization under Visual +C++ that left the C run time library uninitialized. (SS) -9/26/95 (bug fix) Wish couldn't handle script files with spaces in -their names. (JO) +2/13/96 (bug fix) Fixed Windows socket initialization so it loads +winsock the first time it is used, rather than at the time tcl75.dll +is loaded. This should fix the bug where the modem immediately starts +trying to connect to a service provider when wish or tclsh are +started. (SS) -9/27/95 (cosmetic clean-up) Removed extraneous spaces to make error -messages consistent: ": should be" is now ": should be". (JO) +2/13/96 (new feature) Added C APIs Tcl_MakeFileChannel and +Tcl_MakeTcpClientChannel to wrap up existing fds and sockets into +channels. Provided implementations on Unix and Windows. (JL) -9/27/95 (feature change) Modified tk_dialog so that it uses the -option database for the -wraplength option on the message. This -allows the option to be overridden by the caller. (JO) +2/13/96 (bug fix) Fixed bug with seek leaving EOF and BLOCKING set. (JL) -9/28/95 (bug fix) Wish incorrectly parsed the command line under -Windows, causing backslashes to be substituted. (SS) +2/14/96 (bug fix) Fixed reentrancy problem in fileevent handling +and made it more robust in the face of errors. (JL) -9/28/95 (bug fix) Wish now sources wishrc.tcl instead of .wishrc. (SS) +2/14/96 (feature change) Made generic IO level emulate blocking mode if the +channel driver is unable to provide it, e.g. if the low level device is +always nonblocking. Thus, now blocking behavior is an advisory setting for +channel drivers and can be ignored safely if the channel driver is unable +to provide it. (JL) -9/28/95 (bug fix) Tk_DoOneEvent returned 0 under some circumstances -when it was possible to find more work to do. For example, if a -signal interrupted select(), but no event handlers were triggered, it -would return 0 even though it could still detect events by reentering -select(). (SS) +2/15/96 (new feature) Added "binary" end of line translation mode, which is +a synonym of "lf" mode. (JL) -9/29/95 (bug fix) "winfo interps" caused a crash under Windows. (SS) +2/15/96 (bug fix) Fixed reentrancy problem in fileevent handling vs +deletion of channel event handlers. (JL) -10/1/95 (feature change) Eliminated Tk_NotifyIdle interface in favor of -Tk_IdlePending. (SS) +2/15/96 (bug fix) Fixed bug in event handling which would cause a +nonblocking channel to not see further readable events after the first +readable event that had insufficient input. (JL) -10/1/95 (bug fix) Turned motion event collapsing into an idle handler -so it will be easier to move the event loop into Tcl. (SS) +2/17/96 (bug fix) "info complete" didn't properly handle comments +in nested commands. (JO) -10/1/95 (bug fix) Fixed several problems with negative coordinates -in canvases. One example: dragging a canvas rectangle with a wide -border and fractional coordinates could leave junk on the screen -if the rectangle was in negative coordinate space. (JO) +2/21/96 (bug fix) "exec" under Windows NT/95 did not properly handle +very long command lines (>200 chars). (SS) -10/2/95 (bug fix) Tk was improperly handling Enter/Leave events -during a button grab. (SS) +2/21/96 (bug fix) Sockets could get into an infinite loop if a read +event arrived after all of the available data had been read. (SS) -10/2/95 (new feature) Added support for the Macintosh do script -('dosc') event. Available only on the Macintosh. (RJ) +2/22/96 (bug fix) Added cast of st_size elements to (long) before +sprintf-ing in "file size" command. This is needed to handle systems +like NetBSD with 64-bit file offsets. (JO) -10/4/95 (new feature) Added support for compiling with VC++. -Resulting binaries work under Win32s through NT. +----------------- Released 7.5b2, 2/23/96 ----------------------- ------------------ Released 4.1a2, 10/6/95 ---------------------- +2/23/96 (bug fix) TCL_VARARGS macro in tcl.h wasn't defined properly +when compiling with C++. (JO) -10/10/95 (new feature) Macintosh Tk now supports the complete set -of X cursors that Unix Tk supports. (RJ) +2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile: +this caused problems on some platforms (like Linux?). (JO) -10/11/95 (bug fix) Tk now supports all of the X11 cursors under -Windows. (SS) +2/24/96 (bug fix) Fixed configuration bug that made Tcl not compile +correctly on Linux machines with neither -ldl or -ldld. (JO) -10/11/95 (bug fix) The "wm resizable" command was missing from the -Windows version of Tk. (SS) +2/24/96 (new feature) Added a block of comments and definitions to +Makefile.in to make it easier to have Tcl's TclSetEnv etc. replace +the library procedures setenv etc, so that calls to setenv etc. in +the application automatically update the Tcl "env" variable. (JO) -10/12/95 (bug fix) Macintosh Tk had problems with clipping toplevel -windows that children of any frame other than another toplevel. (RJ) +2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL) +to C API Tcl_Close and simplified closing of command channels. (JL) +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 *** -10/13/95 (bug fix) Eliminated dependency on MKS toolkit for generating -the tk.def file from Borland object files. (SS) - -10/16/95 (bug fix) Fixed clipping and update problems relating to -the raising and lowering of overlapping windows on Mac. (RJ) - -10/30/95 (bug fix) When focus-follows-mode (invoked via tk_focusFollowsMouse), -was focussing on windows even in situations where keyboard traversal would -skip the window. Changed to use the tkFocusOK procedure so that the -criteria for focussing are the same in both modes. (JO) - -11/2/95 (bug fix) Changed listbox bindings to ignore double-clicks. -This avoids errors that used to occur if a user defined a binding -for double-click that deleted the listbox. (JO) - -11/3/95 (feature change) Moved most of the Tk event loop to Tcl. Many -Tk_ names have become Tcl names now: - -TK_READABLE => TCL_READABLE -TK_WRITABLE => TCL_WRITABLE -TK_EXCEPTION => TCL_EXCEPTION -TK_DONT_WAIT => TCL_DONT_WAIT -TK_WINDOW_EVENTS => TCL_WINDOW_EVENTS -TK_FILE_EVENTS => TCL_FILE_EVENTS -TK_TIMER_EVENTS => TCL_TIMER_EVENTS -TK_IDLE_EVENTS => TCL_IDLE_EVENTS -TK_ALL_EVENTS => TCL_ALL_EVENTS -Tk_IdleProc => Tcl_IdleProc -Tk_FileProc => Tcl_FileProc -Tk_TimerProc => Tcl_TimerProc -Tk_TimerToken => Tcl_TimerToken -Tk_BackgroundError => Tcl_BackgroundError -Tk_CancelIdleCall => Tcl_CancelIdleCall -Tk_CreateFileHandler => Tcl_CreateFileHandler -Tk_CreateTimerHandler =>Tcl_CreateTimerHandler -Tk_DeleteFileHandler => Tcl_DeleteFileHandler -Tk_DeleteTimerHandler =>Tk_DeleteTimerHandler -Tk_DoOneEvent => Tcl_DoOneEvent -Tk_DoWhenIdle => Tcl_DoWhenIdle -Tk_Sleep => Tcl_Sleep -tkerror => bgerror - -Other than the name changes, the functions are the same. In addition, -there are #defines in tk.h so that the old Tk names will still work. -tkerror and bgerror are specially hacked as synonyms, so it should be -safe to use either one. You should switch to the new Tcl names ASAP, -though, since the old Tk names will eventually be desupported. (JO) - -11/7/95 (features removed) As part of moving the event loop to Tcl, -the following procedures were deleted: - - Tk_EventInit (the presence of the event loop in Tcl should - make this unneccessary). - - Tk_CreatFileHandler2 (you can get the same effect by using event - sources in Tcl, but you have to modify your code to use the new - Tcl APIs). - - All of the stuff in the manual entries Notifer.3 and QueueEvent.3; - this has changed because the notifier got reworked when it was - moved to Tcl. -*** POTENTIAL INCOMPATIBILITY *** +2/27/96 (feature change) Added optional Tcl_Interp * argument (may be NULL) +to C type definition Tcl_DriverCloseProc; modified all channel drivers to +implement close procedures that accept the additional argument. (JL) +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 *** -11/7/95 (feature change) Changed to use exit handler to cleanup windows -in Tk, so Tk no longer needs to have a private copy of the "exit" command. -(JO) +2/28/96 (bug fix) Fixed memory leak that could occur if an upvar +referred to an element of an array in the same stack frame as the +upvar. (JO) -11/7/95 (bug fix) If wish was invoked with a command-line geometry and -a script file (e.g. "wish foo.tcl -geometry 30x20"), and if one of -the windows created by the script used the -setgrid option, then the -width and height from the command line were lost. (JO) +2/29/96 (feature change) Modified both Tcl_DoOneEvent and Tcl_WaitForEvent +so that they return immediately in cases where they would otherwise +block forever (e.g. if there are no event handlers of any sort). (JO) -11/8/95 (bug fix) The "see" command didn't work quite right for texts: -if the window was small and you try to "see" a line just offscreen, -Tk centered the line (actually, mis-centered it) when it should have -aligned it at the top or bottom. (JO) +2/29/96 (new feature) Added C APIs Tcl_GetChannelBufferSize and +Tcl_SetChannelBufferSize to set and retrieve the size, in bytes, for +buffers allocated to store input or output in a channel. (JL) -11/9/95 (bug fix) The "send" command crashed if you tried to send to -a different display with "-displayof". (JO) +2/29/96 (new feature) Added option -buffersize to Tcl fconfigure command +to allow Tcl scripts to query and set the size of channel buffers. (JL) -11/9/95 (bug fix) The Symbol font didn't print right in Postscript -output, because of changes made to re-encode fonts to get proper -ISO Latin1 behavior. Changed the code not to re-encode the Symbol -font. (JO) +2/29/96 (feature removed) Removed channel driver function to specify +the buffer size to use when allocating a buffer. Removed the C typedef +for Tcl_DriverBufferSizeProc. Channels are now created with a default +buffer size of 4K. (JL) +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 *** -11/13/95 (bug fix) Fixed Makefile.in and configure.in for UNIX so that -configure can be run from a clean directory separate from the Tcl source -tree, and compilations can be performed there. (JO) +2/29/96 (feature change) The channel driver function for setting blocking +mode on the device may now be NULL. If the generic code detects that the +function is NULL, operations that set the blocking mode on the channel +simply succeed. (JL) -11/17/95 (bug fix) If a window was gridded, Tk still computed the -default maximum dimensions in pixel units, which resulted in windows -that could grow much larger than the screen. (JO) +3/2/96 (bug fix) Fixed core dump that could occur if a syntax error +(such as missing close paren) occurred in an array reference with a +very long array name. (JO) -11/17/95 (bug fix) If a menus entries were all disabled, posting -the menu and typing Up or Down caused an infinite loop, locking -up the screen (JO). +3/4/96 (bug fix) Removed code in the "auto_load" procedure that deletes +all existing auto-load information whenever the "auto_path" variable +is changed. Instead, new information adds to what was already there. +Otherwise, changing the "auto_path" variable causes all package- +related information to be lost. If you really want to get rid of +existing auto-load information, use auto_reset before setting auto_path. (JO) -11/19/95 (bug fix) The focus wasn't being restored properly after a -menu selection in a cascaded menu. (JO) +3/5/96 (new feature) Added version suffix to shared library names so that +Tcl will compile under NetBSD and FreeBSD (I hope). (JO) -11/19/95 (bug fix) Menubutton's didn't stipple display their images -differently when disabled. Change to have the same behavior as buttons: -the image is stippled over in the background color when the menubutton -is disabled. (JO) +3/6/96 (bug fix) Cleaned up error messages in new I/O system to correspond +more closely to old I/O system. (JO) -11/21/95 (bug fix) Changes in display attributes such as font could -cause core dumps in the text widget under some circumstances involving -line wrapping. (JO) +3/6/96 (new feature) Added -myaddr and -myport options to the socket +command, removed -tcp and -- options. This lets clients and servers +choose a particular interface. Also changed the default server address +from the hostname to INADDR_ANY. The server accept callback now gets +passed the client's port as well as IP address. The C interfaces for +Tcl_OpenTcpClient and Tcl_OpenTcpServer have changed to support the +above changes. (BW) +*** POTENTIAL INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 *** -11/22/95 (bug fix/new feature) Changed both the placer and the packer -to ensure that slaves are unmapped whenever the master is unmapped. -This saves time that slaves might otherwise spend trying to redisplay -themselves when they're unmapped. (JO) +3/6/96 (changed feature) The library function auto_mkindex will now +default to using the pattern "*.tcl" if no pattern is given. (RJ) -11/22/95 (bug fix) Space and return keys didn't work for menus if -they were posted via Alt-x keystrokes. (JO) +3/6/96 (bug fix) The socket channel code for the Macintosh has been +rewritten to use native MacTcp. (RJ) -11/24/95 (bug fix) tk_dialog procedure had binding for that -always activated default binding, even if input focus was in some -other binding. Removed this feature, since existing focus support -will already "do the right thing". (JO) +3/7/96 (new feature) Added Tcl_SetStdChannel and Tcl_GetStdChannel +interfaces to allow applications to explicitly set and get the global +standard channels. (SS) -11/24/95 (bug fix) Both canvases and texts could dump core if a binding -(such as ButtonRelease on an internal item) deleted the widget. (JO) +3/7/96 (bug fix) Tcl did close not the file descriptors associated +with "stdout", etc. when the corresponding channels were closed. (SS) -11/24/95 (feature change) Replaced "configInfo" file with tkConfig.sh, -which is more complete and uses slightly different names. Also -arranged for tkConfig.sh to be installed in the platform-specific -library directory. (JO) - -11/24/95 (bug fix) It was possible for a slave to be placed or packed --in itself, with unpleasant consequences. It is now an error for the -slave to be its own master for geometry management. (JO) - -11/25/95 (bug fix) The -command option of scales was sometimes being -invoked spuriously (e.g. when the mouse moved in the scale without a -button down). This was because the scale wasn't rounding properly -when setting the scale value from its associated variable. (JO) - ------------------ Released patch 4.0p3, 11/28/95 ---------------------- - -12/18/95 (feature change) Moved Tk_Preserve, Tk_Release, and -Tk_EventuallyFree to Tcl, renamed to Tcl_Preserve etc. Added #defines -to tk.h so that the old names still work. (JO) - -12/23/95 (bug fix) If a single process had > 1 Tk application, Tk -didn't guarantee that the application names were unique, which could -cause all sorts of confusion with "send". (JO) - -12/23/95 (feature change) Eliminated Tk_CreateMainWindow and moved -all of its functionality to Tk_Init. All that you need to do now -to get Tk in an application is to call Tk_Init. Improved Tk_Init -so that -colormap and -visual command-line arguments are now passed -through to TkCreateFrame. Tk_Main is much simpler now, since a lot -of its functionality has moved to Tk_Init. (JO) -*** POTENTIAL INCOMPATIBILITY *** +3/7/96 (bug fix) Reworked shared library and dynamic loading stuff to +try to get it working under AIX. Added new @SHLIB_LD_LIBS@ autoconf +symbol as part of this. AIX probably doesn't work yet, but it should +be a lot closer. (JO) -12/23/95 (new feature) Added support for Tcl_StaticPackage so -that Tk can now be loaded into slave interpreters with the "load" -command to create new applications. (JO) +3/7/96 (feature change) Added Tcl_ChannelProc typedef and changed the +signature of Tcl_CreateChannelHandler and Tcl_DeleteChannelHandler to take +Tcl_ChannelProc arguments instead of Tcl_FileProc arguments. This change +should not affect any code outside Tcl because the signatures of +Tcl_ChannelProc and Tcl_FileProc are compatible. (JL) -12/23/95 (new features) Added support for -colormap and -visual command- -line options for wish. (JO) +3/7/96 (API change) Modified signature of Tcl_GetChannelOption to return +an int instead of char *, and to take a Tcl_DString * argument. Modified +the implementation so that the option name can be NULL, to mean that the +call should retrieve a list of alternating option names and values. (JL) +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 *** -1/4/95 (bug fix) Fixed keyboard code to properly handle alt-key -sequences for international keyboards and menu-accelerators. (SS) +3/7/96 (API change) Added Tcl_DriverSetOptionProc, Tcl_DriverGetOptionProc +typedefs, added two slots setOptionProc and getOptionProc to the channel +type structure. These may be NULL to indicate that the channel type does +not support any options. (JL) +*** INCOMPATIBILITY with Tcl 7.5b2, but not with Tcl 7.4 *** -1/5/96 (bug fix) Scrollbar code sometimes generated errors on accesses -to tkPriv(relief) during control-clicks. (JO) +3/7/96 (feature change) stdin, stdout and stderr can now be put into +nonblocking mode. (JL) -1/9/96 (new feature) added the "grid" command to provide a table based -geometry manager. (SU) +3/8/96 (feature change) Eliminated dependence on the registry for +finding the Tcl library files. (SS) -1/12/96 (performance optimization) Changed the way tag information is kept -in the text's Btree so the cost of adding and removing tag ranges is no longer -proportional to the number of unique tags in the text. In the old system -the cost of adding N unique tags was O(N-squared). The new implementation is -optimized for tags that only cover a small amount of text, measuring from -their earliest tag range to the end of their last range. In the best case the -cost of adding a tag range is unrelated to the number of unique tags, so the -cost of adding N tags is only O(N). In the worst case, where all tags -cover all the text, the cost is still O(N-squared) to add N such tags. -Deleting tags still has an O(N) cost (so deleting N tags is O(N-squared), -but it is now a factor of 2 faster than the old system. (BW) +----------------- Released 7.5b3, 3/8/96 ----------------------- -1/12/96 (new feature) added the text "dump" operation that returns information -about all elements in a text widget: text, tags, marks, and windows. (BW) +3/12/96 (feature improvement) Modified startup script to look in several +different places for the Tcl library directory. This should allow Tcl +to find the libraries under all but the weirdest conditions, even without +the TCL_LIBRARY environment variable being set. (JO) -1/12/96 (new feature) added the text "mark next" and "mark previous" operations -to search forward and backwards for the next (previous) mark in the text. (BW) +3/13/96 (bug fix) Eliminated use of the "linger" option from the Windows +socket implementation. (JL) -1/12/96 (new feature) added the text "tag prevrange" operation to search -backwards for the current or previous range of a tag. (BW) +3/13/96 (new feature) Added -peername and -sockname options for fconfigure +for socket channels. Code contributed by John Haxby of HP. (JL) -1/16/96 (new feature) Added support for relative widget placement on -the "grid" command. (SU) +3/13/96 (bug fix) Fixed panic and core dump that would occur if the accept +callback script on a server socket encountered an error. (JL) -1/17/96 (new feature) Modified the Makefile/configure setup to support -compiling Tk as a shared library. Use the --enable-shared option to -the "configure" script. (JO) +3/13/96 (feature change) Added -async option to the Tcl socket command. +If the command is creating a client socket and the flag is present, the +client is connected asynchronously. If the option is absent (the default), +the client socket is connected synchronously, and the command returns only +when the connection has been completed or failed. This change was suggested +by Mark Diekhans. (JL) ------------------ Released 4.1b1, 1/26/96 ----------------------- +3/13/96 (feature change) Modified the signature of Tcl_OpenTcpClient to +take an additional int argument, async. If nonzero, the client is connected +to the server asynchronously. If the value is zero, the connection is made +synchronously, and the call to Tcl_OpenTcpClient returns only when the +connection fails or succeeds. This change was suggested by Mark Diekhans. (JL) +*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 *** -2/2/96 (bug fix) Frames were getting a default size of 200x200, whereas -there should be no default. (JO) +3/14/96 (bug fix) "tclsh bogus_file_name" didn't print an error message. (JO) -2/2/96 (bug fix) Argc wasn't getting reset properly after Tk removed -the arguments it understood from those on the command line. (JO) +3/14/96 (bug fix) Added new procedures to tclCkalloc.c so that libraries +and applications can be compiled with TCL_MEM_DEBUG even if Tcl isn't +(however, the converse is still not true). Patches provided by Jan +Nijtmans. (JO) -2/6/96 (bug fix) Fixed off by one error in argument parsing code under -Windows. (SS) +3/15/96 (bug fix) Marked standard IO handles of a process as close-on-exec +to fix bug in Ultrix where exec was not sharing standard IO handles with +subprocesses. Fix suggested by Mark Diekhans. (JL) -2/6/96 (bug fix) "wm transient" now works under Windows. The resulting -toplevel is created with a modal dialog box frame and will not appear -in the taskbar under Windows '95. (SS) +3/15/96 (bug fix) Fixed asynchronous close mechanism so that it closes the +channel instead of leaking system resources. The manifestation was that Tcl +would eventually run out of file descriptors if it was handling a large +number of nonblocking sockets or pipes with high congestion. (JL) -2/9/96 (bug fix) Changed Makefile.in to use -L and -l for Tcl and Tk -libraries so that shared libraries are more likely to be found correctly -on more platforms. (JO) +3/15/96 (bug fix) Fixed tests so that they no longer leak file descriptors. +The manifestation was that Tcl would eventually run out of file descriptors +if the tests were rerun many times (> a hundred times on Solaris). (JL) -2/14/96 (feature change) Eliminated tk_CanvasTagsOption variable because -it can't be exported safely across DLL boundaries. Instead, exported -Tk_CanvasTagsParseProc and Tk_CanvasTagsPrintProc procedures for -use by canvas type managers in creating their own custom options. (JO) -*** POTENTIAL INCOMPATIBILITY *** +3/15/96 (bug fix) Fixed channel creation code so that it never creates +unnamed channels. This would cause a panic and core dump when the channel +was closed. (JL) -2/14/96 (bug fix) "winfo pointerxy" when applied to a non-toplevel window -crashed wish. (SS) +3/16/96 (bug fixes) Made lots of changes in configuration stuff to get +Tcl working under AIX (finally). Tcl should now support the "load" +command under AIX and should work either with or without shared +libraries for Tcl and Tk. (JO) -2/14/96 (bug fix) "tkwait visibility" would hang under Windows. (SS) +3/21/96 (configuration improvement) Changed configure script so it +doesn't use version numbers (as in -ltcl7.5 and libtcl7.5.so) under +SunOS 4.1, where they don't work anyway. (JO) -2/14/96 (bug fix) Cursors were not being updated until an enter event. -In cases where the cursor left the toplevel and reentered before Tk -noticed, the cursor would get "stuck" until the next enter event. -Similarly, if the cursor attribute of a window was updated while the -mouse was in the window, the cursor would not change until the next -time the mouse entered the window. (SS) +3/22/96 (new feature) Added C API Tcl_InterpDeleted that allows extension +writers to discover when an interpreter is being deleted. (JL) + +3/22/96 (bug fix) The standard IO channels are now added to each +trusted interpreter as soon as the interpreter is created. This ensures +against the bug where a child would do IO before the master had done any, +and then the child is destroyed - the standard IO channels would be then +closed and the master would be unable to do any IO. (JL) + +3/22/96 (bug fix) Made Tcl more robust against interpreter deletion, by +using Tcl_Preserve, Tcl_Release and Tcl_EventuallyFree to split the process +of interpreter deletion into two distinct phases. Also went through all of +Tcl and added calls to Tcl_Preserve and Tcl_Delete where needed. (JL) + +3/22/96 (bug fix) Fixed several places where C code was reading and writing +into freed memory, especially during interpreter deletion. (JL) + +3/22/96 (bug fix) Fixed very deep bug in Tcl_Release that caused memory to +be freed twice if the release callback did Tcl_Preserve and Tcl_Release on +the same memory as the chunk currently being freed. (JL) + +3/22/96 (bug fix) Removed several memory leaks that would cause memory +buildup on half-K chunks in the generic IO level. (JL) + +3/22/96 (bug fix) Fixed several core dumps which occurred when new +AssocData was being created during the cleanups in interpreter deletion. +The solution implemented now is to loop repeatedly over the AssocData until +none is left to clean up. (JL) + +3/22/96 (bug fix) Fixed a bug in event handling which caused an infinite +loop if there were no files being watched and no timer. Fix suggested by +Jan Nijtmans. (JL) + +3/22/96 (bug fix) Fixed Tcl_CreateCommand, Tcl_DeleteCommand to be more +robust if the interpreter is being deleted. Also fixed several order +dependency bugs in Tcl_DeleteCommand which kicked in when an interpreter +was being deleted. (JL) + +3/26/96 (bug fix) Upon a "short read", the generic code no longer calls +the driver for more input. Doing this caused blocking on some platforms +even on nonblocking channels. Bug and fix courtesy Mark Roseman. (JL) + +3/26/96 (new feature) Added 'package Tcltest' which is present only in +test versions of Tcl; this allows the testing commands to be loaded into +new interpreters besides the main one. (JL) + +3/26/96 (restored feature) Recreated the Tcl_GetOpenFile C API. You can +now get a FILE * from a registered channel; Unix only. (JL) + +3/27/96 (bug fix) The regular expression code did not support more +than 9 subexpressions. It now supports up to 20. (SS) + +4/1/96 (bug fixes) The CHANNEL_BLOCKED bit was being left on on a short +read, so that fileevents wouldn't fire correctly. Bug reported by Mark +Roseman.(JL, RJ) + +4/1/96 (bug fix) Moved Tcl_Release to match Tcl_Preserve exactly, in +tclInterp.c; previously interpreters were being freed only conditionally +and sometimes not at all. (JL) + +4/1/96 (bug fix) Fixed error reporting in slave interpreters when the +error message was being generated directly by C code. Fix suggested by +Viktor Dukhovni of ESM. (JL) + +4/2/96 (bug fixes) Fixed a series of bugs in Windows sockets that caused +events to variously get lost, to get sent multiple times, or to be ignored +by the driver. The manifestation was blocking if the channel is blocking, +and either getting EAGAIN or infinite loops if the channel is nonblocking. +This series of bugs was found by Ian Wallis of Cisco. Now all tests (also +those that were previously commented out) in socket.test pass. (JL, SS) + +4/2/96 (feature change/bug fix) Eliminated network name support in +favor of better native name support. Added "file split", "file join", +and "file pathtype" commands. See the "file" man page for more +details. (SS) +*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 *** + +4/2/96 (bug fix) Changed implementation of auto_mkindex so tclIndex +files will properly handle path names in a cross platform context. (SS) + +4/5/96 (bug fix) Fixed Tcl_ReadCmd to use the channel buffer size as the +chunk size it reads, instead of a fixed 4K size. Thus, on large reads, the +user can set the channel buffer size to a large size and the read will +occur orders of magnitude faster. For example, on a 2MB file, reading in 4K +chunks took 34 seconds, while reading in 1MB chunks took 1.5 seconds (on a +SS-20). Problem identified and fix suggested by John Haxby of HP. (JL) + +4/5/96 (bug fix) Fixed socket creation code to invoke gethostbyname only if +inet_addr failed (very unlikely). Before this change the order was reversed +and this made things much slower than they needed to be (gethostbyname +generally requires an RPC, which is slow). Problem identified and fix +suggested by John Loverso of OSF. (JL) + +4/9/96 (feature change) Modified "auto" translation mode so that it +recognizes any of "\n", "\r" and "\r\n" in input as end of line, so +that a file can have mixed end-of-line sequences. It now outputs +the platform specific end of line sequence on each platform for files and +pipes, and for sockets it produces crlf in output on all platforms. (JL) +*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 *** + +4/11/96 (new feature) Added -eofchar option to Tcl_SetChannelOption to allow +setting of an end of file character for input and output. If an input eof +char is set, it is recognized as EOF and further input from the channel is +not presented to the caller. If an output eof char is set, on output, that +byte is appended to the channel when it is closed. On Unix and Macintosh, +all channels start with no eof char set for input or output. On Windows, +files and pipes start with input and output eof chars set to Crlt-Z (ascii +26), and sockets start with no input or output eof char. (JL) +*** INCOMPATIBILITY with Tcl 7.5b3, but not with Tcl 7.4 *** + +4/17/96 (bug fix) Fixed series of bugs with handling of crlf sequence split +across buffer boundaries in input, in AUTO mode. (JL, BW) + +4/17/96 (test suite improvement) Fixed test suite so that tests that +depend on the availability of Unix commands such as echo, cat and others +are not run if these commands are not present. (JL) + +4/17/96 (test suite improvement) The socket test now automatically starts, +on platformst that support exec, a separate process for remote testsing. (JL) + +----------------- Released 7.5, 4/21/96 ----------------------- + +5/1/96 (bug fix) "file tail ~" did not correctly return the tail +portion of the user's home directory. (SS) + +5/1/96 (bug fix) Fixed bug in TclGetEnv where it didn't lookup environment +variables correctly: could confuse "H" and "HOME", for example. (JO) + +5/1/96 (bug fix) Changed to install tclConfig.sh under "make install-binaries", +not "make install-libraries". (JO) + +5/2/96 (bug fix) Changed pkg_mkIndex not to attempt to "load" a file unless +it has the standard shared library extension. On SunOS, attempts to load +Tcl scripts cause the whole application to be aborted (there's no way to +get the error back into Tcl). (JO) + +5/7/96 (bug fix) Moved initScript in tclUnixInit.c to writable memory to +avoid potential core dumps. (JO) -2/15/96 (bug fix) If a top-level was resizable in one direction -(e.g. "wm resizable . 0 1"), once the user resized it any changes -in the internally requested size (by the widgets) were ignored, -even for the non-resizable dimension. Fixed to handle the two -dimensions totally independently, so the widget's requests are -honored as long as that dimension hasn't been set by the user. (JO) +5/7/96 (bug fix) Auto_reset procedure was removing procedure from init.tcl, +such as pkg_mkIndex. (JO) + +5/7/96 (bug fix) Fixed cast on socket address resolution code that +would cause a failure to connect on Dec Alphas. (JL) + +5/7/96 (bug fix) Added "time", "subst" and "fileevent" commands to set of +commands available in a safe interpreter. (JL) + +5/13/96 (bug fix) Preventing OS level handles for stdin, stdout and stderr +from being implicitly closed when the last reference to the standard +channel containing that handle is discarded when an interpreter is deleted. +Explicitly closing standard channels by using "close" still works. (JL) + +5/21/96 (bug fix) Do not create channels for stdin, stdout and stderr on +Unix if the devices are closed. This prevents a duplicate channel name +panic later on when the fd is used to open a channel and the channel is +registered in an interpreter. (JL) + +5/23/96 (bug fix) Fixed bug that prevented the use of standard channels in +interpreters created after the last interpreter was destroyed. In the sequence + + interp = Tcl_CreateInterp(); + Tcl_DeleteInterp(interp); + interp = Tcl_CreateInterp(); + +channels for stdio would not be available in the second interpreter. (JL) + +5/23/96 (bug fix) Fixed bug that allowed Tcl_MakeFileChannel to create new +channels with Tcl_Files in them that are already used by another channel. +This would cause core dumps when the Tcl_Files were being freed twice. (JL) + +5/23/96 (bug fix) Fixed a logical timing bug that caused a standard channel +to be removed from the standard channel table too early when the channel +was being closed. If the channel was being flushed asynchronously, it could +get recreated before being actually destroyed, and the recreated channel +would contain the same Tcl_File as the one being closed, leading to +dangling pointers and core dumps. (JL) + +5/27/96 (bug fix) Fixed a bug in Tcl_GetChannelOption which caused it to +always return a list of one element, a list of the settings, for +-translation and -eofchar options. Now correctly returns the value +described by the documentation (Mark Diekhans found this, thanks!). (JL) + +5/30/96 (bug fix) Fixed a couple of syntax errors in io.test. (JL) + +5/30/96 (bug fix) If a fileevent scripts gets an error, delete it before +causing a background error. This is to allow the error handler to reinstall +the fileevent and to prevent infinite loops if the event loop is reentered +in the error handler. (JL) + +5/31/96 (bug fix) Channels now will get properly flushed on exit. (JL) + +6/5/96 (bug fix) Changed Tcl_Ckalloc, Tcl_Ckfree, and Tcl_Ckrealloc to +Tcl_Alloc, Tcl_Free, and Tcl_Realloc. Added documentation for these +routines now that they are officially supported. Extension writers +should use these routines instead of free() and malloc(). (SS) + +6/10/96 (bug fix) Changes the Tcl close command so that it no longer +waits on nonblocking pipes for the piped processes to exit; instead it +reaps them in the background. (JL) + +6/11/96 (bug fix) Increased the length of the listen queue for server +sockets on Unix from 5 to 100. Some OSes will disregard this and reset it +to 5, but we should try to get as long a queue as we can, for performance +reasons. (JL) + +6/11/96 (bug fix) Fixed windows sockets bug that caused a cascade of events +if the fileevent script read less than was available. Now reading less than +is available does not cause a flood of Tcl events. (JL, SS) + +6/11/96 (bug fix) Fixed bug in background flushing on closed channels that +would prevent the last buffer from getting flushed. (JL) + +6/13/96 (bug fix) Fixed bug in Windows sockets that caused a core dump if +a DLL linked with tcl.dll and referred to e.g. ntohs() without opening a +Tcl socket. The problem was that the indirection table was not being +initialized. (JL) + +6/13/96 (bug fix) Fixed OS level resource leak that would occur when a +Tcl channel was still registered in some interpreter when the process +exits. Previously the channel was not being closed and the OS level handles +were not being released; the output was being flushed but the device was +not being closed. Now the device is properly closed. This was only a +problem on Win3.1 and MacOS. (JL, SS) + +6/28/96 (bug fix) Fixed bug where transient errors were leaving an error +code around, so that it would erroneously get reported later. This bug was +exercised intermittently by closing a channel to a file on a very loaded +NFS server, or to a socket whose other end blocked. (JL, BW) + +7/3/96 (bug fix) Fileevents declared in an interpreter are now deleted +when the channel is closed in that interpreter. Before this fix, the +fileevent would hang around until the channel is completely closed, and +would cause errors if events happened before the channel was closed. This +could happen in two cases: first if the channel is shared between several +interpreters, and second if an async flush is in progress that prevents the +channel from being closed until the flush finishes. (JL) + +7/10/96 (bug fix) Fixed bugs in both "lrange" and "lreplace" commands +where too much white space was being removed. For example, the command + lreplace {\}\ hello} end end +was returning "\}\", losing the significant space in the first list +element and corrupting the list. (JO) + +7/20/96 (bug fix) The procedure pkg_mkIndex didn't work properly for +extensions that depend on Tk, because it didn't load Tk into the child +interpreter before loading the extension. Now it loads Tk if Tk is +present in the parent. (JO) + +7/23/96 (bug fix) Added compat version of strftime to fix crashes +resulting from bad implementations under Windows. (SS) + +7/23/96 (bug fix) Standard implementations of gmtime() and localtime() +under Windows did not handle dates before 1970, so they were replaced +with a revised implementation. (SS) + +7/23/96 (bug fix) Tcl would crash on exit under Borland 5.0 because +the global environ pointer was left pointing to freed memory. (SS) + +7/29/96 (bug fix) Fixed memory leak in Tcl_LoadCmd that could occur if +a package's AppInit procedure called Tcl_StaticPackage to register +static packages. (JO) + +8/1/96 (bug fix) Fixed a series of bugs in Windows sockets so that async +writebehind in the presence of read event handlers now works, and so that +async writebehind also works on sockets for which a read event handler was +declared and whose channels were then closed before the async write +finished. The bug was reported by John Loverso and Steven Wahl, +independently, test case supplied by John Loverso. (JL) + +----------------- Released patch 7.5p1, 8/2/96 ----------------------- + +5/8/96 (new feature) Added Tcl_GetChannelMode C API for retrieving whether +a channel is open for reading and writing. (JL) + +5/8/96 (API changes) Revised C APIs for channel drivers: + - Removed all Tcl_Files from channel driver interface; you can now have + channels that are not based on Tcl_Files. + - Added channelReadyProc and watchChannelProc procedures to interface; + these are used to implement event notification for channels. + - Added getFileProc to channel driver, to allow the generic IO code + to retrieve a Tcl_File from a channel (presumably if the channel + uses Tcl_Files they will be stored inside its instanceData). (JL) +*** INCOMPATIBILITY with Tcl 7.5 *** + +5/8/96 (API change) The Tcl_CreateChannel C API was modified to not take +Tcl_File arguments, and instead to take a mask specifying whether the +channel is readable and/or writable. (JL) +*** INCOMPATIBILITY with Tcl 7.5 *** + +6/3/96 (bug fix) Made Tcl_SetVar2 robust against the case where the value +of the variable is a NULL pointer instead of "". (JL) + +6/17/96 (bug fix) Fixed "reading uninitialized memory" error reported by +Purify, in Tcl_Preserve/Tcl_Release. (JL) + +8/9/96 (bug fix) Fixed bug in init.tcl that caused incorrect error message +if the act of autoloading a procedure caused the procedure to be invoked +again. (JO) + +8/9/96 (bug fix) Configure script produced bad library names and extensions +under SunOS and a few other platforms if the --disable-load switch was used. +(JO) -2/17/96 (bug fix) If a text widget had very long lines (e.g. more than -32K pixels), integer overflow could occur, resulting in parts of the -line not being visible. (JO) +8/9/96 (bug fix) Tcl_UpdateLinkedVar generated an error if the variable +being updated was read-only. (JO) -2/20/96 (feature change) Changed the -minsize option of grid to take -screen units instead of pixels. (SU) +8/14/96 (bug fix) The macintosh now supports synchronous socket +connections. Other minor bugs were also fixed. (RJ) -2/20/96 (bug fix) grid row and column weights are compared against -MINWEIGHT (0.001) instead of 0.0 to guard against divide by zero errors -during weight normalization. (SU) +8/15/96 (configuration improvement) Changed the file patchlevel.h +to be tclPatch.h. This avoids conflict with the Tk file and is now +in 8.3 format on the Windows platform. (RJ) -2/20/96 (bug fix) Menu commands were not being invoked sometimes. -There was a race condition that caused events to be processed while a -menu was being unposted. (SS) +8/20/96 (bug fix) Fixed core dump in interp alias command for interpreters +created with Tcl_CreateInterp (as opposed to with Tcl_CreateSlave). (JL) + +8/20/96 (bug fix) No longer masking ECONNRESET on Windows sockets so +that the higher level of the IO mechanism sees the error instead of +entering an infinite loop. (JL) + +8/20/96 (bug fix) Destroying the last interpreter no longer closes the +standard channels. (JL) + +8/20/96 (bug fix) Closing one of the stdin, stdout or stderr channels and +then opening a new channel now correctly assigns the new channel as the +standard channel that was closed. (JL) + +8/20/96 (bug fix) Added code to unix/tclUnixChan.c for using ioctl with +FIONBIO instead of fcntl with O_NONBLOCK, for those versions of Unix where +either O_NONBLOCK is not supported or implemented incorrectly. (JL) + +8/21/96 (bug fix) Fixed "file extension" so it correctly returns the +extension on files like "foo..c" as "..c" instead of ".c". (SS) + +8/22/96 (bug fix) If environ[] contains static strings, Tcl would core +dump in TclSetupEnv because it was trying to write NULLs into the actual +data in environ[]. Now we instead copy as appropriate. (JL) + +8/22/96 (added impl) Added missing implementation of Tcl_MakeTcpClientChannel +for Windows platform. Code contributed by Mark Diekhans. (JL) + +8/22/96 (new feature) Added a new memory allocator for the Macintosh +version of Tcl. It's quite a bit faster than MetroWerk's version. (RJ) + +8/26/96 (documentation update) Removed old change bars (for all changes +in Tcl 7.5 and earlier releases) from manual entries. (JO) + +8/27/96 (enhancement) The exec and open commands behave better and work in +more situations under Windows NT and Windows 95. Documentation describes +what is still lacking. (CS) + +8/27/96 (enhancement) The Windows makefiles will now compile even if the +compiler is not in the path and/or the compiler's environment variables +have not been set up. (CS) + +8/27/96 (configuration improvement) The Windows resource files are +automatically updated when the version/patch level changes. The header file +now has a comment that reminds the user which other files must be manually +updated when the version/patch level changes. (CS) + +8/28/96 (new feature) Added file manipulation features (copy, rename, delete, +mkdir) that are supported on all platforms. They are implemented as +subcommands to the "file" command. See the documentation for the "file" +command for more information. (JH) + +----------------- Released 7.6b1, 8/30/96 ----------------------- + +9/3/96 (bug fix) Simplified code so that standard channels are created +lazily, they are added to an interpreter lazily, and they are never added +to a safe interpreter. (JL) + +9/3/96 (bug fix) Closing a channel after closing a standard channel, e.g. +stdout, would cause the implicit recreation of that standard channel. (JL) + +9/3/96 (new feature) Now calling Tcl_RegisterChannel with a NULL +interpreter increments the refcount so that code outside any interpreter +can use channels that are also registered in interpreters, without worrying +that the channel may turn into a dangling pointer at any time. Calling +Tcl_UnregisterChannel with a NULL interpreter only decrements the recount +so that code outside any interpreter can safely declare it is no longer +interested in a channel. (JL) + +9/4/96 (new features) Two changes to dynamic loading: + - If the file name is empty in the "load" command and there is no + statically loaded version of the package, a dynamically loaded + version will be used if there is one. + - Tcl_StaticPackage ignores redundant calls for the same package. (JO) + +9/6/96 (bug fix) Platform specific procedures for manipulating files are +no longer macros and have been prefixed with "Tclp", such as TclpRenameFile. +Unix file code now handles symbolic links and other special files correctly. +The semantics of file copy and file rename has been changed so that if +a target directory exists, the source files will NOT be merged with the +existing files. (JH) + +9/6/96 (bug fix) If standard channel is NULL, because Tcl cannot connect +to the standard channel, do not increment the refcount. The channel can +be NULL if there is for example no standard input. (JL) + +9/6/96 (portability improvement) Changed parsing of backslash sequences +like \n to translate directly to absolute values like 0xa instead of +letting the compiler do the translation. This guarantees that the +translation is done the same everywhere. (JO) + +9/9/96 (bug fix) If channel is opened and not associated with any +interpreter, but Tcl decides to use it as one of the standard channels, it +became impossible to close the channel with Tcl_Close -- instead you had +to call Tcl_UnregisterChannel. Fixed now so that it's safe to call +Tcl_Close even when Tcl is using the channel as one of the standard ones. (JL) + +9/11/96 (feature change) The Tcl library is now placed in the Tcl +shared libraries resource. You no longer need to place the Tcl files +in your applications explicitly. (RJ) + +9/11/96 (feature change) Extensions no longer automatically have the +resource fork of the extension opened for it. Instead you need to +use the tclMacLibrary.c file in your extension. (RJ) +*** POTENTIAL INCOMPATIBILITY *** ------------------ Released 4.1b2, 2/23/96 ----------------------- +9/12/96 (bug fix) The extension loading mechanism on the Macintosh now +looks at the 'cfrg' resource to determine where to load the code +fragment from. This means FAT fragments should now work. (RJ) + +9/18/96 (enhancement) The exec and open commands behave better and work in +more situations under Windows 3.X. Documentation describes what is still +lacking. (CS) + +9/19/96 (bug fix) Fixed a panic which would occur if you delete a +non-existent alias before any aliases are created. Now instead correctly +returns an error that the alias is not found. (JL) + +9/19/96 (bug fix) Slave interpreters could rename aliases and they would +not get deleted when the alias was being redefined. This led to dangling +pointers etc. (JL) + +9/19/96 (bug fix) Fixed a panic where a hash table entry was being deleted +twice during alias management operations. (JL) + +9/19/96 (bug fix) Fixed bug in event loop that could cause the input focus +in Tk to get confused during menu traversal, among other problems. The +problem was related to handling of the "marker" when its event was +deleted. (JO) + +9/26/96 (bug fix) Windows was losing EOF on a socket if the FD_CLOSE event +happened to precede any left over FD_READ events. Now correctly remembers +seeing FD_CLOSE, so that trailing FD_READ events are not discarded if they +do not contain any data. This allows Tcl to correctly get a zero read and +notice EOF. (JL) + +9/26/96 (bug fix) Was not resetting READABLE state properly on sockets +under Windows if the driver discarded an FD_READ event because no data was +present. Now correctly resets the state. (JL) + +9/30/96 (bug fix) Made EOF sticky on Windows sockets, so that fileevent +readable will fire repeatedly until the socket is closed. Previously the +fileevent fired only once. This could lead to never-closed connections if +the Tcl script in the fileevent wasn't closing the socket immediately. (JL) + +10/2/96 (new feature) Improved the package loader: + - Added new variable tcl_pkgPath, which holds the default + directories under which packages are normally installed (each + package goes in a separate subdirectory of a directory in + $tcl_pkgPath). These directories are included in auto_path by + default. + - Changed the package auto-loader to look for pkgIndex.tcl files + not only in the auto_path directories but also in their immediate + children. This should make it easier to install and uninstall + packages (don't have to change auto_path or merge pkgIndex.tcl + files). (JO) + +10/3/96 (bug fix) Changed tclsh to look for tclshrc.tcl instead of +tclsh.rc on startup under Windows. This is more consistent with wish and +uses the right extension. (SS) +*** POTENTIAL INCOMPATIBILITY *** -2/23/96 (bug fix) Alt-keys invoked in torn-off and popped up menus -caused menus to be posted in the parent toplevel. (JO) +10/8/96 (bug fix) Convertclock does not parse 24-hour times of the +form "hhmm" correctly when hour = 00. In the parse code, hour must be +>= 100 for minutes to be non-zero. Thanks to Lint LaCour for this +bug fix. (RJ) -2/23/96 (bug fix) Canvases weren't always updating their scrollbars -when they should. (JO) +10/11/96 (bug fix) Under Windows, the pid command returned the process +handle instead of the process id. (SS) -2/23/96 (bug fix) Fixed core dump that could occur if a WM_DELETE_PROTOCOL -handler generated an error. (JO) +----------------- Released 7.6, 10/16/96 ----------------------- -2/24/96 (bug fix) Removed dependencies on Makefile in the UNIX Makefile: -this caused problems on some platforms (like Linux?). (JO) +10/29/96 (bug fix) Under Windows, sockets would consume 100% CPU time after +the first accept(), due to a typo. (JL) -2/24/96 (feature change) Changed text and entry widgets so that they -set the insertion cursor before inserting during a button-2 click. -Also made optional bindings check for tk_strictMotif at the time of -the event, rather than at the time the bindings are created. (JO) +10/29/96 (bug fix) Incorrect refcount management caused standard channels +not to get deleted at process exit or DLL unload time, causing a memory +leak of upwards of 20K each time. (JL) -2/24/96 (bug fix) Tk tended to crash with an X error when unsetting -an icon window (e.g. "wm iconwindow . {}"). (JO) +11/7/96 (bug fix) Auto-exec didn't work on file names that contained +spaces. (JO) -2/25/96 (bug fix) Wasn't removing windows from the WM_COLORMAP_WINDOWS -property when they were deleted. (JO) +11/8/96 (bug fix) Fixed core dump that would occur if more than one call +to Tcl_DeleteChannelHandler was made to delete a given channel handler. (JL) -3/1/96 (new feature) Added new "bbox" widget command for entries. -Also modified mouse bindings for entries and texts so that the -mouse position rounds to the nearest inter-character gap, rather -than the left edge of the character under the mouse. This provides -more natural selection behavior. (JO) +11/8/96 (bug fix) Fixed test for return value in Tcl_Seek and Tcl_SeekCmd +to only treat -1 as error, instead of all negative numbers. (JL) -3/1/96 (bug fix) Fixed core dump that could occur in image code if an -image was deleted while in use in a widet, then re-used in another -widget while "deleted". (JO) +11/12/96 (bug fix) Do not blocking waiting for processes at the end of a +pipe during exit cleanup. (JL) -3/1/96 (bug fix) Calling wish with a single argument caused a crash -under Windows due to an off-by-one error in the argument parsing code. (SS) +11/12/96 (bug fix) If we are in exit cleanup, do not close the system level +file descriptors 0, 1 and 2. Previously they were being closed which is +incorrect, in the embedded case. This led to weird behavior for programs +that want to interpose on I/O through the standard file descriptors (e.g. +Netscape Navigator). (JL) -3/1/96 (bug fix) Palette management was broken and resulted in -incorrect palette realization and refresh behavior. Also, images were -being drawn incorrectly if they were attached to widgets that had a -private colormap. (SS) +11/15/96 (bug fix) Fixed core dump on Windows sockets due to dependency on +deletion order at exit. Now all socket functions check to see if sockets +are (still) initialized, before calling through function pointers. Before, +they would call and might end up calling unloaded object code. (JL) -3/2/96 (bug fix) It was possible to press the mouse button over an -option menu, drag to a pulldown menu, and have the pulldown menu -popup in place of the option menu. Fixed this so that option menus -are isolated from each other and from pulldowns. (JO) +11/15/96 (bug fix) Fixed core dump in Windows socket initialization routine +if sockets were not installed on the system. Before, it was not properly +checking the result of attempting to load the socket DLL, so it would call +through uninitialized function pointers. (JL) -3/2/96 (bug fix) Fixed yet another bug that caused long delays when -raising toplevel windows. (JO) +11/15/96 (bug fix) Fixed memory leak in Windows sockets which left socket +DLL handle open and could hold the socket DLL in memory uneccessarily, +until a reboot. (JL) -3/2/96 (bug fix) Fixed bug in canvases where zero-sized rectangles -and ovals didn't always redisplay right (could leave trailing -garbage on screen when moved). (JO) +12/4/96 (bug fix) Fixed bug in Macintosh socket code that could result +in lost data if a client was closed too soon after sending data. (RJ) -3/2/96 (bug fix) Entry widgets reset their insertion cursor, selection, -and view whenever the text variable changed, plus whenever a "configure" -widget command was invoked and there was a text variable for the -widget. Fixed to preserve this information as much as possible. (JO) +12/17/96 (bug fix) Fixed deadlock bug in Windows sockets due to losing an +event. This was happening because of an interaction between buffering and +nonblocking mode on sockets. Now switched to sockets being blocking by +default, so we are also no longer emulating blocking through a private +event loop. (JL) -3/5/96 (new feature) Added version suffix to shared library names so that -Tk will compile under NetBSD and FreeBSD (I hope). (JO) +1/21/97 (performance bug fix) Client TCP connections were slow to create +because getservbyname was always called on the port. Now this is only +done if Tcl_GetInt fails. (BW) -3/6/96 (bug fix) Changed the way certain configure & motion events are -reported. This fixes several bugs in menus & "winfo rootx". (RJ) +1/21/97 (configuration fix) Made it possible to override TCL_PACKAGE_PATH +during make. Previously it was only set during autoconf process. -3/7/96 (bug fix) Fixed tag remove bug that showed up when draging out a -selection. If you had dragged left, then tried to drag back right, the -left edge of the selection wasn't being updated because the tag remove -wasn't doing anything. (BW) +1/29/97 (bug fix) Fixed some problems with the clock command that +impacted how dates were scaned after the year 2000. (RJ) -3/7/96 (bug fix) Fixed the boundary conditions of tag prevrange. The second -index argument wasn't effecting in stopping the search if it fell within -a range. The second index has to come at or before the start of a range -for the range to be found by tag prevrange. (BW) +----------------- Released 7.6p2, 1/31/97 ----------------------- -3/7/96 (bug fix) "puts" to stdout or stderr when running from a script -caused wish41.exe to exit silently. Now the output is silently -discarded without generating an error. (SS) +2/5/97 (bug fix) Fixed a bug where in CR-LF translation mode, \r bytes +in the input stream were not being handled correctly. (JL) -3/7/96 (bug fix) Fixed bug where wish was treating empty lines in the input -as end of input, if the input came from stdin. This would cause it to -complain about missing closing braces etc. (JL) +2/24/97 (bug fix) Fix bug with exec under Win32s not being able to create +stderr file which caused all execs to fail. Fixed temp file leak under +Win32s. Fixed optional parameter bug with SearchPath that only happened +under Win32s 1.25. (CCS) ------------------ Released 4.1b3, 3/8/96 ----------------------- +---------------------------------------------------------- +Changes for Tcl 7.6 go above this line. +Changes for Tcl 7.7 go below this line. +---------------------------------------------------------- -3/9/96 (bug fix) Fixed bug in text.tcl that could cause errors in text -widgets of the form 'can't use non-numeric string as operand of "-"'. (JO) +5/8/96 (new feature) Added Tcl_Ungets C API for putting a sequence of bytes +into a channel's input buffer. This can be used for "push" model channels +where the input is obtained via callbacks instead of by request of the +generic IO code. No Tcl procedure yet. (JL) + +11/15/96 (new feature) Implemented hidden commands. New C APIs: + Tcl_HideCommand -- hides an existing exposed command. + Tcl_ExposeCommand -- exposes an existing hidden command. +New tcl APIs: + interp invokehidden -- invokes a hidden command in a slave. + interp hide -- hides an existing exposed command. + interp expose -- exposes an existing hidden command. + interp hidden -- returns a list of hidden commands. +The implementation of Safe Tcl now uses the new hidden commands facility +to implement the safe base, instead of deleting the commands from a safe +interpreter. (JL) -3/12/96 (feature improvement) Modified startup script to look in several -different places for the Tcl library directory. This should allow tk -to find the libraries under all but the weirdest conditions, even without -the TK_LIBRARY environment variable being set. (JO) +11/15/96 (new feature) Implemented the safe base, a mechanism for +installing and requesting security policies, purely in Tcl code. Overloads +the package command to also allow an interpreter to "require" a policy. The +following new library commands are provided: + tcl_safeCreateInterp -- creates a slave an initializes the + policy mechanism. + tcl_safeInitInterp -- initializes an existing slave with the + policy mechanism. + tcl_safeDeleteInterp -- deletes a slave and deinitializes the + policy mechanism. +Added a new file to the library, safeinit.tcl, to hold implementation. (JL) +On 7/9/97, removed the policy loading mechanism from the Safe Base. Left +only the Safe Base aliases dealing with auto-loading and source. (JL) + +12/6/96 (new feature) Implemented Tcl_Finalize, an API that should be +called by a process when it is done using Tcl. This API runs all the exit +handlers to allow them to clean up resources etc. (JL) + +12/17/96 (new feature) Add an http Tcl script package to the Tcl library. +This package implements the client side of HTTP/1.0; the GET, HEAD, +and POST requests. (BW) + +1/21/97 (new feature) Added a "marktrusted" subcommand to the "interp" and +to the interpreter object command. It removes the "safe" mark on an +interpreter and disables hard-wired checks for safety in the C sources. (JL) + +1/21/97 (removed feature) Removed "vwait" from set of commands available in +a safe interpreter. (JL) + +2/11/97 (new feature, bug fix) http package. Added -accept to http_config +so you can set the Accept header. Added -handler option to http_get so +you can supply your own data handler. Also fixed POST operation to +set the correct MIME type on the request. (BW) -3/14/96 (bug fix) "wish bogus_file_name" didn't print an error message. (JO) +---------------------------------------------------------- +Changes for Tcl 7.7 go above this line. +Changes for Tcl 8.0 go below this line. +---------------------------------------------------------- -3/14/96 (bug fix) Button-2 wasn't claiming the focus during paste -operations. (JO) +9/17/96 (bug fix) Using "upvar" it was possible to turn an array element +into an array itself. Changed to disallow this; it was quirky and didn't +really work correctly anyway. (JO) + +10/21/96 (new feature) The core of the Tcl interpreter has been replaced +with an on-the-fly compiler that translates Tcl scripts to bytecoded +instructions; a new interpreter then executes the bytecodes. The compiler +introduces only a few minor changes at the level of Tcl scripts. The biggest +changes are to expressions and lists. + - A second level of substitutions is no longer done for expressions. + This substantially improves their execution time. This means that + the expression "$x*4" produces a different result than in the past + if x is "$y+2". Fortunately, not much code depends on the old + two-level semantics. Some expressions that do, such as + "expr [join $list +]" can be recoded to work in Tcl8.0 by adding + an eval: e.g., "eval expr [join $list +]". + - Lists are now completely parsed on the first list operation to + create a faster internal representation. In the past, if you had a + misformed list but the erroneous part was after the point you + inserted or extracted an element, then you never saw an error. + In Tcl8.0 an error will be reported. This should only effect + incorrect programs that took advantage of behavior of the old + implementation that was not documented in the man pages. +Other changes to Tcl scripts are discussed in the web page at +http://www.scriptics.com/doc/compiler.html. (BL) +*** POTENTIAL INCOMPATIBILITY *** -3/14/96 (bug fix) "tkwait visibility" use to hang forever if its window -was deleted. Now it detects this condition and returns an error. (JO) +10/21/96 (new feature) In earlier versions of Tcl, strings were used as a +universal representation; in Tcl 8.0 strings are replaced with Tcl_Obj +structures ("objects") that can hold both a string value and an internal +form such as a binary integer or compiled bytecodes. The new objects make it +possible to store information in efficient internal forms and avoid the +constant translations to and from strings that occurred with the old +interpreter. There are new many new C APIs for managing objects. Some of the +new library procedures for objects (such as Tcl_EvalObj) resemble existing +string-based procedures (such as Tcl_Eval) but take advantage of the +internal form stored in Tcl objects for greater speed. Other new procedures +manage objects and allow extension writers to define new kinds of objects. +See the manual entries doc/*Obj*.3 (BL) + +10/24/96 (bug fix) Fixed memory leak on exit caused by some IO related +data structures not being deallocated on exit because their refcount was +artificially boosted. (JL) + +10/24/96 (bug fix) Fixed core dump in Tcl_Close if called with NULL +Tcl_Channel. (JL) + +11/19/96 (new feature) Added library procedures for finding word +breaks in strings in a platform specific manner. See the library.n +manual entry for more information. (SS) + +11/22/96 (feature improvements) Added support for different levels of +tracing during bytecode compilation and execution. This should help in +tracking down suspected problems with the compiler or with converting +existing code to use Tcl8.0. Two global Tcl variables, traceCompile +and traceExec, can be set to generate tracing information in stdout: + - traceCompile: 0 no tracing (default) + 1 trace compilations of top level commands and procs + 2 trace and display instructions for all compilations + - traceExec: 0 no tracing + 1 trace only calls to Tcl procs + 2 trace invocations of all commands including procs + 3 detailed trace showing the result of each instruction +traceExec >= 2 provides a one line summary of each called command and +its arguments. Commands that have been "compiled away" such as set are +not shown. (BL) + +11/30/96 (bug fix) The command "info nameofexecutable" could sometimes +return the name of a directory. (JO) + +11/30/96 (feature improvements) Changed the code in library/init.tcl +that reads in pkgIndex.tcl so that (a) it reads the files from child +directories before those in the parent, so that the parent gets +precedence, and (b) it doesn't quit if there is an error in a +pkgIndex.tcl file; instead, it prints an error message on standard +error and continues. (JO) + +10/5/96 (feature improvements) Partial implementation of binary string +support: the ability for Tcl string values to contain embedded null bytes. +Changed the Tcl object-based APIs to take a byte pointer and length pair +instead of a null-terminated C string. Modified several object type managers +to support binary strings but not, for example, the list type manager. +Existing string-based C APIs are unchanged and will truncate binary +strings. Compiled scripts containing nulls are also truncated. (BL) + +12/12/96 (feature change) Removed the commands "cp", "mkdir", "mv", +"rm", and "rmdir" from the Macintosh version of Tcl. They were never +officially supported and their functionality is now available via +the file command. (RJ) + +----------------- Released 8.0a1, 12/20/96 ----------------------- + +1/7/97 (bug fix) Under Windows, "file stat c:" was returning error instead +of stat for current dir on c: drive. + +1/10/97 (new feature) Added Tcl_GetIndexFromObj procedure for quick +lookups of keyword arguments. (JO) + +1/12/97 (new feature) Serial IO channel drivers for Windows and Unix, +available by using Tcl open command to open pseudo-files like "com1:" or +"/dev/ttya". New option to Tcl fconfigure command for serial files: +"-mode baud,parity,data,stop" to specify baud rate, parity, data bits, and +stop bits. Serial IO is not yet available on Mac. + +1/16/97 (feature change) Restored the Tcl7.x "two level substitution +semantics" for expressions. Expressions not enclosed in braces are +implemented, in general, by calling the expr command procedure +(Tcl_ExprObjCmd) at runtime after the Tcl interpreter has already done a +first round of substitutions. This is slow (about Tcl7.x speed) because new +code for the expression is generally compiled each time. However, if the +expression has only variable substitutions (and not command substitutions), +"optimistic" fast code is generated inline. This inline code will fail if a +second round of substitutions is needed (i.e., if the value of a substituted +variable itself requires more substitutions). The optimistic code will +catch the error and back off to call the slower but guaranteed correct +expr command procedure. (BL) + +1/16/97 (feature improvements) Added Tcl_ExprLongObj and Tcl_ExprDoubleObj +to round out expression-related procedures. (BL) + +1/16/97 (feature change) Under Windows, at startup the environment variables +"path", "comspec", and "windir" in any capitalization are converted +automatically to upper case. The PATH variable could be spelled as path, +Path, PaTh, etc. and it makes programming rather annoying. All other +environment variables are left alone. (CS) + +1/20/97 (new features) Rewrote the "lsort" command: + - The new version is based on reentrant merge sort code provided + by Richard Hipp, so it eliminates the reentrancy and stability + problems with the old qsort-based implementation. + - The new version supports a -dictionary option for sorting, and + it also supports a -index option for sorting lists using one + element for comparison. + - The new version is an object command, so it works well with the + Tcl compiler, especially in conjunction with the new -index + option. When the -index option is used, this version of lsort + is more than 100 times faster than the Tcl 7.6 lsort, which had + to use the -command option to get the same effect. (JO) + +1/20/97 (feature improvements) Added the improved debugging support for Tcl +objects prototyped by Karl Lehenbauer . +If TCL_MEM_DEBUG is defined, the object creation calls use Tcl_DbCkalloc +directly in order to record the caller's source file name and line +number. (BL) + +1/21/97 (removed feature) Desupported the tcl_precision variable: if +set, it is ignored. Tcl now uses the full 17 digits of precision when +converting real numbers to strings (with the new object system real +numbers are rarely converted to strings so there is no efficiency +disadvantage to printing all 17 digits; the new scheme improves +accuracy and simplifies several APIs). (JO) +*** POTENTIAL INCOMPATIBILITY *** -3/16/96 (bug fix) Changed configuration stuff to get dynamic loading and -shared libraries working under AIX. (JO) +1/21/97 (feature change) Removed the "interp" argument for the +procedures Tcl_GetStringFromObj, Tcl_StringObjAppend, and +Tcl_StringObjAppendObj. Also removed the "interp" argument for +the updateStringProc procedure in Tcl_ObjType structures. With +the tcl_precision changes above, these are no longer needed. (JO) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a1, but not with Tcl 7.6 *** -3/16/96 (bug fix) Fixed core dumps that could occur when a slave interpreter -was deleted in the middle of executin bindings. (JO) +1/22/97 (bug fix) Fixed http.tcl so that http_reset does not result in +an extra call to the command callback. In addition, if the transaction +gets a premature eof, the state(status) is "eof", not "ok". (BW) -3/18/96 (new feature) Added support for Activate/Deactivate events. -Currently, these new X events will generated only on the Macintosh. (RJ/CS) +----------------- Released 8.0a2, 1/24/97 ----------------------- -3/21/96 (bug fix) The "tag prevrange" command would fail to return the current -range if it began at 1.0 and the starting point of the search was within -the range. (BW) +1/29/97 (feature change) Changed how two digit years are parsed in the +clock command. The old interface just added 1900 which will seem +broken by the year 2000. The new scheme follows the POSIX standard +and treats dates 70-99 as 1970-1999 and dates 00-38 as 2000-2038. All +other two digit dates are undefined. (RJ) +*** POTENTIAL INCOMPATIBILITY *** -3/21/96 (configuration improvement) Changed configure script so it -doesn't use version numbers (as in -ltk4.1 and libtk4.1.so) under -SunOS 4.1, where they don't work anyway. (JO) +2/4/97 (bug fix) Fixed bug in clock code that dealt with relative +dates. Using the relative month code you could get an invalid date +because it jumped into a non-existant day. (For example, Jan 31 +to Feb 31.) The code now will return the last valid day of the +month in these situations. Thanks to Hume Smith for sending in +this bug fix. (RJ) + +2/10/97 (feature change) Eliminated Tcl_StringObjAppend and +Tcl_StringObjAppendObj procedures, replaced them with Tcl_AppendToObj +and Tcl_AppendStringsToObj procedures. Added new procedure +Tcl_SetObjLength. (JO) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2, but not with Tcl 7.6 *** + +2/10/97 (new feature) Added Tcl_WrongNumArgs procedure for generating +error messages about incorrect number of arguments. (JO) + +2/11/97 (new feature, bug fix) http package. Added -accept to http_config +so you can set the Accept header. Added -handler option to http_get so +you can supply your own data handler. Also fixed POST operation to +set the correct MIME type on the request. (BW) + +2/22/97 (bug fix) Fixed bug that caused $tcl_platform(osVersion) to be +computed incorrectly under AIX. (JO) + +2/25/97 (new feature, feature change) Added support for both int and long +integer objects. Added Tcl_NewLongObj/Tcl_GetLongFromObj/Tcl_SetLongFromObj +procedures and renamed the Tcl_Obj internalRep intValue member to +longValue. Tcl_GetIntFromObj now checks for integer values too large to +represent as non-long integers. Changed Tcl_GetAllObjTypes to +Tcl_AppendAllObjTypes. (BL) + +3/5/97 (new feature) Added new Tcl_SetListObj procedure to round out +collection of procedures that set the type and value of existing Tcl +objects. (BL) + +3/6/97 (new feature) Added -global flag for interp invokehidden. (JL) + +3/6/97 (new feature, feature change) Added isNativeObjectProc field to the +Tcl_CmdInfo structure to indicate (when 1) if the command has an +object-based command procedure. Removed the nameLength arg from +Tcl_CreateObjCommand since command names can't contain null characters. (BL) + +3/6/97 (bug fix) Fixed bug in "unknown" procedure that caused auto- +loading to fail on commands whose names begin with digits. (JO) + +3/7/97 (bug fix) Auto-loading now works in Safe Base. Safe interpreters +only accept the Version 2 and onwards tclIndex files. (JL) + +3/13/97 (bug fix) Fixed core dump due to interaction between aliases and +hidden commands. Bug found by Lindsay Marshall. (JL) + +3/14/97 (bug fix) Fixed mac bugs relating to time. The -gmt option +now adjusts the time in the correct direction. (Thanks to Ed Hume for +reporting a fix to this problem.) Also fixed file "mtime" etc. to +return times from GMT rather than local time zone. (RJ) + +3/18/97 (feature change) Declaration of objv in Tcl_ObjCmdProc function +changed from "Tcl_Obj *objv[]" to "Tcl_Obj *CONST objv[]". All Tcl object +commands changed to use new declaration of objv. Naive translation of +string-based command procs to object-based command procs could very easily +have yielded code where the contents of the objv array were changed. This +is not a problem with string-based command procs, but doing something as +simple as objv[2] = objv[3] would corrupt the runtime stack and cause Tcl to +crash. Introduced CONST in declaration of objv so that attempted assignment +of new pointer values to elements of the objv array will be caught by the +compiler. (CCS) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 *** + +3/19/97 (bug fix) Fixed panic due to object sharing. The root cause was +that old code was using Tcl_ResetResult instead of Tcl_ResetObjResult. (JL) + +3/20/97 (new feature) Added a new subcommand for the file +command. file attributes filename can give a list of platform-specific +options (such as file/creator type on the Mac, permissions on Unix) or +set the values of them. Added a new subcommand for the file +command. file nativename name gives back the platform-specific form +for the file. This is useful when the filename is needed to pass to +the OS, such as exec under Windows 95 or AppleScript on the Mac. For +more info, see file.n. (SRP) + +3/24/97 (removed feature) Removed the tcl_safePolicyPath procedure. Now +the policy path is computed from the auto_path by appending the directory +'policies' to each element. Also fixed several bugs in automatic tracking +of auto_path by computed policy path. (JL) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 *** + +4/8/97 (new feature) If the variable whose name is passed to lappend doesn't +already exist, and there are no value arguments, lappend now creates the +variable with an empty value instead of returning an error. Change suggested +by Tom Tromey. (BL) + +4/9/97 (feature change) Changed the name of the TCL_PART1_NOT_PARSED flag to +TCL_PARSE_PART1. (BL) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 but not with Tcl 7.6 *** + +4/10/97 (bug fixes) Fixed various compilation-related bugs: + - "UpdateStringOfCmdName should never be invoked" panic. + - Bad code generated for expressions not in {}'s inside catch commands. + - Segmentation fault in some command procedures when two argument + object pointers refer to the same object. + - Second level of substitutions were never done for expressions not + in {}'s that consist of a single variable reference: e.g., + "set x 27; set bool {$x}; if $bool {puts foo}" would fail with error. + - Bad code generated when code storage was grown while compiling some + expressions: ones with compilation errors or consisting of only a + variable reference. + - Bugs involving multiple interpreters: wasn't checking that a + procedure's code was compiled for the same interpreter as the one + executing it, and didn't invalidate code on hidden-exposed command + transitions. + - "Bad stack top" panic when executing scripts that require a huge + amount of stack space. + - Incorrect sharing of code for procedure bodies, and procedure code + deallocated before last execution of the procedure finished. + - Fixed compilation of expression words in quotes. For example, + if "0 < 3" {puts foo}. + - Fixed performance bug in array set command with large assignments. + - Tcl_SetObjLength segmentation fault setting length of empty object. + - If Tcl_SetObjectResult was passed the same object as the interpreter's + result object, it freed the object instead of doing nothing. Bug fix + by Michael J. McLennan. + - Tcl_ListObjAppendList inserted elements from the wrong list. Bug fix + by Michael J. McLennan. + - Segmentation fault if empty variable list was specified in a foreach + command. Bug fix by Jan Nijtmans. + - NULL command name was always passed to Tcl_CreateTrace callback + procedure. + - Wrong string representation generated for the value LONG_MIN. + For example, expr 1<<31 printed incorrectly on a 32 bit machine. + - "set {a($x)} 1" stored value in wrong variable. + - Tcl_GetBooleanFromObj was not checking for garbage after a numeric + value. + - Garbled "bad operand type" error message when evaluating expressions + not surrounded by {}'s. (BL) + +4/16/97 (new feature) The expr command now has the "rand()" and +"srand()" functions for getting random numbers in expr. (RJ) + +4/23/97 (bug fix) Fixed core dump in bgerror when the error handler command +deletes the current interpreter. Found by Juergen Schoenwald. (JL) + +4/23/97 (feature change) The notifier interfaces have been redesigned +to make embedding in applications with external event loops possible. +A number of interfaces in the notifier and the channel drivers have +changed. Refer to the Notifier.3 and CrtChannel.3 manual entries for +more details. (SS) +*** POTENTIAL INCOMPATIBILITY *** -3/22/96 (bug fix) Made Tk more robust against interpreter deletion. Now it -should be safe to delete an interpreter with a Tk application inside it, -without first deleting the Tk application. (JL) +4/23/97 (removed feature) The Tcl_File interfaces have been removed. +The Tcl_CreateFileHandler/Tcl_DeleteFileHandler interfaces now take +Unix fd's and are only supported on the Unix platform. +Tcl_GetChannelFile has been replaced with Tcl_GetChannelHandle. +Tcl_MakeFileChannel now takes a platform specific file handle. (SS) +*** POTENTIAL INCOMPATIBILITY *** -3/26/96 (bug fix) Tk now returns results from a "send" to an interpreter -in which the Tk application is destroyed, if the interpreter continues -computing after the Tk application is destroyed. Previously any results -computed after '.' was destroyed in the target interpreter were discarded -by the "send". (JL) +4/23/97 (removed feature) The modal timeout interface has been +removed (Tcl_CreateModalTimeout/Tcl_DeleteModalTimeout) (SS) +*** POTENTIAL INCOMPATIBILITY *** -3/26/96 (new feature) Tk now provides a static Tktest package which is -present only in test versions of Tk; this allows the testing commands to -be loaded into new interpreters besides the main one. (JL) +4/23/97 (feature change) Channel drivers are now required to correctly +implement blocking behavior when they are in blocking mode. (SS) +*** POTENTIAL INCOMPATIBILITY *** -3/28/96 (bug fix) Changed the tk_dialog procedure *not* to make the -dialog a transient for its parent. The old behavior meant that the -dialog did not get posted if the parent was iconified. (JO) +4/23/97 (new feature) Added the "binary" command for manipulating +binary strings. Also, changed the "puts", "gets", and "read" commands +to preserve embedded nulls. (SS) + +4/23/97 (new feature) Added tcl_platform(byteOrder) element to the +tcl_platform array to identify the native byte order for the current +host. (SS) + +4/23/97 (bug fix) Fixed bug in date parsing around year boundaries. (SS) + +4/24/97 (bug fix) In the process of copying a file owned by another user, +Tcl was changing the owner of the copy back to the owner of the original +file, therefore causing further file operations to fail because the current +user didn't own the copy anymore. The owner of the copy is now left as the +current user. (CCS) + +4/24/97 (feature change) Under Windows, don't automatically uppercase the +environment variable "windir" -- it's supposed to be lower case. (CCS) + +4/29/97 (new feature) Added namespace support based on a namespace +implementation by Michael J. McLennan of Lucent Technologies. A namespace +encapsulates a collection of commands and variables to ensure that they +won't interfere the commands and variables of other namespaces. The global +namespace holds all global variables and commands. Additional namespaces are +created with the new namespace command. The new variable command lets you +create Tcl variables inside a namespace. The names of Tcl variables and +commands may now be qualified by the name of the namespace containing them. +The key namespace-related commands are summarized below: + - namespace ?eval? name arg ?arg...? + Used to define the commands and variables in a namespace. + Optionally creates the namespace. + - namespace export ?-clear? ?pattern pattern...? + Specifies which commands are exported from a namespace. These + are the ones that can be imported into another namespace. + - namespace import ?-force? ?pattern pattern...? + Makes the specified commands accessible in the current namespace. + - namespace current + Returns the name of the current namespace. + - variable name ?value? ?name ?value?...? + Creates one or more namespace variables. (BTL) + +5/1/97 (bug fix) Under Windows, file times were reported in GMT. Should be +reported in local time. (CCS) + +5/2/97 (feature change) Changed the name of the two Tcl variables used for +tracing bytecode compilation and execution to tcl_traceCompile and +tcl_traceExec respectively. These variables are now documented in the +tclvars man page. (BL) + +5/5/97 (new feature) Support "end" as the index for "lsort -index". (BW) + +5/5/97 (bug fixes) Cleaned up the way the http package resets connections (BW) + +5/8/97 (feature change) Newly created Tcl objects now have a reference count +of zero instead of one. This simplifies C code that stores newly created +objects in Tcl variables or in data structures such as list objects. That C +code must increment the new object's reference count since the variable or +data structure will contain a long-term reference to the object. Formerly, +when new objects started out with reference count one, it was necessary to +decrement the new object's reference count after the store to make sure it +was left with the correct value; this is no longer necessary. (BL) + +5/9/97 (new feature) Added the Tcl_GetsObj interface that takes an +object reference instead of a dynamic string (as in Tcl_Gets). (SS) + +5/12/97 (new feature) Added Tcl_CreateAliasObj and Tcl_GetAliasObj C APIs +to allow an alias command to be created with a vector of Tcl_Obj structures +and to get the vector back later. (JL) + +5/12/97 (feature change) Changed Tcl_ExposeCommand and Tcl_HideCommand to +leave an object result instead of a string result. (JL) + +5/14/97 (feature change) Improved the handling of the interpreter result. +This is still either an object or a string, but the two values are now kept +consistent unless some C code reads or writes interp->result directly. See +the SetResult man page for details. Removed the Tcl_ResetObjResult +procedure. (BL) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0a2 *** + +5/16/97 (new feature) Added "fcopy" command to move data between +channels. Refer to the manual page for more information. Removed the +"unsupported0" command since it is obsolete now. (SS) + +5/16/97 (new feature) Added Tcl_GetStringResult procedure to allow programs +to get an interpreter's result as a string. If the result was previously set +to an object, this procedure will convert the object to a string. Use of +Tcl_GetStringResult is intended to replace direct access to interp->result, +which is not safe. (BL) + +5/20/97 (new features) Fixed "fcopy" to return the number of bytes +transferred in the blocking case. Updated the http package to use +fcopy instead of unsupported0. Added -timeout and -handler options to +http_get. http_get is now blocking by default. It is only non-blocking +if you supply a -command argument. (BW) + +5/22/97 (bug fix) Fixed several bugs in the "lsort" command having to do +with the -dictionary option and the presence of numbers embedded in the +strings. (JO) -4/5/96 (bug fix) Tk would occasionally crash when destroying toplevels -under Windows. (SS) +----------------- Released 8.0b1, 5/27/97 ----------------------- -4/5/96 (bug fix) Fonts were not being properly deallocated, causing -GDI resources to be consumed and never released under Windows. (SS) +6/2/97 (bug fix) Fixed bug in startup code that caused a problem in +finding the library files when they are installed in a directory +containing a space in the name. (SS) -4/11/96 (bug fix) Toplevel windows with no specified geometry were -always appearing in the upper left corner of the screen under -Windows. (SS) +6/2/97 (bug fix) Fixed bug in Unix notifier where the select mask was +not being cleared under some circumstances. (SS) + +6/4/97 (bug fix) Fixed bug that prevented creation of Tk widgets in +namespaces. Tcl_CreateObjCommand and Tcl_CreateCommand now always create +commands in the global namespace unless the command names are qualified. Tcl +procedures continue to be created in the current namespace by default. (BL) + +6/6/97 (new features) Added new namespace API procedures +Tcl_AppendExportList and Tcl_Export to allow C code to get and set a +namespace's export list. (BL) + +6/11/97 (new feature) Added Tcl_ConcatObj. This object-based routine +parallels the string-based routine Tcl_Concat. (SRP) + +6/11/97 (new feature) Added Tcl_SetObjErrorCode. This object-based +routines parallels the string-based routine Tcl_SetErrorCode. (SRP) + +6/12/97 (bug fix) Fix the "unknown" procedure so that wish under Windows +will exec an external program, instead of always complaining "console1 not +opened for writing". (CCS) + +6/12/97 (bug fix) Fixed core dump experienced by the following simple +script: + interp create x + x alias exec exec + interp delete x +This panic was caused by not installing the new CmdDeleteProc when exec +got redefined by the alias creation step. Reported by Lindsay Marshal (JL) + +6/13/97 (new features) Tcl objects newly created by Tcl_NewObj now have a +string representation that points to a shared heap string of length 1. (They +used to have NULL bytes and typePtr fields. This was treated as a special +case to indicate an empty string, but made type manager implementations +complex and error prone.) The new procedure Tcl_InvalidateStringRep is used +to mark an object's string representation invalid and to free any storage +associated with the old string representation. (BL) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 *** + +6/16/97 (bug fix) Tcl_ScanCountedElement could leave braces unmatched +if the string ended with a backslash. (JO) + +6/17/97 (bug fix) Fixed channel event bug where readable events would be +lost during recursive events loops if the input buffers contained +data. (SS) + +6/17/97 (bug fix) Fixed bug in Windows socket code that didn't +reenable read events in the case where an external entity is also +reading from the socket. (SS) + +6/18/97 (bug fix) Changed initial setting of the notifier service mode +to TCL_SERVICE_NONE to avoid unexpected event handling during +initialization. (SS) + +6/19/97 (bug fix/feature change) The command callback to fcopy is now +called in case of errors during the background copy. This adds a second, +optional argument to the callback that is the error string. The callback +in case of errors is required for proper cleanup by the user of fcopy. (BW) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 *** + +6/19/97 (bug fix) Fixed a panic due to the following four line script: + interp create x + x alias foo bar + x eval rename foo blotz + x alias foo {} +The problem was that the interp code was not using the actual current name +of the command to be deleted as a result of un-aliasing foo. (JL) + +6/19/97 (feature change) Pass interp down to the ChannelOption and +driver specific calls so system errors can be differentiated from syntax +ones. Changed Tcl_DriverGetOptionProc type. Affects Tcl_GetChannelOption, +TcpGetOptionProc, TtyGetOptionProc, etc. (DL) +*** POTENTIAL INCOMPATIBILITY *** -4/11/96 (bug fix) "wm minsize" did not properly report the minimum -size imposed by the Windows window manager. (SS) +6/19/97 (new feature) Added Tcl_BadChannelOption for use by by driver +specific option procedures (Set and Get) to return a complete and +meaningful error message. (DL) + +6/19/97 (bug fixes) If a system call error occurs while doing an +fconfigure on tcp or tty/com channel: return the appropriate error +message (instead of the syntax error one or none). (Fixed for Unix and +most of the Win and Mac drivers). (DL) + +6/20/97 (feature change) Eval is no longer assumed as the subcommand name +in namespace commands: you must now write "namespace eval nsName {...}". +Abbreviations of namespace subcommand names are now allowed. (BL) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl7.6 *** + +6/20/97 (feature change) Changed the errorInfo traceback message for +compilation errors from "invoked from within" to "while compiling". (BL) + +6/20/97 (bug fixes) Fixed various compilation-related bugs: + - "UpdateStringOfCmdName should never be called" and + "UpdateStringOfByteCode should never be called" panics. + - Segfault in TclObjInterpProc getting procedure name after evaluation + stack is reallocated (grown). + - Could not use ":" at end of variable and command names. + - Bad code generated for while and for commands with test expressions + enclosed in quotes: e.g., "set i 0; while "$i > 5" {}". + - Command trace procedures would crash if they did a Tcl_EvalObj that + reallocated the evaluation stack. + - Break and continue commands did not reset the interpreter result. + - The Tcl_ExprXXX routines, both string- or object-based, always + modified the interpreter result even if there was no error. + - The argument parsing procedure used by several compile procedures + always treated "]" as end of a command: e.g., "set a ]" would fail. + - Changed errorInfo traceback message for compilation errors from + "invoked from within" to "while compiling". + - Problem initializing Tcl object managers during interpreter creation. + - Added check and error message if formal parameter to a procedure is + an array element. (BL) + +6/23/97 (new feature) Added "registry" package to allow manipulation +of the Windows system registry. See manual entry for details. (SS) + +6/24/97 (feature change) Converted http to a package and added the +http1.0 subdirectory of the Tcl script library. This means you have +to do a "package require http" to use this, as advertised in the man page. (BW) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 *** + +6/24/97 (bug fix) Ensure that Tcl_Set/GetVar C APIs, when called without +TCL_LEAVE_ERR_MSG, don't touch the interp result. (DL) + +6/26/97 (feature change) Changed name of Tcl_ExprStringObj to +Tcl_ExprObj. (BL) +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b1, but not with Tcl 7.6 *** -4/13/96 (bug fix) Text widgets could dump core in some cases where -text was inserted on the top visible line. (JO) +----------------- Released 8.0b2, 6/30/97 ----------------------- -4/16/96 (bug fix) Changed menu code to ignore errors that occur when -restoring a grab: the old grab window might not be visible anymore. (JO) +7/1/97 (new feature) TCL_BUILD_SHARED flag set in tclConfig.sh +when Tcl has been built with --enable-shared. A new tclLibObjs +make target, echoing the list of the .o's needed to build a tcl +library, is now provided. (DL) + +7/1/97 (feature change) compat/getcwd.c removed and changed the +only place where getcwd is used so a new USEGETWD flag selects +the use of the replacement "getwd". Adding this flag is recommended +for SunOS 4 (because getcwd on SunOS 4 uses a pipe to pwd(1)!). (DL) + +7/7/97 (feature change) The split command now supports binary data (i.e., +null characters in strings). (BL) + +7/7/97 (bug fix) string first returned the wrong result if the first +argument string was empty. (BL) + +7/8/97 (bug fix) Fixed core dump in fcopy that could occur when a command +callback was supplied and an error or eof condition caused no background +activity. A refcount bug triggered a panic in Tcl_ListObjAppendElement. (BW) + +7/8/97 (bug fix) Relaxed the pattern matching on http_get so you do not +need a trailing path component. You can now get away with just +http_get www.scriptics.com (BW) + +7/9/97 (bug fix) Creating anonymous interpreters no longer smashes existing +commands with names similar to the generated name. Previously creating an +anonymous interpreter could smash an existing command, now it skips until +it finds a command name that isn't being used. (JL) + +7/9/97 (feature change) Removed the policy management mechanism from the +Safe Base; left the aliases to source and load modules, and to do a limited +form of the "file" command. See entry of 11/15/96. (JL) + +7/9/97 (bug fixes) Fixed various compilation-related bugs: + - Line numbers in errorInfo now are the same as those in Tcl7.6 unless +there are compilation errors. Compilation error messages now include the +entire command in error. + - Trailing ::s after namespace names weren't being ignored. + - Could not refer to an namespace variable with an empty name using a +name of the form "n::". (BL) + +7/9/97 (bug fix) Fixed bug in Tcl_Export that prevented you from exporting +from other than the current namespace. (BL) + +7/9/97 (bug fix) env.test was removing env var needed for proper finding +of libraries in child process. (DL) + +7/10/97 (bug fixes/new feature) Cleanup in Tcl_MakeSafe. Less information +is leaked to safe interps. Error message fixes for interp sub commands. +Likewise changes in safealias.tcl; tcl_safeCreateInterp can now be called +without argument to generate the slave name (like in interp create). (DL) + +7/10/97 (bug fixes) Bytecode compiler now generates more detailed +command location information: subcommands as well as commands now have +location information. This means command trace procedures now get the +correct source string for each command in their command parameter. (BL) + +7/22/97 (bug fixes) Performance improvement in Safe interpreters +handling. Added new mask value to (tclInt.h) Interp.flags record. (DL) + +7/22/97 (bug fix) Fixed panic in 'interp target {} foo'. This bug +was present since Tcl 7.6. (JL) + +7/22/97 (bug fix) Fixed bug in compilation of procedures in namespaces: the +procedure's namespace must be used to look up compile procedures, not the +current namespace. (BL) + +7/22/97 (bug fix) Use of the -channel option of http_get was not setting +the end of line translations mode on the channel, so copying binary data +with the -channel option was corrupting the result on non-unix platforms. (BW) + +7/22/97 (bug fixes) file commands and ~user (seg fault and other +improper returns). (DL) + +7/23/97 (feature change) Reenabled "vwait" in Safe Base. (JL) + +7/23/97 (bug fixes) Fixed two bugs involving read traces on array variables +in procedures: trace procedures were sometimes not called, and reading +nonexistant array elements didn't create undefined element variables that +could later be defined by trace procedures. (BL) + +7/24/97 (bug fix) Windows memory allocation performance was +superlinear in some cases. Made the Mac allocator generic and changed +both the Mac and Windows platforms to use the new allocator instead of +malloc and free. (SS) + +7/24/97 - 8/12/97 (bug fixes/change of features) Completely revamped safe +sourcing/loading (see safe.n) to hide pathnames, use virtual +paths tokens instead, improved security in several respects and made it +more tunable. Multi level interp loading can work too now. Package auto +loading now works in safe interps as long as the package directory is in +the auto_path (no deep crawling allowed in safe interps). (DL) +*** POTENTIAL INCOMPATIBILITY with previous alpha and beta releases *** + +7/24/97 (bug fixes) Made Tcl_SetVar* and Tcl_NewString* treat a NULL value +as an empty string. (This fixes hairy crash case where you would crash +because load command for other interps assumed presence of +errorInfo...). (DL) + +7/28/97 (bug fix) Fixed pkg_mkIndex to understand namespaces. It will +use the export list of a namespace and create auto_index entries for +all export commands. Those names are in their fully qualified form in the +auto_index. Therefore, I tweaked unknown to try both $cmd and ::$cmd. +Also fixed pkg_mkIndex so you can have "package require" commands inside +your packages. These commands are ignored, which is mostly ok except +when you must load another package before loading yours because of +linking dependencies. (BW) + +7/28/97 (bug fix) A variable created by the variable command now persists +until the namespace is destroyed or the variable is unset. This is true even +if the variable has not been initialized; these variables used to be +destroyed if an error occurred when accessing them. In addition, the "info +vars" command lists uninitialized namespace variables, while the "info +exists" command returns 0 for them. (BL) + +7/29/97 (feature change) Changed the http package to use the ::http +namespace. http_get renamed to http::geturl, http_config renamed to +http::config, http_formatQuery renamed to http::formatQuery. +It now provides the 2.0 version of the package. +The 1.0 version is still available with the old names. +*** POTENTIAL INCOMPATIBILITY with Tcl 8.0b2 but not with Tcl 7.6 *** + +7/29/97 (bug fix, new feature) Tcl_Main now uses Tcl objects internally to +preserve NULLs in commands and command output. Added new API procedure +Tcl_RecordAndEvalObj that resembles Tcl_RecordAndEval but takes an object +containing a command. (BL) + +7/30/97 (bug fix) Tcl freed strings in the environ array even if it +did not allocate them. (SS) + +7/30/97 (bug fix) If a procedure is renamed into a different namespace, it +now executes in the context of that namespace. (BL) + +7/30/97 (bug fix) Prevent renaming of commands into and from namespaces as +part of hiding them. (JL) + +7/31/97 (feature change) Moved the history command from C to tcl. +This uses the ::history namespace. The "words" and "substitute" options +are no longer supported. In addition, the "keep" option without a value +returns the current keep limit. There is a new "clear" option. +The unknown command now supports !! again. (BW) +*** POTENTIAL INCOMPATIBILTY *** + +7/30/97 (bug fix) Made sure that a slave can not fool the master into +hiding the wrong command. Made sure we don't crash in hiding + namespaces +issues. (DL) + +8/4/97 (bug fix) Concat, eval, uplevel, and similar commands were +incorrectly trimming trailing space characters from their arguments +even when the space characters were preceded by a backslash. (JO) + +8/4/97 (bug fix) Removed the hard link between bgerror and tkerror. +Only bgerror is supported in tcl core. Tk will still look for a +tkerror but using regular tcl code for that feature. (DL) +*** POTENTIAL INCOMPATIBILTY with code relying on the hard link *** + +8/6/97 (bug fix) Reduced size required for compiled bytecodes by using a +more compact encoding for the command pc-to-source map. (BL) + +8/6/97 (new feature) Added support for additional compilation and execution +statistics when Tcl is compiled with the TCL_COMPILE_STATS flag. (BL) + +8/7/97 (bug fix) Expressions not in {}s that have a comparison operator as +the topmost operator must be compiled out-of-line (call the expr cmd at +runtime) to properly support expr's two-level substitution semantics. An +example is "set a 2; set b {$a}; puts [expr $b == 2]". (BL) + +8/11/97 (bug fix) The catch command would sometimes crash if a variable name +was given and the bytecode evaluation stack was grown when executing the +argument script. (BL) + +8/12/97 (feature change) Reinstated the variable tcl_precision to control +the number of digits used when floating-point values are converted to +strings, with default of 12 digits. However, had to make tcl_precision +shared among all interpreters (except that safe interpreters can't +modify it). This makes the Tcl 8.0 behavior almost identical to 7.6 +except that the default precision is 12 instead of 6. (JO) +*** POTENTIAL INCOMPATIBILITY *** ------------------ Released 4.1, 4/21/96 ----------------------- +----------------- Released 8.0, 8/18/97 ----------------------- -5/1/96 (bug fix) "option readfile" did not handle files with CRLF -line termination. (SS) +8/19/97 (bug fix) Minimal fix for glob -nocomplain bugs: +"glob -nocomplain unreadableDir/*" was generating an anonymous +error. More in depth fixes will come with 8.1. (DL). + +8/20/97 (bug fix) Removed check for FLT_MIN in binary command so +underflow conditions are handled by the compiler automatic +conversions. (SS) + +8/20/97 (bug fixes) Fixed several compilation-related bugs: + - Array cmd wasn't detecting arrays that, while compiled, do not yet + exist (e.g., are marked undefined since they haven't been assigned + to yet). + - The GetToken procedure in tclCompExpr.c wasn't recognizing properly + whether an integer token was invalid. For example, "0x$" is not + a valid integer. + - Performance bug in TclExecuteByteCode: the size of its stack frame + was reduced by over 20% by moving errorInfo code elsewhere. + - Uninitialized memory read error in tclCompile.c. (BL) + +8/21/97 (bug fix) safe::interpConfigure now behave like Tk widget's +configure : it changes only the options you provide and you can get +the current value of any single option. New ?-nested boolean? and +?-statics boolean? for all safe::interp* commands but we still +accept (upward compatibility) the previously defined non valued +flags ?-noStatics? and ?-nestedLoadOk?. Improved the documentation. (DL). -5/1/96 (bug fix) Changed to install tkConfig.sh under "make install-binaries", -not "make install-libraries". (JO) +8/22/97 (bug fix) Updated PrintDbl.3 to reflect the fact that the +tcl_precision variable is still used and that it is now shared by all +interpreters. (BL) -5/7/96 (bug fix) Moved initScript in tkUnixInit.c to writable memory to -avoid potential core dumps. (JO) +8/25/97 (bug fix) Fixed array access bug in IllegalExprOperandType +procedure in tclExecute.c: it was not properly supporting the || and && +operators. (BL) -5/7/96 (bug fix) Changed tk_dialog back so that the dialog box is a -transient window again. This is needed to make sure that the dialog -box doesn't get obscured. Also changed it to return -1 if the dialog -window is deleted before the user presses a button. (JO) +8/27/97 (bug fix) In cases where a channel handler was created with an +empty event mask while data was still buffered in the channel, the +channel code would get stuck spinning on a timer that would starve +idle handlers. This mostly happened in Tk when reading from stdin. (SS) + +9/4/97 (bug fix) Slave interps now inherit the maximum recursion limit +of their parent instead of starting back at the default. {nb: this still +does not prevent stack overflow by multi-interps recursion or aliasing} (DL) + +9/11/97 (bug fix) An uninitialized variable in Tcl_WaitPid caused +pipes to fail to report eof properly under Windows. (SS) + +9/12/97 (bug fix) "exec" was misidentifying some DOS executables as not +executable. (CCS) + +9/14/97 (bug fix) Was using the wrong structure in sizeof operation in +tclUnixChan.c. (JL) + +9/15/97 (bug fix) Fixed notifier to break out of do-one-event loop if +Tcl_WaitForEvent returns 1, so that callers of Tcl_DoOneEvent will get +a chance to check whether the event just handled is significant. This +affected mainly recursive calls to Tcl_VWaitCmd; these did not get a +chance to notice that the variable they were waiting for has been set +and thus they didn't terminate the vwait. (JL, DL, SS) + +9/15/97 (bug fix) Alignment problems in "binary format" would cause a +crash on some platforms when formatting floating point numbers. (SS) + +9/15/97 (bug fix) Fixed bug in Macintosh socket code. Now passes all +tests in socket.test that are not platform specific. (Thanks to Mark +Roseman for the pointer on the fix.) (RJ) + +9/18/97 (bug fix) Fixed bug -dictionary option of lsort that could +cause the compare function to run off the end of an array if the +number only contained 0's. (Thanks to Greg Couch for the report.) (RJ) + +9/18/97 (bug fix) TclFinalizeEnvironment was not cleaning up +properly. (DL, JI) + +9/18/97 (bug fix) Fixed long-standing bug where an "array get" command +did not trigger traces on the array or its elements. (BL) + +9/18/97 (bug fixes) Fixed compilation-related bugs: + - Fixed errorInfo traceback information for toplevel coomands that + contain nested commands. + - In the expr command, && and || now accept boolean operands as well + as numeric ones. (BL) + +9/22/97 (bug fix) Fixed bug that prevented translation modes from being +set independently for input and output on sockets if input was "auto". (JL) + +9/24/97 (bug fix) Tcl_EvalFile(3) and thus source(n) now works fine on +files containing NUL chars. (DL) + +9/26/97 (bug fix) Fixed use of uninitialized memory in the environ array +that later could cause random core dumps. Applies to all platforms. (JL) + +9/26/97 (bug fix) Fixed use of uninitialized memory in socket address data +structure under some circumstances. This could cause random core dumps. +This applies only to Unix. (JL) + +9/26/97 (bug fix) Opening files on PC-NFS volumes would cause a hang +until the system timed after the file was closed. (SS) + +10/6/97 (bug fix) The join(n) command, though objectified, was loosing +NULs in the joinString and in list elements after the 2nd one. +Now you can "join $list \0" for instance. (DL) + +10/9/97 (bug fix) Under windows, if env(TMP) or env(TEMP) referred to a +non-existent directory, exec would fail when trying to create its temporary +files. (CCS) + +10/9/97 (bug fix) Under mac and windows, "info hostname" would crash if +sockets were installed but the hostname could not be determined anyhow. +Tcl_GetHostName() was returning NULL when it should have been returning +an empty string. (CCS) + +10/10/97 (bug fix) "file attribute /" returned error on windows. (CCS) + +10/10/97 (bug fix) Fixed the auto_load procedure to handle procedures +defined in namespaces better. Also fixed pgk_mkIndex so it sees procedures +defined in nested namespaces. Index entries are still only made for +exported procedures. (BW) + +10/13/97 (bug fix) On unix, for files with unknown group or owner +attributes, querying the "file attributes" would return an error rather than +returning the group's or owner's id number, although tha command accepts +numbers when setting the file's group or owner. (CCS) + +10/22/97 (bug fix) "fcopy" did not eval the callback script at the +global scope. (SS) + +10/22/97 (bug fix) Fixed the signature of the CopyDone callback used in +the http package(s) so they can handle error cases properly. (BW) + +10/28/97 (bug fixes) Fixed a problem where lappend would free the Tcl object +in a variable if a Tcl_ObjSetVar2 failed because of an error calling a trace +on the variable. (BL) + +10/28/97 (bug fix) Changed binary scan to properly handle sign +extension of integers on 64-bit or larger machines. (SS) + +11/3/97 (bug fixes) Fixed several bugs: + - expressions such as "expr ($x)" must be compiled out-of-line + (call the expr command procedure at runtime) to ensure the correct + behavior when "$x" is an expression such as "5+10". + - "array set a {}" now creates a new array var with an empty array + value if the var didn't already exist. + - "lreplace $foo end end" no longer returns an error (just an empty + list) if foo is empty. + - upvar will no longer create a variable in a namespace that refers + to a variable in a procedure. + - deleting a command trace within a command trace callback would + make the code that calls traces to reference freed memory. + - significantly sped up "string first" and "string last" (fix from + darrel@gemstone.com). + - seg fault in Tcl_NewStringObj() when a NULL is passed as the byte + pointer argument and Tcl is compiled with -DTCL_MEM_DEBUG. + - documentation and error msg fixes. (BL) + +11/3/97 (bug fix) Fixed a number of I/O bugs related to word sizes on +64-bit machines. (SS) + +11/6/97 (bug fix) The exit code of the first process created by Tcl +on Windows was not properly reported due to an initialization +problem. (SS) -5/16/96 (bug fix) Fixed bug that caused core-dumps if a text widget -with -setgrid 1 was deleted by removing its command. (JO) +----------------- Released 8.0p1, 11/7/97 ----------------------- -5/16/96 (bug fix) Fixed bug that caused Tk initialization to use improperly -initialized variables left over from previous invocation of Tk_Init on -another interpreter. (JL) +11/19/97 (bug fix) Fixed bug in linsert where it sometimes accidently +cleared out a shared argument list object. (BL). -5/16/96 (new feature) Implemented application embedding on Windows -platforms (only Tk inside another application, not the other way yet). (JL) +11/19/97 (bug fix) Autoloading in namespaces was not working properly. +auto_mkindex is still not really namespace aware but most common +cases should now be handled properly (see init.test). (BW, DL) -5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe -interpreter. (JL) +11/20/97 (enhancement) Made the changes required by the new Apple +Universal Headers V.3.0, so that Tcl will compile with CW Pro 2. -5/16/96 (bug fix) Fixed bug that caused Tk initialization to use improperly -initialized variables left over from previous invocation of Tk_Init on -another interpreter. (JL) +11/24/97 (bug fix) Fixed tests in clock test suite that needed the +-gmt flag set. Thanks to Jan Nijtmans for reporting the problem. (RJ) -5/16/96 (new feature) Implemented application embedding on Windows -platforms (only Tk inside another application, not the other way yet). (JL) +----------------- Released 8.0p2, 11/25/97 ----------------------- -5/16/96 (new feature) Added C API Tk_SafeInit that adds Tk to a safe -interpreter. (JL) +12/3/97 (bug fix/optimization) Removed uneeded and potentially dangerous +instances of double evaluations if "if" and "expr" statements from +the library files. It is recommended that unless you need a double +evaluation you always use "expr {...}" instead of "expr ..." and +"if {...} ..." instead of "if ... ...". It will also be faster +thanks to the byte compiler. (DL) -5/22/96 (bug fix) Listboxes weren't properly ignoring double clicks on -button 1. (JO) +---- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ---- -6/12/96 (bug fix) Focus was automatically placed on new toplevels. -This caused the titlebar to flash during menubar traversal. (SS) +12/8/97 (bug fix) Need to protect the newly accepted channel in an +accept callback on a socket, otherwise the callback may close it and +cause an error, which would cause the C code to attempt to close the +now deleted channel. Bumping the refcount assures that the channel sticks +around to be really closed in this case. (JL) + +12/8/97 (bug fix) Need to protect the channel in a fileevent so that it +is not deleted before the fileevent handler returns. (CS, JL) + +12/18/97 (bug fix) In the opt argument parsing package: if the description +had only flags, the "too many arguments" case was not detected. The default +value was not used for the special "args" ending argument. (DL) + +1/15/98 (improvement) Moved common part of initScript in common file. +Moved windows specific initialization to init.tcl so you can initialize +Tcl in windows without having to call Tcl_Init which is now only +searching for init.tcl {back ported from 8.1}. (DL) + +---- Shipped as part of the plugin as 8.0p2Plugin2, Jan 15th 98 ---- + +5/27/98 (bug fix) Windows socket driver did not notice new data arriving +on nonblocking sockets until the event loop was entered. (SS) + +5/27/98 (bug fix) Windows socket driver used FIONREAD, which is not +supported correctly by WinSock. (SS) + +6/9/98 (bug fix) Generic channel code failed to report readable file +events on buffered data that was left behind by a gets or read that +did not consume all available data. (SS) + +6/18/98 (bug fix) Compilation of loop expressions was too aggressive +and incorrectly inlined non-literal expressions. (SS) + +6/18/98 (bug fix) "info var" and "info locals" incorrectly reported +the existence of compiler temporary variables. (SS) + +6/18/98 (bug fix) Dictionary sorting used signed character +comparisons. (SS) + +6/18/98 (bug fix) Compile procs corrupted the exception stack in some +cases. (SS) + +6/18/98 (bug fix) Array set had erratic behavior when initializing a +variable from an empty value list. (SS) + +6/18/98 (bug fix) The Windows registry package had a bad bounds check +that could lead to a crash. (SS) + +6/18/98 (bug fix) The foreach compile proc did not correctly handle +non-local variable references. (SS) + +6/25/98 (new features) Added name resolution hooks to support [incr Tcl]. +There are new internal Tcl_*Resolver* APIs to add, query and remove the hooks. +With this changes it should be possible to dynamically load [incr Tcl] +as an extension. (MM) + +7/1/97 (bug fix) The commands "info args, body, default, procs" did +not correctly handle imported procedures. (RJ) + +7/6/98 (improvement) pkg_mkIndex now implements the "package require" +command. This makes it possible to create index files for packages +that require another package and then execute code from that package in +their file. Previously, this would throw an error because the required +package had not been loaded. The -nopkgrequied flag is provided to +revert back to the old functionality. (EMS) + +7/6/98 (improvement) back-ported the -direct flag from 8.1 into +pkg_mkIndex. This results in pkgIndex.tcl files that contain direct +source or load commands instead of tclPkgSetup commands. (EMS) + +7/6/98 (improvement) made changes to the AuxData items structures to support +storage of compiled scripts on disk. Also some related minor changes in +the compilation and execution engine. (EMS) + +6/4/98 (enhancement) Added new internal routines to support inserting +and deleting from the stat, access, and open-file-channel mechanisms. +TclAccessInsertProc, TclStatInsertProc, & TclOpenFileChannelInsertProc +insert pointers to such routines; TclAccessDeleteProc, TclStatDeleteProc, +& TclOpenFileChannelDeleteProc delete pointers to such routines. See +the file generic/tclIOUtils.c for more details. (SKS) + +7/1/98 (enhancement) Added a new internal C variable +tclPreInitScript. This is a pointer to a string that may hold an +initialization script; If this pointer is non-NULL it is evaluated in +Tcl_Init() prior to the built-in initialization script defined in the +file generic/tclInitScript.h. (SKS) + +7/6/98 (bug fix) Removed dead code in PlatformInitExitHandler so that +the TCL_LIBRARY value can be safely patched in binaries. (BW) + +7/24/98 (enhancement) Incorporated a new version of auto_mkindex that +can support the [incr Tcl] class structures. This version will index +all procedures in a source file, not just those where "proc" starts +at the beginning of the line. If you want the old behavior, use the +auto_mkindex_old procedure. (MM) + +7/24/98 (feature change) Changed the Windows registry key to be +HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, and to store the path +in the default value instead of "Root". Also, this key can be +specified at compile time in case Tcl is being used in a different +context where it needs an alternate library path from the standard Tcl +installation. (SS) + +7/24/98 (feature change) Changed the search order for init.tcl. The +tcl_library variable can now be set before calling Tcl_Init to avoid +doing any searches. If it isn't set, then Tcl checks +env(TCL_LIBRARY), the static value set at compile time, an install +directory relative to the executable, a source directory relative to +the executable, and a tcl directory relative to the source heirarchy +containing the executable. See the comment at the top of +generic/tclInitScript.h for more details. (SS) + +7/27/98 (config change) Changed the use of the DBGX flag in configure.in +and the makefile to be TCL_DBGX. Users of tclConfig.sh may need to pass +this through their configure files with AC_SUBST. (BW) + +729/98 (bug fix) Changed [info body] to return a copy of the body of a +compiled procedure instead of the body itself, to avoid invalidation +of the internal rep and loss of the byte-codes. (EMS) + +8/5/98 (bug fix) The platform init code could walk off the end of a +buffer when reading the PkgPath registry value on Windows. (SS) + +8/5/98 (Windows makefile change) Introduced a set of macros to deal with +exporting symbols when compiling DLLS on Windows. See win/README for +details. (EMS) + +8/5/98 (addendum) Added a second Windows registry key under +HKEY_LOCAL_MACHINE\Software\Scriptics\Tcl\8.0, named "pkgPath". +This is a multi-string value used to initialize the tcl_pkgPath +variable. This is required if extension DLLs are in architecture specific +subdirectories. (SS) + +8/6/98 (new feature) Added tcl_findLibrary to init.tcl for use by +extensions, including Tk. This searches in a canonical way for +an extensions library directory and initialization file. (BW) + +8/10/98 (bug fix) Imported commands used to get lost if the target +of the import was redefined. Tcl_CreateCommand and Tcl_CreateObjCommand +were updated to restore import links. (Note that if you rename a command, +the import links move to the new name, and if you delete a command then +the import links get lost. These semantics have not changed.) (MC) + +-------- Released 8.0.3 to the Tcl Consortium CD-ROM project, 8/10/98 ------ + +9/3/98 (bug fix) Tcl_Realloc was failing under Windows because the +GlobalReAlloc API was not correctly re-allocating blocks that were +32k+. The fix was to use newer Win32 APIs (HeapAlloc, HeapFree, and +HeapReAlloc.) (BS) + +10/5/98 (bug fix) Fixed bug in pkg_mkIndex that caused some files that do +a "package require" of packages in the Tcl libraries to give a warning like + warning: "xx.tcl" provides more than one package ({xx 2.0} {yy 0.3}) +and generate a broken pkgIndex.tcl file. (EMS) + +10/5/98 (bug fix) Pkg_mkIndex was not doing a case-insensitive comparison +of extensions to determine whether to load or source a file. Thus, under +Windows, MYDLLNAME.DLL was sourced, and mydllname.dll loaded. (EMS) + +10/5/98 (new feature) Created a new Tcl_Obj type, "procbody". This object's +internal representation holds a pointer to a Proc structure. Extended +TclCreateProc to take both strings and "procbody". (EMS) + +10/13/98 (bug fix) The "info complete" command can now handle strings +with NULLs embedded. Thanks to colin@field.medicine.adelaide.edu.au +for providing this fix. (RJ) + +10/13/98 (bug fix) The "lsort -dictionary" command did not properly +handle some numbers starting with 0. Thanks to Richard Hipp + for submitting the fix to Scriptics. (RJ) + +10/13/98 (bug fix) The function Tcl_SetListObj was creating an invalid +Tcl_Obj if the list had zero elements (despite what the comments said +it would do). Thanks to Sebastian Wangnick for reporting the +problem. (RJ) + +10/20/98 (new feature) Added tcl_platform(debug) element to the +tcl_platform array on Windows platform. The existence of the debug +element of the tcl_platform array indicates that the particular Tcl +shell has been compiled with debug information. Using +"info exists tcl_platform(debug)" a Tcl script can direct the +interpreter to load debug versions of DLLs with the load +command. (SKS) -6/12/96 (bug fix) Iconification of a window with a specified geometry -by using the minimize button would leave the window in an inconsistent -state. When the window was deiconified using "wm deiconify", the -window would continue to display as an icon with the deiconified -geometry. (SS) +10/20/98 (feature change) The Makefile and configure scripts have been +changed for IRIX to build n32 binaries instead of the old 32 abi +format. If you have extensions built with the o32 abi's you will need +to update them to n32 for them to work with Tcl. (RJ) +*** POTENTIAL INCOMPATIBILITY *** -6/12/96 (bug fix) Fixed a resource leak where the text widget was not -freeing all of the TkRegions it created. This fix affects all -platforms, but is particularly important for Win32s. (SS) +10/23/98 (bug fix) tcl_findLibrary had a stray ] in one of the +pathnames it searched for the initialization script. tclInitScript.h +was incorrectly adding the parent of tcl_library to tcl_pkgPath. This +logic was moved into init.tcl, and the initialization of auto_path was +documented. Thanks to Donald Porter and Tom Silva for related +patches. (BW) -6/21/96 (configuration change) Added --enable-gcc switch to configure -script to make Tk just like Tcl. Now Tk will not use gcc unless you -request it explicitly. (JO) +10/29/98 (bug fix) Fixed Tcl_NotifyChannel to use Tcl_Preserve instead +of Tcl_RegisterChannel so that 1) unregistered channels do not get +closed after their first fileevent, and 2) errors that occur during +close in a fileevent script are actually reflected by the close +command. (BW) -7/18/96 (bug fix) Changed "configure" script to add an extra -R switch -(or whatever is appropriate to the platform) if the X library is in a -nonstandard place. This guarantees that the shared library can be -found at runtime without having to set the LD_LIBRARY_PATH variable. (JO) +10/30/98 (bug fix) Overhaul of pkg_mkIndex to deal with transitive +package requires and packages split among scripts and binary files. +Also fixed ommision of global for errorInfo in tcl_findLibrary. (BW) -7/19/96 (bug fix) Fixed bug in tkImgGIF.c that cause core dumps if a -GIF file contained multiple images. (JO) +11/08/98 (bug fix) Fixed the resource command to always detect +the case where a file is opened a second time with the same +permissions. IM claims that this will always cause the same +FileRef to be returned, but in MacOS 8.1+, this is no longer the case, +so we have to test for this explicitly. (JI) -7/20/96 (bug fix) Deadlock could occur if a recursive series of send -operations involved multiple displays. (JO) +11/10/98 (feature change) When compiling with Metrowerk's MSL, use the +exit function from MSL rather than ExitToShell. This allows MSL to +clean up its temporary files. Thanks to Vince Darley for this +improvement. (JI) -7/23/96 (bug fix) Fixed a resource leak where deallocated XIDs were -taking up memory on Windows and Macintosh platforms. (SS) +----------------- Released 8.0.4, 11/19/98 ------------------------- -7/30/96 (bug fix) A core dump could occur if a handler for -a window tried to create a child in the half-dead window. Fixed by -making the window's name disappear from the name table once it starts -to be deleted. (JO) +11/20/98 (bug fix) Handle possible NULL return in TclGetStdFiles. (RJ) ------------------ Released patch 4.1p1, 8/2/96 ----------------------- +11/20/98 (bug fix) The dltests would not build on SGI. They reported +that you could not mix n32 with 032 binaries. The configure script +has been modified to get the EXTRA_CFLAGS from the tcl configure +script. [Bug id: 840] (RJ) -4/30/96 (new feature) Added support for named virtual events. New "event" -command to define/destroy named virtual events and to programmatically -send both real and virtual events to Tk. (CS) +12/3/98 (bug fix) Windows NT creates sockets so they are inheritable +by default. Fixed socket code so it turns off this bit right after +creation so sockets aren't kept open by exec'ed processes. [Bug: 892] +Thanks to Kevin Kenny for this fix. (SS) -8/6/96 (bug fix) Entry widgets were invoking scrollbar update functions -too often. (JO) +1/11/98 (bug fix) On HP, "info sharedlibextension" was returning +empty string on static apps. It now always returns ".sl". (RJ) -8/9/96 (bug fix) 7/30 change above for handlers broke many -things by making window available during Destroy handler. Reworked -fix for core dump to simply disallow creating children of half-dead -parents. (JO) +1/28/99 (configure change) Now support -pipe option on gcc. (RJ) -8/12/96 (bug fix) Fixed bug where using the Copy menu item on the -Macintosh would append a NULL character at the end of the text. (RJ) +2/2/99 (bug fix) Fixed initialization problem on Windows where no +searching for init.tcl would be performed if the registry keys were +missing. (stanton) -8/15/96 (bug fix) Fixed Mac code so garbage wouldn't be printed in -text and entry widgets when function & other non-printing keys were -pressed. (RJ) +2/2/99 (bug fix) Added support for HKEY_PERFORMANCE_DATA and +HKEY_DYN_DATA keys in the "registry" command. (stanton) -8/15/96 (configuration improvement) Changed the file patchlevel.h -to be tkPatch.h. This avoids conflict with the Tcl file and is now -in 8.3 format on the Windows platform. (RJ) +2/2/99 (bug fix) ENOTSUP and EOPNOTSUPP clashed on some Linux +variants. (stanton) -8/19/96 (bug fix) Fixed a bug under Windows where the initial window -position for a toplevel window was reported as +0+0, regardless of the -actual position. (SS) +2/2/99 (enhancement) The "open" command has been changed to use the +object interfaces. (stanton) -8/21/96 (bug fix) If the last character on a line in a text widget was -a space character that didn't completely fit, the text widget would -sometimes add an extra wrap line. (JO) +2/2/99 (bug fix) In some cases Tcl would crash due to an overflow of +the exception stack resulting from a missing byte code in some +expressions. (stanton) -8/22/96 (feature change) Complete rewrite of the grid geometry manager. -There is a new layout algorithm that produces better (but different) -layouts in many common cases. (SU) +2/2/99 (bug fix) Changed configure so Linux and IRIX shared libraries +are linked with the system libraries. (stanton) -8/22/96 (new feature) There are two new options for the grid geometry -manager, "grid update" which forces an immediate layout calculation, -and a "-pad" option to rowconfigure and columnconfigure that allows for -extra space around widgets. (SU) +2/2/99 (bug fix) Added support for BSDI 4.x (BSD/OS-4*) to the +configure script. (stanton) -8/22/96 (feature change) The order in which the grid geometry manager -reports slaves is now last-managed first. (SU) +2/2/99 (bug fix) Fixed bug where upvar could resurrect a namespace +variable after the namespace had been deleted. (stanton) -8/22/96 (feature change) The column and row weights in the grid -geometry manager are kept internally as integers, instead of floating -point values. Floating point values are still accepted on the command line, -but are truncated to integers. (SU) +2/2/99 (bug fix) In some cases when creating variables, the +interpreter result was being modified even if the TCL_LEAVE_ERR_MSG +flag was set. (stanton) -8/22/96 (new feature) There are four new commands for opening common -dialog boxes: tk_chooseColor, tk_getOpenFile, tk_getSaveFile and -tk_messageBox. Native dialog boxes are used wherever available. (IL) +2/2/99 (bug fix & new feature) Changed the socket drivers to properly +handle failures during an async socket connection. Added a new +fconfigure option "-error" to retrieve the failure message. See the +socket.n manual entry for details. (stanton) -8/22/96 (new demos) Added "fsbox", "msgbox" and "clrpick" demos. (IL) +2/2/99 (bug fix) Deleting a renamed interp alias could result in a +panic. (stanton) -8/23/96 (feature change) Invoking the edit menu on the Macintosh now -generates the following virtual events <>, <>, <>, -and <> instead of faking key events. (RJ) +2/2/99 (feature change/bug fix) Changed the behavior of "file +extension" so that it splits at the last period. Now the extension of +a file like "foo..o" is ".o" instead of "..o" as in previous versions. *** POTENTIAL INCOMPATIBILITY *** -8/25/96 (bug fix) Fixed a bug that would cause "grid x" to dump core. (SU) - -8/26/96 (new feature) Added the "unsupported1" command to the -Macintosh version of Tk. This command will allow you to set the style -of a new toplevel Window (much like overrideredirect). You can use -this to get access to all of the Native Mac window styles. This is to -hold you over until we get a more general solution added to the -toplevel command. (RJ) - -8/26/96 (new feature) Added support to handle the zoom box on a -Macintosh window. (Currently, you can only get a Tk window with a -zoom box by using the "unsupported1" command. (RJ) - -8/27/96 (documentation change) Removed old change bars (for changes in -Tk 4.1 and earlier releases) from manual entries. (JO) - ------------------ Released 4.2b1, 8/30/96 ----------------------- - -9/5/96 (bug fixes) Fixed several bugs in file dialogs: individual files -could be listed twice, if a long list of files were shown, and the view -scrolled to the right, and then a different file file was shown, the -scrollregion on the canvas wasn't being reset, so the file dialog was -broken from then on, added an update idletasks so that the watch -cursor was shown when the dialog was thinking. For the motif file -dialog, fixed the weights for resizing. On the clrpicker, fixed the -finalColor variable which caused problems when the OK button was -"clicked" before the dialog was mapped (in the test suite). Added Ioi's -last changes from before he left. For message boxes, if a single button -message box is shown (currently only 'ok'), it is set to be the default -even if not specified. (KC) - -9/5/96 (bug fix) Fixed bug on Macintosh where menus would appear in a -seemingly random location. (RJ) - -9/5/96 (bug fix) Text widgets had rounding problems with the "yview" -command that caused them sometimes to round to the line before the -correct one. (JO) - -9/5/96 (bug fix) Changed grab code to retry grabs after errors where -another application already has the grab. This is needed to get -around race conditions with some window managers and will hopefully -solve the grab errors that people see occasionally. (JO) - -9/6/96 (bug fix) Fixed x-y coordinate confusion problem with scaling -of window items in canvases. (JO) - -9/11/96 (bug fix) The open and save file dialogs would change the -current working directory under Windows. (SS) - -9/12/96 (bug fix) The Tk event system was delivering events to dead -windows, if the event handler got reentered during a Destroy event -handler. This could cause core dumps and other problems. (JO) - -9/20/96 (bug fix) In XFillRectangles under Windows, a brush was not -being deallocated. (SS) - -9/20/96 (bug fix) The Mac window manager used to generate a mouseUp -event for a top level that was recently raised to the front/active -window which often caused a tk(priv) error. The up event is no -longer generated with solves several problems. (RJ) - -9/25/96 (bug fix) The font code under Windows was leaking memory -whenever a new font was referenced using the three part font names. (SS) - -9/26/96 (bug fix) The tests for the common dialogs still used the 'testevent' -function. I updated these calls in clrpick.test, msgbox.test, filebox.test -to use the new event gereating mechanism. - -9/18/96 (bug fix) Long-standing bug in bind where was -reported as , but was reported as "aa". (CS) - -9/27/96 (bug fix) Bindings didn't work on 64-bit machines due to changes -made for virtual events. (CS) - -9/30/96 (feature change) Binding for new virtual events included both -lower and upper-case, e.g., <> was defined as and -. Previously, widgets were directly bound to only lower-case -bindings. The upper-case binding caused incompatibility with some existing -Tcl programs, so the upper case bindings for <>, <>, and <> -were removed. (CS) - -9/30/96 (bug fix) The postscript code in the canvas widget now uses -channels to get and write .ps files which fixed a bug on the Mac where -an output file would have mixed EOL characters. In addition, I added -the ability for the prolog to come from the Tk shared library on the -Mac which makes it possible to have a standalone application. (RJ) - -10/1/96 (feature change) "grid forget" was renamed "grid remove". A new -command "grid forget" was added whose semantics are the same as "pack forget" -(SAU) +----------------- Released 8.0.5, 3/9/99 ------------------------- + +======== Changes for 8.0 go above this line ======== +======== Changes for 8.1 go below this line ======== + +6/18/97 (new feature) Tcl now supports international character sets: + - All C APIs now accept UTF-8 strings instead of iso8859-1 strings, + wherever you see "char *", unless explicitly noted otherwise. + - All Tcl strings represented in UTF-8, which is a convenient + multi-byte encoding of Unicode. Variable names, procedure names, + and all other values in Tcl may include arbitrary Unicode characters. + For example, the Tcl command "string length" returns how many + Unicode characters are in the argument string. + - For Java compatibility, embedded null bytes in C strings are + represented as \xC080 in UTF-8 strings, but the null byte at the end + of a UTF-8 string remains \0. Thus Tcl strings once again do not + contain null bytes, except for termination bytes. + - For Java compatibility, "\uXXXX" is used in Tcl to enter a Unicode + character. "\u0000" through "\uffff" are acceptable Unicode + characters. + - "\xXX" is used to enter a small Unicode character (between 0 and 255) + in Tcl. + - Tcl automatically translates between UTF-8 and the normal encoding for + the platform during interactions with the system. + - The fconfigure command now supports a -encoding option for specifying + the encoding of an open file or socket. Tcl will automatically + translate between the specified encoding and UTF-8 during I/O. + See the directory library/encoding to find out what encodings are + supported (eventually there will be an "encoding" command that + makes this information more accessible). + - There are several new C APIs that support UTF-8 and various encodings. + See Utf.3 for procedures that translate between Unicode and UTF-8 + and manipulate UTF-8 strings. See Encoding.3 for procedures that + create new encodings and translate between encodings. See + ToUpper.3 for procedures that perform case conversions on UTF-8 + strings. + +9/18/97 (enhancement) Literal objects are now shared by the ByteCode +structures created when compiled different scripts. This saves up to 45% +of the total memory needed for all literals. (BL) + +9/24/97 (bug fixes) Fixed Tcl_ParseCommand parsing of backslash-newline +sequences at start of command words. Suppressed Tcl_EvalDirect error logging +if non-TCL_OK result wasn't an error. (BL) + +10/17/97 (feature enhancement) "~username" now refers to the users' home +directory on Windows (previously always returned failure). (CCS) + +10/20/97 (implementation change) The Tcl parser has been completely rewritten +to make it more modular. It can now be used to parse a script without actually +executing it. The APIs for the new parser are not correctly exported, but +they will eventually be exported and augmented with Tcl commands so that +Tcl scripts can parse other Tcl scripts. (JO) + +10/21/97 (API change) Added "flags" argument to Tcl_EvalObj, removed +Tcl_GlobalEvalObj procedure. Added new procedures Tcl_Eval2 and +Tcl_EvalObjv. (JO) *** POTENTIAL INCOMPATIBILITY *** -10/1/96 (feature change) grid no longer accepts floating point values for -row or column weights, integers must be used. (SAU) +10/22/97 (API change) Renamed Tcl_ObjSetVar2 and Tcl_ObjGetVar2 to +Tcl_SetObjVar2 and Tcl_GetObjVar2 (for consistency with other C APIs) +and changed the name arguments to be strings instead of objects. (JO) *** POTENTIAL INCOMPATIBILITY *** -10/1/96 (feature change) "grid {column,row}configure " -returns a list of option value pairs for all of the row or column -constraints. It used to return an error. (SAU) +10/27/97 (enhancement) Bytecode compiler rewritten to use the new Tcl +parser. (BL) -10/1/96 (bug fix) "The way grid handles '^' short-cuts was re-written -to eliminate core dumps. (SAU) +11/3/97 (New routines) Added Tcl_AppendObjToObj, which appends the +string rep of one Tcl_Obj to another. Added Tcl_GetIndexFromObjStruct, +which is similar to Tcl_GetIndexFromObj, except that you can give an +offset between strings. This allows Tcl_GetIndexFromObjStruct to be +called with a table of records which have strings in them. (SRP) -10/3/96 (feature change) A virtual event binding associated with a -given physical event is now considered less specific than a binding for -that same physical event, all other things being equal. (CS). +12/4/97 (enhancement) New Tcl expression parser added. Added new procedure +Tcl_ParseExpr and new token types TCL_TOKEN_SUB_EXPR and +TCL_TOKEN_OPERATOR. Expression compiler is reimplemented to use this +parser. (BL) -10/3/96 (bug fix) Under Windows text placed on the clipboard did not -undergo CRLF translation when delivered to other applications. (SS) +12/9/97 (bug fix) Tcl_EvalObj() increments/decrements the refcount of the +script object to prevent the object from deleting itself while in the +middle of being evaluated. (CCS) -10/3/96 (bug fix) Copying an image onto itself with a zoom factor that -caused the image to grow was accessing freed memory. (SS) +12/9/97 (bug fix) Memory leak in Tcl_GetsObjCmd(). (CCS) -10/3/96 (bug fix) Under Windows, the image blank subcommand did not -work. (SS) +12/11/97 (bug fix) Environment array leaked memory when compiled with +Visual C++. (SS) -10/10/96 (bug fix) Under Windows & Macintosh, XSetFont and XChangeGC -were not implemented, and XSetLineAttributes did not correctly update -the GC. (SS) +12/11/97 (bug fix) File events and non-blocking I/O did not work on +pipes under Windows. Changed to use threads to achieve non-blocking +behavior. (SS) -10/10/96 (bug fix) Under Windows, 8-bit non-palette displays were not -handled properly. (SS) +12/18/97 (bug fixes) Fixed segfault in "namespace import"; importing a +procedure that causes a cycle now returns an error. Modified "info procs", +"info args", "info body", and "info default" to return information about +imported procedures as well as procedures defined in a namespace. (BL) -10/10/96 (bug fix) Under Windows, images of depth other than 8 or 24 -bits were not being rendered properly. (SS) +12/19/97 (enhancement) Added new Tcl_GetString() procedure that can be used +in place of Tcl_GetStringFromObj() if the string representation's length +isn't needed. (BL) -10/10/96 (bug fix) Under Windows, bitmap subimages were not correctly -displayed. (SS) +12/18/97 (bug fix) In the opt argument parsing package: if the description +had only flags, the "too many arguments" case was not detected. The default +value was not used for the special "args" ending argument. (DL) -10/14/96 (bug fix) Under Window, wm resizable would constrain both -programatic resizes as well as user resizes. (SS) +1/7/98 (clean up) Moved everything not absolutly necessary out of init.tcl +procs now in auto.tcl and package.tcl can be autoloaded if needed. (DL) ------------------ Released 4.2, 10/16/96 ----------------------- +1/7/98 (enhancement) tcltest made at install time will search for it's +init.tcl where it is, even when using virtual path compilation. (DL) -10/17/96 (bug fix) XCopyPlane was broken under Windows and would cause -a crash when used with a clipping bitmap. (SS) +1/8/98 (os bug workaround) when needed, using a replacement for memcmp so +string compare "char with high bit set" "char w/o high bit set" returns +the expected value on all platforms. (DL) -10/21/96 (bug fix) Added missing resources needed by tk_getOpenDialog -on the Macintosh to the shared library for Tk. (RJ) +1/8/98 (unix portability/configure) building from .../unix/targetName/ +subdirectories and simply using "../configure" should now work fine. (DL) -10/22/96 (bug fix) Invoking a menu with an Alt key sequence caused an -error due to a misplaced common in library/menu.tcl. (JO) - -10/23/96 (bug fix) Errors in files sourced by the Macintosh -"Source..." menu are now correctly reported via the background -error mechanism. (RJ) +1/14/98 (enhancement) Added new regular expression package that +supports AREs, EREs, and BREs. The new package includes new escape +characters, meta-syntax, and character classes inside brackets. +Regexps involving backslashes may behave differently. (MH) +*** POTENTIAL INCOMPATIBILITY *** -10/23/96 (bug fix) Fixed a bug in the Mac subwindow implementation -that caused refreshes to not occur for canvases with embedded -windows. (RJ) +1/16/98 (os workaround) Under windows, "file volume" was causing chatter +and/or several seconds of hanging when querying empty floppy drives. +Changed implementation to call an empirically-derived function that doesn't +cause this. (CCS) -10/24/96 (bug fix) Provided workaround for Apple bug that doesn't -handle zooming correctly for floating windows. (RJ) +1/16/98 (enhancement) Converted regular expressions to a Tcl_Obj type so +their compiled form gets cached automatically. Reduced NSUBEXP from 100 +to 20. (BW) -10/24/96 (bug fix) Macintosh tearoff menus are now correctly -displayed as Mac floating windows. (RJ) +1/16/98 (documentation) Change unclear documentation and comments for +functions like Tcl_TranslateFileName() and Tcl_ExternalToUtfDString(). Now +it explicitly says they take an uninitialized or free DString. A DString +that is "empty" or "not holding anything" could have been interpreted as one +currently with a zero length, but with a large dynamically allocated buffer. +(CCS) -11/1/96 (bug fix) Restored manual page for procedures like -Tk_CreateWindowFromPath and Tk_DestroyWindow; was accidentally deleted -when Tk_CreateMainWindow procedure was decommissioned. (JO) +----------------- Released 8.1a1, 1/22/98 ----------------------- -11/19/96 (bug fix) Fixed bugs in postscript code that would cause the -prefix to not be included and the output file to have the wrong -permissions. (RJ) +1/28/98 (new feature) Added a "-direct" optional flag to pkg_mkIndex +to generate direct loading package indexes (such those you need +if you use namespaces and plan on using namespace import just after +package require). pkg_mkIndex still has limitations regarding +package dependencies but errors are now ignored and with -direct, correct +package indexes can be generated even if there are dependencies as long +as the "package provide" are done early enough in the files. (DL) + +1/28/98 (enhancement) Performance tuning of regexp and regsub. (CCS) + +1/28/98 (bug fix) regexp and regsub with "-indices" returned the byte-offsets +of the characters in the UTF-8 representation, not the character offsets +themselves. (CCS) + +1/28/98 (bug fix) "clock format 0 -format %Z -gmt 1" would return the local +timezone string instead of "GMT" on Solaris and Windows. + +1/28/98 (bug fix) Restore tty settings when closing serial device on Unix. +This is good behavior when closing real serial devices, essential when +closing the pseudo-device /dev/tty because the user's terminal settings +would be left useless, in raw mode, when tcl quit. (CCS) + +1/28/98 (bug fix) Tcl_OpenCommandChannel() was modifying the contents of the +argv array passed to it, causing problems for any caller that wanted to +continue to use the argv array after calling Tcl_OpenCommandChannel(). (CCS) + +2/1/98 (bug fix) More bugs with %Z in format string argument to strftime(): +1. Borland always returned empty string. +2. MSVC always returned the timezone string for the current time, not the + timezone string for the specified time. +3. With MSVC, "clock format 0 -format %Z -gmt 1" would return "GMT" the first + time it was called, but would return the current timezone string on all + subsequent calls. (CCS) + +2/1/98 (bug fix) "file stat" was broken on Windows. +1. "file stat" of a root directory (local or network) or a relative path that + resolved to a root directory (c:. when in pwd was c:/) was returning error. +2. "file stat" on a regular file (S_IFREG), the st_mode was sign extended to + a negative int if the platform-dependant type "mode_t" was declared as a + short instead of an unsigned short. +3. "file stat" of a network directory, the st_dev was incorrectly reported + as the id of the last accessed local drive rather than the id of the + network drive. (CCS) + +2/1/98 (bug fix) "file attributes" of a relative path that resolved to a +root directory was returning error. (CCS) + +2/1/98 (bug fix) Change error message when "file attribute" could not +determine the attributes for a file. Previously it would return different +error messages on Unix vs. Windows vs. Mac. (CCS) + +2/4/98 (bug fixes) Fixed several instances of bugs where the parser/compiler +would reach outside the range of allocated memory. Improved the array +lookup algorithm in set compilation. (DL) + +2/5/98 (change) The TCL_PARSE_PART1 flag for Set/Get(Obj)Var2 C APIs is now +deprecated and ignored. The part1 is always parsed when the part2 argument +is NULL. This is to avoid a pattern of errors for extension writers converting +from string based Tcl_SetVar() to new Tcl_SetObjVar2() and who could easily +forget to provide the flag and thus get code working for normal variables +but not for array elements. The performance hit is minimal. A side effect +of that change is that is is no longer possible to create scalar variables +that can't be accessed by tcl scripts because of their invalid name +(ending with parenthesis). Likewise it is also parsed and checked to +ensure that you don't create array elements of array whose name is a valid +array element because they would not be accessible from scripts anyway. +Note: There is still duplicate array elements parsing code. (DL) +*** POTENTIAL INCOMPATIBILITY *** -12/2/96 (bug fix) Fixed problem with canvas lines where it didn't -compute bounding boxes correctly for zero-width lines: this could -potentially leave garbage on the screen when items were deleted or -moved. (JO) +2/11/98 (bug fix) Sharing objects between interps, such as by "interp +eval" or "send" could cause a crash later when dereferencing an interp +that had been deleted, given code such as: + set a {set x y} + interp create foo + interp eval foo $a + interp delete foo + unset a +Interp "foo" was gone, but "a" had a internal rep consisting of bytecodes +containing a dangling pointer to "foo". Unsetting "a" would attempt to +return resources back to "foo", causing a crash as random memory was +accessed. The lesson is that that if an object's internal rep depends on +an interp (or any other data structure) it must preserve that data in +some fashion. (CCS) + +2/11/98 (enhancement) The "interp" command was returning inconsistent error +messages when the specified slave interp could not be found. (CCS) + +2/11/98 (bug fix) Result codes like TCL_BREAK and TCL_CONTINUE were not +propagating through the master/slave interp boundaries, such as "interp +eval" and "interp alias". TCL_OK, TCL_ERROR, and non-standard codes like +teh integer 57 work. There is still a question as to whether TCL_RETURN +can/should propagate. (CCS) + +2/11/98 (bug fix) TclCompileScript() was derefering memory 1 byte before +start of the string to compile, looking for ']'. (CCS,DL) + +2/11/98 (bug fix) Tcl_Eval2() was derefering memory 1 byte before start +of the string to eval, looking for ']'. (CCS,DL) + +2/11/98 (bug fix) Compiling "set a(b" was running off end of string. (CCS,DL) + +2/11/98 (bug fix) Windows initialization code was dereferencing +uninitialized memory if TCL_LIBRARY environment didn't exist. (CCS) + +2/11/98 (bug fix) Windows "registry" command was dereferencing +uninitialized memory when constructing the $errorCode for a failed +registry call. (CCS) + +2/11/98 (enhancement) Eliminate the TCL_USE_TIMEZONE_VAR definition from +configure.in, because it was the same information as the already existing +HAVE_TM_ZONE definition. The lack of HAVE_TM_ZONE is used to work around a +Solaris and Windows bug where "clock format [clock sec] -format %Z -gmt 1" +produces the local timezone string instead of "GMT". (CCS) + +2/11/98 (bug fix) Memleaks and dereferencing of uninitialized memory in +regexp if an error occurred while compiling a regular expression. (CCS). + +2/18/98 (new feature) Added mutexes and thread local storage in order +to make Tcl thread safe. For testing purposes, there is a testthread +command that creates a new thread and an interpreter inside it. See +thread.test for examples, but this script-level interface is not fixed. +Each thread has its own notifier instance to manage its own events, +and threads can post messages to each other's message queue. +This uses pthreads on UNIX, and native thread support on other platforms. +You enable this by configuring with --enable-threads. Note that at +this time *Tk* is still not thread safe. Special thanks to +Richard Hipp: his earlier implementation inspired this work. (BW, SS, JI) + +2/18/98 (hidden feature change) The way the env() array is shared among +interpreters changed. Updates to env used to trigger write traces in +other interpreters. This undocumented feature is no longer implemented. +Instead, variable tracing is used to keep the C-level environ array in sync +with the Tcl-level env array. This required adding TCL_TRACE_ARRAY support +to Tcl_TraceVar2 so that array names works properly. (BW) +*** POTENTIAL INCOMPATIBILITY *** -12/5/96 (bug fix) Fixed the Macintosh implementation of pointer x/y -which was returning garbage. (RJ) +2/18/98 (enhancement) Conditional compilation for unix systems (e.g., +IRIX, SCO) that use f_bsize instead of st_blksize to determine disk block +size. (CCS) -12/6/96 (bug fix) Fixed grid bug where the positioning of slaves was -incorrect for non-zero values of ipadx and ipady (SU) +2/23/98 (bug fix) Fixed the emulation of polling selects in the threaded +version of the Unix notifier. The bug was showing up on a multiprocessor +as starvation of the notifier thread. (BW) -12/6/96 (bug fix) Fixed grid bug where slaves got "lost" when an -already managed slave is re-managed in a different master. (SAU) +----------------- Released 8.1a2, Feb 23 1998 ----------------------- ------------------ Released 4.2p1, 12/8/96 (Mac only) -------------- +9/22/98 (bug fix) Changed the value of TCL_TRACE_ARRAY so it no longer +conflicts with the deprecated TCL_PARSE_PART1 flag. This should +improve portability of C code. (stanton) -1/17/97 (bug fix) Fixed bug where the Tk clipboard was not in sync -with the Macintosh clipboard on start-up. (RJ) +10/6/98 (bug fix) The compile procedure for "if" incorrectly attempted +to match against the literal string "if", resulting in a stack +overflow when "::if" was compiled. It also would incorrectly accept +"if" instead of "elsif" in later clauses. (stanton) ------------------ Released 4.2p2, 1/31/97 -------------- +10/15/98 (new feature) Added a "totitle" subcommand to the "string" +command to convert strings to capitalize the first character of a string +and lowercase all of the other characters. (stanton) ----------------------------------------------------------- -Changes for Tk 4.2 go above this line. -Changes for Tk 4.3 go below this line. ----------------------------------------------------------- +10/15/98 (bug fix) Changed regexp and string commands to properly +handle case folding according to the Unicode character +tables. (stanton) -9/19/96 (improvement) Implemented table driven mechanism for deciding -whether a command is safe. If it is added by Tk_Init and it appears in the -table then it is kept, otherwise it is removed in a safe interpreter. (JL) +10/21/98 (new feature) Added an "encoding" command to facilitate +translations of strings between different character encodings. See +the encoding.n manual entry for more details. (stanton) -10/18/96 (new feature) Added support for application embedding: - - Frame and toplevel widgets now have a -container option, which - turns the widget into a container. - - Toplevel widgets have a -use option for requesting that the - widget be embedded in another application. - - Wish also supports a -use command-line option. -Embedding is fully supported under Unix, but the implementation is -not complete under Windows or the Macintosh (it works just well -enough to support the Tcl/Tk plugin). (JO) +11/3/98 (bug fix) The regular expression character classification +syntax now includes Unicode characters in the supported +classes. (stanton) -10/22/96 (bug fix) The commands "winfo rootx" and "winfo rooty" didn't -work for non-toplevel windows in embedded applications: they returned -the coordinates of the nearest toplevel. (JO) +11/6/98 (bug fix) Variable traces were causing crashes when upvar +variables went out of scope. [Bug: 796] (stanton) -12/02/96 (new feature) Implemented Safe Tk. Tk can now be loaded into a -safe interpreter that has been created with tcl_safeCreateInterp, by -calling load {} Tk interpname. (JL) +11/9/98 (bug fix) "format" now correctly handles multibyte characters +in %s format strings. (stanton) -12/02/96 (new feature) A safe Tk interpreter can no longer generate -postscript output from a canvas. (JL) +11/10/98 (new feature) "regexp" now accepts three new switches +("-line", "-lineanchor", and "-linestop") that control how regular +expressions treat line breaks. See the regexp manual entry for more +details. (stanton) -12/02/96 (new feature) Added -channel option to photo command to allow -image data to be read from a channel. This is useful in safe Tk -interpreters where the data cannot be read directly from a file. (JL) +11/17/98 (bug fix) "scan" now correctly handles Unicode +characters. (stanton) ----------------------------------------------------------- -Changes for Tk 4.3 go above this line. -Changes for Tk 8.0 go below this line. ----------------------------------------------------------- +11/17/98 (new feature) "scan" now supports XPG3 position specifiers +and the "%n" conversion character. See the "scan" manual entry for +more details. (stanton) + +11/17/98 (bug fix) The Tcl memory allocator now returns 8-byte aligned +chunks of memory which improves performance on Windows and avoids +crashes on other platforms. [Bug: 834] (stanton) + +11/23/98 (bug fix) Applied various regular expression performance bug +fixes supplied by Henry Spencer. (stanton) + +11/30/98 (bug fix) Fixed various thread related race conditions. [Bug: +880 & 607] (stanton) + +11/30/98 (bug fix) Fixed a number of memory overflow and leak +bugs. [Bug: 584] (stanton) + +12/1/98 (new feaure) Added support for Korean encodings. (stanton) + +12/1/98 (feature change) Changed the Tcl_EvalObjv interface to remove +the string and length arguments. +*** POTENTIAL INCOMPATIBILITY with previous alpha releases *** + +12/2/98 (bug fix) Fixed various bugs related to line feed +translation. [Bug: 887] (stanton) + +12/4/98 (new feature) Added a message catalog facility to help with +localizing Tcl scripts. Thanks to Mark Harrison for contributing the +initial implementation of the "msgcat" package. (stanton) + +12/7/98 (bug fix) The memory allocator was failing to update the +block list for large memory blocks that were reallocated into a +different address. [Bug: 933] (stanton) + +----------------- Released 8.1b1, Dec 10 1998 ----------------------- + +12/22/98 (performance improvement) Improved the -command option of the +lsort command to better use the object system for improved +performance (about 5x speed up). Thanks to Syd Polk for suppling the +patch. [RFE: 726] (rjohnson) + +2/10/99 (bug fix) Restored the Tcl_ObjSetVar2/Tcl_ObjGetVar2 +interfaces from 8.0 and renamed the Tcl_GetObjVar2/Tcl_SetObjVar2 +interfaces to Tcl_GetVar2Ex and Tcl_SetVar2Ex. This should provide +better compatibility with 8.0. (stanton) +*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases *** + +2/10/99 (bug fix) Made the eval interfaces compatible with 8.0 by +renaming Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to +Tcl_EvalEx and restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces +so they match Tcl 8.0. (stanton) +*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases *** + +2/25/99 (bug fix/new feature) On Windows, the channel drivers for +consoles and serial ports now completely support file events. (redman) + +3/5/99 (bug fix) Integrated patches to fix various configure problems +that affected HP-UX-11, 64-bit IRIX, Linux, and Solaris. (stanton) + +3/9/99 (bug fix) Integrated various AIX related patches to improve +support for shared libraries. (stanton) + +3/9/99 (new feature) Added tcl_platform(user) to provide a portable +way to get the name of the current user. (welch) + +3/9/99 (new feature) Integrated the stub library mechanism contributed +by Jan Nijtmans, Paul Duffin, and Jean-Claude Wippler. This feature +should make it possible to write extensions that support multiple +versions of Tcl simultaneously. It also makes it possible to +dynamically load extensions into statically linked interpreters. This +patch includes the following changes: + - Added a Tcl_InitStubs() interface + - Added Tcl_PkgProvideEx, Tcl_PkgRequireEx, Tcl_PkgPresentEx, + and Tcl_PkgPresent. + - Added va_list versions of all VARARGS functions so they can be + invoked from wrapper functions. +See the manual for more information. (stanton) + + +3/10/99 (feature change) Replaced Tcl_AlertNotifier with +Tcl_ThreadAlert since the Tcl_AlertNotifier function relied on passing +internal data structures. (stanton) +*** POTENTIAL INCOMPATIBILITY with previous alpha/beta releases *** + +3/10/99 (new feature) Added a Tcl_GetVersion API to make it easier to +check the Tcl version and patch level from C. (redman) + +3/14/99 (feature change) Tried to unify the TclpInitLibrary path +routines to look in similar places from Windows to UNIX. The new +library search path is: TCL_LIBRARY, TCL_LIBRARY/../tcl8.1, relative +to DLL (Windows Only) relative to installed executable, relative to +develop executable, and relative to compiled-in in location (UNIX +Only.) This fix included: + - Defining a TclpFindExecutable + - Moving Tcl_FindExecutable to a common area in tclEncoding.c + - Modifying the TclpInitLibraryPath routines. +(surles) + +3/14/99 (feature change) Added hooks for TclPro Wrapper to initialize +the location of the encoding files and libraries. This fix included: + - Adding the TclSetPerInitScript routine. + - Modifying the Tcl_Init routines to evaluate the non-NULL + pre-init script. + - Adding the Tcl_SetdefaultEncodingDir and Tcl_GetDefaultEncodingDir + routines. + - Modifying the TclpInitLibrary routines to append the default + encoding dir. +(surles) -9/1/96 (new features) The font mechanism in Tk has been completely -reworked: - - Font names need not be nasty X LFDs: more intuitive names like - {Times 12 Bold} can also be used. See the manual entry font.n - for details. - - Font requests always succeed now. If the requested font is not - available, Tk finds the closest available font and uses that one. - - Tk now supports named fonts whose precise attributes can be - changed dynamically. If a named font is changed, any widget - using that font updates itself to reflect the change. - - There is a new command "font" for creating named fonts and querying - various information about fonts. - - There are now officially supported C APIs for measuring and - displaying text. If you use these APIs now, your code will - automatically handle international text when internationalization - is added to Tk in a future release. See the manual entries - MeasureChar.3, TextLayout.3, and FontId.3. - - The old C procedures Tk_GetFontStruct, Tk_NameOfFontStruct, and - Tk_FreeFontStruct have been replaced with more portable procedures - Tk_GetFont, Tk_NameOfFont, and Tk_FreeFont. - *** POTENTIAL INCOMPATIBILITY *** -(CS) - -9/24/96 (bug fix) Under Windows, transient windows would be destroyed -if their master was destroyed, even if the transient window was not a -child of the master. (SS) - -10/18/96 (new features) A -menu option has been added to the toplevel -widget command, which allows a menu to operate as a menubar. On the -Macintosh, the menubar is displayed accross the top of the main monitor, -just like with other applications. Under Windows and Unix, the menu is -attached to the toplevel window. Also, changed some semantics. -Tearoff menus will now reflect changes to the menu it was -torn off from, and are deleted when the master menu is -deleted. Tearoffs also reflect more look-and-feel of the -platforms they are running on. (SRP) - -10/31/96 (bug fix) Under Windows, missing system cursors would -generate an error instead of falling through to the Tk cursor of the -same name. (SS) - -11/7/96 (feature change) Under Unix, default borderwidth is now 1 to -more closely approximate CDE. (SS) -Note: this change was undone on 6/12/97, restoring the default border -width to 2 again. (JO) - -11/7/96 (new feature) The button widget now supports a -default option -that draws a platform specific default ring around the widget. (SS) - -11/7/96 (feature change) Under Windows, buttons and scrollbars now -have native look and feel. This affects the default class bindings -and the way the some configuration options are interpreted. Refer to -the widget manual pages for more details. (SS) +3/14/99 (feature change) Test suite now uses "test" namespace to +define the test procedure and other auxiliary procedures as well as +global variables. + - Global array testConfige is now called ::test::testConfig. + - Global variable VERBOSE is now called ::test::verbose, and + ::test::verbose no longer works with numerical values. We've + switched to a bitwise character string. You can set + ::test::verbose by using the -verbose option on the Tcl command + line. + - Global variable TESTS is now called ::test::matchingTests, and + can be set on the Tcl command line via the -match option. + - There is now a ::test::skipTests variable (works similarly to + ::test::matchTests) that can be set on the Tcl command line via + the -match option. + - The test suite can now be run in any working directory. When + you run "make test", the working directory is nolonger switched + to ../tests. +(hirschl) *** POTENTIAL INCOMPATIBILITY *** -11/19/96 (bug fix) Under Windows, images were incorrectly drawn on -16-bit displays. (SS) - -11/19/96 (bug fix) Under Windows, the class name for the main window -(.) was not properly generated from argv0. (SS) - -11/20/96 (bug fix) Fixed a couple of bugs in the Canvas widget. The -postscript file is now created with the correct permissions. Also, -the prolog is now properly included in all cases. (RJ) - -11/22/96 (bug fix) Under Windows, the initial directory and file names -were not properly translated before being passed to the system -open/save file dialogs. So forward slashes were not converted to -backslashes, and tilde substitution was not performed. (SS) +--------------- Released 8.1b2, March 16, 1999 ---------------------- -11/25/96 (feature change) Under Windows and Macintosh, the selection -highlight is now hidden whenever an entry or text widget loses focus. -Also, the previous selection information is not lost when a new -selection is made in a different widget. (SS) +3/18/99 (bug fix) Fixed missing/incorrect characters in shift-jis table +(stanton) -11/26/96 (new feature) Added support for images as primitive types in -text widgets. (SU) - -11/30/96 (configuration improvement) Modified configure.in to handle the -case where Tcl and Tk are installed in different places by including both -their library directories in the library search path for Tk. (JO) +3/18/99 (feature change) The glob command ignores the +FS_CASE_IS_PRESERVED bit on file systesm and always returns +exactly what it gets from the system. (stanton) +*** POTENTIAL INCOMPATIBILITY *** -12/3/96 (bug fixes) Fixed two bugs related to canvas lines that caused -the screen to be incorrectly refreshed, leaving garbage on the screen. -One bug was related to lines with width zero, and the other was -related to lines with very long miters. (JO) +3/19/99 (new feature) Added support for --enable-64bit. For now, +this is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun +compiler. (redman) -12/4/96 (bug fix) The "update" command was only syncing the display -for its main window. Changed to sync all displays. (JO) +3/23/99 (bug fix) Fixed fileevents and gets on Windows consoles and +serial devices so that non-blocking channels do not block on partial +input lines. (redman) -12/5/96 (bug fix) Color deallocation would occasionally cause a panic -under Windows. (SS) +3/23/99 (bug fix) Added a new Tcl_ServiceModeHook interface. +This is used on Windows to avoid the various problems that people +have been seeing where the system hangs when tclsh is running +outside of the event loop. As part of this, renamed +TclpAlertNotifier back to Tcl_AlertNotifier since it is public. +(stanton) -12/5/96 (bug fix) Errors during startup were silently discarded under -Windows. (SS) - -12/5/96 (bug fix) Errors during startup were silently discarded under -Windows. (SS) +3/23/99 (feature change) Test suite now uses "tcltest" namespace to +define the test procedure and other auxiliary procedures as well as +global variables. The previously chosen "test" namespace was thought +to be too generic and likely to create conflits. +(hirschl) +*** POTENTIAL INCOMPATIBILITY *** -12/11/96 (bug fix) Text widgets weren't considering the -spacing1 -and -spacing2 options when computing their desired geometry. (JO) +3/24/99 (bug fix) Make sockets thread safe on Windows. +(redman) -12/12/96 (feature change) Option menus using tk_optionMenu were -created with command entries that set the option menu's variable in a -command string. This has been changed so that the option menu's -entries are now radiobutton entries so that the entries that matches -the variable is now checked when the menu is posted. (SRP) +3/24/99 (bug fix) Fix cases where expr would incorrect return +a floating point value instead of an integer. (stanton) -12/12/96 (feature change) The destroy command no longer returns an -error when a window does not exist. (SRP) +3/25/99 (bug fix) Added ASCII to big5 and gb2312 encodings. +(stanton) -12/13/96 (new feature) grid row/column-configure accepts a list of -indices in addition to a single index. (SU) +3/25/99 (feature change) Changed so aliases are invoked at current +scope in the target interpreter instead of at the global scope. This +was an incompatibility introduced in 8.1 that is being removed. +(stanton) +*** POTENTIAL INCOMPATIBILITY with previous beta releases *** -12/17/96 (bug fix) Under Windows, command line was not being parsed -correctly if it contained the literal characters \" (CS) +3/26/99 (feature change) --enable-shared is now the default and build +Tcl as a shared library; specify --disable-shared to build a static Tcl +library and shell. +*** POTENTIAL INCOMPATIBILITY *** -12/17/96 (feature change) Native Windows labels do not get a focus-ring -border. (CS) +3/29/99 (bug fix) Removed the stub functions and changed the stub +macros to just use the name without params. Pass &tclStubs into the +interp (don't use tclStubsPtr because of collisions with the stubs on +Solaris). (redman) -12/17/96 (bug fix) Under Windows, colors specified as "#XXYYZZ" where XX, YY, -or ZZ were not valid hex digits were getting a random color value instead of -being an error. (CS) +3/30/99 (bug fix) Loadable modules are now unloaded at the last +possible moment during Tcl_Finalize to fix various exit-time crashes. +(welch) ------------------ Released 8.0a1, 12/17/96 ----------------------- +3/30/99 (bug fix) Tcl no longer calls setlocale(). It looks at +env(LANG) and env(LC_TYPE) instead. (stanton) -12/23/96 (bug fix) Fixed two menu bugs: - - Menus could get stacked below other windows so that they weren't - visible when posted (especially under olvwm and fvwm). - - Under olvwm if you pressed button 1 over an entry in a new-style - menubar, the menu didn't appear until you moved the mouse slightly. -(JO) +4/1/99 (bug fix) Fixed the Ultrix multiple symbol definition problem. +Now, even Tcl includes a copy of the Tcl stub library. (redman) -1/6/97 (bug fix) Focus could accidentally get grabbed by an application -away from the rightful focus owner if the focus recently changed from one -application to another. (JO) +4/1/99 (bug fix) Internationalized the registry package. -1/6/97 (bug fix) Under Windows, the console was appearing even for -non-interactive applications. This was a side effect of a general -problem with the wm state of windows that were being mapped for the -first time. (SS) +4/1/99 (bug fix) Changed the implemenation of Tcl_ConditionWait and +Tcl_ConditionNotify on Windows. The new algorithm eliminates a race +condition and was suggested by Jim Davidson. (welch) -1/6/97 (bug fix) Under Windows, the initialization code was not -looking in the right directory for the Tk libraries when the program -being run was not in the Tcl installation heirarchy. (SS) +4/2/99 (new apis) Made various Unicode utility functions public. +Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString, Tcl_UniCharLen, +Tcl_UniCharNcmp, Tcl_UniCharIsAlnum, Tcl_UniCharIsAlpha, +Tcl_UniCharIsDigit, Tcl_UniCharIsLower, Tcl_UniCharIsSpace, +Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar, Tcl_WinUtfToTChar, +Tcl_WinTCharToUtf (stanton) -1/8/97 (bug fix) Under Windows, the windows were not being unmapped -properly, which led to strange packer behavior. (SS) +4/2/99 (feature change) Add new DDE package and removed the Tk +send command from the Windows version. Changed DDE-based send +code into "dde eval" command. The DDE package can be loaded +into tclsh, not just wish. Windows only. (redman) -1/8/97 (bug fix) The "winfo containing" command (and the Tk_CoordsToWindow -procedure) didn't work properly on Unix in the presence of embedding or -menubars. (JO) +4/5/99 (bug fix) Changed safe-tcl so that the encoding command +is an alias that masks out the "encoding system" subcommand. +(redman) -1/15/97 (bug fix) Invoking "destroy ." as the command from a menu would -cause Tk to crash because TkMainInfo was freed before menu released its -resources. This bug had already been fixed for scrollbars and buttons. (CS) +4/5/99 (bug fix) Configure patches to improve support for +OS/390 and BSD/OS 4.*. (stanton) -1/15/97 (bug fix) Tk is now working under Win32s again, including Win32 -version 1.25. Fixed separate problems in fonts and dialogs. (CS) +4/5/99 (bug fix) Fixed crash in the clock command that occurred +with negative time values in timezones east of GMT. (stanton) -1/15/97 (feature change) Under Windows, font sizes are now specified in -points, not pixels. The mapping between pointsize and pixels depends on -Windows having accurate metrics for the monitor (plug&play helps). Font -metrics are still reported in pixels. (CS) +4/6/99 (bug fix) Moved the "array set" C level code into a common +routine (TclArraySet). The TclSetupEnv routine now uses this API to +create an env array w/ no elements. This fixes the bug caused when +every environ varaible is removed, and the Tcl env variable is +synched. If no environ vars existed, the Tcl env var would never be +created. (surles) -1/21/97 (bug fix) Grid no longer reports rows or columns "out of range" -when requesting their constraints. (SAU) +4/6/99 (bug fix) Made the Env module I18N compliant. (surles) -1/21/97 (bug fix) Fixed some window manager related bugs on the -Macintosh. Now better support global grabs. (RJ) +4/6/99 (bug fix) Changed the FindVariable routine to TclpFindVariable, +that now does a case insensitive string comparison on Windows, and not +on UNIX. (surles) -1/21/97 (bug fix) For Windows: Fixed problems with canvas items that -used end caps. Fixed arc implementation to more closely approximate -X. Stippling now works properly on fat lines. (SS) +--------------- Released 8.1b3, April 6, 1999 ---------------------- -1/21/97 (bug fix) Small interlaced GIF images were not properly -decoded. (SS) +4/9/99 (bug fix) Fixed notifier deadlock situation when the pipe used +to talk back notifier thread is filled with data. Found as a result of the +focus.test for Tk hanging. (redman) -1/21/97 (bug fix) More changes to image code to try to handle 16-bit -displays properly under Windows. (SS) +4/13/99 (bug fix) Fixed bug where socket -async combined with +fileevent for writing did not work under Windows NT. (redman) -1/21/97 (bug fix) Numerous display bugs on Unix and Macintosh are now -fixed. Numerous binding problems for menubars under Unix are now -fixed. Deletion of menu separators under Windows is now fixed. (SRP) +4/13/99 (encoding fix) Restored the double byte definition of GB2312 +and added the EUC-CN encoding. EUC-CN is a variant of GB2312 that +shifts the characters into bytes with the high bit set and includes +ASCII as a subset. (stanton) ------------------ Released 8.0a2, 1/24/97 ----------------------- +4/27/99 (bug fix) Added 'extern "C" {}' block around the stub table +pointer declaration so the stub library can be used from C++. (stanton) -1/29/97 (feature change) The -transient field for menus is no longer -supported. There is now a -type field which is used to achieve the -same purpose that the -transient field accomplished. When a menu is -created, the -type field controls whether the menu is a normal -pull-down menu, a floating tearoff menu or a menubar. This option is -normally only used by the library code and internally by the menubar -code. (SRP) -*** POTENTIAL INCOMPATIBILITY *** +--------------- Released 8.1 final, April 29, 1999 ---------------------- -2/5/97 (feature change) Changed the photo image mechanism to use -Tcl_Channels instead of FILE * as an argument to image matching -functions. The change will make it much easier to write cross -platform image types in Tk. Note: FILE * is no longer used anywhere -in Tk. (RJ) -*** POTENTIAL INCOMPATIBILITY *** +4/22/99 (bug fix) Changed Windows NT socket implementation to avoid +creating a communication window. This avoids the problem where the +system hangs waiting for tclsh to respond to a system-wide synchronous +broadcast (e.g. if you change system colors). (redman) -2/7/97 (enhancement) Were not allowed to bind to virtual events inside of -canvas or text widget (e.g., "$canvas bind all <> {script}" or -"$text tag bind sel <> {script}"); it would return an error -disallowing that binding. Now _can_ bind to a virtual event, but that -binding inside of the canvas or text widget will only fire if the -underlying virtual event definition is of type key, button, motion, -enter, or leave; all other physical event types get filtered out by the -widget before the virtual event mapping is done. (CS) - -2/22/97 (bug fix) Under Unix, "wm geometry +-20+-30" didn't work. (JO) - -2/24/97 (bug fix) The photo image didn't always zero out enough of its -pixel and dither correction arrays. (JO) - -2/25/97 (bug fix) Fixed focus problem that could cause "BadMatch (invalid -parameter attributes)" in X_SetInputFocus requests on Unix. (JO) - -2/25/97 (bug fix and new feature) Added new "gray75" bitmap, fixed -"gray25" bitmap to really be 25% on (due to an ancient mistake, it -had been only 12% on). (JO) - -2/28/97 (bug fix) Windows: made embedding work again on Win32 platform. -Prevent iconification, deiconinification on embedded windows. (JL) - -3/4/97 (new feature) Added the ability to manipulate the Apple and -Help menus on the Macintosh; the system menu on Windows; and to have a -right justified Help menu on Unix. See the documentation for menu.n -for more details. (SRP) - -3/4/97 (bug fix) Prevented core dump at exit if a binding on "." -gets invoked from destroying a nested widget and the binding causes the -interpreter to be deleted. The core dump was being caused by the -interpreter not being Tcl_Preserve'd during the destroy of ".". (JL) - -3/4/97 (bug fix) Under Unix, when embedded Tk is running in a separate -process, correctly handle a race condition: ignore cross-over messages from -the X server for windows that Tk thinks it had already deleted, when the -containing process deletes its container window. Some other race conditions -still remain, e.g. with pixmaps, colormaps and images. (JL) - -3/10/97 (bug fix) Prevented core dump in generic console code due to -following a NULL pointer when the console interpreter was already deleted. -This may happen due to different orders of deletion possible at exit. (JL) - -3/10/97 (bug fix) Fixed bug on Mac and Windows that caused time to be -ignored when considering if a single click was actually a double -click. (RJ) - -3/11/97 (feature change) A major oversight has been that although it was -documented that the Tk programmer was asking for a font in points (1/72 of an -inch), under Unix and Mac Tk was actually asking for a font in pixels, while -only under Windows was it using points. This caused applications to appear -much larger when run under Windows. Now, on all platforms the (purportedly) -correct size in points is used when asking for fonts. However, for -compatibility with existing tk4.2 applications that depend on fonts being of -specified pixel size, XLFDs retain their incorrect behavior of getting a -font in pixels. (CCS) +4/22/99 (bug fix) Added call to TclWinInit from TclpInitPlatform when +building a static library since DllMain will not be invoked. This +could break old code that explicitly called TclWinInit, but should be +simpler in the long run. (stanton) *** POTENTIAL INCOMPATIBILITY *** -3/13/97 (new feature) "tk scaling" command to setup the mapping between -pixels and points. This scaling factor is used by all widgets that accept -ruler distances, not just fonts. (CCS) - -3/24/97 (new feature) Added "-columnbreak" option to menu -entries. When this value is "1", the entry will appear at the top of a -new column in a non-menubar menu. Also added "-hideMargin". Together -with "-columnBreak", menus with palettes are now possible. (SRP) - -3/26/97 (new features and bug fix) Titles for tearoff menus were -broken on the Mac and Windows. Added the ability to set the title of a -menu when it gets torn off and override Tk's automatic generation of -the title. On the Macintosh, whenever a menu -label contains three dots in a row "...", the menu will instead -display the elipses character 'É'. (SRP) - -3/27/97 (bug fixes) When a menu had an error executing a postcommand, -the error information was getting lost. On Windows, a set of -menubuttons was not highligting properly when clicking between -windows. On Windows, post commands were getting executed twice for -popup menus. On Macintosh, fixed problem where menubars were not -always current. (SRP) - -4/11/97 (new feature) Menubuttons now have a direction flag which -controls where the menu popups up relative to the button. (SRP) - -4/24/97 (bug fix) Transient windows did not obey the resizable setting -under Windows. (SS) - -4/24/97 (bug fix) wm geometry did not correctly parse negative -coordinates. (SS) - -4/29/97 (bug fix) Changed the canvas polygon implementation to only -report the coordinates specified by the end user not the automatically -generated end point of a self closing polygon. (RJ) -*** POTENTIAL INCOMPATIBILITY *** +4/23/99 (bug fix) Added support for the koi8-r Cyrillic +encoding. [Bug: 1771] (stanton) -4/23/97 (feature change) Loosened the rules on parsing font names so that -unix-centric fonts in scripts don't break when run on Windows or Mac. -(1) Previously, an XLFD had to specify font name, weight, slant, and size; -now, a minimal XLFD (such as "*-times-*") will be accepted, and all -unspecified attributes will be given default values. (2) Previously, in the -{name size style ...} format, only the style was optional; now both the size -and the style are optional; this solves the problem of old scripts that -contain specifications of the form "-font fixed" or "-font times". (CCS) - -5/7/97 (new feature) Menus now send a virtual event <> -when an item is highlighted in a menu. Applications can use this to -implement context-sensitive help. (SRP) - -5/14/97 (bug fix) Fixed a race condition in the focus code where focus -could be taken away from a window incorrectly. Scenario is that the main -window creates a toplevel and assigns focus to it. When the user moves the -mouse from the main window into the toplevel there was a race between -two different kinds of focus events. (BW) - -5/20/97 (bug fix) Fixed bug where the clipboard was not rendered before -the application exited. (SS) - -5/22/97 (feature change) When a Tk8.0 menu is configured, all menus -derived from it (menubars, tearoff) mirror the changes. This was not -true for the "-tearoff" flag. In Tk4.6, tearoff menus had the -"-tearoff" flag turned off. Now, the "-tearoff" flag is tracked just -as the other options are. Tearoff menus and menubars with the -"-tearoff" option set will not display the tearoff item. This means -that a given menu entry for a menu and a tearoff of that menu will -match now. (SRP) -*** POTENTIAL INCOMPATIBILITY *** +4/28/99 (bug fix) Changed internal Tcl_Obj usage to avoid freeing the +internal representation after the string representation has been +freed. This makes it easier to debug extensions. (stanton) ------------------ Released 8.0b1, 5/27/97 ----------------------- +4/30/99 (bug fix) Fixed a memory leak in CommandComplete. (stanton) -5/30/97 (bug fix) Made the options to the grid command shortcut-able. -Ie. You can now use -stick, in addition to -sticky. (RJ) +5/3/99 (bug fix) Fixed a bug where the Tcl_ObjType was not being set +in a duplicated Tcl_Obj. [Bug: 1975, 2047] (stanton) -6/2/97 (bug fix) Fixed bug in startup code that caused a problem in -finding the library files when they are installed in a directory -containing a space in the name. (SS) +5/3/99 (bug fix) Changed Tcl_ParseCommand to avoid modifying eval'ed +strings that are already null terminated. [Bug: 1793] (stanton) -6/2/97 (bug fix) Virtual events associated with / in text -widget tag caused panic. (CCS) +5/3/99 (new feature) Applied Jeff Hobbs's string patch which includes +the following changes: + - added new subcommands: equal, repeat, map, is, replace + - added -length option to "string compare|equal" + - added -nocase option to "string compare|equal|match" + - string and list indices can be an integer or end?-integer?. + - added optional first and last index args to string toupper, et al. +See the string.n manual entry for more details about the new string +features. [Bug: 1845] (stanton) -6/6/97 (bug fix) On some systems, struct timeval.tv_sec is unsigned. (SS) +5/6/99 (new feature) Added Tcl_UtfNcmp and Tcl_UtfNcasecmp to make Utf +string comparision easier. (stanton) -6/6/97 (feature change) Changed -default option on buttons to take -three states: normal, active, disabled. This allows apps to have a -row of buttons where the default ring moves between buttons without -changing the geometry of the buttons. See the button.n manual page -for more details. (SS) -*** POTENTIAL INCOMPATIBILITY with Tk 8.0b1, but not with Tk 4.2 *** +5/7/99 (bug fix) Improved OS/390 support. [Bug: 1976, 1997] (stanton) -6/9/97 (bug fix) Canvas postscript printing now works for bitmaps -under Windows. (SS) +5/12/99 (bug fix) Changed Windows initialization code to avoid using +GetUserName system call in favor of the env(USERNAME) variable. This +provides a significant startup speed improvement. (stanton) -6/10/97 (bug fix) Fixed bug in bindings for listboxes where state wasn't -being properly initialized on Shift-1 button presses. (JO) +5/12/99 (bug fix) Replaced the per-interpreter regexp cache with a +per-thread cache. Changed the Regexp object to take advantage of this +extra cache. Added a reference count to the TclRegexp type so regexps +can be shared by multiple objects. Removed the per-interp regexp cache +from the interpreter. Now regexps can be used with no need for an +interpreter. This set of changes should provide significant speed +improvements for many Tcl scripts. [Bug: 1063] (stanton) -6/11/97 (bug fix) Text widget display code did not include internal -padding in the damage calculation for borders leading to unrefreshed -sections on Windows and Mac. (SS) +5/14/99 (bug fix) Durining initialization on Unix, Tcl now extracts the +encoding subfield from the LANG/LC_ALL environment variables in cases +where the locale is not found in the built-in locale table. It also +attempts to initialize the locale subsystem so X11 is happy. [Bug: 1989] +(stanton) -6/12/97 (feature reversal) Changed default border widths under Unix -back to 2 again. This reverses the change made on 11/7/96. (JO) +5/14/99 (bug fix) Applied the patch to fix 100-year and 400-year +boundaries in leap year code, from Isaac Hollander. [Bug: 2066] (redman) -6/13/97 (bug fixes) In canvas text item: the insertion cursor wasn't shown -if insertion point was at end of text item, it was impossible to click to -position the insertion point after the last character, and @x,y indices were -computed incorrectly if -scrollregion had been specified and canvas was -scrolled. (CCS) +5/14/99 (bug fix) Fixed a crash caused by a failure to reset the result +before evaluating the test expression in an uncompiled for +statement. (stanton) -6/13/97 (bug fix) Hitting up/down arrows in a text widget packed in a -toplevel window created with the "-screen" option would cause an error dialog -to pop up. (CCS) +5/18/99 (bug fix) Modified initialization code on Windows to avoid +inherenting closed or invalid channels. If the standard input is +anything other than a console, file, serial port, or pipe, then we fall +back to the standard Tk window console. (stanton) -6/12/97 (bug fix) Fixed bug in canvas text items where multi-line -selections were not highlighted properly. This bug existed only in -earlier releases of Tk 8.0. (JO) +5/19/99 (bug fix) Added an extern "C" block around the entire tcl.h +header file to avoid C++ linkage issues. (redman) -6/16/97 (bug fix) In some obscure cases, canvas window items could -accidentally specified a 0x0 size for the window, which caused a -BadValue error under X. (JO) +5/19/99 (new feature) Applied Jeff Hobb's patch to add +Tcl_StringCaseMatch to support case insensitive glob style matching and +Tcl_UniCharIs* character classification functions. (stanton) -6/17/97 (bug fix) Tk buttons on the Macintosh will now correctly -draw under MacOS 8.0. (RJ) +5/20/99 (bug fix) Added the directory containing the executuble and the +../lib directory relative to that to the auto_path variable. (redman) -6/18/97 (feature change) Changed the way highlights are drawn in text -widgets so that the empty space to the left of a line is highlighted -whenever the leftmost character of the line is highlighted (the empty -space didn't used to be highlighted). This produces a neater left -edge when several lines are selected. (JO) +--------------- Released 8.1.1, May 25, 1999 ---------------------- -6/18/97 (bug fix) Tk was using the wrong system colors to draw various -widgets under Windows. (SS) +5/21/99 (bug fix) Fixed launching command.com on Win95/98, no longer +hangs. [Bug: 2105] (redman) -6/19/97 (bug fix) Under Windows, the "wm transient" and "wm overrideredirect" -subcommands can now be applied to a toplevel to change its window -style at any time during the life of the window. (SS) +5/28/99 (bug fix) Fixed bug where dde calls were being passed an +invalid dde handle. [Bug: 2124] (stanton) -6/19/97 (feature change) All GIF and XBM images needed for the "TK" -file dialog box are included in-line in tkfbox.tcl. (IL) +6/1/99 (bug fix) Small configure.in patches. [Bug: 2121] (stanton) -6/27/97 (bug fix) Revamped focus code to eliminate most XSetInputFocus -calls from the FilterEvent procedure. This moves the implementation back -towards the Tk 4.2 implementation, but adds embedding support. There is -still a known bug with twm's NoTitleFocus and embedded windows. However, -the races in a2 and the funny focus stealing in b1 are gone. (BW) +6/1/99 (bug fix) Applied latest regular expression patches to fix an +infinite loop bug and add support for testing whether a string could +match with additional input. [Bug: 2117] (stanton) -6/25/97 (bug fix) Error message was not properly reported when using -button 'toggle'. (DL) +6/2/99 (bug fix) Fixed incorrect computation of relative ordering in +Utf case-insensitive comparison. [Bug: 2135] (stanton) -6/25/97 (bug fix) Removed one source of memory corruption in tkGrid.c code -(fixes what was exercised by "grid col . 0 -w 1; grid col . 0 -w 25") (DL) +6/3/99 (bug fix) Fxied bug where string equal/compare -nocase +reported wrong result on null strings. [Bug: 2138] (stanton) ------------------ Released 8.0b2, 6/30/97 ----------------------- +6/4/99 (new feature) Windows build now uses Cygwin tools plus GNU +make and autoconf to build static/dynamic and debug/nodebug. (stanton) -7/1/97 (bug fix) Menu shortcut and tearoff reported problem fixed. (DL) - -7/1/97 (new feature) TK_BUILD_SHARED flag set in tkConfig.sh -when Tk has been built with --enable-shared. TK_SRC_DIR added. -A new tkLibObjs make target, echoing the list of the .o's needed -to build a tk library, is now provided. (DL) - -7/9/97 (bug fix) Fixed Tk_CreateFileHandler and Tk_DeleteFileHandler -macros to directly call the Tcl equivalents. (JL) - -7/10/97 (bug fix) On the Mac, if the binding for <> was -drawing, the drawing could bleed over into the menus. This is now -fixed. (SRP) - -7/10/97 (bug fixes) Removed duplicate code related to Tk_SafeInit, -made a single init script handling both cases. (DL) - -7/10/97 (feature change) On Unix, to be able to load Tk into a safe -interp you need to set the env(DISPLAY) var. Some API should be -added to allow master crontrol over Tk instantiation. (DL) - -7/11/97 (new feature) On the Mac, menus that are too big for the -screen will now scroll. This is part of the interface on the Mac, -impossible under Windows, and is not done for Unix. (SRP) - -7/21/97 (bug fix) After fixing the bug that in canvas text item the insertion -cursor wasn't shown if insertion point was at end of text item, introduced a -different bug in where clicking in entry widget with 0 characters would -crash or display garbage. (CCS) - -7/22/97 (bug fix) If there were a whole bunch of returns or tabs in a row in -a canvas text item, then the temporary buffer used when outputting -postscript could overflow and overwrite the stack. (CCS) - -7/23/97 (feature change) Reenabled "tkwait" in the Safe Tk base. (JL) - -7/24/97 (bug fix) Single init script for both Win and Unix. -new library/safetk.tcl using features from new tcl safe.tcl (DL) - -7/30/97 (feature change) As a result of native menus, you can no -longer drag through a frame of menubuttons on Macintosh and Windows -and have the menus pop down. You can still click on individual -menubuttons and their menus will pop down. Applications needing to -present a menubar should consider using the new "-menu" configuration -of the toplevel widget to set up menubar which behaves correctly on -Macintosh, Windows and X Windows. (SRP) - -7/31/97 (bug fix) Tk widget commands can now safely be hidden commands. -Previously destroying the widget would potentially leave dangling pointers -and destroy an exposed command instead of a hidden one if an exposed -command by that name existed. (JL) - -7/31/97 (bug fix) On Windows, popup menus were not tracking the right mouse -button correctly if it was used to invoke the menu. On Unix, tearoff -menus were stealing focus when the mouse moving over them even when -focus following was turned off. (SRP) - -8/4/97 (bug fix) Fixed problem under USENIX where raising a toplevel -window could cause an X error if the window had just been withdrawn. (JO) - -8/4/97 (feature change) tkerror and bgerror are not anymore hard links -maintained by the Tcl core. The implementation of bgerror provided by -Tk tries, for backward compatibility only, to to call "tkerror" and -if that fails, falls back to the usual dialog and stack trace option -posting. You can thus still use either "bgerror" or "tkerror" as your -application error handling proc, but using "bgerror" is strongly -recommended as support for "tkerror" will eventually vanish in upcoming -releases. (DL) -*** POTENTIAL INCOMPATIBILITY with scripts that were using - the actual hardlink implementation 'features' and with - scripts (if any) that would be calling the default "tkerror" to - simulate error messages (use "bgerror" instead) *** - -8/7/97 (feature change/addition) Removed the gif files used for the -Open dialog box on UNIX (they were previously made inline). Added a -new images directory that includes several images of the Tcl and Tcl -Powered logos. (RJ) - -8/7/97 (bug fix) Fixed focus to deal with embedding when there is -no window manager. (BW) - -8/8/97 (bug fix) Fixed bug in photo image code where photo images from -different interpreters could get confused if they had the same name. (JO) - -8/8/97 (new feature) Added new procedure Tk_GetImageMasterData for -mapping image names to master data. (JO) - -8/8/97 (feature change) Modified Tk_FindPhoto procedure to require -extra "interp" argument (needed for bug fix above). (JO) -*** POTENTIAL INCOMPATIBILITY *** +6/7/99 (new feature) Optimized string index, length, range, and +append commands. Added a new Unicode object type. (hershey) -8/8/97 (bug fix) Fixed problems under Windows renaming toplevels with -menubars. Fixed problems on all platforms renaming menu widgets and -using new menus of the same name as an old one as cascades. Fixed a -cosmetic problem with tearoff menus. (SRP) +6/8/99 (bug fix) Rolled back Windows socket driver to 8.1.0 +version. (stanton) -8/13/97 (bug fixes) Fixed "-from" option for the "image create" and -"imageName read" commands for GIF images, which didn't used to work -correctly. Also made transparency work correctly for GIF images -without the TRANSPARENT_GIF_COLOR hack; TRANSPARENT_GIF_COLOR is -now ignored. These fixes were provided by Jan Nijtmans. (JO) +6/9/99 (new feature) Added Tcl_RegExpMatchObj and Tcl_RegExpGetInfo +to public Tcl API, these functions are needed by Expect. Changed +tools/genStubs.tcl to always write output in LF mode. (stanton) -8/13/97 (new feature) added safe::loadTk command to load Tk in a -safe slave interpreter. See the loadTk.n manual page for more -details. (DL) +6/14/99 (new feature) Merged string and Unicode object types. Added +new public Tcl API functions: Tcl_NewUnicodeObj, Tcl_SetUnicodeObj, +Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange, +Tcl_AppendUnicodeToObj. (hershey) ------------------ Released 8.0, 8/18/97 ----------------------- +6/16/99 (new feature) Changed to conform to TEA specification, added +tcl.m4 and aclocal.m4 macro libraries for configure. (wart) -8/22/97 - (bug fix) Fixed syntax error in tk_popup; option menus now -popup over their selected items like they did in tk4.2. Fixed problem -where cascades sometimes did not work on X. On X, menubars with -checkbuttons and radiobuttons in them would infinite loop when -mappped. (SRP) +6/17/99 (new feature) Added new regexp interfaces: -expanded, -line, +-linestop, and -lineanchor switches. Renamed Tcl_RegExpMatchObj to +Tcl_RegExpExecObj and added new Tcl_RegExpMatchObj that is equivalent +to Tcl_RegExpMatch. Added public macros for regexp flags. Added +REG_BOSONLY flag to allow Expect to iterate through a string and only +find matches that start at the current position within the +string. (stanton) -8/27/97 (new feature) Added support for new X11R6 colors under Windows -and Mac platforms. (SS) +6/21/99 (bug fix) Fixed memory leak in TclpThreadCreate where thread +attributes were not being released. [Bug: 2254] (stanton) -8/29/97 (bug fix) Wish crashed if stdin was closed. (SS) +6/23/99 (new feature) Updated Unicode character tables to reflect +Unicode 2.1 data. (stanton) -9/10/97 (bug fix) "font actual {helvetica 10} -displayof ." wasn't taking -into account the "-displayof" option. This problem also existed for the -"font metrics" and "font measure" commands. (CCS) +6/25/99 (new feature) Fixed bugs in non-greedy quantifiers for regular +expression code. (stanton) -9/16/97 (new feature) Added "resource delete" and "resource files" -command to the Mac. Also fixed "resource write" when the resource -was specified by id and already existed. (JI) +6/25/99 (new feature) Added initial implementation of new Tcl test +harness package. Modified test files to use new tcltest package. +(jenn) -9/16/97 (bug fix) Added null bindings to for the -text and entry widget on the Macintosh. This prevents unbound command -key sequences from having the character echoed to the widget. Also -fixed Cut & Copy bindings. (JI) (RJ) +6/26/99 (new feature) Applied patch from Peter Hardie to add poke +command to dde and changed the dde package version number to +1.1. (redman) -9/18/97 (bug fix) Revamped Macintosh focus code. Cut, Copy & Paste -virtual events now go to the correct (focus) window. (RJ) +6/28/99 (bug fix) Applied patch from Peter Hardie to fix problem in +Tcl_GetIndexFromObj() when the key being passed is the empty string. +[Bug: 1738] (redman) -9/19/97 (bug fix) Made Macintosh tearoff menus non-resizable. (RJ) +6/29/99 (new feature) Added options to tcltest package: -preservecore, +-limitconstraints, -help, -file, -notfile, and flags. (jenn) -10/9/97 (bug fix) Default font for new canvas text items was hardcoded to -"Helvetica 12" instead of using DEF_CANVTEXT_FONT defined in -tk{platform}Default.h like all the other widget settings. (CCS) +7/3/99 (new feature) Changed parsing of variable names to allow empty +array names. Now "$(foo)" is a variable reference. Previously you +had to use something line $::(foo), which is slower. This change was +requested by Jean-Luc Fontaine for his STOOOP package. (welch) -10/9/97 (bug fix) Image code could cause crashes during "exit" under -some conditions (such as an image named "place"). (JO) +7/3/99 (new feature) Added Tcl_SetNotifier (public API) and +associated hook points in the notifiers to be able to replace the +notifier calls at runtime. The Xt notifier and test program use this +hook. (welch) -10/9/97 (bug fix) Fixed bug that sometimes prevented listboxes from -scrolling far enough horizontally to see the rightmost character. (JO) +7/3/99 (new feature) Added a new variant of the "Trf core patch" from +Andreas Kupries that adds new C APIs Tcl_StackChannel, +Tcl_UnstackChannel, and Tcl_GetStackedChannel. This allows the Trf +extension to work without applying patches to the Tcl core. (welch) -10/10/97 (bug fix) In canvas text items, if the text ended with a \n, it -was not counted in the bbox height, as it did in tk4.2. This caused -"hello\n" to be the same height as "hello" and you couldn't see the -cursor positioned on the next line. (CCS) +7/6/99 (new feature) Added -timeout option to http.tcl to handle +timeouts that occur during connection attempts to hosts that are +down. (welch) -10/10/97 (bug fix) The grid geometry manager didn't always properly -forget about windows after a "grid forget" or "grid remove" command: -the windows could reappear on the screen later. (JO) +7/6/99 (bug fix) Applied new implementation of the Windows serial +port driver from Rolf Schroedter that fixes reading only one byte from +the port at a time. Uses polling every 10ms to implement +fileevents. [Bug: 1980 2217] (redman) -10/13/97 (bug fix) Selection could not be restored to a text widget -after "selection clear" on Windows. (SS) +7/8/99 (bug fix) Applied fix for bug in DFA state caching under +lookahead conditions (regular expressions). [Bug: 2318] (stanton) -10/14/97 (bug fix) If a canvas had contained windows that were off-screen, -the windows could sometimes reappear (in the wrong place) if the canvas was -enlarged. (JO) +7/8/99 (bug fix) Fixed bug in string range bounds checking +code. (stanton) -10/20/97 (bug fix) Omitting the arguments to the text widget "mark -gravity" option caused a crash. (SS) +--------------- Released 8.2b1, July 14, 1999 ---------------------- -10/21/97 (bug fix) Tk did not reset the result after native dialog -modal loops on Window so background events could perturb the dialog -result. (SS) +7/16/99 (bug fix) Added Tcl_SetNotifier to stub table. [Bug: 2364] +Added check for Alpha/Linux to correct the IEEE floating point flag, +patch from Don Porter. (redman) -10/23/97 (bug fix) Memory leak in unix's TkpGetFontFamilies. Thanks -to James Bonfield for the fix. (DL) +7/20/99 (bug fix) Merged 8.0.5 code to handle tcl_library properly, +also fixed a bug that caused TCL_LIBRARY to be ignored. (hershey) -10/27/97 (bug fix) Fixed event reporting for the Mac during a grab -when the pointer was out of the toplevel window. (RJ) +7/21/99 (bug fix) Implemented modified socket driver for Windows that +uses a thread to manage the socket event window. Code works the same +on all supported versions of Windows and was based on original 8.1.0 +code. [Bug: 2178 2256 2259 2329 2323 2355] (redman) -10/28/97 (bug fix) Under Unix, override-redirect was getting set -incorrectly for menus, so that "wm overrideredirect" returned 0. (JO) +7/21/99 (new feature) Applied patch from Rolf Schroedter to add +-pollinterval option to fconfigure for Windows serial ports. Allows +the maxblocktime to be modified to control how often serial ports are +checked for fileevents. Also added documentation for \\.\comX +notation for opening serial ports on Windows. (redman) -10/28/97 (bug fix) Under Unix, focus code could sometimes cause the -display to deadlock (it wasn't flushing the output buffer after issuing -an ungrab command). (JO) +7/21/99 (bug fix) Changed APIs in stub tables to use "unsigned long" +instead of the platform-specific "size_t", primarily after SunOS 4 +users could no longer compile. (redman) -10/28/97 (bug fix) If a PPM image file wasn't complete (e.g. it -consisted of nothing but space characters) Tk entered an infinite loop -reading the header. (JO) +7/22/99 (bug fix) Fixed crashing during "array set a(b) {}". +[Bug: 2427] (redman) -10/28/97 (bug fixes) On the Mac, menubars assigned to toplevels would -disappear after a menu item was invoked from them. On Windows, -clicking a system menu with added items and then again with a -different set of added items would crash. On all platforms, a command -menu entry that caused the entry to be deleted, another one created in -its place, and the replacement deleted would cause a panic. On Unix, -<> event bindings were firing every time the mouse moved, -instead of everytime the active menu item changed. (SRP) +7/22/99 (bug fix) The install-sh script must be given execute +permissions prior to running. [Bug: 2413] (redman) -10/27/97 (bug fix) If a particular race condition occurred under Windows, -Tk would crash complaining about trying to free a color that wasn't -allocated. (SS) +7/22/99 (bug fix) Applied patch from Ulrich Ring to remove ANSI-style +prototypes in the code. [Bug: 2391] (redman) -10/28/97 (bug fix) Under Windows, button grabs did not report motion -events that occurred outside of Tk windows. (SS) +7/22/99 (bug fix) Added #if blocks around #includes of sys/*.h header +files, to allow an extension author on Windows to use the MetroWerks +compiler. [Bug: 2385] (redman) -10/28/97 (bug fix) Fixed incorrect display of transparent images on -the Macintosh. (JI) +7/22/99 (bug fix) Fixed running the safe.test test suite, one change +to the Windows Makefile.in to fix paths and another in safe.test to +check for the tcl_platform(threaded) variable properly. (redman) -10/29/97 (bug fix) Reworked the handling of out-of-range indices in -the widget command for listboxes: there were all sorts of quirks -before (e.g., ".l delete -1" actually deleted the first element -of the listbox). (JO) +7/22/99 (bug fix) Fixed hanging in new Win32 socket driver with +threads enabled. (redman) -10/29/97 (bug fix) Fixed crash on the Macintosh that could occur if a -window is moved before it is mapped where the X window was created but -the Macintosh port was not. (RJ) +7/26/99 (bug fix) Fixed terminating of helper threads by holding any +mutexes from the primary thread while waiting for the helper thread to +terminate. Fixes dual-CPU WinNT hangs, only one rare sporadic hang +that still exists with dual-CPU WinNT. Also fixed test cases so that +they would not depend as much on timing for dual-CPU WinNT. (redman) -10/29/97 (bug fix) Fixed several errors in how wm state was maintained -on the Macintosh. Tk now also will iconify a toplevel window on the -Mac if the new Appearance Manager is present. (RJ) +7/27/99 (bug fix) Some test suite cleanup. (jenn) -10/28/97 (bug fixes) In canvas' postscript command: User name -information was leaked in safe interpreters on Unix (security fix). -Errors while reading prolog.ps were not propagated and the error -message was mixed with partial data. Note: postscript output does -not work in safe interpreters on unix and windows. (DL) +7/29/99 (bug fix) Applied patch to fix typo in .SH NAME line in +doc/Encoding.n [Bug: 2451]. Applied patch to avoid linking pack.n to +pack-old.n [Bug: 2469]. Patches from Don Porter. (redman) -10/28/97 (bug fix) Safe Tk interps on unix were leaking env(DISPLAY). (DL) +7/29/99 (bug fix) Allow tcl to open CON and NUL, even for redirection +of std channels. [Bug: 2393 2392 2209 2458] (redman) -10/31/97 (bug fix) Fixed problems related to the input focus when one -application had windows open simultaneously on several displays. (JO) +7/30/99 (bug fix) Applied fixed Trf patch from Andreas Kupries. +[Bug: 2386] (hobbs) -10/31/97 (bug fix) Fixed several problems with traversal of menus via -the keyboard under Unix. (SRP) +7/30/99 (bug fix) Fixed bug in info complete. [Bug: 2383 2466] (hobbs) -11/4/97 (bug fix) Fixed various word-size related problems for 64-bit -architectures. (SS) +7/30/99 (bug fix) Applied patch to fix threading on Irix 6.5, patch +provided by James Dennett. [Bug: 2450] (redman) -11/5/97 (bug fix) Embedding on Windows was using freed data (crashing -in safe.test with TCL_MEM_DEBUG). NB: Embedding is still not fully -implemented on Windows ! (It works mostly when Tk is embeded into it's -own Tk frame (safe::loadTk case), but not well with respect to resizing -with a toplevel container or with an external process). (DL) +7/30/99 (bug fix) Fixed launching of 16bit applications on Win9x from +wish. The command line was being primed with tclpip82.dll, but it was +ignored later. ------------------ Released 8.0p1, 11/7/97 ----------------------- +7/30/99 (bug fix) Added functions to stub table, patch provided by Jan +Nijtmans. [Bug: 2445] (hobbs) -11/20/97 (bug fix) Fixed bug on the Mac where the "package require" -command caused menus to stop working. (JI) +8/1/99 (bug fix) Changed Windows socket driver to terminate threads +by sending a message to the window rather than calling +TerminateThread(), which seems to leak about 4k from the helper +thread's stack space. (redman) -11/20/97 (bug fix) Fixed bug in rendering transparent gifs on Text -widgets. (JI) +--------------- Released 8.2b2, August 5, 1999 ---------------------- -11/20/97 (enhancement) Made the changes required to work with the new -Apple Universal Headers V. 3.0 so we can compile with CW Pro 2.0 (JI) +8/4/99 (bug fix) Applied patches supplied by Henry Spencer to greatly +enhance performance of certain classes of regular expressions. +[Bug: 2440 2447] (stanton) ------------------ Released 8.0p2, 11/25/97 ----------------------- +8/5/99 (doc change) Made it clear that tcl_pkgPath was not set for +Windows. [Bug: 2455] (hobbs) -11/25/97 (security bug fix + added feature) Tk Safe Init now asks -the master's safe::TkInit for the 'argv' to use. This is transparently -dealt with by the safe::loadTk API. New optional "-display displayName" -argument to safe::loadTk, and the "-use" argument accepts both window -Ids and Tk window names: see loadTk(n). Made the ":0.0" default display -work on the Mac as it works on Windows and Unix. (DL) +8/5/99 (bug fix) Fixed reference to bytes that might not be null +terminated in tclLiteral.c. [Bug: 2496] (hobbs) -12/3/97 (bug fix/optimization) Removed unneeded and potentially dangerous -instances of double evaluations if "if" and "expr" statements from -the library files. It is recommended that unless you need a double -evaluation you always use "expr {...}" instead of "expr ..." and -"if {...} ..." instead of "if ... ...". It will also be faster -thanks to the byte compiler. (DL) +8/5/99 (bug fix) Fixed typo in http.tcl. [Bug: 2502] (hobbs) -12/3/97 (new feature) Added support for browser/plugin style embedding, -and made various other fixes to get the plugin working on the Mac. (JI) +8/9/99 (bug fix) Fixed test suite to handle larger integers +(64bit). Patch from Don Porter. (hobbs) -12/8/97 (bug fix) on Windows, using "winfo pathname" before "." was mapped -was crashing. (DL) +8/9/99 (documentation fix) Clarified Tcl_DecrRefCount docs +[Bug: 1952]. Clarified array pattern docs [Bug: 1330]. Fixed clock docs +[Bug: 693]. Fixed formatting errors [Bug: 2188 2189]. Fixed doc error +in tclvars.n [Bug: 2042]. (hobbs) ----- Shipped as part of the plugin2.0b5 as 8.0p2Plugin1, Dec 8th 97 ---- +8/9/99 (bug fix) Fixed path handling in auto_execok [Bug: 1276] (hobbs) -12/97 (bug fix) more Macintosh embeding fixes needed for the plugin. (JI) +8/9/99 (internal api change) Removed the TclpMutexLock and TclpMutexUnlock +APIs and added a new exported api, Tcl_GetAllocMutex. These APIs are all for +the mutex used in the simple memory allocators. By making this change +we are able to substitute different implementations of the thread-related +APIs without having to recompile the Tcl core. (welch) -Jan/9/98 (improvement) Allow applications to have custom init script -without having to patch the Tk core: Tk_Init will use an existing -"tkInit" proc if one exists in the interp where one tries to install Tk -instead of defining it's own (tkInit is the transient proc defined in -generic/tkInitScript.h that searches and sources tk.tcl and defines -the 'correct' tk_library). (DL) +8/9/99 (new C API) Tcl_GetChannelNames returns a list of open channel +names in the interpreter result. Still no Tcl-level version of this, +but server-like applications can use this to clean up files without +deleting interpreters. (welch) ----- Shipped as part of the plugin2.0 as 8.0p2Plugin2, Jan 15th 98 ---- +8/9/99 (bug fix) Traces were not firing on "info exists", which used to +happen in Tcl 7.6 and earlier. An "info exists" now fires a read trace, +if defined. This makes it possible to fully implement variables that +are defined via traces. (welch) -6/3/98 (bug fix) Fixed bugs in the tk_getOpenFile under Unix. - 1) If the -initialdir option was "." the result would be "././foo.tcl" - instead of an absolute path, like the Windows interface. - 2) There is a traceVar on the data(selectPath) where the script was - assumes the window exists. (BS) +8/10/99 (bug fix) Fixed Brent's changes so that they work on +Windows. (redman) -6/12/98 (feature change) Focus -force now sets the foreground window -on Windows platforms in addition to moving the focus. (SS) +--------------- Released 8.2b3, August 11, 1999 ---------------------- -6/12/98 (bug fix) Fixed bug in Windows font measurement that did not -take kerning into account. (BS) +8/12/99 (Mac) Rearrange projects in tclMacProjects.sea.hqx so that the +build directory is separate from the sources. (Jim Ingham) -6/24/98 (bug fix) On Unix, fixed -initialdir switch to tk_getOpenFile -and tk_getSaveFile to convert the specified directory to an absolute -path and to use the current working directory if the specified -directory does not exist. (SS) +8/12/99 (bug fix) Fixed bug in Tcl_EvalEx where the termOffset was not +being updated in cases where the evaluation returned a non TCL_OK +error code. [Bug: 2535] (stanton) -6/25/98 (bug fix) On Unix, both the Tk and the Motif file dialogs -would fail if the -parent flag changed between two parent windows that -had been previously used as file dialog parents. (SS) +--------------- Released 8.2.0, August 17, 1999 ---------------------- -6/29/98 (compatibility patch) Added reserved fields to several Tk -structures to match additions made by Jan Nijtmans dash patch. This -means that extensions can be compiled against the dash patch -and still work with unpatched Tk, and vice versa. +9/21/99 (config fixes) fixed several AIX configuration issues. gcc and +threading may still cause problems on AIX. (hobbs) -7/6/98 (bug fix) Added keysym definitions for the new keys on the -Microsoft keyboards. You can bind to , , and , -but you cannot use the Win keys as modifiers. (SS, BW) +9/21/99 (bug fix) fixed expr double-eval problem. [Bug: 732] (hobbs) -7/6/98 (new feature) Added support for the Macintosh Appearance Manager. (JI) +9/21/99 (bug fix) fixed static buffer overflow problem. [Bug: 2483] (hobbs) -7/24/98 (feature change) Eliminated the static variable that sets -tk_library and simplified search order for tk.tcl. The tk_library -variable can now be set before calling Tk_Init to avoid doing any -searches. If it isn't set, then Tk checks env(TK_LIBRARY), relative -to tcl_library, an install directory relative to the executable, a -source directory relative to the executable, and a tk directory -relative to the source heirarchy containing the executable. See the -comment at the top of generic/tkInitScript.h for more details. (SS) +9/21/99 (bug fix) fixed end-int linsert interpretation. [Bug: 2693] (hobbs) -7/27/98 (bug fix) The bbox for coords in the canvas were incorrectly -including the center of the coord as part of the bound area. (RJ) +9/21/99 (bug fix) fixed bug when setting array in non-existent +namespace. [Bug: 2613] (hobbs) -8/4/98 (bug fix) Fixed memory leak in Windows menu code. (SS) +--- Released 8.2.1, October 04, 1999 --- See ChangeLog for details --- -8/4/98 (bug fix) Fixed bug where bgerror's were not being generated -from menu callbacks on Windows. (SS) +10/30/99 (feature enhancement) new regexp engine from Henry Spencer +was patched in - should greatly reduce stack space usage. (spencer) -8/4/98 (bug fix) Alt-key bindings were not being handled properly -under Windows, resulting in annoying beeps. (SS) +10/30/99 (bug fix) fixed Purify reported memory leaks in findexecutable +test command, TclpCreateProcess on Unix, in handling of C environ array, +and in testthread code. No more known (reported) mem leaks for Tcl +built using gcc on Solaris 2.5.1. Also none reported for Tcl on NT +(using Purify 6.0). (hobbs) -8/4/98 (bug fix) Fixed bug in Windows menubar handling that allowed -a shared menubar to be deleted when any window using it was deleted. (SS) +10/30/99 (bug fix) fixed improper bytecode handling of +'eval {set array($unknownvar) 5}' (also for incr) (hobbs) -8/4/98 (feature change) Introduced TkReadBitmapFile to replace -XReadBitmapFile so that all Tk file opens go through the Tcl channel -mechanism. This lets us wrap applications that define their own -bitmaps and cursors. Note that XReadBitmapFile is no longer -emulated for non-unix platforms platforms (RJ, BW) +10/30/99 (bug fix) fixed event/io threading problems by making +triggerPipe non-blocking (nick kisserbeth) -8/5/98 (bug fix) binding in entries was masking the virtual -event <> binding to Shift-Insert on Windows. (SS) +10/30/99 (bug fix) fixed Tcl_AppendStringsToObjVA and Tcl_AppendResultVA +to only iterates once over the va_list (avoiding non-portable memcpy). +(joe english, hobbs) -8/5/98 (bug fix) wm frame would crash if the window had not been -mapped yet on Windows. (SS) +10/30/99 (bug fix) removed savedChar trick in tclCompile.c that appeared +to be causing a segv when the literal table was released. +[Bug: 2459, 2515] (David Whitehouse) -8/5/98 (bug fix) Local grabs did not exclude menus or the caption bar -under Windows. (SS) +10/30/99 (bug fix) fixed [string index] to return ByteArrayObj +when indexing into one (test case string-5.16) [Bug: 2871] (hobbs) -8/5/98 (bug fix) Reduced message traffic by setting -WS_EX_NOPARENTNOTIFY on TkChild windows. (SS) +10/30/99 (bug fix) fixes for mac UTF filename handling (ingham) -8/6/98 (feature change) Changed tkInitScript.h to use the new -tcl_findLibrary procedure to locate its script library. (BW) +--- Released 8.2.2, November 04, 1999 --- See ChangeLog for details --- -8/10/98 (bug fix) Added special case to font code to limit the -length of displayed strings to avoid wrap-around bugs in some -PC X servers when the pixel length of the string exceeds 0x7fff. (SS) +11/19/99 (feature enhancement) bug fixes for http package as well as +patch required by TLS (SSL) extension that adds http::(un)register +and -type to http::geturl. Up'd http pkg version to 2.2. -8/12/98 (bug fix) Macintosh, lock down some of the resources -associated with menus to try and stabilise the menu system -on memory limited machines. (JI) +11/19/99 (bug fix) removed extra decr of numLevels in Tcl_EvalObjEx +that could cause seg fault (mjansen@wendt.de) -8/12/98 (windows build change) Moved the tkConsole.obj into the tk80.dll -on windows. If you build your own Tk main program, you no longer -need to compile and link this yourself. (SKS) +11/19/99 (bug fixes) numerous minor big fixes, including correcting the +installation of the koi8-r encoding and tcltest1.0 on Windows. --------- Released 8.0.3 to the Tcl Consortium CD-ROM project, 8/13/98 ------ +11/30/99 (bug fix) fixes scan where %[..] didn't match anything -10/5/98 (new feature) Added the event "MouseWheel" that will fire on -Windows applications in response to mouse wheel movement. You can -bind to the MouseWheel event and use the %D substitution to get the -delta the wheel moved. The "event generate" command has also been -enhanced with the -delta flag so you can generate these events from -Tcl. See the bind and event man pages for more details. The listbox -and text widgets' default bindings have been updated to understand -MouseWheel events. (RJ) +11/30/99 (bug fix) fixed setting of isNonBlocking flag in PipeBlockModeProc +so you can now close a non-blocking channel without waiting. -10/12/98 (performance improvement) Added hash table to canvas widget -that holds numeric ids for items. The hash table makes item lookup -almost constant time which improves certain canvas operations -(exspecially for canvases with large number items). Thanks to Mark -Weissman and Jan Nijtmans -for submitting this improvement. (RJ) +11/30/99 (bug work-around) prevented the unloading of DLLs for Unix in +TclFinalizeLoad. This stops the seg fault on exit that some users would +see (ie with oratcl) when using DLLs that do nasty things like register +atexit handlers. -10/15/98 (bug fix) The -fill option to text items in the canvas did -not allow the empty string as an argument (meaning transparent) even -though every other item type did. Thanks to Sebastian Wangnick - for supplying this patch. (RJ) +12/07/99 (bug fix) fixes for 'expr + {[incr]}' and 'expr + {[error]}' +cases (different causes). -10/20/98 (feature change) The Makefile and configure scripts have been -changed for IRIX to build n32 binaries instead of the old 32 abi -format. If you have extensions built with the o32 abi's you will need -to update them to n32 for them to work with Tcl. (RJ) -*** POTENTIAL INCOMPATIBILITY *** +--- Released 8.2.3, December 16, 1999 --- See ChangeLog for details --- -11/10/98 (feature change) The Macintosh menus will use the Appearance -Theme backgrounds, separators and menu shape, if Appearance version -1.0.1 or greater is installed. The version of Appearance that shipped -with MacOS 8.0 so it will not work with a straight 8.0, but it will -with MacOS 8.1 or later. (JI) +1999-09-14 (feature enhancement) added -start switch to regexp and regsub. ------------------ Released 8.0.4, 11/20/98 ----------------------- +1999-09-15 (feature enhancement) add 'array unset' command. -11/24/98 (bug fix) On some X servers, XQueryLoadFont will always -return a font, even if the name is meaningless. This prevents Tk from -parsing the font name, so now we perform a quick sanity check on the -name before letting X have it. (stanton) +1999-09-15 (feature enhancement) rewrote runtime libraries to use new +string functions -12/30/98 (bug fix) Fixed bug in "grid forget" that failed to cancel -pending idle handlers, resulting in a crash in a few odd cases. (stanton) +1999-08-18 (feature enhancement) added 'file channels' command, along with +Tcl_GetChannelNames(Ex) public C APIs. -1/28/99 (configure change) Now support -pipe option on gcc. (RJ) +1999-10-19 (feature enhancement) enhanced tcltest package -2/4/99 (bug fix) Changed so color tables in photo images are freed -immediately instead of being delayed. This ensures that color tables -are properly disposed at process exit. (stanton) +1999-09-16 (feature enhancement) added -milliseconds switch to 'clock clicks' -2/4/99 (bug fix) Changed postscript template to include a European -character with an umlaut when determining font height. (stanton) +1999-10-28 (feature enhancement) added support for inline 'scan' -2/4/99 (bug fix) If an image bitmap mask changed but ended up with the -same XID, the GC failed to be updated and so the new mask was -not used. (stanton) +1999-10-28 (feature enhancement) added support for touch functionality by +extendeding 'file atime' and 'file mtime' to take an optional time argument -2/4/99 (bug fix) Changed so focus window is always set if -force is -specified. This fixes the problem on Windows where Tk does not -activate the window if it already has focus. (stanton) +1999-11-24 (feature enhancement) added 'fconfigure $sock -lasterror' +command to Windows to query the last error received on a serial socket. -2/4/99 (bug fix) Fixed so errors in console eval are reported -properly. Eliminated duplicate result messages. (stanton) +1999-11-30 (bug fix) fixed handling of %Z on NT for timezones that don't +have DST -2/4/99 (bug fix) Under Windows, changed so toplevels that aren't -resizable don't have resize handles and the zoom box is disabled. (stanton) +1999-12-03 (feature enhancement) improved error message in bad octal cases +and improper use of comments. (hobbs) -2/4/99 (bug fix) Changed to cancel the mouse timer when a user -initiated move/resize loop begins on Windows. (stanton) +1999-12-07 (bug fix) fixed Tcl_ScanCountedElement to not step +beyond the end of the counted string -2/4/99 (configure change) TK_LD_SEARCH_FLAGS was set incorrectly if -SHLIB_LD_LIBS='${LIBS}', and shared linking is performed through the C -compiler. Systems affected are Linux, MP-RAS and NEXTSTEP, but also -with gcc on many more systems. +1999-12-09 (feature enhancement) removed all references to 16 bit +compatibility code for Windows (hobbs) -2/4/99 (bug fix) Changed some EXTERN declarations to extern since they -are not defining exported interfaces. This avoids generating useless -declspec() attributes and makes the Windows makefile simpler. (stanton) +1999-12-10 (bug fix) removed check for vfork - Tcl now uses only fork in +exec. (hobbs) -2/4/99 (bug fix) Changed so keyboard shortcuts will only be found in -the current toplevel. Previously, they might be found in menus -attached to other toplevels that might not even be mapped. (stanton) -*** POTENTIAL INCOMPATIBILITY *** +1999-12-10 (optimization) changed Tcl_ConcatObj to return a list +object when it receives all pure list objects as input (used by 'concat'), +added optimizations in Tcl_EvalObjEx for pure list case, and optimized +INST_TRY_CVT_TO_NUMERIC in TclExecuteByteCode for boolean objects. +(oakley, hobbs) -2/4/99 (bug fix) Changed to treat zero width lines in the canvas like -they have width 1 for purposes of selection. (stanton) +1999-12-12 (feature enhancement) enhanced glob command with -type, -path, +-directory and -join switches. (darley, hobbs) -2/4/99 (bug fix) Added a workaround for a bug in GetTextExtentExPoint -on Win NT 4.0/Japanese that cause a crash in some cases. (stanton) +1999-12-21 (bug fix) changed CreateThread to _beginthreadex and +ExitThread to _endthreadex to prevent 4K mem leak (gravereaux) -2/4/99 (bug fix) Fixed uninitialized memory access bug in Unix send -code. (stanton) +1999-12-21 (bug fix) fixed applescript for I18N ----------------------------------------------------------- -Changes for Tk 8.0 go above this line. -Changes for Tk 8.1 go below this line. ----------------------------------------------------------- +1999-12-21 (feature enhancement) added -unique option to lsort (hobbs) -1/16/98 (new feature) Tk now supports international characters sets: - - Font display mechanism overhauled to display Unicode strings - containing full set of international characters. You do not need - Unicode fonts on your system in order to use tk or see international - characters. For those familiar with the Japanese or Chinese patches, - there is no "-kanjifont" option. Characters from any available fonts - will automatically be used if the widget's originally selected font is - not capable of displaying a given character. - - Textual widgets are international aware. For instance, cursor - positioning commands would now move the cursor forwards/back by 1 - international character, not by 1 byte. - - Input Method Editors (IMEs) work on Mac and Windows. Unix is still in - progress. - -7/7/97 (new feature) The send command now works for Microsoft -Windows. It is implemented using Dynamic Data Exchange, and a new -command, dde, allows Tk to send more generic DDE commands to other -applications. (SRP) - -11/3/97 (new feature) Major overhaul of code that manages configuration -options to use Tcl_Obj structures instead of strings: - - There is a new set of procedures including Tk_CreateOptionTable, - Tk_InitOptions, and Tk_SetOptions, which replace Tk_ConfigureWidget - and related procedures. The old procedures are still available. - The new procedures use a new format for configuration tables. - See SetOptions.3 for more information. - - There are new procedures Tk_AllocColorFromObj, Tk_GetColorFromObj, - and Tk_FreeColorFromObj to manage colors using objects to hold the - name of the color and cache the corresponding XColor pointer. - There are similar procedures Tk_Alloc3DBorderFromObj, - Tk_AllocBitmapFromObj, Tk_AllocCursorFromObj, Tk_AllocFontFromObj, - and so on to manage borders, bitmaps, cursors, and fonts. - - The old-style procedures such as Tk_GetColor and Tk_GetBitmap no - longer take Tk_Uids for arguments; they just take strings. - - Menus, labels, buttons, checkbuttons, and radiobuttons have been - converted to use the new object-based configuration library. - (SRP & JO) - -11/7/97 (improvement) Changed code referring to "interp->result" to call -accessor functions like Tcl_SetResult(). - -12/23/97 (fix) Fixed transparency and web optimized the palette of -the images/ Tcl powered logos. (DL) - -12/16/97 (bug fix) Canvas and text "bind" subcommands generated an -error with no message if called to fetch a binding that didn't exist. -They now silently return without an error like the "bind" command. (SS) - -1/13/98 (bug fix) Keysyms for international characters were not being -reported properly under Windows. (SS) +1999-12-21 (bug fix) changed thread ids to longs (for 64bit systems) ------------------ Released 8.1a1, 1/22/98 ----------------------- +--- Released 8.3b1, December 22, 1999 --- See ChangeLog for details --- -2/4/98 (bug fix) Calling XFreeFontNames() twice if couldn't allocate -font. (CCS) +2000-01-10 (feature enhancement) clock scan now supports the common +ISO 8601 date/time formats. See docs for details. (melski) -2/10/98 (bug fix) Inlined prolog.ps in tkCanvPs.c to make it accessible -from safe interpreters: canvas postscript now works in safe interps -(like in tk8.0plugin). (DL) +2000-01-10 (bug fix) prevented \ooo substitution from accepting +non-octal digits [Bug: 3975] (hobbs) -2/11/98 (bug fix) Windows "send" to a remote interp wasn't propagating -$errorInfo correctly from the remote interp to the local invoking interp. -(CCS) +2000-01-11 (bug fix) fixed improper handling of DST by clock when +using relative times (like "1 month" or "tomorrow"). (melski) -2/11/98 (bug fix) Windows "send" should have accepted "--" to mean "no more -arguments". (CCS) +2000-01-12 (bug fix) improved build support for Tru64 v5, NetBSD +and Reliant Unix (hobbs) -2/11/98 (bug fix) Windows "send" was concatenating its arguments -incorrectly (not consistent with "eval", "uplevel", or Unix "send"). (CCS) +2000-01-12 (bug fix) made imported commands also import their +compile procedure (duffin) -2/18/98 (bug fix) Macintosh radiobuttons and checkbuttons now color -their backgrounds correctly under Appearance. The controls gadgets themselves -however, remain the Theme colors. (JI) +2000-01-12 (bug fix) fixed 'info procs ::namesp::*' behavior to return +procs in a namespace (dejong) -2/18/98 (improvement) The corner pixels that peek through around the -rounded corners of the Mac button widget are now controlled by the --highlightbackground, rather than the -background option. (JI) +2000-01-12 (feature enhancement) added support for setting permissions +symbolicly (like chmod) in [file attributes $file -permissions ...] (schoebel) -2/18/98 (improvement) Implemented the intra-application Send on the -Mac (RJ) +2000-01-13 (bug fix) fixed lsort -dictionary problem when sorting +characters between 'Z' and 'a' (flawed upper/lower comparison logic) (melski) -2/18/98 (bug fix) Under X, a problem mapping from a fontStructPtr to an -XLFD (no XA_FONT attribute) would lead to dereferencing NULL. (CCS) +--- Released 8.3b2, January 13, 2000 --- See ChangeLog for details --- ------------------ Released 8.1a2, Feb 20 1998 ----------------------- +2000-01-14 (feature enhancement) clock format %Q added, clock scan updated -10/21/98 (bug fix) Tk_UnderlineChars did not handle UTF strings properly -so underline indices were in bytes instead of characters. (stanton) +2000-01-20 (bug fix) corrected complex array elem compiling (Spjuth) -11/19/98 (bug fix) Fixed menus and titles so they properly display -Unicode characters under Windows. [Bug: 819] (stanton) +2000-01-20 (bug fix) made [info body] always return a string type arg, +to prevent possible misuse of bytecodes in the wrong context (hobbs) -11/24/98 (bug fix) Fixed a bunch of memory leaks in the Windows menu -code. [Bug: 620] (stanton) +2000-01-20 (bug fixes) several fixes to variable handling to prevent +possible crashes, and further definition of correct behavior (melski) -11/25/98 (bug fix) Various small bug fixes: (stanton) - - hidemargin option was not honored properly in menus [Bug: 859] - - disabled menu entries were getting reenabled whenever the - mouse passed over the entry [Bug: 860] - - fixed deletion order bug where a crash would result if a - binding deleted "." +2000-01-25 (bug fixes) improved QNX, Ultrix and OSF1 (Tru64) config and +compatibility (edge, furukawa) -11/30/98 (bug fix) The error result was getting lost when restoring -configuration options in buttons. [Bug: 619] (stanton) +2000-01-25 (bug fix) fixed mem leak when calling lsort with a bad -command +argument (hobbs) -12/8/98 (bug fix) The Windows clipboard was not correctly traslating -multibyte characters. [Bug: 935] (stanton) +2000-01-27 (feature enhancement) package mechanism overhaul: changed +behavior of pkg_mkIndex to do -direct by default, added -lazy option. +Fixed pkg_mkIndex to handle odd proc names and auto_mkIndex to use platform +independent file paths. Other fixes for odd package quirks. Added +::pkg namespace and ::pkg::create helper function. (melski) ------------------ Released 8.1b1, Dec 11 1998 ----------------------- +2000-02-01 (bug fix) fixed problem where http POST would send one extra +newline (vasiljevic) -1/29/99 (bug fix) Fixed bug in "grid forget" that failed to cancel -pending idle handlers, resulting in a crash in a few odd -cases. (stanton) +2000-02-02 (feature enhancement) added docs for new regexp -inline and +-all switches. (hobbs) -2/4/99 (bug fix): Fixed uninitialized memory access in -Tk_SetAppName. [Bug: 919] (stanton) +2000-02-08 (bug fix) corrected handling of "next monthname" in clock scan +(melski) -2/4/99 (bug fix): Added a workaround for a bug in GetTextExtentExPoint -on Win NT 4.0/Japanese. [Bug: 1006] (stanton) +2000-02-09 (bug fix) restored Mac source to build readiness and prevented +mac panic from an error when closing an async socket (steffen, ingham) -2/4/99 (bug fix): Changed so keyboard shortcuts for menus will only be -found in the current toplevel. Previously, they might be found in -menus attached to other toplevels that might not even be mapped. -[Bug: 924] (stanton) +2000-02-10 (feature enhancement) improved error reporting for failed +loads on Windows (dejong, hobbs) -2/4/99 (bug fix): Changed to treat zero width lines in the canvas like -they have width 1 for purposes of selection. [Bug: 925] (stanton) +--- Released 8.3.0, February 10, 2000 --- See ChangeLog for details --- -2/4/99 (bug fix): TK_LD_SEARCH_FLAGS was set incorrectly if -SHLIB_LD_LIBS='${LIBS}', and shared linking is performed through the C -compiler. Systems affected are Linux, MP-RAS and NEXTSTEP, but also -with gcc on many more systems. [Bug: 908] (stanton) +2000-03 (bug fixes, feature enhancement) overhaul of http package for +proper handling of async callbacks (new options), version is now at 2.3 +(tamhankar, welch) -2/4/99 (feature enhancement): Changed so windows that aren't resizable -don't have resize handles and the zoom box is disabled on -Windows. (stanton) +2000-03 (performance enhancement) speedup in Windows filename handling (newman) +and ==/!= empty string in exprs. (hobbs) -2/4/99 (bug fix): Fixed so errors in console eval are reported -properly. Eliminated duplicate result messages. [Bug: 973] (stanton) +2000-03-27 (bug fix) added uniq'ing test to namespace export list to +prevent unnecessary mem growth (hobbs) -2/4/99 (bug fix): Changed so focus window is always set if -force is -specified. This fixes the problem on Windows where Tk does not -activate the window if it already has focus. (stanton) +2000-03-29 (bug fix) fixed mem leak when repeatedly sourcing the same +bytecompiled (tbc) code repeatedly across different interpreters (hobbs) -2/4/99 (bug fix): If an image mask changed but ended up with the same -XID, the GC failed to be updated and so the new mask was not -used. [Bug: 970] (stanton) +2000-03-29 (config enhancement) improved build support for gcc/mingw on +Windows (nijtmans, hobbs) and added RPM target (melski) -2/12/99 (new feature): Tk is now thread safe. You enable this by -configuring with --enable-threads. Tcl must also be compiled with ---enable-threads. See Tcl for more information about the threading -interfaces. (lfb) +2000-03-31 (bug fix) corrected data encoding problem when using +"exec << $data" construct (melski) -2/25/99 (bug fix) Under Windows, wish can now inherit pipe handles on -stdio so it is possible to use the wish executable in a command -pipeline to capture the output of puts or read from the pipe with -gets. (redman) +2000-04 (feature enhancement) overhaul of threading mechanism to better +support tcl level thread command (new APIs Tcl_ConditionFinalize, +Tcl_MutexFinalize, Tcl_CreateThread, etc, all docs in Thread.3). +(kupries, graveraux) +This enables the tcl level thread extension. (welch) -3/1/99 (bug fix) Under Windows, Tk was not properly handling focus and -activation changes in some cases. (redman) +2000-04-10 (bug fix) fixed infinite loop case in regexp -all (melski) -3/10/99 (new feature) Tk now uses the new stub library feature in Tcl. -The Tk library now contains no direct references to any symbols in -Tcl. In addition, there is a new Tk_MainEx() function that takes an -interpreter as an argument. See the Tcl documentation for more -information about the stubs mechanism. (redman) +2000-04-13 (config enhancement) added support for --enable-64bit-vis +Sparc target. (hobbs) -3/14/99 (feature change) Test suite now uses "test" namespace to -define the test procedure and other auxiliary procedures as well as -global variables. - - Global array testConfige is now called ::test::testConfig. - - Global variable VERBOSE is now called ::test::verbose, and - ::test::verbose no longer works with numerical values. We've - switched to a bitwise character string. You can set - ::test::verbose by using the -verbose option on the Tk command - line. - - Global variable TESTS is now called ::test::matchingTests, and - can be set on the Tk command line via the -match option. - - There is now a ::test::skipTests variable (works similarly to - ::test::matchTests) that can be set on the Tk command line via - the -match option. - - The test suite can now be run in any working directory. When - you run "make test", the working directory is nolonger switched - to ../tests. -(hirschl) -*** POTENTIAL INCOMPATIBILITY *** +2000-04-18 (bug fix) moved tclLibraryPath to thread-local storage to fix +possible race condition on MP machines (hobbs) ------------------ Released 8.1b2, March 16, 1999 --------------------- +2000-04-18 (config enhancement) added MacOS X build target and +tclLoadDyld.c dl type. (sanchez) -3/23/99 (feature change) Test suite now uses "tcltest" namespace to -define the test procedure and other auxiliary procedures as well as -global variables. The previously chosen "test" namespace was thought -to be too generic and likely to create conflits. -(hirschl) -*** POTENTIAL INCOMPATIBILITY *** +2000-04-23 (bug fix) several Mac socket fixes (ingham) -3/26/99 [bug fix] Fixed bug reported by Bryan Oakley in the -menubutton bindings. There was a false assumption that there was -always a menu attached to the button. [Bug 1116] (surles) +2000-04-24 (bug fix) fixed hang in threaded Unix case when backgrounded +exec process was running (dejong) -3/26/99 (feature change) Removed --enable-tcl-stub from the configure -script. Linking Tk to Tcl stubs is causing too many problems when -linking executables like wish. Until the Tk is a fully loadable -extension, linking against the Tcl stubs is not supported in Tk. -(redman) +--- Released 8.3.1, April 26, 2000 --- See ChangeLog for details --- -3/26/99 (feature change) --nameble-shared is now the default and builds -Tk as a shared library; specify --disable-shared to build a static Tk -library and shell. -*** POTENTIAL INCOMPATIBILITY *** +2000-04-26 (doc fix) updated/added documentation for many API's and +commands (melski) -3/29/99 (api change) Standardized text layout and font interfaces -so they are consistent with respect to byte versus character -oriented indices. The layout functions all manipulate character -oriented values while the lower level measurement functions all -operate on byte oriented values. (stanton) +2000-05-02 (feature enhancement) added support for joinable threads; +extended API's for channels to allow channels to move between threads +(kupries) -4/1/99 (bug fix) Image handlers are finalized before the font subsystem -to fix crashes during finalization of complex widgets. (stanton) +2000-05-02 (feature enhancement) changed error return for procedures +with incorrect args to be like the Tcl_WrongNumArgs API, with a "wrong +# args: ..." message printed, with an args list (hobbs) -4/1/99 (feature change) Removed the send command on Windows. Moved -the DDE basis of that command out to its own extension. The send -implementation on top of DDE was causing Tk to lock up in some cases. -(redman) +2000-05-08 (feature enhancement) added [array statistics] command -4/5/99 (bug fix) Fixed handling of Unicode in text searches. The --count option was returning byte counts instead of character counts. +2000-05-08 (performance enhancement) rewrote Tcl_StringCaseMatch +algorithm for better performance; this affects the [string match] +command; added "eq" and "ne" operands to expr, for testing +string equality and inequality (hobbs) -4/5/99 (feature change) Cut and paste to an entry widget returns the -selection instead of the widget contents, which can be different if the --show option is used to hide the display. (stanton) +2000-05-09 (feature enhancement) extended [lsearch] to support sorted +list searches and typed list searches (melski) ---------------- Released 8.1b3, April 6, 1999 ---------------------- +2000-05-10 (feature enhancement) added [namespace exists] command +(darley) -4/20/99 (compiler fix) changed definition of Status type to use a -typedef instead of a #define to avoid conflicting with the cygwin win32 -headers. (redman) +2000-05-18 (build enhancement) added support for mingw compile env and +cross-compiling (dejong) -4/22/99 (bug fix) Set the -translation and -encoding options to binary -for image files. (redman) +2000-05-18 (bug fix) corrected clock grammar to properly handle the +"ago" keyword when it follows multiple relative unit specifiers +(melski) -4/27/99 (bug fix) Changed to avoid the need for forward declarations in -stub initializers. Added extern "C" blocks around stub table pointer -declarations so the stubs can be used from C++ code. (stanton) +2000-05-22 (compile fix) type cast cleanups (dejong) ---------------- Released 8.1 final, April 29, 1999 ---------------------- +2000-05-23 (performance enhancement) added byte-compiled +implementation of [return] command and [string] command (melski) -5/7/99 (bug fix) Fixed bug wheretk_popup fails when called too -quickly. [Bug: 2009] (stanton) +2000-05-26 (performance enhancement) extended byte-compiled [string] +command with support for [string compare/index/match] (hobbs) -5/18/99 (bug fix) Fixed clipboard code so it handles Unicode data -properly on Windows NT and 95. [Bug: 1791] (stanton) +2000-05-27 (feature enhancement) added ability to set [info script] +return value ([info script ?newFileName?]) (welch) -5/19/99 (bug fix) Add extern "C" block around entire header file for -C++ compilers to fix linkage issues. Submitted by Don Porter and Paul -Duffin. (redman) +2000-05-31 (feature enhancement) added support for regexp and exact +pattern matching for [array names] (gazetta) ---------------- Released 8.1.1, May 25, 1999 ---------------------- +2000-05-31 (feature enhancement) added -nocomplain and -- flags to +[unset] to allow for silent unset operation (hobbs) -5/21/99 (bug fix) Fixed clipboard code to handle lack of CF_LOCALE -information (from command.com). (stanton) +--- Released 8.4a1, June 6, 2000 --- See ChangeLog for details --- -6/1/99 (bug fix) Improved I18N selection support. COMPOUND_TEXT -is converted to/from iso2022, and STRING is converted to/from -iso8859-1. More work is needed. (stanton) +2000-05-29 (bug fix) corrected resource cleanup in http error cases. +Improved handling of error cases in http. (tamhankar) -6/3/99 (bug fix) Fixed selection code to handle Unicode data in -COMPOUND_TEXT and STRING selections. [Bug: 1791] (stanton) +2000-07 (feature rewrite) complete rewrite of the Tcl IO channel subsystem +to correct problems (hangs, core dumps) with the initial stacked channel +implementation. The new system has many more tests for robustness and +scalability. There are new C APIs (see Tcl_CreateChannel), but only +stacked channel drivers are affected (ie: TLS, Trf, iogt). The iogt +extension has been added to the core test code to test the system. +(hobbs, kupries) + **** POTENTIAL INCOMPATABILITY **** -6/16/99 (new feature) Changes to makefiles and configure scripts to -support TEA specification. (wart) +2000-07 (build improvements) cleanup of the makefiles and configure scripts +to correct support for building under gcc for Windows. (dejong) -6/30/99 (bug fix) Removed deprecated functions, patch from Jan -Nijtmans. [Bug 2080] (redman) +2000-08-07 (bug fix) corrected sizeof error in Tcl_GetIndexFromObjStruct. +(perkins) -6/30/99 (bug fix) Applied patch to allow Img extension to work with -8.2, patch from Jan Nijtmans. [Bug 2068] (redman) +2000-08-07 (bug fix) correct off-by-one error in HistIndex, which was +causing [history redo] to start its search at the wrong event index. (melski) -6/30/99 (bug fix) Applied patch from Don Porter to prevent the Windows -shutdown code from calling Tcl functions when the stub table has not -been initialized in TkWinWmCleanup. [Bug: 2269] (redman) +2000-08-07 (bug fix) corrected setlocale calls for XIM support and locale +issues in startup. (takahashi) -7/8/99 (bug fix) Changed TkWinChildProc to pass WM_WINDOWSPOSCHANGED -through to DefWindowProc to make OpenGL sub-windows happpy. This -allows Windows to generate the WM_SIZE and WM_MOVE messages. (stanton) +2000-08-07 (bug fix) correct code to handle locale specific return values +from strftime, if any. (wagner) ---------------- Released 8.2b1, July 14, 1999 ---------------------- +2000-08-07 (bug fix) tweaked grammar to properly handle the "ago" keyword +when it follows multiple relative unit specifiers, as in +"2 days 2 hours ago". (melski) -7/16/99 (bug fix) Copy prolog.ps from the generic directory for -install-libraries make target. (redman) +2000-08-07 (doc fixes) numerous doc fixes to correct SEE ALSO and NAME +sections. (english) -7/22/99 (bug fix) Applied patch from Jeff Hobbs to fix -library/menu.tcl. [Bug: 2425] (redman) +2000-08-07 (bug fix) new man pages memory.n, TCL_MEM_DEBUG.3, Init.3 and +DumpActiveMemory.3. (melski) -7/22/99 (bug fix) Make install-sh have executable permissions before -calling from the Makefile. [Bug: 2413] (redman) +--- Released 8.3.2, August 9, 2000 --- See ChangeLog for details --- -7/22/99 (bug fix) Block out sys/stat.h include with #if to allow -extension writers to use the MetroWerks compiler on Windows. -[Bug: 2385] (redman) +2000-06 thru 2000-11 (build improvements) Added support for mingw (gcc on +Windows), AIX-5 and Win64 builds (dejong, hobbs) -7/29/99 (bug fix) Allow tcl to opn CON and NUL on Windows, moved check -to Tk Console code instead. [Bug: 2393 2392 2209 2458] (redman) +2000-06-23 (feature enhancement) ability to use Tcl_Obj *s as hash keys (duffin) -7/30/99 (bug fix) corrected the Windows build of threaded Tk from both -sets of makefiles (nmake and gmake). (redman) +2000-06-29 (new features) added [mcmax] and [mcmset] and extended [unknown] in +msgcat package (duperval, krone, nelson) +=> msgcat 1.1 -7/30/99 (bug fix) Added XFillRectangle to stub table, patch from Jan -Njitmans. [Bug: 2446] (hobbs) +2000-08 thru 2000-09 added tclPlatDecls.h to default install (melski, hobbs) -8/1/99 (bug fix) Wrapped #define of panic() inside #ifndef blocks to -avoid compiler errors on Macintosh. Patch from Vince Darley. -[Bug: 2389] (hobbs) +2000-08-24 (new feature) Enhanced trace syntax to add: + trace {add|remove|list} {variable|command} name ops command +(darley, melski) ---------------- Released 8.2b2, August 5, 1999 ---------------------- +2000-09-06 (cross-platform feature) Set ^Z (\32) as default EOF char. (hobbs) -8/13/99 (Mac) Rearranged the projects in the tkMacProjects.sea.hqx so -that the build directory is separate from the sources. Fixed bug in -Tk_DrawChars(). (Jim Ingham) +2000-09-07 partial fix for bug 2460 to prevent exec mem leak on Windows for the +common case (gravereaux) ---------------- Released 8.2.0, August 17, 1999 ---------------------- +2000-09-14 Improved string allocation growth for large strings (hintermayer, +melski) -9/21/99 (bug fix) fixed 'wm deiconify' quirks on Windows. (hobbs) +2000-09-14 New non-panic'ing mem allocation functions Tcl_AttemptAlloc, +Tcl_AttemptRealloc, Tcl_AttemptSetObjLength (melski) -9/21/99 (bug fix) fix fg<>bg GC swap bug for canvas. [Bug: 2676] (hobbs) +2000-09-20 (new features) completely new, enhanced syntax in tcltest package. +Backwards compatable with tcltest v1. (hom) +=> tcltest 2.0 -9/21/99 (config fix) fixed AIX config issues for Tk. (hobbs) +2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that +didn't set nonBlocking correctly when resetting the flags for the write +side (mem leak) Correct mem leak in channels when statePtr was released +(hobbs) -9/24/99 (feature change) tk_dialog now uses {Times 12} by default. (hobbs) +2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason) ---- Released 8.2.1, October 04, 1999 --- See ChangeLog for details --- +2000-10-06 (bug fix) corrected [file channels] to only return channels in +the current interpreter (hobbs) -10/30/99 (bug fix) fixed XKeysymToKeycode to handle mapping of symbolic -keysyms (Left, Home, ...) with event generate (hobbs) +2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to +speed up command significantly in base cases (hobbs) -10/30/99 (bug fix) change tkEntrySeeInsert to avoid the use of a while loop -that could eat CPU tremendously. Behavior of moving the cursor at the -right edge changes slightly. [Bug: 3195] (hobbs) +2000-10-27 Fixed mem leak in Tcl_CreateChannel. Re-purified core via test +suites. (hobbs) -10/30/99 (bug fix) changed tkScrollButtonUp to check for existence of -tkPriv(relief) in order to avoid spurious release events (hobbs) +2000-10-30 (new feature) add "ja_JP.eucJP" map to "euc-jp" encoding (takahashi) ---- Released 8.2.2, November 04, 1999 --- See ChangeLog for details --- +2000-11-01 (mem leak) Corrected excessive mem use of info exists on a +non-existent array element (hobbs) -11/19/99 (bug fix) fixed expression error that could cause -'malformed bucket chain' error in tkEntry.c. (hobbs) +2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded +environment (gravereaux) -11/19/99 (bug fix) fixed Tk_NameOfColor (hobbs) +2000-11-03 (new feature) Tcl_SetMainLoop enables defining an event loop for +tclsh. This enables Tk as a truly loadable package. (hobbs) ---- Released 8.2.3, December 16, 1999 --- See ChangeLog for details --- +--- Released 8.4a2, November 3, 2000 --- See ChangeLog for details --- -1999-09-01 (feature enhancement) rewrote runtime libraries to use new -Tcl functions where appropriate +2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that +didn't set nonBlocking correctly when resetting the flags for the write +side (mem leak) Correct mem leak in channels when statePtr was released +(hobbs) -1999-10-28 (feature enhancement) added Img patch from Jan Nijtmans that -makes the image command Tcl_Obj-based, adds support for binary -data args, -adds alpha channel to images, adds GIF write capability (RLE). Binary -compatability is maintained, and source level compatibility is retained -with -DUSE_OLD_IMAGE. (nijtmans) +2000-09-29 (bug fix) corrected reporting of space parity on Windows (Eason) -1999-11-16 (feature enhancement) made listbox Tcl_Obj based, added --listvariable option and itemconfigure command to allow coloring -individual items. (melski) +2000-10-06 (bug fix) corrected [file channels] to only return channels in +the current interpreter (hobbs) -1999-11-23 (feature enhancement) added TK_OPTION_DONT_SET_DEFAULT as an -equivalent to TK_CONFIG_DONT_SET_DEFAULT (hobbs) +2000-10-20 (performance enhancement) call stat only when necessary in 'glob' to +speed up command significantly in base cases (hobbs) -1999-11-24 (feature enhancement) updated dialogs to use color icons on -Unix, center properly over -parent. (hipp, hobbs) +2000-11-01 (mem leak) Corrected excessive mem use of info exists on a +non-existent array element (hobbs) -1999-12-01 (feature enhancement) added hooks into main() code to support -"big" shells more easily. (redman) +2000-11-02 (bug fix) Corrected sharing of tclLibraryPath in threaded +environment (gravereaux) -1999-12-02 (feature enhancement) converted Tk_DestroyCmd, Tk_LowerCmd and -Tk_RaiseCmd to their ObjCmd equivalent. +2000-11-23 (mem leak) fixed potential memory leak in error case of lsort +(fellows) -1999-12-12 (bug fix) fixed bug in TextSearchCmd for multibyte chars +2000-12-09 (feature enhancement) changed %o and %x to use strtoul instead +of strtol to correctly preserve scan<>format conversion of large integers +(hobbs) +Fixed handling of {!} in expressions (hobbs, fellows) -1999-12-13 (feature enhancement) added support for pointer warping via the -event -warp option, added some items from Dash patch: canvas widget now -Tcl_Obj-based, added Tk_CreateSmoothMethod, added support for -clicks, entry widget validation routines, new -state hidden in text -widgets, new -state -active* -disabled* -offset options to canvas items -(see man page for full docs). New features include dashed line support on -the canvas, -elide support for TkMan, postscript printing of images and -windows from the canvas. Binary compatibility is maintained with 8.2, and -source level compatibility is kept by using -DUSE_OLD_CANVAS. -(hobbs, nijtmans, et al) +2000-12-14 (feature enhancement) improved (s)rand for 64-bit platforms +(porter) -1999-12-16 (feature enhancement) added "bitstream cyberbit" to list of -font fallbacks. (hobbs) +2001-01-04 (bug fix) corrected parsing of $tcl_libPath at startup on +Windows (porter) -1999-12-16 (feature enhancement) added new 'tk useinputmethods ...' command -to provide support for disabling/enabling the use of XIM on X. This was -previously all done at compile time, and always on. Now it is turned off -by default, even when available, and the user must turn it on to use XIM -(per display). - *** POTENTIAL INCOMPATIBILITY *** -user must add 'tk useinputmethods 1' to retain old style. (hobbs) +2001-01-30 (bug fix) Fixed possible hangs in fcopy. (porter) -1999-12-16 (feature enhancement) added proper support for -initialfile -to tk_get*File, and made Unix version better match Windows file box -that it was emulating. (hobbs) +2001-02-15 (performance enhancement) improved efficiency of [string split] +(fellows) -1999-12-16 (bug fix) removed necessity of 'update idle' before 'wm -deiconify' on Windows. (mao) +2001-03-13 (bug fix) Correctly possible memory corruption in string map {} +$str (fellows) -1999-12-16 (feature enhancement) added support for Windows system cursors -to TkGetCursorByName (use -cursor @filename) +2001-03-29 (bug fix) prevent potential race condition and security leak in +tmp filename creation on Unix. (max) +Fixed handling of timeout for threads (corrects excessive CPU usage issue +for Tk on Unix in threaded Tcl environment). (ruppert) -1999-12-21 (bug fix) fixed lack of refresh for thin frames (darley) +2001-03-30 (bug fix) corrected Windows memory error on exit (wu) +Fixed race condition in readability of socket on Windows. -1999-12-21 (bug fix) fixed panic in Tk_CoordsToWindow to print error -to stderr instead (for Tix) (hobbs) +2001-04-03 (doc fixes) numerous doc corrections and clarifications. +Update of READMEs. -1999-12-21 (bug fix) fixed segv with scale widget when using -cursor (hobbs) +2001-04-04 (build improvements) redid Mac build structure (steffen) +Corrected IRIX-5* configure (english). Added support for AIX-5 (hobbs). +Added support for Win64 (hobbs). ---- Released 8.3b1, December 22, 1999 --- See ChangeLog for details --- +--- Released 8.3.3, April 6, 2001 --- See ChangeLog for details --- -2000-01-05 (bug fix) Applied fixes for unprotected arg passing through eval -and after in Tk runtime code [Bug: 3943] (hobbs) +2000-11-23 (new feature)[TIP 7] higher resolution timer on Windows (kenny) -2000-01-05 (bug fix) Applied fix for i18n problems with Mac clipboard -[Bug: 3544] (hobbs) +2001-01-18 (new feature) Tcl_InitHashTableEx renamed to Tcl_InitCustomHashTable +(kupries) -2000-01-05 (feature change) removed the 8.3b1 introduced -state option -for text tags, and documented -elide (-state hidden == -elide true) (hobbs) +2001-03-30 (new feature)[TIP 10] support for thread-aware/hot channels (kupries) -2000-01-12 (bug fix) fix Windows 'wm deiconify' to zoomed state [Bug: 2077] -and fixed possible flashing of unmapped toplevel in deiconify [Bug: 3338] -and fixed unwanted mapping of transient window [Bug: 572] (hobbs) +2001-04-06 (new feature)[219280] auto-loading hidden in ::errorInfo (porter) -2000-01-12 (feature enhancement) extended 'wm state' to accept a state -to set for the toplevel, and added support for zoomed (maximized) state -on Windows (hobbs) +2001-04-07 (bug fix)[406709] corrected panic when extra items left on the +byte compiler execution stack (sofer) -2000-01-12 (bug fix) Applied fix for cursor to not blink when entry or -text widget was disabled [Bug: 1807] (hobbs) +2001-04-09 (bug fix)[219136,232558] improved use of thread-safe functions in +unix time commands (kenny) ---- Released 8.3b2, January 13, 2000 --- See ChangeLog for details --- +2001-04-24 (new feature)[TIP 27] started CONST-ification of the Tcl APIs (kenny) -2000-01-20 (bug fix) fixed interpretation of consecutive ^ characters in -grid command (melski) +2001-05-03 (new feature) [auto_import] now matches patterns like +[namespace import], not like [string match] (porter) + **** POTENTIAL INCOMPATABILITY **** -2000-01-20 (bug fix) fixed -select(bg|fg) class names in listbox (hobbs) +2001-05-07 (new feature)[416643] distinct srand() seed per interp (sofer) -2000-01-20 (bug fix) fixed handling of too few coords for line item type in -canvas (hobbs) +2001-05-15 (new feature) new Tcl_GetUnicodeFromObj API (hobbs) -2000-01-20 (bug fix) fixed dialog's association with parent (melski) +2001-05-16 (performance enhancement) byte-compiled versions of [lappend], +[append] simple cases (hobbs) -2000-01-26 (bug fix) fixed handling of binary data for -data option to -image create (melski) +2001-05-23 (new feature) added ISO-8859-15 and koi8-u encodings, updated other +encoding tables based on http://www.unicode.org/Public/MAPPINGS/ (kuhn) -2000-01-26 (feature enhancement) improved GIF decoding speed by ~60% -(melski) +2001-05-27 (new feature) updated to Unicode 3.1.0 data set (still using 16 +bits for Tcl_UniChar though) (hobbs) -2000-01-26 (feature enhancement) added tk_chooseDirectory implementation -for Unix and Mac (nelson, melski) +2001-05-30 (new feature)[TIP 15] Tcl_GetMathFuncInfo, Tcl_ListMathFuncs, +Tcl_InfoObjCmd, InfoFunctionsCmd APIs (fellows) -2000-02-01 (bug fix) fixed resolution rounding problem in scale (porter) -and fixed potential Unix seg fault due to use of ckfree instead of -Tcl_EventuallyFree (hobbs) +2001-06-08 (bug fix,feature enhancement)[219170,414936] all Tcl_Panic +definitions brought into agreement (porter) -2000-02-01 (bug fix) fixed handling of negative dash values for canvas -items (nijtmans) +2001-06-12 (bug fix)[219232] regexp returned non-matching sub-pairs to have +index pair {-1 -1} (fellows) -2000-02-01 (bug fix) fixed dialog lockup on Windows where once the native -dialog disappeared, the parent window could end up locked up (hobbs) +2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII +characters. (hobbs, riefenstahl) -2000-02-03 (bug fix) fixed text dump to use char indices instead of byte -indices (melski) +2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer) -2000-02-07 (bug fix) fixed handling of default extension in unix file -dialogs (dejong) +2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings +(hobbs, barras) -2000-02-08 (bug fix) corrected windows symbol font use to restrict itself -to 8-bit chars (kenny) +2001-07-12 (new feature)[TIP 36] Tcl_SubstObj API (fellows) -2000-02-08 (feature enhancement) improved support for moving from the old -style image C API to the new obj'ified one with new Tk_InitImageArgs -command and stub'ing of image code. See docs for how to make the -transition. (nijtmans) +2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows +(hobbs, jsmith) -2000-02-08 (bug fix) fixed incorrect handling of CapsLock on Win9* and the -use of dead keys on international keyboards (spjuth) +2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size +of a channel is changed after channel use has already begun (kupries, porter) -2000-02-10 (bug fix) brought Mac back to building state, added support -for Appearance Manager (ingham) +2001-07-31 (new feature)[TIP 17] TclFS* APIs provide new virtual file +system. This includes the addition of 'file normalize', 'file system', +'file separator' and 'glob -tails' (darley) -2000-02-10 (feature enhancement) added support for buttons 4 && 5 as -mousewheel style scrolling in listbox and text widget for Unix. +2001-08-06 (bug fix) removed use of tmpnam in TclpCreateTempFile on Unix (lim) ---- Released 8.3.0, February 10, 2000 --- See ChangeLog for details --- + * improved build support for IRIX, GNU HURD, Mac OS 9 and OS X -2000-03-02 (bug fix) fixed crash in listbox when cursor was configure and -then widget was destroyed (hobbs) + * configure scripts revamped for better support of cygwin and gcc on + Windows (mdejong) -2000-03-02 (feature enhancement) added %V substitution to entry widget -validation to clarify type of validation occuring (hobbs) + * corrected several minor errors noted by Purify (hobbs) -2000-03-07 (feature enhancement) added -disabledforeground/-state to labels -(melski) +--- Released 8.4a3, August 6, 2001 --- See ChangeLog for details --- -2000-03-29 (config enhancement) improved build support for gcc/mingw on -Windows (nijtmans, hobbs) and added RPM target (melski) +2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII +characters. (hobbs, riefenstahl) -2000-03-24 (bug fixes) numerous corrections for more correct Unix dialog -behaviors (melski) +2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer) -2000-03-27 (bug fix) fixed mem leak in wm commands (hu) +2001-07-02 (bug fix)[227512] corrected [concat] treatment of UTF-8 strings +(hobbs, barras) -2000-03-31 (bug fix) correct initialization of Windows static builds and -added Unicode aware open/save file dialogs on Windows (hobbs) +2001-07-16 (bug fix) corrected thread-enabled pipe closing on Windows +(hobbs, jsmith) -2000-03 (bug fix) canvas: corrected support for transparency in dashed -lines on Windows (nijtmans); added support for postscript generation of -images on Windows, also fixing transparency printing (biancardi); corrected -handling of configure options in non-empty canvas (melski) +2001-07-18 (bug fix)[427196] corrected memory overwrite error when buffer size +of a channel is changed after channel use has already begun (kupries, porter) -2000-04-07 (bug fix) correct font name length restriction that prevented -the use of long named (>16 char) fonts on NT/2000 (hobbs) +2001-08-06 (bug fix)[442665] corrected object reference counting in [gets] +(jikamens) -2000-04-07 (bug fix) fixed safe Tk to work in base cases (hobbs) +2001-08-06 (new feature) added GNU (HURD) configuration target. (brinkmann) -2000-04-10 (bug fix) corrected Alt-Key event generation and handling of -Alt-sequence Windows special char generation and (Control|Shift|Alt)_L/_R -determination (melski) +2001-08-07 (bug fix)[406709] corrected panic when extra items left on the +byte compiler execution stack (see test foreach-5.5) (sofer, tallneil, jstrot) -2000-04-10 (bug fix) correctly check state of parent when popping up -bgerror dialog. (melski) +2001-08-08 (new features) updated packages msgcat 1.1.1, opt 0.4.3, +tcltest 1.0.1, dependencies checked (porter) -2000-04-11 (feature enhancement) msgcat now searches up the namespace chain -for a match instead of just in the local namespace (hershey) +2001-08-20 (new feature)[452217] http 2.3.2: include port number in Host: header +to comply with HTTP/1.1 spec (RFC 2068) (hobbs, tils) -2000-04-12 (bug fix) corrected handling of Windows clipboard to allow for -use of user-defined types within the Tk app (hobbs) +2001-08-23 (new feature) added QNX-6 build support (loverso) -2000-04-13 (feature enhancement) improved handling of shadow determination -for 3D borders in very light/dark cases (hipp, melski) +2001-08-23 (bug fix) corrected handling of spaces in path name passed to +[exec] on Windows (kenpoole) -2000-04-13 (bug fix) correctly color separator bg in menus on Windows -(melski) +2001-08-24 (bug fix) corrected [package forget] stopping on non-existent +package (porter) -2000-04-14 (bug fix) improved handling of scale widget, reduced number of -redraws (hobbs) +2001-08-24 (bug fix) corrected construction of script library search path +relative to executable (porter) -2000-04-17 (feature enhancement) made shift-selection more Windows-like -(intuitive) in text widget (melski) +2001-08-24 (bug fix) [auto_import] now matches patterns like +[namespace import], not like [string match] (porter) + **** POTENTIAL INCOMPATABILITY **** -2000-04-22 (bug fix) mac bug fixes, nav services handling (ingham) +2001-08-27 (new feature) added Tcl_SetMainLoop() to enable loading Tk as a +true package (hobbs) -2000-04 more docs for public APIs (melski) +2001-08-30 (bug fix) build support for Crays (andreasen) ---- Released 8.3.1, April 26, 2000 --- See ChangeLog for details --- -2000-04 (doc updates) extended, updated docs (melski) +2001-09-01 (bug fix) rewrite of Tcl_Async* APIs to better manage thread +cleanup (gravereaux) -2000-05-09 (feature change) removed WS_EX_TOOLWINDOW style bit for -transient windows on Windows platforms, so that transients have -full-size titlebars (melski) +2001-09-06 (new feature) http 2.4: honor the Content-encoding and charset +parameters; add -binary switch for forcing the issue (hobbs, saoukhi, orwell) +=> http 2.4 -2000-05-09 (bug fix) fixed calling of takeFocus proc (nemethi) +2001-09-06 (performance enhancement) rewrite of file I/O flush management on +Windows. Approximately 100x speedup for some operations. (kupries, traum) -2000-05-11 (bug fix) corrected handling of 3DBorder, Cursor and Color -objects on multiple screens (hobbs) +2001-09-10 (bug fix) corrected finalization error in TclInExit (darley) -2000-05-12 (feature enhancement) improved support for chars in 0-255 -range for bitmap ANSI fonts (spjuth, hobbs) +2001-09-10 (bug fix) protect against alias loops (hobbs) -2000-05-12 (widget enhancement) added support for -repeatdelay, --repeatinterval for command buttons; and -compound (image and text -simultaneously) for labels, check-, radio-, and command buttons (melski) +2001-09-12 (bug fix) added missing #include in tclLoadShl.c (techentin) -2000-05-14 (widget change) added "readonly" state for entries and -changed behavior of "disabled" entries; added -readonlybackground -option for entries (melski) -*** THIS IS A BACKWARDS INCOMPATIBLE BEHAVIOR CHANGE *** +2001-09-12 (bug fix) script library path construction on Windows no longer +uses registry, nor adds the current working directory to the path (porter) -2000-05-15 (feature enhancement) added [image inuse] command (melski) +2001-09-12 (bug fix) correct bugs in compatibility strtod() (porter) -2000-05-15 (feature enhancement) added -nice option to [bell] command (duncan) +2001-09-13 (bug fix) Tcl_UtfPrev now returns the proper location when the +middle of a UTF-8 byte is passed in (hobbs) -2000-05-17 (widget enhancement) added -overrelief option for -check/radio/buttons (melski) +2001-09-19 (bug fix) [format] and [scan] corrected for 64-bit machines (rmax) -2000-05-26 (feature change) added support for new syntax in -Tk_OptionSpec tables; if the database name for an option contains an -embedded "." it indicates that the name contains an overriding window -class specifier in addition to the database name, which allows widgets -to perform queries for certain options as if they were options for a -different widget class (melski) +2001-09-19 (new feature) --enable-64-bit support for HP-11. (hobbs) -2000-05-28 (new widget) added spinbox widget (hobbs) +2001-09-19 (new feature) native memory allocator now default on Windows +(hobbs) -2000-05-31 (feature change) replaced bgerror dialog with a new and -improved one (fellows, melski) +2001-09-20 (new feature) WIN64 support and extra processor definitions +(hobbs, mstacy) ---- Released 8.4a1, June 6, 2000 --- See ChangeLog for details --- +2001-09-26 (bug fix) corrected potential deadlock in channels that do not +provide a BlockModeProc (kupries, kogorman) -2000-05-15 (bug fix) changed wm deiconify from using idle callback to -calling restack and focus code immediately. (hobbs) +2001-10-03 (new feature) WIN64 build support (hobbs) -2000-07 (build cleanup) cleanup of defines in tkConfig.sh, and cleanup -in make and configure files to better handle .rc files across -builds. (welch) +2001-10-03 (bug fix) correction in thread finalization (rbrunner) -2000-07 (build improvements) cleanup of the makefiles and configure scripts -to correct support for building under gcc for Windows. (dejong) +2001-10-04 (new feature) updated encodings with latest mappings from +www.unicode.org (hobbs) -2000-08 (feature enhancements) for Windows, corrected drawing of separator -menu entries, disable menu entries and the height for separator -bars. (melski) +2001-10-11 (bug fix) corrected cleanup of self-referential bytecodes at +interpreter deletion (sofer, rbrunner) -2000-08 (bug fix) fixed calling of takeFocus proc with arg bearing -functions. (nemethi) +2001-10-16 (new feature) config support for MacOSX / Darwin (steffen) -2000-08 (bug fix) For text widgets, added a test for a NULL segment pointer -when doing backwards searches for "", correct searching over elided chars, -and corrected search combining -regexp and -nocase. (melski) +2001-10-16 (new feature, Mac) change in binary extension format from MachO +bundles to standard .dylib dynamic libraries like on other unices. + *** POTENTIAL INCOMPATIBILITY *** -2000-08 (bug fix) Corrected code for using 'place', cursors, colors and 3D -borders on multiple screens simultaneously. (hobbs, hipp) +2001-10-18 (bug fix) corrected off-by-one-day error in clock scan with +relative months and years during swing hours. (lavana) ---- Released 8.3.2, August 9, 2000 --- See ChangeLog for details --- +--- Released 8.3.4, October 19, 2001 --- See ChangeLog for details --- -2000-06-15 (new feature) [tk_getOpenFile ... -multiple] (melski) +2001-08-21 (bug fix)[219184] overagressive compilation of [catch] (sofer) -2000-06-29 (new feature) localization support in Tk dialogs (duperval, -melski, et al) +2001-08-22 (new feature)[227482] [dde request -binary] (hobbs) +=> dde 1.2 -200-07-28 (new feature) -state option for listbox, better native color -defaults (melski) +2001-08-30 (performance enhancement)[456668] fully qualified command names use +cached Command for all namespaces, avoiding repeated lookups (sofer) -2000-08 (feature rewrites) Tcl_Obj'ified clipboard, message, tkwait, -bindtags, grab. place, selection commands (melski) +2001-08-31 (performance enhancement) bytecompiled [list] (hobbs) -2000-08-24 (new feature) More correct GNU configure support (no more ---enable-gcc) (dejong) - *** POTENTIAL INCOMPATIBILITY *** +2001-09-02 (bug fix)[403553] Add -Zl to VC++ compile line for tclStubLib to +avoid any specific C-runtime library dependence. (gravereaux) -2000-08-29 (bug fix) Corrected Windows menu indicator drawing (oberhumer) +2001-09-05 (new feature) restored support for Borland compiler (gravereaux) -2000-09-01 (bug fix) Added tkPlatDecls.h to default install (melski) +2001-09-05 (new feature)[TIP 49] Tcl_OutputBuffered API (schroedter, fellows) -2000-09-17 (new feature) Added TK_OPTION_CUSTOM type, similar to -TK_CONFIG_CUSTOM (melski) +2001-09-07 (new feature) restored VC++ 5.0 compatibility (gravereaux) -2000-09-29 (bug fix) Several fixes for multi-display uses of Tk (hipp, hobbs) +2001-09-10 (performance enhancement)[TIP 53,451441] [proc foo args {}] now +compiles to 0 bytecodes (sofer) -2000-10-05 (new feature) Tk_CreateAnonymousWindow API to create anonymous -Tk windows controllable from C (melski) +2001-09-13 (new feature)[TIP 56] Tcl_EvalTokensStandard API (sofer) -2000-10-27 (new default behavior) [tk useinputmethods 1] is the default -in tk.tcl, for users of XIM and "dead" keys (hobbs) +2001-09-13 (new feature) Old ChangeLog entries => ChangeLog.1999 (hobbs) -2000-10-30 Improved support for static builds on Windows (gravereaux) +2001-09-17 (new feature) compiling with TCL_COMPILE_DEBUG now required to +enable all compile and execution tracing (sofer) + *** POTENTIAL INCOMPATIBILITY *** - * Added support for mingw (gcc on Windows), AIX-5 and Win64 builds - (dejong, hobbs) +2001-09-19 (bug fix)[411825] made TclNeedSpace UTF-8 aware (fellows) - * Improved error checking in Windows native dialogs (melski, hobbs) +2001-09-19 (bug fix)[219166] overagressive compilation of "quoted" bodies of +[for], [foreach], [if], and [while] (sofer) ---- Released 8.4a2, November 3, 2000 --- See ChangeLog for details --- +2001-09-19 (performance enhancement) bytecompiled [string match] (hobbs) -2001-04-04 (build improvements) redid Mac build structure (steffen) -Corrected IRIX-5* configure (english). Added support for AIX-5 (hobbs). -Added support for Win64 (hobbs). +2001-10-15 (new feature)[TIP 35] serial channel configuration: Win (schroedter) -2001-04-04 (doc fixes) numerous doc corrections and clarifications. -Update of READMEs. +2001-11-06 (bug fix)[478856] loss of fileevents due to short reads (kupries) -2001-04-04 (bug fix) corrected reseting of service mode to only occur when -it was set (hedin, hobbs) +2001-11-06 (new feature) revitalized makefile.vc (gravereaux) -2001-04-02 (bug fix) Improved tests on Windows for correctness. -Checked for menu deletion before calling associated menu entry command. -Fixed listbox, canvas and entry destruction to be more aware of current -widget activity. (hobbs) +2001-11-07 (new feature) Cygwin gcc support dropped. Use mingw (dejong) + *** POTENTIAL INCOMPATIBILITY *** -2001-03-30 (feature enhancement) added support for changing IME on the fly -in Windows (2000) (lam) -(bug fix) handled the error case where a valid-looking but invalid -identifier could be passed in certain event generate options causing a -crash (hobbs) +2001-11-07 (new feature) Support --include-dir= and --libdir= options to +configure. Store in tclConfig.sh as TCL_INCLUDE_SPEC and TCL_LIB_SPEC. +(dejong) + *** POTENTIAL INCOMPATIBILITY *** -2001-03-29 (bug fix) corrected handling of drag-selection (dejong) +2001-11-08 (new feature) Enable --enable-threads on FreeBSD (dejong) -2001-01-02 (feature enhancement) added Windows icon support in wm -iconbitmap (darley) +2001-11-08 (new feature) New make target 'make gdb' (dejong) -2000-10-27 (feature enhancement) made [tk useinputmethods 1] the default -for Tk (hobbs) +2001-11-09 (bug fix)[480176] [global] mishandled varnames matching :* (porter) -2000-10-18 (bug fix) Corrected rendering of 1-pixel wide stippled lines on -Windows. Correct use of active- and disabledwidth values for displaying -lines. Enhanced error handling in Windows native dialogs (melski) +2001-11-12 (new feature)[TIP 22,33,45] new command [lset], +[lindex] extended to accept multiple indices. (kenny, hobbs) -2000-09-29 (bug fix) corrected BadMatch errors when using Tk on multiple -screens (hipp) +2001-11-16 (new feature) new configure option --enable-langinfo=no. +By default, nl_langinfo() is used on Unix to determine system encoding. +Tcl's built-in system is used only if that fails, or configured with +--enable-langinfo=no. (hobbs, wagner) -2000-08-18 (feature enhancement) Removed redundant call to DitherInstance -(melski) +2001-11-19 (new feature)[TIP 62] A Tcl_VarTraceProc can now return Tcl_Obj * +or a dynamic string as well as a static string to indicate an error (fellows) ---- Released 8.3.3, April 6, 2001 --- See ChangeLog for details --- +2001-11-19 (new feature)[TIP 73] Tcl_GetTime API (kenny) -2000-11-21 (new feature)[TIP 5] Tk_ClassProcs, Tk_SetClassProcs API (melski) +2001-11-19 (bug fix)[478847] overflows in [time] of >2**31 microseconds (kenny) -2000-12-13 (performance enhancement)[403327] Tcl_Objs of type "double" -are recognized in SetMMFromAny to speed up canvas coord calculations (hobbs) +2001-11-29 (performance enhancement) caching scheme added to [binary scan] +(fellows) -2001-01-02 (new feature)[TIP 8] [wn iconbitmap -default] on Windows (darley) +2001-12-05 (new feature) new algorithm for [array get] adds safety when read +traces modify the array. (sofer) + *** POTENTIAL INCOMPATIBILITY *** -2001-02-12 (new feature)[TIP #21] asymmetric padding in the pack and grid -geometry managers (hipp) +2001-12-10 (bug fix)[490514] doc fixes (porter,english) -2001-05-21 (new feature)[TIP #11], -compound for [menubutton] widget (helfter) +2001-12-18 (new feature) removed unix/dltest/configure; unix/configure does +all (dejong) -2001-06-03 (bug fix) corrected support for is10646 fonts on Unix, added a -ucs-2be encoding (welch) +2001-12-19 (new feature) New make target 'make shell' (dejong) -2001-07-02 (bug fix) allowed tkwin to be Tcl_EventuallyFree'd in -Tk_DestroyWindow so other widgets could register their use of it. Updated -entry and listbox widgets to use this, correcting potential crashes. (hobbs) +2001-12-21 (new feature) MaxOSX / Darwin support (steffen) -2001-08-01 (interface rewrite)[TIP 44] moved all private tk[A-Z]* commands and -variables into the ::tk:: namespace (porter) - *** POTENTIAL INCOMPATIBILITY *** +2001-12-28 (new feature) new command [memory onexit] replaces [checkmem] when +compiled with TCL_MEM_DEBUG. Added documentation. (porter) + *** POTENTIAL INCOMPATIBILITY *** - * overhaul of configure scripts for cleaner standard support and support - of mingw gcc on Windows. (mdejong) +2001-12-28 (bug fix) proper case in [auto_execok] use of $env(COMPSPEC) (hobbs) - * improved tests to better handle results on variant systems (hobbs) +2002-01-05 (feature rewrite) Tcl_Main() rewritten and documentation improved. +Interactive operation and event loop operation (via Tcl_SetMainLoop) now +interleave cleanly. Also more robust against strange happenings. (porter) - * correct several minor Purify complaints (hobbs) +2002-01-17 (bug fix)[504642] Tcl_Obj refCounts in [gets] (griffen,kupries) ---- Released 8.4a3, August 6, 2000 --- See ChangeLog for details --- +2002-01-21 (bug fix)[506297] infinite loop writing in iso2022-jap encoding +(forssen,kupries) -2001-08-06 (new feature) added GNU (HURD) build support. (brinkman) +2002-01-24 (HTTP server bug workaround)[504508] leave the default port out +of the Host: header value +=> http 2.4.1 (hobbs) -2001-08-23 (new feature) added QNX-6 build support. (loverso) +2002-01-25 (new feature)[496733] socket options -eofchar and -translation +return read-only values (dejong) -2001-08-24 (bug fix) correct several possible free memory reads and array -bounds read errors reported by purify. (hobbs) +2002-01-28 (new feature) Old ChangeLog entries => ChangeLog.20900 (hobbs) -2001-08-27 (new feature) added call to Tcl_SetMainLoop which enables Tk to -be loaded interactively into tclsh and have the event loop kick in -correctly. (hobbs) +2002-01-28 (performance enhancement) bytecompiled [regexp] for trivial cases +that amount to string matching. Also -nocase and --. (hobbs) -2001-08-28 (bug fix) fixed tk_chooseDirectory crash on Win95. (baker) +2002-02-05 (bug fix) [http::error] called when [::error] intended +=> http 2.4.2 (porter) -2001-08-28 (bug fix) removed 2 second 'raise' delay seen by some Unix -window managers. (hobbs, baker) +2002-02-05 (bug fix)[465765] avoid zero-byte writes to STREAMs +(talcott,kupries) -2001-09-14 (bug fix) fixed memory leaks that occured if errors were -thrown while initializing the channel for an image. (darley) +2002-02-06 (performance enhancement) [regsub] special cases that map to +[string map] detected. (hobbs) -2001-09-20 (new feature) --enable-64bit support was added for HP 11 when -using the native compiler. +2002-02-06 (bug fix)[495213] [scan] accept 0x as prefix of base 16 value +(hobbs) -2001-10-03 (new feature) finalized Win64 support with latest RC1 release -and SDK. (hobbs, stacy) +2002-02-10 (new feature)[TIP 32,79] Tcl_CreateObjTrace API (kenny) -2001-10-04 (new feature) added enhanced bgerror dialog from Hipp. (hobbs) +2002-02-12 (new feature) partial support for DJGPP Tcl on DOS (gravereaux) -2001-10-09 (new feature) added brace/quote matching and file/path/var -expansion to the Win/Mac console. (hobbs) +2002-02-14 (mem leak) Fixed leaking an empty Tcl_Obj when [gets $chan] +errored out. (kupries, sofer) -2001-10-17 (bug fix) fixed file filtering in the motif file dialog (nelson) +2002-02-15 (new feature)[TIP 72] support for 64-bit integer values on +32-bit platforms and ability to work with >2GiB files. Extends many +commands. See ChangeLog and TIP for details. + *** POTENTIAL INCOMPATIBILITY *** -2001-10-17 (bug fix) updated Mac build support. (steffen) +2002-02-22 (bug fix)[476537] Fix panic when loading shared library without +proper use of stubs on platform without backlinking (porter) ---- Released 8.3.4, October 19, 2001 --- See ChangeLog for details --- +2002-02-22 (new feature) 64-bit support for xlc compiler on AIX-4 (hobbs) -2001-08-14 (bug fix)[450545] Tk's Tcl_ObjTypes now registered (fellows) +2002-02-22 (new feature)[521560] Removed limits on filename length and +format [source]able through the Safe Base (hobbs) -2001-08-20 (performance enhancement) internal use of a "window" Tcl_ObjType -(fellows) +2002-02-22 (performance enhancement) optimized bytecodes for [if], [for], +[while] and constant conditions (sofer) -2001-08-20 (performance enhancement) Obj-ified [grid] and [pack] (spjuth) +2002-02-22 (new feature)[TIP 76] [regsub] can now return result (fellows) -2001-09-26 (new feature)[TIP 18] add labels to frames, update geometry -managers (spjuth) +2002-02-25 (bug fix)[495207] buffer overrun when closing ] left out of +argument to [subst] (sofer, english) -2001-09-30 (new feature)[TIP 37] [grid {row|column}configure -uniform] (spjuth) +2002-02-25 (bug fix)[514392] [load] updated for Mac OS X 10.1 (steffen) -2001-10-12 (new feature)[TIP 63] [$menu add ... -compound] (helfter) +2002-02-26 (bug fix) [info hostname] choked on names >31 characters (hobbs) -2001-10-18 (build improvement) no more warnings about building with -thread-enabled Tcl (hobbs) +2002-02-26 (new feature)[TIP 35] serial channel configuration: Unix +(schroedter, hobbs) -2001-11-10 (build improvement) new make target 'make gdb' (dejong) +2002-02-25 (bug fix)[483575] [fconfigure ... -error] now no-op on Mac (kupries) -2001-11-12 (new feature)[TIP 26] simple undo/redo in text widget (callewaert) +2002-02-28 (performance enhancement)[458872] fully qualified command names use +cached Command for all namespaces, avoiding repeated lookups (sofer) -2001-11-12 (build improvement) revitalized makefile.vc (gravereaux) + * (new feature)[TIP 27] completed CONST-ification of TCL APIs. +Added compiler macro USE_NON_CONST to keep using those old API prototypes +that present irreconcilable source incompatibilities with header files +of prior Tcl releases. Others will need to be reconciled. + *** POTENTIAL INCOMPATIBILITY *** -2001-11-17 (visual change) default button size on Windows changed to -conform to Windows style (hobbs) - **** POTENTIAL VISUAL INCOMPATABILITY **** +2002-03-04 (bug fix)[474358, 218099, 219314, 524674] fixed several problems +related to the handling of iso2022 text and finalization of escape-based +encodings. (taguchi, takahashi, hobbs) -2001-12-03 (new feature)[TIP 74] [wm stackorder] (dejong, steffen) +--- Released 8.4a4, March 5, 2002 --- See ChangeLog for details --- -2001-12 (new feature) more use of Unicode in native widgets on Windows (hobbs) +2002-03-06 (new feature)[TIP 80] expanded [lsearch] options (wilkason, fellows) -2001-12-18 (bug fix)[413735] event-click-drag-1.2 test failure (porter) +2002-03-07 (new feature)[TIP 87] [interp recursionlimit] (trier) -2001-12-28 (new feature) On Windows, buttons accept negative widths, meaning -minimum size, enabling native L&F (hobbs) +2002-03-08 (platform feature) mingw 1.1 build favored (dejong) -2002-01 (bug fix) updates for CONST-ification in Tcl API, notably -Tcl_ParseArgv. Use -DUSE_NON_CONST to suppress source incompatibility - **** POTENTIAL INCOMPATABILITY **** +2002-03-20 (new feature)[TIP 27] CONST-ified variable access functions (porter) -2002-01-31 (bug fix)[508988] logic error in menu cloning (helfter) +2002-03-24 (bug fix)[511666,511658,523217,530960] expanded +Tcl_FSMatchInDirectory to handle assorted [glob] bugs in VFS. (darley) + *** POTENTIAL INCOMPATIBILITY with prior 8.4a releases *** -2002-02-01 (new feature)[TIP 14] [$photo transparency] (fellows) +2002-03-25 (bug fix)[495726] stopped tcltest disabling of auto-loading (porter) -2002-02-01 (bug fix)[511956] C99 spec: avoid 'bool' as a variable name (hobbs) +2002-03-25 (bug fix)[495977] allow \n in test constraints (porter) -2002-02-19 (bug fix) updates to image code calls of Tcl_Seek/Tcl_Tell to -address TIP 72 changes (64-bit) in Tcl (fellows) +2002-03-27 (platform support)[527941,533862] VC/winhelp/W9X (spjuth, +gravereaux) -2002-02-21 (new widget)[TIP 41] added [panedwindow] (hobbs) +2002-03-28 (bug fix)[219181] exception at level 0 issues (sofer) -2002-02-22 (new feature) 64-bit support for xlc compiler on AIX-4 (hobbs) +2002-03-28 (bug fix)[219362] command termination; Tcl_CreateTrace (knoll,sofer) -2002-02-25 (bug fix)[503772] blinking cursor fix in [text] (hobbs) +2002-04-05 (bug fix)[536879] exceptions during variable subst (porter) -2002-02-25 (bug fix)[503613] [listbox] handling of invalid listvar (hobbs) +2002-04-15 (bug fix)[497446,513983] tcltest syntax errors now raised (porter) + ***POTENTIAL INCOMPATIBILITY with prior tcltest 2.0.* (8.4aX)*** -2002-02-25 (feature change)[493145] mirror B2 bindings to B3 on Windows (hobbs) +2002-04-17 (bug fix)[495660] [(save|restore)state] deprecated (porter) - * (updated demos) many updates to show new features (fellows) +2002-04-17 (bug fix)[526524] escape-based encodings corrected (yamamoto, hobbs) ---- Released 8.4a4, March 5, 2002 --- See ChangeLog for details --- +2002-04-18 (bug fix)[542588] [expr] error msgs improved (ehrens, sofer) -2002-03-20 (feature change)[TIP 27][532644] Constness changes (porter) +2002-04-18 (bug fix)[545325] [info level $level] now returns [namespace eval] +as documented (suchenwirth,sofer) -2002-03-21 (bug fix)[528441] Change in optimization flags for windows -(gravereaux) +2002-04-19 (bug fix)[544727] export [mcload]; ns context of [mcmax] (porter) +=> msgcat 1.2.3 -2002-04-08 (bug fix) MSL stdin/out fixes prevent crash on exit (steffen) +2002-04-22 (performance enhancement) threaded memory allocator (AOL, hobbs) -2002-04-12 (bug fix) Centralized closing of display, mem-leak fixes (hobbs) +2002-04-24 (new feature) TCLTK_NO_LIBRARY_TEXT_RESOURCES #define disables +inclusion of tcl library code in resource fork on Mac. (steffen) -2002-04-22 (bug fix)[223739] More robust FP comparisons for odd -architectures (fellows) +2002-05-21 (platform support) static libs on OSF (dejong) -2002-04-22 (bug fix)[541999] Fixed posible overun of 16-bit size limit -of X windows in drawchars (hobbs,bonfield) +2002-05-24 (bug fix)[557878] set encoding on listening socket (staplin, +kupries) -2002-04-22 (bug fix)[541849] ButtonLeave implementation corrected (hobbs) +2002-05-24 (new feature)[TIP 91] Tcl_Seek compatibility (fellows) -2002-04-24 (new feature) TCLTK_NO_LIBRARY_TEXT_RESOURCES check added, -allowing disable of inclusion of tk lib into resources (steffen) +2002-05-28 (bug fix)[545579] VFS [load] left temp file (darley) -2002-05-07 (bug fix)[553208] Makefile/Win fix (TCLDIR, INSTALLDIR -forward slash trouble resolved) (gravereaux) +2002-05-28 (bug fix)[559376] plug timezone env leak on Windows (hobbs) -2002-05-20 (bug fix) msgcat added to resources, fixed setup of bindings -on startup (steffen, porter) +2002-05-29 (performance enhancement) [string compare] optimized (hobbs,fellows) -2002-05-21 (bug fix) Build system fix, SC_ENABLE_SHARED before -SC_CONFIG_CFLAGS for usage for SHARED_BUILD (dejong) +2002-05-31 (bug fix)[550534] plug interp leak in [pkg_mkIndex] (helmut) -2002-05-26 (bug fix)[548765] Fixed -value "" redraw error for variable -created by radiobutton (spjuth) +2002-05-31 (dead code)[474335,555635] removed all use of matherr() (english) + *** POTENTIAL INCOMPATIBILITY *** -2002-05-27 (feature change) [wm transient .t .t] now raises an error (dejong) - *** POTENTIAL INCOMPATIBILITY *** +2002-06-04 (new feature)[TIP 85,521362] custom result match in tcltest +(markus, porter) +=> tcltest 2.1 -2002-06-10 (new feature)[566605] Utilities for -underline, ampersand magic -(kovalenko) +2002-06-06 (bug fix)[524352] encoding, threading, and environment issues on +MacOSX (steffen) -2002-06-12 (feature change) A transient toplevel now mirrors state changes -in the master. (dejong) - *** POTENTIAL INCOMPATIBILITY *** +2002-06-06 (bug fix)[512214,558742,512214,461000] lazy initialization of +tcltest constraints (porter) -2002-06-13 (bug fix) Fixed handling of cursor specs across platforms to -be consistent. (fellows) +2002-06-07 (bug fix)[563122,564595] EOVERFLOW definitions (fellows) -2002-06-14 (new feature) [TIP 98] Enhanced photo compositing (fellows) - *** POTENTIAL INCOMPATIBILITY *** +2002-06-11 (bug fix)[567386] [info locals] corrections (sofer) -2002-06-14 (bug fix) Removed references to matherr (kupries) +2002-06-14 (new feature)[TIP 102] [trace list] renamed [trace info] (fellows) -2002-06-14 (new feature) [TIP 47] Reorganized Tk to allow usage in writing -an X wm (english) +2002-06-17 (new feature)[525522,525525] msgcat support for XPG4 locales; +examination of LC_ALL, LC_MESSAGES environment variables (haible, porter) +=> msgcat 1.3 -2002-06-14 (new feature) [TIP 84] Full motion events upon request (hobbs) +2002-06-17 (new feature)[565088] header files assume modern C compiler by +default; older compilers may need configuration (english) + *** POTENTIAL INCOMPATIBILITY *** -2002-06-17 (new feature) [TIP 82] -offrelief option for check/radiobutton -(hipp) +2002-06-17 (bug fix)[554068] [exec] argument quoting on Windows (darley) -2002-06-17 (enhancement) Added msg catalog for UK English. (porter) +2002-06-17 (new feature)[TIP 62,462580] command execution traces (lavana) -2002-06-17 (new feature) [TIP 96] Added caret handling (hobbs) +2002-06-19 (bug fix)[558324] regexp sets a linked variable (watson) -2002-06-19 (new feature) [TIP 48] Added style engine (bonnet) + * (performance enhancment) optimizations of bytecode execution (sofer) -2002-06-19 (bug fix)[570902] Reorganized Tk shutdown to work around bugs in -X (dejong) +2002-06-21 (new feature)[TIP 99,562970] new [file link] command (darley) -2002-06-20 (new feature) [TIP 94] Added -activestyle for [listbox] (hobbs) +2002-06-24 (new feature)[TIP 101] new [tcltest::configure] command (porter) +=> tcltest 2.2 -2002-06-21 (new feature) [TIP 104] generalized text undo/redo (callewart, -hobbs) +2002-06-25 (new feature) --enable-man-symlinks and --enable-man-compression +options to configure (max) -2002-06-22 (new feature) [TIP 95] Added [wm attributes] command (hobbs) +2002-06-26 (bug fix)[565880] [clock format] now respects locale (max) + *** POTENTIAL INCOMPATIBILITY *** -2002-06-22 (new feature) [TIP 93] enhanced get/delete to accept accept -multiple range pairs (hobbs) +2002-07-03 (bug fix)[577015] [catch] catches even compile errors (sofer) --- Released 8.4b1, July 5, 2002 --- See ChangeLog for details --- -2002-07-11 (bug fix) some memory allocation failures now result in - error messages rather than panic (fellows) - -2002-07-15 (platform support) Borland makefile on Windows (gravereaux,giese) +2002-07-08 (bug fix) restored compatibility of [viewFile] in tcltest (porter) -2002-07-16 (bug fix)[220800,581627] icon reading (darley) +2002-07-11 (bug fix) [file normalize] returns long form on Win 95/98/ME (darley) -2002-07-19 (bug fix) Postscript generation on Win2K (hipp) +2002-07-15 (performance enhancment) variable operations rewritten to store + and use cached Var pointers (sofer) -2002-07-22 (bug fix)[570764,568278] transient windows (dejong) +2002-07-22 (bug fix)[218000] Inf and Nan are floating-point values (fellows) -2002-07-24 (bug fix)[581560] canvas memory management (hobbs) +2002-07-23 (platform support)[219220] 64-bit compile on IRIX (dejong) -2002-07-24 (bug fix)[584691] focus ring on compound button (hobbs) +2002-07-25 (bug fix)[219218] return codes in background errors (english) -2002-07-25 (feature enhancement)[564521] Obj-ified [wm] (spjuth) +2002-07-28 (bug fix)[582522] alias fires exec traces (sofer) -2002-08-04 (new feature)[589853][TIP 27] Tk interfaces are now fully - CONST-ified. Use the symbols USE_NON_CONST or USE_COMPAT_CONST - to select interfaces with fewer changes. - *** POTENTIAL INCOMPATIBILITY *** +2002-07-29 (bug fix)[578363] regexp (fellows,pvgoran) -2002-08-07 (bug fix)[578654] bezier curves on canvas (hobbs) +2002-07-30 (bug fix)[584603] WriteChars infinite loop non-UTF-8 string (kupries) -2002-08-07 (platform support)[468139] native directory browser on Win (hobbs) +2002-08-04 (new feature)[584051,580433,585105,582429][TIP 27] Tcl interfaces + are now fully CONST-ified. Use the symbols USE_NON_CONST or + USE_COMPAT_CONST to select interfaces with fewer changes. + *** POTENTIAL INCOMPATIBILITY *** -2002-08-07 (bug fix)[467524] fixed -from handling for gifs (obermeier) +2002-08-05 (bug fix)[589859] tcltest setup and cleanup scripts skipped when + test body is skipped (porter) + => tcltest 2.2 -2002-08-08 (bug fix)[592201] wm transient panic (english,dejong) +2002-08-07 (bug fix)[587488] mem leak with USE_THREAD_ALLOC (sofer,sass) + +2002-08-07 (feature enhancement)[584794,584650,472576] boolean values + are no longer always re-parsed from string. (sofer) -Rewrote Tk test suite to use tcltest package. +Many internal bugs fixed. +Considerable cleanup of the test suite. --- Released 8.4b2, August 9, 2002 --- See ChangeLog for details --- -2002-08-20 (bug fix) tk.h checks for matching tcl.h version (porter) - -2002-08-27 (bug fix)[582457] toolbar button bindings (hipp) +2002-08-20 (new feature) --enable-memdebug configure option (kupries) -2002-08-31 (platform support)[602770] Mac OS X / Aqua port (steffen) +2002-08-23 (bug fix)[597936] mem leak with USE_THREAD_ALLOC (sofer,zoran) -2002-09-02 (bug fix)[565485] button height on windows (hobbs) +2002-08-26 (bug fix)[599788] segfault in compiler (sofer,wilkason) -2002-09-02 (new feature)[TIP 108] new comand [tk windowingsystem] (steffen) +2002-08-28 (bug fix)[414910] avoid mem leaks accessing environment variables + on Windows (welton,gravereaux) -2002-09-02 (new feature)[TIP 107][601518] [raise] is non-blocking (english) +2002-08-31 (platform support)[TIP 108] Mac OS X port (steffen,ingham) 2002-09-02 (platfrom support) 64-bit compile on HP-11 (martin) diff --git a/tcl/compat/license.terms b/tcl/compat/license.terms index 03ca6fcb319..f1dcaa5245c 100644 --- a/tcl/compat/license.terms +++ b/tcl/compat/license.terms @@ -1,7 +1,8 @@ This software is copyrighted by the Regents of the University of -California, Sun Microsystems, Inc., and other parties. The following -terms apply to all files associated with the software unless explicitly -disclaimed in individual files. +California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState +Corporation and other parties. The following terms apply to all files +associated with the software unless explicitly disclaimed in +individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided @@ -36,4 +37,4 @@ Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the -terms specified in this license. +terms specified in this license. diff --git a/tcl/doc/license.terms b/tcl/doc/license.terms index 03ca6fcb319..f1dcaa5245c 100644 --- a/tcl/doc/license.terms +++ b/tcl/doc/license.terms @@ -1,7 +1,8 @@ This software is copyrighted by the Regents of the University of -California, Sun Microsystems, Inc., and other parties. The following -terms apply to all files associated with the software unless explicitly -disclaimed in individual files. +California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState +Corporation and other parties. The following terms apply to all files +associated with the software unless explicitly disclaimed in +individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided @@ -36,4 +37,4 @@ Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the -terms specified in this license. +terms specified in this license. diff --git a/tcl/generic/README b/tcl/generic/README index 1a77e83f9f3..b7d94230b29 100644 --- a/tcl/generic/README +++ b/tcl/generic/README @@ -1,5 +1,5 @@ -This directory contains Tk source files that work on all the platforms -where Tk runs (e.g. UNIX, PCs, and Macintoshes). Platform-specific +This directory contains Tcl source files that work on all the platforms +where Tcl runs (e.g. UNIX, PCs, and Macintoshes). Platform-specific sources are in the directories ../unix, ../win, and ../mac. -RCS ID: @(#) $Id$ +RCS: @(#) $Id$ diff --git a/tcl/library/license.terms b/tcl/library/license.terms index 03ca6fcb319..f1dcaa5245c 100644 --- a/tcl/library/license.terms +++ b/tcl/library/license.terms @@ -1,7 +1,8 @@ This software is copyrighted by the Regents of the University of -California, Sun Microsystems, Inc., and other parties. The following -terms apply to all files associated with the software unless explicitly -disclaimed in individual files. +California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState +Corporation and other parties. The following terms apply to all files +associated with the software unless explicitly disclaimed in +individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided @@ -36,4 +37,4 @@ Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the -terms specified in this license. +terms specified in this license. diff --git a/tcl/library/tclIndex b/tcl/library/tclIndex index 6b3547d579f..c2da6bee4c5 100644 --- a/tcl/library/tclIndex +++ b/tcl/library/tclIndex @@ -6,272 +6,77 @@ # element name is the name of a command and the value is # a script that loads the command. -set auto_index(::tk::dialog::error::Return) [list source [file join $dir bgerror.tcl]] -set auto_index(::tk::dialog::error::Details) [list source [file join $dir bgerror.tcl]] -set auto_index(::tk::dialog::error::SaveToLog) [list source [file join $dir bgerror.tcl]] -set auto_index(::tk::dialog::error::Destroy) [list source [file join $dir bgerror.tcl]] -set auto_index(::tk::dialog::error::bgerror) [list source [file join $dir bgerror.tcl]] -set auto_index(bgerror) [list source [file join $dir bgerror.tcl]] -set auto_index(::tk::ButtonInvoke) [list source [file join $dir button.tcl]] -set auto_index(::tk::ButtonAutoInvoke) [list source [file join $dir button.tcl]] -set auto_index(::tk::CheckRadioInvoke) [list source [file join $dir button.tcl]] -set auto_index(::tk::dialog::file::chooseDir::) [list source [file join $dir choosedir.tcl]] -set auto_index(::tk::dialog::file::chooseDir::Config) [list source [file join $dir choosedir.tcl]] -set auto_index(::tk::dialog::file::chooseDir::OkCmd) [list source [file join $dir choosedir.tcl]] -set auto_index(::tk::dialog::file::chooseDir::DblClick) [list source [file join $dir choosedir.tcl]] -set auto_index(::tk::dialog::file::chooseDir::ListBrowse) [list source [file join $dir choosedir.tcl]] -set auto_index(::tk::dialog::file::chooseDir::Done) [list source [file join $dir choosedir.tcl]] -set auto_index(::tk::dialog::color::) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::InitValues) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::Config) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::BuildDialog) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::SetRGBValue) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::XToRgb) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::RgbToX) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::DrawColorScale) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::CreateSelector) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::RedrawFinalColor) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::RedrawColorBars) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::StartMove) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::MoveSelector) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::ReleaseMouse) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::ResizeColorBars) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::HandleSelEntry) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::HandleRGBEntry) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::EnterColorBar) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::LeaveColorBar) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::OkCmd) [list source [file join $dir clrpick.tcl]] -set auto_index(::tk::dialog::color::CancelCmd) [list source [file join $dir clrpick.tcl]] -set auto_index(tclParseConfigSpec) [list source [file join $dir comdlg.tcl]] -set auto_index(tclListValidFlags) [list source [file join $dir comdlg.tcl]] -set auto_index(::tk::FocusGroup_Create) [list source [file join $dir comdlg.tcl]] -set auto_index(::tk::FocusGroup_BindIn) [list source [file join $dir comdlg.tcl]] -set auto_index(::tk::FocusGroup_BindOut) [list source [file join $dir comdlg.tcl]] -set auto_index(::tk::FocusGroup_Destroy) [list source [file join $dir comdlg.tcl]] -set auto_index(::tk::FocusGroup_In) [list source [file join $dir comdlg.tcl]] -set auto_index(::tk::FocusGroup_Out) [list source [file join $dir comdlg.tcl]] -set auto_index(::tk::FDGetFileTypes) [list source [file join $dir comdlg.tcl]] -set auto_index(::tk::ConsoleInit) [list source [file join $dir console.tcl]] -set auto_index(::tk::ConsoleSource) [list source [file join $dir console.tcl]] -set auto_index(::tk::ConsoleInvoke) [list source [file join $dir console.tcl]] -set auto_index(::tk::ConsoleHistory) [list source [file join $dir console.tcl]] -set auto_index(::tk::ConsolePrompt) [list source [file join $dir console.tcl]] -set auto_index(::tk::ConsoleBind) [list source [file join $dir console.tcl]] -set auto_index(::tk::ConsoleInsert) [list source [file join $dir console.tcl]] -set auto_index(::tk::ConsoleOutput) [list source [file join $dir console.tcl]] -set auto_index(::tk::ConsoleExit) [list source [file join $dir console.tcl]] -set auto_index(::tk::ConsoleAbout) [list source [file join $dir console.tcl]] -set auto_index(tk_dialog) [list source [file join $dir dialog.tcl]] -set auto_index(::tk::EntryClosestGap) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryButton1) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryMouseSelect) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryPaste) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryAutoScan) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryKeySelect) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryInsert) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryBackspace) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntrySeeInsert) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntrySetCursor) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryTranspose) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryPreviousWord) [list source [file join $dir entry.tcl]] -set auto_index(::tk::EntryGetSelection) [list source [file join $dir entry.tcl]] -set auto_index(tk_focusNext) [list source [file join $dir focus.tcl]] -set auto_index(tk_focusPrev) [list source [file join $dir focus.tcl]] -set auto_index(::tk::FocusOK) [list source [file join $dir focus.tcl]] -set auto_index(tk_focusFollowsMouse) [list source [file join $dir focus.tcl]] -set auto_index(::tk::ListboxBeginSelect) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::ListboxMotion) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::ListboxBeginExtend) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::ListboxBeginToggle) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::ListboxAutoScan) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::ListboxUpDown) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::ListboxExtendUpDown) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::ListboxDataExtend) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::ListboxCancel) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::ListboxSelectAll) [list source [file join $dir listbox.tcl]] -set auto_index(::tk::MbEnter) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MbLeave) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MbPost) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuUnpost) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MbMotion) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MbButtonUp) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuMotion) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuButtonDown) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuLeave) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuInvoke) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuEscape) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuUpArrow) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuDownArrow) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuLeftArrow) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuRightArrow) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuNextMenu) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuNextEntry) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuFind) [list source [file join $dir menu.tcl]] -set auto_index(::tk::TraverseToMenu) [list source [file join $dir menu.tcl]] -set auto_index(::tk::FirstMenu) [list source [file join $dir menu.tcl]] -set auto_index(::tk::TraverseWithinMenu) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuFirstEntry) [list source [file join $dir menu.tcl]] -set auto_index(::tk::MenuFindName) [list source [file join $dir menu.tcl]] -set auto_index(::tk::PostOverPoint) [list source [file join $dir menu.tcl]] -set auto_index(::tk::SaveGrabInfo) [list source [file join $dir menu.tcl]] -set auto_index(::tk::RestoreOldGrab) [list source [file join $dir menu.tcl]] -set auto_index(tk_menuSetFocus) [list source [file join $dir menu.tcl]] -set auto_index(::tk::GenerateMenuSelect) [list source [file join $dir menu.tcl]] -set auto_index(tk_popup) [list source [file join $dir menu.tcl]] -set auto_index(::tk::ensure_psenc_is_loaded) [list source [file join $dir mkpsenc.tcl]] -set auto_index(::tk::MessageBox) [list source [file join $dir msgbox.tcl]] -set auto_index(tk_menuBar) [list source [file join $dir obsolete.tcl]] -set auto_index(tk_bindForTraversal) [list source [file join $dir obsolete.tcl]] -set auto_index(tk_optionMenu) [list source [file join $dir optMenu.tcl]] -set auto_index(tk_setPalette) [list source [file join $dir palette.tcl]] -set auto_index(::tk::RecolorTree) [list source [file join $dir palette.tcl]] -set auto_index(::tk::Darken) [list source [file join $dir palette.tcl]] -set auto_index(tk_bisque) [list source [file join $dir palette.tcl]] -set auto_index(::safe::tkInterpInit) [list source [file join $dir safetk.tcl]] -set auto_index(::safe::loadTk) [list source [file join $dir safetk.tcl]] -set auto_index(::safe::TkInit) [list source [file join $dir safetk.tcl]] -set auto_index(::safe::allowTk) [list source [file join $dir safetk.tcl]] -set auto_index(::safe::disallowTk) [list source [file join $dir safetk.tcl]] -set auto_index(::safe::tkDelete) [list source [file join $dir safetk.tcl]] -set auto_index(::safe::tkTopLevel) [list source [file join $dir safetk.tcl]] -set auto_index(::tk::ScaleActivate) [list source [file join $dir scale.tcl]] -set auto_index(::tk::ScaleButtonDown) [list source [file join $dir scale.tcl]] -set auto_index(::tk::ScaleDrag) [list source [file join $dir scale.tcl]] -set auto_index(::tk::ScaleEndDrag) [list source [file join $dir scale.tcl]] -set auto_index(::tk::ScaleIncrement) [list source [file join $dir scale.tcl]] -set auto_index(::tk::ScaleControlPress) [list source [file join $dir scale.tcl]] -set auto_index(::tk::ScaleButton2Down) [list source [file join $dir scale.tcl]] -set auto_index(::tk::ScrollButtonDown) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollButtonUp) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollSelect) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollStartDrag) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollDrag) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollEndDrag) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollByUnits) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollByPages) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollToPos) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollTopBottom) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::ScrollButton2Down) [list source [file join $dir scrlbar.tcl]] -set auto_index(::tk::spinbox::Invoke) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::ClosestGap) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::ButtonDown) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::ButtonUp) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::MouseSelect) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::Paste) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::Motion) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::AutoScan) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::KeySelect) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::Insert) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::Backspace) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::SeeInsert) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::SetCursor) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::Transpose) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::PreviousWord) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::spinbox::GetSelection) [list source [file join $dir spinbox.tcl]] -set auto_index(::tk::TearOffMenu) [list source [file join $dir tearoff.tcl]] -set auto_index(::tk::MenuDup) [list source [file join $dir tearoff.tcl]] -set auto_index(::tk::TextClosestGap) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextButton1) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextSelectTo) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextKeyExtend) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextPaste) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextAutoScan) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextSetCursor) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextKeySelect) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextResetAnchor) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextInsert) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextUpDownLine) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextPrevPara) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextNextPara) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextScrollPages) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextTranspose) [list source [file join $dir text.tcl]] -set auto_index(tk_textCopy) [list source [file join $dir text.tcl]] -set auto_index(tk_textCut) [list source [file join $dir text.tcl]] -set auto_index(tk_textPaste) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextNextPos) [list source [file join $dir text.tcl]] -set auto_index(::tk::TextPrevPos) [list source [file join $dir text.tcl]] -set auto_index(::tk::PlaceWindow) [list source [file join $dir tk.tcl]] -set auto_index(::tk::SetFocusGrab) [list source [file join $dir tk.tcl]] -set auto_index(::tk::RestoreFocusGrab) [list source [file join $dir tk.tcl]] -set auto_index(::tk::ScreenChanged) [list source [file join $dir tk.tcl]] -set auto_index(::tk::EventMotifBindings) [list source [file join $dir tk.tcl]] -set auto_index(::tk::CancelRepeat) [list source [file join $dir tk.tcl]] -set auto_index(::tk::TabToWindow) [list source [file join $dir tk.tcl]] -set auto_index(::tk::IconList) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Index) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Selection) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Curselection) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_DrawSelection) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Get) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Config) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Create) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_AutoScan) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_DeleteAll) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Add) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Arrange) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Invoke) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_See) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Btn1) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_CtrlBtn1) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_ShiftBtn1) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Motion1) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Double1) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_ReturnKey) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Leave1) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_FocusIn) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_FocusOut) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_UpDown) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_LeftRight) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_KeyPress) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Goto) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::IconList_Reset) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::Config) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::Create) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::SetSelectMode) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::UpdateWhenIdle) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::Update) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::SetPathSilently) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::SetPath) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::SetFilter) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::ResolveFile) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::EntFocusIn) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::EntFocusOut) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::ActivateEnt) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::VerifyFileName) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::InvokeBtn) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::UpDirCmd) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::JoinFile) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::OkCmd) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::CancelCmd) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::ListBrowse) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::ListInvoke) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::dialog::file::Done) [list source [file join $dir tkfbox.tcl]] -set auto_index(::tk::MotifFDialog) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_Create) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_FileTypes) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_SetFilter) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_Config) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_BuildUI) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_SetListMode) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_MakeSList) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_InterpFilter) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_Update) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_LoadFiles) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_BrowseDList) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_ActivateDList) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_BrowseFList) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_ActivateFList) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_ActivateFEnt) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_ActivateSEnt) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_OkCmd) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_FilterCmd) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::MotifFDialog_CancelCmd) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::ListBoxKeyAccel_Set) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::ListBoxKeyAccel_Unset) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::ListBoxKeyAccel_Key) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::ListBoxKeyAccel_Goto) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::ListBoxKeyAccel_Reset) [list source [file join $dir xmfbox.tcl]] -set auto_index(tk_getFileType) [list source [file join $dir xmfbox.tcl]] -set auto_index(::tk::unsupported::ExposePrivateCommand) [list source [file join $dir unsupported.tcl]] -set auto_index(::tk::unsupported::ExposePrivateVariable) [list source [file join $dir unsupported.tcl]] +set auto_index(auto_reset) [list source [file join $dir auto.tcl]] +set auto_index(tcl_findLibrary) [list source [file join $dir auto.tcl]] +set auto_index(auto_mkindex) [list source [file join $dir auto.tcl]] +set auto_index(auto_mkindex_old) [list source [file join $dir auto.tcl]] +set auto_index(::auto_mkindex_parser::init) [list source [file join $dir auto.tcl]] +set auto_index(::auto_mkindex_parser::cleanup) [list source [file join $dir auto.tcl]] +set auto_index(::auto_mkindex_parser::mkindex) [list source [file join $dir auto.tcl]] +set auto_index(::auto_mkindex_parser::hook) [list source [file join $dir auto.tcl]] +set auto_index(::auto_mkindex_parser::slavehook) [list source [file join $dir auto.tcl]] +set auto_index(::auto_mkindex_parser::command) [list source [file join $dir auto.tcl]] +set auto_index(::auto_mkindex_parser::commandInit) [list source [file join $dir auto.tcl]] +set auto_index(::auto_mkindex_parser::fullname) [list source [file join $dir auto.tcl]] +set auto_index(history) [list source [file join $dir history.tcl]] +set auto_index(::tcl::HistAdd) [list source [file join $dir history.tcl]] +set auto_index(::tcl::HistKeep) [list source [file join $dir history.tcl]] +set auto_index(::tcl::HistClear) [list source [file join $dir history.tcl]] +set auto_index(::tcl::HistInfo) [list source [file join $dir history.tcl]] +set auto_index(::tcl::HistRedo) [list source [file join $dir history.tcl]] +set auto_index(::tcl::HistIndex) [list source [file join $dir history.tcl]] +set auto_index(::tcl::HistEvent) [list source [file join $dir history.tcl]] +set auto_index(::tcl::HistChange) [list source [file join $dir history.tcl]] +set auto_index(tclLdAout) [list source [file join $dir ldAout.tcl]] +set auto_index(pkg_compareExtension) [list source [file join $dir package.tcl]] +set auto_index(pkg_mkIndex) [list source [file join $dir package.tcl]] +set auto_index(tclPkgSetup) [list source [file join $dir package.tcl]] +set auto_index(tclMacPkgSearch) [list source [file join $dir package.tcl]] +set auto_index(tclPkgUnknown) [list source [file join $dir package.tcl]] +set auto_index(::pkg::create) [list source [file join $dir package.tcl]] +set auto_index(parray) [list source [file join $dir parray.tcl]] +set auto_index(::safe::InterpStatics) [list source [file join $dir safe.tcl]] +set auto_index(::safe::InterpNested) [list source [file join $dir safe.tcl]] +set auto_index(::safe::interpCreate) [list source [file join $dir safe.tcl]] +set auto_index(::safe::interpInit) [list source [file join $dir safe.tcl]] +set auto_index(::safe::CheckInterp) [list source [file join $dir safe.tcl]] +set auto_index(::safe::interpConfigure) [list source [file join $dir safe.tcl]] +set auto_index(::safe::InterpCreate) [list source [file join $dir safe.tcl]] +set auto_index(::safe::InterpSetConfig) [list source [file join $dir safe.tcl]] +set auto_index(::safe::interpFindInAccessPath) [list source [file join $dir safe.tcl]] +set auto_index(::safe::interpAddToAccessPath) [list source [file join $dir safe.tcl]] +set auto_index(::safe::InterpInit) [list source [file join $dir safe.tcl]] +set auto_index(::safe::AddSubDirs) [list source [file join $dir safe.tcl]] +set auto_index(::safe::interpDelete) [list source [file join $dir safe.tcl]] +set auto_index(::safe::setLogCmd) [list source [file join $dir safe.tcl]] +set auto_index(::safe::SyncAccessPath) [list source [file join $dir safe.tcl]] +set auto_index(::safe::InterpStateName) [list source [file join $dir safe.tcl]] +set auto_index(::safe::IsInterp) [list source [file join $dir safe.tcl]] +set auto_index(::safe::PathToken) [list source [file join $dir safe.tcl]] +set auto_index(::safe::PathListName) [list source [file join $dir safe.tcl]] +set auto_index(::safe::VirtualPathListName) [list source [file join $dir safe.tcl]] +set auto_index(::safe::PathNumberName) [list source [file join $dir safe.tcl]] +set auto_index(::safe::StaticsOkName) [list source [file join $dir safe.tcl]] +set auto_index(::safe::NestedOkName) [list source [file join $dir safe.tcl]] +set auto_index(::safe::Toplevel) [list source [file join $dir safe.tcl]] +set auto_index(::safe::Set) [list source [file join $dir safe.tcl]] +set auto_index(::safe::Lappend) [list source [file join $dir safe.tcl]] +set auto_index(::safe::Unset) [list source [file join $dir safe.tcl]] +set auto_index(::safe::Exists) [list source [file join $dir safe.tcl]] +set auto_index(::safe::GetAccessPath) [list source [file join $dir safe.tcl]] +set auto_index(::safe::StaticsOk) [list source [file join $dir safe.tcl]] +set auto_index(::safe::NestedOk) [list source [file join $dir safe.tcl]] +set auto_index(::safe::DeleteHookName) [list source [file join $dir safe.tcl]] +set auto_index(::safe::TranslatePath) [list source [file join $dir safe.tcl]] +set auto_index(::safe::Log) [list source [file join $dir safe.tcl]] +set auto_index(::safe::CheckFileName) [list source [file join $dir safe.tcl]] +set auto_index(::safe::AliasSource) [list source [file join $dir safe.tcl]] +set auto_index(::safe::AliasLoad) [list source [file join $dir safe.tcl]] +set auto_index(::safe::FileInAccessPath) [list source [file join $dir safe.tcl]] +set auto_index(::safe::Subset) [list source [file join $dir safe.tcl]] +set auto_index(::safe::AliasSubset) [list source [file join $dir safe.tcl]] +set auto_index(tcl_wordBreakAfter) [list source [file join $dir word.tcl]] +set auto_index(tcl_wordBreakBefore) [list source [file join $dir word.tcl]] +set auto_index(tcl_endOfWord) [list source [file join $dir word.tcl]] +set auto_index(tcl_startOfNextWord) [list source [file join $dir word.tcl]] +set auto_index(tcl_startOfPreviousWord) [list source [file join $dir word.tcl]] diff --git a/tcl/license.terms b/tcl/license.terms index 03ca6fcb319..f1dcaa5245c 100644 --- a/tcl/license.terms +++ b/tcl/license.terms @@ -1,7 +1,8 @@ This software is copyrighted by the Regents of the University of -California, Sun Microsystems, Inc., and other parties. The following -terms apply to all files associated with the software unless explicitly -disclaimed in individual files. +California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState +Corporation and other parties. The following terms apply to all files +associated with the software unless explicitly disclaimed in +individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided @@ -36,4 +37,4 @@ Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the -terms specified in this license. +terms specified in this license. diff --git a/tcl/mac/README b/tcl/mac/README index 42db19e1297..edb077e8779 100644 --- a/tcl/mac/README +++ b/tcl/mac/README @@ -1,81 +1,69 @@ -Tk 8.4 for Macintosh - -Originally by Ray Johnson while at Sun Microsystems Labs -with major help from Jim Ingham while at Cygnus Solutions +Tcl 8.4 for Macintosh RCS: @(#) $Id$ 1. Introduction --------------- -This is the README file for the Macintosh version of the Tk -extension for the Tcl scripting language. The file consists of -information specific to the Macintosh version of Tcl and Tk. For more -general information please read the README file in the main Tk -directory. +This is the README file for the Macintosh version of the Tcl +scripting language. The home page for the Mac/Tcl info is + http://www.tcl.tk/software/mac/ -3. Mac specific features ------------------------- +A summary of what's new in this release is at + http://www.tcl.tk/software/tcltk/8.4.html -There are several features or enhancements in Tk that are unique to -the Macintosh version of Tk. The list of these features is -maintained at +A summary of Macintosh-specific features is at http://www.tcl.tk/software/mac/features.html -4. The Distribution +2. The Distribution ------------------- -Macintosh Tk is distributed in three different forms. This should -make it easier to only download what you need. Replace -with the current version of Tk. The packages are as follows: +Macintosh Tcl is distributed in three different forms. This should +make it easier to only download what you need. Substitute +with the version you wish to use. The packages are as follows: mactk.sea.hqx This distribution is a "binary" only release. It contains an installer program that will install a 68k, PowerPC, or Fat - version of the "Wish" application. In addition, in installs - the Tcl & Tk libraries in the Extensions folder inside your - System Folder. (No "INIT"'s or Control Pannels are installed.) + version of the "Tcl Shell" and "Wish" applications. In addition, + it installs the Tcl & Tk libraries in the Extensions folder inside + your System Folder. mactcltk-full-.sea.hqx This release contains the full release of Tcl and Tk for the - Macintosh plus the More Files package on which Macintosh Tcl and - Tk rely. + Macintosh plus the More Files packages which Macintosh Tcl and Tk + rely on. -mactk-source-.sea.hqx +mactcl-source-.sea.hqx - This release contains the complete source to Tk for the Macintosh - In addition, Metrowerks CodeWarrior libraries and project files + This release contains the complete source for Tcl. In + addition, Metrowerks CodeWarrior libraries and project files are included. However, you must already have the More Files package to compile this code. -5. Compiling Tk ---------------- +The "html" subdirectory contains reference documentation in +in the HTML format. You may also find these pages at: -In order to compile Macintosh Tk you must have the -following items: + http://www.tcl.tk/man/ - CodeWarrior Pro 5 or higher - Mac Tcl (source) - (which requires More Files 1.4.9) - Mac Tk (source) +3. Compiling Tcl +---------------- + +In order to compile Macintosh Tcl you must have the +following items: -The project files included with the Mac Tcl source should work -fine. The only thing you may need to update are the access paths. -As with Tcl, you need to upgrade to the 2.0.1 version of the C -compilers or later to build the CFM68K version of Tcl/Tk. + CodeWarrior Pro 5+ + Mac Tcl (sources) + More Files 1.4.9 -Special notes: +The included project files should work fine. However, for +current release notes please check this page: -* Check out the file bugs.doc for information about known bugs. + http://www.tcl.tk/doc/howto/compile.html#mac -* We are starting to support the new Appearance Manager that shipped - with MacOS 8.0. The Tk 8.0.3 release is the first Tk release - that supported the Appearance Manager well. Tk 8.0.4 extended this support - to the menu system, though you have to have Appearance 1.0.1 or later - installed for this to work. - +If you have comments or Bug reports, please use the SourceForge +Bug tracker to report them: -If you have comments or Bug reports, use our on-line database at http://tcl.sourceforge.net/ diff --git a/tcl/mac/bugs.doc b/tcl/mac/bugs.doc index 120489d9fbd..a4936e2e04f 100644 --- a/tcl/mac/bugs.doc +++ b/tcl/mac/bugs.doc @@ -1,54 +1,44 @@ -Known bug list for Tk 8.0 for Macintosh +Known bug list for Tcl 8.0 for Macintosh -Originally by Ray Johnson +by Ray Johnson Sun Microsystems Laboratories rjohnson@eng.sun.com -Maintained by: -Jim Ingham -Cygnus Solutions, a Red Hat Company -jingham@cygnus.com - RCS: @(#) $Id$ -We are now very close to passing the test suite for Tk. We are very -interested in finding remaining bugs that still linger. Please let us -know (and send us test cases) of any bugs you find. - -Known bugs: - -* Transient windows (set by wm transient) do not go away when the - master does. - -* Tearoff menus should be floating windows & floating windows should - float. They also shouldn't be resizable. - -* The -use and -container windows only work with other Tk windows in - the same process. Also, if you try really hard (for instance by binding - on Destroy of an embedded window and destroying the container's toplevel) - you can get Tk to crash. This should never be necessary, however, since - the destruction of the embedded window triggers the destruction of the - container, so you can watch that instead. - All the focus bugs in Tk8.0 have been fixed, however. - -* The send command is only implemented within the same app. - -* You cannot color buttons, and the indicators for radiobuttons and - checkbuttons under Appearance. They will always use the current - Theme color. But, then, you are not supposed to... - -* Drawing is not really correct. This shows up mostly in the canvas - when line widths are greater than one. Unfortunantly, this will not - be easy to fix. - -* The active menu highlight color in Tearoff menus will not match the system-wide - menu highlight color under Appearance. It will be black instead. This is not - easy to fix, since the Appearance API's don't really allow you to get your hands - on this information... - -There are many other bugs. However, will no get listed until they -are reported at least once. Send those bug reports in! - - - -Jim +This was a new feature as of Tcl7.6b1 and as such I'll started with +a clean slate. I currently know of no reproducable bugs. I often +get vague reports - but nothing I've been able to confirm. Let +me know what bugs you find! + +The Macintosh version of Tcl passes most all tests in the Tcl +test suite. Slower Macs may fail some tests in event.test whose +timing constraints are too tight. If other tests fail please report +them. + +Ray + +Known bugs in the current release. + +* With the socket code you can't use the "localhost" host name. This + is actually a known bug in Apple's MacTcp stack. However, you can + use [info hostname] whereever you would have used "localhost" to + achive the same effect. + +* Most socket bugs have been fixed. We do have a couple of test cases + that will hang the Mac, however, and we are still working on them. + If you find additional test cases that show crashes please let us + know! + +* In Tcl 8.2, the new Regexp code seems to be more deeply recursive than +the older version in Tcl8.0. As a result, I have had to increase the Stack +size of Tcl to 1Meg. If you are not doing regexps with many subexpressions, +this is probably more stack than you will need. You can relink with the +stack set to 512K, and you will be fine for most purposes. +* This regexp problem is fixed in Tcl8.3. If you are going to do complex +regexp's, it is probably a good idea to keep the stack size big. But normal +regexps will not cause crashes. + +* The "clock scan -base" command does not work. The epoch is wrong. +* The file mtime command does not work when setting the time, it is off +by 4 years. diff --git a/tcl/mac/license.terms b/tcl/mac/license.terms index 03ca6fcb319..f1dcaa5245c 100644 --- a/tcl/mac/license.terms +++ b/tcl/mac/license.terms @@ -1,7 +1,8 @@ This software is copyrighted by the Regents of the University of -California, Sun Microsystems, Inc., and other parties. The following -terms apply to all files associated with the software unless explicitly -disclaimed in individual files. +California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState +Corporation and other parties. The following terms apply to all files +associated with the software unless explicitly disclaimed in +individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided @@ -36,4 +37,4 @@ Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the -terms specified in this license. +terms specified in this license. diff --git a/tcl/macosx/Makefile b/tcl/macosx/Makefile index 8bd8befc713..fa2404bfc0b 100644 --- a/tcl/macosx/Makefile +++ b/tcl/macosx/Makefile @@ -11,7 +11,7 @@ INSTALL_ROOT = BUILD_DIR = ../../build -TARGET = Wish +TARGET = Tcl DEVBUILDSTYLE = Development DEPBUILDSTYLE = Deployment @@ -35,7 +35,7 @@ install: install-develop install-deploy embedded: embedded-develop embedded-deploy -install-embedded: install-embedded-develop install-embedded-deploy cleanup-embedded +install-embedded: install-embedded-develop install-embedded-deploy clean: clean-develop clean-deploy @@ -72,15 +72,3 @@ clean-deploy: ${DEPBUILD} clean ################################################################################ - -cleanup-embedded: - @( \ - cd ${INSTALL_ROOT}; \ - rm -f Frameworks; \ - rm -rf @executable_path; \ - rm -rf Library/Frameworks/Tcl.framework; \ - rm -rf Library/Frameworks/Tk.framework; \ - if [ -d Library/Frameworks ]; then rmdir -p Library/Frameworks; fi; \ - ) - -################################################################################ diff --git a/tcl/tests/README b/tcl/tests/README index 66a428ec6b6..4c88826f9ee 100644 --- a/tcl/tests/README +++ b/tcl/tests/README @@ -1,7 +1,90 @@ -README -- Tk test suite design document. +README -- Tcl test suite design document. RCS: @(#) $Id$ -This directory contains a set of validation tests for the Tk commands. -Please see the tests/README file in the Tcl source distribution for -information about the test suite. +Contents: +--------- + + 1. Introduction + 2. Incompatibilities with prior Tcl versions + +1. Introduction: +---------------- + +This directory contains a set of validation tests for the Tcl commands +and C Library procedures for Tcl. Each of the files whose name ends +in ".test" is intended to fully exercise the functions in the C source +file that corresponds to the file prefix. The C functions and/or Tcl +commands tested by a given file are listed in the first line of the +file. + +You can run the tests in three ways: + + (a) type "make test" in ../unix; this will create the tcltest + executable and run all of the tests. At least "make tcltest" + must be run to create the tcltest executable for the other + options. + + (b) type "tcltest ?