8.6.8:
[array names -regexp] supports backrefs
Fix gcc build failures due to #pragma placement
(bug)[b50fb2] exec redir append stdout and stderr to file
(bug)[2a9465] http state 100 continue handling broken
(bug)[0e4d88] replace command, delete trace kills namespace
(bug)[1a5655] [info * methods] includes mixins
tzdata updated to Olson's tzdata2017c
(bug)[fc1409] segfault in method cloning, oo-15.15
(bug)[6f2f83] More robust [load] for ReactOS
(bug)[3298012] Stop crash when hash tables overflow 32 bits
(bug)[5d6de6] Close failing case of [package prefer stable]
(bug)[fab924] Fix misleading [load] message on Windows
(bug)[4f6a1e] Crash when ensemble map and list are same
(bug)[ce3a21] file normalize failure when tail is empty
(new)[TIP 477] nmake build system reform
(bug)[586e71] EvalObjv exception handling at level 0
Use these versions as well in Makefile and PLIST.
It's unclear whether buildlink3.mk might include Makefile.version, this
is the reason to duplicate this information.
There are other packages that might be versioned similarily:
- sqlite3,
- thread.
No user-visible change in the main package.
Correct Method Search Order
Regression [lreplace {} 1 1]
Crash regression in [oo::class destroy]
Regress [regsub -all {\(.*} a(b) {}]
[try {} on ok {} - on return {} {}] panic
[tcl::unsupported::getbytecode] disassember
[string cat] bytecode optimization
segfault in mangled bytecode
Hang in some [read]s of limited size
segfault in [array set] of traced array
MSVC14 compile support
[fcopy] treats [blocked] as error
regression in Tcl_Write() interface
fix [gets] on non-blocking channels
restore [open comX: r+]
Restore [lappend v] return value
Stop forcing EOF to be permanent
* --enable-aqua build for Mac OS X is now a Cocoa implementation.
* Support has been added for Cygwin network pathnames.
* Updated to Unicode 6.2 support. Fixes for several crashes and bugs.
Highlights of Tcl 8.5
* Features: 8.5 has over 90 TIPs included to provide a wide variety of
new features.
* Bignums: Tcl now supports arbitrary-precision integers, which improves
math operations on large integers.
* Safer interps: Tcl's powerful safe interpreter mechanism now has
improved control of time and command limits in slave interpreters.
* clock command: More robust implementation of command for specifying
time, with significant l10n and i18n improvements.
* dict command: New data structure that allows access to data by value
rather than a variable name, which is substantially faster.
* Additional improvements: Faster list search, new and improved
mathematics procedures, anonymous procedures, new ways to package Tcl
extensions, Tcl-level custom channel types, file and line location
information for each command, and more.
There is of course much, much more.
See [8.5 Changes](http://wiki.tcl.tk/10630) on the wiki for a complete
list of new features.
* generic/tclInterp.c (Tcl_GetAlias): fix for [Bug 1882373]
* generic/regguts.h, generic/regc_color.c, generic/regc_nfa.c:
Fixes for problems created when processing regular expressions that
generate very large automata. An enormous number of thanks to Will
Drewry <wad@google.com>, Tavis Ormandy <taviso@google.com>, and Tom
Lane <tgl@sss.pgh.pa.us> from the Postgresql crowd for their help in
tracking these problems down. [Bug 1810264]
* unix/tclUnixCompat.c (TclpGetHostByName): Really applied
the change noted on 2007-11-13 by dkf below.
* generic/tclIOUtil.c (TclGetOpenMode): Only set the O_APPEND flag
* tests/ioUtil.test (ioUtil-4.1): on a channel for the 'a'
mode and not for 'a+'. [Bug 1773127] (backport from HEAD)
* generic/tclCmdIL.c (Tcl_LsearchObjCmd): Prevent shimmering crash
when -exact and -integer/-real are mixed. [Bug 1844789]
* generic/tclThread.c: Back-port locking changes from Tcl8.5
in Tcl_Mutex/ConditionFinlize. Now we properly master-lock
the finalization of sync primitives.
* generic/regc_nfa.c: Fixed infinite loop in the regexp compiler
* generic/regcomp.c: [Bug 1810038]. Corrected looping logic in
* tests/regexp.test: fixempties() to avoid wasting time walking a
list of dead states [Bug 1832612]. Convert optst() from expensive
no-op to a cheap no-op. Improve newline usage in debug output.
* unix/tclUnixCompat.c (TclpGetHostByName): The six-argument form of
getaddressbyname_r() uses the fifth argument to indicate whether the
lookup succeeded or not on at least one platform. [Bug 1618235]
* generic/regc_lex.c (lexescape): Ensure that backreference numbers
can't overflow a signed int in a way that breaks things. [Bug 1810264]
* generic/tclParse.c (Tcl_ParseBraces): fix for possible read
after the end of buffer, [Bug 1813528] (Joe Mistachkin).
* generic/tclObj.c (Tcl_FindCommandFromObj): fix finding a deleted
command; cannot trigger this from Tcl itself, but crash reported
on xotcl. This check is new to 8.4 but exists in 8.5, so this is a
backport or something. Thanks Gustaf Neumann.
* generic/tcl.h (Tcl_DecrRefCount): Update change from 2006-05-29
to make macro more warning-robust in unbraced if code.
* Tk_PhotoPutBlock performance restored (JPEG image loading).
* [namespace inscope] change reverted; harmed Itcl.
* Made [expr {srand(.)}] accept wide integer argument.
* Made [lappend $invalidList] raise an error.
* Improved [text] delete performance.
* Support for the WM_UNICHAR window message on Windows
* Stopped excess variable writes by [scale].
* Tcl_Main no longer blocks main loop start for one interactive command.
* [console] made thread safe.
* Thread-enabled configuration uses MT-safe system calls.
* Many Aqua/Tk bug fixes and improvements, see changes file.
* Made unthreaded notifier naked-fork-safe on Darwin.
* Support for weak linking on Mac OS X.
* msgcat support for CFLocale on Darwin (msgcat 1.3.4)
* Fixed crashes due to alignment issues in encoding translation routines.
* Fixed crash with [listbox -listvariable] on namespace variable.
* Fixed crash when Tcl_DeleteTrace changes proc on the active stack.
* Fixed crash when normalizing filesystem pathnames.
* Fixed crash due to invalid font name from XServer.
* Several 64-bit bugs fixed and platform support enhanced.
* Win NT/XP: unicode console support taken back out.
* ${prefix}/share addition to ::tcl_pkgPath undone.
* Warning message for packages with incorrect index scripts silenced.
* Correct syntax error in configure script (bash 3.1 exposes it).
* Tk incompatibilities with SCIM resolved.
* Improved [file writable] support of Windows conventions.
* Tcl_GetIndexFromObj() support for exact matching of empty key.
* Tk Portuguese localization support (pt.msg).
* Tk more robust when X server does not recognize color name "Black".
* Tk_PhotoPutBlock() performance improvement.
* [lsearch -start $pastEnd] no longer finds match at end of list.
* Correct [expr abs($LONG_MIN)] result.
* Correct [string range] failures on some strings containing \x00.
* TCL_EVAL_GLOBAL and [uplevel 0] agreement when traces or [unknown] active.
* Corrections to context of auto-loading the target of an interp alias.
* Corrected some interference between enter and enterstep traces.
* Correct [$img configure -data] failure to change X display.
* Tk_GetBitmapFromData() thread safety.
* Crashes in [grid] for some invalid index arguments.
* Crash when all content of a [text] is elided.
* Crash in [$text edit undo/redo].
* Crash in animated GIF display with variable frame size.
* Crash related to pipe usage in thread-enabled Tcl on Windows.
* Crash when [$text dump -command] changes contents while dumping.
* Crash reading utf-8 when multibyte char spans multiple buffers at EOF.
* Several finalization crashes corrected.
* Repeated [namespace import] of same command now permitted.
* ${prefix}/share added to ::tcl_pkgPath on some systems.
* [exec]'s >> redirection has improved append behavior.
* [info globals] returned only existing variables.
* Recognize some Solaris variations of the cp1251 encoding.
* Addressed [file mkdir] race condition.
* Support opening >2GB files on RHEL 3.
* Corrections to $argv formatting when [encoding system] is multibyte.
* http 2.5.2: Update URL encoding rules to RFC 3986.
* Fixed issue in recursive file delete with NFS lock files.
* Stopped crash after use of Tcl_TraceCommand().
* Win NT/XP: support unicode console.
* Improved support for Tclkit to set [encoding system].
* Added Korean timezone abbreviations.
* Windows: exit codes can now exceed -128..127 range.
* [load] support on LynxOS.
* Packages with incorrect index scripts now cause a warning to be logged.
*** POTENTIAL INCOMPATIBILITY ***
* [lsearch -regexp] now accepts backrefs in the RE.
* [selection get] made compatible with OpenOffice.org.
* Dialog support for widget names containing spaces.
* Improved Tk window manager event interaction on OS X Aqua.