summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog16428
1 files changed, 7479 insertions, 8949 deletions
diff --git a/ChangeLog b/ChangeLog
index 204275f..147224d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,6 @@
2012-12-21 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/dltest/pkgb.c: Turn pkgb.so into a Tcl9 interoperability test
- library: Whatever Tcl9 looks like, loading pkgb.so in Tcl 9 should
- either result in an error-message, either succeed, but never crash.
+ * unix/dltest/pkgb.c: Make pkgb.so loadable in Tcl 8.4 as well.
* generic/tclStubLib.c: Eliminate unnessarcy static HasStubSupport() and
isDigit() functions, just do the same inline.
@@ -11,6 +9,12 @@
* generic/tcl.h: Fix Tcl_DecrRefCount macro such that it
doesn't access its objPtr parameter twice any more.
+2012-12-07 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * unix/dltest/pkgb.c: Turn pkgb.so into a Tcl9 interoperability test
+ library: Whatever Tcl9 looks like, loading pkgb.so in Tcl 9 should
+ either result in an error-message, either succeed, but never crash.
+
2012-11-14 Donal K. Fellows <dkf@users.sf.net>
* unix/tclUnixPipe.c (DefaultTempDir): [Bug 2933003]: Allow overriding
@@ -19,45 +23,231 @@
the directory name (defaults to "/tmp" as that is the most common
default).
+2012-11-13 Joe Mistachkin <joe@mistachkin.com>
+
+ * win/tclWinInit.c: also search for the library directory (init.tcl,
+ encodings, etc) relative to the build directory associated with the
+ source checkout.
+
+2012-11-09 Don Porter <dgp@users.sourceforge.net>
+
+ *** 8.5.13 TAGGED FOR RELEASE ***
+
+ * generic/tcl.h: Bump to 8.5.13 for release.
+ * library/init.tcl:
+ * tools/tcl.wse.in:
+ * unix/configure.in:
+ * unix/tcl.spec:
+ * win/configure.in:
+ * README:
+
+ * unix/configure: autoconf-2.59
+ * win/configure:
+
+2012-11-07 Kevin B. Kenny <kennykb@acm.org>
+
+ * library/tzdata/Africa/Casablanca:
+ * library/tzdata/America/Araguaina:
+ * library/tzdata/America/Bahia:
+ * library/tzdata/America/Havana:
+ * library/tzdata/Asia/Amman:
+ * library/tzdata/Asia/Gaza:
+ * library/tzdata/Asia/Hebron:
+ * library/tzdata/Asia/Jerusalem:
+ * library/tzdata/Pacific/Apia:
+ * library/tzdata/Pacific/Fakaofo:
+ * library/tzdata/Pacific/Fiji: Import tzdata2012i.
+
2012-11-07 Don Porter <dgp@users.sourceforge.net>
* win/tclWinSock.c: [Bug 3574493] Avoid hanging on exit due to
use of synchronization calls in routines called by DllMain().
+2012-11-06 Donal K. Fellows <dkf@users.sf.net>
+
+ * library/http/http.tcl (http::Finish): [Bug 3581754]: Ensure that
+ callbacks are done at most once to prevent problems with timeouts on a
+ keep-alive connection (combined with reentrant http package use)
+ causing excessive stack growth. Not a fix for the underlying problem,
+ but ensures that pain will be mostly kept away from users.
+ Bump http package to 2.7.10.
+
+2012-10-23 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclInt.h: Remove unused TclpLoadFile function.
+ * generic/tclIOUtil.c
+
+2012-10-14 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclDictObj.c: [Bug 3576509]: tcl::Bgerror crashes with invalid
+ * generic/tclEvent.c: arguments. Better fix, which helps for all
+ Tcl_DictObjGet() calls in Tcl's source code.
+
+2012-10-13 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclEvent.c: [Bug 3576509]: tcl::Bgerror crashes with invalid
+ arguments
+
2012-10-03 Don Porter <dgp@users.sourceforge.net>
* generic/tclIO.c: When checking for std channels being closed,
compare the channel state, not the channel itself so that stacked
channels do not cause trouble.
+2012-09-07 Harald Oehlmann <oehhar@users.sf.net>
+
+ IMPLEMENTATION OF TIP#404.
+
+ * library/msgcat/msgcat.tcl: [FRQ 3544988]: (Backport from Tcl 8.6)
+ * library/msgcat/pkgIndex.tcl: New commands [mcflset] and [mcflmset]
+ * unix/Makefile.in: to set mc entries with implicit message
+ * win/Makefile.in: file locale. Bump to 1.5.0.
+ * tests/msgcat.test:
+
+2012-09-07 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * unix/tclUnixNotfy.c Backport of 2008-12-12 8.6 commit: Fix
+ missing CLOEXEC on internal pipes [2417695]
+
+2012-08-25 Donal K. Fellows <dkf@users.sf.net>
+
+ * library/msgs/uk.msg: [Bug 3561330]: Use the correct full name of
+ March in Ukrainian. Thanks to Mikhail Teterin for reporting.
+
+2012-08-23 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclBinary.c: [Bug 3496014]: (Backport from Tcl 8.6) Protect
+ Tcl_SetByteArrayObj for invalid values.
+
+2012-08-20 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclPathObj.c: [Bug 3559678]: Fix bad filename normalization
+ when the last component is the empty string.
+
+2012-08-20 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/tclWinPort.h: Remove wrapper macro for ntohs(): unnecessary,
+ because it doesn't require an initialized winsock_2 library. See:
+ <http://msdn.microsoft.com/en-us/library/windows/desktop/ms740075%28v=vs.85%29.aspx>
+ * win/tclWinSock.c
+ * generic/tclStubInit.c
+
2012-08-17 Jan Nijtmans <nijtmans@users.sf.net>
* win/nmakehlp.c: Add "-V<num>" option, in order to be able
to detect partial version numbers.
+2012-08-15 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/buildall.vc.bat: Only build the threaded builds by default
+ * win/rules.vc: Backport some improvements from Tcl 8.6
+ * win/makefile.vc:
+
+2010-08-13 Stuart Cassoff <stwo@users.sourceforge.net>
+
+ * unix/tclUnixCompat.c: [Bug 3555454]: Rearrange a bit to quash
+ 'declared but never defined' compiler warnings.
+
+2012-08-08 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclfileName.c: [Bug #1536227]: Cygwin network pathname
+ * tests/fileName.test: support
+
+2012-08-07 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclIOUtil.c: [Bug 3554250]: Overlooked one field of cleanup
+ in the thread exit handler for the filesystem subsystem.
+
2012-07-31 Jan Nijtmans <nijtmans@users.sf.net>
* win/nmakehlp.c: Backport from Tcl 8.6, but add -Q option from
sampleextension.
+2012-07-28 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * tests/clock.test: [Bug 3549770]: Multiple test failures running
+ * tests/registry.test: tcltest outside build tree
+ * tests/winDde.test:
+
2012-07-27 Jan Nijtmans <nijtmans@users.sf.net>
* generic/tclUniData.c: Support Unicode 6.2 (Add Turkish lira sign)
* generic/regc_locale.c:
+2012-07-24 Don Porter <dgp@users.sourceforge.net>
+
+ *** 8.5.12 TAGGED FOR RELEASE ***
+
+ * generic/tcl.h: Bump to 8.5.12 for release.
+ * 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.12 release.
+
+2012-07-19 Joe Mistachkin <joe@mistachkin.com>
+
+ * generic/tclTest.c: Fix several more missing mutex-locks in
+ TestasyncCmd.
+
+2012-07-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+
+ * generic/tclTest.c: [Bug 3544685]: Missing mutex-lock in
+ TestasyncCmd since 2011-08-19. Unbounded gratitude to Stuart
+ Cassoff for spotting it.
+
2012-07-17 Jan Nijtmans <nijtmans@users.sf.net>
* win/makefile.vc: [Bug 3544932]: Visual studio compiler check fails
+2012-07-16 Donal K. Fellows <dkf@users.sf.net>
+
+ * unix/tclUnixCompat.c (TclpGetPwNam, TclpGetPwUid, TclpGetGrNam)
+ (TclpGetGrGid): [Bug 3544683]: Use the elaborate memory management
+ scheme outlined on http://www.opengroup.org/austin/docs/austin_328.txt
+ to handle Tcl's use of standard reentrant versions of the passwd/group
+ access functions so that everything can work on all BSDs. Problem
+ identified by Stuart Cassoff.
+
+2012-07-11 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/tclWinReg.c: [Bug #3362446]: registry keys command fails
+ with 8.5/8.6. Follow Microsofts example better in order to prevent
+ problems when using HKEY_PERFORMANCE_DATA.
+
+2012-07-10 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * unix/tclUnixNotfy.c: [Bug 3541646]: Don't panic on triggerPipe
+ overrun.
+
+2012-07-10 Donal K. Fellows <dkf@users.sf.net>
+
+ * win/tclWinSock.c (InitializeHostName): Corrected logic that
+ extracted the name of the computer from the gethostname call so that
+ it would use the name on success, not failure. Also ensured that the
+ buffer size is exactly that recommended by Microsoft.
+
2012-07-05 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixPipe.c: [Bug 1189293] Make "<<" binary safe.
+ * unix/tclUnixPipe.c: [Bug 1189293]: Make "<<" binary safe.
* win/tclWinPipe.c:
2012-06-29 Jan Nijtmans <nijtmans@users.sf.net>
- * library/msgcat/msgcat.tcl: Add tn, ro_MO and ru_MO to msgcat. Make it
- * library/msgcat/pkgIndex.tcl: work on cygwin. Bump to 1.3.5
+ * library/msgcat/msgcat.tcl: Add tn, ro_MO and ru_MO to msgcat.
+
+2012-06-29 Harald Oehlmann <harald.oehlmann@elmicron.de>
+
+ * library/msgcat/msgcat.tcl: [Bug 3536888]: Locale guessing of
+ * library/msgcat/pkgIndex.tcl: msgcat fails on (some) Windows 7. Bump
+ * unix/Makefile.in: to 1.4.5
+ * win/Makefile.in:
2012-06-29 Donal K. Fellows <dkf@users.sf.net>
@@ -67,14 +257,41 @@
this rule correctly. This does not represent a functionality change,
merely a clearer documentation of a long-standing constraint.
+2012-06-25 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclFileSystem.h: [Bug 3024359]: Make sure that the
+ * generic/tclIOUtil.c: per-thread cache of the list of file systems
+ * generic/tclPathObj.c: currently registered is only updated at times
+ when no active loops are traversing it. Also reduce the amount of
+ epoch storing and checking to where it can make a difference.
+
+2012-06-25 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclCmdAH.c (EncodingDirsObjCmd): [Bug 3537605]: Do the right
+ thing when reporting errors with the number of arguments.
+
+2012-06-25 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclfileName.c: [Patch #1536227]: Cygwin network pathname
+ * tests/fileName.test: support
+
2012-06-23 Jan Nijtmans <nijtmans@users.sf.net>
* unix/tclUnixNotfy.c: [Bug 3508771]: Cygwin notifier for handling
win32 events.
-2012-06-19 Jan Nijtmans <nijtmans@users.sf.net>
+2012-06-21 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/tclWinReg.c: [Bug #3362446]: registry keys command fails
+ * tests/registry.test: with 8.5/8.6
+ * library/reg/pkgIndex.tcl: registry version to 1.2.2
+
+2012-06-11 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinReg.c: Plug memory leak, part of [Bug #3362446]
+ * generic/tclBasic.c: [Bug 3532959]: Make sure the lifetime
+ * generic/tclProc.c: management of entries in the linePBodyPtr
+ * tests/proc.test: hash table can tolerate either order of
+ teardown, interp first, or Proc first.
2012-06-08 Don Porter <dgp@users.sourceforge.net>
@@ -82,16 +299,36 @@
* unix/tclUnixPort.h: Thanks Joe English.
* unix/configure: autoconf 2.13
+ * unix/tclUnixPort.h: [Bug 3530533]: Centralize #include <pthread.h>
+ * unix/tclUnixThrd.c: in the tclUnixPort.h header so that old unix
+ systems that need inclusion in all compilation units are supported.
+
2012-06-06 Jan Nijtmans <nijtmans@users.sf.net>
* unix/tclUnixInit.c: On Cygwin, use win32 API in stead of uname()
to determine the tcl_platform variables.
+2012-05-31 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/safe.n: [Bug 1997845]: Corrected formatting so that generated
+ * tools/tcltk-man2html.tcl (cross-reference): HTML can link properly.
+
+2012-05-29 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/expr.n, doc/mathop.n: [Bug 2931407]: Clarified semantics of
+ division and remainder operators.
+
+2012-05-25 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/namespace.n, doc/Ensemble.3: [Bug 3528418]: Document what is
+ going on with respect to qualification of command prefixes in ensemble
+ subcommand maps.
+
2012-05-25 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinDde.c: [Bug 473946]: special characters not correctly sent,
- now for XTYP_EXECUTE as well as XTYP_REQUEST.
- * win/Makefile.in: Fix "make genstubs" when cross-compiling on UNIX
+ * win/tclWinDde.c: [Bug 473946]: special characters not correctly
+ * win/Makefile.in: sent, now for XTYP_EXECUTE as well as
+ XTYP_REQUEST. Fix "make genstubs" when cross-compiling on UNIX
2012-05-24 Jan Nijtmans <nijtmans@users.sf.net>
@@ -106,7 +343,7 @@
* tools/genStubs.tcl: Let cygwin share stub table with win32
* win/Makefile.in: Don't hardcode dde and reg dll version numbers
* win/tclWinSock.c: implement TclpInetNtoa for win32
- * generic/tclInt.decls: Revert most of [ae92de6078], since when
+ * generic/tclInt.decls: Revert most of [fcc5957e59], since when
we let cygwin share the win32 stub table this is no longer necessary
* generic/tcl*Decls.h: re-generated
@@ -120,47 +357,82 @@
2012-05-17 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): [Bug 3106532]: Corrected
+ resulting indexes from -indexvar option to be usable with [string
+ range]; this was always the intention (and is consistent with [regexp
+ -indices] too).
+ ***POTENTIAL INCOMPATIBILITY***
+ Uses of [switch -regexp -indexvar] that previously compensated for the
+ wrong offsets (by subtracting 1 from the end indices) now do not need
+ to do so as the value is correct.
+
+ * library/safe.tcl (safe::InterpInit): Ensure that the module path is
+ constructed in the correct order.
+ (safe::AliasGlob): [Bug 2964715]: More extensive handling of what
+ globbing is required to support package loading.
+
* doc/expr.n: [Bug 3525462]: Corrected statement about what happens
when comparing "0y" and "0x12"; the previously documented behavior was
actually a subtle bug (now long-corrected).
2012-05-13 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinDde.c: Protect against receiving strings without ending \0,
- as external applications (or Tcl with TIP #106) could generate that.
+ * win/tclWinDde.c: Protect against receiving strings without
+ ending \0, as external applications (or Tcl with TIP #106) could
+ generate that.
2012-05-10 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinDde.c: [Bug 473946]: special characters not correctly sent
- * library/dde/pkgIndex.tcl Increase version to 1.2.5
+ * win/tclWinDde.c: [Bug 473946]: Special characters not
+ * library/dde/pkgIndex.tcl: correctly sent. Bump to 1.3.3
2012-05-02 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/configure.in: Better detection and implementation for cpuid
- * generic/configure: instruction on Intel-derived processors, both
- * generic/tclUnixCompat.c: 32-bit and 64-bit.
- * generic/tclTest.c: Move cpuid testcase from win-specific to generic
- * win/tclWinTest.c: tests, as it should work on all Intel-related
- * tests/platform.test: platforms now
- * generic/tcl.decls: Simplify stub tables for functions which work on
- * generic/tclInt.decls: both UNIX and windows, as in Tcl 8.5 and 8.6
- * generic/tcl*Decls.h:
+ * generic/configure.in: Better detection and implementation for
+ * generic/configure: cpuid instruction on Intel-derived
+ * generic/tclUnixCompat.c: processors, both 32-bit and 64-bit.
+ * generic/tclTest.c: Move cpuid testcase from win-specific
+ * win/tclWinTest.c: to generic tests, as it should work on
+ * tests/platform.test: all Intel-related platforms now
+
+2012-04-27 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclPort.h: Move CYGWIN-specific stuff from tclPort.h to
+ * generic/tclEnv.c: tclUnixPort.h, where it belongs.
+ * unix/tclUnixPort.h:
+ * unix/tclUnixFile.c:
2012-04-27 Donal K. Fellows <dkf@users.sf.net>
* library/init.tcl (auto_execok): Allow shell builtins to be detected
even if they are upper-cased.
+2012-04-26 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclStubInit.c: get rid of _ANSI_ARGS_
+ * generic/tclIntPlatDecls.h
+ * unix/tclUnixPort.h
+ * unix/tclAppInit.c
+ * win/tclAppInit.c
+
2012-04-24 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.decls: [Bug 3508771] load tclreg.dll in cygwin tclsh
- * generic/tclIntPlatDecls.h: Implement TclWinGetSockOpt, TclWinGetServByName
- * generic/tclStubInit.c: and TclWinCPUID for Cygwin
- * generic/tclUnixCompat.c:
+ * generic/tclInt.decls: [Bug 3508771]: load tclreg.dll in
+ * generic/tclIntPlatDecls.h: cygwin tclsh. Implement
+ * generic/tclStubInit.c: TclWinGetSockOpt, TclWinGetServByName
+ * generic/tclUnixCompat.c: and TclWinCPUID for Cygwin.
* unix/configure.in:
* unix/configure:
* unix/tclUnixCompat.c:
+2012-04-18 Kevin B. Kenny <kennykb@acm.org>
+
+ * library/tzdata/Africa/Casablanca:
+ * library/tzdata/America/Port-au-Prince:
+ * library/tzdata/Asia/Damascus:
+ * library/tzdata/Asia/Gaza:
+ * library/tzdata/Asia/Hebron: tzdata2012c
+
2012-04-16 Donal K. Fellows <dkf@users.sf.net>
* doc/FileSystem.3 (Tcl_FSOpenFileChannelProc): [Bug 3518244]: Fixed
@@ -170,7 +442,7 @@
2012-04-11 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinInit.c: [Bug 3448512]: clock scan "1958-01-01" fails only
+ * win/tclWinInit.c: [Bug 3448512]: [clock scan 1958-01-01] fails
* win/tcl.m4: in debug compilation.
* win/configure:
* unix/tcl.m4: Use NDEBUG consistantly meaning: no debugging.
@@ -178,92 +450,131 @@
2012-04-04 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinSock.c: [Bug 510001]: TclSockMinimumBuffers needs plat imp
- * generic/tclIOSock.c:
+ * win/tclWinSock.c: [Bug 510001]: TclSockMinimumBuffers needs
+ * generic/tclIOSock.c: platform implementation.
* generic/tclInt.decls:
* generic/tclIntDecls.h:
- * generic/ttclStubInit.c:
+ * generic/tclStubInit.c:
2012-04-03 Jan Nijtmans <nijtmans@users.sf.net>
- * tools/genStubs.tcl: Let genStubs.tcl do the void -> VOID and
- const -> CONST translations, so we cannot forget it in the *.decls file
- * generic/tcl.decls: VOID -> void and CONST -> const, so depend
- * generic/tclInt.decls: on genStubs.tcl to generate the correct form
- form in the *Decls.h file. This brings tclInt.decls in the same form as
- Tcl 8.5/8.6, so a diff can show us the real signature differences.
- (Backported from Tcl 8.5, no change in any function signature)
- * generic/tclStubInit.c Remove the TclpGetTZName implementation for
- * generic/tclIntDecls.h: Cygwin (from previous commit) , re-generated
- * generic/tclIntPlatDecls.h:
- * generic/tclDecls.h
+ * generic/tclStubInit.c: Remove the TclpGetTZName implementation
+ * generic/tclIntDecls.h: for Cygwin (from previous commit) ,
+ * generic/tclIntPlatDecls.h: re-generated
+ * generic/tcl.decls: cleanup unnecessary "generic" argument
2012-03-30 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.decls: [Bug 3508771] load tclreg.dll in cygwin tclsh
- * generic/tclIntPlatDecls.h: Implement TclWinGetTclInstance, TclpGetTZName,
- * generic/tclStubInit.c: and various more win32-specific internal functions for
- Cygwin, so win32 extensions using those can be loaded in the cygwin version of tclsh.
+ * generic/tclInt.decls: [Bug 3508771]: load tclreg.dll in
+ * generic/tclIntPlatDecls.h: cygwin tclsh. Implement
+ * generic/tclStubInit.c: TclWinGetTclInstance, TclpGetTZName,
+ and various more win32-specific internal functions for Cygwin, so
+ win32 extensions using those can be loaded in the cygwin version of
+ tclsh.
-2012-03-29 Jan Nijtmans <nijtmans@users.sf.net>
+2012-03-30 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/tcl.m4: [Bug 3511806] Compiler checks too early
+ * unix/tcl.m4: [Bug 3511806]: Compiler checks too early
* unix/configure.in: This change allows to build the cygwin
- * unix/configure: and mingw32 ports of Tcl/Tk to build
+ * unix/tclUnixPort.h: and mingw32 ports of Tcl/Tk to build
* win/tcl.m4: out-of-the-box using a native or cross-
* win/configure.in: compiler.
- * win/configure:
+ * win/tclWinPort.h: (autoconf still to be run!)
2012-03-27 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tcl.h: [Bug 3508771] Wrong Tcl_StatBuf used on MinGW
- * generic/tclFCmd.c: [Bug 2015723] duplicate inodes from file stat on windows
+ * generic/tcl.h: [Bug 3508771]: Wrong Tcl_StatBuf used on MinGW
+ * generic/tclFCmd.c: [Bug 2015723]: duplicate inodes from file stat
+ on windows (but now for cygwin as well)
+
+2012-03-25 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclInt.decls: [Bug 3508771]: load tclreg.dll in
+ * generic/tclIntPlatDecls.h: cygwin tclsh. Implement
+ * generic/tclStubInit.c: TclWinConvertError,
+ * unix/Makefile.in: TclWinConvertWSAError, and various
+ * unix/tcl.m4: more win32-specific internal functions
+ * unix/configure: for Cygwin, so win32 extensions using
+ * win/tclWinError.c: those can be loaded in the cygwin
+ version of tclsh.
-2012-03-24 Jan Nijtmans <nijtmans@users.sf.net>
+2012-03-23 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.decls: [Bug 3508771] load tclreg.dll in cygwin tclsh
- * generic/tclIntPlatDecls.h: Implement TclWinConvertError, TclWinConvertWSAError,
- * generic/tclStubInit.c: and various more win32-specific internal functions for
- * unix/Makefile.in: Cygwin, so win32 extensions using those can be
- * unix/tcl.m4: loaded in the cygwin version of tclsh.
+ * generic/tclInt.decls: Revert some cygwin-related signature
+ * generic/tclIntPlatDecls.h: changes from [835f8e1e9d] (2010-02-01).
+ * win/tclWinError.c: They were an attempt to make the cygwin
+ port compile again, but since cygwin is based on unix this serves no
+ purpose any more.
+
+ * unix/Makefile.in: Add tclWinError.c to the CYGWIN build.
+ * unix/tcl.m4:
* unix/configure:
- * win/tclWinError.c:
2012-03-20 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tcl.h: [Bug 3288345] Wrong Tcl_StatBuf used on Cygwin
+ * generic/tcl.decls: [Bug 3508771]: load tclreg.dll in
+ * generic/tclInt.decls: cygwin tclsh. Implement
+ * generic/tclIntPlatDecls.h: TclWinGetPlatformId,Tcl_WinUtfToTChar,
+ * generic/tclPlatDecls.h: Tcl_WinTCharToUtf (and a dummy
+ * generic/tclStubInit.c: TclWinCPUID) for Cygwin, so win32
+ * unix/tclUnixCompat.c: extensions using those can be loaded
+ in the cygwin version of tclsh.
+
+2012-03-19 Venkat Iyer <venkat@comit.com>
+
+ * library/tzdata/America/Atikokan: Update to tzdata2012b.
+ * library/tzdata/America/Blanc-Sablon
+ * library/tzdata/America/Dawson_Creek
+ * library/tzdata/America/Edmonton
+ * library/tzdata/America/Glace_Bay
+ * library/tzdata/America/Goose_Bay
+ * library/tzdata/America/Halifax
+ * library/tzdata/America/Havana
+ * library/tzdata/America/Moncton
+ * library/tzdata/America/Montreal
+ * library/tzdata/America/Nipigon
+ * library/tzdata/America/Rainy_River
+ * library/tzdata/America/Regina
+ * library/tzdata/America/Santiago
+ * library/tzdata/America/St_Johns
+ * library/tzdata/America/Swift_Current
+ * library/tzdata/America/Toronto
+ * library/tzdata/America/Vancouver
+ * library/tzdata/America/Winnipeg
+ * library/tzdata/Antarctica/Casey
+ * library/tzdata/Antarctica/Davis
+ * library/tzdata/Antarctica/Palmer
+ * library/tzdata/Asia/Yerevan
+ * library/tzdata/Atlantic/Stanley
+ * library/tzdata/Pacific/Easter
+ * library/tzdata/Pacific/Fakaofo
+ * library/tzdata/America/Creston: (new)
+
+2012-03-15 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tcl.h: [Bug 3288345]: Wrong Tcl_StatBuf used on Cygwin
* unix/tclUnixFile.c
* unix/tclUnixPort.h
- * win/tclWinFile.c Remove cygwin stuff no longer needed
+ * win/cat.c: Remove cygwin stuff no longer needed
+ * win/tclWinFile.c
* win/tclWinPort.h
- * generic/tcl.decls: [Bug 3508771] load tclreg.dll in cygwin tclsh
- * generic/tclInt.decls: Implement TclWinGetPlatformId, Tcl_WinUtfToTChar,
- * generic/tclIntPlatDecls.h: Tcl_WinTCharToUtf (and a dummy TclWinCPUID) for
- * generic/tclPlatDecls.h: Cygwin, so win32 extensions using those can be
- * generic/tclStubInit.c: loaded in the cygwin version of tclsh.
- * unix/tclUnixCompat.c:
-
2012-03-12 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinFile.c: [Bug 3388350] mingw64 compiler warnings
+ * win/tclWinFile.c: [Bug 3388350]: mingw64 compiler warnings
2012-03-07 Andreas Kupries <andreask@activestate.com>
* library/http/http.tcl: [Bug 3498327]: Generate upper-case
* library/http/pkgIndex.tcl: hexadecimal output for compliance
- * tests/http.test: with RFC 3986. Bumped version to 2.5.7.
+ * tests/http.test: with RFC 3986. Bumped version to 2.7.9.
+ * unix/Makefile.in:
+ * win/Makefile.in:
2012-03-06 Jan Nijtmans <nijtmans@users.sf.net>
* win/tclWinPort.h: Compatibility with older Visual Studio versions.
-2012-03-04 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * unix/tclUnixChan.c: TclUnixWaitForFile(): use FD_* macros
- * macosx/tclMacOSXNotify.c: to manipulate select masks (Cassoff).
- [Bug 3486554]. Backport of das' checkin [e496f9ef50]. Allows
- Tcl8.4 to have sane fileevents on x86_64 at last.
-
2012-03-04 Jan Nijtmans <nijtmans@users.sf.net>
* generic/tclLoad.c: Patch from the cygwin folks
@@ -272,24 +583,46 @@
2012-02-29 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclIOUtil.c: [Bug 3466099] BOM in Unicode
+ * generic/tclIOUtil.c: [Bug 3466099]: BOM in Unicode
* generic/tclEncoding.c:
* tests/source.test
+2012-02-23 Donal K. Fellows <dkf@users.sf.net>
+
+ * tests/reg.test (14.21-23): Add tests relating to bug 1115587. Actual
+ bug is characterised by test marked with 'knownBug'.
+
+2012-02-17 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tclIOUtil.c: [Bug 2233954]: AIX: compile error
+ * unix/tclUnixPort.h:
+
+2012-02-15 Donal K. Fellows <dkf@users.sf.net>
+
+ * generic/tclCompCmds.c (TclCompileDictForCmd): [Bug 3487626]: Fix
+ crash in compilation of [dict for] when its implementation command is
+ used directly rather than through the ensemble.
+
2012-02-09 Don Porter <dgp@users.sourceforge.net>
- * generic/tclStringObj.c: [Bug 3484402] Correct Off-By-One
+ * generic/tclStringObj.c: [Bug 3484402]: Correct Off-By-One
error appending unicode. Thanks to Poor Yorick. Also corrected test
for when growth is needed.
2012-02-06 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdMZ.c: [Bug 3484621] Invalidate bytecode when exec
- * tests/trace.test: traces are added/removed from compiled cmd.
+ * generic/tclCompCmds.c: [Bug 3485022]: TclCompileEnsemble() avoid
+ * tests/trace.test: compile when exec traces set.
+
+2012-02-06 Miguel Sofer <msofer@users.sf.net>
+
+ * generic/tclTrace.c: Fix for [Bug 3484621]: insure that
+ * tests/trace.test: execution traces on bytecoded commands bump
+ the interp's compile epoch.
2012-02-02 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclUniData.c: [Frq 3464401] Support Unicode 6.1
+ * generic/tclUniData.c: [FRQ 3464401]: Support Unicode 6.1
* generic/regc_locale.c:
2012-02-02 Don Porter <dgp@users.sourceforge.net>
@@ -299,8 +632,17 @@
queries file permissions on Windows native filesystems. Meant to
fix numerous bugs where [file writable|readable|executable] "lies"
about what operations are possible, especially when the file resides
- on a Samba share. Patch cherrypicked off the fix-win-native-access
- branch.
+ on a Samba share. Patch merged from the fix-win-native-access branch.
+
+2012-02-01 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/AddErrInfo.3: [Bug 3482614]: Documentation nit.
+
+2012-01-26 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclPathObj.c: [Bug 3475569]: Add checks for unshared values
+ before calls demanding them. [Bug 3479689]: Stop memory corruption
+ when shimmering 0-refCount value to "path" type.
2012-01-22 Jan Nijtmans <nijtmans@users.sf.net>
@@ -310,24 +652,38 @@
* generic/tclUtf.c: Done in all branches in order to simplify
* generic/regc_locale.c: merges for new Unicode versions (such as 6.1)
-2012-01-19 Jan Nijtmans <nijtmans@users.sf.net>
+2012-01-22 Donal K. Fellows <dkf@users.sf.net>
- * generic/tcl.h: [Bug-3474726]: Eliminate detection of struct
+ * generic/tclDictObj.c (DictExistsCmd): [Bug 3475264]: Ensure that
+ errors only ever happen when insufficient arguments are supplied, and
+ not when a path doesn't exist or a dictionary is poorly formatted (the
+ two cases can't be easily distinguished).
+
+2012-01-21 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tcl.h: [Bug 3474726]: Eliminate detection of struct
* generic/tclWinPort.h: _stat32i64, just use _stati64 in combination
* generic/tclFCmd.c: with _USE_32BIT_TIME_T, which is the same then.
* generic/tclTest.c: Only keep _stat32i64 usage for cygwin, so it
* win/configure.in: will not conflict with cygwin's own struct stat.
* win/configure:
-2012-01-19 Don Porter <dgp@users.sourceforge.net>
+2012-01-21 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdMZ.c: [Bug 3475667] Prevent buffer read overflow.
+ * generic/tclCmdMZ.c: [Bug 3475667]: Prevent buffer read overflow.
Thanks to "sebres" for the report and fix.
+2012-01-17 Donal K. Fellows <dkf@users.sf.net>
+
+ * doc/dict.n (dict with): [Bug 3474512]: Explain better what is going
+ on when a dictionary key and the dictionary variable collide.
+
2012-01-17 Don Porter <dgp@users.sourceforge.net>
- * library/http/http.tcl: Bump to 2.5.6.
+ * library/http/http.tcl: Bump to version 2.7.8
* library/http/pkgIndex.tcl:
+ * unix/Makefile.in:
+ * win/Makefile.in:
2012-01-13 Donal K. Fellows <dkf@users.sf.net>
@@ -336,25 +692,47 @@
2012-01-09 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclUtf.c: [Bug 3464428] string is graph \u0120 is wrong
- * generic/regcomp.c: Remove some unused code
+ * generic/tclUtf.c: [Bug 3464428]: string is graph \u0120 is wrong
* generic/regc_locale.c: Add table for Unicode [:cntrl:] class
* tools/uniClass.tcl: Generate Unicode [:cntrl:] class table
* tests/utf.test:
- * doc/re_syntax: Fix [:print:] class description
+
+2012-01-08 Kevin B. Kenny <kennykb@acm.org>
+
+ * library/clock.tcl (ReadZoneinfoFile): Corrected a bug where loading
+ * tests/clock.test (clock-56.4): zoneinfo would fail if one
+ timezone abbreviation was a proper tail of another, and zic used the
+ same bytes of the file to represent both of them. Added a test case
+ for the bug, using the same data that caused the observed failure
+ "in the wild." [Bug 3470928]
+
+2011-12-30 Venkat Iyer <venkat@comit.com>
+
+ * library/tzdata/America/Bahia : Update to Olson's tzdata2011n
+ * library/tzdata/America/Havana
+ * library/tzdata/Europe/Kiev
+ * library/tzdata/Europe/Simferopol
+ * library/tzdata/Europe/Uzhgorod
+ * library/tzdata/Europe/Zaporozhye
+ * library/tzdata/Pacific/Fiji
2011-12-23 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclUtf.c: [Bug 3464428] string is graph \u0120 is wrong
+ * generic/tclUtf.c: [Bug 3464428]: string is graph \u0120 is wrong
* generic/tclUniData.c:
* generic/regc_locale.c:
* tests/utf.test:
* tools/uniParse.tcl: clean up some unused stuff, and be more robust
against changes in UnicodeData.txt syntax
+2011-12-11 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/regc_locale.c: [Bug 3457031]: Some Unicode 6.0 chars not
+ * tests/utf.test: in [:print:] class
+
2011-12-07 Jan Nijtmans <nijtmans@users.sf.net>
- * tools/uniParse.tcl: [Bug 3444754] string tolower \u01c5 is wrong
+ * tools/uniParse.tcl: [Bug 3444754]: string tolower \u01c5 is wrong
* generic/tclUniData.c:
* tests/utf.test:
@@ -362,135 +740,253 @@
* library/tcltest/tcltest.tcl: [Bug 967195]: Make tcltest work
when tclsh is compiled without using the setargv() function on mingw.
- (no need to incr the version, since 2.2.10 is never released)
2011-11-29 Jan Nijtmans <nijtmans@users.sf.net>
* doc/tclsh.1: Use the same shebang comment everywhere.
* tools/str2c
* tools/tcltk-man2html.tcl
+ * win/Makefile.in: don't install tommath_(super)?class.h
+ * unix/Makefile.in: don't install directories like 8.2 and 8.3
2011-11-22 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclCmdAH.c: [Bug 3354324] Windows: file mtime
- * generic/tclIOUtil.c: sets wrong time
+ * win/tclWinPort.h: [Bug 3354324]: Windows: file mtime
+ * win/tclWinFile.c: sets wrong time (VS2005+ only)
+ * generic/tclTest.c:
+
+2011-11-04 Don Porter <dgp@users.sourceforge.net>
+
+ *** 8.5.11 TAGGED FOR RELEASE ***
+
+ * generic/tcl.h: Bump to 8.5.11 for release.
+ * 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.11 release.
+
+2011-10-20 Don Porter <dgp@users.sourceforge.net>
+
+ * library/http/http.tcl: Bump to version 2.7.7
+ * library/http/pkgIndex.tcl:
+ * unix/Makefile.in:
+ * win/Makefile.in:
+
+ * changes: Updates for 8.5.11 release.
+
+2011-10-18 Reinhard Max <max@suse.de>
+
+ * library/clock.tcl (::tcl::clock::GetSystemTimeZone): Cache the
+ time zone only if it was detected by one of the expensive
+ methods. Otherwise after unsetting TCL_TZ or TZ the previous value
+ will still be used.
+
+2011-10-15 Venkat Iyer <venkat@comit.com>
+ * library/tzdata/America/Sitka : Update to Olson's tzdata2011l
+ * library/tzdata/Pacific/Fiji
+ * library/tzdata/Asia/Hebron (New)
2011-10-11 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinFile.c: [Bug 2935503] Incorrect mode field
+ * win/tclWinFile.c: [Bug 2935503]: Incorrect mode field
returned by file stat command
2011-10-07 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinChan.c: Fix various gcc warnings
- * win/tclWinConsole.c: (discovered with latest
- * win/tclWinNotify.c: mingw, based on gcc 4.6.1)
- * win/tclWinReg.c:
- * tests/env.test: Fix env.test, when running
- under wine 1.3 (partly backported from Tcl 8.6)
+ * generic/tclIORChan.c: Fix gcc warning (discovered with latest
+ mingw, based on gcc 4.6.1)
+ * tests/env.test: Fix env.test running under wine 1.3 (partly
+ backported from Tcl 8.6)
+
+2011-10-03 Venkat Iyer <venkat@comit.com>
+
+ * library/tzdata/Africa/Dar_es_Salaam: Update to Olson's tzdata2011k
+ * library/tzdata/Africa/Kampala
+ * library/tzdata/Africa/Nairobi
+ * library/tzdata/Asia/Gaza
+ * library/tzdata/Europe/Kaliningrad
+ * library/tzdata/Europe/Kiev
+ * library/tzdata/Europe/Minsk
+ * library/tzdata/Europe/Simferopol
+ * library/tzdata/Europe/Uzhgorod
+ * library/tzdata/Europe/Zaporozhye
+ * library/tzdata/Pacific/Apia
-2011-09-26 Jan Nijtmans <nijtmans@users.sf.net>
+2011-09-16 Donal K. Fellows <dkf@users.sf.net>
- * win/rules.vc: Support Visual Studio 11
+ * generic/tclProc.c (ProcWrongNumArgs): [Bugs 3400658,3408830]:
+ Corrected the handling of procedure error messages (found by TclOO).
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>
+
+ * 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-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-06 Jan Nijtmans <nijtmans@users.sf.net>
+2011-09-07 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.decls: Tcl_HashStats does not return a CONST
- * generic/tclDecls.h: (Backported from Tcl 8.5)
- * generic/tclHash.c:
- * generic/tclVar.c:
- * unix/tcl.m4: Add --disable-rpath option to configure
- * unix/configure: script (backported from Tcl 8.5)
+ * 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-08-30 Jan Nijtmans <nijtmans@users.sf.net>
+2011-09-06 Venkat Iyer <venkat@comit.com>
- * unix/tcl.m4: Make SHLIB_LD_LIBS='${LIBS}' the default and
- * unix/configure: set to "" on per-platform necessary basis.
- Add Haiku support and better NetBSD/FreeBSD support.
- All of this backported from TEA resp. Tcl8.5, but kept all
- original platform code which was removed from TEA.
+ * library/tzdata/America/Goose_Bay: Update to Olson's tzdata2011i
+ * library/tzdata/America/Metlakatla:
+ * library/tzdata/America/Resolute:
+ * library/tzdata/America/St_Johns:
+ * library/tzdata/Europe/Kaliningrad:
+ * library/tzdata/Pacific/Apia:
+ * library/tzdata/Pacific/Honolulu:
+ * library/tzdata/Africa/Juba: (new)
+
+2011-09-01 Don Porter <dgp@users.sourceforge.net>
+
+ * 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.
+
+2011-08-30 Donal K. Fellows <dkf@users.sf.net>
-2011-08-22 Andreas Kupries <andreask@activestate.com>
+ * generic/tclInterp.c (SlaveCommandLimitCmd, SlaveTimeLimitCmd):
+ [Bug 3398794]: Ensure that low-level conditions in the limit API are
+ enforced at the script level through errors, not a Tcl_Panic. This
+ means that interpreters cannot read their own limits (writing already
+ did not work).
- * win/tclWinDde.c (Tcl_DdeObjCmd): Fixed use of the C99 feature
- (Variable declaration within statement block) rejected by
- MSVC6. Moved the declaration to the beginning of the block.
+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 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclUniData.c: [Bug 3393714] overflow in toupper delta
+ * generic/tclUniData.c: [Bug 3393714]: Overflow in toupper delta
* tools/uniParse.tcl
* tests/utf.test
+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>
- * generic/tclCmdAH.c: [Bug 3388350] mingw64 compiler warnings
+ * 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/tclWin32Dll.c
* win/tclWinChan.c
+ * win/tclWinConsole.c
* win/tclWinDde.c
- * win/tclWinFCmd.c
+ * win/tclWinFile.c
+ * win/tclWinReg.c
+ * win/tclWinSerial.c
+ * win/tclWinSock.c
+ * win/tclWinThrd.c
2011-08-15 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c: [Bug 3390272] Leak of [info script] value.
+ * generic/tclBasic.c: [Bug 3390272]: Leak of [info script] value.
2011-08-15 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tcl.m4: [Bug 3388350] mingw64 compiler warnings
+ * win/tclWinPort.h: [Bug 3388350]: mingw64 compiler warnings
+ * win/tclWinPipe.c
+ * win/tclWinSock.c
* win/configure.in
* win/configure
- * win/tclMtherr.c
- * win/tclWinPort.h
- * win/tclWinChan.c
+ * generic/tclPosixStr.c
+ * generic/tclStrToD.c
+
+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-09 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * win/tclWinConsole.c: [Bug 3388350]: mingw64 compiler warnings
* win/tclWinDde.c
- * win/tclWinFCmd.c
* win/tclWinPipe.c
- * win/tclWinReg.c
* win/tclWinSerial.c
- * win/tclWinSock.c
- * win/tclWinTest.c
- * win/tclWinTime.c
- * generic/tclPosixStr.c
- * unix/tcl.m4: Quoting and AC_DEFINE fixes (All backported from
- * unix/configure Tcl 8.5
+
+2011-08-05 Kevin B. Kenny <kennykb@acm.org>
+
+ * generic/tclStrToD.c: [Bug 3386975]: Plugged a memory leak in
+ double->string conversion.
+
+2011-07-28 Don Porter <dgp@users.sourceforge.net>
+
+ * library/tzdata/Asia/Anadyr: Update to Olson's tzdata2011h
+ * library/tzdata/Asia/Irkutsk:
+ * library/tzdata/Asia/Kamchatka:
+ * library/tzdata/Asia/Krasnoyarsk:
+ * library/tzdata/Asia/Magadan:
+ * library/tzdata/Asia/Novokuznetsk:
+ * library/tzdata/Asia/Novosibirsk:
+ * library/tzdata/Asia/Omsk:
+ * library/tzdata/Asia/Sakhalin:
+ * library/tzdata/Asia/Vladivostok:
+ * library/tzdata/Asia/Yakutsk:
+ * library/tzdata/Asia/Yekaterinburg:
+ * library/tzdata/Europe/Kaliningrad:
+ * library/tzdata/Europe/Moscow:
+ * library/tzdata/Europe/Samara:
+ * library/tzdata/Europe/Volgograd:
+ * library/tzdata/America/Kralendijk: (new)
+ * library/tzdata/America/Lower_Princes: (new)
2011-07-21 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinPort.h: [Bug 3372130] Fix hypot math function with MSVC10
+ * win/tclWinPort.h: [Bug 3372130]: Fix hypot math function with MSVC10
+
+2011-07-19 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclUtil.c: [Bug 3371644]: Repair failure to properly handle
+ * tests/util.test: (length == -1) scanning in TclConvertElement().
2011-07-15 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompile.c: Avoid segfaults when RecordByteCodeStats()
is called in a deleted interp.
-2011-07-13 Don Porter <dgp@users.sourceforge.net>
+2011-07-08 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclProc.c: [Bug 3366265] Buffer for storing the command
- * tests/indexObj.test: name formatted as a list element is allocated
- * tests/proc.test: one byte too small, causing buffer overflow
- when the proc with the empty name raises a "wrong num args" error.
+ * doc/http.n: [FRQ 3358415]: State what RFC defines HTTP/1.1.
2011-07-03 Donal K. Fellows <dkf@users.sf.net>
@@ -498,11505 +994,9539 @@
stat'; that was always the time of the last metadata change, not the
time of creation.
-2011-06-22 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/pkgIndex.tcl: Updated to platform 1.0.10. Added
- * library/platform/platform.tcl: handling of the DEB_HOST_MULTIARCH
- location change for libc.
-
-2011-05-07 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInt.h: fix USE_TCLALLOC so that it can be enabled
- * unix/Makefile.in: without editing the Makefile
-
-2011-04-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCompile.c: Make sure SetFooFromAny routines react
- * generic/tclIndexObj.c: reasonably when passed a NULL interp.
- * generic/tclNamesp.c:
- * generic/tclObj.c:
-
-2011-04-21 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: fix for [Bug 3288345]: Wrong Tcl_StatBuf
- * generic/tclInt.h: used on MinGW. Make sure that all _WIN32
- * generic/tclIOUtil.c: compilers use exactly the same layout
- * win/tclWinFile.c: for Tcl_StatBuf - the one used by MSVC6 -
- * win/configure.in: in all situations.
- * win/configure:
-
-2011-04-20 Andreas Kupries <andreask@activestate.com>
-
- * tests/info.test: Fixed the shift in line numbers used for
- testing 'info frame' introduced by checkin [79367df0f0]
- (Mar 2, 2011).
-
-2011-04-13 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclVar.c: fix for [Bug 2662380], crash caused by
- appending to a variable with a write trace that unsets it.
-
-2011-04-04 Don Porter <dgp@users.sourceforge.net>
-
- * 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-03-25 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.
- Merged --cherrypick from Tcl8.5 (2010-12-31,e75735ef76)
-
-2011-03-24 Donal K. Fellows <dkf@users.sf.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.
-
-2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
-
- * 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.
- Backported from Tcl 8.5
- * generic/tclCkalloc.c: [Bug #3197864] pointer truncation on Win64
- TCL_MEM_DEBUG builds
-
-2010-03-11 Jan Nijtmans <nijtmans@users.sf.net>
+2011-07-02 Kevin B. Kenny <kennykb@acm.org>
- * 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.
- Merged --cherrypick from Tcl8.5 (2010-09-08,48191d3979)
-
-2011-03-11 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tcl.m4: handle --enable-64bit=ia64 for gcc.
- * win/configure: (autoconf-2.13)
- * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1
- Merged --cherrypick from Tcl8.5 (2011-01-17, 6e410a115b)
-
-2011-03-08 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclBasic.c: Fix gcc warnings: variable set but not used
-
-2011-03-06 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() calls
- * generic/tclCmdMZ.c: with TclParseBackslash() where possible.
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclUtil.c (TclFindElement): Guard escape sequence scans
- to not overrun the string end. [Bug 3192636]
-
-2011-03-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclParse.c (TclParseBackslash): Correct trunction checks in
- * tests/parse.test: \x and \u substitutions. [Bug 3200987]
-
-2011-01-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCkalloc.c: [Bug 3129448]: Possible over-allocation on 64-bit
- * generic/tclHash.c: platforms, part 2, backported strcpy->memcpy
- * generic/tclProc.c change but not change in any struct.
-
-2011-01-14 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tclWinDde.c: Fix gcc-4.5.2 error: lvalue required as ...
- * win/tclWinReg.c: (backported from 8.5/8.6)
-
-2010-12-05 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tclCmdMZ.c: [Bug 3127687] Triggers FORTIFY_SOURCE
- buffer overflow detection
-
-2010-11-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- Backported from 8.6 (see 2010-08-04).
- * 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.
-
-2010-10-31 Jan Nijtmans <nijtmans@users.sf.net>
-
- * win/tcl.m4 Add -D_CRT_SECURE_NO_DEPRECATE and
- -D_CRT_NONSTDC_NO_DEPRECATE, reducing the number of
- deprecation warnings on later VC++ versions.
- * win/rules.vc Better VCVERSION determination
- * win/configure (regenerated with autoconf 2.13)
- All changes backported from Tcl8.5/8.6
-
-2010-10-23 Jan Nijtmans <nijtmans@users.sf.net>
-
- * 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/signatures referencing regc_locale
- * win/rules.vc Update for VS10
-
-2010-09-24 Andreas Kupries <andreask@activestate.com>
-
- * 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.
-
-2010-09-01 Andreas Kupries <andreask@activestate.com>
-
- * 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.
-
-2010-07-25 Jan Nijtmans <nijtmans@users.sf.net>
-
- * 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-07-18 Jan Nijtmans <nijtmans@users.sf.net>
-
- * generic/tcl.h: [Bug 3031278] fixed merge problem in previous
- commit.
-
-2010-07-17 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclStrToD.c:
+ * generic/tclTomMath.decls:
+ * generic/tclTomMathDecls.h:
+ * macosx/Tcl.xcode/project.pbxproj:
+ * macosx/Tcl.xcodeproj/project.pbxproj:
+ * tests/util.test:
+ * 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]
- * generic/tcl.h: [Bug 3030870] make itcl 3.x built with pre-8.6
- * generic/tclInt.h: work in 8.6
+2011-06-30 Reinhard Max <max@suse.de>
-2010-07-16 Jan Nijtmans <nijtmans@users.sf.net>
+ * 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.
- * generic/tcl.h: (Backport) take over definitions of _WIN32,
- DLLIMPORT, DLLEXPORT and TCL_LL_MODIFIER macros from Tcl8.5/8.6
+2011-06-23 Don Porter <dgp@users.sourceforge.net>
-2010-06-28 Jan Nijtmans <nijtmans@users.sf.net>
+ *** 8.5.10 TAGGED FOR RELEASE ***
- * generic/tclPosixStr.c: [Bug 3019634] errno.h and tclWinPort.h
- have conflicting definitions.
+ * changes: Update for 8.5.10 release.
-2010-06-09 Andreas Kupries <andreask@activestate.com>
-
- * library/platform/platform.tcl: Added OSX Intel 64bit
- * library/platform/pkgIndex.tcl: Package updated to version 1.0.9.
+2011-06-22 Andreas Kupries <andreask@activestate.com>
-2010-05-07 Andreas Kupries <andreask@activestate.com>
+ * library/platform/pkgIndex.tcl: Updated to platform 1.0.10. Added
+ * library/platform/platform.tcl: handling of the DEB_HOST_MULTIARCH
+ * unix/Makefile.in: location change for libc.
+ * win/Makefile.in:
- * library/platform/platform.tcl: Fix cpu name for Solaris/Intel 64bit.
- * library/platform/pkgIndex.tcl: Package updated to version 1.0.8.
+ * generic/tclInt.h: Fixed the inadvertently committed disabling of
+ stack checks, see my 2010-11-15 commit.
-2010-04-29 Andreas Kupries <andreask@activestate.com>
+2011-06-21 Don Porter <dgp@users.sourceforge.net>
- * library/platform/platform.tcl: Another stab at getting the /lib,
- * library/platform/pkgIndex.tcl: /lib64 difference right for
- linux. Package updated to version 1.0.7.
+ * changes: Update for 8.5.10 release.
-2010-04-18 Donal K. Fellows <dkf@users.sf.net>
+ * 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:
- * doc/unset.n: [Bug 2988940]: Fix typo.
+ * tests/init.test: Update test files to use new command.
+ * tests/pkg.test:
-2010-04-14 Andreas Kupries <andreask@activestate.com>
+ * generic/tclLink.c: Prevent multiple links to a single Tcl
+ variable when calling Tcl_LinkVar(). [Bug 3317466]
- * library/platform/platform.tcl: Linux platform identification:
- * library/platform/pkgIndex.tcl: Check /lib64 for existence of
- files matching libc* before accepting it as 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.
+2011-06-13 Don Porter <dgp@users.sourceforge.net>
-2010-04-06 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * generic/tclStrToD.c: [Bug 3315098]: Mem leak fix from Gustaf
+ Neumann.
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): fixed object leak.
+2011-06-02 Don Porter <dgp@users.sourceforge.net>
-2010-04-02 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * generic/tclBasic.c: Removed TclCleanupLiteralTable(), and old
+ * generic/tclInt.h: band-aid routine put in place while a fix
+ * generic/tclLiteral.c: for [Bug 994838] took shape. No longer needed.
- * generic/tclStringObj.c: (SetStringFromAny): avoid trampling
- over the tclEmptyStringRep->bytes as it is thread-shared
- (thx to Gustaf Neumann for the (hard) work of locating this one).
+2011-06-02 Donal K. Fellows <dkf@users.sf.net>
-2010-03-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+ * generic/tclInt.h (TclInvalidateNsCmdLookup): [Bug 3185407]: Extend
+ the set of epochs that are potentially bumped when a command is
+ created, for a slight performance drop (in some circumstances) and
+ improved semantics.
- * 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.
+2011-06-01 Jan Nijtmans <nijtmans@users.sf.net>
-2010-02-22 Jan Nijtmans <nijtmans@users.sf.net>
+ * generic/tclUtil.c: Fix for [Bug 3309871]: Valgrind finds:
+ invalid read in TclMaxListLength()
- * generic/tclExecute.c: Fix [Bug 2954959] expr abs(-0.0) is -0.0
- * tests/expr.test Added some test cases, backported from 8.5
+2011-05-25 Don Porter <dgp@users.sourceforge.net>
-2010-02-11 Andreas Kupries <andreask@activestate.com>
+ * library/msgcat/msgcat.tcl: Backport improvements to msgcat
+ * library/msgcat/pkgIndex.tcl: package. Bump to 1.4.4
+ * unix/Makefile.in
+ * win/Makefile.in
- * generic/tclCompile.c: [Bug 2949302]: Fixed leak of support
- structures for [info frame] which occured when bytecode
- compilation fails.
+2011-05-24 Venkat Iyer <venkat@comit.com>
-2010-02-01 Donal K. Fellows <dkf@users.sf.net>
+ * library/tzdata/Africa/Cairo: Update to Olson tzdata2011g
- * 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.
+2011-05-17 Andreas Kupries <andreask@activestate.com>
-2009-11-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+ * generic/tclCompile.c (TclFixupForwardJump): Tracked down and fixed
+ * generic/tclBasic.c (TclArgumentBCEnter): the cause of a violation
+ of my assertion that 'ePtr->nline == objc' in TclArgumentBCEnter.
+ When a bytecode was grown during jump fixup the pc -> command line
+ mapping was not updated. When things aligned just wrong the mapping
+ would direct command A to the data for command B, with a different
+ number of arguments.
- * generic/tclEncoding.c: (Backport) Fix [Bug 2891556] and improve
- * tests/econding.test: test to detect similar manifestations in the
- future.
+2011-05-10 Don Porter <dgp@users.sourceforge.net>
-2009-11-12 Andreas Kupries <andreask@activestate.com>
+ * generic/tclInt.h: New internal routines TclScanElement() and
+ * generic/tclUtil.c: TclConvertElement() are rewritten guts of
+ machinery to produce string rep of lists. The new routines avoid
+ and correct [Bug 3173086]. See comments for much more detail.
- * generic/tclIO.c (CopyData): [Bug 2895565]. Dropped bogosity
- * tests/io.test: which 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 backward port from the 8.5 branch.
+ * generic/tclDictObj.c: Update all callers.
+ * generic/tclIndexObj.c:
+ * generic/tclListObj.c:
+ * generic/tclUtil.c:
+ * tests/list.test:
-2009-11-10 Pat Thoyts <patthoyts@users.sourceforge.net>
+2011-05-09 Don Porter <dgp@users.sourceforge.net>
- * tests/fCmd.test: Fixed a number of issues for Vista
- * tests/registry.test: and Win7 that are due to restricted
- * tests/tcltest.test: permissions under UAC.
- * tests/winFCmd.test:
+ * generic/tclListObj.c: Revise empty string tests so that we avoid
+ potentially expensive string rep generations, especially for dicts.
-2009-11-10 Stuart Cassoff <stwo@users.sf.net>
+2011-05-07 Miguel Sofer <msofer@users.sf.net>
- * win/README: [bug 2459744]: Removed outdated Msys + Mingw info.
+ * generic/tclInt.h: fix USE_TCLALLOC so that it can be enabled
+ * unix/Makefile.in: without editing the Makefile
-2009-11-10 Andreas Kupries <andreask@activestate.com>
+2011-05-05 Don Porter <dgp@users.sourceforge.net>
- * generic/tclObj.c: Plug memory leak in TclContinuationsEnter().
- [Bug 2895323]. Backport from Tcl 8.5 branch, change by Don Porter.
+ * generic/tclListObj.c: Stop generating string rep of dict when
+ converting to list. Tolerate NULL interps more completely.
-2009-11-09 Andreas Kupries <andreask@activestate.com>
+2011-05-03 Don Porter <dgp@users.sourceforge.net>
- * 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. Backport from valgrinding the Tcl 8.5
- branch.
+ * generic/tclUtil.c: Tighten Tcl_SplitList().
+ * generic/tclListObj.c: Tighten SetListFromAny().
+ * generic/tclDictObj.c: Tighten SetDictFromAny().
- * tests/info.test: Resolve ambiguous resolution of variable
- "res". Backport from 8.5
+2011-05-02 Don Porter <dgp@users.sourceforge.net>
-2009-10-23 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCmdMZ.c: Revised TclFindElement() interface. The
+ * generic/tclDictObj.c: final argument had been bracePtr, the address
+ * 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
+ 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
+ is changed to do what callers actually need. This is a better fit
+ for the calls in tclParse.c, where now a good deal of post-processing
+ checking for "naked backslashes" is no longer necessary.
+ ***POTENTIAL INCOMPATIBILITY***
+ For any callers calling in via the internal stubs table who really
+ do use the final argument explicitly to check for the enclosing brace
+ scenario. Simply looking for the braces where they must be is the
+ revision available to those callers, and it will backport cleanly.
- * generic/tclCompCmds.c: [Bug 2881263] (TclCompileForeachCmd,
- TclCompileLindexCmd): Fixed. Moved the use of
- DefineLineInformation after all regular variable declarations, so
- that an empty statement (-UTIP_280) doesn't confuse c89 compilers.
+ * tests/parse.test: Tests for expanded literals quoting detection.
- * library/platform/pkgIndex.tcl: Backported the platform packages
- * library/platform/platform.tcl: from head and8.5 into the 8.4
- * library/platform/shell.tcl: branch. Updated makefiles to install
- * unix/Makfile.in: the packages.
- * win/Makefile.in:
+ * generic/tclCompCmds.c: New TclFindElement() is also a better
+ fit for the [switch] compiler.
- * 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/tclInt.h: Replace TclCountSpaceRuns() with
+ * generic/tclListObj.c: TclMaxListLength() which is the function we
+ * generic/tclUtil.c: actually want.
+ * generic/tclCompCmds.c:
-2009-10-21 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclCompCmds.c: Rewrite of parts of the switch compiler to
+ better use the powers of TclFindElement() and do less parsing on
+ its own.
- * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS
- where SIGSEGV and SIGBUS are the same value.
+2011-04-28 Don Porter <dgp@users.sourceforge.net>
-2009-10-18 Joe Mistachkin <joe@mistachkin.com>
+ * generic/tclInt.h: New utility routines:
+ * generic/tclParse.c: TclIsSpaceProc() and
+ * generic/tclUtil.c: TclCountSpaceRuns()
- * 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.
+ * generic/tclCmdMZ.c: Use new routines to replace calls to
+ * generic/tclListObj.c: isspace() and their /* INTL */ risk.
+ * generic/tclStrToD.c:
+ * generic/tclUtf.c:
+ * unix/tclUnixFile.c:
-2009-10-04 Daniel Steffen <das@users.sourceforge.net>
+2011-04-27 Don Porter <dgp@users.sourceforge.net>
- * macosx/tclMacOSXBundle.c: Workaround CF memory managment bug in
- * unix/tclUnixInit.c: Mac OS X 10.4 & earlier. [Bug 2569449]
+ * generic/tclListObj.c: FreeListInternalRep() cleanup.
-2009-09-28 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBinary.c: Backport fix for [Bug 2857044].
+ * generic/tclDictObj.c: All freeIntRepProcs set typePtr to NULL.
+ * generic/tclEncoding.c:
+ * generic/tclIndexObj.c:
+ * generic/tclListObj.c:
+ * generic/tclNamesp.c:
+ * generic/tclObj.c:
+ * generic/tclPathObj.c:
+ * generic/tclProc.c:
+ * generic/tclRegexp.c:
+ * generic/tclStringObj.c:
+ * generic/tclVar.c:
- * generic/tclAlloc.c: Cleaned up various routines in the
- * generic/tclCkalloc.c: call stacks for memory allocation to
- * generic/tclParse.c: guarantee that any size values computed
- * generic/tclThreadAlloc.c: are within the domains of the routines
- they get passed to. [Bugs 2557696 and 2557796].
+2011-04-21 Don Porter <dgp@users.sourceforge.net>
-2009-09-18 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclInt.h: Use macro to set List intreps.
+ * generic/tclListObj.c:
- * generic/tclCmdMZ.c (Tcl_SubstObj): Pass 'length' values to
- recursive parsing calls to convert O(N^2) operations of [subst]
- to O(N).
+ * generic/tclCmdIL.c: Limits on list length were too strict.
+ * generic/tclInt.h: Revised panics to errors where possible.
+ * generic/tclListObj.c:
-2009-08-25 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCompile.c: Make sure SetFooFromAny routines react
+ * generic/tclIO.c: reasonably when passed a NULL interp.
+ * generic/tclIndexObj.c:
+ * generic/tclListObj.c:
+ * generic/tclNamesp.c:
+ * generic/tclObj.c:
+ * generic/tclProc.c:
+ * macosx/tclMacOSXFCmd.c:
- * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,
- (EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations,
- (TclEvalObjEx):
- * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, ListLines):
- * 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/tclProc.c (TclCreateProc):
- * generic/tclVar.c (TclPtrSetVar):
- * tests/info.test (info-30.0-22):
+2011-04-21 Jan Nijtmans <nijtmans@users.sf.net>
- Extended parser, compiler, and execution with code and attendant
- data structures tracking the positions of continuation lines which
- are not visible in script's, to properly account for them while
- counting lines for #280, during direct and compiled execution.
+ * generic/tcl.h: fix for [Bug 3288345]: Wrong Tcl_StatBuf
+ * generic/tclInt.h: used on MinGW. Make sure that all _WIN32
+ * win/tclWinFile.c: compilers use exactly the same layout
+ * win/configure.in: for Tcl_StatBuf - the one used by MSVC6 -
+ * win/configure: in all situations.
-2009-08-17 Don Porter <dgp@users.sourceforge.net>
+2011-04-20 Andreas Kupries <andreask@activestate.com>
- * generic/tclFileName.c: Correct result from [glob */test] when *
- * tests/fileName.test: matches something like ~foo. [Bug 2837800]
+ * 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.
-2009-07-23 Joe Mistachkin <joe@mistachkin.com>
+2011-04-19 Don Porter <dgp@users.sourceforge.net>
- * generic/tclNotify.c: Fix for [Bug 2820349].
+ * generic/tclConfig.c: Reduce internals access in the implementation
+ of [<foo>::pkgconfig list].
-2009-07-14 Andreas Kupries <andreask@activestate.com>
+2011-04-18 Don Porter <dgp@users.sourceforge.net>
- * 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):
+ * generic/tclCmdIL.c: Use ListRepPtr(.) and other cleanup.
+ * generic/tclConfig.c:
+ * generic/tclListObj.c:
- 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.4 branch is not bytecode compiling
- whole files, and doesn't compile eval'd code either.
+ * generic/tclInt.h: Define and use macros that test whether
+ * generic/tclBasic.c: a Tcl list value is canonical.
+ * generic/tclUtil.c:
- 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).
+2011-04-16 Donal K. Fellows <dkf@users.sf.net>
-2009-06-13 Don Porter <dgp@users.sourceforge.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/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].
+2011-04-13 Don Porter <dgp@users.sourceforge.net>
-2009-04-28 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclUtil.c: [Bug 3285375]: Rewrite of Tcl_Concat*()
+ routines to prevent segfaults on buffer overflow. Build them out of
+ existing primitives already coded to handle overflow properly. Uses
+ the new TclTrim*() routines.
- * unix/tcl.m4, unix/configure (SC_CONFIG_CFLAGS): harden the check
- to add _r to CC on AIX with threads.
+ * generic/tclCmdMZ.c: New internal utility routines TclTrimLeft()
+ * generic/tclInt.h: and TclTrimRight(). Refactor the
+ * generic/tclUtil.c: [string trim*] implementations to use them.
-2009-04-27 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2011-04-13 Miguel Sofer <msofer@users.sf.net>
- * generic/tclInt.h: Backport fix for [Bug 1028264]: WSACleanup() too
- * generic/tclEvent.c: early. The fix introduces "late exit handlers"
- * win/tclWinSock.c: for similar late process-wide cleanups.
+ * generic/tclVar.c: [Bug 2662380]: Fix crash caused by appending to a
+ variable with a write trace that unsets it.
-2009-04-27 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
+2011-04-12 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinSock.c: Backport fix for [Bug 2446662]: resync Win
- behavior on RST with that of unix (EOF).
+ * 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.
-2009-04-22 Andreas Kupries <andreask@activestate.com>
+2011-04-12 Venkat Iyer <venkat@comit.com>
- * generic/tclStringObj.c (UpdateStringOfString): Added cast to fix
- signed/unsigned mismatch breaking win32 symbol/debug build.
+ * library/tzdata/Atlantic/Stanley: Update to Olson tzdata2011f
-2009-04-15 Don Porter <dgp@users.sourceforge.net>
+2011-04-06 Miguel Sofer <msofer@users.sf.net>
- * generic/tclStringObj.c: AppendUnicodeToUnicodeRep failed
- to set stringPtr->allocated to 0, leading to crashes.
+ * generic/tclExecute.c (TclCompEvalObj): Earlier return if Tip280
+ gymnastics not needed.
-2009-04-14 Stuart Cassoff <stwo@users.sourceforge.net>
+2011-04-05 Venkat Iyer <venkat@comit.com>
- * unix/tcl.m4: Removed -Wno-implicit-int from CFLAGS_WARNING.
+ * 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)
-2009-04-08 Don Porter <dgp@users.sourceforge.net>
+2011-04-04 Don Porter <dgp@users.sourceforge.net>
- * library/tcltest/tcltest.tcl: Fixed unsafe [eval]s in the tcltest
- * library/tcltest/pkgIndex.tcl: package. [Bug 2570363]
+ * 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]
-2009-04-07 Don Porter <dgp@users.sourceforge.net>
+2011-04-02 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclStringObj.c: Completed backports of fixes for
- [Bug 2494093] and [Bug 2553906].
+ * generic/tclStrToD.c (QuickConversion): Replaced another couple of
+ 'double' declarations with 'volatile double' to work around
+ misrounding issues in mingw-gcc 3.4.5.
-2009-03-30 Don Porter <dgp@users.sourceforge.net>
+2011-03-24 Donal K. Fellows <dkf@users.sf.net>
- * doc/Alloc.3: Size argument is "unsigned int". [Bug 2556263]
+ * 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.
- * 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]
+2011-03-21 Jan Nijtmans <nijtmans@users.sf.net>
-2009-03-27 Don Porter <dgp@users.sourceforge.net>
+ * unix/tclLoadDl.c: [Bug #3216070]: Loading extension libraries
+ * unix/tclLoadDyld.c: from embedded Tcl applications.
+ ***POTENTIAL INCOMPATIBILITY***
+ For extensions which rely on symbols from other extensions being
+ present in the global symbol table. For an example and some discussion
+ of workarounds, see http://stackoverflow.com/q/8330614/301832
- * tests/fileName.test: Tests for [Bug 2710920] to guard against
- its appearance.
+2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
-2009-03-20 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCkalloc.c: [Bug #3197864]: pointer truncation on Win64
+ TCL_MEM_DEBUG builds
- * 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]
+2011-03-16 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c (INST_CONCAT1): Panic when appends overflow
- the max length of a Tcl value. [Bug 2669109]
+ * generic/tclBasic.c: Some rewrites to eliminate calls to
+ * generic/tclParse.c: isspace() and their /* INTL */ risk.
+ * generic/tclProc.c:
-2009-03-18 Don Porter <dgp@users.sourceforge.net>
+2011-03-16 Jan Nijtmans <nijtmans@users.sf.net>
- * win/tclWinFile.c (TclpObjNormalizePath): Corrected Tcl_Obj leak.
- Thanks to Joe Mistachkin for detection and patch. [Bug 2688184].
+ * 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.
-2009-02-20 Don Porter <dgp@users.sourceforge.net>
+2011-03-14 Kevin B. Kenny <kennykb@acm.org>
- * 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].
+ * 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
-2008-02-06 Daniel Steffen <das@users.sourceforge.net>
- * generic/tcl.h (Darwin): workaround conflict between deprecated tcl
- panic macro and panic() function declaration in <mach/mach.h> header.
+ * unix/configure.in: [Bug 3205320]: stack space detection defeated by inlining
+ * unix/configure: (autoconf-2.59)
-2009-02-05 Don Porter <dgp@users.sourceforge.net>
+2011-03-09 Don Porter <dgp@users.sourceforge.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/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]
-2009-02-04 Don Porter <dgp@users.sourceforge.net>
+ * doc/tclvars.n: Formatting fix. Thanks to Pat Thotys.
- * 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.
+2011-03-08 Jan Nijtmans <nijtmans@users.sf.net>
-2009-01-09 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBasic.c: Fix gcc warnings: variable set but not used
- * 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].
+2011-03-08 Don Porter <dgp@users.sourceforge.net>
-2009-01-08 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclInt.h: Remove TclMarkList() routine, an experimental
+ * generic/tclUtil.c: dead-end from the 8.5 alpha days.
- * generic/tclStringObj.c (STRING_UALLOC): Added missing parens
- required to get correct results out of things like
- STRING_UALLOC(num + append). [Bug 2494093].
+ * generic/tclResult.c (ResetObjResult): Correct failure to clear
+ invalid intrep. Thanks to Colin McDonald. [Bug 3202905]
-2008-12-04 Don Porter <dgp@users.sourceforge.net>
+2011-03-06 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIOUtil.c (Tcl_FSGetNormalizedPath): Added another
- flag value TCLPATH_NEEDNORM to mark those intreps which need more
- complete normalization attention for correct results. [Bug 2385549]
+ * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() calls
+ * generic/tclCompile.c: with TclParseBackslash() where possible.
+ * generic/tclParse.c:
+ * generic/tclUtil.c:
-2008-12-03 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclUtil.c (TclFindElement): Guard escape sequence scans
+ to not overrun the string end. [Bug 3192636]
- * generic/tclFileName.c (TclDoGlob): One of the
- Tcl_FSMatchInDirectory() calls did not have its return code
- checked. Some VFS drivers can return TCL_ERROR, and when that's
- not checked, the error message gets converted into a list of
- matching files returned by [glob], with ridiculous results.
+2011-03-05 Don Porter <dgp@users.sourceforge.net>
-2008-12-01 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclParse.c (TclParseBackslash): Correct trunction checks in
+ * tests/parse.test: \x and \u substitutions. [Bug 3200987]
- * generic/tclIO.c (TclFinalizeIOSubsystem): Revised latest commit to
- something that doesn't crash the test suite.
+2011-01-26 Donal K. Fellows <dkf@users.sf.net>
-2008-11-25 Andreas Kupries <andreask@activestate.com>
+ * doc/RegExp.3: [Bug 3165108]: Corrected documentation of description
+ of subexpression info in Tcl_RegExpInfo structure.
- * generic/tclIO.c (TclFinalizeIOSubsystem): Applied backport of
- Alexandre Ferrieux's patch for [Bug 2270477] to prevent infinite
- looping during finalization of channels not bound to
- interpreters.
+2011-01-25 Jan Nijtmans <nijtmans@users.sf.net>
-2008-11-23 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * generic/tclIO.c: Backport of fix for [Bug 2333466].
+2011-01-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2008-11-04 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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/tclPort.h: remove the ../{win,unix}/ header dirs as the
- build system already has it, and it confuses builds when used with
- private headers installed.
+2011-01-19 Jan Nijtmans <nijtmans@users.sf.net>
-2008-09-25 Don Porter <dgp@users.sourceforge.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.
- * doc/global.n: Correct false claim about [info locals].
+2011-01-18 Jan Nijtmans <nijtmans@users.sf.net>
-2008-08-14 Don Porter <dgp@users.sourceforge.net>
+ * 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:
- * tests/fileName.test: Revise new tests for portability to case
- insensitive filesystems.
+2011-01-17 Jan Nijtmans <nijtmans@users.sf.net>
-2008-08-14 Daniel Steffen <das@users.sourceforge.net>
+ * 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
- * 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).
+2011-01-15 Kevin B. Kenny <kennykb@users.sf.net>
- * 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]
+ * 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]
- * unix/tcl.m4 (SC_PATH_X): check for libX11.dylib in addition to
- libX11.so et al.
+2011-01-13 Miguel Sofer <msofer@users.sf.net>
- * unix/configure: autoconf-2.13
+ * 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.
-2008-08-13 Don Porter <dgp@users.sourceforge.net>
+2011-01-03 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.
+ * tools/genStubs.tcl: Fix "make genstubs", which was broken
+ since 2010-11-30, the TclDoubleDigits backport.
-2008-08-11 Andreas Kupries <andreask@activestate.com>
+2010-12-31 Jan Nijtmans <nijtmans@users.sf.net>
- * 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.
+ * 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)
-2008-07-28 Andreas Kupries <andreask@activestate.com>
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
- * generic/tclBasic.c: Added missing release of extended command
- word index when deleting an interpreter (DeleteInterpProc). Added
- missing ref count when creating an empty string as path (EvalEx).
+ * unix/Makefile.in: Remove unwanted/obsolete 'ddd' target.
- * generic/tclCompile.c (TclInitCompileEnv): Made same change to
- control flow as in TclEvalObjEx. Not needed while uplevel and
- siblings go through the eval-direct code path, however if that
- changes (like it did in 8.5+) better to have this in place instead
- of re-searching why certain places are without absolute locations.
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
- * tests/info.test: Added tests 38.*, exactly testing the tracking
- of location for uplevel scripts, and made the testsuite fully
- usable with and without -singleproc 1.
+ * unix/Makefile.in: [Bug 2446711]: Remove 'allpatch' target.
-2008-07-25 Daniel Steffen <das@users.sourceforge.net>
+2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net>
- * tests/info.test: Add !singleTestInterp constraint to various tests;
- (info-22.8, info-23.0): switch to glob matching to avoid sensitivity
- to tcltest.tcl line number changes. [Bug 1605269]
+ * unix/Makefile.in: Use 'rpmbuild', not 'rpm' [Bug 2537626].
-2008-07-24 Andreas Kupries <andreask@activestate.com>
+2010-12-13 Jan Nijtmans <nijtmans@users.sf.net>
- * tests/info.test: Tests 38.* added, exactly testing the tracking
- of location for uplevel scripts.
+ * 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)
-2008-07-23 Andreas Kupries <andreask@activestate.com>
+2010-12-12 Stuart Cassoff <stwo@users.sourceforge.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.
+ * unix/tcl.m4: Better building on OpenBSD.
+ * unix/configure: (autoconf-2.59)
-2008-07-22 Andreas Kupries <andreask@activestate.com>
+2010-12-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclBasic.c: Added missing function comments.
+ * generic/tclIO.c: [backport] Make sure [fcopy -size ... -command ...] always
+ * tests/io.test: calls the callback asynchronously, even for size zero.
- * generic/tclCompile.c: Made the new TclEnterCmdWordIndex
- * generic/tclCompile.h: static.
+2010-12-03 Jeff Hobbs <jeffh@ActiveState.com>
- * 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
- * generic/tclInt.h: another 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/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.
-2008-07-21 Andreas Kupries <andreask@activestate.com>
+2010-12-01 Kevin B. Kenny <kennykb@acm.org>
- * 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/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]
-2008-07-07 Andreas Kupries <andreask@activestate.com>
+2010-11-30 Andreas Kupries <andreask@activestate.com>
- * generic/tclCmdIL.c (InfoFrameCmd): Fixed unsafe idiom of setting
- the interp result found by Don Porter.
+ * 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.
-2008-07-04 Joe English <jenglish@users.sourceforge.net>
+ * generic/tclIntDecls.h:
+ * generic/tclStubInit.c:
+ * generic/tclTomMathDecls.h: Regenerated.
- * generic/tclEncoding.c(UtfToUtfProc): Avoid unwanted sign extension
- when converting incomplete UTF-8 sequences. See [Bug 1908443] for
- details.
+2010-11-30 Jeff Hobbs <jeffh@ActiveState.com>
-2008-07-03 Don Porter <dgp@users.sourceforge.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).
- * 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]
+2010-11-23 Andreas Kupries <andreask@activestate.com>
-2008-06-28 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * generic/tclIOUtil.c: Plug memory leak in latest commit. Thanks
- Rolf Ade for detecting and Dan Steffen for the fix [Bug 2004654].
+2010-11-19 Jan Nijtmans <nijtmans@users.sf.net>
-2008-06-23 Don Porter <dgp@users.sourceforge.net>
+ * 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)
- * generic/tclIOUtil.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-11-18 Donal K. Fellows <dkf@users.sf.net>
-2008-06-20 Don Porter <dgp@users.sourceforge.net>
+ * doc/file.n: [Bug 3111298]: Typofix.
- * tests/binary.test: Corrected flawed tests revealed by a -debug 1
- * tests/io.test: -singleproc 1 test suite run.
+2010-11-16 Jan Nijtmans <nijtmans@users.sf.net>
-2008-06-18 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclPlatDecls.h: [Bug 3110161]: Extensions using TCHAR don't
+ compile on VS2005 SP1
- * generic/tclParseExpr.c: Disabled attempts to support [expr]
- functions named eq(...) or ne(...). Any attempts to use such
- functions were panicking. [Bug 1971879].
+2010-11-15 Andreas Kupries <andreask@activestate.com>
-2008-06-16 Andreas Kupries <andreask@activestate.com>
+ * 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:
- * generic/tclCmdIL.c (InfoFrameCmd): 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].
+2010-11-03 Kevin B. Kenny <kennykb@acm.org>
-2008-06-12 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * generic/tclCmdIL.c (InfoFrameCmd): TIP #280 conditional
- feature. Added checks to validate HashEntry and HashTable
- information gotten from Command structures. This seems to be
- needed to handle structures managed by Itcl.
+2010-11-01 Stuart Cassoff <stwo@users.sourceforge.net>
-2008-06-12 Daniel Steffen <das@users.sourceforge.net>
+ * library/safe.tcl: Improved handling of non-standard module
+ * tests/safe.test: path lists, empty path lists in particular.
- * unix/Makefile.in: add complete deps on tclDTrace.h.
+2010-11-01 Kevin B. Kenny <kennykb@acm.org>
- * unix/Makefile.in: clean generated tclDTrace.h file.
- * unix/configure.in (SunOS): fix static DTrace-enabled build.
+ * library/tzdata/Asia/Hong_Kong:
+ * library/tzdata/Pacific/Apia:
+ * library/tzdata/Pacific/Fiji: Olson's tzdata2010o.
- * unix/tcl.m4 (SunOS-5.11): fix 64bit amd64 support with gcc & Sun cc.
- * unix/configure: autoconf-2.13
+2010-10-23 Jan Nijtmans <nijtmans@users.sf.net>
-2008-05-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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
- * tests/io.test (io-53.9): need to close chan before removing file.
+2010-10-09 Miguel Sofer <msofer@users.sf.net>
-2008-05-23 Andreas Kupries <andreask@activestate.com>
+ * generic/tclExecute.c: fix overallocation of exec stack in TEBC
+ (mixing numwords and numbytes)
- * 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-10-01 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by
- * tests/io.test: Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- to fix the [Bug 1969953]. Buffersize outside of the supported
- range are now clipped to nearest boundary instead of ignored.
+ * 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:
-2008-04-26 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2010-09-24 Andreas Kupries <andreask@activestate.com>
- * 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.
+ * 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.
- 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.
+2010-09-23 Don Porter <dgp@users.sourceforge.net>
-2008-04-17 Andreas Kupries <andreask@activestate.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.
- *** 8.4.19 TAGGED FOR RELEASE ***
+2010-09-19 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompExpr.c (CompileMathFuncCall): Added
- * tests/compExpr.test (compExpr-5.10): Tcl_ResetResult before
- appending error message, to clear out possible sharing. Added test
- case demonstrating the crash (abort on shared object) without the
- fix.
+ * doc/file.n (file readlink): [Bug 3070580]: Typofix.
-2008-04-15 Andreas Kupries <andreask@activestate.com>
+2010-09-10 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIO.c (CopyData): Applied another patch by Alexandre
- * io.test (io-53.8a): Ferrieux <ferrieux@users.sourceforge.net>,
- 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.
+ * 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.
-2008-04-14 Kevin B. Kenny <kennykb@acm.org>
+2010-09-08 Andreas Kupries <andreask@activestate.com>
- * unix/tclUnixTime.c (TclpGetClicks, Tcl_GetTime): Removed
- obsolete use of 'struct timezone' in the call to 'gettimeofday'.
- [Bug 1942197].
+ *** 8.5.9 TAGGED FOR RELEASE ***
-2008-04-14 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/tclExecute.c: Plug memory leak introduced in the
- 2008-03-07 commit. [Bug 1940433]
+2010-09-08 Don Porter <dgp@users.sourceforge.net>
-2008-04-11 Don Porter <dgp@users.sourceforge.net>
+ * changes: Update for 8.5.9 release.
- * README: Bump version number to 8.4.19
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
+ * 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.
- * unix/configure: autoconf-2.13
- * win/configure:
+2010-09-06 Stuart Cassoff <stwo@users.sourceforge.net>
- * changes: updates for 8.4.19 release.
+ * 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
-2008-04-10 Andreas Kupries <andreask@activestate.com>
+2010-09-02 Andreas Kupries <andreask@activestate.com>
- * 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).
+ * doc/glob.n: Fixed documentation ambiguity regarding the handling
+ of -join.
- * tests/iocmd.test (iocmd-15.{12,13}): Removed.
+ * 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.
- * tests/io.test (io-52.5{,a,b}): Reverted last change, added
- comment regarding the meaning of -1, added two more testcases for
- other negative values, and input wrapped to negative.
+2010-09-01 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-2008-04-09 Andreas Kupries <andreask@activestate.com>
+ * 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,
- * tests/io.test (io-52.5): Removed '-size -1' from test, does not
- seem to have any bearing, and was an illegal value. Test case is
- not affected by the value of -size, test flag restoration and that
- everything was properly copied.
+2010-09-01 Don Porter <dgp@users.sourceforge.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.
+ * changes: Update for 8.5.9 release.
-2008-04-08 Andreas Kupries <andreask@activestate.com>
+2010-09-01 Andreas Kupries <andreask@activestate.com>
- * tests/io.test (io-53.8,53.9,53.10): Backported das' fix of typo
- and quoting for spaces in builddir path.
+ * 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***
-2008-04-07 Andreas Kupries <andreask@activestate.com>
+2010-09-01 Donal K. Fellows <dkf@users.sf.net>
- * tests/io.test (io-53.10): Testcase for bi-directionaly fcopy.
- * 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.
+ * tools/tcltk-man2html.tcl: Improve handling of cross-links for
+ options between Ttk manual pages.
- * 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.
+ * doc/Tcl.n: Avoid nroff hazards when generating documentation.
- * tests/io.test (io-53.9): Made test cleanup robust against the
- possibility of slow process shutdown on Windows. Backported from
- Kevin Kenny's change to the same test on the 8.5 and head
- branches.
+2010-08-31 Andreas Kupries <andreask@activestate.com>
-2008-04-04 Andreas Kupries <andreask@activestate.com>
+ * win/tcl.m4: Applied patch by Jeff fixing issues with the
+ manifest handling on Win64.
+ * win/configure: Regenerated.
- * tests/io.test (io-53.9): Added testcase for [Bug 780533], based
- on Alexandre's test script. Also fixed problem with timer in
- preceding test, was not canceled properly in the ok case.
+2010-08-29 Donal K. Fellows <dkf@users.sf.net>
-2008-04-03 Andreas Kupries <andreask@activestate.com>
+ * doc/dict.n: [Bug 3046999]: Corrected cross reference to array
+ manpage to refer to (correct) existing subcommand.
- * generic/tclIO.c (CopyData): Applied patch [Bug 1932639] to
- * tests/io.test: prevent fcopy from calling -command synchronously
- the first time. Thanks to Alexandre Ferrieux
- <ferrieux@users.sourceforge.net> for report and patch.
+2010-08-26 Jeff Hobbs <jeffh@ActiveState.com>
-2008-04-02 Andreas Kupries <andreask@activestate.com>
+ * 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/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.
+ * 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+.
-2008-03-27 Daniel Steffen <das@users.sourceforge.net>
+2010-08-24 Don Porter <dgp@users.sourceforge.net>
- * unix/tcl.m4 (SunOS-5.1x): fix 64bit support for Sun cc. [Bug 1921166]
+ * changes: Update for 8.5.9 release.
- * unix/dltest/Makefile.in: support use of LDFLAGS in SHLIB_LD.
+2010-08-23 Kevin B. Kenny <kennykb@acm.org>
- * unix/configure: autoconf-2.13
+ * library/tzdata/Africa/Cairo:
+ * library/tzdata/Asia/Gaza: Olson's tzdata2010l.
-2008-03-24 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-08-19 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclBinary.c: bug #1923966 - crash in binary format
- * tests/binary.test: Added tests for the above crash condition.
+ * 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.
-2008-03-11 Daniel Steffen <das@users.sourceforge.net>
+2010-08-15 Donal K. Fellows <dkf@users.sf.net>
- * macosx/tclMacOSXNotify.c: avoid using CoreFoundation after fork() on
- Darwin 9 even when TclpCreateProcess() uses vfork().
+ * 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.
-2008-03-07 Don Porter <dgp@users.sourceforge.net>
+2010-08-12 Donal K. Fellows <dkf@users.sf.net>
- * 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/tclCmdMZ.c (Tcl_RegexpObjCmd): [Bug 2826551, Patch 2948425]:
+ Backport of updates to make handling of RE line anchors correct.
- * generic/tclTest.c: Backport the [testexprlongobj] testing command.
+2010-08-11 Jeff Hobbs <jeffh@ActiveState.com>
- * tests/execute.test (execute-6.8): Added tests checking that
- bytecode is invalidates in the right situations.
+ * 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.
-2008-03-03 Reinhard Max <max@suse.de>
+2010-08-10 Jeff Hobbs <jeffh@ActiveState.com>
- * unix/tclUnixChan.c: Fix mark and space parity on Linux, which
- uses CMSPAR instead of PAREXT.
+ * generic/tclUtil.c (TclByteArrayMatch): Patterns may not be
+ null-terminated, so account for that.
-2008-02-27 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-08-05 Don Porter <dgp@users.sourceforge.net>
- * library/http/pkgIndex.tcl: Backported 2.5.5 changes from
- * library/http/http.tcl: 8.5 version.
- * doc/http.n: Document the meta accessor.
+ * changes: Update for 8.5.9 release.
-2008-02-26 Jeff Hobbs <jeffh@ActiveState.com>
+2010-08-04 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclIOCmd.c (Tcl_GetsObjCmd): do not reuse resultObj as
- it may be shared (crash condition).
+ * unix/tclUnixFCmd.c: Adjust license header as per
+ ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
-2008-02-22 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * license.terms: Fix DFARs note for number-adjusted rights clause
- * library/http/pkgIndex.tcl: Set version 2.5.4
- * library/http/http.tcl: Fix for bug #1818565. Always check that
- the state array exists in the http::status command.
+ * 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***
-2008-02-06 Don Porter <dgp@users.sourceforge.net>
+ * win/Makefile.in (%.${OBJEXT}): better implicit rules support
- *** 8.4.18 TAGGED FOR RELEASE ***
+2010-08-04 Don Porter <dgp@users.sourceforge.net>
- * README: Bump version number to 8.4.18
- * generic/tcl.h:
+ * generic/tcl.h: Bump to 8.5.9 for release.
+ * library/init.tcl:
* tools/tcl.wse.in:
* unix/configure.in:
* unix/tcl.spec:
- * win/README.binary:
* win/configure.in:
+ * README:
- * unix/configure: autoconf-2.13
+ * unix/configure: autoconf-2.59
* win/configure:
- * changes: updates for 8.4.18 release.
-
-2008-02-02 Daniel Steffen <das@users.sourceforge.net>
-
- * unix/configure.in (Darwin): correct Info.plist year substitution in
- non-framework builds.
-
- * unix/configure: autoconf-2.13
-
-2008-01-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclInterp.c (Tcl_GetAlias): fix for [Bug 1882373]
-
-2008-01-13 Jeff Hobbs <jeffh@ActiveState.com>
+ * changes: Update for 8.5.9 release.
- * win/tclWinSerial.c (SerialCloseProc, TclWinOpenSerialChannel):
- use critical section for read & write side. [Bug 1353846] (newman)
+2010-08-04 Andreas Kupries <andreask@activestate.com>
-2007-12-31 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclIORChan.c: [Bug 3034840]: Fixed reference counting
+ * tests/ioCmd.test: in InvokeTclMethod and callers.
- *** 8.4.17 TAGGED FOR RELEASE ***
+2010-08-03 Andreas Kupries <andreask@activestate.com>
- * changes: updates for 8.4.17 release.
- * doc/filename.n: Typo
+ * tests/var.test (var-19.1): [Bug 3037525]: Added test demonstrating
+ the local hashtable deletion crash and fix.
-2007-12-18 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * 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.
- * generic/regguts.h, generic/regc_color.c, generic/regc_nfa.c:
- Fixes for problems created when processing regular expressions that
- generate very large automata. An enormous number of thanks to Will
- Drewry <wad@google.com>, Tavis Ormandy <taviso@google.com>, and Tom
- Lane <tgl@sss.pgh.pa.us> from the Postgresql crowd for their help in
- tracking these problems down. [Bug 1810264]
+2010-08-03 Don Porter <dgp@users.sourceforge.net>
-2007-12-14 Jeff Hobbs <jeffh@ActiveState.com>
+ * changes: Update for 8.5.9 release.
- * win/README: updated notes
-
-2007-12-14 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * unix/tclUnixCompat.c (TclpGetHostByName): Really applied
- the change noted on 2007-11-13 by dkf below.
+2010-08-02 Kevin B. Kenny <kennykb@users.sf.net>
-2007-12-13 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * generic/tclIOUtil.c (TclGetOpenMode): Only set the O_APPEND flag
- * tests/ioUtil.test (ioUtil-4.1): on a channel for the 'a'
- mode and not for 'a+'. [Bug 1773127] (backport from HEAD)
+2010-07-28 Miguel Sofer <msofer@users.sf.net>
-2007-12-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclVar.c: [Bug 3037525]: lose fickle optimisation in
+ TclDeleteVars (used for runtime-created locals) that caused crashes.
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Prevent shimmering crash
- when -exact and -integer/-real are mixed. [Bug 1844789]
-
-2007-11-28 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinSock.c (Tcl_GetHostName): update to previous fix to
- set hostname length appropriately, clean up check overall.
-
-2007-11-27 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinSock.c: Add missing encoding conversion of the
- [info hostname] value from the system encoding to Tcl's internal
- encoding. This is important now that ICANN no longer limits host
- names to ASCII. [Bug 1823552]
-
-2007-11-26 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-
- * generic/tclThread.c: Back-port locking changes from Tcl8.5
- in Tcl_Mutex/ConditionFinlize. Now we properly master-lock
- the finalization of sync primitives.
-
-2007-11-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/regc_nfa.c: Fixed infinite loop in the regexp compiler
- * generic/regcomp.c: [Bug 1810038]. Corrected looping logic in
- * tests/regexp.test: fixempties() to avoid wasting time walking a
- list of dead states [Bug 1832612]. Convert optst() from expensive
- no-op to a cheap no-op. Improve newline usage in debug output.
-
-2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * 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]
-
-2007-10-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/regc_lex.c (lexescape): Ensure that backreference numbers
- can't overflow a signed int in a way that breaks things. [Bug 1810264]
-
-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).
+2010-07-25 Jan Nijtmans <nijtmans@users.sf.net>
-2007-10-03 Miguel Sofer <msofer@users.sf.net>
+ * 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.
- * generic/tclObj.c (Tcl_FindCommandFromObj): fix finding a deleted
- command; cannot trigger this from Tcl itself, but crash reported
- on xotcl. This check is new to 8.4 but exists in 8.5, so this is a
- backport or something. Thanks Gustaf Neumann.
+2010-07-17 Jan Nijtmans <nijtmans@users.sf.net>
-2007-10-02 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tcl.h: [Bug 3030870]: Make itcl 3.x built with pre-8.6
+ * generic/tclInt.h: work in 8.6
- * generic/tcl.h (Tcl_DecrRefCount): Update change from 2006-05-29
- to make macro more warning-robust in unbraced if code.
+2010-07-02 Donal K. Fellows <dkf@users.sf.net>
-2007-10-02 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * README: Bump version number to 8.4.17
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
+2010-07-02 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/configure: autoconf-2.13
- * win/configure:
+ * generic/tclIntDecls.h: [Bug 803489]: Tcl_FindNamespace problem in
+ the Stubs table.
-2007-09-20 Don Porter <dgp@users.sourceforge.net>
+2010-07-01 Donal K. Fellows <dkf@users.sf.net>
- *** 8.4.16 TAGGED FOR RELEASE ***
+ * doc/mathop.n: [Bug 3023165]: Fix typo that was preventing proper
+ rendering of the exclusive-or operator.
- * doc/load.n: Backport corrected example.
+2010-06-28 Jan Nijtmans <nijtmans@users.sf.net>
-2007-09-19 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclPosixStr.c: [Bug 3019634]: errno.h and tclWinPort.h have
+ conflicting definitions.
- * unix/Makefile.in: Update `make dist` so that tclDTrace.d is
- included in the source code distribution.
+2010-06-22 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclPkg.c: Backport fix for [1573844] to the
- * tests/pkg.test: TCL_TIP268 sections.
+ * generic/tclCmdIL.c (Tcl_LsetObjCmd): [Bug 3019351]: Corrected wrong
+ args message.
-2007-09-18 Don Porter <dgp@users.sourceforge.net>
+2010-06-18 Donal K. Fellows <dkf@users.sf.net>
- * changes: updates for 8.4.16 release.
+ * library/init.tcl (auto_execok): [Bug 3017997]: Add .cmd to the
+ default list of extensions that we can execute interactively.
-2007-09-15 Daniel Steffen <das@users.sourceforge.net>
+2010-06-16 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/tcl.m4 (SunOS-5.1x): replace direct use of '/usr/ccs/bin/ld'
- in SHLIB_LD by 'cc' compiler driver.
- * unix/configure: autoconf-2.13
+ * tools/loadICU.tcl: [Bug 3016135]: Traceback using clock format
+ * library/msgs/he.msg: with locale of he_IL
-2007-09-14 Daniel Steffen <das@users.sourceforge.net>
+2010-06-09 Andreas Kupries <andreask@activestate.com>
- * 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 essentially
- * generic/tclInt.h: zero cost when tracing is inactive;
- * generic/tclObj.c: enable with --enable-dtrace configure
- * generic/tclProc.c: arg (disabled by default, will only
- * unix/Makefile.in: enable if DTrace is present).
- * unix/configure.in: [Patch 1793984]
+ * 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:
- * macosx/Makefile: enable DTrace support.
+2010-05-26 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: autoconf-2.13
+ * doc/socket.n: [Bug 3007442]: Server sockets never took a host
+ argument, so the list of options must precede the port argument.
-2007-09-11 Don Porter <dgp@users.sourceforge.net>
+2010-05-25 Jan Nijtmans <nijtmans@users.sf.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.2.9. [Bug 1772989; RFE 1071322]
+ * unix/tclUnixPort.h: [Bug 2991415]: tclport.h #included before
+ * win/tclWinPort.h: limits.h
+ * generic/tclInt.h:
-2007-09-11 Pat Thoyts <patthoyts@users.sourceforge.net>
+2010-05-21 Jan Nijtmans <nijtmans@users.sf.net>
- * win/makefile.vc: AMD64 target fixes for symbols builds.
- * win/rules.vc:
+ * 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
-2007-09-10 Jeff Hobbs <jeffh@ActiveState.com>
+2010-05-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * generic/tclLink.c (Tcl_UpdateLinkedVar): guard against var being
- unlinked. [Bug 1740631] (maros)
+ * generic/tclDictObj.c: Backport of fix for [Bug 3004007], EIAS
+ * tests/dict.test: violation in list-dict conversions.
-2007-08-25 Kevin Kenny <kennykb@acm.org>
+2010-05-07 Andreas Kupries <andreask@activestate.com>
- * generic/tclClock.c (FormatClock): Claimed additional space for
- the %c format code to avoid a buffer overrun when formatting
- (for example) a Friday in February in the Portuguese locale.
- [Bug 1751117]
+ * 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:
-2007-08-24 Miguel Sofer <msofer@users.sf.net>
+2010-04-30 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompile.c: replaced copy loop that tripped some
- compilers with memmove [Bug 1780870]
+ * generic/tclBinary.c (UpdateStringOfByteArray): [Bug 2994924]: Add
+ panic when the generated string representation would grow beyond Tcl's
+ size limits.
-2007-08-14 Don Porter <dgp@users.sourceforge.net>
+2010-04-29 Andreas Kupries <andreask@activestate.com>
- * tests/trace.test: Backport some tests.
+ * 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:
-2007-08-14 Daniel Steffen <das@users.sourceforge.net>
+2010-04-29 Kevin B. Kenny <kennykb@acm.org>
+
+ * 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>
+
+ * win/tclWinPort.h: [Patch 2986105]: Conditionally defining
+ * win/tclWinFile.c: strcasecmp/strncasecmp
- * 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.
+2010-04-18 Donal K. Fellows <dkf@users.sf.net>
- * tests/load.test: add test load-10.1 for loading from vfs.
+ * doc/unset.n: [Bug 2988940]: Fix typo.
-2007-08-07 Daniel Steffen <das@users.sourceforge.net>
+2010-04-14 Andreas Kupries <andreask@activestate.com>
- * generic/tclEnv.c: improve environ handling on Mac OS X (adapted
- * unix/tclUnixPort.h: from Apple changes in Darwin tcl-64).
+ * 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.
- * unix/Makefile.in: add support for compile flags specific to
- object files linked directly into executables.
+2010-04-03 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
- * 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 in environment.
+ * generic/tclStringObj.c: (SetStringFromAny): avoid trampling
+ over the tclEmptyStringRep as it is thread-shared.
- * unix/configure: autoconf-2.13
+ * 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.
-2007-07-19 Don Porter <dgp@users.sourceforge.net>
+ Thanks to Gustaf Neumann for the (hard) work.
- * generic/tclParse.c: In contexts where interp and parsePtr->interp
- might be different, be sure to use the latter for error reporting.
+2010-03-31 Donal K. Fellows <dkf@users.sf.net>
-2007-07-05 Don Porter <dgp@users.sourceforge.net>
+ * doc/package.n: [Bug 2980210]: Document the arguments taken by
+ the [package present] command correctly.
- * library/init.tcl (unknown): Corrected inconsistent error message
- in interactive [unknown] when empty command is invoked. [Bug 1743676]
+2010-03-30 Andreas Kupries <andreask@activestate.com>
-2007-06-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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/tclBinary.c (Tcl_BinaryObjCmd): De-fang an instance of the
- shared-result anti-pattern. [Bug 1716704]
+2010-03-30 Don Porter <dgp@users.sourceforge.net>
-2007-06-30 Zoran Vasiljevic <vasiljevic@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/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.
+2010-03-29 Don Porter <dgp@users.sourceforge.net>
-2007-06-29 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclStringObj.c: Fix array overrun in test format-1.12
+ caught by valgrind testing.
- * 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).
+2010-03-25 Donal K. Fellows <dkf@users.sf.net>
-2007-06-27 Don Porter <dgp@users.sourceforge.net>
+ * unix/tclUnixFCmd.c (TclUnixCopyFile): [Bug 2976504]: Corrected
+ number of arguments to fstatfs() call.
- * generic/tclCmdMZ.c: Corrected broken trace reversal logic in
- * generic/tclTest.c: TclCheckInterpTraces that led to infinite loop
- * tests/basic.test: when multiple Tcl_CreateTrace traces were set
- and one of them did not fire due to level restrictions. [Bug 1743941].
+2010-03-24 Don Porter <dgp@users.sourceforge.net>
-2007-06-23 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclResult.c: [Bug 2383005]: Revise [return -errorcode] so
+ * tests/result.test: that it rejects illegal non-list values.
- * macosx/tclMacOSXNotify.c (AtForkChild): don't call CoreFoundation
- APIs after fork() on systems where that would lead to an abort().
+2010-03-20 Donal K. Fellows <dkf@users.sf.net>
-2007-06-10 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclIO.c (CopyData): Allow the total number of bytes copied
+ by [fcopy] to exceed 2GB. Can happen when no -size parameter given.
- * README: updated links. [Bug 1715081]
+2010-03-18 Don Porter <dgp@users.sourceforge.net>
-2007-06-06 Daniel Steffen <das@users.sourceforge.net>
+ * 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.in (Darwin): add plist for tclsh; link the
- * unix/Makefile.in (Darwin): Tcl and tclsh plists into their
- * macosx/Tclsh-Info.plist.in (new): binaries in all cases.
+2010-03-12 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/tcl.m4 (Darwin): fix CF checks in fat 32&64bit builds.
- * unix/configure: autoconf-2.13
+ * win/makefile.vc: Fix [Bug 2967340]: Static build failure
+ * win/.cvsignore
-2007-06-05 Don Porter <dgp@users.sourceforge.net>
+2010-03-09 Andreas Kupries <andreask@activestate.com>
- * tests/result.test (result-6.2): Add test for [Bug 1649062] so that
- 8.4 and 8.5 both test the same outcome and we verify compatibility.
+ * 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.
-2007-05-30 Don Porter <dgp@users.sourceforge.net>
+2010-03-09 Don Porter <dgp@users.sourceforge.net>
- * README: Bump version number to 8.4.16
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
+ * 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.
- * unix/configure: autoconf-2.13
- * win/configure:
+2010-03-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2007-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * unix/tclUnixThrd.c (Tcl_JoinThread): fix for 64-bit handling of
- pthread_join exit return code storage. [Bug 1712723]
+2010-02-27 Donal K. Fellows <dkf@users.sf.net>
-2007-05-24 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).
- *** 8.4.15 TAGGED FOR RELEASE ***
+2010-02-21 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclIO.c: Backport memleak fix in TclFinalizeIOSubsystem.
+ * generic/tclBasic.c: Fix [Bug 2954959] expr abs(0.0) is -0.0
+ * tests/expr.test
-2007-05-17 Don Porter <dgp@users.sourceforge.net>
+2010-02-19 Stuart Cassoff <stwo@users.sourceforge.net>
- * tests/fCmd.test: Backport the notNetworkFilesystem constraint.
+ * tcl.m4: Correct compiler/linker flags for threaded builds on OpenBSD
+ * configure: (regenerated).
-2007-05-15 Don Porter <dgp@users.sourceforge.net>
+2010-02-19 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclNamesp.c: Plugged memory leak related to
- [namespace delete ::]. [Bug 1716782]
+ * 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).
- * changes: updates for 8.4.15 release.
+2010-02-11 Donal K. Fellows <dkf@users.sf.net>
- * win/tclWinReg.c: Bump to registry 1.1.5 to account
- * library/reg/pkgIndex.tcl: for [Bug 1682211] fix.
+ * generic/tclIOCmd.c (Tcl_OpenObjCmd): [Bug 2949740]: Make sure that
+ we do not try to put a NULL pipeline channel into binary mode.
-2007-05-10 Don Porter <dgp@users.sourceforge.net>
+2010-02-07 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclInt.h: TclFinalizeThreadAlloc() is always defined,
- so make sure it is also always declared.
+ * 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!)
- [Tcl Bug 1706140]
+2010-02-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCmdMZ.c (Trace*Proc): Update Tcl_VarTraceProcs so
- * generic/tclLink.c (LinkTraceProc): that they call
- * generic/tclUtil.c (TclPrecTraceProc): Tcl_InterpDeleted() for
- themselves, and do not rely on (frequently buggy) setting of the
- TCL_INTERP_DESTROYED flag by the trace core.
+ * generic/tclVar.c (Tcl_ArrayObjCmd): More corrections for the 'unset'
+ subcommand.
- * generic/tclVar.c: Update callers of CallVarTraces 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.
+2010-02-02 Andreas Kupries <andreask@activestate.com>
- * generic/tclVar.c (CallVarTraces): The setting of the
- TCL_INTERP_DESTROYED flag is now done entirely within the
- CallVarTraces routine, the only place it can be done right.
+ * 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.
-2007-04-30 Daniel Steffen <das@users.sourceforge.net>
+2010-02-02 Donal K. Fellows <dkf@users.sf.net>
- * unix/Makefile.in: add 'tclsh' dependency to install targets that rely
- on tclsh, fixes parallel 'make install' from empty build dir.
+ * 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.
-2007-04-29 Daniel Steffen <das@users.sourceforge.net>
+2010-02-01 Donal K. Fellows <dkf@users.sf.net>
- * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open()
- * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier.
+ * 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.
- * unix/tclLoadDyld.c (TclpLoadMemory): fix (void*) arithmetic.
+2010-02-01 Jan Nijtmans <nijtmans@users.sf.net>
- * macosx/tclMacOSXNotify.c: fix warnings.
+ * 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:
- * macosx/README: sync whitespace/formatting with HEAD.
- * macosx/tclMacOSXBundle.c:
- * macosx/tclMacOSXNotify.c:
- * unix/tclLoadDyld.c:
+2010-01-29 Jan Nijtmans <nijtmans@users.sf.net>
- * macosx/Makefile: fix/add copyright and license refs.
- * macosx/tclMacOSXBundle.c:
- * macosx/Tcl-Info.plist.in:
+ * 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:
- * unix/Makefile.in (dist): copy license.terms to dist macosx dir.
- * unix/configure.in: install license.terms into Tcl.framework.
- * unix/configure: autoconf-2.13
+2010-01-19 Donal K. Fellows <dkf@users.sf.net>
-2007-04-21 Kevin B. Kenny <kennyb@acm.org>
+ * doc/dict.n: [Bug 2929546]: Clarify just what [dict with] and [dict
+ update] are doing with variables.
- * generic/tclClock.c: Restored Cygwin buildability [Bug 1387154]
- * generic/tclInt.decls: Yet another round of attempting
- * generic/tclInt.h: to get the correct type signature
- * unix/tclUnixPort.h: for TclpLocaltime and TclpGmtime.
- * unix/tclUnixTime.c: CONST TclpTime_t is a 'time_t *CONST'
- * win/tclWinTime.c: and not a 'CONST time_t*' [Bug 1677275]
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h: Regenerated.
+2010-01-18 Andreas Kupries <andreask@activestate.com>
-2007-03-24 Zoran Vasiljevic <vasiljevic@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.
- * 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.
+2010-01-18 Donal K. Fellows <dkf@users.sf.net>
-2007-03-19 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/tclEvent.c (Tcl_CreateThread): Replaced some calls to
- * generic/tclPkg.c (CheckVersion): Tcl_Alloc() with calls to
- * unix/tclUnixTime.c (SetTZIfNecessary): ckalloc(), which better
- * win/tclAppInit.c (setargv): supports memory debugging.
+2010-01-06 Jan Nijtmans <nijtmans@users.sf.net>
-2007-03-17 Kevin Kenny <kennykb@acm.org>
+ * 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:
- * 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.
+2010-01-05 Don Porter <dgp@users.sourceforge.net>
-2007-03-13 Don Porter <dgp@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/tclExecute.c (INST_FOREACH_STEP4): Re-fetch pointers for
- * tests/foreach.test (foreach-10.1): the value list each iteration
- of the loop as defense against shimmers. [Bug 1671087]
+2010-01-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclVar.c (TclArraySet): Re-fetch pointers for the list
- * tests/var.test (var-17.1): argument of [array set] each time
- through the loop as defense against possible shimmer issues.
- [Bug 1669489].
+ * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 1636685]: Use the configuration
+ for modern FreeBSD suggested by the FreeBSD porter.
-2007-03-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-12-30 Donal K. Fellows <dkf@users.sf.net>
- * 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]
+ * 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.
-2007-03-07 Daniel Steffen <das@users.sourceforge.net>
+2009-12-29 Donal K. Fellows <dkf@users.sf.net>
- * macosx/tclMacOSXNotify.c: add spinlock debugging and sanity checks.
+ * generic/tclInterp.c (Tcl_MakeSafe): [Bug 2895741]: Make sure that
+ the min() and max() functions are supported in safe interpreters.
- * unix/tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in macosx-version-min check.
- * unix/configure: autoconf-2.13
+2009-12-28 Donal K. Fellows <dkf@users.sf.net>
-2007-03-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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):
- * 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]
+ * 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.
-2007-02-22 Andreas Kupries <andreask@activestate.com>
+2009-12-27 Donal K. Fellows <dkf@users.sf.net>
- * 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.
+ * doc/namespace.n (SCOPED SCRIPTS): [Bug 2921538]: Updated example to
+ not be quite so ancient.
-2007-02-20 Don Porter <dgp@users.sourceforge.net>
+2009-12-23 Donal K. Fellows <dkf@users.sf.net>
- * doc/tcltest.n: Typo fix. [Bug 1663539]
+ * library/safe.tcl (AliasSource, AliasExeName): [Bug 2913625]: Stop
+ information about paths from leaking through [info script] and [info
+ nameofexecutable].
-2007-02-19 Jeff Hobbs <jeffh@ActiveState.com>
+2009-12-16 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIOUtil.c (Tcl_FSEvalFile): safe incr of objPtr ref.
+ * library/safe.tcl (::safe::AliasGlob): Upgrade to correctly support a
+ larger fraction of [glob] functionality, while being stricter about
+ directory management.
- * unix/tcl.m4: use SHLIB_SUFFIX=".so" on HP-UX ia64 arch.
- * unix/configure: autoconf-2.13
+ * doc/tm.n: [Bug 1911342]: Formatting rewrite to avoid bogus crosslink
+ to the list manpage when generating HTML.
-2007-02-12 Andreas Kupries <andreask@activestate.com>
+ * 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/tclEncoding.c (EscapeFromUtfProc): Applied patch
- supplied by Mo DeJong to fix [Bug 1516109]. Backport from Tcl
- 8.5. Mo's description: 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 case for escape byte overlap case.
+2009-12-12 Donal K. Fellows <dkf@users.sf.net>
-2007-02-04 Daniel Steffen <das@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!
- * unix/configure.in: add caching to -pipe check.
- * unix/configure: autoconf-2.13
+2009-12-10 Andreas Kupries <andreask@activestate.com>
-2007-01-30 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * win/Makefile.in (install-private-headers): added target
+2009-12-09 Andreas Kupries <andreask@activestate.com>
-2007-01-29 Don Porter <dgp@users.sourceforge.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).
- * doc/fcopy.n: Typo fix. [Bug 1630627]
+2009-12-07 Don Porter <dgp@users.sourceforge.net>
-2007-01-25 Daniel Steffen <das@users.sourceforge.net>
+ * 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.
- * unix/tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible
- * unix/configure.in: and move (rather than duplicate) -isysroot flags
- from CFLAGS to CPPFLAGS to avoid errors about multiple -isysroot flags
- from some older gcc builds.
+2009-12-02 Jan Nijtmans <nijtmans@users.sf.net>
- * unix/configure: autoconf-2.13
+ * tools/genStubs.tcl: Add support for win32 CALLBACK functions (needed
+ for Tk bugfix).
-2007-01-22 Andreas Kupries <andreask@activestate.com>
+2009-11-30 Donal K. Fellows <dkf@users.sf.net>
- * compat/memcmp.c (memcmp): Fixed the VOID / CONST typo introduced
- by the last checkin.
+ * doc/Tcl.n: [Bug 2901433]: Improved description of expansion to
+ mention that it is using list syntax.
-2007-01-22 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-11-27 Donal K. Fellows <dkf@users.sf.net>
- * compat/memcmp.c (memcmp): Reworked so that arithmetic is never
- performed upon void pointers, since that is illegal. [Bug 1631017]
+ * 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.
-2006-01-19 Daniel Steffen <das@users.sourceforge.net>
+2009-11-25 Stuart Cassoff <stwo@users.sf.net>
- * macosx/tclMacOSXNotify.c: accommodate changes to prototypes of
- OSSpinLock(Un)Lock API.
+ * 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.
- * tests/env.test: add extra system env vars that need to be preserved
- on some Mac OS X versions for testsuite to work.
-
- * 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.13
-
-2006-12-19 Daniel Steffen <das@users.sourceforge.net>
+2009-11-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * unix/tclUnixThrd.c (TclpInetNtoa): fix for 64 bit.
+ * generic/tclEncoding.c: Fix [Bug 2891556] and improve test to detect
+ * tests/decoding.test: similar manifestations in the future.
- * unix/tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit -arch
- flag succeeds before enabling 64bit build.
- * unix/configure: autoconf-2.13
+2009-11-12 Don Porter <dgp@users.sourceforge.net>
-2006-12-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ *** 8.5.8 TAGGED FOR RELEASE ***
- * doc/string.n: Fix example. [Bug 1615277]
+ * changes: Update for 8.5.8 release.
-2006-12-05 Andreas Kupries <andreask@activestate.com>
+ * generic/tclClock.c (TclClockInit): Do not create [clock] support
+ commands in safe interps.
- * tests/pkg.test: Backport to 8.4 (Don Porter's work):
- * generic/tclPkg.c: When no requirements are supplied to a [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.
+ * tests/io.test: New test io-53.11 to test for [Bug 2895565].
-2006-12-04 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-11-12 Andreas Kupries <andreask@activestate.com>
- * doc/file.n: Fix confusing wording for [file pathtype]. [Bug 1606454]
+ * 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.
-2006-11-28 Andreas Kupries <andreask@activestate.com>
+2009-11-11 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tclBasic.c: TIP #280 implementation, conditional on the
- * generic/tclCmdAH.c: define TCL_TIP280.
- * 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:
+ * tests/fCmd.test: Fixed a number of issues for Vista and Win7
+ * tests/registry.test: that are due to restricted permissions.
+ * tests/winFCmd.test:
-2006-11-27 Kevin Kenny <kennykb@acm.org>
+2009-11-11 Don Porter <dgp@users.sourceforge.net>
- * 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]
+ * library/http/http.tcl: [Bug 2891171]: Update the URL syntax
+ check to RFC 3986 compliance on the subject of non-encoded question
+ mark characters.
-2006-11-26 Daniel Steffen <das@users.sourceforge.net>
+ * 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.
- * unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389]
- * unix/configure: autoconf-2.13 [Bug 1230558]
+2009-11-11 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
-2006-11-07 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * unix/tclUnixFCmd.c (CopyFile): Added code to fall back to a
- hardwired default block size should the filesystem report a bogus
- value. [Bug 1586470]
+2009-11-10 Don Porter <dgp@users.sourceforge.net>
-2006-11-03 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclBasic.c: Plug another leak in TCL_EVAL_DIRECT
+ evaluation.
- * generic/tclBasic.c (TEOVI): fix for possible leak of a Command in
- the presence of execution traces that delete it.
+ * generic/tclObj.c: Plug memory leak in TclContinuationsEnter().
+ [Bug 2895323]
- * 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.
+2009-11-09 Stuart Cassoff <stwo@users.sf.net>
-2006-11-01 Daniel Steffen <das@users.sourceforge.net>
+ * win/README: [bug 2459744]: Removed outdated Msys + Mingw info.
- * generic/tclEnv.c (Darwin): mark _environ symbol as unexported.
+2009-11-09 Don Porter <dgp@users.sourceforge.net>
-2006-10-31 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * generic/tclBasic.c (TclEvalObjEx): Plug memory leak in
+ TCL_EVAL_DIRECT evaluation.
- * rules.vc: Fix [Bug 1582769] build with VC2003 and correct i386 arch
+ * tests/info.test: Resolve ambiguous resolution of variable "res".
-2006-10-23 Don Porter <dgp@users.sourceforge.net>
+2009-11-03 Don Porter <dgp@users.sourceforge.net>
- * README: Bump version number to 8.4.15
- * generic/tcl.h:
+ * generic/tcl.h: Bump to 8.5.8 for release.
+ * library/init.tcl:
* tools/tcl.wse.in:
* unix/configure.in:
* unix/tcl.spec:
- * win/README.binary:
* win/configure.in:
+ * README:
- * unix/configure: autoconf-2.13
+ * unix/configure: autoconf-2.59
* win/configure:
-2006-10-18 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- *** 8.4.14 TAGGED FOR RELEASE ***
-
- * win/nmakehlp.c: Ensure builds with VC6 without Platform SDK.
- * win/rules.vc: Pickup MACHINE from environment.
-
-2006-10-17 Don Porter <dgp@users.sourceforge.net>
+ * changes: Update for 8.5.8 release.
- * generic/tclIOUtil.c: Cleaned up some code flagged by a
- * generic/tclInt.h: `make checkexports` test.
- * win/tclWin32Dll.c:
- * win/tclWinFile.c:
-
-2006-10-16 Daniel Steffen <das@users.sourceforge.net>
+2009-11-03 Andreas Kupries <andreask@activestate.com>
- * changes: updates for 8.4.14 release.
+ * 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.
- * macosx/Makefile: don't redo prebinding of non-prebound binaires.
+2009-11-03 Kevin B. Kenny <kennykb@acm.org>
-2006-10-11 Andreas Kupries <andreask@activestate.com>
+ * 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/tclPkg.c (Tcl_PkgRequireEx): Corrected crash when argument
- version==NULL passed in. Backport of the fix for the same problem in
- 8.5.
+2009-11-03 Pat Thoyts <patthoyts@users.sourceforge.net>
-2006-10-10 Don Porter <dgp@users.sourceforge.net>
+ * tests/tcltest.test: Backport permissions fix for Win7.
- * changes: changes updated for 8.4.14 release.
+2009-10-31 Donal K. Fellows <dkf@users.sf.net>
-2006-10-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclBasic.c (ExprRoundFunc): [Bug 2889593]: Correctly report
+ the expected number of arguments when generating an error for round().
- * tests/http.test: update tests to handle strictness change.
+2009-10-29 Don Porter <dgp@users.sourceforge.net>
-2006-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * 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.
- * win/rules.vc: avoid /RTCc flag with MSVC8. [Bug 1571954]
-
-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 false for 8.4).
- [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-02 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclFileName.c (TclGlob): Prevent doubling of directory
- separators by [glob]. [Bug 1569042]
-
-2006-10-01 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * win/tclWinFile.c: Handle possible missing define.
- * win/tclWinFile.c: Backported fix for [Bug 1420432] (cannot set
- * tests/cmdAH.test: mtime for directories on windows).
-
-2006-09-30 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclUtil.c (Tcl_SplitList): optimisation, [Patch 1344747]
- by dgp.
-
-2006-09-26 Pat Thoyts <patthoyts@users.sourceforge.net>
+ ***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.
+
+2009-10-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.
+
+2009-10-28 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclLiteral.c: Backport fix for [Bug 2888044].
+
+2009-10-28 Kevin B. Kenny <kennykb@acm.org>
+
+ * 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).
+
+2009-10-27 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclPathObj.c: [Bug 2884203]: Missing refcount on cached
+ normalized path caused crashes.
+
+2009-10-27 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.)
+
+2009-10-24 Kevin B. Kenny <kennykb@acm.org>
+
+ * 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.)
- * win/makefile.vc: Updated MSVC build to properly deal with
- * win/nmakehlp.c: MSVC8 and AMD64 target. Backport from 8.5
- * win/rules.vc:
- * generic/tcl.h: Fixed stat definition for MSVC8 AMD64.
- * win/tclWinSock.c: Casting type police.
- * win/tclWinTime.c:
+2009-10-23 Andreas Kupries <andreask@activestate.com>
-2006-09-26 Don Porter <dgp@users.sourceforge.net>
+ * 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/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.
+2009-10-21 Donal K. Fellows <dkf@users.sf.net>
-2006-09-25 Andreas Kupries <andreask@activestate.com>
+ * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS
+ where SIGSEGV and SIGBUS are the same value.
- * generic/tclIO.c (Tcl_StackChannel): Fixed [SF Tcl Bug 1564642], aka
- coverity #51. Extended loop condition, added checking for NULL to
- prevent seg.fault.
+2009-10-19 Don Porter <dgp@users.sourceforge.net>
-2006-09-25 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * generic/tclBasic.c: Reverted exposure of patchlevel in registered
- core version when TIP#268 features are activated. Better compatibility
- with existing packages. Like Tk.
+2009-10-18 Joe Mistachkin <joe@mistachkin.com>
-2006-09-24 Miguel Sofer <msofer@users.sf.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.
- * generic/tclParse.c (Tcl_ParseCommand): also return an error if
- start==NULL and numBytes<0. This is coverity's bug #20
+ * 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.
- * generic/tclStringObj.c (STRING_SIZE): fix allocation for 0-length
- strings. This is coverity's bugs #54-5
+2009-10-17 Donal K. Fellows <dkf@users.sf.net>
-2006-09-22 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.
- * generic/tclInt.h: Moved TIP#268's field 'packagePrefer' to the end
- of the structure, for better backward compatibility.
+2009-10-08 Donal K. Fellows <dkf@users.sf.net>
-2006-09-22 Andreas Kupries <andreask@activestate.com>
+ * 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/tclPkg.c (Tcl_PkgRequireEx): Changes handling of the return
- information from 'Tcl_PkgRequireProc'. Keep the interpreter result
- empty. Backport of fix for problem found while testing #268 under 8.5.
- More details in the comments.
+2009-10-07 Andreas Kupries <andreask@activestate.com>
-2006-09-22 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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/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]
+ * 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.
-2006-09-21 Andreas Kupries <andreask@activestate.com>
+2009-10-06 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.decls: Implemented TIP #268, conditionally.
- * generic/tclBasic.c: Define TCL_TIP268 to activate the new
- * generic/tclDecls.h: features.
- * generic/tclInt.h:
- * generic/tclPkg.c:
- * generic/tclStubInit.c:
- * generic/tclTest.c:
- * library/init.tcl
- * library/package.tcl:
- * tests/pkg.test:
- * tests/platform.test:
- * tests/safe.test:
- * doc/PkgRequire.3:
+ * 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].
-2006-09-15 Jeff Hobbs <jeffh@ActiveState.com>
+2009-10-05 Don Porter <dgp@users.sourceforge.net>
- * 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 for 8.4.14
+ * changes: Update for 8.5.8 release.
-2006-09-12 Andreas Kupries <andreask@activestate.com>
+2009-10-04 Daniel Steffen <das@users.sourceforge.net>
- * 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.13
+ * macosx/tclMacOSXBundle.c: Workaround CF memory managment bug in
+ * unix/tclUnixInit.c: Mac OS X 10.4 & earlier. [Bug 2569449]
- * 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.
+2009-10-02 Kevin B. Kenny <kennykb@acm.org>
-2006-09-11 Andreas Kupries <andreask@activestate.com>
+ * library/tzdata/Africa/Cairo:
+ * library/tzdata/Asia/Gaza:
+ * library/tzdata/Asia/Karachi:
+ * library/tzdata/Pacific/Apia: Olson's tzdata2009n.
- * tests/msgcat.test: Bumped version in auxiliary files as well.
- * doc/msgcat.n:
+2009-09-29 Don Porter <dgp@users.sourceforge.net>
-2006-09-11 Daniel Steffen <das@users.sourceforge.net>
+ * 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/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.
+2009-09-11 Don Porter <dgp@users.sourceforge.net>
-2006-09-10 Don Porter <dgp@users.sourceforge.net>
+ * library/http/http.tcl: Bump to http 2.7.4 to account for
+ * library/http/pkgIndex.tcl: [Bug 2849860] fix.
+ * unix/Makefile.in:
+ * win/Makefile.in:
- * library/msgcat/msgcat.tcl: Bump to version msgcat 1.3.4 to account
- * library/msgcat/pkgIndex.tcl: for modifications.
+2009-09-10 Donal K. Fellows <dkf@users.sf.net>
-2006-09-10 Daniel Steffen <das@users.sourceforge.net>
+ * library/http/http.tcl (http::Event): [Bug 2849860]: Handle charset
+ names in double quotes; some servers like generating them like that.
- * 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).
+2009-09-01 Don Porter <dgp@users.sourceforge.net>
- * unix/tcl.m4: add caching to new SC_TCL_* macros for MT-safe wrappers
- * unix/configure: autoconf-2.13
+ * 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:
-2006-09-08 Andreas Kupries <andreask@activestate.com>
+2009-08-27 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixCompat.c: Fixed conditions for CopyArray/CopyString, and
- CopyHostent. Also fixed bad var names in TclpGetHostByName.
+ * generic/tclStringObj.c: [Bug 2845535]: A few more string
+ overflow cases in [format].
-2006-09-08 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2009-08-25 Andreas Kupries <andreask@activestate.com>
- * 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).
+ * 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):
- * unix/configure.in: Assume gethostbyname() and gethostbyaddr() are
- MT-safe starting with Darwin 6 (Mac OSX 10.2).
+ 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.
- * unix/configure: Regenerated with autoconf V2.13
+2009-08-24 Daniel Steffen <das@users.sourceforge.net>
-2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.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)
- * unix/tclUnixFCmd.c: Removed some false tests added (and left by
- mistake) by fixing [Bug 999544]
+2009-08-21 Don Porter <dgp@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
- CopyArrayi() to be on the sizeof(char *) boundary.
+ * generic/tclFileName.c: Correct regression in [Bug 2837800] fix.
+ * tests/fileName.test:
-2006-09-07 Andreas Kupries <andreask@activestate.com>
+2009-08-20 Don Porter <dgp@users.sourceforge.net>
- * unix/configure: Regenerated using autoconf 2.13.
+ * generic/tclFileName.c: [Bug 2837800]: Get the correct result from
+ [glob */test] when * matches something like ~foo.
-2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * 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.
- * unix/tclUnixChan.c Rewritten MT-safe wrappers to
- * unix/tclUnixCompat.c return ptrs to TSD storage
- * unix/tclUnixFCmd.c making them all look like their
- * unix/tclUnixPort.h MT-unsafe pendants API-wise.
- * unix/tclUnixSock.c
+2009-08-20 Donal K. Fellows <dkf@users.sf.net>
-2006-09-06 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * generic/tclCmdIL.c (Tcl_LsortObjCmd): Plug memory leak.
- * unix/tclUnixChan.c: Added TCL_THREADS ifdef'ed usage
- * unix/tclUnixFCmd.c: of MT-safe calls like:
- * unix/tclUnixSock.c: getpwuid, getpwnam, getgrgid, getgrnam,
- * unix/tclUnixPort.h: gethostbyname and gethostbyaddr.
- * unix/Makefile.in: See Tcl Bug: 999544
- * unix/configure.in:
- * unix/tcl.m4:
- * unix/configure: Regenerated.
+2009-08-18 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixCompat.c: New file containing MT-safe implementation of
- some library calls.
+ * generic/tclPathObj.c: [Bug 2837800]: Added NULL check to prevent
+ * tests/fileName.test: crashes during [glob].
-2006-09-04 Don Porter <dgp@users.sourceforge.net>
+2009-08-06 Andreas Kupries <andreask@activestate.com>
- * tests/main.text (Tcl_Main-4.4): Test corrected to not be
- timing sensitive to the Bug 1481986 fix. [Bug 1550858]
+ * 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}).
-2006-09-04 Jeff Hobbs <jeffh@ActiveState.com>
+2009-08-02 Donal K. Fellows <dkf@users.sf.net>
- * doc/package.n: correct package example
+ * unix/tclUnixFCmd.c (GetOwnerAttribute, SetOwnerAttribute)
+ (GetGroupAttribute, SetGroupAttribute): [Bug 1942222]: Stop calling
+ * unix/tclUnixFile.c (TclpGetUserHome): endpwent() and endgrent();
+ they've been unnecessary for ages.
-2006-08-30 Jeff Hobbs <jeffh@ActiveState.com>
+2009-07-31 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinChan.c: [Bug 819667] Improve logic for identifying COM
- ports.
+ * 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.
- * win/tclWinFCmd.c: [Bug 1548263] Added test for NULL return
- * generic/tclIOUtil.c: from Tcl_FSGetNormalizedPath which was
- causing segv's
+2009-07-24 Andreas Kupries <andreask@activestate.com>
- * generic/tclFileName.c (TclDoGlob): match incr with existing decr.
+ * 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.
- * unix/Makefile.in: add valgrindshell target and update default
- VALGRINDARGS. User can override, or add to it with VALGRIND_OPTS env
- var.
+2009-07-23 Joe Mistachkin <joe@mistachkin.com>
- * generic/tclBasic.c (Tcl_CreateInterp): init iPtr->threadId
+ * generic/tclNotify.c: [Bug 2820349]: Ensure that queued events are
+ freed once processed.
- * generic/tclIOGT.c (ExecuteCallback):
- * generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj)
- with more efficient Tcl_Eval(Obj)Ex
+2009-07-21 Kevin B. Kenny <kennykb@acm.org>
-2006-08-22 Andreas Kupries <andreask@activestate.com>
+ * library/tzdata/Asia/Dhaka:
+ * library/tzdata/Indian/Mauritius: Olson's tzdata2009k.
- * unix/tclUnixNotfy.c (Tcl_WaitForEvent): Fixed broken if syntax
- committed 2006-08-21 by Daniel. The broken syntax is visible to all
- unix platforms, but not on OSX for machines which HAVE_COREFOUNDATION.
+2009-07-20 Donal K. Fellows <dkf@users.sf.net>
-2006-08-21 Don Porter <dgp@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/tclIOUtil.c: Revisions to complete the thread finalization
- of the cwdPathPtr. [Bug 1536142]
+2009-07-16 Don Porter <dgp@users.sourceforge.net>
-2006-08-21 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclCmdIL.c: Removed unused variables.
+ * generic/tclCompile.c:
+ * generic/tclVar.c:
+ * unix/tclUnixChan.c:
- * 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; sync panic msg changes from
- HEAD.
+ * generic/tclScan.c: Typo in ACCEPT_NAN configuration.
- * 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/tclStrToD.c: [Bug 2819200]: Set floating point control
+ register on MIPS systems so that the gradual underflow expected by Tcl
+ is in effect.
- * 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]
+2009-07-14 Andreas Kupries <andreask@activestate.com>
-2006-08-18 Daniel Steffen <das@users.sourceforge.net>
+ * 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):
- * 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.13
+ 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.
- * generic/tcl.h: add fixes for building on Leopard and support
- * unix/tclUnixPort.h: for 64-bit CoreFoundation on Leopard.
+ 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).
- * unix/tclUnixPort.h: on Darwin x86_64, disable use of vfork as it
- causes execve to fail intermittently. (rdar://4685553)
+2009-07-01 Pat Thoyts <patthoyts@users.sourceforge.net>
- * macosx/README: updates for x86_64 support and Xcode 2.4.
+ * 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.
- * 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-06-15 Don Porter <dgp@users.sourceforge.net>
-2006-08-09 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion.
- * generic/tclEncoding.c: Replace buffer copy in for loop with
- call to memcpy(). Thanks to afredd. [Patch 1530262]
+2009-06-13 Don Porter <dgp@users.sourceforge.net>
-2006-08-03 Daniel Steffen <das@users.sourceforge.net>
+ * 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].
- * 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-06-10 Don Porter <dgp@users.sourceforge.net>
-2006-07-30 Kevin Kenny <kennykb@acm.org>
+ * 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]
- * tests/clock.test: Allowed UTC as a synonym for GMT in two tests that
- indirectly invoke 'strftime' with the result of 'gmtime' to fix a
- bogus test failure on FreeBSD systems. [Bug 1513489]
+2006-06-09 Kevin B. Kenny <kennykb@acm.org>
-2006-07-30 Joe English <jenglish@users.sourceforge.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
- * doc/AppInit.3: Fix typo [Bug 1496886]
+2006-06-08 Kevin B. Kenny <kennykb@acm.org>
-2006-07-20 Daniel Steffen <das@users.sourceforge.net>
+ * library/tzdata/Asia/Dhaka: New DST rule for Bangladesh.
+ (Olson's tzdata2009i.)
- * 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.
+2009-06-02 Don Porter <dgp@users.sourceforge.net>
- * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): add support for
- * unix/tclUnixFCmd.c (DoRenameFile, CopyFileAtts): weakly importing
- * unix/tclUnixInit.c (TclpSetInitialEncodings): symbols not
- available on OSX 10.2 or 10.3, enables binaires built on later OSX
- versions to run on earlier ones.
- * 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; cleanup
- quoting.
- * unix/configure: autoconf-2.13
+ * 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/tclLoadDyld.c (TclpLoadMemory):
- * unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned
- comparison and other warnings from gcc4 -Wextra.
+ * generic/tclExecute.c: Corrected implementations and selection
+ logic of the INST_EXPON instruction to fix [Bug 2798543].
-2006-07-13 Andreas Kupries <andreask@activestate.com>
+2009-06-01 Don Porter <dgp@users.sourceforge.net>
- * 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.
+ * tests/expr.test: Added many tests demonstrating the broken
+ cases of [Bug 2798543].
-2006-07-11 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2009-05-30 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclAsync.c: Made Tcl_AsyncDelete() more tolerant when called
- after all thread TSD has been garbage-collected.
+ * library/tzdata/Africa/Cairo:
+ * library/tzdata/Asia/Amman: Olson's tzdata2009h.
-2006-07-10 Jeff Hobbs <jeffh@ActiveState.com>
+2009-05-29 Andreas Kupries <andreask@activestate.com>
- * generic/tclIO.c (Tcl_CreateChannel): allow Tcl std channel
- inheritance to be #defined out (default remains in).
+ * 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.
-2006-06-15 Don Porter <dgp@users.sourceforge.net>
+2009-05-07 Miguel Sofer <msofer@users.sf.net>
- * changes: changes to start prep for an 8.4.14 release.
+ * generic/tclObj.c (Tcl_GetCommandFromObj): fix for bug [2785893],
+ insure that a command in a deleted namespace cannot be found
+ through a cached name.
-2006-06-14 Daniel Steffen <das@users.sourceforge.net>
+2009-05-06 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixPort.h (Darwin): support for 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/tclCmdMZ.c: Improve overflow error message from
+ [string repeat]. [Bug 2582327]
-2006-06-14 Pat Thoyts <patthoyts@users.sourceforge.net>
+2009-04-28 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/regerror.c: Enable building Tcl with Microsoft's latest
- * generic/tcl.h: compiler offering (VS2005). We have to handle
- * generic/tclDate.c: a number of oddities as they have deprecated
- * tests/env.test: most of the standard C library and now
- * win/makefile.vc: generate manifest files to be linked into the
- * win/nmakehlp.c: binaries. [Bug 1424909]
- * win/rules.vc:
- * win/tclWinTime.c:
+ * unix/tcl.m4, unix/configure (SC_CONFIG_CFLAGS): harden the check
+ to add _r to CC on AIX with threads.
-2006-06-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2009-04-27 Alexandre Ferrieux <ferrieux@users.sourceforge.net>
- * unix/tclLoadDl.c (TclpDlopen): Workaround for a compiler bug in Sun
- Forte 6. [Bug 1503729]
+ * 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.
-2006-06-06 Don Porter <dgp@users.sourceforge.net>
+2009-04-27 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: Backport fix for [Bug 2446662]: resync Win
+ behavior on RST with that of unix (EOF).
-2006-05-31 Jeff Hobbs <jeffh@ActiveState.com>
+2009-04-27 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclNamesp.c (NamespaceInscopeCmd): revert [Bug 1400572]
- fix of 2006-01-09 for [namespace inscope] as it seems to mess with
- itcl scope decoding. Leaving namespace-29.6 test failure until final
- cause it determined.
+ * 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.)
-2006-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+2009-04-24 Stuart Cassoff <stwo@users.sf.net>
- * generic/tcl.h (Tcl_DecrRefCount): use if/else construct to allow
- placement in unbraced outer if/else conditions. (jcw)
+ * unix/Makefile.in: [Patch 2769530]: Don't chmod/exec installManPage.
-2006-05-27 Daniel Steffen <das@users.sourceforge.net>
+2009-04-15 Don Porter <dgp@users.sourceforge.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]
- * unix/configure: autoconf-2.59
+ *** 8.5.7 TAGGED FOR RELEASE ***
-2006-05-24 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclStringObj.c: AppendUnicodeToUnicodeRep failed
+ to set stringPtr->allocated to 0, leading to crashes.
- * 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]
+ * changes: Update for 8.5.7 release.
-2006-05-13 Don Porter <dgp@users.sourceforge.net>
+2009-04-14 Stuart Cassoff <stwo@users.sourceforge.net>
- * generic/tclFileName.c (TclDoGlob): Disabled the partial
- normalization done by the recursive glob routine, since changing the
- precise string of the pathname broke [glob] on some Tcl_Filesystems.
- [Bug 943995]
+ * unix/tcl.m4: Removed -Wno-implicit-int from CFLAGS_WARNING.
- * 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.
+2008-04-14 Kevin B. Kenny <kennykb@acm.org>
-2006-05-05 Don Porter <dgp@users.sourceforge.net>
+ * library/tzdata/Asia/Karachi: Updated rules for Pakistan Summer
+ Time (Olson's tzdata2009f)
- * 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-04-10 Don Porter <dgp@users.sourceforge.net>
-2006-05-04 Don Porter <dgp@users.sourceforge.net>
+ * changes: Update for 8.5.7 release.
- * README: Bump version number to 8.4.14
- * generic/tcl.h:
+ * generic/tcl.h: Bump to 8.5.7 for release.
+ * library/init.tcl:
* tools/tcl.wse.in:
* unix/configure.in:
* unix/tcl.spec:
- * win/README.binary:
* win/configure.in:
+ * README:
- * unix/configure: autoconf-2.13
+ * unix/configure: autoconf-2.59
* win/configure:
- * generic/tclExecute.c (ExprSrandFunc): Restore acceptance of wide
- * tests/expr-old.test: integer values by srand() [Bug 1480509]
-
-2006-04-12 Don Porter <dgp@users.sourceforge.net>
-
- *** 8.4.13 TAGGED FOR RELEASE ***
+ * generic/tclStringObj.c (UpdateStringOfString): Fix bug detected
+ by compiler warning about undefined "dst".
- * changes: updates for another RC.
+ * tests/httpd: Backport new tests for http 2.7.3.
+ * tests/http.tcl:
-2006-04-11 Don Porter <dgp@users.sourceforge.net>
+2009-04-10 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclCmdMZ.c: Stop some interference between enter traces
- * tests/trace.test: and enterstep traces. [Bug 1458266]
-
-2006-04-10 Don Porter <dgp@users.sourceforge.net>
+ * unix/tclUnixChan.c: TclUnixWaitForFile(): use FD_* macros
+ * macosx/tclMacOSXNotify.c: to manipulate select masks (Cassoff).
+ [Freq 1960647] [Bug 3486554]
- * changes: updates for another RC.
+ * unix/tclLoadDyld.c: use RTLD_GLOBAL instead of RTLD_LOCAL.
+ [Bug 1961211]
-2006-04-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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).
- * 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]
+ * 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.
-2006-04-06 Daniel Steffen <das@users.sourceforge.net>
+ * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c.
- * unix/tcl.m4: removed TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING
- define on Darwin. [Bug 1457515]
- * unix/configure: autoconf-2.13
+ * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode()
+ * generic/tclIntPlatDecls.h: internal API, regen.
+ * generic/tclStubInit.c:
-2006-04-05 Don Porter <dgp@users.sourceforge.net>
+ * 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
- * library/reg/pkgIndex.tcl: Long overlooked bump to registry
- * win/tclWinReg.c: package version 1.1.4 (should have
- been done for the Tcl 8.4.8 release!)
+ * macosx/tclMacOSXBundle.c: on Mac OS X 10.4 and later, replace
+ deprecated NSModule API by dlfcn API.
- * library/dde/pkgIndex.tcl: Long overlooked bump to dde package
- * win/tclWinDde.c: version 1.2.4 (should have been done
- for the Tcl 8.4.8 release!)
+2009-04-09 Kevin B. Kenny <kennykb@acm.org>
-2006-04-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * tools/tclZIC.tcl: Always emit Unix-style line terminators.
+ * library/tzdata: Olson's tzdata2009e.
- * 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]
+2009-04-09 Don Porter <dgp@users.sourceforge.net>
-2006-04-04 Don Porter <dgp@users.sourceforge.net>
+ * 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:
- * generic/tclPkg.c: Revised Bug 1162286 fix from 2005-11-08 to be
- * tests/pkg.test: even more forgiving of package version
- mismatch errors in [package ifneeded] commands, not even logging any
- warning messages. This further reduces the
- ***POTENTIAL INCOMPATIBILITY*** noted for that change.
+2009-04-08 Andreas Kupries <andreask@activestate.com>
-2006-04-03 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * 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.
+2009-04-08 Don Porter <dgp@users.sourceforge.net>
- * 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]
+ * 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:
- * 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].
+2009-04-07 Don Porter <dgp@users.sourceforge.net>
-2006-03-28 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclStringObj.c: Completed backports of fixes for
+ [Bug 2494093] and [Bug 2553906].
- * win/configure, win/tcl.m4: define MACHINE for gcc builds as well.
- Needed by Tk for manifest generation.
+2009-03-30 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinConsole.c: revert 2005-11-03 [Patch 1256872] change to add
- win32 unicode console support as it broke the ability to modify the
- encoding to the console.
+ * doc/Alloc.3: Size argument is "unsigned int". [Bug 2556263]
-2006-03-28 Daniel Steffen <das@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]
- * unix/tclUnixFCmd.c (TclpObjNormalizePath): deal with *BSD/Darwin
- realpath() converting relative paths into absolute paths. [Bug 1064247]
+2009-03-27 Don Porter <dgp@users.sourceforge.net>
-2006-03-28 Vince Darley <vincentdarley@sourceforge.net>
+ * 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]
- * generic/tclIOUtil.c: fix to nativeFilesystemRecord comparisons
- (lesser part of [Bug 1064247])
+2009-03-20 Don Porter <dgp@users.sourceforge.net>
-2006-03-27 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * 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]
- * win/tclWinTest.c: Fixes for [Bug 1456373] (mingw-gcc issue)
+ * generic/tclExecute.c (INST_CONCAT1): Panic when appends overflow
+ the max length of a Tcl value. [Bug 2669109]
-2006-03-23 Don Porter <dgp@users.sourceforge.net>
+2009-03-18 Don Porter <dgp@users.sourceforge.net>
- * tests/expr.test: Nan self-inquality test silenced. [Bug 761471]
+ * win/tclWinFile.c (TclpObjNormalizePath): Corrected Tcl_Obj leak.
+ Thanks to Joe Mistachkin for detection and patch. [Bug 2688184].
-2006-03-22 Don Porter <dgp@users.sourceforge.net>
+2009-03-15 Donal K. Fellows <dkf@users.sf.net>
- * changes: updates for another RC.
+ * generic/tclPosixStr.c (Tcl_SignalId,Tcl_SignalMsg): [Patch 1513655]:
+ Added support for SIGINFO, which is present on BSD platforms.
-2006-03-18 Vince Darley <vincentdarley@sourceforge.net>
+2009-02-20 Don Porter <dgp@users.sourceforge.net>
- * generic/tclTest.c:
- * win/tclWinFile.c:
- * win/tclWinTest.c:
- * tests/fCmd.test:
- * tests/winFCmd.test:
- * tests/tcltest.test: Backport of [file writable] fixes for Windows
- from HEAD. [Bug 1193497]
+ * 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].
-2006-03-16 Andreas Kupries <andreask@activestate.com>
+2009-02-17 Jeff Hobbs <jeffh@ActiveState.com>
- * doc/open.n: Documented the changed behaviour of 'a'ppend mode.
+ * 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.
- * tests/io.test (io-43.1 io-44.[1234]): Rewritten to be
- self-contained with regard to setup and cleanup. [Bug 681793]
+2009-02-05 Don Porter <dgp@users.sourceforge.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/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]
- * tests/ioCmd.test (iocmd-13.7.*): Extended the testsuite to check the
- new handling of 'a'.
+2009-02-04 Don Porter <dgp@users.sourceforge.net>
-2006-03-15 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * 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]
+ * generic/tclCmdMZ.c: Prevent crashes due to int overflow of the
+ length of the result of [string repeat]. [Bug 2561746]
-2006-03-14 Andreas Kupries <andreask@activestate.com>
+2009-01-29 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclPipe.c (TclCreatePipeline): Modified the processing of
- pipebars to fail if the last bar is followed only by redirections.
- [Bug 768659]
+ * generic/tclNamesp.c (Tcl_FindCommand): [Bug 2519474]: Ensure that
+ the path is not searched when the TCL_NAMESPACE_ONLY flag is given.
-2006-03-14 Andreas Kupries <andreask@activestate.com>
+2009-01-22 Kevin B. Kenny <kennykb@acm.org>
- * 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]
+ * unix/tcl.m4: Corrected a typo ($(SHLIB_VERSION) should be
+ ${SHLIB_VERSION}).
+ * unix/configure: Autoconf 2.59
-2006-03-14 Andreas Kupries <andreask@activestate.com>
+2009-01-21 Andreas Kupries <andreask@activestate.com>
- * win/tclWinPipe.c (Tcl_WaitPid): Backport of fix made to the head by
- David Gravereaux in 2004. See ChangeLog entry 2004-01-19. [Bug 1381436]
+ * 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.
- Fixed a thread-safety problem with the process list. The delayed cut
- operation after the wait was going stale by being outside the list
- lock. It now cuts within the lock and does a locked splice for when it
- needs to instead. [Bug 859820]
+2009-01-19 Kevin B. Kenny <kennykb@acm.org>
-2006-03-13 Don Porter <dgp@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/tclEncoding.c: Report error when an escape encoding
- is missing one of its sub-encodings [Bug 506653]
+2009-01-09 Don Porter <dgp@users.sourceforge.net>
- * 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.13.
+ * 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-03-10 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2009-01-08 Don Porter <dgp@users.sourceforge.net>
- -- Summary of changes fixing [Bug 1437595] --
+ * generic/tclStringObj.c (STRING_UALLOC): Added missing parens
+ required to get correct results out of things like
+ STRING_UALLOC(num + append). [Bug 2494093].
- * generic/tclEvent.c: Cosmetic touches and identation
- * generic/tclInt.h: Added TclpFinalizeSockets() call.
+2009-01-06 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIO.c: Calls TclpFinalizeSockets() as part of the
- TclFinalizeIOSubsystem().
+ * generic/tclDictObj.c (DictIncrCmd): Corrected twiddling in internals
+ of dictionaries so that literals can't get destroyed.
- * unix/tclUnixSock: Added no-op TclpFinalizeSockets().
+ * tests/expr.test, tests/string.test: Eliminate non-ASCII characters.
+ [Bugs 2006884, 2006879]
- * mac/tclMacSock.c:
- * win/tclWinPipe.c
- * win/tclWinSock.c: Finalization of the 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.
+2009-01-03 Kevin B. Kenny <kennykb@acm.org>:
-2006-03-10 Vince Darley <vincentdarley@sourceforge.net>
+ * 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/tclWin32Dll.c:
- * win/tclWinInt.h:
- * win/tclWinFile.c: backported some fixes from HEAD relating to 'file
- readable' and 'file writable', but main 'file writable' bug still
- outstanding.
+2008-12-21 Don Porter <dgp@users.sourceforge.net>
-2006-03-07 Don Porter <dgp@users.sourceforge.net>
+ *** 8.5.6 TAGGED FOR RELEASE ***
- * README: Bump version number to 8.4.13 and update
- * changes: changes to start prep for an 8.4.13 release.
- * generic/tcl.h:
+ * generic/tcl.h: Bump to 8.5.6 for release.
+ * library/init.tcl:
* tools/tcl.wse.in:
- * unix/configure{.in}:
+ * unix/configure.in:
* unix/tcl.spec:
- * win/README.binary:
- * win/configure{.in}:
-
- * tests/parse.test: Missing constraint
-
-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-02 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/Makefile.in: convert _NATIVE paths to use / to avoid ".\"
- path-as-escape issue.
-
- * unix/tcl.m4, win/tcl.m4: []-quote ac_defun functions.
-
-2006-03-02 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * unix/tcl.m4: Fix for [Tk Bug 1334613] to sort out shared library
- * unix/configure: issues on NetBSD. Regenerated configure script.
-
-2006-02-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclBasic.c: Corrections to be sure that TCL_EVAL_GLOBAL
- * tests/parse.test: evaluations act the same as [uplevel #0]
- * tests/trace.test: evaluations, even when execution traces or
- invocations of [::unknown] are present. [Bug 1439836]
-
-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.
-
-2006-02-15 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIO.c: Made several routines tolerant of
- * generic/tclIOUtil.c: interp == NULL arguments. [Bug 1380662]
-
-2006-02-09 Don Porter <dgp@users.sourceforge.net>
-
- * tests/main.test (Tcl_Main-6.7): Improved robustness of command
- auto-completion test. [Bug 1422736]
-
-2006-01-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixInit.c (TclpInitPlatform): Improved conditions on when
- to update the FP rounding mode on FreeBSD, taken from FreeBSD port.
-
-2006-01-23 Miguel Sofer <msofer@users.sf.net>
+ * win/configure.in:
+ * README:
- * generic/tclStringObj.c (Tcl_GetRange):
- * tests/stringTest (string-12.21):fixed incorrect handling of internal
- rep in Tcl_GetRange. Thanks to twylite and Peter Spjuth. [Bug 1410553]
+ * unix/configure: autoconf-2.59
+ * win/configure:
-2006-01-16 Reinhard Max <max@suse.de>
+ * changes: Update for 8.5.6 release.
- * generic/tclPipe.c (FileForRedirect): Prevent nameString from being
- freed without having been initialized.
- * tests/exec.test: Added a test for the above.
+ * 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.
-2006-01-12 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * 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.
- * generic/tclIOUtil.c (Tcl_FSGetInternalRep): fixed potential
- overwriting of already freed memory which caused all kinds of (rare
- but reproducible) coredumps all over the place.
+2008-12-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2006-01-11 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c (TEBC:INST_DICT_GET): Make sure that the result
+ is empty when generating an error message. [Bug 2431847]
- * tests/error.test (error-7.0): Test the timing of write traces on
- ::errorInfo. [Bug 1397843]
+2008-12-12 Jan Nijtmans <nijtmans@users.sf.net>
-2006-01-10 Daniel Steffen <das@users.sourceforge.net>
+ * library/clock.tcl (ProcessPosixTimeZone): Fix time change in Eastern
+ Europe (not 3:00 but 4:00 local time) [Bug 2207436]
- * 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 and HEAD
- changes and gratuitous formatting differences, fix SC_CONFIG_MANPAGES
- with default argument, Darwin improvements to SC_LOAD_*CONFIG.
+2008-12-11 Andreas Kupries <andreask@activestate.com>
-2006-01-09 Don Porter <dgp@users.sourceforge.net>
+ * 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]
- * generic/tclNamesp.c (NamespaceInscopeCmd): [namespace inscope]
- * tests/namespace.test: commands were not reported by [info level].
- [Bug 1400572]
-
-2005-12-20 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-12-11 Jan Nijtmans <nijtmans@users.sf.net>
- * generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Format values as longs
- and not ints, so they are less likely to wrap on 64-bit machines.
+ * 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.
-2005-12-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-12-10 Kevin B. Kenny <kennykb@acm.org>
- * doc/Tcl.n: Clarify what is going on in variable substitution
- following thread on comp.lang.tcl.
+ * library/tzdata/*: Update from Olson's tzdata2008i.
-2005-12-14 Daniel Steffen <das@users.sourceforge.net>
+2008-12-04 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIOUtil.c: workaround gcc warning "comparison is always
- * generic/tclTest.c: false due to limited range of data type".
+ * 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]
- * unix/configure.in: run check for fts API on all platforms, since
- Linux glibc2 and *BSDs also have this and using fts is more efficient
- than recursive opendir/readdir (sync with HEAD).
- * unix/configure: regen.
+2008-12-03 Don Porter <dgp@users.sourceforge.net>
-2005-12-12 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * unix/tcl.m4, unix/configure: Fix sh quoting error reported in
- bash-3.1+ [Bug 1377619] (schafer)
+2008-12-02 Andreas Kupries <andreask@activestate.com>
-2005-12-12 Reinhard Max <max@suse.de>
+ * generic/tclIO.c (TclFinalizeIOSubsystem): Replaced Alexandre
+ Ferrieux's first patch for [Bug 2270477] with a gentler version, also
+ supplied by him.
- * generic/tclExecute.c (ExprAbsFunc): fixed the abs(MIN_INT) case so
- that it doesn't break on compilers that don't assume integers to wrap
- around (e.g. gcc-4.1.0).
+2008-12-01 Don Porter <dgp@users.sourceforge.net>
-2005-12-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+ * generic/tclParse.c: Backport fix for [Bug 2251175].
- * tests/lsearch.test (lsearch-10.8..10): If the -start is off the end,
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): searching should find
- nothing at all. [Bug 1374778]
+2008-11-30 Kevin B. Kenny <kennykb@acm.org>
-2005-12-05 Daniel Steffen <das@users.sourceforge.net>
+ * 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.
- *** 8.4.12 TAGGED FOR RELEASE ***
+2008-11-25 Andreas Kupries <andreask@activestate.com>
- * unix/tclUnixPort.h (Darwin): fix incorrect __DARWIN_UNIX03 configure
- overrides that were originally copied from Darwin CVS (rdar://3693001).
+ * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Alexandre
+ Ferrieux's patch for [Bug 2270477] to prevent infinite looping during
+ finalization of channels not bound to interpreters.
-2005-12-05 Don Porter <dgp@users.sourceforge.net>
+2008-08-23 Andreas Kupries <andreask@activestate.com>
- * unix/configure.in: Revised fix for [Bug 1034337] from Daniel
- * unix/tclUnixFCmd.c: Steffen. Uses fts_*() routines.
- * unix/configure: autoconf-2.13
- * changes: Update changes for 8.4.12 release
+ * generic/tclIO.c: Backport of fix for [Bug 2333466].
-2005-12-04 Daniel Steffen <das@users.sourceforge.net>
+2008-11-18 Jan Nijtmans <nijtmans@users.sf.net>
- * README: refer to macosx/README instead of mac/README.
- * mac/README: add note that mac classic port is no longer supported.
+ * 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:
-2005-12-03 Jeff Hobbs <jeffh@ActiveState.com>
+2008-11-13 Jan Nijtmans <nijtmans@users.sf.net>
- * README: correct 2 urls
+ * generic/tclInt.h: Rename static function FSUnloadTempFile to
+ * generic/tclIOUtil.c: TclFSUnloadTempFile, needed in tclLoad.c
-2005-12-01 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclLoad.c: Fixed [Bug 2269431]: load of shared
+ objects leaves temporary files on windows
- * changes: Update changes for 8.4.12 release
+2008-11-10 Andreas Kupries <andreask@activestate.com>
-2005-12-01 Daniel Steffen <das@users.sourceforge.net>
+ * 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.
- * unix/tcl.m4 (Darwin): fixed error when MACOSX_DEPLOYMENT_TARGET unset
- * unix/configure: regen.
+2008-11-04 Jeff Hobbs <jeffh@ActiveState.com>
-2005-11-29 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * win/tcl.m4: Add build support for Windows-x64 builds.
- * win/configure: --enable-64bit now accepts =amd64|ia64 for
- * win/Makefile.in: Windows 64-bit build variants (default: amd64)
- * win/makefile.vc: [Bug 1369597]
+2008-10-24 Pat Thoyts <patthoyts@users.sourceforge.net>
-2005-11-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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
- * generic/tclObj.c (Tcl_GetWideIntFromObj): Add more efficient
- conversion to wides from normal ints. [Bug 1310081]
+2008-10-23 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Allow [lsearch -regexp] to
- process REs that contain backreferences. This expensive mode of
- operation is only used if the RE would otherwise cause a compilation
- failure. [Bug 1366683]
+ * 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
-2005-11-28 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * unix/configure: autoconf (2.59)
+ * win/configure:
- * win/tclWinSock.c (CreateSocket): Applied [Patch 1353853] to prevent
- reads of uninitialized variables during cleanup.
+2008-10-19 Don Porter <dgp@users.sourceforge.net>
-2005-11-27 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclProc.c: Reset -level and -code values to defaults
+ after they are used. [Bug 2152286]
- * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),
- add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to
- configure (flag can't be present twice, so can't be in both CFLAGS and
- LDFLAGS during configure), don't use -prebind when deploying on 10.4,
- define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542).
- (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete
- autoconf macros. Sync with tk/unix/tcl.m4, sync whitespace with HEAD.
+2008-10-16 Don Porter <dgp@users.sourceforge.net>
- * unix/configure.in: fix obsolete autoconf macros, sync gratuitous
- formatting/ordering differences with tk/unix/configure.in.
+ * 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]
- * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make
- executable linking the same as during configure (needed to avoid
- loosing any linker relevant flags in CFLAGS, in particular flags that
- can't be in LDFLAGS). Avoid concurrent linking of tclsh and compiling
- of tclTestInit.o or xtTestInit.o during parallel make.
- (checkstubs, checkdoc, checkexports): dependency and Darwin fixes
+2008-10-10 Don Porter <dgp@users.sourceforge.net>
- * unix/tclLoadDyld.c (TclpDlopen): [Bug 1204237] use
- NSADDIMAGE_OPTION_WITH_SEARCHING on second NSAddImage only.
- (TclGuessPackageName): should not be MODULE_SCOPE.
- (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for
- loading universal (fat) bundles from memory.
+ *** 8.5.5 TAGGED FOR RELEASE ***
- * unix/tclUnixPort.h:
- * unix/tclUnixFCmd.c: add support for new Tiger copyfile() API to
- enable copying of xattrs & ACLs by [file copy].
+ * generic/tcl.h: Bump to 8.5.5 for release.
+ * library/init.tcl:
+ * tools/tcl.wse.in:
+ * unix/configure.in:
+ * unix/tcl.spec:
+ * win/configure.in:
- * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE
- defines to support fat compiles of ppc and ppc64 at the same time,
- (replaces Darwin CVS fix by emoy, rdar://3693001).
- add/correct location of version numbers in macosx files.
+ * unix/configure: autoconf-2.59
+ * win/configure:
- * generic/tclInt.h: clarify fat compile comment.
+ * changes: Update for 8.5.5 release.
- * unix/tclUnixPort.h: add Darwin specifc configure overrides to
- support fat compiles, where configure runs only once for multiple
- architectures (replaces Darwin CVS fix by emoy, rdar://3693001).
+2008-10-08 Don Porter <dgp@users.sourceforge.net>
- * macosx/tclMacOSXBundle.c:
- * macosx/tclMacOSXNotify.c:
- * unix/tclUnixNotfy.c: fix #include order to support compile time
- * unix/tclUnixPort.h: override of HAVE_COREFOUNDATION in
- tclUnixPort.h when building for ppc64
+ * generic/tclTrace.c: Corrected handling of errors returned by
+ variable traces so that the errorInfo value contains the original
+ error message. [Bug 2151707]
- * macosx/Tcl.pbproj/default.pbxuser (new file):
- * macosx/Tcl.pbproj/jingham.pbxuser:
- * macosx/Tcl.pbproj/project.pbxproj: sync with HEAD.
+ * generic/tclVar.c: Revised implementation of TclObjVarErrMsg so
+ that error message construction does not disturb an existing
+ iPtr->errorInfo that may be in progress.
- * macosx/README: clarification/cleanup, sync with HEAD, document
- universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once).
+2008-10-06 Jan Nijtmans <nijtmans@users.sf.net>
- * macosx/Makefile: add support for reusing configure cache, build
- target fixes, remove GENERIC_FLAGS override now handled by tcl.m4.
+ * 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]
- * generic/tclIOUtil.c:
- * generic/tclRegexp.c:
- * generic/tclVar.c: declare globals used only in own file as static
- (sync with HEAD).
+2008-10-06 Joe Mistachkin <joe@mistachkin.com>
- * generic/rege_dfa.c (getvacant):
- * generic/regexec.c (cfind):
- * generic/tclCompExpr.c (CompileSubExpr):
- * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to
- silence gcc 4 warnings.
+ * tools/man2tcl.c: Added missing line from patch by Harald Oehlmann.
+ [Bug 1934200]
- * generic/regguts.h: only #define NDEBUG if not already #defined.
+2008-10-05 Kevin B. Kenny <kennykb@acm.org>
- * macosx/tclMacOSXNotify.c: sync whitespace & comments with HEAD
+ * 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.
- * unix/configure: regen.
+2008-10-02 Joe Mistachkin <joe@mistachkin.com>
-2005-11-20 Joe English <jenglish@users.sourceforge.net>
+ * tools/man2help2.tcl: Integrated patches from Harald Oehlmann.
+ * tools/man2tcl.c: [Bug 1934200, 1934272]
- * generic/tclStubLib.c: Don't set tclStubsPtr to 0 when
- Tcl_PkgRequireEx() fails [Fix for [Bug 1091431] "Tcl_InitStubs failure
- crashes wish"]
+2008-09-27 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2005-11-18 Miguel Sofer <msofer@users.sf.net>
+ * 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]
- * tests/trace.test (trace-34.5): [Bug 1047286], added a second test
- illustrating the role of "ns in callStack" in the ns's visibility
- during deletion traces.
+2008-09-25 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c (Tcl_DeleteCommandFromToken):
- * generic/tclCmdMZ.c (TraceCommandProc):
- * generic/tclInt.h (NS_KILLED):
- * generic/tclNamesp.c (Tcl_DeleteNamespace
- * tests/namespace.test (namespace-7.3-6):
- * tests/trace.test (trace-20.13-16): fix [Bugs 1355942/1355342].
+ * doc/global.n: Correct false claim about [info locals].
-2005-11-18 Jeff Hobbs <jeffh@ActiveState.com>
+2008-09-17 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we
- netrieve next statePtr from it.
+ * 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.
-2005-11-18 Don Porter <dgp@users.sourceforge.net>
+2008-09-17 Miguel Sofer <msofer@users.sf.net>
- * generic/tclPkg.c: Revised Bug 1162286 fix from 2005-11-08 to be
- * tests/pkg.test: more forgiving of package version mismatch
- errors in [package ifneeded] commands. This reduces the
- ***POTENTIAL INCOMPATIBILITY*** noted for that change.
+ * library/init.tcl: export min and max commands from the mathfunc
+ namespace [Bug 2116053]
-2005-11-18 Andreas Kupries <andreask@activestate.com>
+2008-09-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch
- for [Bug 1359094]. This moves the retrieval of the next channel state
- to the end of the loop, as the called closeproc may close other
- channels, i.e., modify the list we are iterating, invalidating any
- pointer retrieved earlier.
+ * 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.
-2005-11-18 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+2008-09-07 Miguel Sofer <msofer@users.sf.net>
- * library/http/http.tcl (http::geturl): Improved syntactic validation
- of URLs, and better error messages in some cases. [Bug 1358369]
+ * doc/namespace.n: fix [Bug 2098441]
-2005-11-16 Don Porter <dgp@users.sourceforge.net>
+2008-08-28 Don Porter <dgp@users.sourceforge.net>
- * README: Bump version number to 8.4.12
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
+ * 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/README.binary:
* win/configure.in:
+ * tools/tcl.wse.in:
+ * README
- * unix/configure: autoconf-2.13
+ * unix/configure: autoconf (2.59)
* win/configure:
-2005-11-15 Don Porter <dgp@users.sourceforge.net>
-
- * changes: Update changes for 8.4.12 release
-
-2005-11-15 Kevin B. Kenny <kennykb@acm.org>
+2008-08-22 Don Porter <dgp@users.sourceforge.net>
- * tests/cmdAH.test: Backported the fix for [Bug 926016] because of
- * win/tclWinFile.c: a repeated bug report in 8.4 [Bug 1353840].
- Windows [file mtime] will now return seconds from the Posix epoch
- correctly (except for FAT32 file systems after a DST change without a
- reboot - for which there is no help). A side effect is that file times
- will appear different in Tcl from the way they do in Windows Explorer
- or a 'dir' listing, because the Microsoft tools get the DST state
- wrong in the listings.
+ * 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.
-2005-11-09 Kevin B. Kenny <kennykb@acm.org>
+2008-08-21 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclTimer.c: Changed [after] so that it behaves correctly
- * tests/timer.test: with negative arguments. [Bug 1350293]
+ * tests/regexp.test, tests/regexpComp.test: correct re2glob ***=
+ * generic/tclUtil.c (TclReToGlob): translation from exact
+ to anywhere-in-string match. [Bug 2065115]
-2005-11-08 Jeff Hobbs <jeffh@ActiveState.com>
+2008-08-20 Daniel Steffen <das@users.sourceforge.net>
- * unix/tclUnixFCmd.c (MAX_READDIR_UNLINK_THRESHOLD): reduce to 130
- based on errors seen on OS X 10.3 with lots of links in a dir. [Bug
- 1034337 followup]
+ * generic/tclTest.c (TestconcatobjCmd): fix use of internal-only
+ TclInvalidateStringRep macro.
+ [Bug 2057479]
-2005-11-08 Don Porter <dgp@users.sourceforge.net>
+2008-08-17 Miguel Sofer <msofer@users.sf.net>
- * tests/expr.test: Portable tests expr-46.13-18 [Bug 1341368]
+ * 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!
- * generic/tclPkg.c: Corrected inconsistencies in the value returned
- * tests/pkg.test: by Tcl_PkgRequire(Ex) so that the returned
- values will always agree with what is stored in the package database.
- This way repeated calls to Tcl_PkgRequire(Ex) have the same results.
- Thanks to Hemang Lavana. [Bug 1162286]
- ***POTENTIAL INCOMPATIBILITY***: Incompatible with those existing
- packages that are accustomed to the [package] command forgiving
- their bugs.
+ *** NASTY BUG FIXED ***
- * tests/namespace.test (25.7,8): Backport test of knownBug.
-
-2005-11-08 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdMZ.c (TclTraceVariableObjCmd, TraceVarProc): Applied
- Miguel's fix for [Bug 1348775]. It is not quite as elegant as the one
- applied to the HEAD, but it is easier to use it rather than fully
- backporting.
-
-2005-11-07 Miguel Sofer <msofer@users.sf.net>
-
- * tests/trace.test (trace-13.2-4): added tests to detect leak, see
- [Bug 1348775].
-
-2005-11-04 Don Porter <dgp@users.sourceforge.net>
-
- * unix/tcl.m4: Added code to enable [load] on LynxOS. Thanks to
- heidibr@users.sf.net for the patch. [Bug 1163896]
+2008-08-14 Don Porter <dgp@users.sourceforge.net>
- * unix/configure: autoconf-2.13.
+ *** 8.5.4 TAGGED FOR RELEASE ***
-2005-11-04 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * tests/fileName.test: Revise new tests for portability to case
+ insensitive filesystems.
- * win/tclWinPipe.c: Applied [Patch 1267871] by Matt Newman which
- * win/tclWinPort.h: provides extended error code support.
- * tests/exec.test: Wrote some tests for this feature.
+2008-08-14 Daniel Steffen <das@users.sourceforge.net>
-2005-11-04 Kevin Kenny <kennykb@acm.org>
+ * 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).
- * generic/tclGetDate.y: Added abbreviations for the Korean timezone.
- * generic/tclDate.c: Regenerated.
+ * generic/tclCmdIL.c (TclInfoFrame): Check fPtr->line before
+ dereferencing as line info may
+ not exists when TclInfoFrame()
+ is called from a DTrace probe.
- * compat/strftime.c: Fixed a problem where the name of the time zone
- was double-converted from system encoding to UTF-8. Thanks to the
- anonymous submitter of [Bug 1317477] for the report and the patch.
+ * tests/msgcat.test: Fix for ::tcl::mac::locale with
+ @modifier (HEAD backport 2008-06-01).
-2005-11-04 Miguel Sofer <msofer@users.sf.net>
+ * tests/fCmd.test (fCmd-6.23): Made result matching robust when test
+ workdir and /tmp are not on same FS.
- * generic/tclInt.h:
- * generic/tclNamesp.c:
- * generic/tclVar.c: fix for [Bugs 1338280/1337229]. Thanks Don.
+ * 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]
- * tests/trace.test: fix duplicate test numbers
+ * unix/tcl.m4 (SC_PATH_X): Check for libX11.dylib in addition to
+ libX11.so et al.
-2005-11-03 Don Porter <dgp@users.sourceforge.net>
+ * unix/configure: autoconf-2.59
- * generic/tclUnixInit.c (TclpSetInitialEncodings): Modified so
- that multiple calls can continue to atttempt to properly set the
- system encoding. Needed for Tclkit to properly support non-default
- encodings. Thanks to Yaroslav Schekin. [Bug 1201171]
+2008-08-13 Don Porter <dgp@users.sourceforge.net>
-2005-11-03 Pat Thoyts <patthoyts@users.sourceforge.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.
- * win/tclWin32Dll.c: Backported Anton Kovalenko's [Patch 1256872]
- * win/tclWinConsole.c: to give unicode console support on
- * win/tclWinInt.h: suitable systems (eg: NT/XP)
+2008-08-12 Don Porter <dgp@users.sourceforge.net>
-2005-11-01 Don Porter <dgp@users.sourceforge.net>
+ * changes: Update for 8.5.4 release.
- * generic/tclCmdMZ.c (TclCheckExecutionTraces): Corrected mistaken
- assumption that all command traces are set at the script level.
- Report/fix from Jacques H. de Villiers. [Bug 1337941]
+2008-08-11 Pat Thoyts <patthoyts@users.sourceforge.net>
- * tests/expr-old.test (expr-32.52): Use int(.) to restrict result
- of left shift to the C long range.
+ * library/http/http.tcl: Remove 8.5 requirement.
+ * library/http/pkgIndex.tcl:
+ * unix/Makefile.in:
+ * win/Makefile.in:
+ * win/makefile.vc:
-2005-10-29 Mo DeJong <mdejong@users.sourceforge.net>
+2008-08-11 Andreas Kupries <andreask@activestate.com>
- * tests/expr.test: Fix problems in new round() tests that lead to
- correct result only on 32 bit long systems. [Bug 1341368]
+ * 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.
-2005-10-29 Miguel Sofer <msofer@users.sf.net>
+ * 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.
- * generic/tclCmdMZ.c (TraceVarProc): [Bug 1337229], partial fix.
- Ensure that a second call with TCL_TRACE_DESTROYED does not lead to a
- second call to Tcl_EventuallyFree(). It is still true that that second
- call should not happen, so the bug is not completely fixed.
- * tests/trace.test (test-18.3-4): added tests for [Bugs 1337229 and
- 1338280].
+2008-08-11 Don Porter <dgp@users.sourceforge.net>
-2005-10-27 Mo DeJong <mdejong@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.
- * generic/tclExecute.c (ExprRoundFunc): Fix typo where number before
- rounding is compared with smallest integer instead of number after
- rounding. This fix does not change the results of any tests.
- * tests/expr.test: Add round() tests for cases near the min and max
- int values.
- * tests/util.test: Remove pointless warning code about testobj command
+2008-08-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-2005-10-23 Miguel Sofer <msofer@users.sf.net>
+ * library/http/http.tcl: crc field from zlib data should be treated as
+ unsigned for 64bit support [Bug 2046846]
- * generic/tclBasic.c:
- * generic/tclBinary.c:
- * generic/tclCmdAH.c:
- * generic/tclCmdIL.c:
- * generic/tclCmdMZ.c:
- * generic/tclExecute.c:
- * generic/tclLink.c:
- * generic/tclMain.c:
- * generic/tclProc.c:
- * generic/tclScan.c:
- * generic/tclTest.c:
- * generic/tclVar.c:
- * mac/tclMacInit.c:
- * unix/tclUnixInit.c:
- * win/tclWinInit.c: Ensure that the core never calls TclPtrSetVar,
- Tcl_SetVar2Ex, Tcl_ObjSetVar2 or Tcl_SetObjErrorCode with a 0-ref new
- value. It is not possible to handle error returns correctly in that
- case [Bug 1334947], one has the choice of leaking the object in some
- cases, or else risk crashing in some others.
+2008-08-08 Don Porter <dgp@users.sourceforge.net>
-2005-10-22 Miguel Sofer <msofer@users.sf.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:
- * generic/tclExecute.c (INST_CONCAT): disable the optimisation for
- wide integers. [Bug 1251791]
+ * unix/configure: autoconf-2.59
+ * win/configure:
-2005-10-14 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * changes: Update for 8.5.4 release.
- * generic/tclIO.c (Tcl_ClearChannelHandlers): removed change dated
- 2005-10-04 below. Look into [Bug 1323992] for detailed discussion.
+2008-08-08 Kevin Kenny <kennykb@acm.org>
-2005-10-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * library/tzdata/CET:
+ * library/tzdata/MET:
+ * library/tzdata/Africa/Casablanca:
+ * library/tzdata/America/Eirunepe:
+ * library/tzdata/America/Santarem:
+ * library/tzdata/America/Rio_Branco:
+ * library/tzdata/America/Argentina/San_Luis:
+ * 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.
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Stop [format] from seeing
- the difference between ints and wides. [Bug 1284178]
+2008-08-06 Don Porter <dgp@users.sourceforge.net>
-2005-10-13 Zoran Vasiljevic <vasiljevic@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.
- * generic/tclIO.c (Tcl_ClearChannelHandlers): temporary
- ifdef TCL_THREADS changes done to de-activate pending
- event processing when channel is being closed/cutted.
+2008-08-04 Don Porter <dgp@users.sourceforge.net>
-2005-10-10 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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]
- * generic/tclInt.h: ensure MODULE_SCOPE decl
+2008-07-30 Don Porter <dgp@users.sourceforge.net>
-2005-10-07 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclBasic.c: Corrected the timing of when the flag
+ TCL_ALLOW_EXCEPTIONS is tested.
- * unix/tclUnixFCmd.c (TraverseUnixTree): Adjust 2004-11-11 change to
- * tests/fCmd.test (fCmd-20.2): account for NFS special
- files with a readdir rewind threshold. [Bug 1034337]
+2008-07-29 Miguel Sofer <msofer@users.sf.net>
-2005-10-05 Andreas Kupries <andreask@activestate.com>
+ * generic/tclExecute.c: fix [Bug 2030670] that cause
+ TclStackRealloc to panic on rare corner cases. Thx ajpasadyn for
+ diagnose and patch.
- * generic/tclPipe.c (TclCreatePipeline): Fixed [Bug 1109294]. Applied
- the patch provided by David Gravereaux.
+2008-07-28 Andreas Kupries <andreask@activestate.com>
- * doc/CrtChannel.3: Fixed [Bug 1104682], by application of David
- Welton's patch for it, and added a note about wideSeekProc.
+ * 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.
-2005-10-05 Jeff Hobbs <jeffh@ActiveState.com>
+2008-07-25 Daniel Steffen <das@users.sourceforge.net>
- * tests/env.test (env-6.1):
- * win/tclWinPort.h: define USE_PUTENV_FOR_UNSET 1
- * generic/tclEnv.c (TclSetEnv, TclUnsetEnv): add
- USE_PUTENV_FOR_UNSET to existing USE_PUTENV define to account for
- various systems that have putenv(), but can't unset env vars with it.
- Note difference between Windows and Linux for actually unsetting the
- env var (use of '=').
- Correct the resizing of the environ array. We assume that we are in
- full ownership, but that's not correct. [Bug 979640]
+ * 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]
-2005-10-04 Jeff Hobbs <jeffh@ActiveState.com>
+2008-07-25 Andreas Kupries <andreask@activestate.com>
- * win/tclWinSerial.c (SerialSetOptionProc): free argv [Bug 1067708]
+ * tests/info.test: Tests 38.* added, exactly testing the tracking of
+ location for uplevel scripts.
- * tests/http.test: Do not URI encode -._~ according to
- * library/http/http.tcl (init): RFC3986. [Bug 1182373] (aho)
+ * generic/tclCompile.c (TclInitCompileEnv): Reorganized the
+ initialization of the #280 location information to match the flow in
+ TclEvalObjEx to get more absolute contexts.
- * generic/tclIOUtil.c (TclFSNormalizeAbsolutePath): make static
- * generic/tclEncoding.c (TclFindEncodings): make static
+ * 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.
- * unix/tclLoadShl.c (TclpDlopen): use DYNAMIC_PATH on second
- shl_load only. [Bug 1204237]
+2008-07-23 Andreas Kupries <andreask@activestate.com>
-2005-10-04 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * tests/info.test: Reordered the tests to have monotonously
+ increasing numbers.
- * generic/tclIO.c (Tcl_ClearChannelHandlers): now deletes any
- outstanding timer for the channel. Also, prevents events still
- in the event queue from triggering on the current channel.
+ * 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/tclTimer.c (Tcl_DeleteTimerHandler): bail out early
- if passed NULL argument.
+2008-07-22 Andreas Kupries <andreask@activestate.com>
-2005-09-30 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBasic.c: Added missing function comments.
- * generic/tclMain.c: Separate encoding conversion of command line
- arguments from list formatting. [Bug 1306162]
+ * generic/tclCompile.c: Made the new TclEnterCmdWordIndex
+ * generic/tclCompile.h: static, and ansified.
-2005-09-27 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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/tclBinary.c (FormatNumber): Factorize out copying of double
- values to a helper to work around ugly broken compiler problems. [Bug
- 1116542]
+2008-07-21 Don Porter <dgp@users.sourceforge.net>
-2005-09-15 Miguel Sofer <msofer@users.sf.net>
+ * tests/encoding.test: Make failing tests pass again. [Bug 1972867]
- * doc/ParseCmd.3: copy/paste fix [Bug 1292427]
+2008-07-21 Andreas Kupries <andreask@activestate.com>
-2005-09-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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:
- * unix/tcl.m4 (SC_TCL_EARLY_FLAGS): Added extra hack to allow Tcl to
- transparently open large files on RHEL 3. [Bug 1287638]
+2008-07-21 Pat Thoyts <patthoyts@users.sourceforge.net>
- * unix/configure: autoconf-2.13
+ * generic/tclFCmd.c: Inodes on windows are unreliable [Bug 2015723]
-2005-09-07 Don Porter <dgp@users.sourceforge.net>
+2008-07-20 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclUtf.c (Tcl_UniCharToUtf): Corrected handling of negative
- * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect
- handling was producing byte sequences outside of Tcl's legal internal
- encoding. [Bug 1283976]
+ * 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.
-2005-08-29 Kevin Kenny <kennykb@acm.org>
+2008-07-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclBasic.c (ExprMathFunc): Restored "round away from zero"
- * tests/expr.test (expr-46.*): behaviour to the "round"
- function. Added test cases for the behavior, including the awkward
- case of a number whose fractional part is 1/2-1/2ulp. [Bug 1275043]
+ * doc/DictObj.3: Fix error in example. [Bug 2016740]
-2005-08-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-07-08 Don Porter <dgp@users.sourceforge.net>
- * generic/tclListObj.c (UpdateStringOfList): Stop uncontrolled and
- unsafe crashes from happening when working with very large string
- representations. [Bug 1267380]
+ * generic/tclGet.c: Corrected out of date comments.
-2005-08-17 Jeff Hobbs <jeffh@ActiveState.com>
+2008-07-07 Andreas Kupries <andreask@activestate.com>
- * generic/tclFCmd.c (TclFileMakeDirsCmd): fix to race condition in
- file mkdir (backport from head 2005-06-13) [Bug 1217375]
+ * generic/tclCmdIL.c (InfoFrameCmd): Fixed unsafe idiom of setting the
+ interp result found by Don Porter.
-2005-08-16 Kevin Kenny <kennykb@acm.org>
+2008-07-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclEvent.c (Tcl_Finalize): Pushed Tcl_FinalizeLoad and
- Tcl_ResetFilesystem down after Tcl_FinalizeThreadAlloc because
- unloading DLLs can't happen while they still own TSD keys.
- (This is a backport of changes made in the HEAD on 2005-08-10.)
+ * doc/regexp.n, doc/regsub.n: Correct examples. [Bug 1982642]
-2005-08-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-07-04 Joe English <jenglish@users.sourceforge.net>
- * unix/tclUnixInit.c (localeTable): Solaris uses a non-standard name
- for the cp1251 charset. Thanks to Victor Wagner for reporting this.
- [Bug 1252475]
+ * generic/tclEncoding.c(UtfToUtfProc): Avoid unwanted sign extension
+ when converting incomplete UTF-8 sequences. See [Bug 1908443] for
+ details.
-2005-08-05 Kevin Kenny <kennykb@users.sourceforge.net>
+2008-07-03 Andreas Kupries <andreask@activestate.com>
- * generic/tclExecute.c (TclExecuteByteCode): Fixed a corner case
- * tests/expr.test (expr-38.1): where applying abs to
- MIN_INT failed to promote the result to a wide integer. [Bug 1241572]
+ * 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.
-2005-08-04 Don Porter <dgp@users.sourceforge.net>
+2008-07-03 Don Porter <dgp@users.sourceforge.net>
- * generic/tclObj.c: Simplified routines that manage the typeTable.
+ * 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]
-2005-08-03 Don Porter <dgp@users.sourceforge.net>
+2008-06-29 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompExpr.c: Untangled some dependencies in the
- * generic/tclEvent.c: order of finalization routines.
- * generic/tclInt.h: [Bug 1251399]
- * generic/tclObj.c:
+ *** 8.5.3 TAGGED FOR RELEASE ***
-2005-07-30 Daniel Steffen <das@users.sourceforge.net>
+ * 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:
- * unix/configure, unix/tcl.m4: revert 2005-07-28 change.
+ * unix/configure: autoconf-2.59
+ * win/configure:
- * unix/tclLoadDyld.c (TclpDlopen, TclpLoadMemory): workarounds for
- bugs/changes in behaviour in Mac OS X 10.4 Tiger, sync formatting
- changes from HEAD.
+ * doc/ObjectType.3: Updated documentation of the Tcl_ObjType
+ struct to match expectations of Tcl 8.5 [Bug 1917650].
-2005-07-29 Donal K. Fellows <dkf@users.sf.net>
+ * generic/tclPathObj.c: Plug memory leak in [Bug 1999176] fix. Thanks
+ Rolf Ade for detecting.
- * generic/tclCmdIL.c (InfoGlobalsCmd): Even in high-speed mode, still
- have to take care with non-existant variables. [Bug 1247135]
+2008-06-28 Don Porter <dgp@users.sourceforge.net>
-2005-07-28 Mo DeJong <mdejong@users.sourceforge.net>
+ * generic/tclPathObj.c: Plug memory leak in [Bug 1972879] fix. Thanks
+ Rolf Ade for detecting and Dan Steffen for the fix [Bug 2004654].
- * win/README: Update link to msys_mingw8.zip. Remove old Cygwin +
- Mingw info, people should just build with the msys + mingw
- configuration.
+2008-06-26 Andreas Kupries <andreask@activestate.com>
-2005-07-28 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * unix/configure, unix/tcl.m4: defined TCL_LOAD_FROM_MEMORY on Darwin
- only for SHARED_BUILD
+2008-06-25 Don Porter <dgp@users.sourceforge.net>
-2005-07-28 Donal K. Fellows <dkf@users.sf.net>
+ * changes: Update for 8.5.3 release.
- * generic/tclPipe.c (TclCreatePipeline): Arrange for POSIX systems to
- * unix/tclUnixPipe.c (TclpOpenFile): use the O_APPEND flag for
- * tests/exec.test (exec-19.1): files opened in a pipeline
- like ">>this". Note that Windows cannot support such access; there is
- no equivalent flag on the handle that can be set at the kernel-call
- level. The test is unix-specific in every way. [Bug 1245953]
+2008-06-25 Andreas Kupries <andreask@activestate.com>
-2005-07-26 Mo DeJong <mdejong@users.sourceforge.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].
- * unix/configure: Regen.
- * unix/configure.in: Check for a $prefix/share directory and add it
- the the package if found. This will check for Tcl packages in
- /usr/local/share when Tcl is configured with the default dist install.
- [Patch 1231015]
+2008-06-25 Pat Thoyts <patthoyts@users.sourceforge.net>
-2005-07-26 Don Porter <dgp@users.sourceforge.net>
+ * win/rules.vc: Backported fix for dde/registry versions and
+ * win/makefile.vc: the staticpkg build option
- * doc/tclvars.n: Improved $errorCode documentation. [RFE 776921]
+2008-06-24 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c (Tcl_CallWhenDeleted): Converted to use
- per-thread counter, rather than a process global one that required
- mutex protection. [RFE 1077194]
+ * 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].
- * generic/tclNamesp.c (TclTeardownNamespace): Re-ordering so that
- * tests/trace.test (trace-34.4): command delete traces fire
- while the command still exists. [Bug 1047286]
+2008-06-23 Don Porter <dgp@users.sourceforge.net>
-2005-07-24 Mo DeJong <mdejong@users.sourceforge.net>
+ * 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]
- * unix/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH):
- * win/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH):
- Split confused search for tclsh on PATH and build and install
- locations into two macros. SC_PROG_TCLSH searches just the PATH.
- SC_BUILD_TCLSH determines the name of the tclsh executable in the Tcl
- build directory. [Bug 1160114], [Patch 1244153]
+2008-06-19 Don Porter <dgp@users.sourceforge.net>
-2005-07-22 Don Porter <dgp@users.sourceforge.net>
+ * changes: Update for 8.5.3 release.
- * library/auto.tcl: Updates to the Tcl script library to make
- * library/history.tcl: use of Tcl 8.4 feautures. Thanks to
- * library/init.tcl: Patrick Fradin for prompting on this.
- * library/package.tcl: [Patch 1237755]
- * library/safe.tcl:
- * library/word.tcl:
+ * 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]
-2005-07-07 Jeff Hobbs <jeffh@ActiveState.com>
+ * tests/chanio.test: Corrected flawed tests revealed by a -debug 1
+ * tests/event.test: -singleproc 1 test suite run.
+ * tests/io.test:
- * unix/tcl.m4, unix/configure: Backported [Bug 1095909], removing
- * unix/tclUnixPort.h: any use of readdir_r as it is not
- * unix/tclUnixThrd.c: necessary and just confuses things.
+2008-06-19 Don Porter <dgp@users.sourceforge.net>
-2005-07-05 Don Porter <dgp@users.sourceforge.net>
+ * changes: Updates for 8.5.3 release.
- * generic/tclCmdAH.c: New "encoding" Tcl_ObjType (not registered)
- * generic/tclEncoding.c: that permits longer lifetimes of the
- * generic/tclInt.h: Tcl_Encoding values kept as intreps of
- Tcl_Obj's. Reduces the need for repeated reading of encoding
- definition files from the filesystem. [Bug 1077262]
+2008-06-17 Andreas Kupries <andreask@activestate.com>
- * generic/tclNamesp.c: Allow for [namespace import] of a command
- * tests/namespace.test: over a previous [namespace import] of itself
- without throwing an error. [RFE 1230597]
+ * generic/tclClock.c (ClockConvertlocaltoutcObjCmd): Removed left
+ over debug output.
-2005-07-01 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2008-06-17 Andreas Kupries <andreask@activestate.com>
- * unix/tclUnixNotfy.c: protect against spurious wake-ups while waiting
- on the condition variable when tearing down the notifier thread. [Bug
- 1222872]
+ * 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].
-2005-06-27 Don Porter <dgp@users.sourceforge.net>
+2008-06-17 Kevin Kenny <kennykb@acm.org>
- *** 8.4.11 TAGGED FOR RELEASE ***
+ * 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.
- * library/auto.tcl: Reverted to Revision 1.12.2.3 (Tcl 8.4.9).
- Restores the (buggy) behavior of [auto_reset] that fails to clear
- away auto-loaded commands from non-global namespaces. Fixing this
- bug exposed an unknown number of buggy files out there (including at
- least portions of the Tk script library) that cannot tolerate double
- [source]-ing. The burden of fixing these exposed bugs will not be
- forced on package/extension/application authors until Tcl 8.5.
+2008-06-16 Andreas Kupries <andreask@activestate.com>
-2005-06-24 Kevin Kenny <kennykb@acm.org>
+ * 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].
- * generic/tclEvent.c (Tcl_Finalize):
- * generic/tclInt.h:
- * generic/tclPreserve.c (TclFinalizePreserve): Changed the
- finalization logic so that Tcl_Preserve finalizes after exit
- handlers run; a lot of code called from Tk's exit handlers
- presumes tha Tcl_Preserve will still work even from an exit
- handler. Also, made the assertion check that no exit handlers
- are created in Tcl_Finalize conditional on TCL_MEM_DEBUG to
- avoid spurious panics in the "stable" release.
+2008-06-12 Daniel Steffen <das@users.sourceforge.net>
-2005-06-24 Don Porter <dgp@users.sourceforge.net>
+ * unix/Makefile.in: add complete deps on tclDTrace.h.
- * library/auto.tcl: Make file safe to re-[source] without
- destroying registered auto_mkindex_parser hooks.
+ * unix/Makefile.in: clean generated tclDTrace.h file.
+ * unix/configure.in (SunOS): fix static DTrace-enabled build.
-2005-06-23 Daniel Steffen <das@users.sourceforge.net>
+ * unix/tcl.m4 (SunOS-5.11): fix 64bit amd64 support with gcc & Sun cc.
+ * unix/configure: autoconf-2.59
- * tools/tcltk-man2html.tcl: fixed useversion glob pattern to accept
- multi-digit patchlevels.
+ * 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.
-2005-06-23 Kevin Kenny <kennykb@acm.org>
+2008-05-26 Jeff Hobbs <jeffh@ActiveState.com>
- * win/tclWinChan.c: More rewriting of __asm__ blocks that
- * win/tclWinFCmd.c: implement SEH in GCC, because mingw's
- gcc 3.4.2 is not as forgiving of violations committed by
- the old code and caused panics. [Bug 1225957]
+ * tests/io.test (io-53.9): need to close chan before removing file.
-2005-06-23 Daniel Steffen <das@users.sourceforge.net>
+2008-05-23 Andreas Kupries <andreask@activestate.com>
- * unix/Makefile.in (install-private-headers): rewrite tclPort.h when
- installing private headers to remove ../unix relative #include path to
- tclUnixPort.h (which is incorrect at the installed location).
+ * 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.
-2005-06-22 Kevin Kenny <kennykb@acm.org>
+ * 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.
- * generic/tclInt.h: Changed the finalization
- * generic/tclEvent.c (Tcl_Finalize): logic to defer the
- * generic/tclIO.c (TclFinalizeIOSubsystem): shutdown of the pipe
- * unix/tclUnixPipe.c (TclFinalizePipes): management until after
- * win/tclWinPipe.c (TclFinalizePipes): all channels have been
- closed, in order to avoid a situation where the Windows
- PipeCloseProc2 would re-establish the exit handler after exit
- handlers had already run, corrupting the heap. [Bug 1225727]
- Corrected a read of uninitialized memory in PipeCloseProc2, which (at
- least on certain configurations) caused a great number of tests to
- either fail or hang. [Bug 1225044]
+2008-05-22 Don Porter <dgp@users.sourceforge.net>
-2005-06-22 Andreas Kupries <andreask@activestate.com>
+ * 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].
- * generic/tclInt.h: Followup to change made on 2005-06-18 by Daniel
- Steffen. There are compilers (*) who error out on the redefinition of
- WORDS_BIGENDIAN. We have to undef the previous definition (on the
- command line) first to make this acceptable. (*): AIX native.
+2008-05-21 Don Porter <dgp@users.sourceforge.net>
-2005-06-22 Don Porter <dgp@users.sourceforge.net>
+ * 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]
- * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571]
- Thanks to Pat Thoyts for discovery and fix.
+2008-05-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * tests/safe.test: Backport performance improvement from
- reduced $::auto_path.
+ * 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.
-2005-06-21 Pat Thoyts <patthoyts@users.sourceforge.net>
+2008-05-16 Miguel Sofer <msofer@users.sf.net>
- * tests/winDde.test: Added some waits to the dde server script to
- let event processing run after we create the dde server and before
- we exit the server process. This avoids 'server did not respond'
- errors.
+ * generic/tclCompile.c: Fix crash with tcl_traceExec. Found and
+ fixed by Alexander Pasadyn [Bug 1964803].
-2005-06-21 Kevin Kenny <kennykb@acm.org>
+2008-05-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclFileName.c: Corrected a problem where a directory name
- containing a colon can crash the process on Windows [Bug 1194458]
- * tests/fileName.test: Added test for [file split] and [file join]
- with a name containing a colon.
- * win/tclWinPipe.c: Reverted davygrvy's changes of 2005-04-19;
- they cause multiple failures in io.test. [Bug 1225044, still open]
+ * 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.
-2005-06-21 Don Porter <dgp@users.sourceforge.net>
+2008-04-26 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
- * generic/tclBasic.c: Made the walk of the active trace list aware
- * generic/tclCmdMZ.c: of the direction of trace scanning, so the
- * generic/tclInt.h: proper correction can be made. [Bug 1224585]
- * tests/trace.test (trace-34.2,3):
+ * 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.
- * generic/tclBasic.c (Tcl_DeleteTrace): Added missing walk of the
- * tests/trace.test (trace-34.1): list of active traces to
- cleanup references to traces being deleted. [Bug 1201035]
+ 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.
-2005-06-20 Don Porter <dgp@users.sourceforge.net>
+2008-04-24 Andreas Kupries <andreask@activestate.com>
- * doc/FileSystem.3: added missing Tcl_GlobTypeData documentation [Bug
- 935853]
+ * 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.)
-2005-06-18 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclIORChan.c: Fixed the bugs exposed by the new testcases,
+ redone most of the cleanup and exit handling.
- * generic/tclInt.h: ensure WORDS_BIGENDIAN is defined correctly with
- fat compiles on Darwin (i.e. ppc and i386 at the same time), the
- configure AC_C_BIGENDIAN check is not sufficient in this case because
- a single run of the compiler builds for two architectures with
- different endianness.
+2008-04-15 Andreas Kupries <andreask@activestate.com>
- * unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to
- ensure we can always relocate binaries with install_name_tool.
+ * 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.
- * unix/configure: autoconf-2.13
+2008-04-14 Kevin B. Kenny <kennykb@acm.org>
-2005-06-18 Don Porter <dgp@users.sourceforge.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.
- * changes: Update changes for 8.4.11 release
+2008-04-11 Don Porter <dgp@users.sourceforge.net>
- * README: Bump version number to 8.4.11
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure.in:
+ * 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/README.binary:
* win/configure.in:
+ * README
- * unix/configure: autoconf
+ * unix/configure: autoconf (2.59)
* win/configure:
-2005-06-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Fix for [Bug 1154163]; only
- * tests/format.test: insert 'l' modifier when it is needed.
-
-2005-06-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier): Add dummy variable
- so threaded build compiles.
-
-2005-06-06 Kevin B. Kenny <kennykb@acm.org>
-
- * win/tclWin32Dll.c: Corrected another buglet in the assembly code for
- stack probing on Win32/gcc. [Bug 1213678]
-
-2005-06-03 Daniel Steffen <das@users.sourceforge.net>
-
- *** 8.4.10 TAGGED FOR RELEASE ***
-
- * unix/tclLoadDyld.c: fixed header conflict when building this file
- with USE_TCL_STUBS.
+2008-04-10 Andreas Kupries <andreask@activestate.com>
- * macosx/Makefile: fixed 'embedded' target.
+ * 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).
-2005-06-02 Jeff Hobbs <jeffh@ActiveState.com>
+ * tests/iocmd.test (iocmd-15.{12,13}): Removed.
- * unix/Makefile.in (html): add BUILD_HTML_FLAGS optional var
- * tools/tcltk-man2html.tcl: add a --useversion to prevent
- confusion when multiple Tcl source dirs exist.
+ * 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.
- * changes: updated for 8.4.10 release (porter)
+2008-04-09 Andreas Kupries <andreask@activestate.com>
-2005-05-31 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+ * 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.
- * unix/tclUnixNotfy.c: the notifier thread is now created as
- joinable thread and it is properly joined in Tcl_FinalizeNotifier.
- This is an attempt to fix [Bug 1082283]
+ * 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.
-2005-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+2008-04-08 Andreas Kupries <andreask@activestate.com>
- * win/tclWinThrd.c (TclpFinalizeThreadData): move tlsKey defn
- to top of file and clarify name (was 'key'). [Bug 1204064]
+ * tests/io.test (io-53.8): Fixed ordering of vwait and after
+ cancel. cancel has to be done after the vwait completes.
-2005-05-27 Jeff Hobbs <jeffh@ActiveState.com>
+2008-04-09 Daniel Steffen <das@users.sourceforge.net>
- * README: Bumped patchlevel to 8.4.10
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/tcl.spec, unix/configure, unix/configure.in:
- * win/configure, win/configure.in:
+ * 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
-2005-05-26 Daniel Steffen <das@users.sourceforge.net>
+2008-04-07 Andreas Kupries <andreask@activestate.com>
- * macosx/Makefile: moved & corrected EMBEDDED_BUILD check.
+ * 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.
- * unix/configure.in: corrected framework finalization to softlink
- stub library to Versions/8.x subdir instead of Versions/Current.
- * unix/configure: autoconf-2.13
+ * 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.
-2005-05-25 Jeff Hobbs <jeffh@ActiveState.com>
+2008-04-07 Andreas Kupries <andreask@activestate.com>
- * generic/tclCmdMZ.c (Tcl_TimeObjCmd): add necessary cast
+ * 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.
- * unix/configure, unix/configure.in: ensure false Tcl.framework is
- only created with --enable-framework
+2008-04-07 Reinhard Max <max@suse.de>
-2005-05-24 Daniel Steffen <das@users.sourceforge.net>
+ * 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'.
- * tests/env.test: added DYLD_FRAMEWORK_PATH to the list of env vars
- that need to be handled specially.
+2008-04-05 Kevin B. Kenny <kennykb@acm.org>
- * macosx/Makefile:
- * macosx/README:
- * macosx/Tcl-Info.plist.in (new file):
- * unix/Makefile.in:
- * unix/configure.in:
- * unix/tcl.m4:
- * unix/tclUnixInit.c: moved all Darwin framework build support from
- macosx/Makefile into the standard unix configure/make buildsystem, the
- macosx/Makefile is no longer required to build Tcl.framework (but its
- functionality is still available for backwards compatibility).
- * unix/configure: autoconf-2.13
+ * 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.
+
+ * 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).
+
+ * 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/tclIOUtil.c (TclLoadFile):
- * generic/tclInt.h:
- * unix/tcl.m4:
- * unix/tclLoadDyld.c: added support for [load]ing .bundle binaries in
- addition to .dylib's: .bundle's can be [unload]ed (unlike .dylib's),
- and can be [load]ed from memory, e.g. directly from VFS without
- needing to be written out to a temporary location first. [Bug 1202209]
- * unix/configure: autoconf-2.13
+2008-04-04 Andreas Kupries <andreask@activestate.com>
- * generic/tclCmdMZ.c (Tcl_TimeObjCmd): change [time] called with a
- count > 1 to return a string with a float value instead of a rounded
- off integer. [Bug 1202178]
+ * 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.
-2005-05-20 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2008-04-04 Andreas Kupries <andreask@activestate.com>
- * generic/tclParseExpr.c: removed unreferenced stack variable "errMsg"
- probably included by fixing [Bug 1201589] (see below).
+ * 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'.
-2005-05-20 Don Porter <dgp@users.sourceforge.net>
+ * tests/ioCmd.test (iocmd-24.6): Testcase updated for changed
+ message.
- * generic/tclParseExpr.c: Corrected parser to recognize all
- boolean literals accepted by Tcl_GetBoolean, including prefixes like
- "y" and "f", and to allow "eq" and "ne" as function names in the
- proper context. [Bug 1201589]
+ * 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.
-2005-05-19 Daniel Steffen <das@users.sourceforge.net>
+ * tests/ioCmd.test (iocmd-31.8): Testcase for the above.
- * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): fixed crashing
- CFRelease of runLoopSource in Tcl_InitNotifier (reported by Zoran):
- CFRunLoopAddSource doesn't CFRetain, so can only CFRelease the
- runLoopSource in Tcl_FinalizeNotifier.
+2008-04-03 Andreas Kupries <andreask@activestate.com>
-2005-05-14 Daniel Steffen <das@users.sourceforge.net>
+ * 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.
- * macosx/tclMacOSXBundle.c:
- * unix/tclUnixInit.c:
- * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable
- and added test of CoreFoundation availablility to allow building on
- ppc64, replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for
- availability of Tiger or later OSSpinLockLock API.
+2008-04-02 Andreas Kupries <andreask@activestate.com>
- * unix/tclUnixNotfy.c:
- * unix/Makefile.in:
- * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is
- available, use new CFRunLoop based notifier: allows easy integration
- with other event loops on Mac OS X, in particular the TkAqua Carbon
- event loop is now integrated via a standard tcl event source (instead
- of TkAqua upon loading having to finalize the exsting notifier and
- replace it with its custom version). [Patch 1202052]
+ * 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.
- * tests/unixNotfy.test: don't run unthreaded tests on Darwin since
- notifier may be using threads even in unthreaded core.
+2008-04-01 Andreas Kupries <andreask@activestate.com>
- * unix/tclUnixPort.h:
- * unix/tcl.m4 (Darwin): test for thread-unsafe realpath durning
- configure, as Darwin 7 and later realpath is threadsafe.
+ * 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.
- * macosx/tclMacOSXBundle.c:
- * unix/tclLoadDyld.c:
- * unix/tclUnixInit.c: fixed gcc 4.0 warnings.
+2008-04-01 Don Porter <dgp@users.sourceforge.net>
- * unix/configure: autoconf-2.13
+ * generic/tclStubLib.c (Tcl_InitStubs): Added missing error message.
+ * generic/tclPkg.c (Tcl_PkgInitStubsCheck):
-2005-05-10 Jeff Hobbs <jeffh@ActiveState.com>
+2008-03-30 Kevin Kenny <kennykb@acm.org>
- * tests/string.test: string-10.[21-30]
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to
- prevent possible UMR in unichar cmp function for string map.
+ * 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.
-2005-05-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * unix/configure: autoconf-2.61
- * unix/tcl.m4, unix/configure: correct Solaris 10 (5.10) check and
- add support for x86_64 Solaris cc builds.
+ * 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]
-2005-04-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-03-26 Don Porter <dgp@users.sourceforge.net>
- * doc/FileSystem.3: Backport of doc fix. [Bug 1172401]
+ *** 8.5.2 TAGGED FOR RELEASE ***
-2005-04-27 Don Porter <dgp@users.sourceforge.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:
- * library/init.tcl: Corrected flaw in interactive command
- * tests/main.test: auto-completion. [Bug 1191409]
+ * unix/configure: autoconf-2.59
+ * win/configure:
- * tests/unixInit.test (7.1): Alternative fix for the
- 2005-04-22 commit.
+ * changes: Updated for 8.5.2 release.
+
+2008-03-28 Donal K. Fellows <dkf@users.sf.net>
+
+ * 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!
+
+2008-03-27 Kevin B. Kenny <kennykb@acm.org>
+
+ * 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.
-2005-04-25 Daniel Steffen <das@users.sourceforge.net>
+2008-03-27 Daniel Steffen <das@users.sourceforge.net>
- * compat/string.h: fixed memchr() protoype for __APPLE__ so that we
- build on Mac OS X 10.1 again.
+ * unix/tcl.m4 (SunOS-5.1x): fix 64bit support for Sun cc. [Bug 1921166]
- * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being
- finalized in unthreaded core (was testing for notifier initialization
- in current thread by checking thread id != 0 but thread id is always 0
- in untreaded core).
+ * unix/configure: autoconf-2.59
- * unix/tclUnixNotfy.c (Tcl_WaitForEvent): sync with HEAD: only declare
- and use timeout var in unthreaded core.
+2008-03-26 Don Porter <dgp@users.sourceforge.net>
- * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out
- NOTIFY_SRCS from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS.
+ * changes: Updated for 8.5.2 release.
- * unix/configure.in: only run check for broken strstr implementation
- if AC_REPLACE_FUNCS(strstr) hasn't already determined that strstr is
- unavailable, otherwise compat/strstr.o will be used twice (resulting
- in duplicate symbol link errors on Mac OS X 10.1)
+2008-03-24 Pat Thoyts <patthoyts@users.sourceforge.net>
- * unix/tcl.m4 (Darwin): added configure checks for recently added
- linker flags -single_module and -search_paths_first to allow building
- with older tools (and on Mac OS X 10.1), use -single_module in
- SHLIB_LD and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from
- Tk of symbols from libtclstub to avoid duplicate symbol warnings,
- added PLAT_SRCS definition for Mac OS X.
- (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check.
- (SC_TCL_64BIT_FLAGS): fixed 'checking for off64_t' message output.
+ * generic/tclBinary.c: [Bug 1923966] - crash in binary format
+ * tests/binary.test: Added tests for the above crash condition.
- * unix/configure: autoconf-2.13
+2008-03-21 Donal K. Fellows <dkf@users.sf.net>
-2005-04-22 Don Porter <dgp@users.sourceforge.net>
+ * doc/switch.n: Clarified documentation in respect of two-argument
+ invokation. [Bug 1899962]
- * generic/tclCmdMZ.c: Corrected intrep-dependence of
- * tests/string.test: [string is boolean] [Bug 1187123]
+ * tests/switch.test: Added more tests of regexp-mode compilation of
+ the [switch] command. [Bug 1854435]
-2005-04-22 Daniel Steffen <das@users.sourceforge.net>
+2008-03-20 Donal K. Fellows <dkf@users.sf.net>
- * tests/unixInit.test (7.1): fixed failure when running tests with
- -tmpdir arg not set to working dir.
+ * 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.
-2005-04-20 Don Porter <dgp@users.sourceforge.net>
+2008-03-19 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclGet.c (Tcl_GetInt): Corrected error that did not
- * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be
- recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869]
+ * generic/tcl.h, generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Make
+ sure this function is available when direct linking. [Bug 1868171]
-2005-04-19 Jeff Hobbs <jeffh@ActiveState.com>
+ * tests/reg.test (reg-33.14): Marked nonPortable because some
+ environments have small default stack sizes. [Bug 1905562]
- * tests/winPipe.test (winpipe-6.2): remove -blocking 1 as this one
- can truly block.
+2008-03-18 Andreas Kupries <andreask@activestate.com>
-2005-04-19 David Gravereaux <davygrvy@pobox.com>
+ * 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.
- * win/tclWinPipe.c: The pipe channel driver now respects the -blocking
- option when closing. The windows pipe driver now has the same behavior
- as the UNIX side. This change is to avoid a hung shell when exiting
- due to open pipes that refuse to close in a graceful manner.
- * doc/open.n: Added a note about -blocking 0 and lack of exit status
- as it had never been documented. [Bug 947693]
+ ***INCOMPATIBILITY*** for all Tcl Modules already written in non-utf-8
+ compatible encodings.
- ***POTENTIAL INCOMPATIBILITY***
+2008-03-18 Don Porter <dgp@users.sourceforge.net>
- Scripts that use async pipes on windows, must (like the UNIX side) set
- -blocking to 1 before calling [close] to receive the exit status.
+ * generic/tclExecute.c: Patch from Miguel Sofer to correct the
+ alignment of memory allocated by GrowEvaluationStack(). [Bug 1914503]
- * tests/winPipe.test (winpipe-6.1/2): added 'fconfigure $f -blocking
- 1' so the exit status can be acquired.
+2008-03-18 Andreas Kupries <andreask@activestate.com>
-2005-04-13 David Gravereaux <davygrvy@pobox.com>
+ * 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/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit
- * tests/io.test: changed from ten bytes to one byte. Need for
- * tests/iogt.test: this change was proven by Ross Cartlidge
- <rossc@cisco.com> where [read stdin 1] was grabbing 10 bytes followed
- by starting a child process that was intended to continue reading from
- stdin. Even with -buffersize set to one, nine chars were getting lost
- by the buffersize over reading for the native read() caused by [read].
+2008-03-16 Donal K. Fellows <dkf@users.sf.net>
-2005-04-12 Kevin B. Kenny <kennykb@acm.org>
+ * 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]
- * compat/strstr.c: Added default definition of NULL to accommodate
- building on systems with badly broken headers. [Bug 1175161]
+ * doc/lreplace.n: Clarified documentation of what happens with
+ negative indices. [Bug 1905809] Added example, tidied up formatting.
-2005-04-09 Daniel Steffen <das@users.sourceforge.net>
+2008-03-14 Don Porter <dgp@users.sourceforge.net>
- * macosx/README: updated requirements for OS & developer tool versions
- + other small fixes/cleanup.
+ * generic/tclBasic.c (OldMathFuncProc): Same workaround protection
+ from bad TclStackAlloc() alignment. Thanks George Peter Staplin.
- * unix/tcl.m4 (Darwin): added -single_module linker flag to
- TCL_SHLIB_LD_EXTRAS and TK_SHLIB_LD_EXTRAS.
- * unix/configure: autoconf-2.13
+ * generic/tclCmdIL.c (Tcl_LsortObjCmd): Use ckalloc() to allocate
+ SortElement arrays instead of TclStackAlloc() which isn't getting
+ alignment right. Workaround for [Bug 1914503].
-2005-04-05 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
+2008-03-14 Reinhard Max <max@suse.de>
- Set of changes correcting huge memory waste (not a leak) when a thread
- exits. This has been introduced in 8.4.7 within an attempt to
- correctly cleanup after ourselves when Tcl library is being unloaded
- with the Tcl_Finalize() call.
+ * generic/tclTest.c: Ignore the return value of write() when we are
+ * unix/tclUnixPipe.c: about to exit anyways.
- This fixes the [Bug 1178445].
+2008-03-13 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclInt.h: added prototypes for TclpFreeAllocCache() and
- TclFreeAllocCache()
+ * 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/tclThreadAlloc.c: modified TclFinalizeThreadAlloc() to
- explicitly call TclpFreeAllocCache with the NULL-ptr as argument
- signalling cleanup of private tsd key used only by the threading
- allocator.
+2008-03-13 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixThrd.c: fixed TclpFreeAllocCache() to recognize when
- being called with NULL argument. This is a signal for it to clean up
- the tsd key associated with the threading allocator.
+ * changes: Updated for 8.5.2 release.
- * win/tclWinThrd.c: renamed TclWinFreeAllocCache to TclpFreeAllocCache
- and fixed to recognize when being called with NULL argument. This is a
- signal for it to clean up the tsd key associated with the threading
- allocator.
+ * generic/tclStrToD.c: Resolve identifier conflict over "pow10" with
+ libm in Cygwin and DJGPP. Thanks to Gordon Schumacher and Philip
+ Moore. [Patch 1800636]
-2005-04-05 Don Porter <dgp@users.sourceforge.net>
+2008-03-12 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclExecute.c (ExprSrandFunc): Replaced incursions into the
- * generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types with
- simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj, now that
- those routines are better behaved wrt shimmering. [Patch 1177129]
+ * 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'.
-2005-03-29 Jeff Hobbs <jeffh@ActiveState.com>
+2008-03-12 Andreas Kupries <andreask@activestate.com>
- * win/tcl.m4, win/configure: do not require cygpath in macros to
- allow msys alone as an alternative.
+ * doc/info.n: Replaced {expand} with {*}.
- * win/tclWinTime.c (TclpGetDate): use time_t for 'time' [Bug 1163422]
+2008-03-12 Jeff Hobbs <jeffh@ActiveState.com>
-2005-03-18 Don Porter <dgp@users.sourceforge.net>
+ * 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]
- * generic/tclCompCmds.c (TclCompileIncrCmd): Corrected checks for
- immediate operand usage to permit leading space and sign characters.
- Restores more efficient bytecode for [incr x -1] that got lost in the
- CONST string reforms of Tcl 8.4. [Bug 1165671]
+2008-03-11 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclBasic.c (Tcl_EvalEx,TclEvalTokensStandard):
- * generic/tclCmdMZ.c (Tcl_SubstObj):
- * tests/basic.test (basic-46.4): Restored recursion limit
- * tests/parse.test (parse-19.*): testing in nested command
- substitutions within direct script evaluation (Tcl_EvalEx) that got
- lost in the parser reforms of Tcl 8.1. Added tests for correct
- behavior. [Bug 1115904]
+ * 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]
-2005-03-15 Vince Darley <vincentdarley@users.sourceforge.net>
+ * library/http/http.tcl: Whitespace changes, code cleanup. Allow http
+ to be re-sourced without overwriting http state.
- * generic/tclFileName.c:
- * win/tclWinFile.c:
- * tests/winFCMd.test: fix to 'file pathtype' and 'file norm' failures
- on reserved filenames like 'COM1:', etc.
+2008-03-11 Daniel Steffen <das@users.sourceforge.net>
-2005-03-15 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclEncoding.c (LoadEscapeEncoding): Avoid leaking escape
+ sub-encodings, fixes encoding-11.1 failing after iso2022-jp loaded.
+ [Bug 1893053]
- * generic/tclClock.c:
- * generic/tclDate.c:
- * generic/tclGetDate.y:
- * generic/tclInt.decls:
- * unix/tclUnixTime.c:
- * win/tclWinTime.c: Replaced 'unsigned long' variable holding
- times with 'Tcl_WideInt', to cope with systems on which a time_t is
- wider than a long (Win64) [Bug 1163422]
- * generic/tclIntDecls.h: Regen
+ * macosx/tclMacOSXNotify.c: Avoid using CoreFoundation after fork() on
+ Darwin 9 even when TclpCreateProcess() uses vfork().
-2005-03-15 Pat Thoyts <patthoyts@users.sourceforge.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.
- * unix/tcl.m4: Make it work on OpenBSD again. Imported patch
- from the OpenBSD ports tree.
+ * unix/tclUnixPort.h: Workaround vfork() problems
+ in llvm-gcc-4.2.1 -O4 build.
-2005-03-10 Don Porter <dgp@users.sourceforge.net>
+ * unix/tclUnixPort.h: Move MODULE_SCOPE compat define
+ to top [Bug 1911102].
- * generic/tclCmdMZ.c (TclCheckInterpTraces): Corrected mistaken
- cast of ClientData to (TraceCommandInfo *) when not warranted. Thanks
- to Yuri Victorovich for the report. [Bug 1153871]
+ * 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:
-2005-03-08 Jeff Hobbs <jeffh@ActiveState.com>
+ * unix/configure: autoconf-2.59
- * win/makefile.vc: clarify necessary defined vars that can come
- from MSVC or the Platform SDK.
+ * unix/Makefile.in (install-strip): Strip non-global symbols from
+ dynamic library.
-2005-02-24 Don Porter <dgp@users.sourceforge.net>
+ * unix/tclUnixNotfy.c: Fix warning.
- * library/tcltest/tcltest.tcl: Better use of [glob -types] to avoid
- * tests/tcltest.test: failed attempts to [source] a directory, and
- similar matters. Thanks to "mpettigr". [Bug 1119798]
+ * tests/exec.test (exec-9.7): Reduce timing sensitivity
+ * tests/socket.test (socket-2.11): (esp. on multi-proc machines).
- * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.8
+ * tests/fCmd.test (fCmd-9.4): Skip on Darwin 9 (xfail).
-2005-02-23 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-03-11 Miguel Sofer <msofer@users.sf.net>
- * doc/CrtChannel.3 (THREADACTIONPROC): Formatting fix. [Bug 1149605]
+ * 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]
-2005-02-17 Jeff Hobbs <jeffh@ActiveState.com>
+2008-03-10 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinFCmd.c (TraverseWinTree): use wcslen on wchar, not
- Tcl_UniCharLen.
+ * changes: Updated for 8.5.2 release.
-2005-02-16 Miguel Sofer <msofer@users.sf.net>
+ * doc/http.n: Revised to indicate that [package require http 2.5.5]
+ is needed to get all the documented commands ([http::meta]).
- * doc/variable.n: fix for [Bug 1124160], variables are detected by
- [info vars] but not by [info locals].
+ * generic/tclEvent.c (TclDefaultBgErrorHandlerObjCmd): Added error
+ * tests/event.test (event-5.*): checking to protect against callers
+ passing invalid return options dictionaries. [Bug 1901113]
-2005-02-10 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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]
- * unix/Makefile.in: remove SHLIB_LD_FLAGS (only for AIX, inlined
- * unix/tcl.m4: into SHLIB_LD). Combine AIX-* and AIX-5
- * unix/configure: branches in SC_CONFIG_CFLAGS.
- Correct gcc builds for AIX-4+ and HP-UX-11.
+2008-03-07 Andreas Kupries <andreask@activestate.com>
-2005-02-10 Miguel Sofer <msofer@users.sf.net>
+ * 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.
- * generic/tclBasic.c (Tcl_EvalObjEx):
- * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV
- in the pure-list branch, in case the list shimmers away. Fix for [Bug
- 1119369], reported by Peter MacDonald.
+2008-03-07 Don Porter <dgp@users.sourceforge.net>
-2005-02-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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]
- * doc/binary.n: Made the documentation of sign bit masking and
- [binary scan] consistent. [Bug 1117017]
+ * generic/tclCmdAH.c: Revised direct evaluation implementation of
+ [expr] so that [expr $e] caches compiled bytecodes for the expression
+ as the intrep of $e.
-2005-02-01 Don Porter <dgp@users.sourceforge.net>
+ * tests/execute.test (execute-6.*): More tests checking that
+ script bytecode is invalidated in the right situations.
- * generic/tclExecute.c (TclCompEvalObj): Removed stray statement
- left behind in prior code reorganization.
+2008-03-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2005-01-28 Jeff Hobbs <jeffh@ActiveState.com>
+ * win/configure.in: Add AC_HEADER_STDC to support msys/win64.
- * unix/configure, unix/tcl.m4: add solaris 64-bit gcc build
- support. [Bug 1021871]
+2008-03-06 Donal K. Fellows <dkf@users.sf.net>
-2005-01-27 Jeff Hobbs <jeffh@ActiveState.com>
+ * doc/namespace.n: Minor tidying up. [Bug 1909019]
- * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble)
- (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484]
+2008-03-04 Don Porter <dgp@users.sourceforge.net>
-2005-01-27 Andreas Kupries <andreask@activestate.com>
+ * tests/execute.test (6.3,4): Added tests for [Bug 1899164].
- TIP#218 IMPLEMENTATION
+2008-03-03 Reinhard Max <max@suse.de>
- * generic/tclDecls.h: Regenerated from tcl.decls.
- * generic/tclStubInit.c:
+ * unix/tclUnixChan.c: Fix mark and space parity on Linux, which uses
+ CMSPAR instead of PAREXT.
- * doc/CrtChannel.3: Documentation of extended API,
- * generic/tcl.decls: extended testsuite, and
- * generic/tcl.h: implementation. Removal of old
- * generic/tclIO.c: driver-specific TclpCut/Splice
- * generic/tclInt.h: functions. Replaced with generic
- * tests/io.test: thread-action calls through the
- * unix/tclUnixChan.c: new hooks. Update of all builtin
- * unix/tclUnixPipe.c: channel drivers to version 4.
- * unix/tclUnixSock.c: Windows drivers extended to
- * win/tclWinChan.c: manage thread state in a thread
- * win/tclWinConsole.c: action handler.
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
- * mac/tclMacChan.c:
+2008-03-02 Miguel Sofer <msofer@users.sf.net>
-2005-01-25 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclNamesp.c (GetNamespaceFromObj):
+ * tests/interp.test (interp-28.2): Spoil the intrep of an nsNameType
+ obj when the reference crosses interpreter boundaries.
- * library/auto.tcl: Updated [auto_reset] to clear auto-loaded
- procs in namespaces other than :: [Bug 1101670].
+2008-02-29 Don Porter <dgp@users.sourceforge.net>
-2005-01-25 Daniel Steffen <das@users.sourceforge.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().
- * unix/tcl.m4 (Darwin): fixed bug with static build linking to dynamic
- library in /usr/lib etc instead of linking to static library earlier
- in search path. [Bug 956908]
- Removed obsolete references to Rhapsody.
- * unix/configure: autoconf-2.13
+ * 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().
-2005-01-19 Mo DeJong <mdejong@users.sourceforge.net>
+2008-02-28 Joe English <jenglish@users.sourceforge.net>
- * win/tclWinChan.c (FileCloseProc): Invoke TclpCutFileChannel() to
- remove a FileInfo from the thread local list before deallocating it.
- This should have been done via an earlier call to Tcl_CutChannel, but
- I was running into a crash in the next call to Tcl_CutChannel during
- the IO finalization stage.
+ * unix/tclPort.h, unix/tclCompat.h, unix/tclUnixChan.h: Reduce scope
+ of <sys/filio.h> and <sys/ioctl.h> #includes. [Patch 1903339]
-2005-01-17 Vince Darley <vincentdarley@users.sourceforge.net>
+2008-02-28 Joe English <jenglish@users.sourceforge.net>
- * tests/winFCmd.test: made test independent of current drive. [Bug
- 1066528]
+ * 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].
-2005-01-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-02-28 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixFCmd.c (CopyFile): Convert u_int to unsigned to make
- clashes with types in standard C headers less of a problem. [Bug
- 1098829]
+ * 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.
-2005-01-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclCompExpr.c (ParseExpr): Plug memory leak in error
+ message generation.
- * library/http/http.tcl (http::mapReply): Significant performance
- enhancement by using [string map] instead of [regsub]/[subst], and
- update version requirement to Tcl8.4. [Bug 1020491]
+ * generic/tclStringObj.c (Tcl_AppendFormatToObj): [format %llx $big]
+ leaked an mp_int.
-2005-01-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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.
- * unix/tclUnixInit.c (localeTable): Add encoding mappings for some
- Chinese locales. [Bug 1084595]
-
- * doc/lsearch.n: Convert to other form of emacs mode control
- comment to prevent problems with old versions of man. [Bug 1085127]
+2008-02-27 Pat Thoyts <patthoyts@users.sourceforge.net>
-2004-12-29 Jeff Hobbs <jeffh@ActiveState.com>
+ * library/http/http.tcl: [Bug 705956] - fix inverted logic when
+ cleaning up socket error in geturl.
- * win/tcl.m4, win/configure: update MSVC CFLAGS_OPT to -O2, remove
- -Gs (included in -O2) and -GD (outdated). Use "link -lib" instead
- of "lib" binary and remove -YX for MSVC7 portability. Add
- -fomit-frame-pointer for gcc OPT compiles. [Bug 1092952, 1091967]
+2008-02-27 Kevin B. Kenny <kennykb@acm.org>
-2004-12-13 Kevin B. Kenny <kennykb@acm.org>
+ * 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].
- * doc/clock.n: Clarify that the [clock scan] command does not accept
- the full range of ISO8601 point-in-time formats. [Bug 1075433]
+2008-02-26 Joe English <jenglish@users.sourceforge.net>
-2004-12-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclIOUtil.c, unix/tclUnixPort.h, unix/tclUnixChan.c:
+ Remove dead/unused portability-related #defines and unused conditional
+ code. See [Patch 1901828] for discussion.
- * doc/Async.3: Reword for better grammar, better nroff and get the
- flag name right. (Reported by David Welton.)
+2008-02-26 Joe English <jenglish@users.sourceforge.net>
-2004-12-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclIORChan.c (enum MethodName),
+ * generic/tclCompExpr.c (enum Marks): More stray trailing ","s
- *** 8.4.9 TAGGED FOR RELEASE ***
+2008-02-26 Joe English <jenglish@users.sourceforge.net>
- * unix/tclUnixNotfy.c (NotifierThreadProc): init numFdBits [Bug
- 1079286]
+ * 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.
-2004-12-02 Jeff Hobbs <jeffh@ActiveState.com>
+2008-02-26 Joe English <jenglish@users.sourceforge.net>
- * changes: updated for 8.4.9 release
+ * generic/tclCompile.h: Remove stray trailing "," from enum
+ InstOperandType definition (C99ism).
-2004-12-02 Vince Darley <vincentdarley@users.sourceforge.net>
+2008-02-26 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclIOUtil.c: fix and new tests for [Bug 1074671] to
- * tests/fileSystem.test: ensure tilde paths are not returned specially
- by 'glob'.
+ * generic/tclUtil.c (TclReToGlob): Fix the handling of the last star
+ * tests/regexpComp.test: possibly being escaped in
+ determining right anchor. [Bug 1902436]
-2004-12-01 Don Porter <dgp@users.sourceforge.net>
+2008-02-26 Pat Thoyts <patthoyts@users.sourceforge.net>
- * library/auto.tcl (tcl_findLibrary): Disabled use of [file normalize]
- that caused trouble with freewrap. [Bug 1072136]
+ * 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]
-2004-11-26 Don Porter <dgp@users.sourceforge.net>
+2008-02-22 Pat Thoyts <patthoyts@users.sourceforge.net>
- * tests/reg.test (reg-32.*): Added missing testregexp constraints.
+ * 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]
- * library/auto.tcl (tcl_findLibrary): Made sure the uniquifying
- operations on the search path does not also normalize. [Bug 1072136]
+2008-02-13 Don Porter <dgp@users.sourceforge.net>
-2004-11-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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
- * doc/dde.n: Resynchonized the documentation with itself and fixed
- some formatting errors.
+ * unix/configure: autoconf (2.59)
+ * win/configure:
-2004-11-25 Zoran Vasiljevic <vasiljevic@users.sf.net>
+2008-02-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * doc/Notify.3:
- * doc/Thread.3: Added doc fixes and hints from [Bug 1068077].
+ * 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]
-2004-11-25 Reinhard Max <max@suse.de>
+ * unix/README: Documented missing configure flags. [Bug 1799011]
- * tests/tcltest.test: The order in which [glob] returns the file names
- * tests/fCmd.test: is undefined, so tests should not depend on it.
+2008-02-06 Kevin B. Kenny <kennykb@acm.org>
-2004-11-24 Don Porter <dgp@users.sourceforge.net>
+ * 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).
- * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected failure to determine
- the number of arguments for readdir_r on SunOS systems. [Bug 1071701]
+2008-02-04 Don Porter <dgp@users.sourceforge.net>
- * unix/configure: autoconf-2.13
+ *** 8.5.1 TAGGED FOR RELEASE ***
-2004-11-24 Jeff Hobbs <jeffh@ActiveState.com>
+ * changes: Updated for 8.5.1 release.
- * README: Bumped patchlevel to 8.4.9
- * generic/tcl.h:
+ * generic/tcl.h: Bump to 8.5.1 for release.
+ * library/init.tcl:
* tools/tcl.wse.in:
- * unix/tcl.spec, unix/configure, unix/configure.in:
- * win/configure, win/configure.in:
-
-2004-11-24 Kevin B. Kenny <kennykb@acm.org>
-
- * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected bad check for 3-argument
- readdir_r(). [Bug 1001325]
- * unix/configure: Regenerated.
- * unix/tclUnixNotfy.c: Corrected all uses of 'select' to manage their
- masks using the FD_CLR, FD_ISSET, FD_SET, and FD_ZERO macros rather
- than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807]
-
-2004-11-23 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdIL.c (InfoVarsCmd): Corrected segfault in new
- * tests/info.test (info-19.6): trivial matching branch [Bug 1072654]
-
-2004-11-23 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclPathObj.c: fix and new test for [Bug 1043129] in
- * tests/fileSystem.test: the treatment of backslashes in file join on
- Windows.
-
-2004-11-22 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Define HAVE_TYPE_OFF64_T only when
- off64_t, open64(), and lseek64() are defined. IRIX 5.3 is known to not
- include an open64 function. [Bug 1030465]
-
-2004-11-22 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_ENABLE_THREADS): Check for a 2 argument version of
- readdir_r that is known to exists under IRIX 5.3.
- * unix/tclUnixThrd.c (TclpReaddir): Use either 2 arg or 3 arg version
- of readdir_r. [Bug 1001325]
-
-2004-11-19 Reinhard Max <max@suse.de>
-
- *** 8.4.8 TAGGED FOR RELEASE ***
-
- * unix/installManPage: Classic sed doesn't support | in REs.
-
-2004-11-19 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile:
* unix/configure.in:
- * unix/tclUnixInit.c (MacOSXGetLibraryPath): changed detection of tcl
- framework build when determining tclLibPath from overloaded
- TCL_LIBRARY to configuration define TCL_FRAMEWORK. [Bug 1068088]
-
- * unix/configure: autoconf-2.13
+ * unix/tcl.spec:
+ * win/configure.in:
- * tests/unixInit.test (7.1): fixed failure when running tests
- with -tmpdir arg not set to working dir.
+ * unix/configure: autoconf-2.59
+ * win/configure:
-2004-11-18 Don Porter <dgp@users.sourceforge.net>
+2008-02-04 Miguel Sofer <msofer@users.sf.net>
- * changes: Final updates for Tcl 8.4.8 release.
+ * generic/tclExecute.c (INST_CONCAT1): Fix optimisation for in-place
+ concatenation (was going over String type)
-2004-11-18 Reinhard Max <max@suse.de>
+2008-02-02 Daniel Steffen <das@users.sourceforge.net>
- * unix/tcl.m4 (SC_CONFIG_MANPAGES): Applied an improved version of
- * unix/configure.in: [Patch 996085], that introduces
- * unix/Makefile.in: --enable-man-suffix.
+ * unix/configure.in (Darwin): Correct Info.plist year substitution in
+ non-framework builds.
- * unix/installManPage: added
- * unix/mkLinks.tcl: removed
- * unix/mkLinks: removed
+ * unix/configure: autoconf-2.59
-2004-11-16 Jeff Hobbs <jeffh@ActiveState.com>
+2008-01-30 Miguel Sofer <msofer@users.sf.net>
- * unix/tclUnixChan.c (TtySetOptionProc): fixed crash configuring
- -ttycontrol on a channel. [Bug 1067708]
+ * generic/tclInterp.c (Tcl_GetAlias): Fix for [Bug 1882373], thanks go
+ to an00na.
-2004-11-16 Andreas Kupries <andreask@activestate.com>
+2008-01-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * win/makefile.vc: Fixed bug in installation of http 2.5.
- * win/makefile.bc: Was installed into directory http2.4.
- * win/Makefile.in: This has been corrected.
- * unix/Makefile.in:
- * tools/tcl.wse.in:
- * tools/tclmin.wse:
+ * tools/tcltk-man2html.tcl: Reworked manual page scraper to do a
+ proper job of handling references to Ttk options. [Tk Bug 1876493]
-2004-11-16 Don Porter <dgp@users.sourceforge.net>
+2008-01-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * library/auto.tcl: Updated [tcl_findLibrary] search path to
- include the $::auto_path. [RFE 695441]
+ * 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]
-2004-11-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-01-25 Don Porter <dgp@users.sourceforge.net>
- * doc/tclvars.n: Mention global variables set by tclsh and wish so
- they are easier to find. [Patch 1065732]
+ * changes: Updated for 8.5.1 release.
-2004-11-15 Don Porter <dgp@users.sourceforge.net>
+2008-01-23 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Fixed Bug 1065378 which failed
- * tests/trace.test (trace-33.1): to permit a variable trace
- created with [trace variable] to be destroyed with [trace remove].
- Thanks to Keith Vetter for the report.
+ * 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.
-2004-11-12 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCompile.h: Demote TclCompEvalObj() from internal stubs to
+ * generic/tclInt.decls: a MODULE_SCOPE routine declared in
+ tclCompile.h.
- * library/init.tcl: Made [unknown] robust in the case that either
- of the variables ::errorInfo or ::errorCode gets unset. [Bug 1063707]
+ * generic/tclIntDecls.h: make genstubs
+ * generic/tclStubInit.c:
-2004-11-12 Jeff Hobbs <jeffh@ActiveState.com>
+2008-01-22 Don Porter <dgp@users.sourceforge.net>
- * generic/tclEncoding.c (TableFromUtfProc): correct crash
- condition when TCL_UTF_MAX == 6. [Bug 1004065]
+ * generic/tclTimer.c (AfterProc): Replace Tcl_EvalEx() with
+ Tcl_EvalObjEx() to evaluate [after] callbacks. Part of trend to favor
+ compiled execution over direct evaluation.
-2004-11-12 Daniel Steffen <das@users.sourceforge.net>
+2008-01-22 Miguel Sofer <msofer@users.sf.net>
- * doc/clock.n:
- * doc/registry.n:
- * doc/upvar.n: fixed *roff errors uncovered by running 'make html'.
+ * generic/tclCmdIl.c (Tcl_LreverseObjCmd):
+ * tests/cmdIL.test (cmdIL-7.7): Fix crash on reversing an empty list.
+ [Bug 1876793]
- * tools/tcltk-man2html.tcl: added faked support for bullet point
- lists, i.e. *nroff ".IP \(bu" syntax.
- Synced other changes from HEAD.
+2008-01-20 Jeff Hobbs <jeffh@ActiveState.com>
-2004-11-11 Daniel Steffen <das@users.sourceforge.net>
+ * unix/README: Minor typo fixes [Bug 1853072]
- * tests/fCmd.test:
- * unix/tclUnixFCmd.c (TraverseUnixTree): added option to rewind() the
- readdir() loop whenever the source hierarchy has been modified by
- traverseProc (e.g. by deleting files); this is required to ensure
- complete traversal of the source hierarchy on certain filesystems like
- HFS+. Added test for failing recursive delete on Mac OS X that was due
- to this. [Bug 1034337]
+ * generic/tclIO.c (TclGetsObjBinary): Operate on topmost channel.
+ [Bug 1869405] (Ficicchia)
- * generic/tclListObj.c (Tcl_ListObjReplace): use memmove() instead of
- manual copy loop to shift list elements. Decreases time spent in
- Tcl_ListObjReplace() from 5.2% to 1.7% of overall runtime of tclbench
- on a ppc 7455 (i.e. 200% speed increase). [Patch 1064243]
+2008-01-17 Don Porter <dgp@users.sourceforge.net>
- * generic/tclHash.c: hoisted some constant pointer dereferences out of
- loops to eliminate redundant loads that the gcc optimizer didn't deal
- with. Decreases time spend in Tcl_FindHashEntry() by 10% over a full
- run of the tcl testuite on a ppc 7455. [Patch 1064243]
+ * generic/tclCompExpr.c: Revision to preserve parsed intreps of
+ numeric and boolean literals when compiling expressions with (optimize
+ == 1).
- * tests/fileName.test:
- * tests/fileSystem.test:
- * tests/io.test:
- * tests/tcltest.test: fixed bugs causing failures when running tests
- with -tmpdir arg not set to working dir.
+2008-01-15 Miguel Sofer <msofer@users.sf.net>
- * macosx/Makefile: corrected path to html help inside framework.
- Prevent parallel make from building several targets at the same time.
+ * 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:
-2004-11-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclCompExpr.c: Fix literal leak in exprs [Bug 1869989] (dgp)
+ * generic/tclExecute.c:
+ * tests/compExpr.test:
- * doc/catch.n: Clarify documentation on return codes. [Bug 1062647]
+ * doc/proc.n: Changed wording for access to non-local variables; added
+ mention to [namespace upvar]. Lame attempt at dealing with
+ documentation. [Bug 1872708]
-2004-11-02 Don Porter <dgp@users.sourceforge.net>
+2008-01-15 Miguel Sofer <msofer@users.sf.net>
- * changes: Updates for Tcl 8.4.8 release.
+ * 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]
-2004-11-02 Don Porter <dgp@users.sourceforge.net>
+2008-01-13 Jeff Hobbs <jeffh@ActiveState.com>
- * library/tcltest/tcltest.tcl: Corrected some misleading
- * tests/tcltest.test (tcltest-26.1,2): displays of ::errorInfo and
- ::errorCode information when the -setup, -body, and/or -cleanup scripts
- return an unexpected return code. Thanks to Robert Seeger for the
- fix. [RFE 1017151]
+ * win/tclWinSerial.c (SerialCloseProc, TclWinOpenSerialChannel): Use
+ critical section for read & write side. [Bug 1353846] (newman)
-2004-11-02 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-01-11 Miguel Sofer <msofer@users.sf.net>
- * generic/tclExecute.c (TclExecuteByteCode): NaN-equality fix from
- Miguel Sofer. [Bug 761471]
+ * unix/tclUnixThrd.c (TclpThreadGetStackSize): Restore stack checking
+ functionality in freebsd. [Bug 1850424]
- * doc/CrtChannel.3 (Tcl_GetChannelMode): Add synopsis. [Bug 1058446]
+ * unix/tclUnixThrd.c (TclpThreadGetStackSize): Fix for crash in
+ freebsd. [Bug 1860425]
-2004-10-31 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2008-01-10 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdIL.c (InfoGlobalsCmd):
- * tests/info.test (info-8.4): Strip leading global-namespace
- specifiers from the pattern argument. [Bug 1057461]
+ * 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]
-2004-10-30 Miguel Sofer <msofer@users.sf.net>
+2008-01-09 George Peter Staplin <georgeps@xmission.com>
- * generic/tclCmdAH.c (Tcl_CatchObjCmd): removed erroneous comment [Bug
- 1029518]
+ * doc/vwait.n: Add a missing be to fix a typo.
-2004-10-29 Don Porter <dgp@users.sourceforge.net>
+2008-01-04 Jeff Hobbs <jeffh@ActiveState.com>
- * library/tcltest/tcltest.tcl: Correct reaction to errors in the
- obsolete processCmdLineArgsHook. [Bug 1055673]
- * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.7
+ * tools/tcltk-man2html.tcl (make-man-pages): Make man page title use
+ more specific info on lhs to improve tabbed browser view titles.
-2004-10-28 Andreas Kupries <andreask@activestate.com>
+2008-01-02 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclAlloc.c: Fixed [Bug 1030548], a threaded debug
- * generic/tclThreadAlloc.c: build on Windows now works again. Had to
- * win/tclWinThrd.c: touch Unix as well. Basic patch by Kevin,
- * unix/tclUnixThrd.c: with modifications by myself.
+ * 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.
-2004-10-28 Don Porter <dgp@users.sourceforge.net>
+2008-01-02 Don Porter <dgp@users.sourceforge.net>
- * README: Bumped patch level to 8.4.8 to prepare for
- * generic/tcl.h: next patch release.
- * tools/tcl.wse.in:
- * unix/configure.in:
+ * 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/README.binary:
* win/configure.in:
+ * README
- * unix/configure: autoconf (2.13)
+ * unix/configure: autoconf (2.59)
* win/configure:
-2004-10-28 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclInt.decls:
- * unix/tclUnixTime.c (TclpGmtime, TclpLocaltime):
- * win/tclWinTime.c (TclpGmtime, TclpLocaltime): Changed type
- signatures of TclpGmtime and TclpLocaltime to accept CONST TclpTime_t
- throughout, to avoid any possible confusion in pedantic compilers.
- [Bug 1001319]
- * generic/tclIntDecls.h:
- * generic/tclIntPlatDecls.h: Regenerated.
-
-2004-10-27 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Restored missing line
- from yesterday's 868489 backport that caused failed alloc's on LP64
- systems.
-
- * tests/appendComp.test: Backport test suite fixes of errors
- * tests/autoMkindex.test: revealed by -singleproc 1 -debug 1
- * tests/exec.test: options to make test.
- * tests/execute.test:
- * tests/interp.test:
- * tests/io.test:
- * tests/namespace.test:
- * tests/regexpComp.test:
- * tests/stringComp.test:
- * tests/unixInit.test:
- * tests/winPipe.test:
-
-2004-10-26 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Backport a missing bit of the
- [Bug 868489] fix.
- * generic/tclObj.c (SetBooleanFromAny): Backport fix for [Bug 1026125]
- * tests/format.test (format-19.1): Additional regression test for
- [Bug 868489].
-
-2004-10-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * doc/*.n: Backporting of documentation updates.
-
-2004-10-26 Don Porter <dgp@users.sourceforge.net>
-
- * tests/subst.test (subst-12.3-5): More tests for [Bug 1036649]
-
- * tests/compile.test (compile-12.4): Backport test for [Bug 1001997]
- * tests/timer.test (timer-10.1): Backport test for [Bug 1016167]
- * tests/tcltest.test (tcltest-12.3,4): Backport setup corrections.
- * tests/error.test (error-6.3,4,7,9): Backport of some tests.
- * tests/basic.test (basic-49.*):
- * tests/namespace.test (namespace-8.7):
- * tests/init.test (init-2.8): Updated to not rely on http package.
-
- * generic/tclThreadTest.c (ThreadEventProc): Corrected subtle bug
- where the returned (char *) from Tcl_GetStringResult(interp) continued
- to be used without copying or refcounting, while activity on the
- interp continued.
-
-2004-10-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclUtil.c (TclMatchIsTrivial): Detect degenerate cases of
- glob matching that let us avoid scanning through hash tables.
- * generic/tclCmdIL.c (InfoCommandsCmd, InfoGlobalsCmd, InfoProcsCmd):
- (InfoVarsCmd): Use this to speed up some [info] subcommands.
+2007-12-31 Donal K. Fellows <dkf@users.sf.net>
-2004-10-08 Jeff Hobbs <jeffh@ActiveState.com>
+ * doc/dict.n: Clarified meaning of dictionary values following
+ discussion on comp.lang.tcl.
- * win/tclWinFile.c (NativeIsExec): correct result of 'file executable'
- to not be case sensitive. [Bug 954263]
+2007-12-26 Miguel Sofer <msofer@users.sf.net>
-2004-10-05 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdIL.c: More [lsort] data handling streamlines. The
+ function MergeSort is gone, essentially inlined into Tcl_LsortObjCmd.
+ It is not a straight inlining, two loops over all lists elements where
+ merged in the process: the linked list elements are now built and
+ merged into the temporary sublists in the same pass.
- * generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021
- workaround. That bug is now fixed.
+2007-12-25 Miguel Sofer <msofer@users.sf.net>
-2004-09-30 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdIL.c: More [lsort] data handling streamlines. Extra
+ mem reqs of latest patches removed, restored to previous mem profile.
+ Improved -unique handling, now eliminating repeated elems immediately
+ instead of marking them to avoid reinsertion at the end.
- * generic/tclNamespace.c (TclTeardownNamespace): Tcl_Obj-ified the
- * tests/namespace.test (namespace-8.5,6): save/restore of
- ::errorInfo and ::errorCode during global namespace teardown. Revised
- the comment to clarify why this is done, and added tests that will
- fail if this is not done.
+2007-12-23 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclResult.c (TclTransferResult): Added safety checks so
- that unexpected undefined ::errorInfo or ::errorCode will not lead to
- a segfault.
+ * 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/tclVar.c (CallVarTraces): Save/restore the flag values
- * tests/var.test (var-16.1): that define part of the interpreter
- state during variable traces. [Bug 1038021]
+2007-12-21 Miguel Sofer <msofer@users.sf.net>
-2004-09-30 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclCmdIL.c: Speed patch for lsort [Patch 1856994].
- * tests/subst.test (12.2): test correction.
+2007-12-21 Miguel Sofer <msofer@users.sf.net>
-2004-09-29 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclCmdIL.c (Tcl_LsortObjCmd, Tcl_LsearchObjCmd): Avoid
+ calling SelectObjFromSublist when there are no sublists.
- * generic/tclBasic.c (Tcl_EvalEx):
- * tests/subst.test (12.1-2): fix for buffer overflow in [subst], [Bug
- 1036649]
+2007-12-21 Miguel Sofer <msofer@users.sf.net>
-2004-09-23 Mo DeJong <mdejong@users.sourceforge.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.
- * unix/dltest/Makefile.in (clean): Fixup make clean rule so that it
- does not delete all files when SHLIB_SUFFIX is set to the empty string
- in a static build. [Bug 1016726]
+2007-12-19 Don Porter <dgp@users.sourceforge.net>
-2004-09-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ *** 8.5.0 TAGGED FOR RELEASE ***
- * generic/tclExecute.c (TEBC-INST_LSHIFT,INST_RSHIFT): Ensure that
- large shifts end up shifting correctly. [Bug 868467]
+ * changes: Updated for 8.5.0 release.
-2004-09-15 Daniel Steffen <das@users.sourceforge.net>
+2007-12-19 Jeff Hobbs <jeffh@ActiveState.com>
- * tests/load.test (load-2.3): adopted fix for failure on darwin from
- HEAD.
+ * 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]
-2004-09-14 Don Porter <dgp@users.sourceforge.net>
+2007-12-18 Don Porter <dgp@users.sourceforge.net>
- * generic/tclObj.c (Tcl_GetIntFromObj): Corrected flaw in returning
- the int value of a wideInteger. [Bug 1027690]
+ * changes: Updated for 8.5.0 release.
-2004-09-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-
- * generic/tclObj.c (SetIntOrWideFromAny): Rewritten integral value
- parsing code so that values do not flip so easily between numeric
- representations. Thanks to KBK for this! [Bug 868489]
-
- * generic/tclIO.c (Tcl_Seek): Make sure wide seeks do not fail to set
- ::errorCode on error. [Bug 1025359]
-
-2004-09-10 Andreas Kupries <andreask@activestate.com>
-
- * generic/tcl.h: Micro formatting fixes.
- * generic/tclIOGT.c: Channel version fixed, must be 3, to have
- wideseekProc. Thanks to David Graveraux <davygrvy@pobox.com>.
-
-2004-09-11 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamespace.c (TclGetNamespaceForQualName): Resolved
- longstanding inconsistency in the treatment of the TCL_NAMESPACE_ONLY
- flag revealed by testing the 2004-09-09 commits against Itcl.
- TCL_NAMESPACE_ONLY now acts as specified in the pre-function
- comment, forcing resolution in the passed in context namespace. It has
- been incorrectly forcing resolution in the interp's current namespace.
-
-2004-09-10 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclExecute.c (INST_CONCAT1): added a peephole optimisation
- for concatting an empty string. This enables replacing the idiom 'K $x
- [set x {}]' by '$x[set x {}]' for fastest execution.
-
-2004-09-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclNamesp.c (Tcl_ForgetImport): Corrected faulty logic that
- * tests/namespace.test: relied exclusively on string matching and
- failed in the presence of [rename]s. [Bug 560297]
- Also corrected faulty prevention of [namespace import] cycles. [Bug
- 1017299]
+2007-12-18 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2004-09-08 Kevin B. Kenny <kennykb@acm.org>
+ * 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]
- * compat/strftime.c (_conv): Corrected a problem where hour 0 would
- format as a blank format group with %k.
- * tests/clock.test (clock-41.1): Added regression test case for %k at
- the zero hour.
+2007-12-17 Don Porter <dgp@users.sourceforge.net>
-2004-09-07 Kevin B. Kenny <kennykb@acm.org>
+ * changes: Updated for 8.5.0 release.
- * generic/tclTimer.c: Removed a premature optimisation that attempted
- to store the assoc data in the client data; the optimisation caused a
- bug that [after] would overwrite its imports. [Bug 1016167]
+2007-12-17 Miguel Sofer <msofer@users.sf.net>
-2004-09-02 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclAlloc.c:
+ * generic/tclExecute.c:
+ * 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]
- * doc/lsearch.n: Clarified meaning of -dictionary. [Bug 759545]
+2007-12-14 Jeff Hobbs <jeffh@ActiveState.com>
-2004-09-01 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclIOUtil.c (FsAddMountsToGlobResult): fix the tail
+ conversion of vfs mounts. [Bug 1602539]
- * win/tclWinReg.c (BroadcastValue): WIN64 cast corrections
+ * win/README: updated notes
- * win/tclWinDde.c (DdeClientWindowProc):
- (DdeServicesOnAck, DdeEnumWindowsCallback): WIN64 corrections
+2007-12-14 Pat Thoyts <patthoyts@users.sourceforge.net>
- * win/tclWin32Dll.c (TclWinCPUID): need _asm for WIN64 (Itanium),
- until we have it, just return unknown. [Bug 1020445]
+ * tests/winFile.test: Fixed tests for win2k with long machine name
-2004-08-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2007-12-14 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Stop [string map] from
- crashing when its map and input string are the same object.
+ * win/nmakehlp.c: Support compilation with MSVC9 for AMD64.
+ * win/makefile.vc:
-2004-08-27 Daniel Steffen <das@users.sourceforge.net>
+2007-12-13 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * tests/env.test: macosx fixes.
+ * doc/trace.n: Clarified documentation of enterstep and leavestep
+ traces, including adding example. [Bug 614282, 1701540, 1755984]
-2004-08-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2007-12-12 Don Porter <dgp@users.sourceforge.net>
- * generic/tclScan.c (Tcl_ScanObjCmd, ValidateFormat): Ensure that the
- %ld conversion works correctly on 64-bit platforms. [Bug 1011860]
+ * doc/IntObj.3: Update docs for the Tcl_GetBignumAndClearObj() ->
+ Tcl_TakeBignumFromObj() revision [TIP 298]. Added docs for the
+ Tcl_InitBignumFromDouble() routine. [Bug 1446971].
-2004-08-16 Miguel Sofer <msofer@users.sf.net>
+ * changes: Updated for 8.5.0 release.
- * doc/SetVar.3:
- * generic/tclTest.c (TestseterrorcodeCmd):
- * generic/tclVar.c (TclPtrSetVar):
- * tests/result.test (result-4.*, result-5.*): [Bug 1008314]
- detected and fixed by dgp.
+2007-12-10 Jeff Hobbs <jeffh@ActiveState.com>
-2004-08-13 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclUtil.c (TclReToGlob): reduce escapes in conversion
+ when not necessary
- * library/msgcat/msgcat.tcl: Added checks to prevent [mclocale]
- * tests/msgcat.test: from registering filesystem paths to possibly
- malicious code to be evaluated by a later [mcload].
- * library/msgcat/pkgIndex.tcl: Bump to msgcat 1.3.3
+ * 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
-2004-08-10 Zoran Vasiljevic <vasiljevic@users.sf.net>
+2007-12-10 Joe English <jenglish@users.sourceforge.net>
- * unix/tclUnixThrd.c (TclpThreadCreate): changed handling of the
- returned thread ID since broken on 64-bit systems (Cray). Thanks to
- Rob Ratcliff for reporting the bug.
+ * 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".
-2004-07-30 Don Porter <dgp@users.sourceforge.net>
+2007-12-10 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclEvent.c (Tcl_Finalize): Re-organized Tcl_Finalize so
- that Tcl_ExitProc's that call Tcl_Finalize recursively do not cause
- deadlock. [Patch 999084, fixes Tk Bug 714956]
+ * 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.
-2004-07-30 Daniel Steffen <das@users.sourceforge.net>
+ * 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.
- * unix/configure:
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Darwin: instead of setting PLAT_OBJS
- to explict object files in tcl.m4, refer to MAC_OSX_OBJS makefile var.
- * unix/Makefile.in: added MAC_OSX_OBJS variable.
-
-2004-07-28 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclDecls.h: regen with new genStubs.tcl.
+ * generic/tclIntDecls.h: [Bug 1834288]
+ * generic/tclIntPlatDecls.h:
+ * generic/tclPlatDecls.h:
+ * generic/tclStubInit.c:
- * generic/tclMain.c (Tcl_Main, StdinProc): Append newline only to
- * tests/basic.test (basic-46.1): incomplete scripts as part
- of multi-line script construction. Do not add an extra trailing
- newline to the complete script. [Bug 833150]
+2007-12-09 Jeff Hobbs <jeffh@ActiveState.com>
-2004-07-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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]
- *** 8.4.7 TAGGED FOR RELEASE ***
+2007-12-08 Donal K. Fellows <dkf@users.sf.net>
- * tests/io.test (io-61.1): create file in binary mode for x-plat.
+ * doc/expr.n, doc/mathop.n: Improved the documentation of the
+ operators. [Bug 1823622]
-2004-07-25 Pat Thoyts <patthoyts@users.sourceforge.net>
+ * 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]
- * generic/tclThreadAlloc.c: Moved the tclInt.h include to provide
- Tcl_Panic which is now required for non-threaded build.
+2007-12-07 Jeff Hobbs <jeffh@ActiveState.com>
-2004-07-22 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclExecute.c (TclExecuteByteCode INST_REGEXP):
+ * generic/tclCompCmds.c (TclCompileRegexpCmd): Pass correct RE
+ compile flags at compile time, and use TCL_REG_NOSUB.
- * tests/eofchar.data (removed): Test io-61.1 now generates its own
- * tests/io.test: file of test data as needed.
+ * generic/tclIOCmd.c (FinalizeIOCmdTSD, Tcl_PutsObjCmd): cache
+ stdout channel object for [puts $str] calls.
-2004-07-21 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinDde.c: Bump to dde 1.2.3 to cover changes
- * library/dde/pkgIndex.tcl: committed on 2004-06-14.
+2007-12-06 Don Porter <dgp@users.sourceforge.net>
- * changes: Updated for Tcl 8.4.7 release.
+ * README: Remove mention of dead comp.lang.tcl.announce
+ newsgroup. [Bug 1846433].
-2004-07-20 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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]
- * generic/tclEvent.c: Correct threaded obj allocator to
- * generic/tclInt.h: fully cleanup on exit and allow for
- * generic/tclThreadAlloc.c: reinitialization. [Bug 736426]
- * unix/tclUnixThrd.c: (mistachkin, kenny)
- * win/tclWinThrd.c:
+ * doc/AddErrInfo.3: Documentation for the new routines in TIP 270.
+ * doc/Interp.3:
+ * doc/StringObj.3:
-2004-07-20 Daniel Steffen <das@users.sourceforge.net>
+2007-12-06 Don Porter <dgp@users.sourceforge.net>
- * unix/tcl.m4: fixed Darwin autoconf breakage caused by recent CFLAGS
- reordering.
- * unix/configure: regen
+ * doc/namespace.n: Documentation for zero-argument form of
+ [namespace import] (TIP 261) [Bug 1596416]
- * unix/tclConfig.sh.in: replaced EXTRA_CFLAGS with CFLAGS.
- * unix/dltest/Makefile.in: replaced EXTRA_CFLAGS with DEFS.
+2007-12-06 Jeff Hobbs <jeffh@ActiveState.com>
- * macosx/tclMacOSXBundle.c: dynamically acquire address for
- CFBundleOpenBundleResourceMap symbol, since it is only present in
- full CoreFoundation on Mac OS X and not in CFLite on pure Darwin.
+ * generic/tclInt.h: add TclGetChannelFromObj decl
+ (TclMatchIsTrivial): simplify TclMatchIsTrivial to remove ] check.
-2004-07-19 Jeff Hobbs <jeffh@ActiveState.com>
+2007-12-06 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * unix/Makefile.in, unix/tcl.m4: move (C|LD)FLAGS after their
- * unix/configure.in, unix/configure: _DEFAULT to allow for env setting
- to override m4 switches.
- Consolidate header checks to limit redundancy in configure.
- (CFLAGS_WARNING): Remove -Wconversion, add -fno-strict-aliasing for
- gcc builds (need to suppress 3.x type puning warnings).
- (SC_ENABLE_THREADS): Set m4 to force threaded build when built against
- a threaded Tcl core.
- Reorder configure.in for better 64-bit build configuration, replacing
- EXTRA_CFLAGS with CFLAGS. [Bug 874058]
-2004-07-19 Zoran Vasiljevic <vasiljevic@users.sf.net>
+ * 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.
- * win/tclwinThrd.c: redefined MASTER_LOCK to call TclpMasterLock.
- Fixes [Bug 987967]
+ * generic/tclCompCmds.c (TclCompileEnsemble): Ensure that the right
+ number of tokens are copied. [Bug 1845320]
-2004-07-16 Andreas Kupries <andreask@activestate.com>
+ * generic/tclNamesp.c (TclMakeEnsemble): Added missing release of a
+ DString. [Bug 1845397]
- * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Corrected a typo in the
- generation of error messages and simplified by reusing data in a
- variable instead of retrieving the string again. Fixes [Bug 835289]
+2007-12-05 Jeff Hobbs <jeffh@ActiveState.com>
- * doc/OpenFileChnl.3: Added description of the behaviour of
- Tcl_ReadChars when its 'charsToRead' argument is set to -1. Fixes [Bug
- 934511]
+ * 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]
- * doc/CrtCommand.3: Added note that the arguments given to the command
- proc of a Tcl_CreateCommand are in utf8 since Tcl 8.1. Closing [Patch
- 414778]
+2007-12-05 Miguel Sofer <msofer@users.sf.net>
- * doc/ChnlStack.3: Removed the declaration that the interp argument to
- Tcl_(un)StackChannel can be NULL. This fixes [Bug 881220], reported by
- Marco Maggi <marcomaggi@users.sourceforge.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).
- * tests/socket.test: Accepted two new testcases by Stuart Casoff
- <stwo@users.sourceforge.net> checking that -server and -async don't go
- together [Bug 796534]
+2007-12-05 Jeff Hobbs <jeffh@ActiveState.com>
- * unix/tclUnixNotfy.c (NotifierThreadProc): Accepted Joe Mistachkin's
- patch for [Bug 990500], properly closing the notifier thread when its
- exits.
+ * win/configure, win/tcl.m4 (LIBS_GUI): mingw needs -lole32
+ -loleaut32 but not msvc for Tk's [send]. [Bug 1844749]
-2004-07-15 Andreas Kupries <andreask@activestate.com>
+2007-12-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * unix/tclUnixThrd.c (TclpFinalizeMutex): Accepted Joe Mistachkin's
- patch for [Bug 990453], closing leakage of mutexes. They were not
- destroyed properly upon finalization.
+ * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Prevent shimmering crash
+ when -exact and -integer/-real are mixed. [Bug 1844789]
-2004-07-15 Zoran Vasiljevic <vasiljevic@users.sf.net>
+2007-12-03 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclEvent.c (NewThreadProc): Backout of changes to fix [Bug
- 770053]. See SF bugreport for more info.
+ * unix/tclUnixChan.c (CreateSocketAddress): Add extra #ifdef-fery to
+ make code compile on BSD 5. [Bug 1618235, again]
- * generic/tclNotify.c (TclFinalizeNotifier): Added conditional
- notifier finalization based on the fact that an TclInitNotifier has
- been called for the current thread. This fixes [Bug 770053] again.
- Hopefully this time w/o unwanted side-effects.
+2007-12-03 Don Porter <dgp@users.sourceforge.net>
-2004-07-14 Andreas Kupries <andreask@activestate.com>
+ * 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.
+ * win/Makefile.in:
- * generic/tclIO.h (CHANNEL_INCLOSE): New flag. Set in Tcl_Close
- * generic/tclIO.c (Tcl_UnregisterChannel): while the close callbacks
- * generic/tclIO.c (Tcl_Close): are run. Checked in
- Tcl_Close and Tcl_Unregister to prevent recursive call of [close] in
- the close-callbacks. This is a possible error made by implementors of
- virtual filesystems based on 'tclvfs', thinking that they have to
- close the channel in the close handler for the filesystem.
+2007-12-03 Jeff Hobbs <jeffh@ActiveState.com>
-2004-07-14 Andreas Kupries <andreask@activestate.com>
+ * win/configure, win/tcl.m4 (LIBS_GUI): remove ole32.lib oleaut32.lib
- * generic/tclIO.c:
- * generic/tclIO.h:
- Not reverting, but #ifdef'ing the changes from May 19, 2004 out of the
- core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel
- drivers it introduced. This has become possible due to Expect gaining
- a BlockModeProc and now handling blockingg and non-blocking modes
- correctly. Thus [Bug 943274] is still fixed if a recent enough version
- of Expect is used.
+2007-12-03 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * doc/CrtChannel.3: Added warning about usage of a channel without a
- BlockModeProc.
+ * 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]
-2004-07-15 Andreas Kupries <andreask@pliers.activestate.com>
+2007-11-29 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclIOCmd.c (Tcl_PutsObjCmd): Added length check to the old
- depreceated newline syntax, to ensure that only "nonewline" is
- accepted. [Bug 985869] (mistachkin)
+ * 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.
-2004-07-13 Jeff Hobbs <jeffh@ActiveState.com>
+2007-11-29 Don Porter <dgp@users.sourceforge.net>
- * README, generic/tcl.h, tools/tcl.wse.in: bumped to
- * unix/configure, unix/configure.in, unix/tcl.spec: patchlevel
- * win/README.binary, win/configure, win/configure.in: 8.4.7
+ * 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.
-2004-07-13 Zoran Vasiljevic <vasiljevic@users.sf.net>
+2007-11-28 Don Porter <dgp@users.sourceforge.net>
- * generic/tclEvent.c (NewThreadProc): Fixed broken build on Windows
- caused by missing TCL_THREAD_CREATE_RETURN. This is backported from
- HEAD. Thnx to Kevin Kenny for spotting this.
+ * 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]
-2004-07-03 Miguel Sofer <msofer@users.sf.net>
+ * 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]
- * generic/tclExecute.c (ExprRoundFunc):
- * tests/expr-old.test (39.1): added support for wide integers to
- round(); [Bug 908375], reported by Hemang Lavana.
+ * generic/tclIO.c: Simplify test and improve accuracy of error
+ message in latest changes.
-2004-07-02 Jeff Hobbs <jeffh@ActiveState.com>
+2007-11-28 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/regcomp.c (stid): correct minor pointer size error
+ * generic/tclIO.c: -eofchar must support no eofchar.
- * generic/tclPipe.c (TclCreatePipeline): Add 2>@1 as a special
- * tests/exec.test: case redir of stderr to the result output.
+2007-11-27 Miguel Sofer <msofer@users.sf.net>
-2004-07-02 Vince Darley <vincentdarley@users.sourceforge.net>
+ * generic/tclBasic.c: remove unneeded call in Tcl_CreateInterp, add
+ comments.
- * tests/fileSystem.test: new tests backported
- * win/tclWin32Dll.c: compilation fix for VC++5.2
+2007-11-27 Don Porter <dgp@users.sourceforge.net>
-2004-06-29 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * win/tclWinSock.c: Add mising encoding conversion of the [info
+ hostname] value from the system encoding to Tcl's internal encoding.
- * library/safe.tcl: Make sure that the temporary variable is
- local to the namespace and not inadvertently global. [Bug 981733]
+ * 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]
-2004-06-22 Zoran Vasiljevic <vasiljevic@users.sf.net>
+2007-11-26 Miguel Sofer <msofer@users.sf.net>
- * generic/tclEvent.c:
+ * generic/tclBasic.c:
* generic/tclInt.h:
- * unix/tclUnixNotfy.c:
- * unix/tclUnixThrd.c:
- * win/tclWinThrd.c: See bug report for more information about what it
- does. [Bug 770053]
-
- * tests/unixNotfy.test: rewritten to use tcltest::threadReap to
- gracefully wait for the test thread to exit. Otherwise we got a race
- condition with main thread exiting before the test thread. This
- exposed the long-standing Tcl lib issue with resource
- garbage-collection on application exit.
-
-2004-06-21 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWin32Dll.c (DllMain, _except_dllmain_detach_handler)
- (TclpCheckStackSpace, _except_checkstackspace_handler, TclWinCPUID)
- (_except_TclWinCPUID_detach_handler):
- * win/tclWinChan.c (Tcl_MakeFileChannel)
- (_except_makefilechannel_handler):
- * win/tclWinFCmd.c (DoRenameFile, _except_dorenamefile_handler)
- (DoCopyFile, _except_docopyfile_handler):
- Rework pushing of exception handler function pointer so that compiling
- with gcc -O3 works. Remove empty function call to avoid compiler
- warning. Mark the DllMain function as noinline to avoid compiler error
- from duplicated asm labels in generated code.
-
-2004-06-14 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * tests/winDde.test: Fixed -async test
- * win/tclWinDde.c: Backported the fix from 8.5 to avoid hanging in the
- presence of applications that do not process Window messages.
-
-2004-06-10 Andreas Kupries <andreask@activestate.com>
-
- * generic/tclDecls.h: Regenerated on a unix box. The Win/DOS
- * generic/tclIntDecls.h: EOLs from the last regen screwed up
- * generic/tclIntPlatDecls.h: compilation with an older gcc.
- * generic/tclPlatDecls.h:
- * generic/tclStubInit.c:
-
-2004-06-10 Zoran Vasiljevic <vasiljevic@users.sf.net>
-
- * generic/tclIOUtil.c: partially corrected [Bug 932314]. Also,
- corrected return values of Tcl_FSChdir() to reflect those of the
- underlying platform-specific call. Originally, return codes were mixed
- with those of Tcl.
-
-2004-06-08 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclCompile.c: handle warning [Bug 969066]
-
-2004-06-05 Kevin B. Kenny <kennykb@acm.org>
-
- * generic/tcl.h: Corrected Tcl_WideInt declarations so that the mingw
- build works again.
- * generic/tclDecls.h: Changes to the tests for
- * generic/tclInt.decls: clock frequency in Tcl_WinTime
- * generic/tclIntDecls.h: so that any clock frequency is
- * generic/tclIntPlatDecls.h: accepted provided that all
- * generic/tclPlatDecls.h: CPU's in the system share a
- * generic/tclStubInit.c: common chip, and hence,
- * tests/platform.test (platform-1.3): presumably, a common clock.
- * win/tclWin32Dll.c (TclWinCPUID): This change necessitated a
- * win/tclWinTest.c (TestwincpuidCmd) small burst of assembly code
- * win/tclWinTime.c (Tcl_GetTime): to read CPU ID information,
- which was added as TclWinCPUID in the internal Stubs. To test this
- code in the common case of a single-processor machine, a
- 'testwincpuid' command was added to tclWinTest.c, and a test case in
- platform.test. Thanks to Jeff Godfrey and Richard Suchenwirth for
- reporting this bug. [Bug 976722]
-
-2004-05-27 Kevin B. Kenny <kennykb@acm.org>
-
- * tests/clock.test: Added a single test for the presence of %G in
- [clock format], and conditioned out the clock-10.x series if they're
- all going to fail because of a broken strftime() call. [Bug 961714]
-
-2004-05-27 Reinhard Max <max@suse.de>
-
- * generic/tclEncoding.c:
- * tests/encoding.test: added support and tests for translating
- embedded null characters between real nullbytes and the internal
- representation on input/output. [Bug 949905]
-
-2004-05-26 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Correction to debug prints and testing
- * library/tcltest/pkgIndex.tcl: if TCLTEST_OPTIONS value. Corrected
- * tests/tcltest.test: double increment of numTestFiles in
- -singleproc 1 configurations. Updated tcltest-19.1 to tcltest 2.1
- behavior. Corrected tcltest-25.3 to not falsely report a failure in
- tcltest.test. Bumped to tcltest 2.2.6. [Bugs 960560, 960926]
-
-2004-05-25 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/http.n (http::config): add -urlencoding option (default utf-8)
- * library/http/http.tcl: that specifies encoding conversion of
- * library/http/pkgIndex.tcl: args for http::formatQuery. Previously
- * tests/http.test: undefined, RFC 2718 says it should be
- utf-8. 'http::config -urlencoding {}' returns previous behavior,
- which will throw errors processing non-latin-1 chars. Bumped http
- package to 2.5.0.
-
-2004-05-25 Kevin Kenny <kennykb@acm.org>
-
- * tests/winFCmd.test: Correct test for the presence of a CD-ROM so
- that it doesn't misdetect some other sort of filesystem with a
- write-protected root as being a CD-ROM drive. [Bug 918267]
-
-2004-05-24 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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/tclExecute.c (VerifyExprObjType): use GET_WIDE_OR_INT to
- properly have tclIntType used for smaller values. This corrects TclX
- bug 896727 and any other 3rd party extension that created math
- functions but was not yet WIDE_INT aware in them.
+2007-11-24 Donal K. Fellows <dkf@users.sf.net>
-2004-05-24 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix bug in [dict
+ append] compiler which caused strange stack corruption. [Bug 1837392]
- * doc/set.n: accurate description of name resolution process,
- referring to namespace.n for details [Bug 959180]
+2007-11-23 Andreas Kupries <andreask@activestate.com>
-2004-05-22 Miguel Sofer <msofer@users.sf.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/tclVar.c (TclObjUnsetVar2): backported fix [Bug 735335] and
- new (in tcl8.4) exteriorisations of [Bug 736729] due to the use of
- tclNsVarNameType obj types. The consequences of [Bug 736729] should be
- the same as in tcl8.3 and previous versions. The use of
- tclNsVarNameType objs is still disabled, pending a decision by the
- release manager.
+ 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'.
-2004-05-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * tests/ioCmd.test: Updated the testsuite.
- * win/tclWinFile.c (TclpMatchInDirectory): fix for an issue where
- there was a sneak path from Tcl_DStringFree to SetErrorCode(0). The
- result was that the error code could be reset between a call to
- FindFirstFile and the check of its status return, leading to a bizarre
- error return of {POSIX unknown {No error}}. (Found in unplanned test -
- no incident logged at SourceForge.)
+2007-11-23 Jeff Hobbs <jeffh@ActiveState.com>
-2004-05-19 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/tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem
- * generic/tclIO.h: as [SF Tcl Bug 462317], see ChangeLog entry
- 2001-09-26. The fix done at that time is incomplete. It is possible to
- get around it if the actual read operation is defered and not executed
- in the event handler itself. Instead of tracking if we are in an read
- caused by a synthesized fileevent we now track if the OS has delivered
- a true event = actual data and bypass the driver if a read finds that
- there is no actual data waiting. The flag is cleared by a short or
- full read. [[this bug amended 2004-07-14]]
+2007-11-23 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2004-05-18 Kevin B. Kenny <kennykb@acm.org>
+ * generic/tclCmdMZ.c (String*Cmd, TclInitStringCmd): Rebuilt [string]
+ * generic/tclCompCmds.c (TclCompileString*Cmd): as an ensemble.
- * compat/strftime.c (_fmt, ISO8601Week):
- * doc/clock.n:
- * tests/clock.test: Major rework to the handling of ISO8601 week
- numbers. Now passes all the %G and %V test cases on Windows, Linux and
- Solaris [Bugs 500285, 500389, and 852944]
+2007-11-22 Donal K. Fellows <dkf@users.sf.net>
-2004-05-17 Kevin B. Kenny <kennykb.@acm.org>
+ * generic/tclDictObj.c (Dict*Cmd,TclInitDictCmd): Rebuilt the [dict]
+ * generic/tclCompCmds.c (TclCompileDict*Cmd): command as an ensemble.
- * generic/tclInt.decls: Restored TclpTime_t kludge to all places
- * generic/tclIntPlatDecls.h: where it appeared before the changes of
- * unix/tclUnixPort.h 14 May, because use of native time_t in
- * unix/tclUnixTime.h its place requires the 8.5 header
- * win/tclWinTime.h: reforms. [Bug 955146]
+2007-11-22 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2004-05-17 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclCmdMZ.c (Tcl_StringObjCmd): Rewrote the [string] and
+ * generic/tclDictObj.c (Tcl_DictObjCmd): [dict] implementations to be
+ ready for conversion to ensembles.
- * doc/OpenFileChnl.3: Documented type of 'offset' argument to Tcl_Seek
- was wrong. [Bug 953374]
+ * tests/string.test (string-12.22): Flag shimmering bug found in
+ [string range].
-2004-05-14 Kevin B. Kenny <kennykb@acm.org>
+2007-11-21 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclInt.decls: Promoted TclpLocaltime and TclpGmtime
- * generic/tclIntDecls.h: from Unix-specific stubs to the generic
- * generic/tclIntPlatDecls.h: internal Stubs table. Reran 'genstubs'
- * generic/tclStubInit.c:
- * unix/tclUnixPort.h:
+ * 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).
- * generic/tclClock.c: Changed a buggy 'GMT' timezone specification to
- the correct 'GMT0'. [Bug 922848]
+2007-11-21 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * unix/tclUnixThrd.c: Moved TclpGmtime and TclpLocaltime to
- unix/tclUnixTime.c where they belong.
+ * 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.
- * unix/tclUnixTime.c (TclpGmtime, TclpLocaltime, TclpGetTimeZone,
- (ThreadSafeGMTime[removed], ThreadSafeLocalTime[removed],
- (SetTZIfNecessary, CleanupMemory): Restructured to make sure that the
- same mutex protects all calls to localtime, gmtime, and tzset. Added a
- check in front of those calls to make sure that the TZ env var hasn't
- changed since the last call to tzset, and repeat tzset if necessary.
- [Bug 940278] Removed a buggy test of the Daylight Saving Time
- information in 'gettimeofday' in favor of applying 'localtime' to a
- known value. [Bug 922848]
+ * generic/various: Start to return more useful Error codes, currently
+ mainly on assorted lookup failures.
- * tests/clock.test (clock-3.14): Added test to make sure that changes
- to $env(TZ) take effect immediately.
+2007-11-20 Donal K. Fellows <dkf@users.sf.net>
- * win/tclWinTime.c (TclpLocaltime, TclpGmtime): Added porting layer
- for 'localtime' and 'gmtime' calls.
+ * 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.
-2004-05-10 David Gravereaux <davygrvy@pobox.com>
+ ***POTENTIAL INCOMPATIBILITY***
+ For any code that depended on the (strange) old iteration order.
- * win/tclWinPipe.c (BuildCommandLine): Append a space when the path
- got primed.
- (TclpCreateProcess): When under NT, with no console, and executing a
- DOS application, the path priming does not need an ending space as
- BuildCommandLine() will append one for us.
+ * generic/tclConfig.c (QueryConfigObjCmd): Correct usage of
+ Tcl_WrongNumArgs.
-2004-05-07 Miguel Sofer <msofer@users.sf.net>
+2007-11-19 Don Porter <dgp@users.sourceforge.net>
- * doc/unset.n: added upvar.n to the "see also" list
+ *** 8.5b3 TAGGED FOR RELEASE ***
-2004-05-05 David Gravereaux <davygrvy@pobox.com>
+ * 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:
- * generic/tclEvent.c: TclSetLibraryPath's use of caching the stringrep
- of the pathPtr object to TclGetLibraryPath called from another thread
- was ineffective if the original's stringrep had been invalidated as
- what happens when it gets muted to a list.
+ * unix/configure: autoconf (2.59)
+ * win/configure:
- * generic/tclEncoding.c: Added FreeEncoding(systemEncoding) in
- TclFinalizeEncodingSubsystem because its ref count was incremented in
- TclInitEncodingSubsystem.
+ * changes: Updated for 8.5b3 release.
- * win/tclWin32Dll.c: Structured Exception Handling added around
- Tcl_Finalize called from DllMain's DLL_PROCESS_DETACH. We can't be
- 100% assured that Tcl is being unloaded by the OS in a stable
- condition and we need to protect the exit handlers should the stack be
- in a hosed state. AT&T style assembly for SEH under MinGW included,
- too. [Patch 858493]
+2007-11-19 Kevin Kenny <kennykb@users.sourceforge.net>
- Also added DisableThreadLibraryCalls() for the DLL_PROCESS_ATTACH
- case. We're not interested in knowing about DLL_THREAD_ATTACH, so
- disable the notices.
+ * 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.
- * generic/tclInt.h:
- * generic/tclThread.c:
- * generic/tclEvent.c:
- * unix/tclUnixThrd.c:
- * win/tclWinThrd.c: Provisions made so masterLock, initLock,
- allocLock and joinLock mutexes can be recovered during Tcl_Finalize.
+2007-11-18 Daniel Steffen <das@users.sourceforge.net>
- * win/tclWinSock.c:
- (SocketThreadExitHandler): Don't call TerminateThread when
- WaitForSingleObject returns a timeout. Tcl_Finalize called from
- DllMain will pause all threads. Trust that the thread will get the
- close notice at a later time if it does ever wake up before being
- cleaned up by the system anyway.
- (SocketEventProc): connect errors should fire both the readable and
- writable handlers because this is how it works on UNIX. [Bug 794839]
+ * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): Fix read
+ traces not firing on non-existent array elements. [Bug 1833522]
- * win/coffbase.txt: Added the tls extension to the list of preferred
- load addresses.
+2007-11-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2004-05-05 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdIL.c (TclInitInfoCmd): Rename the implementation
+ commands for [info] to be something more "expected".
- * tests/unixInit.test (unixInit-2.10): Test correction for Mac OSX.
- Be sure to consistently compare normalized path names. Thanks to
- Steven Abner (tauvan). [Bug 948177]
+ * 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.
-2004-05-05 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclInt.h (ENSEMBLE_COMPILE): Added flag to allow for cleaner
+ turning on and off of ensemble bytecode compilation.
- * doc/CrtObjCmd.3: Remove reference to Tcl_RenameCommand; there is no
- such API. [Bug 848440]
+ * generic/tclCompile.c (TclCompileScript): Add the cmdPtr to the list
+ of arguments passed to command compilers.
-2004-05-04 Jeff Hobbs <jeffh@ActiveState.com>
+2007-11-15 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIOUtil.c (Tcl_FSChdir): Work-around crash condition
- * tests/winFCmd.test (winFCmd-16.12): triggered when $HOME is
- volumerelative (ie 'C:').
+ * generic/regc_nfa.c: Fixed infinite loop in the regexp compiler.
+ [Bug 1810038]
- * tests/fileName.test (filename-12.9): use C:/ instead of the first
- item in file volumes - that's usually A:/, which for most will have
- nothing in it.
+ * generic/regc_nfa.c: Corrected looping logic in fixempties() to
+ avoid wasting time walking a list of dead states. [Bug 1832612]
-2004-05-04 Don Porter <dgp@users.sourceforge.net>
+2007-11-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * tests/tcltest.test: Test corrections for Mac OSX. Thanks to Steven
- Abner (tauvan). [Bug 947440]
+ * generic/tclNamesp.c (NamespaceEnsembleCmd): Must pass a non-NULL
+ interp to Tcl_SetEnsemble* functions.
-2004-05-03 Andreas Kupries <andreask@activestate.com>
+ * doc/re_syntax.n: Try to make this easier to read. It's still a very
+ difficult manual page!
- Applied [SF Tcl Patch 868853], fixing a mem leak in TtySetOptionProc.
- Report and Patch provided by Stuart Cassoff <stwo@users.sf.net>.
+ * 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].
-2004-05-03 Kevin Kenny <kennykb@acm.org>
+2007-11-15 Pat Thoyts <patthoyts@users.sourceforge.net>
- * win/tclWin32Dll.c (TclpCheckStackSpace):
- * tests/stack.test (stack-3.1): Fix for undetected stack overflow in
- TclReExec on Windows. [Bug 947070]
+ * win/tclWin32Dll.c: Prefer UINT_PTR to DWORD_PTR when casting pointers
+ to integer types for greater portability. [Bug 1831253]
-2004-05-03 Don Porter <dgp@users.sourceforge.net>
+2007-11-15 Daniel Steffen <das@users.sourceforge.net>
- * library/init.tcl: Corrected unique prefix matching of
- interactive command completion in [unknown]. [Bug 946952]
+ * macosx/Tcl.xcodeproj/project.pbxproj: add new chanio.test.
+ * macosx/Tcl.xcode/project.pbxproj:
-2004-05-02 Miguel Sofer <msofer@users.sf.net>
+2007-11-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclProc.c (TclObjInvokeProc):
- * tests/proc.test (proc-3.6): fix for bad quoting of multi-word proc
- names in error messages [Bug 942757]
+ * 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.
-2004-04-23 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * generic/tclIO.c (Tcl_SetChannelOption): Fixed [Bug 930851]. When
- changing the eofchar we have to zap the related flags to prevent them
- from prematurely aborting the next read.
+ * generic/tclCompCmds.c (TclCompileInfoCmd): Simple compiler for the
+ [info] command that only handles [info exists].
-2004-04-07 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): New
+ instructions to allow the testing of whether a variable exists.
- * win/configure:
- * win/configure.in: define TCL_LIB_FLAG, TCL_BUILD_LIB_SPEC,
- TCL_LIB_SPEC and TCL_PACKAGE_PATH in tclConfig.sh.
+2007-11-14 Andreas Kupries <andreask@activestate.com>
-2004-04-06 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * tests/unixInit.test (unixInit-3.1): Default encoding on Darwin
- systems is utf-8. Thanks to Steven Abner (tauvan). [Bug 928808]
+2007-11-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2004-04-06 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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]
- * tests/cmdAH.test (cmdAH-18.2): Added constraint because
- access(...,X_OK) is defined to be permitted to be meaningless when
- running as root, and OSX exhibits this. [Bug 929892]
+2007-11-13 Jeff Hobbs <jeffh@ActiveState.com>
-2004-04-02 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCompCmds.c (TclCompileRegexpCmd): clean up comments, only
+ free dstring on OK from TclReToGlob.
+ (TclCompileSwitchCmd): simplify TclReToGlob usage.
- * tests/tcltest.test: Corrected constraint typos: "nonRoot" ->
- "notRoot". Thanks to Steven Abner (tauvan). [Bug 928353]
+2007-11-14 Donal K. Fellows <dkf@users.sf.net>
-2004-03-31 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]
- * doc/msgcat.n: Clarified message catalog file encodings. [Bug 811457]
- * library/msgcat/msgcat.tcl ([mcset], [ConvertLocale], [Init]):
- Corrected [mcset] to be able to successfully set a translation to
- the empty string. [mcset $loc $src {}] was incorrectly set the $loc
- translation of $src back to $src. Also changed [ConvertLocale] to
- minimally require a non-empty "language" part in the locale value. If
- not, an error raised prompts [Init] to keep looking for a valid locale
- value, or ultimately fall back on the "C" locale. [Bug 811461]
- * library/msgcat/pkgIndex.tcl: Bump to msgcat 1.3.2.
+2007-11-13 Donal K. Fellows <dkf@users.sf.net>
-2004-03-31 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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/tclObj.c (HashObjKey): Make sure this hashes the whole
- string rep of the object, instead of missing the last character.
+ * doc/mathop.n: Clarify definitions of some operations.
-2004-03-29 Jeff Hobbs <jeffh@ActiveState.com>
+2007-11-13 Miguel Sofer <msofer@users.sf.net>
- * generic/tclInt.h:
- * generic/tclEncoding.c (TclFindEncodings, Tcl_FindExecutable):
- * mac/tclMacInit.c (TclpInitLibraryPath): Correct handling of UTF
- * unix/tclUnixInit.c (TclpInitLibraryPath): data that is actually
- * win/tclWinFile.c (TclpFindExecutable): "clean", allowing the
- * win/tclWinInit.c (TclpInitLibraryPath): loading of Tcl from paths
- that contain multi-byte chars on Windows [Bug 920667]
+ * 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.
-2004-03-28 Miguel Sofer <msofer@users.sf.net>
+2007-11-13 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tclCompile.c (TclCompileScript): corrected possible segfault
- when a compilation returns TCL_OUTLINE_COMPILE after having grown the
- compile environment. [Bug 925121]
+ * unix/tcl.m4: Added autoconf goo to detect and make use of
+ * unix/configure.in: getaddrinfo and friends.
+ * unix/configure: (regenerated)
-2004-03-21 Jeff Hobbs <jeffh@ActiveState.com>
+2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * win/tclWinInt.h: define VER_PLATFORM_WIN32_CE if not already set.
- * win/tclWinInit.c (TclpSetInitialEncodings): recognize WIN32_CE
- as a unicode (WCHAR) platform.
+ * 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]
-2004-03-15 Miguel Sofer <msofer@users.sf.net>
+2007-11-13 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompile.c (TclCompileScript):
- * tests/compile.test (compile-3.5): corrected wrong test and behaviour
- in the earlier fix for [Bug 705406]; Don Porter reported this as [Bug
- 735055], and provided the solution. Fixed in HEAD on 2003-05-09, but
- backport to 8-4-branch was wrongly omitted; re-reported as [Bug
- 916795] by Roy Terry, diagnosed by dgp.
+ * generic/regcomp.c: Convert optst() from expensive no-op to a
+ cheap no-op.
-2004-03-08 Vince Darley <vincentdarley@users.sourceforge.net>
+2007-11-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclFileName.c: Fix to 'glob -path' near the root
- * tests/fileName.test: of the filesystem. [Bug 910525]
+ * 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].
-2004-03-01 Don Porter <dgp@users.sourceforge.net>
+2007-11-12 Jeff Hobbs <jeffh@ActiveState.com>
- *** 8.4.6 TAGGED FOR RELEASE ***
+ * generic/tclGet.c (Tcl_Get, Tcl_GetInt): revert use of TclGet* macros
+ due to compiler warning. These cases won't save time either.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Allow 64-bit enabling on
- IRIX64-6.5* systems. [Bug 218561]
- * unix/configure: autoconf-2.13
+ * generic/tclUtil.c (TclReToGlob): add more comments, set interp result
+ if specified on error.
- * generic/tclCmdMZ.c (TclCheckInterpTraces): The TIP 62
- * generic/tclTest.c (TestcmdtraceCmd): implementation introduced a
- * tests/basic.test (basic-39.10): bug by testing the CallFrame
- level instead of the iPtr->numLevels level when deciding what traces
- created by Tcl_Create(Obj)Trace to call. Added test to expose the
- error, and made fix. [Request 462580]
+2007-11-12 Miguel Sofer <msofer@users.sf.net>
-2004-02-26 Daniel Steffen <das@users.sourceforge.net>
+ * 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:
- * macosx/Makefile: fixed copyright year in Tcl.framework Info.plist
+ THIS PATCH WAS REVERTED: initial (mis)measurements overstated the
+ perfomance wins, which turn out to be tiny. Not worth the complication.
-2004-02-25 Don Porter <dgp@users.sourceforge.net>
+2007-11-11 Jeff Hobbs <jeffh@ActiveState.com>
- * tests/basic.test: Made several tests more robust to the
- * tests/cmdMZ.test: list-quoting of path names that might
- * tests/exec.test: contain Tcl-special chars like { or [.
- * tests/io.test: Should help us sort out Tcl Bug 554068.
- * tests/pid.test:
- * tests/socket.test:
- * tests/source.test:
- * tests/unixInit.test:
+ * 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.
-2004-02-25 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2007-11-11 Miguel Sofer <msofer@users.sf.net>
- * unix/tclUnixChan.c (TcpGetOptionProc): Stop memory leak with very
- long hostnames. [Bug 888777]
+ * generic/tclResult.c (ResetObjResult): clarify the logic.
-2004-02-25 David Gravereaux <davygrvy@pobox.com>
+ * 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/tclInt.h:
+ * generic/tclInterp.c:
+ * generic/tclListObj.c:
+ * generic/tclLiteral.c:
+ * generic/tclNamesp.c:
+ * generic/tclObj.c:
+ * generic/tclParse.c:
+ * generic/tclProc.c:
+ * generic/tclRegexp.c:
+ * generic/tclResult.c:
+ * generic/tclScan.c:
+ * generic/tclStringObj.c:
+ * generic/tclUtil.c:
+ * generic/tclVar.c:
- * tests/winPipe.test:
- * win/tclWinPipe.c: backport of BuildCommandLine changes to mirror
- msvcrt's parse_cmdline() rules of quoting.
+2007-11-11 Daniel Steffen <das@users.sourceforge.net>
-2004-02-19 Mo DeJong <mdejong@users.sourceforge.net>
+ * unix/tclUnixTime.c (TclpWideClicksToNanoseconds): Fix issues with
+ * generic/tclInt.h: int64_t overflow.
- * win/tclWinInit.c (AppendEnvironment): Use the tail component of the
- passed in lib path instead of just blindly using lib+4. That worked
- when lib was "lib/..." but fails for other values. Thanks go to
- Patrick Samson for pointing this out.
+ * generic/tclBasic.c: Fix stack check failure case if stack grows up
+ * unix/tclUnixInit.c: Simplify non-crosscompiled case.
-2004-02-17 Don Porter <dgp@users.sourceforge.net>
+ * unix/configure: autoconf-2.59
+ * unix/tclConfig.h.in: autoheader-2.59
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl: Changed -verbose default value to
- {body error} so that detailed information on unexpected errors in
- tests is provided by default, even after the fix for [Bug 725253]
+2007-11-10 Miguel Sofer <msofer@users.sf.net>
-2004-02-17 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclExecute.c: Fast path for INST_LIST_INDEX when the index is
+ not a list.
- (reverted due to test failures on Solaris, but not Win/Lin :/)
- * generic/tclIOUtil.c: backport of rewrite of generic file
- normalization code to cope with links followed by '..'. [Bug 849514],
- and parts of [859251]
+ * generic/tclBasic.c:
+ * unix/configure.in:
+ * unix/tclUnixInit.c: Detect stack grwoth direction at compile time,
+ only fall to runtime detection when crosscompiling.
- * tests/unixInit.test: unixInit-7.1
- * unix/tclUnixInit.c (TclpInitPlatform): ensure the std fds exist to
- prevent crash condition [Bug 772288]
+ * unix/configure: autoconf 2.61
-2004-02-16 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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 (TclTraceExecutionObjCmd)
- (TclTraceCommandObjCmd): fix possible mem leak in trace info.
+2007-11-10 Kevin Kenny <kennykb@acm.org>
-2004-02-12 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * README: update patchlevel to 8.4.6
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure, unix/configure.in, unix/tcl.spec:
- * win/README.binary, win/configure, win/configure.in:
+2007-11-10 Miguel Sofer <msofer@users.sf.net>
- * unix/tcl.m4: update HP-11 build libs setup
+ * 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.
-2004-02-06 Don Porter <dgp@users.sourceforge.net>
+2007-11-09 Miguel Sofer <msofer@users.sf.net>
- * doc/clock.n: Removed reference to non-existent [file ctime].
+ * generic/tclResult.c (ResetObjResult): new shortcut.
-2004-02-04 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclAsync.c:
+ * generic/tclBasic.c:
+ * generic/tclExecute.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]
- * library/tcltest/tcltest.tcl: Corrected references to
- non-existent $name variable in [cleanupTests]. [Bug 833637]
+2007-11-09 Jeff Hobbs <jeffh@ActiveState.com>
-2004-02-03 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * library/tcltest/tcltest.tcl: Corrected parsing of single
- command line argument (option with missing value) [Bug 833910]
- * library/tcltest/pkgIndex.tcl: Bump to version 2.2.5.
+ * generic/tclBinary.c (Tcl_GetByteArrayFromObj): check type before
+ func jump (perf).
-2004-02-02 David Gravereaux <davygrvy@pobox.com>
+2007-11-07 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclIO.c (Tcl_Ungets): fixes improper filling of the channel
- buffer. [Bug 405995]
+ * 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]
-2004-01-13 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclIO.c (TclGetsObjBinary): Add an efficient binary path for
+ [gets].
+ (DoWriteChars): Special case for 1-byte channel write.
- * generic/tclFileName.c (Tcl_GlobObjCmd): Latest changes to
- management of the interp result by Tcl_GetIndexFromObj() exposed
- improper interp result management in the [glob] command procedure.
- Corrected by adopting the Tcl_SetObjResult(Tcl_NewStringObj) pattern.
- This stopped a segfault in test filename-11.36.
+2007-11-06 Miguel Sofer <msofer@users.sf.net>
-2004-01-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * 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/tclIndexObj.c (Tcl_GetIndexFromObjStruct, Tcl_WrongNumArgs):
- Create fresh objects instead of using the one currently in the
- interpreter, which isn't guaranteed to be fresh and unshared. The
- cost for the core will be minimal because of the object cache, and
- this fixes. [Bug 875395]
+2007-11-05 Andreas Kupries <andreask@activestate.com>
-2004-01-09 Vince Darley <vincentdarley@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/tclIOUtil.c: fix to infinite loop in TclFinalizeFilesystem.
- [Bug 873311]
+ * 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.
-2003-12-17 Daniel Steffen <das@users.sourceforge.net>
+2007-11-03 Miguel Sofer <msofer@users.sf.net>
- * generic/tclBinary.c (DeleteScanNumberCache): fixed crashing bug when
- numeric scan-value cache contains NULL value.
+ * 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).
-2003-12-17 Zoran Vasiljevic <zv@archiware.com>
+2007-11-01 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclIOUtil.c: fixed 2 memory (object) leaks. This fixes [Bug
- 839519]
+ * tools/tcltk-man2html.tcl (output-directive): Convert .DS/.DE pairs
+ into tables since that is now all that they are used for.
-2003-12-12 Vince Darley <vincentdarley@users.sourceforge.net>
+ * doc/RegExp.3: Clarified documentation of RE flags. [Bug 1167840]
- * generic/tclCmdAH.c: fix to normalization of non-existent user name
- ('file normalize ~nobody') [Bug 858937]
+ * doc/refchan.n: Adjust internal name to be consistent with the file
+ name for reduced user confusion. After comment by Dan Steffen.
-2003-12-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+ * generic/tclCmdMZ.c (Tcl_StringObjCmd, UniCharIsAscii): Remember, the
+ NUL character is in ASCII too. [Bug 1808258]
- * unix/tclUnixPort.h: #ifdef'd out declarations of errno which
- * tools/man2tcl.c: are known to cause problems with recent
- glibc. [Bug 852369]
+ * doc/file.n: Clarified use of [file normalize]. [Bug 1185154]
-2003-12-03 Don Porter <dgp@users.sourceforge.net>
+2007-10-30 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h: Bumped patch level to 8.4.5.1 to distinguish
- * unix/configure.in: CVS snapshots from 8.4.5 release.
+ * 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:
- * unix/configure: autoconf (2.13)
+ * unix/configure: autoconf (2.59)
* win/configure:
-2003-12-02 Donal K. Fellows <donal.k.fellows@man.ac.uk>
+2007-10-30 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclBinary.c (DeleteScanNumberCache, ScanNumber): Made
- the numeric scan-value cache have proper references to the objects
- within it so strange patterns of writes won't cause references to
- freed objects. Thanks to Paul Obermeier for the report. [Bug 851747]
+ * doc/expr.n, doc/mathfunc.n: Improve documentation to try to make
+ clearer what is going on.
-2003-12-01 Miguel Sofer <msofer@users.sf.net>
+ * doc/interp.n: Shorten the basic descriptive text for some interp
+ subcommands so Solaris nroff doesn't truncate them. [Bug 1822268]
- * doc/lset.n: fix typo [Bug 852224]
+2007-10-30 Donal K. Fellows <dkf@users.sf.net>
-2003-11-21 Don Porter <dgp@users.sourceforge.net>
+ * tools/tcltk-man2html.tcl (output-widget-options): Enhance the HTML
+ generator so that it can produce multi-line option descriptions.
- *** 8.4.5 TAGGED FOR RELEASE ***
+2007-10-28 Miguel Sofer <msofer@users.sf.net>
- * tests/windFCmd.test (winFCmd-16.10): Corrected failure to
- initialize variable $dd that caused test suite failure.
+ * generic/tclUtil.c (Tcl_ConcatObj): optimise for some of the
+ concatenees being empty objs. [Bug 1447328]
-2003-11-20 Miguel Sofer <msofer@users.sf.net>
+2007-10-28 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclVar.c: fix flag bit collision between LOOKUP_FOR_UPVAR
- and TCL_PARSE_PART1 (deprecated) [Bug 835020]
+ * 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.
-2003-11-20 Vince Darley <vincentdarley@users.sourceforge.net>
+2007-10-27 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclIOUtil.c:
- * tests/winFCmd.test: fix to [Bug 845778] - Infinite recursion on [cd]
- (Windows only bug).
+ * generic/regc_lex.c (lexescape): Close off one of the problems
+ mentioned in [Bug 1810264].
-2003-11-18 Jeff Hobbs <jeffh@ActiveState.com>
+2007-10-27 Miguel Sofer <msofer@users.sf.net>
- * changes: updated for 8.4.5 release
+ * 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]
-2003-11-17 Don Porter <dgp@users.sourceforge.net>
+ * 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]
- * generic/regcomp.c: Backported regexp bug fixes and tests. Thanks
- * generic/tclTest.c: to Pavel Goran and Vince Darley.
- * tests/reg.test: [Bugs 230589, 504785, 505048, 703709, 840258]
+ * 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).
-2003-11-12 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclVar.c: try to preserve Tcl_Objs when doing variable
+ lookups by name, partially addressing [Bug 1793601].
- * tests/cmdMZ.test (cmdMZ-1.4): change to nonPortable as more
- systems are using permissions caching, and this isn't really a Tcl
- controlled issue.
+2007-10-27 Donal K. Fellows <dkf@users.sf.net>
-2003-11-11 Jeff Hobbs <jeffh@ActiveState.com>
+ * tools/tcltk-man2html.tcl (make-man-pages, htmlize-text)
+ (process-text): Make the man->HTML scraper work better.
- * unix/configure:
- * unix/tcl.m4: improve AIX --enable-64bit handling
+2007-10-26 Don Porter <dgp@users.sourceforge.net>
-2003-11-10 Don Porter <dgp@users.sourceforge.net>
+ *** 8.5b2 TAGGED FOR RELEASE ***
- * tests/unixInit.test (unixInit-2.10): re-enabled.
- * unix/tclUnixInit.c (TclpInitLibraryPath): Alternative fix
- * win/tclWinInit.c (TclpInitLibraryPath): for [Bug 832657]
- that should not run afoul of startup constraints.
+ * changes: Updated for 8.5b2 release.
- * library/dde/pkgIndex.tcl: Added safeguards so that registry
- * library/reg/pkgIndex.tcl: and dde packages are not offered
- * win/tclWinDde.c: on non-Windows platforms. Bumped to
- * win/tclWinReg.c: registry 1.1.3 and dde 1.2.2.
+ * doc/*.1: Revert doc changes that broke
+ * doc/*.3: `make html` so we can get the release
+ * doc/*.n: out the door.
-2003-11-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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:
- * tests/unixInit.test (unixInit-2.10): mark as knownBug
- * generic/tclEncoding.c (TclFindEncodings): revert patch from
- 2003-11-05. It wasn't valid in the sensitive startup init phase
- and broke Windows from working at all.
+ * unix/configure: autoconf (2.59)
+ * win/configure:
-2003-11-07 Daniel Steffen <das@users.sourceforge.net>
+2007-10-26 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * macosx/Makefile: optimized builds define NDEBUG to turn off
- ThreadAlloc range checking.
+ * 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.
-2003-11-05 Don Porter <dgp@users.sourceforge.net>
+2007-10-25 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
- * generic/tclEncoding.c (TclFindEncodings): Normalize the path
- of the executable before passing to TclpInitLibraryPath() to avoid
- buggy handling of paths containing "..". [Bug 832657]
- * tests/unixInit.test (unixInit-2.10): New test for fixed bug.
+ * 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]
-2003-11-04 Daniel Steffen <das@users.sourceforge.net>
+2007-10-24 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * macosx/Makefile: added 'test' target.
+ * tools/man2html2.tcl (macro): Added support for converting the new
+ macros into HTML.
-2003-10-31 Vince Darley <vincentdarley@users.sourceforge.net>
+ * 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.
- * generic/tclTest.c: fix test suite memory leak (backport error)
- * unix/tclUnixFile.c: ensure translated path (required for correct
- error messages) is freed in both code paths.
+2007-10-20 Miguel Sofer <msofer@users.sf.net>
-2003-10-23 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCompile.c: Fix comments.
+ * generic/tclExecute.c:
- * unix/tclUnixChan.c (Tcl_MakeFileChannel): Applied [Patch 813606]
- fixing [Bug 813087]. Detection of sockets was off for Mac OS X which
- implements pipes as local sockets. The new code ensures that only IP
- sockets are detected as such.
+2007-10-18 David Gravereaux <davygrvy@pobox.com>
-2003-10-22 Andreas Kupries <andreask@activestate.com>
+ * tools/mkdepend.tcl: sort the dep list for a more humanly readable
+ output.
- * win/tclWinSock.c (TcpWatchProc): Watch for FD_CLOSE too when asked
- for writable events by the generic layer.
- (SocketEventProc): Generate a writable event too when a close is
- detected.
+2007-10-18 Don Porter <dgp@users.sourceforge.net>
- Together the changes fix [Bug 599468].
+ * generic/tclResult.c (TclMergeReturnOptions): Make sure any -code
+ values get pulled out of the dictionary, even if they are integer
+ valued.
-2003-10-22 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCompCmds.c (TclCompileReturnCmd): Added code to more
+ optimally compile [return -level 0 $x] to "push $x". [RFE 1794073]
- * generic/tclIOUtil.c (FsListMounts, FsAddMountsToGlobResult): New
- functions. See below for context.
- (Tcl_FSMatchInDirectory): Modified to call on the new functions
- (above) to handle the mountpoints in the glob'bed directory correctly.
- Part of the patch by Vincent Darley to solve the [Bug 800106] for the
- 8.4.x series.
+ * 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]
- * generic/tcl.h (TCL_GLOB_TYPE_MOUNT): New definition. Part of the
- patch by Vincent Darley to solve [Bug 800106] for the 8.4.x series.
+ * unix/configure: autoconf-2.59
-2003-10-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tcl.h: Remove TCL_LL_MODIFIER_SIZE. [RFE 1811837]
- * generic/tclCmdAH.c (Tcl_FileObjCmd): Changed FILE_ prefix for option
- enumeration to FCMD_ to prevent collision with symbols defined by
- Cygwin/Mingw32 on NT. [Bug 822528]
+2007-10-17 David Gravereaux <davygrvy@pobox.com>
-2003-10-21 Daniel Steffen <das@users.sourceforge.net>
+ * tools/mkdepend.tcl: Improved defense from malformed object list
+ infile.
- * tools/tcltk-man2html.tcl: fixed incorrect html generated for .IP/.TP
- lists, now use <DL><DT>...<DD>...<P><DT>...<DD>...</DL> instead of
- illegal <DL><P><DT>...<DD>...<P><DT>...<DD>...</DL>. Added skipping of
- directives directly after .TP to avoid them being used as item
- descriptions, e.g. .TP\n.VS in clock.n.
+2007-10-17 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2003-10-21 Andreas Kupries <andreask@activestate.com>
+ * tools/man2html2.tcl: Convert .DS/.DE into HTML tables, not
+ preformatted text.
- * win/tclWinPipe.c (BuildCommandLine): Applied the patch coming with
- [Bug 805605] to the code, fixing the incorrect use of ispace noted by
- Ronald Dauster <ronaldd@users.sourceforge.net>.
+2007-10-17 Kevin B. Kenny <kennykb@acm.org>
-2003-10-14 David Gravereaux <davygrvy@pobox.com>
+ * 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'.
- * win/tclAppInit.c (sigHandler): Punt gracefully if exitToken has
- already been destroyed.
+2007-10-16 David Gravereaux <davygrvy@pobox.com>
-2003-10-13 Vince Darley <vincentdarley@users.sourceforge.net>
+ * win/makefile.vc: removed old dependency cruft that is no longer
+ needed.
- * generic/tclCmdMZ.c:
- * tests/regexp.test: fix to [Bug 823524] in regsub; added three new
- tests.
+2007-10-15 Don Porter <dgp@users.sourceforge.net>
-2003-10-12 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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/tclUnixTest.c (TestalarmCmd): don't bother checking return
- value of alarm. [Bug 664755] (english)
+ * 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.
-2003-10-08 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCompExpr.c: Corrections to code that produces
+ * generic/tclUtil.c: extended "bad octal" error messages.
- * generic/tclBasic.c: Save and restore the iPtr->flag bits that
- control the state of errorCode and errorInfo management when calling
- "leave" execution traces, so that all error information of the traced
- command is still available whether traced or not. Thanks to Yahalom
- Emet. [Bug 760947]
+ * 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:
+ * 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:
-2003-10-08 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-10-15 David Gravereaux <davygrvy@pobox.com>
- * generic/tclTest.c (TestNumUtfCharsCmd): Command to allow finer
- access to Tcl_NumUtfChars for testing.
- * generic/tclUtf.c (Tcl_NumUtfChars): Corrected string length
- determining when the length parameter is negative; the terminator is a
- zero byte, not (necessarily) a \u0000 character. [Bug 769812]
+ * 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.
-2003-10-07 Don Porter <dgp@users.sourceforge.net>
+2007-10-15 Miguel Sofer <msofer@users.sf.net>
- * tests/exec.test: Corrected temporary file management
- * tests/fileSystem.test: issues uncovered by -debug 1 test
- * tests/io.test: operations. Also backported some
- * tests/ioCmd.test: other fixes from the HEAD.
- * tests/pid.test: [Bugs 675605, 675655, 675659]
- * tests/socket.test:
- * tests/source.test:
+ * generic/tclParse.c (Tcl_ParseBraces): fix for possible read after
+ the end of buffer. [Bug 1813528] (Joe Mistachkin)
- * tests/fCmd.test: Run tests with the [temporaryDirectory] as
- the current directory, so that tests can depend on ability to write
- files. [Bug 575837]
+2007-10-14 David Gravereaux <davygrvy@pobox.com>
- * doc/OpenFileChnl.3: Updated Tcl_Tell and Tcl_Seek documentation
- to reflect that they now return Tcl_WideInt (TIP 72) [Bug 787537]
+ * tools/mkdepend.tcl (new): Initial stab at generating automatic
+ * win/makefile.vc: dependencies.
- * tests/io.test: Corrected several tests that failed when paths
- * tests/ioCmd.test: included regexp-special chars. [Bug 775394]
+2007-10-12 Pat Thoyts <patthoyts@users.sourceforge.net>
-2003-10-06 Don Porter <dgp@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.
- * tests/regexp.test: Matched [makeFile] with [removeFile].
- * tests/regexpComp.test: [Bug 675652]
+2007-10-11 David Gravereaux <davygrvy@pobox.com>
- * tests/fCmd.test (fCmd-8.2): Test only that tilde-substitution
- happens, not for any particular result. [Bug 685991]
+ * win/makefile.vc: Fixed my bad spelling mistakes from years back.
+ Dedependency, duh! Rather funny.
- * unix/tcl.m4 (SC_PATH_TCLCONFIG): Corrected search path so
- that alpha and beta releases of Tcl are not favored. [Bug 608698]
+2007-10-11 Don Porter <dgp@users.sourceforge.net>
- * tests/reg.test: Corrected duplicate test names.
- * tests/resource.test: [Bugs 710370, 710358]
+ * generic/tclCmdMZ.c: Correct [string is (wide)integer] failure
+ * tests/string.test: to report correct failindex values for
+ non-decimal integer strings. [Bug 1805887]
- * tests/cmdMZ.test: Updated [package require tcltest] lines to
- * tests/fileSystem.test: indiciate that these test files
- * tests/notify.test: use features of tcltest 2. [Bug 706114]
- * tests/parseExpr.test:
- * tests/unixNotfy.test:
+ * 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:
-2003-10-06 Vince Darley <vincentdarley@users.sourceforge.net>
+ * unix/configure: autoconf-2.59
- * generic/tclFileName.c:
- * generic/tclIOUtil.c: backport of volumerelative file normalization
- and 'file join' inconsistency fixes [Bug 767834, 813273].
+2007-10-11 Miguel Sofer <msofer@users.sf.net>
-2003-10-04 Chengye Mao <chengye.geo@yahoo.com>
+ * generic/tclObj.c: remove superfluous #include of tclCompile.h
- * win/tclWinPipe.c: fixed a bug in BuildCommandLine.
- This bug built a command line with a missing space between
- tclpipe.dll and the following arguments. It caused error
- in Windows 98 when exec command.com (e.g. dir) [Bug 789040]
+2007-10-08 George Peter Staplin <georgeps@xmission.com>
-2003-10-03 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * generic/tclBasic.c: Fixed error in ref count management of command
- * generic/tclCmdMZ.c: and execution traces that caused access to
- freed memory in trace-32.1. [Bug 811483]
+2007-10-02 Jeff Hobbs <jeffh@ActiveState.com>
-2003-10-03 Vince Darley <vincentdarley@users.sourceforge.net>
+ * generic/tcl.h (Tcl_DecrRefCount): Update change from 2006-05-29 to
+ make macro more warning-robust in unbraced if code.
- * tests/fileName.test:
- * tests/winFCmd.test:
- * doc/FileSystem.3: backported various test and documentation changes
- from HEAD. Backport of actual code fixes to follow.
+2007-10-02 Don Porter <dgp@users.sourceforge.net>
-2003-10-02 Don Porter <dgp@users.sourceforge.net>
+ [core-stabilizer-branch]
- * README: Bumped patch level to 8.4.5 to prepare
- * generic/tcl.h: for next patch release.
+ * 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/README.binary:
* win/configure.in:
- * unix/configure: autoconf (2.13)
+ * unix/configure: autoconf (2.59)
* win/configure:
- * library/http/http.tcl: Bumped to http 2.4.5
- * library/http/pkgIndex.tcl:
-
-2003-10-01 Daniel Steffen <das@users.sourceforge.net>
+2007-10-02 Andreas Kupries <andreask@activestate.com>
- * macosx/Makefile: fixed redo prebinding bug when DESTDIR="".
- * mac/tclMacResource.c: fixed possible NULL dereference (bdesgraupes).
+ * library/tclIndex: Added 'tcl::tm::path' to the tclIndex. This fixes
+ [Bug 1806422] reported by Don Porter.
-2003-09-29 Don Porter <dgp@users.sourceforge.net>
+2007-09-25 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * generic/tclBasic.c (CallCommandTraces): Added safety bit
- * tests/trace.test: masking to prevent any of the bit values
- TCL_TRACE_*_EXEC from leaking into the flags field of any Command
- struct. This does not fix [Bug 811483] but helps to contain some of
- its worst symptoms. Also backported the corrections to test trace-28.4
- from Vince Darley.
+ * 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.
-2003-09-29 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-09-20 Don Porter <dgp@users.sourceforge.net>
- * library/http/http.tcl (geturl): Correctly check the type of
- boolean-valued options. [Bug 811170]
+ *** 8.5b1 TAGGED FOR RELEASE ***
- * unix/tcl.m4 (SC_ENABLE_FRAMEWORK): Added note to make it clearer
- that this is an OSX feature, not a general Unix feature. [Bug 619440]
+ * changes: updates for 8.5b1 release.
-2003-09-28 David Gravereaux <davygrvy@pobox.com>
+2007-09-19 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinPipe.c: The windows port of expect can call
- TclWinAddProcess before any of the other pipe functions. Added a
- missing PipeInit() call to make sure the initialization happens.
-
-2003-09-25 Daniel Steffen <das@users.sourceforge.net>
-
- * macosx/Makefile: ensure SYMROOT exists if OBJROOT is overridden on
- command line. Replaced explict use of /usr/bin by ${BINDIR}.
-
-2003-09-23 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:
- * generic/tclCmdMZ.c: Fixed [Bug 807243] where
- * tests/trace.test (trace-31,32.*): the introspection results
- of both [trace info command] and [trace info execution] were getting
- co-mingled. Thanks to Mark Saye for the report.
+2007-09-19 Pat Thoyts <patthoyts@users.sourceforge.net>
- * library/init.tcl (auto_load, auto_import): Expanded Eric Melski's
- 2000-01-28 fix for [Bug 218871] to all potentially troubled uses of
- [info commands] on input data, where glob-special characters could
- cause problems.
+ * generic/tclStubLib.: Replaced isdigit with internal implementation.
-2003-09-19 Miguel Sofer <msofer@users.sf.net>
+2007-09-18 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c: adding (DE)CACHE_STACK_INFO() pairs to protect
- all calls that may cause traces on ::errorInfo or ::errorCode to
- corrupt the stack [Bug 804681]
+ * 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.
-2003-09-10 Don Porter <dgp@users.sourceforge.net>
+2007-09-17 Pat Thoyts <patthoyts@users.sourceforge.net>
- * library/opt/optparse.tcl: Overlooked dependence of opt 0.4.4
- * library/opt/pkgIndex.tcl: on Tcl 8.2. Bumped to opt 0.4.4.1.
+ * win/makefile.vc: Add crt flags for tclStubLib now it uses C-library
+ functions.
-2003-09-01 Zoran Vasiljevic <zoran@archiware.com>
+2007-09-17 Joe English <jenglish@users.sourceforge.net>
- * generic/tclIOUtil.c: backported fix from HEAD [Bug 788780]
+ * tcl.m4: use '${CC} -shared' instead of 'ld -Bshareable' to build
+ shared libraries on current NetBSDs. [Bug 1749251]
+ * unix/configure: regenerated (autoconf-2.59).
-2003-08-27 Don Porter <dgp@users.sourceforge.net>
+2007-09-17 Don Porter <dgp@users.sourceforge.net>
- * generic/tclUtil.c: Corrected [Bug 411825] and other bugs in
- TclNeedSpace() where non-breaking space (\u00A0) and backslash-escaped
- spaces were handled incorrectly.
- * tests/util.test: Added new tests util-8.[2-6].
+ * unix/Makefile.in: Update `make dist` so that tclDTrace.d is
+ included in the source code distribution.
-2003-08-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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]
- * win/tclWinInit.c: recognize amd64 and ia32_on_win64 cpus and
- Windows CE platform.
+2007-09-17 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2003-08-06 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * library/msgcat/msgcat.tcl: Added escape so that non-Windows
- * library/msgcat/pkgIndex.tcl: platforms do not try to use the
- registry package. This can save a costly and pointless package
- search. Bumped to 1.3.1. Thanks to Dave Bodenstab. [Bug 781609]
+2007-09-15 Daniel Steffen <das@users.sourceforge.net>
-2003-08-05 Miguel Sofer <msofer@users.sf.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
- * generic/tclExecute.c (INST_INVOKE, INST_EVAL, INST_PUSH_RESULT):
- added a Tcl_ResetResult(interp) at each point where the interp's
- result is pushed onto the stack, to avoid keeping an extra reference
- that may cause costly Tcl_Obj duplication. Detected by Franco Violi,
- analyzed by Peter Spjuth and Donal Fellows. [Bug 781585]
+2007-09-14 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2003-07-24 Reinhard Max <max@suse.de>
+ * generic/tclBasic.c (Tcl_CreateObjCommand): Only invalidate along the
+ namespace path once; that is enough. [Bug 1519940]
- * library/package.tcl: Fixed a typo that broke pkg_mkIndex -verbose.
+2007-09-14 Daniel Steffen <das@users.sourceforge.net>
- * tests/pkgMkIndex.test: Added a test for [pkg_mkIndex -verbose].
+ * 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.
-2003-07-23 Daniel Steffen <das@users.sourceforge.net>
+ * unix/configure: autoconf-2.59
+ * unix/tclConfig.h.in: autoheader-2.59
- * unix/Makefile.in: changes to html-tcl & html-tk targets for
- compatibility with non-gnu makes.
+2007-09-12 Don Porter <dgp@users.sourceforge.net>
- * unix/Makefile.in: added macosx/README to dist target.
+ * 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.
-2003-07-23 Pat Thoyts <patthoyts@users.sourceforge.net>
+2007-09-12 Pat Thoyts <patthoyts@users.sourceforge.net>
- * win/tclWinReg.c (OpenSubKey): Backported fix for [Bug 775976] which
- causes the registry set command to fail when built with VC7.
- * library/reg/pkgIndex.tcl: Incremented the version to 1.1.2.
+ * win/makefile.vc, win/rules.vc, win/nmakehlp.c: Use nmakehlp to
+ substitute values for tclConfig.sh (helps cross-compiling).
-2003-07-21 Jeff Hobbs <jeffh@ActiveState.com>
+2007-09-11 Don Porter <dgp@users.sourceforge.net>
- *** 8.4.4 TAGGED FOR RELEASE ***
+ * 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.
- * changes: updated for 8.4.4 release
+ * 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]
-2003-07-18 Daniel Steffen <das@users.sourceforge.net>
+2007-09-11 Miguel Sofer <msofer@users.sf.net>
- * macosx/Makefile: added option to allow installing manpages in
- addition to default html help.
+ * 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]
-2003-07-18 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ ***POTENTIAL INCOMPATIBILITY***
+ Scripts that were precompiled on earlier versions of 8.5 and use [dict
+ update] will crash. Workaround: recompile.
- * doc/Utf.3: Tightened up documentation of Tcl_UtfNext and Tcl_UtfPrev
- to better match the behaviour. [Bug 769895]
+2007-09-11 Kevin B. Kenny <kennykb@acm.org>
-2003-07-18 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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]
- * generic/tclIOUtil.c: correct MT-safety issues with filesystem
- records. [Bug 753315] (vasiljevic)
+2007-09-10 Jeff Hobbs <jeffh@ActiveState.com>
- * library/http/pkgIndex.tcl: merged to v2.4.4 from head
- * library/http/http.tcl: add support for user:pass info in URL.
- * tests/http.test: [Bug 759888] (shiobara)
+ * generic/tclLink.c (Tcl_UpdateLinkedVar): guard against var being
+ unlinked. [Bug 1740631] (maros)
-2003-07-18 Don Porter <dgp@users.sourceforge.net>
+2007-09-10 Miguel Sofer <msofer@users.sf.net>
- * generic/tclBasic.c: Corrected several instances of unsafe
- * generic/tclCompile.c: truncation of UTF-8 strings that might break
- * generic/tclProc.c: apart a multi-byte character. [Bug 760872]
- * library/init.tcl:
- * tests/init.test:
-
- * doc/tcltest.n: Restored the [Eval] proc to replace
- * library/tcltest/tcltest.tcl: the [::puts] command when either the
- -output or -error option for [test] is in use, in order to capture
- data written to the output or error channels for comparison against
- what is expected. This is easier to document and agrees better with
- most user expectations than the previous attempt to replace [puts]
- only in the caller's namespace. Documentation made more precise on the
- subject. [Bug 706359]
-
- * doc/AddErrInfo.3: Improved consistency of documentation by using
- * doc/CrtTrace.3: "null" everywhere to refer to the character
- * doc/Encoding.3: '\0', and using "NULL" everywhere to refer to
- * doc/Eval.3: the value of a pointer that points to nowhere.
- * doc/GetIndex.3: Also dropped references to ASCII that are no
- * doc/Hash.3: longer true, and standardized on the
- * doc/LinkVar.3: hyphenated spelling of "null-terminated".
- * doc/Macintosh.3:
- * doc/OpenFileChnl.3:
- * doc/SetVar.3:
- * doc/StringObj.3:
- * doc/Utf.3:
+ * generic/tclCompile.c: fix tclInstructionTable entry for
+ dictUpdateEnd
- * doc/CrtSlave.3 (Tcl_MakeSafe): Removed warning about possible
- deprecation (no TIP on that).
+ * generic/tclExecute.c: remove unneeded setting of 'cleanup' variable
+ before jumping to checkForCatch.
-2003-07-17 Daniel Steffen <das@users.sourceforge.net>
+2007-09-10 Don Porter <dgp@users.sourceforge.net>
- * macosx/Makefile: added var to allow overriding of tclsh used during
- html help building (Landon Fuller).
+ * doc/package.n: Restored the document parallel syntax of the
+ * generic/tclPkg.c: [package present] and [package require]
+ * tests/pkg.test: commands. [Bug 1723675]
-2003-07-16 Mumit Khan <khan@nanotech.wisc.edu>
+2007-09-09 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIOUtil.c (SetFsPathFromAny): Add Cygwin specific code to
- convert POSIX filename to native format.
- * generic/tclFileName.c (Tcl_TranslateFileName): And remove from here.
- (TclDoGlob): Adjust for cygwin and append / for dirs instead of \
- * win/tclWinFile.c (TclpObjChdir): Use chdir on Cygwin. [Patch 679315]
+ * 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]
-2003-07-16 Jeff Hobbs <jeffh@ActiveState.com>
+ ***POTENTIAL INCOMPATIBILITY***
+ For callers of Tcl_GetObjType() on the name "nsName".
- * library/safe.tcl (FileInAccessPath): normalize paths before
- comparison. [Bug 759607] (myers)
+ * generic/tclExecute.c: Update TclGetNamespaceFromObj() callers.
+ * generic/tclProc.c:
- * unix/tclUnixNotfy.c (NotifierThreadProc): correct size of found and
- word vars from int to long. [Bug 767578] (hgo)
+ * 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:
-2003-07-16 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclCompCmds.c: Use the new INST_REVERSE instruction
+ * tests/mathop.test: to correct the compiled versions of math
+ operator commands. [Bug 1724437]
- * doc/CrtSlave.3 (Tcl_MakeSafe): Updated documentation to strongly
- discourage use. IMHO code outside the core that uses this function is
- a bug... [Bug 655300]
+ * 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.
-2003-07-16 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclCompCmds.c (TclCompilePowOpCmd): Make a separate
+ routine to compile ** to account for its different associativity.
- * generic/tcl.h: Add recognition of -DTCL_UTF_MAX=6 on the
- * generic/regcustom.h: make line to support UCS-4 mode. No config arg
- at this time, as it is not the recommended build mode.
+2007-09-08 Miguel Sofer <msofer@users.sf.net>
- * generic/tclPreserve.c: In Result and Preserve'd routines, do not
- * generic/tclUtil.c: assume that ckfree == free, as that is not
- * generic/tclResult.c: always true. [Bug 756791] (fuller)
+ * generic/tclVar.c (Tcl_SetVar2, TclPtrSetVar): [Bug 1710710] fixed
+ correctly, reverted fix of 2007-05-01.
-2003-07-16 Mo DeJong <mdejong@users.sourceforge.net>
+2007-09-08 Donal K. Fellows <dkf@users.sf.net>
- * win/Makefile.in: Don't define TCL_DBGX symbol for every compile.
- Instead, define TCL_PIPE_DLL only when compiling tclWinPipe.c. This
- will break other build systems, so they will need to remove the
- TCL_DBGX define and replace it with a define for TCL_PIPE_DLL.
- * win/makefile.vc: Ditto.
- * win/tclWinPipe.c (TclpCreateProcess): Remove PREFIX_IDENT and
- DEBUG_IDENT from top of file. Use TCL_PIPE_DLL passed in from build
- env instead of trying to construct the dll name from already defined
- symbols. This approach is more flexible and better in the long run.
+ * 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]
-2003-07-16 Don Porter <dgp@users.sourceforge.net>
+2007-09-07 Don Porter <dgp@users.sourceforge.net>
- * generic/tclFileName.c (Tcl_GlobObjCmd): [Bug 771840]
- * generic/tclIOUtil.c (Tcl_FSConvertToPathType):[Bug 771947]
- * unix/tclUnixFCmd.c (GetModeFromPermString): [Bug 771949]
- Silence compiler warnings about unreached lines.
+ * 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]
- * library/tcltest/tcltest.tcl (ProcessFlags): Corrected broken call
- * library/tcltest/pkgIndex.tcl: to [lrange]. Bumped to
- version 2.2.4. [Bug 772333]
+2007-09-07 Miguel Sofer <msofer@users.sf.net>
-2003-07-15 Mo DeJong <mdejong@users.sourceforge.net>
+ * generic/tclProc.c (TclInitCompiledLocals): the refCount of resolved
+ variables was being managed without checking if they were Var or
+ VarInHash: itcl [Bug 1790184]
- * unix/dltest/pkga.c (Pkga_EqObjCmd): Fix typo that was causing a
- crash in load.test.
+2007-09-06 Don Porter <dgp@users.sourceforge.net>
-2003-07-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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.
- * doc/array.n: Added some examples from David Welton [Patch 763312]
+2007-09-06 Don Porter <dgp@users.sourceforge.net>
-2003-07-15 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.
- * doc/http.n: Updated SYNOPSIS to match actual syntax of commands.
- [Bug 756112]
+ * 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.
- * unix/dltest/pkga.c: Updated to not use Tcl_UtfNcmp and counted
- strings instead of strcmp (not defined in any #include'd header) and
- presumed NULL-terminated strings.
+ * generic/tclInterp.c: Convert Tcl_BackgroundError() callers to call
+ * generic/tclIO.c: TclBackgroundException().
+ * generic/tclIOCmd.c:
+ * generic/tclTimer.c:
- * README: Bumped patch level to 8.4.4 in anticipation
- * generic/tcl.h: of another patch release.
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
+ * generic/tclIntDecls.h: make genstubs
+ * generic/tclStubInit.c:
- * unix/configure: autoconf (2.13)
- * win/configure:
+2007-09-06 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclCompCmds.c (TclCompileIfCmd): Prior fix of Bug 711371
- on 2003-04-07 introduced a buffer overflow. Corrected. [Bug 771613]
+ * 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).
-2003-07-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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:
- * generic/tclCmdIL.c (SortCompare): Cleared up confusing error
- message. [Bug 771539]
+ * macosx/README: document project changes.
-2003-07-15 Daniel Steffen <das@users.sourceforge.net>
+2007-09-05 Don Porter <dgp@users.sourceforge.net>
- * macosx/Makefile: Rewrote buildsystem for Mac OS X framework build to
- be purely make driven; in order to become independent of Apple's
- closed-source IDE and build tool. The changes are intended to be
- transparent to the Makefile user, all existing make targets and cmd
- line variable overrides should continue to work. Changed build to only
- include tcl specific html help in Tcl.framework, the tk specific html
- help is now included in Tk.framework.
+ * generic/tclBasic.c: Removed support for the unmaintained
+ * generic/tclExecute.c: -DTCL_GENERIC_ONLY configuration. [Bug
+ * unix/Makefile.in: 1264623]
- * macosx/Tcl.pbproj/project.pbxproj:
- * macosx/Tcl.pbproj/jingham.pbxuser: Changed to purely call through to
- the make driven buildsystem; Tcl.framework is no longer assembled by
- ProjectBuilder. Set default SYMROOT in target options to simplify
- setting up PB (manually setting common build folder for tcl & tk no
- longer needed).
+2007-09-04 Don Porter <dgp@users.sourceforge.net>
- * tools/tcltk-man2html.tcl: Added options to allow building only the
- tcl or tk html help files; the default behaviour with none of the new
- options is to build both, as before.
+ * 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: Added targets for building only the tcl or tk help.
+ * unix/Makefile.in: Corrections to `make dist` dependencies to be
+ sure that macosx/configure gets generated whenever it does not exist.
- * macosx/README (new): Tcl specific excerpts of tk/macosx/README.
+2007-09-03 Kevin B, Kenny <kennykb@acm.org>
- * generic/tcl.h: Updated reminder comment about editing
- macosx/Tcl.pbproj/project.pbxproj when version number changes.
+ * 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.
-2003-07-11 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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.
- * tests/binary.test (binary-46.*): Tests to help enforce the current
- behaviour.
- * doc/binary.n: Documented that [binary format a] and [binary scan a]
- do encoding conversion by dropping high bytes, unlike the rest of
- the core. [Bug 735364]
+2007-09-03 Daniel Steffen <das@users.sourceforge.net>
-2003-07-11 Don Porter <dgp@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.
- * library/package.tcl: Corrected [pkg_mkIndex] bug reported on
- comp.lang.tcl. The indexer was searching for newly indexed packages
- instead of newly provided packages.
+2007-09-02 Donal K. Fellows <dkf@users.sf.net>
-2003-07-04 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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.
- * doc/expr.n: Tighten up the wording of some operations. [Bug 758488]
+2007-08-30 Don Porter <dgp@users.sourceforge.net>
- * tests/cmdAH.test: Made tests of [file mtime] work better on FAT
- filesystems. [Patch 760768] Also a little general cleanup.
+ * 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.
-2003-06-25 Mo DeJong <mdejong@users.sourceforge.net>
+2007-08-28 Don Porter <dgp@users.sourceforge.net>
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add -ieee when compiling with cc and
- add -mieee when compiling with gcc under OSF1-V5 "Tru64" systems. [Bug
- 748957]
+ * generic/tclCompExpr.c: Use a table lookup in ParseLexeme() to
+ determine lexemes with single-byte representations.
-2003-06-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclBasic.c: Used unions to better clarify overloading of
+ * generic/tclCompExpr.c: the fields of the OpCmdInfo and
+ * generic/tclCompile.h: TclOpCmdClientData structs.
- * doc/encoding.n: Corrected the docs to say that [source] uses the
- system encoding, which it always did anyway (since 8.1) [Bug 742100]
+2007-08-27 Don Porter <dgp@users.sourceforge.net>
-2003-06-23 Vince Darley <vincentdarley@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/tclFCmd.c: fix to bad error message when trying to do 'file
- copy foo ""'. [Bug 756951]
- * tests/fCmd.test: added two new tests for the bug.
+ * 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.
- * doc/FileSystem.3: documentation fix [Bug 720634]
+ * generic/tclCompile.c: Move the deallocation of local LiteralTable
+ * generic/tclCompExpr.c: entries into TclFreeCompileEnv().
+ * generic/tclExecute.c: Update callers.
-2003-06-18 Miguel Sofer <msofer@users.sf.net>
+ * 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.
- * generic/tclNamesp.c (Tcl_Export): removed erroneous comments [Bug
- 756744]
+2007-08-25 Kevin B. Kenny <kennykb@acm.org>
-2003-06-17 Vince Darley <vincentdarley@users.sourceforge.net>
+ * 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]
- * generic/tclCmdMZ.c:
- * tests/regexp.test: fixing of bugs related to regexp and regsub
- matching of empty strings. Addition of a number of new tests.
+ * library/clock.tcl (ParseClockScanFormat): Modified code to allow
+ * tests/clock.test (clock-60.*): case-insensitive matching
+ of time zone and month names. [Bug 1781282]
-2003-06-10 Miguel Sofer <msofer@users.sf.net>
+2007-08-24 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c:
- * generic/tclExecute.c: let TclEvalObjvInternal call TclInterpReady
- instead of relying on its callers to do so; fix for the part of [Bug
- 495830] that is new in 8.4.
- * tests/interp.test: Added tests 18.9 (knownbug) and 18.10
+ * 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.
-2003-06-09 Don Porter <dgp@users.sourceforge.net>
+2007-08-24 Miguel Sofer <msofer@users.sf.net>
- * tests/string.test (string-4.15): Added test for [string first] bug
- reported in Tcl 8.3, where test for all-single-byte-encoded strings
- was not reliable.
+ * generic/tclCompile.c: replaced copy loop that tripped some compilers
+ with memmove. [Bug 1780870]
-2003-06-04 Joe Mistachkin <joe@mistachkin.com>
+2007-08-23 Don Porter <dgp@users.sourceforge.net>
- * tools/man2help.tcl: Added duplicate help section checking and
- * tools/index.tcl: corrected a comment typo for the getTopics proc
- in index.tcl. [Bug 748700]
+ * library/init.tcl ([auto_load_index]): Delete stray "]" that created
+ an expr syntax error (masked by a [catch]).
-2003-05-23 Don Porter <dgp@users.sourceforge.net>
+ * 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/tclObj.c (tclCmdNameType): Converted internal rep
- management of the cmdName Tcl_ObjType the opposite way, to always use
- the twoPtrValue instead of always using the otherValuePtr. Previous
- fix on 2003-05-12 broke several extensions that wanted to poke around
- with the twoPtrValue.ptr2 value of a cmdName Tcl_Obj, like TclBlend
- and e4graph. [Bug 726018] Thanks to George Petasis for the bug report
- and Jacob Levy for testing assistance.
+ * generic/tclCompExpr.c: Suppress the attempt to convert to
+ numeric when pre-compiling a constant expresion indicates an error.
-2003-05-22 Daniel Steffen <das@users.sourceforge.net>
+2007-08-22 Miguel Sofer <msofer@users.sf.net>
- *** 8.4.3 TAGGED FOR RELEASE ***
+ * generic/tclExecute.c (TEBC): disable the new shortcut to frequent
+ INSTs for debug builds. REVERTED (collision with alternative fix)
- * macosx/tclMacOSXBundle.c: fixed a problem that caused only the first
- call to Tcl_MacOSXOpenVersionedBundleResources() for a given bundle
- identifier to succeed. This caused the tcl runtime library not to be
- found in all interps created after the inital one.
+2007-08-21 Don Porter <dgp@users.sourceforge.net>
-2003-05-20 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclMain.c: Corrected the logic of dropping the last
+ * tests/main.test: newline from an interactively typed command.
+ [Bug 1775878]
- * changes: updated for 8.4.3
+2007-08-21 Pat Thoyts <patthoyts@users.sourceforge.net>
- * unix/Makefile.in: do not run autoconf during 'make dist' as the
- configure is now a CVS-maintained file and should be up-to-date.
+ * 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.
-2003-05-19 Daniel Steffen <das@users.sourceforge.net>
+2007-08-20 Miguel Sofer <msofer@users.sf.net>
- * macosx/Tcl.pbproj/project.pbxproj: changed tclConfig.sh location in
- versioned framework subdirectories to be identical to location in
- framework toplevel; fixed stub library symbolic links to be Tcl
- version specific.
+ * generic/tclExecute.c (INST_SUB): fix usage of the new macro for
+ overflow detection in sums, adapt to subtraction. Lengthy comment
+ added.
-2003-05-16 Daniel Steffen <das@users.sourceforge.net>
+2007-08-19 Donal K. Fellows <dkf@users.sf.net>
- * macosx/Tcl.pbproj/project.pbxproj: updated copyright year.
+ * generic/tclExecute.c (Overflowing, TclIncrObj, TclExecuteByteCode):
+ Encapsulate Miguel's last change in a more mnemonic macro.
-2003-05-15 Jeff Hobbs <jeffh@ActiveState.com>
+2007-08-19 Miguel Sofer <msofer@users.sf.net>
- * win/tclWinFile.c (TclpMatchInDirectory): revert glob code to r1.44
- as 2003-04-14 optimizations broke Windows98 glob'ing.
+ * 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".
- * README: bumped version to 8.4.3
- * generic/tcl.h:
- * macosx/Tcl.pbproj/project.pbxproj:
- * tools/tcl.wse.in:
- * unix/configure:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure:
- * win/configure.in:
+2007-08-19 Donal K. Fellows <dkf@users.sf.net>
- * doc/socket.n: nroff font handling correction.
+ * doc/interp.n (RESOURCE LIMITS): Added text to better explain why
+ time limits are described using absolute times. [Bug 1752148]
- * library/encoding/gb2312-raw.enc (new): This is the original
- gb2312.enc renamed to allow for it to still be used. This is needed by
- Tk (unix) because X fonts with gb2312* charsets really do want the
- original gb2312 encoding. [Bug 557030]
+2007-08-16 Miguel Sofer <msofer@users.sf.net>
-2003-05-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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/tclCmdAH.c (Tcl_FormatObjCmd): Values which can't be
- anything but wide shouldn't be demoted to long. [consequence of HEAD
- fixes for Bug 699060]
+ * generic/tclExecute.c: check the two most frequent instructions
+ before the switch. Reduces both runtime and obj size a tiny bit.
-2003-05-14 Jeff Hobbs <jeffh@ActiveState.com>
+2007-08-16 Don Porter <dgp@users.sourceforge.net>
- * library/encoding/gb2312.enc: copy euc-cn.enc over original
- gb2312.enc. gb2312.enc appeared to not work as expected, and most uses
- of gb2312 really mean euc-cn (which may be the cause of the problem).
- [Bug 557030]
+ * 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].
- * generic/tclEnv.c (TclUnsetEnv): Another putenv() copy behavior
- problem repaired when compiling on windows and using microsoft's
- runtime. [Bug 736421] (gravereaux)
+2007-08-15 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2003-05-13 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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]
- * generic/tclIOUtil.c: add decl for FsThrExitProc to suppress warnings
+2007-08-14 Miguel Sofer <msofer@users.sf.net>
-2003-05-13 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclExecute.c (INST_INVOKE*): peephole opt, do not get the
+ interp's result if it will be pushed/popped.
- * generic/tclEvent.c (Tcl_Finalize): Removed unused variable to reduce
- compiler warnings. [Bug 664745]
+2007-08-14 Don Porter <dgp@users.sourceforge.net>
-2003-05-13 Joe Mistachkin <joe@mistachkin.com>
+ * 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.
- * generic/tcl.decls: Changed Tcl_JoinThread parameter name from "id"
- * generic/tclDecls.h: to "threadId". [Bug 732477]
- * unix/tclUnixThrd.c:
- * win/tclWinThrd.c:
- * mac/tclMacThrd.c:
+2007-08-14 Daniel Steffen <das@users.sourceforge.net>
-2003-05-13 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
- * generic/tcl.decls:
- * macosx/tclMacOSXBundle.c: added extended version of the
- Tcl_MacOSXOpenBundleResources() API taking an extra version number
- argument: Tcl_MacOSXOpenVersionedBundleResources(). This is needed to
- be able to access bundle resources in versioned frameworks such as Tcl
- and Tk, otherwise if multiple versions were installed, only the latest
- version's resources could be accessed. [Bug 736774]
+ * tests/load.test: add test load-10.1 for loading from vfs.
- * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): use new versioned
- bundle resource API to get tcl runtime library for TCL_VERSION.
- [Bug 736774]
+ * 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:
- * generic/tclPlatDecls.h:
- * generic/tclStubInit.c: regen.
+2007-08-13 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixPort.h: worked around the issue of realpath() not being
- thread-safe on Mac OS X by defining NO_REALPATH for threaded builds on
- Mac OS X. [Bug 711232]
+ * generic/tclExecute.c: Provide DECACHE/CACHE protection to the
+ * tests/trace.test: Tcl_LogCommandInfo() call. [Bug 1773040]
-2003-05-12 Don Porter <dgp@users.sourceforge.net>
+2007-08-12 Miguel Sofer <msofer@users.sf.net>
- * generic/tclInterp.c: (AliasObjCmd): Added refCounting of the words
- * tests/interp.test (interp-33.1): of the target of an interp
- alias during its execution. Also added test. [Bug 730244].
+ * generic/tclCmdMZ.c (Tcl_SplitObjCmd): use TclNewStringObj macro
+ instead of calling the function.
- * generic/tclBasic.c (TclInvokeObjectCommand): objv[argc] is no
- longer set to NULL (Tcl_CreateObjCommand docs already say that it
- should not be accessed).
+ * generic/tcl_Obj.c (TclAllocateFreeObjects): remove unneeded memset
+ to 0 of all allocated objects.
- * generic/tclObj.c (tclCmdNameType): Corrected variable use of the
- otherValuePtr or the twoPtrValue.ptr1 fields to store a
- (ResolvedCmdName *) as the internal rep. [Bug 726018].
+2007-08-10 Miguel Sofer <msofer@users.sf.net>
- * doc/Eval.3: Corrected prototype for Tcl_GlobalEvalObj [Bug 727622].
+ * generic/tclInt.h: remove redundant ops in TclNewStringObj macro.
-2003-05-12 Miguel Sofer <msofer@users.sf.net>
+2007-08-10 Miguel Sofer <msofer@users.sf.net>
- * generic/tclVar.c (TclObjLookupVar): [Bug 735335] temporary fix,
- disabling usage of tclNsVarNameType.
- * tests/var.test (var-15.1): test for [Bug 735335]
+ * generic/tclInt.h: fix the TclSetVarNamespaceVar macro, was causing a
+ leak.
-2003-05-10 Zoran Vasiljevic <zoran@archiware.com>
+2007-08-10 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixThrd.c: corrected [Bug 723502]
+ * 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.
-2003-05-10 Jeff Hobbs <jeffh@ActiveState.com>
+2007-08-09 Miguel Sofer <msofer@users.sf.net>
- * generic/tclIOUtil.c: ensure cd is thread-safe.
- [Bug 710642] (vasiljevic)
+ * generic/tclProc.c (TclCreateProc): better comments on the required
+ varflag values when loading precompiled procs.
- * win/tclWinSerial.c (SerialCloseProc): correct mem leak on closing a
- Windows serial port [Bug 718002] (schroedter)
+ * 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]
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): prevent string repeat crash
- when overflow sizes were given (throws error). [Bug 714106]
+2007-08-08 Jeff Hobbs <jeffh@ActiveState.com>
-2003-05-09 Joe Mistachkin <joe@mistachkin.com>
+ * generic/tclProc.c (InitLocalCache): reference firstLocalPtr via
+ procPtr. codePtr->procPtr == NULL exposed by tbcload.
- * generic/tclThreadAlloc.c (TclFreeAllocCache): Fixed memory leak
- caused by treating cachePtr as a TLS index [Bug 731754].
+2007-08-08 Don Porter <dgp@users.sourceforge.net>
- * win/tclAppInit.c (Tcl_AppInit): Fixed memory leaks caused by not
- freeing the memory allocated by setargv and the async handler created
- by Tcl_AppInit. An exit handler has been created that takes care of
- both leaks. In addition, Tcl_AppInit now uses ckalloc instead of
- Tcl_Alloc to allow for easier leak tracking and to be more consistent
- with the rest of the Tcl core [Bugs 733156, 733221].
+ * generic/tclExecute.c: Corrected failure to compile/link in the
+ -DNO_WIDE_TYPE configuration.
- * tools/encoding/txt2enc.c (main): Fixed memory leak caused by failing
- to free the memory used by the toUnicode array of strings [Bug 733221]
+ * generic/tclExecute.c: Corrected improper use of bignum arguments to
+ * tests/expr.test: *SHIFT operations. [Bug 1770224]
-2003-05-05 Don Porter <dgp@users.sourceforge.net>
+2007-08-07 Miguel Sofer <msofer@users.sf.net>
- * library/tcltest/tcltest.tcl: The -returnCodes option to [test]
- failed to recognize the symbolic name "ok" for return code 0.
+ * 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.
-2003-05-05 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclInt.decls: Exporting via stubs to help xotcl adapt to
+ * generic/tclInt.h: VarReform.
+ * generic/tclIntDecls.h:
+ * generic/tclStubInit.c:
- * generic/tclBasic.c (Tcl_HideCommand): Fixed error message grammar
- and spelling.
+2007-08-07 Daniel Steffen <das@users.sourceforge.net>
-2003-04-29 Vince Darley <vincentdarley@users.sourceforge.net>
+ * generic/tclEnv.c: improve environ handling on Mac OS X (adapted
+ * unix/tclUnixPort.h: from Apple changes in Darwin tcl-64).
- * generic/tclFileName.c: fix to bug reported privately by Jeff where,
- for example, 'glob -path {[tcl]} *' gets confused by the leading
- special character (which is escaped internally), and instead lists
- files in '/'. Bug only occurs on Windows where '\' is also a
- directory separator. (Bug has been around at least since Tcl 8.3.)
- * tests/fileName.test: added test for the above bug.
+ * unix/Makefile.in: add support for compile flags specific to
+ object files linked directly into executables.
-2003-04-25 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * generic/tclBasic.c: Tcl_EvalObjv() failed to honor the
- TCL_EVAL_GLOBAL flag when resolving command names. Tcl_EvalEx passed a
- string rep including leading whitespace and comments to
- TclEvalObjvInternal().
+ * unix/configure: autoconf-2.59
-2003-04-25 Andreas Kupries <andreask@activestate.com>
+2007-08-06 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinThrd.c: Applied [Patch 727271]. This patch changes the
- code to catch any errors returned by the windows functions handling
- TLS ASAP instead of waiting to get some mysterious crash later on due
- to bogus pointers. Patch provided by Joe Mistachkin.
+ * tests/parseExpr.test: Update source file name of expr parser code.
- This is a stop-gap measure to deal with the low number of ?TLS slots
- provided by some of the variants of Windows (60-80).
+ * 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().
-2003-04-21 Don Porter <dgp@users.sourceforge.net>
+2007-08-06 Kevin B. Kenny <kennykb@users.sf.net>
- * library/tcltest/tcltest.tcl: When the return code of a test does
- not meet expectations, report that as the reason for test failure,
- and do not attempt to check the test result for correctness. [Bug
- 725253]
+ * 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.
-2003-04-18 Jeff Hobbs <jeffh@ActiveState.com>
+2007-08-04 Miguel Sofer <msofer@users.sf.net>
- * generic/tclExecute.c (ExprCallMathFunc): remove incorrect
- extraneous cast from Tcl_WideAsDouble.
+ * 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:
-2003-04-18 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-08-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * doc/open.n: Moved serial port options from [fconfigure]
- * doc/fconfigure.n: to [open] as it is up to the creator of a
- channel to describe the channel's special
- config options. [Bug 679010]
+ * library/word.tcl: Rewrote for greater efficiency. [Bug 1764318]
-2003-04-16 Don Porter <dgp@users.sourceforge.net>
+2007-08-01 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tcl.h Made changes so that the "wideInt" Tcl_ObjType
- * generic/tclObj.c is defined on all platforms, even those where
- * generic/tclPort.h TCL_WIDE_INT_IS_LONG is defined. Also made
- the Tcl_Value struct have a wideValue field on all platforms. This is
- a ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms
- because that struct changes size. This is the same TIP 72
- incompatibility that was seen on other platforms at the 8.4.0 release,
- when this change should have happened as well. [Bug 713562]
+ * 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).
- * generic/tclInt.h: New internal macros TclGetWide() and
- TclGetLongFromWide() to deal with both forms of the "wideInt"
- Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code
- is confined to the header file.
+2007-08-01 Miguel Sofer <msofer@users.sf.net>
- * generic/tclCmdAH.c: Replaced most coding that was conditional
- * generic/tclCmdIL.c: on TCL_WIDE_INT_IS_LONG with code that
- * generic/tclExecute.c: works across platforms, sometimes using
- * generic/tclTest.c: the new macros above to do it.
- * generic/tclUtil.c:
- * generic/tclVar.c:
+ * generic/tclVar.c (TclCleanupVar): fix [Bug 1765225], thx Larry
+ Virden.
-2003-04-17 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-07-31 Miguel Sofer <msofer@users.sf.net>
- * doc/socket.n: Added a paragraph to remind people to specify
- their encodings when using sockets. [Bug 630621]
+ * 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.
-2003-04-16 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tcl.h:
+ * generic/tclBasic.c:
+ * 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
+
+2007-07-31 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+
+ * 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]
+
+ * unix/tclUnixCompat.c: Simplify the #ifdef logic.
+
+ * unix/tclUnixChan.c (FileWatchProc): Fix test failures.
+
+2007-07-30 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+
+ * unix/tclUnixChan.c (SET_BITS, CLEAR_BITS): Added macros to make this
+ file clearer.
+
+2007-07-24 Miguel Sofer <msofer@users.sf.net>
+
+ * 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.
- * doc/CrtMathFnc.3: Functions also have to deal with wide ints,
- but this was not documented. [Bug 709720]
+2007-07-20 Andreas Kupries <andreask@activestate.com>
-2003-04-15 Kevin Kenny <kennykb@acm.org>
+ * 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.
- * win/tclWinTime.c: Corrected use of types to make compilation
- compatible with VC++5.
+2007-07-19 Don Porter <dgp@users.sourceforge.net>
-2003-04-14 Kevin Kenny <kennykb@acm.org>
+ * 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.
- * win/tclWinFile.c: added conditionals to restore compilation on
- VC++6, which was broken by recent changes.
+2007-07-18 Don Porter <dgp@users.sourceforge.net>
-2003-04-14 Vince Darley <vincentdarley@users.sourceforge.net>
+ * generic/tclCompExpr.c: Removed unused arguments and variables
- Merged various bug fixes from current cvs head:
+2007-07-17 Don Porter <dgp@users.sourceforge.net>
- * tests/cmdAH.test: better fix to test suite problem if /home is a
- symlink [Bug 703264]
+ * 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.
- * generic/tclIOUtil.c: fix bad error message with 'cd ""' [Bug 704917]
- * win/tclWinFile.c:
- * win/tclWin32Dll.c:
- * win/tclWinInt.h: allow Tcl to differentiate between reparse points
- which are symlinks and mounted volumes, and correctly handle the
- latter. This involves some elaborate code to find the actual drive
- letter (if possible) corresponding to a mounted volume. [Bug 697862]
- * tests/fileSystem.test: add constraints to stop tests running in
- ordinary tcl interpreter. [Bug 705675]
- * generic/tclIOUtil.c: Some re-arrangement of code to bring it closer
- to CVS HEAD. No functional changes.
+2007-07-15 Don Porter <dgp@users.sourceforge.net>
- * tests/fCmd.test:
- * win/tclWinFile.c: added some filesystem optimisation to the
- 'glob' implementation, and some new tests.
+ * 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.
- * tests/winFile.test:
- * tests/ioUtil.test:
- * tests/unixFCmd.test: renumbered tests with duplicate numbers. [Bug
- 710361]
+2007-07-12 Don Porter <dgp@users.sourceforge.net>
-2003-04-12 Kevin Kenny <kennykb@acm.org>
+ * generic/tclCompExpr.c: Factored out, corrected, and commented
+ common code for reporting syntax errors in LEAF elements.
- * tests/clock.test: Renumbered test cases to avoid duplicates [Bug
- 710310].
- * tests/winTime.test:
- * win/tclWinTest.c (TestwinclockCmd, TestwinsleepCmd):
- * win/tclWinTime.c (Tcl_WinTime, UpdateTimeEachSecond,
- (ResetCounterSamples, AccumulateSample, SAMPLES, TimeInfo): Made
- substantial changes to the phase-locked loop (replaced an IIR filter
- with an FIR one) in a quest for improved loop stability (Bug not
- logged at SF, but cited in private communication from Jeff Hobbs).
+2007-07-11 Miguel Sofer <msofer@users.sf.net>
-2003-04-11 Don Porter <dgp@users.sourceforge.net>
+ * 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]
+
+2007-07-11 Don Porter <dgp@users.sourceforge.net>
+
+ * 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.
+
+2007-07-10 Don Porter <dgp@users.sourceforge.net>
+
+ * 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.
+
+2007-07-09 Don Porter <dgp@users.sourceforge.net>
+
+ * 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.
+
+ * generic/tclCompExpr.c: Added missing creation and return of
+ the Tcl_Parse fields that indicate error conditions. [Bug 1749987]
+
+2007-07-05 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdMZ.c (Tcl_StringObjCmd,STR_IS_INT): Corrected
- inconsistent results of [string is integer] observed on systems
- where sizeof(long) != sizeof(int). [Bug 718878]
- * tests/string.test: Added tests for Bug 718878.
- * doc/string.n: Clarified that [string is integer] accepts
- 32-bit integers.
+ * library/init.tcl (unknown): Corrected inconsistent error message
+ in interactive [unknown] when empty command is invoked. [Bug 1743676]
-2003-04-11 Andreas Kupries <andreask@activestate.com>
+2007-07-05 Miguel Sofer <msofer@users.sf.net>
- * generic/tclIO.c (UpdateInterest): When dropping interest in
- TCL_READABLE now dropping interest in TCL_EXCEPTION too. This fixes a
- bug where Expect detects eof on a file prematurely on Solaris 2.6 and
- higher. A much more complete explanation is in the code itself (40
- lines of comments for a one-line change :)
+ * generic/tclNamesp.c (SetNsNameFromAny):
+ * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary
+ ckfree/ckalloc when the old structs can be reused.
-2003-04-10 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-07-04 Miguel Sofer <msofer@users.sf.net>
- * doc/binary.n: Fixed typo in [binary format w] desc. [Bug 718543]
+ * generic/tclNamesp.c: Fix case where a FQ cmd or ns was being cached
+ * generic/tclObj.c: in a different interp, tkcon. [Bug 1747512]
-2003-04-08 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-07-03 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCmdAH.c (Tcl_ErrorObjCmd): Strings are only empty if they
- have zero length, not if their first byte is zero, so fix test
- guarding Tcl_AddObjErrorInfo to take this into account. [Bug reported
- by Don Porter; no bug-id.]
+ * generic/tclCompExpr.c: Revised #define values so that there
+ is now more expansion room to define more BINARY operators.
-2003-04-07 Don Porter <dgp@users.sourceforge.net>
+2007-07-02 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompCmds.c (TclCompileIfCmd): Corrected string limits of
- arguments interpolated in error messages. [Bug 711371]
+ * 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]
- * generic/tclCmdMZ.c (TraceExecutionProc): Added missing
- Tcl_DiscardResult() call to avoid memory leak.
+2007-07-02 Don Porter <dgp@users.sourceforge.net>
-2003-04-07 Donal K. Fellows <zzcgudf@ernie.mvc.mcc.ac.uk>
+ * 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.
- * generic/tclObj.c (tclWideIntType, TclInitObjSubsystem):
- (SetBooleanFromAny): Make sure that tclWideIntType is defined and
- somewhat sensible everywhere. [Bug 713562]
+ * generic/tclIO.c: Removed dead code.
+ * unix/tclUnixChan.c:
-2003-04-02 Mo DeJong <mdejong@users.sourceforge.net>
+ * generic/tclCompExpr.c: Removed dead code, old implementations
+ * generic/tclEvent.c: of expr parsing and compiling, including the
+ * generic/tclInt.h: routine TclFinalizeCompilation().
- * win/configure: Regen.
- * win/configure.in: Set stub lib flag based on new LIBFLAGSUFFIX
- variable.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Set new LIBFLAGSUFFIX that works like
- LIBSUFFIX, it is used when creating library names. The previous
- implementation would generate -ltclstub85 instead of -ltclstub85s when
- configured with --disable-shared.
+2007-06-30 Donal K. Fellows <dkf@users.sf.net>
-2003-04-01 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCmdIL.c (Tcl_LsortObjCmd): Plug a memory leak caused by a
+ missing Tcl_DecrRefCount on an error path. [Bug 1717186]
- * tests/README: Direct [source] of *.test files is no longer
- recommended. The tests/*.test files should only be evaluated under the
- control of the [runAllTests] command in tests/all.tcl.
+2007-06-30 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-2003-03-27 Miguel Sofer <msofer@users.sf.net>
+ * 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.
- * tests/encoding.test:
- * tests/proc-old.test:
- * tests/set-old.test: Altered test numers to eliminate duplicates,
- [Bugs 710313, 710320, 710352]
+2007-06-29 Donal K. Fellows <dkf@users.sf.net>
-2003-03-27 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * doc/DictObj.3 (Tcl_DictObjDone): Improved documentation of this
+ function to make it clearer how to use it. [Bug 1710795]
- * tests/parseOld.test: Altered test numers to eliminate duplicates.
- * tests/parse.test: [Bugs 710365, 710369]
- * tests/expr-old.test:
- * tests/expr.test:
+2007-06-29 Daniel Steffen <das@users.sourceforge.net>
- * tests/utf.test: Altered test numers to eliminate duplicates.
- * tests/trace.test: [Bugs 710322, 710327, 710349, 710363]
- * tests/lsearch.test:
- * tests/list.test:
- * tests/info.test:
- * tests/incr-old.test:
- * tests/if-old.test:
- * tests/format.test:
- * tests/foreach.test:
+ * 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).
-2003-03-26 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclGetDate.y: use ckalloc/ckfree instead of malloc/free.
+ * generic/tclDate.c: bison 1.875e
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl: Added reporting during [configure
- -debug 1] operations to warn about multiple uses of the same test
- name. [FR 576693] Replaced [regexp] and [regsub] with [string map]
- where possible. Thanks to David Welton. [Bugs 667456,667558]
- * library/tcltest/pkgIndex.tcl: Bumped to tcltest 2.2.3
+ * generic/tclBasic.c (TclEvalEx): fix warnings.
- * tests/msgcat.test (msgcat-2.2.1): changed test name to avoid
- duplication. [Bug 710356]
+ * 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.
- * unix/dltest/pkg?.c: Changed all Tcl_InitStubs calls to pass argument
- exact = 0, so that rebuilds are not required when Tcl bumps to a new
- version. [Bug 701926]
+ * macosx/README: document Tcl.xcodeproj changes.
-2003-03-24 Miguel Sofer <msofer@users.sf.net>
+2007-06-28 Don Porter <dgp@users.sourceforge.net>
- * generic/tclVar.c:
- * tests/var.test: fixing ObjMakeUpvar's lookup algorithm for the
- created local variable, [Bugs 631741] (Chris Darroch) and [696893]
- (David Hilker).
+ * 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:
-2003-03-22 Kevin Kenny <kennykb@acm.org>
+ * unix/Makefile.in: Updated to reflect deletion of tclMathOp.c.
+ * win/Makefile.in:
+ * win/makefile.bc:
+ * win/makefile.vc:
- * library/dde/pkgIndex.tcl:
- * library/reg/pkgIndex.tcl: Fixed a bug where [package require dde] or
- [package require registry] attempted to load the release version of
- the DLL into a debug build. [Bug 708218] Thanks to Joe Mistachkin for
- the patch.
- * win/makefile.vc: Added quoting around the script name in the 'test'
- target; Joe Mistachkin insists that he has a configuration that fails
- to launch tcltest without it, and it appears harmless otherwise.
-
-2003-03-20 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclInt.h (tclOriginalNotifier):
- * generic/tclStubInit.c (tclOriginalNotifier):
- * mac/tclMacNotify.c (Tcl_SetTimer,Tcl_WaitForEvent):
- * unix/tclUnixNotfy.c (Tcl_SetTimer,Tcl_WaitForEvent,
- (Tcl_CreateFileHandler,Tcl_DeleteFileHandler):
- * win/tclWinNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): Some linkers
- apparently use a different representation for a pointer to a function
- within the same compilation unit and a pointer to a function in a
- different compilation unit. This causes checks like those in the
- original notifier procedures to fall into infinite loops. The fix is
- to store pointers to the original notifier procedures in a struct
- defined in the same compilation unit as the stubs tables, and compare
- against those values. [Bug 707174]
-
- * generic/tclInt.h: Removed definition of ParseValue struct that is no
- longer used.
-
-2003-03-19 Miguel Sofer <msofer@users.sf.net>
+2007-06-28 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tclCompile.c:
- * tests/compile.test: bad command count on TCL_OUT_LINE_COMPILE
- [Bug 705406] (Don Porter).
+ * generic/tclBasic.c: Silence constness warnings for TclStackFree
+ * generic/tclCompCmds.c: when building with msvc.
+ * generic/tclFCmd.c:
+ * generic/tclIOCmd.c:
+ * generic/tclTrace.c:
-2003-03-19 Don Porter <dgp@users.sourceforge.net>
+2007-06-28 Miguel Sofer <msofer@users.sf.net>
- * doc/Eval.3 (Tcl_EvalObjEx): Corrected CONST and
- * doc/ParseCmd.3 (Tcl_EvalTokensStandard): return type errors in
- documentation. [Bug 683994]
+ * generic/tclVar.c (UnsetVarStruct): fix possible segfault.
-2003-03-18 Kevin Kenny <kennykb@users.sourceforge.net>
+2007-06-27 Don Porter <dgp@users.sourceforge.net>
- * tests/registry.test: Changed the conditionals to avoid an abort if
- [testlocale] is missing, as when running the test in tclsh rather than
- tcltest. [Bug 705677]
+ * 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]
-2003-03-18 Daniel Steffen <das@users.sourceforge.net>
+2007-06-26 Don Porter <dgp@users.sourceforge.net>
- * tools/tcltk-man2html.tcl: added support for building 'make html'
- from inside distribution directories named with 8.x.x version numbers.
- tcltk-man2html now uses the latest tcl8.x.x resp. tk8.x.x directories
- found inside its --srcdir argument.
+ * generic/tclBasic.c (TclEvalEx): Moved some arrays from the C
+ stack to the Tcl stack.
-2003-03-18 Vince Darley <vincentdarley@users.sourceforge.net>
+2007-06-26 Miguel Sofer <msofer@users.sf.net>
- * tests/cmdAH.test: fix test suite problem if /home is a symlink
- * generic/tclIOUtil.c: fix bad error message with 'cd ""'
- * win/tclWinFile.c: allow Tcl to differentiate between reparse points
- which are symlinks and mounted drives.
+ * generic/tclVar.c (UnsetVarStruct): more streamlining.
- These changes fix [Bugs 703264, 704917, 697862] respectively.
+2007-06-25 Don Porter <dgp@users.sourceforge.net>
-2003-03-17 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclExecute.c: Safety checks to avoid crashes in the
+ TclStack* routines when called with an incompletely initialized
+ interp. [Bug 1743302]
- * doc/lsearch.n: Altered documentation of -ascii options so
- * doc/lsort.n: they don't specify that they operate on
- ASCII strings, which they never did
- anyway. [Bug 703807]
+2007-06-25 Miguel Sofer <msofer@users.sf.net>
-2003-03-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclVar.c (UnsetVarStruct): fixing incomplete change, more
+ streamlining.
- * generic/tclCmdAH.c (Tcl_FileObjCmd): Remove assumption that file
- times and longs are the same size. [Bug 698146]
- (Tcl_FormatObjCmd): Stop surprising type conversions from
- happening when working with integer and wide values. [Bug 699060]
+2007-06-24 Miguel Sofer <msofer@users.sf.net>
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Only add the modifier that
- indicates we've got a wide int when we're formatting in an integer
- style. Stops some libc's from going mad. [Bug 702622]
- Also tidied whitespace.
+ * 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).
-2003-03-13 Kevin Kenny <kennykb@users.sourceforge.net>
+ * generic/tclVar.c (UnsetVarStruct): fixed a leak introduced in last
+ commit.
- * win/makefile.vc: Backed the version to 8.4 on the 8.4 branch. (I
- just loathe sticky tags).
+2007-06-23 Miguel Sofer <msofer@users.sf.net>
-2003-03-12 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclVar.c (UnsetVarStruct, TclDeleteVars): made the logic
+ slightly clearer, eliminated some duplicated code.
- * generic/tcl.h: Removed TCL_PREFIX_IDENT and TCL_DEBUG_IDENT
- * win/tclWinPipe.c: from tcl.h -- they are not part of Tcl's
- public interface. Put them in win/tclWinPipe.c where they are used.
+ *** 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.
- * generic/tclCmdMZ.c (Tcl_SubstObj): Corrected and added test for
- * tests/subst.test (subst-2.4): Tcl_SubstObj's incorrect
- halting of substitution at the first \x00 byte. [Bug 685106]
+2007-06-23 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclInterp.c (Tcl_InterpObjCmd): Corrected and added
- * tests/interp.test (interp-2.13): test for option
- parsing beyond objc for [interp create --]. Thanks to Marco Maggi.
- [Bug 702383]
+ * macosx/tclMacOSXNotify.c (AtForkChild): don't call CoreFoundation
+ APIs after fork() on systems where that would lead to an abort().
-2003-03-11 Kevin Kenny <kennykb@users.sourceforge.net>
+2007-06-22 Don Porter <dgp@users.sourceforge.net>
- * win/makefile.vc: Added two missing uses of $(DBGX) so that
- tclpip8x.dll loads without panicking on Win9x.
+ * generic/tclExecute.c: Revised TclStackRealloc() signature to better
+ * generic/tclInt.h: parallel (and fall back on) Tcl_Realloc.
-2003-03-08 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclNamesp.c (TclResetShadowesCmdRefs): Replaced
+ ckrealloc based allocations with TclStackRealloc allocations.
- * doc/tcltest.n: Added missing "-body" to example. Thanks to
- Helmut Giese. [Bug 700011]
+ * generic/tclCmdIL.c: More conversions to use TclStackAlloc.
+ * generic/tclScan.c:
-2003-03-06 Don Porter <dgp@users.sourceforge.net>
+2007-06-21 Don Porter <dgp@users.sourceforge.net>
- * generic/TclUtf.c (Tcl_UniCharNcasecmp): Corrected failure to
- * tests/utf.test (utf-25.*): properly compare Unicode strings of
- different case in a case insensitive manner. [Bug 699042]
+ * 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:
-2003-03-03 Jeff Hobbs <jeffh@ActiveState.com>
+2007-06-21 Miguel Sofer <msofer@users.sf.net>
- *** 8.4.2 TAGGED FOR RELEASE ***
+ * 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.
-2003-03-03 Daniel Steffen <das@users.sourceforge.net>
+2007-06-21 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- Mac OS Classic specific fixes:
- * generic/tclIOUtil.c (TclNewFSPathObj): on TCL_PLATFORM_MAC,
- skip potential directory separator at the beginning of addStrRep.
- * mac/tclMacChan.c (OpenFileChannel, CommonWatch): followup
- fixes to cut and splice implementation for file channels.
- * mac/tclMacFile.c (TclpUtime): pass native path to utime().
- * mac/tclMacFile.c (TclpObjLink): correctly implemented creation
- of alias files via new static proc CreateAliasFile().
- * mac/tclMacPort.h: define S_ISLNK macro to fix stat'ing of links.
- * mac/tclMacUtil.c (FSpLocationFromPathAlias): fix to enable
- stat'ing of broken links.
+ * generic/tcl.h, generic/tclCompile.h, generic/tclCompile.c: Remove
+ references in comments to obsolete {expand} notation. [Bug 1740859]
-2003-03-03 Kevin Kenny <kennykb@users.sourceforge.net>
+2007-06-20 Miguel Sofer <msofer@users.sf.net>
- * win/Makefile.vc: corrected bug introduced by 'g' for debug builds.
+ * generic/tclVar.c: streamline namespace vars deletion: only compute
+ the variable's full name if the variable is traced.
-2003-03-03 Don Porter <dgp@users.sourceforge.net>
+2007-06-20 Don Porter <dgp@users.sourceforge.net>
- * library/dde/pkgIndex.tcl: dde bumped to version 1.2.1 for
- * win/tclWinDde.c: bundled release with Tcl 8.4.2
+ * 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.
- * library/reg/pkgIndex.tcl: registry bumped to version 1.1.1 for
- * win/tclWinReg.c: bundled release with Tcl 8.4.2
+ * generic/tclIntDecls.h: make genstubs
- * library/opt/pkgIndex.tcl: updated package index to version 0.4.4
+ * 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:
-2003-02-28 Jeff Hobbs <jeffh@ActiveState.com>
+2007-06-20 Jeff Hobbs <jeffh@ActiveState.com>
- * win/configure:
- * win/configure.in: check for 'g' for debug build type, not 'd'.
- * win/rules.vc (DBGX): correct to use 'g' for nmake win makefile
- to match the cygwin makefile for debug builds. [Bug 635107]
+ * tools/tcltk-man2html.tcl: revamp of html doc output to use CSS,
+ standardized headers, subheaders, dictionary sorting of names.
-2003-02-28 Vince Darley <vincentdarley@users.sourceforge.net>
+2007-06-18 Jeff Hobbs <jeffh@ActiveState.com>
- * doc/file.n: subcommand is 'file volumes' not 'file volume'
+ * tools/tcltk-man2html.tcl: clean up copyright merging and output.
+ clean up coding constructs.
-2003-02-27 Jeff Hobbs <jeffh@ActiveState.com>
+2007-06-18 Miguel Sofer <msofer@users.sf.net>
- * generic/tclIOUtil.c (MakeFsPathFromRelative): removed dead code
- check of typePtr (darley).
+ * 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.
- * tests/winTime.test: added note about PCI hardware dependency
- issues with high performance clock.
+ * generic/tclExecute.c (TEBC): Moved the CmdFrame off the C stack and
+ onto the Tcl stack, between the catch and the execution stacks
-2003-02-27 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-06-18 Don Porter <dgp@users.sourceforge.net>
- * tests/lsearch.test (lsearch-10.7):
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Stopped -start option from
- causing an option when used with an empty list. [Bug 694232]
+ * generic/tclBasic.c (TclEvalEx,TclEvalObjEx): Moved the CmdFrame off
+ the C stack and onto the Tcl stack.
-2003-02-26 Chengye Mao <chengye.geo@yahoo.com>
+2007-06-17 Donal K. Fellows <dkf@users.sf.net>
- * win/tclWinInit.c: fixed a bug in TclpSetVariables by initializing
- dwUserNameLen with the sizeof(szUserName) before calling GetUserName.
- Don't know if this bug has been recorded: it caused crash in starting
- Tcl or wish in Windows.
+ * generic/tclProc.c (TclObjInterpProcCore): Minor fixes to make
+ * generic/tclExecute.c (TclExecuteByteCode): compilation debugging
+ builds work again. [Bug 1738542]
-2003-02-26 Jeff Hobbs <jeffh@ActiveState.com>
+2007-06-16 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCmdMZ.c (TraceCommandProc): Fix mem leak when
- deleting a command that had trace on it. [Bug 693564] (sofer)
+ * generic/tclProc.c (TclObjInterpProcCore): Use switch instead of a
+ chain of if's for a modest performance gain and a little more clarity.
-2003-02-25 Don Porter <dgp@users.sourceforge.net>
+2007-06-15 Miguel Sofer <msofer@users.sf.net>
- * doc/pkgMkIndex.n: Modified [pkg_mkIndex] to use -nocase matching
- * library/package.tcl: of -load patterns, to better accomodate
- common user errors due to confusion between [package names] names
- and [info loaded] names.
+ * generic/tclCompCmds.c: Simplified [variable] compiler and executor.
+ * generic/tclExecute.c: Missed updates to "there is always a valid
+ frame".
-2003-02-25 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * tests/pid.test: See below [Bug 678412].
- * tests/io.test: Made more robust against spaces in paths [Bug 678400]
+ * 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.
-2003-02-25 Miguel Sofer <msofer@users.sf.net>
+2007-06-14 Miguel Sofer <msofer@users.sf.net>
- * tests/execute.test: cleaning up testobj's at the end, to avoid leak
- warning by valgrind.
+ * 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).
-2003-02-22 Zoran Vasiljevic <zoran@archiwrae.com>
+ * generic/tclProc.c (TclObjInterpProcCore): simplified obj management
+ in wrongNumArgs calls.
- * generic/tclEvent.c (Tcl_FinalizeThread): Fix [Bug 571002]
+2007-06-14 Don Porter <dgp@users.sourceforge.net>
-2003-02-21 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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.
- * tests/binary.test (binary-44.[34]):
- * generic/tclBinary.c (ScanNumber): Fixed problem with unwanted
- sign-bit propagation when scanning wide ints. [Bug 690774]
+2007-06-13 Miguel Sofer <msofer@users.sf.net>
-2003-02-21 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclExecute.c (TclCompEvalObj): missed update to "there is
+ always a valid frame".
- * mac/tclMacChan.c (TclpCutFileChannel, TclpSpliceFileChannel):
- Implemented missing cut and splice procs for file channels.
+ * 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].
-2003-02-21 Don Porter <dgp@users.sourceforge.net>
+2007-06-12 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * library/package.tcl (tclPkgUnknown): Minor performance tweaks to
- reduce the number of [file] invocations. Meant to improve startup
- times, at least a little bit. [Patch 687906]
+ * 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.
-2003-02-20 Daniel Steffen <das@users.sourceforge.net>
+ * 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.
- * unix/tcl.m4:
- * unix/tclUnixPipe.c: (macosx) use vfork() instead of fork() to create
- new processes, as recommended by Apple (vfork can be up to 100 times
- faster thank fork on macosx).
- * unix/configure: regen.
+2007-06-11 Miguel Sofer <msofer@users.sf.net>
-2003-02-20 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclExecute.c: comments added to explain iPtr->numLevels
+ management.
- * generic/tclEncoding.c (LoadTableEncoding):
- * library/encoding/cp932.enc: Correct jis round-trip encoding
- * library/encoding/euc-jp.enc: by adding 'R' type to .enc files.
- * library/encoding/iso2022-jp.enc: [Patch 689341] (koboyasi, taguchi)
- * library/encoding/jis0208.enc:
- * library/encoding/shiftjis.enc:
- * tests/encoding.test:
+ * 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.
- * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): add
- MakeTcpClientChannelMode that takes actual mode flags to avoid
- hang on OS X (may be OS X bug, but patch works x-plat).
- [Bug 689835] (steffen)
+2007-06-10 Miguel Sofer <msofer@users.sf.net>
-2003-02-20 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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.
- * doc/regsub.n: Typo fix [Bug 688943]
+ ***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***
-2003-02-19 Jeff Hobbs <jeffh@ActiveState.com>
+2007-06-10 Jeff Hobbs <jeffh@ActiveState.com>
- * unix/tclUnixThrd.c (TclpReaddir):
- * unix/tclUnixPort.h: update to Bug 689100 patch to ensure that
- there is a defined value of MAXNAMLEN (aka NAME_MAX in POSIX) and
- that we have some buffer allocated.
+ * README: updated links. [Bug 1715081]
-2003-02-19 Daniel Steffen <das@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]
- * generic/tclStringObj.c: restored Tcl_SetObjLength() side-effect of
- always invalidating unicode rep (if the obj has a string rep). Added
- hasUnicode flag to String struct, allows decoupling of validity of
- unicode rep from buffer size allocated to it (improves memory
- allocation efficiency). [Bugs 686782, 671138, 635200]
+2007-06-10 Miguel Sofer <msofer@users.sf.net>
- * macosx/Tcl.pbproj/project.pbxproj:
- * macosx/Makefile: reworked embedded build to no longer require
- relinking but to use install_name_tool instead to change the
- install_names for embedded frameworks. [Bug 644510]
+ * 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:
- * macosx/Tcl.pbproj/project.pbxproj: preserve mod dates when running
- 'make install' to build framework (avoids bogus rebuilds of dependent
- frameworks because tcl headers appear changed).
+ * generic/tclInt.h: New TclCleanupCommandMacro for core usage.
+ * generic/tclBasic.c:
+ * generic/tclExecute.c:
+ * generic/tclObj.c:
- * tests/ioCmd.test (iocmd-1.8): fix failure when system encoding is
- utf-8: use iso8859-1 encoding explicitly.
+2007-06-09 Daniel Steffen <das@users.sourceforge.net>
-2003-02-18 Miguel Sofer <msofer@users.sf.net>
+ * macosx/Tcl.xcodeproj/project.pbxproj: add new Tclsh-Info.plist.in.
- * generic/tclCompile.c (TclCompileExprWords): remove unused variable
- "range" [Bug 664743]
- * generic/tclExecute.c (ExprSrandFunc): remove unused variable
- "result" [Bug 664743]
- * generic/tclStringObj.c (UpdateStringOfString): remove unused
- variable "length" [Bug 664751]
- * tests/execute.test (execute-7.30): fix for [Bug 664775]
+2007-06-08 Donal K. Fellows <dkf@users.sf.net>
-2003-02-18 Andreas Kupries <andreask@activestate.com>
+ * 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...
- * unix/tcl.m4: [Bug 651811] Added definition of _XOPEN_SOURCE and
- linkage of 'xnet' library to HP 11 branch. This kills a lot of
- socket-related failures in the testsuite when Tcl was compiled in 64
- bit mode (both PA-RISC 2.0W, and IA 64).
+2007-06-06 Miguel Sofer <msofer@users.sf.net>
- * unix/configure: Regenerated.
+ * generic/tclParse.c: fix for uninit read. [Bug 1732414]
-2003-02-18 Jeff Hobbs <jeffh@ActiveState.com>
+2007-06-06 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclIO.c (HaveVersion): correctly decl static
+ * macosx/Tcl.xcodeproj/project.pbxproj: add settings for Fix&Continue.
- * unix/tclUnixThrd.c (TclpReaddir): reduce size of name string in
- tsd to NAME_MAX instead of PATH_MAX. [Bug 689100] (waters)
+ * 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:
-2003-02-18 Mo DeJong <mdejong@users.sourceforge.net>
+ * unix/tcl.m4 (Darwin): fix CF checks in fat 32&64bit builds.
+ * unix/configure: autoconf-2.59
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_ENABLE_THREADS): Make sure -lpthread gets passed on
- the link line when checking for the pthread_attr_setstacksize symbol.
+2007-06-05 Don Porter <dgp@users.sourceforge.net>
-2003-02-18 Vince Darley <vincentdarley@users.sourceforge.net>
+ * 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/tclTest.c: cleanup of new 'simplefs' test code, and better
- documentation.
+2007-06-05 Miguel Sofer <msofer@users.sf.net>
-2003-02-17 Miguel Sofer <msofer@users.sf.net>
+ * generic/tclInt.h:
+ * generic/tclExecute.c: Tcl-stack reform, [Patch 1701202]
- * generic/tclBasic.c (TclRenameCommand): fixing error in previous
- commit.
+2007-06-03 Daniel Steffen <das@users.sourceforge.net>
-2003-02-17 Jeff Hobbs <jeffh@ActiveState.com>
+ * unix/Makefile.in: add datarootdir to silence autoconf-2.6x warning.
- * generic/tclExecute.c (TclExecuteByteCode INST_STR_MATCH):
- * generic/tclCmdMZ.c (Tcl_StringObjCmd STR_MATCH):
- * generic/tclUtf.c (TclUniCharMatch):
- * generic/tclInt.decls: add private TclUniCharMatch function that
- * generic/tclIntDecls.h: does string match on counted unicode
- * generic/tclStubInit.c: strings. Tcl_UniCharCaseMatch has the
- * tests/string.test: failing that it can't handle strings or
- * tests/stringComp.test: patterns with embedded NULLs. Added
- tests that actually try strings/pats with NULLs. TclUniCharMatch
- should be TIPed and made public in the next minor version rev.
+2007-05-30 Don Porter <dgp@users.sourceforge.net>
-2003-02-17 Miguel Sofer <msofer@users.sf.net>
+ * 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.
- * generic/tclBasic.c (TclRenameCommand): 'oldFullName' object was not
- being freed on all function exits, causing a memory leak. [Bug 684756]
+ * 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]
-2003-02-17 Mo DeJong <mdejong@users.sourceforge.net>
+2007-05-29 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclIO.c (Tcl_GetsObj): Minor change so that eol is only
- assigned at the top of the TCL_TRANSLATE_AUTO case block. The other
- cases assign eol so this does not change any functionality.
+ * unix/tclUnixThrd.c (Tcl_JoinThread): fix for 64-bit handling of
+ pthread_join exit return code storage. [Bug 1712723]
-2003-02-17 Kevin Kenny <kennykb@users.sourceforge.net>
+2007-05-22 Don Porter <dgp@users.sourceforge.net>
- * tests/notify.test: Removed Windows line terminators. [Bug 687913].
+ [core-stabilizer-branch]
-2003-02-15 Miguel Sofer <msofer@users.sf.net>
+ * unix/configure: autoconf-2.59 (FC6 fork)
+ * win/configure:
- * generic/tclBasic.c (Tcl_EvalEx):
- * generic/tclCompExpr.c (CompileSubExpr):
- * generic/tclCompile.c (TclCompileScript):
- * generic/tclParse.c (Tcl_ParseCommand, ParseTokens):
- * generic/tclParseExpr.c (ParsePrimaryExpr):
- * tests/basic.test (47.1):
- * tests/main.test (3.4):
- * tests/misc.test (1.2):
- * tests/parse.test (6.18):
- * tests/parseExpr.test (15.35):
- * tests/subst.test (8.6): Don Porter's fix for bad parsing of
- nested scripts [Bug 681841].
-
-2003-02-15 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * tests/notify.test (new-file):
- * generic/tclTest.c (TclTest_Init, EventtestObjCmd, EventtestProc,
- (EventTestDeleteProc):
- * generic/tclNotify.c (Tcl_DeleteEvents): Fixed Tcl_DeleteEvents
- not to get a pointer smash when deleting the last event in the
- queue. Added test code in 'tcltest' and a new file of test cases
- 'notify.test' to exercise this functionality; several of the new
- test cases fail for the original code and pass for the corrected
- code. [Bug 673714]
-
- * unix/tclUnixTest.c (TestfilehandlerCmd): Corrected a couple
- of typos in error messages. [Bug 596027]
-
-2003-02-14 Jeff Hobbs <jeffh@ActiveState.com>
-
- * README: Bumped to version 8.4.2.
+ * README: Bump version number to 8.5b1
* generic/tcl.h:
+ * library/init.tcl:
* tools/tcl.wse.in:
- * unix/configure:
* unix/configure.in:
- * unix/tcl.m4:
* unix/tcl.spec:
- * win/README.binary:
- * win/configure:
* win/configure.in:
- * macosx/Tcl.pbproj/project.pbxproj:
-
- * generic/tclStringObj.c (Tcl_GetCharLength): perf tweak
-
- * unix/tcl.m4: correct HP-UX ia64 --enable-64bit build flags
-
-2003-02-14 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * win/tclWinTime.c: Added code to test and compensate for forward
- leaps of the performance counter. See the MSDN Knowledge Base article
- Q274323 for the hardware problem that makes this necessary on certain
- machines.
- * tests/winTime.test: Revised winTime-2.1 - it had a tolerance of
- thousands of seconds, rather than milliseconds. (What's six orders of
- magnitude among friends?
-
- Both the above changes are triggered by a problem reported at
- http://aspn.activestate.com/ASPN/Mail/Message/ActiveTcl/1536811
- although the developers find it difficult to believe that it accounts
- for the observed behavior and suspect a fault in the RTC chip.
-
-2003-02-13 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * win/tclWinInit.c: Added conversion from the system encoding to
- tcl_platform(user), so that it works with non-ASCII7 user names. [Bug
- 685926]
- * doc/tclsh.1: Added language to describe the handling of the
- end-of-file character \u001a embedded in a script file. [Bug 685485]
-
-2003-02-11 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * tests/fileName.test:
- * unix/tclUnixFile.c: fix for [Bug 685445] when using 'glob -l' on
- broken symbolic links. Added two new tests for this bug.
-
-2003-02-11 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * tests/http.test: Corrected a problem where http-4.14 would fail when
- run in an environment with a proxy server. Replaced references to
- scriptics.com by tcl.tk.
-
-2003-02-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * tests/lsearch.test:
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): protect against the case
- that lsearch -regepx list and pattern objects are equal.
-
- * tests/stringObj.test:
- * generic/tclStringObj.c (Tcl_GetCharLength): correct ascii char
- opt of 2002-11-11 to not stop early on \x00. [Bug 684699]
-
- * tests.parse.test: remove excess EOF whitespace
-
- * generic/tclParse.c (CommandComplete): more paranoid check to
- break on (p >= end) instead of just (p == end).
-
-2003-02-11 Miguel Sofer <msofer@users.sf.net>
-
- * generic/tclParse.c (CommandComplete):
- * tests/parse.test: fix for [Bug 684744], by Don Porter.
-
-2003-02-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclIOUtil.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath):
- (UpdateStringOfFsPath): revert the cwdLen == 0 check and instead
- follow a different code path in Tcl_FSJoinPath.
- (Tcl_FSConvertToPathType, Tcl_FSGetNormalizedPath):
- (Tcl_FSGetFileSystemForPath): Update string rep of path objects
- before freeing the internal object. (darley)
-
- * tests/fileSystem.test: added test 8.3
- * generic/tclIOUtil.c (Tcl_FSGetNormalizedPath):
- (UpdateStringOfFsPath): handle the cwdLen == 0 case
-
- * unix/tclUnixFile.c (TclpMatchInDirectory): simplify the hidden
- file match check.
-
-2003-02-10 Mo DeJong <mdejong@users.sourceforge.net>
+2007-05-18 Don Porter <dgp@users.sourceforge.net>
+ * unix/configure: autoconf-2.59 (FC6 fork)
* win/configure:
- * win/configure.in: Generate error when attempting to build under
- Cygwin. The Cygwin port of Tcl/Tk does not build and people are filing
- bug reports under the mistaken impression that someone is actually
- maintaining the Cygwin port. A post to comp.lang.tcl asking someone to
- volunteer as an area maintainer has generated no results. Closing
- [Bugs 680840, 630199, 634772] and marking as "Won't fix".
-
-2003-02-10 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/append.n: Return value was not documented. [Bug 683188]
-
-2003-02-10 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/FileSystem.3:
- * generic/tclIOUtil.c:
- * generic/tclInt.h:
- * tests/fileSystem.test:
- * unix/tclUnixFCmd.c:
- * unix/tclUnixFile.c:
- * win/tclWinFile.c: further filesystem optimization, applying
- [Patch 682500]. In particular, these code examples are faster now:
- foreach f $flist { if {[file exists $f]} {file stat $f arr;...}}
- foreach f [glob -dir $dir *] { # action and/or recursion on $f }
- cd $dir
- foreach f [glob *] { # action and/or recursion on $f }
- cd ..
- * generic/tclTest.c: Fix for [Bug 683181] where test suite left files
- in 'tmp'.
+ * 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:
-2003-02-08 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * library/safe.tcl: code cleanup of eval and string comp use.
+2007-05-17 Donal K. Fellows <dkf@users.sf.net>
-2003-02-07 Vince Darley <vincentdarley@users.sourceforge.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.
- * win/tclWinFCmd.c: cleanup long lines
- * win/tclWinFile.c: sped up pure 'glob' by a factor of 2.5 ('foreach f
- [glob *] { file exists $f }' is still slow)
- * tests/fileSystem.text:
- * tests/fileName.test: added new tests to ensure correct behaviour in
- optimized filesystem code.
+2007-05-17 Daniel Steffen <das@users.sourceforge.net>
-2003-02-07 Vince Darley <vincentdarley@users.sourceforge.net>
+ * generic/tcl.decls: workaround 'make checkstubs' failures from
+ tclStubLib.c MODULE_SCOPE revert. [Bug 1716117]
- * generic/tclTest.c:
- * tests/fileSystem.text: fixed test 7.2 to avoid a possible crash, and
- not change the pwd.
+2007-05-16 Joe English <jenglish@users.sourceforge.net>
- * tests/http.text: added comment to test 4.15, that it may fail if you
- use a proxy server.
+ * generic/tclStubLib.c: Change Tcl_InitStubs(), tclStubsPtr, and the
+ auxilliary stubs table pointers back to public visibility.
-2003-02-06 Mo DeJong <mdejong@users.sourceforge.net>
+ 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]
- * generic/tclCompCmds.c (TclCompileIncrCmd):
- * tests/incr.test: Don't include the text "(increment expression)" in
- the errorInfo generated by the compiled version of the incr command
- since it does not match the message generated by the non-compiled
- version of incr. It is also not possible to match this error output
- under Jacl, which does not support a compiler.
+2007-05-15 Don Porter <dgp@users.sourceforge.net>
-2003-02-06 Mo DeJong <mdejong@users.sourceforge.net>
+ * win/configure: autoconf-2.59 (FC6 fork)
- * generic/tclExecute.c (TclExecuteByteCode): When an error is
- encountered reading the increment value during a compiled call to
- incr, add a "(reading increment)" error string to the errorInfo
- variable. This makes the errorInfo variable set by the compiled incr
- command match the value set by the non-compiled version.
- * tests/incr-old.test: Change errorInfo result for the compiled incr
- command case to match the modified implementation.
- * tests/incr.test: Add tests to make sure the compiled and
- non-compiled errorInfo messages are the same.
+ * 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:
-2003-02-06 Don Porter <dgp@users.sourceforge.net>
+2007-05-11 Pat Thoyts <patthoyts@users.sourceforge.net>
- * library/tcltest/tcltest.tcl: Filename arguments to [outputChannel]
- and [errorChannel] (also -outfile and -errfile) were [open]ed but
- never [closed]. Also, [cleanupTests] could remove output or error
- files. [Bug 676978].
- * library/tcltest/pkgIndex.tcl: Bumped to version 2.2.2.
+ * generic/tclInt.h: Removed TclEvalObjEx and TclGetSrcInfoForPc from
+ tclInt.h now they are in the internal stubs table.
-2003-02-05 Mo DeJong <mdejong@users.sourceforge.net>
+2007-05-09 Don Porter <dgp@users.sourceforge.net>
- * tests/interp.test:
- * tests/set-old.test: Run test cases that depend on hash order through
- lsort so that the tests also pass under Jacl. Does not change test
- results under Tcl.
+ * generic/tclInt.h: TclFinalizeThreadAlloc() is always defined, so
+ make sure it is also always declared (with MODULE_SCOPE).
-2003-02-04 Vince Darley <vincentdarley@users.sourceforge.net>
+2007-05-09 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclIOUtil.c:
- * generic/tclEvent.c:
- * generic/tclInt.h:
- * mac/tclMacFCmd.c:
- * unix/tclUnixFCmd.c:
- * win/tclWin32Dll.c:
- * win/tclWinFCmd.c:
- * win/tclWinInit.c:
- * win/tclWinInt.h:
- * tests/fileSystem.test: fix to finalization/unloading/encoding issues
- to make filesystem much less dependent on encodings for its cleanup,
- and therefore allow it to be finalized later in the exit process. This
- fixes fileSystem.test-7.1. Also fixed one more bug in setting of
- modification dates of files which have undergone cross-platform
- copies. [Patch 676271]
-
- * tests/basic.test:
- * tests/exec.test:
- * tests/fileName.test:
- * tests/io.test: fixed some test failures when tests are run from a
- directory containing spaces.
+ * generic/tclInt.h: fix warning when building threaded with -DPURIFY.
- * tests/fileSystem.test:
- * generic/tclTest.c: added regression test for the modification
- date setting of cross-platform file copies.
+ * macosx/Tcl.xcodeproj/project.pbxproj: add 'DebugUnthreaded' &
+ * macosx/Tcl.xcodeproj/default.pbxuser: 'DebugLeaks' configs and env
+ var settings needed to run the 'leaks' tool.
-2003-02-03 Kevin Kenny <kennykb@users.sourceforge.net>
+2007-05-07 Don Porter <dgp@users.sourceforge.net>
- * generic/tclBasic.c: Changed [trace add command] so that 'rename'
- callbacks get fully qualified names of the command. [Bug 651271].
- ***POTENTIAL INCOMPATIBILITY***
- * tests/trace.test: Modified the test cases for [trace add command] to
- expect fully qualified names on the 'rename' callbacks. Added a case
- for renaming a proc within a namespace.
- * doc/trace.n: Added language about use of fully qualified names in
- trace callbacks.
-
-2003-02-01 Kevin Kenny <kennykb@users.sourceforge.net>
-
- * generic/tclCompCmds.c: Removed an unused variable that caused
- compiler warnings on SGI. [Bug 664379]
+ [Tcl Bug 1706140]
- * generic/tclLoad.c: Changed the code so that if Tcl_StaticPackage is
- called to report the same package as being loaded in two interps, it
- shows up in [info loaded {}] in both of them (previously, it didn't
- appear in the static package list in the second.
-
- * tests/load.test Added regression test for the above bug. [Bug
- 670042]
-
- * generic/tclClock.c: Fixed a bug that incorrectly allowed [clock
- clicks {}] and [clock clicks -] to be accepted as if they were [clock
- clicks -milliseconds].
-
- * tests/clock.test: Added regression tests for the above bug. [Bug
- 675356]
-
- * tests/unixNotfy.test: Added cleanup of working files [Bug 675609]
-
- * doc/Tcl.n: Added headings to the eleven paragraphs, to improve
- formatting in the tools that attempt to extract tables of contents
- from the manual pages. [Bug 627455]
-
- * generic/tclClock.c: Expanded mutex protection around the setting of
- env(TZ) and the thread-unsafe call to tzset(). [Bug 656660]
-
-2003-01-31 Don Porter <dgp@users.sourceforge.net>
-
- * tests/tcltest.test: Cleaned up management of file/directory
- creation/deletion to improve "-debug 1" output. [Bug 675614] The
- utility [slave] command failed to properly [list]-quote a constructed
- [open] command, causing failure when the pathname contained
- whitespace. [Bug 678415]
-
- * tests/main.test: Stopped main.test from deleting existing file.
- Test suite should not delete files that already exist. [Bug 675660]
-
-2003-01-28 Don Porter <dgp@users.sourceforge.net>
-
- * tests/main.test: Constrain tests that do not work on Windows. [Bug
- 674387]
-
-2003-01-28 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fix to setting modification date in
- TclCrossFilesystemCopy. Also added 'panic' in
- Tcl_FSGetFileSystemForPath under illegal calling circumstances which
- lead to hard-to-track-down bugs.
-
- * generic/tclTest.c: added test suite code to allow exercising a
- vfs-crash-on-exit bug in Tcl's finalization caused by the encodings
- being cleaned up before unloading occurs.
- * tests/fileSystem.test: added new 'knownBug' test 7.1 to demonstrate
- the crash on exit.
-
-2003-01-28 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tcl.h: Add TCL_PREFIX_IDENT and TCL_DEBUG_IDENT, used only
- by TclpCreateProcess.
- * unix/Makefile.in: Define TCL_DBGX.
- * win/Makefile.in: Define TCL_DBGX.
- * win/tclWinPipe.c (TclpCreateProcess): Check that the Tcl pipe dll
- actually exists in the Tcl bin directory and panic if it is not
- found. Incorporate TCL_DBGX into the Tcl pipe dll name. This fixes a
- really mysterious error that would show up when exec'ing a 16 bit
- application under Win95 or Win98 when Tcl was compiled with symbols.
- The error seemed to indicate that the executable could not be found,
- but it was actually the Tcl pipe dll that could not be found.
-
-2003-01-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/README: Update msys+mingw URL to release 6. This version bundles
- gcc 3.
-
-2003-01-26 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Add test that checks to see if the compiler can
- cast to a union type.
- * win/tclWinTime.c: Squelch compiler warning about union initializer
- by casting to union type when compiling with gcc.
-
-2003-01-25 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke
- TclpCutFileChannel and TclpSpliceFileChannel.
- * generic/tclInt.h: Declare TclpCutFileChannel and
- TclpSpliceFileChannel.
- * unix/tclUnixChan.c (FileCloseProc, TclpOpenFileChannel,
- (Tcl_MakeFileChannel, TclpCutFileChannel,
- (TclpSpliceFileChannel): Implement thread load data cut and splice for
- file channels. This avoids an invalid memory ref when compiled with
- -DDEPRECATED.
- * win/tclWinChan.c (FileCloseProc, TclpCutFileChannel,
- (TclpSpliceFileChannel): Implement thread load data cut and splice for
- file channels. This avoids an invalid memory ref that was showing up
- in the thread extension.
+ * 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.
-2003-01-25 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWin32Dll.c (TclpCheckStackSpace, squelch_warnings):
- * win/tclWinChan.c (Tcl_MakeFileChannel, squelch_warnings):
- * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, squelch_warnings):
- Re-implement inline ASM SEH handlers for gcc. The esp and ebp
- registers are now saved on the stack instead of in global variables so
- that the code is thread safe. Add additional checks when TCL_MEM_DEBUG
- is defined to be sure the values were recovered from the stack
- properly. Remove squelch_warnings functions and add a dummy call in
- the handler methods to squelch compiler warnings.
+ * 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
-2003-01-25 Mo DeJong <mdejong@users.sourceforge.net>
+ * 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.
- * win/configure:
- * win/configure.in: Define HAVE_ALLOCA_GCC_INLINE when we detect that
- no alloca function is found in malloc.h and we are compiling with
- GCC. Remove HAVE_NO_ALLOC_DECL define.
- * win/tclWin32Dll.c (TclpCheckStackSpace): Don't define alloca as a
- cdecl function. Doing this caused a tricky runtime bug because the
- _alloca function expects the size argument to be passed in a register
- and not on the stack. To fix this problem, we use inline ASM when
- compiling with gcc to invoke _alloca with the size argument loaded
- into a register.
+2007-05-06 Donal K. Fellows <dkf@users.sf.net>
-2003-01-24 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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).
- * win/tclWinDde.c (Dde_Init): clarified use of tsdPtr.
- (DdeServerProc): better refcount handling of returnPackagePtr.
+ * 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.
- * generic/tclEvent.c (Tcl_Finalize): revert finalize change on
- 2002-12-04 to correct the issue with extensions that have TSD needing
- to finalize that before they are unloaded. This issue needs further
- clarification.
+2007-05-05 Donal K. Fellows <dkf@users.sf.net>
- * tests/unixFCmd.test: only do groups check on unix
+ * 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.
-2003-01-24 Vince Darley <vincentdarley@users.sourceforge.net>
+2007-05-04 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclStringObj.c: proper fixes for Tcl_SetObjLength and
- Tcl_AttemptSetObjectLength dealing with string objects with both
- pure-unicode and normal internal representations. Previous fix didn't
- handle all cases correctly.
- * generic/tclIO.c: Add 'Tcl_GetString()' to ensure the object has a
- valid 'objPtr->bytes' field before manipulating it directly.
+ * 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.
- This fixes [Bug 635200] and [Bug 671138], but may reduce performance
- of Unicode string handling in some cases. A further patch will be
- applied to address this, once the code is known to be correct.
+2007-05-02 Kevin B. Kenny <kennykb@acm.org>
-2003-01-24 Mo DeJong <mdejong@users.sourceforge.net>
+ * 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
+ patch.
- * win/configure: Regen.
- * win/configure.in: Add test to see if alloca is undefined in
- malloc.h.
- * win/tclWin32Dll.c (TclpCheckStackSpace): Rework the SEH exception
- handler logic to avoid using the stack since alloca will modify the
- stack. This was causing a nasty bug that would set the exception
- handler to 0 because it tried to pop the previous exception handler
- off the top of the stack.
+2007-05-01 Miguel Sofer <msofer@users.sf.net>
-2003-01-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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]
- * doc/lset.n: Fixed fault in return values from lset in documentation
- examples [Bug 658463] and tidied up a bit at the same time.
+2007-05-01 Kevin B. Kenny <kennykb@acm.org>
-2003-01-21 Joe English <jenglish@users.sourceforge.net>
- * doc/namespace.n (namespace inscope): Clarified documentation
- [Patch 670110]
+ * 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.
-2003-01-21 Mo DeJong <mdejong@users.sourceforge.net>
+2007-05-01 Don Porter <dgp@users.sourceforge.net>
- * win/configure: Regen.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Set SHLIB_SUFFIX so that
- TCL_SHLIB_SUFFIX will be set to a useful value in the generated
- tclConfig.sh. Set SHLIB_LD_LIBS to "" or '${LIBS}' based on the
- --enable-shared flag. This matches the UNIX implementation.
+ * generic/tclCmdMZ.c (STR_MAP): When [string map] has a pure dict map,
+ a missing Tcl_DictObjDone() call led to a memleak. [Bug 1710709]
-2003-01-18 Jeff Hobbs <jeffh@ActiveState.com>
+2007-04-30 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclCkalloc.c: change %ud to %u as appropriate.
+ * unix/Makefile.in: add 'tclsh' dependency to install targets that
+ rely on tclsh, fixes parallel 'make install' from empty build dir.
-2003-01-17 Mo DeJong <mdejong@users.sourceforge.net>
+2007-04-30 Andreas Kupries <andreask@gactivestate.com>
- * win/tclWinDde.c (DdeServerProc): Deallocate the Tcl_Obj returned by
- ExecuteRemoteObject if it was not saved in a connection object.
+ * 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]
-2003-01-17 Mo DeJong <mdejong@users.sourceforge.net>
+2007-04-30 Kevin B. Kenny <kennykb@acm.org>
- * generic/tcl.h: Revert earlier change that defined TCL_WIDE_INT_TYPE
- as long long and TCL_LL_MODIFIER as L when compiling with mingw. This
- change ended up causing some test case failures when compiling with
- mingw.
- * generic/tclObj.c (UpdateStringOfWideInt): Describe the warning
- generated by mingw and why it needs to be ignored so that someone is
- not tempted to "fix" this problem again in the future.
+ * 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]
-2003-01-16 Vince Darley <vincentdarley@users.sourceforge.net>
+2007-04-25 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclStringObj.c: Tcl_SetObjLength fix for when the object has
- a unicode string rep. Fixes [Bug 635200]
- * tests/stringObj.test: removed 'knownBug' constraint from test 14.1
- now that this bug is fixed.
+ *** 8.5a6 TAGGED FOR RELEASE ***
- * generic/tclInt.h:
- * generic/tclBasic.c:
- * generic/tclCmdMZ.z:
- * tests/trace.test: execution and command tracing bug fixes and
- cleanup. In particular fixed [Bugs 655645, 615043, 571385]
- - fixed some subtle cleanup problems with tracing. This required
- replacing Tcl_Preserve/Tcl_Release with a more robust refCount
- approach. Solves at least one known crash caused by memory
- corruption.
- - fixed some confusion in the code between new style traces (Tcl
- 8.4) and the very limited 'Tcl_CreateTrace' which existed before.
- - made behaviour consistent with documentation (several tests even
- contradicted the documentation before).
- - fixed some minor error message details
- - added a number of new tests
-
-2003-01-16 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinSerial.c (SerialOutputProc): add casts for bytesWritten to
- allow strict compilation (no warnings).
+ * generic/tclProc.c (TclObjInterpProcCore): Only allocate objects for
+ error message generation when associated with argument names that are
+ really used. [Bug 1705778, leak K15]
- * tests/winDde.test:
- * win/tclWinDde.c (Tcl_DdeObjCmd): Prevent crash when empty service
- name is passed to 'dde eval' and goto errorNoResult in request and
- poke error cases to free up any allocated data.
-
-2003-01-16 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/tclWin32Dll.c (squelch_warnings): Squelch compiler warnings from
- SEH ASM code.
- * win/tclWinChan.c (squelch_warnings): Squelch compiler warnings from
- SEH ASM code.
- * win/tclWinDde.c: Add casts to avoid compiler warnings. Pass pointer
- to DWORD instead of int to avoid compiler warnings.
- * win/tclWinFCmd.c (squelch_warnings): Add casts and fixup decls to
- avoid compiler warnings. Squelch compiler warnings from SEH ASM code.
- * win/tclWinFile.c: Add casts and fixup decls to avoid compiler
- warnings. Remove unused variable.
- * win/tclWinNotify.c: Declare as DWORD instead of int to avoid
- compiler warning.
- * win/tclWinReg.c: Add casts to avoid compiler warning. Fix assignment
- in if expression bug.
- * win/tclWinSerial.c: Add casts to avoid compiler warnings. Remove
- unused variable.
- * win/tclWinSock.c: Add casts and fixup decls to avoid compiler
- warnings.
-
-2003-01-14 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclClock.c (FormatClock): corrected typo that incorrectly
- conditionally defined savedTZEnv and savedTimeZone.
-
-2003-01-13 Mo DeJong <mdejong@users.sourceforge.net>
-
- Fix mingw build problems and compiler warnings.
-
- * generic/tcl.h: Add if defined(__MINGW32__) check to code that sets
- the TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER.
- * generic/tclClock.c (FormatClock): Don't define savedTimeZone and
- savedTZEnv if we are not going to use them.
- * generic/tclEnv.c: Add cast to avoid warning.
- * win/tclWinChan.c: Use DWORD instead of int to avoid compiler warning
- * win/tclWinThrd.c: Only define allocLock, allocLockPtr, and dataKey
- when TCL_THREADS is defined. This avoid a compiler warning about
- unused variables.
-
-2003-01-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/README: Update msys + mingw URL, the new release includes the
- released 1.0.8 version of msys which includes a number of bug fixes.
-
-2003-01-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/tcl.m4 (SC_CONFIG_CFLAGS): Pull in addition of shell32.lib to
- LIBS_GUI that was added to the Tk tcl.m4 but never made it back into
- the Tcl version.
-
-2003-01-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * generic/tcl.h: Skip Tcl's define of CHAR, SHORT, and LONG when
- HAVE_WINNT_IGNORE_VOID is defined. This avoids a bunch of compiler
- warnings when building with Cygwin or Mingw.
- * win/configure: Regen.
- * win/configure.in: Define HAVE_WINNT_IGNORE_VOID when we detect a
- winnt.h that still defines CHAR, SHORT, and LONG when VOID has already
- been defined.
- * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst the TCL_DEFS loaded from
- tclConfig.sh so that Tcl defines can make it into the Tk Makefile.
-
-2003-01-12 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Check for typedefs like LPFN_ACCEPT in winsock2.h
- and define HAVE_NO_LPFN_DECLS if not found.
- * win/tclWinSock.c: Define LPFN_* typedefs if HAVE_NO_LPFN_DECLS is
- defined. This fixes the build under Mingw and Cygwin, it was broken by
- the changes made on 2002-11-26.
-
-2003-01-10 Vince Darley <vincentdarley@users.sourceforge.net>
+2007-04-25 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclIOUtil.c:
- * win/tclWinInt.h:
- * win/tclWinInit.c: fix to new WinTcl crash on exit with vfs,
- introduced on 2002-12-06. Encodings must be cleaned up after the
- filesystem.
+ * 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]
- * win/makefile.vc: fix to minor VC++ 5.2 syntax problem
+2007-04-25 Don Porter <dgp@users.sourceforge.net>
-2003-01-09 Don Porter <dgp@users.sourceforge.net>
+ * 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/tclCompCmds.c (TclCompilerReturnCmd): Corrected off-by-one
- problem with recent commit. [Bug 633204]
+2007-04-25 Daniel Steffen <das@users.sourceforge.net>
-2003-01-09 Vince Darley <vincentdarley@users.sourceforge.net>
+ * unix/Makefile.in (dist): add macosx/*.xcconfig files to src dist;
+ copy license.terms to dist macosx dir; fix autoheader bits.
- * generic/tclFileName.c: remove unused variable 'macSpecialCase' [Bug
- 664749]
+2007-04-24 Miguel Sofer <msofer@users.sf.net>
- * generic/tclIOUtil.c:
- * generic/tclInt.h:
- * unix/tclUnixFile.c:
- * mac/tclMacFile.c:
- * win/tclWinFile.c:
- * win/tclWinInt.h:
- * win/tclWin32Dll.c:
- * tests/cmdAH.test: fix to non-ascii chars in paths when setting mtime
- and atime through 'file (a|m)time $path $time'. [Bug 634151]
-
-2003-01-08 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExprFloatError): Use the IS_NAN macro for
- greater clarity of code.
+ * 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.
-2003-01-07 Don Porter <dgp@users.sourceforge.net>
+2007-04-24 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclCompCmds.c (TclCompileReturnCmd):
- * tests/compile.test: Corrects failure of bytecompiled [catch
- {return}] to have result TCL_RETURN (not TCL_OK) [Bug 633204]. This
- patch is a workaround for 8.4.X. A new opcode INST_RETURN is a better
- long term solution for 8.5 and later.
+ * 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]
-2003-01-04 David Gravereaux <davygrvy@pobox.com>
+2007-04-24 Kevin B. Kenny <kennykb@acm.org>
- * win/makefile.vc:
- * win/rules.vc: Fixed INSTALLDIR macro problem that blanked itself by
- accident causing the install target to put the tree at the root of the
- drive built on. Whoops..
-
- Renamed the 'linkexten' option to be 'staticpkg'. Added 'thrdalloc' to
- allow the switching _on_ of the thread allocator. Under testing, I
- found it not to be benificial under windows for the purpose of the
- application I was using it for. It was more important for this app
- that resources for tcl threads be returned to the system rather than
- saved/moved to the global recycler. Be extra clean or extra fast for
- the default threaded build? Let's move to clean and allow it to be
- switched on for users who find it benificial for their use of threads.
-
-2002-12-18 David Gravereaux <davygrvy@pobox.com>
+ * 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]
- * win/makefile.vc: some uses of xcopy swapped to the @$(CPY) macro.
- Reported by Joe Mistachkin <joe@mistachkin.com>.
+2007-04-24 Jeff Hobbs <jeffh@ActiveState.com>
-2002-12-17 Jeff Hobbs <jeffh@ActiveState.com>
+ * unix/Makefile.in (dist): add platform library package to src dist
- * generic/tclNotify.c (TclFinalizeNotifier, Tcl_SetServiceMode):
- (Tcl_ThreadAlert): Check that the stub functions are non-NULL before
- calling them. They could be set to NULL by Tcl_SetNotifier.
+2007-04-24 Don Porter <dgp@users.sourceforge.net>
-2002-12-16 David Gravereaux <davygrvy@pobox.com>
+ * generic/tclCompExpr.c (ParseExpr): Memory leak in error case; the
+ literal Tcl_Obj was not getting freed. [Bug 1705778, leak #1 (new)]
- * generic/tclPipe.c (TclCleanupChildren):
- * tests/winPipe.test:
- * win/tclWinPipe.c (Tcl_WaitPid):
- * win/tclWinTest.c: Gave Tcl_WaitPid the ability to return a Win32
- exception code translated into a posix style SIG*. This allows [close]
- to report "CHILDKILLED" without the meaning getting lost in a
- truncated exit code. In TclCleanupChildren(), TclpGetPid() had to get
- moved to before Tcl_WaitPid() as the the handle is removed from the
- list taking away the ability to get the process id after the wait is
- done. This shouldn't effect the unix implimentaion unless waitpid is
- called with a pid of zero, meaning "any". I don't think it is..
+ * 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]
-2002-12-13 Don Porter <dgp@users.sourceforge.net>
+2007-04-24 Kevin B. Kenny <kennykb@acm.org>
- * unix/configure.in: Updated configure of CVS snapshots to reflect
- * win/configure.in: the 8.4.1.1 patchlevel.
+ * 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])
- * unix/configure: autoconf
- * win/configure autoconf
+2007-04-23 Daniel Steffen <das@users.sourceforge.net>
-2002-12-11 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclCkalloc.c: fix warnings from gcc build configured with
+ * generic/tclCompile.c: --enable-64bit --enable-symbols=all.
+ * generic/tclExecute.c:
- * generic/tclProc.c (ProcessProcResultCode): Fix failure to propagate
- negative return codes up the call stack. [Bug 647307]
- * tests/proc.test (proc-6.1): Test for Bug 647307
+ * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open()
+ * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier.
- * generic/tclParseExpr.c (TclParseInteger): Return 1 for the
- string "0x" (recognize leading "0" as an integer). [Bug 648441].
- * tests/parseExpr.test (parseExpr-19.1): Test for Bug 648441.
+ * unix/tclLoadDyld.c (TclpLoadMemory): fix (void*) arithmetic.
-2002-12-09 Jeff Hobbs <jeffh@ActiveState.com>
+ * macosx/Tcl-Common.xcconfig: enable more warnings.
- * win/tclWinThrd.c (TclpMasterUnlock):
- * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must
- exist and be called unconditional of TCL_THREADS. [Bug 651139]
+ * 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.
-2002-12-08 David Gravereaux <davygrvy@pobox.com>
+ * macosx/tclMacOSXNotify.c: fix warnings.
- * win/tclWinSock.c (SocketThreadExitHandler, InitSockets): Check that
- the tsdPtr is valid before dereferencing as we call it from the exit
- handler, too [Bug 650353]. Another WSAStartup() loaded version
- comparison byte swap issue fixed. Although 0x0101 byte swapped is
- still 0x0101, properly claiming which is major/minor is more correct.
+ * macosx/tclMacOSXFCmd.c: const fixes.
-2002-12-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * macosx/Tcl-Common.xcconfig: fix whitespace.
+ * macosx/Tcl-Debug.xcconfig:
+ * macosx/Tcl-Release.xcconfig:
+ * macosx/README:
- * generic/tclStubInit.c: regen
- * generic/tclIntPlatDecls.h: regen
- * generic/tclInt.decls: added TclWinResetInterface
+ * 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:
- * win/tclWin32Dll.c (TclWinResetInterfaces):
- * win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup):
- add exit handler that resets the encoding information to a state where
- we can reuse Tcl. Following these changes, it is possible to reuse Tcl
- (following Tcl_FindExecutable or Tcl_CreateInterp) following a
- Tcl_Finalize.
+ * unix/configure.in: install license.terms into Tcl.framework.
+ * unix/configure: autoconf-2.59
- * generic/tclIOUtil.c (TclFinalizeFilesystem): reset statics to their
- original values on finalize to allow reuse of the library.
+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.
+
+2007-04-19 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
+
+ * generic/regcomp.c, generic/regc_cvec.c, generic/regc_lex.c,
+ * generic/regc_locale.c: Improve the const-correctness of the RE
+ compiler.
-2002-12-04 David Gravereaux <davygrvy@pobox.com>
+2007-04-18 Miguel Sofer <msofer@users.sf.net>
- * win/tclWinPipe.c: reverted back to -r1.27 due to numerous test
- failures that need to be resolved first. The idea was good, but the
- details aren't.
+ * 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.
-2002-12-04 David Gravereaux <davygrvy@pobox.com>
+ * 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)
- * win/tclWinPipe.c (Tcl_WaitPid): When a process exits with an
- exception, pass this notice on to the caller with a SIG* code rather
- than truncating the exit code and missing the meaning. This allows
- TclCleanupChildren() to report "CHILDKILLED".
+ * generic/tclExecute.c: slight changes in Tcl_Obj management.
- This has a different behavior than unix in that closing the read pipe
- to a process sends the SIGPIPE signal which is returned as a SIGPIPE
- exit status. On windows, we send the process a CTRL_BREAK_EVENT and
- get back a CONTROL_C_EXIT which is documented to mean a SIGINT which
- seems wrong as a system, but is the correct exit status.
+2007-04-17 Kevin B. Kenny <kennykb@acm.org>
-2002-12-04 Vince Darley <vincentdarley@users.sourceforge.net>
+ * 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]
- * generic/tclIOUtil.c: fix to redirected 'load' in virtual filesystem
- for some Unix systems.
+2007-04-17 Miguel Sofer <msofer@users.sf.net>
- * generic/tclEvent.c: the filesystem must be cleaned up before the
- encoding subsystem because it needs access to encodings. Fixes crash
- on exit observed in embedded applications.
+ * generic/tclExecute.c: fixed checkInterp logic [Bug 1702212]
- * generic/tclTestObj.c: patch omitted from previous change of
- 2002-11-13
+2007-04-16 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2002-12-03 Jeff Hobbs <jeffh@ActiveState.com>
+ * various (including generic/tclTest.c): Complete the purge of K&R
+ function definitions from manually-written code.
- * generic/tclStubLib.c (Tcl_InitStubs): prevent the cached check of
- tclStubsPtr to allow for repeated load/unload of the Tcl dll by
- hosting apps. [Bug 615304]
+2007-04-15 Kevin B. Kenny <kennykb@acm.org>
-2002-12-03 David Gravereaux <davygrvy@pobox.com>
+ * 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.
- * win/tclAppInit.c (sigHandler): Protect from trying to close a NULL
- handle.
+2007-04-14 Miguel Sofer <msofer@users.sf.net>
- * win/tclWinPipe.c (PipeClose2Proc, TclpCreateProcess): Send a real
- Win32 signal (CTRL_C_EVENT) when the read channel is brought down to
- alert the child to close on its side. Start the process with
- CREATE_NEW_PROCESS_GROUP to allow the ability to send these signals.
- The following test case now brings down the child without the use of
- an external [kill] command.
+ * generic/tclExecute.c: removed some code at INST_EXPAND_SKTOP that
+ duplicates functionality already present at checkForCatch.
- % set p [open "|[info name]" w+]
- file8d5380
- % pid $p
- 2876
- % close $p <- now doesn't block in Tcl_WaitPid()
- %
+2007-04-12 Miguel Sofer <msofer@users.sf.net>
- * win/tclWinPipe.c (PipeClose2Proc): Changed CTRL_C_EVENT to
- CTRL_BREAK_EVENT as it can't be ignored by the child and proved to
- work on [open "|netstat 1" w+] where CTRL_C_EVENT didn't.
+ * 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).
-2002-11-27 David Gravereaux <davygrvy@pobox.com>
+2007-04-11 Miguel Sofer <msofer@users.sf.net>
- * win/tclWinPort.h: Don't turn off winsock prototypes! TclX didn't
- like it. Even though the core doesn't use the prototypes, do offer
- them.
+ * generic/tclCompCmds.c: moved all exceptDepth management to the
+ macros - the decreasing half was managed by hand.
- * win/tclWinSock.c: Removed shutdown() from the function table as it
- wasn't referenced anywhere and cleaned-up some casting that that
- wasn't needed.
+2007-04-10 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * win/tclWinSock.c: WSAStartup() loaded version comparison error which
- resulted in 2.0 looking less than 1.1.
+ * 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).
- * win/tclWinChan.c (Tcl_MakeFileChannel): return of DuplicateHandle()
- incorrectly used [Bug 618852].
+2007-04-08 Miguel Sofer <msofer@users.sf.net>
-2002-11-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclCompile (tclInstructionTable): Fixed bugs in description
+ of dict instructions.
- * generic/tclEncoding.c (TclFinalizeEncodingSubsystem): properly
- cleanup all encodings by using Tcl_FirstHashEntry in the while loop.
+2007-04-07 Miguel Sofer <msofer@users.sf.net>
- * unix/Makefile.in (valgrind): add simple valgrind target
+ * generic/tclCompile (tclInstructionTable): Fixed bug in description
+ of INST_START_COMMAND.
- * tests/exec.test: unset path var to allow singleproc testing
+ * generic/tclExecute.c (TEBC): Small code reduction.
- * generic/tclInterp.c (AliasCreate): preserve/release interps to
- prevent possible FMR error in bad alias cases.
+2007-04-06 Miguel Sofer <msofer@users.sf.net>
-2002-11-26 David Gravereaux <davygrvy@pobox.com>
+ * 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).
- * win/tclWinPort.h:
- * win/tclWinSock.c: This patch does two things:
+2007-04-03 Miguel Sofer <msofer@users.sf.net>
- 1) Cleans-up the winsock typedefs by using the typedefs provided by
- winsock2.h. This has no effect on how winsock is initialized; just
- makes the source code easier to read. [Patch 561305, 561301]
+ * generic/tclExecute.c: INST_INVOKE optimisation. [Patch 1693802]
- 2) Revamps how the socket message handler thread is brought up and
- down to allow for cleaner exits without the use of TerminateThread().
- TerminateThread is evil. No attempt has been made to resolve [Bug
- 593810] which may need a new channel driver version for adding a
- registering function within the transfered thread to init the handler
- thread. IOW, initialization of the TSD structure is getting bypassed
- through the thread extension's [thread::transfer] command.
+2007-04-03 Don Porter <dgp@users.sourceforge.net>
-2002-11-26 David Gravereaux <davygrvy@pobox.com>
+ * generic/tclNamesp.c: Revised ErrorCodeRead and ErrorInfoRead trace
+ routines so they guarantee the ::errorCode and ::errorInfo variable
+ always appear to exist. [Bug 1693252]
- * win/tclWinConsole.c:
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c:
- * win/tclWinThrd.c:
- * win/tclWinTime.c: General cleanup of all worker threads used by the
- channel drivers. Eliminates the normal case where the worker thread is
- terminated ('cept the winsock one). Instead, use kernel events to
- signal a clean exit. Only when the worker thread is blocked on an I/O
- call is the thread terminated. Essentially, this makes all other
- channel worker threads behave like the PipeReaderThread() function for
- it's cleaner exit behavior. This appears to fix [Bug 597924] but needs
- 3rd party confirmation to close the issue.
+2007-04-03 Miguel Sofer <msofer@users.sf.net>
-2002-11-26 Mo DeJong <mdejong@users.sourceforge.net>
+ * generic/tclInt.decls: Moved TclGetNamespaceFromObj() to the
+ * generic/tclInt.h: internal stubs table; regen.
+ * generic/tclIntDecls.h:
+ * generic/tclStubInit.c:
- * win/README: Update msys build env URL. This release #4 build both
- tcl and tk without problems.
+2007-04-02 Miguel Sofer <msofer@users.sf.net>
-2002-11-22 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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:
- * library/init.tcl: code cleanup to reduce use of
- * library/opt/optparse.tcl: string compare
+2007-04-02 Don Porter <dgp@users.sourceforge.net>
- * tests/interp.test: interp-14.4
- * generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault when
- creating an alias command over the interp name. [Bug 641195]
+ * 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/tclIndexObj.c:
+ * generic/tclInterp.c:
+ * generic/tclNamesp.c:
+ * generic/tclTrace.c:
+ * unix/tclUnixPipe.c:
-2002-11-18 Jeff Hobbs <jeffh@ActiveState.com>
+2007-04-01 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclUtil.c (SetEndOffsetFromAny): handle integer offset
- after the "end-" prefix.
+ * 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.)
- * generic/get.test:
- * generic/string.test:
- * generic/tclObj.c (SetIntFromAny, SetWideIntFromAny):
- * generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign handling
- before calling strtoul(l). [Bug 634856]
+2007-03-30 Don Porter <dgp@users.sourceforge.net>
-2002-11-18 David Gravereaux <davygrvy@pobox.com>
+ * 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.
- * win/tclWinThrd.c (Tcl_CreateThread/TclpThreadExit): Fixed improper
- compiler macros that missed the VC++ compiler. This resulted in VC++
- builds using CreateThread()/ExitThread() in place of the proper
- _beginthreadex()/_endthreadex(). This was a large error and am
- surprised I missed seeing it earlier.
+ * generic/tclCmdMZ.c: Revised [string to* $s $first $last]
+ implementation to reduce number of allocs/copies.
-2002-11-13 Jeff Hobbs <jeffh@ActiveState.com>
+ * tests/string.test: More [string reverse] tests.
- * generic/regexpComp.test: added tests 22.*
- * generic/tclCompCmds.c (TclCompileRegexpCmd): add left and right
- anchoring (^ and $) recognition and check starting or ending .* to
- extend the number of REs that can be compiled to string match or
- string equal.
+2007-03-30 Miguel Sofer <msofer@users.sf.net>
-2002-11-13 Vince Darley <vincentdarley@users.sourceforge.net>
+ * generic/tclExecute.c: optimise the lookup of elements of indexed
+ arrays.
- * generic/tclCmdMZ.c:
- * tests/trace.test: applied patch from Hemang Levana to fix [Bug
- 615043] in execution traces with 'return -code error'.
+2007-03-29 Miguel Sofer <msofer@users.sf.net>
- * generic/tclTestObj.c:
- * tests/stringObj.test: added 'knownBug' test for [Bug 635200]
- * generic/tclStringObj.c: corrected typos in comments
+ * 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.
- * generic/tclFileName.c:
- * tests/fileName.test: applied patch for bug reported against tclvfs
- concerning handling of Windows serial ports like 'com1', 'lpt3' by the
- virtual filesystem code.
+2007-03-28 Don Porter <dgp@users.sourceforge.net>
- * doc/RegExp.3: clarification of the 'extendMatch' return values.
+ * generic/tclCmdMZ.c (STR_REVERSE): Implement the actual [string
+ reverse] command in terms of the new TclStringObjReverse() routine.
-2002-11-11 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * generic/tclUtil.c (Tcl_Backslash): use TclUtfToUniChar.
- (Tcl_StringCaseMatch): use TclUtfToUniChar and add further
- optimizations for the one-byte/char case.
+2007-03-27 Don Porter <dgp@users.sourceforge.net>
- * generic/tclUtf.c: make use of TclUtfToUniChar macro throughout the
- functions, and add extra optimization to Tcl_NumUtfChars for
- one-byte/char case.
+ * generic/tclCmdMZ.c (STR_MAP): Replace ckalloc calls with
+ TclStackAlloc calls.
- * generic/tclVar.c (DisposeTraceResult, CallVarTraces): add proper
- static declarations.
+2007-03-24 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
- * generic/tclStringObj.c (Tcl_GetCharLength): optimize for the ascii
- char case.
- (Tcl_GetUniChar): remove unnecessary use of Tcl_UtfToUniChar.
- (FillUnicodeRep): Use TclUtfToUniChar.
+ * 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.
- * generic/tclHash.c (HashStringKey): move string++ lower to save an
- instruction.
+2007-03-23 Miguel Sofer <msofer@users.sf.net>
- * generic/tclExecute.c (TclExecuteByteCode): improve INST_STR_CMP to
- use memcmp in the one-byte/char case, also use direct index for
- INST_STR_INDEX in that case.
+ * generic/tclBasic.c (DeleteInterpProc): pop the root frame pointer
+ before deleting the global namespace [Bug 1658572]
- * generic/tclEncoding.c (UtfToUtfProc, UtfToUnicodeProc):
- (TableFromUtfProc, EscapeFromUtfProc): Use TclUtfToUniChar.
- (UnicodeToUtfProc, TableToUtfProc): add 1-byte char optimizations
- for Tcl_UniCharToUtf call. These improve encoded channel conversion
- speeds by up to 20%.
+2007-03-23 Kevin B. Kenny <kennykb@acm.org>
- * tests/split.test: added 1-char string split tests
- * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar. Also
- added a special case for single-ascii-char splits.
- (Tcl_StringObjCmd): Use TclUtfToUniChar. For STR_RANGE, support
- getting ranges of ByteArrays (reverts change from 2000-05-26).
- (TraceExecutionProc) add proper static declaration.
+ * win/Makefile.in: Added code to keep a Cygwin path name from leaking
+ into LIBRARY_DIR when doing 'make test' or 'make runtest'.
- * generic/tclInt.h: add macro version of Tcl_UtfToUniChar
- (TclUtfToUniChar) that does the one-byte utf-char check without
- calling Tcl_UtfToUniChar, for use by the core. This brings notable
- speedups for primarily ascii string handling.
+2007-03-22 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h (TCL_PATCH_LEVEL): bump to 8.4.1.1 for patchlevel
- only. This interim number will only be reflected by [info patchlevel]
+ * 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.
-2002-11-11 Kevin Kenny <kennykb@acm.org>
+ * 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.
- * doc/Tcl.n: Corrected indentation of the new language. Oops.
+2007-03-21 Don Porter <dgp@users.sourceforge.net>
-2002-11-10 Kevin Kenny <kennykb@acm.org>
+ * 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:
- * doc/Tcl.n: Added language to the Endekalogue to make it clear that
- substitutions always take place from left to right. [Bug 635644]
+2007-03-20 Don Porter <dgp@users.sourceforge.net>
-2002-11-06 Mo DeJong <mdejong@users.sourceforge.net>
+ * generic/tclEnv.c: Some more ckalloc -> ckrealloc replacements.
+ * generic/tclLink.c:
- * changes: Note TclInExit TclInThreadExit changes.
- * generic/tclEvent.c (TclInExit, TclInThreadExit):
- Split out functionality of TclInExit to make it clear which one should
- be called in each situation.
- * generic/tclInt.decls: Declare TclInThreadExit.
- * generic/tclIntDecls.h: Regen.
- * generic/tclStubInit.c: Regen.
- * mac/tclMacChan.c (StdIOClose):
- * unix/tclUnixChan.c (FileCloseProc):
- * win/tclWinChan.c (FileCloseProc):
- * win/tclWinConsole.c (ConsoleCloseProc):
- * win/tclWinPipe.c (TclpCloseFile):
- * win/tclWinSerial.c (SerialCloseProc): Invoke the new TclInThreadExit
- method instead of TclInExit.
+2007-03-20 Kevin B. Kenny <kennykb@acm.org>
-2002-11-06 Mo DeJong <mdejong@users.sourceforge.net>
+ * 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."
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Generate a fatal configure error if
- no ar program can be found on the path. [Bug 582039]
- * win/configure: Regen.
- * win/configure.in: Check that AR, RANLIB, and RC are found on the
- path when building with gcc.
+ * 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.
-2002-11-03 David Gravereaux <davygrvy@pobox.com>
+ * 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]
- * win/tclAppInit.c: Calls Registry_Init() and Dde_Init() when
- STATIC_BUILD and TCL_USE_STATIC_PACKAGES macros are set.
+2007-03-19 Don Porter <dgp@users.sourceforge.net>
- * win/makefile.vc:
- * win/rules.vc: linkexten option now sets the TCL_USE_STATIC_PACKAGES
- macro which also adds the registry and dde object files to the link
- of the shell. [Patch 479697] Also factored some additional macros
- that will be helpful for extension authors. Version grepping of tcl.h
- will need to be added to complete this.
+ * generic/tclCompile.c: Revise the various expansion routines for
+ CompileEnv fields to use ckrealloc() where appropriate.
- * win/buildall.vc.bat: Added more descriptive commentary.
+ * generic/tclBinary.c (Tcl_SetByteArrayLength): Replaced ckalloc() /
+ memcpy() sequence with ckrealloc() call.
-2002-11-01 David Gravereaux <davygrvy@pobox.com>
+ * 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.
- * win/tclWinReg.c: Changed the Tcl_PkgProvide() line to declare the
- registry extension at version 1.1 from 1.0.
+2007-03-19 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-10-31 Andreas Kupries <andreask@activestate.com>
+ * 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.
- * library/word.tcl: Changed $tcl_platform to $::tcl_platform to avoid
- possible scope trouble.
+2007-03-17 Kevin B. Kenny <kennykb@acm.org>
-2002-10-29 Vince Darley <vincentdarley@users.sourceforge.net>
+ * 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.
- * win/tclWinInt.h:
- * win/tclWin32Dll.c: added comments about certain NULL function
- pointers which will be filled in when Tcl_FindExecutable is called, so
- that users don't report invalid bugs on this topic. (No code changes
- at all).
+2007-03-15 Mo DeJong <mdejong@users.sourceforge.net>
-2002-10-29 Daniel Steffen <das@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.
- * unix/tclLoadDyld.c (TclpFindSymbol): pass all dyld error messages
- upstream [Bug 627546].
+2007-03-15 Mo DeJong <mdejong@users.sourceforge.net>
-2002-10-28 Andreas Kupries <andreask@activestate.com>
+ * win/Makefile.in: Fully qualify LIBRARY_DIR so that `make test` does
+ not depend on working dir.
- * library/dde/pkgIndex.tcl:
- * library/reg/pkgIndex.tcl: Changed the hardwired debug suffix (d) to
- the correct suffix (g).
+2007-03-15 Mo DeJong <mdejong@users.sourceforge.net>
-2002-10-28 Don Porter <dgp@users.sourceforge.net>
+ * tests/parse.test: Add two backslash newline parse tests.
- * library/auto.tcl: Converted the Mac-specific [package unknown]
- * library/init.tcl: behavior to use a chaining mechanism to extend
- * library/package.tcl: the default [tclPkgUnknown]. [Bug 627660]
- * library/tclIndex: [Patch 624509] (steffen)
+2007-03-12 Don Porter <dgp@users.sourceforge.net>
-2002-10-26 David Gravereaux <davygrvy@pobox.com>
+ * 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]
- * win/makefile.vc: xcopy on NT 4.0 doesn't support the /Y switch
- (overwrite). Added logic to handle this. [Bug 618019]
+ * 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]
-2002-10-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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/tclInt.h: Removed definitions of obsolete HistoryEvent and
- HistoryRev structures (the history mechanism has been written in Tcl
- for some time now).
+ * 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]
-2002-10-22 Jeff Hobbs <jeffh@ActiveState.com>
+2007-03-12 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- *** 8.4.1 TAGGED FOR RELEASE ***
+ * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fix problems with declaration
+ positioning and memory leaks. [Bug 1679072]
- * changes: updated for 8.4.1 release
+2007-03-11 Donal K. Fellows <dkf@users.sf.net>
- * win/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst.
- * win/configure: regen
- * win/configure.in: removed SC_ENABLE_MEMDEBUG call
- * win/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent
- SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now.
+ * 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]
-2002-10-22 Daniel Steffen <das@users.sourceforge.net>
+2007-03-10 Miguel Sofer <msofer@users.sf.net>
- * library/auto.tcl (tcl_findLibrary):
- * library/package.tcl (tclPkgUnknown): on macosx, search inside the
- Resources/Scripts subdirectory of any potential package directory
- * macosx/Tcl.pbproj/project.pbxproj: add standard Frameworks dirs to
- TCL_PACKAGE_PATH make argument.
- * unix/tclUnixInit.c (TclpSetVariables): on macosx, add embedded
- framework dirs to tcl_pkgPath: @executable_path/../Frameworks and
- @executable_path/../PrivateFrameworks (if they exist), as well as the
- dirs in DYLD_FRAMEWORK_PATH (if set). [Patch 624509] use standard
- MAXPATHLEN instead of literal 1024
+ * generic/tclCmdIL (Tcl_LsortObjCmd): changed fix to [Bug 1675116] to
+ use the cheaper TclListObjCopy() instead of Tcl_DuplicateObj().
-2002-10-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-03-09 Andreas Kupries <andreask@activestate.com>
- * doc/StringObj.3, doc/Object.3: Documented that Tcl_Obj's
- standard string form is a modified UTF-8; apparently, this was not
- mentioned anywhere in the main docs, and lead to [Bug 624919].
+ * 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.
-2002-10-21 Daniel Steffen <das@users.sourceforge.net>
+2007-03-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * macosx/Tcl.pbproj/project.pbxproj: bumped version to 8.4.1
- * generic/tcl.h: Added reminder comment to edit
- macosx/Tcl.pbproj/project.pbxproj when version number changes.
+ * 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]
-2002-10-18 Jeff Hobbs <jeffh@ActiveState.com>
+2007-03-09 Kevin B. Kenny <kennykb@acm.org>
- * library/reg/pkgIndex.tcl:
- * win/configure:
- * win/configure.in:
- * win/Makefile.in:
- * win/makefile.vc:
- * win/makefile.bc: Updated to reg1.1
+ * 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.
- * doc/registry.n: Added support for broadcasting changes to the
- * tests/registry.test: registry Environment. Noted proper code in ths
- * win/tclWinReg.c: docs. [Patch 625453]
+2007-03-08 Don Porter <dgp@users.sourceforge.net>
- * unix/Makefile.in (dist): add any mac/tcl*.sea.hqx files
+ * 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.
-2002-10-17 Don Porter <dgp@users.sourceforge.net>
+2007-03-08 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclVar.c: Fixed code that check for proper # of args to
- * tests/var.test: [array names]. Added test. [Bug 624755]
+ * 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.
-2002-10-16 Jeff Hobbs <jeffh@ActiveState.com>
+2007-03-08 Kevin B. Kenny <kennykb@acm.org>
- * win/configure: add workaround for cygwin windres
- * win/tcl.m4 (SC_CONFIG_CFLAGS): problem. [Patch 624010] (howell)
+ * 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.
-2002-10-15 Jeff Hobbs <jeffh@ActiveState.com>
+2007-03-07 Daniel Steffen <das@users.sourceforge.net>
- * README: added archives.tcl.tk note
+ * macosx/tclMacOSXNotify.c: add spinlock debugging and sanity checks.
- * unix/configure:
- * unix/tcl.m4: Correct AIX-5 ppc build flags. Correct HP 11 64-bit gcc
- building. [Patch 601051] (martin)
+ * 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.
-2002-10-15 Vince Darley <vincentdarley@users.sourceforge.net>
+ * unix/tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in macosx-version-min check
+ * unix/configure: autoconf-2.59
- * generic/tclCmdMZ.c:
- * tests/trace.test: applied patch from Hemang Levana to fix [Bug
- 615043] in execution traces with idle tasks firing.
+2007-03-07 Don Porter <dgp@users.sourceforge.net>
-2002-10-14 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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/tclEnv.c (Tcl_PutEnv): correct possible mem leak.
- [Patch 623269] (brouwers)
+ * generic/tclObj.c (Tcl_AppendAllObjTypes): Converted to simpler
+ list validity test.
-2002-10-11 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-03-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tcl.h: Need a different strategy through the maze of
- #defines to let people building with Cygwin build correctly. Also
- made some comments less misleading...
+ * generic/tclRegexp.c (TclRegAbout): Generate information about a
+ regexp as a Tcl_Obj instead of as a string, which is more efficient.
-2002-10-10 Jeff Hobbs <jeffh@ActiveState.com>
+2007-03-07 Kevin B. Kenny <kennykb@acm.org>
- * README: fixed minor nits [Bug 607776] (virden)
+ * 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.
- * win/configure:
- * win/tcl.m4: enable USE_THREAD_ALLOC (new threaded allocator) by
- default in cygwin configure on Windows.
+2007-03-05 Andreas Kupries <andreask@activestate.com>
-2002-10-10 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * doc/Tcl.n: Clarified that namespace separators are legal in
- the variable names during $-subtitution. [Bug 615139]
+2007-03-03 Donal K. Fellows <dkf@users.sf.net>
- * doc/regexp.n: Typo correction. Thanks Ronnie Brunner. [Bug 606826]
+ * generic/tclLink.c (LinkedVar): Added macro to conceal at least some
+ of the pointer hackery.
-2002-10-10 Vince Darley <vincentdarley@users.sourceforge.net>
+2007-03-02 Don Porter <dgp@users.sourceforge.net>
- * unix/tclLoadAout.c
- * unix/tclLoadDl.c
- * unix/tclLoadDld.c
- * unix/tclLoadDyld.c
- * unix/tclLoadNext.c
- * unix/tclLoadOSF.c
- * unix/tclLoadShl.c
- * win/tclWinLoad.c: allow either full paths or simply dll names to be
- specified when loading files (the latter will be looked up by the OS
- on your PATH/LD_LIBRARY_PATH as appropriate). Fixes [Bug 611108]
+ * generic/tclCmdIL.c (Tcl_LreverseObjCmd): Added missing
+ TclInvalidateStringRep() call when we directly manipulate the intrep
+ of an unshared "list" Tcl_Obj. [Bug 1672585]
-2002-10-09 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclCmdIL.c (Tcl_JoinObjCmd): Revised [join] implementation
+ to append Tcl_Obj's instead of strings. [RFE 1669420]
- * unix/README: doc'ed --enable-symbols options.
- * unix/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst.
- * unix/configure: regen
- * unix/configure.in: removed SC_ENABLE_MEMDEBUG call
- * unix/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent
- SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now.
+ * generic/tclCmdIL.c (Info*Cmd): Code simplifications and
+ optimizations.
-2002-10-09 Kevin B. Kenny <kennykb@acm.org>
+2007-03-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * win/tclWinTime.c: Added code to set an exit handler that terminates
- the thread that calibrates the performance counter, so that the thread
- won't outlive unloading the Tcl DLL. [Bug 620735].
+ * 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).
-2002-10-09 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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]
- * doc/binary.n: More clarification of [binary scan]'s behaviour.
+2007-03-01 Don Porter <dgp@users.sourceforge.net>
-2002-10-09 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclCmdIL.c (Tcl_LinsertObjCmd): Code simplifications
+ and optimizations.
- * generic/tclIntDecls.h: fixed botched regen.
+ * generic/tclCmdIL.c (Tcl_LreplaceObjCmd): Code simplifications
+ and optimizations.
-2002-10-09 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclCmdIL.c (Tcl_LrangeObjCmd): Rewrite in the same
+ spirit; avoid shimmer effects rather than react to them.
- * generic/tclInt.decls: made TclSetPreInitScript() declaration
- generic as it is used on mac & aqua as well.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c: regen.
- * generic/tclCompile.h: added prototype for TclCompileVariableCmd.
+ * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stop throwing away
+ * tests/foreach.test (foreach-1.14): useful error information when
+ loop variable sets fail.
- * mac/tclMacPort.h: removed incorrect <fcntl.h> definitions and
- obsolete <stat.h> definitions.
- * mac/tclMacChan.c: removed obsolete GetOpenMode() and replaced
- associated constants with the <fcntl.h> analogues (they existing defs
- were inconsistent with <fcntl.h> which was causing havoc when
- Tcl_GetOpenMode was used instead of private GetOpenMode).
+ * 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.
- * mac/tclMacFCmd.c: removed GenerateUniqueName(), use equivalent (and
- identically named) routine from MoreFiles instead.
+ * 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.
- * mac/tclMacLoad.c: CONSTification, fixes to Vince's last changes.
+2007-03-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * mac/tclMacFile.c:
- * mac/tclMacTest.c:
- * mac/tclMacUnix.c: CONSTification.
+ * 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]
- * mac/tclMacOSA.c: CONSTification, sprintf fixes, UH 3.4.x changes;
- fix for missing autoname token from TclOSACompileCmd. (bdesgraupes)
- * mac/AppleScript.html(AppleScript delete): doc fix. (bdesgraupes)
+2007-02-26 Andreas Kupries <andreask@activestate.com>
- * mac/tcltkMacBuildSupport.sea.hqx: updated MoreFiles to 1.5.3,
- updated build instructions for 8.4.
- * mac/tclMacProjects.sea.hqx: rebuilt archive.
+ * generic/tclIORChan.c (FreeReflectedChannel): Added the missing
+ refcount release between NewRC and FreeRC for the channel handle
+ object, spotted by Don Porter. [Bug 1667990]
-2002-10-09 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-02-26 Don Porter <dgp@users.sourceforge.net>
- * doc/Alloc.3: Added a note to mention that attempting to allocate a
- zero-length block can return NULL. [Tk Bug 619544]
+ * 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.
-2002-10-04 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-02-24 Don Porter <dgp@users.sourceforge.net>
- * doc/binary.n: Doc improvements [Patch 616480]
+ * 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.
- * tests/fCmd.test, tests/winFCmd.test:
- * tools/eolFix.tcl, tools/genStubs.tcl: [file exist] -> [file exists]
- Thanks to David Welton.
+ * 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.
-2002-10-03 Don Porter <dgp@users.sourceforge.net>
+2007-02-22 Andreas Kupries <andreask@activestate.com>
- * doc/tcltest.n: fixed typo [Bug 618018]. Thanks to "JJM".
+ * 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.
-2002-10-03 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-02-20 Jan Nijtmans <nijtmans@users.sf.net>
- * tools/man2help2.tcl:
- * tests/http.test, tests/httpd, tests/httpold.test:
- * tests/env.test, tests/binary.test, tests/autoMkindex.test:
- * library/init.tcl, library/http/http.tcl: [info exist] should really
- be [info exists]. [Bug 602566]
+ * 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.
- * doc/lsearch.n: Better specification of what happens when -sorted is
- mixed with other options. [Bug 617816]
+2007-02-20 Don Porter <dgp@users.sourceforge.net>
-2002-10-01 Jeff Hobbs <jeffh@ActiveState.com>
+ * doc/tcltest.n: Typo fix. [Bug 1663539]
- * generic/tclProc.c (TclCreateProc): mask out VAR_UNDEFINED for
- precompiled locals to support 8.3 precompiled code.
- (Tcl_ProcObjCmd): correct 2002-09-26 fix to look for tclProcBodyType.
+2007-02-20 Pat Thoyts <patthoyts@users.sourceforge.net>
-2002-10-01 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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.
- * doc/socket.n: Mentioned that ports may be specified as serivce names
- as well as integers. [Bug 616843]
+2007-02-19 Jeff Hobbs <jeffh@ActiveState.com>
-2002-09-30 Jeff Hobbs <jeffh@ActiveState.com>
+ * unix/tcl.m4: use SHLIB_SUFFIX=".so" on HP-UX ia64 arch.
+ * unix/configure: autoconf-2.59
- * generic/tclCompCmds.c (TclCompileRegexpCmd): correct the checking
- for bad re's that didn't terminate the re string. Resultant compiles
- were correct, but much slower than necessary.
+ * generic/tclIOUtil.c (Tcl_FSEvalFileEx): safe incr of objPtr ref.
-2002-09-29 David Gravereaux <davygrvy@pobox.com>
+2007-02-18 Donal K. Fellows <dkf@users.sf.net>
- * win/tclAppInit.c: Added proper exiting conditions using Win32
- console signals. This handles the existing lack of a Ctrl+C exit to
- call exit handlers when built for thread support. Also, properly
- handles exits from other conditions such as CTRL_CLOSE_EVENT,
- CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT signals. In all cases, exit
- handlers will be called. [Bug 219355]
+ * 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.
- * win/makefile.vc: Added missing tclThreadAlloc.c to the build rules
- and defines USE_THREAD_ALLOC when TCL_THREADS is defined to get the
- new behavior by default.
+ * 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.
-2002-09-27 Don Porter <dgp@users.sourceforge.net>
+2007-02-13 Kevin B. Kenny <kennykb@acm.org>
- * README: Bumped to version 8.4.1 to avoid confusion
- * generic/tcl.h: of CVS snapshots with the actual 8.4.0
- * tools/tcl.wse.in: release.
- * unix/configure.in:
- * unix/tcl.spec:
- * win/configure.in:
+ * 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.
- * unix/configure: autoconf
- * win/configure:
+2007-02-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2002-09-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * doc/re_syntax.n: Corrected description of 'print' class [Bug
+ 1614687] and enhanced description of 'graph' class.
- * unix/configure: regen.
- * unix/tcl.m4: improve AIX-4/5 64bit compilation support.
+2007-02-12 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclProc.c (Tcl_ProcObjCmd): correct overeager optimization
- of noop proc to handle the precompiled case. (sofer)
+ * 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.
- * unix/ldAix (nmopts): add -X32_64 to make it work for 32 or 64bit
- mode compilation.
+2007-02-09 Joe Mistachkin <joe@mistachkin.com>
- * library/encoding/koi8-u.enc: removed extraneous spaces that confused
- encoding reader. [Bug 615115]
+ * win/nmakehlp.c: Properly cleanup after nmakehlp, including the
+ * win/makefile.vc: vcX0.pch file.
- * unix/Makefile.in: generate source dists with -src designator and do
- not generate .Z anymore (just .gz and .zip).
+2007-02-08 Jeff Hobbs <jeffh@ActiveState.com>
-2002-09-18 Mumit Khan <khan@nanotech.wisc.edu>
+ * unix/tclUnixInit.c (TclpCheckStackSpace): do stack size checks with
+ unsigned size_t to correctly validate stackSize in the 2^31+ range.
+ [Bug 1654104]
- Added basic Cygwin support.
+2007-02-08 Don Porter <dgp@users.sourceforge.net>
- * win/tcl.m4 (SC_PATH_TCLCONFIG): Support one-tree build.
- (SC_PATH_TKCONFIG): Likewise.
- (SC_PROG_TCLSH): Likewise.
- (SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin
- flags. Add -mwin32 to extra_cflags and extra_ldflags. Remove ``-e
- _WinMain@16'' from LDFLAGS_WINDOW.
- * win/configure.in: Allow Cygwin build.
- (SEH test): Define to be 1 instead of empty value.
- (EXCEPTION_DISPOSITION): Add test.
- * win/configure: Regenerate.
+ * 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]
- * generic/tcl.h: Don't explicitly define __WIN32__ for Cygwin, let the
- user decide whether to use Windows or POSIX personality.
- (TCL_WIDE_INT_TYPE, TCL_LL_MODIFIER, struct Tcl_StatBuf): Define for
- Cygwin.
- * generic/tclEnv.c (Tcl_CygwinPutenv): putenv replacement for Cygwin.
- * generic/tclFileName.c (Tcl_TranslateFileName): Convert POSIX to
- native format.
- (TclDoGlob): Likewise.
- * generic/tclPlatDecls.h (TCHAR): Define for Cygwin.
- * win/tclWinPort.h (putenv, TclpSysAlloc, TclpSysFree)
- (TclpSysRealloc): Define for Cygwin.
+2007-02-06 Don Porter <dgp@users.sourceforge.net>
-2002-09-26 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclNamesp.c: Corrected broken implementation of the
+ * tests/namespace.test: TclMatchIsTrivial optimization on [namespace
+ children $namespace $pattern].
- * macosx/Makefile: preserve environment value of INSTALL_ROOT. When
- embedding only use deployment build. Force relink before embedded
- build to ensure new linker flags are picked up.
+2007-02-04 Daniel Steffen <das@users.sourceforge.net>
- * macosx/Tcl.pbproj/project.pbxproj: add symbolic links to debug lib,
- stub libs and tclConfig.sh in framework toplevel. Configure target
- dependency fix. Fix to 'clean' action. Added private tcl headers to
- framework. Install tclsh symbolic link. Html doc build works when no
- installed tclsh available. Made html doc structure in framework more
- like in Apple frameworks.
+ * 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
-2002-09-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2007-02-03 Joe Mistachkin <joe@mistachkin.com>
- * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Yet more robust 64-bit value
- detection to close [Bug 613117] on more systems.
+ * win/rules.vc: Fix platform specific file copy macros for downlevel
+ Windows.
- * generic/tclCompile.c (TclPrintSource): More CONSTifying.
- * generic/tclExecute.c (EvalStatsCmd): Object-ify to reduce warnings.
- Thanks to 'CoderX2' on the chat for bringing this to my attention...
+2007-01-29 Don Porter <dgp@users.sourceforge.net>
- * unix/tcl.m4: Forgot to define TCL_WIDE_INT_IS_LONG at the
- appropriate moment. I believe this is the cause of [Bug 613117]
+ * 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]
- * doc/lset.n: Changed 'list' to 'varName' for consistency with lappend
- documentation. Thanks to Glenn Jackman [Bug 611719]
+ * generic/tclLink.c: Broken linked float logic corrected. Thanks to
+ Andy Goth. [Bug 1602538]
-2002-09-22 Don Porter <dgp@users.sourceforge.net>
+ * doc/fcopy.n: Typo fix. [Bug 1630627]
- * library/tcltest/tcltest.tcl: Corrected [puts -nonewline] within
- test bodies. Thanks to Harald Kirsch. [Bug 612786, Patch 612788] Also
- corrected reporting of body return code. Thanks to David Taback [Bug
- 611922]
- * library/tcltest/pkgIndex.tcl: Bump to version 2.2.1.
- * tests/tcltest.test: added tests for these bugs.
+2007-01-28 Daniel Steffen <das@users.sourceforge.net>
-2002-09-15 Mo DeJong <mdejong@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.
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add PEEK_XCLOSEIM define under
- Linux. This is used by Tk to double check that an X input context is
- cleaned up before it is closed.
+ * macosx/README: document new Tcl.xcodeproj configurations; other
+ minor updates/corrections.
-2002-09-12 David Gravereaux <davygrvy@pobox.com>
+ * generic/tcl.h: update location of version numbers in macosx files.
- * win/coffbase.txt: Added BLT to the virtual base address listings
- table should BLT's build tools decide to use it.
+ * 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.
-2002-09-12 Daniel Steffen <das@users.sourceforge.net>
+2007-01-25 Daniel Steffen <das@users.sourceforge.net>
- * generic/tcl.h:
- * mac/tclMacApplication.r:
- * mac/tclMacLibrary.r:
- * mac/tclMacResource.r: unified use of the two equivalent resource
- compiler header inclusion defines RC_INVOKED and RESOURCE_INCLUDED,
- now use RC_INVOKED throughout.
+ * 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.
-2002-09-10 Mo DeJong <mdejong@users.sourceforge.net>
+ * unix/configure: autoconf-2.59
- * unix/README: Add note about building extensions with the same
- compiler Tcl was built with. [Tk Bug 592096]
+2007-01-22 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-09-10 Daniel Steffen <das@users.sourceforge.net>
+ * compat/memcmp.c (memcmp): Reworked so that arithmetic is never
+ performed upon void pointers, since that is illegal. [Bug 1631017]
- * macosx/Tcl.pbproj/project.pbxproj: disabled building html
- documentation during embedded build.
+2007-01-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
-2002-09-10 Daniel Steffen <das@users.sourceforge.net>
+ * 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.
- * unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx and
- set it to default value ${LIB_RUNTIME_DIR}
- * unix/tcl.m4 (Darwin): use DYLIB_INSTALL_DIR instead of
- LIB_RUNTIME_DIR in the -install_name argument to ld.
- * unix/configure: regen.
+2007-01-19 Joe Mistachkin <joe@mistachkin.com>
- * macosx/Tcl.pbproj/project.pbxproj:
- * macosx/Makefile: added support for building Tcl as an embedded
- framework, i.e. using an dyld install_name containing
- @executable_path/../Frameworks via the new DYLIB_INSTALL_DIR
- unix/Makefile variable.
+ * 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.
-2002-09-10 Jeff Hobbs <jeffh@ActiveState.com>
+2007-01-19 Daniel Steffen <das@users.sourceforge.net>
- *** 8.4.0 TAGGED FOR RELEASE ***
+ * 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.
-2002-09-06 Don Porter <dgp@users.sourceforge.net>
+ * macosx/tclMacOSXNotify.c: accommodate changes to prototypes of
+ OSSpinLock(Un)Lock API.
- * doc/file.n: Format correction, and clarified [file normalize]
- returns an absolute path.
+ * macosx/Tcl.xcodeproj/project.pbxproj: ensure HOME and USER env vars
+ * macosx/Tcl.xcodeproj/default.pbxuser: are defined when running
+ testsuite from Xcode.
- * doc/tcltest.n: Added examples section, as long promised.
+ * tests/env.test: add extra system env vars that need to be preserved
+ on some Mac OS X versions for testsuite to work.
-2002-09-06 Reinhard Max <max@suse.de>
+ * unix/Makefile.in: Move libtommath defines into configure.in to
+ * unix/configure.in: avoid replicating them across multiple
+ * macosx/Tcl.xcodeproj/project.pbxproj: buildsystems.
- * tests/tcltest.test: Added nonRoot flag to tests 8.3, 8.4, and 8.12.
+ * 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.
-2002-09-05 Don Porter <dgp@users.sourceforge.net>
+ * unix/configure: autoconf-2.59
+ * unix/tclConfig.h.in: autoheader-2.59
- * doc/tcltest.n: Clarified phrasing.
+2007-01-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclBasic.c (TclRenameCommand,CallCommandTraces):
- * tests/trace.test (trace-27.1): Corrected memory leak when a rename
- trace deleted the command being traced. Test added. Thanks to Hemang
- Lavana for the fix. [Bug 604609]
+ * 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]
- * generic/tclVar.c (TclDeleteVars): Corrected logic for setting the
- TCL_INTERP_DESTROYED flag when calling variable traces. [Tk Bug 605121]
+2007-01-17 Donal K. Fellows <dkf@users.sf.net>
-2002-09-04 Miguel Sofer <msofer@users.sourceforge.net>
+ * generic/tclIO.c: Added macros to make usage of ChannelBuffers
+ clearer.
- * generic/tclVar.c (DeleteArray): leak plug [Bug 604239]. Thanks to
- dkf and dgp for the long and difficult discussion in the chat.
+2007-01-11 Joe English <jenglish@users.sourceforge.net>
-2002-09-03 Jeff Hobbs <jeffh@ActiveState.com>
+ * win/tcl.m4(CFLAGS_WARNING): Remove "-Wconversion". This was removed
+ from unix/tcl.m4 2004-07-16 but not from here.
+ * win/configure: Regenerated.
- * generic/tclVar.c (Tcl_UpVar2): code cleanup to not use goto
+2007-01-11 Pat Thoyts <patthoyts@users.sourceforge.net>
- * unix/configure: remove -pthread from LIBS on FreeBSD in thread
- * unix/tcl.m4: enabled build. [Bug 602849]
+ * 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.
-2002-09-03 Miguel Sofer <msofer@users.sourceforge.net>
+2007-01-10 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * generic/tclInterp.c (AliasCreate): a Tcl_Obj was leaked on error
- return from TclPreventAliasLoop.
+ * 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...
-2002-09-03 Daniel Steffen <das@users.sourceforge.net>
+2007-01-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * macosx/Tcl.pbproj/project.pbxproj: Bumped version number to 8.4.0
- and updated copyright info.
+ * 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]
-2002-09-03 Miguel Sofer <msofer@users.sourceforge.net>
+2007-01-03 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclVar.c (Tcl_UpVar2): a Tcl_Obj was being leaked on error
- return from TclGetFrame.
+ * generic/tclDate.c: Regenerated to recover a lost fix from patthoyts.
+ [Bug 1618523]
-2002-09-03 Don Porter <dgp@users.sourceforge.net>
+2006-12-26 Mo DeJong <mdejong@users.sourceforge.net>
- * changes: Updated changes for 8.4.0 release.
+ * generic/tclIO.c (Tcl_GetsObj): Avoid checking for for the LF in a
+ possible CRLF sequence when EOF has already been found.
-2002-09-02 Jeff Hobbs <jeffh@ActiveState.com>
+2006-12-26 Mo DeJong <mdejong@users.sourceforge.net>
- * unix/tclUnixFile.c (TclpObjLink): removed unnecessary/unfreed
- extra native char*.
+ * 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.
- * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): make sure to init
- flags field of TcpState ptr to 0.
+2006-12-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * unix/configure:
- * unix/tcl.m4: added 64-bit gcc compilation support on HP-11.
- [Patch 601051] (martin)
+ * unix/tclUnixThrd.c (Tcl_GetAllocMutex, TclpNewAllocMutex): Add
+ intermediate variables to shut up unwanted warnings. [Bug 1618838]
- * README: Bumped version number to 8.4.0
- * generic/tcl.h:
- * tools/tcl.wse.in:
- * unix/configure:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure:
- * win/configure.in:
+2006-12-19 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclInterp.c (SlaveCreate): make sure that the memory and
- checkmem commands are initialized in non-safe slave interpreters when
- TCL_MEM_DEBUG is used. [Bug 583445]
+ * unix/tclUnixThrd.c (TclpInetNtoa): fix for 64 bit.
- * win/tclWinConsole.c (ConsoleCloseProc): only wait on writable pipe
- if there was something to write. This may prevent infinite wait on
- exit.
+ * unix/tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit
+ -arch flag succeeds before enabling 64bit build.
+ * unix/configure: autoconf-2.59
- * tests/exec.test: marked exec-18.1 unixOnly until the Windows
- incompatability (in the test, not the core) can be resolved.
+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/http.test (http-3.11): added close $fp that was causing an
- error on Windows because the file was not closed before deleting.
+ * tests/append.test: fix cleanup failure when all tests are skipped.
- * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): made this static
- function only appear when HAVE_CFBUNDLE is defined.
+ * tests/chan.test (chan-16.9): cleanup chan event handler to avoid
+ causing error in event.test when running testsuite with -singleproc 1.
-2002-08-31 Daniel Steffen <das@users.sourceforge.net>
+ * tests/info.test: add !singleTestInterp constraint to tests that fail
+ when running testsuite with -singleproc 1. [Bug 1605269]
- * unix/tcl.m4: added TK_SHLIB_LD_EXTRAS analogue of existing
- TCL_SHLIB_LD_EXTRAS for linker settings only used when linking Tk.
+2006-12-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * unix/configure: regen
+ * doc/string.n: Fix example. [Bug 1615277]
-2002-08-31 Daniel Steffen <das@users.sourceforge.net>
+2006-12-12 Don Porter <dgp@users.sourceforge.net>
- *** macosx-8-4-branch merged into the mainline [Patch 602770] ***
+ * 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/tcl.decls: added new macosx specific entry to stubs table.
+ * 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.
- * tools/genStubs.tcl: added generation of platform guards for macosx.
- This is a little more complex than it seems, because MacOS X IS "unix"
- plus a little bit, for the purposes of Tcl. BUT unfortunately, Tk uses
- "unix" to mean X11. So added platform keys for macosx (the little
- added to "unix"), "aqua" and "x11" to distinguish these for Tk.
+2006-12-11 Don Porter <dgp@users.sourceforge.net>
- * generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h can
- be passed to the resource compiler.
+ * generic/tclBasic.c: Another step with all sorting operator
+ * generic/tclCompExpr.c: commands now routing through TEBC via
+ * generic/tclCompile.h: TclSortingOpCmd().
- * generic/tcl.h:
- * generic/tclNotify.c: added a few Notifier procs, to be able to
- modify more bits of the Tcl notifier dynamically. Required to get Mac
- OS X Tk to live on top of the Tcl Unix threaded notifier. Changes the
- size of the Tcl_NotifierProcs structure, but doesn't move any elements
- around.
+2006-12-08 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixNotfy.c: moved the call to Tcl_ConditionNotify till
- AFTER we are done mucking with the pointer swap. Fixes cases where the
- thread waiting on the condition wakes & accesses the waitingListPtr
- before it gets reset, causing a hang.
+ * generic/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.
- * library/auto.tcl (tcl_findLibrary): added checking the directories
- in the tcl_pkgPath for library files on macosx to enable support of
- the standard Mac OSX library locations
+ * 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.
- * unix/Makefile.in:
- * unix/configure.in:
- * unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS: there
- are some MacOS X specific files now for Tcl, and when I get he
- resource & applescript stuff ported over, and restore support for
- FindFiles, etc, there will be a few more. Added LD_LIBRARY_PATH_VAR
- configure variable to avoid having to set all possible LD_LIBRARY_PATH
- analogues on all platforms. LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH"
- by default, "LIBPATH" on AIX, "SHLIB_PATH" on HPUX and
- "DYLD_LIBRARY_PATH" on Mac OSX. Added configure option to package Tcl
- as a framework on Mac OSX.
+ * generic/tclCompile.h: Change TclExecuteByteCode() from static to
+ * generic/tclExecute.c: MODULE_SCOPE so all files including
+ tclCompile.h may call it.
- * macosx/tclMacOSXBundle.c (new): support for finding Tcl extension
- packaged as 'bundles' in the standard Mac OSX library locations.
+ * generic/tclMathOp.c: More revisions to make tests pass.
+ * tests/mathop.test:
- * unix/tclUnixInit.c: added support for findig the tcl script library
- inside Tcl packaged as a framework on Mac OSX.
+2006-12-08 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * macosx/Tcl.pbproj/jingham.pbxuser (new):
- * macosx/Tcl.pbproj/project.pbxproj (new): project for Apple's
- ProjectBuilder IDE.
+ * generic/tclNamesp.c (TclTeardownNamespace): Ensure that dying
+ namespaces unstitch themselves from their referents. [Bug 1571056]
+ (NsEnsembleImplementationCmd): Silence GCC warning.
- * macosx/Makefile (new): simple makefile for building the project from
- the command line via the ProjectBuilder tool 'pbxbuild'.
+ * tests/mathop.test: Full tests for & | and ^ operators
- * unix/configure:
- * generic/tclStubInit.c:
- * generic/tclPlatDecls.h: regen
+2006-12-08 Daniel Steffen <das@users.sourceforge.net>
-2002-08-29 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * library/tcltest/tcltest.tcl: use [info frame] for "-verbose line".
- * win/tclWinThrd.c (TclpFinalizeThreadData, TclWinFreeAllocCache):
- Applied patch for [Bug 599428] (sofer)
+2006-12-07 Don Porter <dgp@users.sourceforge.net>
-2002-08-28 David Gravereaux <davygrvy@pobox.com>
+ * generic/tclCompCmds.c: Additional commits correct most
+ * generic/tclExecute.c: failing tests illustrating bugs
+ * generic/tclMathOp.c: uncovered in [Patch 1578137].
- * generic/tclEnv.c:
- * unix/configure.in:
- * win/tclWinPort.h: putenv() on some systems copies the buffer rather
- than taking reference to it. This causes memory leaks and is know to
- effect mswindows (msvcrt) and NetBSD 1.5.2. This patch tests for this
- behavior and turns on -DHAVE_PUTENV_THAT_COPIES=1 when approriate.
- Thanks to David Welton for assistance. [Bug 414910]
+ * 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.
- * unix/configure: regen'd
+ * 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.
-2002-08-28 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-12-07 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * doc/eval.n: Added mention of list command and corrected "SEE ALSO".
+ * 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.
- * unix/configure.in: Cache handling of ac_cv_type_socklen_t was wrong.
- [Bug 600931] reported by John Ellson. Fixed by putting the brackets
- where they belong.
+2006-12-07 Pat Thoyts <patthoyts@users.sourceforge.net>
-2002-08-26 Miguel Sofer <msofer@users.sourceforge.net>
+ * tests/exec.test: Fixed line endings (caused win32 problems).
- * generic/tclCompCmds.c: fix for [Bug 599788] (error in element name
- causing segfault), reported by Tom Wilkason. Fixed by copying the
- tokens instead of the source string.
+2006-12-06 Don Porter <dgp@users.sourceforge.net>
-2002-08-26 Miguel Sofer <msofer@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.
- * generic/tclThreadAlloc.c: small optimisation, reducing the new
- allocator's overhead.
+2006-12-06 Kevin B. Kenny <kennykb@acm.org>
-2002-08-23 Miguel Sofer <msofer@users.sourceforge.net>
+ * tests/expr.test (expr-47.12): Improved error reporting in hopes of
+ having more information to pursue [Bug 1609936].
- * generic/tclObj.c (USE_THREAD_ALLOC): fixed leak [Bug 597936]. Thanks
- to Zoran Vasiljevic.
+2006-12-05 Andreas Kupries <andreask@activestate.com>
-2002-08-23 Miguel Sofer <msofer@users.sourceforge.net>
+ TIP#291 IMPLEMENTATION
- * generic/tclThreadAlloc.c (USE_THREAD_ALLOC): moving objects between
- caches as a block, instead of one-by-one.
+ * generic/tclBasic.c: Define tcl_platform element for pointerSize.
+ * doc/tclvars.n:
-2002-08-22 Miguel Sofer <msofer@users.sourceforge.net>
+ * win/Makefile.in: Added installation instructions for the platform
+ * win/makefile.vc: package. Added the platform package.
+ * win/makefile.bc:
+ * unix/Makefile.in:
- * generic/tclBasic.c:
- * generic/tclCmdMZ.c: fix for freed memory r/w in delete traces [Bug
- 589863], patch by Hemang Lavana.
+ * tests/platform.test:
+ * tests/safe.test:
-2002-08-20 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * library/platform/platform.tcl:
+ * library/platform/shell.tcl:
+ * library/platform/pkgIndex.tcl:
- * win/Makefile.in (CFLAGS):
- * unix/Makefile.in (MEM_DEBUG_FLAGS): Added usage of @MEM_DEBUG_FLAGS@.
- * win/configure.in:
- * unix/configure.in: Added usage of SC_ENABLE_MEMDEBUG.
- * win/tcl.m4:
- * unix/tcl.m4: Added macro SC_ENABLE_MEMDEBUG. Allows a user of
- configure to (de)activate memory validation and debugging
- (TCL_MEM_DEBUG). No need to modify the makefile anymore.
+ * doc/platform.n:
+ * doc/platform_shell.n:
-2002-08-20 Don Porter <dgp@users.sourceforge.net>
+2006-12-05 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCkalloc.c: CONSTified MemoryCmd and CheckmemCmd.
+ * 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.
- * README: Bumped version number to 8.4b3 to distinguish
- * generic/tcl.h: HEAD from the 8.4b2 release.
- * tools/tcl.wse.in:
- * unix/configure.in:
- * unix/tcl.spec:
- * win/README.binary:
- * win/configure.in:
-
- * unix/configure: autoconf
- * win/configure:
+2006-12-04 Donal K. Fellows <dkf@users.sf.net>
- * library/http/http.tcl: Corrected installation directory of
- * library/msgcat/msgcat.tcl: the package tcltest 2.2. Added
- * library/opt/optparse.tcl: comments in other packages to remind
- * library/tcltest/tcltest.tcl: that installation directories need
- * unix/Makefile.in: updates to match increasing version
- * win/Makefile.in: numbers. [Bug 597450]
- * win/makefile.bc:
- * win/makefile.vc:
+ TIP#267 IMPLEMENTATION
-2002-08-19 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * generic/tclIOCmd.c (Tcl_ExecObjCmd): Added -ignorestderr option,
+ * tests/exec.test, doc/exec.n: loosely from [Patch 1476191]
- * unix/tclUnixTest.c (TestfilehandlerCmd): Changed
- readable/writable to the more common readable|writable.
- Fixes [Bug 596034] (lvirden)
+2006-12-04 Don Porter <dgp@users.sourceforge.net>
-2002-08-16 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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.
- * tests/fCmd.test: Added test to make sure that the cause of the
- problem is detectable with an unpatched Tcl.
- * doc/ObjectType.3: Added note on the root cause of this problem to
- the documentation, since it is possible for user code to trigger this
- sort of behaviour too.
- * generic/tclIOUtil.c (SetFsPathFromAny): Objects should only have
- their old representation deleted when we know that we are about to
- install a new one. This stops a weird TclX bug under Linux with
- certain kinds of memory debugging enabled which essentally came down
- to a double-free of a string.
+2006-12-03 Don Porter <dgp@users.sourceforge.net>
-2002-08-14 Miguel Sofer <msofer@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.
- * generic/tclInt.h:
- * generic/tclObj.c: (code cleanup) factored the parts in the macros
- TclNewObj() / TclDecrRefCount() into a common part for all memory
- allocators and two new macros TclAllocObjStorage() /
- TclFreeObjStorage() that are specific to each allocator and fully
- describe the differences. Removed allocator-specific code from
- tclObj.c by using the macros.
+2006-12-02 Donal K. Fellows <dkf@users.sf.net>
-2002-08-12 Miguel Sofer <msofer@users.sourceforge.net>
+ * doc/file.n: Clarification of [file pathtype] docs. [Bug 1606454]
- * generic/tclCmdMZ.c: fixing UMR in delete traces, [Bug 589863].
+2006-12-01 Kevin B. Kenny <kennykb@acm.org>
-2002-08-08 David Gravereaux <davygrvy@pobox.com>
+ * 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.
- * tools/man2help.tcl: Fixed $argv handling bug where if -bitmap wasn't
- specified $argc was off by one.
+ TIP#299 IMPLEMENTATION
-2002-08-08 Miguel Sofer <msofer@users.sourceforge.net>
+ * 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.
- * tests/uplevel.test: added 6.1 to test [uplevel] with shadowed
- commands [Bug 524383]
+2006-12-01 Don Porter <dgp@users.sourceforge.net>
- * tests/subst.test: added 5.8-10 as further tests for [Bug 495207]
+ * tests/chan.test: Correct timing sensitivity in new test. [Bug
+ 1606860]
-2002-08-08 Don Porter <dgp@users.sourceforge.net>
+ TIP#287 IMPLEMENTATION
- * tests/README: Noted removal of defs.tcl.
-
-2002-08-08 Jeff Hobbs <jeffh@ActiveState.com>
-
- * doc/lsearch.n: corrected lsearch docs to use -inline in examples.
-
- *** 8.4b2 TAGGED FOR RELEASE ***
+ * doc/chan.n: New subcommand [chan pending].
+ * generic/tclBasic.c: Thanks to Michael Cleverly for proposal
+ * generic/tclInt.h: and implementation.
+ * generic/tclIOCmd.c:
+ * library/init.tcl:
+ * tests/chan.test:
+ * tests/ioCmd.test:
- * tests/fCmd.test:
- * tests/unixFCmd.test: updated tests for new link copy behavior.
- * generic/tclFCmd.c (CopyRenameOneFile): changed the behavior to
- follow links to endpoints and copy that file/directory instead of just
- copying the surface link. This means that trying to copy a link that
- has no endpoint (danling link) is an error. [Patch 591647] (darley)
- (CopyRenameOneFile): this is currently disabled by default until
- further issues with such behavior (like relative links) can be handled
- correctly.
+ TIP#298 IMPLEMENTATION
- * tests/README: slight wording improvements
+ * generic/tcl.decls: Tcl_GetBignumAndClearObj -> Tcl_TakeBignumFromObj
+ * generic/tclObj.c:
-2002-08-07 Miguel Sofer <msofer@users.sourceforge.net>
+ * generic/tclDecls.h: make genstubs
+ * generic/tclStubInit.c:
- * docs/BoolObj.3: added description of valid string reps for a boolean
- object [Bug 584794]
- * generic/tclObj.c: optimised Tcl_GetBooleanFromObj and
- SetBooleanFromAny to avoid parsing the string rep when it can be
- avoided [Bugs 584650, 472576]
+ * generic/tclExecute.c: Update callers.
+ * generic/tclMathOp.c:
-2002-08-07 Miguel Sofer <msofer@users.sourceforge.net>
+2006-11-30 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclCompile.h:
- * generic/tclObj.c: making tclCmdNameType static [Bug 584567] (dgp)
+ * 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.
-2002-08-07 Miguel Sofer <msofer@users.sourceforge.net>
+2006-11-29 Don Porter <dgp@users.sourceforge.net>
- * generic/tclObj.c (Tcl_NewObj): added conditional code for
- USE_THREAD_ALLOC; objects allocated through Tcl_NewObj() were
- otherwise being leaked. [Bug 587488] reported by Sven Sass.
+ * 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.
-2002-08-06 Daniel Steffen <das@users.sourceforge.net>
+2006-11-28 Andreas Kupries <andreask@activestate.com>
- * generic/tclInt.decls:
- * unix/tclUnixThrd.c: Added stubs and implementations for non-threaded
- build for the tclUnixThrd.c procs TclpReaddir, TclpLocaltime,
- TclpGmtime and TclpInetNtoa. Fixes link errors in stubbed & threaded
- extensions that include tclUnixPort.h and use any of the procs
- readdir, localtime, gmtime or inet_ntoa (e.g. TclX 8.4) [Bug 589526]
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c: Regen.
-
-2002-08-05 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: The setup and cleanup scripts are now
- * library/tcltest/pkgIndex.tcl: skipped when a test is skipped, fixing
- * tests/tcltest.test: [Bug 589859]. Test for bug added, and
- corrected tcltest package bumped to version 2.2.
-
- * generic/tcl.decls: Restored Tcl_Concat to return (char *). Like
- * generic/tclDecls.h: Tcl_Merge, it transfers ownership of a dynamic
- * generic/tclUtil.c: allocated string to the caller.
-
-2002-08-04 Don Porter <dgp@users.sourceforge.net>
-
- * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ify
- * doc/Concat.3: all remaining public interfaces of Tcl.
- * doc/CrtCommand.3: Notably, the parser no longer writes on
- * doc/CrtSlave.3: the string it is parsing, so it is no
- * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be
- * doc/Eval.3: given a writable string. Also, the
- * doc/ExprLong.3: refactoring of the Tcl_*Var* routines
- * doc/LinkVar.3: by Miguel Sofer is included, so that the
- * doc/ParseCmd.3: "part1" argument for them no longer needs
- * doc/SetVar.3: to be writable either.
- * doc/TraceVar.3:
- * doc/UpVar.3: Compatibility support has been enhanced so
- * generic/tcl.decls: that a #define of USE_NON_CONST will remove
- * generic/tcl.h: all possible source incompatibilities with
- * generic/tclBasic.c: the 8.3 version of the header file(s).
- * generic/tclCmdMZ.c: The new #define of USE_COMPAT_CONST now does
- * generic/tclCompCmds.c:what USE_NON_CONST used to do -- disable
- * generic/tclCompExpr.c:only those new CONST's that introduce
- * generic/tclCompile.c: irreconcilable incompatibilities.
+ * generic/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/tclDecls.h: Several bugs are also fixed by this patch.
- * generic/tclEnv.c: [Bugs 584051,580433] [Patches 585105,582429]
- * generic/tclEvent.c:
- * generic/tclInt.decls:
+ * generic/tclExecute.c:
+ * generic/tclIOUtil.c:
* generic/tclInt.h:
- * generic/tclIntDecls.h:
* generic/tclInterp.c:
- * generic/tclLink.c:
+ * generic/tclNamesp.c:
* generic/tclObj.c:
- * generic/tclParse.c:
- * generic/tclParseExpr.c:
* generic/tclProc.c:
- * generic/tclTest.c:
- * generic/tclUtf.c:
- * generic/tclUtil.c:
- * generic/tclVar.c:
- * mac/tclMacTest.c:
- * tests/expr-old.test:
- * tests/parseExpr.test:
- * unix/tclUnixTest.c:
- * unix/tclXtTest.c:
- * win/tclWinTest.c:
-
-2002-08-01 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: bugfix (reading freed memory). Testsuite
- passed on linux/i386, compile-13.1 hung on linux/alpha.
-
-2002-08-01 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: added a reference count for the complete
- execution stack, instead of Tcl_Preserve/Tcl_Release.
+ * tests/compile.test:
+ * tests/info.test:
+ * tests/platform.test:
+ * tests/safe.test:
-2002-08-01 Mo DeJong <mdejong@users.sourceforge.net>
+2006-11-27 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): Don't lock the
- ckalloc mutex before invoking the Tcl_DumpActiveMemory function since
- it also locks the same mutex. This code is only executed when "memory
- onexit filename" has been executed and Tcl is compiled with
- -DTCL_MEM_DEBUG.
+ * 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].
-2002-08-01 Reinhard Max <max@suse.de>
+2006-11-27 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinPort.h: The windows headers don't provide socklen_t, so we
- have to do it.
+ * generic/tclExecute.c (TclIncrObj): Correct failure to detect
+ floating-point increment values. Thanks to William Coleda [Bug
+ 1602991]
-2002-07-31 Miguel Sofer <msofer@users.sourceforge.net>
+2006-11-26 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclInt.h (USE_THREAD_ALLOC): for unshared objects,
- TclDecrRefCount now frees the internal rep before the string rep -
- just like the non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. For
- the other allocators the fix was done on 2002-03-06.
+ * tests/mathop.test, doc/mathop.n: More bits and pieces of the TIP#174
+ implementation. Note that the test suite is not yet complete.
-2002-07-31 Miguel Sofer <msofer@users.sourceforge.net>
+2006-11-26 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclInterp.c: signed/unsigned comparison warning fixed
- (Vince Darley).
+ * unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389]
+ * unix/configure: autoconf-2.59 [Bug 1230558]
-2002-07-31 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-11-25 Donal K. Fellows <dkf@users.sf.net>
- * unix/tcl.m4 (SC_BUGGY_STRTOD): Enabled caching of test results.
+ TIP#174 IMPLEMENTATION
- * unix/tcl.m4 (SC_BUGGY_STRTOD): Solaris 2.8 still has a buggy
- strtod() implementation; make sure we detect it.
+ * 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.
- * tests/expr.test (expr-22.*): Marked as non-portable because it seems
- that these tests have an annoying tendency to fail in unexpected ways.
- [Bugs 584825, 584950, 585986]
+2006-11-23 Donal K. Fellows <dkf@users.sf.net>
-2002-07-30 Andreas Kupries <andreas_kupries@users.sourceforge.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.
- * tests/io.test:
- * generic/tclIO.c (WriteChars): Added flag to break out of loop if
- nothing of the input is consumed at all, to prevent infinite looping
- of called with a non-UTF-8 string. Fixes [Bug 584603] partially.
- Added new test "io-60.1". Might need additional changes to Tcl_Main so
- that unprintable results are printed as binary data.
+2006-11-22 Donal K. Fellows <dkf@users.sf.net>
-2002-07-29 Mo DeJong <mdejong@users.sourceforge.net>
+ TIP#269 IMPLEMENTATION
- * unix/Makefile.in: Use CC_SEARCH_FLAGS instead of LD_SEARCH_FLAGS
- when linking with ${CC}.
- * unix/configure: Regen.
- * unix/configure.in: Don't subst CC_SEARCH_FLAGS or LD_SEARCH_FLAGS
- since this is now done in tcl.m4.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Document and set CC_SEARCH_FLAGS
- whenever LD_SEARCH_FLAGS is set. [Patch 588290]
+ * 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.
-2002-07-29 Reinhard Max <max@suse.de>
+2006-11-22 Don Porter <dgp@users.sourceforge.net>
- * unix/tcl.m4 (SC_SERIAL_PORT): Fixed detection for cases when
- configure's stdin is not a tty.
+ * 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
- * unix/tclUnixPort.h:
- * generic/tclIOSock.c: Changed size_t to socklen_t in
- socket-related function calls.
+ * 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]
- * unix/configure.in: Added test and fallback definition
- for socklen_t.
+2006-11-20 Donal K. Fellows <dkf@users.sf.net>
- * unix/configure: generated.
+ * 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.
-2002-07-29 Miguel Sofer <msofer@users.sourceforge.net>
+2006-11-17 Don Porter <dgp@users.sourceforge.net>
- * generic/tclObj.c: fixed a comment
+ * generic/tclExecute.c (INST_EXPON): Corrected crash on
+ [expr 2**(1<<63)]. Was operating on cleared bignum Tcl_Obj.
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclInterp.c: added the new flag TCL_EVAL_INVOKE to the
- interface of the Tcl_Eval* functions, removing the
- TCL_EVAL_NO_TRACEBACK added yesterday: alias invocations not only
- require no tracebacks, but also look up the command name in the global
- scope - see new test interp-9.4
- * tests/interp.test: added 9.3 to test for safety of aliases to hidden
- commands, 9.4 to test for correct command lookup scope.
-
-2002-07-29 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/regc_locale.c (cclass): [[:xdigit:]] is only a defined
- concept on western characters, so should not allow any unicode digit,
- and hence number of ranges in [[:xdigit:]] is fixed.
- * tests/reg.test: Added test to detect the bug.
- * generic/regc_cvec.c (newcvec): Corrected initial size value in
- character vector structure. [Bug 578363] Many thanks to
- pvgoran@users.sf.net for tracking this down.
-
-2002-07-28 Miguel Sofer <msofer@users.sourceforge.net>
+2006-11-16 Donal K. Fellows <dkf@users.sf.net>
- * generic/tcl.h:
- * generic/tclBasic.c: added the new flag TCL_EVAL_NO_TRACEBACK to the
- interface of the Tcl_Eval* functions. Modified the error message for
- too many nested evaluations.
- * generic/tclInterp.h: changed the Alias struct to be of variable
- length and store the prefix arguments directly (instead of a pointer
- to a Tcl_Obj list). Made AliasObjCmd call Tcl_EvalObjv instead of
- TclObjInvoke - thus making aliases trigger execution traces. [Bug
- 582522]
- * tests/interp.test:
- * tests/stack.test: adapted to the new error message.
- * tests/trace.test: added tests for aliases firing the exec traces.
+ * doc/apply.n, doc/chan.n: Added examples.
-2002-07-27 Mo DeJong <mdejong@users.sourceforge.net>
+2006-11-15 Don Porter <dgp@users.sourceforge.net>
- * unix/Makefile.in: Revert fix for Tcl bug 529801 since it was
- incorrect and broke the build on other systems. Fix [Bug 587299]. Add
- MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL, SHLIB_LD_FLAGS,
- SHLIB_LD_LIBS, CC_SEARCH_FLAGS, LD_SEARCH_FLAGS, and LIB_FILE
- variables to support more generic library build/install rules.
- * unix/configure: Regen.
- * unix/configure.in: Move AC_PROG_RANLIB into tcl.m4. Move shared
- build test and setting of MAKE_LIB and MAKE_STUB_LIB into tcl.m4. Move
- subst of a number of variables into tcl.m4 where they are defined.
- * unix/tcl.m4 (SC_ENABLE_SYMBOLS, SC_CONFIG_CFLAGS):
- Subst vars where they are defined. Add MAKE_LIB, MAKE_STUB_LIB,
- INSTALL_LIB, and INSTALL_STUB_LIB rules to deal with the ugly details
- of running ranlib on static libs at build and install time. Replace
- TCL_SHLIB_LD_EXTRAS with SHLIB_LD_FLAGS and use it when building a
- shared library.
- * unix/tclConfig.sh.in: Add TCL_CC_SEARCH_FLAGS.
+ TIP#270 IMPLEMENTATION
-2002-07-26 Miguel Sofer <msofer@users.sourceforge.net>
+ * 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/tclExecute.c: fixed Tcl_Obj leak in code corresponding to
- the macro NEXT_INST_V(x, 0, 1). [Bug 587495]
+ * generic/tclDecls.h: make genstubs
+ * generic/tclStubInit.c:
-2002-07-26 Miguel Sofer <msofer@users.sourceforge.net>
+ * 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/tclNamesp.c:
+ * generic/tclObj.c:
+ * generic/tclPkg.c:
+ * generic/tclProc.c:
+ * generic/tclStrToD.c:
+ * generic/tclTimer.c:
+ * generic/tclUtil.c:
+ * unix/tclUnixFCmd.c:
- * generic/tclVar.c (TclObjLookupVar): leak fix and improved comments.
+ * 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.
-2002-07-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclDecls.h: make genstubs
+ * generic/tclIntDecls.h:
+ * generic/tclIntPlatDecls.h:
+ * generic/tclPlatDecls.h:
+ * generic/tclTomMathDecls.h:
- * generic/tclVar.c (TclLookupVar): removed early returns that
- prevented the parens from being restored. also removed goto label as
- it was not necessary.
+2006-11-15 Donal K. Fellows <dkf@users.sf.net>
-2002-07-24 Miguel Sofer <msofer@users.sourceforge.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.
- * generic/tclExecute.c:
- * tests/expr-old.test: fix for erroneous error messages in [expr],
- [Bug 587140] reported by Martin Lemburg.
+2006-11-14 Don Porter <dgp@users.sourceforge.net>
-2002-07-25 Joe English <jenglish@users.sourceforge.net>
+ TIP#261 IMPLEMENTATION
- * generic/tclProc.c: fix for [Tk Bug 219218] "error handling with
- bgerror in Tk"
+ * generic/tclNamesp.c: [namespace import] with 0 arguments
+ introspects the list of imported commands.
-2002-07-24 Miguel Sofer <msofer@users.sourceforge.net>
+2006-11-13 Kevin B. Kenny <kennykb@users.sourceforge.net>
- * generic/tclExecute.c: restoring full TCL_COMPILE_DEBUG
- functionality.
+ * generic/tclThreadStorage.c (Tcl_InitThreadStorage):
+ (Tcl_FinalizeThreadStorage): Silence a compiler warning about
+ presenting a volatile pointer to 'memset'.
-2002-07-24 Don Porter <dgp@users.sourceforge.net>
+2006-11-13 Don Porter <dgp@users.sourceforge.net>
- * tests/unixInit.test: relaxed unixInit-3.1 to accept iso8859-15 as a
- valid C encoding. [Bug 575336]
+ * 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.
-2002-07-24 Miguel Sofer <msofer@users.sourceforge.net>
+2006-11-13 Daniel Steffen <das@users.sourceforge.net>
- * generic/tclExecute.c: restoring the tcl_traceCompile functionality
- while I repair tcl_traceExec. The core now compiles and runs also
- under TCL_COMPILE_DEBUG, but execution in the bytecode engine can
- still not be traced.
+ * 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:
-2002-07-24 Daniel Steffen <das@users.sourceforge.net>
+ * unix/configure: autoconf-2.59
+ * unix/tclConfig.h.in: autoheader-2.59
- * unix/Makefile.in:
- * unix/configure.in: corrected fix for [Bug 529801]: ranlib only
- needed for static builds on Mac OS X.
- * unix/configure: Regen.
- * unix/tclLoadDyld.c: fixed small bugs introduced by Vince,
- implemented library unloading correctly (needs OS X 10.2).
+2006-11-12 Donal K. Fellows <dkf@users.sf.net>
-2002-07-23 Joe English <jenglish@users.sourceforge.net>
+ * generic/tclInt.h, generic/tclInt.decls: Transfer TclPtrMakeUpvar and
+ TclObjLookupVar to the internal stubs table.
- * doc/OpenFileChnl.3: (Updates from Larry Virden)
- * doc/open.n:
- * doc/tclsh.1: Fix section numbers in Unix man page references.
- * doc/lset.n: In EXAMPLES section, include command to set the initial
- value used in subsequent examples.
- * doc/http.n: Package version updated to 2.4.
+2006-11-10 Daniel Steffen <das@users.sourceforge.net>
-2002-07-23 Mo DeJong <mdejong@users.sourceforge.net>
+ * tests/fCmd.test (fCmd-6.26): fix failure when env(HOME) path
+ contains symlinks.
- * unix/configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Enable 64 bit compilation when using
- the native compiler on a 64 bit version of IRIX. [Bug 219220]
+ * macosx/Tcl.xcodeproj/project.pbxproj: remove tclParseExpr.c; when
+ running testsuite from inside Xcdoe, skip stack-3.1 (it only fails
+ under those circumstances).
-2002-07-23 Mo DeJong <mdejong@users.sourceforge.net>
+ * 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
- * unix/Makefile.in: Combine ranlib tests and avoid printing unless
- ranlib is actually run.
+2006-11-09 Don Porter <dgp@users.sourceforge.net>
-2002-07-23 Mo DeJong <mdejong@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:
- * unix/tcl.m4 (SC_PATH_X): Set XINCLUDES to "" instead of "# no
- special path needed" or "# no include files found" when x headers
- cannot be located.
+2006-11-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-07-22 Vince Darley <vincentdarley@users.sourceforge.net>
+ TIP#272 IMPLEMENTATION
- * generic/tclIOUtil.c: made tclNativeFilesystem static (since 07-19
- changes removed its usage elsewhere), and added comments about its
- usage.
- * generic/tclLoad.c:
- * generic/tcl.h:
- * generic/tcl.decls:
- * doc/FileSystem.3: converted last load-related ClientData parameter
- to Tcl_LoadHandle opaque structure, removing a couple of casts in the
- process.
+ * generic/tclCmdMZ.c (Tcl_StringObjCmd): Implementation of the
+ * tests/string.test, tests/stringComp.test: [string reverse] command
+ * doc/string.n: from TIP#272.
- * generic/tclInt.h: removed tclNativeFilesystem declaration since it
- is now static again.
+ * 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:
-2002-07-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-11-08 Donal K. Fellows <dkf@users.sf.net>
- * tests/expr.test (expr-22.*): Added tests to help detect the
- corrected handling.
- * generic/tclExecute.c (IllegalExprOperandType): Improved error
- message generated when attempting to manipulate Inf and NaN values.
- * generic/tclParseExpr.c (GetLexeme): Allowed parser to recognise
- 'Inf' as a floating-point number. [Bug 218000]
+ * generic/tclIO.c, generic/tclPkg.c: Style & clarity rewrites.
-2002-07-21 Don Porter <dgp@users.sourceforge.net>
+2006-11-07 Andreas Kupries <andreask@activestate.com>
- * tclIOUtil.c: Silence compiler warning. [Bug 584408].
+ * unix/tclUnixFCmd.c (CopyFile): Added code to fall back to a
+ hardwired default block size should the filesystem report a bogus
+ value. [Bug 1586470]
-2002-07-19 Vince Darley <vincentdarley@users.sourceforge.net>
+2006-11-04 Don Porter <dgp@users.sourceforge.net>
- * generic/tclIOUtil.c: fix to GetFilesystemRecord
- * win/tclWinFile.c:
- * unix/tclUnixFile.c: fix to subtle problem with links shown up by
- latest tclkit builds.
+ * generic/tclStringObj.c: Changed Tcl_ObjPrintf() response to an
+ invalid format specifier string. No longer panics; now produces an
+ error message as output.
-2002-07-19 Mo DeJong <mdejong@users.sourceforge.net>
+ TIP#274 IMPLEMENTATION
- * unix/configure:
- * unix/configure.in:
- * win/configure:
- * win/configure.in: Add AC_PREREQ(2.13) in an attempt to make it more
- clear that the configure scripts must be generated with autoconf
- version 2.13. [Bug 583573]
+ * generic/tclParseExpr.c: Exponentiation operator is now right
+ * tests/expr.test: associative. [Patch 1556802]
-2002-07-19 Vince Darley <vincentdarley@users.sourceforge.net>
+2006-11-03 Miguel Sofer <msofer@users.sf.net>
- * unix/Makefile.in: fix to build on MacOS X [Bug 529801], bug report
- and fix from jcw.
+ * generic/tclBasic.c (TEOVI): fix por possible leak of a Command in
+ the presence of execution traces that delete it.
-2002-07-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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:
- * win/tclWinSerial.c (no_timeout): Made this variable static.
+2006-11-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * generic/tclExecute.c, generic/tclCompile.c, generic/tclBasic.c:
- * generic/tclCompile.h (builtinFuncTable, instructionTable): Added
- prefix to these symbols because they are visible outside the Tcl
- library.
+ * tests/winPipe.test (winpipe-4.[2345]): Made robust when run in
+ directory with spaces in its name.
- * generic/tclCompExpr.c (operatorTable):
- * unix/tclUnixTime.c (tmKey):
- * generic/tclIOUtil.c (theFilesystemEpoch, filesystemWantToModify,
- (filesystemIteratorsInProgress, filesystemOkToModify): Made these
- variables static.
+ * generic/tclCmdAH.c: Clean up uses of cast NULLs.
- * unix/tclUnixFile.c: Renamed nativeFilesystem to
- * win/tclWinFile.c: tclNativeFilesystem and declared
- * generic/tclIOUtil.c: it properly in tclInt.h
- * generic/tclInt.h:
+ * generic/tclInterp.c (AliasObjCmd): Added more explanatory comments.
- * generic/tclUtf.c (totalBytes): Made this array static and const.
+ * 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.
- * generic/tclParse.c (typeTable): Made this array static and const.
- (Tcl_ParseBraces): Simplified error handling case so that scans are
- only performed when needed, and flags are simpler too.
+2006-11-01 Daniel Steffen <das@users.sourceforge.net>
- * license.terms: Added AS to list of copyright holders; it's only fair
- for the current gatekeepers to be listed here!
+ * unix/tclUnixPort.h: ensure MODULE_SCOPE is defined before use, so
+ that tclPort.h can once again be included without tclInt.h.
- * tests/cmdMZ.test: Renamed constraint for clarity. [Bug 583427]
- Added tests for the [time] command, which was previously only
- indirectly tested!
+ * generic/tclEnv.c (Darwin): mark _environ symbol as unexported even
+ when MODULE_SCOPE != __private_extern__.
-2002-07-18 Vince Darley <vincentdarley@users.sourceforge.net>
+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/tcl.h:
- * */*Load*.c: added comments on changes of 07/17 and replaced
- clientData with Tcl_LoadHandle in all locations.
+ * 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:
- * generic/tclFCmd.c:
- * tests/fileSystem.test: fixed a 'knownBug' with 'file
- attributes ""'
- * tests/winFCmd.test:
- * tests/winPipe.test:
- * tests/fCmd.test:
- * tessts/winFile.test: added 'pcOnly' constraint to some tests to make
- for more useful 'tests skipped' log from running all tests on
- non-Windows platforms.
+2006-10-31 Miguel Sofer <msofer@users.sf.net>
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.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.
- * generic/tclBasic.c (CallCommandTraces): delete traces now receive
- the FQ old name of the command. [Bug 582532] (Don Porter)
+2006-10-31 Pat Thoyts <patthoyts@users.sourceforge.net>
-2002-07-18 Vince Darley <vincentdarley@users.sourceforge.net>
+ * win/rules.vc: Fix for [Bug 1582769] - options conflict with VC2003.
- * tests/ioUtil.test: added constraints to 1.4,2.4 so they don't run
- outside of tcltest. [Bugs 583276,583277]
+2006-10-31 Donal K. Fellows <dkf@users.sf.net>
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.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.
- * generic/tclVar.c (DupParsedVarName): nasty bug fixed, reported by
- Vince Darley.
+2006-10-30 Jeff Hobbs <jeffh@ActiveState.com>
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.net>
+ * tools/tcltk-man2html.tcl (option-toc): handle any kind of options
+ defined toc section (needed for ttk docs)
- * generic/tclVar.c (TclPtrIncrVar): missing CONST in declarations,
- inconsistent with tclInt.h. Thanks to Vince Darley for reporting, boo
- to gcc for not complaining.
+2006-10-30 Miguel Sofer <msofer@users.sf.net>
-2002-07-17 Vince Darley <vincentdarley@users.sourceforge.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.
- * generic/tclInt.h:
- * generic/tclIOUtil.c:
- * generic/tclLoadNone.c:
- * unix/tclLoadAout.c:
- * unix/tclLoadDl.c:
- * unix/tclLoadDld.c:
- * unix/tclLoadDyld.c:
- * unix/tclLoadNext.c:
- * unix/tclLoadOSF.c:
- * unix/tclLoadShl.c:
- * mac/tclMacLoad.c:
- * win/tclWinLoad.c: modified to move more functionality to the generic
- code and avoid duplication. Partial replacement of internal uses of
- clientData with opaque Tcl_LoadHandle. A little further work still
- needed, but significant changes are done.
-
-2002-07-17 D. Richard Hipp <drh@hwaci.com>
-
- * library/msgcat/msgcat.tcl: fix a comment that was causing problems
- for programs (ex: mktclapp) that embed the initialization scripts in
- strings.
-
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.net>
+2006-10-30 Don Porter <dgp@users.sourceforge.net>
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclVar.c: removing the now redundant functions to access
- indexed variables: Tcl(Get|Set|Incr)IndexedScalar() and
- Tcl(Get|Set|Incr)ElementOfIndexedArray().
+ * 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]
-2002-07-17 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-10-29 Miguel Sofer <msofer@users.sf.net>
- * generic/tclExecute.c (TclExecuteByteCode): Minor fixes to make this
- file compile with SunPro CC...
+ * generic/tclNamesp.c (EnsembleImplementationCmd):
+ * tests/namespace.test (47.7-8): reverted a wrong "optimisation" that
+ completely broke snit; added two tests.
-2002-07-17 Miguel Sofer <msofer@users.sourceforge.net>
+2006-10-28 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclExecute.c: modified to do variable lookup explicitly, and
- then either inlining the variable access or else calling the new
- TclPtr(Set|Get|Incr)Var functions in tclVar.c
- * generic/tclInt.h: declare some functions previously local to
- tclVar.c for usage by TEBC.
- * generic/tclVar.c: removed local declarations; moved all special
- accessor functions for indexed variables to the end of the file - they
- are unused and ready for removal, but left there for the time being as
- they are in the internal stubs table.
+ * 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.
- ** WARNING FOR BYTECODE MAINTAINERS **
- TCL_COMPILE_DEBUG is currently not functional; will be fixed ASAP.
+2006-10-27 Donal K. Fellows <dkf@users.sf.net>
-2002-07-16 Mo DeJong <mdejong@users.sourceforge.net>
+ * generic/tclVar.c (HasLocalVars): New macro to make various bits and
+ pieces cleaner.
- * unix/Makefile.in:
- * win/Makefile.in: Add a more descriptive warning in the event `make
- genstubs` needs to be rerun.
+ * generic/tclNamesp.c (TclSetNsPath): Expose SetNsPath() through
+ internal stubs table with semi-external name.
-2002-07-16 Mo DeJong <mdejong@users.sourceforge.net>
+ * 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).
- * unix/Makefile.in: Use dltest.marker file to keep track of when the
- dltest package is up to date. This fixes [Bug 575768] since tcltest is
- no longer linked every time.
- * unix/dltest/Makefile.in: Create ../dltest.marker after a successful
- `make all` run in dltest.
+ * generic/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.
-2002-07-16 Mo DeJong <mdejong@users.sourceforge.net>
+2006-10-26 Miguel Sofer <msofer@users.sf.net>
- * unix/configure: Regen.
- * unix/configure.in: Remove useless subst of TCL_BIN_DIR.
+ * generic/tclProc.c (SetLambdaFromAny): minor change, eliminate
+ redundant call to Tcl_GetString (thanks aku).
-2002-07-15 Miguel Sofer <msofer@users.sourceforge.net>
+ * generic/tclInterp.c (ApplyObjCmd):
+ * generic/tclNamesp.c (EnsembleImplementationCmd): replaced ckalloc
+ (heap) with TclStackAlloc (execution stack).
- * generic/tclVar.c: inaccurate comment fixed
+2006-10-24 Miguel Sofer <msofer@users.sf.net>
-2002-07-15 Miguel Sofer <msofer@users.sourceforge.net>
+ * tests/info.test (info-9.11-12): tests for [Bug 1577492]
+ * tests/apply.test (apply-4.3-5): tests for [Bug 1574835]
- * generic/tclBasic.c (Tcl_AddObjErrorInfo):
- * generic/tclExecute.c (TclUpdateReturnInfo):
- * generic/tclInt.h:
- * generic/tclProc.c:
- Added two Tcl_Obj to the ExecEnv structure to hold the fully qualified
- names "::errorInfo" and "::errorCode" to cache the addresses of the
- corresponding variables. The two most frequent setters of these
- variables now profit from the new variable name caching.
+ * generic/tclProc.c (ObjInterpProcEx): disable itcl hacks for calls
+ from ApplyObjCmd (islambda==1), as they mess apply's error messages
+ [Bug 1583266]
-2002-07-15 Miguel Sofer <msofer@users.sourceforge.net>
+2006-10-23 Miguel Sofer <msofer@users.sf.net>
- * generic/tclVar.c: refactorisation to reuse already looked-up Var
- pointers; definition of three new Tcl_Obj types to cache variable name
- parsing and lookup for later reuse; modification of internal functions
- to profit from the caching.
+ * generic/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/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclNamesp.c: adding CONST qualifiers to variable names
- passed to Tcl_FindNamespaceVar and to variable resolvers; adding CONST
- qualifier to the 'msg' argument to TclLookupVar. Needed to avoid code
- duplication in the new tclVar.c code.
-
- * tests/set-old.test:
- * tests/var.test: slight modification of error messages due to the
- modifications in the tclVar.c code.
-
-2002-07-15 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBasic.c (TclEvalObjvInternal): removed redundant check
+ for ensembles. [Bug 1577628]
- * tests/unixInit.test: Improved constraints to protect /tmp. [Bug
- 581403]
+ * 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]
-2002-07-15 Vince Darley <vincentdarley@users.sourceforge.net>
+ * 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]
- * tests/winFCmd.test: renamed 'win2000' and 'notWin2000' to more
- appropriate constraint names.
- * win/tclWinFile.c: updated comments to reflect 07-11 changes.
- * win/tclWinFCmd.c: made ConvertFileNameFormat static again, since no
- longer used in tclWinFile.c
- * mac/tclMacFile.c: completed TclpObjLink implementation which was
- previously lacking.
- * generic/tclIOUtil.c: comment cleanup and code speedup.
-
-2002-07-14 Don Porter <dgp@users.sourceforge.net>
+ ***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).
- * generic/tclInt.h: Removed declarations that duplicated entries
- in the (internal) stub table.
+ ***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).
- * library/tcltest/tcltest.tcl: Corrected errors in handling of
- configuration options -constraints and -limitconstraints.
+2006-10-23 Don Porter <dgp@users.sourceforge.net>
- * README: Bumped HEAD to version 8.4b2 so we can
- * generic/tcl.h: distinguish it from the 8.4b1 release.
+ * README: Bump version number to 8.5a6
+ * generic/tcl.h:
* tools/tcl.wse.in:
- * unix/configure*:
+ * unix/configure.in:
* unix/tcl.spec:
* win/README.binary:
- * win/configure*:
-
-2002-07-11 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * doc/file.n:
- * win/tclWinFile.c: on Win 95/98/ME the long form of the path is used
- as a normalized form. This is required because short forms are not a
- robust representation. The file normalization function has been sped
- up, but more performance gains might be possible, if speed is still an
- issue on these platforms.
-
-2002-07-11 Don Porter <dgp@users.sourceforge.net>
-
- * library/tcltest/tcltest.tcl: Corrected reaction to existing but
- false ::tcl_interactive.
-
- * doc/Hash.3: Overlooked CONST documentation update.
-
-2002-07-11 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * generic/tclCkalloc.c: ckalloc() and friends take the block size as
- an unsigned, so we should use %ud when reporting it in fprintf() and
- panic().
+ * win/configure.in:
-2002-07-11 Miguel Sofer <msofer@users.sourceforge.net>
+ * unix/configure: autoconf-2.59
+ * win/configure:
- * generic/tclCompile.c: now setting local vars undefined at compile
- time, instead of waiting until the proc is initialized.
- * generic/tclProc.c: use macro TclSetVarUndefined instead of directly
- setting the flag.
+2006-10-21 Miguel Sofer <msofer@users.sf.net>
-2002-07-11 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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).
- * tests/cmdAH.test: [file attr -perm] is Unix-only, so add [catch]
- when not inside a suitably-protected test.
+2006-10-20 Reinhard Max <max@tclers.tk>
-2002-07-10 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * unix/configure.in: Added autodetection for OS-supplied timezone
+ * unix/Makefile.in: files and configure switches to override the
+ * unix/configure: detected default.
- * tests/unixFCmd.test, tests/fileName.test:
- * tests/fCmd.test: Removed [exec] of Unix utilities that have
- equivalents in standard Tcl. [Bug 579268] Also simplified some of
- unixFCmd.test while I was at it.
+2006-10-20 Daniel Steffen <das@users.sourceforge.net>
-2002-07-10 Don Porter <dgp@users.sourceforge.net>
+ *** 8.5a5 TAGGED FOR RELEASE ***
- * tests/tcltest.test: Greatly reduced the number of [exec]s, using
- slave interps instead.
- * library/tcltest/tcltest.tcl: Fixed bug uncovered in the conversion
- where a message was written to stdout instead of [outputChannel].
+ * tools/tcltk-man2html.tcl: add support for alpha & beta versions to
+ useversion glob pattern. [Bug 1579941]
- * tests/basic.test: Cleaned up, constrained, and reduced the
- * tests/compile.test: amount of [exec] usage in the test suite.
- * tests/encoding.test:
- * tests/env.test:
- * tests/event.test:
- * tests/exec.test:
- * tests/io.test:
- * tests/ioCmd.test:
- * tests/regexp.test:
- * tests/regexpComp.test:
- * tests/socket.test:
- * tests/tcltest.test:
- * tests/unixInit.test:
- * tests/winDde.test:
- * tests/winPipe.test:
+2006-10-18 Don Porter <dgp@users.sourceforge.net>
-2002-07-10 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * changes: 8.5a5 release date set
- * tests/cmdAH.test: Removed [exec] of Unix utilities. [Bug 579211]
+ * 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:
- * tests/expr.test: Added tests to make sure that this works.
- * generic/tclExecute.c (ExprCallMathFunc): Functions should also be
- able to return wide-ints. [Bug 579284]
+2006-10-17 Miguel Sofer <msofer@users.sf.net>
-2002-07-08 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * generic/tclInterp.c (ApplyObjCmd): fixed bad error in 2006-10-12
+ commit: interp released too early. Spotted by mistachkin.
- * tests/socket.test: Fixed [Bug 578164]. The original reason for the
- was a DNS outage while running the testsuite. Changed [info hostname]
- to 127.0.0.1 to bypass DNS, knowing that we operate on the local
- host.
+2006-10-16 Miguel Sofer <msofer@users.sf.net>
-2002-07-08 Don Porter <dgp@users.sourceforge.net>
+ * tclProc.c (SetLambdaFromAny):
+ * tests/apply.test (9.1-9.2): plugged intrep leak [Bug 1578454],
+ found by mjanssen.
- * doc/tcltest.n: Fixed incompatibility in [viewFile].
- * library/tcltest/tcltest.tcl: Corrected docs. Bumped to 2.2.1.
- * library/tcltest/pkgIndex.tcl: [Bug 578163]
+2006-10-16 Andreas Kupries <andreask@activestate.com>
-2002-07-08 Vince Darley <vincentdarley@users.sourceforge.net>
+ * generic/tclBasic.c: Moved TIP#219 cleanup to DeleteInterpProc.
- * tests/cmdAH.test:
- * tests/fCmd.test:
- * tests/fileName.test: tests which rely on 'file link' need a
- constraint so they don't run on older Windows OS. [Bug 578158]
- * generic/tclIOUtil.c:
- * generic/tcl.h:
- * generic/tclInt.h:
- * generic/tclTest.c:
- * mac/tclMacChan.c:
- * unix/tclUnixChan.c:
- * win/tclWinChan.c:
- * doc/FileSystem.3: cleaned up internal handling of
- Tcl_FSOpenFileChannel to remove duplicate code, and make writing
- external vfs's clearer and easier. No functionality change. Also
- clarify that objects with refCount zero should not be passed in to the
- Tcl_FS API, and prevent segfaults from occuring on such user errors.
- [Bug 578617]
-
-2002-07-06 Don Porter <dgp@users.sourceforge.net>
-
- * tests/pkgMkIndex.test: Constrained tests of [load] package indexing
- to those platforms where the testing shared libraries have been built.
- [Bug 578166].
-
-2002-07-05 Don Porter <dgp@users.sourceforge.net>
-
- * changes: added recent changes
-
-2002-07-05 Reinhard Max <max@suse.de>
-
- * generic/tclClock.c (FormatClock): Convert the format string to
- UTF8 before calling TclpStrftime, so that non-ASCII characters don't
- get mangled when the result string is being converted back.
- * tests/clock.test: Added a test for that.
-
-2002-07-05 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/Makefile.in (ro-test,ddd,GDB,DDD): Created new targets to allow
- running the test suite with a read-only current directory, running
- under ddd instead of gdb, and factored out some executable names for
- broken sites (like mine) where gdb and ddd are installed with
- non-standard names...
-
- * tests/httpold.test: Altered test names to httpold-* to avoid clashes
- with http.test, and stopped tests from failing when the current
- directory is not writable...
-
- * tests/event.test: Stop these tests from failing
- * tests/ioUtil.test: when the current directory is
- * tests/regexp.test: not writable...
- * tests/regexpComp.test:
- * tests/source.test:
- * tests/unixFile.test:
- * tests/unixNotfy.test:
-
- * tests/unixFCmd.test: Trying to make these test-files
- * tests/macFCmd.test: not bomb out with an error when
- * tests/http.test: the current directory is not
- * tests/fileName.test: writable...
- * tests/env.test:
+2006-10-16 Daniel Steffen <das@users.sourceforge.net>
-2002-07-05 Jeff Hobbs <jeffh@ActiveState.com>
+ * changes: updates for 8.5a5 release.
- *** 8.4b1 TAGGED FOR RELEASE ***
+ * unix/tclUnixThrd.c (TclpThreadGetStackSize): Darwin: fix for main
+ thread, where pthread_get_stacksize_np() returns incorrect info.
-2002-07-04 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * macosx/GNUmakefile: don't redo prebinding of non-prebound binaires.
- * tests/cmdMZ.test (cmdMZ-1.4):
- * tests/cmdAH.test: More fixing of writable-current-dir assumption.
- [Bug 575824]
+2006-10-16 Don Porter <dgp@users.sourceforge.net>
-2002-07-04 Miguel Sofer <msofer@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]
- * tests/basic.test: Same issue as below; fixed [Bug 575817]
+ * 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
-2002-07-04 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+2006-10-13 Colin McCormack <coldstore@users.sf.net>
- * tests/socket.test:
- * tests/winPipe.test:
- * tests/pid.test: Fixed [Bug 575848]. See below for a description the
- general problem.
+ * 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]
- All the bugs below are instances of the same problem: The testsuite
- assumes [pwd] = [temporaryDirectory] and writable.
+2006-10-13 Daniel Steffen <das@users.sourceforge.net>
- * tests/iogt.test: Fixed [Bug 575860]
- * tests/io.test: Fixed [Bug 575862]
- * tests/exec.test:
- * tests/ioCmd.test: Fixed [Bug 575836]
+ * 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
-2002-07-03 Don Porter <dgp@users.sourceforge.net>
+2006-10-12 Miguel Sofer <msofer@users.sf.net>
- * tests/pkg1/direct1.tcl: removed
- * tests/pkg1/pkgIndex.tcl: removed
- * tests/pkgMkIndex.test: Imported auxilliary files from tests/pkg1
- into the test file pkgMkIndex.test itself. Formatting fixes.
+ * 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]
- * unix/Makefile.in: removed tests/pkg/* from `make dist`
+2006-10-12 David Gravereaux <davygrvy@pobox.com>
- * tests/pkg/circ1.tcl: removed
- * tests/pkg/circ2.tcl: removed
- * tests/pkg/circ3.tcl: removed
- * tests/pkg/global.tcl: removed
- * tests/pkg/import.tcl: removed
- * tests/pkg/pkg1.tcl: removed
- * tests/pkg/pkg2_a.tcl: removed
- * tests/pkg/pkg2_b.tcl: removed
- * tests/pkg/pkg3.tcl: removed
- * tests/pkg/pkg4.tcl: removed
- * tests/pkg/pkg5.tcl: removed
- * tests/pkg/pkga.tcl: removed
- * tests/pkg/samename.tcl: removed
- * tests/pkg/simple.tcl: removed
- * tests/pkg/spacename.tcl: removed
- * tests/pkg/std.tcl: removed
- * tests/pkgMkIndex.test: Fixed [Bug 575857] where this test file
- expected to be able to write to [file join [testsDirectory] pkg]. Part
- of the fix was to import several auxilliary files into the test file
- itself.
+ * win/nmakehlp.c: Replaced all wnsprintf() calls with snprintf().
+ wnsprintf was not in my shwlapi header file (VC++6)
- * tests/main.test: Cheap fix for [Bugs 575851, 575858]. Avoid
- * tests/tcltest.test: non-writable . by [cd [temporaryDirectory]].
+2006-10-11 Don Porter <dgp@users.sourceforge.net>
- * library/auto.tcl: Fix [tcl_findLibrary] to be sure it sets $varName
- only if a successful library script is found. [Bug 577033]
+ * generic/tclPkg.c (Tcl_PackageRequireEx): Corrected crash when
+ argument version=NULL passed in.
-2002-07-03 Miguel Sofer <msofer@users.sourceforge.net>
+2006-10-10 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompCmds.c (TclCompileCatchCmd): return
- TCL_OUT_LINE_COMPILE instead of TCL_ERROR: let the failure happen at
- runtime so that it can be caught [Bug 577015].
+ * changes: Updates for 8.5a5 release.
-2002-07-02 Joe English <jenglish@users.sourceforge.net>
+ * 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.
- * doc/tcltest.n: Markup fixes, spellcheck.
+2006-10-09 Miguel Sofer <msofer@users.sf.net>
-2002-07-02 Don Porter <dgp@users.sourceforge.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]
- * doc/tcltest.n: more refinements of the documentation.
+2006-10-09 Miguel Sofer <msofer@users.sf.net>
- * library/tcltest/tcltest.tcl: Added trace to be sure the stdio
- constraint is updated whenever the [interpreter] changes.
+ * 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.
- * doc/tcltest.n: Reverted [makeFile] and [viewFile] to
- * library/tcltest/tcltest.tcl: their former behavior, and documented
- * tests/cmdAH.test: it. Corrected misspelling of hook
- * tests/event.test: procedure. Restored tests.
- * tests/http.test:
- * tests/io.test:
+ 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.
- * library/tcltest/tcltest.tcl: Simplified logic of [GetMatchingFiles]
- and [GetMatchingDirectories], removing special case processing.
+2006-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
- * doc/tcltest.n: More documentation updates. Reference sections are
- complete. Only examples need adding.
+ * win/rules.vc: [Bug 1571954] avoid /RTCc flag with MSVC8
-2002-07-02 Vince Darley <vincentdarley@users.sourceforge.net>
+2006-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
- * tests/fCmd.test:
- * generic/tclCmdAH.c: clearer error msgs for 'file link', as per the
- man page.
+ * doc/binary.n: TIP #275: Support unsigned values in binary
+ * generic/tclBinary.c: command. Tests and documentation updated.
+ * tests/binary.test:
-2002-07-01 Joe English <jenglish@users.sourceforge.net>
+2006-10-05 Andreas Kupries <andreask@activestate.com>
- * doc/Access.3:
- * doc/AddErrInfo.3:
- * doc/Alloc.3:
- * doc/Backslash.3:
- * doc/CrtChannel.3:
- * doc/CrtSlave.3:
- * doc/Encoding.3:
- * doc/Eval.3:
- * doc/FileSystem.3:
- * doc/Notifier.3:
- * doc/OpenFileChnl.3:
- * doc/ParseCmd.3:
- * doc/RegExp.3:
- * doc/Tcl_Main.3:
- * doc/Thread.3:
- * doc/TraceCmd.3:
- * doc/Utf.3:
- * doc/WrongNumArgs.3:
- * doc/binary.n:
- * doc/clock.n:
- * doc/expr.n:
- * doc/fconfigure.n:
- * doc/glob.n:
- * doc/http.n:
- * doc/interp.n:
- * doc/lsearch.n:
- * doc/lset.n:
- * doc/msgcat.n:
- * doc/packagens.n:
- * doc/pkgMkIndex.n:
- * doc/registry.n:
- * doc/resource.n:
- * doc/safe.n:
- * doc/scan.n:
- * doc/tclvars.n: Spell-check, fixed typos (Updates from Larry Virden)
+ * library/tm.tcl: Fixed bug in TIP #189 implementation, now allowing
+ '_' in module names.
-2002-07-01 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-10-05 Jeff Hobbs <jeffh@ActiveState.com>
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Made Solaris use gcc for linking
- when building with gcc to resolve problems with undefined symbols
- being present when tcl library used with non-gcc linker at later
- stage. Symbols were compiler-generated, so it is the compiler's
- business to define them. [Bug 541181]
-
-2002-07-01 Don Porter <dgp@users.sourceforge.net>
-
- * doc/tcltest.n: more work in progress updating tcltest docs.
-
- * library/tcltest/tcltest.tcl: Change [configure -match] to stop
- treating an empty list as a list of the single pattern "*". Changed
- the default value to [list *] so default operation remains the same.
+ * 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]
- * tests/pkg/samename.tcl: restored. Needed by pkgMkIndex.test.
+ * 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]
- * library/tcltest/tcltest.tcl: restored writeability testing of
- -tmpdir, augmented by a special exception for the deafault value.
+2006-10-05 Miguel Sofer <msofer@users.sf.net>
-2002-07-01 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclVar.c (Tcl_LappendObjCmd):
+ * tests/append.test(4.21-22): fix for longstanding [Bug 1570718],
+ lappending nothing to non-list. Reported by lvirden
- * doc/concat.n: Documented the *real* behaviour of [concat]!
+2006-10-04 Kevin B. Kenny <kennykb@acm.org>
-2002-06-30 Don Porter <dgp@users.sourceforge.net>
+ * tzdata/: Olson's tzdata2006m.
- * doc/tcltest.n: more work in progress updating tcltest docs.
+2006-10-01 Kevin B. Kenny <kennykb@acm.org>
- * tests/README: Updated the instructions on running and
- * tests/cmdMZ.test: adding to the test suite. Also updated
- * tests/encoding.test: several tests, mostly to correctly create
- * tests/fCmd.test: and destroy any temporary files in the
- * tests/info.test: [temporaryDirectory] of tcltest.
- * tests/interp.test:
+ * tests/clock.test (clock-49.2): Removed a locale dependency that
+ caused a spurious failure in the German locale. [Bug 1567956]
- * library/tcltest/tcltest.tcl: Stopped checking for writeability of
- -tmpdir value because no default directory can be guaranteed to be
- writeable.
+2006-10-01 Miguel Sofer <msofer@users.sf.net>
- * tests/autoMkindex.tcl: removed.
- * tests/pkg/samename.tcl: removed.
- * tests/pkg/magicchar.tcl: removed.
- * tests/pkg/magicchar2.tcl: removed.
- * tests/autoMkindex.test: Updated auto_mkIndex tests to use [makeFile]
- and [removeFile] so tests are done in [temporaryDirecotry] where write
- access is guaranteed.
+ * doc/Eval.3 (TclEvalObjv): added note on refCount management for the
+ elements of objv. [Bug 730244]
- * library/tcltest/tcltest.tcl: Fixed [makeFile] and [viewFile] to
- * tests/cmdAH.test: accurately reflect a file's contents.
- * tests/event.test: Updated tests that depended on buggy
- * tests/http.test: behavior. Also added warning messages
- * tests/io.test: to "-debug 1" operations to debug test
- * tests/iogt.test: calls to (make|remove)(File|Directory).
+2006-10-01 Pat Thoyts <patthoyts@users.sourceforge.net>
- * unix/mkLinks: `make mklinks` on 6-27 commits.
+ * win/tclWinFile.c: Handle possible missing define.
-2002-06-28 Miguel Sofer <msofer@users.sourceforge.net>
+ * win/tclWinFile.c (TclpUtime): [Bug 1420432] file mtime fails for
+ * tests/cmdAH.test: directories on windows
- * generic/tclCompile.h: modified the macro TclEmitPush to not call its
- first argument repeatedly or pass it to other macros, [Bug 575194]
- reported by Peter Spjuth.
+ * tests/winFile.test: Handle Msys environment a little differently in
+ getuser function. [Bug 1567956]
-2002-06-28 Don Porter <dgp@users.sourceforge.net>
+2006-09-30 Miguel Sofer <msofer@users.sf.net>
- * docs/tcltest.n: Doc revisions in progress.
- * library/tcltest/tcltest.tcl: Corrected -testdir default value. Was
- not reliable, and disagreed with docs! Thanks to Hemang Lavana. [Bug
- 575150]
+ * generic/tclUtil.c (Tcl_SplitList): optimisation, [Patch 1344747] by
+ dgp.
-2002-06-28 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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]
- * unix/tclUnixThrd.c: Renamed the Tcl_Platform* #defines to
- * unix/tclUnixPipe.c: TclOS* because they are only used
- * unix/tclUnixFile.c: internally. Also stopped double-#def
- * unix/tclUnixFCmd.c: of TclOSlstat [Bug 566099, post-rename]
- * unix/tclUnixChan.c:
- * unix/tclUnixPort.h:
+ * generic/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
- * doc/string.n: Improved documentation for [string last] along lines
- described in [Bug 574799] so it indicates that the supplied index
- marks the end of the search space.
+2006-09-28 Andreas Kupries <andreask@activestate.com>
-2002-06-27 Don Porter <dgp@users.sourceforge.net>
+ * 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]
- * doc/dde.n: Work in progress updating the documentation
- * doc/http.n: of the packages that come bundled with
- * doc/msgcat.n: the Tcl source distribution, notably tcltest.
- * doc/registry.n:
- * doc/tcltest.n:
+2006-09-28 Miguel Sofer <msofer@users.sf.net>
- * library/tcltest/tcltest.tcl: Made sure that the TCLTEST_OPTIONS
- environment variablle configures tcltest at package load time.
+ * generic/tclIO.c (Tcl_GetsObj): added two test'n'panic guards for
+ possible NULL derefs, [Bug 1566382] and coverity #33.
-2002-06-26 Vince Darley <vincentdarley@users.sourceforge.net>
+2006-09-27 Don Porter <dgp@users.sourceforge.net>
- * tests/fileSystem.test:
- * generic/tclIOUtil.c: fix to handling of empty paths "" which are not
- claimed by any filesystem [Bug 573758]. Ensure good error messages are
- given in all cases.
- * tests/cmdAH.test:
- * unix/tclUnixFCmd.c: fix to bug reported as part of [Patch 566669].
- Thanks to Taguchi, Takeshi for the report.
+ * 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]
-2002-06-26 Reinhard Max <max@suse.de>
+ * generic/tclPkg.c (CompareVersion): Flatten strcmp() results to
+ {-1, 0, 1} to match expectations of CompareVersion() callers.
- * unix/tclUnixTime.c: Make [clock format] respect locale settings.
- * tests/clock.test: [Bug 565880]. ***POTENTIAL INCOMPATIBILITY***
+2006-09-27 Miguel Sofer <msofer@users.sf.net>
-2002-06-26 Miguel Sofer <msofer@users.sourceforge.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
- * doc/CrtInterp.3:
- * doc/StringObj.3: clarifications by Don Porter, [Bugs 493995, 500930]
+ * 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.
-2002-06-24 Don Porter <dgp@users.sourceforge.net>
+2006-09-27 Andreas Kupries <andreask@activestate.com>
- * library/tcltest/tcltest.tcl: Corrected suppression of -verbose skip
- * tests/tcltest.test: and start by [test -output]. Also
- corrected test suite errors exposed by corrected code. [Bug 564656]
+ * tests/pkg.test: Added test for version comparison at the 32bit
+ boundary. [Bug 1563836]
-2002-06-25 Reinhard Max <max@suse.de>
+ * 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]
- * unix/tcl.m4: New macro SC_CONFIG_MANPAGES.
- * unix/configure.in: Added support for symlinks and compression
- * unix/Makefile.in: when installing the manpages. [Patch 518052]
- * unix/mkLinks.tcl: Default is still hardlinks and no compression.
+2006-09-27 Miguel Sofer <msofer@users.sf.net>
- * unix/mkLinks: generated
- * unix/configure:
+ * 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.
- * unix/README: Added documentation for the new features.
+2006-09-26 Kevin B. Kenny <kennykb@acm.org>
- * unix/tcl.m4 (SC_PATH_TCLCONFIG): Replaced ${exec_prefix}/lib by
- ${libdir}.
+ * 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'.
-2002-06-25 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-09-26 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tclUtil.c (TclGetIntForIndex): Fix of critical [Bug 533364]
- generated when the index is bad and the result is a shared object. The
- T_ASTO(T_GOR, ...) idiom likely exists elsewhere though. Also removed
- some cruft that just complicated things to no advantage.
- (SetEndOffsetFromAny): Same fix, though this wasn't on the path
- excited by the bug.
+ * win/makefile.vc: Additional compiler flags and amd64 support.
+ * win/nmakehlp.c:
+ * win/rules.vc:
-2002-06-24 Don Porter <dgp@users.sourceforge.net>
+2006-09-26 Don Porter <dgp@users.sourceforge.net>
- * library/tcltest/tcltest.tcl: Implementation of TIP 101. Adds
- * tests/parseOld.test: and exports a [configure] command
- * tests/tcltest.test: from tcltest.
+ * 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.
-2002-06-22 Don Porter <dgp@users.sourceforge.net>
+2006-09-25 Pat Thoyts <patthoyts@users.sourceforge.net>
- * changes: updated changes file for 8.4b1 release.
+ * 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.
- * library/tcltest/tcltest.tcl: Corrections to tcltest and the
- * tests/basic.test: Tcl test suite so that a test
- * tests/cmdInfo.test: with options -constraints knownBug
- * tests/compile.test: -limitConstraints 1 only tests the
- * tests/encoding.test: knownBug tests. Mostly involves
- * tests/env.test: replacing direct access to the
- * tests/event.test: testConstraints array with calls
- * tests/exec.test: to the testConstraint command
- * tests/execute.test: (which requires tcltest version 2)
- * tests/fCmd.test:
- * tests/format.test:
- * tests/http.test:
- * tests/httpold.test:
- * tests/ioUtil.test:
- * tests/link.test:
- * tests/load.test:
- * tests/namespace.test:
- * tests/pkgMkIndex.test:
- * tests/reg.test:
- * tests/result.test:
- * tests/scan.test:
- * tests/stack.test:
+2006-09-25 Andreas Kupries <andreask@activestate.com>
-2002-06-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclIO.c (Tcl_StackChannel): Fixed [Bug 1564642], aka
+ coverity #51. Extended loop condition, added checking for NULL to
+ prevent seg.fault.
- * tools/tcl.wse.in (Disk Label), unix/tcl.spec (version):
- * win/README.binary, README, win/configure.in, unix/configure.in:
- * generic/tcl.h (TCL_RELEASE_*, TCL_PATCH_LEVEL): Bump to beta1.
+2006-09-25 Andreas Kupries <andreask@activestate.com>
-2002-06-21 Joe English <jenglish@users.sourceforge.net>
+ * doc/package.n: Fixed nits reported by Daniel Steffen in the TIP#268
+ changes.
- * generic/tclCompExpr.c:
- * generic/tclParseExpr.c: LogSyntaxError() should reset the
- interpreter result [Bug 550142 "Tcl_ExprObj -> abort"]
+2006-09-25 Kevin B. Kenny <kennykb@acm.org>
-2002-06-21 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * unix/Makefile.in: Updated all package install directories to
- * win/Makefile.in: match current Major.minor versions of the
- * win/makefile.bc: packages. Added tcltest package to
- * win/makefile.vc: installation on Windows.
+2006-09-25 Donal K. Fellows <dkf@users.sf.net>
- * library/init.tcl: Corrected comments and namespace style issues.
- Thanks to Bruce Stephens. [Bug 572025]
+ * generic/tclNotify.c (Tcl_DeleteEvents): Make it clear what happens
+ when the event queue is mismanaged. [Bug 1564677], coverity bug #10.
-2002-06-21 Vince Darley <vincentdarley@users.sourceforge.net>
+2006-09-24 Miguel Sofer <msofer@users.sf.net>
- * tests/cmdAH.test: Added TIP#99 implementation of 'file
- * tests/fCmd.test: link'. Supports creation of symbolic and
- * tests/fileName.test: hard links in the native filesystems and
- * tests/fileSystem.test: in vfs's, when the individual filesystem
- * generic/tclTest.c: supports the concept.
- * generic/tclCmdAH.c:
- * generic/tclIOUtil.c:
- * generic/tcl.h:
- * generic/tcl.decls:
- * doc/FileSystem.3:
- * doc/file.n:
- * mac/tclMacFile.c:
- * unix/tclUnixFile.c:
- * win/tclWinFile.c: Also enhanced speed of 'file normalize' on Windows
+ * generic/tclParse.c (Tcl_ParseCommand): also return an error if
+ start==NULL and numBytes<0. This is coverity's bug #20
-2002-06-20 Miguel Sofer <msofer@users.sourceforge.net>
+ * generic/tclStringObj.c (STRING_SIZE): fix allocation for 0-length
+ strings. This is coverity's bugs #54-5
- * generic/tclBasic.c (TclEvalObjvInternal): fix for [Bug 571385] in
- the implementation of TIP#62 (command tracing). Vince Darley, Hemang
- Lavana & Don Porter: thanks.
+2006-09-22 Andreas Kupries <andreask@activestate.com>
-2002-06-20 Miguel Sofer <msofer@users.sourceforge.net>
+ * generic/tclInt.h: Moved TIP#268's field 'packagePrefer' to the end
+ of the structure, for better backward compatibility.
- * generic/tclExecute.c (TclCompEvalObj): clarified and simplified the
- logic for compilation/recompilation.
+2006-09-22 Andreas Kupries <andreask@activestate.com>
-2002-06-19 Joe English <jenglish@users.sourceforge.net>
+ TIP#268 IMPLEMENTATION
- * doc/file.n: Fixed indentation. No substantive changes.
+ * generic/tclDecls.h: Regenerated from tcl.decls.
+ * generic/tclStubInit.c:
-2002-06-19 Jeff Hobbs <jeffh@ActiveState.com>
+ * doc/PkgRequire.3: Documentation of extended API, extended testsuite.
+ * doc/package.n:
+ * tests/pkg.test:
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): get the resultPtr again as
- the Tcl_ObjSetVar2 may cause the result to change.
- [Patch 558324] (watson)
+ * 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:
-2002-06-19 Miguel Sofer <msofer@users.sourceforge.net>
+2006-09-22 Donal K. Fellows <donal.k.fellows@man.ac.uk>
- * generic/tclExecute.c (TEBC): removing unused "for(;;)" loop;
- improved comments; re-indentation.
+ * 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]
-2002-06-18 Miguel Sofer <msofer@users.sourceforge.net>
+2006-09-21 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c (TEBC):
- - elimination of duplicated code in the non-immediate INST_INCR
- instructions.
- - elimination of 103 (!) TclDecrRefCount macros. The different
- instructions now jump back to a common "DecrRefCount zone" at the
- top of the loop. The macro "ADJUST_PC" was replaced by two macros
- "NEXT_INST_F" and "NEXT_INST_V" that take three params
- (pcAdjustment, # of stack objects to discard, resultObjPtr handling
- flag). The only instructions that retain a TclDecrRefCount are
- INST_POP (for speed), the common code for the non-immediate
- INST_INCR, INST_FOREACH_STEP and the two INST_LSET.
+ * generic/tclUtil.c: Dropped ParseInteger() routine. TclParseNumber
+ covers the task just fine.
- The object size of tclExecute.o was reduced by approx 20% since the
- start of the consolidation drive, while making room for some peep-hole
- optimisation at runtime.
+2006-09-19 Donal K. Fellows <dkf@users.sf.net>
-2002-06-18 Miguel Sofer <msofer@users.sourceforge.net>
+ * generic/tclEvent.c (Tcl_VwaitObjCmd): Rewrite so that an exceeded
+ limit trapped in a vwait cannot cause a dangerous dangling trace.
- * generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic code
- for tcl-stack corruption.
+2006-09-19 Don Porter <dgp@users.sourceforge.net>
-2002-06-17 David Gravereaux <davygrvy@pobox.com>
+ * 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]
- Trims to support the removal of RESOURCE_INCLUDED from rc scripts from
- [FRQ 565088].
+2006-09-15 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tcl.h: moved the #ifndef RC_INVOKED start block up in the
- file. rc scripts don't need to know thread mutexes.
+ * 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:
- * win/tcl.rc:
- * win/tclsh.rc: removed the #define RESOURCE_INCLUDED to let the
- built-in -DRC_INVOKED to the work.
+2006-09-12 Andreas Kupries <andreask@activestate.com>
-2002-06-17 Jeff Hobbs <jeffh@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
- * doc/CrtTrace.3: Added TIP#62 implementation of command
- * doc/trace.n: execution tracing [FRQ 462580] (lavana).
- * generic/tcl.h: This includes enter/leave tracing as well
- * generic/tclBasic.c: as inter-procedure stepping.
- * generic/tclCmdMZ.c:
- * generic/tclCompile.c:
- * generic/tclExecute.c:
- * generic/tclInt.decls:
- * generic/tclInt.h:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclVar.c:
- * tests/trace.test:
+ * 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.
-2002-06-17 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+2006-09-11 Pat Thoyts <patthoyts@users.sourceforge.net>
- * win/tclWinPipe.c (BuildCommandLine): Fixed [bug 554068] ([exec] on
- windows did not treat { in filenames well.). Bug reported by Vince
- Darley <vincentdarley@users.sourceforge.net>, patch provided by Vince
- too.
+ * 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.
-2002-06-17 Joe English <jenglish@users.sourceforge.net>
+2006-09-11 Andreas Kupries <andreask@activestate.com>
- * generic/tcl.h: #ifdef logic for K&R C backwards compatibility
- changed to assume modern C by default. See [FRQ 565088] for full
- details.
+ * unix/Makefile.in (install-libraries): Fixed typo tcltest 2.3.9 ->
+ 2.3.0.
-2002-06-17 Don Porter <dgp@users.sourceforge.net>
+2006-09-11 Daniel Steffen <das@users.sourceforge.net>
- * doc/msgcat.n: Corrected en_UK references to en_GB. UK is not a
- country designation recognized in ISO 3166.
+ * 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.
- * library/msgcat/msgcat.tcl: More Windows Registry locale codes from
- Bruno Haible.
+2006-09-11 Andreas Kupries <andreask@activestate.com>
+ * tests/msgcat.test: Bumped version in auxiliary files as well.
* doc/msgcat.n:
- * library/msgcat/msgcat.tcl:
- * library/msgcat/pkgIndex.tcl:
- * tests/msgcat.test: Revised locale initialization to interpret
- environment variable locale values according to XPG4, and to recognize
- the LC_ALL and LC_MESSAGES values over that of LANG. Also added many
- Windows Registry locale values to those recognized by msgcat. Revised
- tests and docs. Bumped to version 1.3. Thanks to Bruno Haible for the
- report and assistance crafting the solution. [Bug 525522, 525525]
-
-2002-06-16 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompile.c (TclCompileTokens): a better algorithm for the
- previous bug fix.
-
-2002-06-16 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclCompile.c (TclCompileTokens):
- * tests/compile.test: [Bug 569438] in the processing of dollar
- variables; report by Georgios Petasis.
-
-2002-06-16 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c: bug in the consolidation of the INCR_..._STK
- instructions; the bug could not be exercised as the (faulty)
- instruction INST_INCR_ARRAY_STK was never compiled-in (related to [Bug
- 569438]).
-2002-06-14 Miguel Sofer <msofer@users.sourceforge.net>
+2006-09-11 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclExecute.c (TclExecuteByteCode): runtime peep-hole
- optimisation of variables (INST_STORE, INST_INCR) and commands
- (INST_INVOKE); faster check for the existence of a catch.
- (TclExecuteByteCode): runtime peep-hole optimisation of comparisons.
- (TclExecuteByteCode): runtime peep-hole optimisation of INST_FOREACH -
- relies on peculiarities of the code produced by the bytecode compiler.
+ * unix/Makefile.in: Bumped msgcat version to 1.4.2 to be
+ * win/Makefile.in: consistent with dgp's commits of 2006-09-10.
-2002-06-14 David Gravereaux <davygrvy@pobox.com>
+2006-09-11 Don Porter <dgp@users.sourceforge.net>
- * win/rules.vc: The test for compiler optimizations was in error.
- Thanks goes to Roy Terry <royterry@earthlink.net> for his assistance
- with this.
+ * library/msgcat/msgcat.tcl: Removed some unneeded [uplevel]s.
-2002-06-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-09-10 Don Porter <dgp@users.sourceforge.net>
- * doc/trace.n, tests/trace.test:
- * generic/tclCmdMZ.c (Tcl_TraceObjCmd,TclTraceCommandObjCmd)
- (TclTraceVariableObjCmd): Changed references to "trace list" to "trace
- info" as mandated by TIP#102.
+ * generic/tclExecute.c: Corrected INST_EXPON flaw that treated
+ * tests/expr.test: $x**1 as $x**3. [Bug 1555371]
-2002-06-13 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): consolidated code for the
- conditional branch instructions.
-
-2002-06-13 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): fixed the previous
- patch - wouldn't compile with TCL_COMPILE_DEBUG set.
-
-2002-06-13 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclExecute.c (TclExecuteByteCode): consolidated the handling
- of exception returns to INST_INVOKE and INST_EVAL, as well as most of
- the code for INST_CONTINUE and INST_BREAK, in the new jump target
- "processExceptionReturn".
+ * 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:
-2002-06-13 Miguel Sofer <msofer@users.sourceforge.net>
+ * library/msgcat/msgcat.tcl: Bump to version msgcat 1.4.2 to
+ * library/msgcat/pkgIndex.tcl: account for modifications.
- * generic/tclExecute.c (TclExecuteByteCode): consolidated variable
- handling opcodes, replaced redundant code with some 'goto'. All
- store/append/lappend opcodes on the same data type now share the main
- code; same with incr opcodes.
- * generic/tclVar.c: added the bit TCL_TRACE_READS to the possible
- flags to Tcl_SetVar2Ex - it causes read traces to be fired prior to
- setting the variable. This is used in the core for [lappend].
+2006-09-10 Daniel Steffen <das@users.sourceforge.net>
- ***NOTE*** the usage of TCL_TRACE_READS in Tcl_(Obj)?GetVar.* is not
- documented; there, it causes the call to create the variable if it
- does not exist. The new usage in Tcl_(Obj)?SetVar.* remains
- undocumented too ...
+ * 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).
-2002-06-13 Vince Darley <vincentdarley@users.sourceforge.net>
+ * library/tcltest/tcltest.tcl: add 'line' verbose level: prints source
+ * doc/tcltest.n: file line information of failing tests.
- * tests/fCmd.test:
- * tests/winFile.test:
- * tests/fileSystem.test:
- * generic/tclTest.c:
- * generic/tclCmdAH.c:
- * generic/tclIOUtil.c:
- * doc/FileSystem.3:
- * mac/tclMacFile.c:
- * unix/tclUnixFile.c:
- * win/tclWinFile.c: fixed up further so both compiles and actually
- works with VC++ 5 or 6.
- * win/tclWinInt.h:
- * win/tclWin32Dll.c: cleaned up code and vfs tests and added tests for
- the internal changes of 2002-06-12, to see whether WinTcl on NTFS can
- coexist peacefully with links in the filesystem. Added new test
- command 'testfilelink' to enable the newer code to be tested.
- * tests/fCmd.test: (made certain tests of 'testfilelink' not run on
- unix).
+ * macosx/Tcl.xcodeproj/project.pbxproj: add new tclUnixCompat.c file;
+ revise tests target to use new tcltest 'line' verbose level.
-2002-06-12 Miguel Sofer <msofer@users.sourceforge.net>
+ * 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
- * tclBasic.c (Tcl_DeleteTrace): fixed [Bug 568123] (thanks to
- Hemang Lavana)
+2006-09-08 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-2002-06-12 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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).
- * win/tclWinFile.c: corrected the symbolic link handling code to
- allow it to compile. Added real definition of REPARSE_DATA_BUFFER
- (found in winnt.h). Most of the added definitions appear to have
- correct, cross-Win-version equivalents in winnt.h and should be
- removed, but just making things "work" for now.
+ * unix/configure.in: Assume gethostbyname() and gethostbyaddr() are
+ MT-safe starting with Darwin 6 (Mac OSX 10.2).
-2002-06-12 Vince Darley <vincentdarley@users.sourceforge.net>
+ * unix/configure: Regenerated with autoconf V2.59
- * generic/tclIOUtil.c:
- * generic/tcl.decls:
- * generic/tclDecls.h: made code for Tcl_FSNewNativePath agree with man
- pages.
+2006-09-08 Andreas Kupries <andreask@activestate.com>
- * doc/FileSystem.3: clarified the circumstances under which certain
- functions are called in the presence of symlinks.
+ * unix/tclUnixCompat.c: Fixed conditions for CopyArray/CopyString, and
+ CopyHostent. Also fixed bad var names in TclpGetHostByName.
- * win/tclWinFile.c:
- * win/tclWinPort.h:
- * win/tclWinInt.h:
- * win/tclWinFCmd.c: Fix for Windows to allow 'file lstat', 'file
- type', 'glob -type l', 'file copy', 'file delete', 'file normalize',
- and all VFS code to work correctly in the presence of symlinks
- (previously Tcl's behaviour was not very well defined). This also
- fixes possible serious problems in all versions of WinTcl where 'file
- delete' on a NTFS symlink could delete the original, not the symlink.
- Note: symlinks cannot yet be created in pure Tcl.
+2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-2002-06-11 Miguel Sofer <msofer@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.
- * generic/tclBasic.c:
- * generic/tclCompCmds.c:
- * generic/tclInt.h: reverted the new compilation functions; replaced
- by a more general approach described below.
+2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
- * generic/tclCompCmds.c:
- * generic/tclCompile.c: made *all* compiled variable access attempts
- create an indexed variable - even get or incr without previous set.
- This allows indexed access to local variables that are created and set
- at runtime, for example by [global], [upvar], [variable], [regexp],
- [regsub].
+ * 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:
-2002-06-11 Miguel Sofer <msofer@users.sourceforge.net>
+2006-09-06 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
- * doc/global.n:
- * doc/info.n:
- * test/info.test:
- * generic/tclCmdIL.c: fix for [Bug 567386], [info locals] was
- reporting some linked variables.
+ * 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.
- * generic/tclBasic.c:
- * generic/tclCompCmds.c:
- * generic/tclInt.h: added compile functions for [global], [variable]
- and [upvar]. They just declare the new local variables, the commands
- themselves are not compiled-in. This gives a notably faster read
- access to these linked variables.
+ * unix/tclUnixCompat.c: New file containing MT-safe implementation of
+ some library calls.
-2002-06-11 Miguel Sofer <msofer@users.sourceforge.net>
+2006-09-04 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c: optimised algorithm for exception range
- lookup; part of [Patch 453709].
+ * generic/tclCompExpr.c: Removed much complexity that is no
+ longer needed.
-2002-06-10 Vince Darley <vincentdarley@users.sourceforge.net>
+ * tests/main.text (Tcl_Main-4.4): Test corrected to not be
+ timing sensitive to the Bug 1481986 fix. [Bug 1550858]
- * unix/tclUnixFCmd.c: fixed [Bug 566669]
- * generic/tclIOUtil.c: improved and sped up handling of native paths
- (duplication and conversion to normalized paths), particularly on
- Windows.
- * modified part of above commit, due to problems on Linux. Will
- re-examine bug report and evaluate more closely.
+2006-09-04 Jeff Hobbs <jeffh@ActiveState.com>
-2002-06-07 Don Porter <dgp@users.sourceforge.net>
+ * doc/package.n: correct package example
- * tests/tcltest.test: More corrections to test suite so that tests of
- failing [test]s don't show up themselves as failing tests.
+2006-08-31 Don Porter <dgp@users.sourceforge.net>
-2002-06-07 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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]
- * generic/tclExecute.c: Tidied up headers in relation to float.h to
- cut the cruft and ensure DBL_MAX is defined since doubles seem to be
- the same size everywhere; if the assumption isn't true, the variant
- platforms had better have run configure...
+ * 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.
- * unix/tclUnixPort.h (EOVERFLOW): Added code to define it if it wasn't
- previously defined. Also some other general tidying and adding of
- comments. [Bugs 563122, 564595]
- * compat/tclErrno.h: Added definition for EOVERFLOW copied from
- Solaris headers; I've been unable to find any uses of EFTYPE, which
- was the error code previously occupying the slot, in Tcl, or any
- definition of it in the Solaris headers.
+2006-08-29 Don Porter <dgp@users.sourceforge.net>
-2002-06-06 Mo DeJong <mdejong@users.sourceforge.net>
+ * generic/tclParseExpr.c: Dropped the old expr parser.
- * unix/dltest/Makefile.in: Remove hard coded CFLAGS=-g and add
- CFLAGS_DEBUG, CFLAGS_OPTIMIZE, and CFLAGS_DEFAULT varaibles. [Bug
- 565488]
+2006-08-30 Jeff Hobbs <jeffh@ActiveState.com>
-2002-06-06 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclBasic.c (Tcl_CreateInterp): init iPtr->threadId
- * tests/tcltest.test: Corrections to test suite so that tests of
- failing [test]s don't show up themselves as failing tests.
+ * win/tclWinChan.c [Bug 819667] Improve logic for identifying COM
+ ports.
- * tests/io.test: Fixed up namespace variable resolution issues
- revealed by running test suite with "-singleproc 1".
+ * generic/tclIOGT.c (ExecuteCallback):
+ * generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj)
+ with more efficient Tcl_Eval(Obj)Ex
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl:
- * tests/tcltest.test: Several updates to tcltest.
- 1) changed to lazy initialization of test constraints
- 2) deprecated [initConstraintsHook]
- 3) repaired badly broken [limitConstraints].
- 4) deprecated [threadReap] and [mainThread]
- [Patch 512214, Bug 558742, Bug 461000, Bug 534903]
+ * unix/Makefile.in (valgrindshell): add valgrindshell target and
+ update default VALGRINDARGS. User can override, or add to it with
+ VALGRIND_OPTS env var.
-2002-06-06 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclFileName.c (DoGlob): match incrs with decrs.
- * unix/tclUnixThrd.c (TclpReaddir, TclpLocaltime, TclpGmtime):
- added mutex wrapped calls to readdir, localtime & gmtime in case their
- thread-safe *_r counterparts are not available.
- * unix/tcl.m4: added configure check for readdir_r
- * unix/tcl.m4 (Darwin): set TCL_DEFAULT_ENCODING to utf-8 on MacOSX
- (where posix file apis expect utf-8, not iso8859-1).
- * unix/configure: regen
- * unix/Makefile.in: set DYLD_LIBRARY_PATH in parallel to
- LD_LIBRARY_PATH for MacOSX dynamic linker.
- * generic/tclEnv.c (TclSetEnv): fix env var setting on MacOSX. Adapted
- from [Patch 524352] (jkbonfield).
+2006-08-29 Don Porter <dgp@users.sourceforge.net>
-2002-06-05 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.
- * doc/Tcl_Main.3: Documented $tcl_rcFileName and added more
- clarifications about the intended use of Tcl_Main(). [Bug 505651]
+2006-08-29 Joe Mistachkin <joe@mistachkin.com>
-2002-06-05 Daniel Steffen <das@users.sourceforge.net>
+ * 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).
- * generic/tclFileName.c (TclGlob): mac specific fix to recent changes
- in 'glob -tails' handling.
- * mac/tclMacPort.h:
- * mac/tclMacChan.c: fixed TIP#91 bustage.
- * mac/tclMacResource.c (Tcl_MacConvertTextResource): added utf
- conversion of text resource contents.
- * tests/macFCmd.test (macFCmd-1.2): allow CWIE creator.
+2006-08-29 Colin McCormack <coldstore@users.sourceforge.net>
-2002-06-04 Don Porter <dgp@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:
- * library/tcltest/tcltest.tcl:
- * tests/init.test:
- * tests/tcltest.test: Added more TIP 85 tests from Arjen Markus.
- Converted tcltest.test to use a private namespace. Fixed bugs in
- [tcltest::Eval] revealed by calling [tcltest::test] from a non-global
- namespace, and namespace errors in init.test.
+2006-08-28 Kevin B. Kenny <kennykb@acm.org>
-2002-06-04 Mo DeJong <mdejong@users.sourceforge.net>
+ * library/tzdata/America/Havana: Regenerated from Olson's
+ * library/tzdata/America/Tegucigalpa: tzdata2006k.
+ * library/tzdata/Asia/Gaza:
- * win/README: Update msys+mingw URL.
+2006-08-28 Don Porter <dgp@users.sourceforge.net>
-2002-06-03 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]
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl:
- * library/tcltest/pkgIndex.tcl:
- * tests/tcltest.test: Implementation of TIP 85. Allows tcltest users
- to add new legal values of the -match option to [test], associating
- each with a Tcl command that does the matching of expected results
- with actual results of tests. Thanks to Arjen Markus. => tcltest 2.1
- [Patch 521362]
+ * generic/tclStringObj.c: Corrected TclFormatObj's failure to
+ count up the number of arguments required by examining the format
+ string. [Bug 1547681]
-2002-06-03 Miguel Sofer <msofer@users.sourceforge.net>
+2006-08-27 Joe Mistachkin <joe@mistachkin.com>
- * doc/namespace.n: added description of [namepace forget] behaviour
- for unqualified patterns [Bug 559268]
+ * generic/tclClock.c (ClockClicksObjCmd): Fix nested macro breakage
+ with TCL_MEM_DEBUG enabled. [Bug 1547662]
-2002-06-03 Miguel Sofer <msofer@users.sourceforge.net>
+2006-08-26 Miguel Sofer <msofer@users.sf.net>
- * generic/tclExecute.c: reverting an accidental modification in the
- last commit.
+ * 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.
-2002-06-03 Miguel Sofer <msofer@users.sourceforge.net>
+2006-08-24 Kevin B. Kenny <kennykb@acm.org>
- * doc/Tcl.n: clarify the empty variable name issue ([Bug 549285]
- reported by Tom Krehbiel, patch by Don Porter).
+ * 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.
-2002-05-31 Don Porter <dgp@users.sourceforge.net>
+2006-08-23 Don Porter <dgp@users.sourceforge.net>
- * library/package.tcl: Fixed leak of slave interp in [pkg_mkIndex].
- Thanks to Helmut for report. [Bug 550534]
+ * 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.
- * tests/io.test:
- * tests/main.test: Use the "stdio" constraint to control whether an
- [open "|[interpreter]"] is attempted.
-
- * generic/tclExecute.c (TclMathInProgress,TclExecuteByteCode
- (ExprCallMathFunc):
- * generic/tclInt.h (TclMathInProgress):
- * unix/Makefile.in (tclMtherr.*):
- * unix/configure.in (NEED_MATHERR):
- * unix/tclAppInit.c (matherr):
- * unix/tclMtherr.c (removed file):
- * win/tclWinMtherr.c (_matherr): Removed internal routine
- TclMathInProgress and Unix implementation of matherr(). These are now
- obsolete, dealing with very old versions of the C math library.
- Windows version is retained in case Borland compilers require it, but
- it is inactive. Thanks to Joe English. [Bug 474335, Patch 555635]
- * unix/configure: regen
-
-2002-05-30 Miguel Sofer <msofer@users.sourceforge.net>
+2006-08-21 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompExpr.c:
- * generic/tclCompile.c:
- * generic/tclCompile.h: removed exprIsJustVarRef and
- exprIsComparison from the ExprInfo and CompileEnv structs. These were
- set, but not used since dec 1999 [Bug 562383].
+ * generic/tclIOUtil.c: Revisions to complete the thread finalization
+ of the cwdPathPtr. [Bug 1536142]
-2002-05-30 Vince Darley <vincentdarley@users.sourceforge.net>
+ * generic/tclParseExpr.c: Revised mistaken call to
+ TclCheckBadOctal(), so both [expr 08] and [expr 08z] have same
+ additional info in error message.
- * generic/tclFileName.c (TclGlob): fix to longstanding 'knownBug' in
- fileName tests 15.2-15.4, and fix to a new Tcl 8.4 bug in certain uses
- of 'glob -tails'.
- * tests/fileName.test: removed 'knownBug' flag from some tests, added
- some new tests for above bugs.
+ * 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:
-2002-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+2006-08-21 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * unix/configure: regen'ed
- * unix/configure.in: replaced bigendian check with autoconf standard
- AC_C_BIG_ENDIAN, which defined WORDS_BIGENDIAN on bigendian systems.
- * generic/tclUtf.c (Tcl_UniCharNcmp):
- * generic/tclInt.h (TclUniCharNcmp): use WORDS_BIGENDIAN instead of
- TCL_OPTIMIZE_UNICODE_COMPARE to enable memcmp alternative.
+ * win/Makefile.in (gdb): Make this target work so that debugging an
+ msys build is possible.
- * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP):
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for choosing
- the Tcl_UniCharNcmp compare to when both objs are of StringType, as
- benchmarks show that is the optimal check (both bigendian and
- littleendian systems).
+2006-08-21 Daniel Steffen <das@users.sourceforge.net>
-2002-05-29 Don Porter <dgp@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.
- * generic/tclMain.c: Removed "dummy" reference to Tcl_LinkVar. It is
- no longer needed since Tcl_Main() now actually calls Tcl_LinkVar().
- Thanks to Joe English for pointing that out.
+ * 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]
-2002-05-29 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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
- * generic/tclExecute.c (TclExecuteByteCode):
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): Use the macro version.
- * generic/tclInt.h (TclUniCharNcmp): Optimised still further with a
- macro for use in sensitive places like tclExecute.c
+ * 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]
- * generic/tclUtf.c (Tcl_UniCharNcmp): Use new flag to figure out when
- we can use an optimal comparison scheme, and default to the old scheme
- in other cases which is at least safe.
- * unix/configure.in (TCL_OPTIMIZE_UNICODE_COMPARE): New optional flag
- that indicates when we can use memcmp() to compare Unicode strings
- (i.e. when the high-byte of a Tcl_UniChar precedes the low-byte.)
+2006-08-18 Daniel Steffen <das@users.sourceforge.net>
-2002-05-29 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclUtf.c: added TclpUtfNcmp2 private command that mirrors
- Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This provides a
- faster alternative for comparing utf strings internally.
- (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end of
- string check as it wasn't correct for the function (by doc and logic).
-
- * generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal
- comparison code to use TclpUtfNcmp2 as well as short-circuit for equal
- objects or unequal length strings in the equal case. Removed the use
- of goto and streamlined the other parts.
-
- * generic/tclExecute.c (TclExecuteByteCode): added check for object
- equality in the comparison instructions. Added short-circuit for !=
- length strings in INST_EQ, INST_NEQ and INST_STR_CMP. Reworked
- INST_STR_CMP to use TclpUtfNcmp2 where appropriate, and only use
- Tcl_UniCharNcmp when at least one of the objects is a Unicode obj with
- no utf bytes.
-
- * generic/tclCompCmds.c (TclCompileStringCmd): removed error creation
- in code that no longer throws an error.
+ * generic/tcl.h: add fixes for building on Leopard and
+ * unix/tclUnixPort.h: support for 64-bit CoreFoundation on Leopard
+ * macosx/tclMacOSXFCmd.c:
- * tests/string.test:
- * tests/stringComp.test: added more string comparison checks.
+ * unix/tclUnixPort.h: on Darwin x86_64, disable use of vfork as it
+ causes execve to fail intermittently. (rdar://4685553)
- * tests/clock.test: better qualified 9.1 constraint check for %s.
+ * 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)
-2002-05-28 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * generic/tclThreadAlloc.c (TclpRealloc, TclpFree): protect against
- the case when NULL is based.
+ * 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.
- * tests/clock.test: added clock-9.1
- * compat/strftime.c:
- * generic/tclClock.c:
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * unix/tclUnixTime.c: fix for Windows msvcrt mem leak caused by using
- an env(TZ) setting trick for in clock format -gmt 1. This also makes
- %s seem to work correctly with -gmt 1 as well as making it a lot
- faster by avoid the env(TZ) hack. TclpStrftime now takes useGMT as an
- arg. [Bug 559376]
-
-2002-05-28 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclIOUtil.c: fixes to Tcl_FSLoadFile when called on a file
- inside a vfs. This should avoid leaving temporary files sitting around
- on exit. [Bug 545579]
-
-2002-05-27 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * win/tclWinError.c: Added comment on conversion of
- ERROR_NEGATIVE_SEEK because that is a mapping that really belongs, and
- not a catch-all case.
- * win/tclWinPort.h (EOVERFLOW): Should be either EFBIG or EINVAL
- * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): EOVERFLOW can
- potentially be a synonym for EINVAL.
-
-2002-05-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- === Changes due to TIP#91 ===
-
- * win/tclWinPort.h: Added declaration of EOVERFLOW.
- * doc/CrtChannel.3: Added documentation of wideSeekProc.
- * generic/tclIOGT.c (TransformSeekProc, TransformWideSeekProc):
- Adapted to use the new channel mechanism.
- * unix/tclUnixChan.c (FileSeekProc, FileWideSeekProc): Renamed
- FileSeekProc to FileWideSeekProc and created new FileSeekProc which
- has the old-style interface and which errors out with EOVERFLOW when
- the returned file position can't fit into the return type (int for
- historical reasons.)
- * win/tclWinChan.c (FileSeekProc, FileWideSeekProc): Renamed
- FileSeekProc to FileWideSeekProc and created new FileSeekProc which
- has the old-style interface and which errors out with EOVERFLOW when
- the returned file position can't fit into the return type (int for
- historical reasons.)
- * mac/tclMacChan.c (FileSeek): Reverted to old interface; Macs lack
- large-file support because I can't see how to add it.
- * generic/tclIO.c (Tcl_Seek, Tcl_Tell): Given these functions
- knowledge of the new arrangement of channel types.
- (Tcl_ChannelVersion): Added recognition of new version code.
- (HaveVersion): New function to do version checking.
- (Tcl_ChannelBlockModeProc, Tcl_ChannelFlushProc)
- (Tcl_ChannelHandlerProc): Made these functions use HaveVersion for
- ease of future maintainability.
- (Tcl_ChannelBlockModeProc): Obvious lookup function.
- * generic/tcl.h (Tcl_ChannelType): New wideSeekProc field, and
- seekProc type restored to old interpretation.
- (TCL_CHANNEL_VERSION_3): New channel version.
-
-2002-05-24 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tests/winPipe.test: Applied patch for [Bug 549617]. Patch and bug
- report by Kevin Kenny <kennykb@users.sourceforge.net>.
-
- * win/tclWinSock.c (TcpWatchProc): Fixed [Bug 557878]. We are not
- allowed to mess with the watch mask if the socket is a server socket.
- I believe that the original reporter is George Peter Staplin.
-
-2002-05-21 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/configure: Regen.
- * unix/configure.in: Invoke SC_ENABLE_SHARED before calling
- SC_CONFIG_CFLAGS so that the SHARED_BUILD variable can be checked
- inside SC_CONFIG_CFLAGS.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Pass -non_shared instead of -shared
- to ld when configured with --disable-shared under OSF. [Bug 540390]
-
-2002-05-20 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tclInt.h: added prototype for TclpFilesystemPathType().
- * mac/tclMacChan.c: use MSL provided creator type if available instead
- of the default 'MPW '.
-
-2002-05-16 Joe English <jenglish@users.sf.net>
-
- * doc/CrtObjCmd.3: Added Tcl_GetCommandFromObj, Tcl_GetCommandFullName
- [Bugs 547987, 414921]
-
-2002-05-14 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tclUnixChan.c (TtyOutputProc): #if/#endif-ed this function out
- to stop compiler warnings. Also much general tidying of comments in
- this file and removal of whitespace from blank lines.
-
-2002-05-13 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * unix/tclUnixChan.c (SETBREAK): Solaris thinks ioctl() takes a signed
- second argument, and Linux thinks ioctl() takes an unsigned second
- argument. So need a longer definition of this macro to get neither to
- spew warnings...
-
-2002-05-13 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclEvent.c:
- * generic/tclIOUtil.c:
- * generic/tclInt.h: clean up all memory allocated by the filesystem,
- via introduction of 'TclFinalizeFilesystem'. Move TclFinalizeLoad into
- TclFinalizeFilesystem so we can be sure it is called at just the right
- time. Fix bad comment also. [Bug 555078 and 'fs' part of 543549]
- * win/tclWinChan.c: fix comment referring to wrong function.
+ * tests/macOSXFCmd.test: fix use of deprecated resource fork paths.
-2002-05-10 Don Porter <dgp@users.sourceforge.net>
+ * unix/tclUnixInit.c (TclpInitLibraryPath): move code that is only
+ needed when TCL_LIBRARY is defined to run only in that case.
- * tests/load.test:
- * tests/safe.test:
- * tests/tcltest.test: Corrected some list-quoting issues and other
- matters that cause tests to fail when the patch includes special
- characters. Report from Vince Darley. [Bug 554068].
+ * generic/tclLink.c (LinkTraceProc): fix 64-bit signed-with-unsigned
+ comparison warning from gcc4 -Wextra.
-2002-05-08 David Gravereaux <davygrvy@pobox.com>
+ * 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.
- * doc/file.n:
- * tools/man2tcl.c:
- * tools/man2help2.tcl: Thanks to Peter Spjuth <peter.spjuth@space.se>,
- again. My prior fix for single-quote macro mis-understanding was
- wrong. Reverted to reimpliment the 'macro2' proc which handles
- single-quote macros and restored file.n text arrangement to avoid
- single-quotes on the first line. Sorry for all the confusion.
+2006-08-17 Don Porter <dgp@users.sourceforge.net>
-2002-05-08 David Gravereaux <davygrvy@pobox.com>
+ * generic/tclCompile.c: Revised the new set of expression
+ * generic/tclParseExpr.c: parse error messages.
- * tools/man2tcl.c:
- * tools/man2help2.tcl: Proper source of macro error mis-understanding
- single-quote as the leading macro command found and repaired.
+2006-08-16 Don Porter <dgp@users.sourceforge.net>
- * doc/file.n: Reverted to prior state before I messed with it.
+ * generic/tclParseExpr.c: Replace PrecedenceOf() function with
+ prec[] static array.
-2002-05-08 Don Porter <dgp@users.sourceforge.net>
+2006-08-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * library/tcltest/tcltest.tcl: Corrected [uplevel] quoting when
- [source]-ing test script in subdirectories.
- * tests/fileName.test:
- * tests/load.test:
- * tests/main.test:
- * tests/tcltest.test:
- * tests/unixInit.test: Fixes to test suite when there's a space in the
- working path. Thanks to Kevin Kenny.
-
-2002-05-07 David Gravereaux <davygrvy@pobox.com>
-
- -- Changes from Peter Spjuth <peter.spjuth@space.se>
- * tools/man2tcl.c: Increased line buffer size and a bail-out if that
- should ever be over-run.
- * tools/man2help.tcl: Include Courier New font in rtf header.
- * tools/man2help2.tcl: Improved handling of CS/CE fields. Use Courier
- New for code samples and indent better.
-
- * doc/file.n:
- * doc/TraceCmd.3: winhelp conversion tools where understanding a ' as
- the first character on a line to be an unknown macro. Not knowing how
- to repair tools/man2tcl.c, I decided to rearrange the text in the docs
- instead.
-
-2002-05-07 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: fix to similar segfault when using
- 'glob -types nonsense -dir dirname -join * *'. [Bug 553320]
-
- * doc/FileSystem.3: further documentation on vfs.
- * tests/cmdAH.test:
- * tests/fileSystem.test:
- * tests/pkgMkindex.test: Fix to testsuite bugs when running out of
- directory whose name contains '{' or '['.
-
-2002-05-07 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/basic.test: Fix for [Bug 549607]
- * tests/encoding.test: Fix for [Bug 549610]
- These are testsuite bugs that caused failures when the filename
- contained spaces. Report & fix by Kevin Kenny.
-
-2002-05-02 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclFileName.c: fix to freeing a bad object (i.e. segfault)
- when using 'glob -types nonsense -dir dirname'.
- * generic/tclWinFile.c: fix to [Bug 551306], also wrapped some long
- lines.
- * tests/fileName.test: added several tests for the above bugs.
- * doc/FileSystem.3: clarified documentation on refCount requirements
- of the object returned by the path type function.
- * generic/tclIOUtil.c:
- * win/tclWinFile.c:
- * unix/tclUnixFile.c:
- * mac/tclMacFile.c: moved TclpFilesystemPathType to the platform
- specific directories, so we can add missing platform-specific
- implementations. On Windows, 'file system' now returns useful results
- like "native NTFS", "native FAT" for that system. Unix and MacOS still
- only return "native".
- * doc/file.n: clarified documentation.
- * tests/winFile.test: test for 'file system' returning correct values.
- * tests/fileSystem.test: test for 'file system' returning correct
- values. Clean up after failed previous test run.
-
-2002-04-26 Jeff Hobbs <jeffh@ActiveState.com>
+ * library/clock.tcl (::tcl::clock::add): Added missing braces to
+ clockval validation code. Pointed out on comp.lang.tcl.
- * unix/configure:
- * unix/tcl.m4: change HP-11 SHLIB_LD_LIBS from "" to ${LIBS} so that
- the .sl knows its dependent libs.
+2006-08-11 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-04-26 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclNamesp.c: Improvements in buffer management to make
+ namespace creation faster. Plus selected other minor improvements to
+ code quality. [Patch 1352382]
- * tests/obj.test (obj-11.[56]): Test conversion to boolean more
- thoroughly.
- * generic/tclObj.c (SetBooleanFromAny): Was not calling an integer
- parsing function on native 64-bit platforms! [Bug 548686]
+2006-08-10 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-04-24 Jeff Hobbs <jeffh@ActiveState.com>
+ 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/tclInt.h: corrected TclRememberJoinableThread decl to use
- VOID instead of void.
- * generic/tclThreadJoin.c: noted that this code isn't needed on Unix.
+2006-08-09 Don Porter <dgp@users.sourceforge.net>
-2002-04-23 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclEncoding.c: Replace buffer copy in for loop with
+ call to memcpy(). Thanks to afredd. [Patch 1530262]
- * doc/exec.n:
- * doc/tclvars.n: doc updates [Patch 509426] (gravereaux)
+2006-08-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-04-24 Daniel Steffen <das@users.sourceforge.net>
+ * generic/tclCmdIL.c (Tcl_LassignObjCmd): Make the wrong#args message
+ a bit more consistent with those used elsewhere. [Bug 1534628]
- * mac/tclMacResource.r: added check of TCLTK_NO_LIBRARY_TEXT_RESOURCES
- #define to allow disabling the inclusion of the tcl library code in
- the resource fork of Tcl executables and shared libraries.
+ * generic/tclDictObj.c (DictForCmd): Stop crash when attempting to
+ iterate over an invalid dictionary. [Bug 1531184]
-2002-04-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * 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]
- * doc/TraceCmd.3: New file that documents Tcl_CommandTraceInfo,
- Tcl_TraceCommand and Tcl_UntraceCommand [Bug 414927]
+2006-08-03 Daniel Steffen <das@users.sourceforge.net>
-2002-04-22 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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
+
+ * 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/tclAlloc.c:
- * generic/tclInt.h:
- * generic/tclThreadAlloc.c (new):
- * unix/Makefile.in:
- * unix/tclUnixThrd.c:
- * win/Makefile.in:
- * win/tclWinInt.h:
- * win/tclWinThrd.c: added new threaded allocator contributed by AOL
- that significantly reduces lock contention when multiple threads are
- in use. Only Windows and Unix implementations are ready, and the
- Windows one may need work. It is only used by default on Unix for now,
- and requires that USE_THREAD_ALLOC be defined (--enable-threads on
- Unix will define this).
+2006-07-31 Kevin B. Kenny <kennykb@acm.org>
- * generic/tclIOUtil.c (Tcl_FSRegister, Tcl_FSUnregister): corrected
- calling of Tcl_ConditionWait to ensure that there would be a condition
- to wait upon.
+ * 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/tclCmdAH.c (Tcl_FileObjCmd): added cast in FILE_SIZE.
+2006-07-30 Kevin B. Kenny <kennykb@acm.org>
- * win/tclWinFCmd.c (DoDeleteFile): check return of setattr API calls
- in file deletion for correct Win32 API handling.
+ * 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.in: correct dependencies for shell, gdb, runtest
- targets.
+2006-07-30 Joe English <jenglish@users.sourceforge.net>
- * doc/clock.n:
- * compat/strftime.c (_fmt): change strftime to correctly handle
- localized %c, %x and %X on Windows. Added some notes about how the
- other values could be further localized.
+ * doc/AppInit.3: Fix typo [Bug 1496886]
-2002-04-19 Don Porter <dgp@users.sourceforge.net>
+2006-07-26 Don Porter <dgp@users.sourceforge.net>
- * generic/tclMain.c (Tcl_Main): Free the memory allocated for the
- startup script path. [Bug 543549]
+ * 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].
- * library/msgcat/msgcat.tcl: [mcmax] wasn't using the caller's
- namespace when determining the max translated length. Also made
- revisions for better use of namespace variables and more efficient
- [uplevel]s.
+2006-07-24 Don Porter <dgp@users.sourceforge.net>
- * doc/msgcat.n:
- * library/msgcat/msgcat.tcl:
- * library/msgcat/pkgIndex.tcl: Added [mcload] to the export list of
- msgcat; bumped to 1.2.3. [Bug 544727]
+ * win/tclWinSock.c: Correct un-initialized Tcl_DString. Thanks to
+ afredd. [Bug 1518166]
-2002-04-20 Daniel Steffen <das@users.sourceforge.net>
+2006-07-21 Miguel Sofer <msofer@users.sf.net>
- * generic/tclInt.decls:
- * generic/tclIntPlatDecls.h:
- * generic/tclStubInit.c:
- * mac/tclMacFCmd.c:
- * mac/tclMacFile.c:
- * mac/tclMacUtil.c: Modified TclpObjNormalizePath to be alias file
- aware, and replaced various calls to FSpLocationFrom*Path by calls to
- new alias file aware versions FSpLLocationFrom*Path. The alias file
- aware routines don't resolve the last component of a path if it is an
- alias. This allows [file copy/delete] etc. to act correctly on alias
- files. (c.f. discussion in [Bug 511666])
+ * generic/tclExecute.c:
+ * tests/execute.test (execute-9.1): dgp's fix for [Bug 1522803].
-2002-04-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-07-20 Daniel Steffen <das@users.sourceforge.net>
- * tests/lindex.test (lindex-3.7):
- * generic/tclUtil.c (TclGetIntForIndex): Stopped indexes from hitting
- wide ints. [Bug 526717]
+ * 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.
-2002-04-18 Miguel Sofer <msofer@users.sourceforge.net>
+ * 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/tclNamesp.c:
- * tests/info.test: [Bug 545325] info level didn't report namespace
- eval, bug report by Richard Suchenwirth.
+ * 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.
-2002-04-18 Don Porter <dgp@users.sourceforge.net>
+2006-07-13 Andreas Kupries <andreask@activestate.com>
- * doc/subst.n: Clarified documentation on handling unusual return
- codes during substitution, and on variable substitutions implied by
- command substitution, and vice versa. [Bug 536838]
+ * 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.
-2002-04-18 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-07-11 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
- * generic/tclCmdIL.c (InfoBodyCmd):
- * tests/info.test (info-2.6): Proc bodies without string reps would
- report as empty [Bug 545644]
+ * generic/tclAsync.c: Made Tcl_AsyncDelete() more tolerant when called
+ after all thread TSD has been garbage-collected.
- * generic/tclCmdMZ.c (Tcl_SubstObj): More clarification for comment on
- behaviour when substitutions are not well-formed, prompted by [Bug
- 536831]; alas, removing the ill-defined behaviour is a lot of work.
+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:
-2002-04-18 Miguel Sofer <msofer@users.sourceforge.net>
+2006-06-20 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c:
- * tests/expr-old.test: fix for [Bug 542588] (Phil Ehrens), where "too
- large integers" were reported as "floating-point value" in [expr]
- error messages.
+ * 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.
-2002-04-17 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclIntDecls.h: make genstubs
+ * generic/tclStubInit.c:
- * generic/tclEncoding.c (EscapeFromUtfProc):
- * generic/tclIO.c (WriteChars, Tcl_Close): corrected the handling of
- outputting end escapes for escape-based encodings.
- [Bug 526524] (yamamoto)
+ * generic/tclStrToD.c: Removed dead code that permitted disabling of
+ recognition of the new 0b and 0o numeric formats.
-2002-04-17 Don Porter <dgp@users.sourceforge.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
- * doc/tcltest.n: Removed [saveState] and [restoreState] from tcltest
- 2 documentation, effectively deprecating them. [Bug 495660]
- * library/tcltest/tcltest.tcl: Made separate export for commands kept
- only for tcltest 1 compatibility.
+ * generic/tclCmdAH.c: Removed dead code that was old implementation
+ of [format].
- * tests/iogt.test: Revised to run tests in a namespace, rather than
- use the useless and buggy [saveState] and [restoreState] commands of
- tcltest. Updated to use tcltest 2 as well. [Patch 544911]
+2006-06-14 Daniel Steffen <das@users.sourceforge.net>
-2002-04-16 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * tests/io.test: Revised to run tests in a namespace, rather than use
- the useless and buggy [saveState] and [restoreState] commands of
- tcltest. Updated to use tcltest 2 as well. [Patch 544546]
+2006-06-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-04-15 Miguel Sofer <msofer@users.sourceforge.net>
+ * doc/format.n, doc/scan.n: Added examples for converting between
+ characters and their numeric interpretations following user prompting.
- * generic/tclProc.c:
- * tests/proc-old.test: Improved stack trace for TCL_BREAK and
- TCL_CONTINUE returns from procs. [Bug 536955] (dgp)
+2006-06-13 Donal K. Fellows <dkf@users.sf.net>
- * generic/tclExecute.c:
- * tests/compile.test: made bytecodes check for a catch before
- returning; the compiled [return] is otherwise non-catchable. [Bug
- 542142] reported by Andreas Kupries.
-
-2002-04-15 Don Porter <dgp@users.sourceforge.net>
-
- * tests/socket.test: Increased timeout values so that tests have time
- to successfully complete even on slow/busy machines. [Bug 523470]
-
- * doc/tcltest.n:
- * library/tcltest/tcltest.tcl:
- * tests/tcltest.test: Revised [tcltest::test] to return errors when
- called with invalid syntax and to accept exactly two arguments as
- documented. Improved error messages. [Bug 497446, Patch 513983]
- ***POTENTIAL INCOMPATIBILITY***: Incompatible with previous
- tcltest 2.* releases, found only in alpha releases of Tcl 8.4.
-
-2002-04-11 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclNotify.c (TclFinalizeNotifier): remove remaining
- unserviced events on finalization.
-
- * win/tcl.m4: Enabled COFF as well as CV style debug info with
- --enable-symbols to allow Dr. Watson users to see function info. More
- info on debugging levels can be obtained at:
- http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp
+ * unix/tclLoadDl.c (TclpDlopen): Workaround for a compiler bug in Sun
+ Forte 6. [Bug 1503729]
- * tests/ioCmd.test: fixed iocmd-8.15 to have mac and unixPc variants.
-
- * generic/tclParse.c (Tcl_ParseVar): conditionally incr obj refcount
- to prevent possible mem leak.
-
-2002-04-08 Daniel Steffen <das@users.sourceforge.net>
-
- * generic/tcl.h: no <sys/types.h> on mac.
- * mac/tclMacFile.c: minor fixes to Vince's changes from 03-24.
- * mac/tclMacOSA.c:
- * mac/tclMacResource.c: added missing Tcl_UtfToExternalDString
- conversions of resource file names.
- * mac/tclMacSock.c (TcpGetOptionProc): fixed bug introduced by Andreas
- on 02-25; changed strcmp's to strncmp's so that option comparison
- behaves like on other platforms.
- * mac/tcltkMacBuildSupport.sea.hqx (CW Pro6 changes): added support to
- allow Tk to hookup C library stderr/stdout to TkConsole.
- * tests/basic.test:
- * tests/cmdAH.test:
- * tests/encoding.test:
- * tests/fileSystem.test:
- * tests/ioCmd.test: fixed tests failing on mac: check for existence of
- [exec], changed some result strings.
-
-2002-04-06 Jeff Hobbs <jeffh@ActiveState.com>
-
- * unix/tclUnixFCmd.c (Realpath): added a little extra code to
- initialize a realpath arg when compiling in PURIFY mode in order to
- prevent spurious purify warnings. We should really create our own
- realpath implementation, but this will at least quiet purify for now.
-
-2002-04-05 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclCmdMZ.c (Tcl_SubstObj):
- * tests/subst.test: Corrected [subst] so that return codes TCL_BREAK
- and TCL_CONTINUE returned by variable substitution have the same
- effect as when those codes are returned by command substitution. [Bug
- 536879]
-
-2002-04-03 Jeff Hobbs <jeffh@ActiveState.com>
-
- * library/tcltest/tcltest.tcl: added getMatchingFiles back (alias
- to GetMatchingFiles), which was a public function in tcltest 1.0.
-
-2002-04-01 Vince Darley <vincentdarley@users.sourceforge.net>
-
- * generic/tclEnv.c:
- * generic/tclIOUtil.c: invalidate filesystem cache when the user
- changes env(HOME). Fixes [Bug 535621]. Also cleaned up some of the
- documentation.
- * tests/fileSystem.test: added test for bug just fixed.
-
-2002-04-01 Kevin Kenny <kennykb@acm.org>
-
- * win/tclWinTime.c (Tcl_GetTime): made the checks of clock frequency
- more permissive to cope with the fact that Win98SE is observed to
- return 1.19318 in place of 1.193182 for the performance counter
- frequency.
-
-2002-03-29 Jeff Hobbs <jeffh@ActiveState.com>
-
- * generic/tclCmdMZ.c (Tcl_TraceObjCmd, TraceVarProc)
- (TraceCommandProc, TclTraceCommandObjCmd): corrected potential
- double-free of traces on variables by flagging in Trace*Proc that it
- will free the var in case the eval wants to delete the var trace as
- well. [Bug 536937]
- Also converted Tcl_UntraceVar -> Tcl_UntraceVar2 and Tcl_Eval to
- Tcl_EvalEx in Trace*Proc for slight efficiency improvement.
-
-2002-03-29 Don Porter <dgp@users.sourceforge.net>
-
- * doc/AllowExc.3:
- * generic/tclBasic.c (Tcl_EvalObjv,Tcl_EvalEx,Tcl_EvalObjEx):
- * generic/tclCompile.h (TclCompEvalObj):
- * generic/tclExecute.c (TclCompEvalObj,TclExecuteByteCode):
- * tests/basic.test: Corrected problems with Tcl_AllowExceptions having
- influence over the wrong scope of Tcl_*Eval* calls. Patch from Miguel
- Sofer. Report from Jean-Claude Wippler. [Bug 219181]
-
-2002-03-28 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclVar.c: Refactored CallTraces to collect repeated handling
- of its returned value into CallTraces itself.
-
-2002-03-28 David Gravereaux <davygrvy@pobox.com>
-
- * tools/feather.bmp:
- * tools/man2help.tcl:
- * tools/man2help2.tcl:
- * win/makefile.vc: More winhelp target fixups. Added a feather bitmap
- to the non-scrollable area and changed the color to be yellow from a
- plain white. The colors can be whatever we want them to be, but
- thought I would start with something bold. [Bug 527941]
-
- * doc/SetVar.3:
- * doc/TraceVar.3:
- * doc/UpVar.3: .AP macro syntax repair.
-
-2002-03-27 David Gravereaux <davygrvy@pobox.com>
-
- * tools/man2help.tcl:
- * win/makefile.vc: winhelp target now copies all needed files from
- tools/ to a workarea under $(OUT_DIR) and builds it from there. No
- build cruft is left in tools/ anymore. All paths used in man2help.tcl
- are now relative to where the script is. [Bug 527941]
-
-2002-03-27 David Gravereaux <davygrvy@pobox.com>
-
- * win/.cvsignore:
- * win/buildall.vc.bat:
- * win/coffbase.txt:
- * win/makefile.vc:
- * win/nmakehlp.c (new):
- * win/rules.vc: First draft fix for [Bug 527941]. More changes need to
- done to the makehelp target to get to stop leaving build files in the
- tools/ directory. This does not address the syntax errors in the man
- files. Having the contents of tcl.hpj(.in) inside makefile.vc allows
- for version numbers to be replaced with macros.
+2006-06-06 Don Porter <dgp@users.sourceforge.net>
- The new nmakehlp.c is built by rules.vc in preprocessing and removes
- the need to use tricky shell syntax that wasn't compatible on Win9x
- systems. Clean targets made Win9x complient. This is a first draft
- repair for [Bug 533862].
+ * doc/GetStdChan.3: Added recommendation that each call to
+ Tcl_SetStdChannel() be accompanied by a call to Tcl_RegisterChannel().
-2002-03-28 Miguel Sofer <msofer@users.sourceforge.net>
+2006-06-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * generic/tclBasic.c (Tcl_EvalEx): passing the correct commandSize
- to TclEvalObjvInternal. [Bug 219362], fix by David Knoll.
+ * 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.
-2002-03-28 Miguel Sofer <msofer@users.sourceforge.net>
+2006-05-29 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclBasic.c (Tcl_EvalEx):
- * tests/basic.test: avoid exceptional returns at level 0
- [Bug 219181]
+ * generic/tcl.h (Tcl_DecrRefCount): use if/else construct to allow
+ placement in unbraced outer if/else conditions. (jcw)
-2002-03-27 Don Porter <dgp@users.sourceforge.net>
+2006-05-27 Daniel Steffen <das@users.sourceforge.net>
- * doc/tcltest.n ([mainThread]):
- * library/tcltest/tcltest.tcl:
- * tests/tcltest.test: Major code cleanup to deal with whitespace,
- coding conventions, and namespace issues, with several minor bugs
- fixed in the process.
+ * 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]
- * tests/main.test: Added missing [after cancel]s.
+ * unix/configure: autoconf-2.59
+ * unix/tclConfig.h.in: autoheader-2.59
-2002-03-25 Don Porter <dgp@users.sourceforge.net>
+2006-05-24 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * tests/main.test: Removed workarounds for Bug 495977.
+ * 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]
- * library/tcltest/tcltest.tcl: Keep the value of $::auto_path
- unchanged, so that the tcltest package can test code that depends
- on auto-loading. If a testing application needs $::auto_path pruned,
- it should do that itself. [Bug 495726]
- Improve the processing of the -constraints option to [test] so that
- constraint lists can have arbitrary whitespace, and non-lists don't
- blow things up. [Bug 495977]
- Corrected faulty variable initialization. [Bug 534845]
+2006-05-23 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-03-25 Miguel Sofer <msofer@users.sourceforge.net>
+ * doc/chan.n, doc/refchan.n: Tighten up the documentation to follow a
+ slightly more consistent style with regard to argument capitalization.
- * doc/CrtTrace.3: small doc correction
- * generic/tclBasic.c (Tcl_DeleteTrace): Allow NULL callback on
- trace deletions [Bug 534728] (Hemang Lavana).
+2006-05-13 Don Porter <dgp@users.sourceforge.net>
-2002-03-24 Miguel Sofer <msofer@users.sourceforge.net>
+ * 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.
- * generic/tclBasic.c (Tcl_EvalObjv): replaced obscure, incorrect
- code as described in [Bug 533907] (Don Porter).
+2006-05-13 Daniel Steffen <das@users.sourceforge.net>
-2002-03-24 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclEvent.c (HandleBgErrors): fix leak. [Coverity issue 86]
- * library/tcltest/tcltest.tcl: Use [interpreter] to set/query the
- executable currently running the tcltest package. [Bug 454050]
+2006-05-05 Don Porter <dgp@users.sourceforge.net>
- * library/tcltest/tcltest.tcl: Allow non-proc commands to be used
- as the customization hooks. [Bug 495662]
+ * 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]
-2002-03-24 Vince Darley <vincentdarley@users.sourceforge.net>
+2006-05-04 Don Porter <dgp@users.sourceforge.net>
- * generic/tclFilename.c:
- * generic/tclFCmd.c:
- * generic/tclTest.c:
+ * README: Bump version number to 8.5a5
* generic/tcl.h:
- * generic/tclIOUtil.c:
- * win/tclWinFile.c:
- * win/tclWinFCmd.c:
- * win/tclWinPipe.c:
- * unix/tclUnixFile.c:
- * unix/tclUnixFCmd.c:
- * mac/tclMacFile.c:
- * doc/FileSystem.3:
- * doc/file.n:
- * tests/cmdAH.test:
- * tests/fileName.test:
- * tests/fileSystem.test: (new file)
- * tests/winFCmd.test: fix [Bug 511666] and [Bug 511658], and improved
- documentation of some aspects of the filesystem, particularly
- 'Tcl_FSMatchInDirectory' which now might match a single file/directory
- only, and 'file normalize' which wasn't very clear before. Removed
- inconsistency betweens docs and the Tcl_Filesystem structure. Also
- fixed [Bug 523217] and corrected file normalization on Unix so that it
- expands symbolic links. Added some new tests of the filesystem code
- (in the new file 'fileSystem.test'), and some extra tests for correct
- handling of symbolic links. Fix to [Bug 530960] which shows up on
- Win98. Made comparison with ".com" case insensitive in tclWinPipe.c
-
- ***POTENTIAL INCOMPATIBILITY***: But only between alpha releases
- (users of the new Tcl_Filesystem lookup table in Tcl 8.4a4 need to
- handle the new way in which Tcl may call Tcl_FSMatchInDirectory, and
- 'file normalize' on unix now behaves correctly). Only known impact is
- with the 'tclvfs' extension.
-
-2002-03-22 Miguel Sofer <msofer@users.sourceforge.net>
-
- * tests/basic.test (basic-46.1): adding test for [Bug 533758], fixed
- earlier today.
-
-2002-03-22 Jeff Hobbs <jeffh@ActiveState.com>
-
- * win/tclWinInt.h: moved undef of TCL_STORAGE_CLASS. [Bug 478579]
-
-2002-03-22 Miguel Sofer <msofer@users.sourceforge.net>
-
- * generic/tclBasic.c (Tcl_EvalObjEx):
- * generic/tclExecute.c (TclCompEvalObj): fixed the errorInfo for
- return codes other than (TCL_OK, TCL_ERROR) to runLevel 0 [Bug
- 533758]. Removed the static RecordTracebackInfo(), as its
- functionality is easily replicated by Tcl_LogCommandInfo. Bug and
- redundancy noted by Don Porter.
-
-2002-03-21 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * doc/expr.n: Improved documentation for ceil and floor [Bug 530535]
-
-2002-03-20 Don Porter <dgp@users.sourceforge.net>
-
- * doc/SetVar.3:
- * doc/TraceVar.3:
- * doc/UpVar.3:
- * generic/tcl.h (Tcl_VarTraceProc):
- * generic/tcl.decls (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2)
- (Tcl_UnsetVar2, Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2)
- (Tcl_GetVar2Ex, TclSetVar2Ex):
- * generic/tclCmdMZ.c (TraceVarProc):
- * generic/tclEnv.c (EnvTraceProc):
- * generic/tclEvent.c (VwaitVarProc):
- * generic/tclInt.decls (TclLookupVar,TclPrecTraceProc):
- * generic/tclLink.c (LinkTraceProc):
- * generic/tclUtil.c (TclPrecTraceProc):
- * generic/tclVar.c (CallTraces, MakeUpvar, VarErrMsg, TclLookupVar,
- (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, Tcl_UnsetVar2)
- (Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, Tcl_GetVar2Ex)
- (TclSetVar2Ex): Updated interfaces of generic/tclVar.c according to
- TIP 27. In particular, the "part2" arguments were CONSTified.
- [Patch 532642]
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
-2002-03-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- * tests/compile.test (compile-12.3): Test to detect bug 530320.
- * generic/tclCompile.c (TclCompileTokens): Fixed buffer overrun
- reported in bug 530320.
-
-2002-03-14 Mo DeJong <mdejong@users.sourceforge.net>
-
- * win/configure: Regen.
- * win/configure.in: Add configure time test for SEH support in the
- compiler.
- * win/tclWin32Dll.c (ESP, EBP, TclpCheckStackSpace,
- (_except_checkstackspace_handler):
- * win/tclWinChan.c (ESP, EBP, Tcl_MakeFileChannel,
- (_except_makefilechannel_handler):
- * win/tclWinFCmd.c (ESP, EBP, DoRenameFile, DoCopyFile,
- (_except_dorenamefile_handler, _except_docopyfile_handler): Implement
- SEH support under gcc using inline asm. Tcl and Tk should now compile
- with Mingw 1.1. [Patch 525746]
+ * tools/tcl.wse.in:
+ * unix/configure.in:
+ * unix/tcl.spec:
+ * win/README.binary:
+ * win/configure.in:
-2002-03-14 Mo DeJong <mdejong@users.sourceforge.net>
+ * unix/configure: autoconf-2.59
+ * win/configure:
- * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle an SEH exception
- with EXCEPTION_EXECUTE_HANDLER instead of restarting the faulting
- instruction with EXCEPTION_CONTINUE_EXECUTION. Bug 466102 provides an
- example of how restarting could send Tcl into an infinite loop. [Patch
- 525746]
+ * generic/tclBasic.c (ExprSrandFunc): Restore acceptance of wide/big
+ * doc/mathfunc.n: integer values by srand(). [Bug 1480509]
-2002-03-11 Mo DeJong <mdejong@users.sourceforge.net>
+2006-04-26 Don Porter <dgp@users.sourceforge.net>
- * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, DoDeleteFile,
- (DoRemoveJustDirectory): Make sure we don't pass NULL or "" as a path
- name to Win32 API functions since this was crashing under Windows 98.
+ *** 8.5a4 TAGGED FOR RELEASE ***
-2002-03-11 Don Porter <dgp@users.sourceforge.net>
+ * changes: Updates for another RC.
- * library/tcltest/tcltest.tcl:
- * library/tcltest/pkgIndex.tcl: Bumped tcltest package to 2.0.2.
+ * 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.
-2002-03-11 Mo DeJong <mdejong@users.sourceforge.net>
+2006-04-25 Don Porter <dgp@users.sourceforge.net>
- * library/tcltest/tcltest.tcl (getMatchingFiles): Pass a proper list
- to foreach to avoid munging a Windows patch like D:\Foo\Bar into
- D:FooBar before the glob.
+ * doc/DoubleObj.3: More doc updates for TIP 237.
+ * doc/expr.n:
+ * doc/format.n:
+ * doc/mathfunc.n:
+ * doc/scan.n:
+ * doc/string.n:
-2002-03-11 Mo DeJong <mdejong@users.sourceforge.net>
+ * generic/tclScan.c: [scan $s %u] is documented to accept only
+ * tests/scan.test: decimal formatted integers. Fixed to match.
- * generic/tclEncoding.c: Fix typo in comment.
- * generic/tclIO.c (DoReadChars, ReadBytes, ReadChars): Use NULL value
- instead of pointer set to NULL to make things more clear. Reorder
- arguments so that they match the function signatures. Cleanup little
- typos and add more descriptive comment.
+2006-04-19 Kevin B. Kenny <kennykb@acm.org>
-2002-03-08 Mo DeJong <mdejong@users.sourceforge.net>
+ * 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.
- * win/README: Update to indicate that Mingw 1.1 is required to build
- Tcl. Add section describing new msys based build process. Update
- Cygwin build instructions so users know where to find Mingw 1.1.
+2006-04-18 Donal K. Fellows <dkf@users.sf.net>
-2002-03-08 Jeff Hobbs <jeffh@ActiveState.com>
+ * doc/IntObj.3: Minor review fixes, including better documentation of
+ the behaviour of Tcl_GetBignumAndClearObj.
- * win/tclWinFCmd.c (DoCopyFile): correctly set retval to TCL_OK.
+2006-04-17 Don Porter <dgp@users.sourceforge.net>
-2002-03-07 Mo DeJong <mdejong@users.sourceforge.net>
+ * doc/IntObj.3: Documentation changes to account for TIP 237 changes.
+ * doc/Object.3: [Bug 1446971]
- * win/tclWin32Dll.c (TclpCheckStackSpace):
- * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace hard coded
- constants with Win32 symbolic names. Move control flow statements out
- of __try blocks since the documentation indicates it is frowned upon.
+2006-04-12 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-03-07 Don Porter <dgp@users.sourceforge.net>
+ * generic/regc_locale.c (cclass): Redefined the meaning of [:print:]
+ to be exactly UNICODE letters, numbers, punctuation, symbols and
+ spaces (*not* whitespace). [Bug 1376892]
- * doc/interp.n:
- * generic/tclInterp.c (Tcl_InterpObjCmd,SlaveObjCmd,
- (SlaveRecursionLimit):
- * generic/tclTest.c:
- * tests/interp.test: Added the [interp recursionlimit] command to
- set/query the recursion limit of an interpreter. Proposal and
- implementation from Stephen Trier. [TIP 87, Patch 522849]
+2006-04-11 Don Porter <dgp@users.sourceforge.net>
-2002-03-06 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclTrace.c: Stop some interference between enter traces
+ * tests/trace.test: and enterstep traces. [Bug 1458266]
- * generic/tcl.h, tools/tcl.wse.in, unix/configure.in,
- * unix/tcl.spec, win/README.binary, win/configure.in, README:
- Bumped patchlevel; this might need to change in the future, but it
- will help us distinguish between the CVS version and the most
- recent released version.
+2006-04-07 Don Porter <dgp@users.sourceforge.net>
-2002-03-06 Miguel Sofer <msofer@users.sourceforge.net>
+ * generic/tclPathObj.c: Yet another revised fix for the [Bug 1379287]
+ * tests/fileSystem.test: family of path normalization bugs.
- * generic/tclInt.h: for unshared objects, TclDecrRefCount now frees
- the internal rep before the string rep - just like the non-macro
- Tcl_DecrRefCount/TclFreeObj [Bug 524802].
+2006-04-06 Jeff Hobbs <jeffh@ActiveState.com>
-2002-03-06 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclRegexp.c (FinalizeRegexp): full reset data to indicate
+ readiness for reinitialization.
- * doc/lsearch.n: Documentation of new features, plus examples.
- * tests/lsearch.test: Tests of new features.
- * generic/tclCmdIL.c (Tcl_LsearchObjCmd): TIP#80 support. See
- http://purl.org/tcl/tip/80 for details.
+2006-04-06 Don Porter <dgp@users.sourceforge.net>
-2002-03-05 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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]
- *** 8.4a4 TAGGED FOR RELEASE ***
+ * 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:
- * unix/tclUnixChan.c: initial remedy for [Bug 525783] flush problem
- introduced by TIP #35. This may not satisfy true serial channels, but
- it restores the correct flushing of std* channels on exit.
+ * tests/indexObj.test: Corrected other test errors revealed by
+ * tests/upvar.test: testing outside the tcltest application.
- * unix/README: added --enable-langinfo doc.
+ * generic/tclPathObj.c: Revised fix for the [Bug 1379287] family of
+ path normalization bugs.
- * unix/tcl.spec:
- * tools/tcl.wse.in: fixed URL refs to use www.tcl.tk or SF.
+2006-04-06 Daniel Steffen <das@users.sourceforge.net>
-2002-03-04 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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
- * README:
- * mac/README:
- * unix/Makefile.in:
- * unix/README:
- * win/README:
- * win/README.binary: updated to use www.tcl.tk URL.
+2006-04-05 Don Porter <dgp@users.sourceforge.net>
- * unix/Makefile.in: added older ChangeLogs to dist target.
+ * 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:
- * tests/io.test:
- * tests/encoding.test: corrected iso2022 encoding results.
- added encoding-24.*
- * generic/tclEncoding.c (EscapeFromUtfProc): corrected output of
- escape codes as per RFC 1468. [Patch 474358] (taguchi)
- (TclFinalizeEncodingSubsystem): corrected potential double-free
- when encodings were finalized on exit. [Bug 219314, 524674]
+ * 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.
-2002-03-01 Jeff Hobbs <jeffh@ActiveState.com>
+ * win/configure.in: Bump package version numbers.
+ * win/configure: autoconf 2.59
- * library/encoding/iso2022-jp.enc:
- * library/encoding/iso2022.enc:
- * tools/encoding/iso2022-jp.esc:
- * tools/encoding/iso2022.esc: gave <ESC>$B precedence over <ESC>$@,
- based on comments (point 1) in [Bug 219283] (RFC 1468)
+2006-04-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * tests/encoding.test: added encoding-23.* tests
- * generic/tclIO.c (FilterInputBytes): reset the TCL_ENCODING_START
- flags in the ChannelState when using 'gets'. [Bug 523988]
- Also reduced the value of ENCODING_LINESIZE from 30 to 20 as this
- seems to improve the performance of 'gets' according to tclbench.
+ * 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]
-2002-02-28 Jeff Hobbs <jeffh@ActiveState.com>
+2006-04-03 Andreas Kupries <andreask@activestate.com>
- * generic/tclCmdMZ.c (TraceCommandProc): ensure that TraceCommandInfo
- structure was also deleted when a command was deleted to prevent a
- mem leak.
+ * 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/tclBasic.c (Tcl_CreateObjTrace): set tracePtr->flags
- correctly.
+ * 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/tclTimer.c (TimerExitProc): remove remaining events in
- tls on thread exit.
+ * 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].
-2002-02-28 Miguel Sofer <msofer@users.sourceforge.net>
+2006-03-30 Miguel Sofer <msofer@users.sf.net>
- * generic/tclNamesp.c: allow cached fully-qualified namespace names to
- be usable from different namespaces within the same interpreter
- without forcing a new lookup [Patch 458872].
+ * generic/tclExecute.c: remove unused var and silence gcc warning
-2002-02-28 Miguel Sofer <msofer@users.sourceforge.net>
+2006-03-29 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclExecute.c: Replaced a few direct stack accesses with the
- POP_OBJECT() macro [Bug 507181] (Don Porter).
+ * win/Makefile.in: convert _NATIVE paths to use / to avoid ".\"
+ path-as-escape issue.
-2002-02-27 Don Porter <dgp@users.sourceforge.net>
+2006-03-29 Don Porter <dgp@users.sourceforge.net>
- * doc/GetIndex.3:
- * generic/tcl.decls (Tcl_GetIndexFromObjStruct):
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Revised the
- prototype of the Tcl_GetIndexFromObjStruct to take its struct
- table as a (CONST VOID *) argument, better describing what it is,
- maintaining source compatibility, and adding CONST correctness
- according to TIP 27. Thanks to Joe English for an elegant
- solution. [Bug 520304]
+ * changes: Updates for another RC.
- * generic/tclDecls.h: make genstubs
+ * generic/tclPathObj.c: More fixes for path normalization when /../
+ * tests/fileSystem.test: tries to go beyond root.[Bug 1379287]
- * generic/tclMain.c (Tcl_Main,StdinProc): Corrected some reference
- count management errors on the interactive command Tcl_Obj found by
- Purify. Thanks to Jeff Hobbs for the report and assistance.
+ * generic/tclExecute.c: Revised INST_MOD implementation to do
+ calculations in native types as much as possible, moving to mp_ints
+ only when necessary.
-2002-02-27 Jeff Hobbs <jeffh@ActiveState.com>
+2006-03-28 Jeff Hobbs <jeffh@ActiveState.com>
- * generic/tclBasic.c (Tcl_EvalTokensStandard): corrected mem leak
- in error case.
+ * win/tclWinPipe.c (TclpCreateProcess): change panics to Tcl errors
+ and do proper refcounting of noe objPtr. [Bug 1194429]
- * generic/tclTest.c (TestStatProc[123]): correct harmless UMRs.
+ * unix/tcl.m4, win/tcl.m4: []-quote AC_DEFUN functions.
- * generic/tclLink.c (Tcl_LinkVar): correct mem leak in error case.
+2006-03-28 Daniel Steffen <das@users.sourceforge.net>
-2002-02-27 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * macosx/Tcl.xcode/default.pbxuser: add '-singleproc 1' cli arg to
+ * macosx/Tcl.xcodeproj/default.pbxuser: tcltest to ease test debugging
- * tests/socket.test (2.7): Accepted and applied patch for [Bug 523470]
- provided by Don Porter <dgp@users.sourceforge.net> to avoid timing
- problems in that test.
+ * 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/tclUnixChan.c (TclpOpenFileChannel): Added code to regonize
- "/dev/tty" (by name) and to not handle it as tty / serial line. This
- is the controlling terminal and is special. Setting it into raw mode
- as is done for other tty's is a bad idea. This is a hackish fix for
- expect [Bug 520624]. The fix has limitation: Tcl_MakeFileChannel
- handles tty's specially too, but is unable to recognize /dev/tty as it
- only gets a file descriptor, and no name for it.
+ * unix/tclUnixFCmd.c (TclpObjNormalizePath): deal with *BSD/Darwin
+ realpath() converting relative paths into absolute paths [Bug 1064247]
-2002-02-26 Jeff Hobbs <jeffh@ActiveState.com>
+2006-03-28 Vince Darley <vincentdarley@sourceforge.net>
- * generic/tclCmdAH.c (StoreStatData): corrected mem leak.
+ * generic/tclIOUtil.c: fix to nativeFilesystemRecord comparisons
+ (lesser part of [Bug 1064247])
- * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): prevent obj leak in remedial
- regsub case.
+2006-03-27 Pat Thoyts <patthoyts@users.sourceforge.net>
- * generic/tclFileName.c (Tcl_TranslateFileName): decr refcount for
- error case to prevent mem leak.
+ * win/tclWinTest.c: Fixes for [Bug 1456373] (mingw-gcc issue)
- * generic/tclVar.c (Tcl_ArrayObjCmd): removed extra obj allocation.
+2006-03-27 Andreas Kupries <andreask@activestate.com>
- * unix/tclUnixSock.c (Tcl_GetHostName): added an extra gethostbyname
- check to guard against failure with truncated names returned by uname.
+ * 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:
- * unix/configure:
- * unix/tcl.m4 (SC_SERIAL_PORT): added sys/modem.h check and defined
- _XOPEN_SOURCE_EXTENDED for HP-11 to get updated header decls.
+2006-03-27 Don Porter <dgp@users.sourceforge.net>
- * unix/tclUnixChan.c: added Unix implementation of TIP #35, serial
- port support. [Patch 438509] (schroedter)
+ * 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.
-2002-02-26 Miguel Sofer <msofer@users.sourceforge.net>
+ * changes: Updates for another RC.
- * generic/tclCmpCmds.c: (bugfix to the bugfix, hopefully the last)
- Bugfix to the new [for] compiling code: was setting a exceptArray
- parameter using another param which wasn't yet initialised, thus
- filling it with noise.
+2006-03-25 Don Porter <dgp@users.sourceforge.net>
-2002-02-25 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * generic/tclExecute.c: Corrections to INST_EXPON detection of
+ overflow to use mp_int calculations.
- * mac/tclMacSock.c (TcpGetOptionProc): Changed to recognize the option
- "-error". Essentially ignores the option, always returning an empty
- string.
+2006-03-24 Kevin B. Kenny <kennykb@acm.org>
-2002-02-25 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclExecute.c (TclExecuteByteCode): Added a couple of missing
+ casts to 'int' that were affecting compilablity on VC6.
- * doc/Alloc.3:
- * doc/LinkVar.3:
- * doc/ObjectType.3:
- * doc/PkgRequire.3:
- * doc/Preserve.3:
- * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc,
- ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and
- to accurately describe when and how they are used. [Bug 497459] (dgp)
+2006-03-24 Don Porter <dgp@users.sourceforge.net>
- * generic/tclHash.c (AllocArrayEntry, AllocStringEntry): Before
- invoking ckalloc when creating a Tcl_HashEntry, check that the amount
- of memory being allocated is at least as large as
- sizeof(Tcl_HashEntry). The previous code was allocating memory regions
- that were one or two bytes short. [Bug 521950] (dejong)
+ * generic/tclEncoding.c: Reverted latest change [Bug 506653] since it
+ reportedly killed test performance on Windows.
-2002-02-25 Miguel Sofer <msofer@users.sourceforge.net>
+ * generic/tclExecute.c: Revised INST_EXPON implementation to do
+ calculations in native types as much as possible, moving to mp_ints
+ only when necessary.
- * generic/tclBasic.c (Tcl_EvalEx): avoiding a buffer overrun reported
- by Joe English, and restoring tcl7.6 behaviour for [subst]: badly
- terminated nested scripts will raise an error and not be evaluated.
- [Bug 495207]
+2006-03-23 Don Porter <dgp@users.sourceforge.net>
-2002-02-25 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.).
- * unix/tclUnixPort.h: corrected strtoll prototype mismatch on Tru64.
- * compat/strtod.c (strtod): simplified #includes
- * compat/strtol.c (strtol): gather result in a long before returning
- as a long: necessary on platforms where sizeof(int) != sizeof(long).
+ * tests/env.test: With case preserved (see 2006-03-21 commit) be sure
+ to do case-insensitive filtering. [Bug 1457065]
-2002-02-25 Daniel Steffen <das@users.sourceforge.net>
+2006-03-23 Reinhard Max <max@suse.de>
- * unix/tclLoadDyld.c: updated to use Mac OS X 10.1 dyld APIs that have
- more libdl-like semantics. [Bug 514392]
+ * 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>"
-2002-02-25 Miguel Sofer <msofer@users.sourceforge.net>
+2006-03-22 Reinhard Max <max@suse.de>
- * generic/tclCompCmds: fixing a bug in patch dated 2002-02-22, in the
- code for [for] and [while]. Under certain conditions, for long bodies,
- the exception range parameters were badly computed. Tests forthcoming:
- I still can't reproduce the conditions in the testsuite (!), although
- the bug (with assorted segfault or panic!) can be triggered from the
- console or with the new parse.bench in tclbench.
+ * 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.
-2002-02-25 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-03-21 Don Porter <dgp@users.sourceforge.net>
- * compat/strtoul.c, compat/strtol.c, compat/strtod.c: Added UCHAR,
- CONST and #includes to clean up GCC output.
+ * changes: Updates for another RC.
-2002-02-23 Don Porter <dgp@users.sourceforge.net>
+ * generic/tclStrToD.c: One of the branches of AccumulateDecimalDigit
+ * tests/parseExpr.test: did not. [Bug 1451233]
- * compat/strtoull.c (strtoull):
- * compat/strtoll.c (strtoll):
- * compat/strtoul.c (strtoul): Fixed failure to handle leading sign
- symbols '+' and '-' and '0X' and raise overflow errors. [Bug 440916]
- Also corrects prototype and errno problems.
+ * tests/env.test: Preserve case of saved env vars. [Bug 1409272]
-2002-02-23 Mo DeJong <mdejong@users.sourceforge.net>
+2006-03-21 Daniel Steffen <das@users.sourceforge.net>
- * configure: Regen.
- * unix/tcl.m4 (SC_CONFIG_CFLAGS): Link with -n32 instead of -32 when
- building on IRIX64-6.* system. [Bug 521707]
+ * 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
-2002-02-22 Don Porter <dgp@users.sourceforge.net>
+2006-03-20 Andreas Kupries <andreask@activestate.com>
- * generic/tclInt.h:
- * generic/tclObj.c: renamed global variable emptyString ->
- tclEmptyString because it is no longer static.
- * generic/tclPkg.c: Fix for panic when library is loaded on a
- platform without backlinking without proper use of stubs. [Bug 476537]
+ * 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.
-2002-02-22 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * tests/regexpComp.test: updated regexp-11.[1-4] to match changes
- in regexp.test for new regsub syntax
+2006-03-20 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * unix/configure:
- * unix/tcl.m4: added --enable-64bit support for AIX-4 (using -q64
- flag) when using IBM's xlc compiler.
+ * tests/cmdAH.test, tests/fCmd.test, tests/unixFCmd.test:
+ * tests/winFCmd.test: Cleanup of some test constraint handling, and a
+ few other minor issues.
- * tests/safe.test: updated safe-8.5 and safe-8.7
- * library/safe.tcl (CheckFileName): removed the limit on
- sourceable file names (was only *.tcl or tclIndex files with no
- more than one dot and 14 chars). There is enough internal
- protection in a safe interpreter already. Fixes [Tk Bug 521560].
+2006-03-18 Vince Darley <vincentdarley@sourceforge.net>
-2002-02-22 Miguel Sofer <msofer@users.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.
- * generic/tclCompCmds: [FR 465811]. Optimising [if], [for] and
- [while] for constant conditions; in addition, [for] and [while] are
- now compiled with the "loop rotation" optimisation (thanks to Kevin
- Kenny).
+ ***POTENTIAL INCOMPATIBILITY*** for scripts that assumed '-nocomplain'
+ removes the need for 'catch' to deal with non-understood path names.
-2002-02-22 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ Small optimisation to implementation of pattern==NULL case of TclGlob,
+ and clarification to the documentation. [Tclvfs bug 1405317]
- --- TIP#76 CHANGES ---
- * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): Final-argument-less
- [regsub] returns the modified string.
- * doc/regsub.n: Updated docs.
- * tests/regexp.test: Updated and added tests.
+2006-03-18 Vince Darley <vincentdarley@sourceforge.net>
- * compat/strtoll.c (strtoll):
- * compat/strtoull.c (strtoull):
- * unix/tclUnixPort.h:
- * win/tclWinPort.h: Const-ing 64-bit compatability declarations.
- Note that the return pointer is non-const because it is entirely
- legal for the functions to be called from somewhere that owns the
- string being passed. Fixes problem reported by Larry Virden.
+ * tests/fCmd.test: added knownBug test case for [Bug 1394972]
-2002-02-21 David Gravereaux <davygrvy@pobox.com>
+ * 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]
- * win/mkd.bat (removed):
- * win/coffbase.txt (new):
- * win/makefile.bc:
- * win/makefile.vc: Changed the 'setup' target to stop using the
- mkd.bat file and just make the directory right in the rule. Same
- change to makefile.bc. configure.in nor Makefile.in use it.
+2006-03-17 Andreas Kupries <andreask@activestate.com>
- coffbase.txt will be the master list for our "prefered base addresses"
- set by the linker. This should improve load-time (NT only) by avoiding
- relocations. Submissions to the list by extension authors are
- encouraged.
+ * doc/chan.n: Updated with documentation for the commands 'chan
+ create' and 'chan postevent' (TIP #219).
- Added a 'tidy' target to compliment 'clean' and 'hose' to remove just
- the outputs. Also removed the $(winlibs) macro as it wasn't being
- used.
+ * doc/refchan.n: New file. Documentation of the command handler API
+ for reflected channels (TIP #219).
- Stuff left to do:
- 1) get the winhelp target to stop building in the tools/ directory.
- 2) stop using rmd.bat
- 3) add more dependacy rules.
+2006-03-17 Joe Mistachkin <joe@mistachkin.com>
- * win/tclAppInit.c: Reverted back to -r1.6, as the header file change
- to tclPort.h won't allow for easy embedded support outside of the
- source dist. Thanks to Don Porter for pointing this out to me.
+ * unix/tclUnixPort.h: Include pthread.h prior to pthread_np.h [Bug
+ 1444692]
-2002-02-21 David Gravereaux <davygrvy@pobox.com>
+ * win/tclWinTest.c: Corrected typo of 'initializeMutex' that prevented
+ successful compilation.
- * win/makefile.vc:
- * win/rules.vc: Added a new "loimpact" option that sets the
- -ws:aggressive linker option. Off by default. It's said to keep the
- heap use low at the expense of alloc speed.
+2006-03-16 Andreas Kupries <andreask@activestate.com>
- * win/tclAppInit.c: Changed #include "tcl.h" to be tclPort.h to remove
- the raw windows.h include. tclPort.h brings in windows.h already and
- lessens the pre-compiled-header mush and the randomly useless #pragma
- comment (lib,...) references throughout the big windows.h tree (as
- observed at high linker warning levels).
+ * doc/open.n: Documented the changed behaviour of 'a'ppend mode.
-2002-02-21 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * tests/io.test (io-43.1 io-44.[1234]): Rewritten to be self-contained
+ with regard to setup and cleanup. [Bug 681793]
- * generic/tcl.h: Better guessing of LP64/ILP32 architecture, but
- now sensitive to presence of (suitable) <limits.h>
+ * 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.
-2002-02-20 Don Porter <dgp@users.sourceforge.net>
+ * tests/ioCmd.test (iocmd-13.7.*): Extended the testsuite to check the
+ new handling of 'a'.
- * generic/tcl.decls (Tcl_RegExpRange,Tcl_GetIndexFromObjStruct):
- Overlooked a few source incompatibilities. Now using CONST84.
- * generic/tclDecls.h: make genstubs
- * generic/tcl.h (Tcl_CmdObjTraceProc): silence warning from Sun
- Workshop compiler.
+2006-03-15 Andreas Kupries <andreask@activestate.com>
-2002-02-20 David Gravereaux <davygrvy@pobox.com>
+ * 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]
- * win/buildall.vc.bat:
- * win/makefile.vc:
- * win/rules.vc: General clean-ups. Added compiler and linker tests for
- a) the pentium 0x0F errata, b) optimizing (not all have this), and c)
- linker v6 section alignment confusion. All these are tested first to
- make sure any D4002 or LNK1117 warnings aren't displayed. The pentium
- 0x0F errata is a recommended switch. The v5 linker's section alignment
- default is 512, but the v6 linker was changed to 4096 in an attempt to
- speed loading on Win98. I changed the default to always be 512 across
- both linkers, unless linking statically, then 4096 is used for the
- claimed speed effect. Using a 512 alignment saves 12k bytes of dead
- space in the DLL.
+2006-03-15 Vince Darley <vincentdarley@sourceforge.net>
- Added IA64 B-stepping errata switch when the compiler supports it.
+ * win/fCmd.test: add proper test constraints so the new tests don't
+ run on Unix.
- Added profiling to $(lflags) when requested and also removed the
- explict -entry option as the default works fine as is.
+2006-03-14 Andreas Kupries <andreask@activestate.com>
- Removed win/tclWinInit.c from the special case section to let it use
- the common implicit rule as the $(EXTFLAGS) macro it had was never
- referenced anywhere.
+ * generic/tclPipe.c (TclCreatePipeline): Modified the processing of
+ pipebars to fail if the last bar is followed only by redirections.
+ [Bug 768659]
-2002-02-20 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-03-14 Andreas Kupries <andreask@activestate.com>
- * generic/tcl.h: Added code to guess the correct settings for
- TCL_WIDE_INT_IS_LONG and TCL_WIDE_INT_TYPE when configure doesn't tell
- us them, as can happen with extensions.
+ * 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]
-2002-02-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-03-14 Andreas Kupries <andreask@activestate.com>
- * doc/format.n: Updated docs to list the specification.
- * generic/tclCmdAH.c (Tcl_FormatObjCmd): Made behaviour on 64-bit
- platforms correctly meet the specification, that %d works with the
- native word-sized integer, instead of trying to guess (wrongly) from
- the value being passed.
+ * 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.
-2002-02-19 Don Porter <dgp@users.sourceforge.net>
+2006-03-14 Andreas Kupries <andreask@activestate.com>
- * changes: First draft of updated changes for 8.4a4 release.
+ * library/tm.tcl (::tcl::tm::Defaults): Fixed handling of environment
+ variable TCLX.y_TM_PATH, bad variable reference. Thanks to Julian
+ Noble. [Bug 1448251]
-2002-02-15 Jeff Hobbs <jeffh@ActiveState.com>
+2006-03-14 Vince Darley <vincentdarley@sourceforge.net>
- * unix/tclUnixPort.h: add strtoll/strtoull declarations for platforms
- that do not define them.
+ * 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
- * generic/tclIndexObj.c (STRING_AT): removed ptrdiff_t cast and use of
- VOID* in default case (GNU-ism).
+2006-03-13 Don Porter <dgp@users.sourceforge.net>
-2002-02-15 Kevin Kenny <kennykb@acm.org>
+ * generic/tclEncoding.c: Report error when an escape encoding is
+ missing one of its sub-encodings. [Bug 506653]
- * compat/strtoll.c:
- * compat/strtoul.c:
- * compat/strtoull.c:
- * generic/tclIOUtil.c:
- * generic/tclPosixStr.c:
- * generic/tclTest.c:
- * generic/tclTestObj.c:
- * tests/get.test:
- * win/Makefile.vc: Further tweaks to the TIP 72 patch to make it
- compile under VC++.
-
-2002-02-15 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * tclExecute.c:
- * tclIOGT.c:
- * tclIndexObj.c: Touchups to the TIP 72 patch to make it compileable
- under Windows again. The changes are not complete, there is one nasty
- regarding _stati64
-
-2002-02-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
-
- +----------------------+
- | TIP #72 IMPLEMENTED. |
- +----------------------+
-
- There are a lot of changes from this TIP, so please see
- http://tip.tcl.tk/72.html for discussion of backward-compatability
- issues, but the main ones modifications are in:
-
- * generic/tcl.h: New types.
- * generic/tcl.decls: New public functions.
- * generic/tclExecute.c: 64-bit aware bytecode engine.
- * generic/tclBinary.c: 64-bit handling in [binary] command.
- * generic/tclScan.c: 64-bit handling in [scan] command.
- * generic/tclCmdAH.c: 64-bit handling in [file] and [format]
- commands.
- * generic/tclBasic.c: New "wordSize" entry in ::tcl_platform.
- * generic/tclFCmd.c: Large-file support (with many consequences.)
- * generic/tclIO.c: Large-file support (with many consequences.)
- * compat/strtoll.c, compat/strtoull.c: New support functions.
- * unix/tcl.m4, unix/configure: 64-bit support and greatly enhanced
- cacheing.
-
- Most other changes, including all those in doc/* and test/* as well as
- the majority in the platform directories, follow on from these.
-
- Also coming out of the woodwork:
- * generic/tclIndex.c: Better support for Cray PVP.
- * win/tclWinMtherr.c: Better Borland support.
-
- Note that, in a number of places through the Unix part of the platform
- support, there are Tcl_Platform* references. These are expanded into
- the correct way to call that particular underlying function, i.e. with
- or without a '64' suffix, and should be used by people working on the
- core in preference to the API functions they overlay so that the code
- remains portable depending on the presence or absence of 64-bit
- support on the underlying platform.
-
- ***POTENTIAL INCOMPATIBILITY***: Extracted from the TIP
-
- SUMMARY OF INCOMPATIBILITIES AND FIXES
- ======================================
-
- The behaviour of expressions containing constants that appear positive
- but which have a negative internal representation will change, as
- these will now usually be interpreted as wide integers. This is always
- fixable by replacing the constant with int(constant).
-
- Extensions creating new channel types will need to be altered as
- different types are now in use in those areas. The change to the
- declaration of Tcl_FSStat and Tcl_FSLstat (which are the new preferred
- API in any case) are less serious as no non-alpha releases have been
- made yet with those API functions.
-
- Scripts that are lax about the use of the l modifier in format and
- scan will probably need to be rewritten. This should be very uncommon
- though as previously it had absolutely no effect.
-
- Extensions that create new math functions that take more than one
- argument will need to be recompiled (the size of Tcl_Value changes),
- and functions that accept arguments of any type (TCL_EITHER) will need
- to be rewritten to handle wide integer values. (I do not expect this
- to affect many extensions at all.)
-
-2002-02-14 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIOCmd.c (Tcl_GetsObjCmd): Trivial fix for [Bug 517503], a
- memory leak reported by Miguel Sofer <msofer@users.sourceforge.net>.
- The leak happens if an error occurs for "set var [gets $chan]" and
- leak one empty object.
-
-2002-02-12 David Gravereaux <davygrvy@pobox.com>
-
- * djgpp/ (new directory)
- * djgpp/Makefile (new):
- * unix/tclAppInit.c:
- * unix/tclMtherr.c:
- * unix/tclUnixFCmd.c:
- * unix/tclUnixFile.c:
- * unix/tclUnixInit.c:
- * unix/tclUnixPort.h: Early stage of DJGPP support for building Tcl
- on DOS. Dynamic loading isn't working, yet. Requires watt32 for the
- TCP/IP stack. No autoconf, yet. Barely tested, but makes a working exe
- that runs Tcl in protected-mode, flat memory. [exec] and pipes will
- need the most work as multi-tasking on DOS has to be carefully.
+ * 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.
-2002-02-10 Kevin Kenny <kennykb@acm.org>
+2006-03-10 Miguel Sofer <msofer@users.sf.net>
- * doc/CrtObjCmd.3:
- * doc/CrtTrace.3:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclBasic.c:
- * generic/tclInt.h:
- * generic/tclTest.c:
- * tests/basic.test: Added Tcl_CreateObjTrace,
- Tcl_GetCommandInfoFromToken and Tcl_SetCommandInfoFromToken.
- (TIPs #32 and #79.)
+ * generic/tclProc.c (ObjInterpProcEx):
+ * tests/apply.test (apply-5.1): Fix [apply] error messages so that
+ they quote the lambda expression. [Bug 1447355]
- * generic/tclDecls.h:
- * generic/tclStubInit.c: Regenerated Stubs tables.
+2006-03-10 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-2002-02-08 Jeff Hobbs <jeffh@ActiveState.com>
+ -- Summary of changes fixing [Bug 1437595] --
- * unix/configure:
- * unix/tcl.m4: added -pthread for FreeBSD to EXTRA_CFLAGS and
- LDFLAGS. Also triggered nodots only for FreeBSD-3.
- Added AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) for Solaris.
+ * generic/tclEvent.c: Cosmetic touches and identation
+ * generic/tclInt.h: Added TclpFinalizeSockets() call.
- * unix/tclUnixPort.h:
- * unix/tclUnixThrd.c: added thread-safe versions of readdir,
- localtime, gmtime and inet_ntoa for threaded build. (jgdavidson)
+ * generic/tclIO.c: Calls TclpFinalizeSockets() as part of the
+ TclFinalizeIOSubsystem().
- * generic/tclScan.c (Tcl_ScanObjCmd): prevented ckfree being
- called on a pointer to NULL.
+ * unix/tclUnixSock.c: Added no-op TclpFinalizeSockets().
-2002-02-07 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * doc/DString.3:
- * doc/Encoding.3:
- * doc/GetCwd.3:
- * doc/SplitPath.3:
- * doc/Translate.3:
- * doc/Utf.3:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclEncoding.c:
- * generic/tclEnv.c:
- * generic/tclFileName.c:
- * generic/tclIOUtil.c:
- * generic/tclUtf.c:
- * generic/tclUtil.c:
- * mac/tclMacInit.c:
- * unix/tclUnixFile.c:
- * unix/tclUnixInit.c:
- * unix/tclUnixPipe.c:
- * win/tclWin32Dll.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c:
- * win/tclWinInit.c: Partial TIP 27 rollback. Following routines
- restored to return (char *): Tcl_DStringAppend,
- Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName,
- Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString,
- Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also
- restored Tcl_WinUtfToTChar to return (TCHAR *) and
- Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified
- some callers. This change recognizes that Tcl_DStrings are
- de-facto white-box objects.
+2006-03-10 Vince Darley <vincentdarley@sourceforge.net>
- * generic/tclDecls.h:
- * generic/tclPlatDecls.h: make genstubs
+ * win/tclWinFile.c: previous patch breaks tests, so removed.
- * generic/tclCmdMZ.c: corrected use of C++-style comment.
+2006-03-09 Vince Darley <vincentdarley@sourceforge.net>
-2002-02-06 Jeff Hobbs <jeffh@ActiveState.com>
+ * 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.
- * tests/scan.test:
- * generic/tclScan.c (Tcl_ScanObjCmd): corrected scan 0x... %x handling
- that didn't accept the 0x as a prelude to a base 16 number. [Bug
- 495213]
+2006-03-08 Don Porter <dgp@users.sourceforge.net>
- * generic/tclCompCmds.c (TclCompileRegexpCmd): made early check
- for bad RE to stop checking further.
+ * generic/tclExecute.c: Complete missing bit of TIP 215 implementation
+ * tests/incr.test:
- * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): added special case to
- search for simple 'string map' style regsub calls.
- Delayed creation of resultPtr object until an initial match is
- made, as the input string object can then be reused for no matches.
- (Tcl_StringObjCmd): optimization improvements to the STR_MAP
- algorithm for zero-length and nocase cases.
+2006-03-07 Joe English <jenglish@users.sourceforge.net>
- * tests/regexp.test:
- * tests/regexpComp.test: extra code coverage tests.
+ * unix/tcl.m4: Set SHLIB_LD_FLAGS='${LIBS}' on NetBSD, as per the
+ other *BSD variants. [Bug 1334613]
+ * unix/configure: Regenerated.
- * tests/string.test: added 10.18 and 10.19 extra tests.
+2006-03-07 Don Porter <dgp@users.sourceforge.net>
- * generic/regc_locale.c (casecmp): slight performance improvement.
+ * changes: Update in prep. for 8.5a4 release.
-2002-02-05 Don Porter <dgp@users.sourceforge.net>
+ * 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.
- * library/http/http.tcl:
- * library/http/pkgIndex.tcl: Corrected use of http::error when
- ::error was intended. Bump to http 2.4.2.
+2006-03-06 Don Porter <dgp@users.sourceforge.net>
-2002-02-04 Andreas Kupries <andreas_kupries@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]
- * unix/tclUnixChan.c (FileOutputProc): Fixed [bug 465765] reported by
- Dale Talcott <daletalcott@users.sourceforge.net>. Avoid writing
- nothing into a file as STREAM based implementations will consider this
- a EOF (if the file is a pipe). Not done in the generic layer as this
- type of writing is actually useful to check the state of a socket.
+2006-03-03 Don Porter <dgp@users.sourceforge.net>
- * doc/open.n: Fixed [Bug 511540], added cross-reference to 'pid' as
- the command to use to retrieve the pid of a command pipeline created
- via 'open'.
+ * generic/tclPathObj.c: Revised yesterday's fix for [Bug 1379287] to
+ work on Windows.
-2002-02-01 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclObj.c: Compatibility support for existing code that
+ calls Tcl_GetObjType("boolean").
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): handle quirky about case
- earlier to avoid shimmering problem.
+2006-03-02 Don Porter <dgp@users.sourceforge.net>
-2002-02-01 Andreas Kupries <andreas_kupries@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]
- * tests/io.test: io-39.22 split into two tests, one platform
- dependent, the other not. -eofchar is not empty on the windows
- platform.
+2006-03-01 Reinhard Max <max@suse.de>
-2002-02-01 Vince Darley <vincentdarley@users.sourceforge.net>
+ * 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.
- * generic/tclTest.c: fix to picky windows compiler problem with the
- 'MainLoop' function declaration.
+2006-02-28 Don Porter <dgp@users.sourceforge.net>
-2002-01-31 Andreas Kupries <andreas_kupries@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]
- * win/tclWinFCmd.c: TIP 27: Applied patch fixing CONST warnings on
- behalf of Don Porter <dgp@users.sourceforge.net>.
+2006-02-22 Don Porter <dgp@users.sourceforge.net>
-2002-01-30 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]
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclInt.h: For each interface identified in the TIP 27
- changes below as a POTENTIAL INCOMPATIBILITY, the source of the
- incompatibility has been parameterized so that it can be removed. When
- compiling extension code against the Tcl header files, use the
- compiler flag -DUSE_NON_CONST to remove the irresolvable source
- incompatibilities introduced by the TIP 27 changes. Resolvable changes
- are left for extension authors to resolve.
- * generic/tclDecls.h: make genstubs
+2006-02-17 Don Porter <dgp@users.sourceforge.net>
-2002-01-30 Vince Darley <vincentdarley@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]
- * doc/FileSystem.3: added documentation for 3 public functions which
- had been overlooked. Fixes [Bug 507701]
- * unix/mkLinks: make mklinks
+2006-02-16 Don Porter <dgp@users.sourceforge.net>
-2002-01-29 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tclIndexObj.c: Disallow the "ambiguous" error message
+ * tests/indexObj.test: when TCL_EXACT matching is requested.
+ * tests/ioCmd.test:
- * tests/regexpComp.test:
- * generic/tclCompCmds.c (TclCompileRegexpCmd): enhanced to support
- -nocase and -- options.
+2006-02-15 Don Porter <dgp@users.sourceforge.net>
-2002-01-28 Mo DeJong <mdejong@users.sourceforge.net>
+ * generic/tclIO.c: Made several routines tolerant of
+ * generic/tclIORChan.c: interp == NULL arguments. [Bug 1380662]
+ * generic/tclIOUtil.c:
- * unix/tcl.m4 (SC_LOAD_TCLCONFIG):
- * win/tcl.m4 (SC_LOAD_TCLCONFIG): Set TCL_LIB_SPEC, TCL_STUB_LIB_SPEC,
- and TCL_STUB_LIB_PATH to the values of TCL_BUILD_LIB_SPEC,
- TCL_BUILD_STUB_LIB_SPEC, and TCL_BUILD_STUB_LIB_PATH when tclConfig.sh
- is loaded from the build directory. A Tcl extension should make use of
- the non-build versions of these variables since they will work in both
- cases. This modification was described in TIP #34.
+2006-02-09 Don Porter <dgp@users.sourceforge.net>
-2002-01-28 Jeff Hobbs <jeffh@ActiveState.com>
+ TIP#215 IMPLEMENTATION
- * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey)
- (DeleteKey,GetKeyNames,GetType,GetValue,OpenSubKey,SetValue):
- redid the CONSTification as previous changes caused failing tests.
+ * 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:
- * tests/regexpComp.test (new):
- * generic/tclInt.h:
- * generic/tclBasic.c: added TclCompileRegexpCmd entry
- * generic/tclCompCmds.c (TclCompileStringCmd): corrected to return
- TCL_OUT_LINE_COMPILE instead of TCL_ERROR for parsing errors, so
- it only throws the error for runtime compile, in case the user
- modifies 'string'.
- (TclCompileRegexpCmd): first try at a byte-compiled regexp
- command. It handles static strings and ^$ bounded static strings.
- (TclCompileAppendCmd): made TclPushVarName call always use
- TCL_CREATE_VAR as numWords is always > 2 at that point.
+ * generic/tclDecls.h: make genstubs
+ * generic/tclIntDecls.h:
+ * generic/tclStubInit.c:
- * generic/tclExecute.c (TclExecuteByteCode:INST_LIST): correct
- possibly dangerous decr in macro call.
+2006-02-01 Miguel Sofer <msofer@users.sf.net>
- * win/tclWinInit.c (TclpFindVariable): CONSTification touch-up
+ * generic/tclProc.c: minor improvements to [apply]
+ * tests/apply.test: new tests; apply-5.1 currently fails to indicate
+ missing work in error reporting
- * win/tclWinReg.c (OpenSubKey): corrected bug introduced in
- CONSTification that dropped pointer reference.
+2006-02-01 Don Porter <dgp@users.sourceforge.net>
- * ChangeLog.2000 (new file):
- * ChangeLog: broke changes from 2000 into ChangeLog.2000 to reduce
- size of the main ChangeLog.
+ TIP#194 IMPLEMENTATION
-2002-01-28 David Gravereaux <davygrvy@pobox.com>
+ * 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:
- * generic/tclPlatDecls.h: Added preprocessor logic to force a typedef
- of TCHAR when __STDC__ is defined when using the uncommon -Za compiler
- switch with the microsoft compiler.
+ TIP#181 IMPLEMENTATION
-2002-01-27 Don Porter <dgp@users.sourceforge.net>
+ * 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:
- * doc/package.n: Documented global namespace context for script
- evaluation by [package require].
+ * generic/tclDecls.h: make genstubs
+ * generic/tclStubInit.c:
-2002-01-27 Daniel Steffen <das@users.sourceforge.net>
+ TIP#250 IMPLEMENTATION
- * generic/tclInt.decls:
- * generic/tclIntPlatDecls.h:
- * mac/tclMacChan.c:
- * mac/tclMacFCmd.c:
- * mac/tclMacFile.c:
- * mac/tclMacInit.c:
- * mac/tclMacLoad.c:
- * mac/tclMacResource.c:
- * mac/tclMacSock.c: TIP 27 CONSTification induced changes
-
- * tests/event.test:
- * tests/main.test: added catches/constraints to test that use features
- that don't exist on the mac.
-
-2002-01-25 Mo DeJong <mdejong@users.sourceforge.net>
-
- Make -eofchar and -translation options read only for server sockets.
- [Bug 496733]
-
- * generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption):
- Instead of returning nothing for the -translation option on a server
- socket, always return "auto". Return the empty string enclosed in
- quotes for the -eofchar option on a server socket. Fixup -eofchar
- usage message so that it matches the implementation.
- * tests/io.test: Add -eofchar tests and -translation tests to ensure
- options are read only on server sockets.
- * tests/socket.test: Update tests to account for -eofchar and
- -translation option changes.
-
-2002-01-25 Don Porter <dgp@users.sourceforge.net>
-
- * compat/strstr.c (strstr):
- * generic/tclCmdAH.c (Tcl_FormatObjCmd):
- * generic/tclCmdIL.c (InfoNameOfExecutableCmd):
- * generic/tclEnv.c (ReplaceString):
- * generic/tclFileName.c (ExtractWinRoot):
- * generic/tclIO.c (FlushChannel,Tcl_BadChannelOption):
- * generic/tclStringObj.c (AppendUnicodeToUtfRep):
- * generic/tclThreadTest.c (TclCreateThread):
- * generic/tclUtf.c (Tcl_UtfPrev):
- * mac/tclMacFCmd.c (TclpObjListVolumes):
- * mac/tclMacResource.c (TclMacRegisterResourceFork)
- (BuildResourceForkList):
- * win/tclWinInit.c (AppendEnvironment): Sought out and eliminated
- instances of CONST-casting that are no longer needed after the
- TIP 27 effort.
-
- * Following is [Patch 501006]
- * generic/tclInt.decls (Tcl_AddInterpResolvers, Tcl_Export)
- (Tcl_FindNamespace, Tcl_GetInterpResolvers, Tcl_ForgetImport)
- (Tcl_Import, Tcl_RemoveInterpResolvers):
- * generic/tclNamesp.c (Tcl_Export, Tcl_Import, Tcl_ForgetImport)
- (Tcl_FindNamespace):
- * generic/tclResolve.c (Tcl_AddInterpResolvers,Tcl_GetInterpResolvers,
- (Tcl_RemoveInterpResolvers): Updated APIs in generic/tclResolve.c and
- generic/tclNamesp.c according to the guidelines of TIP 27.
- * generic/tclIntDecls.h: make genstubs
-
- * Following is [Patch 505630]
- * doc/AddErrorInfo.3:
- * generic/tcl.decls (Tcl_LogCommandInfo):
- * generic/tclBasic.c (Tcl_LogCommandInfo): Updated interfaces
- of generic/tclBasic.cc according to TIP 27.
- * generic/tclDecls.h: make genstubs
-
- * Following is [Patch 506818]
- * doc/Hash.3:
- * generic/tcl.decls (Tcl_HashStats):
- * generic/tclHash.c (Tcl_HashStats): Updated APIs of generic/tclHash.c
- according to guidelines of TIP 27.
- * generic/tclDecls.h: make genstubs
- * generic/tclVar.c (Tcl_ArrayObjCmd): Updated callers.
-
- * Following is [Patch 506807]
- * doc/ObjectType.3:
- * generic/tcl.decls (Tcl_GetObjType):
- * generic/tclObj.c (Tcl_GetObjType): Updated APIs of generic/tclObj.c
- according to guidelines of TIP 27.
- * generic/tclDecls.h: make genstubs
-
- * Following is [Patch 507304]
- * doc/Encoding.3:
- * generic/tcl.decls (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf):
- * win/tclWin32Dll.c (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf):
- Updated interfaces in win/tclWin32Dll.c according to TIP 27.
- * generic/tclPlatDecls.h: make genstubs
- * generic/tclIOUtil.c (TclpNativeToNormalized):
- * win/tclWinFCmd.c (TclpObjNormalizePath):
- * win/tclWinFile.c (TclpFindExecutable,TclpMatchInDirectory)
- (NativeIsExec,NativeStat):
- * win/tclWinLoad.c (TclpLoadFile):
- * win/tclWinPipe.c (TclpOpenFile,ApplicationType):
- * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey,DeleteKey)
- (GetKeyNames,GetType,GetValue,OpenSubKey,SetValue):
- * win/tclWinSerial.c (SerialSetOptionProc): Update callers.
-
- * Following is [Patch 505072]
- * doc/Concat.3:
- * doc/Encoding.3:
- * doc/Filesystem.3:
- * doc/Macintosh.3:
- * doc/OpenFileChnl.3
- * doc/SetResult.3:
- * doc/SetVar.3:
- * doc/SplitList.3:
- * doc/SplitPath.3:
- * doc/Translate.3:
- * generic/tcl.h (Tcl_FSMatchInDirectoryProc):
- * generic/tclInt.h (TclpMatchInDirectory):
- * generic/tcl.decls (Tcl_Concat,Tcl_GetStringResult,Tcl_GetVar,
- (Tcl_GetVar2,Tcl_JoinPath,Tcl_Merge,Tcl_OpenCommandChannel,Tcl_SetVar)
- (Tcl_SetVar2,Tcl_SplitList,Tcl_SplitPath,Tcl_TranslateFileName)
- (Tcl_ExternalToUtfDString,Tcl_GetEncodingName,Tcl_UtfToExternalDString)
- (Tcl_GetDefaultEncodingDir,Tcl_SetDefaultEncodingDir)
- (Tcl_FSMatchInDirectory,Tcl_MacEvalResource,Tcl_MacFindResource):
- * generic/tclInt.decls (TclCreatePipeline,TclGetEnv,TclpGetCwd,
- (TclpCreateProcess):
- * mac/tclMacFile.c (TclpGetCwd):
- * generic/tclEncoding.c (Tcl_GetDefaultEncodingDir)
- (Tcl_SetDefaultEncodingDir,Tcl_GetEncodingName)
- (Tcl_ExternalToUtfDString,Tcl_UtfToExternalDString, OpenEncodingFile)
- (LoadEscapeEncoding):
- * generic/tclFileName.c (DoTildeSubst,Tcl_JoinPath,Tcl_SplitPath,
- (Tcl_TranslateFileName):
- * generic/tclIOUtil.c (Tcl_FSMatchInDirectory):
- * generic/tclPipe.c (FileForRedirect,TclCreatePipeline)
- (Tcl_OpenCommandChannel):
- * generic/tclResult.c (Tcl_GetStringResult):
- * generic/tclUtil.c (Tcl_Concat,Tcl_SplitList,Tcl_Merge):
- * generic/tclVar.c (Tcl_GetVar,Tcl_GetVar2,Tcl_SetVar,Tcl_SetVar2):
- * mac/tclMacResource.c (Tcl_MacEvalResource,Tcl_MacFindResource):
- Updated interfaces of generic/tclEncoding, generic/tclFilename.c,
- generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c,
- generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according
- to TIP 27. Tcl_TranslateFileName rewritten as wrapper around
- VFS-aware version.
- ***POTENTIAL INCOMPATIBILITY***
- Includes source incompatibilities: argv arguments of Tcl_Concat,
- Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of
- Tcl_SplitList and Tcl_SplitPath.
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
- * generic/tclCkalloc.c (MemoryCmd):
- * generic/tclClock.c (FormatClock):
- * generic/tclCmdAH.c (Tcl_CaseObjCmd,Tcl_EncodingObjCmd,Tcl_FileObjCmd):
- * generic/tclCmdIL.c (InfoLibraryCmd,InfoPatchLevelCmd,
- (InfoTclVersionCmd):
- * generic/tclCompCmds.c (TclCompileForeachCmd):
- * generic/tclCompCmds.h (TclCompileForeachCmd):
- * generic/tclCompile.c (TclFindCompiledLocal):
- * generic/tclEnv.c (TclSetupEnv,TclSetEnv,Tcl_PutEnv,TclGetEnv,
- (EnvTraceProc):
- * generic/tclEvent.c (Tcl_BackgroundError):
- * generic/tclIO.c (Tcl_BadChannelOption,Tcl_SetChannelOption):
- * generic/tclIOCmd.c (Tcl_ExecObjCmd,Tcl_OpenObjCmd):
- * generic/tclIOSock.c (TclSockGetPort):
- * generic/tclIOUtil.c (SetFsPathFromAny):
- * generic/tclLink.c (LinkTraceProc):
- * generic/tclMain.c (Tcl_Main):
- * generic/tclNamesp.c (TclTeardownNamespace):
- * generic/tclProc.c (TclCreateProc):
- * generic/tclTest.c (TestregexpObjCmd,TesttranslatefilenameCmd,
- (TestchmodCmd,GetTimesCmd,TestsetCmd,TestOpenFileChannelProc1,
- (TestOpenFileChannelProc2,TestOpenFileChannelProc3,AsyncHandlerProc,
- (TestpanicCmd):
- * generic/tclThreadTest.c (ThreadErrorProc,ThreadEventProc):
- * generic/tclUtil.c (TclPrecTraceProc):
- * mac/tclMacFCmd.c (GetFileSpecs):
- * mac/tclMacFile.c (TclpMatchInDirectory):
- * mac/tclMacInit.c (TclpInitLibraryPath,Tcl_SourceRCFile):
- * mac/tclMacOSA.c (tclOSAStore,tclOSALoad):
- * mac/tclMacResource.c (Tcl_MacEvalResource):
- * unix/tclUnixFCmd.c (TclpObjNormalizePath):
- * unix/tclUnixFile.c (TclpMatchInDirectory,TclpGetUserHome,TclpGetCwd,
- (TclpReadLink):
- * unix/tclUnixInit.c (TclpInitLibraryPath,TclpSetVariables,
- (Tcl_SourceRCFile):
- * unix/tclUnixPipe.c (TclpOpenFile,TclpCreateTempFile,
- (TclpCreateProcess):
- * win/tclWinFile.c (TclpGetCwd,TclpMatchInDirectory):
- * win/tclWinInit.c (TclpInitLibraryPath,Tcl_SourceRCFile,
- (TclpSetVariables):
- * win/tclWinPipe.c (TclpCreateProcess): Updated callers.
-
-2002-01-24 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclIOUtil.c (SetFsPathFromAny): Corrected tilde-substitution
- of pathnames where > 1 separator follows the ~. [Bug 504950]
-
-2002-01-24 Jeff Hobbs <jeffh@ActiveState.com>
+ * doc/namespace.n: New command [namespace upvar]. [Patch 1275435]
+ * generic/tclInt.h:
+ * generic/tclNamesp.c:
+ * generic/tclVar.c:
+ * tests/namespace.test:
+ * tests/upvar.test:
- * library/http/pkgIndex.tcl:
- * library/http/http.tcl: don't add port in default case to handle
- broken servers. http bumped to 2.4.1 [Bug 504508]
-
-2002-01-23 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * unix/mkLinks: Regenerated.
- * doc/CrtChannel.3:
- * doc/ChnlStack.3: Moved documentation for 'Tcl_GetTopChannel' from
- 'CrtChannel' to 'ChnlStack'. Added documentation of
- 'Tcl_GetStackedChannel'. [Bug 506147] reported by Mark Patton
- <msp@users.sourceforge.net>
-
-2002-01-23 Don Porter <dgp@users.sourceforge.net>
-
- * win/tclWinFile.c (NativeAccess,NativeStat,NativeIsExec,
- (TclpGetUserHome):
- * win/tclWinPort.h (TclWinSerialReopen):
- * win/tclWinSerial.c (TclWinSerialReopen):
- * win/tclWinSock.c (Tcl_OpenTcpServer): Corrections to earlier TIP
- #27 changes. Thanks to Andreas Kupries for the feedback.
- * generic/tclPlatDecls.h: make genstubs
-
- * doc/GetHostName.3:
- * doc/GetOpnFl.3:
- * doc/OpenTcp.3:
- * tcl.decls (Tcl_GetHostName,Tcl_GetOpenFile,Tcl_OpenTcpClient,
- (Tcl_OpenTclServer):
- * mac/tclMacSock.c (CreateSocket,Tcl_OpenTcpClient,Tcl_OpenTcpServer,
- (Tcl_GetHostName,GetHostFromString):
- * unix/tclUnixChan.c (CreateSocket,CreateSocketAddress,
- (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetOpenFile):
- * unix/tclUnixSock.c (Tcl_GetHostName):
- * win/tclWinSock.c (CreateSocket,CreateSocketAddress,
- (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetHostName):
- Updated socket interfaces according to TIP 27.
- * generic/tclCmdIL.c (InfoHostnameCmd): Updated callers.
- * generic/tclDecls.h: make genstubs
-
-2002-01-21 David Gravereaux <davygrvy@pobox.com>
-
- * generic/tclLoadNone.c: TclpLoadFile() didn't match proto of typedef
- Tcl_FSLoadFileProc. OK'd by vincentdarley. [Patch 502488]
-
-2002-01-21 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * generic/tclIO.c (WriteChars): Fix for [Bug 506297], reported by
- Martin Forssen <ruric@users.sourceforge.net>. The encoding chosen in
- the script exposing the bug writes out three intro characters when
- TCL_ENCODING_START is set, but does not consume any input as
- TCL_ENCODING_END is cleared. As some output was generated the
- enclosing loop calls UtfToExternal again, again with START set. Three
- more characters in the out and still no use of input ... To break this
- infinite loop we remove TCL_ENCODING_START from the set of flags after
- the first call (no condition is required, the later calls remove an
- unset flag, which is a no-op). This causes the subsequent calls to
- UtfToExternal to consume and convert the actual input.
-
-2002-01-21 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTest.c: Converted declarations of TestReport file system
- to more portable form. [Bug 501417].
-
- * generic/tcl.decls (Tcl_TraceCommand,Tcl_UntraceCommand,
- (Tcl_CommandTraceInfo):
- * generic/tclCmdMZ.c (Tcl_TraceCommand,Tcl_UntraceCommand,
- (Tcl_CommandTraceInfo): Updated APIs in generic/tclCmdMZ.c
- according to the guidelines of TIP 27.
- * generic/tclDecls.h: make genstubs
-
-2002-01-18 Don Porter <dgp@users.sourceforge.net>
+2006-01-26 Donal K. Fellows <dkf@users.sf.net>
- * win/tclWinChan.c:
- * win/tclWinFCmd.c:
- * win/tclWinFile.c: Overlooked callers of Tcl_FSGetNativePath
+ * doc/dict.n: Fixed silly bug in example. Thanks to Heiner Marxen
+ <heiner.marxen@unsel.de> for catching this! [Bug 1415725]
- * win/tclWinDde.c:
- * win/tclWinReg.c: Overlooked callers of Tcl_GetIndexFromObj
+2006-01-26 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-01-18 Daniel Steffen <das@users.sourceforge.net>
+ * 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.
- * generic/tclThreadTest.c:
- * mac/tclMacChan.c:
- * mac/tclMacFCmd.c:
- * mac/tclMacFile.c:
- * mac/tclMacLoad.c:
- * mac/tclMacResource.c: TIP 27 CONSTification broke the mac build in a
- number of places.
+2006-01-25 Donal K. Fellows <dkf@users.sf.net>
-2002-01-17 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * unix/tclUnixInit.c (TclpInitPlatform): Improved conditions on when
+ to update the FP rounding mode on FreeBSD, taken from FreeBSD port.
- * generic/tclIOCmd.c (Tcl_GetsObjCmd): Fixed [Bug 504642] as reported
- by Brian Griffin <bgriffin@users.sourceforge.net>, using his patch.
- Before the patch the generic I/O layer held an unannounced reference
- to the interp result to store the read line into. This unfortunately
- has disastrous results if the channel driver executes a Tcl script to
- perform its operation, this freeing the interp result. In that case we
- are dereferencing essentially a dangling reference. It is not truly
- dangling because the object is in the free list, but this only causes
- us to smash the free list and have the error occur later somewhere
- else. The patch simply creates a new object for the line and later
- sets it into the interp result when we are done with reading.
+2006-01-23 Donal K. Fellows <dkf@users.sf.net>
-2002-01-16 Mo DeJong <mdejong@users.sourceforge.net>
+ * tests/string.test (string-12.21): Added test for [Bug 1410553] based
+ on original bug report.
- * unix/tcl.m4 (SC_LOAD_TCLCONFIG):
- * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst TCL_DBGX into
- TCL_STUB_LIB_FILE and TCL_STUB_LIB_FLAG variables so that an extension
- does not need to subst TCL_DBGX into its makefile. [Tk Bug 504356]
+2006-01-23 Miguel Sofer <msofer@users.sf.net>
-2002-01-16 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]
- * doc/FileSystem.3:
- * doc/GetCwd.3:
- * doc/GetIndex.3:
- * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct,
- (Tcl_GetCwd, Tcl_FSFileAttrStrings, Tcl_FSGetNativePath,
- (Tcl_FSGetTranslatedStringPath):
- * generic/tcl.h (Tcl_FSFileAttrStringsProc):
- * generic/tclFCmd.c (TclFileAttrsCmd):
- * generic/tclIOUtil.c (Tcl_GetCwd,NativeFileAttrStrings,
- (Tcl_FSFileAttrStrings,Tcl_FSGetTranslatedStringPath,
- (Tcl_FSGetNativePath):
- * generic/tclIndexObj.c (Tcl_GetIndexFromObj,Tcl_GetIndexFromObjStruct):
- More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that were
- overlooked before. [Patch 504671]
- ***POTENTIAL INCOMPATIBILITY***
- Includes a source incompatibility in the tablePtr arguments of the
- Tcl_GetIndexFromObj* routines.
- * generic/tclDecls.h: make genstubs
-
- * generic/tclBinary.c (Tcl_BinaryObjCmd):
- * generic/tclClock.c (Tcl_ClockObjCmd):
- * generic/tclCmdAH.c (Tcl_EncodingObjCmd, Tcl_FileObjCmd):
- * generic/tclCmdIL.c (Tcl_InfoObjCmd,Tcl_LsearchObjCmd,Tcl_LsortObjCmd):
- * generic/tclCmdMZ.c (Tcl_TraceObjCmd,Tcl_RegexpObjCmd,Tcl_RegsubObjCmd,
- (Tcl_StringObjCmd,Tcl_SubstObjCmd,Tcl_SwitchObjCmd,
- (TclTraceCommandObjCmd,TclTraceVariableObjCmd):
- * generic/tclCompCmds.c (TclCompileStringCmd):
- * generic/tclEvent.c (Tcl_UpdateObjCmd):
- * generic/tclFileName.c (Tcl_GlobObjCmd):
- * generic/tclIO.c (Tcl_FileEventObjCmd):
- * generic/tclIOCmd.c (Tcl_SeekObjCmd,Tcl_ExecObjCmd,Tcl_SocketObjCmd,
- (Tcl_FcopyObjCmd):
- * generic/tclInterp.c (Tcl_InterpObjCmd,SlaveObjCmd):
- * generic/tclNamesp.c (Tcl_NamespaceObjCmd):
- * generic/tclPkg.c (Tcl_PackageObjCmd):
- * generic/tclTest.c (Tcltest_Init,TestencodingObjCmd,TestgetplatformCmd,
- (TestlocaleCmd,TestregexpObjCmd,TestsaveresultCmd,
- (TestGetIndexFromObjStructObjCmd,TestReportFileAttrStrings):
- * generic/tclTestObj.c (TestindexObjCmd,TeststringObjCmd):
- * generic/tclTimer.c (Tcl_AfterObjCmd):
- * generic/tclVar.c (Tcl_ArrayObjCmd):
- * mac/tclMacFCmd.c (SetFileFinderAttributes):
- * unix/tclUnixChan.c (TclpOpenFileChannel):
- * unix/tclUnixFCmd.c (tclpFileAttrStrings):
- * unix/tclUnixFile.c (TclpObjAccess,TclpObjChdir,TclpObjStat,
- (TclpObjLstat):
- * win/tclWinFCmd.c (tclpFileAttrStrings): Updated callers.
-
- * doc/RegExp.3:
- * doc/Utf.3:
- * generic/tcl.decls:
- * generic/tclInt.decls:
- * generic/tclRegexp.c:
- * generic/tclUtf.c: Updated APIs in generic/tclUtf.c and
- generic/tclRegexp.c according to the guidelines of TIP 27.
- [Patch 471509]
-
- * generic/regc_locale.c (element,cclass):
- * generic/tclCmdMZ.c (Tcl_StringObjCmd):
- * generic/tclFileName.c (TclpGetNativePathType,SplitMacPath):
- * generic/tclIO.c (ReadChars):
- * mac/tclMacLoad.c (TclpLoadFile):
- * win/tclWinFile.c (TclpGetUserHome): Updated callers.
-
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
- * doc/ParseCmd.3 (Tcl_ParseVar):
- * generic/tcl.decls (Tcl_ParseVar):
- * generic/tclParse.c (Tcl_ParseVar):
- * generic/tclTest.c (TestparsevarObjCmd): Updated APIs in
- generic/tclParse.c according to the guidelines of TIP 27. Updated
- callers. [Patch 501046]
- * generic/tclDecls.h: make genstubs
-
- * generic/tcl.decls (Tcl_RecordAndEval):
- * generic/tclDecls.h: make genstubs
- * generic/tclHistory.c (Tcl_RecordAndEval): Updated APIs in
- generic/tclHistory.c according to the guidelines of TIP 27.
- [Patch 504091]
-
- * doc/CrtSlave.3:
- * generic/tcl.decls (Tcl_CreateAlias, Tcl_CreateAliasObj,
- (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave):
- * generic/tclInterp.c (Tcl_CreateAlias, Tcl_CreateAliasObj,
- (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave):
- Updated APIs in the file generic/tclInterp.c according to the
- guidelines of TIP 27. [Patch 501371]
- ***POTENTIAL INCOMPATIBILITY***
- Includes a source incompatibility in the targetCmdPtr arguments of
- the Tcl_GetAlias* routines.
-
- * generic/tclDecls.h: make genstubs
-
-2002-01-15 Don Porter <dgp@users.sourceforge.net>
-
- * doc/SetErrno.3 (Tcl_ErrnoMsg): Corrected documentation for
- Tcl_ErrnoMsg; it takes an integer argument. Thanks to Georgios
- Petasis. [Bug 468183]
-
- * doc/AddErrInfo.3 (Tcl_PosixError):
- * doc/Eval.3 (Tcl_EvalFile):
- * doc/FileSystem.c (Tcl_FSOpenFileChannel,Tcl_FSOpenFileChannelProc):
- * doc/OpenFileChnl.3 (Tcl_OpenFileChannel):
- * doc/SetErrno.3 (Tcl_ErrnoId,Tcl_ErrnoMsg):
- * doc/Signal.3 (Tcl_SignalId,Tcl_SignalMsg):
- * generic/tcl.decls (Tcl_ErrnoId,TclErrnoMsg,Tcl_EvalFile,
- (Tcl_OpenFileChannel,Tcl_PosixError,Tcl_SignalId,Tcl_SignalMsg,
- (Tcl_FSOpenFileChannel):
- * generic/tcl.h (Tcl_FSOpenFileChannelProc):
- * generic/tclIO.c (FlushChannel):
- * generic/tclIOUtil.c (Tcl_OpenFileChannel,Tcl_EvalFile,TclGetOpenMode,
- (Tcl_PosixError,Tcl_FSOpenFileChannel):
- * generic/tclInt.decls (TclGetOpenMode):
- * generic/tclInt.h (TclOpenFileChannelProc_,TclGetOpenMode,
- (TclpOpenFileChannel):
- * generic/tclPipe.c (TclCleanupChildren):
- * generic/tclPosixStr.c (Tcl_ErrnoId,Tcl_ErrnoMsg,Tcl_SignalId,
- (Tcl_SignalMsg):
- * generic.tclTest.c (PretendTclpOpenFileChannel,
- (TestOpenFileChannelProc1,TestOpenFileChannelProc2,
- (TestOpenFileChannelProc3,TestReportOpenFileChannel):
- * mac/tclMacChan.c (TclpOpenFileChannel):
- * unix/tclUnixChan.c (TclpOpenFileChannel):
- * win/tclWinChan.c (TclpOpenFileChannel): Updated APIs in
- generic/tclIOUtil.c and generic/tclPosixStr.c according to the
- guidelines of TIP 27. Updated callers. [Patch 499196]
-
- * generic/tclDecls.h:
- * generic/tclIntDecls.h: make genstubs
-
- * doc/CrtChannel.3:
- * doc/OpenFileChnl.3:
- * generic/tcl.decls:
- * generic/tclIO.h:
- * generic/tclIO.c (DoWrite, Tcl_RegisterChannel, Tcl_GetChannel,
- (Tcl_CreateChannel, Tcl_GetChannelName, CloseChannel, Tcl_Write,
- (Tcl_WriteRaw, Tcl_Ungets, Tcl_BadChannelOption, Tcl_GetChannelOption,
- (Tcl_SetChannelOption, Tcl_GetChannelNamesEx, Tcl_ChannelName):
- Updated APIs in the file generic/tclIO.c according to the guidelines
- of TIP 27. Several minor documentation corrections as well. [Patch
- 503565]
- * generic/tclDecls.h: make genstubs
-
- * generic/tcl.h (Tcl_DriverOutputProc, Tcl_DriverGetOptionProc,
- (Tcl_DriverSetOptionProc):
- * generic/tclIOGT.c (TransformOutputProc, TransformGetOptionProc,
- (TransformSetOptionProc):
- * mac/tclMacChan.c (FileOutput, StdIOOutput):
- * man/tclMacSock.c (TcpGetOptionProc, TcpOutput):
- * unix/tclUnixChan.c (FileOutputProc, TcpGetOptionProc, TcpOutputProc,
- (TtyGetOptionProc, TtySetOptionProc):
- * unix/tclUnixPipe.c (PipeOuputProc):
- * win/tclWinChan.c (FileOutputProc):
- * win/tclWinConsole.c (ConsleOutputProc):
- * win/tclWinPipe.c (PipeOuputProc):
- * win/tclWinSerial.c (SerialOutputProc, SerialGetOptionProc,
- (SerialSetOptionProc):
- * win/tclWinSock.c (TcpGetOptionProc, TcpOutput): Updated channel
- driver interface according to the guidelines of TIP 27. See also [Bug
- 500348].
-
- * doc/CrtChannel.3:
- * generic/tcl.h:
- * generic/tclIO.c:
- * generic/tclIO.h:
- * generic/tclInt.h:
- * tools/checkLibraryDoc.tcl:
- Moved Tcl_EolTranslation enum declaration from generic/tcl.h to
- generic/tclInt.h (renamed to TclEolTranslation). It is not used
- anywhere in Tcl's public interface.
+ * generic/tclProc.c: fixed args handling for precompiled bodies [Bug
+ 1412695]; thanks to Uwe Traum.
-2002-01-14 Don Porter <dgp@users.sourceforge.net>
+2006-01-16 Reinhard Max <max@suse.de>
- * doc/GetIndex.3:
- * doc/WrongNumArgs.3:
- * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct,
- (Tcl_WrongNumArgs):
- * generic/tclIndexObj.c (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct,
- (Tcl_WrongNumArgs): Updated APIs in the file generic/tclIndexObj.c
- according to the guidelines of TIP 27. [Patch 501491]
- * generic/tclDecls.h: make genstubs
+ * generic/tclPipe.c (FileForRedirect): Prevent nameString from being
+ freed without having been initialized.
+ * tests/exec.test: Added a test for the above.
-2002-01-11 Mo DeJong <mdejong@users.sourceforge.net>
+2006-01-12 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
- * unix/configure: Regen.
- * unix/configure.in:
- * win/configure: Regen.
- * win/configure.in: Use ${libdir} instead of ${exec_prefix}/lib
- to properly support the --libdir option to configure. [Bug 489370]
-
-2002-01-11 Andreas Kupries <andreas_kupries@users.sourceforge.net>
-
- * win/tclWinSerial.c (SerialSetOptionProc): Applied patch for [Bug
- 500348] supplied by Rolf Schroedter <schroedter@users.sf.net>. The
- function modified the contents of the the 'value' string and now does
- not do this anymore. This is a followup to the change made on
- 2001-12-17.
-
-2002-01-11 David Gravereaux <davygrvy@pobox.com>
-
- * win/makefile.vc: Removed -GD compiler option. It was intended for
- future use, but MS is again changing the future at their whim. The
- D4002 warning was harmless though, but someone using VC .NET logged it
- as a concern. [Bug 501565]
-
-2002-01-11 Mo DeJong <mdejong@users.sourceforge.net>
-
- * unix/Makefile.in: Burn Tcl build directory into tcltest executable
- to avoid crashes caused by ld loading a previously installed version
- of the tcl shared library. [Bug 218110]
-
-2002-01-10 Don Porter <dgp@users.sourceforge.net>,
- Kevin Kenny <kennykb@users.sourceforge.net>
-
- * unix/tclLoadDld.c (TclpLoadFile): syntax error: unbalanced parens.
- Kevin notes that it's far from clear that this file is ever included
- in an actual build; Linux without dlopen appears to be a nonexistent
- configuration.
-
-2002-01-08 Don Porter <dgp@users.sourceforge.net>,
- Kevin Kenny <kennykb@users.sourceforge.net>
-
- * doc/StaticPkg.3 (Tcl_StaticPackage):
- * generic/tcl.decls (Tcl_StaticPackage):
- * generic/tclDecls.h (Tcl_StaticPackage):
- * generic/tclInt.decls (TclGuessPackageName):
- * generic/tclInt.h (TclGuessPackageName):
- * generic/tclLoad.c (Tcl_StaticPackage):
- * generic/tclLoadNone.c (TclGuessPackageName):
- * mac/tclMacLoad.c (TclGuessPackageName):
- * unix/tclLoadAout.c (TclGuessPackageName):
- * unix/tclLoadDl.c (TclGuessPackageName):
- * unix/tclLoadDld.c (TclGuessPackageName):
- * unix/tclLoadDyld.c (TclGuessPackageName):
- * unix/tclLoadNext.c (TclGuessPackageName):
- * unix/tclLoadOSF.c (TclGuessPackageName):
- * unix/tclLoadShl.c (TclGuessPackageName):
- * win/tclWinLoad.c (TclGuessPackageName): Updated APIs in the files
- */tcl*Load*.c according to the guidelines of TIP 27. [Patch 501096]
-
-2002-01-09 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclTest.c (MainLoop):
- * tests/main.test (Tcl_Main-1.{3,4,5,6}): Corrected some non-portable
- tests from the new Tcl_Main changes. Thanks to Kevin Kenny.
-
-2002-01-07 Don Porter <dgp@users.sourceforge.net>
-
- * generic/tclEvent.c (TclInExit):
- * generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized,
- (SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep):
- * generic/tclListObj.c (TclLsetList,TclLsetFlat): Added some type
- casts to satisfy picky compilers.
-
- * generic/tclMain.c: Bug fix: neglected the NULL case in
- TclGetStartupScriptFileName(). Broke Tk/wish.
-
-2002-01-05 Don Porter <dgp@users.sourceforge.net>
-
- * doc/Tcl_Main.3:
- * generic/tclMain.c: Substantial rewrite and expanded documentation
- of Tcl_Main to correct a number of bugs and flaws:
-
- * Interactive Tcl_Main can now enter a main loop, exit that
- loop and continue interactive operations. The loop may even
- exit in the midst of interactive command typing without loss
- of the partial command. [Bugs 486453, 474131]
- * Tcl_Main now gracefully handles deletion of its master
- interpreter.
- * Interactive Tcl_Main can now operate with non-blocking stdin
- * Interactive Tcl_Main can now detect EOF on stdin even in
- mid-command. [Bug 491341]
- * Added VFS-aware internal routines for managing the startup
- script selection.
- * Tcl variable 'tcl_interactive' is now linked to C variable
- 'tty' so that one can disable/enable interactive prompts at
- the script level when there is no startup script. This is
- meant for use by the test suite.
- * Consistent use of the Tcl libraries standard channels as
- returned by Tcl_GetStdChannel(); as opposed to the channels
- named 'stdin', 'stdout', and 'stderr' in the master interp,
- which can be different or unavailable.
- * Tcl_Main now calls Tcl_Exit() if evaluation of [exit] in the
- master interpreter returns, assuring Tcl_Main does not
- return.
- * Documented Tcl_Main's absence from public stub table
- * Documented that Tcl_Main does not return.
- * Documented Tcl variables set by Tcl_Main.
- * All prompts are done from a single procedure, Prompt.
- * Use of Tcl_Obj-enabled interfaces everywhere.
-
- * generic/tclInt.decls (TclGetStartupScriptPath,
- (TclSetStartupScriptPath): New internal VFS-aware routines for
- managing the startup script of Tcl_Main.
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c: make genstubs
+ * generic/tclPathObj.c (Tcl_FSGetInternalRep): backported patch from
+ core-8-4-branch. A freed pointer has been overwritten causing all
+ sorts of coredumps.
- * generic/tclTest.c (TestsetmainloopCmd,TestexitmainloopCmd,
- (Tcltest_Init,TestinterpdeleteCmd):
- * tests/main.test (new): Added new file to test suite that thoroughly
- tests generic/tclMain.c; added some new test commands for testing
- Tcl_SetMainLoop().
+2006-01-12 Vince Darley <vincentdarley@sourceforge.net>
-2002-01-04 Don Porter <dgp@users.sourceforge.net>
+ * win/tclWinFile.c: fix to sharing violation [Bug 1366227]
- * doc/Alloc.3:
- * doc/Concat.3:
- * doc/CrtMathFnc.3:
- * doc/Hash.3:
- * doc/Interp.3:
- * doc/LinkVar.3:
- * doc/ObjectType.3:
- * doc/PkgRequire.3:
- * doc/Preserve.3:
- * doc/SetResult.3:
- * doc/SplitList.3:
- * doc/SplitPath.3:
- * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc,
- ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and to
- accurately describe when and how they are used. [Bug 497459]
+2006-01-11 Don Porter <dgp@users.sourceforge.net>
- * generic/tclThreadJoin.c (TclRememberJoinableThread,TclJoinThread):
- Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that
- memory debugging is supported.
+ * 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]
-2002-01-04 Daniel Steffen <das@users.sourceforge.net>
+2006-01-10 Daniel Steffen <das@users.sourceforge.net>
- * mac/tclMacTime.c (TclpGetTZName): fix for daylight savings TZName
- bug
+ * 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.
-2002-01-03 Don Porter <dgp@users.sourceforge.net>
+2006-01-09 Don Porter <dgp@users.sourceforge.net>
- * doc/FileSystem.3:
- * generic/tclIOUtil.c: Updated some old uses of "fileName" to new VFS
- terminology, "pathPtr".
+ * generic/tclNamesp.c (NamespaceInscopeCmd): [namespace inscope]
+ * tests/namespace.test: commands were not reported by [info level].
+ [Bug 1400572]
-2002-01-03 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+2006-01-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
- * tests/basic.test (basic-39.4): Greatly simplified test while still
- leaving it so that it crashes when run without the fix to the
- [foreach] implementation.
- * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stopped [Bug 494348] from
- happening by not trying to be so clever with cacheing; if nothing
- untoward is happening anyway, the less efficient technique will only
- add a few instruction cycles (one function call and a few
- derefs/assigns per list per iteration, with no change in the number of
- tests) and if something odd *is* going on, the code is now far more
- robust.
+ * generic/tclTrace.c: Stop exporting the guts of the trace command;
+ nothing outside this file needs to see it. [Bug 971336]
- * tests/basic.test (basic-39.4): Reproducable script from [Bug 494348]
+2006-01-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
-2002-01-02 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * unix/tcl.m4 (TCL_CONFIG_SYSTEM): Factor out the code to determine
+ the operating system version number, as it was replicated in several
+ places.
- * tests/util.test (Wrapper_Tcl_StringMatch,util-5.*): Rewrote so the
- test is performed with the right internal function since [string
- match] no longer uses Tcl_StringCaseMatch internally.
+2006-01-04 David Gravereaux <davygrvy@pobox.com>
- * tests/string.test (string-11.51):
- * generic/tclUtf.c (Tcl_UniCharCaseMatch):
- * generic/tclUtil.c (Tcl_StringCaseMatch): Fault with matching
- case-insensitive non-ASCII patterns containing upper case characters.
- [Bug 233257]
+ * 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.
******************************************************************
+ *** 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" ***