* --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.
tcl_platform(machine), instead of using $MACHINE there.
This is in preparation for reverting the recent change
to the net/tcl-scotty PLIST.
Bump PKGREVISION.
The runpath of the TCL_LIB_SPEC was missing as compared to version 8.4,
so the configure script was altered to add it back.
Also, the CONFIGURE_ARGS for thread options had unrecognized arguments.
Problems found and fixes suggested by he@
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.
The previous commit caused DragonFly to build the libraries with a
different file name than specified in the PLIST, causing the build
to fail on DragonFly.
This commit forces DragonFly to use library names without dots to
match the PLIST.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
* 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.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
* 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.
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
* 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.
Remove the --mandir setting for CONFIGURE_ARGS as this is
now done by default (for GNU_CONFIGURE).
Remove the man page staging from post-install (and the
comment about this). The maintainer told me this was
a workaround for older versions of tcl and that it is
fixed now.