File Release Notes and Changelog

Release Name: 8.5.1

Notes:
Tcl/Tk 8.5.1 Release Announcement
February 5, 2008

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

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

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

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

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

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

Binaries for most major platforms are available from:

        http://www.activestate.com/Tcl

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

Please visit the Tcl Developer Xchange web site:

        http://www.tcl.tk/

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

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

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

  * Repaired buffer overflow in GIF handling code (CVE-2008-0553).

  * Corrected broken regexp engine usage that lost backref support.

  * Fixed binary reads from stacked channels.

  * Fixed [format %lli 0] and [lreverse {}] crashes.

  * Fixed crash in [labelframe -style].

  * Fixed crash in a read-only serial channel.

  * Corrected memory leak in literals in expressions.

  * Revised font size values returned by [font actual]

  * Improved [lsort] performance.

  * Fixed Tk's Dutch message catalog.

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


Changes: **** TCL **** 2008-02-04 Don Porter <dgp@users.sourceforge.net> *** 8.5.1 TAGGED FOR RELEASE *** * changes: Updated for 8.5.1 release. * generic/tcl.h: Bump to 8.5.1 for release. * library/init.tcl: * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.spec: * win/configure.in: * unix/configure: autoconf-2.59 * win/configure: 2008-02-04 Miguel Sofer <msofer@users.sf.net> * generic/tclExecute.c (INST_CONCAT1): fix optimisation for in-place concatenation (was going over String type) 2008-02-02 Daniel Steffen <das@users.sourceforge.net> * unix/configure.in (Darwin): correct Info.plist year substitution in non-framework builds. * unix/configure: autoconf-2.59 2008-01-30 Miguel Sofer <msofer@users.sf.net> * generic/tclInterp.c (Tcl_GetAlias): fix for [Bug 1882373], thanks go to an00na 2008-01-30 Donal K. Fellows <donal.k.fellows@man.ac.uk> * tools/tcltk-man2html.tcl: Reworked manual page scraper to do a proper job of handling references to Ttk options. [Tk Bug 1876493] 2008-01-29 Donal K. Fellows <donal.k.fellows@man.ac.uk> * doc/man.macros (SO, SE): Adjusted macros so that it is possible for Ttk to have its "standard options" on a manual page that is not called "options". [Tk Bug 1876493] 2008-01-25 Don Porter <dgp@users.sourceforge.net> * changes: Updated for 8.5.1 release. 2008-01-23 Don Porter <dgp@users.sourceforge.net> * generic/tclInt.h: New macro TclGrowParseTokenArray() to * generic/tclCompCmds.c: simplify code that might need to grow * generic/tclCompExpr.c: an array of Tcl_Tokens in the parsePtr * generic/tclParse.c: field of a Tcl_Parse. Replaces the TclExpandTokenArray() routine via replacing: int needed = parsePtr->numTokens + growth; while (needed > parsePtr->tokensAvailable) { TclExpandTokenArray(parsePtr); } with: TclGrowParseTokenArray(parsePtr, growth); This revision merged over from dgp-refactor branch. * generic/tclCompile.h: Demote TclCompEvalObj() from internal stubs to * generic/tclInt.decls: a MODULE_SCOPE routine declared in tclCompile.h. * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c: 2008-01-22 Don Porter <dgp@users.sourceforge.net> * generic/tclTimer.c (AfterProc): Replace Tcl_EvalEx() with Tcl_EvalObjEx() to evaluate [after] callbacks. Part of trend to favor compiled execution over direct evaluation. 2008-01-22 Miguel Sofer <msofer@users.sf.net> * generic/tclCmdIl.c (Tcl_LreverseObjCmd): * tests/cmdIL.test (cmdIL-7.7): fix crash on reversing an empty list. [Bug 1876793] 2008-01-20 Jeff Hobbs <jeffh@ActiveState.com> * unix/README: minor typo fixes [Bug 1853072] * generic/tclIO.c (TclGetsObjBinary): operate on topmost channel. [Bug 1869405] (Ficicchia) 2008-01-17 Don Porter <dgp@users.sourceforge.net> * generic/tclCompExpr.c: Revision to preserve parsed intreps of numeric and boolean literals when compiling expressions with (optimize == 1). 2008-01-15 Miguel Sofer <msofer@users.sf.net> * generic/tclCompExpr.c: add an 'optimize' argument to * generic/tclCompile.c: TclCompileExpr() to profit from better * generic/tclCompile.h: literal management according to usage. * generic/tclExecute.c: * generic/tclCompExpr.c: Fix literal leak in exprs [Bug 1869989] (dgp) * generic/tclExecute.c: * tests/compExpr.test: * doc/proc.n: changed wording for access to non-local variables; added mention to [namespace upvar]. Lame attempt at dealing with documentation. [Bug 1872708] 2008-01-15 Miguel Sofer <msofer@users.sf.net> * generic/tclBasic.c: Replacing 'operator' by 'op' in the def of * generic/tclCompExpr.c: struct TclOpCmdClientData to accommodate C++ * generic/tclCompile.h: compilers. [Bug 1855644] 2008-01-13 Jeff Hobbs <jeffh@ActiveState.com> * win/tclWinSerial.c (SerialCloseProc, TclWinOpenSerialChannel): use critical section for read & write side. [Bug 1353846] (newman) 2008-01-11 Miguel Sofer <msofer@users.sf.net> * unix/tclUnixThrd.c (TclpThreadGetStackSize): restore stack checking functionality in freebsd. [Bug 1850424] * unix/tclUnixThrd.c (TclpThreadGetStackSize): fix for crash in freebsd. [Bug 1860425] 2008-01-10 Don Porter <dgp@users.sourceforge.net> * generic/tclStringObj.c (Tcl_AppendFormatToObj): Correct failure to * tests/format.test: account for big.used == 0 corner case in the %ll(idox) format directives. [Bug 1867855] 2008-01-09 George Peter Staplin <georgeps@xmission.com> * doc/vwait.n: add a missing be to fix a typo. 2008-01-04 Jeff Hobbs <jeffh@ActiveState.com> * tools/tcltk-man2html.tcl (make-man-pages): make man page title use more specific info on lhs to improve tabbed browser view titles. 2008-01-02 Donal K. Fellows <dkf@users.sf.net> * doc/binary.n: Fixed documentation bug reported on tcl-core, and reordered documentation to discourage people from using the hex formatter that is hardly ever useful. 2008-01-02 Don Porter <dgp@users.sourceforge.net> * generic/tcl.h: Bump version number to 8.5.1b1 to distinguish * library/init.tcl: CVS development snapshots from the 8.5.0 and * unix/configure.in: 8.5.1 releases. * unix/tcl.spec: * win/configure.in: * README * unix/configure: autoconf (2.59) * win/configure: 2007-12-31 Donal K. Fellows <dkf@users.sf.net> * doc/dict.n: Clarified meaning of dictionary values following discussion on comp.lang.tcl. 2007-12-26 Miguel Sofer <msofer@users.sf.net> * generic/tclCmdIL.c: more [lsort] data handling streamlines. The function MergeSort is gone, essentially inlined into Tcl_LsortObjCmd. It is not a straight inlining, two loops over all lists elements where merged in the process: the linked list elements are now built and merged into the temporary sublists in the same pass. 2007-12-25 Miguel Sofer <msofer@users.sf.net> * generic/tclCmdIL.c: more [lsort] data handling streamlines. Extra mem reqs of latest patches removed, restored to previous mem profile. Improved -unique handling, now eliminating repeated elems immediately instead of marking them to avoid reinsertion at the end. 2007-12-23 Jeff Hobbs <jeffh@ActiveState.com> * generic/tclCompCmds.c (TclCompileRegexpCmd): TCL_REG_NOSUB cannot * tests/regexp.test (regexp-22.2): be used because it * tests/regexpComp.test: [Bug 1857126] disallows backrefs. 2007-12-21 Miguel Sofer <msofer@users.sf.net> * generic/tclCmdIL.c: speed patch for lsort [Patch 1856994]. 2007-12-21 Miguel Sofer <msofer@users.sf.net> * generic/tclCmdIL.c (Tcl_LsortObjCmd, Tcl_LsearchObjCmd): avoid calling SelectObjFromSublist when there are no sublists. 2007-12-21 Miguel Sofer <msofer@users.sf.net> * generic/tclCmdIL.c (Tcl_LsortObjCmd): preallocate a listObj of sufficient length for the sorted list instead of growing it. Second commit replaces calls to Tcl_ListObjAppenElement with direct access to the internal rep. **** TK **** 2008-02-04 Don Porter <dgp@users.sourceforge.net> *** 8.5.1 TAGGED FOR RELEASE *** * generic/tk.h: Bump to 8.5.1 for release. * library/tk.tcl: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.59 * win/configure: 2008-02-04 Donal K. Fellows <donal.k.fellows@man.ac.uk> * doc/MeasureChar.3, doc/FontId.3: Minor improvements (formatting, keywords). 2008-02-02 Daniel Steffen <das@users.sourceforge.net> * macosx/Wish-Info.plist.in: add CFBundleLocalizations key, listing * unix/configure.in (Darwin): all library/msgs locales. * unix/configure.in (Darwin): correct Info.plist year substitution in non-framework builds. * unix/configure: autoconf-2.59 2008-02-01 Don Porter <dgp@users.sourceforge.net> * changes: Updates for 8.5.1 release. 2008-02-01 Reinhard Max <max@suse.de> * generic/tkImgGIF.c: Fixed a buffer overflow (CVE-2008-0553). * tests/imgPhoto.test: Added a test for the above. 2008-01-31 Jeff Hobbs <jeffh@ActiveState.com> * library/msgbox.tcl (::tk::MessageBox): don't use ttk::label in low depth/aqua fallback, as it doesn't support -bitmap. * win/tkWinDialog.c (Tk_MessageBoxObjCmd): pass "" instead of NULL when -title isn't set. [Bug 1881892] 2008-01-31 Donal K. Fellows <donal.k.fellows@man.ac.uk> * doc/panedwindow.n: Added proper description of -height and -width options, which aren't "standard". Last of fallout from [Bug 1882495]. 2008-01-30 Donal K. Fellows <donal.k.fellows@man.ac.uk> * doc/canvas.n, doc/listbox.n, doc/message.n: Fix erroneous listing of "standard" options. [Bug 1882495] 2008-01-29 Joe English <jenglish@users.sourceforge.net> * library/treeview.tcl: Fix bug in Shift-ButtonPress-1 binding (error if no current focus item; reported on c.l.t.) 2008-01-29 Donal K. Fellows <donal.k.fellows@man.ac.uk> * doc/ttk_*.n: Adjusted handling of the standard options part of the Ttk manual pages so that they are documented in the correct location. [Bug 1876493] 2008-01-28 Joe English <jenglish@users.sourceforge.net> * unix/tkUnixRFont.c: Re-fix strict-aliasing warnings reintroduced by last patch. 2008-01-27 Joe English <jenglish@users.sourceforge.net> * generic/ttk/ttkNotebook.c: Make sure to schedule a redisplay when adding and/or hiding tabs. [Bug 1878298] 2008-01-27 Joe English <jenglish@users.sourceforge.net> * unix/tkUnixRFont.c: Merged common code from InitFont() and TkpGetFontAttrsForChar(), factored into GetTkFontAttributes() and GetTkFontMetrics(). Removed write-only struct UnixFtFont member 'drawable'. Removed unneeded double-pointer indirections. Ensure that TkFontAttributes.family member is a Tk_Uid, as specified. Use FcTypeDouble for XFT_SIZE attribute. Finally: fix [Bug 1835848] 2008-01-25 Don Porter <dgp@users.sourceforge.net> * changes: Updates for 8.5.1 release. 2008-01-08 Joe English <jenglish@users.sourceforge.net> * generic/ttk/ttkFrame.c: BUGFIX: fix crash in [ttk::labelframe] when -style option specified. [Bug 1867122] 2008-01-08 Joe English <jenglish@users.sourceforge.net> * win/ttkWinTheme.c: Add tristate support to checkbuttons and radiobuttons. [Bug 1865898] Fix check and radio indicator size. [Bug 1679067] 2008-01-06 Joe English <jenglish@users.sourceforge.net> * generic/ttk/ttkWidget.c, generic/ttk/ttkWidget.h: Call Tk_MakeWindowExist() in widget constructor. Removed now-unnecessary initial ConfigureNotify processing. 2008-01-06 Joe English <jenglish@users.sourceforge.net> * library/ttk/treeview.tcl, library/ttk/utils.tcl: Fix MouseWheel bindings for ttk::treeview widget. [Bugs 1442006, 1821939, 1862692] 2008-01-02 Don Porter <dgp@users.sourceforge.net> * generic/tk.h: Bump version number to 8.5.1b1 to distinguish * library/tk.tcl: CVS development snapshots from the 8.5.0 and * unix/configure.in: 8.5.1 releases. * unix/tk.spec: * win/configure.in: * unix/configure: autoconf (2.59) * win/configure: 2007-12-30 Donal K. Fellows <dkf@users.sf.net> * doc/canvas.n: Documented exact behaviour of items with respect to when they are the current item. [Bug 1774593] Also documented the clipping behaviour of window items. * library/demos/nl.msg: Corrected following testing "in the field" by Arjen Markus. [Bug 1860802]