2007-03-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
* generic/tclCmdIL.c (Tcl_LsortObjCmd): Handle tricky case with loss
* tests/cmdIL.test (cmdIL-1.29): of list rep during sorting due
to shimmering. [Bug 1675116]
2007-03-09 Kevin B. Kenny <kennykb@acm.org>
* library/clock.tcl (ReadZoneinfoFile): Added Y2038 compliance to the
code for version-2 'zoneinfo' files.
* tests/clock.test (clock-56.3): Added a test case for Y2038 and
'zoneinfo'. Modified test initialisation to use the
'loadTestedCommands' function of tcltest to bring in the correct path
for the registry library.
2007-03-08 Don Porter <dgp@users.sourceforge.net>
* generic/tclListObj.c (TclLsetList): Rewrite so that the routine
itself does not do any direct intrep surgery. Better isolates those
things into the implementation of the "list" Tcl_ObjType.
2007-03-08 Donal K. Fellows <donal.k.fellows@man.ac.uk>
* generic/tclListObj.c (TclLindexList, TclLindexFlat): Moved these
functions to tclListObj.c from tclCmdIL.c to mirror the way that the
equivalent functions for [lset]'s guts are arranged.
2007-03-08 Kevin B. Kenny <kennykb@acm.org>
* library/clock.tcl: Further tweaks to the Windows time zone table
(restoring missing Mexican time zones). Added rudimentary handling of
version-2 'zoneinfo' files. Update US DST rules so that zones such as
'EST5EDT' get the correct transition dates.
* tests/clock.test: Added rudimentary test cases for 'zoneinfo'
parsing. Adjusted several tests that depended on obsolete US DST
transition rules.
2007-03-07 Daniel Steffen <das@users.sourceforge.net>
* macosx/tclMacOSXNotify.c: add spinlock debugging and sanity checks.
* macosx/Tcl.xcodeproj/project.pbxproj: ensure gcc version used by
* macosx/Tcl.xcodeproj/default.pbxuser: Xcode and configure/make are
* macosx/Tcl-Common.xcconfig: consistent and independent of
gcc_select default and CC env var; fixes for Xcode 3.0.
* unix/tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in macosx-version-min check
* unix/configure: autoconf-2.59
2007-03-07 Don Porter <dgp@users.sourceforge.net>
* generic/tclCmdIL.c (TclLindex*): Rewrites to make efficient
private copies of the list and indexlist arguments, so we can operate
on the list elements directly with no fear of shimmering effects.
Replaces defensive coding schemes that are otherwise required. End
result is that TclLindexList is entirely a wrapper around
TclLindexFlat, which is now the core engine of all [lindex]
operations.
* generic/tclObj.c (Tcl_AppendAllObjTypes): Converted to simpler
list validity test.
2007-03-07 Donal K. Fellows <donal.k.fellows@man.ac.uk>
* generic/tclRegexp.c (TclRegAbout): Generate information about a
regexp as a Tcl_Obj instead of as a string, which is more efficient.
2007-03-07 Kevin B. Kenny <kennykb@acm.org>
* library/clock.tcl: Adjusted Windows time zone table to handle new US
DST rules by locale rather than as Posix time zone spec.
* tests/clock.test (clock-39.6, clock-49.2, testclock::registry):
Adjusted tests to simulate new US rules.
* library/tzdata/America/Indiana/Winamac:
* library/tzdata/Europe/Istanbul:
* library/tzdata/Pacific/Easter:
Olson's tzdata2007c.
2007-03-05 Andreas Kupries <andreask@activestate.com>
* library/platform/shell.tcl (::platform::shell::RUN): In the case of
* library/platform/pkgIndex.tcl: a failure put the captured stderr
* unix/Makefile.in: into the error message to aid in debugging. Bumped
* win/Makefile.in: package version to 1.1.2, and updated the makefiles
installing it as Tcl Module.
2007-03-03 Donal K. Fellows <dkf@users.sf.net>
* generic/tclLink.c (LinkedVar): Added macro to conceal at least some
of the pointer hackery.
2007-03-02 Don Porter <dgp@users.sourceforge.net>
* generic/tclCmdIL.c (Tcl_LreverseObjCmd): Added missing
TclInvalidateStringRep() call when we directly manipulate the intrep
of an unshared "list" Tcl_Obj. [Bug 1672585].
* generic/tclCmdIL.c (Tcl_JoinObjCmd): Revised [join] implementation
to append Tcl_Obj's instead of strings. [RFE 1669420]
* generic/tclCmdIL.c (Info*Cmd): Code simplifications and
optimizations.
2007-03-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/tclCompile.c (TclPrintInstruction): Added a scheme to allow
* generic/tclCompile.h (AuxDataPrintProc): aux-data to be printed
* generic/tclCompCmds.c (Print*Info): out for debugging. For
this to work, immediate operands referring to aux-data must be
identified as such in the instruction descriptor table using
OPERAND_AUX4 (all are always 4 bytes).
* generic/tclExecute.c (TclExecuteByteCode): Rewrote the compiled
* generic/tclCompCmds.c (TclCompileDictCmd): [dict update] so that it
* generic/tclCompile.h (DictUpdateInfo): stores critical
* tests/dict.test (dict-21.{14,15}): non-varying data in an
aux-data value instead of a (shimmerable) literal. [Bug 1671001]
2007-03-01 Don Porter <dgp@users.sourceforge.net>
* generic/tclCmdIL.c (Tcl_LinsertObjCmd): Code simplifications
and optimizations.
* generic/tclCmdIL.c (Tcl_LreplaceObjCmd): Code simplifications
and optimizations.
* generic/tclCmdIL.c (Tcl_LrangeObjCmd): Rewrite in the same
spirit; avoid shimmer effects rather than react to them.
* generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stop throwing away
* tests/foreach.test (foreach-1.14): useful error information when
loop variable sets fail.
* generic/tclCmdIL.c (Tcl_LassignObjCmd): Rewrite to make an
efficient private copy of the list argument, so we can operate on the
list elements directly with no fear of shimmering effects. Replaces
defensive coding schemes that are otherwise required.
* generic/tclCmdAH.c (Tcl_ForeachObjCmd): Rewrite to make
efficient private copies of the variable and value lists, so we can
operate on them without any special shimmer defense coding schemes.
2007-03-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/tclCompCmds.c (TclCompileForeachCmd): Prevent an unexpected
* tests/foreach.test (foreach-9.1): infinite loop when the
variable list is empty and the foreach is compiled. [Bug 1671138]
2007-02-26 Andreas Kupries <andreask@activestate.com>
* generic/tclIORChan.c (FreeReflectedChannel): Added the missing
refcount release between NewRC and FreeRC for the channel handle
object, spotted by Don Porter. [Bug 1667990]
2007-02-26 Don Porter <dgp@users.sourceforge.net>
* generic/tclCmdAH.c (Tcl_ForeachObjCmd): Removed surplus
copying of the objv array that used to be a workaround for [Bug
404865]. That bug is long fixed.
2007-02-24 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: Use new interface in Tcl_EvalObjEx so that the
recounting logic of the List internal rep need not be repeated there.
Better encapsulation of internal details.
* generic/tclInt.h: New internal routine TclListObjCopy() used
* generic/tclListObj.c: to efficiently do the equivalent of [lrange
$list 0 end]. After some experience with this, might be a good
candidate for exposure as a public interface. It's useful for callers
of Tcl_ListObjGetElements() who want to control the ongoing validity
of the returned objv pointer.
2007-02-22 Andreas Kupries <andreask@activestate.com>
* tests/pkg.test: Added tests for the case of an alpha package
satisfying a require for the regular package, demonstrating a corner
case specified in TIP#280. More notes in the comments to the test.
2007-02-20 Jan Nijtmans <nijtmans@users.sf.net>
* generic/tclInt.decls: Added "const" specifiers in TclSockGetPort
* generic/tclIntDecls.h: regenerated
* generic/*.c:
* unix/tclUnixChan.c
* unix/tclUnixPipe.c
* win/tclWinPipe.c
* win/tclWinSock.c: Added many "const" specifiers in implementation.
2007-02-20 Don Porter <dgp@users.sourceforge.net>
* doc/tcltest.n: Typo fix. [Bug 1663539]
2007-02-20 Pat Thoyts <patthoyts@users.sourceforge.net>
* generic/tclFileName.c: [Bug 1479814]. Handle extended paths
* generic/tclPathObj.c: on Windows NT and above. These have a
* win/tclWinFile.c: \\?\ prefix.
* tests/winFCmd.test: Tests for extended path handling.
2007-02-19 Jeff Hobbs <jeffh@ActiveState.com>
* unix/tcl.m4: use SHLIB_SUFFIX=".so" on HP-UX ia64 arch.
* unix/configure: autoconf-2.59
* generic/tclIOUtil.c (Tcl_FSEvalFileEx): safe incr of objPtr ref.
2007-02-18 Donal K. Fellows <dkf@users.sf.net>
* doc/chan.n, doc/clock.n, doc/eval.n, doc/exit.n, doc/expr.n:
* doc/interp.n, doc/open.n, doc/platform_shell.n, doc/pwd.n:
* doc/refchan.n, doc/regsub.n, doc/scan.n, doc/tclvars.n, doc/tm.n:
* doc/unload.n: Apply [Bug 1610310] to fix typos. Thanks to Larry
Virden for spotting them.
* doc/interp.n: Partial fix of [Bug 1662436]; rest requires some
policy decisions on what should and shouldn't be safe commands from
the "new in 8.5" set.
2007-02-13 Kevin B. Kenny <kennykb@acm.org>
* tools/fix_tommath_h.tcl: Further tweaking for the x86-64. The change
is to make 'mp_digit' be an 'unsigned int' on that platform; since
we're using only 32 bits of it, there's no reason to make it a 64-bit
'unsigned long.'
* generic/tclTomMath.h: Regenerated.
2007-02-13 Donal K. Fellows <donal.k.fellows@man.ac.uk>
* doc/re_syntax.n: Corrected description of 'print' class [Bug
1614687] and enhanced description of 'graph' class.
2007-02-12 Kevin B. Kenny <kennykb@acm.org>
* tools/fix_tommath_h.tcl: Added code to patch out a check for
__x86_64__ that caused Tommath to use __attributes(TI)__ for the
mp_word type. Tetra-int's simply fail on too many gcc-glibc-OS
combinations to be ready for shipment today, even if they work for
some of us. This change allows reversion of das's change of 2006-08-18
that accomplised the same thing on Darwin. [Bugs 1601380, 1603737,
1609936, 1656265]
* generic/tclTomMath.h: Regenerated.
* library/tzdata/Africa/Asmara:
* library/tzdata/Africa/Asmera:
* library/tzdata/America/Nassau:
* library/tzdata/Atlantic/Faeroe:
* library/tzdata/Atlantic/Faroe:
* library/tzdata/Australia/Eucla:
* library/tzdata/Pacific/Easter: Rebuilt from Olson's tzdata2007b.
2007-02-09 Joe Mistachkin <joe@mistachkin.com>
* win/nmakehlp.c: Properly cleanup after nmakehlp, including the
* win/makefile.vc: vcX0.pch file.
2007-02-08 Jeff Hobbs <jeffh@ActiveState.com>
* unix/tclUnixInit.c (TclpCheckStackSpace): do stack size checks with
unsigned size_t to correctly validate stackSize in the 2^31+ range.
[Bug 1654104]
2007-02-08 Don Porter <dgp@users.sourceforge.net>
* generic/tclNamesp.c: Corrected broken logic in Tcl_DeleteNamespace()
* tests/namespace.test: introduced in Patch 1577278 that caused
[namespace delete ::] to be effective only at level #0. New test
namespace-7.7 should prevent similar error in the future. [Bug 1655305]
2007-02-06 Don Porter <dgp@users.sourceforge.net>
* generic/tclNamesp.c: Corrected broken implementation of the
* tests/namespace.test: TclMatchIsTrivial optimization on [namespace
children $namespace $pattern].
2007-02-04 Daniel Steffen <das@users.sourceforge.net>
* unix/tcl.m4: use gcc4's __attribute__((__visibility__("hidden"))) if
available to define MODULE_SCOPE effective on all platforms.
* unix/configure.in: add caching to -pipe and zoneinfo checks.
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
2007-02-03 Joe Mistachkin <joe@mistachkin.com>
* win/rules.vc: Fix platform specific file copy macros for downlevel
Windows.
2007-01-29 Don Porter <dgp@users.sourceforge.net>
* generic/tclResult.c: Added optimization case to TclTransferResult to
cover common case where there's big savings over the fully general
path. Thanks to Peter MacDonald. [Bug 1626518].
* generic/tclLink.c: Broken linked float logic corrected. Thanks to
Andy Goth. [Bug 1602538]
* doc/fcopy.n: Typo fix. [Bug 1630627]
2007-01-28 Daniel Steffen <das@users.sourceforge.net>
* macosx/Tcl.xcodeproj/project.pbxproj: extract build settings that
* macosx/Tcl.xcodeproj/default.pbxuser: were common to multiple
* macosx/Tcl-Common.xcconfig (new file): configurations into external
* macosx/Tcl-Debug.xcconfig (new file): xcconfig files; add extra
* macosx/Tcl-Release.xcconfig (new file): configurations for building
with SDKs and 64bit; convert legacy jam-based 'Tcl' target to native
target with single script phase; correct syntax of build setting
references to use $() throughout.
* macosx/README: document new Tcl.xcodeproj configurations; other minor
updates/corrections.
* generic/tcl.h: update location of version numbers in macosx files.
* macosx/Tcl.xcode/project.pbxproj: restore 'tcltest' target to working
* macosx/Tcl.xcode/default.pbxuser: order by replicating applicable
changes to Tcl.xcodeproj since 2006-07-20.
2007-01-25 Daniel Steffen <das@users.sourceforge.net>
* unix/tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible and
move (rather than duplicate) -isysroot flags from CFLAGS to CPPFLAGS
to avoid errors about multiple -isysroot flags from some older gcc
builds.
* unix/configure: autoconf-2.59
2007-01-22 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* compat/memcmp.c (memcmp): Reworked so that arithmetic is never
performed upon void pointers, since that is illegal. [Bug 1631017]
2007-01-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
* generic/tclCompile.c (TclCompileScript): Reduce the frequency with
which we issue INST_START_CMD, making bytecode both more compact and
somewhat faster. The optimized case is where we would otherwise be
issuing a sequence of those instructions; in those cases, it is only
ever the first one encountered that could possibly trigger.
2007-01-19 Joe Mistachkin <joe@mistachkin.com>
* tools/man2tcl.c: Include stdlib.h for exit() and improve comment
detection.
* win/nmakehlp.c: Update usage.
* win/makefile.vc: Properly build man2tcl.c for MSVC8.
2007-01-19 Daniel Steffen <das@users.sourceforge.net>
* macosx/tclMacOSXFCmd.c (TclMacOSXSetFileAttribute): on some versions
of Mac OS X, truncate() fails on resource forks, in that case use
open() with O_TRUNC instead.
* macosx/tclMacOSXNotify.c: accommodate changes to prototypes of
OSSpinLock(Un)Lock API.
* macosx/Tcl.xcodeproj/project.pbxproj: ensure HOME and USER env vars
* macosx/Tcl.xcodeproj/default.pbxuser: are defined when running
testsuite from Xcode.
* tests/env.test: add extra system env vars that need to be preserved
on some Mac OS X versions for testsuite to work.
* unix/Makefile.in: Move libtommath defines into configure.in to
* unix/configure.in: avoid replicating them across multiple
* macosx/Tcl.xcodeproj/project.pbxproj: buildsystems.
* unix/tcl.m4: ensure CPPFLAGS env var is used when set. [Bug 1586861]
(Darwin): add -isysroot and -mmacosx-version-min flags to CPPFLAGS
when present in CFLAGS to avoid discrepancies between what headers
configure sees during preprocessing tests and compiling tests.
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
2007-01-18 Donal K. Fellows <donal.k.fellows@man.ac.uk>
* generic/tclCompile.c (TclCompileScript): Make sure that when parsing
an expanded literal fails, a correct bytecode sequence is still
issued. [Bug 1638414]. Also make sure that the start of the expansion
bytecode sequence falls inside the span of bytecodes for a command.
* tests/compile.test (compile-16.24): Added test for [Bug 1638414]
2007-01-17 Donal K. Fellows <dkf@users.sf.net>
* generic/tclIO.c: Added macros to make usage of ChannelBuffers
clearer.
2007-01-11 Joe English <jenglish@users.sourceforge.net>
* win/tcl.m4(CFLAGS_WARNING): Remove "-Wconversion". This was removed
from unix/tcl.m4 2004-07-16 but not from here.
* win/configure: Regenerated.
2007-01-11 Pat Thoyts <patthoyts@users.sourceforge.net>
* win/makefile.vc: Fixes to work better on Win98. Read version numbers
* win/nmakehlp.c: from package index file to avoid keeping numbers in
* win/rules.vc: the makefile where they may become de-synchronized.
2007-01-10 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/regcomp.c (compile, freev): Define a strategy for
* generic/regexec.c (exec): managing the internal vars
* generic/regguts.h (AllocVars, FreeVars): of the RE engine to reduce
* generic/regcustom.h (AllocVars, FreeVars): C stack usage. This will
make Tcl as a whole much less likely to run out of stack space...
2007-01-09 Donal K. Fellows <donal.k.fellows@man.ac.uk>
* generic/tclCompCmds.c (TclCompileLindexCmd):
* tests/lindex.test (lindex-9.2): Fix silly bug that ended up
sometimes compiling list arguments in the wrong order. [Bug 1631364]
2007-01-03 Kevin B. Kenny <kennykb@acm.org>
* generic/tclDate.c: Regenerated to recover a lost fix from patthoyts.
[Bug 1618523]
2006-12-26 Mo DeJong <mdejong@users.sourceforge.net>
* generic/tclIO.c (Tcl_GetsObj): Avoid checking for for the LF in a
possible CRLF sequence when EOF has already been found.
2006-12-26 Mo DeJong <mdejong@users.sourceforge.net>
* generic/tclEncoding.c (EscapeFromUtfProc): Clear the
TCL_ENCODING_END flag when end bytes are written. This fix keep this
method from writing escape bytes for an encoding like iso2022-jp
multiple times when the escape byte overlap with the end of the IO
buffer.
* tests/io.test: Add test for escape byte overlap issue.
2006-12-19 Donal K. Fellows <donal.k.fellows@man.ac.uk>
* unix/tclUnixThrd.c (Tcl_GetAllocMutex, TclpNewAllocMutex): Add
intermediate variables to shut up unwanted warnings. [Bug 1618838]
2006-12-19 Daniel Steffen <das@users.sourceforge.net>
* unix/tclUnixThrd.c (TclpInetNtoa): fix for 64 bit.
* unix/tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit -arch
flag succeeds before enabling 64bit build.
* unix/configure: autoconf-2.59
2006-12-17 Daniel Steffen <das@users.sourceforge.net>
* tests/macOSXLoad.test (new file): add testing of .bundle loading and
* tests/load.test: unloading on Darwin (in addition to
* tests/unload.test: existing tests of .dylib loading).
* macosx/Tcl.xcodeproj/project.pbxproj: add building of dltest binaries
so that testsuite run from Xcode can use them; fix testsuite run script
* unix/configure.in: add support for building dltest binaries as
* unix/dltest/Makefile.in: .bundle (in addition to .dylib) on Darwin.
* unix/Makefile.in: add stub lib dependency to dltest target.
* unix/configure: autoconf-2.59
* tests/append.test: fix cleanup failure when all tests are skipped.
* tests/chan.test (chan-16.9): cleanup chan event handler to avoid
causing error in event.test when running testsuite with -singleproc 1.
* tests/info.test: add !singleTestInterp constraint to tests that fail
when running testsuite with -singleproc 1. [Bug 1605269]
2006-12-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* doc/string.n: Fix example. [Bug 1615277]
2006-12-12 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompExpr.c: Now that the new internal structs are
in use to support operator commands, might as well make them the
default for [expr] as well and avoid passing every parsed expression
through the inefficient Tcl_Token array format. This addresses most
issues in [RFE 1517602]. Assuming no performance disasters result from
this, much dead code supporting the other implementation might now be
removed.
* generic/tclBasic.c: Final step routing all direct evaluation forms
* generic/tclCompExpr.c: of the operator commands through TEBC,
* generic/tclCompile.h: dropping all the routines in tclMathOp.c.
* generic/tclMathOp.c: Still needs Engineering Manual attention.
2006-12-11 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: Another step with all sorting operator commands
* generic/tclCompExpr.c: now routing through TEBC via
* generic/tclCompile.h: TclSortingOpCmd().
2006-12-08 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: Another step down the path of re-using
* generic/tclCompExpr.c: TclExecuteByteCode to implement the TIP 174
* generic/tclCompile.h: commands instead of using a mass of code
* generic/tclMathOp.c: duplication. Now all operator commands that
* tests/mathop.test: demand exactly one operation are implemented
via TclSingleOpCmd and a call to TEBC.
* generic/tclCompExpr.c: Revised implementation of TclInvertOpCmd to
* generic/tclMathOp.c: perform a bytecode compile / execute sequence.
This demonstrates a path toward avoiding mountains of code duplication
in tclMathOp.c and tclExecute.c.
* generic/tclCompile.h: Change TclExecuteByteCode() from static to
* generic/tclExecute.c: MODULE_SCOPE so all files including
tclCompile.h may call it.
* generic/tclMathOp.c: More revisions to make tests pass.
* tests/mathop.test:
2006-12-08 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/tclNamesp.c (TclTeardownNamespace): Ensure that dying
namespaces unstitch themselves from their referents. [Bug 1571056]
(NsEnsembleImplementationCmd): Silence GCC warning.
* tests/mathop.test: Full tests for & | and ^ operators
2006-12-08 Daniel Steffen <das@users.sourceforge.net>
* library/tcltest/tcltest.tcl: use [info frame] for "-verbose line".
2006-12-07 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompCmds.c: Additional commits correct most
* generic/tclExecute.c: failing tests illustrating bugs
* generic/tclMathOp.c: uncovered in [Patch 1578137].
* generic/tclBasic.c: Biggest source of TIP 174 failures was that
the commands were not [namespace export]ed from the ::tcl::mathop
namespace. More bits from [Patch 1578137] correct that.
* tests/mathop.test: Commmitted several new tests from Peter Spjuth
found in [Patch 1578137]. Many failures now demonstrate issues to fix
in the TIP 174 implementation.
2006-12-07 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* tests/mathop.test: Added tests for ! ~ eq operators.
* generic/tclMathOp.c (TclInvertOpCmd): Add in check for non-integral
numeric values.
* generic/tclCompCmds.c (CompileCompareOpCmd): Factor out the code
generation for the chained comparison operators.
2006-12-07 Pat Thoyts <patthoyts@users.sourceforge.net>
* tests/exec.test: Fixed line endings (caused win32 problems).
2006-12-06 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompCmds.c: Revised and consolidated into utility
* tests/mathop.test: routines some of routines that compile
the new TIP 174 commands. This corrects some known bugs. More to come.
2006-12-06 Kevin B. Kenny <kennykb@acm.org>
* tests/expr.test (expr-47.12): Improved error reporting in hopes of
having more information to pursue [Bug 1609936].
2006-12-05 Andreas Kupries <andreask@activestate.com>
TIP#291 IMPLEMENTATION
* generic/tclBasic.c: Define tcl_platform element for pointerSize.
* doc/tclvars.n:
* win/Makefile.in: Added installation instructions for the platform
* win/makefile.vc: package. Added the platform package.
* win/makefile.bc:
* unix/Makefile.in:
* tests/platform.test:
* tests/safe.test:
* library/platform/platform.tcl:
* library/platform/shell.tcl:
* library/platform/pkgIndex.tcl:
* doc/platform.n:
* doc/platform_shell.n:
2006-12-05 Don Porter <dgp@users.sourceforge.net>
* generic/tclPkg.c: When no requirements are supplied to a
* tests/pkg.test: [package require $pkg] and [package unknown]
is invoked to find a satisfying package, pass the requirement argument
"0-" (which means all versions are acceptable). This permits a
registered [package unknown] command to call [package vsatisfies
$testVersion {*}$args] without any special handling of the empty $args
case. This fixes/avoids a bug in [::tcl::tm::UnknownHandler] that was
causing old TM versions to be provided in preference to newer TM
versions. Thanks to Julian Noble for discovering the issue.
2006-12-04 Donal K. Fellows <dkf@users.sf.net>
TIP#267 IMPLEMENTATION
* generic/tclIOCmd.c (Tcl_ExecObjCmd): Added -ignorestderr option,
* tests/exec.test, doc/exec.n: loosely from [Patch 1476191]
2006-12-04 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompExpr.c: Added implementation for the
CompileExprTree() routine that can produce expression bytecode
directly from internal structures with no need to pass through the
Tcl_Token array representation. Still disabled by default. #undef
USE_EXPR_TOKENS to try it out.
2006-12-03 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompExpr.c: Added expr parsing routines that
produce a different set of internal structures representing the parsed
expression, as well as routines that go on to convert those structures
into the traditional Tcl_Token array format. Use of these routines is
currently disabled. #undef PARSE_DIRECT_EXPR_TOKENS to enable them.
These routines will only become really useful when more routines that
compile directly from the new internal structures are completed.
2006-12-02 Donal K. Fellows <dkf@users.sf.net>
* doc/file.n: Clarification of [file pathtype] docs. [Bug 1606454]
2006-12-01 Kevin B. Kenny <kennykb@acm.org>
* libtommath/bn_mp_add.c: Corrected the effects of a
* libtommath/bn_mp_div.c: bollixed 'cvs merge' operation
* libtommath/bncore.c: that inadvertently committed some
* libtommath/tommath_class.h: half-developed code.
TIP#299 IMPLEMENTATION
* doc/mathfunc.n: Added isqrt() function to docs
* generic/tclBasic.c: Added isqrt() math function (ExprIsqrtFunc)
* tests/expr.test (expr-47.*): Added tests for isqrt()
* tests/info.test (info-20.2): Added isqrt() to expected math funcs.
2006-12-01 Don Porter <dgp@users.sourceforge.net>
* tests/chan.test: Correct timing sensitivity in new test. [Bug
1606860]
TIP#287 IMPLEMENTATION
* doc/chan.n: New subcommand [chan pending].
* generic/tclBasic.c: Thanks to Michael Cleverly for proposal
* generic/tclInt.h: and implementation.
* generic/tclIOCmd.c:
* library/init.tcl:
* tests/chan.test:
* tests/ioCmd.test:
TIP#298 IMPLEMENTATION
* generic/tcl.decls: Tcl_GetBignumAndClearObj -> Tcl_TakeBignumFromObj.
* generic/tclObj.c:
* generic/tclDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclExecute.c: Update callers.
* generic/tclMathOp.c:
2006-11-30 Kevin B. Kenny <kennykb@acm.org>
* library/tzdata: Olson's tzdata2006p.
* libtommath/bn_mp_sqrt.c: Fixed a bug where the initial approximation
to the square root could be on the wrong side, causing failure of
convergence.
2006-11-29 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c (Tcl_AppendObjToErrorInfo): Added
Tcl_DecrRefCount() on the objPtr argument to plug memory leaks. This
makes the routine a consumer, which makes it easiest to use.
2006-11-28 Andreas Kupries <andreask@activestate.com>
* generic/tclBasic.c: TIP #280 implementation.
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclCompCmds.c:
* generic/tclCompExpr.c:
* generic/tclCompile.c:
* generic/tclCompile.h:
* generic/tclExecute.c:
* generic/tclIOUtil.c:
* generic/tclInt.h:
* generic/tclInterp.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
* generic/tclProc.c:
* tests/compile.test:
* tests/info.test:
* tests/platform.test:
* tests/safe.test:
2006-11-27 Kevin B. Kenny <kennykb@acm.org>
* unix/tclUnixChan.c (TclUnixWaitForFile):
* tests/event.test (event-14.*): Corrected a bug where
TclUnixWaitForFile would present select() with the wrong mask on an
LP64 machine if a fd number exceeds 32. Thanks to Jean-Luc Fontaine
for reporting and diagnosing [Bug 1602208].
2006-11-27 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c (TclIncrObj): Correct failure to detect
floating-point increment values. Thanks to William Coleda [Bug 1602991]
2006-11-26 Donal K. Fellows <dkf@users.sf.net>
* tests/mathop.test, doc/mathop.n: More bits and pieces of the TIP#174
implementation. Note that the test suite is not yet complete.
2006-11-26 Daniel Steffen <das@users.sourceforge.net>
* unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389]
* unix/configure: autoconf-2.59 [Bug 1230558]
2006-11-25 Donal K. Fellows <dkf@users.sf.net>
TIP#174 IMPLEMENTATION
* generic/tclMathOp.c (new file): Completed the implementation of the
interpreted versions of all the tcl::mathop commands. Moved to a new
file to make tclCompCmds.c more focussed in purpose.
2006-11-23 Donal K. Fellows <dkf@users.sf.net>
* generic/tclCompCmds.c (Tcl*OpCmd, TclCompile*OpCmd):
* generic/tclBasic.c (Tcl_CreateInterp): Partial implementation of
TIP#174; the commands are compiled, but (mostly) not interpreted yet.
2006-11-22 Donal K. Fellows <dkf@users.sf.net>
TIP#269 IMPLEMENTATION
* generic/tclCmdMZ.c (Tcl_StringObjCmd): Implementation of the [string
* tests/string.test (string-25.*): is list] command, based on
* doc/string.n: work by Joe Mistachkin, with
enhancements by Donal Fellows for better failindex behaviour.
2006-11-22 Don Porter <dgp@users.sourceforge.net>
* tools/genWinImage.tcl (removed): Removed two files used in
* win/README.binary (removed): production of binary distributions
for Windows, a task we no longer perform. [Bug 1476980].
* generic/tcl.h: Remove mention of win/README.binary in comment.
* generic/tcl.h: Moved TCL_REG_BOSONLY #define from tcl.h to
* generic/tclInt.h: tclInt.h. Only know user is Expect, which
already #include's tclInt.h. No need to continue greater exposure.
[Bug 926500]
2006-11-20 Donal K. Fellows <dkf@users.sf.net>
* generic/tclBasic.c (Tcl_CreateInterp, TclHideUnsafeCommands):
* library/init.tcl: Refactored the [chan] command's guts so that it
does not use aliases to global commands, making the code more robust.
2006-11-17 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c (INST_EXPON): Corrected crash on
[expr 2**(1<<63)]. Was operating on cleared bignum Tcl_Obj.
2006-11-16 Donal K. Fellows <dkf@users.sf.net>
* doc/apply.n, doc/chan.n: Added examples.
2006-11-15 Don Porter <dgp@users.sourceforge.net>
TIP#270 IMPLEMENTATION
* generic/tcl.decls: New public routines Tcl_ObjPrintf,
* generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format,
* generic/tclInt.h: Tcl_AppendLimitedToObj,
Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal
versions removed.
* generic/tclDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclBasic.c: Updated callers.
* generic/tclCkalloc.c:
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclCompExpr.c:
* generic/tclCompile.c:
* generic/tclDictObj.c:
* generic/tclExecute.c:
* generic/tclIORChan.c:
* generic/tclIOUtil.c:
* generic/tclMain.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
* generic/tclPkg.c:
* generic/tclProc.c:
* generic/tclStrToD.c:
* generic/tclTimer.c:
* generic/tclUtil.c:
* unix/tclUnixFCmd.c:
* tools/genStubs.tcl: Updated script to no longer produce the
_ANSI_ARGS_ wrapper in generated declarations. Also revised to accept
variadic prototypes with more than one fixed argument. (This is
possible since TCL_VARARGS and its limitations are no longer in use).
* generic/tcl.h: Some reordering so that macro definitions do
not interfere with the now _ANSI_ARGS_-less stub declarations.
* generic/tclDecls.h: make genstubs
* generic/tclIntDecls.h:
* generic/tclIntPlatDecls.h:
* generic/tclPlatDecls.h:
* generic/tclTomMathDecls.h:
2006-11-15 Donal K. Fellows <dkf@users.sf.net>
* doc/ChnlStack.3, doc/CrtObjCmd.3, doc/GetIndex.3, doc/OpenTcp.3:
* doc/chan.n, doc/fconfigure.n, doc/fcopy.n, doc/foreach.n:
* doc/history.n, doc/http.n, doc/library.n, doc/lindex.n:
* doc/lrepeat.n, doc/lreverse.n, doc/pkgMkIndex.n, doc/re_syntax.n:
Convert \fP to \fR so that man-page scrapers have an easier time.
2006-11-14 Don Porter <dgp@users.sourceforge.net>
TIP#261 IMPLEMENTATION
* generic/tclNamesp.c: [namespace import] with 0 arguments introspects
the list of imported commands.
2006-11-13 Kevin B. Kenny <kennykb@users.sourceforge.net>
* generic/tclThreadStorage.c (Tcl_InitThreadStorage):
(Tcl_FinalizeThreadStorage): Silence a compiler warning about
presenting a volatile pointer to 'memset'.
2006-11-13 Don Porter <dgp@users.sourceforge.net>
* generic/tclIO.c: When [gets] on a binary channel needs to use
the "iso8859-1" encoding, save a copy of that encoding per-thread to
avoid repeated freeing and re-loading of it from the file system. This
replaces the cached copy of this encoding that the platform
initialization code used to keep in pre-8.5 releases.
2006-11-13 Daniel Steffen <das@users.sourceforge.net>
* generic/tclCompExpr.c: Fix gcc warnings about 'cast to/from
* generic/tclEncoding.c: pointer from/to integer of different
* generic/tclEvent.c: size' on 64-bit platforms by casting to
* generic/tclExecute.c: intermediate types intptr_t/uintptr_t
* generic/tclHash.c: via new PTR2INT(), INT2PTR(),
* generic/tclIO.c: PTR2UINT() and UINT2PTR() macros.
* generic/tclInt.h: [Patch 1592791]
* generic/tclProc.c:
* generic/tclTest.c:
* generic/tclThreadStorage.c:
* generic/tclTimer.c:
* generic/tclUtil.c:
* unix/configure.in:
* unix/tclUnixChan.c:
* unix/tclUnixPipe.c:
* unix/tclUnixPort.h:
* unix/tclUnixTest.c:
* unix/tclUnixThrd.c:
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
2006-11-12 Donal K. Fellows <dkf@users.sf.net>
* generic/tclInt.h, generic/tclInt.decls: Transfer TclPtrMakeUpvar and
TclObjLookupVar to the internal stubs table.
2006-11-10 Daniel Steffen <das@users.sourceforge.net>
* tests/fCmd.test (fCmd-6.26): fix failure when env(HOME) path
contains symlinks.
* macosx/Tcl.xcodeproj/project.pbxproj: remove tclParseExpr.c; when
running testsuite from inside Xcdoe, skip stack-3.1 (it only fails
under those circumstances).
* unix/tcl.m4 (Darwin): suppress linker arch warnings when building
universal for both 32 & 64 bit and no 64bit CoreFoundation is
available; sync with tk tcl.m4 change.
* unix/configure.in: whitespace.
* unix/configure: autoconf-2.59
2006-11-09 Don Porter <dgp@users.sourceforge.net>
* generic/tclParseExpr.c (removed): Moved all the code of
* generic/tclCompExpr.c: tclParseExpr.c into tclCompExpr.c.
* unix/Makefile.in: This sets the stage for expr compiling to work
* win/Makefile.in: directly with the full parse tree structures,
* win/makefile.bc: and not have to pass through the information
* win/makefile.vc: lossy format of an array of Tcl_Tokens.
* win/tcl.dsp:
2006-11-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
TIP#272 IMPLEMENTATION
* generic/tclCmdMZ.c (Tcl_StringObjCmd): Implementation of the
* tests/string.test, tests/stringComp.test: [string reverse] command
* doc/string.n: from TIP#272.
* generic/tclCmdIL.c (Tcl_LreverseObjCmd): Implementation of the
* generic/tclBasic.c, generic/tclInt.h: [lreverse] command from
* tests/cmdIL.test (cmdIL-7.*): TIP#272.
* doc/lreverse.n:
2006-11-08 Donal K. Fellows <dkf@users.sf.net>
* generic/tclIO.c, generic/tclPkg.c: Style & clarity rewrites.
2006-11-07 Andreas Kupries <andreask@activestate.com>
* unix/tclUnixFCmd.c (CopyFile): Added code to fall back to a
hardwired default block size should the filesystem report a bogus
value. [Bug 1586470]
2006-11-04 Don Porter <dgp@users.sourceforge.net>
* generic/tclStringObj.c: Changed Tcl_ObjPrintf() response to an
invalid format specifier string. No longer panics; now produces an
error message as output.
TIP#274 IMPLEMENTATION
* generic/tclParseExpr.c: Exponentiation operator is now right
* tests/expr.test: associative. [Patch 1556802]
2006-11-03 Miguel Sofer <msofer@users.sf.net>
* generic/tclBasic.c (TEOVI): fix por possible leak of a Command in
the presence of execution traces that delete it.
* generic/tclBasic.c (TEOVI):
* tests/trace.test (trace-21.11): fix for [Bug 1590232], execution
traces may cause a second command resolution in the wrong namespace.
2006-11-03 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* tests/event.test (event-11.5): Rewrote tests to stop Tcl from
* tests/io.test (multiple tests): opening sockets that are
* tests/ioCmd.test (iocmd-15.1,16,17): reachable from outside hosts
* tests/iogt.test (__echo_srv__.tcl): where not necessary. This is
* tests/socket.test (multiple tests): noticably annoying on some
* tests/unixInit.test (unixInit-1.2): systems (e.g., Windows).
2006-11-02 Daniel Steffen <das@users.sourceforge.net>
* macosx/Tcl.xcodeproj/project.pbxproj: check autoconf/autoheader exit
status and stop build if they fail.
2006-11-02 Jeff Hobbs <jeffh@ActiveState.com>
* doc/ParseCmd.3, doc/Tcl.n, doc/eval.n, doc/exec.n:
* doc/fconfigure.n, doc/interp.n, doc/unknown.n:
* library/auto.tcl, library/init.tcl, library/package.tcl:
* library/safe.tcl, library/tm.tcl, library/msgcat/msgcat.tcl:
* tests/all.tcl, tests/basic.test, tests/cmdInfo.test:
* tests/compile.test, tests/encoding.test, tests/execute.test:
* tests/fCmd.test, tests/http.test, tests/init.test:
* tests/interp.test, tests/io.test, tests/ioUtil.test:
* tests/iogt.test, tests/namespace-old.test, tests/namespace.test:
* tests/parse.test, tests/pkg.test, tests/pkgMkIndex.test:
* tests/proc.test, tests/reg.test, tests/trace.test:
* tests/upvar.test, tests/winConsole.test, tests/winFCmd.test:
* tools/tclZIC.tcl:
* generic/tclParse.c (Tcl_ParseCommand): Replace {expand} with {*}
officially (TIP #293). Leave -DALLOW_EXPAND=0|1 option to keep
{expand} syntax for transition users. [Bug 1589629]
2006-11-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/tclBasic.c, generic/tclInterp.c, generic/tclProc.c: Silence
warnings from gcc over signed/unsigned and TclStackAlloc().
* generic/tclCmdMZ.c: Update to more compact and clearer coding style.
2006-11-02 Don Porter <dgp@users.sourceforge.net>
* generic/tclCmdAH.c: Further revisions to produce the routines
* generic/tclInt.h: TclFormat() and TclAppendFormatToObj() that
* generic/tclNamesp.c: accept (objc, objv) arguments rather than
* generic/tclStringObj.c: any varargs stuff.
* generic/tclBasic.c: Further revised TclAppendPrintToObj() and
* generic/tclCkalloc.c: TclObjPrintf() routines to panic when unable
* generic/tclCmdAH.c: to complete their formatting operations, rather
* generic/tclCmdIL.c: than report an error message. This means an
* generic/tclCmdMZ.c: interp argument for error message recording is
* generic/tclDictObj.c: no longer needed, further simplifying the
* generic/tclExecute.c: interface for callers.
* generic/tclIORChan.c:
* generic/tclIOUtil.c:
* generic/tclInt.h:
* generic/tclMain.c:
* generic/tclNamesp.c:
* generic/tclParseExpr.c:
* generic/tclPkg.c:
* generic/tclProc.c:
* generic/tclStringObj.c:
* generic/tclTimer.c:
* generic/tclUtil.c:
* unix/tclUnixFCmd.c:
2006-11-02 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* tests/winPipe.test (winpipe-4.[2345]): Made robust when run in
directory with spaces in its name.
* generic/tclCmdAH.c: Clean up uses of cast NULLs.
* generic/tclInterp.c (AliasObjCmd): Added more explanatory comments.
* generic/tclBasic.c (TclEvalObjvInternal): Rewrote so that comments
are relevant and informative once more. Also made the unknown handler
processing use the Tcl execution stack for working space, and not the
general heap.
2006-11-01 Daniel Steffen <das@users.sourceforge.net>
* unix/tclUnixPort.h: ensure MODULE_SCOPE is defined before use, so
that tclPort.h can once again be included without tclInt.h.
* generic/tclEnv.c (Darwin): mark _environ symbol as unexported even
when MODULE_SCOPE != __private_extern__.
2006-10-31 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: Refactored and renamed the routines
* generic/tclCkalloc.c: TclObjPrintf, TclFormatObj, and
* generic/tclCmdAH.c: TclFormatToErrorInfo to a new set of routines
* generic/tclCmdIL.c: TclAppendPrintfToObj, TclAppendFormatToObj,
* generic/tclCmdMZ.c: TclObjPrintf, and TclObjFormat, with the
* generic/tclDictObj.c: intent of making the latter list, plus
* generic/tclExecute.c: TclAppendLimitedToObj and
* generic/tclIORChan.c: TclAppendObjToErrorInfo, public via a revised
* generic/tclIOUtil.c: TIP 270.
* generic/tclInt.h:
* generic/tclMain.c:
* generic/tclNamesp.c:
* generic/tclParseExpr.c:
* generic/tclPkg.c:
* generic/tclProc.c:
* generic/tclStringObj.c:
* generic/tclTimer.c:
* generic/tclUtil.c:
* unix/tclUnixFCmd.c:
2006-10-31 Miguel Sofer <msofer@users.sf.net>
* generic/tclBasic.c, generic/tcl.h, generic/tclInterp.c:
* generic/tclNamesp.c: removing the flag bit TCL_EVAL_NOREWRITE, the
last remnant of the callObjc/v fiasco. It is not needed, as it is now
always set and checked or'ed with TCL_EVAL_INVOKE.
2006-10-31 Pat Thoyts <patthoyts@users.sourceforge.net>
* win/rules.vc: Fix for [Bug 1582769] - options conflict with VC2003.
2006-10-31 Donal K. Fellows <dkf@users.sf.net>
* generic/tclBasic.c, generic/tclNamesp.c, generic/tclProc.c:
* generic/tclInt.h: Removed the callObjc and callObjv fields from the
Interp structure. They did not function correctly and made other parts
of the core amazingly complex, resulting in a substantive change to
[info level] behaviour. [Bug 1587618]
* library/clock.tcl: Removed use of [info level 0] for calculating the
command name as used by the user and replace with a literal. What's
there now is sucky, but at least appears to be right to most users.
* tests/namespace.test (namespace-42.7,namespace-47.1): Reverted
changes to these tests.
* tests/info.test (info-9.11,info-9.12): Added knownBug constraint
since these tests require a different behaviour of [info level] than
is possible because of other dependencies.
2006-10-30 Jeff Hobbs <jeffh@ActiveState.com>
* tools/tcltk-man2html.tcl (option-toc): handle any kind of options
defined toc section (needed for ttk docs)
2006-10-30 Miguel Sofer <msofer@users.sf.net>
* generic/tclBasic.c (TEOVI): insured that the interp's callObjc/v
fields are restored after traces run, as they be spoiled. This was
causing a segfault in tcllib's profiler tests.
2006-10-30 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c (INST_MOD): Corrected improper testing of the
* tests/expr.test: sign of bignums when applying Tcl's
division rules. Thanks to Peter Spjuth. [Bug 1585704]
2006-10-29 Miguel Sofer <msofer@users.sf.net>
* generic/tclNamesp.c (EnsembleImplementationCmd):
* tests/namespace.test (47.7-8): reverted a wrong "optimisation" that
completely broke snit; added two tests.
2006-10-28 Donal K. Fellows <dkf@users.sf.net>
* generic/tclProc.c (ObjInterpProcEx, TclObjInterpProcCore): Split the
core of procedures to make it easier to build procedure-like code
without going through horrible contortions. This is the last critical
component to make advanced OO systems workable as simple loadable
extensions. TOIPC is now in the internal stub table.
(MakeProcError, MakeLambdaError): Refactored ProcessProcResultCode to
be simpler, some of which goes to TclObjInterpProcCore, and the rest
of which is now in these far simpler routines which just do errorInfo
stack generation for different types of procedure-like entity.
* tests/apply.test (apply-5.1): Updated to expect the more informative
form of message.
2006-10-27 Donal K. Fellows <dkf@users.sf.net>
* generic/tclVar.c (HasLocalVars): New macro to make various bits and
pieces cleaner.
* generic/tclNamesp.c (TclSetNsPath): Expose SetNsPath() through
internal stubs table with semi-external name.
* generic/tclInt.h (CallFrame): Add a field for handling context data
for extensions (like object systems) that should be tied to a call
frame (and not a command or interpreter).
* generic/tclBasic.c (TclRenameCommand): Change to take CONST args;
they were only ever used in a constant way anyway, so this appears to
be a spot that was missed during TIP#27 work.
2006-10-26 Miguel Sofer <msofer@users.sf.net>
* generic/tclProc.c (SetLambdaFromAny): minor change, eliminate
redundant call to Tcl_GetString (thanks aku).
* generic/tclInterp.c (ApplyObjCmd):
* generic/tclNamesp.c (EnsembleImplementationCmd): replaced ckalloc
(heap) with TclStackAlloc (execution stack).
2006-10-24 Miguel Sofer <msofer@users.sf.net>
* tests/info.test (info-9.11-12): tests for [Bug 1577492]
* tests/apply.test (apply-4.3-5): tests for [Bug 1574835]
* generic/tclProc.c (ObjInterpProcEx): disable itcl hacks for calls
from ApplyObjCmd (islambda==1), as they mess apply's error messages
[Bug 1583266]
2006-10-23 Miguel Sofer <msofer@users.sf.net>
* generic/tclProc.c (ApplyObjCmd): fix wrong#args for apply by using
the ensemble rewrite engine, [Bug 1574835].
* generic/tclInterp.c (AliasObjCmd): previous commit missed usage of
TCL_EVAL_NOREWRITE for aliases.
* generic/tclBasic.c (TclEvalObjvInternal): removed redundant check
for ensembles [Bug 1577628].
* library/clock.tcl (format, scan): corrected wrong # args messages to
* tests/clock.test (3.1, 34.1): make use of the new rewrite
capabilities of [info level]
* generic/tcl.h: Lets TEOV update the iPtr->callObj[cv] new
* generic/tclBasic.c: fields, except when the flag bit
* generic/tclInt.h: TCL_EVAL_NOREWRITE is present. These values
* generic/tclNamesp.c: are used by Tcl_PushCallFrame to initialise
* generic/tclProc.c: the frame's obj[cv] fields, and allows
* tests/namespace.test: [info level] to know and use ensemble
rewrites [Bug 1577492].
***POTENTIAL INCOMPATIBILITY***
The return value from [info level 0] on interp alias calls is changed:
previously returned the target command (including curried values), now
returns the source - what was actually called.
2006-10-23 Miguel Sofer <msofer@users.sf.net>
* generic/tcl.h: Modified the Tcl call stack so there is
* generic/tclBasic.c: always a valid CallFrame, even at level 0
* generic/tclCmdIL.c: [Patch 1577278]. Most of the changes
* generic/tclInt.h: involve removing tests for a NULL
* generic/tclNamesp.c: iPtr->(var)framePtr. There is now a
* generic/tclObj.c: CallFrame pushed at interp creation with a
* generic/tclProc.c: pointer to it stored in iPtr->rootFramePtr.
* generic/tclTrace.c: A second unused field in Interp is
* generic/tclVar.c: hijacked to enable further functionality,
currently unused (but with several FRQs depending on it).
***POTENTIAL INCOMPATIBILITY***
Any user that includes tclInt.h and needs to determine if it is
running at level 0 should change (iPtr->varFramePtr == NULL) to
(iPtr->varFramePtr == iPtr->rootFramePtr).
2006-10-23 Don Porter <dgp@users.sourceforge.net>
* README: Bump version number to 8.5a6
* generic/tcl.h:
* library/init.tcl:
* tools/tcl.wse.in:
* unix/configure.in:
* unix/tcl.spec:
* win/README.binary:
* win/configure.in:
* unix/configure: autoconf-2.59
* win/configure:
2006-10-21 Miguel Sofer <msofer@users.sf.net>
* generic/tcl.h, generic/tclHash.c: Tcl_FindHashEntry now calls
Tcl_CreateHashEntry with a newPtr set to NULL: this would have caused
a segfault previously and eliminates duplicated code. A macro has been
added to tcl.h (only used when TCL_PRESERVE_BINARY_COMPATABALITY is
not set - i.e., not by default).
2006-10-20 Reinhard Max <max@tclers.tk>
* unix/configure.in: Added autodetection for OS-supplied timezone
* unix/Makefile.in: files and configure switches to override the
* unix/configure: detected default.
2006-10-20 Daniel Steffen <das@users.sourceforge.net>
*** 8.5a5 TAGGED FOR RELEASE ***
* tools/tcltk-man2html.tcl: add support for alpha & beta versions to
useversion glob pattern. [Bug 1579941]
2006-10-18 Don Porter <dgp@users.sourceforge.net>
* changes: 8.5a5 release date set
* doc/Encoding.3: Missing doc updates (mostly Table of
* doc/Ensemble.3: Contents) exposed by `make checkdoc`
* doc/FileSystem.3:
* doc/GetTime.3:
* doc/PkgRequire.3:
2006-10-17 Miguel Sofer <msofer@users.sf.net>
* generic/tclInterp.c (ApplyObjCmd): fixed bad error in 2006-10-12
commit: interp released too early. Spotted by mistachkin.
2006-10-16 Miguel Sofer <msofer@users.sf.net>
* tclProc.c (SetLambdaFromAny):
* tests/apply.test (9.1-9.2): plugged intrep leak [Bug 1578454],
found by mjanssen.
2006-10-16 Andreas Kupries <andreask@activestate.com>
* generic/tclBasic.c: Moved TIP#219 cleanup to DeleteInterpProc.
2006-10-16 Daniel Steffen <das@users.sourceforge.net>
* changes: updates for 8.5a5 release.
* unix/tclUnixThrd.c (TclpThreadGetStackSize): Darwin: fix for main
thread, where pthread_get_stacksize_np() returns incorrect info.
* macosx/GNUmakefile: don't redo prebinding of non-prebound binaires.
2006-10-16 Don Porter <dgp@users.sourceforge.net>
* generic/tclPkg.c (ExactRequirement): Plugged memory leak. Also
changed Tcl_Alloc()/Tcl_Free() calls to ckalloc()/ckfree() for easier
memory debugging in the future. [Bug 1568373]
* library/tcltest/tcltest.tcl: Revise tcltest bump to 2.3a1.
* library/tcltest/pkgIndex.tcl: This permits more features to be
* unix/Makefile.in: added to tcltest before we reach version 2.3.0,
* win/Makefile.in: best timed to match the release of Tcl 8.5.0.
* win/makefile.vc: This also serves as a demo of TIP 268 features.
2006-10-13 Colin McCormack <coldstore@users.sf.net>
* win/tclWinFile.c: corrected erroneous attempt to protect against
NULL return from Tcl_FSGetNormalizedPath per [Bug 1548263] causing
[Bug 1575837].
* win/tclWinFile.c: alfredd supplied patch to fix [Bug 1575837]
2006-10-13 Daniel Steffen <das@users.sourceforge.net>
* unix/tclUnixThrd.c (TclpThreadGetStackSize): on Darwin, use
* unix/tcl.m4: pthread_get_stacksize_np() API to get thread stack size.
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
2006-10-12 Miguel Sofer <msofer@users.sf.net>
* generic/tclInterp.c (ApplyObjCmd):
* tests/interp.test (interp-14.5-10): made [interp alias] use the
ensemble rewrite machinery to produce better error messages [Bug
1576006]
2006-10-12 David Gravereaux <davygrvy@pobox.com>
* win/nmakehlp.c: Replaced all wnsprintf() calls with snprintf().
wnsprintf was not in my shwlapi header file (VC++6)
2006-10-11 Don Porter <dgp@users.sourceforge.net>
* generic/tclPkg.c (Tcl_PackageRequireEx): Corrected crash when
argument version=NULL passed in.
2006-10-10 Don Porter <dgp@users.sourceforge.net>
* changes: Updates for 8.5a5 release.
* generic/tclNamespace.c (TclTeardownNamespace): After the
commandPathSourceList of a namespace is cleared, set the
commandPathSourceList to NULL so we don't try to walk the list a
second time, possibly after it is freed. [Bug 1566526]
* tests/namespace.test (namespace-51.16): Added test.
2006-10-09 Miguel Sofer <msofer@users.sf.net>
* doc/UpVar.3: brough the docs in accordance to the code. Ever since
8.0, Tcl_UpVar(2)? accepts TCL_NAMESPACE_ONLY as a flag value, and
var-3.4 tests for proper behaviour. The docs only allowed 0 and
TCL_GLOBAL_ONLY. [Bug 1574099]
2006-10-09 Miguel Sofer <msofer@users.sf.net>
* tests/*.test: updated all tests to refer explicitly to the global
variables ::errorInfo, ::errorCode, ::env and ::tcl_platform: many
were relying on the alternative lookup in the global namespace, that
feature is tested specifically in namespace and variable tests.
The modified testfiles are: apply.test, basic.test, case.test,
cmdIL.test, cmdMZ.test, compExpr-old.test, error.test, eval.test,
event.test, expr.test, fileSystem.test, for.test, http.test, if.test,
incr-old.test, incr.test, interp.test, io.test, ioCmd.test, load.test,
misc.test, namespace.test, parse.test, parseOld.test, pkg.test,
proc-old.test, set.test, switch.test, tcltest.test, thread.test,
var.test, while-old.test, while.test.
2006-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
* win/rules.vc: [Bug 1571954] avoid /RTCc flag with MSVC8
2006-10-06 Pat Thoyts <patthoyts@users.sourceforge.net>
* doc/binary.n: TIP #275: Support unsigned values in binary
* generic/tclBinary.c: command. Tests and documentation updated.
* tests/binary.test:
2006-10-05 Andreas Kupries <andreask@activestate.com>
* library/tm.tcl: Fixed bug in TIP #189 implementation, now allowing
'_' in module names.
2006-10-05 Jeff Hobbs <jeffh@ActiveState.com>
* library/http/http.tcl (http::geturl): only do geturl url rfc 3986
validity checking if $::http::strict is true (default true for 8.5).
[Bug 1560506]
* generic/tcl.h: note limitation on changing Tcl_UniChar size
* generic/tclEncoding.c (UtfToUnicodeProc, UnicodeToUtfProc):
* tests/encoding.test (encoding-16.1): fix alignment issues in
unicode <> utf conversion procs. [Bug 1122671]
2006-10-05 Miguel Sofer <msofer@users.sf.net>
* generic/tclVar.c (Tcl_LappendObjCmd):
* tests/append.test(4.21-22): fix for longstanding [Bug 1570718],
lappending nothing to non-list. Reported by lvirden
2006-10-04 Kevin B. Kenny <kennykb@acm.org>
* tzdata/: Olson's tzdata2006m.
2006-10-01 Kevin B. Kenny <kennykb@acm.org>
* tests/clock.test (clock-49.2): Removed a locale dependency that
caused a spurious failure in the German locale. [Bug 1567956]
2006-10-01 Miguel Sofer <msofer@users.sf.net>
* doc/Eval.3 (TclEvalObjv): added note on refCount management for the
elements of objv, [Bug 730244].
2006-10-01 Pat Thoyts <patthoyts@users.sourceforge.net>
* win/tclWinFile.c: Handle possible missing define.
* win/tclWinFile.c (TclpUtime): [Bug 1420432] file mtime fails for
* tests/cmdAH.test: directories on windows
* tests/winFile.test: Handle Msys environment a little differently in
getuser function. Fix for [Bug 1567956].
2006-09-30 Miguel Sofer <msofer@users.sf.net>
* generic/tclUtil.c (Tcl_SplitList): optimisation, [Patch 1344747] by
dgp.
* generic/tclInt.decls:
* generic/tclInt.h:
* generic/tclIntDecls.h:
* generic/tclObj.c:
* generic/tclStubInit.c: added an internal function TclObjBeingDeleted
to provide info as to the reason for the loss of an internal rep. [FR
1512138]
* generic/tclCompile.c:
* generic/tclHistory.c:
* generic/tclInt.h:
* generic/tclProc.c: made Tcl_RecordAndEvalObj not call "history" if
it has been redefined to an empty proc, in order to reduce the noise
when debugging [FR 1190441]. Moved TclCompileNoOp from tclProc.c to
tclCompile.c
2006-09-28 Andreas Kupries <andreask@activestate.com>
* generic/tclPkg.c (CompareVersions): Bugfix. Check string lengths
* tests/pkg.test: before comparison. The shorter string is the smaller
number. Added testcases as well. Interestingly all existing test cases
for vcompare compared numbers of the same length with each other. See
[Bug 1563836].
2006-09-28 Miguel Sofer <msofer@users.sf.net>
* generic/tclIO.c (Tcl_GetsObj): added two test'n'panic guards for
possible NULL derefs, [Bug 1566382] and coverity #33.
2006-09-27 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c: Corrected error in INST_LSHIFT in the
* tests/expr.test: calculation done to determine whether a shift
in the (long int) type is possible. The calculation had literal value
"1" where it needed a value "1L" to compute the correct result. Error
detected via testing with the math::bigfloat package [Bug 1567222]
* generic/tclPkg.c (CompareVersion): Flatten strcmp() results to
{-1, 0, 1} to match expectations of CompareVersion() callers.
2006-09-27 Miguel Sofer <msofer@users.sf.net>
* generic/regc_color.c (singleton):
* generic/regc_cvec.c (addmcce):
* generic/regcomp.c (compile, dovec): the static function addmcce does
nothing when called with two NULL pointers; the only call is by
compile with two NULL pointers (regcomp.c #includes regc_cvec.c).
Large parts (all?) the code for mcce (multi character collating
element) that we do not use is ifdef'ed out with the macro
REGEXP_MCCE_ENABLE.
This silences coverity bugs 7, 16, 80
* generic/regc_color.c (uncolorchain):
* generic/regc_nfa.c (freearc): changed tests and asserts to
equivalent formulation, designed to avoid an explicit comparison to
NULL and satisfy coverity that 6 and 9 are not bugs.
2006-09-27 Andreas Kupries <andreask@activestate.com>
* tests/pkg.test: Added test for version comparison at the 32bit
boundary. [Bug 1563836].
* generic/tclPkg.c: [Bug 1563836]. 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.
2006-09-27 Miguel Sofer <msofer@users.sf.net>
* generic/tclFileName.c (TclGlob): added a panic for a call with
TCL_GLOBMODE_TAILS and pathPrefix==NULL. This would cause a segfault,
as found by coverity #26.
2006-09-26 Kevin B. Kenny <kennykb@acm.org>
* doc/Encoding.3: Added covariant 'const' qualifier for the
* generic/tcl.decls: Tcl_EncodingType argument to
* generic/tclEncoding.c: Tcl_CreateEncoding. [Further TIP#27 work.]
* generic/tclDecls.h: Reran 'make genstubs'.
2006-09-26 Pat Thoyts <patthoyts@users.sourceforge.net>
* win/makefile.vc: Additional compiler flags and amd64 support.
* win/nmakehlp.c:
* win/rules.vc:
2006-09-26 Don Porter <dgp@users.sourceforge.net>
* generic/tcl.h: As 2006-09-22 commit from Donal K. Fellows
demonstrates, "#define NULL 0" is just wrong, and as a quotable chat
figure observed, "If NULL isn't defined, we're not using a C compiler."
Improper fallback definition of NULL removed.
2006-09-25 Pat Thoyts <patthoyts@users.sourceforge.net>
* generic/tcl.h: More fixing which struct stat to refer to.
* generic/tclGetDate.y: Some casts from time_t to int required.
* generic/tclTimer.c: Tcl_Time structure members are longs.
* win/makefile.vc: Support for varying compiler options
* win/rules.vc: and build to platform-specific subdirs.
2006-09-25 Andreas Kupries <andreask@activestate.com>
* generic/tclIO.c (Tcl_StackChannel): Fixed [Bug 1564642], aka
coverity #51. Extended loop condition, added checking for NULL to
prevent seg.fault.
2006-09-25 Andreas Kupries <andreask@activestate.com>
* doc/package.n: Fixed nits reported by Daniel Steffen in the TIP#268
changes.
2006-09-25 Kevin B. Kenny <kennykb@acm.org>
* generic/tclNotify.c (Tcl_DeleteEvents): Simplified the code in hopes
of making the invariants clearer and proving to Coverity that the
event queue memory is managed correctly.
2006-09-25 Donal K. Fellows <dkf@users.sf.net>
* generic/tclNotify.c (Tcl_DeleteEvents): Make it clear what happens
when the event queue is mismanaged. [Bug 1564677], coverity bug #10.
2006-09-24 Miguel Sofer <msofer@users.sf.net>
* generic/tclParse.c (Tcl_ParseCommand): also return an error if
start==NULL and numBytes<0. This is coverity's bug #20
* generic/tclStringObj.c (STRING_SIZE): fix allocation for 0-length
strings. This is coverity's bugs #54-5
2006-09-22 Andreas Kupries <andreask@activestate.com>
* generic/tclInt.h: Moved TIP#268's field 'packagePrefer' to the end
of the structure, for better backward compatibility.
2006-09-22 Andreas Kupries <andreask@activestate.com>
TIP#268 IMPLEMENTATION
* generic/tclDecls.h: Regenerated from tcl.decls.
* generic/tclStubInit.c:
* doc/PkgRequire.3: Documentation of extended API, extended testsuite.
* doc/package.n:
* tests/pkg.test:
* generic/tcl.decls: Implementation.
* generic/tclBasic.c:
* generic/tclConfig.c:
* generic/tclInt.h:
* generic/tclPkg.c:
* generic/tclTest.c:
* generic/tclTomMathInterface.c:
* library/init.tcl:
* library/package.tcl:
* library/tm.tcl:
2006-09-22 Donal K. Fellows <donal.k.fellows@man.ac.uk>
* generic/tclThreadTest.c (TclCreateThread): Use NULL instead of 0 as
end-of-strings marker to Tcl_AppendResult; the difference matters on
64-bit machines. [Bug 1562528]
2006-09-21 Don Porter <dgp@users.sourceforge.net>
* generic/tclUtil.c: Dropped ParseInteger() routine. TclParseNumber
covers the task just fine.
2006-09-19 Donal K. Fellows <dkf@users.sf.net>
* generic/tclEvent.c (Tcl_VwaitObjCmd): Rewrite so that an exceeded
limit trapped in a vwait cannot cause a dangerous dangling trace.
2006-09-19 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c (INST_EXPON): Native type overflow detection
* tests/expr.test: was completely broken. Falling back on use of
bignums for all non-trivial ** calculations until
native-type-constrained special cases can be done carefully and
correctly. [Bug 1561260].
2006-09-15 Jeff Hobbs <jeffh@ActiveState.com>
* library/http/http.tcl: Change " " -> "+" url encoding mapping
* library/http/pkgIndex.tcl: to " " -> "%20" as per RFC 3986.
* tests/http.test (http-5.1): bump http to 2.5.3
* unix/Makefile.in:
* win/Makefile.in:
2006-09-12 Andreas Kupries <andreask@activestate.com>
* unix/configure.in (HAVE_MTSAFE_GETHOST*): Modified to recognize
HP-UX 11.00 and beyond as having mt-safe implementations of the
gethost functions.
* unix/configure: Regenerated, using autoconf 2.59
* unix/tclUnixCompat.c (PadBuffer): Fixed bug in calculation of the
increment needed to align the pointer, and added documentation
explaining why the macro is implemented as it is.
2006-09-11 Pat Thoyts <patthoyts@users.sourceforge.net>
* win/rules.vc: Updated to install http, tcltest and msgcat as
* win/makefile.vc: Tcl Modules (as per Makefile.in).
* win/makefile.vc: Added tommath_(super)class headers.
2006-09-11 Andreas Kupries <andreask@activestate.com>
* unix/Makefile.in (install-libraries): Fixed typo tcltest 2.3.9 ->
2.3.0.
2006-09-11 Daniel Steffen <das@users.sourceforge.net>
* unix/tclUnixCompat.c: make compatLock static and only declare it when
it will actually be used; #ifdef parts of TSD that are not always
needed; adjust #ifdefs to cover all possible cases; fix whitespace.
2006-09-11 Andreas Kupries <andreask@activestate.com>
* tests/msgcat.test: Bumped version in auxiliary files as well.
* doc/msgcat.n:
2006-09-11 Kevin B. Kenny <kennykb@acm.org>
* unix/Makefile.in: Bumped msgcat version to 1.4.2 to be
* win/Makefile.in: consistent with dgp's commits of 2006-09-10.
2006-09-11 Don Porter <dgp@users.sourceforge.net>
* library/msgcat/msgcat.tcl: Removed some unneeded [uplevel]s.
2006-09-10 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c: Corrected INST_EXPON flaw that treated
* tests/expr.test: $x**1 as $x**3. [Bug 1555371]
* doc/tcltest.n: Bump to version tcltest 2.3.0 to
* library/tcltest/pkgIndex.tcl: account for new "-verbose line"
* library/tcltest/tcltest.tcl: feature.
* unix/Makefile.in:
* win/Makefile.in:
* win/makefile.bc:
* win/makefile.vc:
* library/msgcat/msgcat.tcl: Bump to version msgcat 1.4.2 to account
* library/msgcat/pkgIndex.tcl: for modifications.
2006-09-10 Daniel Steffen <das@users.sourceforge.net>
* library/msgcat/msgcat.tcl (msgcat::Init): on Darwin, add fallback of
* tests/msgcat.test: default msgcat locale to
* unix/tclUnixInit.c (TclpSetVariables): current CFLocale identifier
if available (via private ::tcl::mac::locale global, set at interp init
when on Mac OS X 10.3 or later with CoreFoundation).
* library/tcltest/tcltest.tcl: add 'line' verbose level: prints source
* doc/tcltest.n: file line information of failing tests.
* macosx/Tcl.xcodeproj/project.pbxproj: add new tclUnixCompat.c file;
revise tests target to use new tcltest 'line' verbose level.
* unix/configure.in: add descriptions to new AC_DEFINEs for MT-safe.
* unix/tcl.m4: add caching to new SC_TCL_* macros for MT-safe wrappers.
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
2006-09-08 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
* unix/tclUnixCompat.c: Added fallback to gethostbyname() and
gethostbyaddr() if the implementation is known to be MT-safe
(currently for Darwin 6 or later only).
* unix/configure.in: Assume gethostbyname() and gethostbyaddr() are
MT-safe starting with Darwin 6 (Mac OSX 10.2).
* unix/configure: Regenerated with autoconf V2.59
2006-09-08 Andreas Kupries <andreask@activestate.com>
* unix/tclUnixCompat.c: Fixed conditions for CopyArray/CopyString, and
CopyHostent. Also fixed bad var names in TclpGetHostByName.
2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
* unix/tclUnixCompat.c: Added fallback to MT-unsafe library calls if
TCL_THREADS is not defined.
Fixed alignment of arrays copied by CopyArray() to be on the
sizeof(char *) boundary.
2006-09-07 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
* unix/tclUnixChan.c: Rewritten MT-safe wrappers to return ptrs to
* unix/tclUnixCompat.c: TSD storage making them all look like their
* unix/tclUnixFCmd.c: MT-unsafe pendants API-wise.
* unix/tclUnixPort.h:
* unix/tclUnixSock.c:
2006-09-06 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
* unix/tclUnixChan.c: Added TCL_THREADS ifdef'ed usage of MT-safe
* unix/tclUnixFCmd.c: calls like: getpwuid, getpwnam, getgrgid,
* unix/tclUnixSock.c: getgrnam, gethostbyname and gethostbyaddr.
* unix/tclUnixPort.h: See [Bug 999544]
* unix/Makefile.in:
* unix/configure.in:
* unix/tcl.m4:
* unix/configure: Regenerated.
* unix/tclUnixCompat.c: New file containing MT-safe implementation of
some library calls.
2006-09-04 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompExpr.c: Removed much complexity that is no
longer needed.
* tests/main.text (Tcl_Main-4.4): Test corrected to not be
timing sensitive to the Bug 1481986 fix. [Bug 1550858]
2006-09-04 Jeff Hobbs <jeffh@ActiveState.com>
* doc/package.n: correct package example
2006-08-31 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompExpr.c: Corrected flawed logic for disabling
the INST_TRY_CVT_TO_NUMERIC instruction at the end of an expression
when function arguments contain operators. [Bug 1541274]
* tests/expr-old.test: The remaining failing tests reported in
* tests/expr.test: [Bug 1381715] are all new in Tcl 8.5, so
there's really no issue of compatibility with Tcl 8.4 result to deal
with. Fixed by updating tests to expect 8.5 results.
2006-08-29 Don Porter <dgp@users.sourceforge.net>
* generic/tclParseExpr.c: Dropped the old expr parser.
2006-08-30 Jeff Hobbs <jeffh@ActiveState.com>
* generic/tclBasic.c (Tcl_CreateInterp): init iPtr->threadId
* win/tclWinChan.c [Bug 819667] Improve logic for identifying COM
ports.
* generic/tclIOGT.c (ExecuteCallback):
* generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj)
with more efficient Tcl_Eval(Obj)Ex
* unix/Makefile.in (valgrindshell): add valgrindshell target and
update default VALGRINDARGS. User can override, or add to it with
VALGRIND_OPTS env var.
* generic/tclFileName.c (DoGlob): match incrs with decrs.
2006-08-29 Don Porter <dgp@users.sourceforge.net>
* generic/tclParseExpr.c: Use the "parent" field of orphan
ExprNodes to store the closure of left pointers. This lets us avoid
repeated re-scanning leftward for the left boundary of subexpressions,
which in worst case led to near O(N^2) runtime.
2006-08-29 Joe Mistachkin <joe@mistachkin.com>
* unix/tclUnixInit.c: Fixed the issue (typo) that was causing
* unix/tclUnixThrd.c (TclpThreadGetStackSize): stack.test to fail on
FreeBSD (and possibly other Unix platforms).
2006-08-29 Colin McCormack <coldstore@users.sourceforge.net>
* generic/tclIOUtil.c: Added test for NULL return from
* generic/tclPathObj.c: Tcl_FSGetNormalizedPath which was causing
* unix/tclUnixFile.c: segv's per [Bug 1548263]
* win/tclWinFCmd.c:
* win/tclWinFile.c:
2006-08-28 Kevin B. Kenny <kennykb@acm.org>
* library/tzdata/America/Havana: Regenerated from Olson's
* library/tzdata/America/Tegucigalpa: tzdata2006k.
* library/tzdata/Asia/Gaza:
2006-08-28 Don Porter <dgp@users.sourceforge.net>
* generic/tclStringObj.c: Revised ObjPrintfVA to take care to
* generic/tclParseExpr.c: copy only whole characters when doing
%s formatting. This relieves callers of TclObjPrintf() and
TclFormatToErrorInfo() from needing to fix arguments to character
boundaries. Tcl_ParseExpr() simplified by taking advantage. [Bug
1547786]
* generic/tclStringObj.c: Corrected TclFormatObj's failure to
count up the number of arguments required by examining the format
string. [Bug 1547681]
2006-08-27 Joe Mistachkin <joe@mistachkin.com>
* generic/tclClock.c (ClockClicksObjCmd): Fix nested macro breakage
with TCL_MEM_DEBUG enabled. [Bug 1547662]
2006-08-26 Miguel Sofer <msofer@users.sf.net>
* doc/namespace.n:
* generic/tclNamesp.c:
* tests/upvar.test: bugfix, docs clarification and new tests for
[namespace upvar] as follow up to [Bug 1546833], reported by Will
Duquette.
2006-08-24 Kevin B. Kenny <kennykb@acm.org>
* library/tzdata: Regenerated, including several new files,
from Olson's tzdata2006j.
* library/clock.tcl:
* tests/clock.test: Removed an early testing hack that allowed
loading 'registry' from the build tree rather than an installed
one. This is a workaround for [Bug 15232730], which remains open
because it's a symptom of a deeper underlying problem.
2006-08-23 Don Porter <dgp@users.sourceforge.net>
* generic/tclParseExpr.c: Minimal collection of new tests
* tests/parseExpr.test: testing the error messages of the
new expr parser. Several bug fixes and code simplifications that
appeared during that effort.
2006-08-21 Don Porter <dgp@users.sourceforge.net>
* generic/tclIOUtil.c: Revisions to complete the thread finalization
of the cwdPathPtr. [Bug 1536142]
* generic/tclParseExpr.c: Revised mistaken call to
TclCheckBadOctal(), so both [expr 08] and [expr 08z] have same
additional info in error message.
* tests/compExpr-old.test: Update existing tests to not fail
* tests/compExpr.test: with the new expr parser.
* tests/compile.test:
* tests/expr-old.test:
* tests/expr.test:
* tests/for.test:
* tests/if.test:
* tests/parseExpr.test:
* tests/while.test:
2006-08-21 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* win/Makefile.in (gdb): Make this target work so that debugging an
msys build is possible.
2006-08-21 Daniel Steffen <das@users.sourceforge.net>
* macosx/tclMacOSXNotify.c (Tcl_WaitForEvent): if the run loop is
already running (e.g. if Tcl_WaitForEvent was called recursively),
re-run it in a custom run loop mode containing only the source for the
notifier thread, otherwise wakeups from other sources added to the
common run loop modes might get lost.
* unix/tclUnixNotfy.c (Tcl_WaitForEvent): on 64-bit Darwin,
pthread_cond_timedwait() appears to have a bug that causes it to wait
forever when passed an absolute time which has already been exceeded by
the system time; as a workaround, when given a very brief timeout, just
do a poll on that platform. [Bug 1457797]
* generic/tclClock.c (ClockClicksObjCmd): add support for Darwin
* generic/tclCmdMZ.c (Tcl_TimeObjCmd): nanosecond resolution timer
* generic/tclInt.h: to [clock clicks] and [time]
* unix/configure.in (Darwin): when TCL_WIDE_CLICKS defined.
* unix/tclUnixTime.c (TclpGetWideClicks, TclpWideClicksToNanoseconds):
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
* unix/tclUnixPort.h (Darwin): override potentially faulty configure
detection of termios availability in all cases, since termios is known
to be present on all Mac OS X releases since 10.0. [Bug 497147]
2006-08-18 Daniel Steffen <das@users.sourceforge.net>
* unix/tcl.m4 (Darwin): add support for --enable-64bit on x86_64, for
universal builds including x86_64, for 64-bit CoreFoundation on Leopard
and for use of -mmacosx-version-min instead of MACOSX_DEPLOYMENT_TARGET
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
* generic/tcl.h: add fixes for building on Leopard and support
* unix/tclUnixPort.h: for 64-bit CoreFoundation on Leopard.
* macosx/tclMacOSXFCmd.c:
* unix/tclUnixPort.h: on Darwin x86_64, disable use of vfork as it
causes execve to fail intermittently. (rdar://4685553)
* 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)
* 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.
* macosx/Tcl.xcodeproj/default.pbxuser: add test suite target that runs
* macosx/Tcl.xcodeproj/project.pbxproj: the tcl test suite at build
time and shows clickable test suite errors in the GUI build window.
* tests/macOSXFCmd.test: fix use of deprecated resource fork paths.
* unix/tclUnixInit.c (TclpInitLibraryPath): move code that is only
needed when TCL_LIBRARY is defined to run only in that case.
* generic/tclLink.c (LinkTraceProc): fix 64-bit signed-with-unsigned
comparison warning from gcc4 -Wextra.
* 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.
2006-08-17 Don Porter <dgp@users.sourceforge.net>
* generic/tclCompile.c: Revised the new set of expression parse
* generic/tclParseExpr.c: error messages.
2006-08-16 Don Porter <dgp@users.sourceforge.net>
* generic/tclParseExpr.c: Replace PrecedenceOf() function with
prec[] static array.
2006-08-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* library/clock.tcl (::tcl::clock::add): Added missing braces to
clockval validation code. Pointed out on comp.lang.tcl.
2006-08-11 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/tclNamesp.c: Improvements in buffer management to make
namespace creation faster. Plus selected other minor improvements to
code quality. [Patch 1352382]
2006-08-10 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
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.
2006-08-09 Don Porter <dgp@users.sourceforge.net>
* generic/tclEncoding.c: Replace buffer copy in for loop
with call to memcpy(). Thanks to afredd. [Patch 1530262]
2006-08-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/tclCmdIL.c (Tcl_LassignObjCmd): Make the wrong#args message a
bit more consistent with those used elsewhere. [Bug 1534628]
* generic/tclDictObj.c (DictForCmd): Stop crash when attempting to
iterate over an invalid dictionary. [Bug 1531184]
* 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]
2006-08-03 Daniel Steffen <das@users.sourceforge.net>
* 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 error
* tests/compile.test: messages of the pre-2006-07-05 expression
* tests/expr-old.test: parser. The constraint is on by default (i.e
* tests/expr.test: those tests still fail), but can be turned
* tests/for.test: off by passing '-constraints newExprParser'
* tests/if.test: to tcltest, which will skip the 196 failing
* tests/parseExpr.test: tests in the testsuite that are caused by
* tests/while.test: the new expression parser error messages.
2006-07-31 Kevin B. Kenny <kennykb@acm.org>
* 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]
2006-07-30 Kevin B. Kenny <kennykb@acm.org>
* 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.
2006-07-30 Joe English <jenglish@users.sourceforge.net>
* doc/AppInit.3: Fix typo [Bug 1496886]
2006-07-26 Don Porter <dgp@users.sourceforge.net>
* 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].
2006-07-24 Don Porter <dgp@users.sourceforge.net>
* win/tclWinSock.c: Correct un-initialized Tcl_DString. Thanks to
afredd. [Bug 1518166]
2006-07-21 Miguel Sofer <msofer@users.sf.net>
* generic/tclExecute.c:
* tests/execute.test (execute-9.1): dgp's fix for [Bug 1522803].
2006-07-20 Daniel Steffen <das@users.sourceforge.net>
* macosx/tclMacOSXNotify.c (Tcl_InitNotifier, Tcl_WaitForEvent): create
notifier thread lazily upon first call to Tcl_WaitForEvent() rather
than in Tcl_InitNotifier(). Allows calling exeve() in processes where
the event loop has not yet been run (Darwin's execve() fails in
processes with more than one thread), in particular allows embedders to
call fork() followed by execve(), previously the pthread_atfork() child
handler's call to Tcl_InitNotifier() would immediately recreate the
notifier thread in the child after a fork.
* macosx/tclMacOSXFCmd.c (TclMacOSXCopyFileAttributes): add support
* macosx/tclMacOSXNotify.c (Tcl_InitNotifier): for weakly
* unix/tclUnixInit.c (Tcl_GetEncodingNameFromEnvironment): importing
symbols not available on OSX 10.2 or 10.3, enables binaires built on
later OSX versions to run on earlier ones.
* macosx/Tcl.xcodeproj/project.pbxproj: enable weak-linking; turn on
extra warnings.
* macosx/README: document how to enable weak-linking; cleanup.
* unix/tclUnixPort.h: add support for weak-linking; conditionalize
AvailabilityMacros.h inclusion; only disable realpath on 10.2 or
earlier when threads are enabled.
* unix/tclLoadDyld.c (TclpLoadMemoryGetBuffer): change runtime Darwin
* unix/tclUnixInit.c (TclpInitPlatform): release check to use
global initialized once
* unix/tclUnixFCmd.c (DoRenameFile, TclpObjNormalizePath): add runtime
Darwin release check to determine if realpath is threadsafe.
* unix/configure.in: add check on Darwin for compiler support of weak
* unix/tcl.m4: import and for AvailabilityMacros.h header; move
Darwin specific checks & defines that are only relevant to the tcl
build out of tcl.m4; restrict framework option to Darwin; clean up
quoting and help messages.
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
* generic/regc_locale.c (cclass):
* generic/tclExecute.c (TclExecuteByteCode):
* generic/tclIOCmd.c (Tcl_ExecObjCmd):
* generic/tclListObj.c (NewListIntRep):
* generic/tclObj.c (Tcl_GetLongFromObj, Tcl_GetWideIntFromObj)
(FreeBignum, Tcl_SetBignumObj):
* generic/tclParseExpr.c (Tcl_ParseExpr):
* generic/tclStrToD.c (TclParseNumber):
* generic/tclStringObj.c (TclAppendFormattedObjs):
* unix/tclLoadDyld.c (TclpLoadMemory):
* unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned
comparison and other warnings from gcc4 -Wextra.
2006-07-13 Andreas Kupries <andreask@activestate.com>
* unix/tclUnixPort.h: Added the inclusion of <AvailabilityMacros.h>.
The missing header caused the upcoming #if conditions to wrongly
exclude realpath, causing file normalize to ignore symbolic links in
the path.
2006-07-11 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
* generic/tclAsync.c: Made Tcl_AsyncDelete() more tolerant when called
after all thread TSD has been garbage-collected.
2006-07-05 Don Porter <dgp@users.sourceforge.net>
* generic/tclParseExpr.c: Completely new expression parser that
builds a parse tree instead of operating with deep recursion. This
corrects reports of stack-blowing crashes parsing long expressions [Bug
906201] and replaces a fundamentally O(N^2) algorithm with an O(N) one
[RFE 903765]. The new parser is better able to generate error messages
that clearly report both the nature and context of the syntax error
[Bugs 1029267, 1381715]. For now, the code for the old parser is still
present and can be activated with a "#define OLD_EXPR_PARSER 1". This
is for the sake of a clean implementation patch, and for ease of
benchmarking. The new parser is non-recursive, so much lighter in stack
consumption, but it does use more heap, so there may be cases where
parsing of long expressions that succeeded with the old parser will
lead to out of memory panics with the new one. There are still more
improvements possible on that point, though significant progress may
require changes to the Tcl_Token specifications documented for the
public Tcl_Parse*() routines.
***POTENTIAL INCOMPATIBILITY*** for any callers that rely on the exact
(usually terrible) error messages generated by the old parser. This
includes a large number of tests in the test suite.
* generic/tclInt.h: Replaced TclParseWhiteSpace() with
* generic/tclParse.c: TclParseAllWhiteSpace() which is what
* generic/tclParseExpr.c: all the callers really needed. Breaking
whitespace runs at newlines is useful only to the command parsing
function, and it can call the file scoped routine ParseWhiteSpace() to
do that.
* tests/expr-old.test: Removed knownBug constraints that masked
* tests/expr.test: failures due to revised error messages.
* tests/parseExpr.test:
2006-06-20 Don Porter <dgp@users.sourceforge.net>
* generic/tclIOUtil.c: Changed default configuration to
* generic/tclInt.decls: #undef USE_OBSOLETE_FS_HOOKS which disables
* generic/tclTest.c: access to the Tcl 8.3 internal routines for
hooking into filesystem operations. Everyone ought to have migrated to
Tcl_Filesystems by now.
***POTENTIAL INCOMPATIBILITY*** for any code still stuck in the
pre-Tcl_Filesystem era.
* generic/tclIntDecls.h: make genstubs
* generic/tclStubInit.c:
* generic/tclStrToD.c: Removed dead code that permitted disabling of
recognition of the new 0b and 0o numeric formats.
* generic/tclExecute.c: Removed dead code that implemented alternative
* generic/tclObj.c: design where numeric values did not
automatically narrow to the smallest Tcl_ObjType required to hold them.
* generic/tclCmdAH.c: Removed dead code that was old implementation
of [format].
2006-06-14 Daniel Steffen <das@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.
2006-06-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* doc/format.n, doc/scan.n: Added examples for converting between
characters and their numeric interpretations following user prompting.
2006-06-13 Donal K. Fellows <dkf@users.sf.net>
* unix/tclLoadDl.c (TclpDlopen): Workaround for a compiler bug in Sun
Forte 6. [Bug 1503729]
2006-06-06 Don Porter <dgp@users.sourceforge.net>
* doc/GetStdChan.3: Added recommendation that each call to
Tcl_SetStdChannel() be accompanied by a call to Tcl_RegisterChannel().
2006-06-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* 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.
2006-05-29 Jeff Hobbs <jeffh@ActiveState.com>
* generic/tcl.h (Tcl_DecrRefCount): use if/else construct to allow
placement in unbraced outer if/else conditions. (jcw)
2006-05-27 Daniel Steffen <das@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
* unix/tclConfig.h.in: autoheader-2.59
2006-05-24 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* 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]
2006-05-23 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* doc/chan.n, doc/refchan.n: Tighten up the documentation to follow a
slightly more consistent style with regard to argument capitalization.
2006-05-13 Don Porter <dgp@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.
2006-05-13 Daniel Steffen <das@users.sourceforge.net>
* generic/tclEvent.c (HandleBgErrors): fix leak. [Coverity issue 86]
2006-05-05 Don Porter <dgp@users.sourceforge.net>
* 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].
2006-05-04 Don Porter <dgp@users.sourceforge.net>
* README: Bump version number to 8.5a5
* generic/tcl.h:
* tools/tcl.wse.in:
* unix/configure.in:
* unix/tcl.spec:
* win/README.binary:
* win/configure.in:
* unix/configure: autoconf-2.59
* win/configure:
* generic/tclBasic.c (ExprSrandFunc): Restore acceptance of wide/big
* doc/mathfunc.n: integer values by srand() [Bug 1480509].
2006-04-26 Don Porter <dgp@users.sourceforge.net>
*** 8.5a4 TAGGED FOR RELEASE ***
* changes: Updates for another RC.
* generic/tclBinary.c: Revised the handling of the Q and q format
* generic/tclInt.h: specifiers for [binary] to account for the
* generic/tclStrToD.c: "middle endian" floating point format used in
Nokia N770.
2006-04-25 Don Porter <dgp@users.sourceforge.net>
* doc/DoubleObj.3: More doc updates for TIP 237.
* doc/expr.n:
* doc/format.n:
* doc/mathfunc.n:
* doc/scan.n:
* doc/string.n:
* generic/tclScan.c: [scan $s %u] is documented to accept only
* tests/scan.test: decimal formatted integers. Fixed to match.
2006-04-19 Kevin B. Kenny <kennykb@acm.org>
* generic/tclStrToD.c: Added code to support the "middle endian"
floating point format used in the Nokia N770's software-based floating
point. Thanks to Bruce Johnson for reporting this bug, originally on
http://wiki.tcl.tk/15408.
* library/clock.tcl: Fixed a bug with Daylight Saving Time and Posix
time zone specifiers reported by Martin Lemburg in
http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/9a8b15a4dfc0b7a0
(and not at SourceForge).
* tests/clock.test: Added test case for the above bug.
2006-04-18 Donal K. Fellows <dkf@users.sf.net>
* doc/IntObj.3: Minor review fixes, including better documentation of
the behaviour of Tcl_GetBignumAndClearObj.
2006-04-17 Don Porter <dgp@users.sourceforge.net>
* doc/IntObj.3: Documentation changes to account for TIP 237 changes.
* doc/Object.3: [Bug 1446971]
2006-04-12 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/regc_locale.c (cclass): Redefined the meaning of [:print:] to
be exactly UNICODE letters, numbers, punctuation, symbols and spaces
(*not* whitespace). [Bug 1376892]
2006-04-11 Don Porter <dgp@users.sourceforge.net>
* generic/tclTrace.c: Stop some interference between enter traces
* tests/trace.test: and enterstep traces. [Bug 1458266]
2006-04-07 Don Porter <dgp@users.sourceforge.net>
* generic/tclPathObj.c: Yet another revised fix for the [Bug 1379287]
* tests/fileSystem.test: family of path normalization bugs.
2006-04-06 Jeff Hobbs <jeffh@ActiveState.com>
* generic/tclRegexp.c (FinalizeRegexp): full reset data to indicate
readiness for reinitialization.
2006-04-06 Don Porter <dgp@users.sourceforge.net>
* generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): It seems there
* tests/indexObj.test: are extensions that rely on the prior behavior
* doc/GetIndex.3: that the empty string cannot succeed as a
unique prefix matcher, so I'm restoring Donal Fellows's solution. Added
mention of this detail to the documentation. [Bug 1464039]
* tests/compExpr-old.test: Updated testmathfunctions constraint
* tests/compExpr.test: to post-TIP-232 world.
* tests/expr-old.test:
* tests/expr.test:
* tests/info.test:
* tests/indexObj.test: Corrected other test errors revealed by
* tests/upvar.test: testing outside the tcltest application.
* generic/tclPathObj.c: Revised fix for the [Bug 1379287] family of
path normalization bugs.
2006-04-06 Daniel Steffen <das@users.sourceforge.net>
* unix/tcl.m4: removed TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING
define on Darwin. [Bug 1457515]
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
2006-04-05 Don Porter <dgp@users.sourceforge.net>
* win/tclWinInit.c: More careful calls to Tcl_DStringSetLength()
* win/tclWinSock.c: to avoid creating invalid DString states.
* win/tclWinDde.c: Bump to version 1.3.2. [RFE 1366195]
* library/dde/pkgIndex.tcl:
* library/reg/pkgIndex.tcl: Bump to registry 1.2 because
* win/tclWinReg.c: Registry_Unload() is a new public routine
* win/Makefile.in: compared to the 1.1.* releases.
* win/configure.in: Bump package version numbers.
* win/configure: autoconf 2.59
2006-04-05 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Allow empty
strings to be matched by the Tcl_GetIndexFromObj machinery, in the
same manner as any other key. [Bug 1464039]
2006-04-03 Andreas Kupries <andreask@activestate.com>
* generic/tclIO.c (ReadChars): Added check, panic and commentary to a
piece of code which relies on BUFFER_PADDING to create enough space at
the beginning of each buffer for the insertion of partial multibyte
data at the beginning of a buffer. Commentary explains why this code is
OK, and the panic is as a precaution if someone twiddled the
BUFFER_PADDING into uselessness.
* generic/tclIO.c (ReadChars): [Bug 1462248]. 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.
* generic/tclEncoding.c (UtfToUtfProc): Stop accessing memory beyond
the end of the input buffer when TCL_ENCODING_END is set and the last
bytes of the buffer start a multi-byte sequence. This bug contributed
to [Bug 1462248].
2006-03-30 Miguel Sofer <msofer@users.sf.net>
* generic/tclExecute.c: remove unused var and silence gcc warning
2006-03-29 Jeff Hobbs <jeffh@ActiveState.com>
* win/Makefile.in: convert _NATIVE paths to use / to avoid ".\"
path-as-escape issue.
2006-03-29 Don Porter <dgp@users.sourceforge.net>
* changes: Updates for another RC.
* generic/tclPathObj.c: More fixes for path normalization when /../
* tests/fileSystem.test: tries to go beyond root.[Bug 1379287]
* generic/tclExecute.c: Revised INST_MOD implementation to do
calculations in native types as much as possible, moving to mp_ints
only when necessary.
2006-03-28 Jeff Hobbs <jeffh@ActiveState.com>
* win/tclWinPipe.c (TclpCreateProcess): change panics to Tcl errors and
do proper refcounting of noe objPtr. [Bug 1194429]
* unix/tcl.m4, win/tcl.m4: []-quote AC_DEFUN functions.
2006-03-28 Daniel Steffen <das@users.sourceforge.net>
* macosx/Tcl.xcode/default.pbxuser: add '-singleproc 1' cli arg to
* macosx/Tcl.xcodeproj/default.pbxuser: tcltest to ease test debugging
* macosx/Tcl.xcode/project.pbxproj: removed $prefix/share from
* macosx/Tcl.xcodeproj/project.pbxproj: TCL_PACKAGE_PATH as per change
to unix/configure.in of 2006-03-13.
* unix/tclUnixFCmd.c (TclpObjNormalizePath): deal with *BSD/Darwin
realpath() converting relative paths into absolute paths. [Bug 1064247]
2006-03-28 Vince Darley <vincentdarley@sourceforge.net>
* generic/tclIOUtil.c: fix to nativeFilesystemRecord comparisons
(lesser part of [Bug 1064247])
2006-03-27 Pat Thoyts <patthoyts@users.sourceforge.net>
* win/tclWinTest.c: Fixes for [Bug 1456373] (mingw-gcc issue)
2006-03-27 Andreas Kupries <andreask@activestate.com>
* doc/CrtChannel.3: Added TCL_CHANNEL_VERSION_5, made it the version
* generic/tcl.h: where the "truncateProc" is defined at, and
* generic/tclIO.c: moved all channel drivers of Tcl to v5.
* generic/tclIOGT.c, generic/tclIORChan.c, unix/tclUnixChan.c:
* unix/tclUnixPipe.c, win/tclWinChan.c, win/tclWinConsole.c:
* win/tclWinPipe.c, win/tclWinSerial.c, win/tclWinSock.c:
2006-03-27 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c: Merge INST_MOD computation in with the
INST_?SHIFT instructions, which also operate only on two integral
values. Also corrected flaw that made INST_BITNOT of wide values
require mp_int calculations. Also corrected type that missed optimized
handling of the tclBooleanType by the TclGetBooleanFromObj macro.
* changes: Updates for another RC.
2006-03-25 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c: Corrections to INST_EXPON detection of overflow
to use mp_int calculations.
2006-03-24 Kevin B. Kenny <kennykb@acm.org>
* generic/tclExecute.c (TclExecuteByteCode): Added a couple of missing
casts to 'int' that were affecting compilablity on VC6.
2006-03-24 Don Porter <dgp@users.sourceforge.net>
* generic/tclEncoding.c: Reverted latest change [Bug 506653] since it
reportedly killed test performance on Windows.
* generic/tclExecute.c: Revised INST_EXPON implementation to do
calculations in native types as much as possible, moving to mp_ints
only when necessary.
2006-03-23 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c: Merged INST_EXPON handling in with the other
binary operators that operate on all number types (INST_ADD, etc.).
* tests/env.test: With case preserved (see 2006-03-21 commit) be sure
to do case-insensitive filtering. [Bug 1457065]
2006-03-23 Reinhard Max <max@suse.de>
* unix/tcl.spec: Cleaned up and completed the spec file. An RPM can now
be built from the tcl source distribution with "rpmbuild -tb <tarball>"
2006-03-22 Reinhard Max <max@suse.de>
* tests/stack.test: Run the stack tests in subshells, so that they are
reported as failed tests rather than bugs in the test suite if the
recursion causes a segfault.
2006-03-21 Don Porter <dgp@users.sourceforge.net>
* changes: Updates for another RC.
* generic/tclStrToD.c: One of the branches of AccumulateDecimalDigit
* tests/parseExpr.test: did not. [Bug 1451233]
* tests/env.test: Preserve case of saved env vars. [Bug 1409272]
2006-03-21 Daniel Steffen <das@users.sourceforge.net>
* generic/tclInt.decls: implement globbing for HFS creator & type
* macosx/tclMacOSXFCmd.c:codes and 'hidden' flag, as documented in
* tests/macOSXFCmd.test: glob.n; objectified OSType handling in [glob]
* unix/tclUnixFile.c: and [file attributes]; fix globbing for
hidden files with pattern==NULL arg. [Bug 823329]
* generic/tclIntPlatDecls.h:
* generic/tclStubInit.c: make genstubs
2006-03-20 Andreas Kupries <andreask@activestate.com>
* win/Makefile.in (install-libraries): Generate tcl8/8.4 directory
under Windows as well (cygwin Makefile). Related entry: 2006-03-07,
dgp. This moved the installation of http from 8.2 to 8.4, partially. A
fix of the required directory creation was done for unix on Mar 10,
without entry in the Changelog. This entry is for the fix of the
directory creation under Windows.
* unix/installManPage: There is always one even more broken "sed".
Moved the # comment starting character in the sed script to the
beginning of their respective lines. The AIX sed will not recognize
them as comments otherwise :( The actual text stays indented for better
association with the commands they belong to.
2006-03-20 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* tests/cmdAH.test, tests/fCmd.test, tests/unixFCmd.test:
* tests/winFCmd.test: Cleanup of some test constraint handling, and a
few other minor issues.
2006-03-18 Vince Darley <vincentdarley@sourceforge.net>
* generic/tclFileName.c:
* doc/FileSystem.3:
* tests/fileName.test: Fix to [Bug 1084705] so that 'glob -nocomplain'
finally agrees with its documentation and doesn't swallow genuine
errors.
***POTENTIAL INCOMPATIBILITY*** for scripts that assumed '-nocomplain'
removes the need for 'catch' to deal with non-understood path names.
Small optimisation to implementation of pattern==NULL case of TclGlob,
and clarification to the documentation. [Tclvfs bug 1405317]
2006-03-18 Vince Darley <vincentdarley@sourceforge.net>
* tests/fCmd.test: added knownBug test case for [Bug 1394972]
* tests/winFCmd.test:
* tests/tcltest.test: corrected tests to better account for behaviour
of writable/non-writable directories on Windows 2000/XP. This, with the
previous patches, closes [Bug 1193497]
2006-03-17 Andreas Kupries <andreask@activestate.com>
* doc/chan.n: Updated with documentation for the commands 'chan create'
and 'chan postevent' (TIP #219).
* doc/refchan.n: New file. Documentation of the command handler API for
reflected channels (TIP #219).
2006-03-17 Joe Mistachkin <joe@mistachkin.com>
* unix/tclUnixPort.h: Include pthread.h prior to pthread_np.h [Bug
1444692]
* win/tclWinTest.c: Corrected typo of 'initializeMutex' that prevented
successful compilation.
2006-03-16 Andreas Kupries <andreask@activestate.com>
* doc/open.n: Documented the changed behaviour of 'a'ppend mode.
* tests/io.test (io-43.1 io-44.[1234]): Rewritten to be self-contained
with regard to setup and cleanup. [Bug 681793].
* 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.
* tests/ioCmd.test (iocmd-13.7.*): Extended the testsuite to check the
new handling of 'a'.
2006-03-15 Andreas Kupries <andreask@activestate.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].
2006-03-15 Vince Darley <vincentdarley@sourceforge.net>
* win/fCmd.test: add proper test constraints so the new tests don't run
on Unix.
2006-03-14 Andreas Kupries <andreask@activestate.com>
* generic/tclPipe.c (TclCreatePipeline): Modified the processing of
pipebars to fail if the last bar is followed only by redirections. [Bug
768659]
2006-03-14 Andreas Kupries <andreask@activestate.com>
* doc/fconfigure.n: Clarified that -translation is binary is reported
as lf when queried, because it is identical to lf, except for the
special additional behaviour when setting it. [Bug 666770].
2006-03-14 Andreas Kupries <andreask@activestate.com>
* doc/clock.n: Removed double-quotes around section title NAME; not
needed.
* unix/installManpage: Reverted part to handle double-quotes in section
NAME, chokes older sed installations.
2006-03-14 Andreas Kupries <andreask@activestate.com>
* library/tm.tcl (::tcl::tm::Defaults): Fixed handling of environment
variable TCLX.y_TM_PATH, bad variable reference. [Bug 1448251]. Thanks
to Julian Noble.
2006-03-14 Vince Darley <vincentdarley@sourceforge.net>
* win/tclWinFile.c: updated patch to deal with 'file writable' issues
on Windows XP/2000.
* generic/tclTest.c:
* unix/tclUnixTest.c:
* win/tclWinTest.c:
* tests/fCmd.test: updated test suite to deal with correct permissions
setting and differences between XP/2000 and 95/98 3 tests still fail;
to be dealt with shortly
2006-03-13 Don Porter <dgp@users.sourceforge.net>
* generic/tclEncoding.c: Report error when an escape encoding is
missing one of its sub-encodings [Bug 506653].
* unix/configure.in: Revert change from 2005-07-26 that sometimes
* unix/configure: added $prefix/share to the tcl_pkgPath. See
[Patch 1231015]. autoconf-2.59.
2006-03-10 Miguel Sofer <msofer@users.sf.net>
* generic/tclProc.c (ObjInterpProcEx):
* tests/apply.test (apply-5.1): Fix [apply] error messages so that they
quote the lambda expression [Bug 1447355].
2006-03-10 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
-- Summary of changes fixing [Bug 1437595] --
* generic/tclEvent.c: Cosmetic touches and identation
* generic/tclInt.h: Added TclpFinalizeSockets() call.
* generic/tclIO.c: Calls TclpFinalizeSockets() as part of the
TclFinalizeIOSubsystem().
* unix/tclUnixSock.c: Added no-op TclpFinalizeSockets().
* win/tclWinPipe.c, win/tclWinSock.c: Finalization of sockets/pipes is
now solely done in TclpFinalizeSockets() and TclpFinalizePipes() and
not over the thread-exit handler, because the order of actions the Tcl
generic core will impose may result in cores/hangs if the thread exit
handler tears down corresponding subsystem(s) too early.
2006-03-10 Vince Darley <vincentdarley@sourceforge.net>
* win/tclWinFile.c: previous patch breaks tests, so removed.
2006-03-09 Vince Darley <vincentdarley@sourceforge.net>
* win/tclWinFile.c: fix to 'file writable' in certain XP directories.
Thanks to fvogel and jfg. [Patch 1344540] Modified patch to make use of
existing use of getSecurityProc.
2006-03-08 Don Porter <dgp@users.sourceforge.net>
* generic/tclExecute.c: Complete missing bit of TIP 215 implementation
* tests/incr.test:
2006-03-07 Joe English <jenglish@users.sourceforge.net>
* unix/tcl.m4: Set SHLIB_LD_FLAGS='${LIBS}' on NetBSD, as per the other
*BSD variants [Bug 1334613].
* unix/configure: Regenerated.
2006-03-07 Don Porter <dgp@users.sourceforge.net>
* changes: Update in prep. for 8.5a4 release.
* unix/Makefile.in: Package http 2.5.2 requires Tcl 8.4, so the
* win/Makefile.in: *.tm installation has to be placed in an "8.4"
directory, not an "8.2" directory.
2006-03-06 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: Revised handling of TCL_EVAL_* flags to
* tests/parse.test: simplify TclEvalObjvInternal and to correct the
auto-loading of alias targets (parse-8.12). [Bug 1444291]
2006-03-03 Don Porter <dgp@users.sourceforge.net>
* generic/tclPathObj.c: Revised yesterday's fix for [Bug 1379287] to
work on Windows.
* generic/tclObj.c: Compatibility support for existing code that
calls Tcl_GetObjType("boolean").
2006-03-02 Don Porter <dgp@users.sourceforge.net>
* generic/tclPathObj.c: Fix for failed normalization of paths
* tests/fileSystem.test: with /../ that lead back to the root of
the filesystem, like /foo/.. [Bug 1379287]
2006-03-01 Reinhard Max <max@suse.de>
* unix/installManPage: Fix the script for manpages that have quotes
around the .SH arguments, as doctools produces them [Bug 1292145]. Some
minor cleanups and improvements.
2006-02-28 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: Corrections to be sure that TCL_EVAL_GLOBAL
* tests/namespace.test: evaluations act the same as [uplevel #0]
* tests/parse.test: evaluations, even when execution traces or
* tests/trace.test: invocations of [::unknown] are present.
[Bug 1439836].
2006-02-22 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: Corrected a few bugs in how [namespace
* tests/namespace.test: unknown] interacts with TCL_EVAL_* flags.
[Patch 958222]
2006-02-17 Don Porter <dgp@users.sourceforge.net>
* generic/tclIORChan.c: Revised error message generation and handling
* tests/ioCmd.test: of exceptional return codes in the channel
reflection layer. [Bug 1372348]
2006-02-16 Don Porter <dgp@users.sourceforge.net>
* generic/tclIndexObj.c: Disallow the "ambiguous" error message
* tests/indexObj.test: when TCL_EXACT matching is requested.
* tests/ioCmd.test:
2006-02-15 Don Porter <dgp@users.sourceforge.net>
* generic/tclIO.c: Made several routines tolerant of
* generic/tclIORChan.c: interp == NULL arguments. [Bug 1380662]
* generic/tclIOUtil.c:
2006-02-09 Don Porter <dgp@users.sourceforge.net>
TIP#215 IMPLEMENTATION
* doc/incr.n: Revised [incr] to auto-initialize when varName
* generic/tclExecute.c: argument is unset. [Patch 1413115].
* generic/tclVar.c:
* tests/compile.test:
* tests/incr-old.test:
* tests/incr.test:
* tests/set.test:
* tests/main.test (Tcl_Main-6.7): Improved robustness of
command auto-completion test. [Bug 1422736].
2006-02-08 Donal K. Fellows <dkf@users.sf.net>
* doc/Encoding.3, doc/encoding.n: Updates due to review at request of
Don Porter. Mostly minor changes.
2006-02-08 Don Porter <dgp@users.sourceforge.net>
TIP#258 IMPLEMENTATION
* doc/Encoding.3: New subcommand [encoding dirs].
* doc/encoding.n: New routine Tcl_GetEncodingNameFromEnvironment
* generic/tcl.decls: Made public:
* generic/tclBasic.c: TclGetEncodingFromObj
* generic/tclCmdAH.c: -> Tcl_GetEncodingFromObj
* generic/tclEncoding.c:TclGetEncodingSearchPath
* generic/tclInt.decls: -> Tcl_GetEncodingSearchPath
* generic/tclInt.h: TclSetEncodingSearchPath
* generic/tclTest.c: -> Tcl_SetEncodingSearchPath
* library/init.tcl: Removed commands:
* tests/cmdAH.test: [tcl::unsupported::EncodingDirs]
* tests/encoding.test: [testencoding path] (Tcltest)
* unix/tclUnixInit.c: [Patch 1413934].
* win/tclWinInit.c:
* generic/tclDecls.h: make genstubs
* generic/tclIntDecls.h:
* generic/tclStubInit.c:
2006-02-01 Miguel Sofer <msofer@users.sf.net>
* generic/tclProc.c: minor improvements to [apply]
* tests/apply.test: new tests; apply-5.1 currently fails to indicate
missing work in error reporting
2006-02-01 Don Porter <dgp@users.sourceforge.net>
TIP#194 IMPLEMENTATION
* doc/apply.n: (New file) New command [apply]. [Patch 944803].
* doc/uplevel.n:
* generic/tclBasic.c:
* generic/tclInt.h:
* generic/tclProc.c:
* tests/apply.test: (New file)
* tests/proc-old.test:
* tests/proc.test:
TIP#181 IMPLEMENTATION
* doc/Namespace.3: New command [namespace unknown]. New public C
* doc/namespace.n: routines Tcl_(Get|Set)NamespaceUnknownHandler.
* doc/unknown.n: [Patch 958222].
* generic/tcl.decls:
* generic/tclBasic.c:
* generic/tclInt.h:
* generic/tclNamesp.c:
* tests/namespace.test:
* generic/tclDecls.h: make genstubs
* generic/tclStubInit.c:
TIP#250 IMPLEMENTATION
* doc/namespace.n: New command [namespace upvar]. [Patch 1275435]
* generic/tclInt.h:
* generic/tclNamesp.c:
* generic/tclVar.c:
* tests/namespace.test:
* tests/upvar.test:
2006-01-26 Donal K. Fellows <dkf@users.sf.net>
* doc/dict.n: Fixed silly bug in example. Thanks to Heiner Marxen
<heiner.marxen@unsel.de> for catching this! [Bug 1415725]
2006-01-26 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* unix/tclUnixChan.c (TclpOpenFileChannel): Tidy up and comment the
mess to do with setting up serial channels. This (deliberately) breaks
a broken FreeBSD port, indicates what we're really doing, and reduces
the amount of conditional compilation sections for better maintenance.
2006-01-25 Donal K. Fellows <dkf@users.sf.net>
* unix/tclUnixInit.c (TclpInitPlatform): Improved conditions on when to
update the FP rounding mode on FreeBSD, taken from FreeBSD port.
2006-01-23 Donal K. Fellows <dkf@users.sf.net>
* tests/string.test (string-12.21): Added test for [Bug 1410553] based
on original bug report.
2006-01-23 Miguel Sofer <msofer@users.sf.net>
* generic/tclStringObj.c: fixed incorrect handling of internal rep in
Tcl_GetRange [Bug 1410553]. Thanks to twylite and Peter Spjuth.
* generic/tclProc.c: fixed args handling for precompiled bodies [Bug
1412695]; thanks to Uwe Traum.
2006-01-16 Reinhard Max <max@suse.de>
* generic/tclPipe.c (FileForRedirect): Prevent nameString from being
freed without having been initialized.
* tests/exec.test: Added a test for the above.
2006-01-12 Zoran Vasiljevic <vasiljevic@users.sourceforge.net>
* generic/tclPathObj.c (Tcl_FSGetInternalRep): backported patch from
core-8-4-branch. A freed pointer has been overwritten causing all sorts
of coredumps.
2006-01-12 Vince Darley <vincentdarley@sourceforge.net>
* win/tclWinFile.c: fix to sharing violation [Bug 1366227]
2006-01-11 Don Porter <dgp@users.sourceforge.net>
* generic/tclBasic.c: Moved Tcl_LogCommandInfo from tclBasic.c to
* generic/tclNamesp.c: tclNamesp.c to get access to identifier with
* tests/error.test (error-7.0): file scope. Added check for traces on
::errorInfo, and when present fall back to contruction of the stack
trace in the variable so that write trace notification timings are
compatible with earlier Tcl releases. This reduces, but does not
completely eliminate the ***POTENTIAL INCOMPATIBILITY*** created by the
2004-10-15 commit. [Bug 1397843].
2006-01-10 Daniel Steffen <das@users.sourceforge.net>
* 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.
2006-01-09 Don Porter <dgp@users.sourceforge.net>
* generic/tclNamesp.c (NamespaceInscopeCmd): [namespace inscope]
* tests/namespace.test: commands were not reported by [info level]
[Bug 1400572].
2006-01-09 Donal K. Fellows <donal.k.fellows@manchester.ac.uk>
* generic/tclTrace.c: Stop exporting the guts of the trace command;
nothing outside this file needs to see it. [Bug 971336]
2006-01-05 Donal K. Fellows <donal.k.fellows@manchester.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.
2006-01-04 David Gravereaux <davygrvy@pobox.com>
* 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" ***
******************************************************************