summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog12599
1 files changed, 4778 insertions, 7821 deletions
diff --git a/ChangeLog b/ChangeLog
index d0d5ed2..72d9cb4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,34 +1,73 @@
2011-09-16 Jan Nijtmans <nijtmans@users.sf.net>
+ IMPLEMENTATION OF TIP #388
+
+ * doc/Tcl.n
+ * doc/re_syntax.n
+ * generic/regc_lex.c
+ * generic/regcomp.c
+ * generic/regcustom.h
+ * generic/tcl.h
+ * generic/tclParse.c
+ * tests/reg.test
+ * tests/utf.test
+
+2011-09-16 Jan Nijtmans <nijtmans@users.sf.net>
+
* generic/tcl.h: Don't change Tcl_UniChar type when
* generic/regcustom.h: TCL_UTF_MAX == 4 (not supported anyway)
2011-09-16 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclProc.c (ProcWrongNumArgs): [Bugs 3400658,3408830]:
+ Ensemble-like rewriting of error messages is complex, and TclOO (in
+ combination with iTcl) hits the most tricky cases.
+
* library/http/http.tcl (http::geturl): [Bug 3391977]: Ensure that the
-headers option overrides the -type option (important because -type
has a default that is not always appropriate, and the header must not
be duplicated).
+2011-09-15 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclCompExpr.c: [Bug 3408408]: Partial improvement by sharing
+ as literals the computed values of constant subexpressions when we can
+ do so without incurring the cost of string rep generation.
+
2011-09-13 Don Porter <dgp@users.sourceforge.net>
- * generic/tclUtil.c: [Bug 3390638] Workaround broken solaris
+ * generic/tclUtil.c: [Bug 3390638]: Workaround broken solaris
studio cc optimizer. Thanks to Wolfgang S. Kechel.
- * generic/tclDTrace.d: [Bug 3405652] Portability workaround for
+ * generic/tclDTrace.d: [Bug 3405652]: Portability workaround for
broken system DTrace support. Thanks to Dagobert Michelson.
2011-09-12 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinPort.h: [Bug 3407070] tclPosixStr.c won't build with
+ * win/tclWinPort.h: [Bug 3407070]: tclPosixStr.c won't build with
EOVERFLOW==E2BIG
+2011-09-11 Don Porter <dgp@users.sourceforge.net>
+
+ * tests/thread.test: Convert [testthread] use to Thread package
+ use in thread-6.1. Eliminates a memory leak in `make valgrind`.
+
+ * tests/socket.test: [Bug 3390699]: Convert [testthread] use to
+ Thread package use in socket_*-13.1. Eliminates a memory leak in
+ `make valgrind`.
+
+2011-09-09 Don Porter <dgp@users.sourceforge.net>
+
+ * tests/chanio.test: [Bug 3389733]: Convert [testthread] use to
+ * tests/io.test: Thread package use in *io-70.1. Eliminates a
+ memory leak in `make valgrind`.
+
2011-09-07 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompExpr.c: [Bug 3401704] Allow function names like
- * tests/parseExpr.test: influence(), nanobot(), and 99bottles()
- that have been parsed as missing operator syntax errors before
- with the form NUMBER + FUNCTION.
+ * generic/tclCompExpr.c: [Bug 3401704]: Allow function names like
+ * tests/parseExpr.test: influence(), nanobot(), and 99bottles() that
+ have been parsed as missing operator syntax errors before with the
+ form NUMBER + FUNCTION.
***POTENTIAL INCOMPATIBILITY***
2011-09-06 Venkat Iyer <venkat@comit.com>
@@ -42,9 +81,26 @@
* library/tzdata/Pacific/Honolulu:
* library/tzdata/Africa/Juba: (new)
+2011-09-06 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tcl.h: [RFE 1711975]: Tcl_MainEx() (like Tk_MainEx())
+ * generic/tclDecls.h
+ * generic/tclMain.c
+
+2011-09-02 Don Porter <dgp@users.sourceforge.net>
+
+ * tests/http.test: Convert [testthread] use to Thread package use.
+ Eliminates memory leak seen in `make valgrind`.
+
+2011-09-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * unix/tclUnixSock.c: [Bug 3401422]: Cache script-level changes to the
+ nonblocking flag of an async client socket in progress, and commit
+ them on completion.
+
2011-09-01 Don Porter <dgp@users.sourceforge.net>
- * generic/tclStrToD.c: [Bug 3402540] Corrections to TclParseNumber()
+ * generic/tclStrToD.c: [Bug 3402540]: Corrections to TclParseNumber()
* tests/binary.test: to make it reject invalid Nan(Hex) strings.
* tests/scan.test: [scan Inf %g] is portable; remove constraint.
@@ -57,40 +113,78 @@
means that interpreters cannot read their own limits (writing already
did not work).
+2011-08-30 Reinhard Max <max@suse.de>
+
+ * unix/tclUnixSock.c (TcpWatchProc): [Bug 3394732]: Put back the check
+ for server sockets.
+
+2011-08-29 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclIORTrans.c: Leak of ReflectedTransformMap.
+
+2011-08-27 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclStringObj.c: [RFE 3396731]: Revise the [string reverse]
+ * tests/string.test: implementation to operate on the representation
+ that comes in, avoid conversion to other reps.
+
+2011-08-23 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclIORChan.c: [Bug 3396948]: Leak of ReflectedChannelMap.
+
+2011-08-19 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclIORTrans.c: [Bugs 3393279, 3393280]: ReflectClose(.) is
+ missing Tcl_EventuallyFree() calls at some of its exits.
+
+ * generic/tclIO.c: [Bugs 3394654, 3393276]: Revise FlushChannel() to
+ account for the possibility that the ChanWrite() call might recycle
+ the buffer out from under us.
+
+ * generic/tclIO.c: Preserve the chanPtr during FlushChannel so that
+ channel drivers don't yank it away before we're done with it.
+
2011-08-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
* generic/tclTest.c: [Bug 2981154]: async-4.3 segfault.
* tests/async.test: [Bug 1774689]: async-4.3 sometimes fails.
+2011-08-18 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * generic/tclIO.c: [Bug 3096275]: Sync fcopy buffers input.
+
2011-08-18 Jan Nijtmans <nijtmans@users.sf.net>
* generic/tclUniData.c: [Bug 3393714]: Overflow in toupper delta
* tools/uniParse.tcl
* tests/utf.test
+2011-08-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * generic/tclIO.c: [Bug 2946474]: Consistently resume backgrounded
+ * tests/ioCmd.test: flushes+closes when exiting.
+
+2011-08-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * doc/interp.n: Document TIP 378's one-way-ness.
+
2011-08-17 Don Porter <dgp@users.sourceforge.net>
* generic/tclGet.c: [Bug 3393150]: Overlooked free of intreps.
(It matters for bignums!)
-2011-08-16 Jan Nijtmans <nijtmans@users.sf.net>
+2011-08-16 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdAH.c: [Bug 3388350]: mingw64 compiler warnings
- * generic/tclFCmd.c In mingw, sys/stat.h must be included
- * generic/tclFileName.c before winsock2.h, so make sure of that.
- * generic/tclIOUtil.c
- * generic/tclBasic.c
- * generic/tclBinary.c
- * generic/tclHash.c
- * generic/tclTest.c
- * win/tclWinChan.c
- * win/tclWinConsole.c
- * win/tclWinDde.c
- * win/tclWinFile.c
- * win/tclWinReg.c
- * win/tclWinSerial.c
- * win/tclWinSock.c
- * win/tclWinThrd.c
+ * generic/tclCompile.c: [Bug 3392070]: More complete prevention of
+ Tcl_Obj reference cycles when producing an intrep of ByteCode.
+
+2011-08-16 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclListObj.c (TclLindexList, TclLsetFlat): Silence warnings
+ about (unreachable) cases of uninitialized variables.
+ * generic/tclCmdIL.c (SelectObjFromSublist): Improve the generation of
+ * generic/tclIndexObj.c (Tcl_ParseArgsObjv): messages through the use
+ * generic/tclVar.c (ArrayStartSearchCmd): of Tcl_ObjPrintf.
2011-08-15 Don Porter <dgp@users.sourceforge.net>
@@ -98,19 +192,44 @@
2011-08-15 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinPort.h: [Bug 3388350]: mingw64 compiler warnings
- * win/tclWinPipe.c
- * win/tclWinSock.c
+ * generic/tclPosixStr.c: [Bug 3388350]: mingw64 compiler warnings
+ * win/tclWinPort.h:
* win/configure.in
* win/configure
- * generic/tclPosixStr.c
- * generic/tclStrToD.c
+
+2011-08-14 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * doc/FindExec.3: [Patch 3124554]: Move WishPanic from Tk to Tcl
+ * doc/Panic.3 Added Documentation
2011-08-12 Don Porter <dgp@users.sourceforge.net>
* generic/tclPathObj.c: [Bug 3389764]: Eliminate possibility that dup
of a "path" value can create reference cycle.
+2011-08-12 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclZlib.c (ZlibTransformOutput): [Bug 3390073]: Return the
+ correct length of written data for a compressing transform.
+
+2011-08-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * generic/tclTestObj.c: [Bug 3386721]: Allow multiple [load]ing of the
+ Tcltest package.
+
+2011-08-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * generic/tclBasic.c: [Bug 2919042]: Restore "valgrindability" of Tcl
+ * generic/tclEvent.c: that was lost by the streamlining of [exit], by
+ * generic/tclExecute.c: conditionally forcing a full Finalize:
+ * generic/tclInt.h: use -DPURIFY or ::env(TCL_FINALIZE_ON_EXIT)
+
+2011-08-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * generic/tclCompCmds.c: [Bug 3386417]: Avoid a reference loop between
+ * generic/tclInt.h: the bytecode and its companion errostack
+ * generic/tclResult.c: when compiling a syntax error.
+
2011-08-09 Jan Nijtmans <nijtmans@users.sf.net>
* win/tclWinConsole.c: [Bug 3388350]: mingw64 compiler warnings
@@ -118,13 +237,120 @@
* win/tclWinPipe.c
* win/tclWinSerial.c
+2011-08-09 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclInt.h: Change the signature of TclParseHex(), such that
+ * generic/tclParse.c: it can now parse up to 8 hex characters.
+
+2011-08-08 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclZlib.c (ZlibStreamCmd): Make the -buffersize option to
+ '$zstream add' function correctly instead of having its value just be
+ discarded unceremoniously. Also generate error codes from more of the
+ code, not just the low-level code but also the Tcl infrastructure.
+
+2011-08-07 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclOOInfo.c (InfoClassCallCmd): [Bug 3387082]: Plug memory
+ leak in call chain introspection.
+
+2011-08-06 Kevin B, Kenny <kennykb@acm.org>
+
+ * generic/tclAssemnbly.c: [Bug 3384840]: Plug another memory leak.
+ * generic/tclStrToD.c: [Bug 3386975]: Plug another memory leak.
+
2011-08-05 Kevin B. Kenny <kennykb@acm.org>
* generic/tclStrToD.c: [Bug 3386975]: Plugged a memory leak in
double->string conversion.
+2011-08-05 Don Porter <dgp@users.sourceforge.net>
+
+ *** 8.6b2 TAGGED FOR RELEASE ***
+
+ * changes: Updates for 8.6b2 release.
+
+2011-08-05 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclAssembly.c (AssembleOneLine): Ensure that memory isn't
+ leaked when an unknown instruction is encountered. Also simplify code
+ through use of Tcl_ObjPrintf in error message generation.
+
+ * generic/tclZlib.c (ZlibTransformClose): [Bug 3386197]: Plug a memory
+ leak found by Miguel with valgrind, and ensure that the correct
+ direction's buffers are released.
+
+2011-08-04 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclVar.c (TclPtrSetVar): Fix valgrind-detected error when
+ newValuePtr is the interp's result obj.
+
+2011-08-04 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclAssembly.c (FreeAssemblyEnv): [Bug 3384840]: Plug another
+ possible memory leak due to over-complex code for freeing the table of
+ labels.
+
+2011-08-04 Reinhard Max <max@suse.de>
+
+ * generic/tclIOSock.c (TclCreateSocketAddress): Don't bother using
+ AI_ADDRCONFIG for now, as it was causing problems in various
+ situations.
+
+2011-08-04 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclAssembly.c (AssembleOneLine, GetBooleanOperand)
+ (GetIntegerOperand, GetListIndexOperand, FindLocalVar): [Bug 3384840]:
+ A Tcl_Obj is allocated by GetNextOperand, so callers of it must not
+ hold a reference to one in the 'out' parameter when calling it. This
+ was causing a great many memory leaks.
+ * tests/assemble.test (assemble-51.*): Added group of memory leak
+ tests.
+
+2011-08-02 Don Porter <dgp@users.sourceforge.net>
+
+ * changes: Updates for 8.6b2 release.
+ * tools/tcltk-man2html.tcl: Variable substitution botch.
+
+2011-08-02 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclObj.c (Tcl_DbIncrRefCount, Tcl_DbDecrRefCount)
+ (Tcl_DbIsShared): [Bug 3384007]: Fix the panic messages so they share
+ what should be shared and have the right number of spaces.
+
+2011-08-01 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclProc.c (TclProcCompileProc): [Bug 3383616]: Fix for leak
+ of resolveInfo when recompiling procs. Thanks go to Gustaf Neumann for
+ detecting the bug and providing the fix.
+
+2011-08-01 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/tclvars.n (EXAMPLES): Added some examples of how some of the
+ standard global variables can be used, following prompting by a
+ request by Robert Hicks.
+
+ * tools/tcltk-man2html.tcl (plus-pkgs): [Bug 3382474]: Added code to
+ determine the version number of contributed packages from their
+ directory names so that HTML documentation builds are less confusing.
+
+2011-07-29 Donal K. Fellows <dkf@users.sf.net>
+
+ * tools/tcltk-man2html.tcl (ensemble_commands, remap_link_target):
+ Small enhancements to improve cross-linking with contributed packages.
+ * tools/tcltk-man2html-utils.tcl (insert-cross-references): Enhance to
+ cope with contributed packages' C API.
+
+2011-07-28 Reinhard Max <max@suse.de>
+
+ * unix/tcl.m4 (SC_TCL_IPV6): Fix AC_DEFINE invocation for
+ NEED_FAKE_RFC2553.
+ * unix/configure: autoconf-2.59
+
2011-07-28 Don Porter <dgp@users.sourceforge.net>
+ * changes: Updates for 8.6b2 release.
+
* library/tzdata/Asia/Anadyr: Update to Olson's tzdata2011h
* library/tzdata/Asia/Irkutsk:
* library/tzdata/Asia/Kamchatka:
@@ -144,6 +370,12 @@
* library/tzdata/America/Kralendijk: (new)
* library/tzdata/America/Lower_Princes: (new)
+2011-07-26 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclOO.c (initScript): Ensure that TclOO is properly found by
+ all the various package mechanisms (by adding a dummy ifneeded script)
+ and not just some of them.
+
2011-07-21 Jan Nijtmans <nijtmans@users.sf.net>
* win/tclWinPort.h: [Bug 3372130]: Fix hypot math function with MSVC10
@@ -152,16 +384,68 @@
* generic/tclUtil.c: [Bug 3371644]: Repair failure to properly handle
* tests/util.test: (length == -1) scanning in TclConvertElement().
+ Thanks to Thomas Sader and Alexandre Ferrieux.
+
+2011-07-19 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/*.3, doc/*.n: Many small fixes to documentation as part of
+ project to improve quality of generated HTML docs.
+
+ * tools/tcltk-man2html.tcl (remap_link_target): More complete set of
+ definitions of link targets, especially for major C API types.
+ * tools/tcltk-man2html-utils.tcl (output-IP-list, cross-reference):
+ Update to generation to produce proper HTML bulleted and enumerated
+ lists.
+
+2011-07-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * doc/upvar.n: Undocument long gone limitation of [upvar].
+
+2011-07-18 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tcl.h: Bump version number to 8.6b2.
+ * library/init.tcl:
+ * unix/configure.in:
+ * win/configure.in:
+ * unix/tcl.spec:
+ * tools/tcl.wse.in:
+ * README:
+
+ * unix/configure: autoconf-2.59
+ * win/configure:
2011-07-15 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompile.c: Avoid segfaults when RecordByteCodeStats()
is called in a deleted interp.
+ * generic/tclCompile.c: [Bug 467523, 3357771]: Prevent circular
+ references in values with ByteCode intreps. They can lead to
+ memory leaks.
+
+2011-07-14 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclOOCall.c (TclOORenderCallChain): [Bug 3365156]: Remove
+ stray refcount bump that caused a memory leak.
+
+2011-07-12 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclUnixSock.c: [Bug 3364777]: Stop segfault caused by
+ reading from struct after it had been freed.
+
+2011-07-11 Joe Mistachkin <joe@mistachkin.com>
+
+ * generic/tclExecute.c: [Bug 3339502]: Correct cast for CURR_DEPTH to
+ silence compiler warning.
+
2011-07-08 Donal K. Fellows <dkf@users.sf.net>
* doc/http.n: [FRQ 3358415]: State what RFC defines HTTP/1.1.
+2011-07-07 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclBasic.c: Add missing INT2PTR
+
2011-07-03 Donal K. Fellows <dkf@users.sf.net>
* doc/FileSystem.3: Corrected statements about ctime field of 'struct
@@ -179,21 +463,19 @@
* unix/Makefile.in:
* win/Makefile.in:
* win/Makefile.vc:
- Fix a bug where bignum->double conversion is "round up" and
- not "round to nearest" (causing expr double(1[string repeat 0 23])
- not to be 1e+23). [Bug 3349507]
+ [Bug 3349507]: Fix a bug where bignum->double conversion is "round up"
+ and not "round to nearest" (causing expr double(1[string repeat 0 23])
+ not to be 1e+23).
-2011-06-30 Reinhard Max <max@suse.de>
+2011-06-28 Reinhard Max <max@suse.de>
- * unix/configure.in: Add a volatile declaration to the test for
- TCL_STACK_GROWS_UP to prevent gcc 4.6 from producing invalid
- results due to aggressive optimisation.
+ * unix/tclUnixSock.c (CreateClientSocket): [Bug 3325339]: Fix and
+ simplify posting of the writable fileevent at the end of an
+ asynchronous connection attempt. Improve comments for some of the
+ trickery around [socket -async].
-2011-06-23 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5.10 TAGGED FOR RELEASE ***
-
- * changes: Update for 8.5.10 release.
+ * tests/socket.test: Adjust tests to the async code changes. Add
+ more tests for corner cases of async sockets.
2011-06-22 Andreas Kupries <andreask@activestate.com>
@@ -205,24 +487,43 @@
* generic/tclInt.h: Fixed the inadvertently committed disabling of
stack checks, see my 2010-11-15 commit.
+2011-06-22 Reinhard Max <max@suse.de>
+
+ Merge from rmax-ipv6-branch:
+ * unix/tclUnixSock.c: Fix [socket -async], so that all addresses
+ returned by getaddrinfo() are tried, not just the first one. This
+ requires the event loop to be running while the async connection
+ is in progress. ***POTENTIAL INCOMPATIBILITY***
+ * tests/socket.test: Add a test for the above.
+ * doc/socket: Document the fact that -async needs the event loop
+ * generic/tclIOSock.c: AI_ADDRCONFIG is broken on HP-UX
+
2011-06-21 Don Porter <dgp@users.sourceforge.net>
- * changes: Update for 8.5.10 release.
+ * generic/tclLink.c: [Bug 3317466]: Prevent multiple links to a
+ single Tcl variable when calling Tcl_LinkVar().
- * library/tcltest/tcltest.tcl (loadIntoSlaveInterpreter):
- * library/tcltest/pkgIndex.tcl: Backport tcltest 2.3.3 for release
- * unix/Makefile.in: with Tcl 8.5.*.
- * win/Makefile.in:
+2011-06-13 Don Porter <dgp@users.sourceforge.net>
- * tests/init.test: Update test files to use new command.
- * tests/pkg.test:
+ * generic/tclStrToD.c: [Bug 3315098]: Mem leak fix from Gustaf Neumann.
- * generic/tclLink.c: Prevent multiple links to a single Tcl
- variable when calling Tcl_LinkVar(). [Bug 3317466]
+2011-06-08 Andreas Kupries <andreask@activestate.com>
-2011-06-13 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c: Reverted the fix for [Bug 3274728]
+ committed on 2011-04-06 and replaced with one which is
+ 64bit-safe. The existing fix crashed tclsh on Windows 64bit.
+
+2011-06-08 Donal K. Fellows <dkf@users.sf.net>
+
+ * tests/fileSystem.test: Reduce the amount of use of duplication of
+ complex code to perform common tests, and convert others to do the
+ test result check directly using Tcltest's own primitives.
+
+2011-06-06 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclStrToD.c: [Bug 3315098] Mem leak fix from Gustaf Neumann.
+ * tests/socket.test: Add test constraint, so 6.2 and 6.3 don't fail
+ when the machine does not have support for ip6. Follow-up to checkin
+ from 2011-05-11 by rmax.
2011-06-02 Don Porter <dgp@users.sourceforge.net>
@@ -237,22 +538,52 @@
created, for a slight performance drop (in some circumstances) and
improved semantics.
+2011-06-01 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclBasic.c: Using the two free data elements in NRCommand to
+ store objc and objv - useful for debugging.
+
2011-06-01 Jan Nijtmans <nijtmans@users.sf.net>
* generic/tclUtil.c: Fix for [Bug 3309871]: Valgrind finds:
invalid read in TclMaxListLength()
+2011-05-31 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclInt.h: Use a complete growth algorithm for lists
+ * generic/tclListObj.c: so that length limits do not overconstrain
+ * generic/tclStringObj.c: by a factor of 2. [Bug 3293874]:
+ * generic/tclUtil.c: Fix includes rooting all growth routines
+ by default on a commone tunable parameter TCL_MIN_GROWTH.
+
2011-05-25 Don Porter <dgp@users.sourceforge.net>
- * library/msgcat/msgcat.tcl: Backport improvements to msgcat
- * library/msgcat/pkgIndex.tcl: package. Bump to 1.4.4
+ * library/msgcat/msgcat.tcl: Bump to msgcat 1.4.4.
+ * library/msgcat/pkgIndex.tcl:
* unix/Makefile.in
* win/Makefile.in
+2011-05-25 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclOO.h (TCLOO_VERSION): Bump version.
+
+ IMPLEMENTATION OF TIP#381.
+
+ * doc/next.n, doc/ooInfo.n, doc/self.n, generic/tclOO.c,
+ * generic/tclOOBasic.c, generic/tclOOCall.c, generic/tclOOInfo.c,
+ * generic/tclOOInt.h, tests/oo.test, tests/ooNext2.test: Added
+ introspection of call chains ([self call], [info object call], [info
+ class call]) and ability to skip ahead in chain ([nextto]).
+
2011-05-24 Venkat Iyer <venkat@comit.com>
* library/tzdata/Africa/Cairo: Update to Olson tzdata2011g
+2011-05-24 Donal K. Fellows <dkf@users.sf.net>
+
+ * library/msgcat/msgcat.tcl (msgcat::mcset, msgcat::mcmset): Remove
+ some useless code; [dict set] builds dictionary levels for us.
+
2011-05-17 Andreas Kupries <andreask@activestate.com>
* generic/tclCompile.c (TclFixupForwardJump): Tracked down and fixed
@@ -263,6 +594,14 @@
would direct command A to the data for command B, with a different
number of arguments.
+2011-05-11 Reinhard Max <max@suse.de>
+
+ * unix/tclUnixSock.c (TcpWatchProc): No need to check for server
+ sockets here, as the generic server code already takes care of
+ that.
+ * tests/socket.test (accept): Add tests to make sure that this
+ remains so.
+
2011-05-10 Don Porter <dgp@users.sourceforge.net>
* generic/tclInt.h: New internal routines TclScanElement() and
@@ -276,11 +615,23 @@
* generic/tclUtil.c:
* tests/list.test:
+2011-05-09 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclNamesp.c (NamespacePathCmd): Convert to use Tcl_Obj API
+ * generic/tclPkg.c (Tcl_PackageObjCmd): for result generation in
+ * generic/tclTimer.c (Tcl_AfterObjCmd): [after info], [namespace
+ path] and [package versions].
+
2011-05-09 Don Porter <dgp@users.sourceforge.net>
* generic/tclListObj.c: Revise empty string tests so that we avoid
potentially expensive string rep generations, especially for dicts.
+2011-05-07 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclLoad.c (TclGetLoadedPackages): Convert to use Tcl_Obj API
+ for result generation.
+
2011-05-07 Miguel Sofer <msofer@users.sf.net>
* generic/tclInt.h: fix USE_TCLALLOC so that it can be enabled
@@ -296,6 +647,8 @@
* generic/tclUtil.c: Tighten Tcl_SplitList().
* generic/tclListObj.c: Tighten SetListFromAny().
* generic/tclDictObj.c: Tighten SetDictFromAny().
+ * tests/join.test:
+ * tests/mathop.test:
2011-05-02 Don Porter <dgp@users.sourceforge.net>
@@ -304,7 +657,7 @@
* generic/tclListObj.c: of a boolean var, where the caller can be told
* generic/tclParse.c: whether or not the parsed list element was
* generic/tclUtil.c: enclosed in braces. In practice, no callers
- really care about that. What the callers really want to know is
+ really care about that. What the callers really want to know is
whether the list element value exists as a literal substring of the
string being parsed, or whether a call to TclCopyAndCollpase() is
needed to produce the list element value. Now the final argument
@@ -319,15 +672,15 @@
* tests/parse.test: Tests for expanded literals quoting detection.
- * generic/tclCompCmds.c: New TclFindElement() is also a better
+ * generic/tclCompCmdsSZ.c: New TclFindElement() is also a better
fit for the [switch] compiler.
* generic/tclInt.h: Replace TclCountSpaceRuns() with
* generic/tclListObj.c: TclMaxListLength() which is the function we
* generic/tclUtil.c: actually want.
- * generic/tclCompCmds.c:
+ * generic/tclCompCmdsSZ.c:
- * generic/tclCompCmds.c: Rewrite of parts of the switch compiler to
+ * generic/tclCompCmdsSZ.c: Rewrite of parts of the switch compiler to
better use the powers of TclFindElement() and do less parsing on
its own.
@@ -342,24 +695,23 @@
* generic/tclStrToD.c:
* generic/tclUtf.c:
* unix/tclUnixFile.c:
-
-2011-04-27 Don Porter <dgp@users.sourceforge.net>
- * generic/tclListObj.c: FreeListInternalRep() cleanup.
+ * generic/tclStringObj.c: Improved reaction to out of memory.
- * generic/tclBinary.c: Backport fix for [Bug 2857044].
- * generic/tclDictObj.c: All freeIntRepProcs set typePtr to NULL.
- * generic/tclEncoding.c:
+2011-04-27 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclCmdMZ.c: TclFreeIntRep() correction & cleanup.
+ * generic/tclExecute.c:
* generic/tclIndexObj.c:
+ * generic/tclInt.h:
* generic/tclListObj.c:
* generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclPathObj.c:
- * generic/tclProc.c:
- * generic/tclRegexp.c:
+ * generic/tclResult.c:
* generic/tclStringObj.c:
* generic/tclVar.c:
+ * generic/tclListObj.c: FreeListInternalRep() cleanup.
+
2011-04-21 Don Porter <dgp@users.sourceforge.net>
* generic/tclInt.h: Use macro to set List intreps.
@@ -368,6 +720,7 @@
* generic/tclCmdIL.c: Limits on list length were too strict.
* generic/tclInt.h: Revised panics to errors where possible.
* generic/tclListObj.c:
+ * tests/lrepeat.test:
* generic/tclCompile.c: Make sure SetFooFromAny routines react
* generic/tclIO.c: reasonably when passed a NULL interp.
@@ -386,14 +739,6 @@
* win/configure.in: for Tcl_StatBuf - the one used by MSVC6 -
* win/configure: in all situations.
-2011-04-20 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclFCmd.c (TclFileAttrsCmd): Added commands to reset the
- typePtr of the Tcl_Obj* whose int-rep was just purged. Required to
- prevent a dangling IndexRep* to reused, smashing the heap. See
- also the entries at 2011-04-16 and 2011-03-24 for the history of
- the problem.
-
2011-04-19 Don Porter <dgp@users.sourceforge.net>
* generic/tclConfig.c: Reduce internals access in the implementation
@@ -409,12 +754,16 @@
* generic/tclBasic.c: a Tcl list value is canonical.
* generic/tclUtil.c:
+2011-04-18 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/dict.n: [Bug 3288696]: Command summary was confusingly wrong
+ when it came to [dict filter] with a 'value' filter.
+
2011-04-16 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclFCmd.c (TclFileAttrsCmd): Tidied up the memory management
- a bit to try to ensure that the dynamic and static cases don't get
- confused while still promoting caching where possible. Added a panic
- to trap problems in the case where an extension is misusing the API.
+ * generic/tclFCmd.c (TclFileAttrsCmd): Add comments to make this code
+ easier to understand. Added a panic to handle the case where the VFS
+ layer does something odd.
2011-04-13 Don Porter <dgp@users.sourceforge.net>
@@ -432,9271 +781,5879 @@
* generic/tclVar.c: [Bug 2662380]: Fix crash caused by appending to a
variable with a write trace that unsets it.
+2011-04-13 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclUtil.c (Tcl_ConcatObj): [Bug 3285375]: Make the crash
+ less mysterious through the judicious use of a panic. Not yet properly
+ fixed, but at least now clearer what the failure mode is.
+
2011-04-12 Don Porter <dgp@users.sourceforge.net>
- * generic/tclStringObj.c: [Bug 3285472]: Repair corruption in
- * tests/string.test: [string reverse] when string rep invalidation
- failed to also reset the bytes allocated for string rep to zero.
+ * tests/string.test: Test for [Bug 3285472]. Not buggy in trunk.
2011-04-12 Venkat Iyer <venkat@comit.com>
* library/tzdata/Atlantic/Stanley: Update to Olson tzdata2011f
-2011-04-06 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TclCompEvalObj): Earlier return if Tip280
- gymnastics not needed.
-
-2011-04-05 Venkat Iyer <venkat@comit.com>
-
- * library/tzdata/Africa/Casablanca: Update to Olson's tzdata2011e
- * library/tzdata/America/Santiago:
- * library/tzdata/Pacific/Easter:
- * library/tzdata/America/Metlakatla: (new)
- * library/tzdata/America/North_Dakota/Beulah: (new)
- * library/tzdata/America/Sitka: (new)
+2011-04-12 Miguel Sofer <msofer@users.sf.net>
-2011-04-04 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBasic.c: Fix for [Bug 2440625], kbk's patch
- * README: Updated README files, repairing broken URLs and
- * macosx/README: removing other bits that were clearly wrong.
- * unix/README: Still could use more eyeballs on the detailed build
- * win/README: advice on various plaforms. [Bug 3202030]
+2011-04-11 Miguel Sofer <msofer@users.sf.net>
-2011-04-02 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclBasic.c:
+ * tests/coroutine.test: [Bug 3282869]: Ensure that 'coroutine eval'
+ runs the initial command in the proper context.
- * generic/tclStrToD.c (QuickConversion): Replaced another couple of
- 'double' declarations with 'volatile double' to work around
- misrounding issues in mingw-gcc 3.4.5.
+2011-04-11 Jan Nijtmans <nijtmans@users.sf.net>
-2011-03-24 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tcl.h: Fix for [Bug 3281728]: Tcl sources from 2011-04-06
+ * unix/tcl.m4: do not build on GCC9 (RH9)
+ * unix/configure:
- * generic/tclFCmd.c (TclFileAttrsCmd): Ensure that any reference to
- temporary index tables is squelched immediately rather than hanging
- around to trip us up in the future.
+2011-04-08 Jan Nijtmans <nijtmans@users.sf.net>
-2011-03-21 Jan Nijtmans <nijtmans@users.sf.net>
+ * win/tclWinPort.h: Fix for [Bug 3280043]: win2k: unresolved DLL
+ * win/configure.in: imports.
+ * win/configure
- * unix/tclLoadDl.c: [Bug #3216070]: Loading extension libraries
- * unix/tclLoadDyld.c: from embedded Tcl applications.
+2011-04-06 Miguel Sofer <msofer@users.sf.net>
-2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclExecute.c (TclCompileObj): Earlier return if Tip280
+ gymnastics not needed.
- * generic/tclCkalloc.c: [Bug #3197864]: pointer truncation on Win64
- TCL_MEM_DEBUG builds
+ * generic/tclExecute.c: Fix for [Bug 3274728]: making *catchTop an
+ unsigned long.
-2011-03-16 Don Porter <dgp@users.sourceforge.net>
+2011-04-06 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c: Some rewrites to eliminate calls to
- * generic/tclParse.c: isspace() and their /* INTL */ risk.
- * generic/tclProc.c:
+ * unix/tclAppInit.c: Make symbols "main" and "Tcl_AppInit"
+ MODULE_SCOPE: there is absolutely no reason for exporting them.
+ * unix/tcl.m4: Don't use -fvisibility=hidden with static
+ * unix/configure libraries (--disable-shared)
-2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
+2011-04-06 Donal K. Fellows <dkf@users.sf.net>
- * unix/tcl.m4: Make SHLIB_LD_LIBS='${LIBS}' the default and
- * unix/configure: set to "" on per-platform necessary basis.
- Backported from TEA, but kept all original platform code which was
- removed from TEA.
+ * generic/tclFCmd.c, macosx/tclMacOSXFCmd.c, unix/tclUnixChan.c,
+ * unix/tclUnixFCmd.c, win/tclWinChan.c, win/tclWinDde.c,
+ * win/tclWinFCmd.c, win/tclWinLoad.c, win/tclWinPipe.c,
+ * win/tclWinReg.c, win/tclWinSerial.c, win/tclWinSock.c: More
+ generation of error codes (most platform-specific parts not already
+ using Tcl_PosixError).
-2011-03-14 Kevin B. Kenny <kennykb@acm.org>
+2011-04-05 Venkat Iyer <venkat@comit.com>
- * tools/tclZIC.tcl (onDayOfMonth): Allow for leading zeroes
- in month and day so that tzdata2011d parses correctly.
- * library/tzdata/America/Havana:
- * library/tzdata/America/Juneau:
+ * library/tzdata/Africa/Casablanca: Update to Olson's tzdata2011e
* library/tzdata/America/Santiago:
- * library/tzdata/Europe/Istanbul:
- * library/tzdata/Pacific/Apia:
* library/tzdata/Pacific/Easter:
- * library/tzdata/Pacific/Honolulu: tzdata2011d
+ * library/tzdata/America/Metlakatla: (new)
+ * library/tzdata/America/North_Dakota/Beulah: (new)
+ * library/tzdata/America/Sitka: (new)
+2011-04-04 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure.in: [Bug 3205320]: stack space detection defeated by inlining
- * unix/configure: (autoconf-2.59)
+ * generic/tclOO.c, generic/tclOOBasic.c, generic/tclOODefineCmds.c
+ * generic/tclOOInfo.c, generic/tclOOMethod.c: More generation of
+ error codes (TclOO miscellany).
-2011-03-09 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdAH.c, generic/tclCmdIL.c: More generation of error
+ codes (miscellaneous commands mostly already handled).
- * generic/tclNamesp.c: Tighten the detector of nested [namespace code]
- * tests/namespace.test: quoting that the quoted scripts function
- properly even in a namespace that contains a custom "namespace"
- command. [Bug 3202171]
+2011-04-04 Don Porter <dgp@users.sourceforge.net>
- * doc/tclvars.n: Formatting fix. Thanks to Pat Thotys.
+ * README: [Bug 3202030]: Updated README files, repairing broken
+ * macosx/README:URLs and removing other bits that were clearly wrong.
+ * unix/README: Still could use more eyeballs on the detailed build
+ * win/README: advice on various plaforms.
-2011-03-08 Jan Nijtmans <nijtmans@users.sf.net>
+2011-04-04 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBasic.c: Fix gcc warnings: variable set but not used
+ * library/init.tcl (tcl::mathfunc::rmmadwiw): Disable by default to
+ make test suite work.
-2011-03-08 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBasic.c, generic/tclStringObj.c, generic/tclTimer.c,
+ * generic/tclTrace.c, generic/tclUtil.c: More generation of error
+ codes ([format], [after], [trace], RE optimizer).
- * generic/tclInt.h: Remove TclMarkList() routine, an experimental
- * generic/tclUtil.c: dead-end from the 8.5 alpha days.
+2011-04-04 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclResult.c (ResetObjResult): Correct failure to clear
- invalid intrep. Thanks to Colin McDonald. [Bug 3202905]
+ * generic/tclCmdAH.c: Better error-message in case of errors
+ * generic/tclCmdIL.c: related to setting a variable. This fixes
+ * generic/tclDictObj.c: a warning: "Why make your own error
+ * generic/tclScan.c: message? Why?"
+ * generic/tclTest.c:
+ * test/error.test:
+ * test/info.test:
+ * test/scan.test:
+ * unix/tclUnixThrd.h: Remove this unused header file.
-2011-03-06 Don Porter <dgp@users.sourceforge.net>
+2011-04-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() calls
- * generic/tclCompile.c: with TclParseBackslash() where possible.
- * generic/tclParse.c:
- * generic/tclUtil.c:
+ * generic/tclNamesp.c, generic/tclObj.c, generic/tclPathObj.c:
+ * generic/tclPipe.c, generic/tclPkg.c, generic/tclProc.c:
+ * generic/tclScan.c: More generation of error codes (namespace
+ creation, path normalization, pipeline creation, package handling,
+ procedures, [scan] formats)
- * generic/tclUtil.c (TclFindElement): Guard escape sequence scans
- to not overrun the string end. [Bug 3192636]
+2011-04-02 Kevin B. Kenny <kennykb@acm.org>
-2011-03-05 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStrToD.c (QuickConversion): Replaced another couple
+ of 'double' declarations with 'volatile double' to work around
+ misrounding issues in mingw-gcc 3.4.5.
- * generic/tclParse.c (TclParseBackslash): Correct trunction checks in
- * tests/parse.test: \x and \u substitutions. [Bug 3200987]
+2011-04-02 Donal K. Fellows <dkf@users.sf.net>
-2011-01-26 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclInterp.c, generic/tclListObj.c, generic/tclLoad.c:
+ More generation of errorCodes ([interp], [lset], [load], [unload]).
- * doc/RegExp.3: [Bug 3165108]: Corrected documentation of description
- of subexpression info in Tcl_RegExpInfo structure.
+ * generic/tclEvent.c, generic/tclFileName.c: More generation of
+ errorCode information (default [bgerror] and [glob]).
-2011-01-25 Jan Nijtmans <nijtmans@users.sf.net>
+2011-04-01 Reinhard Max <max@suse.de>
- * generic/tclCkalloc.c: [Bug 3129448]: Possible over-allocation on
- * generic/tclHash.c: 64-bit platforms, part 2, backported
- * generic/tclProc.c: strcpy->memcpy change but not change in any
- struct.
+ * library/init.tcl: TIP#131 implementation.
-2011-01-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2011-03-31 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclExecute.c: [Bug 3138178]: Backport of Miguel's 2010-09-22
- fix on 8.6 branch (decache stack info wherever ::errorInfo may be
- updated, for trace sanity).
+ * generic/tclGetDate.y, generic/tclDate.c (TclClockOldscanObjCmd):
+ More generation of errorCode information.
-2011-01-19 Jan Nijtmans <nijtmans@users.sf.net>
+2011-03-28 Donal K. Fellows <dkf@users.sf.net>
- * tools/genStubs.tcl: Make sure to use CONST/VOID in stead of
- * generic/tclIntDecls.h: const/void when appropriate. This allows to
- * generic/tclIntPlatDecls.h:use const/void in the *.decls file always,
- * generic/tclTomMathDecls.h:genStubs will do the right thing.
+ * generic/tclCmdMZ.c, generic/tclConfig.c, generic/tclUtil.c: More
+ generation of errorCode information, notably when lists are
+ mis-parsed.
-2011-01-18 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclCmdMZ.c (Tcl_RegexpObjCmd, Tcl_RegsubObjCmd): Use the
+ error messages generated by the variable management code rather than
+ creating our own.
- * generic/tclBasic.c: Various mismatches between Tcl_Panic
- * generic/tclCompCmds.c: format string and its arguments,
- * generic/tclCompExpr.c: discovered thanks to [Bug 3159920]
- * generic/tclPreserve.c: (Backported)
- * generic/tclTest.c:
+2011-03-27 Miguel Sofer <msofer@users.sf.net>
-2011-01-17 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclBasic.c (TclNREvalObjEx): fix performance issue,
+ notably apparent in tclbench's "LIST lset foreach". Many thanks to
+ twylite for patiently researching the issue and explaining it to
+ me: a missing Tcl_ResetObjResult that causes unwanted sharing of
+ the current result Tcl_Obj.
- * win/tcl.m4: handle --enable-64bit=ia64 for gcc. BACKPORT.
- * win/configure: (autoconf-2.59)
- * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1
- * generic/tclIOCmd.c: [Bug 3148192]: Commands "read/puts" incorrectly
- * tests/chanio.test: interpret parameters. Improved error-message
- * tests/io.test regarding legacy form.
- * tests/ioCmd.test
+2011-03-26 Donal K. Fellows <dkf@users.sf.net>
-2011-01-15 Kevin B. Kenny <kennykb@users.sf.net>
+ * generic/tclNamesp.c (Tcl_Export, Tcl_Import, DoImport): More
+ generation of errorCode information.
- * doc/tclvars.n:
- * generic/tclStrToD.c:
- * generic/tclUtil.c (Tcl_PrintDouble):
- * tests/util.test (util-16.*): Restored full Tcl 8.4 compatibility
- for the formatting of floating point numbers when $::tcl_precision
- is not zero. Added compatibility tests to make sure that excess
- trailing zeroes are suppressed for all eight major code paths.
- [Bug 3157475]
+ * generic/tclCompExpr.c, generic/tclCompile.c, generic/tclExecute.c:
+ * generic/tclListObj.c, generic/tclNamesp.c, generic/tclObj.c:
+ * generic/tclStringObj.c, generic/tclUtil.c: Reduce the number of
+ casts used to manage Tcl_Obj internal representations.
-2011-01-13 Miguel Sofer <msofer@users.sf.net>
+2011-03-24 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c (GrowEvaluationStack): Off-by-one error in
- sizing the new allocation - was ok in comment but wrong in the code.
- Triggered by [Bug 3142026] which happened to require exactly one more
- than what was in existence. BACKPORT.
-
-2011-01-03 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tools/genStubs.tcl: Fix "make genstubs", which was broken
- since 2010-11-30, the TclDoubleDigits backport.
+ * generic/tcl.h (ckfree,etc.): Restored C++ usability to the memory
+ allocation and free macros.
-2010-12-31 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclHash.c: [Bug 3007895]: Tcl_(Find|Create)HashEntry
- stub entries can never be called. They still cannot be called
- (no change in functionality), but at least they now do
- exactly the same as the Tcl_(Find|Create)HashEntry macro's,
- so the confusion addressed in this Bug report is gone.
- (Backported from Tcl 8.6)
+2011-03-24 Donal K. Fellows <dkf@users.sf.net>
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
+ * generic/tclFCmd.c (TclFileAttrsCmd): Ensure that any reference to
+ temporary index tables is squelched immediately rather than hanging
+ around to trip us up in the future.
- * unix/Makefile.in: Remove unwanted/obsolete 'ddd' target.
+2011-03-23 Miguel Sofer <msofer@users.sf.net>
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
+ * generic/tclObj.c: Exploit HAVE_FAST_TSD for the deletion context in
+ TclFreeObj()
- * unix/Makefile.in: [Bug 2446711]: Remove 'allpatch' target.
+2011-03-22 Miguel Sofer <msofer@users.sf.net>
-2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
+ * generic/tclThreadAlloc.c: Simpler initialization of Cache under
+ HAVE_FAST_TSD, from mig-alloc-reform.
- * unix/Makefile.in: Use 'rpmbuild', not 'rpm' [Bug 2537626].
+2011-03-21 Jan Nijtmans <nijtmans@users.sf.net>
-2010-12-13 Jan Nijtmans <nijtmans@users.sf.net>
+ * unix/tclLoadDl.c: [Bug #3216070]: Loading extension libraries
+ * unix/tclLoadDyld.c: from embedded Tcl applications.
- * unix/tcl.m4: Cross-compile support for Win and UNIX (backported)
- * unix/configure: (autoconf-2.59)
- * win/tcl.m4:
- * win/configure.in:
- * win/configure: (autoconf-2.59)
+2011-03-21 Miguel Sofer <msofer@users.sf.net>
-2010-12-12 Stuart Cassoff <stwo@users.sourceforge.net>
+ * generic/tclCkAlloc.c:
+ * generic/tclInt.h: Remove one level of allocator indirection in
+ non-memdebug builds, imported from mig-alloc-reform.
- * unix/tcl.m4: Better building on OpenBSD.
- * unix/configure: (autoconf-2.59)
+2011-03-20 Miguel Sofer <msofer@users.sf.net>
-2010-12-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+ * generic/tclThreadAlloc.c: Imported HAVE_FAST_TSD support from
+ mig-alloc-reform. The feature has to be enabled by hand: no autoconf
+ support has been added. It is not clear how universal a build using
+ this will be: it also requires some loader support.
- * generic/tclIO.c: [backport] Make sure [fcopy -size ... -command ...] always
- * tests/io.test: calls the callback asynchronously, even for size zero.
+2011-03-17 Donal K. Fellows <dkf@users.sf.net>
-2010-12-03 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclCompExpr.c (ParseExpr): Generate errorCode information on
+ failure to parse expressions.
- * generic/tclUtil.c (TclReToGlob): add extra check for multiple
- inner *s that leads to poor recursive glob matching, defer to
- original RE instead. tclbench RE var backtrack.
+2011-03-17 Jan Nijtmans <nijtmans@users.sf.net>
-2010-12-01 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclMain.c: [Patch 3124683]: Reorganize the platform-specific
+ stuff in (tcl|tk)Main.c.
- * generic/tclStrToD.c (SetPrecisionLimits, TclDoubleDigits):
- Added meaningless initialization of 'i', 'ilim' and 'ilim1'
- to silence warnings from the C compiler about possible use of
- uninitialized variables, Added a panic to the 'switch' that
- assigns them, to assert that the 'default' case is impossible.
- [Bug 3124675]
+2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
-2010-11-30 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCkalloc.c: [Bug 3197864]: Pointer truncation on Win64
+ TCL_MEM_DEBUG builds.
- * generic/tclInt.decls: Backport of Kevin B. Kenny's work on
- * generic/tclInt.h: the Tcl Head, with help from Jeff Hobbs.
- * generic/tclStrToD.c:
- * generic/tclTest.c:
- * generic/tclTomMath.decls:
- * generic/tclUtil.c:
- * tests/util.test:
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc: Rewrite of Tcl_PrintDouble and TclDoubleDigits
- that (a) fixes a severe performance problem with floating point
- shimmering reported by Karl Lehenbauer, (b) allows TclDoubleDigits
- to generate the digit strings for 'e' and 'f' format, so that it
- can be used for tcl_precision != 0 (and possibly later for [format]),
- (c) fixes [Bug 3120139] by making TclPrintDouble inherently
- locale-independent, (d) adds test cases to util.test for
- correct rounding in difficult cases of TclDoubleDigits where fixed-
- precision results are requested. (e) adds test cases to util.test for
- the controversial aspects of [Bug 3105247]. As a side effect, two
- more modules from libtommath (bn_mp_set_int.c and bn_mp_init_set_int.c)
- are brought into the build, since the new code uses them.
+2011-03-16 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclTomMathDecls.h: Regenerated.
+ * generic/tclBasic.c: Some rewrites to eliminate calls to
+ * generic/tclParse.c: isspace() and their /* INTL */ risk.
+ * generic/tclProc.c:
-2010-11-30 Jeff Hobbs <jeffh@ActiveState.com>
+2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.decls, generic/tclInt.h, generic/tclIntDecls.h:
- * generic/tclStubInit.c: TclFormatInt restored at slot 24
- * generic/tclUtil.c (TclFormatInt): restore TclFormatInt func from
- 2005-07-05 macro-ization. Benchmarks indicate it is faster, as a
- key int->string routine (e.g. int-indexed arrays).
+ * unix/tcl.m4: Make SHLIB_LD_LIBS='${LIBS}' the default and
+ * unix/configure: set to "" on per-platform necessary basis.
+ Backported from TEA, but kept all original platform code which was
+ removed from TEA.
-2010-11-23 Andreas Kupries <andreask@activestate.com>
+2011-03-14 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclVar.c (VarHashInvalidateEntry): Removed obsolete
- patch for AIX defining this macro as function. This is not
- necessary anymore. See ChangeLog entry 2010-07-28 (Bug 3037525)
- for the actual bug and fix the patch was a workaround for.
+ * tools/tclZIC.tcl (onDayOfMonth): Allow for leading zeroes in month
+ and day so that tzdata2011d parses correctly.
+ * library/tzdata/America/Havana:
+ * library/tzdata/America/Juneau:
+ * library/tzdata/America/Santiago:
+ * library/tzdata/Europe/Istanbul:
+ * library/tzdata/Pacific/Apia:
+ * library/tzdata/Pacific/Easter:
+ * library/tzdata/Pacific/Honolulu: tzdata2011d
-2010-11-19 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclAssembly.c (BBEmitInstInt1): Changed parameter data types
+ in an effort to silence a MSVC warning reported by Ashok P. Nadkarni.
+ Unable to test, since both forms work on my machine in VC2005, 2008,
+ 2010, in both release and debug builds.
+ * tests/tclTest.c (TestdstringCmd): Restored MSVC buildability broken
+ by [5574bdd262], which changed the effective return type of 'ckalloc'
+ from 'char*' to 'void*'.
- * generic/tclInterp.c: fix gcc warning: passing argument 3 of
- 'Tcl_GetIndexFromObj' discards qualifiers from pointer target type
- * generic/tclWinInit.c: fix gcc warning: dereferencing pointer
- 'oemId' does break strict-aliasing rules
- * win/tclWin32Dll.c: fix gcc warnings: unused variable 'registration'
- * win/tclWinChan.c:
- * win/tclWinFCmd.c:
- * win/configure.in: Allow cross-compilation by default. (backported)
- * win/tcl.m4: Use -pipe for gcc on win32 (backported)
- * win/configure: (regenerated)
+2011-03-13 Miguel Sofer <msofer@users.sf.net>
-2010-11-18 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclExecute.c: remove TEBCreturn()
- * doc/file.n: [Bug 3111298]: Typofix.
+2011-03-12 Donal K. Fellows <dkf@users.sf.net>
-2010-11-16 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tcl.h (ckalloc,ckfree,ckrealloc): Moved casts into these
+ macro so that they work with VOID* (which is a void* on all platforms
+ which Tcl actually builds on) and unsigned int for the length
+ parameters, removing the need for MANY casts across the rest of Tcl.
+ Note that this is a strict source-level-only change, so size_t cannot
+ be used (would break binary compatibility on 64-bit platforms).
- * generic/tclPlatDecls.h: [Bug 3110161]: Extensions using TCHAR don't
- compile on VS2005 SP1
+2011-03-12 Jan Nijtmans <nijtmans@users.sf.net>
-2010-11-15 Andreas Kupries <andreask@activestate.com>
+ * win/tclWinFile.c: [Bug 3185609]: File normalization corner case
+ of ... broken with -DUNICODE
- * doc/interp.n: [Bug 3081184]: TIP #378 backport.
- * doc/tclvars.n: Performance fix for TIP #280.
- * generic/tclBasic.c:
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclInterp.c:
- * tests/info.test:
- * tests/interp.test:
+2011-03-11 Donal K. Fellows <dkf@users.sf.net>
-2010-11-03 Kevin B. Kenny <kennykb@acm.org>
+ * tests/unixInit.test: Make better use of tcltest2.
- * generic/tclCompCmds.c (TclCompileCatchCmd):
- * tests/compile.test (compile-3.6): [Bug 3098302]: Reworked the
- compilation of the [catch] command so as to avoid placing any code
- that might throw an exception (specifically, any initial substitutions
- or any stores to result or options variables) between the BEGIN_CATCH
- and END_CATCH but outside the exception range. Added a test case that
- panics on a stack smash if the change is not made.
+2011-03-10 Donal K. Fellows <dkf@users.sf.net>
-2010-11-01 Stuart Cassoff <stwo@users.sourceforge.net>
+ * generic/tclBasic.c, generic/tclCompCmds.c, generic/tclEnsemble.c:
+ * generic/tclInt.h, generic/tclNamesp.c, library/auto.tcl:
+ * tests/interp.test, tests/namespace.test, tests/nre.test:
+ Converted the [namespace] command into an ensemble. This has the
+ consequence of making it vital for Tcl code that wishes to work with
+ namespaces to _not_ delete the ::tcl namespace.
+ ***POTENTIAL INCOMPATIBILITY***
- * library/safe.tcl: Improved handling of non-standard module
- * tests/safe.test: path lists, empty path lists in particular.
+ * library/tcltest/tcltest.tcl (loadIntoSlaveInterpreter): Added this
+ command to handle connecting tcltest to a slave interpreter. This adds
+ in the hook (inside the tcltest namespace) that allows the tests run
+ in the child interpreter to be reported as part of the main sequence
+ of test results. Bumped version of tcltest to 2.3.3.
+ * tests/init.test, tests/package.test: Adapted these test files to use
+ the new feature.
-2010-11-01 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclAlloc.c, generic/tclCmdMZ.c, generic/tclCompExpr.c:
+ * generic/tclCompile.c, generic/tclEnv.c, generic/tclEvent.c:
+ * generic/tclIO.c, generic/tclIOCmd.c, generic/tclIORChan.c:
+ * generic/tclIORTrans.c, generic/tclLiteral.c, generic/tclNotify.c:
+ * generic/tclParse.c, generic/tclStringObj.c, generic/tclUtil.c:
+ * generic/tclZlib.c, unix/tclUnixFCmd.c, unix/tclUnixNotfy.c:
+ * unix/tclUnixPort.h, unix/tclXtNotify.c: Formatting fixes, mainly to
+ comments, so code better fits the style in the Engineering Manual.
- * library/tzdata/Asia/Hong_Kong:
- * library/tzdata/Pacific/Apia:
- * library/tzdata/Pacific/Fiji: Olson's tzdata2010o.
+2011-03-09 Donal K. Fellows <dkf@users.sf.net>
-2010-10-23 Jan Nijtmans <nijtmans@users.sf.net>
+ * tests/incr.test: Update more of the test suite to use Tcltest 2.
- * tools/uniParse.tcl: [Bug 3085863]: tclUniData 9 years old
- * tools/uniClass.tcl: Upgrade everything to Unicode 6.0, except
- * tests/utf.test: non-BMP characters > 0xFFFF
- * generic/tclUniData.c: (re-generated)
- * generic/regc_locale.c:(re-generated)
- * generic/regcomp.c: fix comment
- * win/rules.vc Update for VS10
+2011-03-09 Don Porter <dgp@users.sourceforge.net>
-2010-10-09 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclNamesp.c: [Bug 3202171]: Tighten the detector of nested
+ * tests/namespace.test: [namespace code] quoting that the quoted
+ scripts function properly even in a namespace that contains a custom
+ "namespace" command.
- * generic/tclExecute.c: fix overallocation of exec stack in TEBC
- (mixing numwords and numbytes)
+ * doc/tclvars.n: Formatting fix. Thanks to Pat Thotys.
-2010-10-01 Jeff Hobbs <jeffh@ActiveState.com>
+2011-03-09 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclExecute.c (EvalStatsCmd): change 'evalstats' to
- return data to interp by default, or if given an arg, use that as
- filename to output to (accepts 'stdout' and 'stderr').
- Fix output to print used inst count data.
- * generic/tclCkalloc.c: change TclDumpMemoryInfo sig to allow
- * generic/tclInt.decls: objPtr as well as FILE* as output.
- * generic/tclIntDecls.h:
+ * tests/dstring.test, tests/init.test, tests/link.test: Update more of
+ the test suite to use Tcltest 2.
-2010-09-24 Andreas Kupries <andreask@activestate.com>
+2011-03-08 Jan Nijtmans <nijtmans@users.sf.net>
- * tclWinsock.c: [Bug 3056775]: Fixed race condition between thread
- and internal co-thread access of a socket's structure because of
- the thread not using the socketListLock in TcpAccept(). Added
- documentation on how the module works to the top.
+ * generic/tclBasic.c: Fix gcc warnings: variable set but not used
+ * generic/tclProc.c:
+ * generic/tclIORChan.c:
+ * generic/tclIORTrans.c:
+ * generic/tclAssembly.c: Fix gcc warning: comparison between signed
+ and unsigned integer expressions
-2010-09-23 Don Porter <dgp@users.sourceforge.net>
+2011-03-08 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdAH.c: Fix cases where value returned by
- * generic/tclEvent.c: Tcl_GetReturnOptions() was leaked.
- * generic/tclMain.c: Thanks to Jeff Hobbs for discovery of the
- anti-pattern to seek and destroy.
+ * generic/tclInt.h: Remove TclMarkList() routine, an experimental
+ * generic/tclUtil.c: dead-end from the 8.5 alpha days.
-2010-09-19 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclResult.c (ResetObjResult): [Bug 3202905]: Correct failure
+ to clear invalid intrep. Thanks to Colin McDonald.
- * doc/file.n (file readlink): [Bug 3070580]: Typofix.
+2011-03-08 Donal K. Fellows <dkf@users.sf.net>
-2010-09-10 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclAssembly.c, tests/assemble.test: Migrate to use a style
+ more consistent with the rest of Tcl.
- * doc/regsub.n: [Bug 3063568]: Fix for gotcha in example due to Tcl's
- special handling of backslash-newline. Makes example slightly less
- pure, but more useful.
+2011-03-06 Don Porter <dgp@users.sourceforge.net>
-2010-09-08 Andreas Kupries <andreask@activestate.com>
+ * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() calls
+ * generic/tclCompile.c: with TclParseBackslash() where possible.
+ * generic/tclCompCmdsSZ.c:
+ * generic/tclParse.c:
+ * generic/tclUtil.c:
- *** 8.5.9 TAGGED FOR RELEASE ***
+ * generic/tclUtil.c (TclFindElement): [Bug 3192636]: Guard escape
+ sequence scans to not overrun the string end.
- * doc/tm.n: Added underscore to the set of characters accepted in
- module names. This is true for quite some time in the code, this
- change catches up the documentation.
+2011-03-05 Don Porter <dgp@users.sourceforge.net>
-2010-09-08 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclParse.c (TclParseBackslash): [Bug 3200987]: Correct
+ * tests/parse.test: trunction checks in \x and \u substitutions.
- * changes: Update for 8.5.9 release.
+2011-03-05 Miguel Sofer <msofer@users.sf.net>
- * win/tclWin32Dll.c: #ifdef protections to permit builds with
- * win/tclWinChan.c: mingw on amd64 systems. Thanks to "mescalinum"
- * win/tclWinFCmd.c: for reporting and testing.
+ * generic/tclExecute.c (TclStackFree): insure that the execStack
+ satisfies "at most one free stack after the current one" when
+ consecutive reallocs caused the creation of intervening stacks.
-2010-09-06 Stuart Cassoff <stwo@users.sourceforge.net>
+2011-03-05 Kevin B. Kenny <kennykb@acm.org>
- * unix/configure.in, generic/tclIOUtil.c (Tcl_Stat): Updated so that
- we do not assume that all unix systems have the POSIX blkcnt_t type,
- since OpenBSD apparently does not. Backported from HEAD (2010-02-16).
- * unix/configure: autoconf-2.59
+ * generic/tclAssembly.c (new file):
+ * generic/tclBasic.c (Tcl_CreateInterp):
+ * generic/tclInt.h:
+ * tests/assemble.test (new file):
+ * unix/Makefile.in:
+ * win/Makefile.in:
+ * win/makefile.vc: Merged dogeen-assembler-branch into HEAD.
+ Since all functional changes are in the tcl::unsupported namespace,
+ there's no reason to sequester this code on a separate branch.
-2010-09-02 Andreas Kupries <andreask@activestate.com>
+2011-03-05 Miguel Sofer <msofer@users.sf.net>
- * doc/glob.n: Fixed documentation ambiguity regarding the handling
- of -join.
+ * generic/tclExecute.c: cleaner mem management for TEBCdata
- * library/safe.tcl (::safe::AliasGlob): Fixed another problem, the
- option -join does not stop option processing in the core builtin,
- so the emulation must not do that either.
+ * generic/tclExecute.c:
+ * tests/nre.test: Renamed BottomData to TEBCdata, so that the name
+ refers to what it is rather than to its storage location.
-2010-09-01 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * generic/tclBasic.c: Renamed struct TEOV_callback to
+ * generic/tclCompExpr.c: the more descriptive NRE_callback.
+ * generic/tclCompile.c:
+ * generic/tclExecute.c:
+ * generic/tclInt.decls:
+ * generic/tclInt.h:
+ * generic/tclIntDecls.h:
+ * generic/tclTest.c:
- * library/safe.tcl (::safe::AliasGlob): Moved the command
- extending the actual glob command with a -directory flag to when
- we actually have a proper untranslated path,
+2011-03-04 Donal K. Fellows <dkf@users.sf.net>
-2010-09-01 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclOOMethod.c (ProcedureMethodCompiledVarConnect)
+ (ProcedureMethodCompiledVarDelete): [Bug 3185009]: Keep references to
+ resolved object variables so that an unset doesn't leave any dangling
+ pointers for code to trip over.
- * changes: Update for 8.5.9 release.
+2011-03-01 Miguel Sofer <msofer@users.sf.net>
-2010-09-01 Andreas Kupries <andreask@activestate.com>
+ * generic/tclBasic.c (TclNREvalObjv): missing a variable
+ declaration in commented out non-optimised code, left for ref in
+ checkin [b97b771b6d]
- * generic/tclExecute.c: [Bug 3057639]. Applied patch by Jeff to
- * generic/tclVar.c: make the behaviour of lappend in bytecompiled
- * tests/append.test: mode consistent with direct-eval and 'append'
- * tests/appendComp.test: generally. Added tests (append*-9.*)
- showing the difference.
- ***POTENTIAL INCOMPATIBILITY***
+2011-03-03 Don Porter <dgp@users.sourceforge.net>
-2010-09-01 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclResult.c (Tcl_AppendResultVA): Use the directive
+ USE_INTERP_RESULT [TIP 330] to force compat with interp->result
+ access, instead of the improvised hack USE_DIRECT_INTERP_RESULT_ACCESS
+ from releases past.
- * tools/tcltk-man2html.tcl: Improve handling of cross-links for
- options between Ttk manual pages.
+2011-03-01 Miguel Sofer <msofer@users.sf.net>
- * doc/Tcl.n: Avoid nroff hazards when generating documentation.
+ * generic/tclCompCmdsSZ.c (TclCompileThrowCmd, TclCompileUnsetCmd):
+ fix leaks
-2010-08-31 Andreas Kupries <andreask@activestate.com>
+ * generic/tclBasic.c: This is [Patch 3168398],
+ * generic/tclCompCmdsSZ.c: Joe Mistachkin's optimisation
+ * generic/tclExecute.c: of Tip #285
+ * generic/tclInt.decls:
+ * generic/tclInt.h:
+ * generic/tclIntDecls.h:
+ * generic/tclInterp.c:
+ * generic/tclOODecls.h:
+ * generic/tclStubInit.c:
+ * win/makefile.vc:
- * win/tcl.m4: Applied patch by Jeff fixing issues with the
- manifest handling on Win64.
- * win/configure: Regenerated.
+ * generic/tclExecute.c (ExprObjCallback): Fix object leak
-2010-08-29 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclExecute.c (TEBCresume): Store local var array and
+ constants in automatic vars to reduce indirection, slight perf
+ increase
- * doc/dict.n: [Bug 3046999]: Corrected cross reference to array
- manpage to refer to (correct) existing subcommand.
+ * generic/tclOOCall.c (TclOODeleteContext): Added missing '*' so
+ that trunk compiles.
-2010-08-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclBasic.c (TclNRRunCallbacks): [Patch 3168229]: Don't do
+ the trampoline dance for commands that do not have an nreProc.
- * unix/configure, unix/tcl.m4: SHLIB_LD_LIBS='${LIBS}' for OSF1-V*.
- Add /usr/lib64 to set of auto-search dirs. [Bug 1230554]
- (SC_PATH_X): Correct syntax error when xincludes not found.
+2011-03-01 Donal K. Fellows <dkf@users.sf.net>
- * win/Makefile.in (VC_MANIFEST_EMBED_DLL VC_MANIFEST_EMBED_EXE):
- * win/configure, win/configure.in, win/tcl.m4: SC_EMBED_MANIFEST
- macro and --enable-embedded-manifest configure arg added to
- support manifest embedding where we know the magic. Help prevents
- DLL hell with MSVC8+.
+ * generic/tclOO.c (Tcl_NewObjectInstance, TclNRNewObjectInstance)
+ (TclOOObjectCmdCore, FinalizeObjectCall):
+ * generic/tclOOBasic.c (TclOO_Object_Destroy, AfterNRDestructor):
+ * generic/tclOOCall.c (TclOODeleteContext, TclOOGetCallContext):
+ Reorganization of call context reference count management so that code
+ is (mostly) simpler.
-2010-08-24 Don Porter <dgp@users.sourceforge.net>
+2011-01-26 Donal K. Fellows <dkf@users.sf.net>
- * changes: Update for 8.5.9 release.
+ * doc/RegExp.3: [Bug 3165108]: Corrected documentation of description
+ of subexpression info in Tcl_RegExpInfo structure.
-2010-08-23 Kevin B. Kenny <kennykb@acm.org>
+2011-01-25 Jan Nijtmans <nijtmans@users.sf.net>
- * library/tzdata/Africa/Cairo:
- * library/tzdata/Asia/Gaza: Olson's tzdata2010l.
+ * generic/tclPreserve.c: Don't miss 64-bit address bits in panic
+ message.
+ * win/tclWinChan.c: Fix various gcc-4.5.2 64-bit warning messages
+ * win/tclWinConsole.c e.g. by using full 64-bits for socket fd's
+ * win/tclWinDde.c
+ * win/tclWinPipe.c
+ * win/tclWinReg.c
+ * win/tclWinSerial.c
+ * win/tclWinSock.c
+ * win/tclWinThrd.c
-2010-08-19 Donal K. Fellows <dkf@users.sf.net>
+2011-01-19 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclTrace.c (TraceExecutionObjCmd, TraceCommandObjCmd)
- (TraceVariableObjCmd): [Patch 3048354]: Use memcpy() instead of
- strcpy() to avoid buffer overflow; we have the correct length of data
- to copy anyway since we've just allocated the target buffer.
+ * tools/genStubs.tcl: [Enh #3159920]: Tcl_ObjPrintf() crashes with
+ * generic/tcl.decls bad format specifier.
+ * generic/tcl.h
+ * generic/tclDecls.h
-2010-08-15 Donal K. Fellows <dkf@users.sf.net>
+2011-01-18 Donal K. Fellows <dkf@users.sf.net>3159920
- * generic/tclProc.c (ProcWrongNumArgs): [Bug 3045010]: Make the
- handling of passing the wrong number of arguments to [apply] somewhat
- less verbose when a lambda term is present.
+ * generic/tclOOMethod.c (PushMethodCallFrame): [Bug 3001438]: Make
+ sure that the cmdPtr field of the procPtr is correct and relevant at
+ all times so that [info frame] can report sensible information about a
+ frame after a return to it from a recursive call, instead of probably
+ crashing (depending on what else has overwritten the Tcl stack!)
-2010-08-12 Donal K. Fellows <dkf@users.sf.net>
+2011-01-18 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): [Bug 2826551, Patch 2948425]:
- Backport of updates to make handling of RE line anchors correct.
+ * generic/tclBasic.c: Various mismatches between Tcl_Panic
+ * generic/tclCompCmds.c: format string and its arguments,
+ * generic/tclCompCmdsSZ.c: discovered thanks to [Bug 3159920]
+ * generic/tclCompExpr.c
+ * generic/tclEnsemble.c
+ * generic/tclPreserve.c
+ * generic/tclTest.c
-2010-08-11 Jeff Hobbs <jeffh@ActiveState.com>
+2011-01-17 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/ldAix: Remove ancient (pre-4.2) AIX support
- * unix/configure: regen with ac-2.59
- * unix/configure.in, unix/tclConfig.sh.in, unix/Makefile.in:
- * unix/tcl.m4 (AIX): Remove the need for ldAIX, replace with
- -bexpall/-brtl. Remove TCL_EXP_FILE (export file) and other baggage
- that went with it. Remove pre-4 AIX build support.
+ * generic/tclIOCmd.c: [Bug 3148192]: Commands "read/puts" incorrectly
+ * tests/chanio.test: interpret parameters. Improved error-message
+ * tests/io.test regarding legacy form.
+ * tests/ioCmd.test
-2010-08-10 Jeff Hobbs <jeffh@ActiveState.com>
+2011-01-15 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclUtil.c (TclByteArrayMatch): Patterns may not be
- null-terminated, so account for that.
+ * doc/tclvars.n:
+ * generic/tclStrToD.c:
+ * generic/tclUtil.c (Tcl_PrintDouble):
+ * tests/util.test (util-16.*): [Bug 3157475]: Restored full Tcl 8.4
+ compatibility for the formatting of floating point numbers when
+ $::tcl_precision is not zero. Added compatibility tests to make sure
+ that excess trailing zeroes are suppressed for all eight major code
+ paths.
+
+2011-01-12 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/tclWinFile.c: Use _vsnprintf in stead of vsnprintf, because
+ MSVC 6 doesn't have it. Reported by andreask.
+ * win/tcl.m4: handle --enable-64bit=ia64 for gcc
+ * win/configure.in: more accurate test for correct <intrin.h>
+ * win/configure: (autoconf-2.59)
+ * win/tclWin32Dll.c: VS 2005 64-bit does not have intrin.h, and
+ * generic/tclPanic.c: does not need it.
-2010-08-05 Don Porter <dgp@users.sourceforge.net>
+2011-01-07 Kevin B. Kenny <kennykb@acm.org>
- * changes: Update for 8.5.9 release.
+ * tests/util.test (util-15.*): Added test cases for floating point
+ conversion of the largest denormal and the smallest normal number,
+ to avoid any possibility of the failure suffered by PHP in the
+ last couple of days. (They didn't fail, so no actual functional
+ change.)
-2010-08-04 Jeff Hobbs <jeffh@ActiveState.com>
+2011-01-05 Donal K. Fellows <dkf@users.sf.net>
- * unix/tclUnixFCmd.c: Adjust license header as per
- ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
+ * tests/package.test, tests/pkg.test: Coalesce these tests into one
+ file that is concerned with the package system. Convert to use
+ tcltest2 properly.
+ * tests/autoMkindex.test, tests/pkgMkIndex.test: Convert to use
+ tcltest2 properly.
- * license.terms: Fix DFARs note for number-adjusted rights clause
+2011-01-01 Donal K. Fellows <dkf@users.sf.net>
- * win/tclWin32Dll.c (asciiProcs, unicodeProcs):
- * win/tclWinLoad.c (TclpDlopen): 'load' use LoadLibraryEx with
- * win/tclWinInt.h (TclWinProcs): LOAD_WITH_ALTERED_SEARCH_PATH to
- prefer dependent DLLs in same dir as loaded DLL.
- ***POTENTIAL INCOMPATIBILITY***
+ * tests/cmdAH.test, tests/cmdMZ.test, tests/compExpr.test,
+ * tests/compile.test, tests/concat.test, tests/eval.test,
+ * tests/fileName.test, tests/fileSystem.test, tests/interp.test,
+ * tests/lsearch.test, tests/namespace-old.test, tests/namespace.test,
+ * tests/oo.test, tests/proc.test, tests/security.test,
+ * tests/switch.test, tests/unixInit.test, tests/var.test,
+ * tests/winDde.test, tests/winPipe.test: Clean up of tests and
+ conversion to tcltest 2. Target has been to get init and cleanup code
+ out of the test body and into the -setup/-cleanup stanzas.
- * win/Makefile.in (%.${OBJEXT}): better implicit rules support
+ * tests/execute.test (execute-11.1): [Bug 3142026]: Added test that
+ fails (with a crash) in an unfixed memdebug build on 64-bit systems.
-2010-08-04 Don Porter <dgp@users.sourceforge.net>
+2010-12-31 Donal K. Fellows <dkf@users.sf.net>
- * generic/tcl.h: Bump to 8.5.9 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * README:
+ * generic/tclCmdIL.c (SortElement): Use unions properly in the
+ definition of this structure so that there is no need to use nasty
+ int/pointer type punning. Made it clearer what the purposes of the
+ various parts of the structure are.
- * unix/configure: autoconf-2.59
- * win/configure:
+2010-12-31 Jan Nijtmans <nijtmans@users.sf.net>
- * changes: Update for 8.5.9 release.
+ * unix/dltest/*.c: [Bug 3148192]: Fix broken [load] tests by ensuring
+ that the affected files are never compiled with -DSTATIC_BUILD.
-2010-08-04 Andreas Kupries <andreask@activestate.com>
+2010-12-30 Miguel Sofer <msofer@users.sf.net>
- * generic/tclIORChan.c: [Bug 3034840]: Fixed reference counting
- * tests/ioCmd.test: in InvokeTclMethod and callers.
+ * generic/tclExecute.c (GrowEvaluationStack): Off-by-one error in
+ sizing the new allocation - was ok in comment but wrong in the code.
+ Triggered by [Bug 3142026] which happened to require exactly one more
+ than what was in existence.
-2010-08-03 Andreas Kupries <andreask@activestate.com>
+2010-12-26 Donal K. Fellows <dkf@users.sf.net>
- * tests/var.test (var-19.1): [Bug 3037525]: Added test demonstrating
- the local hashtable deletion crash and fix.
+ * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fix crash when multiple -index
+ options are used. Simplified memory handling logic.
- * tests/info.test (info-39.1, test_info_frame): Changed absolute to
- relative frame adressing to handle difference between testing with
- -singleproc 1 vs. the default -singleproc 0. Plus comment fix. The
- test and issue are not relevant to the trunk, forward porting is not
- required.
+2010-12-20 Jan Nijtmans <nijtmans@users.sf.net>
-2010-08-03 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1
+ tdm64-1: completed for all environments.
- * changes: Update for 8.5.9 release.
+2010-12-20 Jan Nijtmans <nijtmans@users.sf.net>
-2010-08-02 Kevin B. Kenny <kennykb@users.sf.net>
+ * win/configure.in: Explicitely test for intrinsics support in
+ compiler, before assuming only MSVC has it.
+ * win/configure: (autoconf-2.59)
+ * generic/tclPanic.c:
- * library/tzdata/America/Bahia_Banderas:
- * library/tzdata/Pacific/Chuuk:
- * library/tzdata/Pacific/Pohnpei:
- * library/tzdata/Africa/Cairo:
- * library/tzdata/Europe/Helsinki:
- * library/tzdata/Pacific/Ponape:
- * library/tzdata/Pacific/Truk:
- * library/tzdata/Pacific/Yap: Olson's tzdata2010k.
+2010-12-19 Jan Nijtmans <nijtmans@users.sf.net>
-2010-07-28 Miguel Sofer <msofer@users.sf.net>
+ * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1
+ tdm64-1: Fixed for gcc, not yet for MSVC 64-bit.
- * generic/tclVar.c: [Bug 3037525]: lose fickle optimisation in
- TclDeleteVars (used for runtime-created locals) that caused crashes.
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-2010-07-25 Jan Nijtmans <nijtmans@users.sf.net>
+ * unix/Makefile.in: Remove unwanted/obsolete 'ddd' target.
- * generic/tclInt.h: [Bug 3030870]: Make itcl 3.x built with pre-8.6
- * generic/tclBasic.c: work in 8.6 revert tclInt.h to what it was
- before, and relax the relation between Tcl_CallFrame and CallFrame.
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-2010-07-17 Jan Nijtmans <nijtmans@users.sf.net>
+ * unix/Makefile.in: Clean up '.PHONY:' targets: Arrange those
+ common to Tcl and Tk as in Tk's Makefile.in,
+ add any missing ones and remove duplicates.
- * generic/tcl.h: [Bug 3030870]: Make itcl 3.x built with pre-8.6
- * generic/tclInt.h: work in 8.6
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-2010-07-02 Donal K. Fellows <dkf@users.sf.net>
+ * unix/Makefile.in: [Bug 2446711]: Remove 'allpatch' target.
- * generic/tclExecute.c (IllegalExprOperandType): [Bug 3024379]: Made
- sure that errors caused by an argument to an operator being outside
- the domain of the operator all result in ::errorCode being ARITH
- DOMAIN and not NONE.
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
-2010-07-02 Jan Nijtmans <nijtmans@users.sf.net>
+ * unix/Makefile.in: [Bug 2537626]: Use 'rpmbuild', not 'rpm'.
- * generic/tclIntDecls.h: [Bug 803489]: Tcl_FindNamespace problem in
- the Stubs table.
+2010-12-16 Jan Nijtmans <nijtmans@users.sf.net>
-2010-07-01 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclPanic.c: [Patch 3124554]: Move WishPanic from Tk to Tcl
+ * win/tclWinFile.c: Better communication with debugger, if present.
- * doc/mathop.n: [Bug 3023165]: Fix typo that was preventing proper
- rendering of the exclusive-or operator.
+2010-12-15 Kevin B. Kenny <kennykb@acm.org>
-2010-06-28 Jan Nijtmans <nijtmans@users.sf.net>
+ [dogeen-assembler-branch]
- * generic/tclPosixStr.c: [Bug 3019634]: errno.h and tclWinPort.h have
- conflicting definitions.
+ * tclAssembly.c:
+ * assemble.test: Reworked beginCatch/endCatch handling to
+ enforce the more severe (but more correct) restrictions on catch
+ handling that appeared in the discussion of [Bug 3098302] and in
+ tcl-core traffic beginning about 2010-10-29.
-2010-06-22 Donal K. Fellows <dkf@users.sf.net>
+2010-12-15 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdIL.c (Tcl_LsetObjCmd): [Bug 3019351]: Corrected wrong
- args message.
+ * generic/tclPanic.c: Restore abort() as it was before.
+ * win/tclWinFile.c: [Patch 3124554]: Use ExitProcess() here, like
+ in wish.
-2010-06-18 Donal K. Fellows <dkf@users.sf.net>
+2010-12-14 Jan Nijtmans <nijtmans@users.sf.net>
- * library/init.tcl (auto_execok): [Bug 3017997]: Add .cmd to the
- default list of extensions that we can execute interactively.
+ * generic/tcl.h: [Bug 3137454]: Tcl CVS HEAD does not build
+ on GCC 3.
-2010-06-16 Jan Nijtmans <nijtmans@users.sf.net>
+2010-12-14 Reinhard Max <max@suse.de>
- * tools/loadICU.tcl: [Bug 3016135]: Traceback using clock format
- * library/msgs/he.msg: with locale of he_IL
+ * win/tclWinSock.c (CreateSocket): Swap the loops over
+ * unix/tclUnixSock.c (CreateClientSocket): local and remote addresses,
+ so that the system's address preference for the remote side decides
+ which family gets tried first. Cleanup and clarify some of the
+ comments.
-2010-06-09 Andreas Kupries <andreask@activestate.com>
+2010-12-13 Jan Nijtmans <nijtmans@users.sf.net>
- * library/platform/platform.tcl: Added OSX Intel 64bit
- * library/platform/pkgIndex.tcl: Package updated to version 1.0.9.
- * unix/Makefile.in:
- * win/Makefile.in:
+ * generic/tcl.h: [Bug 3135271]: Link error due to hidden
+ * unix/tcl.m4: symbols (CentOS 4.2)
+ * unix/configure: (autoconf-2.59)
+ * win/tclWinFile.c: Undocumented feature, only meant to be
+ used by Tk_Main. See [Patch 3124554]: Move WishPanic from Tk to Tcl
-2010-05-26 Donal K. Fellows <dkf@users.sf.net>
+2010-12-12 Stuart Cassoff <stwo@users.sourceforge.net>
- * doc/socket.n: [Bug 3007442]: Server sockets never took a host
- argument, so the list of options must precede the port argument.
+ * unix/tcl.m4: Better building on OpenBSD.
+ * unix/configure: (autoconf-2.59)
-2010-05-25 Jan Nijtmans <nijtmans@users.sf.net>
+2010-12-10 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/tclUnixPort.h: [Bug 2991415]: tclport.h #included before
- * win/tclWinPort.h: limits.h
+ * generic/tcl.h: [Bug 3129448]: Possible over-allocation on
+ * generic/tclCkalloc.c: 64-bit platforms, part 2
+ * generic/tclCompile.c:
+ * generic/tclHash.c:
* generic/tclInt.h:
+ * generic/tclIO.h:
+ * generic/tclProc.c:
-2010-05-21 Jan Nijtmans <nijtmans@users.sf.net>
+2010-12-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * tools/installData.tcl: Make sure that copyDir only receives
- normalized paths. Backported from trunk.
- * generic/tclPlatDecls.h: Fix <tchar.h> inclusion for CYGWIN.
- Backported from trunk (although for trunk this was moved to
- tclWinPort.h)
- * generic/tclPathObj.c: Fix Tcl_SetStringObj usage for CYGWIN. This
- function can only be used with unshared objects. This causes a crash
- on CYGWIN. (backported from trunk)
- * generic/tclFileName.c: Don't declare cygwin_conv_to_win32_path here
- * win/tclWinChan.c: Fix various minor other gcc warnings, like
- * win/tclWinConsole.c: signed<->unsigned mismatch. Backported from
- * win/tclWinDde.c: trunk.
- * win/tclWinNotify.c:
- * generic/tclStrToD.c: [Bug 3005233]: fix for build on OpenBSD vax
+ * generic/tclIO.c: Make sure [fcopy -size ... -command ...] always
+ * tests/io.test: calls the callback asynchronously, even for size
+ zero.
-2010-05-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2010-12-10 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclDictObj.c: Backport of fix for [Bug 3004007], EIAS
- * tests/dict.test: violation in list-dict conversions.
+ * generic/tclBinary.c: Fix gcc -Wextra warning: missing initializer
+ * generic/tclCmdAH.c:
+ * generic/tclCmdIL.c:
+ * generic/tclCmdMZ.c:
+ * generic/tclDictObj.c:
+ * generic/tclIndexObj.c:
+ * generic/tclIOCmd.c:
+ * generic/tclVar.c:
+ * win/tcl.m4: Fix manifest-generation for 64-bit gcc
+ (mingw-w64)
+ * win/configure.in: Check for availability of intptr_t and
+ uintptr_t
+ * win/configure: (autoconf-2.59)
+ * generic/tclInt.decls: Change 1st param of TclSockMinimumBuffers
+ * generic/tclIntDecls.h: to ClientData, and TclWin(Get|Set)SockOpt
+ * generic/tclIntPlatDecls.h:to SOCKET, because on Win64 those are
+ * generic/tclIOSock.c: 64-bit, which does not fit.
+ * win/tclWinSock.c:
+ * unix/tclUnixSock.c:
-2010-05-07 Andreas Kupries <andreask@activestate.com>
+2010-12-09 Donal K. Fellows <dkf@users.sf.net>
- * library/platform/platform.tcl: Fix cpu name for Solaris/Intel 64bit.
- * library/platform/pkgIndex.tcl: Package updated to version 1.0.8.
- * unix/Makefile.in:
- * win/Makefile.in:
+ * tests/fCmd.test: Improve sanity of constraints now that we don't
+ support anything before Windows 2000.
-2010-04-30 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdAH.c (TclInitFileCmd, TclMakeFileCommandSafe, ...):
+ Break up [file] into an ensemble. Note that the ensemble is safe in
+ itself, but the majority of its subcommands are not.
+ * generic/tclFCmd.c (FileCopyRename,TclFileDeleteCmd,TclFileAttrsCmd)
+ (TclFileMakeDirsCmd): Adjust these subcommand implementations to work
+ inside an ensemble.
+ (TclFileLinkCmd, TclFileReadLinkCmd, TclFileTemporaryCmd): Move these
+ subcommand implementations from tclCmdAH.c, where they didn't really
+ belong.
+ * generic/tclIOCmd.c (TclChannelNamesCmd): Move to more appropriate
+ source file.
+ * generic/tclEnsemble.c (TclMakeEnsemble): Start of code to make
+ partially-safe ensembles. Currently does not function as expected due
+ to various shortcomings in how safe interpreters are constructed.
+ * tests/cmdAH.test, tests/fCmd.test, tests/interp.test: Test updates
+ to take into account systematization of error messages.
- * generic/tclBinary.c (UpdateStringOfByteArray): [Bug 2994924]: Add
- panic when the generated string representation would grow beyond Tcl's
- size limits.
+ * tests/append.test, tests/appendComp.test: Clean up tests so that
+ they don't leave things in the global environment (detected when doing
+ -singleproc testing).
-2010-04-29 Andreas Kupries <andreask@activestate.com>
+2010-12-07 Donal K. Fellows <dkf@users.sf.net>
- * library/platform/platform.tcl: Another stab at getting the /lib,
- * library/platform/pkgIndex.tcl: /lib64 difference right for linux.
- * unix/Makefile.in: Package updated to version 1.0.7.
- * win/Makefile.in:
+ * tests/fCmd.test, tests/safe.test, tests/uplevel.test,
+ * tests/upvar.test, tests/var.test: Convert more tests to tcltest2 and
+ factor them to be easier to understand.
-2010-04-29 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclStrToD.c: Tidy up code so that more #ifdef-fery is
+ quarantined at the front of the file and function headers follow the
+ modern Tcl style.
- * library/tzdata/Antarctica/Macquarie:
- * library/tzdata/Africa/Casablanca:
- * library/tzdata/Africa/Tunis:
- * library/tzdata/America/Santiago:
- * library/tzdata/America/Argentina/San_Luis:
- * library/tzdata/Antarctica/Casey:
- * library/tzdata/Antarctica/Davis:
- * library/tzdata/Asia/Anadyr:
- * library/tzdata/Asia/Damascus:
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Kamchatka:
- * library/tzdata/Asia/Karachi:
- * library/tzdata/Asia/Taipei:
- * library/tzdata/Europe/Samara:
- * library/tzdata/Pacific/Apia:
- * library/tzdata/Pacific/Easter:
- * library/tzdata/Pacific/Fiji: Olson's tzdata2010i.
-
-2010-04-19 Jan Nijtmans <nijtmans@users.sf.net>
+2010-12-06 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinPort.h: [Patch 2986105]: Conditionally defining
- * win/tclWinFile.c: strcasecmp/strncasecmp
+ * generic/tclBinary.c: [Bug 3129448]: Possible over-allocation on
+ * generic/tclCkalloc.c: 64-bit platforms.
+ * generic/tclTrace.c
-2010-04-18 Donal K. Fellows <dkf@users.sf.net>
+2010-12-05 Jan Nijtmans <nijtmans@users.sf.net>
- * doc/unset.n: [Bug 2988940]: Fix typo.
+ * unix/tcl.m4: [Patch 3116490]: Cross-compile support for unix
+ * unix/configure: (autoconf-2.59)
-2010-04-14 Andreas Kupries <andreask@activestate.com>
+2010-12-03 Jeff Hobbs <jeffh@ActiveState.com>
- * library/platform/platform.tcl: Linux platform identification:
- * library/platform/pkgIndex.tcl: Check /lib64 for existence of
- * unix/Makefile.in: files matching libc* before accepting it as
- * win/Makefile.in: base directory. This can happen on weirdly
- installed 32bit systems which have an empty or partially filled
- /lib64 without an actual libc. Bumped to version 1.0.6.
+ * generic/tclUtil.c (TclReToGlob): Add extra check for multiple inner
+ *s that leads to poor recursive glob matching, defer to original RE
+ instead. tclbench RE var backtrack.
-2010-04-03 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2010-12-03 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclStringObj.c: (SetStringFromAny): avoid trampling
- over the tclEmptyStringRep as it is thread-shared.
+ * generic/tclUtil.c: Silence gcc warning when using -Wwrite-strings
+ * generic/tclStrToD.c: Silence gcc warning for non-IEEE platforms
+ * win/Makefile.in: [Patch 3116490]: Cross-compile Tcl mingw32 on unix
+ * win/tcl.m4: This makes it possible to cross-compile Tcl/Tk for
+ * win/configure.in: Windows (either 32-bit or 64-bit) out-of-the-box
+ * win/configure: on UNIX, using mingw-w64 build tools (If Itcl,
+ tdbc and Thread take over the latest tcl.m4, they can do that too).
- * generic/tclThreadStorage.c (ThreadStorageGetHashTable):
- avoid accessing shared table index w/o mutex protection
- if VALGRIND defined on compilation time. This rules out
- helgrind complains about potential race-conditions at
- that place.
+2010-12-01 Kevin B. Kenny <kennykb@acm.org>
- Thanks to Gustaf Neumann for the (hard) work.
+ * generic/tclStrToD.c (SetPrecisionLimits, TclDoubleDigits):
+ [Bug 3124675]: Added meaningless initialization of 'i', 'ilim' and
+ 'ilim1' to silence warnings from the C compiler about possible use of
+ uninitialized variables, Added a panic to the 'switch' that assigns
+ them, to assert that the 'default' case is impossible.
-2010-03-31 Donal K. Fellows <dkf@users.sf.net>
+2010-12-01 Jan Nijtmans <nijtmans@users.sf.net>
- * doc/package.n: [Bug 2980210]: Document the arguments taken by
- the [package present] command correctly.
+ * generic/tclBasic.c: Fix gcc 64-bit warnings: cast from pointer to
+ * generic/tclHash.c: integer of different size.
+ * generic/tclTest.c:
+ * generic/tclThreadTest.c:
+ * generic/tclStrToD.c: Fix gcc(-4.5.2) warning: 'static' is not at
+ beginning of declaration.
+ * generic/tclPanic.c: Allow Tcl_Panic() to enter the debugger on win32
+ * generic/tclCkalloc.c: Use Tcl_Panic() in stead of duplicating the
+ code.
-2010-03-30 Andreas Kupries <andreask@activestate.com>
+2010-11-30 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclIORChan.c (ReflectClose, ReflectInput, ReflectOutput,
- ReflectSeekWide, ReflectWatch, ReflectBlock, ReflectSetOption,
- ReflectGetOption, ForwardProc): [Bug 2978773]: Preserve
- ReflectedChannel* structures across handler invokations, to avoid
- crashes when the handler implementation induces nested callbacks
- and destruction of the channel deep inside such a nesting.
+ * generic/tclInt.decls, generic/tclInt.h, generic/tclIntDecls.h:
+ * generic/tclStubInit.c: TclFormatInt restored at slot 24
+ * generic/tclUtil.c (TclFormatInt): restore TclFormatInt func from
+ 2005-07-05 macro-ization. Benchmarks indicate it is faster, as a key
+ int->string routine (e.g. int-indexed arrays).
-2010-03-30 Don Porter <dgp@users.sourceforge.net>
+2010-11-29 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2979402]: Reorder
- the validity tests on internal rep of a "cmdName" value to avoid
- invalid reads reported by valgrind.
+ * generic/tclBasic.c: Patch by Miguel, providing a
+ [::tcl::unsupported::inject coroname command args], which prepends
+ ("injects") arbitrary code to a suspended coro's future resumption.
+ Neat for debugging complex coros without heavy instrumentation.
-2010-03-29 Don Porter <dgp@users.sourceforge.net>
+2010-11-29 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclStringObj.c: Fix array overrun in test format-1.12
- caught by valgrind testing.
+ * generic/tclInt.decls:
+ * generic/tclInt.h:
+ * generic/tclStrToD.c:
+ * generic/tclTest.c:
+ * generic/tclTomMath.decls:
+ * generic/tclUtil.c:
+ * tests/util.test:
+ * unix/Makefile.in:
+ * win/Makefile.in:
+ * win/makefile.vc: Rewrite of Tcl_PrintDouble and TclDoubleDigits that
+ (a) fixes a severe performance problem with floating point shimmering
+ reported by Karl Lehenbauer, (b) allows TclDoubleDigits to generate
+ the digit strings for 'e' and 'f' format, so that it can be used for
+ tcl_precision != 0 (and possibly later for [format]), (c) fixes [Bug
+ 3120139] by making TclPrintDouble inherently locale-independent, (d)
+ adds test cases to util.test for correct rounding in difficult cases
+ of TclDoubleDigits where fixed- precision results are requested. (e)
+ adds test cases to util.test for the controversial aspects of [Bug
+ 3105247]. As a side effect, two more modules from libtommath
+ (bn_mp_set_int.c and bn_mp_init_set_int.c) are brought into the build,
+ since the new code uses them.
-2010-03-25 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclIntDecls.h:
+ * generic/tclStubInit.c:
+ * generic/tclTomMathDecls.h: Regenerated.
- * unix/tclUnixFCmd.c (TclUnixCopyFile): [Bug 2976504]: Corrected
- number of arguments to fstatfs() call.
+2010-11-24 Donal K. Fellows <dkf@users.sf.net>
-2010-03-24 Don Porter <dgp@users.sourceforge.net>
+ * tests/chanio.test, tests/iogt.test, tests/ioTrans.test: Convert more
+ tests to tcltest2 and factor them to be easier to understand.
- * generic/tclResult.c: [Bug 2383005]: Revise [return -errorcode] so
- * tests/result.test: that it rejects illegal non-list values.
+2010-11-20 Donal K. Fellows <dkf@users.sf.net>
-2010-03-20 Donal K. Fellows <dkf@users.sf.net>
+ * tests/chanio.test: Converted many tests to tcltest2 by marking the
+ setup and cleanup parts as such.
- * generic/tclIO.c (CopyData): Allow the total number of bytes copied
- by [fcopy] to exceed 2GB. Can happen when no -size parameter given.
+2010-11-19 Jan Nijtmans <nijtmans@users.sf.net>
-2010-03-18 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWin32Dll.c: Fix gcc warnings: unused variable 'registration'
+ * win/tclWinChan.c:
+ * win/tclWinFCmd.c:
- * generic/tclListObj.c: [Bug 2971669]: Prevent in overflow trouble in
- * generic/tclTestObj.c: ListObjReplace operations. Thanks to kbk for
- * tests/listObj.test: fix and test.
+2010-11-18 Jan Nijtmans <nijtmans@users.sf.net>
-2010-03-12 Jan Nijtmans <nijtmans@users.sf.net>
+ * win/tclAppInit.c: [FRQ 491789]: "setargv() doesn't support a unicode
+ cmdline" now implemented for cygwin and mingw32 too.
+ * tests/main.test: No longer disable tests Tcl_Main-1.4 and 1.6 on
+ Windows, because those now work on all supported platforms.
+ * win/configure.in: Set NO_VIZ=1 when zlib is compiled in libtcl,
+ this resolves compiler warnings in 64-bit and static builds.
+ * win/configure (regenerated)
- * win/makefile.vc: Fix [Bug 2967340]: Static build failure
- * win/.cvsignore
+2010-11-18 Donal K. Fellows <dkf@users.sf.net>
-2010-03-09 Andreas Kupries <andreask@activestate.com>
+ * doc/file.n: [Bug 3111298]: Typofix.
- * generic/tclIORChan.c: [Bug 2936225]: Thanks to Alexandre Ferrieux
- * doc/refchan.n: <ferrieux@users.sourceforge.net> for debugging
- * tests/ioCmd.test: and fixing the problem. It is the write-side
- equivalent to the bug fixed 2009-08-06.
+ * tests/oo.test: [Bug 3111059]: Added testing that neatly trapped this
+ issue.
-2010-03-09 Don Porter <dgp@users.sourceforge.net>
+2010-11-18 Miguel Sofer <msofer@users.sf.net>
- * library/tzdata/America/Matamoros: New locale
- * library/tzdata/America/Ojinaga: New locale
- * library/tzdata/America/Santa_Isabel: New locale
- * library/tzdata/America/Asuncion:
- * library/tzdata/America/Tijuana:
- * library/tzdata/Antarctica/Casey:
- * library/tzdata/Antarctica/Davis:
- * library/tzdata/Antarctica/Mawson:
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Pacific/Fiji:
- Olson tzdata2010c.
+ * generic/tclNamesp.c: [Bug 3111059]: Fix leak due to bad looping
+ construct.
-2010-03-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2010-11-17 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/tclUnixChan.c: [backported] Refrain from a possibly lengthy
- reverse-DNS lookup on 0.0.0.0 when calling [fconfigure -sockname]
- on an universally-bound (default) server socket.
+ * win/tcl.m4: [FRQ 491789]: "setargv() doesn't support a unicode
+ cmdline" now implemented for mingw-w64
+ * win/configure (re-generated)
-2010-02-27 Donal K. Fellows <dkf@users.sf.net>
+2010-11-16 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdMZ.c (StringFirstCmd, StringLastCmd): [Bug 2960021]:
- Only search for the needle in the haystack when the needle isn't
- larger than the haystack. Prevents an odd crash from sometimes
- happening when things get mixed up (a common programming error).
+ * win/tclAppInit.c:Bring compilation under mingw-w64 a bit closer
+ * win/cat.c: to reality. See for what's missing:
+ * win/tcl.m4: <https://sourceforge.net/apps/trac/mingw-w64/wiki/Unicode%20apps>
+ * win/configure: (re-generated)
+ * win/tclWinPort.h:[Bug #3110161]: Extensions using TCHAR don't compile
+ on VS2005 SP1
-2010-02-21 Jan Nijtmans <nijtmans@users.sf.net>
+2010-11-15 Andreas Kupries <andreask@activestate.com>
- * generic/tclBasic.c: Fix [Bug 2954959] expr abs(0.0) is -0.0
- * tests/expr.test
+ * doc/interp.n: [Bug 3081184]: TIP #378.
+ * doc/tclvars.n: Performance fix for TIP #280.
+ * generic/tclBasic.c:
+ * generic/tclExecute.c:
+ * generic/tclInt.h:
+ * generic/tclInterp.c:
+ * tests/info.test:
+ * tests/interp.test:
-2010-02-19 Stuart Cassoff <stwo@users.sourceforge.net>
+2010-11-10 Andreas Kupries <andreask@activestate.com>
- * tcl.m4: Correct compiler/linker flags for threaded builds on OpenBSD
- * configure: (regenerated).
+ * changes: Updates for 8.6b2 release.
-2010-02-19 Donal K. Fellows <dkf@users.sf.net>
+2010-11-09 Donal K. Fellows <dkf@users.sf.net>
- * unix/installManPage: [Bug 2954638]: Correct behaviour of manual page
- installer. Also added armouring to check that assumptions about the
- initial state are actually valid (e.g., look for existing input file).
+ * generic/tclOOMethod.c (ProcedureMethodVarResolver): [Bug 3105999]:
+ * tests/oo.test: Make sure that resolver structures that are
+ only temporarily needed get squelched.
-2010-02-11 Donal K. Fellows <dkf@users.sf.net>
+2010-11-05 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclIOCmd.c (Tcl_OpenObjCmd): [Bug 2949740]: Make sure that
- we do not try to put a NULL pipeline channel into binary mode.
+ * generic/tclMain.c: Thanks, Kevin, for the fix, but this how it was
+ supposed to be (TCL_ASCII_MAIN is only supposed to be defined on
+ WIN32).
-2010-02-07 Jan Nijtmans <nijtmans@users.sf.net>
+2010-11-05 Kevin B. Kenny <kennykb@acm.org>
- * tools/genStubs.tcl Backport various formatting (spacing)
- * generic/tcl*.decls changes from HEAD, so diffing
- * generic/tcl*Decls.h between 8.5.x and 8.6 shows the
- * generic/tclStubInit.c real structural differences again.
- (any signature change not backported!)
+ * generic/tclMain.c: Added missing conditional on _WIN32 around code
+ that messes around with the definition of _UNICODE, to correct a badly
+ broken Unix build from Jan's last commit.
-2010-02-03 Donal K. Fellows <dkf@users.sf.net>
+2010-11-04 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclVar.c (Tcl_ArrayObjCmd): More corrections for the 'unset'
- subcommand.
+ * generic/tclDecls.h: [FRQ 491789]: "setargv() doesn't support a
+ * generic/tclMain.c: unicode cmdline" implemented for Tcl on MSVC++
+ * doc/Tcl_Main.3:
+ * win/tclAppInit.c:
+ * win/makefile.vc:
+ * win/Makefile.in:
+ * win/tclWin32Dll.c: Eliminate minor MSVC warning TCHAR -> char
+ conversion
-2010-02-02 Andreas Kupries <andreask@activestate.com>
+2010-11-04 Reinhard Max <max@suse.de>
- * generic/tclCompile.c: [Bug 2933089]: A literal sharing problem with
- * generic/tclCompile.h: 'info frame' affects not only 8.6 but 8.5 as
- * generic/tclExecute.h: well. Backported the fix done in 8.6, without
- * tests/info.test: changes. New testcase info-39.1.
+ * tests/socket.test: Run the socket tests three times with the address
+ family set to any, inet, and inet6 respectively. Use constraints to
+ skip the tests if a family is found to be unsupported or not
+ configured on the local machine. Adjust the tests to dynamically adapt
+ to the address family that is being tested.
-2010-02-02 Donal K. Fellows <dkf@users.sf.net>
+ Rework some of the tests to speed them up by avoiding (supposedly)
+ unneeded [after]s.
- * generic/tclVar.c (Tcl_ArrayObjCmd): [Bug 2939073]: Stop the [array
- unset] command from having dangling pointer problems when an unset
- trace deletes the element that is going to be processed next. Many
- thanks to Alexandre Ferrieux for the bulk of this fix.
+2010-11-04 Stuart Cassoff <stwo@users.sourceforge.net>
-2010-02-01 Donal K. Fellows <dkf@users.sf.net>
+ * unix/Makefile.in: [Patch 3101127]: Installer Improvements.
+ * unix/install-sh:
- * generic/regexec.c (ccondissect, crevdissect): [Bug 2942697]: Rework
- these functions so that certain pathological patterns are matched much
- more rapidly. Many thanks to Tom Lane for dianosing this issue and
- providing an initial patch.
+2010-11-04 Donal K. Fellows <dkf@users.sf.net>
-2010-02-01 Jan Nijtmans <nijtmans@users.sf.net>
+ * tests/error.test (error-19.13): Another variation on testing for
+ issues in [try] compilation.
- * generic/tclInt.decls: Various CYGWIN-related fixes
- * generic/tclInt.h: backported from HEAD. Still
- * generic/tclIntPlatDecls.h: configure script not modified,
- * generic/tclPort.h: so CYGWIN build is still
- * generic/tclTest.c: disabled. Reason: although the
- * win/cat.c: build succeeds with those changes,
- * win/tclWinDde.c: many tests still fail.
- * win/tclWinError.c:
- * win/tclWinFile.c:
- * win/tclWinPipe.c:
- * win/tclWinPort.h:
- * win/tclWinReg.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
- * win/tclWinTest.c:
- * win/tclWinThrd.c:
+ * doc/Tcl.n (Variable substitution): [Bug 3099086]: Increase clarity
+ of explanation of what characters are actually permitted in variable
+ substitutions. Note that this does not constitute a change of
+ behavior; it is just an improvement of explanation.
-2010-01-29 Jan Nijtmans <nijtmans@users.sf.net>
+2010-11-04 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h: Use correct TCL_LL_MODIFIER for CYGWIN.
- Formatting (all backported from HEAD)
- * generic/rege_dfa.c: Fix macro conflict on CYGWIN: don't use
- "small".
- * generic/tclTest.c: Fix gcc 4.4 warning: ignoring return value of
- * unix/tclUnixPipe.c: 'write'
- * unix/tclUnixNotify.c:
+ * changes: Updates for 8.6b2 release. (Thanks Andreas Kupries)
-2010-01-19 Donal K. Fellows <dkf@users.sf.net>
+2010-11-03 Jan Nijtmans <nijtmans@users.sf.net>
- * doc/dict.n: [Bug 2929546]: Clarify just what [dict with] and [dict
- update] are doing with variables.
+ * win/tclWinFcmd.c: [FRQ 2965056]: Windows build with -DUNICODE
+ * win/tclWinFile.c: (more clean-ups for pre-win2000 stuff)
+ * win/tclWinReg.c:
-2010-01-18 Andreas Kupries <andreask@activestate.com>
+2010-11-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIO.c (CreateScriptRecord): [Bug 2918110]: Initialize
- the EventScriptRecord (esPtr) fully before handing it to
- Tcl_CreateChannelHandler for registration. Otherwise a reflected
- channel calling 'chan postevent' (== Tcl_NotifyChannel) in its
- 'watchProc' will cause the function 'TclChannelEventScriptInvoker'
- to be run on an uninitialized structure.
+ * generic/tclCmdMZ.c (TryPostBody): Ensure that errors when setting
+ * tests/error.test (error-19.1[12]): message/opt capture variables get
+ reflected properly to the caller.
-2010-01-18 Donal K. Fellows <dkf@users.sf.net>
+2010-11-03 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclStringObj.c (Tcl_AppendFormatToObj): [Bug 2932421]: Stop
- the [format] command from causing argument objects to change their
- internal representation when not needed. Thanks to Alexandre Ferrieux
- for this fix.
+ * generic/tclCompCmds.c (TclCompileCatchCmd): [Bug 3098302]:
+ * tests/compile.test (compile-3.6): Reworked the compilation of the
+ [catch] command so as to avoid placing any code that might throw an
+ exception (specifically, any initial substitutions or any stores to
+ result or options variables) between the BEGIN_CATCH and END_CATCH but
+ outside the exception range. Added a test case that panics on a stack
+ smash if the change is not made.
-2010-01-06 Jan Nijtmans <nijtmans@users.sf.net>
+2010-11-01 Stuart Cassoff <stwo@users.sourceforge.net>
- * generic/tclCompExpr.c: Warning: array subscript has type 'char'
- * generic/tclPkg.c:
- * libtommath/bn_mp_read_radix.c:
- * unix/tclUnixCompat.c: Fix gcc warning: signed and unsigned type
- in conditional expression.
- * unix/tcl.m4: Add support for Haiku and CYGWIN dynamical loading
- * unix/configure: (regenerated)
- * unix/Makefile.in:
- * unix/.cvsignore:
- * tests/stack.test: Reduced minimum required C-stack size to 2034:
- CYGWIN has this stack size and the test runs fine!
- * generic/tclEnv.c: Fix environment tests under CYGWIN
- * generic/tclPort.h:
- * tests/env.test:
+ * library/safe.tcl: Improved handling of non-standard module path
+ * tests/safe.test: lists, empty path lists in particular.
-2010-01-05 Don Porter <dgp@users.sourceforge.net>
+2010-11-01 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclPathObj.c (TclPathPart): [Bug 2918610]: Correct
- * tests/fileName.test (filename-14.31): inconsistency between the
- string rep and the intrep of a path value created by [file rootname].
- Thanks to Vitaly Magerya for reporting.
+ * library/tzdata/Asia/Hong_Kong:
+ * library/tzdata/Pacific/Apia:
+ * library/tzdata/Pacific/Fiji: Olson's tzdata2010o.
-2010-01-03 Donal K. Fellows <dkf@users.sf.net>
+2010-10-29 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 1636685]: Use the configuration
- for modern FreeBSD suggested by the FreeBSD porter.
+ * generic/tclTimer.c: [Bug 2905784]: Stop small [after]s from
+ wasting CPU while keeping accuracy.
-2009-12-30 Donal K. Fellows <dkf@users.sf.net>
+2010-10-28 Kevin B. Kenny <kennykb@acm.org>
- * library/safe.tcl (AliasSource): [Bug 2923613]: Make the safer
- * tests/safe.test (safe-8.9): [source] handle a [return] at the
- end of the file correctly.
+ [dogeen-assembler-branch]
+ * generic/tclAssembly.c:
+ * tests/assembly.test (assemble-31.*): Added jump tables.
-2009-12-29 Donal K. Fellows <dkf@users.sf.net>
+2010-10-28 Don Porter <dgp@users.sourceforge.net>
- * generic/tclInterp.c (Tcl_MakeSafe): [Bug 2895741]: Make sure that
- the min() and max() functions are supported in safe interpreters.
+ * tests/http.test: [Bug 3097490]: Make http-4.15 pass in
+ isolation.
-2009-12-28 Donal K. Fellows <dkf@users.sf.net>
+ * unix/tclUnixSock.c: [Bug 3093120]: Prevent calls of
+ freeaddrinfo(NULL) which can crash some
+ systems. Thanks Larry Virden.
- * unix/configure.in: [Bug 942170]: Detect the st_blocks field of
- * generic/tclCmdAH.c (StoreStatData): 'struct stat' correctly.
- * generic/tclIOUtil.c (Tcl_Stat, Tcl_FSStat):
- * generic/tclTest.c (PretendTclpStat):
+2010-10-26 Reinhard Max <max@suse.de>
- * generic/tclInterp.c (TimeLimitCallback): [Bug 2891362]: Ensure that
- * tests/interp.test (interp-34.13): the granularity ticker is
- reset when we check limits because of the time limit event firing.
+ * Changelog.2008: Split off from Changelog.
+ * generic/tclIOSock.c (TclCreateSocketAddress): The interp != NULL
+ check is needed for ::tcl::unsupported::socketAF as well.
-2009-12-27 Donal K. Fellows <dkf@users.sf.net>
+2010-10-26 Donal K. Fellows <dkf@users.sf.net>
- * doc/namespace.n (SCOPED SCRIPTS): [Bug 2921538]: Updated example to
- not be quite so ancient.
+ * unix/tclUnixSock.c (TcpGetOptionProc): Prevent crash if interp is
+ * win/tclWinSock.c (TcpGetOptionProc): NULL (a legal situation).
-2009-12-23 Donal K. Fellows <dkf@users.sf.net>
+2010-10-26 Reinhard Max <max@suse.de>
- * library/safe.tcl (AliasSource, AliasExeName): [Bug 2913625]: Stop
- information about paths from leaking through [info script] and [info
- nameofexecutable].
+ * unix/tclUnixSock.c (TcpGetOptionProc): Added support for
+ ::tcl::unsupported::noReverseDNS, which if set to any value, prevents
+ [fconfigure -sockname] and [fconfigure -peername] from doing
+ reverse DNS queries.
-2009-12-16 Donal K. Fellows <dkf@users.sf.net>
+2010-10-24 Kevin B. Kenny <kennykb@acm.org>
- * library/safe.tcl (::safe::AliasGlob): Upgrade to correctly support a
- larger fraction of [glob] functionality, while being stricter about
- directory management.
+ [dogeen-assembler-branch]
+ * generic/tclAssembly.c:
+ * tests/assembly.test (assemble-17.15): Reworked branch handling so that
+ forward branches can use jump1 (jumpTrue1, jumpFalse1). Added test
+ cases that the forward branches will expand to jump4, jumpTrue4,
+ jumpFalse4 when needed.
- * doc/tm.n: [Bug 1911342]: Formatting rewrite to avoid bogus crosslink
- to the list manpage when generating HTML.
+2010-10-23 Kevin B. Kenny <kennykb@acm.org>
- * library/msgcat/msgcat.tcl (Init): [Bug 2913616]: Do not use platform
- tests that are not needed and which don't work in safe interpreters.
+ [dogeen-assembler-branch]
+ * generic/tclAssembly.h (removed):
+ Removed file that was included in only one
+ source file.
+ * generictclAssembly.c: Inlined tclAssembly.h.
-2009-12-12 Donal K. Fellows <dkf@users.sf.net>
+2010-10-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclTest.c (TestconcatobjCmd): [Bug 2895367]: Stop memory
- leak when testing. We don't need extra noise of this sort when
- tracking down real problems!
+ * doc/info.n: [Patch 2995655]:
+ * generic/tclBasic.c: Report inner contexts in [info errorstack]
+ * generic/tclCompCmds.c:
+ * generic/tclCompile.c:
+ * generic/tclCompile.h:
+ * generic/tclExecute.c:
+ * generic/tclInt.h:
+ * generic/tclNamesp.c:
+ * tests/error.test:
+ * tests/result.test:
-2009-12-10 Andreas Kupries <andreask@activestate.com>
+2010-10-20 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclObj.c (TclContinuationsEnter): [Bug 2895323]: Updated
- comments to describe when the function can be entered for the same
- Tcl_Obj* multiple times. This is a continuation of the 2009-11-10
- entry where a memory leak was plugged, but where not sure if that was
- just a band-aid to paper over some other error. It isn't, this is a
- legal situation.
+ * generic/tclCompCmds.c (TclCompileDictForCmd): Update the compilation
+ * generic/tclCompile.c (tclInstructionTable): of [dict for] so that
+ * generic/tclExecute.c (TEBCresume): it no longer makes any
+ use of INST_DICT_DONE now that's not needed, and make it clearer in
+ the implementation of the instruction that it's just a deprecated form
+ of unset operation. Followup to my commit of 2010-10-16.
-2009-12-09 Andreas Kupries <andreask@activestate.com>
+2010-10-19 Donal K. Fellows <dkf@users.sf.net>
- * library/safe.tcl: Backport of the streamlined safe base from
- * tests/safe.test: head to the 8.5 branch (See head changelog entries
- 2009-11-05, 2009-11-06, 2009-12-03).
+ * generic/tclZlib.c (Tcl_ZlibStreamGet): [Bug 3081008]: Ensure that
+ when a bytearray gets its internals entangled with zlib for more than
+ a passing moment, that bytearray will never be shimmered away. This
+ increases the amount of copying but is simple to get right, which is a
+ reasonable trade-off.
-2009-12-07 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStringObj.c (Tcl_AppendObjToObj): Added some special
+ cases so that most of the time when you build up a bytearray by
+ appending, it actually ends up being a bytearray rather than
+ shimmering back and forth to string.
- * generic/tclStrToD.c: [Bug 2902010]: Correct conditional compile
- directives to better detect the toolchain that needs extra work for
- proper underflow treatment instead of merely detecting the MIPS
- platform.
+ * tests/http11.test (check_crc): Use a simpler way to express the
+ functionality of this procedure.
-2009-12-02 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclZlib.c: Purge code that wrote to the object returned by
+ Tcl_GetObjResult, as we don't want to do that anti-pattern no more.
- * tools/genStubs.tcl: Add support for win32 CALLBACK functions (needed
- for Tk bugfix).
+2010-10-18 Jan Nijtmans <nijtmans@users.sf.net>
-2009-11-30 Donal K. Fellows <dkf@users.sf.net>
+ * tools/uniParse.tcl: [Bug 3085863]: tclUniData was 9 years old;
+ Ignore non-BMP characters and fix comment about UnicodeData.txt file.
+ * generic/regcomp.c: Fix comment
+ * tests/utf.test: Add some Unicode 6 testcases
- * doc/Tcl.n: [Bug 2901433]: Improved description of expansion to
- mention that it is using list syntax.
+2010-10-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2009-11-27 Donal K. Fellows <dkf@users.sf.net>
+ * doc/info.n: Document [info errorstack] faithfully.
- * doc/BoolObj.3, doc/CrtChannel.3, doc/DictObj.3, doc/DoubleObj.3:
- * doc/Ensemble.3, doc/Environment.3, doc/FileSystem.3, doc/Hash.3:
- * doc/IntObj.3, doc/Limit.3, doc/ObjectType.3, doc/PkgRequire.3:
- * doc/SetChanErr.3, doc/SetResult.3: [Patch 2903921]: Many small
- spelling fixes from Larry Virden.
+2010-10-16 Donal K. Fellows <dkf@users.sf.net>
-2009-11-25 Stuart Cassoff <stwo@users.sf.net>
+ * generic/tclExecute.c (ReleaseDictIterator): Factored out the release
+ of the bytecode-level dictionary iterator information so that the
+ side-conditions on instruction issuing are simpler.
- * unix/configure.in: [Patch 2892871]: Remove unneeded
- * unix/tcl.m4: AC_STRUCT_TIMEZONE and use
- * unix/tclConfig.h.in: AC_CHECK_MEMBERS([struct stat.st_blksize])
- * unix/tclUnixFCmd.c: instead of AC_STRUCT_ST_BLKSIZE.
- * unix/configure: Regenerated with autoconf-2.59.
+2010-10-15 Jan Nijtmans <nijtmans@users.sf.net>
-2009-11-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+ * generic/reg_locale.c: [Bug 3085863]: tclUniData 9 years old: Updated
+ * generic/tclUniData.c: Unicode tables to latest UnicodeData.txt,
+ * tools/uniParse.tcl: corresponding with Unicode 6.0 (except for
+ out-of-range chars > 0xFFFF)
- * generic/tclEncoding.c: Fix [Bug 2891556] and improve test to detect
- * tests/decoding.test: similar manifestations in the future.
-
-2009-11-12 Don Porter <dgp@users.sourceforge.net>
+2010-10-13 Don Porter <dgp@users.sourceforge.net>
- *** 8.5.8 TAGGED FOR RELEASE ***
+ * generic/tclCompile.c: Alternative fix for [Bugs 467523,983660] where
+ * generic/tclExecute.c: sharing of empty scripts is allowed again.
- * changes: Update for 8.5.8 release.
+2010-10-13 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclClock.c (TclClockInit): Do not create [clock] support
- commands in safe interps.
+ * win/tclWinThrd.h: (removed) because it is just empty en used nowhere
+ * win/tcl.dsp
- * tests/io.test: New test io-53.11 to test for [Bug 2895565].
+2010-10-12 Jan Nijtmans <nijtmans@users.sf.net>
-2009-11-12 Andreas Kupries <andreask@activestate.com>
+ * tools/uniClass.tcl: Spacing and comments: let uniClass.tcl
+ * generic/regc_locale.c: generation match better the current
+ (hand-modified) regc_locale.c
+ * tools/uniParse.tcl: Generate proper const qualifiers for
+ * generic/tclUniData.c: tclUniData.c
- * generic/tclIO.c (CopyData): [Bug 2895565]: Dropped bogosity which
- used the number of _written_ bytes or character to update the counters
- for the read bytes/characters. See last entry for the test case.
+2010-10-12 Reinhard Max <max@suse.de>
-2009-11-11 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * unix/tclUnixSock.c (CreateClientSocket): [Bug 3084338]: Fix a
+ memleak and refactor the calls to freeaddrinfo().
- * tests/fCmd.test: Fixed a number of issues for Vista and Win7
- * tests/registry.test: that are due to restricted permissions.
- * tests/winFCmd.test:
+2010-10-11 Jan Nijtmans <nijtmans@users.sf.net>
-2009-11-11 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWinDde.c: [FRQ 2965056]: Windows build with -DUNICODE
+ * win/tclWinReg.c:
+ * win/tclWinTest.c: More cleanups
+ * win/tclWinFile.c: Add netapi32 to the link line, so we no longer
+ * win/tcl.m4: have to use LoadLibrary to access those functions.
+ * win/makefile.vc:
+ * win/configure: (Re-generate with autoconf-2.59)
+ * win/rules.vc Update for VS10
- * library/http/http.tcl: [Bug 2891171]: Update the URL syntax
- check to RFC 3986 compliance on the subject of non-encoded question
- mark characters.
-
- * library/http/pkgIndex.tcl: Bump to http 2.7.5 to avoid any
- * unix/Makefile.in: confusion with snapshot "releases"
- * win/Makefile.in: that might be in ActiveTcl, etc.
+2010-10-09 Miguel Sofer <msofer@users.sf.net>
-2009-11-11 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+ * generic/tclExecute.c: Fix overallocation of exec stack in TEBC (due
+ to mixing numwords and numbytes)
- * generic/tclIO.c: Backported fix for [Bug 2888099] (close discards
- ENOSPC error) by saving the errno from the first of two
- FlushChannel()s. Uneasy to test; might need specific channel drivers.
- Four-hands with aku.
+2010-10-08 Jan Nijtmans <nijtmans@users.sf.net>
-2009-11-10 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclIOSock.c: On Windows, use gai_strerrorA
- * generic/tclBasic.c: Plug another leak in TCL_EVAL_DIRECT
- evaluation.
+2010-10-06 Don Porter <dgp@users.sourceforge.net>
- * generic/tclObj.c: Plug memory leak in TclContinuationsEnter().
- [Bug 2895323]
+ * tests/winPipe.test: Test hygiene with makeFile and removeFile.
-2009-11-09 Stuart Cassoff <stwo@users.sf.net>
+ * generic/tclCompile.c: [Bug 3081065]: Prevent writing to the intrep
+ * tests/subst.test: fields of a freed Tcl_Obj.
- * win/README: [bug 2459744]: Removed outdated Msys + Mingw info.
+2010-10-06 Kevin B. Kenny <kennykb@acm.org>
-2009-11-09 Don Porter <dgp@users.sourceforge.net>
+ [dogeen-assembler-branch]
- * generic/tclBasic.c (TclEvalObjEx): Plug memory leak in
- TCL_EVAL_DIRECT evaluation.
+ * generic/tclAssembly.c:
+ * generic/tclAssembly.h:
+ * tests/assemble.test: Added catches. Still needs a lot of testing.
- * tests/info.test: Resolve ambiguous resolution of variable "res".
+2010-10-02 Kevin B. Kenny <kennykb@acm.org>
-2009-11-03 Don Porter <dgp@users.sourceforge.net>
+ [dogeen-assembler-branch]
- * generic/tcl.h: Bump to 8.5.8 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * README:
+ * generic/tclAssembly.c:
+ * generic/tclAssembly.h:
+ * tests/assemble.test: Added dictAppend, dictIncrImm, dictLappend,
+ dictSet, dictUnset, nop, regexp, nsupvar, upvar, and variable.
- * unix/configure: autoconf-2.59
- * win/configure:
+2010-10-02 Donal K. Fellows <dkf@users.sf.net>
- * changes: Update for 8.5.8 release.
+ * generic/tclExecute.c (TEBCresume): [Bug 3079830]: Added invalidation
+ of string representations of dictionaries in some cases.
-2009-11-03 Andreas Kupries <andreask@activestate.com>
+2010-10-01 Jeff Hobbs <jeffh@ActiveState.com>
- * library/safe.tcl (::safe::InterpSetConfig): [Bug 2854929]: Added
- code to recursively find deeper paths which may contain modules.
- Required to handle modules with names like 'platform::shell', which
- translate into 'platform/shell-X.tm', i.e arbitrarily deep
- subdirectories.
+ * generic/tclExecute.c (EvalStatsCmd): change 'evalstats' to return
+ data to interp by default, or if given an arg, use that as filename to
+ output to (accepts 'stdout' and 'stderr'). Fix output to print used
+ inst count data.
+ * generic/tclCkalloc.c: Change TclDumpMemoryInfo sig to allow objPtr
+ * generic/tclInt.decls: as well as FILE* as output.
+ * generic/tclIntDecls.h:
-2009-11-03 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/Asia/Novokuznetsk: New tzdata locale for Kemerovo
- oblast', which now keeps Novosibirsk time and not Kranoyarsk time.
- * library/tzdata/Asia/Damascus: Syrian DST changes.
- * library/tzdata/Asia/Hong_Kong: Hong Kong historic DST corrections.
- Olson tzdata2009q.
+2010-10-01 Donal K. Fellows <dkf@users.sf.net>
-2009-11-03 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * generic/tclBasic.c, generic/tclClock.c, generic/tclEncoding.c,
+ * generic/tclEnv.c, generic/tclLoad.c, generic/tclNamesp.c,
+ * generic/tclObj.c, generic/tclRegexp.c, generic/tclResolve.c,
+ * generic/tclResult.c, generic/tclUtil.c, macosx/tclMacOSXFCmd.c:
+ More purging of strcpy() from locations where we already know the
+ length of the data being copied.
- * tests/tcltest.test: Backport permissions fix for Win7.
+2010-10-01 Kevin B. Kenny <kennykb@acm.org>
-2009-10-31 Donal K. Fellows <dkf@users.sf.net>
+ [dogeen-assembler-branch]
- * generic/tclBasic.c (ExprRoundFunc): [Bug 2889593]: Correctly report
- the expected number of arguments when generating an error for round().
+ * tests/assemble.test:
+ * generic/tclAssemble.h:
+ * generic/tclAssemble.c: Added listIn, listNotIn, and dictGet.
-2009-10-29 Don Porter <dgp@users.sourceforge.net>
+2010-09-30 Kevin B. Kenny <kennykb@acm.org>
- * generic/tcl.h: [Bug 2800740]: Changed the typedef for the
- mp_digit type from:
- typedef unsigned long mp_digit;
- to:
- typedef unsigned int mp_digit;
- For 32-bit builds where "long" and "int" are two names for the same
- thing, this is no change at all. For 64-bit builds, though, this
- causes the dp[] array of an mp_int to be made up of 32-bit elements
- instead of 64-bit elements. This is a huge improvement because details
- elsewhere in the mp_int implementation cause only 28 bits of each
- element to be actually used storing number data. Without this change
- bignums are over 50% wasted space on 64-bit systems.
+ [dogeen-assembler-branch]
- ***POTENTIAL INCOMPATIBILITY***
- For 64-bit builds, callers of routines with (mp_digit) or (mp_digit *)
- arguments *will*, and callers of routines with (mp_int *) arguments
- *may* suffer both binary and stubs incompatibilities with Tcl releases
- 8.5.0 - 8.5.7. Such possibilities should be checked, and if such
- incompatibilities are present, suitable [package require] requirements
- on the Tcl release should be put in place to keep such built code
- [load]-ing only in Tcl interps that are compatible.
+ * tests/assemble.test: Added tryCvtToNumeric and several more list
+ * generic/tclAssemble.c: operations.
+ * generic/tclAssemble.h:
-2009-10-29 Kevin B. Kenny <kennykb@acm.org>
+2010-09-29 Kevin B. Kenny <kennykb@acm.org>
- * library/clock.tcl (LocalizeFormat):
- * tests/clock.test (clock-67.1): [Bug 2819334]:
- Corrected a problem where '%%' followed by a letter in a format group
- could expand recursively: %%R would turn into %%H:%M:%S.
+ [dogeen-assembler-branch]
-2009-10-28 Don Porter <dgp@users.sourceforge.net>
+ * tests/assemble.test: Completed conversion of tests to a
+ * generic/tclAssemble.c: "white box" structure that follows the
+ C code. Added missing safety checks on the operands of 'over' and
+ 'reverse' so that negative operand counts don't smash the stack.
- * generic/tclLiteral.c: Backport fix for [Bug 2888044].
+2010-09-29 Jan Nijtmans <nijtmans@users.sf.net>
-2009-10-28 Kevin B. Kenny <kennykb@acm.org>
+ * unix/configure: Re-generate with autoconf-2.59
+ * win/configure:
+ * generic/tclMain.c: Make compilable with -DUNICODE as well
+
+2010-09-28 Reinhard Max <max@suse.de>
+
+ TIP #162 IMPLEMENTATION
+
+ * doc/socket.n: Document the changes to the [socket] and
+ [fconfigure] commands.
+
+ * generic/tclInt.h: Introduce TclCreateSocketAddress() as a
+ * generic/tclIOSock.c: replacement for the platform-dependent
+ * unix/tclUnixSock.c: TclpCreateSocketAddress() functions. Extend
+ * unix/tclUnixChan.c: the [socket] and [fconfigure] commands to
+ * unix/tclUnixPort.h: behave as proposed in TIP #162. This is the
+ * win/tclWinSock.c: core of what is required to support the use of
+ * win/tclWinPort.h: IPv6 sockets in Tcl.
+
+ * compat/fake-rfc2553.c: A compat implementation of the APIs defined
+ * compat/fake-rfc2553.h: in RFC-2553 (getaddrinfo() and friends) on
+ top of the existing gethostbyname() etc.
+ * unix/configure.in: Test whether the fake-implementation is
+ * unix/tcl.m4: needed.
+ * unix/Makefile.in: Add a compile target for fake-rfc2553.
+
+ * win/configure.in: Allow cross-compilation by default.
+
+ * tests/socket.test: Improve the test suite to make more use of
+ * tests/remote.tcl: randomized ports to reduce interference with
+ tests running in parallel or other services on
+ the machine.
+
+2010-09-28 Kevin B. Kenny <kennykb@acm.org>
+
+ [dogeen-assembler-branch]
+
+ * tests/assemble.test: Added more "white box" tests.
+ * generic/tclAssembly.c: Added the error checking and reporting
+ for undefined labels. Revised code so that no pointers into the
+ bytecode sequence are held (because the sequence can move!),
+ that no Tcl_HashEntry pointers are held (because the hash table
+ doesn't guarantee their stability!) and to eliminate the BBHash
+ table, which is merely additional information indexed by jump
+ labels and can just as easily be held in the 'label' structure.
+ Renamed shared structures to CamelCase, and renamed 'label' to
+ JumpLabel because other types of labels may eventually be possible.
+
+2010-09-27 Kevin B. Kenny <kennykb@acm.org>
+
+ [dogeen-assembler-branch]
+
+ * tests/assemble.test: Added more "white box" tests.
+ * generic/tclAssembly.c: Fixed bugs exposed by the new tests.
+ (a) [eval] and [expr] had incorrect stack balance computed if
+ the arg was not a simple word. (b) [concat] accepted a negative
+ operand count. (c) [invoke] accepted a zero or negative operand
+ count. (d) more misspelt error messages.
+ Also replaced a funky NRCallTEBC with the new call
+ TclNRExecuteByteCode, necessitated by a merge with changes on the
+ HEAD.
+
+2010-09-26 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclBasic.c: [Patch 3072080] (minus the itcl
+ * generic/tclCmdIL.c: update): a saner NRE.
+ * generic/tclCompExpr.c:
+ * generic/tclCompile.c: This makes TclNRExecuteByteCode (ex TEBC)
+ * generic/tclCompile.h: to be a normal NRE citizen: it loses its
+ * generic/tclExecute.c: special status.
+ * generic/tclInt.decls: The logic flow within the BC engine is
+ * generic/tclInt.h: simplified considerably.
+ * generic/tclIntDecls.h:
+ * generic/tclObj.c:
+ * generic/tclProc.c:
+ * generic/tclTest.c:
- * tests/fileName.test (fileName-20.[78]): Corrected poor test
- hygiene (failure to save and restore the working directory) that
- caused these two tests to fail on Windows (and [Bug 2806250] to be
- reopened).
+ * generic/tclVar.c: Use the macro HasLocalVars everywhere
-2009-10-27 Don Porter <dgp@users.sourceforge.net>
+2010-09-26 Miguel Sofer <msofer@users.sf.net>
- * generic/tclPathObj.c: [Bug 2884203]: Missing refcount on cached
- normalized path caused crashes.
+ * generic/tclOOMethod.c (ProcedureMethodVarResolver): avoid code
+ duplication, let the runtime var resolver call the compiled var
+ resolver.
-2009-10-27 Kevin B. Kenny <kennykb@acm.org>
+2010-09-26 Kevin B. Kenny <kennykb@acm.org>
- * library/clock.tcl (ParseClockScanFormat): [Bug 2886852]:
- Corrected a problem where [clock scan] didn't load the timezone soon
- enough when processing a time format that lacked a complete date.
- * tests/clock.test (clock-66.1):
- Added a test case for the above bug.
- * library/tzdata/America/Argentina/Buenos_Aires:
- * library/tzdata/America/Argentina/Cordoba:
- * library/tzdata/America/Argentina/San_Luis:
- * library/tzdata/America/Argentina/Tucuman:
- New DST rules for Argentina. (Olson's tzdata2009p.)
+ [dogeen-assembler-branch]
-2009-10-24 Kevin B. Kenny <kennykb@acm.org>
+ * tests/assemble.test: Added many new tests moving toward a more
+ comprehensive test suite for the assembler.
+ * generic/tclAssembly.c: Fixed bugs exposed by the new tests:
+ (a) [bitnot] and [not] had incorrect operand counts. (b)
+ INST_CONCAT cannot concatenate zero objects. (c) misspelt error
+ messages. (d) the "assembly code" internal representation lacked
+ a duplicator, which caused double-frees of the Bytecode object
+ if assembly code ever was duplicated.
- * library/clock.tcl (ProcessPosixTimeZone):
- Corrected a regression in the fix to [Bug 2207436] that caused [clock]
- to apply EU daylight saving time rules in the US. Thanks to Karl
- Lehenbauer for reporting this regression.
- * tests/clock.test (clock-52.4):
- Added a regression test for the above regression.
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Asia/Karachi:
- New DST rules for Bangladesh and Pakistan. (Olson's tzdata2009o.)
+2010-09-25 Kevin B. Kenny <kennykb@acm.org>
-2009-10-23 Andreas Kupries <andreask@activestate.com>
+ [dogeen-assembler-branch]
- * generic/tclIO.c (FlushChannel): Skip OutputProc for low-level
- 0-length writes. When closing pipes which have already been closed not
- skipping leads to spurious SIG_PIPE signals. Reported by Mikhail
- Teterin <mi+thun@aldan.algebra.com>.
+ * generic/tclAssembly.c: Massive refactoring of the assembler
+ * generic/tclAssembly.h: to use a Tcl-like syntax (and use
+ * tests/assemble.test: Tcl_ParseCommand to parse it). The
+ * tests/assemble1.bench: refactoring also ensures that
+ Tcl_Tokens in the assembler have string ranges inside the source
+ code, which allows for [eval] and [expr] assembler directives
+ that simply call TclCompileScript and TclCompileExpr recursively.
-2009-10-21 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS
- where SIGSEGV and SIGBUS are the same value.
-
-2009-10-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIO.c: Revised ReadChars and FilterInputBytes
- routines to permit reads to continue up to the string limits of Tcl
- values. Before revisions, large read attempts could panic when as
- little as half the limiting value length was reached. [Patch 2107634]
- Thanks to Sean Morrison and Bob Parker for their roles in the fix.
-
-2009-10-18 Joe Mistachkin <joe@mistachkin.com>
+2010-09-24 Jeff Hobbs <jeffh@ActiveState.com>
- * tests/thread.test (thread-4.[345]): [Bug 1565466]: Correct tests to
- save their error state before the final call to threadReap just in
- case it triggers an "invalid thread id" error. This error can occur
- if one or more of the target threads has exited prior to the attempt
- to send it an asynchronous exit command.
-
- * doc/memory.n: [Bug 988703]: Add mechanism for finding what Tcl_Objs
- * generic/tclCkalloc.c (MemoryCmd): are allocated when built for
- * generic/tclInt.decls: memory debugging. This was previously
- * generic/tclInt.h: backported from Tcl 8.6 with the corrections to
- * generic/tclObj.c (ObjData, TclFinalizeThreadObjects): fix [Bug
- 2871908]. However, there were key elements missing. These changes make
- things consistent between branches.
+ * tests/stringComp.test: improved string eq/cmp test coverage
+ * generic/tclExecute.c (TclExecuteByteCode): merge INST_STR_CMP and
+ INST_STR_EQ/INST_STR_NEQ paths. Speeds up eq/ne/[string eq] with
+ obj-aware comparisons and eq/==/ne/!= with length equality check.
-2009-10-17 Donal K. Fellows <dkf@users.sf.net>
+2010-09-24 Andreas Kupries <andreask@activestate.com>
- * generic/tclVar.c (TclDeleteCompiledLocalVars, UnsetVarStruct)
- (TclDeleteNamespaceVars):
- * generic/tclTrace.c (Tcl_UntraceVar2): [Bug 2629338]: Stop traces
- that are deleted part way through (a feature used by tdom) from
- causing freed memory to be accessed.
+ * tclWinsock.c: [Bug 3056775]: Fixed race condition between thread and
+ internal co-thread access of a socket's structure because of the
+ thread not using the socketListLock in TcpAccept(). Added
+ documentation on how the module works to the top.
-2009-10-08 Donal K. Fellows <dkf@users.sf.net>
+2010-09-23 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclDictObj.c (DictIncrCmd): [Bug 2874678]: Don't leak any
- bignums when doing [dict incr] with a value.
- * tests/dict.test (dict-19.3): Memory leak detection code.
+ * generic/tclDecls.h: Make Tcl_SetPanicProc and Tcl_GetStringResult
+ * unix/tclAppInit.c: callable without stubs, just as Tcl_SetVar.
+ * win/tclAppInit.c:
-2009-10-07 Andreas Kupries <andreask@activestate.com>
+2010-09-23 Don Porter <dgp@users.sourceforge.net>
- * generic/tclObj.c: [Bug 2871908]: Plug memory leaks of the
- objThreadMap and lineCLPtr hashtables. Also make the names of the
- continuation line information initialization and finalization
- functions more consistent. Patch supplied by Joe Mistachkin
- <joe@mistachkin.com>.
+ * generic/tclCmdAH.c: Fix cases where value returned by
+ * generic/tclEvent.c: Tcl_GetReturnOptions() was leaked.
+ * generic/tclMain.c: Thanks to Jeff Hobbs for discovery of the
+ anti-pattern to seek and destroy.
- * generic/tclIORChan.c (ErrnoReturn): Replace the hardwired constant
- 11 with the proper errno define, EAGAIN. What was I thinking? The
- BSD's have a different errno assignment and break with the hardwired
- number. Reported by emiliano on the chat.
+2010-09-23 Jan Nijtmans <nijtmans@users.sf.net>
-2009-10-06 Don Porter <dgp@users.sourceforge.net>
+ * unix/tclAppInit.c: Make compilable with -DUNICODE (not activated
+ * win/tclAppInit.c: yet), many clean-ups in comments.
- * generic/tclTomMathInt.h (new): Public header tclTomMath.h had
- * generic/tclTomMath.h: dependence on private headers, breaking use
- * generic/tommath.h: by extensions [Bug 1941434].
+2010-09-22 Miguel Sofer <msofer@users.sf.net>
-2009-10-05 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute: [Bug 3072640]: One more DECACHE_STACK_INFO() was
+ missing.
- * changes: Update for 8.5.8 release.
+ * tests/execute.test: Added execute-10.3 for [Bug 3072640]. The test
+ causes a mem failure.
-2009-10-04 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclExecute: Protect all possible writes to ::errorInfo or
+ ::errorCode with DECACHE_STACK_INFO(), as they could run traces. The
+ new calls to be protected are Tcl_ResetResult(), Tcl_SetErrorCode(),
+ IllegalExprOperandType(), TclExprFloatError(). The error was triggered
+ by [Patch 3072080].
- * macosx/tclMacOSXBundle.c: Workaround CF memory managment bug in
- * unix/tclUnixInit.c: Mac OS X 10.4 & earlier. [Bug 2569449]
+2010-09-22 Jan Nijtmans <nijtmans@users.sf.net>
-2009-10-02 Kevin B. Kenny <kennykb@acm.org>
+ * win/tcl.m4: Add kernel32 to LIBS, so the link line for
+ * win/configure: mingw is exactly the same as for MSVC++.
- * library/tzdata/Africa/Cairo:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Karachi:
- * library/tzdata/Pacific/Apia: Olson's tzdata2009n.
+2010-09-21 Jeff Hobbs <jeffh@ActiveState.com>
-2009-09-29 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c (TclExecuteByteCode):
+ * generic/tclOOMethod.c (ProcedureMethodCompiledVarConnect):
+ * generic/tclVar.c (TclLookupSimpleVar, CompareVarKeys):
+ * generic/tclPathObj.c (Tcl_FSGetNormalizedPath, Tcl_FSEqualPaths):
+ * generic/tclIOUtil.c (TclFSCwdPointerEquals): peephole opt
+ * generic/tclResult.c (TclMergeReturnOptions): Use memcmp where
+ applicable as possible speedup on some libc variants.
- * generic/tclAlloc.c: Cleaned up various routines in the
- * generic/tclCkalloc.c: call stacks for memory allocation to
- * generic/tclInt.h: guarantee that any size values computed
- * generic/tclThreadAlloc.c: are within the domains of the routines
- they get passed to. [Bugs 2557696 and 2557796].
+2010-09-21 Kevin B. Kenny <kennykb@acm.org>
-2009-09-11 Don Porter <dgp@users.sourceforge.net>
+ [BRANCH: dogeen-assembler-branch]
- * library/http/http.tcl: Bump to http 2.7.4 to account for
- * library/http/pkgIndex.tcl: [Bug 2849860] fix.
+ * generic/tclAssembly.c (new file):
+ * generic/tclAssembly.h:
+ * generic/tclBasic.c (builtInCmds, Tcl_CreateInterp):
+ * generic/tclInt.h:
+ * tests/assemble.test (new file):
+ * tests/assemble1.bench (new file):
* unix/Makefile.in:
* win/Makefile.in:
+ * win/Makefile.vc:
+ Initial commit of Ozgur Dogan Ugurlu's (SF user: dogeen)
+ assembler for the Tcl bytecode language.
-2009-09-10 Donal K. Fellows <dkf@users.sf.net>
+2010-09-21 Jan Nijtmans <nijtmans@users.sf.net>
- * library/http/http.tcl (http::Event): [Bug 2849860]: Handle charset
- names in double quotes; some servers like generating them like that.
+ * win/tclWinFile.c: Fix declaration after statement.
+ * win/tcl.m4: Add -Wdeclaration-after-statement, so this
+ * win/configure: mistake cannot happen again.
+ * win/tclWinFCmd.c: [Bug 3069278]: Breakage on head Windows
+ * win/tclWinPipe.c: triggered by install-tzdata, final fix
-2009-09-01 Don Porter <dgp@users.sourceforge.net>
+2010-09-20 Jan Nijtmans <nijtmans@users.sf.net>
- * library/tcltest/tcltest.tcl: Bump to tcltest 2.3.2 after revision
- * library/tcltest/pkgIndex.tcl: to verbose error message.
- * unix/Makefile.in:
- * win/Makefile.in:
+ * win/tclWinFCmd.c: Eliminate tclWinProcs->useWide everywhere, since
+ * win/tclWinFile.c: the value is always "1" on platforms >win95
+ * win/tclWinPipe.c:
-2009-08-27 Don Porter <dgp@users.sourceforge.net>
+2010-09-19 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclStringObj.c: [Bug 2845535]: A few more string
- overflow cases in [format].
+ * doc/file.n (file readlink): [Bug 3070580]: Typofix.
-2009-08-25 Andreas Kupries <andreask@activestate.com>
+2010-09-18 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard)
- (EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations)
- (TclEvalObjEx):
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines):
- * generic/tclCompCmds.c (*):
- * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv)
- (TclFreeCompileEnv, TclCompileScript):
- * generic/tclCompile.h (CompileEnv):
- * generic/tclInt.h (ContLineLoc, Interp):
- * generic/tclObj.c (ThreadSpecificData, ContLineLocFree)
- (TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter)
- (TclContinuationsEnterDerived, TclContinuationsCopy)
- (TclContinuationsGet, TclFreeObj):
- * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj):
- * generic/tclProc.c (TclCreateProc):
- * generic/tclVar.c (TclPtrSetVar):
- * tests/info.test (info-30.0-24):
+ * win/tclWinFCmd.c [Bug 3069278]: Breakage on head Windows triggered
+ by install-tzdata. Temporary don't compile this with -DUNICODE, while
+ investigating this bug.
- Extended parser, compiler, and execution with code and attendant data
- structures tracking the positions of continuation lines which are not
- visible in script Tcl_Obj*'s, to properly account for them while
- counting lines for #280.
+2010-09-16 Jeff Hobbs <jeffh@ActiveState.com>
-2009-08-24 Daniel Steffen <das@users.sourceforge.net>
+ * win/tclWinFile.c: Remove define of FINDEX_INFO_LEVELS as all
+ supported versions of compilers should now have it.
- * macosx/tclMacOSXNotify.c: Fix multiple issues with nested event
- loops when CoreFoundation notifier is running in embedded mode. (Fixes
- problems in TkAqua Cocoa reported by Youness Alaoui on tcl-mac)
+ * unix/Makefile.in: Do not pass current build env vars when using
+ NATIVE_TCLSH in targets.
-2009-08-21 Don Porter <dgp@users.sourceforge.net>
+2010-09-16 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclFileName.c: Correct regression in [Bug 2837800] fix.
- * tests/fileName.test:
+ * generic/tclDecls.h: Make Tcl_FindExecutable() work in UNICODE
+ * generic/tclEncoding.c: compiles (windows-only) as well as ASCII.
+ * generic/tclStubInit.c: Needed for [FRQ 491789]: setargv() doesn't
+ support a unicode cmdline.
-2009-08-20 Don Porter <dgp@users.sourceforge.net>
+2010-09-15 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclFileName.c: [Bug 2837800]: Get the correct result from
- [glob */test] when * matches something like ~foo.
+ * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 3067036]: Make
+ sure we never try to double zero repeatedly to get a buffer size. Also
+ added a check for sanity on the size of buffer being appended.
- * generic/tclPathObj.c: [Bug 2806250]: Prevent the storage of strings
- starting with ~ in the "tail" part (normPathPtr field) of the path
- intrep when PATHFLAGS != 0. This establishes the assumptions relied
- on elsewhere that the name stored there is a relative path. Also
- refactored to make an AppendPath() routine instead of the cut/paste
- stanzas that were littered throughout.
+2010-09-15 Don Porter <dgp@users.sourceforge.net>
-2009-08-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Plug memory leak.
-
-2009-08-18 Don Porter <dgp@users.sourceforge.net>
+ * unix/Makefile.in: Revise `make dist` target to tolerate the
+ case of zero bundled packages.
- * generic/tclPathObj.c: [Bug 2837800]: Added NULL check to prevent
- * tests/fileName.test: crashes during [glob].
+2010-09-15 Jan Nijtmans <nijtmans@users.sf.net>
-2009-08-06 Andreas Kupries <andreask@activestate.com>
+ * tools/genStubs.tcl: [Patch 3034251]: Backport ttkGenStubs.tcl
+ * generic/tcl.decls: features to genStubs.tcl. Make the "generic"
+ * generic/tclInt.decls: argument in the *.decls files optional
+ * generic/tclOO.decls: (no change to any tcl*Decls.h files)
+ * generic/tclTomMath.decls:
+ This allows genStubs.tcl to generate the ttk stub files as well, while
+ keeping full compatibility with existing *.decls files.
- * doc/refchan.n [Bug 2827000]: Extended the implementation of
- * generic/tclIORChan.c: reflective channels (TIP 219, method 'read'),
- * tests/ioCmd.test: enabling handlers to signal EAGAIN to indicate 'no
- data, but not at EOF either', and other system errors. Updated
- documentation, extended testsuite (New test cases iocmd*-23.{9,10}).
+2010-09-14 Jan Nijtmans <nijtmans@users.sf.net>
-2009-08-02 Donal K. Fellows <dkf@users.sf.net>
+ * win/tclWinPort.h: Allow all Win2000+ API entries in Tcl
+ * win/tclWin32Dll.c: Eliminate dynamical loading of advapi23 and
+ kernel32 symbols.
- * unix/tclUnixFCmd.c (GetOwnerAttribute, SetOwnerAttribute)
- (GetGroupAttribute, SetGroupAttribute): [Bug 1942222]: Stop calling
- * unix/tclUnixFile.c (TclpGetUserHome): endpwent() and endgrent();
- they've been unnecessary for ages.
+2010-09-13 Jan Nijtmans <nijtmans@users.sf.net>
-2009-07-31 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWinChan.c: Various clean-ups, converting from
+ * win/tclWinConsole.c: tclWinProc->xxxProc directly to Xxx
+ * win/tclWinInit.c: (no change in functionality)
+ * win/tclWinLoad.c:
+ * win/tclWinSerial.c:
+ * win/tclWinSock.c:
+ * tools/genStubs.tcl: Add scspec feature from ttkGenStubs.tcl
+ (no change in output for *Decls.h files)
- * generic/tclStringObj.c: [Bug 2830354]: Corrected failure to
- * tests/format.test: grow buffer when format spec request
- large width floating point values. Thanks to Clemens Misch.
+2010-09-10 Jan Nijtmans <nijtmans@users.sf.net>
-2009-07-24 Andreas Kupries <andreask@activestate.com>
+ * win/tclWin32Dll.c: Partly revert yesterday's change, to make it work
+ on VC++ 6.0 again.
- * generic/tclIO.c (Tcl_GetChannelHandle): [Bug 2826248]: Do not crash
- * generic/tclPipe.c (FileForRedirect): for getHandleProc == NULL, this
- is allowed. Provide a nice error message in the bypass area. Updated
- caller to check the bypass for a mesage. Bug reported by Andy
- Sonnenburg <andy22286@users.sourceforge.net>. Backported from CVS
- head.
+2010-09-10 Donal K. Fellows <dkf@users.sf.net>
-2009-07-23 Joe Mistachkin <joe@mistachkin.com>
+ * doc/regsub.n: [Bug 3063568]: Fix for gotcha in example due to Tcl's
+ special handling of backslash-newline. Makes example slightly less
+ pure, but more useful.
- * generic/tclNotify.c: [Bug 2820349]: Ensure that queued events are
- freed once processed.
+2010-09-09 Jan Nijtmans <nijtmans@users.sf.net>
-2009-07-21 Kevin B. Kenny <kennykb@acm.org>
+ * win/makefile.vc: Mingw should always link with -ladvapi32.
+ * win/tcl.m4:
+ * win/configure: (regenerated)
+ * win/tclWinInt.h: Remove ascii variant of tkWinPocs table, it is
+ * win/tclWin32Dll.c: no longer necessary. Fix CreateProcess signature
+ * win/tclWinPipe.c: and remove unused GetModuleFileName and lstrcpy.
+ * win/tclWinPort.h: Mingw/cygwin fixes: <tchar.h> should always be
+ included, and fix conflict in various macro values: Always force the
+ same values as in VC++.
- * library/tzdata/Asia/Dhaka:
- * library/tzdata/Indian/Mauritius: Olson's tzdata2009k.
+2010-09-08 Don Porter <dgp@users.sourceforge.net>
-2009-07-20 Donal K. Fellows <dkf@users.sf.net>
+ * win/tclWinChan.c: [Bug 3059922]: #ifdef protections to permit
+ * win/tclWinFCmd.c: builds with mingw on amd64 systems. Thanks to
+ "mescalinum" for reporting and testing.
- * generic/tclCmdMZ.c (StringIsCmd): Reorganize so that [string is] is
- more efficient when parsing things that are correct, at a cost of
- making the empty string test slightly more costly. With this, the cost
- of doing [string is integer -strict $x] matches [catch {expr {$x+0}}]
- in the successful case, and greatly outstrips it in the failing case.
+2010-09-08 Andreas Kupries <andreask@activestate.com>
-2009-07-16 Don Porter <dgp@users.sourceforge.net>
+ * doc/tm.n: Added underscore to the set of characters accepted in
+ module names. This is true for quite some time in the code, this
+ change catches up the documentation.
- * generic/tclCmdIL.c: Removed unused variables.
- * generic/tclCompile.c:
- * generic/tclVar.c:
- * unix/tclUnixChan.c:
+2010-09-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclScan.c: Typo in ACCEPT_NAN configuration.
+ * tools/tcltk-man2html.tcl (plus-pkgs): Improve the package
+ documentation search pattern to support the doctoos-generated
+ directory structure.
+ * tools/tcltk-man2html-utils.tcl (output-name): Made this more
+ resilient against misformatted NAME sections, induced by import of
+ Thread package documentation into Tcl doc tree.
- * generic/tclStrToD.c: [Bug 2819200]: Set floating point control
- register on MIPS systems so that the gradual underflow expected by Tcl
- is in effect.
+2010-09-02 Andreas Kupries <andreask@activestate.com>
-2009-07-14 Andreas Kupries <andreask@activestate.com>
+ * doc/glob.n: Fixed documentation ambiguity regarding the handling
+ of -join.
- * generic/tclBasic.c (DeleteInterpProc,TclArgumentBCEnter,
- (TclArgumentBCRelease, TclArgumentGet):
- * generic/tclCompile.c (EnterCmdWordIndex, TclCleanupByteCode,
- (TclInitCompileEnv, TclCompileScript):
- * generic/tclCompile.h (ExtCmdLoc):
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclInt.h (ExtIndex, CFWordBC):
- * tests/info.test (info-39.0):
+ * library/safe.tcl (safe::AliasGlob): Fixed another problem, the
+ option -join does not stop option processing in the core builtin, so
+ the emulation must not do that either.
- Backport of some changes made to the Tcl head, to handle literal
- sharing better. The code here is much simpler (trimmed down) compared
- to the head as the 8.5 branch is not bytecode compiling whole files,
- and doesn't compile eval'd code either.
+2010-09-01 Andreas Kupries <andreas_kupries@users.sourceforge.net>
- Reworked the handling of literal command arguments in bytecode to be
- saved (compiler) and used (execution) per command (see the
- TCL_INVOKE_STK* instructions), and not per the whole bytecode. This
- removes the problems with location data caused by literal sharing in
- proc bodies. Simplified the associated datastructures (ExtIndex is
- gone, as is the function EnterCmdWordIndex).
+ * library/safe.tcl (safe::AliasGlob): Moved the command extending the
+ actual glob command with a -directory flag to when we actually have a
+ proper untranslated path,
-2009-07-01 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-09-01 Andreas Kupries <andreask@activestate.com>
- * win/tclWinInt.h: [Bug 2806622]: Handle the GetUserName API call
- * win/tclWin32Dll.c: via the tclWinProcs indirection structure. This
- * win/tclWinInit.c: fixes a problem obtaining the username when the
- USERNAME environment variable is unset.
+ * generic/tclExecute.c: [Bug 3057639]: Applied patch by Jeff to make
+ * generic/tclVar.c: the behaviour of lappend in bytecompiled mode
+ * tests/append.test: consistent with direct-eval and 'append'
+ * tests/appendComp.test: generally. Added tests (append*-9.*)
+ showing the difference.
-2009-06-15 Don Porter <dgp@users.sourceforge.net>
+2010-08-31 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.
+ * win/rules.vc: Typo (thanks to Twylite discovering
+ this)
+ * generic/tclStubLib.c: Revert to previous version: MSVC++ 6.0
+ * generic/tclTomMathStubLib.c:cannot handle the new construct.
+ * generic/tcl.decls [Patch 2997642]: Many type casts needed
+ * generic/tclDecls.h: when using Tcl_Pkg* API. Remaining part.
+ * generic/tclPkg.c:
+ * generic/tclBasic.c:
+ * generic/tclTomMathInterface.c:
+ * doc/PkgRequire.3
-2009-06-13 Don Porter <dgp@users.sourceforge.net>
+2010-08-31 Andreas Kupries <andreask@activestate.com>
- * generic/tclCompile.c: The value stashed in iPtr->compiledProcPtr
- * generic/tclProc.c: when compiling a proc survives too long. We
- * tests/execute.test: only need it there long enough for the right
- TclInitCompileEnv() call to re-stash it into envPtr->procPtr. Once
- that is done, the CompileEnv controls. If we let the value of
- iPtr->compiledProcPtr linger, though, then any other bytecode compile
- operation that takes place will also have its CompileEnv initialized
- with it, and that's not correct. The value is meant to control the
- compile of the proc body only, not other compile tasks that happen
- along. Thanks to Carlos Tasada for discovering and reporting the
- problem. [Bug 2802881].
+ * win/tcl.m4: Applied patch by Jeff fixing issues with the manifest
+ handling on Win64.
+ * win/configure: Regenerated.
-2009-06-10 Don Porter <dgp@users.sourceforge.net>
+2010-08-30 Miguel Sofer <msofer@users.sf.net>
- * generic/tclStringObj.c: Revised [format] to not overflow the
- integer calculations computing the length of the %ll formats of
- really big integers. Also added protections so that [format]s that
- would produce results overflowing the maximum string length of Tcl
- values throw a normal Tcl error instead of a panic. [Bug 2801413]
+ * generic/tclBasic.c: [Bugs 3046594,3047235,3048771]: New
+ * generic/tclCmdAH.c: implementation for [tailcall] command: it now
+ * generic/tclCmdMZ.c: schedules the command and returns TCL_RETURN.
+ * generic/tclExecute.c: This fixes all issues with [catch] and [try].
+ * generic/tclInt.h: Thanks dgp for exploring the dark corners.
+ * generic/tclNamesp.c: More thorough testing is required.
+ * tests/tailcall.test:
-2006-06-09 Kevin B. Kenny <kennykb@acm.org>
+2010-08-30 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclGetDate.y: Fixed a thread safety bug in the generated
- * library/clock.tcl: Bison parser (needed a %pure-parser
- * tests/clock.test: declaration to avoid static variables).
- Discovered that the %pure-parser declaration
- allowed for returning the Bison error message
- to the Tcl caller in the event of a syntax
- error, so did so.
- * generic/tclDate.c: bison 2.3
+ * win/Makefile.in: [FRQ 2965056]: Windows build with -DUNICODE
+ * win/rules.vc:
+ * win/tclWinFCmd.c: Make sure that allocated TCHAR arrays are
+ * win/tclWinFile.c: always properly aligned as wchar_t, and
+ * win/tclWinPipe.c: not bigger than necessary.
+ * win/tclWinSock.c:
+ * win/tclWinDde.c: Those 3 files are not converted yet to be
+ * win/tclWinReg.c: built with -DUNICODE, so add a TODO.
+ * win/tclWinTest.c:
+ * generic/tcl.decls: [Patch 2997642]: Many type casts needed when
+ * generic/tclDecls.h: using Tcl_Pkg* API. Partly.
+ * generic/tclPkg.c:
+ * generic/tclStubLib.c: Demonstration how this change can benefit
+ code.
+ * generic/tclTomMathStubLib.c:
+ * doc/PkgRequire.3:
-2006-06-08 Kevin B. Kenny <kennykb@acm.org>
+2010-08-29 Donal K. Fellows <dkf@users.sf.net>
- * library/tzdata/Asia/Dhaka: New DST rule for Bangladesh.
- (Olson's tzdata2009i.)
+ * doc/dict.n: [Bug 3046999]: Corrected cross reference to array
+ manpage to refer to (correct) existing subcommand.
-2009-06-02 Don Porter <dgp@users.sourceforge.net>
+2010-08-26 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclExecute.c: Replace dynamically-initialized table with
- a table of static constants in the lookup table for exponent operator
- computations that fit in a 64 bit integer result.
+ * unix/configure, unix/tcl.m4: SHLIB_LD_LIBS='${LIBS}' for OSF1-V*.
+ Add /usr/lib64 to set of auto-search dirs. [Bug 1230554]
+ (SC_PATH_X): Correct syntax error when xincludes not found.
- * generic/tclExecute.c: Corrected implementations and selection
- logic of the INST_EXPON instruction to fix [Bug 2798543].
+ * win/Makefile.in (VC_MANIFEST_EMBED_DLL VC_MANIFEST_EMBED_EXE):
+ * win/configure, win/configure.in, win/tcl.m4: SC_EMBED_MANIFEST
+ macro and --enable-embedded-manifest configure arg added to support
+ manifest embedding where we know the magic. Help prevents DLL hell
+ with MSVC8+.
-2009-06-01 Don Porter <dgp@users.sourceforge.net>
+2010-08-24 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/expr.test: Added many tests demonstrating the broken
- cases of [Bug 2798543].
+ * generic/tcl.decls: [Bug 3007895]: Tcl_(Find|Create)HashEntry
+ * generic/tclHash.c: stub entries can never be called.
+ * generic/tclDecls.h:
+ * generic/tclStubInit.c: [Patch 2994165]: Change signature of
+ Tcl_FSGetNativePath and TclpDeleteFile follow-up: move stub entry back
+ to original location.
-2009-05-30 Kevin B. Kenny <kennykb@acm.org>
+2010-08-23 Kevin B. Kenny <kennykb@acm.org>
* library/tzdata/Africa/Cairo:
- * library/tzdata/Asia/Amman: Olson's tzdata2009h.
-
-2009-05-29 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl: Fixed handling of cpu ia64,
- * library/platform/pkgIndex.tcl: taking ia64_32 into account
- * unix/Makefile.in: now. Bumped version to 1.0.5. Updated the
- * win/Makefile.in: installation commands.
-
-2009-05-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclObj.c (Tcl_GetCommandFromObj): fix for bug [2785893],
- insure that a command in a deleted namespace cannot be found
- through a cached name.
+ * library/tzdata/Asia/Gaza: Olson's tzdata2010l.
-2009-05-06 Don Porter <dgp@users.sourceforge.net>
+2010-08-22 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdMZ.c: Improve overflow error message from
- [string repeat]. [Bug 2582327]
+ * generic/tclBasic.c: [Patch 3009403]: Signature of Tcl_GetHashKey,
+ * generic/tclBinary.c: Tcl_(Create|Find)HashEntry follow-up:
+ * generic/tclCmdIL.c: Remove many type casts which are no longer
+ * generic/tclCompile.c:necessary as a result of this signature change.
+ * generic/tclDictObj.c:
+ * generic/tclEncoding.c:
+ * generic/tclExecute.c:
+ * generic/tclInterp.c:
+ * generic/tclIOCmd.c:
+ * generic/tclObj.c:
+ * generic/tclProc.c:
+ * generic/tclTest.c:
+ * generic/tclTrace.c:
+ * generic/tclUtil.c:
+ * generic/tclVar.c:
-2009-04-28 Jeff Hobbs <jeffh@ActiveState.com>
+2010-08-21 Donal K. Fellows <dkf@users.sf.net>
- * unix/tcl.m4, unix/configure (SC_CONFIG_CFLAGS): harden the check
- to add _r to CC on AIX with threads.
+ * doc/linsert.n: [Bug 3045123]: Make description of what is actually
+ happening more accurate.
-2009-04-27 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2010-08-21 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.h: Backport fix for [Bug 1028264]: WSACleanup() too early.
- * generic/tclEvent.c: The fix introduces "late exit handlers"
- * win/tclWinSock.c: for similar late process-wide cleanups.
+ * tools/genStubs.tcl: [Patch 3034251]: Backport ttkGenStubs.tcl
+ features to genStubs.tcl, partly: Use void (*reserved$i)(void) = 0
+ instead of void *reserved$i = NULL for unused stub entries, in case
+ pointer-to-function and pointer-to-object are different sizes.
+ * generic/tcl*Decls.h: (regenerated)
+ * generic/tcl*StubInit.c:(regenerated)
-2009-04-27 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2010-08-20 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinSock.c: Backport fix for [Bug 2446662]: resync Win
- behavior on RST with that of unix (EOF).
+ * doc/Method.3: Fix definition of Tcl_MethodType.
-2009-04-27 Donal K. Fellows <dkf@users.sf.net>
+2010-08-19 Donal K. Fellows <dkf@users.sf.net>
- * doc/concat.n (EXAMPLES): [Bug 2780680]: Rewrote so that the spacing
- of result messages is correct. (The exact way they were wrong was
- different when rendered through groff or as HTML, but it was still
- wrong both ways.)
+ * generic/tclTrace.c (TraceExecutionObjCmd, TraceCommandObjCmd)
+ (TraceVariableObjCmd): [Patch 3048354]: Use memcpy() instead of
+ strcpy() to avoid buffer overflow; we have the correct length of data
+ to copy anyway since we've just allocated the target buffer.
-2009-04-24 Stuart Cassoff <stwo@users.sf.net>
+2010-08-18 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/Makefile.in: [Patch 2769530]: Don't chmod/exec installManPage.
+ * tools/genStubs.tcl: [Patch 3034251]: Backport ttkGenStubs.tcl
+ features to genStubs.tcl, partly: remove unneeded ifdeffery and put
+ C++ guard around stubs pointer definition.
+ * generic/*Decls.h: (regenerated)
-2009-04-15 Don Porter <dgp@users.sourceforge.net>
+2010-08-18 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclBasic.c: New redesign of [tailcall]: find
+ * generic/tclExecute.c: errors early on, so that errorInfo
+ * generic/tclInt.h: contains the proper info [Bug 3047235]
+ * generic/tclNamesp.c:
- *** 8.5.7 TAGGED FOR RELEASE ***
+ * generic/tclCmdAH.c (TclNRTryObjCmd): [Bug 3046594]: Block
+ tailcalling out of the body of a non-bc'ed [try].
- * generic/tclStringObj.c: AppendUnicodeToUnicodeRep failed
- to set stringPtr->allocated to 0, leading to crashes.
+ * generic/tclBasic.c: Redesign of [tailcall] to
+ * generic/tclCmdAH.c: (a) fix [Bug 3047235]
+ * generic/tclCompile.h: (b) enable fix for [Bug 3046594]
+ * generic/tclExecute.c: (c) enable recursive tailcalls
+ * generic/tclInt.h:
+ * generic/tclNamesp.c:
+ * tests/tailcall.test:
- * changes: Update for 8.5.7 release.
+2010-08-18 Donal K. Fellows <dkf@users.sf.net>
-2009-04-14 Stuart Cassoff <stwo@users.sourceforge.net>
+ * library/safe.tcl (AliasGlob): [Bug 3004191]: Restore safe [glob] to
+ working condition.
- * unix/tcl.m4: Removed -Wno-implicit-int from CFLAGS_WARNING.
+2010-08-15 Donal K. Fellows <dkf@users.sf.net>
-2008-04-14 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclProc.c (ProcWrongNumArgs): [Bug 3045010]: Make the
+ handling of passing the wrong number of arguments to [apply] somewhat
+ less verbose when a lambda term is present.
- * library/tzdata/Asia/Karachi: Updated rules for Pakistan Summer
- Time (Olson's tzdata2009f)
+2010-08-14 Jan Nijtmans <nijtmans@users.sf.net>
-2009-04-10 Don Porter <dgp@users.sourceforge.net>
+ * compat/unicows: Remove completely, see [FRQ 2819611].
+ * doc/FileSystem.3: [Patch 2994165]: Change signature of
+ * generic/tcl.decls Tcl_FSGetNativePath and TclpDeleteFile
+ * generic/tclDecls.h:
+ * generic/tclIOUtil.c:
+ * generic/tclStubInit.c:
+ * generic/tclInt.h:
+ * unix/tclUnixFCmd.c:
+ * win/tclWinFCmd.c:
+ * doc/Hash.3: [Patch 3009403]: Signature of Tcl_GetHashKey,
+ * generic/tcl.h: Tcl_(Create|Find)HashEntry
- * changes: Update for 8.5.7 release.
+2010-08-11 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tcl.h: Bump to 8.5.7 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * README:
+ * unix/ldAix: Remove ancient (pre-4.2) AIX support
+ * unix/configure: Regen with ac-2.59
+ * unix/configure.in, unix/tclConfig.sh.in, unix/Makefile.in:
+ * unix/tcl.m4 (AIX): Remove the need for ldAIX, replace with
+ -bexpall/-brtl. Remove TCL_EXP_FILE (export file) and other baggage
+ that went with it. Remove pre-4 AIX build support.
- * unix/configure: autoconf-2.59
- * win/configure:
+2010-08-11 Miguel Sofer <msofer@users.sf.net>
- * generic/tclStringObj.c (UpdateStringOfString): Fix bug detected
- by compiler warning about undefined "dst".
+ * generic/tclBasic.c (TclNRYieldToObjCmd):
+ * tests/coroutine.test: Fixed bad copypasta snafu. Thanks to Andy Goth
+ for finding the bug.
- * tests/httpd: Backport new tests for http 2.7.3.
- * tests/http.tcl:
+2010-08-10 Jeff Hobbs <jeffh@ActiveState.com>
-2009-04-10 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclUtil.c (TclByteArrayMatch): Patterns may not be
+ null-terminated, so account for that.
- * unix/tclUnixChan.c: TclUnixWaitForFile(): use FD_* macros
- * macosx/tclMacOSXNotify.c: to manipulate select masks (Cassoff).
- [Bug 1960647]
+2010-08-09 Don Porter <dgp@users.sourceforge.net>
- * unix/tclLoadDyld.c: use RTLD_GLOBAL instead of RTLD_LOCAL.
- [Bug 1961211]
+ * changes: Updates for 8.6b2 release.
- * macosx/tclMacOSXNotify.c: revise CoreFoundation notifier to allow
- embedding into applications that
- already have a CFRunLoop running and
- want to run the tcl event loop via
- Tcl_ServiceModeHook(TCL_SERVICE_ALL).
+2010-08-04 Jeff Hobbs <jeffh@ActiveState.com>
- * macosx/tclMacOSXNotify.c: add CFRunLoop based Tcl_Sleep() and
- * unix/tclUnixChan.c: TclUnixWaitForFile() implementations
- * unix/tclUnixEvent.c: and disable select() based ones in
- CoreFoundation builds.
+ * win/Makefile.in, win/makefile.bc, win/makefile.vc, win/tcl.dsp:
+ * win/tclWinPipe.c (TclpCreateProcess):
+ * win/stub16.c (removed): Removed Win9x tclpip8x.dll build and 16-bit
+ application loader stub support. Win9x is no longer supported.
- * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c.
+ * win/tclWin32Dll.c (TclWinInit): Hard-enforce Windows 9x as an
+ unsupported platform with a panic. Code to support it still exists in
+ other files (to go away in time), but new APIs are being used that
+ don't exist on Win9x.
- * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode()
- * generic/tclIntPlatDecls.h: internal API, regen.
- * generic/tclStubInit.c:
+ * unix/tclUnixFCmd.c: Adjust license header as per
+ ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
- * unix/configure.in (Darwin): use Darwin SUSv3 extensions if
- available; remove /Network locations
- from default tcl package search path
- (NFS mounted locations and thus slow).
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
+ * license.terms: Fix DFARs note for number-adjusted rights clause
- * macosx/tclMacOSXBundle.c: on Mac OS X 10.4 and later, replace
- deprecated NSModule API by dlfcn API.
+ * win/tclWin32Dll.c (asciiProcs, unicodeProcs):
+ * win/tclWinLoad.c (TclpDlopen): 'load' use LoadLibraryEx with
+ * win/tclWinInt.h (TclWinProcs): LOAD_WITH_ALTERED_SEARCH_PATH to
+ prefer dependent DLLs in same dir as loaded DLL.
-2009-04-09 Kevin B. Kenny <kennykb@acm.org>
+ * win/Makefile.in (%.${OBJEXT}): better implicit rules support
- * tools/tclZIC.tcl: Always emit Unix-style line terminators.
- * library/tzdata: Olson's tzdata2009e.
+2010-08-04 Andreas Kupries <andreask@activestate.com>
-2009-04-09 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclIORChan.c: [Bug 3034840]: Fixed reference counting in
+ * generic/tclIORTrans.c: InvokeTclMethod and callers.
+ * tests/ioTrans.test:
- * library/http/http.tcl: Backport http 2.7.3 from HEAD for
- * library/http/pkgIndex.tcl: bundling with the Tcl 8.5.7 release.
- * unix/Makefile.in:
- * win/Makefile.in:
+2010-08-03 Andreas Kupries <andreask@activestate.com>
-2009-04-08 Andreas Kupries <andreask@activestate.com>
+ * tests/var.test (var-19.1): [Bug 3037525]: Added test demonstrating
+ the local hashtable deletion crash and fix.
- * library/platform/platform.tcl: Extended the darwin sections to
- * library/platform/pkgIndex.tcl: add a kernel version number to
- * unix/Makefile.in: the identifier for anything from Leopard (10.5)
- * win/Makefile.in: on up. Extended patterns for same. Extended cpu
- * doc/platform.n: recognition for 64bit Tcl running on a 32bit
- kernel on a 64bit processor (By Daniel Steffen). Bumped version to
- 1.0.4. Updated Makefiles.
+ * tests/info.test (info-39.1): Added forward copy of test in 8.5
+ branch about [Bug 2933089]. Should not fail, and doesn't, after
+ updating the line numbers to the changed position.
-2009-04-08 Don Porter <dgp@users.sourceforge.net>
+2010-08-02 Kevin B. Kenny <kennykb@users.sf.net>
- * library/tcltest/tcltest.tcl: Converted [eval]s (some unsafe!) to
- * library/tcltest/pkgIndex.tcl: {*} in tcltest package. [Bug 2570363]
- * unix/Makefile.in: => tcltest 2.3.1
- * win/Makefile.in:
+ * library/tzdata/America/Bahia_Banderas:
+ * library/tzdata/Pacific/Chuuk:
+ * library/tzdata/Pacific/Pohnpei:
+ * library/tzdata/Africa/Cairo:
+ * library/tzdata/Europe/Helsinki:
+ * library/tzdata/Pacific/Ponape:
+ * library/tzdata/Pacific/Truk:
+ * library/tzdata/Pacific/Yap: Olson's tzdata2010k.
-2009-04-07 Don Porter <dgp@users.sourceforge.net>
+2010-08-02 Miguel Sofer <msofer@users.sf.net>
- * generic/tclStringObj.c: Completed backports of fixes for
- [Bug 2494093] and [Bug 2553906].
+ * generic/tclVar.c: Correcting bad port of [Bug 3037525] fix
-2009-03-30 Don Porter <dgp@users.sourceforge.net>
+2010-07-28 Miguel Sofer <msofer@users.sf.net>
- * doc/Alloc.3: Size argument is "unsigned int". [Bug 2556263]
+ * generic/tclVar.c: [Bug 3037525]: Lose fickle optimisation in
+ TclDeleteVars (used for runtime-created locals) that caused crash.
- * generic/tclStringObj.c: Added protections from invalid memory
- * generic/tclTestObj.c: accesses when we append (some part of)
- * tests/stringObj.test: a Tcl_Obj to itself. Added the
- appendself and appendself2 subcommands to the [teststringobj] testing
- command and added tests to the test suite. [Bug 2603158]
+2010-07-29 Jan Nijtmans <nijtmans@users.sf.net>
-2009-03-27 Don Porter <dgp@users.sourceforge.net>
+ * compat/zlib/win32/README.txt: Official build of zlib1.dll 1.2.5 is
+ * compat/zlib/win32/USAGE.txt: finally available, so put it in.
+ * compat/zlib/win32/zlib1.dll:
- * generic/tclPathObj.c (TclPathPart): TclPathPart() was computing
- * tests/fileName.test: the wrong results for both [file dirname] and
- [file tail] on "path" arguments with the PATHFLAGS != 0 intrep and
- with an empty string for the "joined-on" part. [Bug 2710920]
+2010-07-25 Donal K. Fellows <dkf@users.sf.net>
-2009-03-20 Don Porter <dgp@users.sourceforge.net>
+ * doc/http.n: Corrected description of location of one of the entries
+ in the state array.
- * generic/tclStringObj.c: Test stringObj-6.9 checks that
- * tests/stringObj.test: Tcl_AppendStringsToObj() no longer
- crashes when operating on a pure unicode value. [Bug 2597185]
+2010-07-24 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclExecute.c (INST_CONCAT1): Panic when appends overflow
- the max length of a Tcl value. [Bug 2669109]
+ * generic/tclDecls.h: [Bug 3029891]: Functions that don't belong in
+ * generic/tclTest.c: the stub table.
+ * generic/tclBasic.c: From [Bug 3030870] make itcl 3.x built with
+ pre-8.6 work in 8.6: Relax the relation between Tcl_CallFrame and
+ CallFrame.
-2009-03-18 Don Porter <dgp@users.sourceforge.net>
+2010-07-16 Donal K. Fellows <dkf@users.sf.net>
- * win/tclWinFile.c (TclpObjNormalizePath): Corrected Tcl_Obj leak.
- Thanks to Joe Mistachkin for detection and patch. [Bug 2688184].
+ * generic/tclBasic.c: Added more errorCode setting.
-2009-03-15 Donal K. Fellows <dkf@users.sf.net>
+2010-07-15 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclPosixStr.c (Tcl_SignalId,Tcl_SignalMsg): [Patch 1513655]:
- Added support for SIGINFO, which is present on BSD platforms.
+ * generic/tclExecute.c (TclExecuteByteCode): Ensure that [dict get]
+ * generic/tclDictObj.c (DictGetCmd): always generates an errorCode on
+ a failure to look up an entry.
-2009-02-20 Don Porter <dgp@users.sourceforge.net>
+2010-07-11 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tclPathObj.c: Fixed mistaken logic in TclFSGetPathType()
- * tests/fileName.test: that assumed (not "absolute" => "relative").
- This is a false assumption on Windows, where "volumerelative" is
- another possibility. [Bug 2571597].
+ * unix/configure: (regenerated)
+ * unix/configure.in: For the NATIVE_TCLSH variable use the autoconf
+ * unix/Makefile.in: SC_PROG_TCLSH to try and find a locally installed
+ native binary. This avoids manually fixing up when cross compiling. If
+ there is not one, revert to using the build product.
-2009-02-17 Jeff Hobbs <jeffh@ActiveState.com>
+2010-07-02 Don Porter <dgp@users.sourceforge.net>
- * win/tcl.m4, win/configure: Check if cl groks _WIN64 already to
- avoid CC manipulation that can screw up later configure checks.
- Use 'd'ebug runtime in 64-bit builds.
+ * generic/tclInt.decs: Reverted to the original TIP 337
+ implementation on what to do with the obsolete internal stub for
+ TclBackgroundException() (eliminate it!)
+ * generic/tclIntDecls.h: make genstubs
+ * generic/tclStubInit.c:
-2009-02-05 Don Porter <dgp@users.sourceforge.net>
+2010-07-02 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclStringObj.c: Added overflow protections to the
- AppendUtfToUtfRep routine to either avoid invalid arguments and
- crashes, or to replace them with controlled panics. [Bug 2561794]
+ * generic/tclInt.decls: [Bug 803489]: Tcl_FindNamespace problem in the
+ * generic/tclIntDecls.h: Stubs table
+ * generic/tclStubInit.c:
-2009-02-04 Don Porter <dgp@users.sourceforge.net>
+2010-07-02 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclStringObj.c (SetUnicodeObj): Corrected failure of
- Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also
- factored out common code to reduce duplication.
+ * generic/tclExecute.c (IllegalExprOperandType): [Bug 3024379]: Made
+ sure that errors caused by an argument to an operator being outside
+ the domain of the operator all result in ::errorCode being ARITH
+ DOMAIN and not NONE.
- * generic/tclCmdMZ.c: Prevent crashes due to int overflow of the
- length of the result of [string repeat]. [Bug 2561746]
+2010-07-01 Jan Nijtmans <nijtmans@users.sf.net>
-2009-01-29 Donal K. Fellows <dkf@users.sf.net>
+ * win/rules.vc: [Bug 3020677]: wish can't link reg1.2
+ * tools/checkLibraryDoc.tcl: formatting, spacing, cleanup unused
+ * tools/eolFix.tcl: variables; no change in generated output
+ * tools/fix_tommath_h.tcl:
+ * tools/genStubs.tcl:
+ * tools/index.tcl:
+ * tools/man2help2.tcl:
+ * tools/regexpTestLib.tcl:
+ * tools/tsdPerf.tcl:
+ * tools/uniClass.tcl:
+ * tools/uniParse.tcl:
- * generic/tclNamesp.c (Tcl_FindCommand): [Bug 2519474]: Ensure that
- the path is not searched when the TCL_NAMESPACE_ONLY flag is given.
+2010-07-01 Donal K. Fellows <dkf@users.sf.net>
-2009-01-22 Kevin B. Kenny <kennykb@acm.org>
+ * doc/mathop.n: [Bug 3023165]: Fix typo that was preventing proper
+ rendering of the exclusive-or operator.
- * unix/tcl.m4: Corrected a typo ($(SHLIB_VERSION) should be
- ${SHLIB_VERSION}).
- * unix/configure: Autoconf 2.59
+2010-06-28 Jan Nijtmans <nijtmans@users.sf.net>
-2009-01-21 Andreas Kupries <andreask@activestate.com>
+ * generic/tclPosixStr.c: [Bug 3019634]: errno.h and tclWinPort.h have
+ conflicting definitions. Added messages for ENOTRECOVERABLE, EOTHER,
+ ECANCELED and EOWNERDEAD, and fixed various typing mistakes in other
+ messages.
- * generic/tclIORChan.c (ReflectClose): Fix for [Bug 2458202].
- Closing a channel may supply NULL for the 'interp'. Test for
- finalization needs to be different, and one place has to pull the
- interp out of the channel instead.
+2010-06-25 Reinhard Max <max@suse.de>
-2009-01-19 Kevin B. Kenny <kennykb@acm.org>
+ * tests/socket.test: Prevent a race condition during shutdown of the
+ remote test server that can cause a hang when the server is being run
+ in verbose mode.
- * unix/Makefile.in: Added a CONFIG_INSTALL_DIR parameter so that
- * unix/tcl.m4: distributors can control where tclConfig.sh goes.
- Made the installation of 'ldAix' conditional
- upon actually being on an AIX system. Allowed for downstream
- packagers to customize SHLIB_VERSION on BSD-derived systems.
- Thanks to Stuart Cassoff for [Patch 907924].
- * unix/configure: Autoconf 2.59
+2010-06-24 Jan Nijtmans <nijtmans@users.sf.net>
-2009-01-09 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWinPort.h: [Bug 3019634]: errno.h and tclWinPort.h have
+ conflicting definitions.
- * generic/tclStringObj.c (STRING_SIZE): Corrected failure to limit
- memory allocation requests to the sizes that can be supported by
- Tcl's memory allocation routines. [Bug 2494093].
+ ***POTENTIAL INCOMPATIBILITY***
+ On win32, the correspondence between errno and the related error
+ message, as handled by Tcl_ErrnoMsg() changes. The error message is
+ kept the same, but the corresponding errno value might change.
-2009-01-08 Don Porter <dgp@users.sourceforge.net>
+2010-06-22 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclStringObj.c (STRING_UALLOC): Added missing parens
- required to get correct results out of things like
- STRING_UALLOC(num + append). [Bug 2494093].
+ * generic/tclCmdIL.c (Tcl_LsetObjCmd): [Bug 3019351]: Corrected wrong
+ args message.
-2009-01-06 Donal K. Fellows <dkf@users.sf.net>
+2010-06-21 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclDictObj.c (DictIncrCmd): Corrected twiddling in internals
- of dictionaries so that literals can't get destroyed.
+ * unix/tclLoadDl.c: Eliminate various unnecessary type casts, use
+ * unix/tclLoadNext.c: function typedefs whenever possible
+ * unix/tclUnixChan.c:
+ * unix/tclUnixFile.c:
+ * unix/tclUnixNotfy.c:
+ * unix/tclUnixSock.c:
+ * unix/tclUnixTest.c:
+ * unix/tclXtTest.c:
+ * generic/tclZlib.c: Remove hack needed for zlib 1.2.3 on win32
- * tests/expr.test, tests/string.test: Eliminate non-ASCII characters.
- [Bugs 2006884, 2006879]
+2010-06-18 Donal K. Fellows <dkf@users.sf.net>
-2009-01-03 Kevin B. Kenny <kennykb@acm.org>:
+ * library/init.tcl (auto_execok): [Bug 3017997]: Add .cmd to the
+ default list of extensions that we can execute interactively.
- * library/clock.tcl (tcl::clock::add): Fixed error message formatting
- in the case where [clock add] is presented with a bad switch.
- * tests/clock.test (clock-65.1) Added a test case for the above
- problem [Bug 2481670].
+2010-06-16 Jan Nijtmans <nijtmans@users.sf.net>
-2008-12-21 Don Porter <dgp@users.sourceforge.net>
+ * tools/loadICU.tcl: [Bug 3016135]: Traceback using clock format
+ * library/msgs/he.msg: with locale of he_IL.
+
+ * generic/tcl.h: Simplify Tcl_AppInit and *_Init definitions,
+ * generic/tclInt.h: spacing. Change TclpThreadCreate and
+ * generic/tcl.decls: Tcl_CreateThread signature, making clear that
+ * generic/tclDecls.h: "proc" is a function pointer, as in all other
+ * generic/tclEvent.c: "proc" function parameters.
+ * generic/tclTestProcBodyObj.c:
+ * win/tclWinThrd.c:
+ * unix/tclUnixThrd.c:
+ * doc/Thread.3:
+ * doc/Class.3: Fix Tcl_ObjectMetadataType definition.
- *** 8.5.6 TAGGED FOR RELEASE ***
+2010-06-14 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tcl.h: Bump to 8.5.6 for release.
+ * unix/Makefile.in: Fix compilation of xttest with 8.6 changes
+ * unix/tclXtNotify.c:
+ * unix/tclXtTest.c:
+ * generic/tclPipe.c: Fix gcc warning (with -fstrict-aliasing=2)
+ * library/auto.tcl: Spacing and style fixes.
+ * library/history.tcl:
* library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
- * README:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
- * changes: Update for 8.5.6 release.
-
- * library/tclIndex: Removed reference to no-longer-extant procedure
- 'tclLdAout'.
- * doc/library.n: Corrected mention of 'auto_exec' to 'auto_execok'.
- [Patch 2114900] thanks to Stu Cassoff <stwo@users.sf.net>
- Backport of 2008-11-26 commit from Kevin Kenny.
-
- * win/tclWinThrd.c (TclpThreadCreate): We need to initialize the
- thread id variable to 0 as on 64 bit windows this is a pointer sized
- field while windows only fills it with a 32 bit value. The result is
- an inability to join the threads as the ids cannot be matched.
- Backport of 2008-10-13 commit from Pat Thoyts.
-
-2008-12-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclExecute.c (TEBC:INST_DICT_GET): Make sure that the result
- is empty when generating an error message. [Bug 2431847]
-
-2008-12-12 Jan Nijtmans <nijtmans@users.sf.net>
+ * library/package.tcl:
+ * library/safe.tcl:
+ * library/tm.tcl:
- * library/clock.tcl (ProcessPosixTimeZone): Fix time change in Eastern
- Europe (not 3:00 but 4:00 local time) [Bug 2207436]
+2010-06-13 Donal K. Fellows <dkf@users.sf.net>
-2008-12-11 Andreas Kupries <andreask@activestate.com>
+ * tools/tcltk-man2html.tcl (make-man-pages): [Bug 3015327]: Make the
+ title of a manual page be stored relative to its resulting directory
+ name as well as its source filename. This was caused by both Tcl and a
+ contributed package ([incr Tcl]) defining an Object.3. Also corrected
+ the joining of strings in titles to avoid extra braces.
- * generic/tclIO.c (SetChannelFromAny and related): Modified the
- * tests/io.test: internal representation of the tclChannelType to
- contain not only the ChannelState pointer, but also a reference to the
- interpreter it was made in. Invalidate and recompute the internal
- representation when it is used in a different interpreter (like
- cmdName intrep's). Added testcase. [Bug 2407783]
+2010-06-09 Andreas Kupries <andreask@activestate.com>
-2008-12-11 Jan Nijtmans <nijtmans@users.sf.net>
+ * library/platform/platform.tcl: Added OSX Intel 64bit
+ * library/platform/pkgIndex.tcl: Package updated to version 1.0.9.
+ * unix/Makefile.in:
+ * win/Makefile.in:
- * library/clock.tcl (ProcessPosixTimeZone): Fallback to European time
- zone DST rules, when the timezone is between 0 and -12. [Bug 2207436]
- * tests/clock.test (clock-52.[23]): Test cases.
+2010-06-09 Jan Nijtmans <nijtmans@users.sf.net>
-2008-12-10 Kevin B. Kenny <kennykb@acm.org>
+ * tools/tsdPerf.c: Fix export of symbol Tsdperf_Init, when using
+ -fvisibility=hidden. Make two functions static, eliminate some
+ unnecessary type casts.
+ * tools/configure.in: Update to Tcl 8.6
+ * tools/configure: (regenerated)
+ * tools/.cvsignore new file
- * library/tzdata/*: Update from Olson's tzdata2008i.
+2010-06-07 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2008-12-04 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c: Ensure proper reset of [info errorstack] even
+ * generic/tclNamesp.c: when compiling constant expr's with errors.
- * generic/tclPathObj.c (Tcl_FSGetNormalizedPath): Added another
- flag value TCLPATH_NEEDNORM to mark those intreps which need more
- complete normalization attention for correct results. [Bug 2385549]
+2010-06-05 Miguel Sofer <msofer@users.sf.net>
-2008-12-03 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBasic.c: [Bug 3008307]: make callerPtr chains be
+ * generic/tclExecute.c: traversable accross coro boundaries. Add the
+ special coroutine CallFrame (partially reverting commit of
+ 2009-12-10), as it is needed for coroutines that do not push a CF, eg,
+ those with [eval] as command. Thanks to Colin McCormack (coldstore)
+ and Alexandre Ferrieux for the hard work on this.
- * generic/tclFileName.c (DoGlob): One of the Tcl_FSMatchInDirectory
- calls did not have its return code checked. This caused error messages
- returned by some Tcl_Filesystem drivers to be swallowed.
+2010-06-03 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2008-12-02 Andreas Kupries <andreask@activestate.com>
+ * generic/tclNamesp.c: Safer (and faster) computation of [uplevel]
+ * tests/error.test: offsets in TIP 348. Toplevel offsets no longer
+ * tests/result.test: overestimated.
- * generic/tclIO.c (TclFinalizeIOSubsystem): Replaced Alexandre
- Ferrieux's first patch for [Bug 2270477] with a gentler version, also
- supplied by him.
+2010-06-02 Jan Nijtmans <nijtmans@users.sf.net>
-2008-12-01 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclOO.h: BUILD_tcloo is never defined (leftover)
+ * win/makefile.bc: Don't set BUILD_tcloo (leftover)
+ See also entry below: 2008-06-01 Joe Mistachkin
- * generic/tclParse.c: Backport fix for [Bug 2251175].
+2010-06-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2008-11-30 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclNamesp.c: Fix computation of [uplevel] offsets in TIP 348
+ * tests/error.test: Only depend on callerPtr chaining now.
+ * tests/result.test: Needed for upcoming coro patch.
- * library/clock.tcl (format, ParseClockScanFormat): Added a [string
- map] to get rid of namespace delimiters before caching a scan or
- format procedure. [Bug 2362156]
- * tests/clock.test (clock-64.[12]): Added test cases for the bug that
- was tickled by a namespace delimiter inside a format string.
+2010-05-31 Jan Nijtmans <nijtmans@users.sf.net>
-2008-11-25 Andreas Kupries <andreask@activestate.com>
+ * generic/tclVar.c: Eliminate some casts to (Tcl_HashTable *)
+ * generic/tclExecute.c:
+ * tests/fileSystem.test: Fix filesystem-5.1 test failure on CYGWIN
- * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Alexandre
- Ferrieux's patch for [Bug 2270477] to prevent infinite looping during
- finalization of channels not bound to interpreters.
+2010-05-28 Jan Nijtmans <nijtmans@users.sf.net>
-2008-08-23 Andreas Kupries <andreask@activestate.com>
+ * generic/tclInt.h: [Patch 3008541]: Order of TIP #348 fields in
+ Interp structure
- * generic/tclIO.c: Backport of fix for [Bug 2333466].
+2010-05-28 Donal K. Fellows <dkf@users.sf.net>
-2008-11-18 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclCompCmdsSZ.c (IssueTryFinallyInstructions): [3007374]:
+ Corrected error in handling of catch contexts to prevent crash with
+ chained handlers.
- * generic/tcl.decls: Fix signature and implementation of
- * generic/tclDecls.h: Tcl_HashStats, such that it conforms
- * generic/tclHash.c: to the documentation. [Bug 2308236]
- * doc/Hash.3:
+ * generic/tclExecute.c (TclExecuteByteCode): Restore correct operation
+ of instruction-level execution tracing (had been broken by NRE).
-2008-11-13 Jan Nijtmans <nijtmans@users.sf.net>
+2010-05-27 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.h: Rename static function FSUnloadTempFile to
- * generic/tclIOUtil.c: TclFSUnloadTempFile, needed in tclLoad.c
+ * library/opt/optParse.tcl: Don't generate spaces at the end of a
+ * library/opt/pkgIndex.tcl: line, eliminate ';' at line end, bump to
+ * tools/uniParse.tcl: v0.4.6
+ * generic/tclUniData.c:
+ * tests/opt.test:
+ * tests/safe.test:
- * generic/tclLoad.c: Fixed [Bug 2269431]: load of shared
- objects leaves temporary files on windows
+2010-05-21 Jan Nijtmans <nijtmans@users.sf.net>
-2008-11-10 Andreas Kupries <andreask@activestate.com>
+ * tools/installData.tcl: Make sure that copyDir only receives
+ normalized paths, otherwise it might result in a crash on CYGWIN.
+ Restyle according to the Tcl style guide.
+ * generic/tclStrToD.c: [Bug 3005233]: Fix for build on OpenBSD vax
- * doc/platform_shell.n: Fixed [Bug 2255235], reported by Ulrich
- * library/platform/pkgIndex.tcl: Ring <uring@users.sourceforge.net>.
- * library/platform/shell.tcl: Updated the LOCATE command in the
- * library/tm.tcl: package 'platform::shell' to handle the new form
- * unix/Makefile.in: of 'provide' commands generated by tm.tcl. Bumped
- * win/Makefile.in: package to version 1.1.4. Added cross-references
- to the relevant parts of the code to avoid future desynchronization.
+2010-05-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2008-11-04 Jeff Hobbs <jeffh@ActiveState.com>
+ * tests/dict.test: Add missing tests for [Bug 3004007], fixed under
+ the radar on 2010-02-24 (dkf): EIAS violation in
+ list-dict conversions.
- * generic/tclPort.h: remove the ../win/ header dir as the build system
- already has it, and it confuses builds when used with private headers
- installed.
+2010-05-19 Jan Nijtmans <nijtmans@users.sf.net>
-2008-10-24 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * generic/regcomp.c: Don't use arrays of length 1, just use a
+ * generic/tclFileName.c: single element then, it makes code more
+ * generic/tclLoad.c: readable. (Here it even prevents a type cast)
- * library/http/http.tcl: Backported a fix for reading HTTP-like
- protocols that used to work and were broken with http 2.7. Now http
- 2.7.2
+2010-05-17 Jan Nijtmans <nijtmans@users.sf.net>
-2008-10-23 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStrToD.c: [Bug 2996549]: Failure in expr.test on Win32
- * generic/tcl.h: Bump version number to 8.5.6b1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5.5 and
- * unix/configure.in: 8.5.6 releases.
- * unix/tcl.spec:
- * win/configure.in:
- * tools/tcl.wse.in:
- * README
+2010-05-17 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf (2.59)
- * win/configure:
+ * generic/tclCmdIL.c (TclInfoFrame): Change this code to use
+ Tcl_GetCommandFullName rather than rolling its own. Discovered during
+ the hunting of [Bug 3001438] but unlikely to be a fix.
-2008-10-19 Don Porter <dgp@users.sourceforge.net>
+2010-05-11 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclProc.c: Reset -level and -code values to defaults
- after they are used. [Bug 2152286]
+ * win/tclWinConsole.c: [Patch 2997087]: Unnecessary type casts.
+ * win/tclWinDde.c:
+ * win/tclWinLoad.c:
+ * win/tclWinNotify.c:
+ * win/tclWinSerial.c:
+ * win/tclWinSock.c:
+ * win/tclWinTime.c:
+ * win/tclWinPort.h: Don't duplicate CYGWIN timezone #define from
+ tclPort.h
-2008-10-16 Don Porter <dgp@users.sourceforge.net>
+2010-05-07 Andreas Kupries <andreask@activestate.com>
- * library/init.tcl: Revised [unknown] so that it carefully
- preserves the state of the ::errorInfo and ::errorCode variables at
- the start of auto-loading and restores that state before the
- autoloaded command is evaluated. [Bug 2140628]
+ * library/platform/platform.tcl: Fix cpu name for Solaris/Intel 64bit.
+ * library/platform/pkgIndex.tcl: Package updated to version 1.0.8.
+ * unix/Makefile.in:
+ * win/Makefile.in:
-2008-10-10 Don Porter <dgp@users.sourceforge.net>
+2010-05-06 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclPkg.c: Unnecessary type casts, see [Patch 2997087]
+
+2010-05-04 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/tclWinNotify.c: TCHAR-related fixes, making those two files
+ * win/tclWinSock.c: compile fine when TCHAR != char. Please see
+ comments in [FRQ 2965056] (2965056-1.patch).
+
+2010-05-03 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclIORChan.c: Use "tclIO.h" and "tclTomMathDecls.h"
+ * generic/tclIORTrans.c: everywhere
+ * generic/tclTomMath.h:
+ * tools/fix_tommath_h.tcl:
+ * libtommath/tommath.h: Formatting (# should always be first char on
+ line)
+ * win/tclAppInit.c: For MINGW/CYGWIN, use GetCommandLineA
+ explicitly.
+ * unix/.cvsignore: Add pkg, *.dll
+
+ * libtommath/tommath.h: CONSTify various useful internal
+ * libtommath/bn_mp_cmp_d.c: functions (TclBignumToDouble, TclCeil,
+ * libtommath/bn_mp_cmp_mag.c: TclFloor), and related tommath functions
+ * libtommath/bn_mp_cmp.c:
+ * libtommath/bn_mp_copy.c:
+ * libtommath/bn_mp_count_bits.c:
+ * libtommath/bn_mp_div_2d.c:
+ * libtommath/bn_mp_mod_2d.c:
+ * libtommath/bn_mp_mul_2d.c:
+ * libtommath/bn_mp_neg.c:
+ * generic/tclBasic.c: Handle TODO: const correctness ?
+ * generic/tclInt.h:
+ * generic/tclStrToD.c:
+ * generic/tclTomMath.decls:
+ * generic/tclTomMath.h:
+ * generic/tclTomMathDecls.h:
- *** 8.5.5 TAGGED FOR RELEASE ***
+2010-04-30 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h: Bump to 8.5.5 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
+ * generic/tcl.h: Bump patchlevel to 8.6b1.2 to distinguish
+ * library/init.tcl: CVS snapshots from earlier snapshots as well
+ * unix/configure.in: as the 8.6b1 and 8.6b2 releases.
* win/configure.in:
* unix/configure: autoconf-2.59
* win/configure:
- * changes: Update for 8.5.5 release.
-
-2008-10-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTrace.c: Corrected handling of errors returned by
- variable traces so that the errorInfo value contains the original
- error message. [Bug 2151707]
-
- * generic/tclVar.c: Revised implementation of TclObjVarErrMsg so
- that error message construction does not disturb an existing
- iPtr->errorInfo that may be in progress.
-
-2008-10-06 Jan Nijtmans <nijtmans@users.sf.net>
-
- * tclWinTest.c: Fix compiler warning when compiling this file with
- mingw gcc:
- tclWinTest.c:706: warning: dereferencing type-punned pointer will
- break strict-aliasing rules
- * generic/tclLoad.c: Make sure that any library which doesn't have an
- unloadproc is only really unloaded when no library code is executed
- yet. [Bug 2059262]
-
-2008-10-06 Joe Mistachkin <joe@mistachkin.com>
-
- * tools/man2tcl.c: Added missing line from patch by Harald Oehlmann.
- [Bug 1934200]
-
-2008-10-05 Kevin B. Kenny <kennykb@acm.org>
-
- * libtommath/bn_mp_sqrt.c (bn_mp_sqrt): Handle the case where a
- * tests/expr.test (expr-47.13): number's square root is
- between n<<DIGIT_BIT and n<<DIGIT_BIT+1. [Bug 2143288]
- Thanks to Malcolm Boffey (malcolm.boffey@virgin.net) for the patch.
-
-2008-10-02 Joe Mistachkin <joe@mistachkin.com>
-
- * tools/man2help2.tcl: Integrated patches from Harald Oehlmann.
- * tools/man2tcl.c: [Bug 1934200, 1934272]
-
-2008-09-27 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Improve the handling of the
- case where the combination of number of elements and repeat count
- causes the resulting list to be too large. [Bug 2130992]
-
-2008-09-25 Don Porter <dgp@users.sourceforge.net>
-
- * doc/global.n: Correct false claim about [info locals].
-
-2008-09-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Correct the TclGetLongFromObj,
- TclGetIntFromObj, and TclGetIntForIndexM macros so that they
- retrieve the internalRep.longValue field instead of casting the
- internalRep.otherValuePtr field to type long.
+ * generic/tclBinary.c (TclAppendBytesToByteArray): Add comments
+ * generic/tclInt.h (TclAppendBytesToByteArray): placing overflow
+ protection responsibility on caller. Convert "len" argument to signed
+ int which any value already vetted for overflow issues will fit into.
+ * generic/tclStringObj.c: Update caller; standardize panic msg.
-2008-09-17 Miguel Sofer <msofer@users.sf.net>
-
- * library/init.tcl: export min and max commands from the mathfunc
- namespace [Bug 2116053]
-
-2008-09-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclListObj.c (Tcl_ListObjGetElements): Make this list->dict
- transformation - encountered when using [foreach] with dicts - not as
- expensive as it was before. Spotted by Kieran Elby and reported on
- tcl-core.
-
-2008-09-07 Miguel Sofer <msofer@users.sf.net>
-
- * doc/namespace.n: fix [Bug 2098441]
-
-2008-08-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump version number to 8.5.5b1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5.4 and
- * unix/configure.in: 8.5.5 releases.
- * unix/tcl.spec:
- * win/configure.in:
- * tools/tcl.wse.in:
- * README
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
-2008-08-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c (TclReToGlob): Added missing set of the
- *exactPtr value to really fix [Bug 2065115]. Also avoid possible
- DString overflow.
- * tests/regexpComp.test: Correct duplicate test names.
-
-2008-08-21 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/regexp.test, tests/regexpComp.test: correct re2glob ***=
- * generic/tclUtil.c (TclReToGlob): translation from exact
- to anywhere-in-string match. [Bug 2065115]
-
-2008-08-20 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclTest.c (TestconcatobjCmd): fix use of internal-only
- TclInvalidateStringRep macro.
- [Bug 2057479]
-
-2008-08-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclTest.c (TestconcatobjCmd):
- * generic/tclUtil.c (Tcl_ConcatObj):
- * tests/util.test (util-4.7):
- fix [Bug 1447328]; the original "fix" turned Tcl_ConcatObj() into
- a hairy monster. This was exposed by [Bug 2055782]. Additionally,
- Tcl_ConcatObj could corrupt its input under certain conditions!
-
- *** NASTY BUG FIXED ***
-
-2008-08-14 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBinary.c (UpdateStringOfByteArray): [Bug 2994924]: Add
+ panic when the generated string representation would grow beyond Tcl's
+ size limits.
- *** 8.5.4 TAGGED FOR RELEASE ***
+2010-04-30 Donal K. Fellows <dkf@users.sf.net>
- * tests/fileName.test: Revise new tests for portability to case
- insensitive filesystems.
+ * generic/tclBinary.c (TclAppendBytesToByteArray): Add extra armour
+ against buffer overflows.
-2008-08-14 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclBasic.c (NRInterpCoroutine): Corrected handling of
+ * tests/coroutine.test (coroutine-6.4): arguments to deal with
+ trickier cases.
- * generic/tclCompile.h: Add support for debug logging of DTrace
- * generic/tclBasic.c: 'proc', 'cmd' and 'inst' probes (does
- _not_ require a platform with DTrace).
+2010-04-30 Miguel Sofer <msofer@users.sf.net>
- * generic/tclCmdIL.c (TclInfoFrame): Check fPtr->line before
- dereferencing as line info may
- not exists when TclInfoFrame()
- is called from a DTrace probe.
+ * tests/coroutine.test: testing coroutine arguments after [yield]:
+ check that only 0/1 allowed
- * tests/msgcat.test: Fix for ::tcl::mac::locale with
- @modifier (HEAD backport 2008-06-01).
+2010-04-30 Donal K. Fellows <dkf@users.sf.net>
- * tests/fCmd.test (fCmd-6.23): Made result matching robust when test
- workdir and /tmp are not on same FS.
+ * generic/tclBasic.c (NRInterpCoroutine): Corrected handling of
+ arguments to deal with trickier cases.
- * unix/Makefile.in: Ensure Makefile shell is /bin/bash for
- * unix/configure.in (SunOS): DTrace-enabled build on Solaris.
- (followup to 2008-06-12) [Bug 2016584]
+ * generic/tclCompCmds.c (TclCompileVariableCmd): Slightly tighter
+ issuing of instructions.
- * unix/tcl.m4 (SC_PATH_X): Check for libX11.dylib in addition to
- libX11.so et al.
+ * generic/tclExecute.c (TclExecuteByteCode): Add peephole optimization
+ of the fact that INST_DICT_FIRST and INST_DICT_NEXT always have a
+ conditional jump afterwards.
- * unix/configure: autoconf-2.59
+ * generic/tclBasic.c (TclNRYieldObjCmd, TclNRYieldmObjCmd)
+ (NRInterpCoroutine): Replace magic values for formal argument counts
+ for coroutine command implementations with #defines, for an increase
+ in readability.
-2008-08-13 Don Porter <dgp@users.sourceforge.net>
+2010-04-30 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclFileName.c: Fix for errors handling -types {}
- * tests/fileName.test: option to [glob]. [Bug 1750300]
- Thanks to Matthias Kraft and George Peter Staplin.
+ * generic/tclMain.c: Unnecessary TCL_STORAGE_CLASS re-definition. It
+ was used for an ancient dummy reference to Tcl_LinkVar(), but that's
+ already gone since 2002-05-29.
-2008-08-12 Don Porter <dgp@users.sourceforge.net>
+2010-04-29 Miguel Sofer <msofer@users.sf.net>
- * changes: Update for 8.5.4 release.
+ * generic/tclCompExpr.c: Slight change in the literal sharing
+ * generic/tclCompile.c: mechanism to avoid shimmering of
+ * generic/tclCompile.h: command names.
+ * generic/tclLiteral.c:
-2008-08-11 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-04-29 Andreas Kupries <andreask@activestate.com>
- * library/http/http.tcl: Remove 8.5 requirement.
- * library/http/pkgIndex.tcl:
- * unix/Makefile.in:
+ * library/platform/platform.tcl: Another stab at getting the /lib,
+ * library/platform/pkgIndex.tcl: /lib64 difference right for linux.
+ * unix/Makefile.in: Package updated to version 1.0.7.
* win/Makefile.in:
- * win/makefile.vc:
-
-2008-08-11 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl: Added a 'package provide' command to the generated
- ifneeded scripts of Tcl Modules, for early detection of conflicts
- between the version specified through the file name and a 'provide'
- command in the module implementation, if any. Note that this change
- also now allows Tcl Modules to not provide a 'provide' command at all,
- and declaring their version only through their filename.
-
- * generic/tclProc.c (Tcl_ProcObjCmd): Fixed memory leak triggered
- * tests/proc.test: by procbody::test::proc. See [Bug 2043636]. Added a
- test case demonstrating the leak before the fix. Fixed a few spelling
- errors in test descriptions as well.
-
-2008-08-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/http/http.tcl: Bump http version to 2.7.1 to account
- * library/http/pkgIndex.tcl: for [Bug 2046486] bug fix. This
- * unix/Makefile.in: release of http now requires a
- * win/Makefile.in: dependency on Tcl 8.5 to be able to
- * win/makefile.bc: use the unsigned formats in the
- * win/makefile.vc: [binary scan] command.
-
-2008-08-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * library/http/http.tcl: crc field from zlib data should be treated as
- unsigned for 64bit support [Bug 2046846]
-2008-08-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: Bump to 8.5.4 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:
-
- * changes: Update for 8.5.4 release.
-
-2008-08-08 Kevin Kenny <kennykb@acm.org>
+2010-04-29 Kevin B. Kenny <kennykb@acm.org>
- * library/tzdata/CET:
- * library/tzdata/MET:
+ * library/tzdata/Antarctica/Macquarie:
* library/tzdata/Africa/Casablanca:
- * library/tzdata/America/Eirunepe:
- * library/tzdata/America/Santarem:
- * library/tzdata/America/Rio_Branco:
+ * library/tzdata/Africa/Tunis:
+ * library/tzdata/America/Santiago:
* library/tzdata/America/Argentina/San_Luis:
+ * library/tzdata/Antarctica/Casey:
+ * library/tzdata/Antarctica/Davis:
+ * library/tzdata/Asia/Anadyr:
+ * library/tzdata/Asia/Damascus:
+ * library/tzdata/Asia/Dhaka:
+ * library/tzdata/Asia/Gaza:
+ * library/tzdata/Asia/Kamchatka:
* library/tzdata/Asia/Karachi:
- * library/tzdata/Europe/Belgrade:
- * library/tzdata/Europe/Berlin:
- * library/tzdata/Europe/Budapest:
- * library/tzdata/Europe/Sofia:
- * library/tzdata/Indian/Mauritius: Olson's tzdata2008e.
-
-2008-08-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclVar.c (TclLookupSimpleVar): Retrieve the number of
- locals in the localCache from the CallFrame and not from the Proc
- which may have been mangled by a (broken?) recompile. Backport from
- the HEAD.
-
-2008-08-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Stopped faulty double-logging of errors to
- * tests/execute.test: stack trace when a compile epoch bump triggers
- fallback to direct evaluation of commands in a compiled script.
- [Bug 2037338]
-
-2008-07-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Corrected the timing of when the flag
- TCL_ALLOW_EXCEPTIONS is tested.
-
-2008-07-29 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: fix [Bug 2030670] that cause
- TclStackRealloc to panic on rare corner cases. Thx ajpasadyn for
- diagnose and patch.
-
-2008-07-28 Andreas Kupries <andreask@activestate.com>
+ * library/tzdata/Asia/Taipei:
+ * library/tzdata/Europe/Samara:
+ * library/tzdata/Pacific/Apia:
+ * library/tzdata/Pacific/Easter:
+ * library/tzdata/Pacific/Fiji: Olson's tzdata2010i.
- * generic/tclBasic.c: Added missing ref count when creating an empty
- string as path (TclEvalEx). In 8.4 the missing code caused panics in
- the testsuite. It doesn't in 8.5. I am guessing that the code path
- with the missing the incr-refcount is not invoked any longer. Because
- the bug in itself is certainly the same.
+2010-04-29 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 2992970]: Make
+ * generic/tclStringObj.c (Tcl_AppendObjToObj): an append of a byte
+ array to another into an efficent operation. The problem was the (lack
+ of) a proper growth management strategy for the byte array.
+
+2010-04-29 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * compat/dirent2.h: Include "tcl.h", not <tcl.h>, like everywhere
+ * compat/dlfcn.h: else, to ensure that the version in the Tcl
+ * compat/stdlib.h: distribution is used, not some version from
+ * compat/string.h: somewhere else.
+ * compat/unistd.h:
+
+2010-04-28 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/Makefile.in: Remove unused @MAN2TCLFLAGS@
+ * win/tclWinPort.h: Move <limits.h> include from tclInt.h to
+ * generic/tclInt.h: tclWinPort.h, and eliminate unneeded
+ * generic/tclEnv.c: <stdlib.h>, <stdio.h> and <string.h>, which
+ are already in tclInt.h
+ * generic/regcustom.h: Move "tclInt.h" from regcustom.h up to
+ * generic/regex.h: regex.h.
+ * generic/tclAlloc.c: Unneeded <stdio.h> include.
+ * generic/tclExecute.c: Fix gcc warning: comparison between signed and
+ unsigned.
+
+2010-04-28 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclInt.h (TclIsVarDirectUnsettable): Corrected flags so that
+ deletion of traces is not optimized out...
+
+ * generic/tclExecute.c (ExecuteExtendedBinaryMathOp)
+ (TclCompareTwoNumbers,ExecuteExtendedUnaryMathOp,TclExecuteByteCode):
+ [Patch 2981677]: Move the less common arithmetic operations (i.e.,
+ exponentiation and operations on non-longs) out of TEBC for a big drop
+ in the overall size of the stack frame for most code. Net effect on
+ speed is minimal (slightly faster overall in tclbench). Also extended
+ the number of places where TRESULT handling is replaced with a jump to
+ dedicated code.
+
+2010-04-27 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclExecute.c (TclExecuteByteCode): Rearrange location of an
+ assignment to shorten the object code.
+
+2010-04-27 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclIOUtil.c (Tcl_FSGetNativePath): [Bug 2992292]:
+ tclIOUtil.c assignment type mismatch compiler warning
+ * generic/regguts.h: If tclInt.h or tclPort.h is already
+ * generic/tclBasic.c: included, don't include <limits.h>
+ * generic/tclExecute.c: again. Follow-up to [Bug 2991415]:
+ * generic/tclIORChan.c: tclport.h #included before limits.h
+ * generic/tclIORTrans.c: See comments in [Bug 2991415]
+ * generic/tclObj.c:
+ * generic/tclOOInt.h:
+ * generic/tclStrToD.c:
+ * generic/tclTomMath.h:
+ * generic/tclTomMathInterface.c:
+ * generic/tclUtil.c:
+ * compat/strtod.c:
+ * compat/strtol.c:
-2008-07-25 Daniel Steffen <das@users.sourceforge.net>
+2010-04-27 Kevin B. Kenny <kennykb@acm.org>
- * tests/info.test (info-37.0): Add !singleTestInterp constraint;
- (info-22.8, info-23.0): switch to glob matching to avoid sensitivity
- to tcltest.tcl line number changes, remove knownBug constraint, fix
- expected result. [Bug 1605269]
+ * unix/tclLoadDl.c (FindSymbol): [Bug 2992295]: Simplified the logic
+ so that the casts added in Donal Fellows's change for the same bug are
+ no longer necessary.
-2008-07-25 Andreas Kupries <andreask@activestate.com>
+2010-04-26 Donal K. Fellows <dkf@users.sf.net>
- * tests/info.test: Tests 38.* added, exactly testing the tracking of
- location for uplevel scripts.
+ * unix/tclLoadDl.c (FindSymbol): [Bug 2992295]: Added an explicit cast
+ because auto-casting between function and non-function types is never
+ naturally warning-free.
- * generic/tclCompile.c (TclInitCompileEnv): Reorganized the
- initialization of the #280 location information to match the flow in
- TclEvalObjEx to get more absolute contexts.
+ * generic/tclStubInit.c: Add a small amount of gcc-isms (with #ifdef
+ * generic/tclOOStubInit.c: guards) to ensure that warnings are issued
+ when these files are older than the various *.decls files.
- * generic/tclBasic.c (TclEvalObjEx): Moved the pure-list optimization
- out of the eval-direct code path to be done always, i.e. even when a
- compile is requested. This way we do not loose the association between
- #280 location information and the list elements, if any.
+2010-04-25 Miguel Sofer <msofer@users.sf.net>
-2008-07-23 Andreas Kupries <andreask@activestate.com>
+ * generic/tclBasic.c: Add unsupported [yieldm] command. Credit
+ * generic/tclInt.h: Lars Hellstrom for the basic idea.
- * tests/info.test: Reordered the tests to have monotonously
- increasing numbers.
+2010-04-24 Miguel Sofer <msofer@users.sf.net>
- * generic/tclBasic.c: Modified TclArgumentGet to reject pure lists
- * generic/tclCmdIL.c: immediately, without search. Reworked setup
- * generic/tclCompile.c: of eoFramePtr, doesn't need the line
- * tests/info.test: information, more sensible to have everything on
- line 1 when eval'ing a pure list. Updated the users of the line
- information to special case this based on the frame type (i.e.
- TCL_LOCATION_EVAL_LIST). Added a testcase demonstrating the new
- behaviour.
+ * generic/tclBasic.c: Modify api of TclSpliceTailcall() to fix
+ * generic/tclExecute.c: [yieldTo], which had not survived the latest
+ * generic/tclInt.h: mods to tailcall. Thanks kbk for detecting
+ the problem.
-2008-07-22 Andreas Kupries <andreask@activestate.com>
+2010-04-23 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c: Added missing function comments.
+ * unix/tclUnixPort.h: [Bug 2991415]: tclport.h #included before
+ limits.h
- * generic/tclCompile.c: Made the new TclEnterCmdWordIndex
- * generic/tclCompile.h: static, and ansified.
+2010-04-22 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c: Reworked the handling of bytecode literals
- * generic/tclCompile.c: for #280 to fix the abysmal performance
- * generic/tclCompile.h: for deep recursion, replaced the linear
- * generic/tclExecute.c: search through the whole stack with another
- * generic/tclInt.h: hashtable and simplified the data structure used
- by the compiler (array instead of hashtable). Incidentially this also
- fixes the memory leak reported via [Bug 2024937].
+ * generic/tclPlatDecls.h: Move TCHAR fallback typedef from tcl.h to
+ * generic/tcl.h: tclPlatDecls.h (as suggested by dgp)
+ * generic/tclInt.h: fix typo
+ * generic/tclIOUtil.c: Eliminate various unnecessary
+ * unix/tclUnixFile.c: type casts.
+ * unix/tclUnixPipe.c:
+ * win/tclWinChan.c:
+ * win/tclWinFCmd.c:
+ * win/tclWinFile.c:
+ * win/tclWinLoad.c:
+ * win/tclWinPipe.c:
-2008-07-21 Don Porter <dgp@users.sourceforge.net>
+2010-04-20 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/encoding.test: Make failing tests pass again. [Bug 1972867]
+ * generic/tclTest.c: Use function prototypes from the FS API.
+ * compat/zlib/*: Upgrade to zlib 1.2.5
-2008-07-21 Andreas Kupries <andreask@activestate.com>
+2010-04-19 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBasic.c: Extended the existing TIP #280 system (info
- * generic/tclCmdAH.c: frame), added the ability to track the
- * generic/tclCompCmds.c: absolute location of literal procedure
- * generic/tclCompile.c: arguments, and making this information
- * generic/tclCompile.h: available to uplevel, eval, and
- * generic/tclInterp.c: siblings. This allows proper tracking of
- * generic/tclInt.h: absolute location through custom (Tcl-coded)
- * generic/tclNamesp.c: control structures based on uplevel, etc.
- * generic/tclProc.c:
+ * generic/tclExecute.c (TclExecuteByteCode): Improve commenting and
+ reduce indentation for the Invocation Block.
-2008-07-21 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-04-18 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclFCmd.c: Inodes on windows are unreliable [Bug 2015723]
+ * doc/unset.n: [Bug 2988940]: Fix typo.
-2008-07-20 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2010-04-15 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclDictObj.c (SetDictFromAny): Make the list->dict
- transformation a bit more efficient; modern dicts are ordered and so
- we can round-trip through lists without needing the string rep at all.
- * generic/tclListObj.c (SetListFromAny): Make the dict->list
- transformation not lossy of internal representations and hence more
- efficient. [Bug 2008248] (ajpasadyn) but using a more efficient patch.
+ * win/tclWinPort.h: Move inclusion of <tchar.h> from
+ * generic/tcl.h: tclPlatDecls.h to tclWinPort.h, where it
+ * generic/tclPlatDecls.h: belongs. Add fallback in tcl.h, so TCHAR is
+ available in win32 always.
-2008-07-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2010-04-15 Donal K. Fellows <dkf@users.sf.net>
- * doc/DictObj.3: Fix error in example. [Bug 2016740]
+ * doc/try.n: [Bug 2987551]: Fix typo.
-2008-07-08 Don Porter <dgp@users.sourceforge.net>
+2010-04-14 Andreas Kupries <andreask@activestate.com>
- * generic/tclGet.c: Corrected out of date comments.
+ * library/platform/platform.tcl: Linux platform identification:
+ * library/platform/pkgIndex.tcl: Check /lib64 for existence of files
+ * unix/Makefile.in: matching libc* before accepting it as base
+ * win/Makefile.in: directory. This can happen on weirdly installed
+ 32bit systems which have an empty or partially filled /lib64 without
+ an actual libc. Bumped to version 1.0.6.
-2008-07-07 Andreas Kupries <andreask@activestate.com>
+2010-04-13 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdIL.c (InfoFrameCmd): Fixed unsafe idiom of setting the
- interp result found by Don Porter.
+ * win/tclWinPort.h: Fix [Patch 2986105]: conditionally defining
+ * win/tclWinFile.c: strcasecmp/strncasecmp
+ * win/tclWinLoad.c: Fix gcc warning: comparison of unsigned expression
+ >= 0 is always true
-2008-07-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2010-04-08 Donal K. Fellows <dkf@users.sf.net>
- * doc/regexp.n, doc/regsub.n: Correct examples. [Bug 1982642]
+ * generic/tclCompCmdsSZ.c (TclSubstCompile): If the first token does
+ not result in a *guaranteed* push of a Tcl_Obj on the stack, we must
+ push an empty object. Otherwise it is possible to get to a 'concat1'
+ or 'done' without enough values on the stack, resulting in a crash.
+ Thanks to Joe Mistachkin for identifying a script that could trigger
+ this case.
-2008-07-04 Joe English <jenglish@users.sourceforge.net>
+2010-04-07 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclEncoding.c(UtfToUtfProc): Avoid unwanted sign extension
- when converting incomplete UTF-8 sequences. See [Bug 1908443] for
- details.
+ * doc/catch.n, doc/info.n, doc/return.n: Formatting.
-2008-07-03 Andreas Kupries <andreask@activestate.com>
+2010-04-06 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIORChan.c (InvokeTclMethod): Fixed the memory leak
- reported in [Bug 1987821]. Thanks to Miguel for the rpeort and Don
- Porter for tracking the cause down.
+ * doc/Load.3: Minor corrections of formatting and cross links.
-2008-07-03 Don Porter <dgp@users.sourceforge.net>
+2010-04-06 Jan Nijtmans <nijtmans@users.sf.net>
- * library/package.tcl: Removed [file readable] testing from
- [tclPkgUnknown] and friends. We find out soon enough whether a file is
- readable when we try to [source] it, and not testing before allows us
- to workaround the bugs on some common filesystems where [file
- readable] lies to us. [Patch 1969717]
+ * win/configure: (regenerate with autoconf-2.59)
+ * unix/configure:
+ * unix/installManPage: [Bug 2982540]: configure and install* script
+ * unix/install-sh: files should always have LF line ending.
+ * doc/Load.3: Fix signature of Tcl_LoadFile in documentation.
-2008-06-29 Don Porter <dgp@users.sourceforge.net>
+2010-04-05 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- *** 8.5.3 TAGGED FOR RELEASE ***
+ TIP #348 IMPLEMENTATION
- * generic/tcl.h: Bump to 8.5.3 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
+ * generic/tclBasic.c: [Patch 2868499]: Substituted error stack
+ * generic/tclCmdIL.c:
+ * generic/tclInt.h:
+ * generic/tclNamesp.c:
+ * generic/tclResult.c:
+ * doc/catch.n:
+ * doc/info.n:
+ * doc/return.n:
+ * tests/cmdMZ.test:
+ * tests/error.test:
+ * tests/execute.test:
+ * tests/info.test:
+ * tests/init.test:
+ * tests/result.test:
- * unix/configure: autoconf-2.59
- * win/configure:
+2010-04-05 Donal K. Fellows <dkf@users.sf.net>
- * doc/ObjectType.3: Updated documentation of the Tcl_ObjType
- struct to match expectations of Tcl 8.5 [Bug 1917650].
+ * unix/tcl.m4 (SC_ENABLE_THREADS): Flip the default for whether to
+ * win/tcl.m4 (SC_ENABLE_THREADS): build in threaded mode. Part of
+ * win/rules.vc: TIP #364.
- * generic/tclPathObj.c: Plug memory leak in [Bug 1999176] fix. Thanks
- Rolf Ade for detecting.
+ * unix/tclLoadDyld.c (FindSymbol): Better human-readable error message
+ generation to match code in tclLoadDl.c.
-2008-06-28 Don Porter <dgp@users.sourceforge.net>
+2010-04-04 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclPathObj.c: Plug memory leak in [Bug 1972879] fix. Thanks
- Rolf Ade for detecting and Dan Steffen for the fix [Bug 2004654].
+ * generic/tclIOUtil.c, unix/tclLoadDl.c: Minor changes to enforce
+ Engineering Manual style rules.
-2008-06-26 Andreas Kupries <andreask@activestate.com>
+ * doc/FileSystem.3, doc/Load.3: Documentation for TIP#357.
- * unix/Makefile.in: Followup to my change of 2008-06-25, make code
- generated by the Makefile and put into the installd tm.tcl conditional
- on interpreter safeness as well. Thanks to Daniel Steffen for
- reminding me of that code.
+ * macosx/tclMacOSXBundle.c (OpenResourceMap): [Bug 2981528]: Only
+ define this function when HAVE_COREFOUNDATION is defined.
-2008-06-25 Don Porter <dgp@users.sourceforge.net>
+2010-04-02 Jan Nijtmans <nijtmans@users.sf.net>
- * changes: Update for 8.5.3 release.
+ * generic/tcl.decls (Tcl_LoadFile): Add missing "const" in signature,
+ * generic/tclIOUtil.c (Tcl_LoadFile): and some formatting fixes
+ * generic/tclDecls.h: (regenerated)
-2008-06-25 Andreas Kupries <andreask@activestate.com>
+2010-04-02 Donal K. Fellows <dkf@users.sf.net>
- * library/tm.tcl: Modified the handling of Tcl Modules and of the
- * library/safe.tcl: Safe Base to interact nicely with each other,
- * library/init.tcl: enabling requiring Tcl Modules in safe
- * tests/safe.test: interpreters. Fixes [Bug 1999119].
+ * generic/tclIOUtil.c (Tcl_LoadFile): Corrections to previous commit
+ * unix/tclLoadDyld.c (TclpDlopen): to make it build on OSX.
-2008-06-25 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-04-02 Kevin B. Kenny <kennykb@acm.org>
- * win/rules.vc: Backported fix for dde/registry versions and
- * win/makefile.vc: the staticpkg build option
+ TIP #357 IMPLEMENTATION
+ TIP #362 IMPLEMENTATION
-2008-06-24 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStrToD.c: [Bug 2952904]: Defer creation of the smallest
+ floating point number until it is actually used. (This change avoids a
+ bogus syslog message regarding a 'floating point software assist
+ fault' on SGI systems.)
- * generic/tclPathObj.c: Fixed some internals management in the "path"
- Tcl_ObjType for the empty string value. Problem led to a crash in the
- command [glob -dir {} a]. [Bug 1999176].
+ * library/reg/pkgIndex.tcl: [TIP #362]: Fixed first round of bugs
+ * tests/registry.test: resulting from the recent commits of
+ * win/tclWinReg.c: changes in support of the referenced
+ TIP.
-2008-06-23 Don Porter <dgp@users.sourceforge.net>
+ * generic/tcl.decls: [TIP #357]: First round of changes
+ * generic/tclDecls.h: to export Tcl_LoadFile,
+ * generic/tclIOUtil.c: Tcl_FindSymbol, and Tcl_FSUnloadFile
+ * generic/tclInt.h: to the public API.
+ * generic/tclLoad.c:
+ * generic/tclLoadNone.c:
+ * generic/tclStubInit.c:
+ * tests/fileSystem.test:
+ * tests/load.test:
+ * tests/unload.test:
+ * unix/tclLoadDl.c:
+ * unix/tclLoadDyld.c:
+ * unix/tclLoadNext.c:
+ * unix/tclLoadOSF.c:
+ * unix/tclLoadShl.c:
+ * unix/tclUnixPipe.c:
+ * win/Makefile.in:
+ * win/tclWinLoad.c:
- * generic/tclPathObj.c: Fixed bug in Tcl_GetTranslatedPath() when
- operating on the "Special path" variant of the "path" Tcl_ObjType
- intrep. A full normalization was getting done, in particular, coercing
- relative paths to absolute, contrary to what the function of
- producing the "translated path" is supposed to do. [Bug 1972879]
+2010-03-31 Donal K. Fellows <dkf@users.sf.net>
-2008-06-19 Don Porter <dgp@users.sourceforge.net>
+ * doc/registry.n: Added missing documentation of TIP#362 flags.
- * changes: Update for 8.5.3 release.
+ * doc/package.n: [Bug 2980210]: Document the arguments taken by
+ the [package present] command correctly.
- * generic/tclInterp.c: Fixed completely boneheaded mistake that
- * tests/interp.test: [interp bgerror $slave] and [$slave bgerror]
- would always act like [interp bgerror {}]. [Bug 1999035]
+ * doc/Thread.3: Added some better documentation of how to create and
+ use a thread using the C-level thread API, based on realization that
+ no such tutorial appeared to exist.
- * tests/chanio.test: Corrected flawed tests revealed by a -debug 1
- * tests/event.test: -singleproc 1 test suite run.
- * tests/io.test:
+2010-03-31 Jan Nijtmans <nijtmans@users.sf.net>
-2008-06-19 Don Porter <dgp@users.sourceforge.net>
+ * test/cmdMZ.test: [FRQ 2974744]: share exception codes (ObjType?):
+ * test/error.test: Revised test cases, making sure that abbreviated
+ * test/proc-old.test: codes are checked resulting in an error, and
+ checking for the exact error message.
- * changes: Updates for 8.5.3 release.
+2010-03-30 Andreas Kupries <andreask@activestate.com>
-2008-06-17 Andreas Kupries <andreask@activestate.com>
+ * generic/tclIORChan.c (ReflectClose, ReflectInput, ReflectOutput,
+ (ReflectSeekWide, ReflectWatch, ReflectBlock, ReflectSetOption,
+ (ReflectGetOption, ForwardProc): [Bug 2978773]: Preserve
+ ReflectedChannel* structures across handler invokations, to avoid
+ crashes when the handler implementation induces nested callbacks and
+ destruction of the channel deep inside such a nesting.
- * generic/tclClock.c (ClockConvertlocaltoutcObjCmd): Removed left
- over debug output.
+2010-03-30 Don Porter <dgp@users.sourceforge.net>
-2008-06-17 Andreas Kupries <andreask@activestate.com>
+ * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2979402]: Reorder
+ the validity tests on internal rep of a "cmdName" value to avoid
+ invalid reads reported by valgrind.
- * doc/tm.n: Followup to changelog entry 2008-03-18 regarding
- ::tcl::tm::Defaults. Updated the documentation to not only mention
- the new (underscored) form of environment variable names, but make
- it the encouraged form as well. See [Bug 1914604].
+2010-03-30 Jan Nijtmans <nijtmans@users.sf.net>
-2008-06-17 Kevin Kenny <kennykb@acm.org>
+ * generic/tclIndexObj: [FRQ 2974744]: share exception codes
+ * generic/tclResult.c: further optimization, making use of indexType.
+ * generic/tclZlib.c: [Bug 2979399]: uninitialized value troubles
- * generic/tclClock.c (ConvertLocalToUTC):
- * tests/clock.test (clock-63.1): Fixed a bug where the
- internal ConvertLocalToUTC command segfaulted if passed a
- dictionary without the 'localSeconds' key. To the best of
- my knowledge, the bug was not observable in the [clock]
- command itself.
+2010-03-30 Donal K. Fellows <dkf@users.sf.net>
-2008-06-16 Andreas Kupries <andreask@activestate.com>
+ TIP #362 IMPLEMENTATION
- * generic/tclCmdIL.c (TclInfoFrame): Backport of fix made on the
- * tests/info.test: head branch :: Moved the code looking up the
- information for key 'proc' out of the TCL_LOCATION_BC branch to
- after the switch, this is common to all frame types. Updated the
- testsuite to match. This was exposed by the 2008-06-08 commit
- (Miguel), switching uplevel from direct eval to compilation. Fixes
- [Bug 1987851].
+ * win/tclWinReg.c: [Patch 2960976]: Apply patch from Damon Courtney to
+ * tests/registry.test: allow the registry command to be told to work
+ * win/Makefile.in: with both 32-bit and 64-bit registries. Bump
+ * win/configure.in: version of registry package to 1.3.
+ * win/makefile.bc:
+ * win/makefile.vc:
+ * win/configure: autoconf-2.59
-2008-06-12 Daniel Steffen <das@users.sourceforge.net>
+2010-03-29 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/Makefile.in: add complete deps on tclDTrace.h.
+ * unix/tcl.m4: Only test for -visibility=hidden with gcc
+ (Second remark in [Bug 2976508])
+ * unix/configure: regen
- * unix/Makefile.in: clean generated tclDTrace.h file.
- * unix/configure.in (SunOS): fix static DTrace-enabled build.
+2010-03-29 Don Porter <dgp@users.sourceforge.net>
- * unix/tcl.m4 (SunOS-5.11): fix 64bit amd64 support with gcc & Sun cc.
- * unix/configure: autoconf-2.59
+ * generic/tclStringObj.c: Fix array overrun in test format-1.12
+ caught by valgrind testing.
- * macosx/Tcl.xcodeproj/project.pbxproj: add debug configs with gcov,
- and with corefoundation disabled; updates and cleanup for Xcode 3.1 and
- for Leopard.
- * macosx/Tcl.xcode/project.pbxproj: sync Tcl.xcodeproj changes.
- * macosx/README: document new build configs.
+2010-03-27 Jan Nijtmans <nijtmans@users.sf.net>
-2008-05-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclInt.h: [FRQ 2974744]: share exception codes
+ * generic/tclResult.c: (ObjType?)
+ * generic/tclCmdMZ.c:
+ * generic/tclCompCmdsSZ.c:
- * tests/io.test (io-53.9): need to close chan before removing file.
+2010-03-26 Jan Nijtmans <nijtmans@users.sf.net>
-2008-05-23 Andreas Kupries <andreask@activestate.com>
+ * generic/tclExecute.c: [Bug 2976508]: Tcl HEAD fails on HP-UX
- * win/tclWinChan.c (FileWideSeekProc): Accepted a patch by
- Alexandre Ferrieux <ferrieux@users.sourceforge.net> to fix the
- [Bug 1965787]. 'tell' now works for locations > 2 GB as well
- instead of going negative.
+2010-03-25 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by
- * tests/io.test: Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * tests/chanio.test: to fix the [Bug 1969953]. Buffersize outside
- of the supported range are now clipped to nearest boundary instead
- of ignored.
+ * unix/tclUnixFCmd.c (TclUnixCopyFile): [Bug 2976504]: Corrected
+ number of arguments to fstatfs() call.
-2008-05-22 Don Porter <dgp@users.sourceforge.net>
+ * macosx/tclMacOSXBundle.c, macosx/tclMacOSXFCmd.c:
+ * macosx/tclMacOSXNotify.c: Reduce the level of ifdeffery in the
+ functions of these files to improve readability. They need to be
+ audited for whether complexity can be removed based on the minimum
+ supported version of OSX, but that requires a real expert.
- * generic/tclNamesp.c (Tcl_LogCommandInfo): Restored ability to
- handle the argument value length = -1. Thanks to Chris Darroch for
- discovering the bug and providing the fix. [Bug 1968245].
+2010-03-24 Don Porter <dgp@users.sourceforge.net>
-2008-05-21 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclResult.c: [Bug 2383005]: Revise [return -errorcode] so
+ * tests/result.test: that it rejects illegal non-list values.
- * generic/tclParse.c (ParseComment): The new TclParseAllWhiteSpace
- * tests/parse.test (parse-15.60): routine has no mechanism to
- return the "incomplete" status of "\\\n" so calling this routine
- anywhere that can be reached within a Tcl_ParseCommand call is a
- mistake. In particular, ParseComment must not use it. [Bug 1968882]
+2010-03-24 Donal K. Fellows <dkf@users.sf.net>
-2008-05-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclOOInfo.c (InfoObjectMethodTypeCmd)
+ (InfoClassMethodTypeCmd): Added introspection of method types so that
+ it is possible to find this info out without using errors.
+ * generic/tclOOMethod.c (procMethodType): Now that introspection can
+ reveal the name of method types, regularize the name of normal methods
+ to be the name of the definition type used to create them.
- * generic/tclNamesp.c (Tcl_SetNamespaceUnknownHandler): Corrected odd
- logic for handling installation of namespace unknown handlers which
- could lead too very strange things happening in the error case.
+ * tests/async.test (async-4.*): Reduce obscurity of these tests by
+ putting the bulk of the code for them inside the test body with the
+ help of [apply].
-2008-05-16 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclCmdMZ.c (TryPostBody, TryPostHandler): Make sure that the
+ [try] command does not trap unwinding due to limits.
- * generic/tclCompile.c: Fix crash with tcl_traceExec. Found and
- fixed by Alexander Pasadyn [Bug 1964803].
+2010-03-23 Don Porter <dgp@users.sourceforge.net>
-2008-05-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclCmdMZ.c: [Bug 2973361]: Revised fix for computing
+ indices of script arguments to [try].
- * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix silly
- off-by-one error that caused a crash every time a compiled 'dict
- append' with more than one value argument was used. Found by Colin
- McCormack.
+2010-03-23 Jan Nijtmans <nijtmans@users.sf.net>
-2008-04-26 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * generic/tclCmdMZ.c: Make error message in "try" implementation
+ * generic/tclCompCmdsSZ.c: exactly the same as the one in "return"
+ * tests/error.test:
+ * libtommath/mtests/mpi.c: Single "const" addition
- * generic/tclAsync.c: Tcl_AsyncDelete(): panic if attempt to locate
- handler token fails. Happens when some other thread attempts to delete
- somebody else's token.
+2010-03-22 Don Porter <dgp@users.sourceforge.net>
- Also, panic early if we find out the wrong thread attempting to delete
- the async handler (common trap). As, only the one that created the
- handler is allowed to delete it.
+ * generic/tclCmdMZ.c: [Bug 2973361]: Compute the correct integer
+ values to identify the argument indices of the various script
+ arguments to [try]. Passing in -1 led to invalid memory reads.
-2008-04-24 Andreas Kupries <andreask@activestate.com>
+2010-03-20 Donal K. Fellows <dkf@users.sf.net>
- * tests/ioCmd.test: Extended testsuite for reflected channel
- implementation. Added test cases about how it handles if the rug is
- pulled out from under a channel (= killing threads, interpreters
- containing the tcl command for a channel, and channel sitting in a
- different interpreter/thread.)
+ * doc/exec.n: Make it a bit clearer that there is an option to run a
+ pipeline in the background.
- * generic/tclIORChan.c: Fixed the bugs exposed by the new testcases,
- redone most of the cleanup and exit handling.
+ * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Lift the restriction
+ * generic/tclIO.c (TclCopyChannel, CopyData): on the [fcopy] command
+ * generic/tclIO.h (CopyState): that forced it to only
+ copy up to 2GB per script-level callback. Now it is anything that can
+ fit in a (signed) 64-bit integer. Problem identified by Frederic
+ Bonnet on comp.lang.tcl. Note that individual low-level reads and
+ writes are still smaller as the optimal buffer size is smaller.
-2008-04-15 Andreas Kupries <andreask@activestate.com>
+2010-03-20 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclIO.c (CopyData): Applied another patch by Alexandre
- * io.test (io-53.8a): Ferrieux <ferrieux@users.sourceforge.net>,
- * chanio.test (chan-io-53.8a): to shift EOF handling to the async
- part of the command if a callback is specified, should the channel
- be at EOF already when fcopy is called. Testcase by myself.
+ * win/stub16.c: Don't hide that we use the ASCII API here.
+ (does someone still use that?)
+ * win/tclWinPipe.c: 2 unnecessary type casts.
-2008-04-14 Kevin B. Kenny <kennykb@acm.org>
+2010-03-19 Donal K. Fellows <dkf@users.sf.net>
- * unix/tclUnixTime.c (NativeGetTime): Removed obsolete use of
- 'struct timezone' in the call to 'gettimeofday'. [Bug 1942197].
- * tests/clock.test (clock-33.5, clock-33.5a, clock-33.8, clock-33.8a):
- Added comments to the test that it can fail on a heavily loaded
- system.
+ * generic/tclCompCmdsSZ.c (TclCompileThrowCmd): Added compilation for
+ the [throw] command.
-2008-04-11 Don Porter <dgp@users.sourceforge.net>
+2010-03-18 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h: Bump version number to 8.5.3b1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5.2 and
- * unix/configure.in: 8.5.3 releases.
- * unix/tcl.spec:
- * win/configure.in:
- * README
+ * generic/tclListObj.c: [Bug 2971669]: Prevent in overflow trouble in
+ * generic/tclTestObj.c: ListObjReplace operations. Thanks to kbk for
+ * tests/listObj.test: fix and test.
- * unix/configure: autoconf (2.59)
- * win/configure:
+2010-03-18 Donal K. Fellows <dkf@users.sf.net>
-2008-04-10 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCompCmdsSZ.c (IssueTryFinallyInstructions):
+ [Bug 2971921]: Corrected jump so that it doesn't skip into the middle
+ of an instruction! Tightened the instruction issuing. Moved endCatch
+ calls closer to their point that they guard, ensuring correct ordering
+ of result values.
- * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Keeping check for negative
- values, changed to not be an error, but behave like the special
- value -1 (copy all, default).
+2010-03-17 Andreas Kupries <andreask@activestate.com>
- * tests/iocmd.test (iocmd-15.{12,13}): Removed.
+ * generic/tclIORTrans.c (ReflectInput, ReflectOutput)
+ (ReflectSeekWide): [Bug 2921116]: Added missing TclEventuallyFree
+ calls for preserved ReflectedTransform* structures. Reworked
+ ReflectInput to preserve the structure for its whole life, not only in
+ InvokeTclMethod.
- * tests/io.test (io-52.5{,a,b}): Reverted last change, added
- * tests/chanio.test (chan-io-52.5{,a,b}): comment regarding the
- meaning of -1, added two more testcases for other negative values,
- and input wrapped to negative.
+ * generic/tclIO.c (Tcl_GetsObj): [Bug 2921116]: Regenerate topChan,
+ may have been changed by a self-modifying transformation.
-2008-04-09 Andreas Kupries <andreask@activestate.com>
+ * tests/ioTrans/test (iortrans-4.8, iortrans-4.9, iortrans-5.11)
+ (iortrans-7.4, iortrans-8.3): New test cases.
- * tests/chanio.test (chan-io-52.5): Removed '-size -1' from test,
- * tests/io.test (io-52.5): does not seem to have any bearing, and
- was an illegal value.
+2010-03-16 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Added checking of -size
- * tests/ioCmd.test (iocmd-15.{13,14}): value to reject negative
- values, and values overflowing 32-bit signed. [Bug 1557855]. Basic
- patch by Alexandre Ferrieux <ferrieux@users.sourceforge.net>, with
- modifications from me to separate overflow from true negative
- value. Extended testsuite.
+ * compat/zlib/*: Upgrade zlib to version 1.2.4.
+ * win/makefile.vc:
+ * unix/Makefile.in:
+ * win/tclWinChan.c: Don't cast away "const" without reason.
-2008-04-08 Andreas Kupries <andreask@activestate.com>
+2010-03-12 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/io.test (io-53.8): Fixed ordering of vwait and after
- cancel. cancel has to be done after the vwait completes.
+ * win/makefile.vc: [Bug 2967340]: Static build was failing.
+ * win/.cvsignore:
-2008-04-09 Daniel Steffen <das@users.sourceforge.net>
+2010-03-10 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/chanio.test (chan-io-53.8,53.9,53.10): fix typo & quoting for
- * tests/io.test (io-53.8,53.9,53.10): spaces in builddir path
+ * generic/tclTest.c: Remove unnecessary '&' decoration for
+ * generic/tclIOUtil.c: function pointers
+ * win/tclWin32Dll.c: Double declaration of TclNativeDupInternalRep
+ * unix/tclIOUtil.c:
+ * unix/dltest/.cvsignore: Ignore *.so here
-2008-04-07 Andreas Kupries <andreask@activestate.com>
+2010-03-09 Andreas Kupries <andreask@activestate.com>
- * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.
- * tests/chanio.test:
- * generic/tclIO.c: Additional changes to data structures for fcopy
- * generic/tclIO.h: and channels to perform proper cleanup in case
- of a channel having two background copy operations running as is
- now possible.
+ * generic/tclIORChan.c: [Bug 2936225]: Thanks to Alexandre Ferrieux
+ * doc/refchan.n: <ferrieux@users.sourceforge.net> for debugging and
+ * tests/ioCmd.test: fixing the problem. It is the write-side
+ equivalent to the bug fixed 2009-08-06.
- * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.
- * generic/tclIO.c: Additional changes to data structures for fcopy
- and channels to perform proper cleanup in case of a channel having
- two background copy operations running as is now possible.
+2010-03-09 Don Porter <dgp@users.sourceforge.net>
-2008-04-07 Andreas Kupries <andreask@activestate.com>
+ * library/tzdata/America/Matamoros: New locale
+ * library/tzdata/America/Ojinaga: New locale
+ * library/tzdata/America/Santa_Isabel: New locale
+ * library/tzdata/America/Asuncion:
+ * library/tzdata/America/Tijuana:
+ * library/tzdata/Antarctica/Casey:
+ * library/tzdata/Antarctica/Davis:
+ * library/tzdata/Antarctica/Mawson:
+ * library/tzdata/Asia/Dhaka:
+ * library/tzdata/Pacific/Fiji:
+ Olson tzdata2010c.
- * generic/tclIO.c (BUSY_STATE, CheckChannelErrors,
- TclCopyChannel): New macro, and the places using it. This change
- allows for bi-directional fcopy on channels. [Bug 1350564]. Thanks
- to Alexandre Ferrieux <ferrieux@users.sourceforge.net> for the
- patch.
+2010-03-07 Jan Nijtmans <nijtmans@users.sf.net>
-2008-04-07 Reinhard Max <max@suse.de>
+ * generic/tclTest.c: Test that tclOO stubs are present in stub
+ library
+ * generic/tclOOMethod.c: Applied missing part of [Patch 2961556]
+ * win/tclWinInt.h: Change all tclWinProcs signatures to use
+ * win/tclWin32Dll.c: TCHAR* in stead of WCHAR*. This is meant
+ * win/tclWinDde.c: as preparation to make [Enh 2965056]
+ * win/tclWinFCmd.c: possible at all.
+ * win/tclWinFile.c:
+ * win/tclWinPipe.c:
+ * win/tclWinSock.c:
- * generic/tclStringObj.c (Tcl_AppendFormatToObj): Fix [format {% d}]
- so that it behaves the same way as in 8.4 and as C's printf().
- * tests/format.test: Add a test for '% d' and '%+d'.
+2010-03-06 Jan Nijtmans <nijtmans@users.sf.net>
-2008-04-05 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclStubLib.c: Remove presence of tclTomMathStubsPtr here.
+ * generic/tclTest.c: Test that tommath stubs are present in stub
+ library.
- * tests/chanio.test (chan-io-53.9):
- * tests/io.test (io-53.9): Made test cleanup robust against the
- possibility of slow process shutdown on Windows.
+2010-03-05 Donal K. Fellows <dkf@users.sf.net>
- * win/tcl.m4: Added -D_CRT_SECURE_NO_DEPRECATE and
- -DCRT_NONSTDC_NO_DEPRECATE to the MSVC compilation flags so that
- the compilation doesn't barf on perfectly reasonable Posix system
- calls.
- * win/configure: Manually patched (don't have the right autoconf
- to hand).
+ * generic/tclIORTrans.c (ForwardProc): [Bug 2964425]: When cleaning
+ the stables, it is sometimes necessary to do more than the minimum. In
+ this case, rationalizing the variables for a forwarded limit? method
+ required removing an extra Tcl_DecrRefCount too.
- * win/tclWinFile.c: (WinSymLinkDirectory): Fixed a problem that
- Tcl was creating an NTFS junction point (IO_REPARSE_TAG_MOUNT_POINT)
- but filling in the union member for a Vista symbolic link. We had
- gotten away with this error because the union member
- (SymbolicLinkReparseBuffer) was misdefined in this file and in the
- 'winnt.h' in early versions of MinGW. MinGW 3.4.2 has the correct
- definition of SymbolicLinkReparseBuffer, exposing the mismatch,
- and making tests cmdAH-19.4.1, fCmd-28.*, and filename-11.* fail.
+ * generic/tclOO.h, generic/tclOOInt.h: [Patch 2961556]: Change TclOO
+ to use the same style of function typedefs as Tcl, as this is about
+ the last chance to get this right.
-2008-04-04 Andreas Kupries <andreask@activestate.com>
+ ***POTENTIAL INCOMPATIBILITY***
+ Source code that uses function typedefs from TclOO will need to update
+ variables and argument definitions so that pointers to the function
+ values are used instead. Binary compatibility is not affected.
+
+ * generic/*.c, generic/tclInt.h, unix/*.c, macosx/*.c: Applied results
+ of doing a Code Audit. Principal changes:
+ * Use do { ... } while (0) in macros
+ * Avoid shadowing one local variable with another
+ * Use clearer 'foo.bar++;' instead of '++foo.bar;' where result not
+ required (i.e., semantically equivalent); clarity is increased
+ because it is bar that is incremented, not foo.
+ * Follow Engineering Manual rules on spacing and declarations
+
+2010-03-04 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclOO.c (ObjectRenamedTrace): [Bug 2962664]: Add special
+ handling so that when the class of classes is deleted, so is the class
+ of objects. Immediately.
+
+ * generic/tclOOInt.h (ROOT_CLASS): Add new flag for specially marking
+ the root class. Simpler and more robust than the previous technique.
+
+2010-03-04 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclGetDate.y: 3 unnecessary MODULE_SCOPE
+ * generic/tclDate.c: symbols
+ * generic/tclStubLib.c: Split tommath stub lib
+ * generic/tclTomMathStubLib.c: in separate file.
+ * win/makefile.bc:
+ * win/Makefile.in:
+ * win/makefile.vc:
+ * win/tcl.dsp:
+ * unix/Makefile.in:
+ * unix/tcl.m4: Cygwin only gives warning
+ * unix/configure: using -fvisibility=hidden
+ * compat/strncasecmp.c: A few more const's
+ * compat/strtod.c:
+ * compat/strtoul.c:
- * tests/io.test (io-53.9): Added testcase for [Bug 780533], based
- * tests/chanio.test: on Alexandre's test script. Also fixed
- problem with timer in preceding test, was not canceled properly in
- the ok case.
+2010-03-03 Andreas Kupries <andreask@activestate.com>
-2008-04-04 Andreas Kupries <andreask@activestate.com>
+ * doc/refchan.n: Followup to ChangeLog entry 2009-10-07
+ (generic/tclIORChan.c). Fixed the documentation to explain that errno
+ numbers are operating system dependent, and reworked the associated
+ example.
- * generic/tclIORChan.c (ReflectOutput): Allow zero return from
- write when input was zero-length anyway. Otherwise keept it an
- error, and separate the message from 'written too much'.
+2010-03-02 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/ioCmd.test (iocmd-24.6): Testcase updated for changed
- message.
+ * unix/tcl.m4: [FRQ 2959069]: Support for -fvisibility=hidden
+ * unix/configure (regenerated with autoconf-2.59)
- * generic/tclIORChan.c (ReflectClose): Added missing removal of
- the now closed channel from the reflection map. Before we could
- crash the system by invoking 'chan postevent' on a closed
- reflected channel, dereferencing the dangling pointer in the map.
+2010-03-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * tests/ioCmd.test (iocmd-31.8): Testcase for the above.
+ * unix/tclUnixSock.c: Refrain from a possibly lengthy reverse-DNS
+ lookup on 0.0.0.0 when calling [fconfigure -sockname] on an
+ universally-bound (default) server socket.
-2008-04-03 Andreas Kupries <andreask@activestate.com>
+ * generic/tclIndexObj.c: fix [AT 86258]: special-casing of empty
+ tables when generating error messages for [::tcl::prefix match].
- * generic/tclIO.c (CopyData): Applied patch [Bug 1932639] to
- * tests/io.test: prevent fcopy from calling -command synchronously
- * tests/chanio.test: the first time. Thanks to Alexandre Ferrieux
- <ferrieux@users.sourceforge.net> for report and patch.
+2010-02-28 Donal K. Fellows <dkf@users.sf.net>
-2008-04-02 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCmdIL.c: More additions of {TCL LOOKUP} error-code
+ generation to various subcommands of [info] as part of long-term
+ project to classify all Tcl's generated errors.
- * generic/tclIO.c (CopyData): Applied patch for the fcopy problem
- [Bug 780533], with many thanks to Alexandre Ferrieux
- <ferrieux@users.sourceforge.net> for tracking it down and
- providing a solution. Still have to convert his test script into a
- proper test case.
+2010-02-28 Jan Nijtmans <nijtmans@users.sf.net>
-2008-04-01 Andreas Kupries <andreask@activestate.com>
+ * generic/tclStubInit.c: [Bug 2959713]: Link error with gcc 4.1
- * generic/tclStrToD.c: Applied patch for [Bug 1839067] (fp
- * unix/tcl.m4: rounding setup on solaris x86, native cc), provided
- * unix/configure: by Michael Schlenker. configure regen'd.
+2010-02-27 Donal K. Fellows <dkf@users.sf.net>
-2008-04-01 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdMZ.c (StringFirstCmd, StringLastCmd): [Bug 2960021]:
+ Only search for the needle in the haystack when the needle isn't
+ larger than the haystack. Prevents an odd crash from sometimes
+ happening when things get mixed up (a common programming error).
- * generic/tclStubLib.c (Tcl_InitStubs): Added missing error message.
- * generic/tclPkg.c (Tcl_PkgInitStubsCheck):
+ * generic/tclMain.c (Tcl_Main): [Bug 801429]: Factor out the holding
+ of the client-installed main loop function into thread-specific data.
-2008-03-30 Kevin Kenny <kennykb@acm.org>
+ ***POTENTIAL INCOMPATIBILITY***
+ Code that previously tried to set the main loop from another thread
+ will now fail. On the other hand, there is a fairly high probability
+ that such programs would have been failing before due to the lack of
+ any kind of inter-thread memory barriers guarding accesses to this
+ part of Tcl's state.
- * generic/tclInt.h (TclIsNaN):
- * unix/configure.in: Added code to the configurator to check for
- a standard isnan() macro and use it if one
- is found. This change avoids bugs where
- the test of ((d) != (d)) is optimized away
- by an overaggressive compiler. [Bug 1783544]
- * generic/tclObj.c: Added missing #include <math.h> needed to
- locate isnan() after the above change.
+2010-02-26 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf-2.61
+ * generic/tclCompCmds.c: Split this file into two pieces to make it
+ * generic/tclCompCmdsSZ.c: easier to work with. It's still two very
+ long files even after the split.
- * tests/mathop.test (mathop-25.9, mathop-25.14): Modified tests
- to deal with (slightly buggy) math libraries in which pow()
- returns an incorrectly rounded result. [Bug 1808174]
+2010-02-26 Reinhard Max <max@suse.de>
-2008-03-26 Don Porter <dgp@users.sourceforge.net>
+ * doc/safe.n: Name the installed file after the command it documents.
+ Use "Safe Tcl" instead of the "Safe Base", "Safe Tcl" mixture.
- *** 8.5.2 TAGGED FOR RELEASE ***
+2010-02-26 Donal K. Fellows <dkf@users.sf.net>
- * generic/tcl.h: Bump to 8.5.2 for release.
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
+ * unix/Makefile.in (NATIVE_TCLSH): Added this variable to allow for
+ better control of what tclsh to use for various scripts when doing
+ cross compiling. An imperfect solution, but works.
- * unix/configure: autoconf-2.59
- * win/configure:
+ * unix/installManPage: Remap non-alphanumeric sequences in filenames
+ to single underscores (especially colons).
- * changes: Updated for 8.5.2 release.
+2010-02-26 Pat Thoyts <patthoyts@users.sourceforge.net>
-2008-03-28 Donal K. Fellows <dkf@users.sf.net>
+ * tests/zlib.test: Add tests for [Bug 2818131] which was crashing with
+ mismatched zlib algorithms used in combination with gets. This issue
+ has been fixed by Andreas's last commit.
- * tests/fCmd.test: Substantial rewrite to use many more tcltest
- features. Great reduction in quantity of [catch] gymnastics. Several
- buggy tests fixed, including one where the result of the previous test
- was being checked!
+2010-02-25 Jan Nijtmans <nijtmans@users.sf.net>
-2008-03-27 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclHash.c: [FRQ 2958832]: Further speed-up of the
+ * generic/tclLiteral.c: ouster-hash function.
+ * generic/tclObj.c:
+ * generic/tclCkalloc.c: Eliminate various unnecessary (ClientData)
+ * generic/tclTest.c: type casts.
+ * generic/tclTestObj.c:
+ * generic/tclTestProcBodyObj.c:
+ * unix/tclUnixTest.c:
+ * unix/tclUnixTime.c:
+ * unix/tclXtTest.c:
- * library/tzdata/America/Marigot:
- * library/tztata/America/St_Barthelemy:
- * library/tzdata/America/Argentina/San_Luis:
- * library/tzdata/Asia/Ho_Chi_Minh:
- * library/tzdata/Asia/Kolkata: (new files)
- * library/tzdata/America/Caracas:
- * library/tzdata/America/Havana:
- * library/tzdata/America/Santiago:
- * library/tzdata/America/Argentina/Buenos_Aires:
- * library/tzdata/America/Argentina/Catamarca:
- * library/tzdata/America/Argentina/Cordoba:
- * library/tzdata/America/Argentina/Jujuy:
- * library/tzdata/America/Argentina/La_Rioja:
- * library/tzdata/America/Argentina/Mendoza:
- * library/tzdata/America/Argentina/Rio_Gallegos:
- * library/tzdata/America/Argentina/San_Juan:
- * library/tzdata/America/Argentina/Tucuman:
- * library/tzdata/America/Argentina/Ushuaia:
- * library/tzdata/Asia/Baghdad:
- * library/tzdata/Asia/Calcutta:
- * library/tzdata/Asia/Damascus:
- * library/tzdata/Asia/Saigon:
- * library/tzdata/Pacific/Easter:
- Changes up to and including Olson's tzdata2008b.
+2010-02-24 Donal K. Fellows <dkf@users.sf.net>
-2008-03-27 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclDictObj.c (SetDictFromAny): Prevent the list<->dict
+ * generic/tclListObj.c (SetListFromAny): conversion code from taking
+ too many liberties. Stops loss of duplicate keys in some scenarios.
+ Many thanks to Jean-Claude Wippler for finding this.
- * unix/tcl.m4 (SunOS-5.1x): fix 64bit support for Sun cc. [Bug 1921166]
+ * generic/tclExecute.c (TclExecuteByteCode): Reduce ifdef-fery and
+ size of activation record. More variables shared across instructions
+ than before.
- * unix/configure: autoconf-2.59
+ * doc/socket.n: [Bug 2957688]: Clarified that [socket -server] works
+ with a command prefix. Extended example to show this in action.
-2008-03-26 Don Porter <dgp@users.sourceforge.net>
+2010-02-22 Andreas Kupries <andreask@activestate.com>
- * changes: Updated for 8.5.2 release.
+ * generic/tclZlib.c (ZlibTransformInput): [Bug 2762041]: Added a hack
+ to work around the general problem, early EOF recognition based on the
+ base-channel, instead of the data we have ready for reading in the
+ transform. Long-term we need a proper general fix (likely tracking EOF
+ on each level of the channel stack), with attendant complexity.
+ Furthermore, Z_BUF_ERROR can be ignored, and must be when feeding the
+ zlib code with single characters.
-2008-03-24 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-02-22 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBinary.c: [Bug 1923966] - crash in binary format
- * tests/binary.test: Added tests for the above crash condition.
+ * unix/tclUnixPort.h: Remove unnecessary EXTERN's, which already are
+ in the global stub table.
+ * unix/configure.in: Use @EXEEXT@ in stead of @EXT_SUFFIX@
+ * unix/tcl.m4:
+ * unix/Makefile.in: Use -DBUILD_tcl for CYGWIN
+ * unix/configure: (regenerated)
+ * unix/dltest/pkg*.c: Use EXTERN to control CYGWIN exported symbols
+ * generic/tclCmdMZ.c: Remove some unnecessary type casts.
+ * generic/tclCompCmds.c:
+ * generic/tclTest.c:
+ * generic/tclUtil.c:
-2008-03-21 Donal K. Fellows <dkf@users.sf.net>
+2010-02-21 Mo DeJong <mdejong@users.sourceforge.net>
- * doc/switch.n: Clarified documentation in respect of two-argument
- invokation. [Bug 1899962]
+ * tests/regexp.test: Add test cases back ported from Jacl regexp work.
- * tests/switch.test: Added more tests of regexp-mode compilation of
- the [switch] command. [Bug 1854435]
+2010-02-21 Jan Nijtmans <nijtmans@users.sf.net>
-2008-03-20 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclDate.c: Some more const tables.
+ * generic/tclGetDate.y:
+ * generic/regc_lex.c:
+ * generic/regerror.c:
+ * generic/tclStubLib.c:
+ * generic/tclBasic.c: Fix [Bug 2954959] expr abs(0.0) is -0.0
+ * tests/expr.test:
- * generic/tcl.h, generic/tclThreadAlloc.c: Tidied up the declarations
- of Tcl_GetMemoryInfo so that it is always defined. Will panic when
- called against a Tcl that was previously built without it at all,
- which is OK because that also indicates a serious mismatch between
- memory configuration options.
+2010-02-20 Donal K. Fellows <dkf@users.sf.net>
-2008-03-19 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclCompCmds.c (TclCompileStringLenCmd): Make [string length]
+ of a constant string be handled better (i.e., handle backslashes too).
- * generic/tcl.h, generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Make
- sure this function is available when direct linking. [Bug 1868171]
+2010-02-19 Stuart Cassoff <stwo@users.sourceforge.net>
- * tests/reg.test (reg-33.14): Marked nonPortable because some
- environments have small default stack sizes. [Bug 1905562]
+ * tcl.m4: Correct compiler/linker flags for threaded builds on
+ OpenBSD.
+ * configure: (regenerated).
-2008-03-18 Andreas Kupries <andreask@activestate.com>
+2010-02-19 Donal K. Fellows <dkf@users.sf.net>
- * library/tm.tcl (::tcl::tm::UnknownHandler): Changed 'source' to
- 'source -encoding utf-8'. This fixes a portability problem of Tcl
- Modules pointed out by Don Porter. By using plain 'source' we were at
- the mercy of 'encoding system', making modules less portable than they
- could be. The exact scenario: A writes a TM in some weird encoding
- which is A's system encoding, distributes it, and somewhere else it
- cannot be read/used because the system encoding is different. Forcing
- the use of utf-8 makes the module portable.
+ * unix/installManPage: [Bug 2954638]: Correct behaviour of manual page
+ installer. Also added armouring to check that assumptions about the
+ initial state are actually valid (e.g., look for existing input file).
- ***INCOMPATIBILITY*** for all Tcl Modules already written in non-utf-8
- compatible encodings.
+2010-02-17 Donal K. Fellows <dkf@users.sf.net>
-2008-03-18 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclHash.c (HashStringKey): Restore these hash functions
+ * generic/tclLiteral.c (HashString): to use the classic algorithm.
+ * generic/tclObj.c (TclHashObjKey): Community felt normal case
+ speed to be more important than resistance to malicious cases. For
+ now, hashes that need to deal with the malicious case can use a custom
+ hash table and install their own hash function, though that is not
+ functionality exposed to the script level.
- * generic/tclExecute.c: Patch from Miguel Sofer to correct the
- alignment of memory allocated by GrowEvaluationStack(). [Bug 1914503]
+ * generic/tclCompCmds.c (TclCompileDictUpdateCmd): Stack depth must be
+ correctly described when compiling a body to prevent crashes in some
+ debugging modes.
-2008-03-18 Andreas Kupries <andreask@activestate.com>
+2010-02-16 Jan Nijtmans <nijtmans@users.sf.net>
- * library/tm.tcl (::tcl::tm::Defaults): Modified handling of
- environment variables. See [Bug 1914604]. Solution slightly different
- than proposed in the report. Using the underscored form TCLX_y_TM_PATH
- even if TCLX.y_TM_PATH exists. Also using a loop to cut prevent code
- replication.
+ * generic/tclInt.h: Change order of various struct members,
+ fixing potential binary incompatibility with Tcl 8.5
-2008-03-16 Donal K. Fellows <dkf@users.sf.net>
+2010-02-16 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompCmds.c (TclCompileDictForCmd): Correct the handling
- of stack space calculation (the jump pattern used was confusing the
- simple-minded code doing the calculations). [Bug 1903325]
+ * unix/configure.in, generic/tclIOUtil.c (Tcl_Stat): Updated so that
+ we do not assume that all unix systems have the POSIX blkcnt_t type,
+ since OpenBSD apparently does not.
- * doc/lreplace.n: Clarified documentation of what happens with
- negative indices. [Bug 1905809] Added example, tidied up formatting.
+ * generic/tclLiteral.c (HashString): Missed updating to FNV in one
+ place; the literal table (a copy of the hash table code...)
-2008-03-14 Don Porter <dgp@users.sourceforge.net>
+2010-02-15 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclBasic.c (OldMathFuncProc): Same workaround protection
- from bad TclStackAlloc() alignment. Thanks George Peter Staplin.
+ * tools/genStubs.tcl: Reverted earlier rename from tcl*Stubs to
+ * generic/tclBasic.c: tcl*ConstStubs, it's not necessary at all.
+ * generic/tclOO.c:
+ * generic/tclTomMathInterface.c:
+ * generic/tclStubInit.c: (regenerated)
+ * generic/tclOOStubInit.c: (regenerated)
+ * generic/tclEnsemble.c:Fix signed-unsigned mismatch
+ * win/tclWinInt.h: make tclWinProcs "const"
+ * win/tclWin32Dll.c:
+ * win/tclWinFCmd.c: Eliminate all internal Tcl_WinUtfToTChar
+ * win/tclWinFile.c: and Tcl_WinTCharToUtf calls, needed
+ * win/tclWinInit.c: for mslu support.
+ * win/tclWinLoad.c:
+ * win/tclWinPipe.c:
+ * win/tclWinSerial.c:
+ * win/.cvsignore:
+ * compat/unicows/readme.txt: [FRQ 2819611]: Add first part of MSLU
+ * compat/unicows/license.txt: support.
+ * compat/unicows/unicows.lib:
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Use ckalloc() to allocate
- SortElement arrays instead of TclStackAlloc() which isn't getting
- alignment right. Workaround for [Bug 1914503].
+2010-02-15 Donal K. Fellows <dkf@users.sf.net>
-2008-03-14 Reinhard Max <max@suse.de>
+ * generic/tclOO.c (AllocObject, SquelchedNsFirst, ObjectRenamedTrace):
+ * generic/tclNamesp.c (Tcl_DeleteNamespace): [Bug 2950259]: Revised
+ the namespace deletion code to provide an additional internal callback
+ that gets triggered early enough in namespace deletion to allow TclOO
+ destructors to run sanely. Adjusted TclOO to take advantage of this,
+ so making tearing down an object by killing its namespace appear to
+ work seamlessly, which is needed for Itcl. (Note that this is not a
+ feature that will ever be backported to 8.5, and it remains not a
+ recommended way of deleting an object.)
- * generic/tclTest.c: Ignore the return value of write() when we are
- * unix/tclUnixPipe.c: about to exit anyways.
+2010-02-13 Donal K. Fellows <dkf@users.sf.net>
-2008-03-13 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclCompCmds.c (TclCompileSwitchCmd): Divided the [switch]
+ compiler into three pieces (after the model of [try]): a parser, an
+ instruction-issuer for chained tests, and an instruction-issuer for
+ jump tables.
- * unix/configure.in: Use backslash-quoting instead of double-quoting
- * unix/tcl.m4: for lib paths in tclConfig.sh. [Bug 1913622]
- * unix/configure: autoconf-2.59
+ * generic/tclEnsemble.c: Split the ensemble engine out into its own
+ file rather than keeping it mashed together with the namespace code.
-2008-03-13 Don Porter <dgp@users.sourceforge.net>
+2010-02-12 Jan Nijtmans <nijtmans@users.sf.net>
- * changes: Updated for 8.5.2 release.
+ * win/tcl.m4: Use -pipe for gcc on win32
+ * win/configure: (mingw/cygwin) (regenerated)
+ * win/.cvsignore: Add .lib, .exp and .res here
- * generic/tclStrToD.c: Resolve identifier conflict over "pow10" with
- libm in Cygwin and DJGPP. Thanks to Gordon Schumacher and Philip
- Moore. [Patch 1800636]
+2010-02-11 Mo DeJong <mdejong@users.sourceforge.net>
-2008-03-12 Daniel Steffen <das@users.sourceforge.net>
+ * tests/list.test: Add tests for explicit \0 in a string argument to
+ the list command.
- * macosx/Tcl.xcodeproj/project.pbxproj: Add support for Xcode 3.1
- * macosx/Tcl.xcodeproj/default.pbxuser: CODE_SIGN_IDENTITY and
- * macosx/Tcl-Common.xcconfig: 'xcodebuild install'.
+2010-02-11 Donal K. Fellows <dkf@users.sf.net>
-2008-03-12 Andreas Kupries <andreask@activestate.com>
+ * generic/tclIOCmd.c (Tcl_OpenObjCmd): [Bug 2949740]: Make sure that
+ we do not try to put a NULL pipeline channel into binary mode.
- * doc/info.n: Replaced {expand} with {*}.
+2010-02-11 Mo DeJong <mdejong@users.sourceforge.net>
-2008-03-12 Jeff Hobbs <jeffh@ActiveState.com>
+ [Bug 2826551, Patch 2948425]: Assorted regexp bugs related to -all,
+ -line and -start options and newlines.
+ * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): If -offset is given, treat it
+ as the start of the line if the previous character was a newline. Fix
+ nasty edge case where a zero length match would not advance the index.
+ * tests/regexp.test: Add regression tests back ported from Jacl.
+ Checks for a number of issues related to -line and newline handling. A
+ few of tests were broken before the patch and continue to be broken,
+ marked as knownBug.
- * unix/Makefile.in (install-libraries): Bump http to 2.7
- * win/Makefile.in (install-libraries): Added -myaddr option to allow
- * library/http/http.tcl (http::geturl): control of selected socket
- * library/http/pkgIndex.tcl: interface. [Bug 559898]
- * doc/http.n, tests/http.test: Added -keepalive and
- -protocol 1.1 with chunked transfer encoding support. [Bug 1063703,
- 1470377, 219225] (default keepalive is 0)
- Added ability to override Host in -headers. [Bug 928154]
- Added -strict option to control URL validation on per-call basis.
- [Bug 1560506]
+2010-02-11 Donal K. Fellows <dkf@users.sf.net>
-2008-03-11 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclOO.c (ObjectRenamedTrace): [Bug 2949397]: Prevent
+ destructors from running on the two core class objects when the whole
+ interpreter is being destroyed.
- * library/http/http.tcl (http::geturl): Add -method option to support
- * tests/http.test (http-3.1): http PUT and DELETE requests.
- * doc/http.n: [Bug 1599901, 862554]
+2010-02-09 Donal K. Fellows <dkf@users.sf.net>
- * library/http/http.tcl: Whitespace changes, code cleanup. Allow http
- to be re-sourced without overwriting http state.
+ * generic/tclCompCmds.c (TclCompileTryCmd, IssueTryInstructions)
+ (IssueTryFinallyInstructions): Added compiler for the [try] command.
+ It is split into three pieces that handle the parsing of the tokens,
+ the issuing of instructions for finally-free [try], and the issuing of
+ instructions for [try] with finally; there are enough differences
+ between the all cases that it was easier to split the code rather than
+ have a single function do the whole thing.
-2008-03-11 Daniel Steffen <das@users.sourceforge.net>
+2010-02-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclEncoding.c (LoadEscapeEncoding): Avoid leaking escape
- sub-encodings, fixes encoding-11.1 failing after iso2022-jp loaded.
- [Bug 1893053]
+ * tools/genStubs.tcl: Remove dependency on 8.5+ idiom "in" in
+ expressions.
- * macosx/tclMacOSXNotify.c: Avoid using CoreFoundation after fork() on
- Darwin 9 even when TclpCreateProcess() uses vfork().
+2010-02-08 Donal K. Fellows <dkf@users.sf.net>
- * macosx/Tcl.xcodeproj/project.pbxproj: Add support for Xcode 3.1 and
- * macosx/Tcl.xcodeproj/default.pbxuser: configs for building with
- * macosx/Tcl-Common.xcconfig: gcc-4.2 and llvm-gcc-4.2.
+ * generic/tclZlib.c (Tcl_ZlibDeflate, Tcl_ZlibInflate): [Bug 2947783]:
+ Make sure that the result is an unshared object before appending to it
+ so that nothing crashes if it is shared (use in Tcl code was not
+ affected by this, but use from C was an issue).
- * unix/tclUnixPort.h: Workaround vfork() problems
- in llvm-gcc-4.2.1 -O4 build.
+2010-02-06 Donal K. Fellows <dkf@users.sf.net>
- * unix/tclUnixPort.h: Move MODULE_SCOPE compat define
- to top [Bug 1911102].
+ * generic/tclHash.c (HashStringKey): Replace Tcl's crusty old hash
+ * generic/tclObj.c (TclHashObjKey): function with the algorithm
+ due to Fowler, Noll and Vo. This is slightly faster (assuming the
+ presence of hardware multiply) and has somewhat better distribution
+ properties of the resulting hash values. Note that we only ever used
+ the 32-bit version of the FNV algorithm; Tcl's core hash engine
+ assumes that hash values are simple unsigned ints.
- * macosx/GNUmakefile: Fix quoting to allow paths to
- * macosx/Tcl-Common.xcconfig: ${builddir} and ${INSTALL_ROOT}
- * unix/Makefile.in: to contain spaces.
- * unix/configure.in:
- * unix/install-sh:
- * unix/tcl.m4:
- * tests/ioCmd.test:
+ ***POTENTIAL INCOMPATIBILITY***
+ Code that depends on hash iteration order (especially tests) may well
+ be disrupted by this. Where a definite order is required, the fix is
+ usually to just sort the results after extracting them from the hash.
+ Where this is insufficient, the code that has ceased working was
+ always wrong and was only working by chance.
- * unix/configure: autoconf-2.59
+2010-02-05 Donal K. Fellows <dkf@users.sf.net>
- * unix/Makefile.in (install-strip): Strip non-global symbols from
- dynamic library.
+ * generic/tclCompCmds.c (TclCompileErrorCmd): Added compilation of the
+ [error] command. No new bytecodes.
- * unix/tclUnixNotfy.c: Fix warning.
+2010-02-05 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/exec.test (exec-9.7): Reduce timing sensitivity
- * tests/socket.test (socket-2.11): (esp. on multi-proc machines).
+ * tools/genStubs.tcl: Follow-up to earlier commit today:
+ Eliminate the need for an extra Stubs Pointer for adressing
+ a static stub table: Just change the exported table from
+ static to MODULE_SCOPE.
+ * generic/tclBasic.c
+ * generic/tclOO.c
+ * generic/tclTomMathInterface.c
+ * generic/tcl*Decls.h (regenerated)
+ * generic/tclStubInit.c (regenerated)
+ * generic/tclOOStubInit.c (regenerated)
+ * generic/tclTest.c (minor formatting)
+
+2010-02-05 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclVar.c: More consistency in errorcode generation.
+
+ * generic/tclOOBasic.c (TclOO_Object_Destroy): Rewrote to be NRE-aware
+ when calling destructors. Note that there is no guarantee that
+ destructors will always be called in an NRE context; that's a feature
+ of the 'destroy' method only.
+
+ * generic/tclEncoding.c: Add 'const' to many function-internal vars
+ that are never pointing to things that are written to.
+
+2010-02-05 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * tools/genStubs.tcl: Follow-up to [2010-01-29] commit:
+ prevent space within stub table function parameters if the
+ parameter type is a pointer.
+ * win/tclWinInt.h: Minor Formatting
+ * generic/tcl.h: VOID -> void and other formatting
+ * generic/tclInt.h: Minor formatting
+ * generic/tclInt.decls: Change signature of TclNRInterpProcCore,
+ * generic/tclOO.decls: and TclOONewProc(Instance|)MethodEx,
+ * generic/tclProc.c: indicating that errorProc is a function,
+ * generic/tclOOMethod.c:pointer, and other formatting
+ * generic/tcl*Decls.h: (regenerated)
+ * generic/tclVar.c: gcc warning(line 3703): 'pattern' may be used
+ uninitialized in this function
+ gcc warning(line 3788): 'matched' may be used
+ uninitialized in this function
+
+2010-02-04 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclVar.c: Added more use of error-codes and reduced the
+ stack overhead of older interfaces.
+ (ArrayGetCmd): Stop silly crash when using a trivial pattern due to
+ error in conversion to ensemble.
+ (ArrayNamesCmd): Use the object RE interface for faster matching.
- * tests/fCmd.test (fCmd-9.4): Skip on Darwin 9 (xfail).
+2010-02-03 Donal K. Fellows <dkf@users.sf.net>
-2008-03-11 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclVar.c (ArrayUnsetCmd): More corrections.
- * generic/tclVar.c (TclDeleteNamespaceVars):
- * tests/var.test (var-8.2): Unset traces on vars should be called with
- a FQ named during namespace deletion. This was causing infinite loops
- when unset traces recreated the var, as reported by Julian Noble. [Bug
- 1911919]
+2010-02-02 Donal K. Fellows <dkf@users.sf.net>
-2008-03-10 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclVar.c: Turned the [array] command into a true ensemble.
- * changes: Updated for 8.5.2 release.
+ * generic/tclOO.c (AllocObject, MyDeleted): A slightly faster way to
+ handle the deletion of [my] is with a standard delete callback. This
+ is because it doesn't require an additional memory allocation during
+ object creation. Also reduced the amount of string manipulation
+ performed during object creation to further streamline memory
+ handling; this is not backported to the 8.5 package as it breaks a
+ number of abstractions.
- * doc/http.n: Revised to indicate that [package require http 2.5.5]
- is needed to get all the documented commands ([http::meta]).
+ * generic/tclOOBasic.c (TclOO_Object_Destroy): [Bug 2944404]: Do not
+ crash when a destructor deletes the object that is executing that
+ destructor.
- * generic/tclEvent.c (TclDefaultBgErrorHandlerObjCmd): Added error
- * tests/event.test (event-5.*): checking to protect against callers
- passing invalid return options dictionaries. [Bug 1901113]
+2010-02-01 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBasic.c (ExprAbsFunc): Revised so that the abs()
- * tests/expr.test: function and the [::tcl::mathfunc::abs]
- command do not return the value of -0, or equivalent values with more
- alarming string reps like -1e-350. [Bug 1893815]
+ * generic/tclVar.c (Tcl_ArrayObjCmd): [Bug 2939073]: Stop the [array
+ unset] command from having dangling pointer problems when an unset
+ trace deletes the element that is going to be processed next. Many
+ thanks to Alexandre Ferrieux for the bulk of this fix.
-2008-03-07 Andreas Kupries <andreask@activestate.com>
+ * generic/regexec.c (ccondissect, crevdissect): [Bug 2942697]: Rework
+ these functions so that certain pathological patterns are matched much
+ more rapidly. Many thanks to Tom Lane for dianosing this issue and
+ providing an initial patch.
- * generic/tclResult.c (ReleaseKeys): Workaround for [Bug 1904907].
- Reset the return option keys to NULL to allow full re-initialization
- by GetKeys(). This introduces a memory leak for the key objects, but
- gets us around a crash in the finalization of reflected channels when
- handling returns, either at compile- or runtime. In both cases we
- access the keys after they have been released by their thread exit
- handler. A proper fix is entangled with the untangling of the
- finalization ordering and attendant issues. For now we choose the
- lesser evil.
+2010-01-30 Donal K. Fellows <dkf@users.sf.net>
-2008-03-07 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCompile.c (tclInstructionTable): Bytecode instructions
+ * generic/tclCompCmds.c (TclCompileUnsetCmd): to allow the [unset]
+ * generic/tclExecute.c (TclExecuteByteCode): command to be compiled
+ with the compiler being a complete compilation for all compile-time
+ decidable uses.
- * generic/tclExecute.c (Tcl_ExprObj): Revised expression bytecode
- compiling so that bytecodes invalid due to changing context or due to
- the difference between expressions and scripts are not reused. [Bug
- 1899164]
+ * generic/tclVar.c (TclPtrUnsetVar): Var reference version of the code
+ to unset a variable. Required for INST_UNSET bytecodes.
- * generic/tclCmdAH.c: Revised direct evaluation implementation of
- [expr] so that [expr $e] caches compiled bytecodes for the expression
- as the intrep of $e.
+2010-01-29 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/execute.test (execute-6.*): More tests checking that
- script bytecode is invalidated in the right situations.
+ * generic/tcl.h: [Bug 2942081]: Reverted Tcl_ThreadDataKey type change
+ Changed some Tcl_CallFrame fields from "char *"
+ to "void *". This saves unnecessary space on
+ Cray's (and it's simply more correct).
+
+ * tools/genStubs.tcl: No longer generate a space after "*" and
+ immediately after a function name, so the
+ format of function definitions in tcl*Decls.h
+ match all other tcl*.h header files.
+ * doc/ParseArgs.3: Change Tcl_ArgvFuncProc, Tcl_ArgvGenFuncProc
+ * generic/tcl.h: and GetFrameInfoValueProc to be function
+ * generic/tclInt.h: definitions, not pointers, for consistency
+ * generic/tclOOInt.h: with all other Tcl function definitions.
+ * generic/tclIndexObj.c:
+ * generic/regguts.h: CONST -> const
+ * generic/tcl.decls: Formatting
+ * generic/tclTomMath.decls: Formatting
+ * generic/tclDecls.h: (regenerated)
+ * generic/tclIntDecls.h:
+ * generic/tclIntPlatDecls.h:
+ * generic/tclOODecls.h:
+ * generic/tclOOIntDecls.h:
+ * generic/tclPlatDecls.h:
+ * generic/tclTomMathDecls.h:
-2008-03-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2010-01-28 Donal K. Fellows <dkf@users.sf.net>
- * win/configure.in: Add AC_HEADER_STDC to support msys/win64.
+ * generic/tclOOBasic.c (TclOO_Object_Destroy): Move the execution of
+ destructors to a point where they can produce an error. This will not
+ work for all destructors, but it does mean that more failing calls of
+ them will be caught.
+ * generic/tclOO.c (AllocObject, MyDeletedTrace, ObjectRenamedTrace):
+ (ObjectNamespaceDeleted): Stop various ways of getting at commands
+ with dangling pointers to the object. Also increases the reliability
+ of calling of destructors (though most destructors won't benefit; when
+ an object is deleted namespace-first, its destructors are not run in a
+ nice state as the namespace is partially gone).
-2008-03-06 Donal K. Fellows <dkf@users.sf.net>
+2010-01-25 Jan Nijtmans <nijtmans@users.sf.net>
- * doc/namespace.n: Minor tidying up. [Bug 1909019]
+ * generic/tclOOStubInit.c: Remove double includes (which causes a
+ * generic/tclOOStubLib.c: warning in CYGWIN compiles)
+ * unix/.cvsignore: add confdefs.h
-2008-03-04 Don Porter <dgp@users.sourceforge.net>
+2010-01-22 Donal K. Fellows <dkf@users.sf.net>
- * tests/execute.test (6.3,4): Added tests for [Bug 1899164].
+ * doc/proc.n: [Bug 1970629]: Define a bit better what the current
+ namespace of a procedure is.
-2008-03-03 Reinhard Max <max@suse.de>
+2010-01-22 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/tclUnixChan.c: Fix mark and space parity on Linux, which uses
- CMSPAR instead of PAREXT.
+ * generic/tclInt.decls: Don't use DWORD and HANDLE here.
+ * generic/tclIntPlatDecls.h:
+ * generic/tcl.h: Revert [2009-12-21] change, instead
+ * generic/tclPort.h: resolve the CYGWIN inclusion problems by
+ * win/tclWinPort.h: re-arranging the inclusions at other
+ places.
+ * win/tclWinError.c
+ * win/tclWinPipe.c
+ * win/tcl.m4: Make cygwin configuration error into
+ * win/configure.in: a warning: CYGWIN compilation works
+ * win/configure: although there still are test failures.
-2008-03-02 Miguel Sofer <msofer@users.sf.net>
+2010-01-22 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclNamesp.c (GetNamespaceFromObj):
- * tests/interp.test (interp-28.2): Spoil the intrep of an nsNameType
- obj when the reference crosses interpreter boundaries.
+ * generic/tclExecute.c (TclExecuteByteCode): Improve error code
+ generation from some of the tailcall-related bits of TEBC.
-2008-02-29 Don Porter <dgp@users.sourceforge.net>
+2010-01-21 Miguel Sofer <msofer@users.sf.net>
- * generic/tclResult.c (Tcl_SetReturnOptions): Revised the refcount
- management of Tcl_SetReturnOptions to become that of a conventional
- Consumer routine. Thanks to Peter Spjuth for pointing out the
- difficulties calling Tcl_SetReturnOptions with non-0-count value for
- options.
- * generic/tclExecute.c (INST_RETURN_STK): Revised the one caller
- within Tcl itself which passes a non-0-count value to
- Tcl_SetReturnOptions().
+ * generic/tclCompile.h: NRE-enable direct eval on BC spoilage
+ * generic/tclExecute.c: [Bug 2910748]
+ * tests/nre.test:
- * generic/tclBasic.c (Tcl_AppendObjToErrorInfo): Revised the
- refcount management of Tcl_AppendObjToErrorInfo to become that of a
- conventional Consumer routine. This preserves the ease of use for the
- overwhelming common callers who pass in a 0-count value, but makes the
- proper call with a non-0-count value less surprising.
- * generic/tclEvent.c (TclDefaultBgErrorHandlerObjCmd): Revised the
- one caller within Tcl itself which passes a non-0-count value to
- Tcl_AppendObjToErrorInfo().
+2010-01-19 Donal K. Fellows <dkf@users.sf.net>
-2008-02-28 Joe English <jenglish@users.sourceforge.net>
+ * doc/dict.n: [Bug 2929546]: Clarify just what [dict with] and [dict
+ update] are doing with variables.
- * unix/tclPort.h, unix/tclCompat.h, unix/tclUnixChan.h: Reduce scope
- of <sys/filio.h> and <sys/ioctl.h> #includes. [Patch 1903339]
+2010-01-18 Andreas Kupries <andreask@activestate.com>
-2008-02-28 Joe English <jenglish@users.sourceforge.net>
+ * generic/tclIO.c (CreateScriptRecord): [Bug 2918110]: Initialize
+ the EventScriptRecord (esPtr) fully before handing it to
+ Tcl_CreateChannelHandler for registration. Otherwise a reflected
+ channel calling 'chan postevent' (== Tcl_NotifyChannel) in its
+ 'watchProc' will cause the function 'TclChannelEventScriptInvoker'
+ to be run on an uninitialized structure.
- * unix/tclUnixChan.c, unix/tclUnixNotfy.c, unix/tclUnixPipe.c:
- Consolidate all code conditionalized on -DUSE_FIONBIO into one place.
- * unix/tclUnixPort.h, unix/tclUnixCompat.c: New routine
- TclUnixSetBlockingMode() [Patch 1903339].
+2010-01-18 Donal K. Fellows <dkf@users.sf.net>
-2008-02-28 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStringObj.c (Tcl_AppendFormatToObj): [Bug 2932421]: Stop
+ the [format] command from causing argument objects to change their
+ internal representation when not needed. Thanks to Alexandre Ferrieux
+ for this fix.
- * generic/tclBasic.c (TclEvalObjvInternal): Plug memory leak when
- an enter trace deletes or changes the command, prompting a reparsing.
- Don't let the second pass lose commandPtr value allocated during the
- first pass.
+2010-01-13 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompExpr.c (ParseExpr): Plug memory leak in error
- message generation.
+ * tools/tcltk-man2html.tcl: More factoring out of special cases
+ * tools/tcltk-man2html-utils.tcl: so that they are described outside
+ the engine file. Now there is only one real set of special cases in
+ there, to handle the .SO/.OP/.SE directives.
- * generic/tclStringObj.c (Tcl_AppendFormatToObj): [format %llx $big]
- leaked an mp_int.
+2010-01-13 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCompCmds.c (TclCompileReturnCmd): The 2007-10-18 commit
- to optimize compiled [return -level 0 $x] [RFE 1794073] introduced a
- memory leak of the return options dictionary. Fixing that.
+ * generic/tcl.h: Fix TCL_LL_MODIFIER for Cygwin
+ * generic/tclEnv.c: Fix CYGWIN compilation problems,
+ * generic/tclInt.h: and remove some unnecessary
+ * generic/tclPort.h: double includes.
+ * generic/tclPlatDecls.h:
+ * win/cat.c:
+ * win/tclWinConsole.c:
+ * win/tclWinFCmd.c:
+ * win/tclWinFile.c:
+ * win/tclWinPipe.c:
+ * win/tclWinSerial.c:
+ * win/tclWinThrd.c:
+ * win/tclWinPort.h: Put win32 includes first
+ * unix/tclUnixChan.c: Forgot one CONST change
-2008-02-27 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-01-12 Donal K. Fellows <dkf@users.sf.net>
- * library/http/http.tcl: [Bug 705956] - fix inverted logic when
- cleaning up socket error in geturl.
+ * tools/tcltk-man2html.tcl: Make the generation of the list of things
+ to process the docs from simpler and more flexible. Also factored out
+ the lists of special cases.
-2008-02-27 Kevin B. Kenny <kennykb@acm.org>
+2010-01-10 Jan Nijtmans <nijtmans@users.sf.net>
- * doc/clock.n: Corrected minor indentation gaffe in the penultimate
- paragraph. [Bug 1898025]
- * generic/tclClock.c (ParseClockFormatArgs): Changed to check that the
- clock value is in the range of a 64-bit integer. [Bug 1862555]
- * library/clock.tcl (::tcl::clock::format, ::tcl::clock::scan,
- (::tcl::clock::add, ::tcl::clock::LocalizeFormat): Fixed bugs in
- caching of localized strings that caused weird results when localized
- date/time formats were used. [Bug 1902423]
- * tests/clock.test (clock-61.*, clock-62.1): Regression tests for [Bug
- 1862555] and [Bug 1902423].
+ * win/tclWinDde.c: VC++ 6.0 doesn't have
+ * win/tclWinReg.c: PDWORD_PTR
+ * win/tclWinThrd.c: Fix various minor gcc warnings.
+ * win/tclWinTime.c:
+ * win/tclWinConsole.c: Put channel type definitions
+ * win/tclWinChan.c: in static const memory
+ * win/tclWinPipe.c:
+ * win/tclWinSerial.c:
+ * win/tclWinSock.c:
+ * generic/tclIOGT.c:
+ * generic/tclIORChan.c:
+ * generic/tclIORTrans.c:
+ * unix/tclUnixChan.c:
+ * unix/tclUnixPipe.c:
+ * unix/tclUnixSock.c:
+ * unix/configure: (regenerated with autoconf 2.59)
+ * tests/info.test: Make test independant from
+ tcltest implementation.
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
+2010-01-10 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIOUtil.c, unix/tclUnixPort.h, unix/tclUnixChan.c:
- Remove dead/unused portability-related #defines and unused conditional
- code. See [Patch 1901828] for discussion.
+ * tests/namespace.test (namespace-51.17): [Bug 2898722]: Demonstrate
+ that there are still bugs in the handling of resolution epochs. This
+ bug is not yet fixed.
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
+ * tools/tcltk-man2html.tcl: Split the man->html converter into
+ * tools/tcltk-man2html-utils.tcl: two pieces for easier maintenance.
+ Also made it much less verbose in its printed messages by default.
- * generic/tclIORChan.c (enum MethodName),
- * generic/tclCompExpr.c (enum Marks): More stray trailing ","s
+2010-01-09 Donal K. Fellows <dkf@users.sf.net>
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
+ * tools/tcltk-man2html.tcl: Added basic support for building the docs
+ for contributed packages into the HTML versions. Prompted by question
+ on Tcler's Chat by Tom Krehbiel. Note that there remain problems in
+ the documentation generated due to errors in the contributed docs.
- * unix/configure.in(socklen_t test): Define socklen_t as "int" if
- missing, not "unsigned". Use AC_TRY_COMPILE instead of
- AC_EGREP_HEADER.
- * unix/configure: regenerated.
+2010-01-05 Don Porter <dgp@users.sourceforge.net>
-2008-02-26 Joe English <jenglish@users.sourceforge.net>
+ * generic/tclPathObj.c (TclPathPart): [Bug 2918610]: Correct
+ * tests/fileName.test (filename-14.31): inconsistency between the
+ string rep and the intrep of a path value created by [file rootname].
+ Thanks to Vitaly Magerya for reporting.
- * generic/tclCompile.h: Remove stray trailing "," from enum
- InstOperandType definition (C99ism).
+2010-01-03 Donal K. Fellows <dkf@users.sf.net>
-2008-02-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 1636685]: Use the configuration
+ for modern FreeBSD suggested by the FreeBSD porter.
- * generic/tclUtil.c (TclReToGlob): Fix the handling of the last star
- * tests/regexpComp.test: possibly being escaped in
- determining right anchor. [Bug 1902436]
+2010-01-03 Miguel Sofer <msofer@users.sf.net>
-2008-02-26 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * generic/tclBasic.c: [Bug 2724403]: Fix leak of coroutines on
+ * generic/tclCompile.h: namespace deletion. Added a test for this
+ * generic/tclNamesp.c: leak, and also a test for leaks on namespace
+ * tests/coroutine.test: deletion.
+ * tests/namespace.test:
- * library/http/pkgIndex.tcl: Set version 2.5.5
- * library/http/http.tcl: It is better to do the [eof] check after
- trying to read from the socket. No clashes found in testing. Added
- http::meta command to access the http headers. [Bug 1868845]
+2009-12-30 Donal K. Fellows <dkf@users.sf.net>
-2008-02-22 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * library/safe.tcl (AliasSource): [Bug 2923613]: Make the safer
+ * tests/safe.test (safe-8.9): [source] handle a [return] at the
+ end of the file correctly.
- * library/http/pkgIndex.tcl: Set version 2.5.4
- * library/http/http.tcl: Always check that the state array exists
- in the http::status command. [Bug 1818565]
+2009-12-30 Miguel Sofer <msofer@users.sf.net>
-2008-02-13 Don Porter <dgp@users.sourceforge.net>
+ * library/init.tcl (unknown): [Bug 2824981]: Fix infinite recursion of
+ ::unknown when [set] is undefined.
- * generic/tcl.h: Bump version number to 8.5.2b1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5.1 and
- * unix/configure.in: 8.5.2 releases.
- * unix/tcl.spec:
- * win/configure.in:
- * README
+2009-12-29 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf (2.59)
- * win/configure:
+ * generic/tclHistory.c (Tcl_RecordAndEvalObj): Reduce the amount of
+ allocation and deallocation of memory by caching objects in the
+ interpreter assocData table.
-2008-02-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclObj.c (Tcl_GetCommandFromObj): Rewrite the logic so that
+ it does not require making assignments part way through an 'if'
+ condition, which was deeply unclear.
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Corrected logic for
- * tests/switch.test (switch-10.15): handling -nocase compilation; the
- -exact -nocase option cannot be compiled currently. [Bug 1891827]
+ * generic/tclInterp.c (Tcl_MakeSafe): [Bug 2895741]: Make sure that
+ the min() and max() functions are supported in safe interpreters.
- * unix/README: Documented missing configure flags. [Bug 1799011]
+2009-12-29 Pat Thoyts <patthoyts@users.sourceforge.net>
-2008-02-06 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclBinary.c: [Bug 2922555]: Handle completely invalid input
+ * tests/binary.test: to the decode methods.
- * doc/clock.n (%N): Corrected an error in the explanation of the %N
- format group.
- * generic/tclClock.c (ClockParseformatargsObjCmd):
- * library/clock.tcl (::tcl::clock::format):
- * tests/clock.test (clock-1.0, clock-1.4):
- Performance enhancements in [clock format] (moving the analysis of
- $args into C code, holding on to Tcl_Objs with resolved command names,
- [lassign] in place of [foreach], avoiding [namespace which] for
- command resolution).
+2009-12-28 Donal K. Fellows <dkf@users.sf.net>
-2008-02-04 Don Porter <dgp@users.sourceforge.net>
+ * unix/Makefile.in (trace-shell, trace-test): [FRQ 1083288]: Added
+ targets to allow easier tracing of shell and test invokations.
- *** 8.5.1 TAGGED FOR RELEASE ***
+ * unix/configure.in: [Bug 942170]: Detect the st_blocks field of
+ * generic/tclCmdAH.c (StoreStatData): 'struct stat' correctly.
+ * generic/tclFileName.c (Tcl_GetBlocksFromStat):
+ * generic/tclIOUtil.c (Tcl_Stat):
- * changes: Updated for 8.5.1 release.
+ * generic/tclInterp.c (TimeLimitCallback): [Bug 2891362]: Ensure that
+ * tests/interp.test (interp-34.13): the granularity ticker is
+ reset when we check limits because of the time limit event firing.
- * 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:
+2009-12-27 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf-2.59
- * win/configure:
+ * doc/namespace.n (SCOPED SCRIPTS): [Bug 2921538]: Updated example to
+ not be quite so ancient.
-2008-02-04 Miguel Sofer <msofer@users.sf.net>
+2009-12-25 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclExecute.c (INST_CONCAT1): Fix optimisation for in-place
- concatenation (was going over String type)
+ * generic/tclCmdMZ.c: CONST -> const
+ * generic/tclParse.c
-2008-02-02 Daniel Steffen <das@users.sourceforge.net>
+2009-12-23 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure.in (Darwin): Correct Info.plist year substitution in
- non-framework builds.
+ * library/safe.tcl (AliasSource, AliasExeName): [Bug 2913625]: Stop
+ information about paths from leaking through [info script] and [info
+ nameofexecutable].
- * unix/configure: autoconf-2.59
+2009-12-23 Jan Nijtmans <nijtmans@users.sf.net>
-2008-01-30 Miguel Sofer <msofer@users.sf.net>
+ * unix/tcl.m4: Install libtcl8.6.dll in bin directory
+ * unix/Makefile.in:
+ * unix/configure: (regenerated)
- * generic/tclInterp.c (Tcl_GetAlias): Fix for [Bug 1882373], thanks go
- to an00na.
+2009-12-22 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclCmdIL.c (Tcl_LsortObjCmd): [Bug 2918962]: Stop crash when
+ -index and -stride are used together.
+
+2009-12-21 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclThreadStorage.c: Fix gcc warning, using gcc-4.3.4 on
+ cygwin: missing initializer
+ * generic/tclOOInt.h: Prevent conflict with DUPLICATE
+ definition in WINAPI's nb30.h
+ * generic/rege_dfa.c: Fix macro conflict on CYGWIN: don't use
+ "small".
+ * generic/tcl.h: Include <winsock2.h> before <stdio.h> on
+ CYGWIN
+ * generic/tclPathObj.c
+ * generic/tclPort.h
+ * tests/env.test: Don't unset WINDIR and TERM, it has a
+ special meaning on CYGWIN (both in UNIX
+ and WIN32 mode!)
+ * generic/tclPlatDecls.h: Include <tchar.h> through tclPlatDecls.h
+ * win/tclWinPort.h: stricmp -> strcasecmp
+ * win/tclWinDde.c: _wcsicmp -> wcscasecmp
+ * win/tclWinFile.c
+ * win/tclWinPipe.c
+ * win/tclWinSock.c
+ * unix/tcl.m4: Add dynamic loading support to CYGWIN
+ * unix/configure (regenerated)
+ * unix/Makefile.in
-2008-01-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-12-19 Miguel Sofer <msofer@users.sf.net>
- * tools/tcltk-man2html.tcl: Reworked manual page scraper to do a
- proper job of handling references to Ttk options. [Tk Bug 1876493]
+ * generic/tclBasic.c: [Bug 2917627]: Fix for bad cmd resolution by
+ * tests/coroutine.test: coroutines. Thanks to schelte for finding it.
-2008-01-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-12-16 Donal K. Fellows <dkf@users.sf.net>
- * 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]
+ * library/safe.tcl (::safe::AliasGlob): Upgrade to correctly support a
+ larger fraction of [glob] functionality, while being stricter about
+ directory management.
-2008-01-25 Don Porter <dgp@users.sourceforge.net>
+2009-12-11 Jan Nijtmans <nijtmans@users.sf.net>
- * changes: Updated for 8.5.1 release.
+ * generic/tclTest.c: Fix gcc warning: ignoring return value of
+ * unix/tclUnixNotify.c: "write", declared with attribute
+ * unix/tclUnixPipe.c: warn_unused_result.
+ * generic/tclInt.decls: CONSTify functions TclpGetUserHome and
+ * generic/tclIntDecls.h:TclSetPreInitScript (TIP #27)
+ * generic/tclInterp.c:
+ * win/tclWinFile.c:
+ * unix/tclUnixFile.c:
-2008-01-23 Don Porter <dgp@users.sourceforge.net>
+2009-12-16 Donal K. Fellows <dkf@users.sf.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.
+ * doc/tm.n: [Bug 1911342]: Formatting rewrite to avoid bogus crosslink
+ to the list manpage when generating HTML.
- * generic/tclCompile.h: Demote TclCompEvalObj() from internal stubs to
- * generic/tclInt.decls: a MODULE_SCOPE routine declared in
- tclCompile.h.
+ * library/msgcat/msgcat.tcl (Init): [Bug 2913616]: Do not use platform
+ tests that are not needed and which don't work in safe interpreters.
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
+2009-12-14 Donal K. Fellows <dkf@users.sf.net>
-2008-01-22 Don Porter <dgp@users.sourceforge.net>
+ * doc/file.n (file tempfile): [Bug 2388866]: Note that this only ever
+ creates files on the native filesystem. This is a design feature.
- * generic/tclTimer.c (AfterProc): Replace Tcl_EvalEx() with
- Tcl_EvalObjEx() to evaluate [after] callbacks. Part of trend to favor
- compiled execution over direct evaluation.
+2009-12-13 Miguel Sofer <msofer@users.sf.net>
-2008-01-22 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclBasic.c: Release TclPopCallFrame() from its
+ * generic/tclExecute.c: tailcall-management duties
+ * generic/tclNamesp.c:
- * generic/tclCmdIl.c (Tcl_LreverseObjCmd):
- * tests/cmdIL.test (cmdIL-7.7): Fix crash on reversing an empty list.
- [Bug 1876793]
+ * generic/tclBasic.c: Moving TclBCArgumentRelease call from
+ * generic/tclExecute.c: TclNRTailcallObjCmd to TEBC, so that the
+ pairing of the Enter and Release calls is clearer.
-2008-01-20 Jeff Hobbs <jeffh@ActiveState.com>
+2009-12-12 Donal K. Fellows <dkf@users.sf.net>
- * unix/README: Minor typo fixes [Bug 1853072]
+ * generic/tclTest.c (TestconcatobjCmd): [Bug 2895367]: Stop memory
+ leak when testing. We don't need extra noise of this sort when
+ tracking down real problems!
- * generic/tclIO.c (TclGetsObjBinary): Operate on topmost channel.
- [Bug 1869405] (Ficicchia)
+2009-12-11 Jan Nijtmans <nijtmans@users.sf.net>
-2008-01-17 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBinary.c: Fix gcc warning, using gcc-4.3.4 on cygwin
+ * generic/tclCompExpr.c:warning: array subscript has type 'char'
+ * generic/tclPkg.c:
+ * libtommath/bn_mp_read_radix.c:
+ * win/makefile.vc: [Bug 2912773]: Revert to version 1.203
+ * unix/tclUnixCompat.c: Fix gcc warning: signed and unsigned type
+ in conditional expression.
- * generic/tclCompExpr.c: Revision to preserve parsed intreps of
- numeric and boolean literals when compiling expressions with (optimize
- == 1).
+2009-12-11 Donal K. Fellows <dkf@users.sf.net>
-2008-01-15 Miguel Sofer <msofer@users.sf.net>
+ * tools/tcltk-man2html.tcl (long-toc, cross-reference): [FRQ 2897296]:
+ Added cross links to sections within manual pages.
- * 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:
+2009-12-11 Miguel Sofer <msofer@users.sf.net>
- * generic/tclCompExpr.c: Fix literal leak in exprs [Bug 1869989] (dgp)
+ * generic/tclBasic.c: [Bug 2806407]: Full nre-enabling of coroutines
* 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.
+ * generic/tclBasic.c: Small cleanup
-2008-01-04 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclExecute.c: Fix panic in http11.test caused by buggy
+ earlier commits in coroutine management.
- * 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:
+2009-12-10 Andreas Kupries <andreask@activestate.com>
-2007-12-31 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclObj.c (TclContinuationsEnter): [Bug 2895323]: Updated
+ comments to describe when the function can be entered for the same
+ Tcl_Obj* multiple times. This is a continuation of the 2009-11-10
+ entry where a memory leak was plugged, but where not sure if that was
+ just a band-aid to paper over some other error. It isn't, this is a
+ legal situation.
- * doc/dict.n: Clarified meaning of dictionary values following
- discussion on comp.lang.tcl.
+2009-12-10 Miguel Sofer <msofer@users.sf.net>
-2007-12-26 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclBasic.c: Reducing the # of moving parts for coroutines
+ * generic/tclExecute.c: by delegating more to tebc; eliminate the
+ special coroutine CallFrame.
- * 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.
+2009-12-09 Andreas Kupries <andreask@activestate.com>
-2007-12-25 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclIO.c: [Bug 2901998]: Applied Alexandre Ferrieux's patch
+ fixing the inconsistent buffered I/O. Tcl's I/O now flushes buffered
+ output before reading, discards buffered input before writing, etc.
- * 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.
+2009-12-09 Miguel Sofer <msofer@users.sf.net>
-2007-12-23 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclBasic.c: Ensure right lifetime of varFrame's (objc,objv)
+ for coroutines.
- * 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.
+ * generic/tclExecute.c: Code regrouping
-2007-12-21 Miguel Sofer <msofer@users.sf.net>
+2009-12-09 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCmdIL.c: Speed patch for lsort [Patch 1856994].
+ * generic/tclBasic.c: Added some of the missing setting of errorcode
+ values.
-2007-12-21 Miguel Sofer <msofer@users.sf.net>
+2009-12-08 Miguel Sofer <msofer@users.sf.net>
- * generic/tclCmdIL.c (Tcl_LsortObjCmd, Tcl_LsearchObjCmd): Avoid
- calling SelectObjFromSublist when there are no sublists.
+ * generic/tclExecute.c (TclStackFree): Improved panic msg.
-2007-12-21 Miguel Sofer <msofer@users.sf.net>
+2009-12-08 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.
+ * generic/tclBasic.c: Partial nre-enabling of coroutines. The
+ * generic/tclExecute.c: initial call still requires its own
+ * generic/tclInt.h: instance of tebc, but on resume coros can
+ execute in the caller's tebc.
-2007-12-19 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c (TEBC): Silence warning about pcAdjustment.
- *** 8.5.0 TAGGED FOR RELEASE ***
+2009-12-08 Donal K. Fellows <dkf@users.sf.net>
- * changes: Updated for 8.5.0 release.
+ * generic/tclExecute.c (TclExecuteByteCode): Make the dict opcodes
+ more sparing in their use of C variables, to reduce size of TEBC
+ activiation record a little bit.
-2007-12-19 Jeff Hobbs <jeffh@ActiveState.com>
+2009-12-07 Miguel Sofer <msofer@users.sf.net>
- * generic/tclCompCmds.c (TclCompileSwitchCmd): update switch -regexp
- * tests/switch.test-14.*: compilation to pass
- the cflags to INST_REGEXP (changed on 12-07). Added tests for
- switch -regexp compilation (need more). [Bug 1854399]
+ * generic/tclExecute.c (TEBC): Grouping "slow" variables into structs,
+ to reduce register pressure and help the compiler with variable
+ allocation.
-2007-12-18 Don Porter <dgp@users.sourceforge.net>
+2009-12-07 Miguel Sofer <msofer@users.sf.net>
- * changes: Updated for 8.5.0 release.
+ * generic/tclExecute.c: Start cleaning the TEBC stables
+ * generic/tclInt.h:
-2007-12-18 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclCmdIL.c: [Bug 2910094]: Fix by aku
+ * tests/coroutine.test:
- * 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_at_google.com>, Tavis Ormandy <taviso_at_google.com>,
- and Tom Lane <tgl_at_sss.pgh.pa.us> from the Postgresql crowd for
- their help in tracking these problems down. [Bug 1810264]
+ * generic/tclBasic.c: Arrange for [tailcall] to be created with the
+ other builtins: was being created in a separate call, leftover from
+ pre-tip days.
-2007-12-17 Don Porter <dgp@users.sourceforge.net>
+2009-12-07 Don Porter <dgp@users.sourceforge.net>
- * changes: Updated for 8.5.0 release.
+ * generic/tclStrToD.c: [Bug 2902010]: Correct conditional compile
+ directives to better detect the toolchain that needs extra work for
+ proper underflow treatment instead of merely detecting the MIPS
+ platform.
-2007-12-17 Miguel Sofer <msofer@users.sf.net>
+2009-12-07 Miguel Sofer <msofer@users.sf.net>
- * generic/tclAlloc.c:
- * generic/tclExecute.c:
+ * generic/tclBasic.c: [Patch 2910056]: Add ::tcl::unsupported::yieldTo
* generic/tclInt.h:
- * generic/tclThreadAlloc.c: Fix alignment for memory returned by
- TclStackAlloc; insure that all memory allocators align to 16-byte
- boundaries on 64 bit platforms [Bug 1851832, 1851524]
-
-2007-12-14 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclIOUtil.c (FsAddMountsToGlobResult): fix the tail
- conversion of vfs mounts. [Bug 1602539]
+2009-12-07 Donal K. Fellows <dkf@users.sf.net>
- * win/README: updated notes
+ * generic/tclCmdMZ.c (TryPostBody): [Bug 2910044]: Close off memory
+ leak in [try] when a variable-free handler clause is present.
-2007-12-14 Pat Thoyts <patthoyts@users.sourceforge.net>
+2009-12-05 Miguel Sofer <msofer@users.sf.net>
- * tests/winFile.test: Fixed tests for win2k with long machine name
+ * generic/tclBasic.c: Small changes for clarity in tailcall
+ * generic/tclExecute.c: and coroutine code.
+ * tests/coroutine.test:
-2007-12-14 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * tests/tailcall.test: Remove some old unused crud; improved the
+ stack depth tests.
- * win/nmakehlp.c: Support compilation with MSVC9 for AMD64.
- * win/makefile.vc:
-
-2007-12-13 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclBasic.c: Fixed things so that you can tailcall
+ * generic/tclNamesp.c: properly out of a coroutine.
+ * tests/tailcall.test:
- * doc/trace.n: Clarified documentation of enterstep and leavestep
- traces, including adding example. [Bug 614282, 1701540, 1755984]
+ * generic/tclInterp.c: Fixed tailcalls for same-interp aliases (no
+ test)
-2007-12-12 Don Porter <dgp@users.sourceforge.net>
+2009-12-03 Donal K. Fellows <dkf@users.sf.net>
- * doc/IntObj.3: Update docs for the Tcl_GetBignumAndClearObj() ->
- Tcl_TakeBignumFromObj() revision [TIP 298]. Added docs for the
- Tcl_InitBignumFromDouble() routine. [Bug 1446971].
+ * library/safe.tcl (::safe::AliasEncoding): Make the safe encoding
+ command behave more closely like the unsafe one (for safe ops).
+ (::safe::AliasGlob): [Bug 2906841]: Clamp down on evil use of [glob]
+ in safe interpreters.
+ * tests/safe.test: Rewrite to use tcltest2 better.
- * changes: Updated for 8.5.0 release.
+2009-12-02 Jan Nijtmans <nijtmans@users.sf.net>
-2007-12-10 Jeff Hobbs <jeffh@ActiveState.com>
+ * tools/genStubs.tcl: Add support for win32 CALLBACK functions and
+ remove obsolete "emitStubs" and "genStubs" functions.
+ * win/Makefile.in: Use tcltest86.dll for all tests, and add
+ .PHONY rules to preemptively stop trouble that plagued Tk from hitting
+ Tcl too.
- * generic/tclUtil.c (TclReToGlob): reduce escapes in conversion
- when not necessary
+2009-11-30 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.decls: move TclByteArrayMatch and TclReToGlob
- * generic/tclIntDecls.h: to tclInt.h from stubs.
- * generic/tclStubInit.c: Add flags var to TclByteArrayMatch for
- * generic/tclInt.h: future extensibility
- * generic/tcl.h: define TCL_MATCH_EXACT doc for Tcl_StringCaseMatch.
- * doc/StrMatch.3: It is compatible with existing usage.
- * generic/tclExecute.c (INST_STR_MATCH): flag for TclByteArrayMatch
- * generic/tclUtil.c (TclByteArrayMatch, TclStringMatchObj):
- * generic/tclRegexp.c (Tcl_RegExpExecObj):
- * generic/tclCmdMZ.c (StringMatchCmd): Use TclStringMatchObj
- * tests/string.test (11.9.* 11.10.*): more tests
+ * generic/tcl.h: Don't use EXPORT for Tcl_InitStubs
+ * win/Makefile.in: Better dependancies in case of static build.
-2007-12-10 Joe English <jenglish@users.sourceforge.net>
+2009-11-30 Donal K. Fellows <dkf@users.sf.net>
- * doc/string.n, doc/UniCharIsAlpha.3: Fix markup errors.
- * doc/CrtCommand.3, doc/CrtMathFnc.3, doc/FileSystem.3,
- * doc/GetStdChan.3, doc/OpenFileChnl.3, doc/SetChanErr.3,
- * doc/eval.n, doc/filename.n: Consistency: Move "KEYWORDS" section
- after "SEE ALSO".
+ * doc/Tcl.n: [Bug 2901433]: Improved description of expansion to
+ mention that it is using list syntax.
-2007-12-10 Daniel Steffen <das@users.sourceforge.net>
+2009-11-27 Kevin B. Kenny <kennykb@acm.org>
- * tools/genStubs.tcl: fix numerous issues handling 'macosx',
- 'aqua' or 'x11' entries interleaved
- with 'unix' entries [Bug 1834288]; add
- genStubs::export command
- [Tk FR 1716117]; cleanup formatting.
+ * win/tclAppInit.c (Tcl_AppInit): [Bug 2902965]: Reverted Jan's change
+ that added a call to Tcl_InitStubs. The 'tclsh' and 'tcltest' programs
+ are providers, not consumers of the Stubs table, and should not link
+ with the Stubs library, but only with the main Tcl library. (In any
+ case, the presence of Tcl_InitStubs broke the build.)
- * generic/tcl.decls: use new genstubs 'export' command to
- * generic/tclInt.decls: mark exported symbols not in stubs
- * generic/tclTomMath.decls: table [Tk FR 1716117]; cleanup
- formatting.
+2009-11-27 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclDecls.h: regen with new genStubs.tcl.
- * generic/tclIntDecls.h: [Bug 1834288]
- * generic/tclIntPlatDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclStubInit.c:
+ * doc/BoolObj.3, doc/Class.3, doc/CrtChannel.3, doc/DictObj.3:
+ * doc/DoubleObj.3, doc/Ensemble.3, doc/Environment.3:
+ * doc/FileSystem.3, doc/Hash.3, doc/IntObj.3, doc/Limit.3:
+ * doc/Method.3, doc/NRE.3, doc/ObjectType.3, doc/PkgRequire.3:
+ * doc/SetChanErr.3, doc/SetResult.3: [Patch 2903921]: Many small
+ spelling fixes from Larry Virden.
-2007-12-09 Jeff Hobbs <jeffh@ActiveState.com>
+ BUMP VERSION OF TCLOO TO 0.6.2. Too many people need accumulated small
+ versions and bugfixes, so the version-bump removes confusion.
- * tests/io.test, tests/chanio.test (io-73.1): Make sure to invalidate
- * generic/tclIO.c (SetChannelFromAny): internal rep only after
- validating channel rep. [Bug 1847044]
+ * generic/tclOOBasic.c (TclOO_Object_LinkVar): [Bug 2903811]: Remove
+ unneeded restrictions on who can usefully call this method.
-2007-12-08 Donal K. Fellows <dkf@users.sf.net>
+2009-11-26 Donal K. Fellows <dkf@users.sf.net>
- * doc/expr.n, doc/mathop.n: Improved the documentation of the
- operators. [Bug 1823622]
+ * unix/Makefile.in: Add .PHONY rules and documentation to preemptively
+ stop trouble that plagued Tk from hitting Tcl too, and to make the
+ overall makefile easier to understand. Some reorganization too to move
+ related rules closer together.
- * generic/tclBasic.c (builtInCmds): Corrected list of hidden and
- * doc/interp.n (SAFE INTERPRETERS): exposed commands so that the
- documentation and reality now match. [Bug 1662436]
+2009-11-26 Jan Nijtmans <nijtmans@users.sf.net>
-2007-12-07 Jeff Hobbs <jeffh@ActiveState.com>
+ * win/Makefile.in: [Bug 2902965]: Fix stub related changes that
+ * win/makefile.vc: caused tclkit build to break.
+ * win/tclAppInit.c
+ * unix/tcl.m4
+ * unix/Makefile.in
+ * unix/tclAppInit.c
+ * unix/configure: (regenerated)
- * generic/tclExecute.c (TclExecuteByteCode INST_REGEXP):
- * generic/tclCompCmds.c (TclCompileRegexpCmd): Pass correct RE
- compile flags at compile time, and use TCL_REG_NOSUB.
+2009-11-25 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclIOCmd.c (FinalizeIOCmdTSD, Tcl_PutsObjCmd): cache
- stdout channel object for [puts $str] calls.
+ * win/Makefile.in: Added a 'test-tcl' rule that is identical to
+ 'test' except that it does not go spelunking in 'pkgs/'. (This rule
+ has existed in unix/Makefile.in for some time.)
-2007-12-06 Don Porter <dgp@users.sourceforge.net>
+2009-11-25 Stuart Cassoff <stwo@users.sf.net>
- * README: Remove mention of dead comp.lang.tcl.announce
- newsgroup. [Bug 1846433].
+ * unix/configure.in: [Patch 2892871]: Remove unneeded
+ * unix/tcl.m4: AC_STRUCT_TIMEZONE and use
+ * unix/tclConfig.h.in: AC_CHECK_MEMBERS([struct stat.st_blksize])
+ * unix/tclUnixFCmd.c: instead of AC_STRUCT_ST_BLKSIZE.
+ * unix/configure: Regenerated with autoconf-2.59.
- * unix/README: Mention the stub library created by `make` and warn
- about the effect of embedded paths in the installed binaries.
- Thanks to Larry Virden. [Bug 1794084]
+2009-11-24 Andreas Kupries <andreask@activestate.com>
- * doc/AddErrInfo.3: Documentation for the new routines in TIP 270.
- * doc/Interp.3:
- * doc/StringObj.3:
+ * library/tclIndex: Manually redone the part of tclIndex dealing with
+ safe.tcl and tm.tcl. This part passes the testsuite. Note that
+ automatic regeneration of this part is not possible because it wrongly
+ puts 'safe::Setup' on the list, and wrongly leaves out 'safe::Log'
+ which is more dynamically created than the generator expects.
-2007-12-06 Don Porter <dgp@users.sourceforge.net>
+ Further note that the file "clock.tcl" is explicitly loaded by
+ "init.tcl", the first time the clock command is invoked. The relevant
+ code can be found at line 172ff, roughly, the definition of the
+ procedure 'clock'. This means none of the procedures of this file
+ belong in the tclIndex. Another indicator that automatic regeneration
+ of tclIndex is ill-advised.
- * doc/namespace.n: Documentation for zero-argument form of
- [namespace import] (TIP 261) [Bug 1596416]
+2009-11-24 Donal K. Fellows <dkf@users.sf.net>
-2007-12-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclOO.c (FinalizeAlloc, Tcl_NewObjectInstance):
+ [Bug 2903011]: Make it an error to destroy an object in a constructor,
+ and also make sure that an object is not deleted twice in the error
+ case.
- * generic/tclInt.h: add TclGetChannelFromObj decl
- (TclMatchIsTrivial): simplify TclMatchIsTrivial to remove ] check.
+2009-11-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-12-06 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * tests/fCmd.test: [Bug 2893771]: Teach [file stat] to handle locked
+ * win/tclWinFile.c: files so that [file exists] no longer lies.
+2009-11-23 Kevin Kenny <kennykb@acm.org>
- * generic/tclBasic.c (Tcl_CreateInterp): Simplify the setting up of
- * generic/tclIOCmd.c (TclInitChanCmd): the [chan] ensemble. This
- * library/init.tcl: gets rid of quite a bit of
- code and makes it possible to understand the whole with less effort.
+ * tests/fCmd.test (fCmd-30.1): Changed registry location of the 'My
+ Documents' folder to the one that's correct for Windows 2000, XP,
+ Server 2003, Vista, Server 2008, and Windows 7. (See
+ http://support.microsoft.com/kb/310746)
- * generic/tclCompCmds.c (TclCompileEnsemble): Ensure that the right
- number of tokens are copied. [Bug 1845320]
+2009-11-23 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclNamesp.c (TclMakeEnsemble): Added missing release of a
- DString. [Bug 1845397]
+ * win/tclWinDde.c: #undef STATIC_BUILD, in order to make sure
+ * win/tclWinReg.c: that Xxxxx_Init is always exported even when
+ * generic/tclTest.c: Tcl is built static (otherwise we cannot
+ create a DLL).
+ * generic/tclThreadTest.c: Make all functions static, except
+ TclThread_Init.
+ * tests/fCmd.test: Enable fCmd-30.1 when registry is available.
+ * win/tcl.m4: Fix ${SHLIB_LD_LIBS} definition, fix conflicts
+ * win/Makefile.in: Simplifications related to tcl.m4 changes.
+ * win/configure.in: Between static libraries and import library on
+ windows.
+ * win/configure: (regenerated)
+ * win/makefile.vc: Add stub library to necessary link lines.
-2007-12-05 Jeff Hobbs <jeffh@ActiveState.com>
+2009-11-23 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclIO.h: Create Tcl_Obj for Tcl channels to reduce
- * generic/tclIO.c: overhead in lookup by Tcl_GetChannel. New
- * generic/tclIOCmd.c: TclGetChannelFromObj for internal use.
- * generic/tclIO.c (WriteBytes, WriteChars): add opt check to avoid
- EOL translation when not linebuffered or using lf. [Bug 1845092]
+ * generic/tclThreadTest.c (NewTestThread): [Bug 2901803]: Further
+ machinations to get NewTestThread actually to launch the thread, not
+ just compile.
-2007-12-05 Miguel Sofer <msofer@users.sf.net>
+2009-11-22 Donal K. Fellows <dkf@users.sf.net>
- * tests/stack.test: made the tests for stack overflow not care
- about which mechanism caused the error (interp's recursion limit
- or C-stack depth detector).
+ * generic/tclThreadTest.c (NewTestThread): [Bug 2901803]: Fix small
+ error in function naming which blocked a threaded test build.
-2007-12-05 Jeff Hobbs <jeffh@ActiveState.com>
+2009-11-19 Jan Nijtmans <nijtmans@users.sf.net>
- * win/configure, win/tcl.m4 (LIBS_GUI): mingw needs -lole32
- -loleaut32 but not msvc for Tk's [send]. [Bug 1844749]
+ * win/Makefile.in: Create tcltest86.dll as dynamic Tcltest
+ package.
+ * generic/tclTest.c: Remove extraneous prototypes, follow-up to
+ * generic/tclTestObj.c: [Bug 2883850]
+ * tests/chanio.test: Test-cases for fixed [Bug 2849797]
+ * tests/io.test:
+ * tests/safe.test: Fix safe-10.1 and safe-10.4 test cases, making
+ the wrong assumption that Tcltest is a static
+ package.
+ * generic/tclEncoding.c:[Bug 2857044]: Updated freeIntRepProc routines
+ * generic/tclVar.c: so that they set the typePtr field to NULL so
+ that the Tcl_Obj is not left in an
+ inconsistent state.
+ * unix/tcl.m4: [Patch 2883533]: tcl.m4 support for Haiku OS
+ * unix/configure: autoconf-2.59
-2007-12-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2009-11-19 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Prevent shimmering crash
- when -exact and -integer/-real are mixed. [Bug 1844789]
+ * unix/tclAppInit.c: [Bug 2883850, 2900542]: Repair broken build of
+ * win/tclAppInit.c: the tcltest executable.
-2007-12-03 Donal K. Fellows <dkf@users.sf.net>
+2009-11-19 Donal K. Fellows <dkf@users.sf.net>
- * unix/tclUnixChan.c (CreateSocketAddress): Add extra #ifdef-fery to
- make code compile on BSD 5. [Bug 1618235, again]
+ * library/auto.tcl (tcl_findLibrary):
+ * library/clock.tcl (MakeUniquePrefixRegexp, MakeParseCodeFromFields)
+ (SetupTimeZone, ProcessPosixTimeZone): Restored the use of a literal
+ * library/history.tcl (HistAdd): 'then' when following a multi-
+ * library/safe.tcl (interpConfigure): line test expresssion. It's an
+ * library/tm.tcl (UnknownHandler): aid to readability then.
-2007-12-03 Don Porter <dgp@users.sourceforge.net>
+2009-11-19 Jan Nijtmans <nijtmans@users.sf.net>
- * library/tcltest/tcltest.tcl: Bump tcltest to version 2.3.0 so that
- * library/tcltest/pkgIndex.tcl: we release a stable tcltest with a
- * unix/Makefile.in: stable Tcl.
+ * generic/tclInt.h: Make all internal initialization
+ * generic/tclTest.c: routines MODULE_SCOPE
+ * generic/tclTestObj.c:
+ * generic/tclTestProcBodyObj.c:
+ * generic/tclThreadTest.c:
+ * unix/Makefile.in: Fix [Bug 2883850]: pkgIndex.tcl doesn't
+ * unix/tclAppInit.c: get created with static Tcl build
+ * unix/tclXtTest.c:
+ * unix/tclXtNotify.c:
+ * unix/tclUnixTest.c:
* win/Makefile.in:
+ * win/tcl.m4:
+ * win/configure: (regenerated)
+ * win/tclAppInit.c:
+ * win/tclWinDde.c: Always compile with Stubs.
+ * win/tclWinReg.c:
+ * win/tclWinTest.c:
-2007-12-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/configure, win/tcl.m4 (LIBS_GUI): remove ole32.lib oleaut32.lib
-
-2007-12-03 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileSwitchCmd): Adjusted the [switch]
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): command so that when
- passed two arguments, no check for options are performed. This is OK
- since in the two-arg case, detecting an option would definitely lead
- to a syntax error. [Patch 1836519]
-
-2007-11-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/makefile.vc: add ws2_32.lib to baselibs
- * win/configure, win/tcl.m4: add ws2_32.lib / -lws2_32 to build.
- * win/tclWinSock.c: remove dyn loading of winsock, assume that it is
- always available now.
-
-2007-11-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclWinSock.c (InitializeHostName): Correct error in
- buffer length tracking. After gethostname() writes into a buffer,
- convert only the written string to internal encoding, not the whole
- buffer.
-
-2007-11-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclConfig.c: Corrected failure of the [::foo::pkgconfig]
- command to clean up registered configuration data when the query
- command is deleted from the interp. [Bug 983501]
-
- * generic/tclNamesp.c (Tcl_SetEnsembleMappingDict): Added checks
- that the dict value passed in is in the format required to make the
- internals of ensembles work. [Bug 1436096]
+2009-11-18 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclIO.c: Simplify test and improve accuracy of error
- message in latest changes.
+ * doc/CrtChannel.3: [Bug 2849797]: Fix channel name inconsistences
+ * generic/tclIORChan.c: as suggested by DKF.
+ * generic/tclIO.c: Minor *** POTENTIAL INCOMPATIBILITY ***
+ because Tcl_CreateChannel() and derivatives
+ now sometimes ignore their "chanName"
+ argument.
-2007-11-28 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * generic/tclAsync.c: Eliminate various gcc warnings (with -Wextra)
+ * generic/tclBasic.c
+ * generic/tclBinary.c
+ * generic/tclCmdAH.c
+ * generic/tclCmdIL.c
+ * generic/tclCmdMZ.c
+ * generic/tclCompile.c
+ * generic/tclDate.c
+ * generic/tclExecute.c
+ * generic/tclDictObj.c
+ * generic/tclIndexObj.c
+ * generic/tclIOCmd.c
+ * generic/tclIOUtil.c
+ * generic/tclIORTrans.c
+ * generic/tclOO.c
+ * generic/tclZlib.c
+ * generic/tclGetDate.y
+ * win/tclWinInit.c
+ * win/tclWinChan.c
+ * win/tclWinConsole.c
+ * win/tclWinNotify.c
+ * win/tclWinReg.c
+ * library/auto.tcl: Eliminate "then" keyword
+ * library/clock.tcl
+ * library/history.tcl
+ * library/safe.tcl
+ * library/tm.tcl
+ * library/http/http.tcl: Eliminate unnecessary spaces
+ * library/http1.0/http.tcl
+ * library/msgcat/msgcat.tcl
+ * library/opt/optparse.tcl
+ * library/platform/platform.tcl
+ * tools/tcltk-man2html.tcl
+ * tools/tclZIC.tcl
+ * tools/tsdPerf.c
+
+2009-11-17 Andreas Kupries <andreask@activestate.com>
+
+ * unix/tclUnixChan.c (TtyParseMode): Partial undo of Donal's tidy-up
+ from a few days ago (2009-11-9, not in ChangeLog). It seems that
+ strchr is apparently a macro on AIX and reacts badly to pre-processor
+ directives in its arguments.
- * generic/tclIO.c: -eofchar must support no eofchar.
+2009-11-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2007-11-27 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclEncoding.c: [Bug 2891556]: Fix and improve test to
+ * generic/tclTest.c: detect similar manifestations in the future.
+ * tests/encoding.test: Add tcltest support for finalization.
- * generic/tclBasic.c: remove unneeded call in Tcl_CreateInterp, add
- comments.
+2009-11-15 Mo DeJong <mdejong@users.sourceforge.net>
-2007-11-27 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWinDde.c: Avoid gcc compiler warning by explicitly casting
+ DdeCreateStringHandle argument.
- * win/tclWinSock.c: Add mising encoding conversion of the [info
- hostname] value from the system encoding to Tcl's internal encoding.
+2009-11-12 Andreas Kupries <andreask@activestate.com>
- * doc/chan.n: "Fix" the limitation on channel -eofchar
- * doc/fconfigure.n: values to single byte characters by documenting
- * generic/tclIO.c: it and making it fail loudly. Thanks to Stuart
- * tests/chan.test: Cassoff for contributing the fix. [Bug 800753]
+ * generic/tclIO.c (CopyData): [Bug 2895565]: Dropped bogosity which
+ * tests/io.test: used the number of _written_ bytes or character to
+ update the counters for the read bytes/characters. New test io-53.11.
+ This is a forward port from the 8.5 branch.
-2007-11-26 Miguel Sofer <msofer@users.sf.net>
+2009-11-11 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * unix/tclUnixInit.c:
- * unix/tclUnixThrd.c: Fix stack checking via workaround for bug in
- glibc's pthread_attr_get_np, patch from [Bug 1815573]. Many thanks to
- Sergei Golovan (aka Teo) for detecting the bug and helping diagnose
- and develop the fix.
+ * generic/tclClock.c (TclClockInit): Do not create [clock] support
+ commands in safe interps.
-2007-11-24 Donal K. Fellows <dkf@users.sf.net>
+2009-11-11 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix bug in [dict
- append] compiler which caused strange stack corruption. [Bug 1837392]
+ * library/http/http.tcl (http::geturl): [Bug 2891171]: URL checking
+ too strict when using multiple question marks.
+ * tests/http.test
+ * library/http/pkgIndex.tcl: Bump to http 2.8.2
+ * unix/Makefile.in:
+ * win/Makefile.in:
-2007-11-23 Andreas Kupries <andreask@activestate.com>
+2009-11-11 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclIORChan.c: Fixed a problem with reflected channels. 'chan
- postevent' is defined to work only from within the interpreter
- containing the handler command. Sensible, we want only handler
- commands to use it. It identifies the channel by handle. The channel
- moves to a different interpreter or thread. The interpreter containing
- the handler command doesn't know the channel any longer. 'chan
- postevent' fails, not finding the channel any longer. Uhm.
+ * generic/tclIO.c: Fix [Bug 2888099] (close discards ENOSPC error)
+ by saving the errno from the first of two
+ FlushChannel()s. Uneasy to test; might need
+ specific channel drivers. Four-hands with aku.
- Fixed by creating a second per-interpreter channel table, just for
- reflected channels, where each interpreter remembers for which
- reflected channels it has the handler command. This info does not move
- with the channel itself. The table is updated by 'chan create', and
- used by 'chan postevent'.
+2009-11-10 Pat Thoyts <patthoyts@users.sourceforge.net>
- * tests/ioCmd.test: Updated the testsuite.
+ * tests/winFCmd.test: Cleanup directories that have been set chmod
+ 000. On Windows7 and Vista we really have no access and these were
+ getting left behind.
+ A few tests were changed to reflect the intent of the test where
+ setting a directory chmod 000 should prevent any modification. This
+ restriction was ignored on XP but is honoured on Vista
-2007-11-23 Jeff Hobbs <jeffh@ActiveState.com>
+2009-11-10 Andreas Kupries <andreask@activestate.com>
- * generic/tclVar.c (Tcl_ArrayObjCmd): handle the right data for
- * tests/var.test (var-14.2): [array names $var -glob $ptn]
+ * generic/tclBasic.c: Plug another leak in TCL_EVAL_DIRECT evaluation.
+ Forward port from Tcl 8.5 branch, change by Don Porter.
-2007-11-23 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclObj.c: [Bug 2895323]: Plug memory leak in
+ TclContinuationsEnter(). Forward port from Tcl 8.5 branch, change by
+ Don Porter.
- * generic/tclCmdMZ.c (String*Cmd, TclInitStringCmd): Rebuilt [string]
- * generic/tclCompCmds.c (TclCompileString*Cmd): as an ensemble.
+2009-11-09 Stuart Cassoff <stwo@users.sf.net>
-2007-11-22 Donal K. Fellows <dkf@users.sf.net>
+ * win/README: [bug 2459744]: Removed outdated Msys + Mingw info.
- * generic/tclDictObj.c (Dict*Cmd,TclInitDictCmd): Rebuilt the [dict]
- * generic/tclCompCmds.c (TclCompileDict*Cmd): command as an ensemble.
+2009-11-09 Andreas Kupries <andreask@activestate.com>
+
+ * generic/tclBasic.c (TclEvalObjEx): Moved the #280 decrement of
+ refCount for the file path out of the branch after the whole
+ conditional, closing a memory leak. Added clause on structure type to
+ prevent seg.faulting. Forward port from valgrinding the Tcl 8.5
+ branch.
+
+ * tests/info.test: Resolve ambiguous resolution of variable "res".
+ Forward port from 8.5
+
+2009-11-08 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/string.n (bytelength): Noted that this command is not a good
+ thing to use, and suggested a better alternatve. Also factored out the
+ description of the indices into its own section.
+
+2009-11-07 Pat Thoyts <patthoyts@users.sourceforge.net>
+
+ * tests/fCmd.test: [Bug 2891026]: Exclude tests using chmod 555
+ directories on vista and win7. The current user has access denied and
+ so cannot rename the directory without admin privileges.
+
+2009-11-06 Andreas Kupries <andreask@activestate.com>
+
+ * library/safe.tcl (::safe::Setup): Added documentation of the
+ contents of the state array. Also killed the 'InterpState' procedure
+ with its upleveled variable/upvar combination, and replaced all uses
+ with 'namespace upvar'.
+
+2009-11-05 Andreas Kupries <andreask@activestate.com>
+
+ * library/safe.tcl: A series of patches which bring the SafeBase up to
+ date with code guidelines, Tcl's features, also eliminating a number
+ of inefficiencies along the way.
+ (1) Changed all procedure names to be fully qualified.
+ (2) Moved the procedures out of the namespace eval. Kept their
+ locations. IOW, broke the namespace eval apart into small sections not
+ covering the procedure definitions.
+ (3) Reindented the code. Just lots of whitespace changes.
+ Functionality unchanged.
+ (4) Moved the multiple namespace eval's around. Command export at the
+ top, everything else (var decls, argument parsing setup) at the
+ bottom.
+ (5) Moved the argument parsing setup into a procedure called when the
+ code is loaded. Easier management of temporary data.
+ (6) Replaced several uses of 'Set' with calls to the new procedure
+ 'InterpState' and direct access to the per-slave state array.
+ (7) Replaced the remaining uses of 'Set' and others outside of the
+ path/token handling, and deleted a number of procedures related to
+ state array access which are not used any longer.
+ (8) Converted the path token system to cache normalized paths and path
+ <-> token conversions. Removed more procedures not used any longer.
+ Removed the test cases 4.3 and 4.4 from safe.test. They were testing
+ the now deleted command "InterpStateName".
+ (9) Changed the log command setup so that logging is compiled out
+ completely when disabled (default).
+ (10) Misc. cleanup. Inlined IsInterp into CheckInterp, its only user.
+ Consistent 'return -code error' for error reporting. Updated to use
+ modern features (lassign, in/ni, dicts). The latter are used to keep a
+ reverse path -> token map and quicker check of existence.
+ (11) Fixed [Bug 2854929]: Recurse into all subdirs under all TM root
+ dirs and put them on the access path.
+
+2009-11-02 Kevin B. Kenny <kennykb@acm.org>
-2007-11-22 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * library/tzdata/Asia/Novokuznetsk: New tzdata locale for Kemerovo
+ oblast', which now keeps Novosibirsk time and not Kranoyarsk time.
+ * library/tzdata/Asia/Damascus: Syrian DST changes.
+ * library/tzdata/Asia/Hong_Kong: Hong Kong historic DST corrections.
+ Olson tzdata2009q.
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Rewrote the [string] and
- * generic/tclDictObj.c (Tcl_DictObjCmd): [dict] implementations to be
- ready for conversion to ensembles.
+2009-11-02 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/object.n (DESCRIPTION): Substantive revision to make it clearer
+ what the fundamental semantics of an object actually are.
+
+2009-11-01 Joe Mistachkin <joe@mistachkin.com>
+
+ * doc/Cancel.3: Minor cosmetic fixes.
+ * win/makefile.vc: Make htmlhelp target work again. An extra set of
+ double quotes around the definition of the HTML help compiler tool
+ appears to be required. Previously, there was one set of double
+ quotes around the definition of the tool and one around the actual
+ invocation. This led to confusion because it was the only such tool
+ path to include double quotes around its invocation. Also, it was
+ somewhat inflexible in the event that somebody needed to override the
+ tool command to include arguments. Therefore, even though it may look
+ "wrong", there are now two double quotes on either side of the tool
+ path definition. This fixes the problem that currently prevents the
+ htmlhelp target from building and maintains flexibility in case
+ somebody needs to override it via the command line or an environment
+ variable.
- * tests/string.test (string-12.22): Flag shimmering bug found in
- [string range].
+2009-11-01 Joe English <jenglish@users.sourceforge.net>
-2007-11-21 Donal K. Fellows <dkf@users.sf.net>
+ * doc/Eval.3, doc/Cancel.3: Move TIP#285 routines out of Eval.3 into
+ their own manpage.
- * generic/tclCompCmds.c (TclCompileEnsemble): Rewrote the ensemble
- compiler to remove many of the limitations. Can now compile scripts
- that use unique prefixes of subcommands, and which have mappings of a
- command to multiple words (provided the first is a compilable command
- of course).
+2009-10-31 Donal K. Fellows <dkf@users.sf.net>
-2007-11-21 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclBasic.c (ExprRoundFunc): [Bug 2889593]: Correctly report
+ the expected number of arguments when generating an error for round().
- * generic/tclNamesp.c (TclMakeEnsemble): Factor out the code to set up
- a core ensemble from a table of information about subcommands, ready
- for reuse within the core.
+2009-10-30 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/various: Start to return more useful Error codes, currently
- mainly on assorted lookup failures.
+ * tests/tcltest.test: When creating the notwritabledir we deny the
+ current user access to delete the file. We must grant this right when
+ we cleanup. Required on Windows 7 when the user does not automatically
+ have administrator rights.
-2007-11-20 Donal K. Fellows <dkf@users.sf.net>
+2009-10-29 Don Porter <dgp@users.sourceforge.net>
- * generic/tclDictObj.c: Changed the underlying implementation of the
- hash table used in dictionaries to additionally keep all entries in
- the hash table in a linked list, which is only ever added to at the
- end. This makes iteration over all entries in the dictionary in
- key insertion order a trivial operation, and so cleans up a great deal
- of complexity relating to dictionary representation and stability of
- iteration order.
+ * generic/tcl.h: Changed the typedef for the mp_digit type
+ from:
+ typedef unsigned long mp_digit;
+ to:
+ typedef unsigned int mp_digit;
+ For 32-bit builds where "long" and "int" are two names for the same
+ thing, this is no change at all. For 64-bit builds, though, this
+ causes the dp[] array of an mp_int to be made up of 32-bit elements
+ instead of 64-bit elements. This is a huge improvement because details
+ elsewhere in the mp_int implementation cause only 28 bits of each
+ element to be actually used storing number data. Without this change
+ bignums are over 50% wasted space on 64-bit systems. [Bug 2800740].
***POTENTIAL INCOMPATIBILITY***
- For any code that depended on the (strange) old iteration order.
-
- * generic/tclConfig.c (QueryConfigObjCmd): Correct usage of
- Tcl_WrongNumArgs.
-
-2007-11-19 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5b3 TAGGED FOR RELEASE ***
-
- * README: Bump version number to 8.5b3.
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
- * changes: Updated for 8.5b3 release.
-
-2007-11-19 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * library/tzdata/Africa/Cairo:
- * library/tzdata/America/Campo_Grande:
- * library/tzdata/America/Caracas:
- * library/tzdata/America/Cuiaba:
- * library/tzdata/America/Havana:
- * library/tzdata/America/Sao_Paulo:
- * library/tzdata/Asia/Damascus:
- * library/tzdata/Asia/Gaza:
- * library/tzdata/Asia/Tehran: Olson's tzdata2007i imported.
-
-2007-11-18 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): Fix read
- traces not firing on non-existent array elements. [Bug 1833522]
-
-2007-11-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdIL.c (TclInitInfoCmd): Rename the implementation
- commands for [info] to be something more "expected".
-
- * generic/tclCompCmds.c (TclCompileInfoExistsCmd): Compiler for the
- [info exists] subcommand.
- (TclCompileEnsemble): Cleaned up version of ensemble compiler that was
- in TclCompileInfoCmd, but which is now much more generally applicable.
+ For 64-bit builds, callers of routines with (mp_digit) or (mp_digit *)
+ arguments *will*, and callers of routines with (mp_int *) arguments
+ *may* suffer both binary and stubs incompatibilities with Tcl releases
+ 8.5.0 - 8.5.7. Such possibilities should be checked, and if such
+ incompatibilities are present, suitable [package require] requirements
+ on the Tcl release should be put in place to keep such built code
+ [load]-ing only in Tcl interps that are compatible.
- * generic/tclInt.h (ENSEMBLE_COMPILE): Added flag to allow for cleaner
- turning on and off of ensemble bytecode compilation.
+2009-10-29 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompile.c (TclCompileScript): Add the cmdPtr to the list
- of arguments passed to command compilers.
+ * tests/dict.test: Make variable-clean and simplify tests by utilizing
+ the fact that dictionaries have defined orders.
-2007-11-15 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclZlib.c (TclZlibCmd): Remove accidental C99-ism which
+ reportedly makes the AIX native compiler choke.
- * generic/regc_nfa.c: Fixed infinite loop in the regexp compiler.
- [Bug 1810038]
+2009-10-29 Kevin B. Kenny <kennykb@acm.org>
- * generic/regc_nfa.c: Corrected looping logic in fixempties() to
- avoid wasting time walking a list of dead states. [Bug 1832612]
+ * library/clock.tcl (LocalizeFormat):
+ * tests/clock.test (clock-67.1):
+ [Bug 2819334]: Corrected a problem where '%%' followed by a letter in
+ a format group could expand recursively: %%R would turn into %%H:%M:%S
-2007-11-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-10-28 Don Porter <dgp@users.sourceforge.net>
- * generic/tclNamesp.c (NamespaceEnsembleCmd): Must pass a non-NULL
- interp to Tcl_SetEnsemble* functions.
+ * generic/tclLiteral.c: [Bug 2888044]: Fixed 2 bugs.
+ * tests/info.test: First, as noted in the comments of the
+ TclCleanupLiteralTable routine, since the teardown of the intrep of
+ one Tcl_Obj can cause the teardown of others in the same table, the
+ full table cleanup must be done with care, but the code did not
+ contain the same care demanded in the comment. Second, recent
+ additions to the info.test file had poor hygiene, leaving an array
+ variable ::a lying around, which breaks later interp.test tests during
+ a -singleproc 1 run of the test suite.
- * doc/re_syntax.n: Try to make this easier to read. It's still a very
- difficult manual page!
+2009-10-28 Kevin B. Kenny <kennykb@acm.org>
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Allow people to turn off the -rpath
- option to their linker if they so desire. This is a configuration only
- recommended for (some) vendors. Relates to [Patch 1231022].
+ * tests/fileName.test (fileName-20.[78]): Corrected poor test
+ hygiene (failure to save and restore the working directory) that
+ caused these two tests to fail on Windows (and [Bug 2806250] to be
+ reopened).
-2007-11-15 Pat Thoyts <patthoyts@users.sourceforge.net>
+2009-10-27 Don Porter <dgp@users.sourceforge.net>
- * win/tclWin32Dll.c: Prefer UINT_PTR to DWORD_PTR when casting pointers
- to integer types for greater portability. [Bug 1831253]
+ * generic/tclPathObj.c: [Bug 2884203]: Missing refcount on cached
+ normalized path caused crashes.
-2007-11-15 Daniel Steffen <das@users.sourceforge.net>
+2009-10-27 Kevin B. Kenny <kennykb@acm.org>
- * macosx/Tcl.xcodeproj/project.pbxproj: add new chanio.test.
- * macosx/Tcl.xcode/project.pbxproj:
+ * library/clock.tcl (ParseClockScanFormat): [Bug 2886852]: Corrected a
+ problem where [clock scan] didn't load the timezone soon enough when
+ processing a time format that lacked a complete date.
+ * tests/clock.test (clock-66.1):
+ Added a test case for the above bug.
+ * library/tzdata/America/Argentina/Buenos_Aires:
+ * library/tzdata/America/Argentina/Cordoba:
+ * library/tzdata/America/Argentina/San_Luis:
+ * library/tzdata/America/Argentina/Tucuman:
+ New DST rules for Argentina. (Olson's tzdata2009p.)
-2007-11-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-10-26 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompile.c (TclCompileScript): Ensure that we get our count
- in our INST_START_CMD calls right, even when there's a failure to
- compile a command directly.
+ * unix/Makefile.in: Remove $(PACKAGE).* and prototype from the
+ `make distclean` target. Completes 2009-10-20 commit.
- * generic/tclNamesp.c (Tcl_SetEnsembleSubcommandList)
- (Tcl_SetEnsembleMappingDict): Special code to make sure that
- * generic/tclCmdIL.c (TclInitInfoCmd): [info exists] is compiled right
- while not allowing changes to the ensemble to cause havok.
+2009-10-24 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclCompCmds.c (TclCompileInfoCmd): Simple compiler for the
- [info] command that only handles [info exists].
+ * library/clock.tcl (ProcessPosixTimeZone):
+ Corrected a regression in the fix to [Bug 2207436] that caused
+ [clock] to apply EU daylight saving time rules in the US.
+ Thanks to Karl Lehenbauer for reporting this regression.
+ * tests/clock.test (clock-52.4):
+ Added a regression test for the above bug.
+ * library/tzdata/Asia/Dhaka:
+ * library/tzdata/Asia/Karachi:
+ New DST rules for Bangladesh and Pakistan. (Olson's tzdata2009o.)
- * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): New
- instructions to allow the testing of whether a variable exists.
+2009-10-23 Andreas Kupries <andreask@activestate.com>
-2007-11-14 Andreas Kupries <andreask@activestate.com>
+ * generic/tclIO.c (FlushChannel): Skip OutputProc for low-level
+ 0-length writes. When closing pipes which have already been closed
+ not skipping leads to spurious SIG_PIPE signals. Reported by
+ Mikhail Teterin <mi+thun@aldan.algebra.com>.
- * tests/chanio.test: New file. This is essentially a duplicate of
- 'io.test', with all channel commands converted to their 'chan xxx'
- notation.
- * tests/io.test: Fixed typo in test description.
+2009-10-22 Donal K. Fellows <dkf@users.sf.net>
-2007-11-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclOOBasic.c (TclOO_Object_VarName): [Bug 2883857]: Allow
+ the passing of array element names through this method.
- * generic/regc*.c: Eliminate multi-char collating element code
- completely. Simplifies the code quite a bit. If people still want the
- full code, it will remain on the 8.4 branch. [Bug 1831425]
+2009-10-21 Donal K. Fellows <dkf@users.sf.net>
-2007-11-13 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS
+ where SIGSEGV and SIGBUS are the same value.
- * generic/tclCompCmds.c (TclCompileRegexpCmd): clean up comments, only
- free dstring on OK from TclReToGlob.
- (TclCompileSwitchCmd): simplify TclReToGlob usage.
+ * generic/tclTrace.c (StringTraceProc): [Bug 2881259]: Added back cast
+ to work around silly bug in MSVC's handling of auto-casting.
-2007-11-14 Donal K. Fellows <dkf@users.sf.net>
+2009-10-20 Don Porter <dgp@users.sourceforge.net>
- * generic/regc*.c: #ifdef/comment out the code that deals with
- multi-character collating elements, which have never been supported.
- Cuts the memory consumption of the RE compiler. [Bug 1831425]
+ * unix/Makefile.in: Removed the long outdated and broken targets
+ package-* that were for building Solaris packages. Appears that the
+ pieces needed for these targets to function have never been present in
+ the current era of Tcl development and belong completely to Tcl
+ pre-history.
-2007-11-13 Donal K. Fellows <dkf@users.sf.net>
+2009-10-19 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompCmds.c (TclCompileSwitchCmd, TclCompileRegexpCmd):
- Extend [switch] compiler to handle regular expressions as long as
- things are not too complex. Fix [regexp] compiler so that non-trivial
- literal regexps get fed to INST_REGEXP.
+ * generic/tclIO.c: [Patch 2107634]: Revised ReadChars and
+ FilterInputBytes routines to permit reads to continue up to the string
+ limits of Tcl values. Before revisions, large read attempts could
+ panic when as little as half the limiting value length was reached.
+ Thanks to Sean Morrison and Bob Parker for their roles in the fix.
- * doc/mathop.n: Clarify definitions of some operations.
+2009-10-18 Joe Mistachkin <joe@mistachkin.com>
-2007-11-13 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclObj.c (TclDbDumpActiveObjects, TclDbInitNewObj)
+ (Tcl_DbIncrRefCount, Tcl_DbDecrRefCount, Tcl_DbIsShared):
+ [Bug 2871908]: Enforce separation of concerns between the lineCLPtr
+ and objThreadMap thread specific data members.
- * unix/tclUnixInit.c: the TCL_NO_STACK_CHECK was being incorrectly
- undefined here; this should be set (or not) in the compile options, it
- is used elsewhere and needs to be consistent.
+2009-10-18 Joe Mistachkin <joe@mistachkin.com>
-2007-11-13 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * tests/thread.test (thread-4.[345]): [Bug 1565466]: Correct tests to
+ save their error state before the final call to threadReap just in case
+ it triggers an "invalid thread id" error. This error can occur if one
+ or more of the target threads has exited prior to the attempt to send
+ it an asynchronous exit command.
- * unix/tcl.m4: Added autoconf goo to detect and make use of
- * unix/configure.in: getaddrinfo and friends.
- * unix/configure: (regenerated)
+2009-10-17 Donal K. Fellows <dkf@users.sf.net>
-2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclVar.c (UnsetVarStruct, TclDeleteNamespaceVars)
+ (TclDeleteCompiledLocalVars, DeleteArray):
+ * generic/tclTrace.c (Tcl_UntraceVar2): [Bug 2629338]: Stop traces
+ that are deleted part way through (a feature used by tdom) from
+ causing freed memory to be accessed.
- * 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]
+2009-10-08 Donal K. Fellows <dkf@users.sf.net>
-2007-11-13 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclDictObj.c (DictIncrCmd): [Bug 2874678]: Don't leak any
+ bignums when doing [dict incr] with a value.
+ * tests/dict.test (dict-19.3): Memory leak detection code.
- * generic/regcomp.c: Convert optst() from expensive no-op to a
- cheap no-op.
+2009-10-07 Andreas Kupries <andreask@activestate.com>
-2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclObj.c: [Bug 2871908]: Plug memory leaks of objThreadMap
+ and lineCLPtr hashtables. Also make the names of the continuation
+ line information initialization and finalization functions more
+ consistent. Patch supplied by Joe Mistachkin <joe@mistachkin.com>.
- * unix/tclUnixChan.c (CreateSocketAddress): Rewrote to use the
- thread-safe version of gethostbyname() by forward-porting the code used
- in 8.4, and added rudimentary support for getaddrinfo() (not enabled by
- default, as no autoconf-ery written). Part of fix for [Bug 1618235].
+ * generic/tclIORChan.c (ErrnoReturn): Replace hardwired constant 11
+ with proper errno #define, EAGAIN. What was I thinking? The BSD's have
+ a different errno assignment and break with the hardwired number.
+ Reported by emiliano on the chat.
-2007-11-12 Jeff Hobbs <jeffh@ActiveState.com>
+2009-10-06 Don Porter <dgp@users.sourceforge.net>
- * generic/tclGet.c (Tcl_Get, Tcl_GetInt): revert use of TclGet* macros
- due to compiler warning. These cases won't save time either.
+ * generic/tclInterp.c (SlaveEval): Agressive stomping of internal reps
+ was added as part of the NRE patch of 2008-07-13. This doesn't appear
+ to actually be needed, and it hurts quite a bit when large lists lose
+ their intreps and require reparsing. Thanks to Ashok Nadkarni for
+ reporting the problem.
- * generic/tclUtil.c (TclReToGlob): add more comments, set interp result
- if specified on error.
+ * generic/tclTomMathInt.h (new): Public header tclTomMath.h had
+ * generic/tclTomMath.h: dependence on private headers, breaking use
+ * generic/tommath.h: by extensions [Bug 1941434].
-2007-11-12 Miguel Sofer <msofer@users.sf.net>
+2009-10-05 Andreas Kupries <andreask@activestate.com>
- * generic/tclBasic.c: New macro TclResetResult, new iPtr flag
- * generic/tclExecute.c: bit INTERP_RESULT_UNCLEAN: shortcut for
- * generic/tclInt.h: Tcl_ResetResult for the "normal" case:
- * generic/tclProc.c: TCL_OK, no return options, no errorCode
- * generic/tclResult.c: nor errorInfo, return at normal level.
- * generic/tclStubLib.c: [Patch 1830184]
- * generic/tclUtil.c:
+ * library/safe.tcl (AliasGlob): Fixed conversion of catch to
+ try/finally, it had an 'on ok msg' branch missing, causing a
+ silent error immediately, and bogus glob results, breaking
+ search for Tcl modules.
- THIS PATCH WAS REVERTED: initial (mis)measurements overstated the
- perfomance wins, which turn out to be tiny. Not worth the complication.
+2009-10-04 Daniel Steffen <das@users.sourceforge.net>
-2007-11-11 Jeff Hobbs <jeffh@ActiveState.com>
+ * macosx/tclMacOSXBundle.c: Workaround CF memory managment bug in
+ * unix/tclUnixInit.c: Mac OS X 10.4 & earlier. [Bug 2569449]
- * generic/tclCompCmds.c, generic/tclCompile.c, generic/tclCompile.h:
- * generic/tclExecute.c, generic/tclInt.decls, generic/tclIntDecls.h:
- * generic/tclRegexp.c, generic/tclRegexp.h: Add INST_REGEXP and fully
- * generic/tclStubInit.c, generic/tclUtil.c: compiled [regexp] for the
- * tests/regexpComp.test: [Bug 1830166] simple cases. Also added
- TclReToGlob function to convert RE to glob patterns and use these in
- the possible cases.
+2009-10-02 Kevin B. Kenny <kennykb@acm.org>
-2007-11-11 Miguel Sofer <msofer@users.sf.net>
+ * library/tzdata/Africa/Cairo:
+ * library/tzdata/Asia/Gaza:
+ * library/tzdata/Asia/Karachi:
+ * library/tzdata/Pacific/Apia: Olson's tzdata2009n.
- * generic/tclResult.c (ResetObjResult): clarify the logic.
+2009-09-29 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c: Increased usage of macros to detect
- * generic/tclBinary.c: and take advantage of objTypes. Added
- * generic/tclClock.c: macros TclGet(Int|Long)FromObj,
- * generic/tclCmdAH.c: TclGetIntForIndexM & TclListObjLength,
- * generic/tclCmdIL.c: modified TclListObjGetElements.
- * generic/tclCmdMZ.c:
- * generic/tclCompCmds.c: The TclGetInt* macros are only a
- * generic/tclCompExpr.c: shortcut on platforms where 'long' is
- * generic/tclCompile.c: 'int'; it may be worthwhile to extend
- * generic/tclDictObj.c: their functionality to other cases.
- * generic/tclExecute.c:
- * generic/tclGet.c: As this patch touches many files it has
- * generic/tclIO.c: been recorded as [Patch 1830038] in
- * generic/tclIOCmd.c: order to facilitate reviewing.
- * generic/tclIOGT.c:
- * generic/tclIndexObj.c:
+ * generic/tclDictObj.c: [Bug 2857044]: Updated freeIntRepProc
+ * generic/tclExecute.c: routines so that they set the typePtr
+ * generic/tclIO.c: field to NULL so that the Tcl_Obj is
+ * generic/tclIndexObj.c: not left in an inconsistent state.
* generic/tclInt.h:
- * generic/tclInterp.c:
* generic/tclListObj.c:
- * generic/tclLiteral.c:
* generic/tclNamesp.c:
+ * generic/tclOOCall.c:
* generic/tclObj.c:
- * generic/tclParse.c:
+ * generic/tclPathObj.c:
* generic/tclProc.c:
* generic/tclRegexp.c:
- * generic/tclResult.c:
- * generic/tclScan.c:
* generic/tclStringObj.c:
- * generic/tclUtil.c:
- * generic/tclVar.c:
-
-2007-11-11 Daniel Steffen <das@users.sourceforge.net>
- * unix/tclUnixTime.c (TclpWideClicksToNanoseconds): Fix issues with
- * generic/tclInt.h: int64_t overflow.
-
- * generic/tclBasic.c: Fix stack check failure case if stack grows up
- * unix/tclUnixInit.c: Simplify non-crosscompiled case.
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2007-11-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: Fast path for INST_LIST_INDEX when the index is
- not a list.
-
- * generic/tclBasic.c:
- * unix/configure.in:
- * unix/tclUnixInit.c: Detect stack grwoth direction at compile time,
- only fall to runtime detection when crosscompiling.
+ * generic/tclAlloc.c: Cleaned up various routines in the
+ * generic/tclCkalloc.c: call stacks for memory allocation to
+ * generic/tclInt.h: guarantee that any size values computed
+ * generic/tclThreadAlloc.c: are within the domains of the routines
+ they get passed to. [Bugs 2557696 and 2557796].
- * unix/configure: autoconf 2.61
+2009-09-28 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * tests/interp.test:
- * unix/tclUnixInit.c:
- * win/tclWin32Dll.c: Restore simpler behaviour for stack checking, not
- adaptive to stack size changes after a thread is launched. Consensus is
- that "nobody does that", and so it is not worth the cost. Improved
- failure comments (mistachkin).
+ * generic/tclCmdMZ.c: Replaced TclProcessReturn() calls with
+ * tests/error.test: Tcl_SetReturnOptions() calls as a simple fix
+ for [Bug 2855247]. Thanks to Anton Kovalenko for the report and fix.
+ Additional fixes for other failures demonstrated by new tests.
-2007-11-10 Kevin Kenny <kennykb@acm.org>
+2009-09-27 Don Porter <dgp@users.sourceforge.net>
- * win/tclWin32Dll.c: Rewrote the Windows stack checking algorithm to
- use information from VirtualQuery to determine the bound of the stack.
- This change fixes a bug where the guard page of the stack was never
- restored after an overflow. It also eliminates a nasty piece of
- assembly code for structured exception handling on mingw. It introduces
- an assumption that the stack is a single memory arena returned from
- VirtualAlloc, but the code in MSVCRT makes the same assumption, so it
- should be fairly safe.
+ * tests/error.test (error-15.8.*): Coverage tests illustrating
+ flaws in the propagation of return options by [try].
-2007-11-10 Miguel Sofer <msofer@users.sf.net>
+2009-09-26 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * unix/tclUnixInit.c:
- * unix/tclUnixPort.h:
- * win/tclWin32Dll.c: Modify the stack checking algorithm to recheck in
- case of failure. The working assumptions are now that (a) a thread's
- stack is never moved, and (b) a thread's stack can grow but not shrink.
- Port to windows - could be more efficient, but is already cheaper than
- it was.
+ * unix/tclooConfig.sh, win/tclooConfig.sh: [Bug 2026844]: Added dummy
+ versions of tclooConfig.sh that make it easier to build extensions
+ against both Tcl8.5+TclOO-standalone and Tcl8.6.
-2007-11-09 Miguel Sofer <msofer@users.sf.net>
+2009-09-24 Don Porter <dgp@users.sourceforge.net>
- * generic/tclResult.c (ResetObjResult): new shortcut.
+ TIP #356 IMPLEMENTATION
- * generic/tclAsync.c:
- * generic/tclBasic.c:
- * generic/tclExecute.c:
+ * generic/tcl.decls: Promote internal routine TclNRSubstObj()
+ * generic/tclCmdMZ.c: to public Tcl_NRSubstObj(). Still needs docs.
+ * generic/tclCompile.c:
* generic/tclInt.h:
- * generic/tclUnixInit.c:
- * generic/tclUnixPort.h: New fields in interp (ekeko!) to cache TSD
- data that is accessed at each command invocation, access macros to
- replace Tcl_AsyncReady and TclpCheckStackSpace by much faster variants.
- [Patch 1829248]
-2007-11-09 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclInt.decls, generic/tclIntDecls.h: Use unsigned char for
- * generic/tclExecute.c, generic/tclUtil.c: TclByteArrayMatch and
- don't allow a nocase option. [Bug 1828296]
- For INST_STR_MATCH, ignore pattern type for TclByteArrayMatch case.
+ * generic/tclDecls.h: make genstubs
+ * generic/tclStubInit.c:
- * generic/tclBinary.c (Tcl_GetByteArrayFromObj): check type before
- func jump (perf).
+2009-09-23 Miguel Sofer <msofer@users.sf.net>
-2007-11-07 Jeff Hobbs <jeffh@ActiveState.com>
+ * doc/namespace.n: the description of [namespace unknown] failed
+ to mention [namespace path]: fixed. Thx emiliano.
- * generic/tclStubInit.c: Added TclByteArrayMatch
- * generic/tclInt.decls: for efficient glob
- * generic/tclIntDecls.h: matching of ByteArray
- * generic/tclUtil.c (TclByteArrayMatch): Tcl_Objs, used in
- * generic/tclExecute.c (TclExecuteByteCode): INST_STR_MATCH. [Bug
- 1827996]
+2009-09-21 Mo DeJong <mdejong@users.sourceforge.net>
- * generic/tclIO.c (TclGetsObjBinary): Add an efficient binary path for
- [gets].
- (DoWriteChars): Special case for 1-byte channel write.
+ * tests/regexp.test: Added check for error message from
+ unbalanced [] in regexp. Added additional simple test cases
+ of basic regsub command.
-2007-11-06 Miguel Sofer <msofer@users.sf.net>
+2009-09-21 Don Porter <dgp@users.sourceforge.net>
- * generic/tclEncoding.c: Version of the embedded iso8859-1 encoding
- handler that is faster (functions to do the encoding know exactly what
- they're doing instead of pulling it from a table, though the table
- itself has to be retained for use by shift encodings that depend on
- iso8859-1). [Patch 1826906], committing for dkf.
+ * generic/tclCompile.c: Correct botch in the conversion of
+ Tcl_SubstObj(). Thanks to Kevin Kenny for detection and report.
-2007-11-05 Andreas Kupries <andreask@activestate.com>
+2009-09-17 Don Porter <dgp@users.sourceforge.net>
- * generic/tclConfig.c (Tcl_RegisterConfig): Modified to not extend the
- config database if the encoding provided by the user is not found
- (venc == NULL). Scripts expecting the data will error out, however we
- neither crash nor provide bogus information. See [Bug 983509] for more
- discussion.
+ * generic/tclCompile.c: Re-implement Tcl_SubstObj() as a simple
+ * generic/tclParse.c: wrapper around TclNRSubstObj(). This has
+ * tests/basic.test: the effect of caching compiled bytecode in
+ * tests/parse.test: the value to be substituted. Note that
+ Tcl_SubstObj() now exists only for extensions. Tcl itself no longer
+ makes any use of it. Note also that TclSubstTokens() is now reachable
+ only by Tcl_EvalEx() and Tcl_ParseVar() so tests aiming to test its
+ functioning needed adjustment to still have the intended effect.
- * unix/tclUnixChan.c (TtyGetOptionProc): Accepted [Patch 1823576]
- provided by Stuart Cassof <stwo@users.sourceforge.net>. The patch adds
- the necessary utf/external conversions to the handling of the arguments
- of option -xchar which will allow the use of \0 and similar characters.
+2009-09-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2007-11-03 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclObj.c: Extended ::tcl::unsupported::representation.
- * generic/tclTest.c (TestSetCmd2):
- * generic/tclVar.c (TclObjLookupVarEx):
- * tests/set.test (set-5.1): Fix error branch when array name looks
- like array element (code not normally exercised).
+2009-09-11 Don Porter <dgp@users.sourceforge.net>
-2007-11-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclBasic.c: Completed the NR-enabling of [subst].
+ * generic/tclCmdMZ.c: [Bug 2314561].
+ * generic/tclCompCmds.c:
+ * generic/tclCompile.c:
+ * generic/tclInt.h:
+ * tests/coroutine.test:
+ * tests/parse.test:
- * tools/tcltk-man2html.tcl (output-directive): Convert .DS/.DE pairs
- into tables since that is now all that they are used for.
+2009-09-11 Donal K. Fellows <dkf@users.sf.net>
- * doc/RegExp.3: Clarified documentation of RE flags. [Bug 1167840]
+ * tests/http.test: Added in cleaning up of http tokens for each test
+ to reduce amount of global-variable pollution.
- * doc/refchan.n: Adjust internal name to be consistent with the file
- name for reduced user confusion. After comment by Dan Steffen.
+2009-09-10 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCmdMZ.c (Tcl_StringObjCmd, UniCharIsAscii): Remember, the
- NUL character is in ASCII too. [Bug 1808258]
+ * library/http/http.tcl (http::Event): [Bug 2849860]: Handle charset
+ names in double quotes; some servers like generating them like that.
- * doc/file.n: Clarified use of [file normalize]. [Bug 1185154]
+2009-09-07 Don Porter <dgp@users.sourceforge.net>
-2007-10-30 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclParse.c: [Bug 2850901]: Corrected line counting error
+ * tests/into.test: in multi-command script substitutions.
- * generic/tcl.h: Bump version number to 8.5b2.1 to distinguish
- * library/init.tcl: CVS development snapshots from the 8.5b2
- * unix/configure.in: release.
- * unix/tcl.spec:
- * win/configure.in:
+2009-09-07 Daniel Steffen <das@users.sourceforge.net>
- * unix/configure: autoconf (2.59)
- * win/configure:
+ * generic/tclExecute.c: Fix potential uninitialized variable use and
+ * generic/tclFCmd.c: null dereference flagged by clang static
+ * generic/tclProc.c: analyzer.
+ * generic/tclTimer.c:
+ * generic/tclUtf.c:
-2007-10-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclExecute.c: Silence false positives from clang static
+ * generic/tclIO.c: analyzer about potential null dereference.
+ * generic/tclScan.c:
+ * generic/tclCompExpr.c:
- * doc/expr.n, doc/mathfunc.n: Improve documentation to try to make
- clearer what is going on.
+2009-09-04 Don Porter <dgp@users.sourceforge.net>
- * doc/interp.n: Shorten the basic descriptive text for some interp
- subcommands so Solaris nroff doesn't truncate them. [Bug 1822268]
+ * generic/tclCompCmds.c (TclCompileSubstCmd): [Bug 2314561]:
+ * generic/tclBasic.c: Added a bytecode compiler routine for the
+ * generic/tclCmdMZ.c: [subst] command. This is a partial solution to
+ * generic/tclCompile.c: the need to NR-enable [subst] since bytecode
+ * generic/tclCompile.h: execution is already NR-enabled. Two new
+ * generic/tclExecute.c: bytecode instructions, INST_NOP and
+ * generic/tclInt.h: INST_RETURN_CODE_BRANCH were added to support
+ * generic/tclParse.c: the new routine. INST_RETURN_CODE_BRANCH is
+ * tests/basic.test: likely to be useful in any future effort to
+ * tests/info.test: add a bytecode compiler routine for [try].
+ * tests/parse.test:
-2007-10-30 Donal K. Fellows <dkf@users.sf.net>
+2009-09-03 Donal K. Fellows <dkf@users.sf.net>
- * tools/tcltk-man2html.tcl (output-widget-options): Enhance the HTML
- generator so that it can produce multi-line option descriptions.
+ * doc/LinkVar.3: [Bug 2844962]: Added documentation of issues relating
+ to use of this API in a multi-threaded environment.
-2007-10-28 Miguel Sofer <msofer@users.sf.net>
+2009-09-01 Andreas Kupries <andreask@activestate.com>
- * generic/tclUtil.c (Tcl_ConcatObj): optimise for some of the
- concatenees being empty objs. [Bug 1447328]
+ * generic/tclIORTrans.c (ReflectInput): Remove error response to
+ 0-result from method 'limit?' of transformations. Return the number of
+ copied bytes instead, which is possibly nothing. The latter then
+ triggers EOF handling in the higher layers, making the 0-result of
+ limit? the way to inject artificial EOF's into the data stream.
-2007-10-28 Donal K. Fellows <dkf@users.sf.net>
+2009-09-01 Don Porter <dgp@users.sourceforge.net>
- * generic/tclEncoding.c (TclInitEncodingSubsystem): Hard code the
- iso8859-1 encoding, as it's needed for more than just text (especially
- binary encodings...) Note that other encodings rely on the encoding
- being a table encoding (!) so we can't use more efficient encoding
- mapping functions.
+ * library/tcltest/tcltest.tcl: Bump to tcltest 2.3.2 after revision
+ * library/tcltest/pkgIndex.tcl: to verbose error message.
+ * unix/Makefile.in:
+ * win/Makefile.in:
-2007-10-27 Donal K. Fellows <dkf@users.sf.net>
+2009-08-27 Don Porter <dgp@users.sourceforge.net>
- * generic/regc_lex.c (lexescape): Close off one of the problems
- mentioned in [Bug 1810264].
+ * generic/tclStringObj.c: [Bug 2845535]: A few more string
+ overflow cases in [format].
-2007-10-27 Miguel Sofer <msofer@users.sf.net>
+2009-08-25 Andreas Kupries <andreask@activestate.com>
- * generic/tclNamesp.c (Tcl_FindCommand): insure that FQ command names
- are searched from the global namespace, ie, bypassing resolvers of the
- current namespace. [Bug 1114355]
+ * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard)
+ (Tcl_EvalEx, TclEvalEx, TclAdvanceContinuations, TclNREvalObjEx):
+ * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines):
+ * generic/tclCompCmds.c (*):
+ * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv)
+ (TclFreeCompileEnv, TclCompileScript, TclCompileTokens):
+ * generic/tclCompile.h (CompileEnv):
+ * generic/tclInt.h (ContLineLoc, Interp):
+ * generic/tclObj.c (ThreadSpecificData, ContLineLocFree)
+ (TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter,
+ (TclContinuationsEnterDerived, TclContinuationsCopy, TclFreeObj)
+ (TclContinuationsGet):
+ * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj):
+ * generic/tclProc.c (TclCreateProc):
+ * generic/tclVar.c (TclPtrSetVar):
+ * tests/info.test (info-30.0-24):
- * doc/apply.n: fixed example [Bug 1811791]
- * doc/namespace.n: improved example [Bug 1788984]
- * doc/AddErrInfo.3: typo [Bug 1715087]
- * doc/CrtMathFnc.3: fixed Tcl_ListMathFuncs entry [Bug 1672219]
+ Extended the parser, compiler, and execution engine with code and
+ attendant data structures tracking the position of continuation lines
+ which are not visible in the resulting script Tcl_Obj*'s, to properly
+ account for them while counting lines for #280.
- * generic/tclCompile.h:
- * generic/tclInt.h: moved declaration of TclSetCmdNameObj from
- tclCompile.h to tclInt.h, reverting linker [Bug 1821159] caused by
- commit of 2007-10-11 (both I and gcc missed one dep).
+2009-08-24 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclVar.c: try to preserve Tcl_Objs when doing variable
- lookups by name, partially addressing [Bug 1793601].
+ * generic/tclInt.h: Annotate Tcl_Panic as noreturn for clang static
+ analyzer in PURIFY builds, replacing preprocessor/assert technique.
-2007-10-27 Donal K. Fellows <dkf@users.sf.net>
+ * macosx/tclMacOSXNotify.c: Fix multiple issues with nested event loops
+ when CoreFoundation notifier is running in embedded mode. (Fixes
+ problems in TkAqua Cocoa reported by Youness Alaoui on tcl-mac)
- * tools/tcltk-man2html.tcl (make-man-pages, htmlize-text)
- (process-text): Make the man->HTML scraper work better.
+2009-08-21 Don Porter <dgp@users.sourceforge.net>
-2007-10-26 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclFileName.c: Correct regression in [Bug 2837800] fix.
+ * tests/fileName.test:
- *** 8.5b2 TAGGED FOR RELEASE ***
+2009-08-20 Don Porter <dgp@users.sourceforge.net>
- * changes: Updated for 8.5b2 release.
+ * generic/tclFileName.c: [Bug 2837800]: Correct the result produced by
+ [glob */test] when * matches something like ~foo.
- * doc/*.1: Revert doc changes that broke
- * doc/*.3: `make html` so we can get the release
- * doc/*.n: out the door.
+ * generic/tclPathObj.c: [Bug 2806250]: Prevent the storage of strings
+ starting with ~ in the "tail" part (normPathPtr field) of the path
+ intrep when PATHFLAGS != 0. This establishes the assumptions relied
+ on elsewhere that the name stored there is a relative path. Also
+ refactored to make an AppendPath() routine instead of the cut/paste
+ stanzas that were littered throughout.
- * README: Bump version number to 8.5b2.
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
+2009-08-20 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf (2.59)
- * win/configure:
+ * generic/tclCmdIL.c (TclNRIfObjCmd): [Bug 2823276]: Make [if]
+ NRE-safe on all arguments when interpreted.
+ (Tcl_LsortObjCmd): Close off memory leak.
-2007-10-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-08-19 Donal K. Fellows <dkf@users.sf.net>
- * tools/man2help2.tcl, tools/man2tcl.c: Made some of the tooling code
- to do man->other formats work better with current manpage set. Long
- way still to go.
+ * generic/tclCmdAH.c (TclNRForObjCmd, etc.): [Bug 2823276]: Make [for]
+ and [while] into NRE-safe commands, even when interpreted.
-2007-10-25 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2009-08-18 Don Porter <dgp@users.sourceforge.net>
- * generic/tclThread.c: Added TclpMasterLock/Unlock arround calls to
- ForgetSyncObject in Tcl_MutexFinalize and Tcl_ConditionFinalize to
- prevent from garbling the internal lists that track sync objects. [Bug
- 1726873]
+ * generic/tclPathObj.c: [Bug 2837800]: Added NULL check to prevent
+ * tests/fileName.test: crashes during [glob].
-2007-10-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-08-16 Jan Nijtmans <nijtmans@users.sf.net>
- * tools/man2html2.tcl (macro): Added support for converting the new
- macros into HTML.
+ * unix/dltest/pkge.c: const addition
+ * unix/tclUnixThrd.c: Use <pthread.h> in stead of "pthread.h"
+ * win/tclWinDde.c: Eliminate some more gcc warnings
+ * win/tclWinReg.c:
+ * generic/tclInt.h: Change ForIterData, make it const-safe.
+ * generic/tclCmdAH.c:
- * doc/man.macros (QW,PQ,QR,MT): New macros that hide the ugly mess
- needed to get proper GOOBE quoting in the manual pages.
- * doc/*.n, doc/*.3, doc/*.1: Lots of changes to take advantage of the
- new macros.
+2009-08-12 Don Porter <dgp@users.sourceforge.net>
-2007-10-20 Miguel Sofer <msofer@users.sf.net>
+ TIP #353 IMPLEMENTATION
- * generic/tclCompile.c: Fix comments.
+ * doc/NRE.3: New public routine Tcl_NRExprObj() permits
+ * generic/tcl.decls: extension commands to evaluate Tcl expressions
+ * generic/tclBasic.c: in NR-enabled command procedures.
+ * generic/tclCmdAH.c:
* generic/tclExecute.c:
-
-2007-10-18 David Gravereaux <davygrvy@pobox.com>
-
- * tools/mkdepend.tcl: sort the dep list for a more humanly readable
- output.
-
-2007-10-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclResult.c (TclMergeReturnOptions): Make sure any -code
- values get pulled out of the dictionary, even if they are integer
- valued.
-
- * generic/tclCompCmds.c (TclCompileReturnCmd): Added code to more
- optimally compile [return -level 0 $x] to "push $x". [RFE 1794073]
-
- * compat/tmpnam.c (removed): The routine tmpnam() is no longer
- * unix/Makefile.in: called by Tcl source code. Remove autogoo the
- * unix/configure.in: supplied a replacement version on systems
- * win/tcl.dsp: where the routine was not available. [RFE
- 1811848]
-
- * unix/configure: autoconf-2.59
-
- * generic/tcl.h: Remove TCL_LL_MODIFIER_SIZE. [RFE 1811837]
-
-2007-10-17 David Gravereaux <davygrvy@pobox.com>
-
- * tools/mkdepend.tcl: Improved defense from malformed object list
- infile.
-
-2007-10-17 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tools/man2html2.tcl: Convert .DS/.DE into HTML tables, not
- preformatted text.
-
-2007-10-17 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclCompExpr.c: Moved a misplaced declaration that blocked
- compilation on VC++.
- * generic/tclExecute.c: Silenced several VC++ compiler warnings about
- converting 'long' to 'unsigned short'.
-
-2007-10-16 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: removed old dependency cruft that is no longer
- needed.
-
-2007-10-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOCmd.c: Revise [open] so that it interprets leading
- zero strings passed as the "permissions" argument as octal numbers,
- even if Tcl itself no longer parses integers in that way.
-
- * unix/tclUnixFCmd.c: Revise the "-permissions" [file attribute] so
- that it interprets leading zero strings as octal numbers, even if Tcl
- itself no longer parses integers in that way.
-
- * generic/tclCompExpr.c: Corrections to code that produces
- * generic/tclUtil.c: extended "bad octal" error messages.
-
- * tests/cmdAH.test: Test revisions so that tests pass whether or
- * tests/cmdIL.test: not Tcl parses leading zero strings as octal.
- * tests/compExpr-old.test:
- * tests/compExpr.test:
- * tests/compile.test:
- * tests/expr-old.test:
+ * generic/tclInt.h:
+ * generic/tclObj.c:
* tests/expr.test:
- * tests/incr.test:
- * tests/io.test:
- * tests/lindex.test:
- * tests/link.test:
- * tests/mathop.test:
- * tests/parseExpr.test:
- * tests/set.test:
- * tests/string.test:
- * tests/stringComp.test:
-
-2007-10-15 David Gravereaux <davygrvy@pobox.com>
-
- * tools/mkdepend.tcl: Produces usable output. Include path problem
- * win/makefile.vc: fixed. Never fight city hall when it comes to
- levels of quoting issues.
-
-2007-10-15 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclParse.c (Tcl_ParseBraces): fix for possible read after
- the end of buffer. [Bug 1813528] (Joe Mistachkin)
-
-2007-10-14 David Gravereaux <davygrvy@pobox.com>
-
- * tools/mkdepend.tcl (new): Initial stab at generating automatic
- * win/makefile.vc: dependencies.
-
-2007-10-12 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Mine all version information from headers.
- * win/rules.vc: Sync tcl and tk and bring extension versions
- * win/nmakehlp.c: closer together. Try and avoid using tclsh to do
- substitutions as we may cross compile.
- * win/coffbase.txt: Added offsets for snack dlls.
-
-2007-10-11 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: Fixed my bad spelling mistakes from years back.
- Dedependency, duh! Rather funny.
-
-2007-10-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c: Correct [string is (wide)integer] failure
- * tests/string.test: to report correct failindex values for
- non-decimal integer strings. [Bug 1805887]
-
- * compat/strtoll.c (removed): The routines strtoll() and strtoull()
- * compat/strtoull.c (removed): are no longer called by the Tcl source
- * generic/tcl.h: code. (Their functionality has been replaced
- * unix/Makefile.in: by TclParseNumber().) Remove outdated comments
- * unix/configure.in: and mountains of configury autogoo that
- * unix/tclUnixPort.h: allegedly support the mythical systems where
- * win/Makefile.in: these routines might not have been available.
- * win/makefile.bc:
- * win/makefile.vc:
- * win/tclWinPort.h:
-
- * unix/configure: autoconf-2.59
-
-2007-10-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclObj.c: remove superfluous #include of tclCompile.h
-
-2007-10-08 George Peter Staplin <georgeps@xmission.com>
-
- * doc/Hash.3: Correct the valid usage of the flags member for the
- Tcl_HashKeyType. It should be 0 or more of the flags mentioned.
-
-2007-10-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tcl.h (Tcl_DecrRefCount): Update change from 2006-05-29 to
- make macro more warning-robust in unbraced if code.
-
-2007-10-02 Don Porter <dgp@users.sourceforge.net>
-
- [core-stabilizer-branch]
-
- * README: Bump version number to 8.5.0
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * unix/configure: autoconf (2.59)
- * win/configure:
-
-2007-10-02 Andreas Kupries <andreask@activestate.com>
-
- * library/tclIndex: Added 'tcl::tm::path' to the tclIndex. This fixes
- [Bug 1806422] reported by Don Porter.
-
-2007-09-25 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclProc.c (Tcl_DisassembleObjCmd): Define a command,
- ::tcl::unsupported::disassemble, which can disassemble procedures,
- lambdas and general scripts.
- * generic/tclCompile.c (TclDisassembleByteCodeObj): Split apart the
- code to print disassemblies of bytecode so that there is reusable code
- that spits it out in a Tcl_Obj and then that code is used when doing
- tracing.
-2007-09-20 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5b1 TAGGED FOR RELEASE ***
-
- * changes: updates for 8.5b1 release.
-
-2007-09-19 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bump version number to 8.5b1
- * generic/tcl.h: Merge from core-stabilizer-branch.
- * library/init.tcl: Stabilizing toward 8.5b1 release now done on
- * tools/tcl.wse.in: the HEAD. core-stabilizer-branch is now
- * unix/configure.in: suspended.
- * unix/tcl.spec:
- * win/configure.in:
-
-2007-09-19 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclStubLib.: Replaced isdigit with internal implementation.
-
-2007-09-18 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStubLib.c: Remove C library calls from Tcl_InitStubs() so
- * win/makefile.vc: that we don't need the C library linked in to
- libtclStub.
-
-2007-09-17 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Add crt flags for tclStubLib now it uses C-library
- functions.
-
-2007-09-17 Joe English <jenglish@users.sourceforge.net>
-
- * tcl.m4: use '${CC} -shared' instead of 'ld -Bshareable' to build
- shared libraries on current NetBSDs. [Bug 1749251]
- * unix/configure: regenerated (autoconf-2.59).
-
-2007-09-17 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Update `make dist` so that tclDTrace.d is
- included in the source code distribution.
-
- * generic/tcl.h: Revised Tcl_InitStubs() to restore Tcl 8.4
- * generic/tclPkg.c: source compatibility with callers of
- * generic/tclStubLib.c: Tcl_InitStubs(interp, TCL_VERSION, 1). [Bug
- 1578344]
-
-2007-09-17 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclTrace.c (Tcl_TraceObjCmd, TraceExecutionObjCmd)
- (TraceCommandObjCmd, TraceVariableObjCmd): Generate literal values
- * generic/tclNamesp.c (NamespaceCodeCmd): more efficiently using
- * generic/tclFCmd.c (CopyRenameOneFile): TclNewLiteralStringObj
- * generic/tclEvent.c (TclSetBgErrorHandler): macro.
-
-2007-09-15 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: replace all direct references to compiler by ${CC} to
- enable CC overriding at configure & make time; run
- check for visibility "hidden" with all compilers;
- quoting fixes from TEA tcl.m4.
- (SunOS-5.1x): replace direct use of '/usr/ccs/bin/ld' in SHLIB_LD by
- 'cc' compiler driver.
- * unix/configure: autoconf-2.59
-
-2007-09-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclBasic.c (Tcl_CreateObjCommand): Only invalidate along the
- namespace path once; that is enough. [Bug 1519940]
-
-2007-09-14 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclDTrace.d (new file): Add DTrace provider for Tcl; allows
- * generic/tclCompile.h: tracing of proc and command entry &
- * generic/tclBasic.c: return, bytecode execution, object
- * generic/tclExecute.c: allocation and more; with
- * generic/tclInt.h: essentially zero cost when tracing
- * generic/tclObj.c: is inactive; enable with
- * generic/tclProc.c: --enable-dtrace configure arg
- * unix/Makefile.in: (disabled by default, will only
- * unix/configure.in: enable if DTrace is present). [Patch
- 1793984]
-
- * macosx/GNUmakefile: Enable DTrace support.
- * macosx/Tcl-Common.xcconfig:
- * macosx/Tcl.xcodeproj/project.pbxproj:
-
- * generic/tclCmdIL.c: Factor out core of InfoFrameCmd() into
- internal TclInfoFrame() for use by DTrace
- probes.
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2007-09-12 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: Perform missing updates of the tcltest Tcl
- * win/Makefile.in: Module installed filename that should have
- been part of the bump to tcltest 2.3b1. Thanks Larry Virden.
-
-2007-09-12 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc, win/rules.vc, win/nmakehlp.c: Use nmakehlp to
- substitute values for tclConfig.sh (helps cross-compiling).
-
-2007-09-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Accept underscores and colons in
- * library/tcltest/pkgIndex.tcl: constraint names. Properly handle
- constraint expressions that return non-numeric boolean results like
- "false". Bump to tcltest 2.3b1. [Bug 1772989; RFE 1071322]
- * tests/info.test: Disable fragile tests.
-
- * doc/package.n: Restored the functioning of [package require
- * generic/tclPkg.c: -exact] to be compatible with Tcl 8.4. [Bug
- * tests/pkg.test: 1578344]
-
-2007-09-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompCmds.c (TclCompileDictCmd-update):
- * generic/tclCompile.c (tclInstructionTable):
- * generic/tclExecute.c (INST_DICT_UPDATE_END): fix stack management in
- compiled [dict update]. [Bug 1786481]
-
- ***POTENTIAL INCOMPATIBILITY***
- Scripts that were precompiled on earlier versions of 8.5 and use [dict
- update] will crash. Workaround: recompile.
-
-2007-09-11 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c: Corrected an off-by-one error in the setting
- of MaxBaseWide for certain powers. [Bug 1767293 - problem reported in
- comments when bug was reopened]
-
-2007-09-10 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclLink.c (Tcl_UpdateLinkedVar): guard against var being
- unlinked. [Bug 1740631] (maros)
-
-2007-09-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: fix tclInstructionTable entry for
- dictUpdateEnd
-
- * generic/tclExecute.c: remove unneeded setting of 'cleanup' variable
- before jumping to checkForCatch.
-
-2007-09-10 Don Porter <dgp@users.sourceforge.net>
-
- * doc/package.n: Restored the document parallel syntax of the
- * generic/tclPkg.c: [package present] and [package require]
- * tests/pkg.test: commands. [Bug 1723675]
-
-2007-09-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: Removed the "nsName" Tcl_ObjType from the
- * generic/tclNamesp.c: registered set. Revised the management of the
- * generic/tclObj.c: intrep of that Tcl_ObjType. Revised the
- * tests/obj.test: TclGetNamespaceFromObj() routine to return
- TCL_ERROR and write a consistent error message when a namespace is not
- found. [Bug 1588842. Patch 1686862]
-
- ***POTENTIAL INCOMPATIBILITY***
- For callers of Tcl_GetObjType() on the name "nsName".
-
- * generic/tclExecute.c: Update TclGetNamespaceFromObj() callers.
- * generic/tclProc.c:
-
- * tests/apply.test: Updated tests to expect new consistent
- * tests/namespace-old.test: error message when a namespace is not
- * tests/namespace.test: found.
- * tests/upvar.test:
-
- * generic/tclCompCmds.c: Use the new INST_REVERSE instruction
- * tests/mathop.test: to correct the compiled versions of math
- operator commands. [Bug 1724437]
-
- * generic/tclCompile.c: New bytecode instruction INST_REVERSE to
- * generic/tclCompile.h: reverse the order of N items at the top of
- * generic/tclExecute.c: stack.
-
- * generic/tclCompCmds.c (TclCompilePowOpCmd): Make a separate
- routine to compile ** to account for its different associativity.
-
-2007-09-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (Tcl_SetVar2, TclPtrSetVar): [Bug 1710710] fixed
- correctly, reverted fix of 2007-05-01.
-
-2007-09-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (DictUpdateCmd, DictWithCmd): Plug a hole that
- * generic/tclExecute.c (TEBC,INST_DICT_UPDATE_END): allowed a careful
- * tests/dict.test (dict-21.16,21.17,22.11): attacker to craft a dict
- containing a recursive link to itself, violating one of Tcl's
- fundamental datatype assumptions and causing a stack crash when the
- dict was converted to a string. [Bug 1786481]
-
-2007-09-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEvent.c ([::tcl::Bgerror]): Corrections to Tcl's
- * tests/event.test: default [interp bgerror] handler so that when
- it falls back to a hidden [bgerror] in a safe interp, it gets the
- right error context data. [Bug 1790274]
-
-2007-09-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (TclInitCompiledLocals): the refCount of resolved
- variables was being managed without checking if they were Var or
- VarInHash: itcl [Bug 1790184]
-
-2007-09-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclResult.c (Tcl_GetReturnOptions): Take care that a
- * tests/init.test: non-TCL_ERROR code doesn't cause existing
- -errorinfo, -errorcode, and -errorline entries to be omitted.
- * generic/tclEvent.c: With -errorInfo no longer lost, generate more
- complete ::errorInfo when calling [bgerror] after a non-TCL_ERROR
- background exception.
-
-2007-09-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInterp.c (Tcl_Init): Removed constraint on ability
- to define a custom [tclInit] before calling Tcl_Init(). Until now the
- custom command had to be a proc. Now it can be any command.
-
- * generic/tclInt.decls: New internal routine TclBackgroundException()
- * generic/tclEvent.c: that for the first time permits non-TCL_ERROR
- exceptions to trigger [interp bgerror] handling. Closes a gap in TIP
- 221. When falling back to [bgerror] (which is designed only to handle
- TCL_ERROR), convert exceptions into errors complaining about the
- exception.
-
- * generic/tclInterp.c: Convert Tcl_BackgroundError() callers to call
- * generic/tclIO.c: TclBackgroundException().
- * generic/tclIOCmd.c:
- * generic/tclTimer.c:
-
- * generic/tclIntDecls.h: make genstubs
+ * generic/tclDecls.h: make genstubs
* generic/tclStubInit.c:
-2007-09-06 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcode/project.pbxproj: discontinue unmaintained support
- * macosx/Tcl.xcode/default.pbxuser: for Xcode 1.5; replace by Xcode2
- project for use on Tiger (with Tcl.xcodeproj to be used on Leopard).
-
- * macosx/Tcl.xcodeproj/project.pbxproj: updates for Xcode 2.5 and 3.0.
- * macosx/Tcl.xcodeproj/default.pbxuser:
- * macosx/Tcl.xcode/project.pbxproj:
- * macosx/Tcl.xcode/default.pbxuser:
- * macosx/Tcl-Common.xcconfig:
-
- * macosx/README: document project changes.
-
-2007-09-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Removed support for the unmaintained
- * generic/tclExecute.c: -DTCL_GENERIC_ONLY configuration. [Bug
- * unix/Makefile.in: 1264623]
-
-2007-09-04 Don Porter <dgp@users.sourceforge.net>
-
- * unix/Makefile.in: It's unreliable to count on the release
- manager to remember to `make genstubs` before `make dist`. Let the
- Makefile remember the dependency for us.
-
- * unix/Makefile.in: Corrections to `make dist` dependencies to be
- sure that macosx/configure gets generated whenever it does not exist.
-
-2007-09-03 Kevin B, Kenny <kennykb@acm.org>
-
- * library/tzdata/Africa/Cairo:
- * library/tzdata/America/Grand_Turk:
- * library/tzdata/America/Port-au-Prince:
- * library/tzdata/America/Indiana/Petersburg:
- * library/tzdata/America/Indiana/Tell_City:
- * library/tzdata/America/Indiana/Vincennes:
- * library/tzdata/Antarctica/McMurdo:
- * library/tzdata/Australia/Adelaide:
- * library/tzdata/Australia/Broken_Hill:
- * library/tzdata/Australia/Currie:
- * library/tzdata/Australia/Hobart:
- * library/tzdata/Australia/Lord_Howe:
- * library/tzdata/Australia/Melbourne:
- * library/tzdata/Australia/Sydney:
- * library/tzdata/Pacific/Auckland:
- * library/tzdata/Pacific/Chatham: Olson's tzdata2007g.
-
- * generic/tclListObj.c (TclLindexFlat):
- * tests/lindex.test (lindex-17.[01]): Added code to detect the error
- when a script does [lindex {} end foo]; an overaggressive optimisation
- caused this call to return an empty object rather than an error.
-
-2007-09-03 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclObj.c (TclInitObjSubsystem): restore registration of the
- "wideInt" Tcl_ObjType for compatibility with 8.4 extensions that
- access the tclWideIntType Tcl_ObjType; add setFromAnyProc for
- tclWideIntType.
-
-2007-09-02 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/lsearch.n: Added note that order of results with the -all option
- is that of the input list. It always was, but this makes it crystal.
-
-2007-08-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Added fflush() calls following all callers of
- * generic/tclExecute.c: TclPrintByteCodeObj() so that tcl_traceCompile
- output is less likely to get mangled when writes to stdout interleave
- with other code.
-
-2007-08-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Use a table lookup in ParseLexeme() to
- determine lexemes with single-byte representations.
-
- * generic/tclBasic.c: Used unions to better clarify overloading of
- * generic/tclCompExpr.c: the fields of the OpCmdInfo and
- * generic/tclCompile.h: TclOpCmdClientData structs.
-
-2007-08-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Call TclCompileSyntaxError() when
- expression syntax errors are found when compiling expressions. With
- this in place, convert TclCompileExpr to return void, since there's no
- longer any need to report TCL_ERROR.
- * generic/tclCompile.c: Update callers.
- * generic/tclExecute.c:
-
- * generic/tclCompCmds.c: New routine TclCompileSyntaxError()
- * generic/tclCompile.h: to directly compile bytecodes that report a
- * generic/tclCompile.c: syntax error, rather than (ab)use a call to
- TclCompileReturnCmd. Also, undo the most recent commit that papered
- over some issues with that (ab)use. New routine produces a new opcode
- INST_SYNTAX, which is a minor variation of INST_RETURN_IMM. Also a bit
- of constification.
-
- * generic/tclCompile.c: Move the deallocation of local LiteralTable
- * generic/tclCompExpr.c: entries into TclFreeCompileEnv().
- * generic/tclExecute.c: Update callers.
-
- * generic/tclCompExpr.c: Force numeric and boolean literals in
- expressions to register with their intreps intact, even if that means
- overwriting existing intreps in already registered literals.
-
-2007-08-25 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c (TclExecuteByteCode): Added code to handle
- * tests/expr.test (expr-23.48-53) integer exponentiation
- that results in 32- and 64-bit integer results, avoiding calls to wide
- integer exponentiation routines in this common case. [Bug 1767293]
-
- * library/clock.tcl (ParseClockScanFormat): Modified code to allow
- * tests/clock.test (clock-60.*): case-insensitive matching
- of time zone and month names. [Bug 1781282]
-
-2007-08-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Register literals found in expressions
- * tests/compExpr.test: to restore literal sharing. Preserve numeric
- intreps when literals are created for the first time. Correct memleak
- in ExecConstantExprTree() and add test for the leak.
-
-2007-08-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: replaced copy loop that tripped some compilers
- with memmove. [Bug 1780870]
-
-2007-08-23 Don Porter <dgp@users.sourceforge.net>
-
- * library/init.tcl ([auto_load_index]): Delete stray "]" that created
- an expr syntax error (masked by a [catch]).
-
- * generic/tclCompCmds.c (TclCompileReturnCmd): Added crash protection
- to handle callers other than TclCompileScript() failing to meet the
- initialization assumptions of the TIP 280 code in CompileWord().
-
- * generic/tclCompExpr.c: Suppress the attempt to convert to
- numeric when pre-compiling a constant expresion indicates an error.
-
-2007-08-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (TEBC): disable the new shortcut to frequent
- INSTs for debug builds. REVERTED (collision with alternative fix)
-
-2007-08-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclMain.c: Corrected the logic of dropping the last
- * tests/main.test: newline from an interactively typed command.
- [Bug 1775878]
-
-2007-08-21 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/thread.test: thread-4.4: clear ::errorInfo in the thread as a
- message is left here from init.tcl on windows due to no tcl_pkgPath.
-
-2007-08-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_SUB): fix usage of the new macro for
- overflow detection in sums, adapt to subtraction. Lengthy comment
- added.
-
-2007-08-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (Overflowing, TclIncrObj, TclExecuteByteCode):
- Encapsulate Miguel's last change in a more mnemonic macro.
-
-2007-08-19 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: changed the check for overflow in sums,
- reducing objsize, number of branches and cache misses (according to
- cachegrind). Non-overflow for s=a+b:
- previous
- ((a >= 0 || b >= 0 || s < 0) && (s >= 0 || b < 0 || a < 0))
- now
- (((a^s) >= 0) || ((a^b) < 0))
- This expresses: "a and s have the same sign or else a and b have
- different sign".
-
-2007-08-19 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/interp.n (RESOURCE LIMITS): Added text to better explain why
- time limits are described using absolute times. [Bug 1752148]
-
-2007-08-16 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: improved localVarNameType caching to leverage
- the new availability of Tcl_Obj in variable names, avoiding string
- comparisons to verify that the cached value is usable.
-
- * generic/tclExecute.c: check the two most frequent instructions
- before the switch. Reduces both runtime and obj size a tiny bit.
-
-2007-08-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Added a "constant" field to the OpNode
- struct (again "free" due to alignment requirements) to mark those
- subexpressions that are completely known at compile time. Enhanced
- CompileExprTree() and its callers to precompute these constant
- subexpressions at compile time. This resolves the issue raised in [Bug
- 1564517].
-
-2007-08-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclIOUtil.c (TclGetOpenModeEx): 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]
-
-2007-08-14 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_INVOKE*): peephole opt, do not get the
- interp's result if it will be pushed/popped.
-
-2007-08-14 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Use fully qualified variable names for
- * tests/thread.test: ::errorInfo and ::errorCode so that string
- * tests/trace.test: reported to variable traces are fully
- qualified in agreement with Tcl 8.4 operations.
-
-2007-08-14 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclLoadDyld.c: use dlfcn API on Mac OS X 10.4 and later; fix
- issues with loading from memory on intel and 64bit; add debug messages
-
- * tests/load.test: add test load-10.1 for loading from vfs.
-
- * unix/dltest/pkga.c: whitespace & comment cleanup, remove
- * unix/dltest/pkgb.c: unused pkgf.c.
- * unix/dltest/pkgc.c:
- * unix/dltest/pkge.c:
- * unix/dltest/pkgf.c (removed):
- * unix/dltest/pkgua.c:
- * macosx/Tcl.xcodeproj/project.pbxproj:
-
-2007-08-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Provide DECACHE/CACHE protection to the
- * tests/trace.test: Tcl_LogCommandInfo() call. [Bug 1773040]
-
-2007-08-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdMZ.c (Tcl_SplitObjCmd): use TclNewStringObj macro
- instead of calling the function.
-
- * generic/tcl_Obj.c (TclAllocateFreeObjects): remove unneeded memset
- to 0 of all allocated objects.
+2009-08-06 Andreas Kupries <andreask@activestate.com>
-2007-08-10 Miguel Sofer <msofer@users.sf.net>
+ * doc/refchan.n [Bug 2827000]: Extended the implementation of
+ * generic/tclIORChan.c: reflective channels (TIP 219, method
+ * tests/ioCmd.test: 'read'), enabling handlers to signal EAGAIN to
+ indicate 'no data, but not at EOF either', and other system
+ errors. Updated documentation, extended testsuite (New test cases
+ iocmd*-23.{9,10}).
- * generic/tclInt.h: remove redundant ops in TclNewStringObj macro.
+2009-08-02 Miguel Sofer <msofer@users.sf.net>
-2007-08-10 Miguel Sofer <msofer@users.sf.net>
+ * tests/coroutine.test: fix testfile cleanup
- * generic/tclInt.h: fix the TclSetVarNamespaceVar macro, was causing a
- leak.
+2009-08-02 Donal K. Fellows <dkf@users.sf.net>
-2007-08-10 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclObj.c (Tcl_RepresentationCmd): Added an unsupported
+ command for reporting the representation of an object. Result string
+ is deliberately a bit obstructive so that people are not encouraged to
+ make code that depends on it; it's a debugging tool only!
- * generic/tclCompExpr.c: Revise CompileExprTree() to use the
- OpNode mark field scheme of tree traversal. This eliminates the need
- to use magic values in the left and right fields for that purpose.
- Also stop abusing the left field within ParseExpr() to store the
- number of arguments in a parsed function call. CompileExprTree() now
- determines that for itself at compile time. Then reorder code to
- eliminate duplication.
+ * unix/tclUnixFCmd.c (GetOwnerAttribute, SetOwnerAttribute)
+ (GetGroupAttribute, SetGroupAttribute): [Bug 1942222]: Stop calling
+ * unix/tclUnixFile.c (TclpGetUserHome): endpwent() and endgrent();
+ they've been unnecessary for ages.
-2007-08-09 Miguel Sofer <msofer@users.sf.net>
+2009-08-02 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclProc.c (TclCreateProc): better comments on the required
- varflag values when loading precompiled procs.
+ * win/tclWin32Dll.c: Eliminate TclWinResetInterfaceEncodings, since it
+ * win/tclWinInit.c: does exactly the same as TclWinEncodingsCleanup,
+ * win/tclWinInt.h: make sure that tclWinProcs and
+ tclWinTCharEncoding are always set and reset
+ concurrently.
+ * win/tclWinFCmd.c: Correct check for win95
- * generic/tclExecute.c (INST_STORE_ARRAY):
- * tests/trace.test (trace-2.6): whole array write traces on compiled
- local variables were not firing. [Bug 1770591]
+2009-07-31 Don Porter <dgp@users.sourceforge.net>
-2007-08-08 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclStringObj.c: [Bug 2830354]: Corrected failure to
+ * tests/format.test: grow buffer when format spec request
+ large width floating point values. Thanks to Clemens Misch.
- * generic/tclProc.c (InitLocalCache): reference firstLocalPtr via
- procPtr. codePtr->procPtr == NULL exposed by tbcload.
+2009-07-26 Donal K. Fellows <dkf@users.sf.net>
-2007-08-08 Don Porter <dgp@users.sourceforge.net>
+ * library/auto.tcl (tcl_findLibrary, auto_mkindex):
+ * library/package.tcl (pkg_mkIndex, tclPkgUnknown, MacOSXPkgUnknown):
+ * library/safe.tcl (interpAddToAccessPath, interpDelete, AliasGlob):
+ (AliasSource, AliasLoad, AliasEncoding):
+ * library/tm.tcl (UnknownHandler): Simplify by swapping some [catch]
+ gymnastics for use of [try].
- * generic/tclExecute.c: Corrected failure to compile/link in the
- -DNO_WIDE_TYPE configuration.
+2009-07-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclExecute.c: Corrected improper use of bignum arguments to
- * tests/expr.test: *SHIFT operations. [Bug 1770224]
+ * tools/genStubs.tcl: Forced LF translation when generating .h's to
+ avoid spurious diffs when regenerating on a Windows box.
-2007-08-07 Miguel Sofer <msofer@users.sf.net>
+2009-07-26 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.h: remove comments refering to VAR_SCALAR, as that
- flag bit does not exist any longer.
- * generic/tclProc.c (InitCompiledLocals): removed optimisation for
- non-resolved case, as the function is never called in that case.
- Renamed the function to InitResolvedLocals to calrify the point.
+ * win/Makefile.in: [Bug 2827066]: msys build --enable-symbols broken
+ * win/tcl.m4: And modified the same for unicows.dll, as a
+ * win/configure: preparation for [Enh 2819611].
- * generic/tclInt.decls: Exporting via stubs to help xotcl adapt to
- * generic/tclInt.h: VarReform.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
+2009-07-25 Donal K. Fellows <dkf@users.sf.net>
-2007-08-07 Daniel Steffen <das@users.sourceforge.net>
+ * library/history.tcl (history): Reworked the history mechanism in
+ terms of ensembles, rather than the ad hoc ensemble-lite mechanism
+ used previously.
- * generic/tclEnv.c: improve environ handling on Mac OS X (adapted
- * unix/tclUnixPort.h: from Apple changes in Darwin tcl-64).
+2009-07-24 Donal K. Fellows <dkf@users.sf.net>
- * unix/Makefile.in: add support for compile flags specific to
- object files linked directly into executables.
+ * doc/self.n (self class): [Bug 2704302]: Add some text to make it
+ clearer how to get the name of the current object's class.
- * unix/configure.in (Darwin): only use -seg1addr flag when prebinding;
- use -mdynamic-no-pic flag for object files linked directly into exes;
- support overriding TCL_PACKAGE_PATH/TCL_MODULE_PATH in environment.
+2009-07-23 Andreas Kupries <andreask@activestate.com>
- * unix/configure: autoconf-2.59
+ * generic/tclIO.c (Tcl_GetChannelHandle): [Bug 2826248]: Do not crash
+ * generic/tclPipe.c (FileForRedirect): for getHandleProc == NULL, this
+ is allowed. Provide a nice error message in the bypass area. Updated
+ caller to check the bypass for a mesage. Bug reported by Andy
+ Sonnenburg <andy22286@users.sourceforge.net>
-2007-08-06 Don Porter <dgp@users.sourceforge.net>
+2009-07-23 Joe Mistachkin <joe@mistachkin.com>
- * tests/parseExpr.test: Update source file name of expr parser code.
+ * generic/tclNotify.c: [Bug 2820349]: Ensure that queued events are
+ freed once processed.
- * generic/tclCompExpr.c: Added a "mark" field to the OpNode
- struct, which is used to guide tree traversal. This field costs
- nothing since alignement requirements used the memory already.
- Rewrote ConvertTreeToTokens() to use the new field, which permitted
- consolidation of utility routines CopyTokens() and
- GenerateTokensForLiteral().
+2009-07-22 Jan Nijtmans <nijtmans@users.sf.net>
-2007-08-06 Kevin B. Kenny <kennykb@users.sf.net>
+ * macosx/tclMacOSXFCmd.c: CONST -> const
+ * generic/tclGetDate.y:
+ * generic/tclDate.c:
+ * generic/tclLiteral.c: (char *) cast in ckfree call
+ * generic/tclPanic.c: [Feature Request 2814786]: remove TclpPanic
+ * generic/tclInt.h
+ * unix/tclUnixPort.h
+ * win/tclWinPort.h
- * generic/tclGetDate.y: Added a cast to the definition of YYFREE to
- silence compiler warnings.
- * generic/tclDate.c: Regenerated
- * win/tclWinTest.c: Added a cast to GetSecurityDescriptorDacl call
- to silence compiler warnings.
+2009-07-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2007-08-04 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclEvent.c: [Bug 2001201 again]: Refined the 20090617 patch
+ on [exit] streamlining, so that it now correctly calls thread exit
+ handlers for the calling thread, including <Destroy> bindings in Tk.
- * generic/tclInt.decls: Exporting via stubs to help itcl adapt to
- * generic/tclInt.h: VarReform. Added localCache initialization
- * generic/tclIntDecls.h: to TclInitCompiledLocals (which only exists
- * generic/tclProc.c: for itcl).
- * generic/tclStubInit.c:
- * generic/tclVar.c:
+2009-07-21 Kevin B. Kenny <kennykb@acm.org>
-2007-08-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * library/tzdata/Asia/Dhaka:
+ * library/tzdata/Indian/Mauritius: Olson's tzdata2009k.
- * library/word.tcl: Rewrote for greater efficiency. [Bug 1764318]
+2009-07-20 Donal K. Fellows <dkf@users.sf.net>
-2007-08-01 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * generic/tclCmdMZ.c (StringIsCmd): Reorganize so that [string is] is
+ more efficient when parsing things that are correct, at a cost of
+ making the empty string test slightly more costly. With this, the cost
+ of doing [string is integer -strict $x] matches [catch {expr {$x+0}}]
+ in the successful case, and greatly outstrips it in the failing case.
- * generic/tclInt.h: Added a TclOffset macro ala Tk_Offset to
- * generic/tclVar.c: abstract out 'offsetof' which may not be
- * generic/tclExceute.c: defined (eg: msvc6).
+2009-07-19 Donal K. Fellows <dkf@users.sf.net>
-2007-08-01 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclOO.decls, generic/tclOO.c (Tcl_GetObjectName): Expose a
+ function for efficiently returning the current name of an object.
- * generic/tclVar.c (TclCleanupVar): fix [Bug 1765225], thx Larry
- Virden.
+2009-07-18 Daniel Steffen <das@users.sourceforge.net>
-2007-07-31 Miguel Sofer <msofer@users.sf.net>
+ * unix/Makefile.in: Define NDEBUG in optimized (non-symbols) build to
+ disable NRE assert()s and threaded allocator range checks.
- * doc/Hash.3:
- * generic/tclHash.c:
- * generic/tclObj.c:
- * generic/tclThreadStorage.c: (changes part of the patch below)
- Stop Tcl_CreateHashVar from resetting hPtr->clientData to NULL after
- calling the allocEntryProc for a custom table.
+2009-07-16 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h:
- * generic/tclBasic.c:
+ * generic/tclBinary.c: Removed unused variables.
* generic/tclCmdIL.c:
- * generic/tclCompCmds.c:
* generic/tclCompile.c:
- * generic/tclCompile.h:
* generic/tclExecute.c:
* generic/tclHash.c:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclLiteral.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclProc.c:
- * generic/tclThreadStorage.c:
- * generic/tclTrace.c:
- * generic/tclVar.c: VarReform [Patch 1750051]
-
- *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
- Extensions that access internals defined in tclInt.h and/or
- tclCompile.h may lose both binary and source compatibility. The
- relevant changes are:
- 1. 'struct Var' is completely changed, all acceses to its internals
- (either direct or via the TclSetVar* and TclIsVar* macros) will
- malfunction. Var flag values and semantics changed too.
- 2. 'struct Bytecode' has an additional field that has to be
- initialised to NULL
- 3. 'struct Namespace' is larger, as the varTable is now one pointer
- larger than a Tcl_HashTable. Direct access to its fields will
- malfunction.
- 4. 'struct CallFrame' grew one more field (the second such growth with
- respect to Tcl8.4).
- 5. API change for the functions TclFindCompiledLocal, TclDeleteVars
- and many internal functions in tclVar.c
-
- Additionally, direct access to variable hash tables via the standard
- Tcl_Hash* interface is to be considered as deprecated. It still works
- in the present version, but will be broken by further specialisation
- of these hash tables. This concerns especially the table of array
- elements in an array, as well as the varTable field in the Namespace
- struct.
-
-2007-07-31 Miguel Sofer <msofer@users.sf.net>
-
- * unix/configure.in: allow use of 'inline' in Tcl sources. [Patch
- * win/configure.in: 1754128]
- * win/makefile.vc: Regen with autoconf 2.61
+ * generic/tclIOUtil.c:
+ * generic/tclVar.c:
-2007-07-31 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclBasic.c: Silence compiler warnings about ClientData.
+ * generic/tclProc.c:
- * unix/tclUnixInit.c (TclpSetVariables): Use the thread-safe getpwuid
- replacement to fill the tcl_platform(user) field as it is not subject
- to spoofing. [Bug 681877]
+ * generic/tclScan.c: Typo in ACCEPT_NAN configuration.
- * unix/tclUnixCompat.c: Simplify the #ifdef logic.
+ * generic/tclStrToD.c: [Bug 2819200]: Set floating point control
+ register on MIPS systems so that the gradual underflow expected by Tcl
+ is in effect.
- * unix/tclUnixChan.c (FileWatchProc): Fix test failures.
+2009-07-15 Donal K. Fellows <dkf@users.sf.net>
-2007-07-30 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclInt.h (Namespace): Added machinery to allow
+ * generic/tclNamesp.c (many functions): reduction of memory used
+ * generic/tclResolve.c (BumpCmdRefEpochs): by namespaces. Currently
+ #ifdef'ed out because of compatibility concerns.
- * unix/tclUnixChan.c (SET_BITS, CLEAR_BITS): Added macros to make this
- file clearer.
+ * generic/tclInt.decls: Added four functions for better integration
+ with itcl-ng.
-2007-07-24 Miguel Sofer <msofer@users.sf.net>
+2009-07-14 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclBasic.c (TEOvI, GetCommandSource):
- * generic/tclExecute.c (TEBC, TclGetSrcInfoForCmd):
- * generic/tclInt.h:
- * generic/tclTrace.c (TclCheck(Interp|Execution)Traces):
- Removed the need for TEBC to inspect the command before calling TEOvI,
- leveraging the TIP 280 infrastructure. Moved the generation of a
- correct nul-terminated command string away from the trace code, back
- into TEOvI/GetCommandSource.
+ * generic/tclInt.h (TclNRSwitchObjCmd):
+ * generic/tclBasic.c (builtInCmds):
+ * generic/tclCmdMZ.c (Tcl_SwitchObjCmd):
+ * tests/switch.test (switch-15.1):
+ [Bug 2821401]: Make non-bytecoded [switch] command aware of NRE.
+
+2009-07-13 Andreas Kupries <andreask@activestate.com>
+
+ * generic/tclCompile.c (TclInitCompileEnv, EnterCmdWordIndex)
+ (TclCleanupByteCode, TclCompileScript):
+ * generic/tclExecute.c (TclCompileObj, TclExecuteByteCode):
+ * tclCompile.h (ExtCmdLoc):
+ * tclInt.h (ExtIndex, CFWordBC, CmdFrame):
+ * tclBasic.c (DeleteInterpProc, TclArgumentBCEnter)
+ (TclArgumentBCRelease, TclArgumentGet, SAVE_CONTEXT)
+ (RESTORE_CONTEXT, NRCoroutineExitCallback, TclNRCoroutineObjCmd):
+ * generic/tclCmdAH.c (TclNRForObjCmd, TclNRForIterCallback,
+ (ForNextCallback):
+ * generic/tclCmdMZ.c (TclNRWhileObjCmd):
+
+ Extended the bytecode compiler initialization to recognize the
+ compilation of whole files (NRE enabled 'source' command) and switch
+ to the counting of absolute lines in that case.
+
+ Further extended the bytecode compiler to track the start line in the
+ generated information, and modified the bytecode execution to
+ recompile an object if the location as per the calling context doesn't
+ match the location saved in the bytecode. This part could be optimized
+ more by using more memory to keep all possibilities which occur
+ around, or by just adjusting the location information instead of a
+ total recompile.
-2007-07-20 Andreas Kupries <andreask@activestate.com>
+ Reworked the handling of literal command arguments in bytecode to be
+ saved (compiler) and used (execution) per command (See the
+ TCL_INVOKE_STK* instructions), and not per the whole bytecode. This,
+ and the previous change remove the problems with location data caused
+ by literal sharing (across whole files, but also proc bodies).
+ Simplified the associated datastructures (ExtIndex is gone, as is the
+ function EnterCmdWordIndex).
- * library/platform/platform.tcl: Fixed bug in 'platform::patterns'
- * library/platform/pkgIndex.tcl: where identifiers not matching
- * unix/Makefile.in: the special linux and solaris forms would not
- * win/Makefile.in: get 'tcl' as an acceptable platform added to
- * doc/platform.n: the result. Bumped package to version 1.0.3 and
- * doc/platform_shell.n: updated documentation and Makefiles. Also
- fixed bad version info in the documentation of platform::shell.
+ The last change causes the hashtable 'lineLABCPtr' to be state which
+ has to be kept per coroutine, like the CmdFrame stack. Reworked the
+ coroutine support code to create, delete and switch the information as
+ needed. Further reworked the tailcall command as well, it has to pop
+ its own arguments when run in a bytecode context to keep a proper
+ stack in 'lineLABCPtr'.
-2007-07-19 Don Porter <dgp@users.sourceforge.net>
+ Fixed the mishandling of line information in the NRE-enabled 'for' and
+ 'while' commands introduced when both were made to share their
+ iteration callbacks without taking into account that the loop body is
+ found in different words of the command. Introduced a separate data
+ structure to hold all the callback information, as we went over the
+ limit of 4 direct client-data values for NRE callbacks.
- * generic/tclParse.c: In contexts where interp and parsePtr->interp
- might be different, be sure to use the latter for error reporting.
- Also pulled the interp argument back out of ParseTokens() since we
- already had a parsePtr->interp to work with.
+ The above fixes [Bug 1605269].
-2007-07-18 Don Porter <dgp@users.sourceforge.net>
+2009-07-12 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompExpr.c: Removed unused arguments and variables
+ * generic/tclCmdMZ.c (StringIndexCmd, StringEqualCmd, StringCmpCmd):
+ * generic/tclExecute.c (TclExecuteByteCode): [Bug 2637173]: Factor out
+ * generic/tclInt.h (TclIsPureByteArray): the code to determine if
+ * generic/tclUtil.c (TclStringMatchObj): it is safe to work with
+ byte arrays directly, so that we get the check correct _once_.
-2007-07-17 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclOOCall.c (TclOOGetCallContext): [Bug 1895546]: Changed
+ * generic/tclOO.c (TclOOObjectCmdCore): the way that the cache is
+ managed so that when itcl does cunning things, those cunning things
+ can be cached properly.
- * generic/tclCompExpr.c (ParseExpr): While adding comments to
- explain the operations of ParseExpr(), made significant revisions to
- the code so it would be easier to explain, and in the process made the
- code simpler and clearer as well.
+2009-07-11 Donal K. Fellows <dkf@users.sf.net>
-2007-07-15 Don Porter <dgp@users.sourceforge.net>
+ * doc/vwait.n: Substantially increased the discussion of issues and
+ work-arounds relating to nested vwaits, following discussion on the
+ tcl-core mailing list on the topic.
- * generic/tclCompExpr.c: More commentary.
- * tests/parseExpr.test: Several tests of syntax error messages
- to check that when expression substrings are truncated they leave
- visible the context relevant to the reported error.
+2009-07-10 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-07-12 Don Porter <dgp@users.sourceforge.net>
+ * tests/zlib.test: ZlibTransformClose may be called with a NULL
+ * generic/tclZlib.c: interpreter during finalization and
+ Tcl_SetChannelError requires a list. Added some tests to ensure error
+ propagation from the zlib library to the interp.
- * generic/tclCompExpr.c: Factored out, corrected, and commented
- common code for reporting syntax errors in LEAF elements.
+2009-07-09 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-07-11 Miguel Sofer <msofer@users.sf.net>
+ * tests/zlib.test: [Bug 2818131]: Added tests and fixed a typo that
+ broke [zlib push] for deflate format.
- * generic/tclCompCmds.c (TclCompileWhileCmd):
- * generic/tclCompile.c (TclCompileScript):
- Corrected faulty avoidance of INST_START_CMD when the first opcode in
- a script is within a loop (as produced by 'while 1'), so that the
- corresponding command is properly counted. [Bug 1752146]
+2009-07-09 Donal K. Fellows <dkf@users.sf.net>
-2007-07-11 Don Porter <dgp@users.sourceforge.net>
+ * compat/mkstemp.c (mkstemp): [Bug 2819227]: Use rand() for random
+ numbers as it is more portable.
- * generic/tclCompExpr.c: Added a "parseOnly" flag argument to
- ParseExpr() to indicate whether the caller is Tcl_ParseExpr(), with an
- end goal of filling a Tcl_Parse with Tcl_Tokens representing the
- parsed expression, or TclCompileExpr() with the goal of compiling and
- executing the expression. In the latter case, more aggressive
- conversion of QUOTED and BRACED lexeme to literals is done. In the
- former case, all such conversion is avoided, since Tcl_Token
- production would revert it anyway. This enables simplifications to the
- GenerateTokensForLiteral() routine as well.
+2009-07-05 Donal K. Fellows <dkf@users.sf.net>
-2007-07-10 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclZlib.c (ZlibTransformWatch): Correct the handling of
+ events so that channel transforms work with things like an asynch
+ [chan copy]. Problem reported by Pat Thoyts.
- * generic/tclCompExpr.c: Added a field for operator precedence
- to be stored directly in the parse tree. There's no memory cost to
- this addition, since that memory would have been lost to alignment
- issues anyway. Also, converted precedence definitions and lookup
- tables to use symbolic constants instead of raw number for improved
- readability, and continued extending/improving/correcting comments.
- Removed some unused counter variables. Renamed some variables for
- clarity and replaced some cryptic logic with more readable macros.
+2009-07-01 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-07-09 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWinInt.h: [Bug 2806622]: Handle the GetUserName API call
+ * win/tclWin32Dll.c: via the tclWinProcs indirection structure. This
+ * win/tclWinInit.c: fixes a problem obtaining the username when the
+ USERNAME environment variable is unset.
- * generic/tclCompExpr.c: Revision so that the END lexeme never
- gets inserted into the parse tree. Later tree traversal never reaches
- it since its location in the tree is not variable. Starting and
- stopping with the START lexeme (node 0) is sufficient. Also finished
- lexeme code commentary.
+2009-06-30 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclCompExpr.c: Added missing creation and return of
- the Tcl_Parse fields that indicate error conditions. [Bug 1749987]
+ * generic/tclInt.h: Add assert macros for clang static
+ * generic/tclPanic.c: analyzer and redefine Tcl_Panic to
+ * generic/tclStubInit.c: assert after panic in clang PURIFY
+ builds.
-2007-07-05 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdIL.c: Add clang assert for false positive
+ from static analyzer.
- * library/init.tcl (unknown): Corrected inconsistent error message
- in interactive [unknown] when empty command is invoked. [Bug 1743676]
+2009-06-26 Daniel Steffen <das@users.sourceforge.net>
-2007-07-05 Miguel Sofer <msofer@users.sf.net>
+ * macosx/Tcl-Common.xcconfig: Update projects for Xcode 3.1 and
+ * macosx/Tcl.xcode/*: 3.2, standardize on gcc 4.2, remove
+ * macosx/Tcl.xcodeproj/*: obsolete configurations and pre-Xcode
+ * macosx/Tcl.pbproj/* (removed): project.
- * generic/tclNamesp.c (SetNsNameFromAny):
- * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary
- ckfree/ckalloc when the old structs can be reused.
+ * macosx/README: Update project docs, cleanup.
-2007-07-04 Miguel Sofer <msofer@users.sf.net>
+ * unix/Makefile.in: Update dist target for project
+ changes.
- * generic/tclNamesp.c: Fix case where a FQ cmd or ns was being cached
- * generic/tclObj.c: in a different interp, tkcon. [Bug 1747512]
+2009-06-24 Donal K. Fellows <dkf@users.sf.net>
-2007-07-03 Don Porter <dgp@users.sourceforge.net>
+ * tests/oo.test (oo-19.1): [Bug 2811598]: Make more resilient.
- * generic/tclCompExpr.c: Revised #define values so that there
- is now more expansion room to define more BINARY operators.
+2009-06-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-07-02 Donal K. Fellows <dkf@users.sf.net>
+ * tests/http11.test: [Bug 2811492]: Clean up procs after testing.
- * generic/tclHash.c (CompareStringKeys): Always use the strcmp()
- version; the operation is functionally equivalent, the speed is
- identical (up to measurement limitations), and yet the code is
- simpler. [FRQ 951168]
+2009-06-18 Donal K. Fellows <dkf@users.sf.net>
-2007-07-02 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCkalloc.c (MemoryCmd): [Bug 988703]:
+ * generic/tclObj.c (ObjData, TclFinalizeThreadObjects): Add mechanism
+ for discovering what Tcl_Objs are allocated when built for memory
+ debugging. Developed by Joe Mistachkin.
- * generic/tcl.h: Removed TCL_PRESERVE_BINARY_COMPATIBILITY and
- * generic/tclHash.c: any code enabled when it is set to 0. We will
- * generic/tclStubInit.c: always want to preserve binary compat
- of the structs that appear in the interface through the 8.* series of
- releases, so it's pointless to drag around this never-enabled
- alternative.
+2009-06-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclIO.c: Removed dead code.
- * unix/tclUnixChan.c:
+ * generic/tclEvent.c: Applied a patch by George Peter Staplin
+ drastically reducing the ambition of [exit] wrt finalization, and
+ thus solving many multi-thread teardown issues. [Bugs 2001201,
+ 486399, and possibly 597575, 990457, 1437595, 2750491]
- * generic/tclCompExpr.c: Removed dead code, old implementations
- * generic/tclEvent.c: of expr parsing and compiling, including the
- * generic/tclInt.h: routine TclFinalizeCompilation().
+2009-06-15 Don Porter <dgp@users.sourceforge.net>
-2007-06-30 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Plug a memory leak caused by a
- missing Tcl_DecrRefCount on an error path. [Bug 1717186]
+2009-06-15 Reinhard Max <max@suse.de>
-2007-06-30 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * unix/tclUnixPort.h: Move all socket-related code from tclUnixChan.c
+ * unix/tclUnixChan.c: to tclUnixSock.c.
+ * unix/tclUnixSock.c:
- * generic/tclThread.c: Prevent RemeberSyncObj() from growing the sync
- object lists by reusing already free'd slots, if possible. See
- discussion on Bug 1726873 for more information.
+2009-06-15 Donal K. Fellows <dkf@users.sf.net>
-2007-06-29 Donal K. Fellows <dkf@users.sf.net>
+ * tools/tcltk-man2html.tcl (make-man-pages): [Patch 557486]: Apply
+ last remaining meaningful part of this patch, a clean up of some
+ closing tags.
- * doc/DictObj.3 (Tcl_DictObjDone): Improved documentation of this
- function to make it clearer how to use it. [Bug 1710795]
+2009-06-13 Don Porter <dgp@users.sourceforge.net>
-2007-06-29 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclCompile.c: [Bug 2802881]: The value stashed in
+ * generic/tclProc.c: iPtr->compiledProcPtr when compiling a proc
+ * tests/execute.test: survives too long. We only need it there long
+ enough for the right TclInitCompileEnv() call to re-stash it into
+ envPtr->procPtr. Once that is done, the CompileEnv controls. If we
+ let the value of iPtr->compiledProcPtr linger, though, then any other
+ bytecode compile operation that takes place will also have its
+ CompileEnv initialized with it, and that's not correct. The value is
+ meant to control the compile of the proc body only, not other compile
+ tasks that happen along. Thanks to Carlos Tasada for discovering and
+ reporting the problem.
- * generic/tclAlloc.c: on Darwin, ensure memory allocated by
- * generic/tclThreadAlloc.c: the custom TclpAlloc()s is aligned to
- 16 byte boundaries (as is the case with the Darwin system malloc).
+2009-06-10 Don Porter <dgp@users.sourceforge.net>
- * generic/tclGetDate.y: use ckalloc/ckfree instead of malloc/free.
- * generic/tclDate.c: bison 1.875e
+ * generic/tclStringObj.c: [Bug 2801413]: Revised [format] to not
+ overflow the integer calculations computing the length of the %ll
+ formats of really big integers. Also added protections so that
+ [format]s that would produce results overflowing the maximum string
+ length of Tcl values throw a normal Tcl error instead of a panic.
- * generic/tclBasic.c (TclEvalEx): fix warnings.
+ * generic/tclStringObj.c: [Bug 2803109]: Corrected failures to
+ deal with the "pure unicode" representation of an empty string.
+ Thanks to Julian Noble for reporting the problem.
- * macosx/Tcl.xcodeproj/project.pbxproj: better support for renamed tcl
- * macosx/Tcl.xcodeproj/default.pbxuser: source dir; add 10.5 SDK build
- * macosx/Tcl-Common.xcconfig: config; remove tclMathOp.c.
+2006-06-09 Kevin B. Kenny <kennykb@acm.org>
- * macosx/README: document Tcl.xcodeproj changes.
+ * generic/tclGetDate.y: Fixed a thread safety bug in the generated
+ * library/clock.tcl: Bison parser (needed a %pure-parser
+ * tests/clock.test: declaration to avoid static variables).
+ Discovered that the %pure-parser declaration
+ allowed for returning the Bison error message
+ to the Tcl caller in the event of a syntax
+ error, so did so.
+ * generic/tclDate.c: bison 2.3
-2007-06-28 Don Porter <dgp@users.sourceforge.net>
+2006-06-08 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclBasic.c: Removed dead code, including the
- * generic/tclExecute.c: entire file tclMathOp.c.
- * generic/tclInt.h:
- * generic/tclMathOp.c (removed):
- * generic/tclTestObj.c:
- * win/tclWinFile.c:
+ * library/tzdata/Asia/Dhaka: New DST rule for Bangladesh. (Olson's
+ tzdata2009i.)
- * unix/Makefile.in: Updated to reflect deletion of tclMathOp.c.
- * win/Makefile.in:
- * win/makefile.bc:
- * win/makefile.vc:
+2009-06-08 Donal K. Fellows <dkf@users.sf.net>
-2007-06-28 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * doc/copy.n: Fix error in example spotted by Venkat Iyer.
- * generic/tclBasic.c: Silence constness warnings for TclStackFree
- * generic/tclCompCmds.c: when building with msvc.
- * generic/tclFCmd.c:
- * generic/tclIOCmd.c:
- * generic/tclTrace.c:
+2009-06-02 Don Porter <dgp@users.sourceforge.net>
-2007-06-28 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclExecute.c: Replace dynamically-initialized table with a
+ table of static constants in the lookup table for exponent operator
+ computations that fit in a 64 bit integer result.
- * generic/tclVar.c (UnsetVarStruct): fix possible segfault.
+ * generic/tclExecute.c: [Bug 2798543]: Corrected implementations and
+ selection logic of the INST_EXPON instruction.
-2007-06-27 Don Porter <dgp@users.sourceforge.net>
+2009-06-01 Don Porter <dgp@users.sourceforge.net>
- * generic/tclTrace.c: Corrected broken trace reversal logic in
- * generic/tclTest.c: TclCheckInterpTraces that led to infinite loop
- * tests/trace.test: when multiple Tcl_CreateTrace traces were set
- and one of them did not fire due to level restrictions. [Bug 1743931]
+ * tests/expr.test: [Bug 2798543]: Added many tests demonstrating
+ the broken cases.
-2007-06-26 Don Porter <dgp@users.sourceforge.net>
+009-05-30 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclBasic.c (TclEvalEx): Moved some arrays from the C
- stack to the Tcl stack.
+ * library/tzdata/Africa/Cairo:
+ * library/tzdata/Asia/Amman: Olson's tzdata2009h.
-2007-06-26 Miguel Sofer <msofer@users.sf.net>
+2009-05-29 Andreas Kupries <andreask@activestate.com>
- * generic/tclVar.c (UnsetVarStruct): more streamlining.
+ * library/platform/platform.tcl: Fixed handling of cpu ia64,
+ * library/platform/pkgIndex.tcl: taking ia64_32 into account
+ * unix/Makefile.in: now. Bumped version to 1.0.5. Updated the
+ * win/Makefile.in: installation commands.
-2007-06-25 Don Porter <dgp@users.sourceforge.net>
+2009-05-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclExecute.c: Safety checks to avoid crashes in the
- TclStack* routines when called with an incompletely initialized
- interp. [Bug 1743302]
+ * doc/expr.n: Fixed documentation of the right-associativity of
+ the ** operator. (spotted by kbk)
-2007-06-25 Miguel Sofer <msofer@users.sf.net>
+2009-05-14 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclVar.c (UnsetVarStruct): fixing incomplete change, more
- streamlining.
+ * generic/tclOOInfo.c (InfoObjectNsCmd): Added introspection mechanism
+ for finding out what an object's namespace is. Experience suggests
+ that it is just too useful to be able to do without it.
-2007-06-24 Miguel Sofer <msofer@users.sf.net>
+2009-05-12 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclVar.c (TclDeleteCompiledLocalVars): removed inlining that
- ended up not really optimising (limited benchmarks). Now calling
- UnsetVarStruct (streamlined old code is #ifdef'ed out, in case better
- benchmarks do show a difference).
+ * doc/vwait.n: Added more words to make it clear just how bad it is to
+ nest [vwait]s.
- * generic/tclVar.c (UnsetVarStruct): fixed a leak introduced in last
- commit.
+ * compat/mkstemp.c: Add more headers to make this file build on IRIX
+ 6.5. Thanks to Larry McVoy for this.
-2007-06-23 Miguel Sofer <msofer@users.sf.net>
+2009-05-08 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclVar.c (UnsetVarStruct, TclDeleteVars): made the logic
- slightly clearer, eliminated some duplicated code.
+ * generic/tclOO.c (TclNRNewObjectInstance): [Bug 2414858]: Add a
+ * generic/tclBasic.c (TclPushTailcallPoint): marker to the stack of
+ NRE callbacks at the right point so that tailcall works correctly in a
+ constructor.
- *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and Var struct users)
- The core never builds VAR_LINK variable to have traces. Such a
- "monster", should one exist, will now have its unset traces called
- *before* it is unlinked.
+ * tests/exec.test (cat): [Bug 2788468]: Adjust the scripted version of
+ cat so that it does not perform transformations on the data it is
+ working with, making it more like the standard Unix 'cat' program.
-2007-06-23 Daniel Steffen <das@users.sourceforge.net>
+2009-05-07 Miguel Sofer <msofer@users.sf.net>
- * macosx/tclMacOSXNotify.c (AtForkChild): don't call CoreFoundation
- APIs after fork() on systems where that would lead to an abort().
+ * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2785893]: Ensure that
+ a command in a deleted namespace can't be found through a cached name.
-2007-06-22 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBasic.c: Let coroutines start with a much smaller
+ * generic/tclCompile.h: stack: 200 words (previously was 2000, the
+ * generic/tclExecute.c: same as interps).
- * generic/tclExecute.c: Revised TclStackRealloc() signature to better
- * generic/tclInt.h: parallel (and fall back on) Tcl_Realloc.
+2009-05-07 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclNamesp.c (TclResetShadowesCmdRefs): Replaced
- ckrealloc based allocations with TclStackRealloc allocations.
+ * tests/env.test (printenvScript, env-4.3, env-4.5): [Bug 1513659]:
+ * tests/exec.test (exec-2.6): These tests had subtle dependencies on
+ being on platforms that were either ISO 8859-1 or UTF-8. Stabilized
+ the results by forcing the encoding.
- * generic/tclCmdIL.c: More conversions to use TclStackAlloc.
- * generic/tclScan.c:
+2009-05-06 Don Porter <dgp@users.sourceforge.net>
-2007-06-21 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdMZ.c: [Bug 2582327]: Improve overflow error message
+ from [string repeat].
- * generic/tclBasic.c: Move most instances of the Tcl_Parse struct
- * generic/tclCompExpr.c: off the C stack and onto the Tcl stack. This
- * generic/tclCompile.c: is a rather large struct (> 3kB).
- * generic/tclParse.c:
+ * tests/interp.test: interp-20.50 test for Bug 2486550.
-2007-06-21 Miguel Sofer <msofer@users.sf.net>
+2009-05-04 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBasic.c (TEOvI): Made sure that leave traces
- * generic/tclExecute.c (INST_INVOKE): that were created during
- * tests/trace.test (trace-36.2): execution of an originally
- untraced command do not fire [Bug 1740962], partial fix.
+ * generic/tclOO.c (InitFoundation, AllocObject, AllocClass):
+ * generic/tclOODefineCmds.c (InitDefineContext): Make sure that when
+ support namespaces are deleted, nothing bad can subsequently happen.
+ Issue spotted by Don Porter.
-2007-06-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-05-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tcl.h, generic/tclCompile.h, generic/tclCompile.c: Remove
- references in comments to obsolete {expand} notation. [Bug 1740859]
+ * doc/Tcl.n: [Bug 2538432]: Clarified exact treatment of ${arr(idx)}
+ form of variable substitution. This is not a change of behavior, just
+ an improved description of the current situation.
-2007-06-20 Miguel Sofer <msofer@users.sf.net>
+2009-04-30 Miguel Sofer <msofer@users.sf.net>
- * generic/tclVar.c: streamline namespace vars deletion: only compute
- the variable's full name if the variable is traced.
+ * generic/tclBasic.c (TclObjInvoke): [Bug 2486550]: Make sure that a
+ null objProc is not used, use Tcl_NRCallObjProc instead.
-2007-06-20 Don Porter <dgp@users.sourceforge.net>
+2009-05-01 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.decls: Revised the interfaces of the routines
- * generic/tclExecute.c: TclStackAlloc and TclStackFree to make them
- easier for callers to use (or more precisely, harder to misuse).
- TclStackFree now takes a (void *) argument which is the pointer
- intended to be freed. TclStackFree will panic if that's not actually
- the memory the call will free. TSA/TSF also now tolerate receiving
- (interp == NULL), in which case they simply fall back to be calls to
- Tcl_Alloc/Tcl_Free.
+ * win/configure.in Fix 64-bit detection for zlib on Win64
+ * win/configure (regenerated)
- * generic/tclIntDecls.h: make genstubs
+2009-04-28 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclBasic.c: Updated callers
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCompCmds.c:
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclFCmd.c:
- * generic/tclFileName.c:
- * generic/tclIOCmd.c:
- * generic/tclIndexObj.c:
- * generic/tclInterp.c:
- * generic/tclNamesp.c:
- * generic/tclProc.c:
- * generic/tclTrace.c:
- * unix/tclUnixPipe.c:
+ * unix/tcl.m4, unix/configure (SC_CONFIG_CFLAGS): harden the check to
+ add _r to CC on AIX with threads.
-2007-06-20 Jeff Hobbs <jeffh@ActiveState.com>
+2009-04-27 Donal K. Fellows <dkf@users.sf.net>
- * tools/tcltk-man2html.tcl: revamp of html doc output to use CSS,
- standardized headers, subheaders, dictionary sorting of names.
+ * doc/concat.n (EXAMPLES): [Bug 2780680]: Rewrote so that the spacing
+ of result messages is correct. (The exact way they were wrong was
+ different when rendered through groff or as HTML, but it was still
+ wrong both ways.)
-2007-06-18 Jeff Hobbs <jeffh@ActiveState.com>
+2009-04-27 Jan Nijtmans <nijtmans@users.sf.net>
- * tools/tcltk-man2html.tcl: clean up copyright merging and output.
- clean up coding constructs.
+ * generic/tclIndexObj.c: Reset internal INTERP_ALTERNATE_WRONG_ARGS
+ * generic/tclIOCmd.c: flag inside the Tcl_WrongNumArgs function,
+ so the caller no longer has to do the reset.
-2007-06-18 Miguel Sofer <msofer@users.sf.net>
+2009-04-24 Stuart Cassoff <stwo@users.sf.net>
- * generic/tclCmdIL.c (InfoFrameCmd):
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd):
- * generic/tclCompile.c (TclInitCompileEnv):
- * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Moved the
- CmdFrame off the C stack and onto the Tcl stack.
+ * unix/Makefile.in: [Patch 2769530]: Don't chmod/exec installManPage.
- * generic/tclExecute.c (TEBC): Moved the CmdFrame off the C stack and
- onto the Tcl stack, between the catch and the execution stacks
+2009-04-19 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-06-18 Don Porter <dgp@users.sourceforge.net>
+ * library/http/http.tcl: [Bug 2715421]: Removed spurious newline added
+ * tests/http11.test: after POST and added tests to detect excess
+ * tests/httpd11.tcl: bytes being POSTed.
+ * library/http/pkgIndex.tcl:
+ * makefiles: package version now 2.8.1
- * generic/tclBasic.c (TclEvalEx,TclEvalObjEx): Moved the CmdFrame off
- the C stack and onto the Tcl stack.
+2009-04-15 Donal K. Fellows <dkf@users.sf.net>
-2007-06-17 Donal K. Fellows <dkf@users.sf.net>
+ * doc/chan.n, doc/close.n: Tidy up documentation of TIP #332.
- * generic/tclProc.c (TclObjInterpProcCore): Minor fixes to make
- * generic/tclExecute.c (TclExecuteByteCode): compilation debugging
- builds work again. [Bug 1738542]
+2009-04-14 Kevin B. Kenny <kennykb@acm.org>
-2007-06-16 Donal K. Fellows <dkf@users.sf.net>
+ * library/tzdata/Asia/Karachi: Updated rules for Pakistan Summer
+ Time (Olson's tzdata2009f)
- * generic/tclProc.c (TclObjInterpProcCore): Use switch instead of a
- chain of if's for a modest performance gain and a little more clarity.
+2009-04-11 Donal K. Fellows <dkf@users.sf.net>
-2007-06-15 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclOOMethod.c (InvokeForwardMethod): Clarify the resolution
+ behaviour of the name of the command that is forwarded to: it's now
+ resolved using the object's namespace as context, which is much more
+ useful than the previous (somewhat random) behaviour of using the
+ caller's current namespace.
- * generic/tclCompCmds.c: Simplified [variable] compiler and executor.
- * generic/tclExecute.c: Missed updates to "there is always a valid
- frame".
+2009-04-10 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tclCompile.c: reverted TclEvalObjvInternal and INST_INVOKE
- * generic/tclExecute.c: to essentially what they were previous to the
- * generic/tclBasic.c: commit of 2007-04-03 [Patch 1693802] and the
- subsequent optimisations, as they break the new trace tests described
- below.
+ * library/http/http.tcl: Improved HTTP/1.1 support and added
+ * library/http/pkgIndex.tcl: specific HTTP/1.1 testing to ensure
+ * tests/http11.test: we handle chunked+gzip for the various
+ * tests/httpd11.test: modes (normal, -channel and -handler)
+ * makefiles: package version set to 2.8.0
- * generic/trace.test: added tests 36 to 38 for dynamic trace creation
- and addition. These tests expose a change in dynamics due to a recent
- round of optimisations. The "correct" behaviour is not described in
- docs nor TIP 62.
+2009-04-10 Daniel Steffen <das@users.sourceforge.net>
-2007-06-14 Miguel Sofer <msofer@users.sf.net>
+ * unix/tclUnixChan.c: TclUnixWaitForFile(): use FD_* macros
+ * macosx/tclMacOSXNotify.c: to manipulate select masks (Cassoff).
+ [Bug 1960647]
- * generic/tclInt.decls: Modif to the internals of TclObjInterpProc
- * generic/tclInt.h: to reduce stack consumption and improve task
- * generic/tclIntDecls.h: separation. Changes the interface of
- * generic/tclProc.c: TclObjInterpProcCore (patching TclOO
- simultaneously).
+ * unix/tclLoadDyld.c: use RTLD_GLOBAL instead of RTLD_LOCAL.
+ [Bug 1961211]
- * generic/tclProc.c (TclObjInterpProcCore): simplified obj management
- in wrongNumArgs calls.
+ * macosx/tclMacOSXNotify.c: revise CoreFoundation notifier to allow
+ embedding into applications that
+ already have a CFRunLoop running and
+ want to run the tcl event loop via
+ Tcl_ServiceModeHook(TCL_SERVICE_ALL).
-2007-06-14 Don Porter <dgp@users.sourceforge.net>
+ * macosx/tclMacOSXNotify.c: add CFRunLoop based Tcl_Sleep() and
+ * unix/tclUnixChan.c: TclUnixWaitForFile() implementations
+ * unix/tclUnixEvent.c: and disable select() based ones in
+ CoreFoundation builds.
- * generic/tclCompile.c: SetByteCodeFromAny() can no longer return any
- * generic/tclExecute.c: code other than TCL_OK, so remove code that
- * generic/tclProc.c: formerly handled exceptional codes.
+ * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c.
-2007-06-13 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode()
+ * generic/tclIntPlatDecls.h: internal API, regen.
+ * generic/tclStubInit.c:
- * generic/tclExecute.c (TclCompEvalObj): missed update to "there is
- always a valid frame".
+ * unix/configure.in (Darwin): use Darwin SUSv3 extensions if
+ available; remove /Network locations
+ from default tcl package search path
+ (NFS mounted locations and thus slow).
+ * unix/configure: autoconf-2.59
+ * unix/tclConfig.h.in: autoheader-2.59
- * generic/tclProc.c (TclObjInterpProcCore): call TEBC directly instead
- of going through TclCompEvalObj - no need to check the compilation's
- freshness, this has already been done. This improves speed and should
- also provide some relief to [Bug 1066755].
+ * macosx/tclMacOSXBundle.c: on Mac OS X 10.4 and later, replace
+ deprecated NSModule API by dlfcn API.
-2007-06-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-04-10 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBasic.c (Tcl_CreateInterp): Turn the [info] command into
- * generic/tclCmdIL.c (TclInitInfoCmd): an ensemble, making it easier
- for third-party code to plug into.
+ * doc/StringObj.3: [Bug 2089279]: Corrected example so that it works
+ on 64-bit machines as well.
- * generic/tclIndexObj.c (Tcl_WrongNumArgs):
- * generic/tclNamesp.c, generic/tclInt.h (tclEnsembleCmdType): Make
- Tcl_WrongNumArgs do replacement correctly with ensembles and other
- sorts of complex replacement strategies.
+2009-04-10 Pat Thoyts <patthoyts@users.sourceforge.net>
-2007-06-11 Miguel Sofer <msofer@users.sf.net>
+ * tests/http.test: [Bug 26245326]: Added specific check for problem
+ * tests/httpd: (return incomplete HTTP response header).
- * generic/tclExecute.c: comments added to explain iPtr->numLevels
- management.
+2009-04-08 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclNamesp.c: tweaks to Tcl_GetCommandFromObj and
- * generic/tclObj.c: TclGetNamespaceFromObj; modified the usage of
- structs ResolvedCmdName and ResolvedNsname so that the field refNsPtr
- is NULL for fully qualified names.
+ * tools/tclZIC.tcl: Always emit files with Unix line termination.
+ * library/tzdata: Olson's tzdata2009e
-2007-06-10 Miguel Sofer <msofer@users.sf.net>
+2009-04-09 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c: Further TEOvI split, creating a new
- * generic/tclCompile.h: TclEvalObjvKnownCommand() function to handle
- * generic/tclExecute.c: commands that are already known and are not
- traced. INST_INVOKE now calls into this function instead of inlining
- parts of TEOvI. Same perf, better isolation.
+ * library/http/http.tcl: [Bug 26245326]: Handle incomplete
+ lines in the "connecting" state. Thanks to Sergei Golovan.
- ***POTENTIAL INCOMPAT*** There is a subtle issue with the timing of
- execution traces that is changed here - first change appeared in my
- commit of 2007-04-03 [Patch 1693802], which caused some divergence
- between compiled and non-compiled code.
- ***THIS CHANGE IS UNDER REVIEW***
+2009-04-08 Andreas Kupries <andreask@activestate.com>
-2007-06-10 Jeff Hobbs <jeffh@ActiveState.com>
+ * library/platform/platform.tcl: Extended the darwin sections to add
+ * library/platform/pkgIndex.tcl: a kernel version number to the
+ * unix/Makefile.in: identifier for anything from Leopard (10.5) on up.
+ * win/Makefile.in: Extended patterns for same. Extended cpu
+ * doc/platform.n: recognition for 64bit Tcl running on a 32bit kernel
+ on a 64bit processor (By Daniel Steffen). Bumped version to 1.0.4.
+ Updated Makefiles.
- * README: updated links. [Bug 1715081]
+2009-04-08 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c (TclExecuteByteCode): restore support for
- INST_CALL_BUILTIN_FUNC1 and INST_CALL_FUNC1 bytecodes to support 8.4-
- precompiled sources (math functions). [Bug 1720895]
+ * library/tcltest/tcltest.tcl: [Bug 2570363]: Converted [eval]s (some
+ * library/tcltest/pkgIndex.tcl: unsafe!) to {*} in tcltest package.
+ * unix/Makefile.in: => tcltest 2.3.1
+ * win/Makefile.in:
-2007-06-10 Miguel Sofer <msofer@users.sf.net>
+2009-04-07 Don Porter <dgp@users.sourceforge.net>
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclvar.c: new macros TclGetCurrentNamespace() and
- TclGetGlobalNamespace(); Tcl_GetCommandFromObj and
- TclGetNamespaceFromObj rewritten to make the logic clearer; slightly
- faster too.
-
-2007-06-09 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_INVOKE): isolated two vars to the small
- block where they are actually used.
-
- * generic/tclObj.c (Tcl_GetCommandFromObj): rewritten to make the
- logic clearer; slightly faster too.
-
- * generic/tclBasic.c: Split TEOv in two, by separating a processor
- for non-TCL_OK returns. Also split TEOvI in a full version that
- handles non-existing and traced commands, and a separate shorter
- version for the regular case.
-
- * generic/tclBasic.c: Moved the generation of command strings for
- * generic/tclTrace.c: traces: previously in Tcl_EvalObjv(), now in
- TclCheck[Interp|Execution]Traces(). Also insured that the strings are
- properly NUL terminated at the correct length. [Bug 1693986]
-
- ***POTENTIAL INCOMPATIBILITY in internal API***
- The functions TclCheckInterpTraces() and TclCheckExecutionTraces() (in
- internal stubs) used to be noops if the command string was NULL, this
- is not true anymore: if the command string is NULL, they generate an
- appropriate string from (objc,objv) and use it to call the traces. The
- caller might as well not call them with a NULL string if he was
- expecting a noop.
-
- * generic/tclBasic.c: Extend usage of TclLimitReady() and
- * generic/tclExecute.c: (new) TclLimitExceeded() macros.
- * generic/tclInt.h:
- * generic/tclInterp.c:
+ * generic/tclStringObj.c: Correction so that value of
+ TCL_GROWTH_MIN_ALLOC is everywhere expressed in bytes as comment
+ claims.
- * generic/tclInt.h: New TclCleanupCommandMacro for core usage.
- * generic/tclBasic.c:
- * generic/tclExecute.c:
- * generic/tclObj.c:
+2009-04-04 Donal K. Fellows <dkf@users.sf.net>
-2007-06-09 Daniel Steffen <das@users.sourceforge.net>
+ * doc/vwait.n: [Bug 1910136]: Extend description and examples to make
+ it clearer just how this command interprets variable names.
- * macosx/Tcl.xcodeproj/project.pbxproj: add new Tclsh-Info.plist.in.
+2009-03-30 Don Porter <dgp@users.sourceforge.net>
-2007-06-08 Donal K. Fellows <dkf@users.sf.net>
+ * doc/Alloc.3: [Bug 2556263]: Size argument is "unsigned int".
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Changed [string first] and
- * doc/string.n: [string last] so that they have clearer descriptions
- for those people who know the adage about needles and haystacks. This
- follows suggestions on comp.lang.tcl...
+2009-03-27 Don Porter <dgp@users.sourceforge.net>
-2007-06-06 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclPathObj.c (TclPathPart): [Bug 2710920]: TclPathPart()
+ * tests/fileName.test: was computing the wrong results for both [file
+ dirname] and [file tail] on "path" arguments with the PATHFLAGS != 0
+ intrep and with an empty string for the "joined-on" part.
- * generic/tclParse.c: fix for uninit read. [Bug 1732414]
+2009-03-25 Jan Nijtmans <nijtmans@users.sf.net>
-2007-06-06 Daniel Steffen <das@users.sourceforge.net>
+ * doc/tclsh.1: Bring doc and tools in line with
+ * tools/installData.tcl: http://wiki.tcl.tk/812
+ * tools/str2c
+ * tools/tcltk-man2html.tcl
- * macosx/Tcl.xcodeproj/project.pbxproj: add settings for Fix&Continue.
+2009-03-25 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure.in (Darwin): add plist for tclsh; link the
- * unix/Makefile.in (Darwin): Tcl and tclsh plists into
- * macosx/Tclsh-Info.plist.in (new): their binaries in all cases.
- * macosx/Tcl-Common.xcconfig:
+ * doc/coroutine.n: [Bug 2152285]: Added basic documentation for the
+ coroutine and yield commands.
- * unix/tcl.m4 (Darwin): fix CF checks in fat 32&64bit builds.
- * unix/configure: autoconf-2.59
+2009-03-24 Donal K. Fellows <dkf@users.sf.net>
-2007-06-05 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclOOBasic.c (TclOOSelfObjCmd): [Bug 2704302]: Make 'self
+ class' better defined in the context of objects that change class.
- * generic/tclBasic.c: Added interp flag value ERR_LEGACY_COPY to
- * generic/tclInt.h: control the timing with which the global
- * generic/tclNamesp.c: variables ::errorCode and ::errorInfo get
- * generic/tclProc.c: updated after an error. This keeps more
- * generic/tclResult.c: precise compatibility with Tcl 8.4.
- * tests/result.test (result-6.2): [Bug 1649062]
+ * generic/tclVar.c (Tcl_UpvarObjCmd): [Bug 2673163] (ferrieux)
+ * generic/tclProc.c (TclObjGetFrame): Make the upvar command more able
+ to handle its officially documented syntax.
-2007-06-05 Miguel Sofer <msofer@users.sf.net>
+2009-03-22 Miguel Sofer <msofer@users.sf.net>
- * generic/tclInt.h:
- * generic/tclExecute.c: Tcl-stack reform, [Patch 1701202]
+ * generic/tclBasic.c: [Bug 2502037]: NR-enable the handling of unknown
+ commands.
-2007-06-03 Daniel Steffen <das@users.sourceforge.net>
+2009-03-21 Miguel Sofer <msofer@users.sf.net>
- * unix/Makefile.in: add datarootdir to silence autoconf-2.6x warning.
+ * generic/tclBasic.c: Fixed "leaks" in aliases, imports and
+ * generic/tclInt.h: ensembles. Only remaining known leak is in
+ * generic/tclInterp.c: ensemble unknown dispatch (as it not
+ * generic/tclNamesp.c: NR-enabled)
+ * tests/tailcall.test:
-2007-05-30 Don Porter <dgp@users.sourceforge.net>
+ * tclInt.h: comments
- * generic/tclBasic.c: Removed code that dealt with
- * generic/tclCompile.c: TCL_TOKEN_EXPAND_WORD tokens representing
- * generic/tclCompile.h: expanded literal words. These sections were
- mostly in place to enable [info frame] to discover line information in
- expanded literals. Since the parser now generates a token for each
- post-expansion word referring to the right location in the original
- script string, [info frame] gets all the data it needs.
+ * tests/tailcall.test: Added tests to show that [tailcall] does not
+ currently always execute in constant space: interp-alias, ns-imports
+ and ensembles "leak" as of this commit.
- * generic/tclInt.h: Revised the parser so that it never produces
- * generic/tclParse.c: TCL_TOKEN_EXPAND_WORD tokens when parsing an
- * tests/parse.test: expanded literal word; that is, something like
- {*}{x y z}. Instead, generate the series of TCL_TOKEN_SIMPLE_WORD
- tokens to represent the words that expansion of the literal string
- produces. [RFE 1725186]
+ * tests/nre.test: [foreach] has been NR-enabled for a while, the test
+ was marked 'knownBug': unmark it.
-2007-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclBasic.c: Fix for (among others) [Bug 2699087]
+ * generic/tclCmdAH.c: Tailcalls now perform properly even from
+ * generic/tclExecute.c: within [eval]ed scripts.
+ * generic/tclInt.h: More tests missing, as well as proper
+ exploration and testing of the interaction with "redirectors" like
+ interp-alias (suspect that it does not happen in constant space)
+ and pure-eval commands.
- * unix/tclUnixThrd.c (Tcl_JoinThread): fix for 64-bit handling of
- pthread_join exit return code storage. [Bug 1712723]
+ * generic/tclExecute.c: Proper fix for [Bug 2415422]. Reenabled
+ * tests/nre.test: the failing assertion that was disabled on
+ 2008-12-18: the assertion is correct, the fault was in the
+ management of expansions.
-2007-05-22 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c: Fix both test and code for tailcall
+ * tests/tailcall.test: from within a compiled [eval] body.
- [core-stabilizer-branch]
+ * tests/tailcall.test: Slightly improved tests
- * unix/configure: autoconf-2.59 (FC6 fork)
- * win/configure:
+2009-03-20 Don Porter <dgp@users.sourceforge.net>
- * README: Bump version number to 8.5b1
- * generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
+ * tests/stringObj.test: [Bug 2597185]: Test stringObj-6.9
+ checks that Tcl_AppendStringsToObj() no longer crashes when operating
+ on a pure unicode value.
-2007-05-18 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c (INST_CONCAT1): [Bug 2669109]: Panic when
+ appends overflow the max length of a Tcl value.
- * unix/configure: autoconf-2.59 (FC6 fork)
- * win/configure:
+2009-03-19 Miguel Sofer <msofer@users.sf.net>
- * README: Bump version number to 8.5a7
* generic/tcl.h:
- * library/init.tcl:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
-
- * generic/tclParse.c: Disable and remove the ALLOW_EXPAND sections
- * tests/info.test: that continued to support the deprecated
- * tests/mathop.test: {expand} syntax. Updated the few remaining
- users of that syntax in the test suite.
-
-2007-05-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclExecute.c (TclLimitReady): Created a macro version of
- Tcl_LimitReady just for TEBC, to reduce the amount of times that the
- bytecode engine calls out to external functions on the critical path.
- * generic/tclInterp.c (Tcl_LimitReady): Added note to remind anyone
- doing maintenance that there is a macro version to update.
-
-2007-05-17 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tcl.decls: workaround 'make checkstubs' failures from
- tclStubLib.c MODULE_SCOPE revert. [Bug 1716117]
-
-2007-05-16 Joe English <jenglish@users.sourceforge.net>
-
- * generic/tclStubLib.c: Change Tcl_InitStubs(), tclStubsPtr, and the
- auxilliary stubs table pointers back to public visibility.
-
- These symbols need to be exported so that stub-enabled extensions may
- be statically linked into an extended tclsh or Big Wish with a
- dynamically-linked libtcl. [Bug 1716117]
-
-2007-05-15 Don Porter <dgp@users.sourceforge.net>
-
- * win/configure: autoconf-2.59 (FC6 fork)
-
- * library/reg/pkgIndex.tcl: Bump to registry 1.2.1 to account for
- * win/configure.in: [Bug 1682211] fix.
- * win/makefile.bc:
- * win/tclWinReg.c:
-
-2007-05-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclInt.h: Removed TclEvalObjEx and TclGetSrcInfoForPc from
- tclInt.h now they are in the internal stubs table.
-
-2007-05-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h: TclFinalizeThreadAlloc() is always defined, so
- make sure it is also always declared (with MODULE_SCOPE).
-
-2007-05-09 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.h: fix warning when building threaded with -DPURIFY.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: add 'DebugUnthreaded' &
- * macosx/Tcl.xcodeproj/default.pbxuser: 'DebugLeaks' configs and env
- var settings needed to run the 'leaks' tool.
-
-2007-05-07 Don Porter <dgp@users.sourceforge.net>
-
- [Tcl Bug 1706140]
-
- * generic/tclLink.c (LinkTraceProc): Update Tcl_VarTraceProcs so
- * generic/tclNamesp.c (Error*Read): they call Tcl_InterpDeleted()
- * generic/tclTrace.c (Trace*Proc): for themselves, and do not
- * generic/tclUtil.c (TclPrecTraceProc): rely on (frequently buggy)
- setting of the TCL_INTERP_DESTROYED flag by the trace core.
-
- * generic/tclVar.c: Update callers of TclCallVarTraces to not pass
- in the TCL_INTERP_DESTROYED flag. Also apply filters so that public
- routines only pass documented flag values down to lower level routines
-
- * generic/tclTrace.c (TclCallVarTraces): The setting of the
- TCL_INTERP_DESTROYED flag is now done entirely within the
- TclCallVarTraces routine, the only place it can be done right.
-
-2007-05-06 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInt.h (ExtraFrameInfo): Create a new mechanism for
- * generic/tclCmdIL.c (InfoFrameCmd): conveying what information needs
- to be added to the results of [info frame] to replace the hack that
- was there before.
- * generic/tclProc.c (Tcl_ApplyObjCmd): Use the new mechanism for the
- [apply] command, the only part of Tcl itself that needs it (so far).
+ * generic/tclInt.h:
+ * generic/tclBasic.c:
+ * generic/tclExecute.c:
+ * generic/tclNamesp.c (Tcl_PopCallFrame): Rewritten tailcall
+ implementation, ::unsupported::atProcExit is (temporarily?) gone. The
+ new approach is much simpler, and also closer to being correct. This
+ commit fixes [Bug 2649975] and [Bug 2695587].
- * generic/tclInt.decls (TclEvalObjEx, TclGetSrcInfoForPc): Expose
- these two functions through the internal stubs table, necessary for
- extensions that need to integrate deeply with TIP#280.
+ * tests/coroutine.test: Moved the tests to their own files,
+ * tests/tailcall.test: removed the unsupported.test. Added
+ * tests/unsupported.test: tests for the fixed bugs.
-2007-05-05 Donal K. Fellows <dkf@users.sf.net>
+2009-03-19 Donal K. Fellows <dkf@users.sf.net>
- * win/tclWinFile.c (TclpGetUserHome): Squelch type-pun warnings in
- * win/tclWinInit.c (TclpSetVariables): Win-specific code not found
- * win/tclWinReg.c (AppendSystemError): during earlier work on Unix.
+ * doc/tailcall.n: Added documentation for tailcall command.
-2007-05-04 Kevin B. Kenny <kennykb@acm.org>
+2009-03-18 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIO.c (TclFinalizeIOSubsystem): Added an initializer to
- silence a spurious gcc warning about use of an uninitialized
- variable.
- * tests/encoding.test: Modified so that encoding tests happen in a
- private namespace, to avoid polluting the global one. This problem was
- discovered when running the test suite '-singleproc 1 -skip exec.test'
- because the 'path' variable in encoding.test conflicted with the one
- in io.test.
- * tests/io.test: Made more of the working variables private to the
- namespace.
-
-2007-05-02 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclTest.c (SimpleMatchInDirectory): Corrected a refcount
- imbalance that affected the filesystem-[147]* tests in the test suite.
- Thanks to Don Porter for the patch. [Bug 1710707]
- * generic/tclPathObj.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath):
- Corrected several memory leaks that caused refcount imbalances
- resulting in memory leaks on Windows. Thanks to Joe Mistachkin for the
+ * win/tclWinFile.c (TclpObjNormalizePath): [Bug 2688184]:
+ Corrected Tcl_Obj leak. Thanks to Joe Mistachkin for detection and
patch.
-2007-05-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclPtrSetVar): fixed leak whenever newvaluePtr had
- refCount 0 and was used for appending (but not lappending). Thanks to
- mistachkin and kbk. [Bug 1710710]
-
-2007-05-01 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclIO.c (DeleteChannelTable): Made changes so that
- DeleteChannelTable tries to close all open channels, not just the
- first. [Bug 1710285]
- * generic/tclThread.c (TclFinalizeSynchronization): Make sure that TSD
- blocks get freed on non-threaded builds. [Bug 1710825]
- * tests/utf.test (utf-25.1--utf-25.4): Modified tests to clean up
- after the 'testobj' extension to avoid spurious reports of memory
- leaks.
-
-2007-05-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (STR_MAP): When [string map] has a pure dict map,
- a missing Tcl_DictObjDone() call led to a memleak. [Bug 1710709]
-
-2007-04-30 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in: add 'tclsh' dependency to install targets that
- rely on tclsh, fixes parallel 'make install' from empty build dir.
-
-2007-04-30 Andreas Kupries <andreask@gactivestate.com>
-
- * generic/tclIO.c (FixLevelCode): Corrected reference count
- mismanagement of newlevel, newcode. Changed to allocate the Tcl_Obj's
- as late as possible, and only when actually needed. [Bug 1705778, leak
- K29]
-
-2007-04-30 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Corrected
- reference count mismanagement on the name of the source file in the
- TIP 280 code. [Bug 1705778, leak K02 among other manifestations]
-
-2007-04-25 Donal K. Fellows <dkf@users.sf.net>
-
- *** 8.5a6 TAGGED FOR RELEASE ***
-
- * generic/tclProc.c (TclObjInterpProcCore): Only allocate objects for
- error message generation when associated with argument names that are
- really used. [Bug 1705778, leak K15]
+ * generic/tclVar.c (TclLookupSimpleVar): [Bug 2689307]: Shift
+ all calls to Tcl_SetErrorCode() out of TclLookupSimpleVar and onto its
+ callers, where control with TCL_LEAVE_ERR_MSG flag is more easily
+ handled.
-2007-04-25 Kevin B. Kenny <kennykb@acm.org>
+2009-03-16 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIOUtil.c (Tcl_FSChdir): Changed the memory management so
- that the path returned from Tcl_FSGetNativePath is not duplicated
- before being stored as the current directory, to avoid a memory leak.
- [Bug 1705778, leak K01 among other manifestations]
+ * generic/tclCmdMZ.c (TryPostBody): [Bug 2688063]: Extract information
+ from list before getting rid of last reference to it.
-2007-04-25 Don Porter <dgp@users.sourceforge.net>
+2009-03-15 Joe Mistachkin <joe@mistachkin.com>
- * generic/tclCompExpr.c (ParseExpr): Revised to be sure that an
- error return doesn't prevent all literals getting placed on the
- litList to be returned to the caller for freeing. Corrects some
- memleaks. [Bug 1705778, leak K23]
+ * generic/tclThread.c: Modify fix for TSD leak to match Tcl 8.5
+ * generic/tclThreadStorage.c: (and prior) allocation semantics. [Bug
+ 2687952]
-2007-04-25 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/Makefile.in (dist): add macosx/*.xcconfig files to src dist;
- copy license.terms to dist macosx dir; fix autoheader bits.
-
-2007-04-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclListObj.c: reverting [Patch 738900] (committed on
- 2007-04-20). Causes some Tk test breakage of unknown importance, but
- the impact of the patch itself is likely to be so small that it does
- not warrant investigation at this time.
-
-2007-04-24 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclDictObj.c (DictKeysCmd): Rewrote so that the lock on the
- internal representation of a dict is only set when necessary. [Bug
- 1705778, leak K04]
- (DictFilterCmd): Added code to drop the lock in the trivial match
- case. [Bug 1705778, leak K05]
-
-2007-04-24 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclBinary.c: Addressed several code paths where the error
- return from the 'binary format' command leaked the result buffer.
- * generic/tclListObj.c (TclLsetFlat): Fixed a bug where the new list
- under construction was leaked in the error case. [Bug 1705778, leaks
- K13 and K14]
-
-2007-04-24 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/Makefile.in (dist): add platform library package to src dist
-
-2007-04-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c (ParseExpr): Memory leak in error case; the
- literal Tcl_Obj was not getting freed. [Bug 1705778, leak #1 (new)]
-
- * generic/tclNamesp.c (Tcl_DeleteNamespace): Corrected flaw in the
- flag marking scheme to be sure that global namespaces are freed when
- their interp is deleted. [Bug 1705778]
-
-2007-04-24 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c (TclExecuteByteCode): Plugged six memory leaks
- in bignum arithmetic.
- * generic/tclIOCmd.c (Tcl_ReadObjCmd): Plugged a leak of the buffer
- object if the physical read returned an error and the bypass area had
- no message.
- * generic/tclIORChan.c (TclChanCreateObjCmd): Plugged a leak of the
- return value from the "initialize" method of a channel handler.
- (All of the above under [Bug 1705778])
+2009-03-15 Donal K. Fellows <dkf@users.sf.net>
-2007-04-23 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclThreadStorage.c (TSDTableDelete): [Bug 2687952]: Ensure
+ * generic/tclThread.c (Tcl_GetThreadData): that structures in
+ Tcl's TSD system are all freed. Use the correct matching allocator.
- * generic/tclCkalloc.c: fix warnings from gcc build configured with
- * generic/tclCompile.c: --enable-64bit --enable-symbols=all.
- * generic/tclExecute.c:
+ * generic/tclPosixStr.c (Tcl_SignalId,Tcl_SignalMsg): [Patch 1513655]:
+ Added support for SIGINFO, which is present on BSD platforms.
- * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open()
- * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier.
+2009-03-14 Donal K. Fellows <dkf@users.sf.net>
- * unix/tclLoadDyld.c (TclpLoadMemory): fix (void*) arithmetic.
+ * unix/tcl.pc.in (new file): [Patch 2243948] (hat0)
+ * unix/configure.in, unix/Makefile.in: Added support for reporting
+ Tcl's public build configuration via the pkg-config system. TEA is
+ still the official mechanism though, in part because pkg-config is not
+ universally supported across all Tcl's supported platforms.
- * macosx/Tcl-Common.xcconfig: enable more warnings.
+2009-03-11 Miguel Sofer <msofer@users.sf.net>
- * macosx/Tcl.xcodeproj/project.pbxproj: add 'DebugMemCompile' build
- configuration that calls configure with --enable-symbols=all; override
- configure check for __attribute__((__visibility__("hidden"))) in Debug
- configuration to restore availability of ZeroLink.
+ * generic/tclBasic.c (TclNRCoroutineObjCmd): fix Tcl_Obj leak.
+ Diagnosis and fix thanks to GPS.
- * macosx/tclMacOSXNotify.c: fix warnings.
+2009-03-09 Donal K. Fellows <dkf@users.sf.net>
- * macosx/tclMacOSXFCmd.c: const fixes.
+ * generic/tclCmdMZ.c (Tcl_TryObjCmd, TclNRTryObjCmd): Moved the
+ implementation of [try] from Tcl code into C. Still lacks a bytecode
+ version, but should be better than what was before.
- * macosx/Tcl-Common.xcconfig: fix whitespace.
- * macosx/Tcl-Debug.xcconfig:
- * macosx/Tcl-Release.xcconfig:
- * macosx/README:
+2009-03-04 Donal K. Fellows <dkf@users.sf.net>
- * macosx/GNUmakefile: fix/add copyright and license refs.
- * macosx/tclMacOSXBundle.c:
- * macosx/Tcl-Info.plist.in:
- * macosx/Tcl.xcode/project.pbxproj:
- * macosx/Tcl.xcodeproj/project.pbxproj:
+ * generic/tclZlib.c (TclZlibCmd): Checksums are defined to be unsigned
+ 32-bit integers, use Tcl_WideInt to pass to scripts. [Bug 2662434]
+ (ZlibStreamCmd, ChanGetOption): A few other related corrections.
- * unix/configure.in: install license.terms into Tcl.framework.
- * unix/configure: autoconf-2.59
-
-2007-04-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclVar.c (UnsetVarStruct): Make sure the
- TCL_INTERP_DESTROYED flags gets passed to unset trace routines so they
- can respond appropriately. [Bug 1705778, leak #9]
-
-2007-04-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c (TclFreeCompileEnv): Tip 280's new field
- extCmdMapPtr was not being freed. [Bug 1705778, leak #1]
-
-2007-04-23 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclCompCmds.c (TclCompileUpvarCmd): Plugged a memory leak in
- 'upvar' when compiling (a) upvar outside a proc, (b) upvar with a
- syntax error, or (c) upvar where the frame index is not known at
- compile time.
- * generic/tclCompExpr.c (ParseExpr): Plugged a memory leak when
- parsing expressions that contain syntax errors.
- * generic/tclEnv.c (ReplaceString): Clear memory correctly when
- growing the cache to avoid reads of uninitialised data.
- * generic/tclIORChan.c (TclChanCreateObjCmd, FreeReflectedChannel):
- Plugged two memory leaks.
- * generic/tclStrToD.c (AccumulateDecimalDigit): Fixed a mistake where
- we'd run beyond the end of the 'pow10_wide' array if a number begins
- with a string of more than 'maxpow10_wide' zeroes.
- * generic/tclTest.c (Testregexpobjcmd): Removed an invalid access
- beyond the end of 'objv' in 'testregexp -about'.
- All of these issues reported under [Bug 1705778] - detected with the
- existing test suite, no new regression tests required.
-
-2007-04-22 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (TclDeleteNamespaceVars): fixed access to freed
- memory detected by valgrind: Tcl_GetCurrentNamespace was being
- called after freeing root CallFrame (on interp deletion).
-
-2007-04-20 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclListObj.c (SetListFromAny): avoid discarding internal
- reps of objects converted to singleton lists. [Patch 738900]
-
-2007-04-20 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/clock.n: Corrected a silly error (transposed 'uppercase' and
- 'lowercase' in clock.n. [Bug 1656002]
- Clarified that [clock scan] does not recognize a locale's alternative
- calendar.
- Deleted an entirely superfluous (and also incorrect) remark about the
- effect of Daylight Saving Time on relative times in [clock scan]. [Bug
- 1582951]
- * library/clock.tcl: Corrected an error in skipping over the %Ey field
- on input.
- * library/msgs/ja.msg:
- * tools/loadICU.tcl: Corrected several localisation faults in the
- Japanese locale (most notably, incorrect dates for the Emperors'
- eras). [Bug 1637471]. Many thanks to SourceForge user 'nyademo' for
- pointing this out and developing a fix.
- * generic/tclPathObj.c: Corrected a 'const'ness fault that caused
- bitter complaints from MSVC.
- * tests/clock.test (clock-40.1, clock-58.1, clock-59.1): Corrected a
- test case that depended on ":localtime" being able to handle dates
- prior to the Posix epoch. [Bug 1618445] Added a test case for the
- dates of the Japanese emperors. [Bug 1637471] Added a regression test
- for military time zone input conversion. [Bug 1586828]
- * generic/tclGetDate.y (MilitaryTable): Fixed an ancient bug where the
- military NZA time zones had the signs reversed. [Bug 1586828]
- * generic/tclDate.c: Regenerated.
- * doc/Notifier.3: Documented Tcl_SetNotifier and Tcl_ServiceModeHook.
- Quite against my better judgment. [Bug 414933]
- * generic/tclBasic.c, generic/tclCkalloc.c, generic/tclClock.c:
- * generic/tclCmdIL.c, generic/tclCmdMZ.c, generic/tclFCmd.c:
- * generic/tclFileName.c, generic/tclInterp.c, generic/tclIO.c:
- * generic/tclIOUtil.c, generic/tclNamesp.c, generic/tclObj.c:
- * generic/tclPathObj.c, generic/tclPipe.c, generic/tclPkg.c:
- * generic/tclResult.c, generic/tclTest.c, generic/tclTestObj.c:
- * generic/tclVar.c, unix/tclUnixChan.c, unix/tclUnixTest.c:
- * win/tclWinLoad.c, win/tclWinSerial.c: Replaced commas in varargs
- with string concatenation where possible. [Patch 1515234]
- * library/tzdata/America/Tegucigalpa:
- * library/tzdata/Asia/Damascus: Olson's tzdata 2007e.
+2009-02-27 Jan Nijtmans <nijtmans@users.sf.net>
-2007-04-19 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tcl.decls: [Bug 218977]: Tcl_DbCkfree needs return value
+ * generic/tclCkalloc.c
+ * generic/tclDecls.h: (regenerated)
+ * generic/tclInt.decls: don't use CONST84/CONST86 here
+ * generic/tclCompile.h: don't use CONST86 here, comment fixing.
+ * generic/tclIO.h: don't use CONST86 here, comment fixing.
+ * generic/tclIntDecls.h (regenerated)
- * generic/regcomp.c, generic/regc_cvec.c, generic/regc_lex.c,
- * generic/regc_locale.c: Improve the const-correctness of the RE
- compiler.
+2009-02-25 Don Porter <dgp@users.sourceforge.net>
-2007-04-18 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclUtil.c (TclStringMatchObj): [Bug 2637173]: Revised
+ the branching on the strObj->typePtr so that untyped values get
+ converted to the "string" type and pass through the Unicode matcher.
+ [Bug 2613766]: Also added checks to only perform "bytearray"
+ optimization on pure bytearray values.
- * generic/tclExecute.c (INST_LSHIFT): fixed a mistake introduced in
- version 1.266 ('=' became '=='), which effectively turned the block
- that handles native shifts into dead code. This explains why the
- testsuite did not pick this mistake. Rewrote to make the intention
- clear.
+ * generic/tclCmdMZ.c: Since Tcl_GetCharLength() has its own
+ * generic/tclExecute.c: optimizations for the tclByteArrayType, stop
+ having the callers do them.
- * generic/tclInt.h (TclDecrRefCount): change the order of the
- branches, use empty 'if ; else' to handle use in unbraced outer
- if/else conditions (as already done in tcl.h)
+2009-02-24 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclExecute.c: slight changes in Tcl_Obj management.
+ * doc/clock.n, doc/fblocked.n, doc/format.n, doc/lsort.n,
+ * doc/pkgMkIndex.n, doc/regsub.n, doc/scan.n, doc/tclvars.n:
+ General minor documentation improvements.
-2007-04-17 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Fixed the naming of
- ::tcl::clock::ReadZoneinfoFile because (yoicks!) it was in the global
- namespace.
- * doc/clock.n: Clarified the cases in which legacy time zone is
- recognized. [Bug 1656002]
-
-2007-04-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: fixed checkInterp logic [Bug 1702212]
-
-2007-04-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * various (including generic/tclTest.c): Complete the purge of K&R
- function definitions from manually-written code.
-
-2007-04-15 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclCompCmds.c: added a cast to silence a compiler error on
- VC2005.
- * library/clock.tcl: Restored unique-prefix matching of keywords on
- the [clock] command. [Bug 1690041]
- * tests/clock.test: Added rudimentary test cases for unique-prefix
- matching of keywords.
+ * library/http/http.tcl (geturl, Eof): Added support for 8.6's built
+ in zlib routines.
-2007-04-14 Miguel Sofer <msofer@users.sf.net>
+2009-02-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclExecute.c: removed some code at INST_EXPAND_SKTOP that
- duplicates functionality already present at checkForCatch.
+ * tests/lrange.test: Revert commits of 2008-07-23. Those were speed
+ * tests/binary.test: tests, that are inherently brittle.
-2007-04-12 Miguel Sofer <msofer@users.sf.net>
+2009-02-21 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c: new macros OBJ_AT_TOS, OBJ_UNDER_TOS,
- OBJ_AT_DEPTH(n) and CURR_DEPTH that remove all direct references to
- tosPtr from TEBC (after initialisation and the code at the label
- cleanupV_pushObjResultPtr).
+ * generic/tclStringObj.c: Several revisions to the shimmering
+ patterns between Unicode and UTF string reps. Most notably the
+ call: objPtr = Tcl_NewUnicodeObj(...,0); followed by a loop of calls:
+ Tcl_AppendUnicodeToObj(objPtr, u, n); will now grow and append to
+ the Unicode representation. Before this commit, the sequence would
+ convert each append to UTF and perform the append to the UTF rep.
+ This is puzzling and likely a bug. The performance of [string map]
+ is significantly improved by this change (according to the MAP
+ collection of benchmarks in tclbench). Just in case there was some
+ wisdom in the old ways that I missed, I left in the ability to restore
+ the old patterns with a #define COMPAT 1 at the top of the file.
-2007-04-11 Miguel Sofer <msofer@users.sf.net>
+2009-02-20 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompCmds.c: moved all exceptDepth management to the
- macros - the decreasing half was managed by hand.
-
-2007-04-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclPathObj.c: Fixed mistaken logic in TclFSGetPathType()
+ * tests/fileName.test: that assumed (not "absolute" => "relative").
+ This is a false assumption on Windows, where "volumerelative" is
+ another possibility. [Bug 2571597]
- * generic/tclInt.h (TclNewLiteralStringObj): New macro to make
- allocating literal string objects (i.e. objects whose value is a
- constant string) easier and more efficient, by allowing the omission
- of the length argument. Based on [Patch 1529526] (afredd)
- * generic/*.c: Make use of this (in many files).
+2009-02-18 Don Porter <dgp@users.sourceforge.net>
-2007-04-08 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclStringObj.c: Simplify the logic of the
+ Tcl_*SetObjLength() routines.
- * generic/tclCompile (tclInstructionTable): Fixed bugs in description
- of dict instructions.
+ * generic/tclStringObj.c: Rewrite GrowStringBuffer() so that it
+ has parallel structure with GrowUnicodeBuffer(). The revision permits
+ allocation attempts to continue all the way up to failure, with no
+ gap. It also directly manipulates the String and Tcl_Obj internals
+ instead of inefficiently operating via Tcl_*SetObjLength() with all of
+ its extra protections and underdocumented special cases.
-2007-04-07 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclStringObj.c: Another round of simplification on
+ the allocation macros.
- * generic/tclCompile (tclInstructionTable): Fixed bug in description
- of INST_START_COMMAND.
+2009-02-17 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclExecute.c (TEBC): Small code reduction.
+ * win/tcl.m4, win/configure: Check if cl groks _WIN64 already to
+ avoid CC manipulation that can screw up later configure checks.
+ Use 'd'ebug runtime in 64-bit builds.
-2007-04-06 Miguel Sofer <msofer@users.sf.net>
+2009-02-17 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c (TEBC):
- * generic/tclNamespace.c (NsEnsembleImplementationCmd):
- * generic/tclProc.c (InitCompiledLocals, ObjInterpProcEx)
- (TclObjInterpProcCore, ProcCompileProc): Code reordering to reduce
- branching and improve branch prediction (assume that forward branches
- are typically not taken).
+ * generic/tclStringObj.c: Pare back the length of the unicode
+ array in a non-extended String struct to one Tcl_UniChar, meant to
+ hold the terminating NUL character. Non-empty unicode strings are
+ then stored by extending the String struct by stringPtr->maxChars
+ additional slots in that array with sizeof(Tcl_UniChar) bytes per
+ slot. This revision makes the allocation macros much simpler.
-2007-04-03 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclStringObj.c: Factor out common GrowUnicodeBuffer()
+ and solve overflow and growth algorithm fallbacks in it.
- * generic/tclExecute.c: INST_INVOKE optimisation. [Patch 1693802]
+ * generic/tclStringObj.c: Factor out common GrowStringBuffer().
-2007-04-03 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStringObj.c: Convert Tcl_AppendStringsToObj into
+ * tests/stringObj.test: a radically simpler implementation
+ where we just loop over calls to Tcl_AppendToObj. This fixes [Bug
+ 2597185]. It also creates a *** POTENTIAL INCOMPATIBILITY *** in
+ that T_ASTO can now allocate more space than is strictly required,
+ like all the other Tcl_Append* routines. The incompatibility was
+ detected by test stringObj-6.5, which I've updated to reflect the
+ new behavior.
- * generic/tclNamesp.c: Revised ErrorCodeRead and ErrorInfoRead trace
- routines so they guarantee the ::errorCode and ::errorInfo variable
- always appear to exist. [Bug 1693252]
+ * generic/tclStringObj.c: Revise buffer growth implementation
+ in ExtendStringRepWithUnicode. Use cheap checks to determine that
+ no reallocation is necessary without cost of computing the precise
+ number of bytes needed. Also make use of the string growth algortihm
+ in the case of repeated appends.
-2007-04-03 Miguel Sofer <msofer@users.sf.net>
+2009-02-16 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.decls: Moved TclGetNamespaceFromObj() to the
- * generic/tclInt.h: internal stubs table; regen.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
+ * generic/tclZlib.c: hack needed for official zlib1.dll build.
+ * win/configure.in: fix [Feature Request 2605263] use official
+ * win/Makefile.in: zlib build.
+ * win/configure: (regenerated)
+ * compat/zlib/zdll.lib: new files
+ * compat/zlib/zlib1.dll:
-2007-04-02 Miguel Sofer <msofer@users.sf.net>
+ * win/Makefile.in: fix [Bug 2605232] tdbc doesn't build when
+ Tcl is compiled with --disable-shared.
- * generic/tclBasic.c: Added bytecode compilers for the variable
- * generic/tclCompCmds.c: linking commands: 'global', 'variable',
- * generic/tclCompile.h: 'upvar', 'namespace upvar' [Patch 1688593]
- * generic/tclExecute.c:
- * generic/tclInt.h:
- * generic/tclVar.c:
+2009-02-15 Don Porter <dgp@users.sourceforge.net>
-2007-04-02 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStringObj.c: Added protections from invalid memory
+ * generic/tclTestObj.c: accesses when we append (some part of)
+ * tests/stringObj.test: a Tcl_Obj to itself. Added the
+ appendself and appendself2 subcommands to the [teststringobj] testing
+ command and added tests to the test suite. [Bug 2603158]
- * generic/tclBasic.c: Replace arrays on the C stack and ckalloc
- * generic/tclExecute.c: calls with TclStackAlloc calls to use memory
- * generic/tclFCmd.c: on Tcl's evaluation stack.
- * generic/tclFileName.c:
- * generic/tclIOCmd.c:
+ * generic/tclStringObj.c: Factor out duplicate code from
+ Tcl_AppendObjToObj.
+
+ * generic/tclStringObj.c: Replace the 'size_t uallocated' field
+ of the String struct, storing the number of bytes allocated to store
+ the Tcl_UniChar array, with an 'int maxChars' field, storing the
+ number of Tcl_UniChars that may be stored in the allocated space.
+ This reduces memory requirement a small bit, and makes some range
+ checks simpler to code.
+ * generic/tclTestObj.c: Replace the [teststringobj ualloc] testing
+ * tests/stringObj.test: command with [teststringobj maxchars] and
+ update the tests.
+
+ * generic/tclStringObj.c: Removed limitation in
+ Tcl_AppendObjToObj where the char length of the result was only
+ computed if the appended string was all single byte characters.
+ This limitation was in place to dodge a bug in Tcl_GetUniChar.
+ With that bug gone, we can take advantage of always recording the
+ length of append results when we know it.
+
+2009-02-14 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclStringObj.c: Revisions so that we avoid creating
+ the strange representation of an empty string with
+ objPtr->bytes == NULL and stringPtr->hasUnicode == 0. Instead in
+ the situations where that was being created, create a traditional
+ two-legged stork representation (objPtr->bytes = tclEmptyStringRep
+ and stringPtr->hasUnicode = 1). In the situations where the strange
+ rep was treated differently, continue to do so by testing
+ stringPtr->numChars == 0 to detect it. These changes make the code
+ more conventional so easier for new maintainers to pick up. Also
+ sets up further simplifications.
+
+ * generic/tclTestObj.c: Revise updates to [teststringobj] so we don't
+ get blocked by MODULE_SCOPE limits.
+
+2009-02-12 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclStringObj.c: Rewrites of the routines
+ Tcl_GetCharLength, Tcl_GetUniChar, Tcl_GetUnicodeFromObj,
+ Tcl_GetRange, and TclStringObjReverse to use the new macro, and
+ to more simply and clearly split the cases depending on whether
+ a valid unicode rep is present or needs to be created.
+ New utility routine UnicodeLength(), to compute the length of unicode
+ buffer arguments when no length is passed in, with built-in
+ overflow protection included. Update three callers to use it.
+
+ * generic/tclInt.h: New macro TclNumUtfChars meant to be a faster
+ replacement for a full Tcl_NumUtfChars() call when the string has all
+ single-byte characters.
+
+ * generic/tclStringObj.c: Simplified Tcl_GetCharLength by
+ * generic/tclTestObj.c: removing code that did nothing.
+ Added early returns from Tcl_*SetObjLength when the desired length
+ is already present; adapted test command to the change.
+
+ * generic/tclStringObj.c: Re-implemented AppendUtfToUnicodeRep
+ so that we no longer pass through Tcl_DStrings which have their own
+ sets of problems when lengths overflow the int range. Now AUTUR and
+ FillUnicodeRep share a common core routine.
+
+2009-02-12 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclOODefineCmds.c (TclOOGetDefineCmdContext): Use the
+ correct field in the Interp structure for retrieving the frame to get
+ the context object so that people can extend [oo::define] without deep
+ shenanigans. Bug found by Federico Ferri.
+
+2009-02-11 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclStringObj.c: Re-implemented AppendUnicodeToUtfRep
+ so that we no longer pass through Tcl_DStrings which have their own
+ sets of problems when lengths overflow the int range. Now AUTUR and
+ UpdateStringOfString share a common core routine.
+
+ * generic/tclStringObj.c: Changed type of the 'allocated' field
+ * generic/tclTestObj.c: of the String struct (and the
+ TestString counterpart) from size_t to int since only int values are
+ ever stored in it.
+
+2009-02-10 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclEncoding.c: Eliminate some unnessary type casts
+ * generic/tclEvent.c: some internal const decorations
+ * generic/tclExecute.c: spacing
* generic/tclIndexObj.c:
* generic/tclInterp.c:
- * generic/tclNamesp.c:
- * generic/tclTrace.c:
- * unix/tclUnixPipe.c:
-
-2007-04-01 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompile.c (TclCompileScript, TclPrintInstruction):
- * generic/tclExecute.c (TclExecuteByteCode): Changed the definition of
- INST_START_CMD so that it knows how many commands start at the current
- location. This makes the interpreter command counter correct without
- requiring a large number of instructions to be issued. (See my change
- from 2007-01-19 for what triggered this.)
-
-2007-03-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c:
- * generic/tclCompExpr.c:
- * generic/tclCompCmds.c: Replace arrays on the C stack and
- ckalloc calls with TclStackAlloc calls to use memory on Tcl's
- evaluation stack.
-
- * generic/tclCmdMZ.c: Revised [string to* $s $first $last]
- implementation to reduce number of allocs/copies.
-
- * tests/string.test: More [string reverse] tests.
-
-2007-03-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: optimise the lookup of elements of indexed
- arrays.
-
-2007-03-29 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (Tcl_ApplyObjCmd):
- * tests/apply.test (9.3): Fixed Tcl_Obj leak on error return; an
- unneeded ref to lambdaPtr was being set and not released on an error
- return path.
-
-2007-03-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (STR_REVERSE): Implement the actual [string
- reverse] command in terms of the new TclStringObjReverse() routine.
-
- * generic/tclInt.h (TclStringObjReverse): New internal routine
- * generic/tclStringObj.c (TclStringObjReverse): that implements the
- [string reverse] operation, making use of knowledge/surgery of the
- String intrep to minimize the number of allocs and copies needed to do
- the job.
-
-2007-03-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (STR_MAP): Replace ckalloc calls with
- TclStackAlloc calls.
-
-2007-03-24 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * win/tclWinThrd.c: Thread exit handler marks the current thread as
- un-initialized. This allows exit handlers that are registered later to
- re-initialize this subsystem in case they need to use some sync
- primitives (cond variables) from this file again.
-
-2007-03-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (DeleteInterpProc): pop the root frame pointer
- before deleting the global namespace [Bug 1658572]
-
-2007-03-23 Kevin B. Kenny <kennykb@acm.org>
-
- * win/Makefile.in: Added code to keep a Cygwin path name from leaking
- into LIBRARY_DIR when doing 'make test' or 'make runtest'.
-
-2007-03-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Replaced arrays on the
- C stack and ckalloc calls with TclStackAlloc calls to use memory on
- Tcl's evaluation stack.
-
- * generic/tclExecute.c: Revised GrowEvaluationStack to take an
- argument specifying the growth required by the caller, so that a
- single reallocation / copy is the most that will ever be needed even
- when required growth is large.
-
-2007-03-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: More ckalloc -> ckrealloc conversions.
- * generic/tclLiteral.c:
- * generic/tclNamesp.c:
- * generic/tclParse.c:
- * generic/tclPreserve.c:
- * generic/tclStringObj.c:
- * generic/tclUtil.c:
-
-2007-03-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEnv.c: Some more ckalloc -> ckrealloc replacements.
- * generic/tclLink.c:
-
-2007-03-20 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclDate.c: Rebuilt, despite Donal Fellows's comment when
- committing it that no rebuild was required.
- * generic/tclGetDate.y: According to Donal Fellows, "Introduce modern
- formatting standards; no need for rebuild of tclDate.c."
-
- * library/tzdata/America/Cambridge_Bay:
- * library/tzdata/America/Havana:
- * library/tzdata/America/Inuvik:
- * library/tzdata/America/Iqaluit:
- * library/tzdata/America/Pangnirtung:
- * library/tzdata/America/Rankin_Inlet:
- * library/tzdata/America/Resolute:
- * library/tzdata/America/Yellowknife:
- * library/tzdata/Asia/Choibalsan:
- * library/tzdata/Asia/Dili:
- * library/tzdata/Asia/Hovd:
- * library/tzdata/Asia/Jakarta:
- * library/tzdata/Asia/Jayapura:
- * library/tzdata/Asia/Makassar:
- * library/tzdata/Asia/Pontianak:
- * library/tzdata/Asia/Ulaanbaatar:
- * library/tzdata/Europe/Istanbul: Upgraded to Olson's tzdata2007d.
-
- * generic/tclListObj.c (TclLsetList, TclLsetFlat):
- * tests/lset.test: Changes to deal with shared internal representation
- for lists passed to the [lset] command. Thanks to Don Porter for
- fixing this issue. [Bug 1677512]
-
-2007-03-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Revise the various expansion routines for
- CompileEnv fields to use ckrealloc() where appropriate.
-
- * generic/tclBinary.c (Tcl_SetByteArrayLength): Replaced ckalloc() /
- memcpy() sequence with ckrealloc() call.
-
- * generic/tclBasic.c (Tcl_CreateMathFunc): Replaced some calls to
- * generic/tclEvent.c (Tcl_CreateThread): Tcl_Alloc() with calls
- * generic/tclObj.c (UpdateStringOfBignum): to ckalloc(), which
- * unix/tclUnixTime.c (SetTZIfNecessary): better supports memory
- * win/tclAppInit.c (setargv): debugging.
-
-2007-03-19 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/regsub.n: Corrected example so that it doesn't recommend
- potentially unsafe practice. Many thanks to Konstantin Kushnir
- <chpock@gmail.com> for reporting this.
-
-2007-03-17 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclWinReg.c (GetKeyNames): Size the buffer for enumerating key
- names correctly, so that Unicode names exceeding 127 chars can be
- retrieved without crashing. [Bug 1682211]
- * tests/registry.test (registry-4.9): Added test case for the above
- bug.
-
-2007-03-15 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIOUtil.c (Tcl_Stat): Reimplement workaround to avoid gcc
- warning by using local variables. When the macro argument is of type
- long long instead of long, the incorrect warning is not generated.
-
-2007-03-15 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/Makefile.in: Fully qualify LIBRARY_DIR so that `make test` does
- not depend on working dir.
-
-2007-03-15 Mo DeJong <mdejong@users.sourceforge.net>
-
- * tests/parse.test: Add two backslash newline parse tests.
-
-2007-03-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (INST_FOREACH_STEP4): Make private copy of
- * tests/foreach.test (foreach-10.1): value list to be assigned to
- variables so that shimmering of that list doesn't lead to invalid
- pointers. [Bug 1671087]
-
- * generic/tclEvent.c (HandleBgErrors): Make efficient private copy
- * tests/event.test (event-5.3): of the command prefix for the interp's
- background error handling command to avoid panics due to pointers to
- memory invalid after shimmering. [Bug 1670155]
-
- * generic/tclNamesp.c (NsEnsembleImplementationCmd): Make efficient
- * tests/namespace.test (namespace-42.8): private copy of the
- command prefix as we invoke the command appropriate to a particular
- subcommand of a particular ensemble to avoid panic due to shimmering
- of the List intrep. [Bug 1670091]
-
- * generic/tclVar.c (TclArraySet): Make efficient private copy of
- * tests/var.test (var-17.1): the "list" argument to [array set] to
- avoid crash due to shimmering invalidating pointers. [Bug 1669489]
-
-2007-03-12 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fix problems with declaration
- positioning and memory leaks. [Bug 1679072]
-
-2007-03-11 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCmdIL.c (Tcl_LreverseObjCmd): Ensure that a list is
- correctly reversed even if its internal representation is shared
- without the object itself being shared. [Bug 1675044]
-
-2007-03-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCmdIL (Tcl_LsortObjCmd): changed fix to [Bug 1675116] to
- use the cheaper TclListObjCopy() instead of Tcl_DuplicateObj().
-
-2007-03-09 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/shell.tcl: Made more robust if an older platform
- * library/platform/pkgIndex.tcl: package is present in the inspected
- * unix/Makefile.in: shell. Package forget it to prevent errors. Bumped
- * win/Makefile.in: package version to 1.1.3, and updated the Makefiles
- installing it as Tcl Module.
-
-2007-03-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Handle tricky case with loss
- * tests/cmdIL.test (cmdIL-1.29): of list rep during sorting due
- to shimmering. [Bug 1675116]
-
-2007-03-09 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl (ReadZoneinfoFile): Added Y2038 compliance to the
- code for version-2 'zoneinfo' files.
- * tests/clock.test (clock-56.3): Added a test case for Y2038 and
- 'zoneinfo'. Modified test initialisation to use the
- 'loadTestedCommands' function of tcltest to bring in the correct path
- for the registry library.
-
-2007-03-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclListObj.c (TclLsetList): Rewrite so that the routine
- itself does not do any direct intrep surgery. Better isolates those
- things into the implementation of the "list" Tcl_ObjType.
-
-2007-03-08 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclListObj.c (TclLindexList, TclLindexFlat): Moved these
- functions to tclListObj.c from tclCmdIL.c to mirror the way that the
- equivalent functions for [lset]'s guts are arranged.
-
-2007-03-08 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Further tweaks to the Windows time zone table
- (restoring missing Mexican time zones). Added rudimentary handling of
- version-2 'zoneinfo' files. Update US DST rules so that zones such as
- 'EST5EDT' get the correct transition dates.
- * tests/clock.test: Added rudimentary test cases for 'zoneinfo'
- parsing. Adjusted several tests that depended on obsolete US DST
- transition rules.
-
-2007-03-07 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXNotify.c: add spinlock debugging and sanity checks.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: ensure gcc version used by
- * macosx/Tcl.xcodeproj/default.pbxuser: Xcode and configure/make are
- * macosx/Tcl-Common.xcconfig: consistent and independent of
- gcc_select default and CC env var; fixes for Xcode 3.0.
-
- * unix/tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in macosx-version-min check
- * unix/configure: autoconf-2.59
-
-2007-03-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdIL.c (TclLindex*): Rewrites to make efficient
- private copies of the list and indexlist arguments, so we can operate
- on the list elements directly with no fear of shimmering effects.
- Replaces defensive coding schemes that are otherwise required. End
- result is that TclLindexList is entirely a wrapper around
- TclLindexFlat, which is now the core engine of all [lindex]
- operations.
-
- * generic/tclObj.c (Tcl_AppendAllObjTypes): Converted to simpler
- list validity test.
-
-2007-03-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclRegexp.c (TclRegAbout): Generate information about a
- regexp as a Tcl_Obj instead of as a string, which is more efficient.
-
-2007-03-07 Kevin B. Kenny <kennykb@acm.org>
-
- * library/clock.tcl: Adjusted Windows time zone table to handle new US
- DST rules by locale rather than as Posix time zone spec.
- * tests/clock.test (clock-39.6, clock-49.2, testclock::registry):
- Adjusted tests to simulate new US rules.
- * library/tzdata/America/Indiana/Winamac:
- * library/tzdata/Europe/Istanbul:
- * library/tzdata/Pacific/Easter:
- Olson's tzdata2007c.
-
-2007-03-05 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/shell.tcl (::platform::shell::RUN): In the case of
- * library/platform/pkgIndex.tcl: a failure put the captured stderr
- * unix/Makefile.in: into the error message to aid in debugging. Bumped
- * win/Makefile.in: package version to 1.1.2, and updated the makefiles
- installing it as Tcl Module.
-
-2007-03-03 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclLink.c (LinkedVar): Added macro to conceal at least some
- of the pointer hackery.
-
-2007-03-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdIL.c (Tcl_LreverseObjCmd): Added missing
- TclInvalidateStringRep() call when we directly manipulate the intrep
- of an unshared "list" Tcl_Obj. [Bug 1672585]
-
- * generic/tclCmdIL.c (Tcl_JoinObjCmd): Revised [join] implementation
- to append Tcl_Obj's instead of strings. [RFE 1669420]
-
- * generic/tclCmdIL.c (Info*Cmd): Code simplifications and
- optimizations.
-
-2007-03-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCompile.c (TclPrintInstruction): Added a scheme to allow
- * generic/tclCompile.h (AuxDataPrintProc): aux-data to be printed
- * generic/tclCompCmds.c (Print*Info): out for debugging. For
- this to work, immediate operands referring to aux-data must be
- identified as such in the instruction descriptor table using
- OPERAND_AUX4 (all are always 4 bytes).
-
- * generic/tclExecute.c (TclExecuteByteCode): Rewrote the compiled
- * generic/tclCompCmds.c (TclCompileDictCmd): [dict update] so that it
- * generic/tclCompile.h (DictUpdateInfo): stores critical
- * tests/dict.test (dict-21.{14,15}): non-varying data in an
- aux-data value instead of a (shimmerable) literal. [Bug 1671001]
-
-2007-03-01 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdIL.c (Tcl_LinsertObjCmd): Code simplifications
- and optimizations.
-
- * generic/tclCmdIL.c (Tcl_LreplaceObjCmd): Code simplifications
- and optimizations.
-
- * generic/tclCmdIL.c (Tcl_LrangeObjCmd): Rewrite in the same
- spirit; avoid shimmer effects rather than react to them.
-
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stop throwing away
- * tests/foreach.test (foreach-1.14): useful error information when
- loop variable sets fail.
-
- * generic/tclCmdIL.c (Tcl_LassignObjCmd): Rewrite to make an
- efficient private copy of the list argument, so we can operate on the
- list elements directly with no fear of shimmering effects. Replaces
- defensive coding schemes that are otherwise required.
-
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Rewrite to make
- efficient private copies of the variable and value lists, so we can
- operate on them without any special shimmer defense coding schemes.
-
-2007-03-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileForeachCmd): Prevent an unexpected
- * tests/foreach.test (foreach-9.1): infinite loop when the
- variable list is empty and the foreach is compiled. [Bug 1671138]
-
-2007-02-26 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIORChan.c (FreeReflectedChannel): Added the missing
- refcount release between NewRC and FreeRC for the channel handle
- object, spotted by Don Porter. [Bug 1667990]
-
-2007-02-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Removed surplus
- copying of the objv array that used to be a workaround for [Bug
- 404865]. That bug is long fixed.
-
-2007-02-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Use new interface in Tcl_EvalObjEx so that the
- recounting logic of the List internal rep need not be repeated there.
- Better encapsulation of internal details.
-
- * generic/tclInt.h: New internal routine TclListObjCopy() used
- * generic/tclListObj.c: to efficiently do the equivalent of [lrange
- $list 0 end]. After some experience with this, might be a good
- candidate for exposure as a public interface. It's useful for callers
- of Tcl_ListObjGetElements() who want to control the ongoing validity
- of the returned objv pointer.
-
-2007-02-22 Andreas Kupries <andreask@activestate.com>
-
- * tests/pkg.test: Added tests for the case of an alpha package
- satisfying a require for the regular package, demonstrating a corner
- case specified in TIP#280. More notes in the comments to the test.
-
-2007-02-20 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclInt.decls: Added "const" specifiers in TclSockGetPort
- * generic/tclIntDecls.h: regenerated
- * generic/*.c:
- * unix/tclUnixChan.c
- * unix/tclUnixPipe.c
- * win/tclWinPipe.c
- * win/tclWinSock.c: Added many "const" specifiers in implementation.
-
-2007-02-20 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: Typo fix. [Bug 1663539]
-
-2007-02-20 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tclFileName.c: Handle extended paths on Windows NT and
- * generic/tclPathObj.c: above. These have a \\?\ prefix. [Bug
- * win/tclWinFile.c: 1479814]
- * tests/winFCmd.test: Tests for extended path handling.
-
-2007-02-19 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tcl.m4: use SHLIB_SUFFIX=".so" on HP-UX ia64 arch.
- * unix/configure: autoconf-2.59
-
- * generic/tclIOUtil.c (Tcl_FSEvalFileEx): safe incr of objPtr ref.
-
-2007-02-18 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/chan.n, doc/clock.n, doc/eval.n, doc/exit.n, doc/expr.n:
- * doc/interp.n, doc/open.n, doc/platform_shell.n, doc/pwd.n:
- * doc/refchan.n, doc/regsub.n, doc/scan.n, doc/tclvars.n, doc/tm.n:
- * doc/unload.n: Apply [Bug 1610310] to fix typos. Thanks to Larry
- Virden for spotting them.
-
- * doc/interp.n: Partial fix of [Bug 1662436]; rest requires some
- policy decisions on what should and shouldn't be safe commands from
- the "new in 8.5" set.
-
-2007-02-13 Kevin B. Kenny <kennykb@acm.org>
-
- * tools/fix_tommath_h.tcl: Further tweaking for the x86-64. The change
- is to make 'mp_digit' be an 'unsigned int' on that platform; since
- we're using only 32 bits of it, there's no reason to make it a 64-bit
- 'unsigned long.'
- * generic/tclTomMath.h: Regenerated.
-
-2007-02-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/re_syntax.n: Corrected description of 'print' class [Bug
- 1614687] and enhanced description of 'graph' class.
-
-2007-02-12 Kevin B. Kenny <kennykb@acm.org>
-
- * tools/fix_tommath_h.tcl: Added code to patch out a check for
- __x86_64__ that caused Tommath to use __attributes(TI)__ for the
- mp_word type. Tetra-int's simply fail on too many gcc-glibc-OS
- combinations to be ready for shipment today, even if they work for
- some of us. This change allows reversion of das's change of 2006-08-18
- that accomplised the same thing on Darwin. [Bugs 1601380, 1603737,
- 1609936, 1656265]
- * generic/tclTomMath.h: Regenerated.
- * library/tzdata/Africa/Asmara:
- * library/tzdata/Africa/Asmera:
- * library/tzdata/America/Nassau:
- * library/tzdata/Atlantic/Faeroe:
- * library/tzdata/Atlantic/Faroe:
- * library/tzdata/Australia/Eucla:
- * library/tzdata/Pacific/Easter: Rebuilt from Olson's tzdata2007b.
-
-2007-02-09 Joe Mistachkin <joe@mistachkin.com>
-
- * win/nmakehlp.c: Properly cleanup after nmakehlp, including the
- * win/makefile.vc: vcX0.pch file.
-
-2007-02-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixInit.c (TclpCheckStackSpace): do stack size checks with
- unsigned size_t to correctly validate stackSize in the 2^31+ range.
- [Bug 1654104]
-
-2007-02-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c: Corrected broken logic in Tcl_DeleteNamespace
- * tests/namespace.test: introduced in Patch 1577278 that caused
- [namespace delete ::] to be effective only at level #0. New test
- namespace-7.7 should prevent similar error in the future [Bug 1655305]
-
-2007-02-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c: Corrected broken implementation of the
- * tests/namespace.test: TclMatchIsTrivial optimization on [namespace
- children $namespace $pattern].
-
-2007-02-04 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: use gcc4's __attribute__((__visibility__("hidden"))) if
- available to define MODULE_SCOPE effective on all platforms.
- * unix/configure.in: add caching to -pipe and zoneinfo checks.
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2007-02-03 Joe Mistachkin <joe@mistachkin.com>
-
- * win/rules.vc: Fix platform specific file copy macros for downlevel
- Windows.
-
-2007-01-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclResult.c: Added optimization case to TclTransferResult to
- cover common case where there's big savings over the fully general
- path. Thanks to Peter MacDonald. [Bug 1626518]
-
- * generic/tclLink.c: Broken linked float logic corrected. Thanks to
- Andy Goth. [Bug 1602538]
-
- * doc/fcopy.n: Typo fix. [Bug 1630627]
-
-2007-01-28 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcodeproj/project.pbxproj: extract build settings that
- * macosx/Tcl.xcodeproj/default.pbxuser: were common to multiple
- * macosx/Tcl-Common.xcconfig (new file): configurations into external
- * macosx/Tcl-Debug.xcconfig (new file): xcconfig files; add extra
- * macosx/Tcl-Release.xcconfig (new file): configurations for building
- with SDKs and 64bit; convert legacy jam-based 'Tcl' target to native
- target with single script phase; correct syntax of build setting
- references to use $() throughout.
-
- * macosx/README: document new Tcl.xcodeproj configurations; other
- minor updates/corrections.
-
- * generic/tcl.h: update location of version numbers in macosx files.
-
- * macosx/Tcl.xcode/project.pbxproj: restore 'tcltest' target to
- * macosx/Tcl.xcode/default.pbxuser: working order by replicating
- applicable changes to Tcl.xcodeproj since 2006-07-20.
-
-2007-01-25 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible and
- move (rather than duplicate) -isysroot flags from CFLAGS to CPPFLAGS
- to avoid errors about multiple -isysroot flags from some older gcc
- builds.
-
- * unix/configure: autoconf-2.59
-
-2007-01-22 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * compat/memcmp.c (memcmp): Reworked so that arithmetic is never
- performed upon void pointers, since that is illegal. [Bug 1631017]
-
-2007-01-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompile.c (TclCompileScript): Reduce the frequency with
- which we issue INST_START_CMD, making bytecode both more compact and
- somewhat faster. The optimized case is where we would otherwise be
- issuing a sequence of those instructions; in those cases, it is only
- ever the first one encountered that could possibly trigger.
-
-2007-01-19 Joe Mistachkin <joe@mistachkin.com>
-
- * tools/man2tcl.c: Include stdlib.h for exit() and improve comment
- detection.
- * win/nmakehlp.c: Update usage.
- * win/makefile.vc: Properly build man2tcl.c for MSVC8.
-
-2007-01-19 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXFCmd.c (TclMacOSXSetFileAttribute): on some versions
- of Mac OS X, truncate() fails on resource forks, in that case use
- open() with O_TRUNC instead.
-
- * macosx/tclMacOSXNotify.c: accommodate changes to prototypes of
- OSSpinLock(Un)Lock API.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: ensure HOME and USER env vars
- * macosx/Tcl.xcodeproj/default.pbxuser: are defined when running
- testsuite from Xcode.
-
- * tests/env.test: add extra system env vars that need to be preserved
- on some Mac OS X versions for testsuite to work.
-
- * unix/Makefile.in: Move libtommath defines into configure.in to
- * unix/configure.in: avoid replicating them across multiple
- * macosx/Tcl.xcodeproj/project.pbxproj: buildsystems.
-
- * unix/tcl.m4: ensure CPPFLAGS env var is used when set. [Bug 1586861]
- (Darwin): add -isysroot and -mmacosx-version-min flags to CPPFLAGS
- when present in CFLAGS to avoid discrepancies between what headers
- configure sees during preprocessing tests and compiling tests.
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2007-01-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompile.c (TclCompileScript): Make sure that when parsing
- an expanded literal fails, a correct bytecode sequence is still
- issued. [Bug 1638414]. Also make sure that the start of the expansion
- bytecode sequence falls inside the span of bytecodes for a command.
- * tests/compile.test (compile-16.24): Added test for [Bug 1638414]
-
-2007-01-17 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIO.c: Added macros to make usage of ChannelBuffers
- clearer.
-
-2007-01-11 Joe English <jenglish@users.sourceforge.net>
-
- * win/tcl.m4(CFLAGS_WARNING): Remove "-Wconversion". This was removed
- from unix/tcl.m4 2004-07-16 but not from here.
- * win/configure: Regenerated.
-
-2007-01-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Fixes to work better on Win98. Read version numbers
- * win/nmakehlp.c: from package index file to avoid keeping numbers in
- * win/rules.vc: the makefile where they may become de-synchronized.
-
-2007-01-10 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/regcomp.c (compile, freev): Define a strategy for
- * generic/regexec.c (exec): managing the internal
- * generic/regguts.h (AllocVars, FreeVars): vars of the RE engine to
- * generic/regcustom.h (AllocVars, FreeVars): reduce C stack usage.
- This will make Tcl as a whole much less likely to run out of stack
- space...
-
-2007-01-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCompCmds.c (TclCompileLindexCmd):
- * tests/lindex.test (lindex-9.2): Fix silly bug that ended up
- sometimes compiling list arguments in the wrong order. [Bug 1631364]
-
-2007-01-03 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclDate.c: Regenerated to recover a lost fix from patthoyts.
- [Bug 1618523]
-
-2006-12-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_GetsObj): Avoid checking for for the LF in a
- possible CRLF sequence when EOF has already been found.
-
-2006-12-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclEncoding.c (EscapeFromUtfProc): Clear the
- TCL_ENCODING_END flag when end bytes are written. This fix keep this
- method from writing escape bytes for an encoding like iso2022-jp
- multiple times when the escape byte overlap with the end of the IO
- buffer.
- * tests/io.test: Add test for escape byte overlap issue.
-
-2006-12-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixThrd.c (Tcl_GetAllocMutex, TclpNewAllocMutex): Add
- intermediate variables to shut up unwanted warnings. [Bug 1618838]
-
-2006-12-19 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixThrd.c (TclpInetNtoa): fix for 64 bit.
-
- * unix/tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit
- -arch flag succeeds before enabling 64bit build.
- * unix/configure: autoconf-2.59
-
-2006-12-17 Daniel Steffen <das@users.sourceforge.net>
-
- * tests/macOSXLoad.test (new file): add testing of .bundle loading and
- * tests/load.test: unloading on Darwin (in addition
- * tests/unload.test: to existing tests of .dylib
- loading).
- * macosx/Tcl.xcodeproj/project.pbxproj: add building of dltest
- binaries so that testsuite run from Xcode can use them; fix testsuite
- run script
- * unix/configure.in: add support for building dltest binaries as
- * unix/dltest/Makefile.in: .bundle (in addition to .dylib) on Darwin.
- * unix/Makefile.in: add stub lib dependency to dltest target.
- * unix/configure: autoconf-2.59
-
- * tests/append.test: fix cleanup failure when all tests are skipped.
-
- * tests/chan.test (chan-16.9): cleanup chan event handler to avoid
- causing error in event.test when running testsuite with -singleproc 1.
-
- * tests/info.test: add !singleTestInterp constraint to tests that fail
- when running testsuite with -singleproc 1. [Bug 1605269]
-
-2006-12-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * doc/string.n: Fix example. [Bug 1615277]
-
-2006-12-12 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Now that the new internal structs are
- in use to support operator commands, might as well make them the
- default for [expr] as well and avoid passing every parsed expression
- through the inefficient Tcl_Token array format. This addresses most
- issues in [RFE 1517602]. Assuming no performance disasters result from
- this, much dead code supporting the other implementation might now be
- removed.
-
- * generic/tclBasic.c: Final step routing all direct evaluation forms
- * generic/tclCompExpr.c: of the operator commands through TEBC,
- * generic/tclCompile.h: dropping all the routines in tclMathOp.c.
- * generic/tclMathOp.c: Still needs Engineering Manual attention.
-
-2006-12-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Another step with all sorting operator
- * generic/tclCompExpr.c: commands now routing through TEBC via
- * generic/tclCompile.h: TclSortingOpCmd().
-
-2006-12-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Another step down the path of re-using
- * generic/tclCompExpr.c: TclExecuteByteCode to implement the TIP 174
- * generic/tclCompile.h: commands instead of using a mass of code
- * generic/tclMathOp.c: duplication. Now all operator commands that
- * tests/mathop.test: demand exactly one operation are implemented
- via TclSingleOpCmd and a call to TEBC.
-
- * generic/tclCompExpr.c: Revised implementation of TclInvertOpCmd to
- * generic/tclMathOp.c: perform a bytecode compile / execute sequence.
- This demonstrates a path toward avoiding mountains of code duplication
- in tclMathOp.c and tclExecute.c.
-
- * generic/tclCompile.h: Change TclExecuteByteCode() from static to
- * generic/tclExecute.c: MODULE_SCOPE so all files including
- tclCompile.h may call it.
-
- * generic/tclMathOp.c: More revisions to make tests pass.
- * tests/mathop.test:
-
-2006-12-08 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclNamesp.c (TclTeardownNamespace): Ensure that dying
- namespaces unstitch themselves from their referents. [Bug 1571056]
- (NsEnsembleImplementationCmd): Silence GCC warning.
-
- * tests/mathop.test: Full tests for & | and ^ operators
-
-2006-12-08 Daniel Steffen <das@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: use [info frame] for "-verbose line".
-
-2006-12-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c: Additional commits correct most
- * generic/tclExecute.c: failing tests illustrating bugs
- * generic/tclMathOp.c: uncovered in [Patch 1578137].
-
- * generic/tclBasic.c: Biggest source of TIP 174 failures was that
- the commands were not [namespace export]ed from the ::tcl::mathop
- namespace. More bits from [Patch 1578137] correct that.
-
- * tests/mathop.test: Commmitted several new tests from Peter Spjuth
- found in [Patch 1578137]. Many failures now demonstrate issues to fix
- in the TIP 174 implementation.
-
-2006-12-07 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/mathop.test: Added tests for ! ~ eq operators.
- * generic/tclMathOp.c (TclInvertOpCmd): Add in check for non-integral
- numeric values.
- * generic/tclCompCmds.c (CompileCompareOpCmd): Factor out the code
- generation for the chained comparison operators.
-
-2006-12-07 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/exec.test: Fixed line endings (caused win32 problems).
-
-2006-12-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompCmds.c: Revised and consolidated into utility
- * tests/mathop.test: routines some of routines that compile
- the new TIP 174 commands. This corrects some known bugs. More to come.
-
-2006-12-06 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/expr.test (expr-47.12): Improved error reporting in hopes of
- having more information to pursue [Bug 1609936].
-
-2006-12-05 Andreas Kupries <andreask@activestate.com>
-
- TIP#291 IMPLEMENTATION
-
- * generic/tclBasic.c: Define tcl_platform element for pointerSize.
- * doc/tclvars.n:
-
- * win/Makefile.in: Added installation instructions for the platform
- * win/makefile.vc: package. Added the platform package.
- * win/makefile.bc:
- * unix/Makefile.in:
-
- * tests/platform.test:
- * tests/safe.test:
-
- * library/platform/platform.tcl:
- * library/platform/shell.tcl:
- * library/platform/pkgIndex.tcl:
-
- * doc/platform.n:
- * doc/platform_shell.n:
-
-2006-12-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPkg.c: When no requirements are supplied to a
- * tests/pkg.test: [package require $pkg] and [package unknown]
- is invoked to find a satisfying package, pass the requirement argument
- "0-" (which means all versions are acceptable). This permits a
- registered [package unknown] command to call [package vsatisfies
- $testVersion {*}$args] without any special handling of the empty $args
- case. This fixes/avoids a bug in [::tcl::tm::UnknownHandler] that was
- causing old TM versions to be provided in preference to newer TM
- versions. Thanks to Julian Noble for discovering the issue.
-
-2006-12-04 Donal K. Fellows <dkf@users.sf.net>
-
- TIP#267 IMPLEMENTATION
-
- * generic/tclIOCmd.c (Tcl_ExecObjCmd): Added -ignorestderr option,
- * tests/exec.test, doc/exec.n: loosely from [Patch 1476191]
-
-2006-12-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Added implementation for the
- CompileExprTree() routine that can produce expression bytecode
- directly from internal structures with no need to pass through the
- Tcl_Token array representation. Still disabled by default. #undef
- USE_EXPR_TOKENS to try it out.
-
-2006-12-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Added expr parsing routines that
- produce a different set of internal structures representing the parsed
- expression, as well as routines that go on to convert those structures
- into the traditional Tcl_Token array format. Use of these routines is
- currently disabled. #undef PARSE_DIRECT_EXPR_TOKENS to enable them.
- These routines will only become really useful when more routines that
- compile directly from the new internal structures are completed.
-
-2006-12-02 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/file.n: Clarification of [file pathtype] docs. [Bug 1606454]
-
-2006-12-01 Kevin B. Kenny <kennykb@acm.org>
-
- * libtommath/bn_mp_add.c: Corrected the effects of a
- * libtommath/bn_mp_div.c: bollixed 'cvs merge' operation
- * libtommath/bncore.c: that inadvertently committed some
- * libtommath/tommath_class.h: half-developed code.
-
- TIP#299 IMPLEMENTATION
-
- * doc/mathfunc.n: Added isqrt() function to docs
- * generic/tclBasic.c: Added isqrt() math function (ExprIsqrtFunc)
- * tests/expr.test (expr-47.*): Added tests for isqrt()
- * tests/info.test (info-20.2): Added isqrt() to expected math funcs.
-
-2006-12-01 Don Porter <dgp@users.sourceforge.net>
-
- * tests/chan.test: Correct timing sensitivity in new test. [Bug
- 1606860]
-
- TIP#287 IMPLEMENTATION
-
- * doc/chan.n: New subcommand [chan pending].
- * generic/tclBasic.c: Thanks to Michael Cleverly for proposal
- * generic/tclInt.h: and implementation.
+ * generic/tclIO.c:
* generic/tclIOCmd.c:
- * library/init.tcl:
- * tests/chan.test:
- * tests/ioCmd.test:
-
- TIP#298 IMPLEMENTATION
-
- * generic/tcl.decls: Tcl_GetBignumAndClearObj -> Tcl_TakeBignumFromObj
- * generic/tclObj.c:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclExecute.c: Update callers.
- * generic/tclMathOp.c:
-
-2006-11-30 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata: Olson's tzdata2006p.
- * libtommath/bn_mp_sqrt.c: Fixed a bug where the initial approximation
- to the square root could be on the wrong side, causing failure of
- convergence.
-
-2006-11-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_AppendObjToErrorInfo): Added
- Tcl_DecrRefCount() on the objPtr argument to plug memory leaks. This
- makes the routine a consumer, which makes it easiest to use.
-
-2006-11-28 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclBasic.c: TIP #280 implementation.
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclCompCmds.c:
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclCompile.h:
- * generic/tclExecute.c:
- * generic/tclIOUtil.c:
- * generic/tclInt.h:
- * generic/tclInterp.c:
- * generic/tclNamesp.c:
- * generic/tclObj.c:
- * generic/tclProc.c:
- * tests/compile.test:
- * tests/info.test:
- * tests/platform.test:
- * tests/safe.test:
-
-2006-11-27 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tclUnixChan.c (TclUnixWaitForFile):
- * tests/event.test (event-14.*): Corrected a bug where
- TclUnixWaitForFile would present select() with the wrong mask on an
- LP64 machine if a fd number exceeds 32. Thanks to Jean-Luc Fontaine
- for reporting and diagnosing [Bug 1602208].
-
-2006-11-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (TclIncrObj): Correct failure to detect
- floating-point increment values. Thanks to William Coleda [Bug
- 1602991]
-
-2006-11-26 Donal K. Fellows <dkf@users.sf.net>
-
- * tests/mathop.test, doc/mathop.n: More bits and pieces of the TIP#174
- implementation. Note that the test suite is not yet complete.
-
-2006-11-26 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389]
- * unix/configure: autoconf-2.59 [Bug 1230558]
-
-2006-11-25 Donal K. Fellows <dkf@users.sf.net>
-
- TIP#174 IMPLEMENTATION
-
- * generic/tclMathOp.c (new file): Completed the implementation of the
- interpreted versions of all the tcl::mathop commands. Moved to a new
- file to make tclCompCmds.c more focused in purpose.
-
-2006-11-23 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclCompCmds.c (Tcl*OpCmd, TclCompile*OpCmd):
- * generic/tclBasic.c (Tcl_CreateInterp): Partial implementation of
- TIP#174; the commands are compiled, but (mostly) not interpreted yet.
-
-2006-11-22 Donal K. Fellows <dkf@users.sf.net>
-
- TIP#269 IMPLEMENTATION
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Implementation of the [string
- * tests/string.test (string-25.*): is list] command, based on
- * doc/string.n: work by Joe Mistachkin, with
- enhancements by Donal Fellows for better failindex behaviour.
-
-2006-11-22 Don Porter <dgp@users.sourceforge.net>
-
- * tools/genWinImage.tcl (removed): Removed two files used in
- * win/README.binary (removed): production of binary distributions
- for Windows, a task we no longer perform. [Bug 1476980]
- * generic/tcl.h: Remove mention of win/README.binary in comment
-
- * generic/tcl.h: Moved TCL_REG_BOSONLY #define from tcl.h to
- * generic/tclInt.h: tclInt.h. Only know user is Expect, which
- already #include's tclInt.h. No need to continue greater exposure.
- [Bug 926500]
-
-2006-11-20 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c (Tcl_CreateInterp, TclHideUnsafeCommands):
- * library/init.tcl: Refactored the [chan] command's guts so that it
- does not use aliases to global commands, making the code more robust.
-
-2006-11-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (INST_EXPON): Corrected crash on
- [expr 2**(1<<63)]. Was operating on cleared bignum Tcl_Obj.
-
-2006-11-16 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/apply.n, doc/chan.n: Added examples.
-
-2006-11-15 Don Porter <dgp@users.sourceforge.net>
-
- TIP#270 IMPLEMENTATION
-
- * generic/tcl.decls: New public routines Tcl_ObjPrintf,
- * generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format,
- * generic/tclInt.h: Tcl_AppendLimitedToObj,
- Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal
- versions removed.
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- * generic/tclBasic.c: Updated callers.
- * generic/tclCkalloc.c:
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclDictObj.c:
- * generic/tclExecute.c:
* generic/tclIORChan.c:
* generic/tclIOUtil.c:
- * generic/tclMain.c:
+ * generic/tclListObj.c:
+ * generic/tclLiteral.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
+ * generic/tclOOBasic.c:
+ * generic/tclPathObj.c:
* generic/tclPkg.c:
* generic/tclProc.c:
- * generic/tclStrToD.c:
- * generic/tclTimer.c:
- * generic/tclUtil.c:
- * unix/tclUnixFCmd.c:
-
- * tools/genStubs.tcl: Updated script to no longer produce the
- _ANSI_ARGS_ wrapper in generated declarations. Also revised to accept
- variadic prototypes with more than one fixed argument. (This is
- possible since TCL_VARARGS and its limitations are no longer in use).
- * generic/tcl.h: Some reordering so that macro definitions do
- not interfere with the now _ANSI_ARGS_-less stub declarations.
-
- * generic/tclDecls.h: make genstubs
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h:
- * generic/tclPlatDecls.h:
- * generic/tclTomMathDecls.h:
-
-2006-11-15 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/ChnlStack.3, doc/CrtObjCmd.3, doc/GetIndex.3, doc/OpenTcp.3:
- * doc/chan.n, doc/fconfigure.n, doc/fcopy.n, doc/foreach.n:
- * doc/history.n, doc/http.n, doc/library.n, doc/lindex.n:
- * doc/lrepeat.n, doc/lreverse.n, doc/pkgMkIndex.n, doc/re_syntax.n:
- Convert \fP to \fR so that man-page scrapers have an easier time.
-
-2006-11-14 Don Porter <dgp@users.sourceforge.net>
-
- TIP#261 IMPLEMENTATION
-
- * generic/tclNamesp.c: [namespace import] with 0 arguments
- introspects the list of imported commands.
-
-2006-11-13 Kevin B. Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclThreadStorage.c (Tcl_InitThreadStorage):
- (Tcl_FinalizeThreadStorage): Silence a compiler warning about
- presenting a volatile pointer to 'memset'.
-
-2006-11-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIO.c: When [gets] on a binary channel needs to use
- the "iso8859-1" encoding, save a copy of that encoding per-thread to
- avoid repeated freeing and re-loading of it from the file system. This
- replaces the cached copy of this encoding that the platform
- initialization code used to keep in pre-8.5 releases.
-
-2006-11-13 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Fix gcc warnings about 'cast to/from
- * generic/tclEncoding.c: pointer from/to integer of different
- * generic/tclEvent.c: size' on 64-bit platforms by casting
- * generic/tclExecute.c: to intermediate types
- * generic/tclHash.c: intptr_t/uintptr_t via new PTR2INT(),
- * generic/tclIO.c: INT2PTR(), PTR2UINT() and UINT2PTR()
- * generic/tclInt.h: macros. [Patch 1592791]
- * generic/tclProc.c:
- * generic/tclTest.c:
- * generic/tclThreadStorage.c:
- * generic/tclTimer.c:
- * generic/tclUtil.c:
- * unix/configure.in:
- * unix/tclUnixChan.c:
- * unix/tclUnixPipe.c:
- * unix/tclUnixPort.h:
- * unix/tclUnixTest.c:
- * unix/tclUnixThrd.c:
-
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2006-11-12 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclInt.h, generic/tclInt.decls: Transfer TclPtrMakeUpvar and
- TclObjLookupVar to the internal stubs table.
-
-2006-11-10 Daniel Steffen <das@users.sourceforge.net>
-
- * tests/fCmd.test (fCmd-6.26): fix failure when env(HOME) path
- contains symlinks.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: remove tclParseExpr.c; when
- running testsuite from inside Xcdoe, skip stack-3.1 (it only fails
- under those circumstances).
-
- * unix/tcl.m4 (Darwin): suppress linker arch warnings when building
- universal for both 32 & 64 bit and no 64bit CoreFoundation is
- available; sync with tk tcl.m4 change.
- * unix/configure.in: whitespace.
- * unix/configure: autoconf-2.59
-
-2006-11-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c (removed): Moved all the code of
- * generic/tclCompExpr.c: tclParseExpr.c into tclCompExpr.c.
- * unix/Makefile.in: This sets the stage for expr compiling to work
- * win/Makefile.in: directly with the full parse tree structures,
- * win/makefile.bc: and not have to pass through the information
- * win/makefile.vc: lossy format of an array of Tcl_Tokens.
- * win/tcl.dsp:
-
-2006-11-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- TIP#272 IMPLEMENTATION
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Implementation of the
- * tests/string.test, tests/stringComp.test: [string reverse] command
- * doc/string.n: from TIP#272.
-
- * generic/tclCmdIL.c (Tcl_LreverseObjCmd): Implementation of the
- * generic/tclBasic.c, generic/tclInt.h: [lreverse] command from
- * tests/cmdIL.test (cmdIL-7.*): TIP#272.
- * doc/lreverse.n:
-
-2006-11-08 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclIO.c, generic/tclPkg.c: Style & clarity rewrites.
-
-2006-11-07 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixFCmd.c (CopyFile): Added code to fall back to a
- hardwired default block size should the filesystem report a bogus
- value. [Bug 1586470]
-
-2006-11-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Changed Tcl_ObjPrintf() response to an
- invalid format specifier string. No longer panics; now produces an
- error message as output.
-
- TIP#274 IMPLEMENTATION
-
- * generic/tclParseExpr.c: Exponentiation operator is now right
- * tests/expr.test: associative. [Patch 1556802]
-
-2006-11-03 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TEOVI): fix por possible leak of a Command in
- the presence of execution traces that delete it.
-
- * generic/tclBasic.c (TEOVI):
- * tests/trace.test (trace-21.11): fix for [Bug 1590232], execution
- traces may cause a second command resolution in the wrong namespace.
-
-2006-11-03 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/event.test (event-11.5): Rewrote tests to stop Tcl from
- * tests/io.test (multiple tests): opening sockets that are
- * tests/ioCmd.test (iocmd-15.1,16,17): reachable from outside hosts
- * tests/iogt.test (__echo_srv__.tcl): where not necessary. This is
- * tests/socket.test (multiple tests): noticably annoying on some
- * tests/unixInit.test (unixInit-1.2): systems (e.g., Windows).
-
-2006-11-02 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcodeproj/project.pbxproj: check autoconf/autoheader exit
- status and stop build if they fail.
-
-2006-11-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/ParseCmd.3, doc/Tcl.n, doc/eval.n, doc/exec.n:
- * doc/fconfigure.n, doc/interp.n, doc/unknown.n:
- * library/auto.tcl, library/init.tcl, library/package.tcl:
- * library/safe.tcl, library/tm.tcl, library/msgcat/msgcat.tcl:
- * tests/all.tcl, tests/basic.test, tests/cmdInfo.test:
- * tests/compile.test, tests/encoding.test, tests/execute.test:
- * tests/fCmd.test, tests/http.test, tests/init.test:
- * tests/interp.test, tests/io.test, tests/ioUtil.test:
- * tests/iogt.test, tests/namespace-old.test, tests/namespace.test:
- * tests/parse.test, tests/pkg.test, tests/pkgMkIndex.test:
- * tests/proc.test, tests/reg.test, tests/trace.test:
- * tests/upvar.test, tests/winConsole.test, tests/winFCmd.test:
- * tools/tclZIC.tcl:
- * generic/tclParse.c (Tcl_ParseCommand): Replace {expand} with {*}
- officially (TIP #293). Leave -DALLOW_EXPAND=0|1 option to keep
- {expand} syntax for transition users. [Bug 1589629]
-
-2006-11-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclBasic.c, generic/tclInterp.c, generic/tclProc.c: Silence
- warnings from gcc over signed/unsigned and TclStackAlloc().
- * generic/tclCmdMZ.c: Update to more compact and clearer coding style.
-
-2006-11-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c: Further revisions to produce the routines
- * generic/tclInt.h: TclFormat() and TclAppendFormatToObj() that
- * generic/tclNamesp.c: accept (objc, objv) arguments rather than
- * generic/tclStringObj.c: any varargs stuff.
-
- * generic/tclBasic.c: Further revised TclAppendPrintToObj() and
- * generic/tclCkalloc.c: TclObjPrintf() routines to panic when unable
- * generic/tclCmdAH.c: to complete their formatting operations,
- * generic/tclCmdIL.c: rather than report an error message. This
- * generic/tclCmdMZ.c: means an interp argument for error message
- * generic/tclDictObj.c: recording is no longer needed, further
- * generic/tclExecute.c: simplifying the interface for callers.
- * generic/tclIORChan.c:
- * generic/tclIOUtil.c:
- * generic/tclInt.h:
- * generic/tclMain.c:
- * generic/tclNamesp.c:
- * generic/tclParseExpr.c:
- * generic/tclPkg.c:
- * generic/tclProc.c:
- * generic/tclStringObj.c:
- * generic/tclTimer.c:
- * generic/tclUtil.c:
- * unix/tclUnixFCmd.c:
-
-2006-11-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/winPipe.test (winpipe-4.[2345]): Made robust when run in
- directory with spaces in its name.
-
- * generic/tclCmdAH.c: Clean up uses of cast NULLs.
-
- * generic/tclInterp.c (AliasObjCmd): Added more explanatory comments.
-
- * generic/tclBasic.c (TclEvalObjvInternal): Rewrote so that comments
- are relevant and informative once more. Also made the unknown handler
- processing use the Tcl execution stack for working space, and not the
- general heap.
-
-2006-11-01 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixPort.h: ensure MODULE_SCOPE is defined before use, so
- that tclPort.h can once again be included without tclInt.h.
-
- * generic/tclEnv.c (Darwin): mark _environ symbol as unexported even
- when MODULE_SCOPE != __private_extern__.
-
-2006-10-31 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Refactored and renamed the routines
- * generic/tclCkalloc.c: TclObjPrintf, TclFormatObj, and
- * generic/tclCmdAH.c: TclFormatToErrorInfo to a new set of routines
- * generic/tclCmdIL.c: TclAppendPrintfToObj, TclAppendFormatToObj,
- * generic/tclCmdMZ.c: TclObjPrintf, and TclObjFormat, with the
- * generic/tclDictObj.c: intent of making the latter list, plus
- * generic/tclExecute.c: TclAppendLimitedToObj and
- * generic/tclIORChan.c: TclAppendObjToErrorInfo, public via a revised
- * generic/tclIOUtil.c: TIP 270.
- * generic/tclInt.h:
- * generic/tclMain.c:
- * generic/tclNamesp.c:
- * generic/tclParseExpr.c:
- * generic/tclPkg.c:
- * generic/tclProc.c:
+ * generic/tclRegexp.c:
+ * generic/tclScan.c:
* generic/tclStringObj.c:
+ * generic/tclTest.c:
+ * generic/tclTestProcBodyObj.c:
+ * generic/tclThread.c:
+ * generic/tclThreadTest.c:
* generic/tclTimer.c:
+ * generic/tclTrace.c:
* generic/tclUtil.c:
- * unix/tclUnixFCmd.c:
-
-2006-10-31 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c, generic/tcl.h, generic/tclInterp.c:
- * generic/tclNamesp.c: removing the flag bit TCL_EVAL_NOREWRITE, the
- last remnant of the callObjc/v fiasco. It is not needed, as it is now
- always set and checked or'ed with TCL_EVAL_INVOKE.
-
-2006-10-31 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/rules.vc: Fix for [Bug 1582769] - options conflict with VC2003.
-
-2006-10-31 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclBasic.c, generic/tclNamesp.c, generic/tclProc.c:
- * generic/tclInt.h: Removed the callObjc and callObjv fields from the
- Interp structure. They did not function correctly and made other parts
- of the core amazingly complex, resulting in a substantive change to
- [info level] behaviour. [Bug 1587618]
- * library/clock.tcl: Removed use of [info level 0] for calculating the
- command name as used by the user and replace with a literal. What's
- there now is sucky, but at least appears to be right to most users.
- * tests/namespace.test (namespace-42.7,namespace-47.1): Reverted
- changes to these tests.
- * tests/info.test (info-9.11,info-9.12): Added knownBug constraint
- since these tests require a different behaviour of [info level] than
- is possible because of other dependencies.
-
-2006-10-30 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tools/tcltk-man2html.tcl (option-toc): handle any kind of options
- defined toc section (needed for ttk docs)
-
-2006-10-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclBasic.c (TEOVI): insured that the interp's callObjc/v
- fields are restored after traces run, as they be spoiled. This was
- causing a segfault in tcllib's profiler tests.
-
-2006-10-30 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (INST_MOD): Corrected improper testing of the
- * tests/expr.test: sign of bignums when applying Tcl's
- division rules. Thanks to Peter Spjuth. [Bug 1585704]
-
-2006-10-29 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclNamesp.c (EnsembleImplementationCmd):
- * tests/namespace.test (47.7-8): reverted a wrong "optimisation" that
- completely broke snit; added two tests.
-
-2006-10-28 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclProc.c (ObjInterpProcEx, TclObjInterpProcCore): Split the
- core of procedures to make it easier to build procedure-like code
- without going through horrible contortions. This is the last critical
- component to make advanced OO systems workable as simple loadable
- extensions. TOIPC is now in the internal stub table.
- (MakeProcError, MakeLambdaError): Refactored ProcessProcResultCode to
- be simpler, some of which goes to TclObjInterpProcCore, and the rest
- of which is now in these far simpler routines which just do errorInfo
- stack generation for different types of procedure-like entity.
- * tests/apply.test (apply-5.1): Updated to expect the more informative
- form of message.
-
-2006-10-27 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclVar.c (HasLocalVars): New macro to make various bits and
- pieces cleaner.
-
- * generic/tclNamesp.c (TclSetNsPath): Expose SetNsPath() through
- internal stubs table with semi-external name.
-
- * generic/tclInt.h (CallFrame): Add a field for handling context data
- for extensions (like object systems) that should be tied to a call
- frame (and not a command or interpreter).
-
- * generic/tclBasic.c (TclRenameCommand): Change to take CONST args;
- they were only ever used in a constant way anyway, so this appears to
- be a spot that was missed during TIP#27 work.
-
-2006-10-26 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (SetLambdaFromAny): minor change, eliminate
- redundant call to Tcl_GetString (thanks aku).
-
- * generic/tclInterp.c (ApplyObjCmd):
- * generic/tclNamesp.c (EnsembleImplementationCmd): replaced ckalloc
- (heap) with TclStackAlloc (execution stack).
-
-2006-10-24 Miguel Sofer <msofer@users.sf.net>
-
- * tests/info.test (info-9.11-12): tests for [Bug 1577492]
- * tests/apply.test (apply-4.3-5): tests for [Bug 1574835]
-
- * generic/tclProc.c (ObjInterpProcEx): disable itcl hacks for calls
- from ApplyObjCmd (islambda==1), as they mess apply's error messages
- [Bug 1583266]
-
-2006-10-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (ApplyObjCmd): fix wrong#args for apply by using
- the ensemble rewrite engine. [Bug 1574835]
- * generic/tclInterp.c (AliasObjCmd): previous commit missed usage of
- TCL_EVAL_NOREWRITE for aliases.
-
- * generic/tclBasic.c (TclEvalObjvInternal): removed redundant check
- for ensembles. [Bug 1577628]
-
- * library/clock.tcl (format, scan): corrected wrong # args messages to
- * tests/clock.test (3.1, 34.1): make use of the new rewrite
- capabilities of [info level]
-
- * generic/tcl.h: Lets TEOV update the iPtr->callObj[cv] new
- * generic/tclBasic.c: fields, except when the flag bit
- * generic/tclInt.h: TCL_EVAL_NOREWRITE is present. These values
- * generic/tclNamesp.c: are used by Tcl_PushCallFrame to initialise
- * generic/tclProc.c: the frame's obj[cv] fields, and allows
- * tests/namespace.test: [info level] to know and use ensemble
- rewrites. [Bug 1577492]
-
- ***POTENTIAL INCOMPATIBILITY***
- The return value from [info level 0] on interp alias calls is changed:
- previously returned the target command (including curried values), now
- returns the source - what was actually called.
-
-2006-10-23 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tcl.h: Modified the Tcl call stack so there is
- * generic/tclBasic.c: always a valid CallFrame, even at level 0
- * generic/tclCmdIL.c: [Patch 1577278]. Most of the changes
- * generic/tclInt.h: involve removing tests for a NULL
- * generic/tclNamesp.c: iPtr->(var)framePtr. There is now a
- * generic/tclObj.c: CallFrame pushed at interp creation with a
- * generic/tclProc.c: pointer to it stored in iPtr->rootFramePtr.
- * generic/tclTrace.c: A second unused field in Interp is
- * generic/tclVar.c: hijacked to enable further functionality,
- currently unused (but with several FRQs depending on it).
-
- ***POTENTIAL INCOMPATIBILITY***
- Any user that includes tclInt.h and needs to determine if it is
- running at level 0 should change (iPtr->varFramePtr == NULL) to
- (iPtr->varFramePtr == iPtr->rootFramePtr).
-
-2006-10-23 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bump version number to 8.5a6
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
-
- * unix/configure: autoconf-2.59
- * win/configure:
-
-2006-10-21 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tcl.h, generic/tclHash.c: Tcl_FindHashEntry now calls
- Tcl_CreateHashEntry with a newPtr set to NULL: this would have caused
- a segfault previously and eliminates duplicated code. A macro has been
- added to tcl.h (only used when TCL_PRESERVE_BINARY_COMPATABALITY is
- not set - i.e., not by default).
-
-2006-10-20 Reinhard Max <max@tclers.tk>
-
- * unix/configure.in: Added autodetection for OS-supplied timezone
- * unix/Makefile.in: files and configure switches to override the
- * unix/configure: detected default.
-
-2006-10-20 Daniel Steffen <das@users.sourceforge.net>
-
- *** 8.5a5 TAGGED FOR RELEASE ***
-
- * tools/tcltk-man2html.tcl: add support for alpha & beta versions to
- useversion glob pattern. [Bug 1579941]
-
-2006-10-18 Don Porter <dgp@users.sourceforge.net>
-
- * changes: 8.5a5 release date set
-
- * doc/Encoding.3: Missing doc updates (mostly Table of
- * doc/Ensemble.3: Contents) exposed by `make checkdoc`
- * doc/FileSystem.3:
- * doc/GetTime.3:
- * doc/PkgRequire.3:
-
-2006-10-17 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInterp.c (ApplyObjCmd): fixed bad error in 2006-10-12
- commit: interp released too early. Spotted by mistachkin.
-
-2006-10-16 Miguel Sofer <msofer@users.sf.net>
-
- * tclProc.c (SetLambdaFromAny):
- * tests/apply.test (9.1-9.2): plugged intrep leak [Bug 1578454],
- found by mjanssen.
-
-2006-10-16 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclBasic.c: Moved TIP#219 cleanup to DeleteInterpProc.
-
-2006-10-16 Daniel Steffen <das@users.sourceforge.net>
-
- * changes: updates for 8.5a5 release.
-
- * unix/tclUnixThrd.c (TclpThreadGetStackSize): Darwin: fix for main
- thread, where pthread_get_stacksize_np() returns incorrect info.
-
- * macosx/GNUmakefile: don't redo prebinding of non-prebound binaires.
-
-2006-10-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPkg.c (ExactRequirement): Plugged memory leak. Also
- changed Tcl_Alloc()/Tcl_Free() calls to ckalloc()/ckfree() for easier
- memory debugging in the future. [Bug 1568373]
-
- * library/tcltest/tcltest.tcl: Revise tcltest bump to 2.3a1.
- * library/tcltest/pkgIndex.tcl: This permits more features to be
- * unix/Makefile.in: added to tcltest before we reach version 2.3.0
- * win/Makefile.in: best timed to match the release of Tcl 8.5.0.
- * win/makefile.vc: This also serves as a demo of TIP 268 features
-
-2006-10-13 Colin McCormack <coldstore@users.sf.net>
-
- * win/tclWinFile.c: corrected erroneous attempt to protect against
- NULL return from Tcl_FSGetNormalizedPath per [Bug 1548263] causing
- [Bug 1575837].
- * win/tclWinFile.c: alfredd supplied patch to fix [Bug 1575837]
-
-2006-10-13 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixThrd.c (TclpThreadGetStackSize): on Darwin, use
- * unix/tcl.m4: pthread_get_stacksize_np() API to get thread stack size
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2006-10-12 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInterp.c (ApplyObjCmd):
- * tests/interp.test (interp-14.5-10): made [interp alias] use the
- ensemble rewrite machinery to produce better error messages [Bug
- 1576006]
-
-2006-10-12 David Gravereaux <davygrvy@pobox.com>
-
- * win/nmakehlp.c: Replaced all wnsprintf() calls with snprintf().
- wnsprintf was not in my shwlapi header file (VC++6)
-
-2006-10-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPkg.c (Tcl_PackageRequireEx): Corrected crash when
- argument version=NULL passed in.
-
-2006-10-10 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for 8.5a5 release.
-
- * generic/tclNamespace.c (TclTeardownNamespace): After the
- commandPathSourceList of a namespace is cleared, set the
- commandPathSourceList to NULL so we don't try to walk the list a
- second time, possibly after it is freed. [Bug 1566526]
- * tests/namespace.test (namespace-51.16): Added test.
-
-2006-10-09 Miguel Sofer <msofer@users.sf.net>
-
- * doc/UpVar.3: brough the docs in accordance to the code. Ever since
- 8.0, Tcl_UpVar(2)? accepts TCL_NAMESPACE_ONLY as a flag value, and
- var-3.4 tests for proper behaviour. The docs only allowed 0 and
- TCL_GLOBAL_ONLY. [Bug 1574099]
-
-2006-10-09 Miguel Sofer <msofer@users.sf.net>
-
- * tests/*.test: updated all tests to refer explicitly to the global
- variables ::errorInfo, ::errorCode, ::env and ::tcl_platform: many
- were relying on the alternative lookup in the global namespace, that
- feature is tested specifically in namespace and variable tests.
-
- The modified testfiles are: apply.test, basic.test, case.test,
- cmdIL.test, cmdMZ.test, compExpr-old.test, error.test, eval.test,
- event.test, expr.test, fileSystem.test, for.test, http.test, if.test,
- incr-old.test, incr.test, interp.test, io.test, ioCmd.test, load.test,
- misc.test, namespace.test, parse.test, parseOld.test, pkg.test,
- proc-old.test, set.test, switch.test, tcltest.test, thread.test,
- var.test, while-old.test, while.test.
-
-2006-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/rules.vc: [Bug 1571954] avoid /RTCc flag with MSVC8
-
-2006-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * doc/binary.n: TIP #275: Support unsigned values in binary
- * generic/tclBinary.c: command. Tests and documentation updated.
- * tests/binary.test:
-
-2006-10-05 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl: Fixed bug in TIP #189 implementation, now allowing
- '_' in module names.
-
-2006-10-05 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/http/http.tcl (http::geturl): only do geturl url rfc 3986
- validity checking if $::http::strict is true (default true for 8.5).
- [Bug 1560506]
-
- * generic/tcl.h: note limitation on changing Tcl_UniChar size
- * generic/tclEncoding.c (UtfToUnicodeProc, UnicodeToUtfProc):
- * tests/encoding.test (encoding-16.1): fix alignment issues in
- unicode <> utf conversion procs. [Bug 1122671]
-
-2006-10-05 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c (Tcl_LappendObjCmd):
- * tests/append.test(4.21-22): fix for longstanding [Bug 1570718],
- lappending nothing to non-list. Reported by lvirden
-
-2006-10-04 Kevin B. Kenny <kennykb@acm.org>
-
- * tzdata/: Olson's tzdata2006m.
-
-2006-10-01 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/clock.test (clock-49.2): Removed a locale dependency that
- caused a spurious failure in the German locale. [Bug 1567956]
-
-2006-10-01 Miguel Sofer <msofer@users.sf.net>
-
- * doc/Eval.3 (TclEvalObjv): added note on refCount management for the
- elements of objv. [Bug 730244]
-
-2006-10-01 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinFile.c: Handle possible missing define.
-
- * win/tclWinFile.c (TclpUtime): [Bug 1420432] file mtime fails for
- * tests/cmdAH.test: directories on windows
-
- * tests/winFile.test: Handle Msys environment a little differently in
- getuser function. [Bug 1567956]
-
-2006-09-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclUtil.c (Tcl_SplitList): optimisation, [Patch 1344747] by
- dgp.
-
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclObj.c:
- * generic/tclStubInit.c: added an internal function TclObjBeingDeleted
- to provide info as to the reason for the loss of an internal rep. [FR
- 1512138]
-
- * generic/tclCompile.c:
- * generic/tclHistory.c:
- * generic/tclInt.h:
- * generic/tclProc.c: made Tcl_RecordAndEvalObj not call "history" if
- it has been redefined to an empty proc, in order to reduce the noise
- when debugging [FR 1190441]. Moved TclCompileNoOp from tclProc.c to
- tclCompile.c
-
-2006-09-28 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclPkg.c (CompareVersions): Bugfix. Check string lengths
- * tests/pkg.test: before comparison. The shorter string is the smaller
- number. Added testcases as well. Interestingly all existing test cases
- for vcompare compared numbers of the same length with each other. [Bug
- 1563836]
-
-2006-09-28 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclIO.c (Tcl_GetsObj): added two test'n'panic guards for
- possible NULL derefs, [Bug 1566382] and coverity #33.
-
-2006-09-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Corrected error in INST_LSHIFT in the
- * tests/expr.test: calculation done to determine whether a shift
- in the (long int) type is possible. The calculation had literal value
- "1" where it needed a value "1L" to compute the correct result. Error
- detected via testing with the math::bigfloat package [Bug 1567222]
-
- * generic/tclPkg.c (CompareVersion): Flatten strcmp() results to
- {-1, 0, 1} to match expectations of CompareVersion() callers.
-
-2006-09-27 Miguel Sofer <msofer@users.sf.net>
-
- * generic/regc_color.c (singleton):
- * generic/regc_cvec.c (addmcce):
- * generic/regcomp.c (compile, dovec): the static function addmcce does
- nothing when called with two NULL pointers; the only call is by
- compile with two NULL pointers (regcomp.c #includes regc_cvec.c).
- Large parts (all?) the code for mcce (multi character collating
- element) that we do not use is ifdef'ed out with the macro
- REGEXP_MCCE_ENABLE.
- This silences coverity bugs 7, 16, 80
-
- * generic/regc_color.c (uncolorchain):
- * generic/regc_nfa.c (freearc): changed tests and asserts to
- equivalent formulation, designed to avoid an explicit comparison to
- NULL and satisfy coverity that 6 and 9 are not bugs.
-
-2006-09-27 Andreas Kupries <andreask@activestate.com>
-
- * tests/pkg.test: Added test for version comparison at the 32bit
- boundary. [Bug 1563836]
-
- * generic/tclPkg.c: Rewrote CompareVersion to perform string
- comparison instead of numeric. This breaks through the 32bit limit on
- version numbers. See code for details (handling of leading zeros,
- signs, etc.). un-CONSTed some arguments of CompareVersions,
- RequirementSatisfied, and AllRequirementsSatisfied. The new compare
- modifies the string (temporary string terminators). All callers use
- heap-allocated ver-intreps, so we are good with that. [Bug 1563836]
-
-2006-09-27 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclFileName.c (TclGlob): added a panic for a call with
- TCL_GLOBMODE_TAILS and pathPrefix==NULL. This would cause a segfault,
- as found by coverity #26.
-
-2006-09-26 Kevin B. Kenny <kennykb@acm.org>
-
- * doc/Encoding.3: Added covariant 'const' qualifier for the
- * generic/tcl.decls: Tcl_EncodingType argument to
- * generic/tclEncoding.c: Tcl_CreateEncoding. [Further TIP#27 work.]
- * generic/tclDecls.h: Reran 'make genstubs'.
-
-2006-09-26 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/makefile.vc: Additional compiler flags and amd64 support.
- * win/nmakehlp.c:
- * win/rules.vc:
-
-2006-09-26 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tcl.h: As 2006-09-22 commit from Donal K. Fellows
- demonstrates, "#define NULL 0" is just wrong, and as a quotable chat
- figure observed, "If NULL isn't defined, we're not using a C compiler"
- Improper fallback definition of NULL removed.
-
-2006-09-25 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * generic/tcl.h: More fixing which struct stat to refer to.
- * generic/tclGetDate.y: Some casts from time_t to int required.
- * generic/tclTimer.c: Tcl_Time structure members are longs.
- * win/makefile.vc: Support for varying compiler options
- * win/rules.vc: and build to platform-specific subdirs.
-
-2006-09-25 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (Tcl_StackChannel): Fixed [Bug 1564642], aka
- coverity #51. Extended loop condition, added checking for NULL to
- prevent seg.fault.
-
-2006-09-25 Andreas Kupries <andreask@activestate.com>
-
- * doc/package.n: Fixed nits reported by Daniel Steffen in the TIP#268
- changes.
-
-2006-09-25 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclNotify.c (Tcl_DeleteEvents): Simplified the code in hopes
- of making the invariants clearer and proving to Coverity that the
- event queue memory is managed correctly.
-
-2006-09-25 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclNotify.c (Tcl_DeleteEvents): Make it clear what happens
- when the event queue is mismanaged. [Bug 1564677], coverity bug #10.
-
-2006-09-24 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclParse.c (Tcl_ParseCommand): also return an error if
- start==NULL and numBytes<0. This is coverity's bug #20
-
- * generic/tclStringObj.c (STRING_SIZE): fix allocation for 0-length
- strings. This is coverity's bugs #54-5
-
-2006-09-22 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclInt.h: Moved TIP#268's field 'packagePrefer' to the end
- of the structure, for better backward compatibility.
-
-2006-09-22 Andreas Kupries <andreask@activestate.com>
-
- TIP#268 IMPLEMENTATION
-
- * generic/tclDecls.h: Regenerated from tcl.decls.
- * generic/tclStubInit.c:
-
- * doc/PkgRequire.3: Documentation of extended API, extended testsuite.
- * doc/package.n:
- * tests/pkg.test:
-
- * generic/tcl.decls: Implementation.
- * generic/tclBasic.c:
- * generic/tclConfig.c:
- * generic/tclInt.h:
- * generic/tclPkg.c:
- * generic/tclTest.c:
- * generic/tclTomMathInterface.c:
- * library/init.tcl:
- * library/package.tcl:
- * library/tm.tcl:
-
-2006-09-22 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclThreadTest.c (TclCreateThread): Use NULL instead of 0 as
- end-of-strings marker to Tcl_AppendResult; the difference matters on
- 64-bit machines. [Bug 1562528]
-
-2006-09-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclUtil.c: Dropped ParseInteger() routine. TclParseNumber
- covers the task just fine.
-
-2006-09-19 Donal K. Fellows <dkf@users.sf.net>
-
- * generic/tclEvent.c (Tcl_VwaitObjCmd): Rewrite so that an exceeded
- limit trapped in a vwait cannot cause a dangerous dangling trace.
-
-2006-09-19 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (INST_EXPON): Native type overflow detection
- * tests/expr.test: was completely broken. Falling back on use of
- bignums for all non-trivial ** calculations until
- native-type-constrained special cases can be done carefully and
- correctly. [Bug 1561260]
-
-2006-09-15 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/http/http.tcl: Change " " -> "+" url encoding mapping
- * library/http/pkgIndex.tcl: to " " -> "%20" as per RFC 3986.
- * tests/http.test (http-5.1): bump http to 2.5.3
- * unix/Makefile.in:
- * win/Makefile.in:
-
-2006-09-12 Andreas Kupries <andreask@activestate.com>
-
- * unix/configure.in (HAVE_MTSAFE_GETHOST*): Modified to recognize
- HP-UX 11.00 and beyond as having mt-safe implementations of the
- gethost functions.
- * unix/configure: Regenerated, using autoconf 2.59
-
- * unix/tclUnixCompat.c (PadBuffer): Fixed bug in calculation of the
- increment needed to align the pointer, and added documentation
- explaining why the macro is implemented as it is.
-
-2006-09-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/rules.vc: Updated to install http, tcltest and msgcat as
- * win/makefile.vc: Tcl Modules (as per Makefile.in).
- * win/makefile.vc: Added tommath_(super)class headers.
-
-2006-09-11 Andreas Kupries <andreask@activestate.com>
-
- * unix/Makefile.in (install-libraries): Fixed typo tcltest 2.3.9 ->
- 2.3.0.
-
-2006-09-11 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tclUnixCompat.c: make compatLock static and only declare it
- when it will actually be used; #ifdef parts of TSD that are not always
- needed; adjust #ifdefs to cover all possible cases; fix whitespace.
-
-2006-09-11 Andreas Kupries <andreask@activestate.com>
-
- * tests/msgcat.test: Bumped version in auxiliary files as well.
- * doc/msgcat.n:
-
-2006-09-11 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/Makefile.in: Bumped msgcat version to 1.4.2 to be
- * win/Makefile.in: consistent with dgp's commits of 2006-09-10.
-
-2006-09-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/msgcat/msgcat.tcl: Removed some unneeded [uplevel]s.
-
-2006-09-10 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Corrected INST_EXPON flaw that treated
- * tests/expr.test: $x**1 as $x**3. [Bug 1555371]
-
- * doc/tcltest.n: Bump to version tcltest 2.3.0 to
- * library/tcltest/pkgIndex.tcl: account for new "-verbose line"
- * library/tcltest/tcltest.tcl: feature.
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.bc:
- * win/makefile.vc:
-
- * library/msgcat/msgcat.tcl: Bump to version msgcat 1.4.2 to
- * library/msgcat/pkgIndex.tcl: account for modifications.
-
-2006-09-10 Daniel Steffen <das@users.sourceforge.net>
-
- * library/msgcat/msgcat.tcl (msgcat::Init): on Darwin, add fallback of
- * tests/msgcat.test: default msgcat locale to
- * unix/tclUnixInit.c (TclpSetVariables): current CFLocale
- identifier if available (via private ::tcl::mac::locale global, set at
- interp init when on Mac OS X 10.3 or later with CoreFoundation).
-
- * library/tcltest/tcltest.tcl: add 'line' verbose level: prints source
- * doc/tcltest.n: file line information of failing tests.
-
- * macosx/Tcl.xcodeproj/project.pbxproj: add new tclUnixCompat.c file;
- revise tests target to use new tcltest 'line' verbose level.
-
- * unix/configure.in: add descriptions to new AC_DEFINEs for MT-safe.
- * unix/tcl.m4: add caching to new SC_TCL_* macros for MT-safe wrappers
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2006-09-08 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixCompat.c: Added fallback to gethostbyname() and
- gethostbyaddr() if the implementation is known to be MT-safe
- (currently for Darwin 6 or later only).
-
- * unix/configure.in: Assume gethostbyname() and gethostbyaddr() are
- MT-safe starting with Darwin 6 (Mac OSX 10.2).
-
- * unix/configure: Regenerated with autoconf V2.59
-
-2006-09-08 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixCompat.c: Fixed conditions for CopyArray/CopyString, and
- CopyHostent. Also fixed bad var names in TclpGetHostByName.
-
-2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixCompat.c: Added fallback to MT-unsafe library calls if
- TCL_THREADS is not defined.
- Fixed alignment of arrays copied by CopyArray() to be on the
- sizeof(char *) boundary.
-
-2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixChan.c: Rewritten MT-safe wrappers to return ptrs to
- * unix/tclUnixCompat.c: TSD storage making them all look like their
- * unix/tclUnixFCmd.c: MT-unsafe pendants API-wise.
- * unix/tclUnixPort.h:
- * unix/tclUnixSock.c:
-
-2006-09-06 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixChan.c: Added TCL_THREADS ifdef'ed usage of MT-safe
- * unix/tclUnixFCmd.c: calls like: getpwuid, getpwnam, getgrgid,
- * unix/tclUnixSock.c: getgrnam, gethostbyname and gethostbyaddr.
- * unix/tclUnixPort.h: See [Bug 999544]
- * unix/Makefile.in:
- * unix/configure.in:
- * unix/tcl.m4:
- * unix/configure: Regenerated.
-
- * unix/tclUnixCompat.c: New file containing MT-safe implementation of
- some library calls.
-
-2006-09-04 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Removed much complexity that is no
- longer needed.
-
- * tests/main.text (Tcl_Main-4.4): Test corrected to not be
- timing sensitive to the Bug 1481986 fix. [Bug 1550858]
-
-2006-09-04 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/package.n: correct package example
-
-2006-08-31 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompExpr.c: Corrected flawed logic for disabling
- the INST_TRY_CVT_TO_NUMERIC instruction at the end of an expression
- when function arguments contain operators. [Bug 1541274]
-
- * tests/expr-old.test: The remaining failing tests reported in
- * tests/expr.test: [Bug 1381715] are all new in Tcl 8.5, so
- there's really no issue of compatibility with Tcl 8.4 result to deal
- with. Fixed by updating tests to expect 8.5 results.
-
-2006-08-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Dropped the old expr parser.
-
-2006-08-30 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclBasic.c (Tcl_CreateInterp): init iPtr->threadId
-
- * win/tclWinChan.c [Bug 819667] Improve logic for identifying COM
- ports.
-
- * generic/tclIOGT.c (ExecuteCallback):
- * generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj)
- with more efficient Tcl_Eval(Obj)Ex
-
- * unix/Makefile.in (valgrindshell): add valgrindshell target and
- update default VALGRINDARGS. User can override, or add to it with
- VALGRIND_OPTS env var.
-
- * generic/tclFileName.c (DoGlob): match incrs with decrs.
-
-2006-08-29 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Use the "parent" field of orphan
- ExprNodes to store the closure of left pointers. This lets us avoid
- repeated re-scanning leftward for the left boundary of subexpressions,
- which in worst case led to near O(N^2) runtime.
-
-2006-08-29 Joe Mistachkin <joe@mistachkin.com>
-
- * unix/tclUnixInit.c: Fixed the issue (typo) that was causing
- * unix/tclUnixThrd.c (TclpThreadGetStackSize): stack.test to fail on
- FreeBSD (and possibly other Unix platforms).
-
-2006-08-29 Colin McCormack <coldstore@users.sourceforge.net>
-
- * generic/tclIOUtil.c: Added test for NULL return from
- * generic/tclPathObj.c: Tcl_FSGetNormalizedPath which was causing
- * unix/tclUnixFile.c: segv's per [Bug 1548263]
- * win/tclWinFCmd.c:
- * win/tclWinFile.c:
-
-2006-08-28 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata/America/Havana: Regenerated from Olson's
- * library/tzdata/America/Tegucigalpa: tzdata2006k.
- * library/tzdata/Asia/Gaza:
-
-2006-08-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclStringObj.c: Revised ObjPrintfVA to take care to
- * generic/tclParseExpr.c: copy only whole characters when doing
- %s formatting. This relieves callers of TclObjPrintf() and
- TclFormatToErrorInfo() from needing to fix arguments to character
- boundaries. Tcl_ParseExpr() simplified by taking advantage. [Bug
- 1547786]
-
- * generic/tclStringObj.c: Corrected TclFormatObj's failure to
- count up the number of arguments required by examining the format
- string. [Bug 1547681]
-
-2006-08-27 Joe Mistachkin <joe@mistachkin.com>
-
- * generic/tclClock.c (ClockClicksObjCmd): Fix nested macro breakage
- with TCL_MEM_DEBUG enabled. [Bug 1547662]
-
-2006-08-26 Miguel Sofer <msofer@users.sf.net>
-
- * doc/namespace.n:
- * generic/tclNamesp.c:
- * tests/upvar.test: bugfix, docs clarification and new tests for
- [namespace upvar] as follow up to [Bug 1546833], reported by Will
- Duquette.
-
-2006-08-24 Kevin B. Kenny <kennykb@acm.org>
-
- * library/tzdata: Regenerated, including several new files, from
- Olson's tzdata2006j.
- * library/clock.tcl:
- * tests/clock.test: Removed an early testing hack that allowed loading
- 'registry' from the build tree rather than an installed one. This is a
- workaround for [Bug 15232730], which remains open because it's a
- symptom of a deeper underlying problem.
-
-2006-08-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Minimal collection of new tests
- * tests/parseExpr.test: testing the error messages of the new
- expr parser. Several bug fixes and code simplifications that appeared
- during that effort.
-
-2006-08-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOUtil.c: Revisions to complete the thread finalization
- of the cwdPathPtr. [Bug 1536142]
-
- * generic/tclParseExpr.c: Revised mistaken call to
- TclCheckBadOctal(), so both [expr 08] and [expr 08z] have same
- additional info in error message.
-
- * tests/compExpr-old.test: Update existing tests to not fail with
- * tests/compExpr.test: the new expr parser.
- * tests/compile.test:
- * tests/expr-old.test:
- * tests/expr.test:
- * tests/for.test:
- * tests/if.test:
- * tests/parseExpr.test:
- * tests/while.test:
-
-2006-08-21 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * win/Makefile.in (gdb): Make this target work so that debugging an
- msys build is possible.
-
-2006-08-21 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXNotify.c (Tcl_WaitForEvent): if the run loop is
- already running (e.g. if Tcl_WaitForEvent was called recursively),
- re-run it in a custom run loop mode containing only the source for the
- notifier thread, otherwise wakeups from other sources added to the
- common run loop modes might get lost.
-
- * unix/tclUnixNotfy.c (Tcl_WaitForEvent): on 64-bit Darwin,
- pthread_cond_timedwait() appears to have a bug that causes it to wait
- forever when passed an absolute time which has already been exceeded
- by the system time; as a workaround, when given a very brief timeout,
- just do a poll on that platform. [Bug 1457797]
-
- * generic/tclClock.c (ClockClicksObjCmd): add support for Darwin
- * generic/tclCmdMZ.c (Tcl_TimeObjCmd): nanosecond resolution timer
- * generic/tclInt.h: to [clock clicks] and [time]
- * unix/configure.in (Darwin): when TCL_WIDE_CLICKS defined
- * unix/tclUnixTime.c (TclpGetWideClicks, TclpWideClicksToNanoseconds):
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
- * unix/tclUnixPort.h (Darwin): override potentially faulty configure
- detection of termios availability in all cases, since termios is known
- to be present on all Mac OS X releases since 10.0. [Bug 497147]
-
-2006-08-18 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4 (Darwin): add support for --enable-64bit on x86_64, for
- universal builds including x86_64, for 64-bit CoreFoundation on
- Leopard and for use of -mmacosx-version-min instead of
- MACOSX_DEPLOYMENT_TARGET
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
- * generic/tcl.h: add fixes for building on Leopard and
- * unix/tclUnixPort.h: support for 64-bit CoreFoundation on Leopard
- * macosx/tclMacOSXFCmd.c:
+ * generic/tclVar.c:
+ * generic/tclStubInit.c: (regenerated)
- * unix/tclUnixPort.h: on Darwin x86_64, disable use of vfork as it
- causes execve to fail intermittently. (rdar://4685553)
+2009-02-10 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclTomMath.h: on Darwin 64-bit, for now disable use of
- 128-bit arithmetic through __attribute__ ((mode(TI))), as it leads to
- link errors due to missing fallbacks. (rdar://4685527)
+ * unix/tcl.m4: [Bug 2502365]: Building of head on HPUX is broken when
+ using the native CC.
+ * unix/configure: (autoconf-2.59)
- * macosx/Tcl.xcodeproj/project.pbxproj: add x86_64 to universal build,
- switch native release targets to use DWARF with dSYM, Xcode 3.0
- changes
- * macosx/README: updates for x86_64 and Xcode 2.4.
+2009-02-10 Don Porter <dgp@users.sourceforge.net>
- * macosx/Tcl.xcodeproj/default.pbxuser: add test suite target that
- * macosx/Tcl.xcodeproj/project.pbxproj: runs the tcl test suite at
- build time and shows clickable test suite errors in the GUI build
- window.
+ * generic/tclObj.c (Tcl_GetString): Added comments and validity
+ checks following the call to an UpdateStringProc.
- * tests/macOSXFCmd.test: fix use of deprecated resource fork paths.
+ * generic/tclStringObj.c: Reduce code duplication in Tcl_GetUnicode*.
+ Restrict AppendUtfToUtfRep to non-negative length appends.
+ Convert all Tcl_InvalidateStringRep() calls into macros.
+ Simplify Tcl_AttemptSetObjLength by removing unreachable code.
+ Simplify SetStringFromAny() by removing unreachable and duplicate code.
+ Simplify Tcl_SetObjLength by removing unreachable code.
+ Removed handling of (objPtr->bytes != NULL) from UpdateStringOfString,
+ which is only called when objPtr->bytes is NULL.
- * unix/tclUnixInit.c (TclpInitLibraryPath): move code that is only
- needed when TCL_LIBRARY is defined to run only in that case.
+2009-02-09 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclLink.c (LinkTraceProc): fix 64-bit signed-with-unsigned
- comparison warning from gcc4 -Wextra.
+ * generic/tclCompile.c: fix [Bug 2555129] const compiler warning (as
+ error) in tclCompile.c
- * unix/tclUnixChan.c (TclUnixWaitForFile): with timeout < 0, if
- select() returns early (e.g. due to a signal), call it again instead
- of returning a timeout result. Fixes intermittent event-13.8 failures.
+2009-02-07 Donal K. Fellows <dkf@users.sf.net>
-2006-08-17 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclZlib.c (TclZlibCmd): [Bug 2573172]: Ensure that when
+ invalid subcommand name is given, the list of valid subcommands is
+ produced. This gives a better experience when using the command
+ interactively.
- * generic/tclCompile.c: Revised the new set of expression
- * generic/tclParseExpr.c: parse error messages.
+2009-02-05 Joe Mistachkin <joe@mistachkin.com>
-2006-08-16 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclInterp.c: Fix argument checking for [interp cancel]. [Bug
+ 2544618]
+ * unix/Makefile.in: Fix build issue with zlib on FreeBSD (and possibly
+ other platforms).
- * generic/tclParseExpr.c: Replace PrecedenceOf() function with
- prec[] static array.
+2009-02-05 Donal K. Fellows <dkf@users.sf.net>
-2006-08-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclCmdMZ.c (StringIndexCmd, StringRangeCmd, StringLenCmd):
+ Simplify the implementation of some commands now that the underlying
+ string API knows more about bytearrays.
- * library/clock.tcl (::tcl::clock::add): Added missing braces to
- clockval validation code. Pointed out on comp.lang.tcl.
+ * generic/tclExecute.c (TclExecuteByteCode): [Bug 2568434]: Make sure
+ that INST_CONCAT1 will not lose string reps wrongly.
-2006-08-11 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclStringObj.c (Tcl_AppendObjToObj): Special-case the
+ appending of one bytearray to another, which can be extremely rapid.
+ Part of scheme to address [Bug 1665628] by making the basic string
+ operations more efficient on byte arrays.
+ (Tcl_GetCharLength, Tcl_GetUniChar, Tcl_GetRange): More special casing
+ work for bytearrays.
- * generic/tclNamesp.c: Improvements in buffer management to make
- namespace creation faster. Plus selected other minor improvements to
- code quality. [Patch 1352382]
+2009-02-04 Don Porter <dgp@users.sourceforge.net>
-2006-08-10 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclStringObj.c: Added overflow protections to the
+ AppendUtfToUtfRep routine to either avoid invalid arguments and
+ crashes, or to replace them with controlled panics. [Bug 2561794]
- Misc patches to make code more efficient. [Bug 1530474] (afredd)
- * generic/*.c, macosx/tclMacOSXNotify.c, unix/tclUnixNotfy.c,
- * win/tclWinThrd.c: Tidy up invokations of Tcl_Panic() to promote
- string constant sharing and consistent style.
- * generic/tclBasic.c (Tcl_CreateInterp): More efficient handling of
- * generic/tclClock.c (TclClockInit): registration of commands not
- in global namespace.
- * generic/tclVar.c (Tcl_UnsetObjCmd): Remove unreachable clause.
+ * generic/tclCmdMZ.c: Prevent crashes due to int overflow of the
+ length of the result of [string repeat]. [Bug 2561746]
-2006-08-09 Don Porter <dgp@users.sourceforge.net>
+2009-02-03 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclEncoding.c: Replace buffer copy in for loop with
- call to memcpy(). Thanks to afredd. [Patch 1530262]
+ * macosx/tclMacOSXFCmd.c: Eliminate some unnessary type casts
+ * unix/tclLoadDyld.c: some internal const decorations
+ * unix/tclUnixCompat.c: spacing
+ * unix/tclUnixFCmd.c
+ * unix/tclUnixFile.c
+ * win/tclWinDde.c
+ * win/tclWinFCmd.c
+ * win/tclWinInit.c
+ * win/tclWinLoad.c
+ * win/tclWinPipe.c
+ * win/tclWinReg.c
+ * win/tclWinTest.c
+ * generic/tclBasic.c
+ * generic/tclBinary.c
+ * generic/tclCmdAH.c
+ * generic/tclCmdIL.c
+ * generic/tclCmdMZ.c
+ * generic/tclCompCmds.c
+ * generic/tclDictObj.c
-2006-08-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2009-02-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCmdIL.c (Tcl_LassignObjCmd): Make the wrong#args message
- a bit more consistent with those used elsewhere. [Bug 1534628]
+ * generic/tclObj.c (tclCmdNameType): [Bug 2558422]: Corrected the type
+ of this structure so that extensions that write it (yuk!) will still
+ be able to function correctly.
- * generic/tclDictObj.c (DictForCmd): Stop crash when attempting to
- iterate over an invalid dictionary. [Bug 1531184]
+2009-02-03 Don Porter <dgp@users.sourceforge.net>
- * doc/ParseCmd.3, doc/expr.n, doc/set.n, doc/subst.n, doc/switch.n:
- * doc/tclvars.n: Ensure that uses of [expr] in documentation examples
- are also good style (with braces) unless otherwise necessary. [Bug
- 1526581]
+ * generic/tclStringObj.c (SetUnicodeObj): Corrected failure of
+ Tcl_SetUnicodeObj() to panic on a shared object. [Bug 2561488]. Also
+ factored out common code to reduce duplication.
-2006-08-03 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclObj.c (Tcl_GetStringFromObj): Reduce code duplication.
- * unix/tclUnixPipe.c (TclpCreateProcess): for USE_VFORK: ensure
- standard channels are initialized before vfork() so that the child
- doesn't potentially corrupt global state in the parent's address space
+2009-02-02 Don Porter <dgp@users.sourceforge.net>
- * tests/compExpr-old.test: add 'oldExprParser' constraint to all tests
- * tests/compExpr.test: that depend on the exact format of the
- * tests/compile.test: error messages of the pre-2006-07-05
- * tests/expr-old.test: expression parser. The constraint is on by
- * tests/expr.test: default (i.e those tests still fail), but
- * tests/for.test: can be turned off by passing '-constraints
- * tests/if.test: newExprParser' to tcltest, which will skip
- * tests/parseExpr.test: the 196 failing tests in the testsuite that
- * tests/while.test: are caused by the new expression parser
- error messages.
+ * generic/tclInterp.c: Reverted the conversion of [interp] into an
+ * tests/interp.test: ensemble. Such conversion is not necessary
+ * tests/nre.test: (or even all that helpful) in the NRE-enabling
+ of [interp invokehidden], and it has other implications -- including
+ significant forkage of the 8.5 and 8.6 implementations -- that are
+ better off avoided if there's no gain.
-2006-07-31 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclStringObj.c (STRING_NOMEM): [Bug 2494093]: Add missing
+ cast of NULL to (char *) that upsets some compilers.
- * generic/tclClock.c (ConvertLocalToUTCUsingC): Corrected a regression
- that caused dates before 1969 to be one day off in the :localtime time
- zone if TZ is not set. [Bug 1531530]
+ * generic/tclStringObj.c (Tcl_(Attempt)SetObjLength): [Bug 2553906]:
+ Added protections against callers asking for negative lengths. It is
+ likely when this happens that an integer overflow is to blame.
-2006-07-30 Kevin B. Kenny <kennykb@acm.org>
+2009-02-01 David Gravereaux <davygrvy@pobox.com>
- * generic/tclClock.c (GetJulianDayFromEraYearMonthDay): Corrected
- several errors in converting dates before the Common Era [Bug 1426279]
- * library/clock.tcl: Corrected syntax errors in generated code for %EC
- %Ey, and %W format groups [Bug 1505383]. Corrected a bug in cache
- management for format strings containing [glob] metacharacters [Bug
- 1494664]. Corrected several errors in formatting/scanning of years
- prior to the Common Era, and added the missing %EE format group to
- indicate the era.
- * tools/makeTestCases.tcl: Added code to make sure that %U and %V
- format groups are included in the tests. (The code depends on %U and
- %V formatting working correctly when 'makeTestCases.tcl' is run,
- rather than making a completely independent check.) Added tests for
- [glob] metacharacters in strings. Added tests for years prior to the
- Common Era.
- * tests/clock.test: Rebuilt with new test cases for all the above.
+ * win/makefile.vc: Allow nmake flags such as -a (rebuild all) to pass
+ down to the pkgs targets, too.
-2006-07-30 Joe English <jenglish@users.sourceforge.net>
+2009-01-30 Donal K. Fellows <dkf@users.sf.net>
- * doc/AppInit.3: Fix typo [Bug 1496886]
+ * doc/chan.n: [Bug 1216074]: Added another extended example.
-2006-07-26 Don Porter <dgp@users.sourceforge.net>
+ * doc/refchan.n: Added an example of how to build a scripted channel.
- * generic/tclExecute.c: Corrected flawed overflow detection in
- * tests/expr.test: INST_EXPON that caused [expr 2**64] to return
- 0 instead of the same value as [expr 1<<64].
+2009-01-29 Donal K. Fellows <dkf@users.sf.net>
-2006-07-24 Don Porter <dgp@users.sourceforge.net>
+ * tests/stringObj.test: [Bug 2006888]: Remove non-ASCII chars from
+ non-comment locations in the file, making it work more reliably in
+ locales with a non-Latin-1 default encoding.
- * win/tclWinSock.c: Correct un-initialized Tcl_DString. Thanks to
- afredd. [Bug 1518166]
+ * generic/tclNamesp.c (Tcl_FindCommand): [Bug 2519474]: Ensure that
+ the path is not searched when the TCL_NAMESPACE_ONLY flag is given.
-2006-07-21 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclOODecls.h (Tcl_OOInitStubs): [Bug 2537839]: Make the
+ declaration of this macro work correctly in the non-stub case.
- * generic/tclExecute.c:
- * tests/execute.test (execute-9.1): dgp's fix for [Bug 1522803].
-
-2006-07-20 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/tclMacOSXNotify.c (Tcl_InitNotifier, Tcl_WaitForEvent):
- create notifier thread lazily upon first call to Tcl_WaitForEvent()
- rather than in Tcl_InitNotifier(). Allows calling exeve() in processes
- where the event loop has not yet been run (Darwin's execve() fails in
- processes with more than one thread), in particular allows embedders
- to call fork() followed by execve(), previously the pthread_atfork()
- child handler's call to Tcl_InitNotifier() would immediately recreate
- the notifier thread in the child after a fork.
-
- * macosx/tclMacOSXFCmd.c (TclMacOSXCopyFileAttributes): add support
- * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): for weakly
- * unix/tclUnixInit.c (Tcl_GetEncodingNameFromEnvironment): importing
- symbols not available on OSX 10.2 or 10.3, enables binaires built on
- later OSX versions to run on earlier ones.
- * macosx/Tcl.xcodeproj/project.pbxproj: enable weak-linking; turn on
- extra warnings.
- * macosx/README: document how to enable weak-linking; cleanup.
- * unix/tclUnixPort.h: add support for weak-linking; conditionalize
- AvailabilityMacros.h inclusion; only disable realpath on 10.2 or
- earlier when threads are enabled.
- * unix/tclLoadDyld.c (TclpLoadMemoryGetBuffer): change runtime Darwin
- * unix/tclUnixInit.c (TclpInitPlatform): release check to use
- global initialized
- once
- * unix/tclUnixFCmd.c (DoRenameFile, TclpObjNormalizePath): add runtime
- Darwin release check to determine if realpath is threadsafe.
- * unix/configure.in: add check on Darwin for compiler support of weak
- * unix/tcl.m4: import and for AvailabilityMacros.h header; move
- Darwin specific checks & defines that are only relevant to the tcl
- build out of tcl.m4; restrict framework option to Darwin; clean up
- quoting and help messages.
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
- * generic/regc_locale.c (cclass):
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclIOCmd.c (Tcl_ExecObjCmd):
- * generic/tclListObj.c (NewListIntRep):
- * generic/tclObj.c (Tcl_GetLongFromObj, Tcl_GetWideIntFromObj)
- (FreeBignum, Tcl_SetBignumObj):
- * generic/tclParseExpr.c (Tcl_ParseExpr):
- * generic/tclStrToD.c (TclParseNumber):
- * generic/tclStringObj.c (TclAppendFormattedObjs):
- * unix/tclLoadDyld.c (TclpLoadMemory):
- * unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned
- comparison and other warnings from gcc4 -Wextra.
-
-2006-07-13 Andreas Kupries <andreask@activestate.com>
-
- * unix/tclUnixPort.h: Added the inclusion of <AvailabilityMacros.h>.
- The missing header caused the upcoming #if conditions to wrongly
- exclude realpath, causing file normalize to ignore symbolic links in
- the path.
-
-2006-07-11 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclAsync.c: Made Tcl_AsyncDelete() more tolerant when called
- after all thread TSD has been garbage-collected.
-
-2006-07-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParseExpr.c: Completely new expression parser that
- builds a parse tree instead of operating with deep recursion. This
- corrects reports of stack-blowing crashes parsing long expressions
- [Bug 906201] and replaces a fundamentally O(N^2) algorithm with an
- O(N) one [RFE 903765]. The new parser is better able to generate error
- messages that clearly report both the nature and context of the syntax
- error [Bugs 1029267, 1381715]. For now, the code for the old parser is
- still present and can be activated with a "#define OLD_EXPR_PARSER
- 1". This is for the sake of a clean implementation patch, and for ease
- of benchmarking. The new parser is non-recursive, so much lighter in
- stack consumption, but it does use more heap, so there may be cases
- where parsing of long expressions that succeeded with the old parser
- will lead to out of memory panics with the new one. There are still
- more improvements possible on that point, though significant progress
- may require changes to the Tcl_Token specifications documented for the
- public Tcl_Parse*() routines.
- ***POTENTIAL INCOMPATIBILITY*** for any callers that rely on the exact
- (usually terrible) error messages generated by the old parser. This
- includes a large number of tests in the test suite.
-
- * generic/tclInt.h: Replaced TclParseWhiteSpace() with
- * generic/tclParse.c: TclParseAllWhiteSpace() which is what
- * generic/tclParseExpr.c: all the callers really needed.
- Breaking whitespace runs at newlines is useful only to the command
- parsing function, and it can call the file scoped routine
- ParseWhiteSpace() to do that.
-
- * tests/expr-old.test: Removed knownBug constraints that masked
- * tests/expr.test: failures due to revised error messages.
- * tests/parseExpr.test:
-
-2006-06-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOUtil.c: Changed default configuration to
- * generic/tclInt.decls: #undef USE_OBSOLETE_FS_HOOKS which disables
- * generic/tclTest.c: access to the Tcl 8.3 internal routines for
- hooking into filesystem operations. Everyone ought to have migrated to
- Tcl_Filesystems by now.
- ***POTENTIAL INCOMPATIBILITY*** for any code still stuck in the
- pre-Tcl_Filesystem era.
+2009-01-29 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIntDecls.h: make genstubs
- * generic/tclStubInit.c:
+ * generic/tclInterp.c: Convert the [interp] command into a
+ * tests/interp.test: [namespace ensemble]. Work in progress
+ * tests/nre.test: to NRE-enable the [interp invokehidden]
+ subcommand.
- * generic/tclStrToD.c: Removed dead code that permitted disabling of
- recognition of the new 0b and 0o numeric formats.
+2009-01-29 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclExecute.c: Removed dead code that implemented alternative
- * generic/tclObj.c: design where numeric values did not
- automatically narrow to the smallest Tcl_ObjType required to hold them
+ * generic/tclNamesp.c (TclMakeEnsemble): [Bug 2529117]: Make this
+ function behave more sensibly when presented with a fully-qualified
+ name, rather than doing strange stuff.
- * generic/tclCmdAH.c: Removed dead code that was old implementation
- of [format].
+2009-01-28 Donal K. Fellows <dkf@users.sf.net>
-2006-06-14 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclBasic.c (TclInvokeObjectCommand): Made this understand
+ what to do if it ends up being used on a command with no objProc; that
+ shouldn't happen, but...
- * unix/tclUnixPort.h (Darwin): support MAC_OS_X_VERSION_MAX_ALLOWED
- define from AvailabilityMacros.h: override configure detection and
- only use API available in the indicated OS version or earlier.
+ * generic/tclNamesp.c (TclMakeEnsemble): [Bug 2529157]: Made this
+ understand NRE command implementations better.
+ * generic/tclDictObj.c (DictForCmd): Eliminate unnecessary command
+ implementation.
-2006-06-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2009-01-27 Donal K. Fellows <dkf@users.sf.net>
- * doc/format.n, doc/scan.n: Added examples for converting between
- characters and their numeric interpretations following user prompting.
+ * generic/tclOODefineCmds.c (Tcl_ClassSetConstructor):
+ [Bug 2531577]: Ensure that caches of constructor chains are cleared
+ when the constructor is changed.
-2006-06-13 Donal K. Fellows <dkf@users.sf.net>
+2009-01-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * unix/tclLoadDl.c (TclpDlopen): Workaround for a compiler bug in Sun
- Forte 6. [Bug 1503729]
+ * generic/tclInt.h: Fix [Bug 1028264]: WSACleanup() too early.
+ * generic/tclEvent.c: The fix introduces "late exit handlers"
+ * win/tclWinSock.c: for similar late process-wide cleanups.
-2006-06-06 Don Porter <dgp@users.sourceforge.net>
+2009-01-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * doc/GetStdChan.3: Added recommendation that each call to
- Tcl_SetStdChannel() be accompanied by a call to Tcl_RegisterChannel().
+ * win/tclWinSock.c: Fix [Bug 2446662]: resync Win behavior on RST
+ with that of unix (EOF).
-2006-06-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2009-01-26 Donal K. Fellows <dkf@users.sf.net>
- * doc/Alloc.3: Added documentation of promise that Tcl_Realloc(NULL,x)
- is the same as Tcl_Alloc(x), as discussed in comp.lang.tcl. Also fixed
- nonsense sentence to say something meaningful.
+ * generic/tclZlib.c (ChanClose): Only generate error messages in the
+ interpreter when the thread is not being closed down. [Bug 2536400]
-2006-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+2009-01-23 Donal K. Fellows <dkf@users.sf.net>
- * generic/tcl.h (Tcl_DecrRefCount): use if/else construct to allow
- placement in unbraced outer if/else conditions. (jcw)
+ * doc/zlib.n: Added a note that 'zlib push' is reversed by 'chan pop'.
-2006-05-27 Daniel Steffen <das@users.sourceforge.net>
+2009-01-22 Jan Nijtmans <nijtmans@users.sf.net>
- * macosx/tclMacOSXNotify.c: implemented pthread_atfork() handler that
- * unix/tcl.m4 (Darwin): recreates CoreFoundation state and
- notifier thread in the child after a fork(). Note that pthread_atfork
- is available starting with Tiger only. Because vfork() is used by the
- core on Darwin, [exec]/[open] are not affected by this fix, only
- extensions or embedders that call fork() directly (such as TclX).
- However, this only makes fork() safe from corefoundation tcl with
- --disable-threads; as on all platforms, forked children may deadlock
- in threaded tcl due to the potential for stale locked mutexes in the
- child. [Patch 923072]
+ * generic/tclCompile.h: CONSTify TclPrintInstruction (TIP #27)
+ * generic/tclCompile.c
+ * generic/tclInt.h: CONSTify TclpNativeJoinPath (TIP #27)
+ * generic/tclFileName.c
+ * generic/tcl.decls: {unix win} is equivalent to {generic}
+ * generic/tclInt.decls
+ * generic/tclDecls.h: (regenerated)
+ * generic/tclIntDecls.h
+ * generic/tclGetDate.y: Single internal const decoration.
+ * generic/tclDate.c:
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
+2009-01-22 Kevin B. Kenny <kennykb@acm.org>
-2006-05-24 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * unix/tcl.m4: Corrected a typo ($(SHLIB_VERSION) should be
+ ${SHLIB_VERSION}).
+ * unix/configure: Autoconf 2.59
- * unix/tcl.m4 (SC_CONFIG_SYSTEM): Fixed quoting of command script to
- awk; it was a rarely used branch, but it was wrong. [Bug 1494160]
+2009-01-21 Andreas Kupries <andreask@activestate.com>
-2006-05-23 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclIORChan.c (ReflectClose): Fix for [Bug 2458202].
+ * generic/tclIORTrans.c (ReflectClose): Closing a channel may supply
+ NULL for the 'interp'. Test for finalization needs to be different,
+ and one place has to pull the interp out of the channel instead.
- * doc/chan.n, doc/refchan.n: Tighten up the documentation to follow a
- slightly more consistent style with regard to argument capitalization.
+2009-01-21 Don Porter <dgp@users.sourceforge.net>
-2006-05-13 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStringObj.c: New fix for [Bug 2494093] replaces the
+ flawed attempt committed 2009-01-09.
- * generic/tclProc.c (ProcCompileProc): When a bump of the compile
- epoch forces the re-compile of a proc body, take care not to overwrite
- any Proc struct that may be referred to on the active call stack. This
- fixes [Bug 1482718]. Note that the fix will not be effective for code
- that calls the private routine TclProcCompileProc() directly.
+2009-01-19 Kevin B. Kenny <kennykb@acm.org>
-2006-05-13 Daniel Steffen <das@users.sourceforge.net>
+ * unix/Makefile.in: Added a CONFIG_INSTALL_DIR parameter so that
+ * unix/tcl.m4: distributors can control where tclConfig.sh goes.
+ Made the installation of 'ldAix' conditional upon actually being on an
+ AIX system. Allowed for downstream packagers to customize
+ SHLIB_VERSION on BSD-derived systems. Thanks to Stuart Cassoff for
+ [Patch 907924].
+ * unix/configure: Autoconf 2.59
- * generic/tclEvent.c (HandleBgErrors): fix leak. [Coverity issue 86]
+2009-01-19 David Gravereaux <davygrvy@pobox.com>
-2006-05-05 Don Porter <dgp@users.sourceforge.net>
+ * win/build.vc.bat: Improved tools detection and error message
+ * win/makefile.vc: Reorganized the $(TCLOBJ) file list into seperate
+ parts for easier maintenance. Matched all sources built using -GL to
+ both $(lib) and $(link) to use -LTCG and avoid a warning message.
+ Addressed the over-building nature of the htmlhelp target by moving
+ from a pseudo target to a real target dependent on the entire docs/
+ directory contents.
+ * win/nmakehlp.c: Removed -g option and GrepForDefine() func as it
+ isn't being used anymore. The -V option method is much better.
- * generic/tclMain.c (Tcl_Main): Corrected flaw that required
- * tests/main.test: (Tcl_Main-4.5): processing of one interactive
- command before passing control to the loop routine registered with
- Tcl_SetMainLoop(). [Bug 1481986]
+2009-01-16 Don Porter <dgp@users.sourceforge.net>
-2006-05-04 Don Porter <dgp@users.sourceforge.net>
-
- * README: Bump version number to 8.5a5
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
+ * generic/tcl.h: Bump patchlevel to 8.6b1.1 to distinguish
+ * library/init.tcl: CVS snapshots from the 8.6b1 and 8.6b2 releases
+ * unix/configure.in: and to deal with the fact that the 8.6b1
+ * win/configure.in: version of init.tcl will not [source] in the
+ HEAD version of Tcl.
* unix/configure: autoconf-2.59
* win/configure:
- * generic/tclBasic.c (ExprSrandFunc): Restore acceptance of wide/big
- * doc/mathfunc.n: integer values by srand(). [Bug 1480509]
-
-2006-04-26 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.5a4 TAGGED FOR RELEASE ***
-
- * changes: Updates for another RC.
-
- * generic/tclBinary.c: Revised the handling of the Q and q format
- * generic/tclInt.h: specifiers for [binary] to account for the
- * generic/tclStrToD.c: "middle endian" floating point format used in
- Nokia N770.
-
-2006-04-25 Don Porter <dgp@users.sourceforge.net>
-
- * doc/DoubleObj.3: More doc updates for TIP 237.
- * doc/expr.n:
- * doc/format.n:
- * doc/mathfunc.n:
- * doc/scan.n:
- * doc/string.n:
-
- * generic/tclScan.c: [scan $s %u] is documented to accept only
- * tests/scan.test: decimal formatted integers. Fixed to match.
-
-2006-04-19 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclStrToD.c: Added code to support the "middle endian"
- floating point format used in the Nokia N770's software-based floating
- point. Thanks to Bruce Johnson for reporting this bug, originally on
- http://wiki.tcl.tk/15408.
- * library/clock.tcl: Fixed a bug with Daylight Saving Time and Posix
- time zone specifiers reported by Martin Lemburg in
- http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/9a8b15a4dfc0b7a0
- (and not at SourceForge).
- * tests/clock.test: Added test case for the above bug.
-
-2006-04-18 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/IntObj.3: Minor review fixes, including better documentation of
- the behaviour of Tcl_GetBignumAndClearObj.
-
-2006-04-17 Don Porter <dgp@users.sourceforge.net>
-
- * doc/IntObj.3: Documentation changes to account for TIP 237 changes.
- * doc/Object.3: [Bug 1446971]
-
-2006-04-12 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/regc_locale.c (cclass): Redefined the meaning of [:print:]
- to be exactly UNICODE letters, numbers, punctuation, symbols and
- spaces (*not* whitespace). [Bug 1376892]
-
-2006-04-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTrace.c: Stop some interference between enter traces
- * tests/trace.test: and enterstep traces. [Bug 1458266]
-
-2006-04-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Yet another revised fix for the [Bug 1379287]
- * tests/fileSystem.test: family of path normalization bugs.
-
-2006-04-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclRegexp.c (FinalizeRegexp): full reset data to indicate
- readiness for reinitialization.
-
-2006-04-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): It seems there
- * tests/indexObj.test: are extensions that rely on the prior behavior
- * doc/GetIndex.3: that the empty string cannot succeed as a
- unique prefix matcher, so I'm restoring Donal Fellows's solution.
- Added mention of this detail to the documentation. [Bug 1464039]
-
- * tests/compExpr-old.test: Updated testmathfunctions constraint
- * tests/compExpr.test: to post-TIP-232 world.
- * tests/expr-old.test:
- * tests/expr.test:
- * tests/info.test:
-
- * tests/indexObj.test: Corrected other test errors revealed by
- * tests/upvar.test: testing outside the tcltest application.
-
- * generic/tclPathObj.c: Revised fix for the [Bug 1379287] family of
- path normalization bugs.
-
-2006-04-06 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/tcl.m4: removed TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING
- define on Darwin. [Bug 1457515]
- * unix/configure: autoconf-2.59
- * unix/tclConfig.h.in: autoheader-2.59
-
-2006-04-05 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinInit.c: More careful calls to Tcl_DStringSetLength()
- * win/tclWinSock.c: to avoid creating invalid DString states. Bump
- * win/tclWinDde.c: to version 1.3.2. [RFE 1366195]
- * library/dde/pkgIndex.tcl:
-
- * library/reg/pkgIndex.tcl: Bump to registry 1.2 because
- * win/tclWinReg.c: Registry_Unload() is a new public routine
- * win/Makefile.in: compared to the 1.1.* releases.
-
- * win/configure.in: Bump package version numbers.
- * win/configure: autoconf 2.59
-
-2006-04-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Allow empty
- strings to be matched by the Tcl_GetIndexFromObj machinery, in the
- same manner as any other key. [Bug 1464039]
-
-2006-04-03 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclIO.c (ReadChars): Added check, panic and commentary to a
- piece of code which relies on BUFFER_PADDING to create enough space at
- the beginning of each buffer for the insertion of partial multibyte
- data at the beginning of a buffer. Commentary explains why this code
- is OK, and the panic is as a precaution if someone twiddled the
- BUFFER_PADDING into uselessness.
-
- * generic/tclIO.c (ReadChars): Temporarily suppress the use of
- TCL_ENCODING_END set when EOF was reached while the buffer we are
- converting is not truly the last buffer in the queue. Together with
- the Utf bug below it was possible to completely wreck the buffer data
- structures, eventually crashing Tcl. [Bug 1462248]
-
- * generic/tclEncoding.c (UtfToUtfProc): Stop accessing memory beyond
- the end of the input buffer when TCL_ENCODING_END is set and the last
- bytes of the buffer start a multi-byte sequence. This bug contributed
- to [Bug 1462248].
-
-2006-03-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c: remove unused var and silence gcc warning
-
-2006-03-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/Makefile.in: convert _NATIVE paths to use / to avoid ".\"
- path-as-escape issue.
-
-2006-03-29 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for another RC.
-
- * generic/tclPathObj.c: More fixes for path normalization when /../
- * tests/fileSystem.test: tries to go beyond root.[Bug 1379287]
-
- * generic/tclExecute.c: Revised INST_MOD implementation to do
- calculations in native types as much as possible, moving to mp_ints
- only when necessary.
-
-2006-03-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinPipe.c (TclpCreateProcess): change panics to Tcl errors
- and do proper refcounting of noe objPtr. [Bug 1194429]
-
- * unix/tcl.m4, win/tcl.m4: []-quote AC_DEFUN functions.
-
-2006-03-28 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Tcl.xcode/default.pbxuser: add '-singleproc 1' cli arg to
- * macosx/Tcl.xcodeproj/default.pbxuser: tcltest to ease test debugging
-
- * macosx/Tcl.xcode/project.pbxproj: removed $prefix/share from
- * macosx/Tcl.xcodeproj/project.pbxproj: TCL_PACKAGE_PATH as per change
- to unix/configure.in of 2006-03-13.
-
- * unix/tclUnixFCmd.c (TclpObjNormalizePath): deal with *BSD/Darwin
- realpath() converting relative paths into absolute paths [Bug 1064247]
-
-2006-03-28 Vince Darley <vincentdarley@sourceforge.net>
-
- * generic/tclIOUtil.c: fix to nativeFilesystemRecord comparisons
- (lesser part of [Bug 1064247])
-
-2006-03-27 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinTest.c: Fixes for [Bug 1456373] (mingw-gcc issue)
-
-2006-03-27 Andreas Kupries <andreask@activestate.com>
-
- * doc/CrtChannel.3: Added TCL_CHANNEL_VERSION_5, made it the
- * generic/tcl.h: version where the "truncateProc" is defined at,
- * generic/tclIO.c: and moved all channel drivers of Tcl to v5.
- * generic/tclIOGT.c, generic/tclIORChan.c, unix/tclUnixChan.c:
- * unix/tclUnixPipe.c, win/tclWinChan.c, win/tclWinConsole.c:
- * win/tclWinPipe.c, win/tclWinSerial.c, win/tclWinSock.c:
-
-2006-03-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Merge INST_MOD computation in with the
- INST_?SHIFT instructions, which also operate only on two integral
- values. Also corrected flaw that made INST_BITNOT of wide values
- require mp_int calculations. Also corrected type that missed optimized
- handling of the tclBooleanType by the TclGetBooleanFromObj macro.
-
- * changes: Updates for another RC.
-
-2006-03-25 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Corrections to INST_EXPON detection of
- overflow to use mp_int calculations.
-
-2006-03-24 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclExecute.c (TclExecuteByteCode): Added a couple of missing
- casts to 'int' that were affecting compilablity on VC6.
-
-2006-03-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEncoding.c: Reverted latest change [Bug 506653] since it
- reportedly killed test performance on Windows.
-
- * generic/tclExecute.c: Revised INST_EXPON implementation to do
- calculations in native types as much as possible, moving to mp_ints
- only when necessary.
-
-2006-03-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Merged INST_EXPON handling in with the other
- binary operators that operate on all number types (INST_ADD, etc.).
-
- * tests/env.test: With case preserved (see 2006-03-21 commit) be sure
- to do case-insensitive filtering. [Bug 1457065]
-
-2006-03-23 Reinhard Max <max@suse.de>
-
- * unix/tcl.spec: Cleaned up and completed the spec file. An RPM can
- now be built from the tcl source distribution with "rpmbuild -tb
- <tarball>"
-
-2006-03-22 Reinhard Max <max@suse.de>
-
- * tests/stack.test: Run the stack tests in subshells, so that they are
- reported as failed tests rather than bugs in the test suite if the
- recursion causes a segfault.
-
-2006-03-21 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Updates for another RC.
-
- * generic/tclStrToD.c: One of the branches of AccumulateDecimalDigit
- * tests/parseExpr.test: did not. [Bug 1451233]
-
- * tests/env.test: Preserve case of saved env vars. [Bug 1409272]
-
-2006-03-21 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.decls: implement globbing for HFS creator & type
- * macosx/tclMacOSXFCmd.c:codes and 'hidden' flag, as documented in
- * tests/macOSXFCmd.test: glob.n; objectified OSType handling in [glob]
- * unix/tclUnixFile.c: and [file attributes]; fix globbing for
- hidden files with pattern==NULL arg. [Bug 823329]
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c: make genstubs
-
-2006-03-20 Andreas Kupries <andreask@activestate.com>
-
- * win/Makefile.in (install-libraries): Generate tcl8/8.4 directory
- under Windows as well (cygwin Makefile). Related entry: 2006-03-07,
- dgp. This moved the installation of http from 8.2 to 8.4, partially. A
- fix of the required directory creation was done for unix on Mar 10,
- without entry in the Changelog. This entry is for the fix of the
- directory creation under Windows.
-
- * unix/installManPage: There is always one even more broken "sed".
- Moved the # comment starting character in the sed script to the
- beginning of their respective lines. The AIX sed will not recognize
- them as comments otherwise :( The actual text stays indented for
- better association with the commands they belong to.
-
-2006-03-20 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * tests/cmdAH.test, tests/fCmd.test, tests/unixFCmd.test:
- * tests/winFCmd.test: Cleanup of some test constraint handling, and a
- few other minor issues.
-
-2006-03-18 Vince Darley <vincentdarley@sourceforge.net>
-
- * generic/tclFileName.c:
- * doc/FileSystem.3:
- * tests/fileName.test: Fix to [Bug 1084705] so that 'glob -nocomplain'
- finally agrees with its documentation and doesn't swallow genuine
- errors.
-
- ***POTENTIAL INCOMPATIBILITY*** for scripts that assumed '-nocomplain'
- removes the need for 'catch' to deal with non-understood path names.
-
- Small optimisation to implementation of pattern==NULL case of TclGlob,
- and clarification to the documentation. [Tclvfs bug 1405317]
-
-2006-03-18 Vince Darley <vincentdarley@sourceforge.net>
-
- * tests/fCmd.test: added knownBug test case for [Bug 1394972]
-
- * tests/winFCmd.test:
- * tests/tcltest.test: corrected tests to better account for behaviour
- of writable/non-writable directories on Windows 2000/XP. This, with
- the previous patches, closes [Bug 1193497]
-
-2006-03-17 Andreas Kupries <andreask@activestate.com>
-
- * doc/chan.n: Updated with documentation for the commands 'chan
- create' and 'chan postevent' (TIP #219).
-
- * doc/refchan.n: New file. Documentation of the command handler API
- for reflected channels (TIP #219).
-
-2006-03-17 Joe Mistachkin <joe@mistachkin.com>
-
- * unix/tclUnixPort.h: Include pthread.h prior to pthread_np.h [Bug
- 1444692]
+2009-01-14 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinTest.c: Corrected typo of 'initializeMutex' that prevented
- successful compilation.
+ * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Reverted most
+ of the substance of my 2009-01-12 commit. NULLing the objProc field of
+ a Command when deleting it is important so that tests for certain
+ classes of commands don't return false positives when applied to
+ deleted command tokens. Overall change is now just replacement of a
+ false comment with a true one.
-2006-03-16 Andreas Kupries <andreask@activestate.com>
+2009-01-13 Jan Nijtmans <nijtmans@users.sf.net>
- * doc/open.n: Documented the changed behaviour of 'a'ppend mode.
+ * unix/tcl.m4: fix [tcl-Bug 2502365] Building of head on HPUX is
+ broken when using the native CC.
+ * unix/configure (autoconf-2.59)
- * tests/io.test (io-43.1 io-44.[1234]): Rewritten to be self-contained
- with regard to setup and cleanup. [Bug 681793]
+2009-01-13 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIOUtil.c (TclGetOpenMode): Added the flag O_APPEND to the
- list of POSIX modes used when opening a file for 'a'ppend. This
- enables the proper automatic seek-to-end-on-write by the OS. See [Bug
- 680143] for longer discussion.
+ * generic/tclCmdMZ.c (Tcl_ThrowObjCmd): Move implementation of [throw]
+ * library/init.tcl (throw): to C from Tcl.
- * tests/ioCmd.test (iocmd-13.7.*): Extended the testsuite to check the
- new handling of 'a'.
+2009-01-12 Don Porter <dgp@users.sourceforge.net>
-2006-03-15 Andreas Kupries <andreask@activestate.com>
+ * generic/tclBasic.c (Tcl_DeleteCommandFromToken): One consequence of
+ the NRE rewrite is that there are now situations where a NULL objProc
+ field in a Command struct is perfectly normal. Removed an outdated
+ comment in Tcl_DeleteCommandFromToken that claimed we use
+ cmdPtr->objPtr==NULL as a test of command validity. In fact we use
+ cmdPtr->flags&CMD_IS_DELETED to perform that test. Also removed the
+ setting to NULL, since any extension following the advice of the old
+ comment is going to be broken by NRE anyway, and needs to shift to
+ flag-based testing (or stop intruding into such internal matters).
+ Part of [Bug 2486550].
- * tests/socket.test: Extended the timeout in socket-11.11 from 10 to
- 40 seconds to allow for really slow machines. Also extended
- actual/expected results with value of variable 'done' to make it
- clearer when a test fails due to a timeout. [Bug 792159]
-
-2006-03-15 Vince Darley <vincentdarley@sourceforge.net>
-
- * win/fCmd.test: add proper test constraints so the new tests don't
- run on Unix.
-
-2006-03-14 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclPipe.c (TclCreatePipeline): Modified the processing of
- pipebars to fail if the last bar is followed only by redirections.
- [Bug 768659]
-
-2006-03-14 Andreas Kupries <andreask@activestate.com>
-
- * doc/fconfigure.n: Clarified that -translation is binary is reported
- as lf when queried, because it is identical to lf, except for the
- special additional behaviour when setting it. [Bug 666770]
-
-2006-03-14 Andreas Kupries <andreask@activestate.com>
-
- * doc/clock.n: Removed double-quotes around section title NAME; not
- needed.
- * unix/installManpage: Reverted part to handle double-quotes in
- section NAME, chokes older sed installations.
-
-2006-03-14 Andreas Kupries <andreask@activestate.com>
-
- * library/tm.tcl (::tcl::tm::Defaults): Fixed handling of environment
- variable TCLX.y_TM_PATH, bad variable reference. Thanks to Julian
- Noble. [Bug 1448251]
-
-2006-03-14 Vince Darley <vincentdarley@sourceforge.net>
-
- * win/tclWinFile.c: updated patch to deal with 'file writable' issues
- on Windows XP/2000.
- * generic/tclTest.c:
- * unix/tclUnixTest.c:
- * win/tclWinTest.c:
- * tests/fCmd.test: updated test suite to deal with correct permissions
- setting and differences between XP/2000 and 95/98 3 tests still fail;
- to be dealt with shortly
-
-2006-03-13 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEncoding.c: Report error when an escape encoding is
- missing one of its sub-encodings. [Bug 506653]
-
- * unix/configure.in: Revert change from 2005-07-26 that sometimes
- * unix/configure: added $prefix/share to the tcl_pkgPath. See
- [Patch 1231015]. autoconf-2.59.
-
-2006-03-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c (ObjInterpProcEx):
- * tests/apply.test (apply-5.1): Fix [apply] error messages so that
- they quote the lambda expression. [Bug 1447355]
-
-2006-03-10 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- -- Summary of changes fixing [Bug 1437595] --
-
- * generic/tclEvent.c: Cosmetic touches and identation
- * generic/tclInt.h: Added TclpFinalizeSockets() call.
-
- * generic/tclIO.c: Calls TclpFinalizeSockets() as part of the
- TclFinalizeIOSubsystem().
-
- * unix/tclUnixSock.c: Added no-op TclpFinalizeSockets().
-
- * win/tclWinPipe.c, win/tclWinSock.c: Finalization of sockets/pipes is
- now solely done in TclpFinalizeSockets() and TclpFinalizePipes() and
- not over the thread-exit handler, because the order of actions the Tcl
- generic core will impose may result in cores/hangs if the thread exit
- handler tears down corresponding subsystem(s) too early.
-
-2006-03-10 Vince Darley <vincentdarley@sourceforge.net>
-
- * win/tclWinFile.c: previous patch breaks tests, so removed.
-
-2006-03-09 Vince Darley <vincentdarley@sourceforge.net>
-
- * win/tclWinFile.c: fix to 'file writable' in certain XP directories.
- Thanks to fvogel and jfg. [Patch 1344540] Modified patch to make use
- of existing use of getSecurityProc.
-
-2006-03-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c: Complete missing bit of TIP 215 implementation
- * tests/incr.test:
-
-2006-03-07 Joe English <jenglish@users.sourceforge.net>
-
- * unix/tcl.m4: Set SHLIB_LD_FLAGS='${LIBS}' on NetBSD, as per the
- other *BSD variants. [Bug 1334613]
- * unix/configure: Regenerated.
-
-2006-03-07 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Update in prep. for 8.5a4 release.
-
- * unix/Makefile.in: Package http 2.5.2 requires Tcl 8.4, so the
- * win/Makefile.in: *.tm installation has to be placed in an "8.4"
- directory, not an "8.2" directory.
-
-2006-03-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Revised handling of TCL_EVAL_* flags to
- * tests/parse.test: simplify TclEvalObjvInternal and to correct
- the auto-loading of alias targets (parse-8.12). [Bug 1444291]
-
-2006-03-03 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Revised yesterday's fix for [Bug 1379287] to
- work on Windows.
-
- * generic/tclObj.c: Compatibility support for existing code that
- calls Tcl_GetObjType("boolean").
-
-2006-03-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclPathObj.c: Fix for failed normalization of paths
- * tests/fileSystem.test: with /../ that lead back to the root
- of the filesystem, like /foo/.. [Bug 1379287]
-
-2006-03-01 Reinhard Max <max@suse.de>
-
- * unix/installManPage: Fix the script for manpages that have quotes
- around the .SH arguments, as doctools produces them. [Bug 1292145]
- Some minor cleanups and improvements.
-
-2006-02-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Corrections to be sure that TCL_EVAL_GLOBAL
- * tests/namespace.test: evaluations act the same as [uplevel #0]
- * tests/parse.test: evaluations, even when execution traces or
- * tests/trace.test: invocations of [::unknown] are present. [Bug
- 1439836]
-
-2006-02-22 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Corrected a few bugs in how [namespace
- * tests/namespace.test: unknown] interacts with TCL_EVAL_* flags.
- [Patch 958222]
-
-2006-02-17 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIORChan.c: Revised error message generation and handling
- * tests/ioCmd.test: of exceptional return codes in the channel
- reflection layer. [Bug 1372348]
-
-2006-02-16 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIndexObj.c: Disallow the "ambiguous" error message
- * tests/indexObj.test: when TCL_EXACT matching is requested.
- * tests/ioCmd.test:
-
-2006-02-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIO.c: Made several routines tolerant of
- * generic/tclIORChan.c: interp == NULL arguments. [Bug 1380662]
- * generic/tclIOUtil.c:
-
-2006-02-09 Don Porter <dgp@users.sourceforge.net>
-
- TIP#215 IMPLEMENTATION
-
- * doc/incr.n: Revised [incr] to auto-initialize when varName
- * generic/tclExecute.c: argument is unset. [Patch 1413115]
- * generic/tclVar.c:
- * tests/compile.test:
- * tests/incr-old.test:
- * tests/incr.test:
- * tests/set.test:
-
- * tests/main.test (Tcl_Main-6.7): Improved robustness of
- command auto-completion test. [Bug 1422736]
-
-2006-02-08 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/Encoding.3, doc/encoding.n: Updates due to review at request of
- Don Porter. Mostly minor changes.
-
-2006-02-08 Don Porter <dgp@users.sourceforge.net>
-
- TIP#258 IMPLEMENTATION
-
- * doc/Encoding.3: New subcommand [encoding dirs].
- * doc/encoding.n: New routine Tcl_GetEncodingNameFromEnvironment
- * generic/tcl.decls: Made public:
- * generic/tclBasic.c: TclGetEncodingFromObj
- * generic/tclCmdAH.c: -> Tcl_GetEncodingFromObj
- * generic/tclEncoding.c:TclGetEncodingSearchPath
- * generic/tclInt.decls: -> Tcl_GetEncodingSearchPath
- * generic/tclInt.h: TclSetEncodingSearchPath
- * generic/tclTest.c: -> Tcl_SetEncodingSearchPath
- * library/init.tcl: Removed commands:
- * tests/cmdAH.test: [tcl::unsupported::EncodingDirs]
- * tests/encoding.test: [testencoding path] (Tcltest)
- * unix/tclUnixInit.c: [Patch 1413934]
- * win/tclWinInit.c:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
-
-2006-02-01 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclProc.c: minor improvements to [apply]
- * tests/apply.test: new tests; apply-5.1 currently fails to indicate
- missing work in error reporting
-
-2006-02-01 Don Porter <dgp@users.sourceforge.net>
-
- TIP#194 IMPLEMENTATION
-
- * doc/apply.n: (New file) New command [apply]. [Patch 944803]
- * doc/uplevel.n:
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * generic/tclProc.c:
- * tests/apply.test: (New file)
- * tests/proc-old.test:
- * tests/proc.test:
-
- TIP#181 IMPLEMENTATION
-
- * doc/Namespace.3: New command [namespace unknown]. New public C
- * doc/namespace.n: routines Tcl_(Get|Set)NamespaceUnknownHandler.
- * doc/unknown.n: [Patch 958222]
- * generic/tcl.decls:
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * tests/namespace.test:
-
- * generic/tclDecls.h: make genstubs
- * generic/tclStubInit.c:
-
- TIP#250 IMPLEMENTATION
-
- * doc/namespace.n: New command [namespace upvar]. [Patch 1275435]
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * generic/tclVar.c:
- * tests/namespace.test:
- * tests/upvar.test:
-
-2006-01-26 Donal K. Fellows <dkf@users.sf.net>
-
- * doc/dict.n: Fixed silly bug in example. Thanks to Heiner Marxen
- <heiner.marxen@unsel.de> for catching this! [Bug 1415725]
-
-2006-01-26 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-
- * unix/tclUnixChan.c (TclpOpenFileChannel): Tidy up and comment the
- mess to do with setting up serial channels. This (deliberately) breaks
- a broken FreeBSD port, indicates what we're really doing, and reduces
- the amount of conditional compilation sections for better maintenance.
-
-2006-01-25 Donal K. Fellows <dkf@users.sf.net>
+2009-01-09 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixInit.c (TclpInitPlatform): Improved conditions on when
- to update the FP rounding mode on FreeBSD, taken from FreeBSD port.
+ * generic/tclStringObj.c (STRING_SIZE): Corrected failure to limit
+ memory allocation requests to the sizes that can be supported by Tcl's
+ memory allocation routines. [Bug 2494093]
-2006-01-23 Donal K. Fellows <dkf@users.sf.net>
+2009-01-09 Donal K. Fellows <dkf@users.sf.net>
- * tests/string.test (string-12.21): Added test for [Bug 1410553] based
- on original bug report.
+ * generic/tclNamesp.c (NamespaceEnsembleCmd): Error out when someone
+ gives wrong # of args to [namespace ensemble create]. [Bug 1558654]
-2006-01-23 Miguel Sofer <msofer@users.sf.net>
+2009-01-08 Don Porter <dgp@users.sourceforge.net>
- * generic/tclStringObj.c: fixed incorrect handling of internal rep in
- Tcl_GetRange. Thanks to twylite and Peter Spjuth. [Bug 1410553]
+ * generic/tclStringObj.c (STRING_UALLOC): Added missing parens
+ required to get correct results out of things like
+ STRING_UALLOC(num + append). [Bug 2494093]
- * generic/tclProc.c: fixed args handling for precompiled bodies [Bug
- 1412695]; thanks to Uwe Traum.
+2009-01-08 Donal K. Fellows <dkf@users.sf.net>
-2006-01-16 Reinhard Max <max@suse.de>
+ * generic/tclDictObj.c, generic/tclIndexObj.c, generic/tclListObj.c,
+ * generic/tclObj.c, generic/tclStrToD.c, generic/tclUtil.c,
+ * generic/tclVar.c: Generate errorcodes for the error cases which
+ approximate to "I can't interpret that string as one of those" and
+ "You gave me the wrong number of arguments".
- * generic/tclPipe.c (FileForRedirect): Prevent nameString from being
- freed without having been initialized.
- * tests/exec.test: Added a test for the above.
+2009-01-07 Donal K. Fellows <dkf@users.sf.net>
-2006-01-12 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * doc/dict.n: Added more examples. [Tk Bug 2491235]
- * generic/tclPathObj.c (Tcl_FSGetInternalRep): backported patch from
- core-8-4-branch. A freed pointer has been overwritten causing all
- sorts of coredumps.
+ * tests/oo.test (oo-22.1): Adjusted test to be less dependent on the
+ specifics of how [info frame] reports general frame information, and
+ instead to focus on what methods add to it; that's really what the
+ test is about anyway.
-2006-01-12 Vince Darley <vincentdarley@sourceforge.net>
+2009-01-06 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinFile.c: fix to sharing violation [Bug 1366227]
+ * tests/stringObj.test: Revise tests that demand a NULL Tcl_ObjType
+ in certain values to construct those values with [testdstring] so
+ there's no lack of robustness depending on the shimmer history of
+ shared literals.
-2006-01-11 Don Porter <dgp@users.sourceforge.net>
+2009-01-06 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBasic.c: Moved Tcl_LogCommandInfo from tclBasic.c to
- * generic/tclNamesp.c: tclNamesp.c to get access to identifier with
- * tests/error.test (error-7.0): file scope. Added check for traces on
- ::errorInfo, and when present fall back to contruction of the stack
- trace in the variable so that write trace notification timings are
- compatible with earlier Tcl releases. This reduces, but does not
- completely eliminate the ***POTENTIAL INCOMPATIBILITY*** created by
- the 2004-10-15 commit. [Bug 1397843]
+ * generic/tclDictObj.c (DictIncrCmd): Corrected twiddling in internals
+ of dictionaries so that literals can't get destroyed.
-2006-01-10 Daniel Steffen <das@users.sourceforge.net>
+ * tests/expr.test: Eliminate non-ASCII char. [Bug 2006879]
- * unix/configure: add caching, use AC_CACHE_CHECK instead of
- * unix/configure.in: AC_CACHE_VAL where possible, consistent message
- * unix/tcl.m4: quoting, sync relevant tclconfig/tcl.m4 changes
- and gratuitous formatting differences, fix SC_CONFIG_MANPAGES with
- default argument, Darwin improvements to SC_LOAD_*CONFIG.
+ * generic/tclOOInfo.c (InfoObjectMethodsCmd,InfoClassMethodsCmd): Only
+ delete pointers that were actually allocated! [Bug 2489836]
-2006-01-09 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclOO.c (TclNRNewObjectInstance, Tcl_NewObjectInstance):
+ Perform search for existing commands in right context. [Bug 2481109]
- * generic/tclNamesp.c (NamespaceInscopeCmd): [namespace inscope]
- * tests/namespace.test: commands were not reported by [info level].
- [Bug 1400572]
+2009-01-05 Donal K. Fellows <dkf@users.sf.net>
-2006-01-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclCmdMZ.c (TclNRSourceObjCmd): Make implementation of the
+ * generic/tclIOUtil.c (TclNREvalFile): [source] command be NRE
+ enabled so that [yield] inside a script sourced in a coroutine can
+ work. [Bug 2412068]
- * generic/tclTrace.c: Stop exporting the guts of the trace command;
- nothing outside this file needs to see it. [Bug 971336]
+2009-01-04 Donal K. Fellows <dkf@users.sf.net>
-2006-01-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclCmdAH.c: Tidy up spacing and code style.
- * unix/tcl.m4 (TCL_CONFIG_SYSTEM): Factor out the code to determine
- the operating system version number, as it was replicated in several
- places.
+2009-01-03 Kevin B. Kenny <kennykb@acm.org>
-2006-01-04 David Gravereaux <davygrvy@pobox.com>
+ * library/clock.tcl (tcl::clock::add): Fixed error message formatting
+ in the case where [clock add] is presented with a bad switch.
+ * tests/clock.test (clock-65.1) Added a test case for the above
+ problem [Bug 2481670].
- * win/tclAppInit.c: WIN32 native console signal handler removed. This
- was found to be interfering with TWAPI extension one. IMO, special
- services such as signal handlers should best be done with extensions
- to the core after discussions on c.l.t. about Roy Terry's tclsh
- children of a real windows service shell.
+2009-01-02 Donal K. Fellows <dkf@users.sf.net>
+
+ * unix/tcl.m4 (SC_CONFIG_CFLAGS): Force the use of the compatibility
+ version of mkstemp() on IRIX. [Bug 878333]
+ * unix/configure.in, unix/Makefile.in (mkstemp.o):
+ * compat/mkstemp.c (new file): Added a compatibility implementation of
+ the mkstemp() function, which is apparently needed on some platforms.
+ [Bug 741967]
+
+ ******************************************************************
+ *** CHANGELOG ENTRIES FOR 2008 IN "ChangeLog.2008" ***
+ *** CHANGELOG ENTRIES FOR 2006-2007 IN "ChangeLog.2007" ***
+ *** CHANGELOG ENTRIES FOR 2005 IN "ChangeLog.2005" ***
+ *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" ***
+ *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" ***
+ *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" ***
+ *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" ***
+ *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
+ *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
+ ******************************************************************
- ******************************************************************
- *** CHANGELOG ENTRIES FOR 2005 IN "ChangeLog.2005" ***
- *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" ***
- *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" ***
- *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" ***
- *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" ***
- *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" ***
- *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
- ******************************************************************