DELETED ChangeLog Index: ChangeLog ================================================================== --- ChangeLog +++ /dev/null @@ -1,8856 +0,0 @@ -A NOTE ON THE CHANGELOG: -Starting in early 2011, Tcl source code has been under the management of -fossil, hosted at https://core.tcl-lang.org/tcl/ . Fossil presents a "Timeline" -view of changes made that is superior in every way to a hand edited log file. -Because of this, many Tcl developers are now out of the habit of maintaining -this log file. You may still find useful things in it, but the Timeline is -a better first place to look now. -============================================================================ - -2013-09-19 Don Porter - - *** 8.6.1 TAGGED FOR RELEASE *** - - * generic/tcl.h: Bump version number to 8.6.1. - * library/init.tcl: - * unix/configure.in: - * win/configure.in: - * unix/tcl.spec: - * README: - - * unix/configure: autoconf-2.59 - * win/configure: - -2013-09-19 Donal Fellows - - * doc/next.n (METHOD SEARCH ORDER): Bug [3606943]: Corrected - description of method search order. - -2013-09-18 Donal Fellows - - Bump TclOO version to 1.0.1 for release. - -2013-09-17 Donal Fellows - - * generic/tclBinary.c (BinaryEncodeUu, BinaryDecodeUu): [Bug 2152292]: - Corrected implementation of the core of uuencode handling so that the - line length processing is correctly applied. - ***POTENTIAL INCOMPATIBILITY*** - Existing code that was using the old versions and working around the - limitations will now need to do far less. The -maxlen option now has - strict limits on the range of supported lengths; this is a limitation - of the format itself. - -2013-09-09 Donal Fellows - - * generic/tclOOMethod.c (CloneProcedureMethod): [Bug 3609693]: Strip - the internal representation of method bodies during cloning in order - to ensure that any bound references to instance variables are removed. - -2013-09-01 Donal Fellows - - * generic/tclBinary.c (BinaryDecodeHex): [Bug b98fa55285]: Ensure that - whitespace at the end of a string don't cause the decoder to drop the - last decoded byte. - -2013-08-03 Donal Fellows - - * library/auto.tcl: [Patch 3611643]: Allow TclOO classes to be found - by the autoloading mechanism. - -2013-08-02 Donal Fellows - - * generic/tclOODefineCmds.c (ClassSuperSet): Bug [9d61624b3d]: Stop - crashes when emptying the superclass slot, even when doing elaborate - things with metaclasses. - -2013-08-01 Harald Oehlmann - - * tclUnixNotify.c (Tcl_InitNotifier): Bug [a0bc856dcd]: Start notifier - thread again if we were forked, to solve Rivet bug 55153. - -2013-07-05 Kevin B. Kenny - - * library/tzdata/Africa/Casablanca: - * library/tzdata/America/Asuncion: - * library/tzdata/Antarctica/Macquarie: - * library/tzdata/Asia/Gaza: - * library/tzdata/Asia/Hebron: - * library/tzdata/Asia/Jerusalem: - http://www.iana.org/time-zones/repository/releases/tzdata2013d.tar.gz - -2013-07-03 Jan Nijtmans - - * unix/tclXtNotify.c: Bug [817249]: bring tclXtNotify.c up to date with - Tcl_SetNotifier() change. - -2013-07-02 Jan Nijtmans - - * unix/tcl.m4: Bug [32afa6e256]: dirent64 check is incorrect in tcl.m4 - * unix/configure: (thanks to Brian Griffin) - -2013-06-27 Jan Nijtmans - - * generic/tclConfig.c: Bug [9b2e636361]: Tcl_CreateInterp() needs - * generic/tclMain.c: initialized encodings. - -2013-06-18 Jan Nijtmans - - * generic/tclEvent.c: Bug [3611974]: InitSubsystems multiple thread - issue. - -2013-06-17 Jan Nijtmans - - * generic/regc_locale.c: Bug [a876646efe]: re_expr character class - [:cntrl:] should contain \u0000 - \u001f - -2013-06-09 Donal K. Fellows - - * generic/tclCompCmdsSZ.c (TclCompileTryCmd): [Bug 779d38b996]: - Rewrote the [try] compiler to generate better code in some cases and - to behave correctly in others; when an error happens during the - processing of an exception-trap clause or a finally clause, the - *original* return options are now captured in a -during option, even - when fully compiled. - -2013-06-05 Donal K. Fellows - - * generic/tclExecute.c (INST_EXPAND_DROP): [Bugs 2835313, 3614226]: - New opcode to allow resetting the stack to get rid of an expansion, - restoring the stack to a known state in the process. - * generic/tclCompile.c, generic/tclCompCmds.c: Adjusted the compilers - for [break] and [continue] to get stack cleanup right in the majority - of cases. - * tests/for.test (for-7.*): Set of tests for these evil cases. - -2013-06-04 Jan Nijtmans - - * unix/tcl.m4: Eliminate NO_VIZ macro as current zlib uses HAVE_HIDDEN - instead. One more last-moment fix for FreeBSD by Pietro Cerutti - -2013-06-03 Miguel Sofer - - * generic/tclExecute.c: fix for perf bug detected by Kieran - (https://groups.google.com/forum/?fromgroups#!topic/comp.lang.tcl/vfpI3bc-DkQ), - diagnosed by dgp to be a close relative of [Bug 781585], which was - fixed by commit [f46fb50cb3]. This bug was introduced by myself in - commit [cbfe055d8c]. - -2013-06-03 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileBreakCmd, TclCompileContinueCmd): - Added code to allow [break] and [continue] to be issued as a jump (in - the most common cases) rather than using the more expensive exception - processing path in the bytecode engine. [Bug 3614226]: Partial fix for - the issues relating to cleaning up the stack when dealing with [break] - and [continue]. - -2013-05-27 Harald Oehlmann - - * library/msgcat/msgcat.tcl: [Bug 3036566]: Also get locale from - registry key HCU\Control Panel\Desktop : PreferredUILanguages to honor - installed language packs on Vista+. - Bumped msgcat version to 1.5.2 - -2013-05-22 Andreas Kupries - - * tclCompile.c: Removed duplicate const qualifier causing the HP - native cc to error out. - -2013-05-22 Donal K. Fellows - - * generic/tclUtf.c (TclUtfCasecmp): [Bug 3613609]: Replace problematic - uses of strcasecmp with a proper UTF-8-aware version. Affects both - [lsearch -nocase] and [lsort -nocase]. - -2013-05-22 Donal K. Fellows - - * doc/file.n: [Bug 3613671]: Added note to portability section on the - fact that [file owned] does not produce useful results on Windows. - -2013-05-20 Donal K. Fellows - - * unix/tclUnixFCmd.c (DefaultTempDir): [Bug 3613567]: Corrected logic - for checking return code of access() system call, which was inverted. - -2013-05-19 Jan Nijtmans - - * unix/tcl.m4: Fix for FreeBSD, and remove support for older - * unix/configure: FreeBSD versions. Patch by Pietro Cerutti. - -2013-05-18 Donal K. Fellows - - * generic/tclCompCmdsGR.c: Split tclCompCmds.c again to keep size of - code down. - -2013-05-16 Jan Nijtmans - - * generic/tclBasic.c: Add panic in order to detect incompatible - mingw32 sys/stat.h and sys/time.h headers. - -2013-05-13 Jan Nijtmans - - * compat/zlib/*: Upgrade to zlib 1.2.8 - -2013-05-10 Donal K. Fellows - - Optimizations and general bytecode generation improvements. - * generic/tclCompCmds.c (TclCompileAppendCmd, TclCompileLappendCmd): - (TclCompileReturnCmd): Make these generate bytecode in more cases. - (TclCompileListCmd): Make this able to push a literal when it can. - * generic/tclCompile.c (TclSetByteCodeFromAny, PeepholeOptimize): - Added checks to see if we can apply some simple cross-command-boundary - optimizations, and defined a small number of such optimizations. - (TclCompileScript): Added the special ability to compile the list - command with expansion ([list {*}blah]) into bytecode that does not - call an external command. - -2013-05-06 Jan Nijtmans - - * generic/tclStubInit.c: Add support for Cygwin64, which has a 64-bit - * generic/tclDecls.h: "long" type. Binary compatibility with win64 - requires that all stub entries use 32-bit long's, therefore the need - for various wrapper functions/macros. For Tcl 9 a better solution is - needed, but that cannot be done without introducing binary - incompatibility. - -2013-04-30 Andreas Kupries - - * library/platform/platform.tcl (::platform::LibcVersion): - * library/platform/pkgIndex.tcl: Followup to the 2013-01-30 change. - The RE become too restrictive again. SuSe added a timestamp after the - version. Loosened up a bit. Bumped package to version 1.0.12. - -2013-04-29 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileArraySetCmd): Generate better code - when the list of things to set is a literal. - -2013-04-25 Jan Nijtmans - - * generic/tclDecls.h: Implement Tcl_NewBooleanObj, Tcl_DbNewBooleanObj - and Tcl_SetBooleanObj as macros using Tcl_NewIntObj, Tcl_DbNewLongObj - and Tcl_SetIntObj. Starting with Tcl 8.5, this is exactly the same, it - only eliminates code duplication. - * generic/tclInt.h: Eliminate use of NO_WIDE_TYPE everywhere: It's - exactly the same as TCL_WIDE_INT_IS_LONG - -2013-04-19 Jan Nijtmans - - * generic/tclDecls.h: Implement many Tcl_*Var* functions and - Tcl_GetIndexFromObj as (faster/stack-saving) macros around resp their - Tcl_*Var*2 equivalent and Tcl_GetIndexFromObjStruct. - -2013-04-12 Jan Nijtmans - - * generic/tclDecls.h: Implement Tcl_Pkg* functions as - (faster/stack-saving) macros around Tcl_Pkg*Ex functions. - -2013-04-08 Don Porter - - * generic/regc_color.c: [Bug 3610026]: Stop crash when the number of - * generic/regerrs.h: "colors" in a regular expression overflows a - * generic/regex.h: short int. Thanks to Heikki Linnakangas for - * generic/regguts.h: the report and the patch. - * tests/regexp.test: - -2013-04-04 Reinhard Max - - * library/http/http.tcl (http::geturl): Allow URLs that don't have a - path, but a query query, e.g. http://example.com?foo=bar - * Bump the http package to 2.8.7. - -2013-03-22 Venkat Iyer - * library/tzdata/Africa/Cairo: Update to tzdata2013b. - * library/tzdata/Africa/Casablanca: - * library/tzdata/Africa/Gaborone: - * library/tzdata/Africa/Tripoli: - * library/tzdata/America/Asuncion: - * library/tzdata/America/Barbados: - * library/tzdata/America/Bogota: - * library/tzdata/America/Costa_Rica: - * library/tzdata/America/Curacao: - * library/tzdata/America/Nassau: - * library/tzdata/America/Port-au-Prince: - * library/tzdata/America/Santiago: - * library/tzdata/Antarctica/Palmer: - * library/tzdata/Asia/Aden: - * library/tzdata/Asia/Hong_Kong: - * library/tzdata/Asia/Muscat: - * library/tzdata/Asia/Rangoon: - * library/tzdata/Asia/Shanghai: - * library/tzdata/Atlantic/Bermuda: - * library/tzdata/Europe/Vienna: - * library/tzdata/Pacific/Easter: - * library/tzdata/Pacific/Fiji: - * library/tzdata/Asia/Khandyga: (new) - * library/tzdata/Asia/Ust-Nera: (new) - * library/tzdata/Europe/Busingen: (new) - -2013-03-21 Don Porter - - * library/auto.tcl: [Bug 2102614]: Add ensemble indexing support to - * tests/autoMkindex.test: [auto_mkindex]. Thanks Brian Griffin. - -2013-03-19 Don Porter - - * generic/tclFCmd.c: [Bug 3597000]: Consistent [file copy] result. - * tests/fileSystem.test: - -2013-03-19 Jan Nijtmans - - * win/tclWinFile.c: [Bug 3608360]: Incompatible behaviour of "file - exists". - -2013-03-18 Donal K. Fellows - - * tests/cmdAH.test (cmdAH-19.12): [Bug 3608360]: Added test to ensure - that we never ever allow [file exists] to do globbing. - -2013-03-12 Jan Nijtmans - - * unix/tcl.m4: Patch by Andrew Shadura, providing better support for - three architectures they have in Debian. - -2013-03-11 Don Porter - - * generic/tclCompile.c: [Bugs 3607246,3607372]: Unbalanced refcounts - * generic/tclLiteral.c: of literals in the global literal table. - -2013-03-06 Don Porter - - * generic/regc_nfa.c: [Bugs 3604074,3606683]: Rewrite of the - * generic/regcomp.c: fixempties() routine (and supporting routines) - to completely eliminate the infinite loop hazard. Thanks to Tom Lane - for the much improved solution. - -2013-02-28 Don Porter - - * generic/tclLiteral.c: Revise TclReleaseLiteral() to tolerate a NULL - interp argument. - - * generic/tclCompile.c: Update callers and revise mistaken comments. - * generic/tclProc.c: - -2013-02-27 Jan Nijtmans - - * generic/regcomp.c: [Bug 3606139]: missing error check allows - * tests/regexp.test: regexp to crash Tcl. Thanks to Tom Lane for - providing the test-case and the patch. - -2013-02-26 Donal K. Fellows - - * tests/chanio.test (chan-io-28.7): [Bug 3605120]: Stop test from - hanging when run standalone. - -2013-02-26 Jan Nijtmans - - * generic/tclObj.c: Don't panic if Tcl_ConvertToType is called for a - type that doesn't have a setFromAnyProc, create a proper error message. - -2013-02-25 Donal K. Fellows - - * tests/binary.test (binary-41.*): [Bug 3605721]: Test independence - fixes. Thanks to Rolf Ade for pointing out the problem. - -2013-02-25 Don Porter - - * tests/assocd.test: [Bugs 3605719,3605720]: Test independence. - * tests/basic.test: Thanks Rolf Ade for patches. - -2013-02-23 Jan Nijtmans - - * compat/fake-rfc2553.c: [Bug 3599194]: compat/fake-rfc2553.c is - broken. - -2013-02-22 Don Porter - - * generic/tclAssembly.c: Shift more burden of smart cleanup - * generic/tclCompile.c: onto the TclFreeCompileEnv() routine. - Stop crashes when the hookProc raises an error. - -2013-02-20 Don Porter - - * generic/tclNamesp.c: [Bug 3605447]: Make sure the -clear option - * tests/namespace.test: to [namespace export] always clears, whether - or not new export patterns are specified. - -2013-02-20 Jan Nijtmans - - * win/tclWinDde.c: [Bug 3605401]: Compiler error with latest mingw-w64 - headers. - -2013-02-19 Jan Nijtmans - - * generic/tclTrace.c: [Bug 2438181]: Incorrect error reporting in - * tests/trace.test: traces. Test-case and fix provided by Poor - Yorick. - -2013-02-15 Don Porter - - * generic/regc_nfa.c: [Bug 3604074]: Fix regexp optimization to - * tests/regexp.test: stop hanging on the expression - ((((((((a)*)*)*)*)*)*)*)* . Thanks to Bjørn Grathwohl for discovery. - -2013-02-14 Harald Oehlmann - - * library/msgcat/msgcat.tcl: [Bug 3604576]: Catch missing registry - entry "HCU\Control Panel\International". - Bumped msgcat version to 1.5.1 - -2013-02-11 Donal K. Fellows - - * generic/tclZlib.c (ZlibTransformOutput): [Bug 3603553]: Ensure that - data gets written to the underlying stream by compressing transforms - when the amount of data to be written is one buffer's-worth; problem - was particularly likely to occur when compressing large quantities of - not-very-compressible data. Many thanks to Piera Poggio (vampiera) for - reporting. - -2013-02-09 Donal K. Fellows - - * generic/tclOOBasic.c (TclOO_Object_VarName): [Bug 3603695]: Change - the way that the 'varname' method is implemented so that there are no - longer problems with interactions due to the resolver. Thanks to - Taylor Venable for identifying the problem. - -2013-02-08 Donal K. Fellows - - * generic/regc_nfa.c (duptraverse): [Bug 3603557]: Increase the - maximum depth of recursion used when duplicating an automaton in - response to encountering a "wild" RE that hit the previous limit. - Allow the limit (DUPTRAVERSE_MAX_DEPTH) to be set by defining its - value in the Makefile. Problem reported by Jonathan Mills. - -2013-02-05 Don Porter - - * win/tclWinFile.c: [Bug 3603434]: Make sure TclpObjNormalizePath() - properly declares "a:/" to be normalized, even when no "A:" drive is - present on the system. - -2013-02-05 Donal K. Fellows - - * generic/tclLoadNone.c (TclpLoadMemory): [Bug 3433012]: Added dummy - version of this function to use in the event that a platform thinks it - can load from memory but cannot actually do so due to it being - disabled at configuration time. - -2013-02-04 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileArraySetCmd): [Bug 3603163]: Stop - crash in weird case where [eval] is used to make [array set] get - confused about whether there is a local variable table or not. Thanks - to Poor Yorick for identifying a reproducible crashing case. - -2013-01-30 Andreas Kupries - - * library/platform/platform.tcl (::platform::LibcVersion): See - * library/platform/pkgIndex.tcl: [Bug 3599098]: Fixed the RE - * unix/Makefile.in: extracting the version to avoid issues with - * win/Makefile.in: recent changes to the glibc banner. Now targeting a - less variable part of the string. Bumped package to version 1.0.11. - -2013-01-28 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileArraySetCmd) - (TclCompileArrayUnsetCmd, TclCompileDictAppendCmd) - (TclCompileDictCreateCmd, CompileDictEachCmd, TclCompileDictIncrCmd) - (TclCompileDictLappendCmd, TclCompileDictMergeCmd) - (TclCompileDictUnsetCmd, TclCompileDictUpdateCmd) - (TclCompileDictWithCmd, TclCompileInfoCommandsCmd): - * generic/tclCompCmdsSZ.c (TclCompileStringMatchCmd) - (TclCompileStringMapCmd): Improve the code generation in cases where - full compilation is impossible but a full ensemble invoke is provably - not necessary. - -2013-01-26 Jan Nijtmans - - * unix/tclUnixCompat.c: [Bug 3601804]: platformCPUID segmentation - fault on Darwin. - -2013-01-23 Donal K. Fellows - - * library/http/http.tcl (http::geturl): [Bug 2911139]: Do not do vwait - for connect to avoid reentrancy problems (except when operating - without a -command option). Internally, this means that all sockets - created by the http package will always be operated in asynchronous - mode. - -2013-01-21 Jan Nijtmans - - * generic/tclInt.decls: Put back Tcl[GS]etStartupScript(Path|FileName) - in private stub table, so extensions using this (like Tk 8.4) will - continue to work in all Tcl 8.x versions. Extensions using this - still cannot be compiled against Tcl 8.6 headers. - -2013-01-18 Jan Nijtmans - - * generic/tclPort.h: [Bug 3598300]: unix: tcl.h does not include - sys/stat.h - -2013-01-17 Donal K. Fellows - - * generic/tclCompCmds.c (PushVarName): [Bug 3600328]: Added mechanism - for suppressing compilation of variables when we couldn't cope with - the results. Useful for some [array] subcommands. - * generic/tclEnsemble.c (CompileToCompiledCommand): Must restore the - compilation environment when a command compiler fails. - -2013-01-16 Donal K. Fellows - - * generic/tclZlib.c (TclZlibInit): [Bug 3601086]: Register the config - info in the iso8859-1 encoding as that is guaranteed to be present. - -2013-01-16 Jan Nijtmans - - * Makefile.in: Allow win32 build with -DTCL_NO_DEPRECATED, just as - * generic/tcl.h: in the UNIX build. Define Tcl_EvalObj and - * generic/tclDecls.h: Tcl_GlobalEvalObj as macros, even when - * generic/tclBasic.c: TCL_NO_DEPRECATED is defined, so Tk can benefit - from it too. - -2013-01-14 Jan Nijtmans - - * win/tcl.m4: More flexible search for win32 tclConfig.sh, backported - from TEA (not actually used in Tcl, only for Tk) - -2013-01-14 Jan Nijtmans - - * generic/tclInt.decls: Put back Tcl_[GS]etStartupScript in internal - stub table, so extensions using this, compiled against 8.5 headers - still run in Tcl 8.6. - -2013-01-13 Alexandre Ferrieux - - * doc/fileevent.n: [Bug 3436609]: Clarify readable fileevent "false - positives" in the case of multibyte encodings/transforms. - -2013-01-13 Jan Nijtmans - - * generic/tclIntDecls.h: If TCL_NO_DEPRECATED is defined, make sure - that TIP #139 functions all are taken from the public stub table, even - if the inclusion is through tclInt.h. - -2013-01-12 Jan Nijtmans - - * generic/tclInt.decls: Put back TclBackgroundException in internal - stub table, so extensions using this, compiled against 8.5 headers - still run in Tcl 8.6. - -2013-01-09 Jan Nijtmans - - * library/http/http.tcl: [Bug 3599395]: http assumes status line is a - proper Tcl list. - -2013-01-08 Jan Nijtmans - - * win/tclWinFile.c: [Bug 3092089]: [file normalize] can remove path - components. [Bug 3587096]: win vista/7: "can't find init.tcl" when - called via junction without folder list access. - -2013-01-07 Jan Nijtmans - - * generic/tclOOStubLib.c: Restrict the stub library to only use - * generic/tclTomMathStubLib.c: Tcl_PkgRequireEx, Tcl_ResetResult and - Tcl_AppendResult, not any other function. This puts least restrictions - on eventual Tcl 9 stubs re-organization, and it works on the widest - range of Tcl versions. - -2013-01-06 Jan Nijtmans - - * library/http/http.tcl: Don't depend on Spencer-specific regexp - * tests/env.test: syntax (/u and /U) any more in unrelated places. - * tests/exec.test: - Bump http package to 2.8.6. - -2013-01-04 Donal K. Fellows - - * generic/tclEnsemble.c (CompileBasicNArgCommand): Added very simple - compiler (which just compiles to a normal invoke of the implementation - command) for many ensemble subcommands where we can prove that there - is no way for scripts to detect the difference even through error - handling or [info level]/[info frame]. This improves the code produced - from some ensembles (e.g., [info], [string]) to the point where the - ensemble is now not normally seen at the bytecode level at all. - -2013-01-04 Miguel Sofer - - * generic/tclInt.h: Insure that PURIFY builds cannot exploit the - * generic/tclExecute.c: Tcl stack to hide mem defects. - -2013-01-03 Donal K. Fellows - - * doc/fconfigure.n, doc/CrtChannel.3: Updated to reflect the fact that - the minimum buffer size is one byte, not ten. Identified by Schelte - Bron on the Tcler's Chat. - - * generic/tclExecute.c (TEBCresume:INST_INVOKE_REPLACE): - * generic/tclEnsemble.c (TclCompileEnsemble): Added new mechanism to - allow for more efficient dispatch of non-bytecode-compiled subcommands - of bytecode-compiled ensembles. This can provide substantial speed - benefits in some cases. - -2013-01-02 Miguel Sofer - - * generic/tclEnsemble.c: Remove stray calls to Tcl_Alloc and friends: - * generic/tclExecute.c: the core should only use ckalloc to allow - * generic/tclIORTrans.c: MEM_DEBUG to work properly. - * generic/tclTomMathInterface.c: - -2012-12-31 Donal K. Fellows - - * doc/string.n: Noted the obsolescence of the 'bytelength', - 'wordstart' and 'wordend' subcommands, and moved them to later in the - file. - -2012-12-27 Jan Nijtmans - - * generic/tclListObj.c: [Bug 3598580]: Tcl_ListObjReplace may release - deleted elements too early. - -2012-12-22 Alexandre Ferrieux - - * generic/tclUtil.c: [Bug 3598150]: Stop leaking allocated space when - objifying a zero-length DString. Spotted by afredd. - -2012-12-21 Jan Nijtmans - - * unix/dltest/pkgb.c: Inline compat Tcl_GetDefaultEncodingDir. - * generic/tclStubLib.c: Eliminate unnecessary static HasStubSupport() - and isDigit() functions, just do the same inline. - -2012-12-18 Donal K. Fellows - - * generic/tclCompCmdsSZ.c (TclSubstCompile): Improved the sequence of - instructions issued for [subst] when dealing with simple variable - references. - -2012-12-14 Don Porter - - *** 8.6.0 TAGGED FOR RELEASE *** - - * changes: updates for 8.6.0 - -2012-12-13 Don Porter - - * generic/tclZlib.c: Repair same issue with misusing the - * tests/zlib.test: 'fire and forget' nature of Tcl_ObjSetVar2 - in the new TIP 400 implementation. - -2012-12-13 Miguel Sofer - - * generic/tclCmdAH.c: (CatchObjCmdCallback): do not decrRefCount - * tests/cmdAH.test: the newValuePtr sent to Tcl_ObjSetVar2: - TOSV2 is 'fire and forget', it decrs on its own. - Fix for [Bug 3595576], found by andrewsh. - -2012-12-13 Jan Nijtmans - - * generic/tcl.h: Fix Tcl_DecrRefCount macro such that it doesn't - access its objPtr parameter twice any more. - -2012-12-11 Don Porter - - * generic/tcl.h: Bump version number to 8.6.0. - * library/init.tcl: - * unix/configure.in: - * win/configure.in: - * unix/tcl.spec: - * README: - - * unix/configure: autoconf-2.59 - * win/configure: - -2012-12-10 Donal K. Fellows - - * tools/tcltk-man2html.tcl (plus-pkgs): Increased robustness of - version number detection code to deal with packages whose names are - prefixes of other packages. - * unix/Makefile.in (dist): Added pkgs/package.list.txt to distribution - builds to ensure that 'make html' will work better. - -2012-12-09 Alexandre Ferrieux - - * tests/chan.test: Clean up unwanted eofchar side-effect of chan-4.6 - leading to a spurious "'" at end of chan.test under certain conditions - (see [Bug 3389289] and [Bug 3389251]). - - * doc/expr.n: [Bug 3594188]: Clarifications about commas. - -2012-12-08 Alexandre Ferrieux - - * generic/tclIO.c: Fix busyloop at exit under TCL_FINALIZE_ON_EXIT - when there are unflushed nonblocking channels. Thanks Miguel for - spotting. - -2012-12-07 Jan Nijtmans - - * unix/dltest/pkgb.c: Turn pkgb.so into a Tcl9 interoperability test - library: Whatever Tcl9 looks like, loading pkgb.so in Tcl 9 should - either result in an error-message, either succeed, but never crash. - -2012-11-28 Donal K. Fellows - - * generic/tclZlib.c (ZlibStreamSubcmd): [Bug 3590483]: Use a mechanism - for complex option resolution that has fewer problems with more - finicky compilers. - -2012-11-26 Reinhard Max - - * unix/tclUnixSock.c: Factor out creation of the -sockname and - -peername lists from TcpGetOptionProc() to TcpHostPortList(). Make it - robust against implementations of getnameinfo() that error out if - reverse mapping fails instead of falling back to the numeric - representation. - -2012-11-20 Donal K. Fellows - - * generic/tclBinary.c (BinaryDecode64): [Bug 3033307]: Corrected - handling of trailing whitespace when decoding base64. Thanks to Anton - Kovalenko for reporting, and Andy Goth for the fix and tests. - -2012-11-19 Donal K. Fellows - - * generic/tclExecute.c (INST_STR_RANGE_IMM): [Bug 3588366]: Corrected - implementation of bounds restriction for end-indexed compiled [string - range]. Thanks to Emiliano Gavilan for diagnosis and fix. - -2012-11-15 Jan Nijtmans - - IMPLEMENTATION OF TIP#416 - - New Options for 'load': -global and -lazy - - * generic/tcl.h: - * generic/tclLoad.c - * unix/tclLoadDl.c - * unix/tclLoadDyld.c - * tests/load.test - * doc/Load.3 - * doc/load.n - -2012-11-14 Donal K. Fellows - - * unix/tclUnixFCmd.c (TclUnixOpenTemporaryFile): [Bug 2933003]: Factor - out all the code to do temporary file creation so that it is possible - to make it correct in one place. Allow overriding of the back-stop - default temporary file location at compile time by setting the - TCL_TEMPORARY_FILE_DIRECTORY #def to a string containing the directory - name (defaults to "/tmp" as that is the most common default). - -2012-11-13 Joe Mistachkin - - * win/tclWinInit.c: also search for the library directory (init.tcl, - encodings, etc) relative to the build directory associated with the - source checkout. - -2012-11-10 Miguel Sofer - - * generic/tclBasic.c: re-enable bcc-tailcall, after fixing an - * generic/tclExecute.c: infinite loop in the TCL_COMPILE_DEBUG mode - - -2012-11-07 Kevin B. Kenny - - * library/tzdata/Africa/Casablanca: - * library/tzdata/America/Araguaina: - * library/tzdata/America/Bahia: - * library/tzdata/America/Havana: - * library/tzdata/Asia/Amman: - * library/tzdata/Asia/Gaza: - * library/tzdata/Asia/Hebron: - * library/tzdata/Asia/Jerusalem: - * library/tzdata/Pacific/Apia: - * library/tzdata/Pacific/Fakaofo: - * library/tzdata/Pacific/Fiji: Import tzdata2012i. - -2012-11-06 Donal K. Fellows - - * library/http/http.tcl (http::Finish): [Bug 3581754]: Ensure that - callbacks are done at most once to prevent problems with timeouts on a - keep-alive connection (combined with reentrant http package use) - causing excessive stack growth. Not a fix for the underlying problem, - but ensures that pain will be mostly kept away from users. - Bump http package to 2.8.5. - -2012-11-05 Donal K. Fellows - - Added bytecode compilation of many Tcl commands. Some of these are - total compilations and some are only partial (i.e., only compile in - some cases). The (sub-)commands affected are: - * array: exists, set, unset - * dict: create, exists, merge - * format: (simple cases only) - * info: commands, coroutine, level, object - * info object: class, isa object, namespace - * namespace: current, code, qualifiers, tail, which - * regsub: (only cases convertable to simple [string map]) - * self: (only no-argument and [self object] cases) - * string: first, last, map, range - * tailcall: - * yield: - - [This was work originally done on the 'dkf-compile-misc-info' branch.] - -2012-11-05 Jan Nijtmans - - IMPLEMENTATION OF TIP#413 - - Align the [string trim] and [string is space] commands, such that - [string trim] by default trims all characters for which [string is - space] returns 1, augmented with the NUL character. - - * generic/tclUtf.c: Add NEL, BOM and two more characters to [string is - space] - * generic/tclCmdMZ.c: Modify [string trim] for Unicode modifications. - * generic/regc_locale.c: Regexp engine must match [string is space] - * doc/string.n - * tests/string.test - ***POTENTIAL INCOMPATIBILITY*** - Code that relied on characters not previously trimmed being not - removed will notice a difference; it is believed that this is rare, - but a workaround to get the behavior in Tcl 8.5 is to use " \t\n\r" as - an explicit trim set. - -2012-10-31 Jan Nijtmans - - * win/Makefile.in: Dde version number to 1.4.0, ready for Tcl 8.6.0rc1 - * win/makefile.vc - * win/tclWinDde.c - * library/dde/pkgIndex.tcl - * tests/winDde.test - -2012-10-24 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictUnsetCmd): Added compilation of - the [dict unset] command (for scalar var in LVT only). - -2012-10-23 Jan Nijtmans - - * generic/tclInt.h: Add "flags" parameter from Tcl_LoadFile to - * generic/tclIOUtil.c: to various internal functions, so these - * generic/tclLoadNone.c: flags are available through the whole - * unix/tclLoad*.c: filesystem for (future) internal use. - * win/tclWinLoad.c: - -2012-10-17 Miguel Sofer - - * generic/tclBasic.c (TclNRCoroutineObjCmd): insure that numlevels - are properly set, fix bug discovered by dkf and reported at - http://code.activestate.com/lists/tcl-core/12213/ - -2012-10-16 Donal K. Fellows - - IMPLEMENTATION OF TIP#405 - - New commands for applying a transformation to the elements of a list - to produce another list (the [lmap] command) and to the mappings of a - dictionary to produce another dictionary (the [dict map] command). In - both cases, a [continue] will cause the skipping of an element/pair, - and a [break] will terminate the construction early and successfully. - - * generic/tclCmdAH.c (Tcl_LmapObjCmd, TclNRLmapCmd): Implementation of - the new [lmap] command, based on (and sharing much of) [foreach]. - * generic/tclDictObj.c (DictMapNRCmd): Implementation of the new [dict - map] subcommand, based on (and sharing much of) [dict for]. - * generic/tclCompCmds.c (TclCompileLmapCmd, TclCompileDictMapCmd): - Compilation engines for [lmap] and [dict map]. - - IMPLEMENTATION OF TIP#400 - - * generic/tclZlib.c: Allow the specification of a compression - dictionary (a binary blob used to seed the compression engine) in both - streams and channel transformations. Also some reorganization to allow - for getting gzip header dictionaries and controlling buffering levels - in channel transformations (allowing a trade-off between formal - correctness and speed). - (Tcl_ZlibStreamSetCompressionDictionary): New C API to allow setting - the compression dictionary without using a Tcl script. - -2012-10-14 Jan Nijtmans - - * generic/tclDictObj.c: [Bug 3576509]: ::tcl::Bgerror crashes with - * generic/tclEvent.c: invalid arguments. Better fix, which helps - for all Tcl_DictObjGet() calls in Tcl's source code. - -2012-10-13 Jan Nijtmans - - * generic/tclEvent.c: [Bug 3576509]: tcl::Bgerror crashes with invalid - arguments - -2012-10-06 Jan Nijtmans - - * win/Makefile.in: [Bug 2459774]: tcl/win/Makefile.in not compatible - with msys 0.8. - -2012-10-03 Don Porter - - * generic/tclIO.c: When checking for std channels being closed, - compare the channel state, not the channel itself so that stacked - channels do not cause trouble. - -2012-09-26 Reinhard Max - - * generic/tclIOSock.c (TclCreateSocketAddress): Work around a bug in - getaddrinfo() on OSX that caused name resolution to fail for [socket - -server foo -myaddr localhost 0]. - -2012-09-20 Jan Nijtmans - - * win/configure.in: New import libraries for zlib 1.2.7, usable for - * win/configure: all win32/win64 compilers - * compat/zlib/win32/zdll.lib: - * compat/zlib/win64/zdll.lib: - - * win/tclWinDde.c: [FRQ 3527238]: Full unicode support for dde. Dde - version is now 1.4.0b2. - ***POTENTIAL INCOMPATIBILITY*** - -2012-09-19 Jan Nijtmans - - * generic/tcl.h: Make Tcl_Interp a fully opaque structure if - TCL_NO_DEPRECATED is set (TIP 330 and 336). - * win/nmakehlp.c: Let "nmakehlp -V" start searching digits after the - found match (suggested by Harald Oehlmann). - -2012-09-19 Harald Oehlmann - - IMPLEMENTATION OF TIP#412. - - * library/msgcat/msgcat.tcl: dynamic locale change with mc file - * library/clock.tcl: load on locale change. - clock uses new msgcat features. - -2012-09-07 Harald Oehlmann - - *** 8.6b3 TAGGED FOR RELEASE *** - - IMPLEMENTATION OF TIP#404. - - * library/msgcat/msgcat.tcl: [FRQ 3544988]: New commands [mcflset] - * library/msgcat/pkgIndex.tcl: and [mcflmset] to set mc entries with - * unix/Makefile.in: implicit message file locale. - * win/Makefile.in: Bump to 1.5.0. - -2012-08-25 Donal K. Fellows - - * library/msgs/uk.msg: [Bug 3561330]: Use the correct full name of - March in Ukrainian. Thanks to Mikhail Teterin for reporting. - -2012-08-23 Jan Nijtmans - - * generic/tclBinary.c: [Bug 3496014]: Unecessary memset() in - Tcl_SetByteArrayObj(). - -2012-08-20 Don Porter - - * generic/tclPathObj.c: [Bug 3559678]: Fix bad filename normalization - when the last component is the empty string. - -2012-08-20 Jan Nijtmans - - * win/tclWinPort.h: Remove wrapper macro for ntohs(): unnecessary, - because it doesn't require an initialized winsock_2 library. See: - - * win/tclWinSock.c: - * generic/tclStubInit.c: - -2012-08-17 Jan Nijtmans - - * win/nmakehlp.c: Add "-V" option, in order to be able to detect - partial version numbers. - -2012-08-15 Jan Nijtmans - - * win/buildall.vc.bat: Only build the threaded builds by default - * win/rules.vc: Some code cleanup - -2010-08-13 Stuart Cassoff - - * unix/tclUnixCompat.c: [Bug 3555454]: Rearrange a bit to quash - 'declared but never defined' compiler warnings. - -2012-08-13 Jan Nijtmans - - * compat/zlib/win64/zlib1.dll: Add 64-bit build of zlib1.dll, and use - * compat/zlib/win64/zdll.lib: it for the dynamic mingw-w64 build. - * win/Makefile.in: - * win/configure.in: - * win/configure: - -2012-08-09 Reinhard Max - - * tests/http.test: Fix http-3.29 for machines without IPv6 support. - -2010-08-08 Stuart Cassoff - - * unix/tclUnixCompat.c: Change one '#ifdef' to '#if defined()' for - improved consistency within the file. - -2012-08-08 Jan Nijtmans - - * generic/tclfileName.c: [Bug #1536227]: Cygwin network pathname - * tests/fileName.test: support - -2012-08-07 Don Porter - - * generic/tclIOUtil.c: [Bug 3554250]: Overlooked one field of cleanup - in the thread exit handler for the filesystem subsystem. - -2012-07-31 Donal K. Fellows - - * generic/tclInterp.c (Tcl_GetInterpPath): - * unix/tclUnixPipe.c (TclGetAndDetachPids, Tcl_PidObjCmd): - * win/tclWinPipe.c (TclGetAndDetachPids, Tcl_PidObjCmd): - Purge use of Tcl_AppendElement, and corrected conversion of PIDs to - integer objects. - -2012-07-31 Jan Nijtmans - - * win/nmakehlp.c: Add -Q option from sampleextension. - * win/Makefile.in: [FRQ 3544967]: Missing objectfiles in static lib - * win/makefile.vc: (Thanks to Jos Decoster). - -2012-07-29 Jan Nijtmans - - * win/Makefile.in: No longer build tcltest.exe to run the tests, - but use tclsh86.exe in combination with tcltest86.dll to do that. - * tests/*.test: load tcltest86.dll if necessary. - -2012-07-28 Jan Nijtmans - - * tests/clock.test: [Bug 3549770]: Multiple test failures running - * tests/registry.test: tcltest outside build tree - * tests/winDde.test: - -2012-07-27 Jan Nijtmans - - * generic/tclUniData.c: Support Unicode 6.2 (Add Turkish lira sign) - * generic/regc_locale.c: - -2012-07-25 Alexandre Ferrieux - - * win/tclWinPipe.c: [Bug 3547994]: Abandon the synchronous Windows - pipe driver to its fate when needed to honour TIP#398. - -2012-07-24 Trevor Davel - - * win/tclWinSock.c: [Bug: 3545363]: Loop over multiple underlying file - descriptors for a socket where required (TcpCloseProc, SocketProc). - Refactor socket/descriptor setup to manage linked list operations in - one place. Fix memory leak in socket close (TcpCloseProc) and related - dangling pointers in SocketEventProc. - -2012-07-19 Reinhard Max - - * win/tclWinSock.c (TcpAccept): [Bug: 3545363]: Use a large enough - buffer for accept()ing IPv6 connections. Fix conversion of host and - port for passing to the accept proc to be independent of the IP - version. - -2012-07-23 Alexandre Ferrieux - - * generic/tclIO.c: [Bug 3545365]: Never try a bg-flush on a dead - channel, just like before 2011-08-17. - -2012-07-19 Joe Mistachkin - - * generic/tclTest.c: Fix several more missing mutex-locks in - TestasyncCmd. - -2012-07-19 Alexandre Ferrieux - - * generic/tclTest.c: [Bug 3544685]: Missing mutex-lock in - TestasyncCmd since 2011-08-19. Unbounded gratitude to Stuart - Cassoff for spotting it. - -2012-07-17 Jan Nijtmans - - * win/makefile.vc: [Bug 3544932]: Visual studio compiler check fails - -2012-07-16 Donal K. Fellows - - * generic/tclUtil.c (UpdateStringOfEndOffset): [Bug 3544658]: Stop - 1-byte overrun in memcpy, that object placement rules made harmless - but which still caused compiler complaints. - -2012-07-16 Jan Nijtmans - - * library/reg/pkgIndex.tcl: Make registry 1.3 package dynamically - loadable when ::tcl::pkgconfig is available. - -2012-07-11 Jan Nijtmans - - * win/tclWinReg.c: [Bug 3362446]: registry keys command fails - with 8.5/8.6. Follow Microsofts example better in order to prevent - problems when using HKEY_PERFORMANCE_DATA. - -2012-07-10 Jan Nijtmans - - * unix/tclUnixNotfy.c: [Bug 3541646]: Don't panic on triggerPipe - overrun. - -2012-07-10 Donal K. Fellows - - * win/tclWinSock.c (InitializeHostName): Corrected logic that - extracted the name of the computer from the gethostname call so that - it would use the name on success, not failure. Also ensured that the - buffer size is exactly that recommended by Microsoft. - -2012-07-08 Reinhard Max - - * library/http/http.tcl: [Bug 3531209]: Add fix and test for URLs that - * tests/http.test: contain literal IPv6 addresses. - -2012-07-05 Don Porter - - * unix/tclUnixPipe.c: [Bug 1189293]: Make "<<" binary safe. - * win/tclWinPipe.c: - -2012-07-03 Donal K. Fellows - - * generic/tclUtil.c (TclDStringAppendObj, TclDStringAppendDString): - * generic/tclInt.h (TclDStringAppendLiteral, TclDStringClear): - * generic/tclCompile.h (TclDStringAppendToken): Added wrappers to make - common cases of appending to Tcl_DStrings simpler to write. Prompted - by looking at [FRQ 1357401] (these are an _internal_ implementation of - that FRQ). - -2012-06-29 Jan Nijtmans - - * library/msgcat/msgcat.tcl: Add tn, ro_MO and ru_MO to msgcat. - -2012-06-29 Harald Oehlmann - - * library/msgcat/msgcat.tcl: [Bug 3536888]: Locale guessing of - * library/msgcat/pkgIndex.tcl: msgcat fails on (some) Windows 7. Bump - * unix/Makefile.in: to 1.4.5 - * win/Makefile.in: - -2012-06-29 Donal K. Fellows - - * doc/GetIndex.3: Reinforced the description of the requirement for - the tables of names to index over to be static, following posting to - tcl-core by Brian Griffin about a bug caused by Tktreectrl not obeying - this rule correctly. This does not represent a functionality change, - merely a clearer documentation of a long-standing constraint. - -2012-06-26 Jan Nijtmans - - * unix/tcl.m4: Let Cygwin shared build link with - * unix/configure.in: zlib1.dll, not cygz.dll (two less - * unix/configure: dependencies on cygwin-specific dll's) - * unix/Makefile.in: - -2012-06-26 Reinhard Max - - * generic/tclIOSock.c: Use EAI_SYSTEM only if it exists. - * unix/tclUnixSock.c: - -2012-06-25 Don Porter - - * generic/tclFileSystem.h: [Bug 3024359]: Make sure that the - * generic/tclIOUtil.c: per-thread cache of the list of file systems - * generic/tclPathObj.c: currently registered is only updated at times - when no active loops are traversing it. Also reduce the amount of - epoch storing and checking to where it can make a difference. - -2012-06-25 Donal K. Fellows - - * generic/tclCmdAH.c (EncodingDirsObjCmd): [Bug 3537605]: Do the right - thing when reporting errors with the number of arguments. - -2012-06-25 Jan Nijtmans - - * generic/tclfileName.c: [Patch 1536227]: Cygwin network pathname - * tests/fileName.test: support. - -2012-06-23 Jan Nijtmans - - * unix/tclUnixNotfy.c: [Bug 3508771]: Cygwin notifier for handling - win32 events. - -2012-06-22 Reinhard Max - - * generic/tclIOSock.c: Rework the error message generation of [socket], - * unix/tclUnixSock.c: so that the error code of getaddrinfo is used - * win/tclWinSock.c: instead of errno unless it is EAI_SYSTEM. - -2012-06-21 Jan Nijtmans - - * win/tclWinReg.c: [Bug 3362446]: registry keys command fails - * tests/registry.test: with 8.5/8.6 - -2012-06-11 Don Porter - - * generic/tclBasic.c: [Bug 3532959]: Make sure the lifetime - * generic/tclProc.c: management of entries in the linePBodyPtr - * tests/proc.test: hash table can tolerate either order of - teardown, interp first, or Proc first. - -2012-06-08 Don Porter - - * unix/configure.in: Update autogoo for gettimeofday(). - * unix/tclUnixPort.h: Thanks Joe English. - * unix/configure: autoconf 2.13 - - * unix/tclUnixPort.h: [Bug 3530533]: Centralize #include - * unix/tclUnixThrd.c: in the tclUnixPort.h header so that old unix - systems that need inclusion in all compilation units are supported. - -2012-06-08 Jan Nijtmans - - * win/tclWinDde.c: Revise the "null data" check: null strings are - possible, but empty binary arrays are not. - * tests/winDde.test: Add test-case (winDde-9.4) for transferring - null-strings with dde. Convert tests to tcltest-2 syntax. - -2012-06-06 Donal K. Fellows - - * generic/tclZlib.c (TclZlibInit): Declare that Tcl is publishing the - zlib package (version 2.0) as part of its bootstrap process. This will - have an impact on tclkit (which includes zlib 1.1) but otherwise be - very low impact. - -2012-06-06 Jan Nijtmans - - * unix/tclUnixInit.c: On Cygwin, use win32 API in stead of uname() - to determine the tcl_platform variables. - -2012-05-31 Jan Nijtmans - - * generic/tclZlib.c: [Bug 3530536]: zlib-7.4 fails on IRIX64 - * tests/zlib.test: - * doc/zlib.n: Document that [stream checksum] doesn't do - what's expected for "inflate" and "deflate" formats - -2012-05-31 Donal K. Fellows - - * library/safe.tcl (safe::AliasFileSubcommand): Don't assume that - slaves have corresponding commands, as that is not true for - sub-subinterpreters (used in Tk's test suite). - - * doc/safe.n: [Bug 1997845]: Corrected formatting so that generated - HTML can link properly. - - * tests/socket.test (socket*-13.1): Prevented intermittent test - failure due to race condition. - -2012-05-29 Donal K. Fellows - - * doc/expr.n, doc/mathop.n: [Bug 2931407]: Clarified semantics of - division and remainder operators. - -2012-05-29 Jan Nijtmans - - * win/tclWinDde.c: [Bug 3525762]: Encoding handling in dde. - * win/Makefile.in: Fix "make genstubs" when cross-compiling on UNIX - -2012-05-28 Donal K. Fellows - - * library/safe.tcl (safe::AliasFileSubcommand): [Bug 3529949]: Made a - more sophisticated method for preventing information leakage; it - changes references to "~user" into "./~user", which is safe. - -2012-05-25 Donal K. Fellows - - * doc/namespace.n, doc/Ensemble.3: [Bug 3528418]: Document what is - going on with respect to qualification of command prefixes in ensemble - subcommand maps. - - * generic/tclIO.h (SYNTHETIC_EVENT_TIME): Factored out the definition - of the amount of time that should be waited before firing a synthetic - event on a channel. - -2012-05-25 Jan Nijtmans - - * win/tclWinDde.c: [Bug 473946]: Special characters were not correctly - sent, now for XTYP_EXECUTE as well as XTYP_REQUEST. - * win/Makefile.in: Fix "make genstubs" when cross-compiling on UNIX - -2012-05-24 Jan Nijtmans - - * tools/genStubs.tcl: Take cygwin handling of X11 into account. - * generic/tcl*Decls.h: re-generated - * generic/tclStubInit.c: Implement TclpIsAtty, Cygwin only. - * doc/dde.n: Doc fix: "dde execute iexplore" doesn't work - without -async, because iexplore doesn't return a value - -2012-05-24 Jan Nijtmans - - * tools/genStubs.tcl: Let cygwin share stub table with win32 - * win/tclWinSock.c: implement TclpInetNtoa for win32 - * generic/tclInt.decls: Revert most of [3caedf05df], since when - we let cygwin share the win32 stub table this is no longer necessary - * generic/tcl*Decls.h: re-generated - * doc/dde.n: 1.3 -> 1.4 - -2012-05-23 Donal K. Fellows - - * generic/tclZlib.c (ZlibTransformInput): [Bug 3525907]: Ensure that - decompressed input is flushed through the transform correctly when the - input stream gets to the end. Thanks to Alexandre Ferrieux and Andreas - Kupries for their work on this. - -2012-05-21 Don Porter - - * generic/tclFileName.c: When using Tcl_SetObjLength() calls to - * generic/tclPathObj.c: grow and shrink the objPtr->bytes - buffer, care must be taken that the value cannot possibly become pure - Unicode. Calling Tcl_AppendToObj() has the possibility of making such - a conversion. Bug found while valgrinding the trunk. - -2012-05-21 Jan Nijtmans - - IMPLEMENTATION OF TIP#106 - - * win/tclWinDde.c: Added encoding-related abilities to - * library/dde/pkgIndex.tcl: the [dde] command. The dde package's - * tests/winDde.test: version is now 1.4.0. - * doc/dde.n: - -2012-05-20 Donal K. Fellows - - * generic/tclOOBasic.c (TclOO_Class_Constructor): [Bug 2023112]: Cut - the amount of hackiness in class constructors, and refactor some of - the error message handling from [oo::define] to be saner in the face - of odd happenings. - -2012-05-17 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): [Bug 3106532]: Corrected - resulting indexes from -indexvar option to be usable with [string - range]; this was always the intention (and is consistent with [regexp - -indices] too). - ***POTENTIAL INCOMPATIBILITY*** - Uses of [switch -regexp -indexvar] that previously compensated for the - wrong offsets (by subtracting 1 from the end indices) now do not need - to do so as the value is correct. - - * library/safe.tcl (safe::InterpInit): Ensure that the module path is - constructed in the correct order. - (safe::AliasGlob): [Bug 2964715]: More extensive handling of what - globbing is required to support package loading. - - * doc/expr.n: [Bug 3525462]: Corrected statement about what happens - when comparing "0y" and "0x12"; the previously documented behavior was - actually a subtle bug (now long-corrected). - -2012-05-16 Donal K. Fellows - - * generic/tclCmdAH.c (TclMakeFileCommandSafe): [Bug 3445787]: Improve - the compatibility of safe interpreters' version of 'file' with that of - unsafe interpreters. - * library/safe.tcl (::safe::InterpInit): Teach the safe-interp scripts - about how to expose 'file' properly. - -2012-05-13 Jan Nijtmans - - * win/tclWinDde.c: Protect against receiving strings without ending - \0, as external applications (or Tcl with TIP #106) could generate - that. - -2012-05-10 Jan Nijtmans - - * win/tclWinDde.c: [Bug 473946]: Special characters not correctly sent - * library/dde/pkgIndex.tcl: Increase version to 1.3.3 - -2012-05-10 Alexandre Ferrieux - - * {win,unix}/configure{,.in}: [Bug 2812981]: Clean up bundled - packages' build directory from within Tcl's ./configure, to avoid - stale configuration. - -2012-05-09 Andreas Kupries - - * generic/tclIORChan.c: [Bug 3522560]: Fixed the crash, enabled the - test case. Modified [chan postevent] to properly inject the event(s) - into the owner thread's event queue for execution in the correct - context. Renamed the ForwardOpTo...Thread() function to match with our - terminology. - - * tests/ioCmd.test: [Bug 3522560]: Added a test which crashes the core - if it were not disabled as knownBug. For a reflected channel - transfered to a different thread the [chan postevent] run in the - handler thread tries to execute the owner threads's fileevent scripts - by itself, wrongly reaching across thread boundaries. - -2012-04-28 Alexandre Ferrieux - - * generic/tclIO.c: Properly close nonblocking channels even when - not flushing them. - -2012-05-03 Jan Nijtmans - - * compat/zlib/*: Upgrade to zlib 1.2.7 (prebuilt dll is still 1.2.5, - will be upgraded as soon as the official build is available) - -2012-05-03 Don Porter - - * tests/socket.test: [Bug 3428754]: Test socket-14.2 tolerate - [socket -async] connection that connects synchronously. - - * unix/tclUnixSock.c: [Bug 3428753]: Fix [socket -async] connections - that manage to connect synchronously. - -2012-05-02 Jan Nijtmans - - * generic/configure.in: Better detection and implementation for - * generic/configure: cpuid instruction on Intel-derived - * generic/tclUnixCompat.c: processors, both 32-bit and 64-bit. - * generic/tclTest.c: Move cpuid testcase from win-specific to - * win/tclWinTest.c: generic tests, as it should work on all - * tests/platform.test: Intel-related platforms now. - -2012-04-30 Alexandre Ferrieux - - * tests/ioCmd.test: [Bug 3522560]: Tame deadlocks in broken refchan - tests. - -2012-04-28 Alexandre Ferrieux - - IMPLEMENTATION OF TIP#398 - - * generic/tclIO.c: Quickly Exit with Non-Blocking Blocked Channels - * tests/io.test : *** POTENTIAL INCOMPATIBILITY *** - * doc/close.n : (compat flag available) - -2012-04-27 Jan Nijtmans - - * generic/tclPort.h: Move CYGWIN-specific stuff from tclPort.h to - * generic/tclEnv.c: tclUnixPort.h, where it belongs. - * unix/tclUnixPort.h: - * unix/tclUnixFile.c: - -2012-04-27 Donal K. Fellows - - * library/init.tcl (auto_execok): Allow shell builtins to be detected - even if they are upper-cased. - -2012-04-26 Jan Nijtmans - - * generic/tclStubInit.c: Get rid of _ANSI_ARGS_ and CONST - * generic/tclIO.c: - * generic/tclIOCmd.c: - * generic/tclTest.c: - * unix/tclUnixChan.c: - -2012-04-25 Donal K. Fellows - - * generic/tclUtil.c (TclDStringToObj): Added internal function to make - the fairly-common operation of converting a DString into an Obj a more - efficient one; for long strings, it can just transfer the ownership of - the buffer directly. Replaces this: - obj=Tcl_NewStringObj(Tcl_DStringValue(&ds),Tcl_DStringLength(&ds)); - Tcl_DStringFree(&ds); - with this: - obj=TclDStringToObj(&ds); - -2012-04-24 Jan Nijtmans - - * generic/tclInt.decls: [Bug 3508771]: load tclreg.dll in cygwin - tclsh - * generic/tclIntPlatDecls.h: Implement TclWinGetSockOpt, - * generic/tclStubInit.c: TclWinGetServByName and TclWinCPUID for - * generic/tclUnixCompat.c: Cygwin. - * unix/configure.in: - * unix/configure: - * unix/tclUnixCompat.c: - -2012-04-18 Kevin B. Kenny - - * library/tzdata/Africa/Casablanca: - * library/tzdata/America/Port-au-Prince: - * library/tzdata/Asia/Damascus: - * library/tzdata/Asia/Gaza: - * library/tzdata/Asia/Hebron: tzdata2012c - -2012-04-16 Donal K. Fellows - - * doc/FileSystem.3 (Tcl_FSOpenFileChannelProc): [Bug 3518244]: Fixed - documentation of this filesystem callback function; it must not - register its created channel - that's the responsibility of the caller - of Tcl_FSOpenFileChannel - as that leads to reference leaks. - -2012-04-15 Donal K. Fellows - - * generic/tclEnsemble.c (NsEnsembleImplementationCmdNR): - * generic/tclIOUtil.c (Tcl_FSEvalFileEx): Cut out levels of the C - stack by going direct to the relevant internal evaluation function. - - * generic/tclZlib.c (ZlibTransformSetOption): [Bug 3517696]: Make - flushing work correctly in a pushed compressing channel transform. - -2012-04-12 Jan Nijtmans - - * generic/tclInt.decls: [Bug 3514475]: Remove TclpGetTimeZone and - * generic/tclIntDecls.h: TclpGetTZName - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: - * unix/tclUnixTime.c: - * unix/tclWinTilemc: - -2012-04-11 Jan Nijtmans - - * win/tclWinInit.c: [Bug 3448512]: clock scan "1958-01-01" fails - * win/tcl.m4: only in debug compilation. - * win/configure: - * unix/tcl.m4: Use NDEBUG consistantly meaning: no debugging. - * unix/configure: - * generic/tclBasic.c: - * library/dde/pkgIndex.tcl: Use [::tcl::pkgconfig get debug] instead - * library/reg/pkgIndex.tcl: of [info exists ::tcl_platform(debug)] - -2012-04-10 Donal K. Fellows - - * generic/tcl.h (TCL_DEPRECATED_API): [Bug 2458976]: Added macro that - can be used to mark parts of Tcl's API as deprecated. Currently only - used for fields of Tcl_Interp, which TIPs 330 and 336 have deprecated - with a migration strategy; we want to encourage people to move away - from those fields. - -2012-04-09 Donal K. Fellows - - * generic/tclOODefineCmds.c (ClassVarsSet, ObjVarsSet): [Bug 3396896]: - Ensure that the lists of variable names used to drive variable - resolution will never have the same name twice. - - * generic/tclVar.c (AppendLocals): [Bug 2712377]: Fix problem with - reporting of declared variables in methods. It's really a problem with - how [info vars] interacts with variable resolvers; this is just a bit - of a hack so it is no longer a big problem. - -2012-04-04 Donal K. Fellows - - * generic/tclOO.c (Tcl_NewObjectInstance, TclNRNewObjectInstance): - [Bug 3514761]: Fixed bogosity with automated argument description - handling when constructing an instance of a class that is itself a - member of an ensemble. Thanks to Andreas Kupries for identifying that - this was a problem case at all! - (Tcl_CopyObjectInstance): Fix potential bleed-over of ensemble - information into [oo::copy]. - -2012-04-04 Jan Nijtmans - - * win/tclWinSock.c: [Bug 510001]: TclSockMinimumBuffers needs - * generic/tclIOSock.c: platform implementation. - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - -2012-04-03 Jan Nijtmans - - * generic/tclStubInit.c: Remove the TclpGetTZName implementation for - * generic/tclIntDecls.h: Cygwin (from 2012-04-02 commit), re-generated - * generic/tclIntPlatDecls.h: - -2012-04-02 Donal K. Fellows - - IMPLEMENTATION OF TIP#396. - - * generic/tclBasic.c (builtInCmds, TclNRYieldToObjCmd): Convert the - formerly-unsupported yieldm and yieldTo commands into [yieldto]. - -2012-04-02 Jan Nijtmans - - * generic/tclInt.decls: [Bug 3508771]: load tclreg.dll in cygwin tclsh - * generic/tclIntPlatDecls.h: Implement TclWinGetTclInstance, - * generic/tclStubInit.c: TclpGetTZName, and various more - win32-specific internal functions for Cygwin, so win32 extensions - using those can be loaded in the cygwin version of tclsh. - -2012-03-30 Jan Nijtmans - - * unix/tcl.m4: [Bug 3511806]: Compiler checks too early - * unix/configure.in: This change allows to build the cygwin and - * unix/tclUnixPort.h: mingw32 ports of Tcl/Tk to build out-of-the-box - * win/tcl.m4: using a native or cross-compiler. - * win/configure.in: - * win/tclWinPort.h: - * win/README Document how to build win32 or win64 executables - with Linux, Cygwin or Darwin. - -2012-03-29 Jan Nijtmans - - * generic/tclCmdMZ.c (StringIsCmd): Faster mem-leak free - implementation of [string is entier]. - -2012-03-27 Donal K. Fellows - - IMPLEMENTATION OF TIP#395. - - * generic/tclCmdMZ.c (StringIsCmd): Implementation of the [string is - entier] check. Code by Jos Decoster. - -2012-03-27 Jan Nijtmans - - * generic/tcl.h: [Bug 3508771]: Wrong Tcl_StatBuf used on MinGW. - * generic/tclFCmd.c: [Bug 2015723]: Duplicate inodes from file stat - * generic/tclCmdAH.c: on windows (but now for cygwin as well). - * generic/tclOODefineCmds.c: minor gcc warning - * win/tclWinPort.h: Use lower numbers, preventing integer overflow. - Remove the workaround for mingw-w64 [Bug 3407992]. It's long fixed. - -2012-03-27 Donal K. Fellows - - IMPLEMENTATION OF TIP#397. - - * generic/tclOO.c (Tcl_CopyObjectInstance): [Bug 3474460]: Make the - target object name optional when copying classes. [RFE 3485060]: Add - callback method ("") so that scripted control over copying is - easier. - ***POTENTIAL INCOMPATIBILITY*** - If you'd previously been using the "" method name, this now - has a standard semantics and call interface. Only a problem if you are - also using [oo::copy]. - -2012-03-26 Donal K. Fellows - - IMPLEMENTATION OF TIP#380. - - * doc/define.n, doc/object.n, generic/tclOO.c, generic/tclOOBasic.c: - * generic/tclOOCall.c, generic/tclOODefineCmds.c, generic/tclOOInt.h: - * tests/oo.test: Switch definitions of lists of things in objects and - classes to a slot-based approach, which gives a lot more flexibility - and programmability at the script-level. Introduce new [::oo::Slot] - class which is the implementation of these things. - - ***POTENTIAL INCOMPATIBILITY*** - The unknown method handler now may be asked to deal with the case - where no method name is provided at all. The default implementation - generates a compatible error message, and any override that forces the - presence of a first argument (i.e., a method name) will continue to - function as at present as well, so this is a pretty small change. - - * generic/tclOOBasic.c (TclOO_Object_Destroy): Made it easier to do a - tailcall inside a normally-invoked destructor; prevented leakage out - to calling command. - -2012-03-25 Jan Nijtmans - - * generic/tclInt.decls: [Bug 3508771]: load tclreg.dll in cygwin - * generic/tclIntPlatDecls.h: tclsh. Implement TclWinConvertError, - * generic/tclStubInit.c: TclWinConvertWSAError, and various more - * unix/Makefile.in: win32-specific internal functions for - * unix/tcl.m4: Cygwin, so win32 extensions using those - * unix/configure: can be loaded in the cygwin version of - * win/tclWinError.c: tclsh. - -2012-03-23 Jan Nijtmans - - * generic/tclInt.decls: Revert some cygwin-related signature - * generic/tclIntPlatDecls.h: changes from [835f8e1e9d] (2010-01-22). - * win/tclWinError.c: They were an attempt to make the cygwin - port compile again, but since cygwin is - based on unix this serves no purpose any - more. - * win/tclWinSerial.c: Use EAGAIN in stead of EWOULDBLOCK, - * win/tclWinSock.c: because in VS10+ the value of - EWOULDBLOCK is no longer the same as - EAGAIN. - * unix/Makefile.in: Add tclWinError.c to the CYGWIN build. - * unix/tcl.m4: - * unix/configure: - -2012-03-20 Jan Nijtmans - - * generic/tcl.decls: [Bug 3508771]: load tclreg.dll in cygwin - * generic/tclInt.decls: tclsh. Implement TclWinGetPlatformId, - * generic/tclIntPlatDecls.h: Tcl_WinUtfToTChar, Tcl_WinTCharToUtf (and - * generic/tclPlatDecls.h: a dummy TclWinCPUID) for Cygwin, so win32 - * generic/tclStubInit.c: extensions using those can be loaded in - * unix/tclUnixCompat.c: the cygwin version of tclsh. - -2012-03-19 Venkat Iyer - - * library/tzdata/America/Atikokan: Update to tzdata2012b. - * library/tzdata/America/Blanc-Sablon: - * library/tzdata/America/Dawson_Creek: - * library/tzdata/America/Edmonton: - * library/tzdata/America/Glace_Bay: - * library/tzdata/America/Goose_Bay: - * library/tzdata/America/Halifax: - * library/tzdata/America/Havana: - * library/tzdata/America/Moncton: - * library/tzdata/America/Montreal: - * library/tzdata/America/Nipigon: - * library/tzdata/America/Rainy_River: - * library/tzdata/America/Regina: - * library/tzdata/America/Santiago: - * library/tzdata/America/St_Johns: - * library/tzdata/America/Swift_Current: - * library/tzdata/America/Toronto: - * library/tzdata/America/Vancouver: - * library/tzdata/America/Winnipeg: - * library/tzdata/Antarctica/Casey: - * library/tzdata/Antarctica/Davis: - * library/tzdata/Antarctica/Palmer: - * library/tzdata/Asia/Yerevan: - * library/tzdata/Atlantic/Stanley: - * library/tzdata/Pacific/Easter: - * library/tzdata/Pacific/Fakaofo: - * library/tzdata/America/Creston: (new) - -2012-03-19 Reinhard Max - - * unix/tclUnixSock.c (Tcl_OpenTcpServer): Use the values returned - by getaddrinfo() for all three arguments to socket() instead of - only using ai_family. Try to keep the most meaningful error while - iterating over the result list, because using the last error can - be misleading. - -2012-03-15 Jan Nijtmans - - * generic/tcl.h: [Bug 3288345]: Wrong Tcl_StatBuf used on Cygwin - * unix/tclUnixFile.c: - * unix/tclUnixPort.h: - * win/cat.c: Remove cygwin stuff no longer needed - * win/tclWinFile.c: - * win/tclWinPort.h: - -2012-03-12 Jan Nijtmans - - * win/tclWinFile.c: [Bug 3388350]: mingw64 compiler warnings - -2012-03-11 Donal K. Fellows - - * doc/*.n, doc/*.3: A number of small spelling and wording fixes. - -2012-03-08 Donal K. Fellows - - * doc/info.n: Various minor fixes (prompted by Andreas Kupries - * doc/socket.n: detecting a spelling mistake). - -2012-03-07 Andreas Kupries - - * library/http/http.tcl: [Bug 3498327]: Generate upper-case - * library/http/pkgIndex.tcl: hexadecimal output for compliance - * tests/http.test: with RFC 3986. Bumped version to 2.8.4. - * unix/Makefile.in: - * win/Makefile.in: - -2012-03-06 Jan Nijtmans - - * win/tclWinPort.h: Compatibility with older Visual Studio versions. - -2012-03-04 Jan Nijtmans - - * generic/tclLoad.c: Patch from the cygwin folks - * unix/tcl.m4: - * unix/configure: (re-generated) - -2012-03-02 Donal K. Fellows - - * generic/tclBinary.c (Tcl_SetByteArrayObj): [Bug 3496014]: Only zero - out the memory block if it is not being immediately overwritten. (Our - caller might still overwrite, but we should at least avoid - known-useless work.) - -2012-02-29 Jan Nijtmans - - * generic/tclIOUtil.c: [Bug 3466099]: BOM in Unicode - * generic/tclEncoding.c: - * tests/source.test: - -2012-02-23 Donal K. Fellows - - * tests/reg.test (14.21-23): Add tests relating to Bug 1115587. Actual - bug is characterised by test marked with 'knownBug'. - -2012-02-17 Jan Nijtmans - - * generic/tclIOUtil.c: [Bug 2233954]: AIX: compile error - * unix/tclUnixPort.h: - -2012-02-16 Donal K. Fellows - - * generic/tclExecute.c (INST_LIST_RANGE_IMM): Enhance implementation - so that shortening a (not multiply-referenced) list by lopping the end - off with [lrange] or [lreplace] is efficient. - -2012-02-15 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileLreplaceCmd): Added a compilation - strategy for [lreplace] that tackles the cases which are equivalent to - a static [lrange]. - (TclCompileLrangeCmd): Add compiler for [lrange] with constant indices - so we can take advantage of existing TCL_LIST_RANGE_IMM opcode. - (TclCompileLindexCmd): Improve coverage of constant-index-style - compliation using technique developed for [lrange] above. - - (TclCompileDictForCmd): [Bug 3487626]: Fix crash in compilation of - [dict for] when its implementation command is used directly rather - than through the ensemble. - -2012-02-09 Don Porter - - * generic/tclStringObj.c: Converted the memcpy() calls in append - operations to memmove() calls. This adds safety in the case of - overlapping copies, and improves performance on some benchmarks. - -2012-02-06 Don Porter - - * generic/tclEnsemble.c: [Bug 3485022]: TclCompileEnsemble() avoid - * tests/trace.test: compile when exec traces set. - -2012-02-06 Miguel Sofer - - * generic/tclTrace.c: [Bug 3484621]: Ensure that execution traces on - * tests/trace.test: bytecoded commands bump the interp's compile - epoch. - -2012-02-02 Jan Nijtmans - - * generic/tclUniData.c: [FRQ 3464401]: Support Unicode 6.1 - * generic/regc_locale.c: - -2012-02-02 Don Porter - - * win/tclWinFile.c: [Bugs 2974459,2879351,1951574,1852572, - 1661378,1613456]: Revisions to the NativeAccess() routine that queries - file permissions on Windows native filesystems. Meant to fix numerous - bugs where [file writable|readable|executable] "lies" about what - operations are possible, especially when the file resides on a Samba - share. - -2012-02-01 Donal K. Fellows - - * doc/AddErrInfo.3: [Bug 3482614]: Documentation nit. - -2012-01-30 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileCatchCmd): Added a more efficient - bytecode generator for the case where 'catch' is used without any - variable arguments; don't capture the result just to discard it. - -2012-01-26 Don Porter - - * generic/tclCmdAH.c: [Bug 3479689]: New internal routine - * generic/tclFCmd.c: TclJoinPath(). Refactor all the - * generic/tclFileName.c: *Join*Path* routines to give them more - * generic/tclInt.h: useful interfaces that are easier to - * generic/tclPathObj.c: manage getting the refcounts right. - -2012-01-26 Don Porter - - * generic/tclPathObj.c: [Bug 3475569]: Add checks for unshared values - before calls demanding them. [Bug 3479689]: Stop memory corruption - when shimmering 0-refCount value to "path" type. - -2012-01-25 Donal K. Fellows - - * generic/tclOO.c (Tcl_CopyObjectInstance): [Bug 3474460]: When - copying an object, make sure that the configuration of the variable - resolver is also duplicated. - -2012-01-22 Jan Nijtmans - - * tools/uniClass.tcl: [FRQ 3473670]: Various Unicode-related - * tools/uniParse.tcl: speedups/robustness. Enhanced tools to be - * generic/tclUniData.c: able to handle characters > 0xFFFF. Done in - * generic/tclUtf.c: all branches in order to simplify merges for - * generic/regc_locale.c: new Unicode versions (such as 6.1) - -2012-01-22 Donal K. Fellows - - * generic/tclDictObj.c (DictExistsCmd): [Bug 3475264]: Ensure that - errors only ever happen when insufficient arguments are supplied, and - not when a path doesn't exist or a dictionary is poorly formatted (the - two cases can't be easily distinguished). - -2012-01-21 Jan Nijtmans - - * generic/tcl.h: [Bug 3474726]: Eliminate detection of struct - * generic/tclWinPort.h: _stat32i64, just use _stati64 in combination - * generic/tclFCmd.c: with _USE_32BIT_TIME_T, which is the same - * generic/tclTest.c: then. Only keep _stat32i64 usage for cygwin, - * win/configure.in: so it will not conflict with cygwin's own - * win/configure: struct stat. - -2012-01-21 Don Porter - - * generic/tclCmdMZ.c: [Bug 3475667]: Prevent buffer read overflow. - Thanks to "sebres" for the report and fix. - -2012-01-17 Donal K. Fellows - - * doc/dict.n (dict with): [Bug 3474512]: Explain better what is going - on when a dictionary key and the dictionary variable collide. - -2012-01-13 Donal K. Fellows - - * library/http/http.tcl (http::Connect): [Bug 3472316]: Ensure that we - only try to read the socket error exactly once. - -2012-01-12 Donal K. Fellows - - * doc/tclvars.n: [Bug 3466506]: Document more environment variables. - -2012-01-09 Jan Nijtmans - - * generic/tclUtf.c: [Bug 3464428]: [string is graph \u0120] was - * generic/regc_locale.c: wrong. Add table for Unicode [:cntrl:] class. - * tools/uniClass.tcl: Generate Unicode [:cntrl:] class table. - * tests/utf.test: - -2012-01-08 Kevin B. Kenny - - * library/clock.tcl (ReadZoneinfoFile): [Bug 3470928]: Corrected a bug - * tests/clock.test (clock-56.4): where loading zoneinfo would - fail if one timezone abbreviation was a proper tail of another, and - zic used the same bytes of the file to represent both of them. Added a - test case for the bug, using the same data that caused the observed - failure "in the wild." - -2011-12-30 Venkat Iyer - - * library/tzdata/America/Bahia: Update to Olson's tzdata2011n - * library/tzdata/America/Havana: - * library/tzdata/Europe/Kiev: - * library/tzdata/Europe/Simferopol: - * library/tzdata/Europe/Uzhgorod: - * library/tzdata/Europe/Zaporozhye: - * library/tzdata/Pacific/Fiji: - -2011-12-23 Jan Nijtmans - - * generic/tclUtf.c: [Bug 3464428]: [string is graph \u0120] is wrong. - * generic/tclUniData.c: - * generic/regc_locale.c: - * tests/utf.test: - * tools/uniParse.tcl: Clean up some unused stuff, and be more robust - against changes in UnicodeData.txt syntax - -2011-12-13 Andreas Kupries - - * generic/tclCompile.c (TclInitAuxDataTypeTable): Extended to register - the DictUpdateInfo structure as an AuxData type. For use by tbcload, - tclcompiler. - -2011-12-11 Jan Nijtmans - - * generic/regc_locale.c: [Bug 3457031]: Some Unicode 6.0 chars not - * tests/utf.test: in [:print:] class - -2011-12-07 Jan Nijtmans - - * tools/uniParse.tcl: [Bug 3444754]: string tolower \u01c5 is wrong - * generic/tclUniData.c: - * tests/utf.test: - -2011-11-30 Jan Nijtmans - - * library/tcltest/tcltest.tcl: [Bug 967195]: Make tcltest work - when tclsh is compiled without using the setargv() function on mingw. - -2011-11-29 Jan Nijtmans - - * win/Makefile.in: don't install tommath_(super)?class.h - * unix/Makefile.in: don't install directories like 8.2 and 8.3 - * generic/tclTomMath.h: [Bug 2991415]: move include tclInt.h from - * generic/tclTomMathInt.h: tclTomMath.h to tclTomMathInt.h - -2011-11-25 Donal K. Fellows - - * library/history.tcl (history): Simplify the dance of variable - management used when chaining to the implementation command. - -2011-11-22 Donal K. Fellows - - * generic/tclExecute.c (TclCompileObj): Simplify and de-indent the - logic so that it is easier to comprehend. - -2011-11-22 Jan Nijtmans - - * win/tclWinPort.h: [Bug 3354324]: Windows: [file mtime] sets wrong - * win/tclWinFile.c: time (VS2005+ only). - * generic/tclTest.c: - -2011-11-20 Joe Mistachkin - - * tests/thread.test: Remove unnecessary [after] calls from the thread - tests. Make error message matching more robust for tests that may - have built-in race conditions. Test thread-7.26 must first unset all - thread testing related variables. Revise results of the thread-7.28 - through thread-7.31 tests to account for the fact they are canceled - via a script sent to the thread asynchronously, which then impacts the - error message handling. Attempt to manually drain the event queue for - the main thread after joining the test thread to make sure no stray - events are processed at the wrong time on the main thread. Revise all - the synchronization and comparison semantics related to the thread id - and error message. - -2011-11-18 Joe Mistachkin - - * tests/thread.test: Remove all use of thread::release from the thread - 7.x tests, replacing it with a script that can easily cause "stuck" - threads to self-destruct for those test cases that require it. Also, - make the error message handling far more robust by keeping track of - every asynchronous error. - -2011-11-17 Joe Mistachkin - - * tests/thread.test: Refactor all the remaining thread-7.x tests that - were using [testthread]. Note that this test file now requires the - very latest version of the Thread package to pass all tests. In - addition, the thread-7.18 and thread-7.19 tests have been flagged as - knownBug because they cannot pass without modifications to the [expr] - command, persuant to TIP #392. - -2011-11-17 Joe Mistachkin - - * generic/tclThreadTest.c: For [testthread cancel], avoid creating a - new Tcl_Obj when the default script cancellation result is desired. - -2011-11-11 Donal K. Fellows - - * win/tclWinConsole.c: Refactor common thread handling patterns. - -2011-11-11 Alexandre Ferrieux - - * tests/zlib.test: [Bug 3428756]: Use nonblocking writes in - single-threaded IO tests to avoid deadlocks when going beyond OS - buffers. Tidy up [chan configure] flags across zlib.test. - -2011-11-03 Donal K. Fellows - - * unix/tclUnixCompat.c (TclpGetPwNam, TclpGetPwUid, TclpGetGrNam) - (TclpGetGrGid): Use the elaborate memory management scheme outlined on - http://www.opengroup.org/austin/docs/austin_328.txt to handle Tcl's - use of standard reentrant versions of the passwd/group access - functions so that everything can work on all BSDs. Problem identified - by Stuart Cassoff. - -2011-10-20 Don Porter - - * library/http/http.tcl: Bump to version 2.8.3 - * library/http/pkgIndex.tcl: - * unix/Makefile.in: - * win/Makefile.in: - - * changes: Updates toward 8.6b3 release. - -2011-10-20 Donal K. Fellows - - * generic/tclLiteral.c (TclInvalidateCmdLiteral): [Bug 3418547]: - Additional code for handling the invalidation of literals. - * generic/tclBasic.c (Tcl_CreateObjCommand, Tcl_CreateCommand) - (TclRenameCommand, Tcl_ExposeCommand): The four additional places that - need extra care when dealing with literals. - * generic/tclTest.c (TestInterpResolverCmd): Additional test machinery - for interpreter resolvers. - -2011-10-18 Reinhard Max - - * library/clock.tcl (::tcl::clock::GetSystemTimeZone): Cache the time - zone only if it was detected by one of the expensive methods. - Otherwise after unsetting TCL_TZ or TZ the previous value will still - be used. - -2011-10-15 Venkat Iyer - - * library/tzdata/America/Sitka: Update to Olson's tzdata2011l - * library/tzdata/Pacific/Fiji: - * library/tzdata/Asia/Hebron: (New) - -2011-10-11 Jan Nijtmans - - * win/tclWinFile.c: [Bug 2935503]: Incorrect mode field returned by - [file stat] command. - -2011-10-09 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictWithCmd): Corrected handling of - qualified names, and added spacial cases for empty bodies (used when - [dict with] is just used for extracting variables). - -2011-10-07 Jan Nijtmans - - * generic/tcl.h: Fix gcc warnings (discovered with latest - * generic/tclIORChan.c: mingw, based on gcc 4.6.1) - * tests/env.test: Fix env.test, when running under wine 1.3. - -2011-10-06 Donal K. Fellows - - * generic/tclDictObj.c (TclDictWithInit, TclDictWithFinish): - * generic/tclCompCmds.c (TclCompileDictWithCmd): Experimental - compilation for the [dict with] subcommand, using parts factored out - from the interpreted version of the command. - -2011-10-05 Jan Nijtmans - - * win/tclWinInt.h: Remove tclWinProcs, as it is no longer - * win/tclWin32Dll.c: being used. - -2011-10-03 Venkat Iyer - - * library/tzdata/Africa/Dar_es_Salaam: Update to Olson's tzdata2011k - * library/tzdata/Africa/Kampala: - * library/tzdata/Africa/Nairobi: - * library/tzdata/Asia/Gaza: - * library/tzdata/Europe/Kaliningrad: - * library/tzdata/Europe/Kiev: - * library/tzdata/Europe/Minsk: - * library/tzdata/Europe/Simferopol: - * library/tzdata/Europe/Uzhgorod: - * library/tzdata/Europe/Zaporozhye: - * library/tzdata/Pacific/Apia: - -2011-09-29 Donal K. Fellows - - * tools/tcltk-man2html.tcl, tools/tcltk-man2html-utils.tcl: More - refactoring so that more of the utility code is decently out of the - way. Adjusted the header-material generator so that version numbers - are only included in locations where there is room. - -2011-09-28 Jan Nijtmans - - * generic/tclOO.h: [RFE 3010352]: make all TclOO API functions - * generic/tclOODecls.h: MODULE_SCOPE - * generic/tclOOIntDecls.h: - -2011-09-27 Donal K. Fellows - - * generic/tclIndexObj.c (Tcl_ParseArgsObjv): [Bug 3413857]: Corrected - the memory management for the code parsing arguments when returning - "large" numbers of arguments. Also unbroke the TCL_ARGV_AUTO_REST - macro in passing. - -2011-09-26 Donal K. Fellows - - * generic/tclCmdAH.c (TclMakeFileCommandSafe): [Bug 3211758]: Also - make the main [file] command hidden by default in safe interpreters, - because that's what existing code expects. This will reduce the amount - which the code breaks, but not necessarily eliminate it... - -2011-09-23 Don Porter - - * generic/tclIORTrans.c: More revisions to get finalization of - ReflectedTransforms correct, including adopting a "dead" field as was - done in tclIORChan.c. - - * tests/thread.test: Stop using the deprecated thread management - commands of the tcltest package. The test suite ought to provide - these tools for itself. They do not belong in a testing harness. - -2011-09-22 Don Porter - - * generic/tclCmdIL.c: Revise [info frame] so that it stops creating - cycles in the iPtr->cmdFramePtr stack. - -2011-09-22 Donal K. Fellows - - * doc/re_syntax.n: [Bug 2903743]: Add more magic so that we can do at - least something sane on Solaris. - * tools/tcltk-man2html-utils.tcl (process-text): Teach the HTML - generator how to handle this magic. - -2011-09-21 Don Porter - - * generic/tclThreadTest.c: Revise the thread exit handling of the - [testthread] command so that it properly maintains the per-process - data structures even when the thread exits for reasons other than the - [testthread exit] command. - -2011-09-21 Alexandre Ferrieux - - * unix/tclIO.c: [Bug 3412487]: Now short reads are allowed in - synchronous fcopy, avoid mistaking them as nonblocking ones. - -2011-09-21 Andreas Kupries - - * generic/tclIORTrans.c (ForwardOpToOwnerThread): Fixed the missing - initialization of the 'dsti' field. Reported by Don Porter, on chat. - -2011-09-20 Don Porter - - * generic/tclIORChan.c: Re-using the "interp" field to signal a dead - channel (via NULL value) interfered with conditional cleanup tasks - testing for "the right interp". Added a new field "dead" to perform - the dead channel signalling task so the corrupted logic is avoided. - - * generic/tclIORTrans.c: Revised ReflectClose() and - FreeReflectedTransform() so that we stop leaking ReflectedTransforms, - yet free all Tcl_Obj values in the same thread that alloced them. - -2011-09-19 Don Porter - - * tests/ioTrans.test: Conversion from [testthread] to Thread package - stops most memory leaks. - - * tests/thread.test: Plug most memory leaks in thread.test. - Constrain the rest to be skipped during `make valgrind'. Tests using - the [testthread cancel] testing command are leaky. Corrections wait - for either addition of [thread::cancel] to the Thread package, or - improvements to the [testthread] testing command to make leak-free - versions of these tests possible. - - * generic/tclIORChan.c: Plug all memory leaks in ioCmd.test exposed - * tests/ioCmd.test: by `make valgrind'. - * unix/Makefile.in: - -2011-09-16 Jan Nijtmans - - IMPLEMENTATION OF TIP #388 - - * doc/Tcl.n: - * doc/re_syntax.n: - * generic/regc_lex.c: - * generic/regcomp.c: - * generic/regcustom.h: - * generic/tcl.h: - * generic/tclParse.c: - * tests/reg.test: - * tests/utf.test: - -2011-09-16 Donal K. Fellows - - * generic/tclProc.c (ProcWrongNumArgs): [Bugs 3400658,3408830]: - Corrected the handling of procedure error messages (found by TclOO). - -2011-09-16 Jan Nijtmans - - * generic/tcl.h: Don't change Tcl_UniChar type when - * generic/regcustom.h: TCL_UTF_MAX == 4 (not supported anyway) - -2011-09-16 Donal K. Fellows - - * generic/tclProc.c (ProcWrongNumArgs): [Bugs 3400658,3408830]: - Ensemble-like rewriting of error messages is complex, and TclOO (in - combination with iTcl) hits the most tricky cases. - - * library/http/http.tcl (http::geturl): [Bug 3391977]: Ensure that the - -headers option overrides the -type option (important because -type - has a default that is not always appropriate, and the header must not - be duplicated). - -2011-09-15 Don Porter - - * generic/tclCompExpr.c: [Bug 3408408]: Partial improvement by sharing - as literals the computed values of constant subexpressions when we can - do so without incurring the cost of string rep generation. - -2011-09-13 Don Porter - - * generic/tclUtil.c: [Bug 3390638]: Workaround broken Solaris - Studio cc optimizer. Thanks to Wolfgang S. Kechel. - - * generic/tclDTrace.d: [Bug 3405652]: Portability workaround for - broken system DTrace support. Thanks to Dagobert Michelson. - -2011-09-12 Jan Nijtmans - - * win/tclWinPort.h: [Bug 3407070]: tclPosixStr.c won't build with - EOVERFLOW==E2BIG - -2011-09-11 Don Porter - - * tests/thread.test: Convert [testthread] use to Thread package use - in thread-6.1. Eliminates a memory leak in `make valgrind`. - - * tests/socket.test: [Bug 3390699]: Convert [testthread] use to - Thread package use in socket_*-13.1. Eliminates a memory leak in - `make valgrind`. - -2011-09-09 Don Porter - - * tests/chanio.test: [Bug 3389733]: Convert [testthread] use to - * tests/io.test: Thread package use in *io-70.1. Eliminates a - memory leak in `make valgrind`. - -2011-09-07 Don Porter - - * generic/tclCompExpr.c: [Bug 3401704]: Allow function names like - * tests/parseExpr.test: influence(), nanobot(), and 99bottles() that - have been parsed as missing operator syntax errors before with the - form NUMBER + FUNCTION. - ***POTENTIAL INCOMPATIBILITY*** - -2011-09-06 Venkat Iyer - - * library/tzdata/America/Goose_Bay: Update to Olson's tzdata2011i - * library/tzdata/America/Metlakatla: - * library/tzdata/America/Resolute: - * library/tzdata/America/St_Johns: - * library/tzdata/Europe/Kaliningrad: - * library/tzdata/Pacific/Apia: - * library/tzdata/Pacific/Honolulu: - * library/tzdata/Africa/Juba: (new) - -2011-09-06 Jan Nijtmans - - * generic/tcl.h: [RFE 1711975]: Tcl_MainEx() (like Tk_MainEx()) - * generic/tclDecls.h: - * generic/tclMain.c: - -2011-09-02 Don Porter - - * tests/http.test: Convert [testthread] use to Thread package use. - Eliminates memory leak seen in `make valgrind`. - -2011-09-01 Alexandre Ferrieux - - * unix/tclUnixSock.c: [Bug 3401422]: Cache script-level changes to the - nonblocking flag of an async client socket in progress, and commit - them on completion. - -2011-09-01 Don Porter - - * generic/tclStrToD.c: [Bug 3402540]: Corrections to TclParseNumber() - * tests/binary.test: to make it reject invalid Nan(Hex) strings. - - * tests/scan.test: [scan Inf %g] is portable; remove constraint. - -2011-08-30 Donal K. Fellows - - * generic/tclInterp.c (SlaveCommandLimitCmd, SlaveTimeLimitCmd): - [Bug 3398794]: Ensure that low-level conditions in the limit API are - enforced at the script level through errors, not a Tcl_Panic. This - means that interpreters cannot read their own limits (writing already - did not work). - -2011-08-30 Reinhard Max - - * unix/tclUnixSock.c (TcpWatchProc): [Bug 3394732]: Put back the check - for server sockets. - -2011-08-29 Don Porter - - * generic/tclIORTrans.c: Leak of ReflectedTransformMap. - -2011-08-27 Don Porter - - * generic/tclStringObj.c: [RFE 3396731]: Revise the [string reverse] - * tests/string.test: implementation to operate on the representation - that comes in, avoid conversion to other reps. - -2011-08-23 Don Porter - - * generic/tclIORChan.c: [Bug 3396948]: Leak of ReflectedChannelMap. - -2011-08-19 Don Porter - - * generic/tclIORTrans.c: [Bugs 3393279, 3393280]: ReflectClose(.) is - missing Tcl_EventuallyFree() calls at some of its exits. - - * generic/tclIO.c: [Bugs 3394654, 3393276]: Revise FlushChannel() to - account for the possibility that the ChanWrite() call might recycle - the buffer out from under us. - - * generic/tclIO.c: Preserve the chanPtr during FlushChannel so that - channel drivers don't yank it away before we're done with it. - -2011-08-19 Alexandre Ferrieux - - * generic/tclTest.c: [Bug 2981154]: async-4.3 segfault. - * tests/async.test: [Bug 1774689]: async-4.3 sometimes fails. - -2011-08-18 Alexandre Ferrieux - - * generic/tclIO.c: [Bug 3096275]: Sync fcopy buffers input. - -2011-08-18 Jan Nijtmans - - * generic/tclUniData.c: [Bug 3393714]: Overflow in toupper delta - * tools/uniParse.tcl: - * tests/utf.test: - -2011-08-17 Alexandre Ferrieux - - * generic/tclIO.c: [Bug 2946474]: Consistently resume backgrounded - * tests/ioCmd.test: flushes+closes when exiting. - -2011-08-17 Alexandre Ferrieux - - * doc/interp.n: Document TIP 378's one-way-ness. - -2011-08-17 Don Porter - - * generic/tclGet.c: [Bug 3393150]: Overlooked free of intreps. - (It matters for bignums!) - -2011-08-16 Don Porter - - * generic/tclCompile.c: [Bug 3392070]: More complete prevention of - Tcl_Obj reference cycles when producing an intrep of ByteCode. - -2011-08-16 Donal K. Fellows - - * generic/tclListObj.c (TclLindexList, TclLsetFlat): Silence warnings - about (unreachable) cases of uninitialized variables. - * generic/tclCmdIL.c (SelectObjFromSublist): Improve the generation of - * generic/tclIndexObj.c (Tcl_ParseArgsObjv): messages through the use - * generic/tclVar.c (ArrayStartSearchCmd): of Tcl_ObjPrintf. - -2011-08-15 Don Porter - - * generic/tclBasic.c: [Bug 3390272]: Leak of [info script] value. - -2011-08-15 Jan Nijtmans - - * generic/tclPosixStr.c: [Bug 3388350]: mingw64 compiler warnings - * win/tclWinPort.h: - * win/configure.in: - * win/configure: - -2011-08-14 Jan Nijtmans - - * doc/FindExec.3: [Patch 3124554]: Move WishPanic from Tk to Tcl - * doc/Panic.3 Added Documentation - -2011-08-12 Don Porter - - * generic/tclPathObj.c: [Bug 3389764]: Eliminate possibility that dup - of a "path" value can create reference cycle. - -2011-08-12 Donal K. Fellows - - * generic/tclZlib.c (ZlibTransformOutput): [Bug 3390073]: Return the - correct length of written data for a compressing transform. - -2011-08-10 Alexandre Ferrieux - - * generic/tclTestObj.c: [Bug 3386721]: Allow multiple [load]ing of the - Tcltest package. - -2011-08-09 Alexandre Ferrieux - - * generic/tclBasic.c: [Bug 2919042]: Restore "valgrindability" of Tcl - * generic/tclEvent.c: that was lost by the streamlining of [exit], by - * generic/tclExecute.c: conditionally forcing a full Finalize: - * generic/tclInt.h: use -DPURIFY or ::env(TCL_FINALIZE_ON_EXIT) - -2011-08-09 Alexandre Ferrieux - - * generic/tclCompCmds.c: [Bug 3386417]: Avoid a reference loop between - * generic/tclInt.h: the bytecode and its companion errostack - * generic/tclResult.c: when compiling a syntax error. - -2011-08-09 Jan Nijtmans - - * win/tclWinConsole.c: [Bug 3388350]: mingw64 compiler warnings - * win/tclWinDde.c: - * win/tclWinPipe.c: - * win/tclWinSerial.c: - -2011-08-09 Jan Nijtmans - - * generic/tclInt.h: Change the signature of TclParseHex(), such that - * generic/tclParse.c: it can now parse up to 8 hex characters. - -2011-08-08 Donal K. Fellows - - * generic/tclZlib.c (ZlibStreamCmd): Make the -buffersize option to - '$zstream add' function correctly instead of having its value just be - discarded unceremoniously. Also generate error codes from more of the - code, not just the low-level code but also the Tcl infrastructure. - -2011-08-07 Donal K. Fellows - - * generic/tclOOInfo.c (InfoClassCallCmd): [Bug 3387082]: Plug memory - leak in call chain introspection. - -2011-08-06 Kevin B, Kenny - - * generic/tclAssemnbly.c: [Bug 3384840]: Plug another memory leak. - * generic/tclStrToD.c: [Bug 3386975]: Plug another memory leak. - -2011-08-05 Kevin B. Kenny - - * generic/tclStrToD.c: [Bug 3386975]: Plugged a memory leak in - double->string conversion. - -2011-08-05 Don Porter - - *** 8.6b2 TAGGED FOR RELEASE *** - - * changes: Updates for 8.6b2 release. - -2011-08-05 Donal K. Fellows - - * generic/tclAssembly.c (AssembleOneLine): Ensure that memory isn't - leaked when an unknown instruction is encountered. Also simplify code - through use of Tcl_ObjPrintf in error message generation. - - * generic/tclZlib.c (ZlibTransformClose): [Bug 3386197]: Plug a memory - leak found by Miguel with valgrind, and ensure that the correct - direction's buffers are released. - -2011-08-04 Miguel Sofer - - * generic/tclVar.c (TclPtrSetVar): Fix valgrind-detected error when - newValuePtr is the interp's result obj. - -2011-08-04 Donal K. Fellows - - * generic/tclAssembly.c (FreeAssemblyEnv): [Bug 3384840]: Plug another - possible memory leak due to over-complex code for freeing the table of - labels. - -2011-08-04 Reinhard Max - - * generic/tclIOSock.c (TclCreateSocketAddress): Don't bother using - AI_ADDRCONFIG for now, as it was causing problems in various - situations. - -2011-08-04 Donal K. Fellows - - * generic/tclAssembly.c (AssembleOneLine, GetBooleanOperand) - (GetIntegerOperand, GetListIndexOperand, FindLocalVar): [Bug 3384840]: - A Tcl_Obj is allocated by GetNextOperand, so callers of it must not - hold a reference to one in the 'out' parameter when calling it. This - was causing a great many memory leaks. - * tests/assemble.test (assemble-51.*): Added group of memory leak - tests. - -2011-08-02 Don Porter - - * changes: Updates for 8.6b2 release. - * tools/tcltk-man2html.tcl: Variable substitution botch. - -2011-08-02 Donal K. Fellows - - * generic/tclObj.c (Tcl_DbIncrRefCount, Tcl_DbDecrRefCount) - (Tcl_DbIsShared): [Bug 3384007]: Fix the panic messages so they share - what should be shared and have the right number of spaces. - -2011-08-01 Miguel Sofer - - * generic/tclProc.c (TclProcCompileProc): [Bug 3383616]: Fix for leak - of resolveInfo when recompiling procs. Thanks go to Gustaf Neumann for - detecting the bug and providing the fix. - -2011-08-01 Donal K. Fellows - - * doc/tclvars.n (EXAMPLES): Added some examples of how some of the - standard global variables can be used, following prompting by a - request by Robert Hicks. - - * tools/tcltk-man2html.tcl (plus-pkgs): [Bug 3382474]: Added code to - determine the version number of contributed packages from their - directory names so that HTML documentation builds are less confusing. - -2011-07-29 Donal K. Fellows - - * tools/tcltk-man2html.tcl (ensemble_commands, remap_link_target): - Small enhancements to improve cross-linking with contributed packages. - * tools/tcltk-man2html-utils.tcl (insert-cross-references): Enhance to - cope with contributed packages' C API. - -2011-07-28 Reinhard Max - - * unix/tcl.m4 (SC_TCL_IPV6): Fix AC_DEFINE invocation for - NEED_FAKE_RFC2553. - * unix/configure: autoconf-2.59 - -2011-07-28 Don Porter - - * changes: Updates for 8.6b2 release. - - * library/tzdata/Asia/Anadyr: Update to Olson's tzdata2011h - * library/tzdata/Asia/Irkutsk: - * library/tzdata/Asia/Kamchatka: - * library/tzdata/Asia/Krasnoyarsk: - * library/tzdata/Asia/Magadan: - * library/tzdata/Asia/Novokuznetsk: - * library/tzdata/Asia/Novosibirsk: - * library/tzdata/Asia/Omsk: - * library/tzdata/Asia/Sakhalin: - * library/tzdata/Asia/Vladivostok: - * library/tzdata/Asia/Yakutsk: - * library/tzdata/Asia/Yekaterinburg: - * library/tzdata/Europe/Kaliningrad: - * library/tzdata/Europe/Moscow: - * library/tzdata/Europe/Samara: - * library/tzdata/Europe/Volgograd: - * library/tzdata/America/Kralendijk: (new) - * library/tzdata/America/Lower_Princes: (new) - -2011-07-26 Donal K. Fellows - - * generic/tclOO.c (initScript): Ensure that TclOO is properly found by - all the various package mechanisms (by adding a dummy ifneeded script) - and not just some of them. - -2011-07-21 Jan Nijtmans - - * win/tclWinPort.h: [Bug 3372130]: Fix hypot math function with MSVC10 - -2011-07-19 Don Porter - - * generic/tclUtil.c: [Bug 3371644]: Repair failure to properly handle - * tests/util.test: (length == -1) scanning in TclConvertElement(). - Thanks to Thomas Sader and Alexandre Ferrieux. - -2011-07-19 Donal K. Fellows - - * doc/*.3, doc/*.n: Many small fixes to documentation as part of - project to improve quality of generated HTML docs. - - * tools/tcltk-man2html.tcl (remap_link_target): More complete set of - definitions of link targets, especially for major C API types. - * tools/tcltk-man2html-utils.tcl (output-IP-list, cross-reference): - Update to generation to produce proper HTML bulleted and enumerated - lists. - -2011-07-19 Alexandre Ferrieux - - * doc/upvar.n: Undocument long gone limitation of [upvar]. - -2011-07-18 Don Porter - - * generic/tcl.h: Bump version number to 8.6b2. - * library/init.tcl: - * unix/configure.in: - * win/configure.in: - * unix/tcl.spec: - * tools/tcl.wse.in: - * README: - - * unix/configure: autoconf-2.59 - * win/configure: - -2011-07-15 Don Porter - - * generic/tclCompile.c: Avoid segfaults when RecordByteCodeStats() is - called in a deleted interp. - - * generic/tclCompile.c: [Bug 467523, 3357771]: Prevent circular - references in values with ByteCode intreps. They can lead to memory - leaks. - -2011-07-14 Donal K. Fellows - - * generic/tclOOCall.c (TclOORenderCallChain): [Bug 3365156]: Remove - stray refcount bump that caused a memory leak. - -2011-07-12 Don Porter - - * generic/tclUnixSock.c: [Bug 3364777]: Stop segfault caused by - reading from struct after it had been freed. - -2011-07-11 Joe Mistachkin - - * generic/tclExecute.c: [Bug 3339502]: Correct cast for CURR_DEPTH to - silence compiler warning. - -2011-07-08 Donal K. Fellows - - * doc/http.n: [FRQ 3358415]: State what RFC defines HTTP/1.1. - -2011-07-07 Miguel Sofer - - * generic/tclBasic.c: Add missing INT2PTR - -2011-07-03 Donal K. Fellows - - * doc/FileSystem.3: Corrected statements about ctime field of 'struct - stat'; that was always the time of the last metadata change, not the - time of creation. - -2011-07-02 Kevin B. Kenny - - * generic/tclStrToD.c: - * generic/tclTomMath.decls: - * generic/tclTomMathDecls.h: - * macosx/Tcl.xcode/project.pbxproj: - * macosx/Tcl.xcodeproj/project.pbxproj: - * tests/util.test: - * unix/Makefile.in: - * win/Makefile.in: - * win/Makefile.vc: - [Bug 3349507]: Fix a bug where bignum->double conversion is "round up" - and not "round to nearest" (causing expr double(1[string repeat 0 23]) - not to be 1e+23). - -2011-06-28 Reinhard Max - - * unix/tclUnixSock.c (CreateClientSocket): [Bug 3325339]: Fix and - simplify posting of the writable fileevent at the end of an - asynchronous connection attempt. Improve comments for some of the - trickery around [socket -async]. - - * tests/socket.test: Adjust tests to the async code changes. Add more - tests for corner cases of async sockets. - -2011-06-22 Andreas Kupries - - * library/platform/pkgIndex.tcl: Updated to platform 1.0.10. Added - * library/platform/platform.tcl: handling of the DEB_HOST_MULTIARCH - * unix/Makefile.in: location change for libc. - * win/Makefile.in: - - * generic/tclInt.h: Fixed the inadvertently committed disabling of - stack checks, see my 2010-11-15 commit. - -2011-06-22 Reinhard Max - - Merge from rmax-ipv6-branch: - * unix/tclUnixSock.c: Fix [socket -async], so that all addresses - returned by getaddrinfo() are tried, not just the first one. This - requires the event loop to be running while the async connection is in - progress. ***POTENTIAL INCOMPATIBILITY*** - * tests/socket.test: Add a test for the above. - * doc/socket: Document the fact that -async needs the event loop - * generic/tclIOSock.c: AI_ADDRCONFIG is broken on HP-UX - -2011-06-21 Don Porter - - * generic/tclLink.c: [Bug 3317466]: Prevent multiple links to a - single Tcl variable when calling Tcl_LinkVar(). - -2011-06-13 Don Porter - - * generic/tclStrToD.c: [Bug 3315098]: Mem leak fix from Gustaf - Neumann. - -2011-06-08 Andreas Kupries - - * generic/tclExecute.c: Reverted the fix for [Bug 3274728] committed - on 2011-04-06 and replaced with one which is 64bit-safe. The existing - fix crashed tclsh on Windows 64bit. - -2011-06-08 Donal K. Fellows - - * tests/fileSystem.test: Reduce the amount of use of duplication of - complex code to perform common tests, and convert others to do the - test result check directly using Tcltest's own primitives. - -2011-06-06 Jan Nijtmans - - * tests/socket.test: Add test constraint, so 6.2 and 6.3 don't fail - when the machine does not have support for ip6. Follow-up to checkin - from 2011-05-11 by rmax. - -2011-06-02 Don Porter - - * generic/tclBasic.c: Removed TclCleanupLiteralTable(), and old - * generic/tclInt.h: band-aid routine put in place while a fix for - * generic/tclLiteral.c: [Bug 994838] took shape. No longer needed. - -2011-06-02 Donal K. Fellows - - * generic/tclInt.h (TclInvalidateNsCmdLookup): [Bug 3185407]: Extend - the set of epochs that are potentially bumped when a command is - created, for a slight performance drop (in some circumstances) and - improved semantics. - -2011-06-01 Miguel Sofer - - * generic/tclBasic.c: Using the two free data elements in NRCommand to - store objc and objv - useful for debugging. - -2011-06-01 Jan Nijtmans - - * generic/tclUtil.c: Fix for [Bug 3309871]: Valgrind finds: invalid - read in TclMaxListLength(). - -2011-05-31 Don Porter - - * generic/tclInt.h: Use a complete growth algorithm for lists so - * generic/tclListObj.c: that length limits do not overconstrain by a - * generic/tclStringObj.c: factor of 2. [Bug 3293874]: Fix includes - * generic/tclUtil.c: rooting all growth routines by default on a - common tunable parameter TCL_MIN_GROWTH. - -2011-05-25 Don Porter - - * library/msgcat/msgcat.tcl: Bump to msgcat 1.4.4. - * library/msgcat/pkgIndex.tcl: - * unix/Makefile.in: - * win/Makefile.in: - -2011-05-25 Donal K. Fellows - - * generic/tclOO.h (TCLOO_VERSION): Bump version. - - IMPLEMENTATION OF TIP#381. - - * doc/next.n, doc/ooInfo.n, doc/self.n, generic/tclOO.c, - * generic/tclOOBasic.c, generic/tclOOCall.c, generic/tclOOInfo.c, - * generic/tclOOInt.h, tests/oo.test, tests/ooNext2.test: Added - introspection of call chains ([self call], [info object call], [info - class call]) and ability to skip ahead in chain ([nextto]). - -2011-05-24 Venkat Iyer - - * library/tzdata/Africa/Cairo: Update to Olson tzdata2011g - -2011-05-24 Donal K. Fellows - - * library/msgcat/msgcat.tcl (msgcat::mcset, msgcat::mcmset): Remove - some useless code; [dict set] builds dictionary levels for us. - -2011-05-17 Andreas Kupries - - * generic/tclCompile.c (TclFixupForwardJump): Tracked down and fixed - * generic/tclBasic.c (TclArgumentBCEnter): the cause of a violation of - my assertion that 'ePtr->nline == objc' in TclArgumentBCEnter. When a - bytecode was grown during jump fixup the pc -> command line mapping - was not updated. When things aligned just wrong the mapping would - direct command A to the data for command B, with a different number of - arguments. - -2011-05-11 Reinhard Max - - * unix/tclUnixSock.c (TcpWatchProc): No need to check for server - sockets here, as the generic server code already takes care of that. - * tests/socket.test (accept): Add tests to make sure that this remains - so. - -2011-05-10 Don Porter - - * generic/tclInt.h: New internal routines TclScanElement() and - * generic/tclUtil.c: TclConvertElement() are rewritten guts of - machinery to produce string rep of lists. The new routines avoid and - correct [Bug 3173086]. See comments for much more detail. - - * generic/tclDictObj.c: Update all callers. - * generic/tclIndexObj.c: - * generic/tclListObj.c: - * generic/tclUtil.c: - * tests/list.test: - -2011-05-09 Donal K. Fellows - - * generic/tclNamesp.c (NamespacePathCmd): Convert to use Tcl_Obj API - * generic/tclPkg.c (Tcl_PackageObjCmd): for result generation in - * generic/tclTimer.c (Tcl_AfterObjCmd): [after info], [namespace - path] and [package versions]. - -2011-05-09 Don Porter - - * generic/tclListObj.c: Revise empty string tests so that we avoid - potentially expensive string rep generations, especially for dicts. - -2011-05-07 Donal K. Fellows - - * generic/tclLoad.c (TclGetLoadedPackages): Convert to use Tcl_Obj API - for result generation. - -2011-05-07 Miguel Sofer - - * generic/tclInt.h: Fix USE_TCLALLOC so that it can be enabled without - * unix/Makefile.in: editing the Makefile. - -2011-05-05 Don Porter - - * generic/tclListObj.c: Stop generating string rep of dict when - converting to list. Tolerate NULL interps more completely. - -2011-05-03 Don Porter - - * generic/tclUtil.c: Tighten Tcl_SplitList(). - * generic/tclListObj.c: Tighten SetListFromAny(). - * generic/tclDictObj.c: Tighten SetDictFromAny(). - * tests/join.test: - * tests/mathop.test: - -2011-05-02 Don Porter - - * generic/tclCmdMZ.c: Revised TclFindElement() interface. The final - * generic/tclDictObj.c: argument had been bracePtr, the address of a - * generic/tclListObj.c: boolean var, where the caller can be told - * generic/tclParse.c: whether or not the parsed list element was - * generic/tclUtil.c: enclosed in braces. In practice, no callers - really care about that. What the callers really want to know is - whether the list element value exists as a literal substring of the - string being parsed, or whether a call to TclCopyAndCollpase() is - needed to produce the list element value. Now the final argument is - changed to do what callers actually need. This is a better fit for the - calls in tclParse.c, where now a good deal of post-processing checking - for "naked backslashes" is no longer necessary. - ***POTENTIAL INCOMPATIBILITY*** - For any callers calling in via the internal stubs table who really do - use the final argument explicitly to check for the enclosing brace - scenario. Simply looking for the braces where they must be is the - revision available to those callers, and it will backport cleanly. - - * tests/parse.test: Tests for expanded literals quoting detection. - - * generic/tclCompCmdsSZ.c: New TclFindElement() is also a better - fit for the [switch] compiler. - - * generic/tclInt.h: Replace TclCountSpaceRuns() with - * generic/tclListObj.c: TclMaxListLength() which is the function we - * generic/tclUtil.c: actually want. - * generic/tclCompCmdsSZ.c: - - * generic/tclCompCmdsSZ.c: Rewrite of parts of the switch compiler to - better use the powers of TclFindElement() and do less parsing on its - own. - -2011-04-28 Don Porter - - * generic/tclInt.h: New utility routines: - * generic/tclParse.c: TclIsSpaceProc() and TclCountSpaceRuns() - * generic/tclUtil.c: - - * generic/tclCmdMZ.c: Use new routines to replace calls to isspace() - * generic/tclListObj.c: and their /* INTL */ risk. - * generic/tclStrToD.c: - * generic/tclUtf.c: - * unix/tclUnixFile.c: - - * generic/tclStringObj.c: Improved reaction to out of memory. - -2011-04-27 Don Porter - - * generic/tclCmdMZ.c: TclFreeIntRep() correction & cleanup. - * generic/tclExecute.c: - * generic/tclIndexObj.c: - * generic/tclInt.h: - * generic/tclListObj.c: - * generic/tclNamesp.c: - * generic/tclResult.c: - * generic/tclStringObj.c: - * generic/tclVar.c: - - * generic/tclListObj.c: FreeListInternalRep() cleanup. - -2011-04-21 Don Porter - - * generic/tclInt.h: Use macro to set List intreps. - * generic/tclListObj.c: - - * generic/tclCmdIL.c: Limits on list length were too strict. - * generic/tclInt.h: Revised panics to errors where possible. - * generic/tclListObj.c: - * tests/lrepeat.test: - - * generic/tclCompile.c: Make sure SetFooFromAny routines react - * generic/tclIO.c: reasonably when passed a NULL interp. - * generic/tclIndexObj.c: - * generic/tclListObj.c: - * generic/tclNamesp.c: - * generic/tclObj.c: - * generic/tclProc.c: - * macosx/tclMacOSXFCmd.c: - -2011-04-21 Jan Nijtmans - - * generic/tcl.h: fix for [Bug 3288345]: Wrong Tcl_StatBuf - * generic/tclInt.h: used on MinGW. Make sure that all _WIN32 - * win/tclWinFile.c: compilers use exactly the same layout - * win/configure.in: for Tcl_StatBuf - the one used by MSVC6 - - * win/configure: in all situations. - -2011-04-19 Don Porter - - * generic/tclConfig.c: Reduce internals access in the implementation - of [::pkgconfig list]. - -2011-04-18 Don Porter - - * generic/tclCmdIL.c: Use ListRepPtr(.) and other cleanup. - * generic/tclConfig.c: - * generic/tclListObj.c: - - * generic/tclInt.h: Define and use macros that test whether a Tcl - * generic/tclBasic.c: list value is canonical. - * generic/tclUtil.c: - -2011-04-18 Donal K. Fellows - - * doc/dict.n: [Bug 3288696]: Command summary was confusingly wrong - when it came to [dict filter] with a 'value' filter. - -2011-04-16 Donal K. Fellows - - * generic/tclFCmd.c (TclFileAttrsCmd): Add comments to make this code - easier to understand. Added a panic to handle the case where the VFS - layer does something odd. - -2011-04-13 Don Porter - - * generic/tclUtil.c: [Bug 3285375]: Rewrite of Tcl_Concat*() - routines to prevent segfaults on buffer overflow. Build them out of - existing primitives already coded to handle overflow properly. Uses - the new TclTrim*() routines. - - * generic/tclCmdMZ.c: New internal utility routines TclTrimLeft() - * generic/tclInt.h: and TclTrimRight(). Refactor the - * generic/tclUtil.c: [string trim*] implementations to use them. - -2011-04-13 Miguel Sofer - - * generic/tclVar.c: [Bug 2662380]: Fix crash caused by appending to a - variable with a write trace that unsets it. - -2011-04-13 Donal K. Fellows - - * generic/tclUtil.c (Tcl_ConcatObj): [Bug 3285375]: Make the crash - less mysterious through the judicious use of a panic. Not yet properly - fixed, but at least now clearer what the failure mode is. - -2011-04-12 Don Porter - - * tests/string.test: Test for [Bug 3285472]. Not buggy in trunk. - -2011-04-12 Venkat Iyer - - * library/tzdata/Atlantic/Stanley: Update to Olson tzdata2011f - -2011-04-12 Miguel Sofer - - * generic/tclBasic.c: Fix for [Bug 2440625], kbk's patch - -2011-04-11 Miguel Sofer - - * generic/tclBasic.c: - * tests/coroutine.test: [Bug 3282869]: Ensure that 'coroutine eval' - runs the initial command in the proper context. - -2011-04-11 Jan Nijtmans - - * generic/tcl.h: Fix for [Bug 3281728]: Tcl sources from 2011-04-06 - * unix/tcl.m4: do not build on GCC9 (RH9) - * unix/configure: - -2011-04-08 Jan Nijtmans - - * win/tclWinPort.h: Fix for [Bug 3280043]: win2k: unresolved DLL - * win/configure.in: imports. - * win/configure - -2011-04-06 Miguel Sofer - - * generic/tclExecute.c (TclCompileObj): Earlier return if Tip280 - gymnastics not needed. - - * generic/tclExecute.c: Fix for [Bug 3274728]: making *catchTop an - unsigned long. - -2011-04-06 Jan Nijtmans - - * unix/tclAppInit.c: Make symbols "main" and "Tcl_AppInit" - MODULE_SCOPE: there is absolutely no reason for exporting them. - * unix/tcl.m4: Don't use -fvisibility=hidden with static - * unix/configure libraries (--disable-shared) - -2011-04-06 Donal K. Fellows - - * generic/tclFCmd.c, macosx/tclMacOSXFCmd.c, unix/tclUnixChan.c, - * unix/tclUnixFCmd.c, win/tclWinChan.c, win/tclWinDde.c, - * win/tclWinFCmd.c, win/tclWinLoad.c, win/tclWinPipe.c, - * win/tclWinReg.c, win/tclWinSerial.c, win/tclWinSock.c: More - generation of error codes (most platform-specific parts not already - using Tcl_PosixError). - -2011-04-05 Venkat Iyer - - * library/tzdata/Africa/Casablanca: Update to Olson's tzdata2011e - * library/tzdata/America/Santiago: - * library/tzdata/Pacific/Easter: - * library/tzdata/America/Metlakatla: (new) - * library/tzdata/America/North_Dakota/Beulah: (new) - * library/tzdata/America/Sitka: (new) - -2011-04-04 Donal K. Fellows - - * generic/tclOO.c, generic/tclOOBasic.c, generic/tclOODefineCmds.c - * generic/tclOOInfo.c, generic/tclOOMethod.c: More generation of - error codes (TclOO miscellany). - - * generic/tclCmdAH.c, generic/tclCmdIL.c: More generation of error - codes (miscellaneous commands mostly already handled). - -2011-04-04 Don Porter - - * README: [Bug 3202030]: Updated README files, repairing broken - * macosx/README:URLs and removing other bits that were clearly wrong. - * unix/README: Still could use more eyeballs on the detailed build - * win/README: advice on various plaforms. - -2011-04-04 Donal K. Fellows - - * library/init.tcl (tcl::mathfunc::rmmadwiw): Disable by default to - make test suite work. - - * generic/tclBasic.c, generic/tclStringObj.c, generic/tclTimer.c, - * generic/tclTrace.c, generic/tclUtil.c: More generation of error - codes ([format], [after], [trace], RE optimizer). - -2011-04-04 Jan Nijtmans - - * generic/tclCmdAH.c: Better error-message in case of errors - * generic/tclCmdIL.c: related to setting a variable. This fixes - * generic/tclDictObj.c: a warning: "Why make your own error - * generic/tclScan.c: message? Why?" - * generic/tclTest.c: - * test/error.test: - * test/info.test: - * test/scan.test: - * unix/tclUnixThrd.h: Remove this unused header file. - -2011-04-03 Donal K. Fellows - - * generic/tclNamesp.c, generic/tclObj.c, generic/tclPathObj.c: - * generic/tclPipe.c, generic/tclPkg.c, generic/tclProc.c: - * generic/tclScan.c: More generation of error codes (namespace - creation, path normalization, pipeline creation, package handling, - procedures, [scan] formats) - -2011-04-02 Kevin B. Kenny - - * generic/tclStrToD.c (QuickConversion): Replaced another couple - of 'double' declarations with 'volatile double' to work around - misrounding issues in mingw-gcc 3.4.5. - -2011-04-02 Donal K. Fellows - - * generic/tclInterp.c, generic/tclListObj.c, generic/tclLoad.c: - More generation of errorCodes ([interp], [lset], [load], [unload]). - - * generic/tclEvent.c, generic/tclFileName.c: More generation of - errorCode information (default [bgerror] and [glob]). - -2011-04-01 Reinhard Max - - * library/init.tcl: TIP#131 implementation. - -2011-03-31 Donal K. Fellows - - * generic/tclGetDate.y, generic/tclDate.c (TclClockOldscanObjCmd): - More generation of errorCode information. - -2011-03-28 Donal K. Fellows - - * generic/tclCmdMZ.c, generic/tclConfig.c, generic/tclUtil.c: More - generation of errorCode information, notably when lists are mis-parsed - - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd, Tcl_RegsubObjCmd): Use the - error messages generated by the variable management code rather than - creating our own. - -2011-03-27 Miguel Sofer - - * generic/tclBasic.c (TclNREvalObjEx): fix performance issue, notably - apparent in tclbench's "LIST lset foreach". Many thanks to Twylite for - patiently researching the issue and explaining it to me: a missing - Tcl_ResetObjResult that causes unwanted sharing of the current result - Tcl_Obj. - -2011-03-26 Donal K. Fellows - - * generic/tclNamesp.c (Tcl_Export, Tcl_Import, DoImport): More - generation of errorCode information. - - * generic/tclCompExpr.c, generic/tclCompile.c, generic/tclExecute.c: - * generic/tclListObj.c, generic/tclNamesp.c, generic/tclObj.c: - * generic/tclStringObj.c, generic/tclUtil.c: Reduce the number of - casts used to manage Tcl_Obj internal representations. - -2011-03-24 Don Porter - - * generic/tcl.h (ckfree,etc.): Restored C++ usability to the memory - allocation and free macros. - -2011-03-24 Donal K. Fellows - - * generic/tclFCmd.c (TclFileAttrsCmd): Ensure that any reference to - temporary index tables is squelched immediately rather than hanging - around to trip us up in the future. - -2011-03-23 Miguel Sofer - - * generic/tclObj.c: Exploit HAVE_FAST_TSD for the deletion context in - TclFreeObj() - -2011-03-22 Miguel Sofer - - * generic/tclThreadAlloc.c: Simpler initialization of Cache under - HAVE_FAST_TSD, from mig-alloc-reform. - -2011-03-21 Jan Nijtmans - - * unix/tclLoadDl.c: [Bug 3216070]: Loading extension libraries - * unix/tclLoadDyld.c: from embedded Tcl applications. - ***POTENTIAL INCOMPATIBILITY*** - For extensions which rely on symbols from other extensions being - present in the global symbol table. For an example and some discussion - of workarounds, see http://stackoverflow.com/q/8330614/301832 - -2011-03-21 Miguel Sofer - - * generic/tclCkAlloc.c: - * generic/tclInt.h: Remove one level of allocator indirection in - non-memdebug builds, imported from mig-alloc-reform. - -2011-03-20 Miguel Sofer - - * generic/tclThreadAlloc.c: Imported HAVE_FAST_TSD support from - mig-alloc-reform. The feature has to be enabled by hand: no autoconf - support has been added. It is not clear how universal a build using - this will be: it also requires some loader support. - -2011-03-17 Donal K. Fellows - - * generic/tclCompExpr.c (ParseExpr): Generate errorCode information on - failure to parse expressions. - -2011-03-17 Jan Nijtmans - - * generic/tclMain.c: [Patch 3124683]: Reorganize the platform-specific - stuff in (tcl|tk)Main.c. - -2011-03-16 Jan Nijtmans - - * generic/tclCkalloc.c: [Bug 3197864]: Pointer truncation on Win64 - TCL_MEM_DEBUG builds. - -2011-03-16 Don Porter - - * generic/tclBasic.c: Some rewrites to eliminate calls to isspace() - * generic/tclParse.c: and their /* INTL */ risk. - * generic/tclProc.c: - -2011-03-16 Jan Nijtmans - - * unix/tcl.m4: Make SHLIB_LD_LIBS='${LIBS}' the default and - * unix/configure: set to "" on per-platform necessary basis. - Backported from TEA, but kept all original platform code which was - removed from TEA. - -2011-03-14 Kevin B. Kenny - - * tools/tclZIC.tcl (onDayOfMonth): Allow for leading zeroes in month - and day so that tzdata2011d parses correctly. - * library/tzdata/America/Havana: - * library/tzdata/America/Juneau: - * library/tzdata/America/Santiago: - * library/tzdata/Europe/Istanbul: - * library/tzdata/Pacific/Apia: - * library/tzdata/Pacific/Easter: - * library/tzdata/Pacific/Honolulu: tzdata2011d - - * generic/tclAssembly.c (BBEmitInstInt1): Changed parameter data types - in an effort to silence a MSVC warning reported by Ashok P. Nadkarni. - Unable to test, since both forms work on my machine in VC2005, 2008, - 2010, in both release and debug builds. - * tests/tclTest.c (TestdstringCmd): Restored MSVC buildability broken - by [5574bdd262], which changed the effective return type of 'ckalloc' - from 'char*' to 'void*'. - -2011-03-13 Miguel Sofer - - * generic/tclExecute.c: remove TEBCreturn() - -2011-03-12 Donal K. Fellows - - * generic/tcl.h (ckalloc,ckfree,ckrealloc): Moved casts into these - macro so that they work with VOID* (which is a void* on all platforms - which Tcl actually builds on) and unsigned int for the length - parameters, removing the need for MANY casts across the rest of Tcl. - Note that this is a strict source-level-only change, so size_t cannot - be used (would break binary compatibility on 64-bit platforms). - -2011-03-12 Jan Nijtmans - - * win/tclWinFile.c: [Bug 3185609]: File normalization corner case - of ... broken with -DUNICODE - -2011-03-11 Donal K. Fellows - - * tests/unixInit.test: Make better use of tcltest2. - -2011-03-10 Donal K. Fellows - - * generic/tclBasic.c, generic/tclCompCmds.c, generic/tclEnsemble.c: - * generic/tclInt.h, generic/tclNamesp.c, library/auto.tcl: - * tests/interp.test, tests/namespace.test, tests/nre.test: - Converted the [namespace] command into an ensemble. This has the - consequence of making it vital for Tcl code that wishes to work with - namespaces to _not_ delete the ::tcl namespace. - ***POTENTIAL INCOMPATIBILITY*** - - * library/tcltest/tcltest.tcl (loadIntoSlaveInterpreter): Added this - command to handle connecting tcltest to a slave interpreter. This adds - in the hook (inside the tcltest namespace) that allows the tests run - in the child interpreter to be reported as part of the main sequence - of test results. Bumped version of tcltest to 2.3.3. - * tests/init.test, tests/package.test: Adapted these test files to use - the new feature. - - * generic/tclAlloc.c, generic/tclCmdMZ.c, generic/tclCompExpr.c: - * generic/tclCompile.c, generic/tclEnv.c, generic/tclEvent.c: - * generic/tclIO.c, generic/tclIOCmd.c, generic/tclIORChan.c: - * generic/tclIORTrans.c, generic/tclLiteral.c, generic/tclNotify.c: - * generic/tclParse.c, generic/tclStringObj.c, generic/tclUtil.c: - * generic/tclZlib.c, unix/tclUnixFCmd.c, unix/tclUnixNotfy.c: - * unix/tclUnixPort.h, unix/tclXtNotify.c: Formatting fixes, mainly to - comments, so code better fits the style in the Engineering Manual. - -2011-03-09 Donal K. Fellows - - * tests/incr.test: Update more of the test suite to use Tcltest 2. - -2011-03-09 Don Porter - - * generic/tclNamesp.c: [Bug 3202171]: Tighten the detector of nested - * tests/namespace.test: [namespace code] quoting that the quoted - scripts function properly even in a namespace that contains a custom - "namespace" command. - - * doc/tclvars.n: Formatting fix. Thanks to Pat Thotys. - -2011-03-09 Donal K. Fellows - - * tests/dstring.test, tests/init.test, tests/link.test: Update more of - the test suite to use Tcltest 2. - -2011-03-08 Jan Nijtmans - - * generic/tclBasic.c: Fix gcc warnings: variable set but not used - * generic/tclProc.c: - * generic/tclIORChan.c: - * generic/tclIORTrans.c: - * generic/tclAssembly.c: Fix gcc warning: comparison between signed - and unsigned integer expressions - -2011-03-08 Don Porter - - * generic/tclInt.h: Remove TclMarkList() routine, an experimental - * generic/tclUtil.c: dead-end from the 8.5 alpha days. - - * generic/tclResult.c (ResetObjResult): [Bug 3202905]: Correct failure - to clear invalid intrep. Thanks to Colin McDonald. - -2011-03-08 Donal K. Fellows - - * generic/tclAssembly.c, tests/assemble.test: Migrate to use a style - more consistent with the rest of Tcl. - -2011-03-06 Don Porter - - * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() calls - * generic/tclCompile.c: with TclParseBackslash() where possible. - * generic/tclCompCmdsSZ.c: - * generic/tclParse.c: - * generic/tclUtil.c: - - * generic/tclUtil.c (TclFindElement): [Bug 3192636]: Guard escape - sequence scans to not overrun the string end. - -2011-03-05 Don Porter - - * generic/tclParse.c (TclParseBackslash): [Bug 3200987]: Correct - * tests/parse.test: trunction checks in \x and \u substitutions. - -2011-03-05 Miguel Sofer - - * generic/tclExecute.c (TclStackFree): insure that the execStack - satisfies "at most one free stack after the current one" when - consecutive reallocs caused the creation of intervening stacks. - -2011-03-05 Kevin B. Kenny - - * generic/tclAssembly.c (new file): - * generic/tclBasic.c (Tcl_CreateInterp): - * generic/tclInt.h: - * tests/assemble.test (new file): - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: Merged dogeen-assembler-branch into HEAD. Since - all functional changes are in the tcl::unsupported namespace, there's - no reason to sequester this code on a separate branch. - -2011-03-05 Miguel Sofer - - * generic/tclExecute.c: Cleaner mem management for TEBCdata - - * generic/tclExecute.c: - * tests/nre.test: Renamed BottomData to TEBCdata, so that the name - refers to what it is rather than to its storage location. - - * generic/tclBasic.c: Renamed struct TEOV_callback to the more - * generic/tclCompExpr.c: descriptive NRE_callback. - * generic/tclCompile.c: - * generic/tclExecute.c: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclTest.c: - -2011-03-04 Donal K. Fellows - - * generic/tclOOMethod.c (ProcedureMethodCompiledVarConnect) - (ProcedureMethodCompiledVarDelete): [Bug 3185009]: Keep references to - resolved object variables so that an unset doesn't leave any dangling - pointers for code to trip over. - -2011-03-01 Miguel Sofer - - * generic/tclBasic.c (TclNREvalObjv): Missing a variable declaration - in commented out non-optimised code, left for ref in checkin - [b97b771b6d] - -2011-03-03 Don Porter - - * generic/tclResult.c (Tcl_AppendResultVA): Use the directive - USE_INTERP_RESULT [TIP 330] to force compat with interp->result - access, instead of the improvised hack USE_DIRECT_INTERP_RESULT_ACCESS - from releases past. - -2011-03-01 Miguel Sofer - - * generic/tclCompCmdsSZ.c (TclCompileThrowCmd, TclCompileUnsetCmd): - fix leaks - - * generic/tclBasic.c: This is [Patch 3168398], - * generic/tclCompCmdsSZ.c: Joe Mistachkin's optimisation - * generic/tclExecute.c: of Tip #285 - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclInterp.c: - * generic/tclOODecls.h: - * generic/tclStubInit.c: - * win/makefile.vc: - - * generic/tclExecute.c (ExprObjCallback): Fix object leak - - * generic/tclExecute.c (TEBCresume): Store local var array and - constants in automatic vars to reduce indirection, slight perf - increase - - * generic/tclOOCall.c (TclOODeleteContext): Added missing '*' so that - trunk compiles. - - * generic/tclBasic.c (TclNRRunCallbacks): [Patch 3168229]: Don't do - the trampoline dance for commands that do not have an nreProc. - -2011-03-01 Donal K. Fellows - - * generic/tclOO.c (Tcl_NewObjectInstance, TclNRNewObjectInstance) - (TclOOObjectCmdCore, FinalizeObjectCall): - * generic/tclOOBasic.c (TclOO_Object_Destroy, AfterNRDestructor): - * generic/tclOOCall.c (TclOODeleteContext, TclOOGetCallContext): - Reorganization of call context reference count management so that code - is (mostly) simpler. - -2011-01-26 Donal K. Fellows - - * doc/RegExp.3: [Bug 3165108]: Corrected documentation of description - of subexpression info in Tcl_RegExpInfo structure. - -2011-01-25 Jan Nijtmans - - * generic/tclPreserve.c: Don't miss 64-bit address bits in panic - message. - * win/tclWinChan.c: Fix various gcc-4.5.2 64-bit warning - * win/tclWinConsole.c: messages, e.g. by using full 64-bits for - * win/tclWinDde.c: socket fd's - * win/tclWinPipe.c: - * win/tclWinReg.c: - * win/tclWinSerial.c: - * win/tclWinSock.c: - * win/tclWinThrd.c: - -2011-01-19 Jan Nijtmans - - * tools/genStubs.tcl: [FRQ 3159920]: Tcl_ObjPrintf() crashes with - * generic/tcl.decls bad format specifier. - * generic/tcl.h: - * generic/tclDecls.h: - -2011-01-18 Donal K. Fellows - - * generic/tclOOMethod.c (PushMethodCallFrame): [Bug 3001438]: Make - sure that the cmdPtr field of the procPtr is correct and relevant at - all times so that [info frame] can report sensible information about a - frame after a return to it from a recursive call, instead of probably - crashing (depending on what else has overwritten the Tcl stack!) - -2011-01-18 Jan Nijtmans - - * generic/tclBasic.c: Various mismatches between Tcl_Panic - * generic/tclCompCmds.c: format string and its arguments, - * generic/tclCompCmdsSZ.c: discovered thanks to [Bug 3159920] - * generic/tclCompExpr.c: - * generic/tclEnsemble.c: - * generic/tclPreserve.c: - * generic/tclTest.c: - -2011-01-17 Jan Nijtmans - - * generic/tclIOCmd.c: [Bug 3148192]: Commands "read/puts" incorrectly - * tests/chanio.test: interpret parameters. Improved error-message - * tests/io.test regarding legacy form. - * tests/ioCmd.test - -2011-01-15 Kevin B. Kenny - - * doc/tclvars.n: - * generic/tclStrToD.c: - * generic/tclUtil.c (Tcl_PrintDouble): - * tests/util.test (util-16.*): [Bug 3157475]: Restored full Tcl 8.4 - compatibility for the formatting of floating point numbers when - $::tcl_precision is not zero. Added compatibility tests to make sure - that excess trailing zeroes are suppressed for all eight major code - paths. - -2011-01-12 Jan Nijtmans - - * win/tclWinFile.c: Use _vsnprintf in stead of vsnprintf, because - MSVC 6 doesn't have it. Reported by andreask. - * win/tcl.m4: handle --enable-64bit=ia64 for gcc - * win/configure.in: more accurate test for correct - * win/configure: (autoconf-2.59) - * win/tclWin32Dll.c: VS 2005 64-bit does not have intrin.h, and - * generic/tclPanic.c: does not need it. - -2011-01-07 Kevin B. Kenny - - * tests/util.test (util-15.*): Added test cases for floating point - conversion of the largest denormal and the smallest normal number, to - avoid any possibility of the failure suffered by PHP in the last - couple of days. (They didn't fail, so no actual functional change.) - -2011-01-05 Donal K. Fellows - - * tests/package.test, tests/pkg.test: Coalesce these tests into one - file that is concerned with the package system. Convert to use - tcltest2 properly. - * tests/autoMkindex.test, tests/pkgMkIndex.test: Convert to use - tcltest2 properly. - -2011-01-01 Donal K. Fellows - - * tests/cmdAH.test, tests/cmdMZ.test, tests/compExpr.test, - * tests/compile.test, tests/concat.test, tests/eval.test, - * tests/fileName.test, tests/fileSystem.test, tests/interp.test, - * tests/lsearch.test, tests/namespace-old.test, tests/namespace.test, - * tests/oo.test, tests/proc.test, tests/security.test, - * tests/switch.test, tests/unixInit.test, tests/var.test, - * tests/winDde.test, tests/winPipe.test: Clean up of tests and - conversion to tcltest 2. Target has been to get init and cleanup code - out of the test body and into the -setup/-cleanup stanzas. - - * tests/execute.test (execute-11.1): [Bug 3142026]: Added test that - fails (with a crash) in an unfixed memdebug build on 64-bit systems. - -2010-12-31 Donal K. Fellows - - * generic/tclCmdIL.c (SortElement): Use unions properly in the - definition of this structure so that there is no need to use nasty - int/pointer type punning. Made it clearer what the purposes of the - various parts of the structure are. - -2010-12-31 Jan Nijtmans - - * unix/dltest/*.c: [Bug 3148192]: Fix broken [load] tests by ensuring - that the affected files are never compiled with -DSTATIC_BUILD. - -2010-12-30 Miguel Sofer - - * generic/tclExecute.c (GrowEvaluationStack): Off-by-one error in - sizing the new allocation - was ok in comment but wrong in the code. - Triggered by [Bug 3142026] which happened to require exactly one more - than what was in existence. - -2010-12-26 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fix crash when multiple -index - options are used. Simplified memory handling logic. - -2010-12-20 Jan Nijtmans - - * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1 - tdm64-1: completed for all environments. - -2010-12-20 Jan Nijtmans - - * win/configure.in: Explicitely test for intrinsics support in - compiler, before assuming only MSVC has it. - * win/configure: (autoconf-2.59) - * generic/tclPanic.c: - -2010-12-19 Jan Nijtmans - - * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1 - tdm64-1: Fixed for gcc, not yet for MSVC 64-bit. - -2010-12-17 Stuart Cassoff - - * unix/Makefile.in: Remove unwanted/obsolete 'ddd' target. - -2010-12-17 Stuart Cassoff - - * unix/Makefile.in: Clean up '.PHONY:' targets: Arrange those - common to Tcl and Tk as in Tk's Makefile.in, - add any missing ones and remove duplicates. - -2010-12-17 Stuart Cassoff - - * unix/Makefile.in: [Bug 2446711]: Remove 'allpatch' target. - -2010-12-17 Stuart Cassoff - - * unix/Makefile.in: [Bug 2537626]: Use 'rpmbuild', not 'rpm'. - -2010-12-16 Jan Nijtmans - - * generic/tclPanic.c: [Patch 3124554]: Move WishPanic from Tk to Tcl - * win/tclWinFile.c: Better communication with debugger, if present. - -2010-12-15 Kevin B. Kenny - - [dogeen-assembler-branch] - - * tclAssembly.c: - * assemble.test: Reworked beginCatch/endCatch handling to - enforce the more severe (but more correct) restrictions on catch - handling that appeared in the discussion of [Bug 3098302] and in - tcl-core traffic beginning about 2010-10-29. - -2010-12-15 Jan Nijtmans - - * generic/tclPanic.c: Restore abort() as it was before. - * win/tclWinFile.c: [Patch 3124554]: Use ExitProcess() here, like - in wish. - -2010-12-14 Jan Nijtmans - - * generic/tcl.h: [Bug 3137454]: Tcl CVS HEAD does not build on GCC 3. - -2010-12-14 Reinhard Max - - * win/tclWinSock.c (CreateSocket): Swap the loops over - * unix/tclUnixSock.c (CreateClientSocket): local and remote addresses, - so that the system's address preference for the remote side decides - which family gets tried first. Cleanup and clarify some of the - comments. - -2010-12-13 Jan Nijtmans - - * generic/tcl.h: [Bug 3135271]: Link error due to hidden - * unix/tcl.m4: symbols (CentOS 4.2) - * unix/configure: (autoconf-2.59) - * win/tclWinFile.c: Undocumented feature, only meant to be used by - Tk_Main. See [Patch 3124554]: Move WishPanic from Tk to Tcl - -2010-12-12 Stuart Cassoff - - * unix/tcl.m4: Better building on OpenBSD. - * unix/configure: (autoconf-2.59) - -2010-12-10 Jan Nijtmans - - * generic/tcl.h: [Bug 3129448]: Possible over-allocation on - * generic/tclCkalloc.c: 64-bit platforms, part 2 - * generic/tclCompile.c: - * generic/tclHash.c: - * generic/tclInt.h: - * generic/tclIO.h: - * generic/tclProc.c: - -2010-12-10 Alexandre Ferrieux - - * generic/tclIO.c: Make sure [fcopy -size ... -command ...] always - * tests/io.test: calls the callback asynchronously, even for size - zero. - -2010-12-10 Jan Nijtmans - - * generic/tclBinary.c: Fix gcc -Wextra warning: missing initializer - * generic/tclCmdAH.c: - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclDictObj.c: - * generic/tclIndexObj.c: - * generic/tclIOCmd.c: - * generic/tclVar.c: - * win/tcl.m4: Fix manifest-generation for 64-bit gcc - (mingw-w64) - * win/configure.in: Check for availability of intptr_t and - uintptr_t - * win/configure: (autoconf-2.59) - * generic/tclInt.decls: Change 1st param of TclSockMinimumBuffers - * generic/tclIntDecls.h: to ClientData, and TclWin(Get|Set)SockOpt - * generic/tclIntPlatDecls.h:to SOCKET, because on Win64 those are - * generic/tclIOSock.c: 64-bit, which does not fit. - * win/tclWinSock.c: - * unix/tclUnixSock.c: - -2010-12-09 Donal K. Fellows - - * tests/fCmd.test: Improve sanity of constraints now that we don't - support anything before Windows 2000. - - * generic/tclCmdAH.c (TclInitFileCmd, TclMakeFileCommandSafe, ...): - Break up [file] into an ensemble. Note that the ensemble is safe in - itself, but the majority of its subcommands are not. - * generic/tclFCmd.c (FileCopyRename,TclFileDeleteCmd,TclFileAttrsCmd) - (TclFileMakeDirsCmd): Adjust these subcommand implementations to work - inside an ensemble. - (TclFileLinkCmd, TclFileReadLinkCmd, TclFileTemporaryCmd): Move these - subcommand implementations from tclCmdAH.c, where they didn't really - belong. - * generic/tclIOCmd.c (TclChannelNamesCmd): Move to more appropriate - source file. - * generic/tclEnsemble.c (TclMakeEnsemble): Start of code to make - partially-safe ensembles. Currently does not function as expected due - to various shortcomings in how safe interpreters are constructed. - * tests/cmdAH.test, tests/fCmd.test, tests/interp.test: Test updates - to take into account systematization of error messages. - - * tests/append.test, tests/appendComp.test: Clean up tests so that - they don't leave things in the global environment (detected when doing - -singleproc testing). - -2010-12-07 Donal K. Fellows - - * tests/fCmd.test, tests/safe.test, tests/uplevel.test, - * tests/upvar.test, tests/var.test: Convert more tests to tcltest2 and - factor them to be easier to understand. - - * generic/tclStrToD.c: Tidy up code so that more #ifdef-fery is - quarantined at the front of the file and function headers follow the - modern Tcl style. - -2010-12-06 Jan Nijtmans - - * generic/tclBinary.c: [Bug 3129448]: Possible over-allocation on - * generic/tclCkalloc.c: 64-bit platforms. - * generic/tclTrace.c: - -2010-12-05 Jan Nijtmans - - * unix/tcl.m4: [Patch 3116490]: Cross-compile support for unix - * unix/configure: (autoconf-2.59) - -2010-12-03 Jeff Hobbs - - * generic/tclUtil.c (TclReToGlob): Add extra check for multiple inner - *s that leads to poor recursive glob matching, defer to original RE - instead. tclbench RE var backtrack. - -2010-12-03 Jan Nijtmans - - * generic/tclUtil.c: Silence gcc warning when using -Wwrite-strings - * generic/tclStrToD.c: Silence gcc warning for non-IEEE platforms - * win/Makefile.in: [Patch 3116490]: Cross-compile Tcl mingw32 on unix - * win/tcl.m4: This makes it possible to cross-compile Tcl/Tk for - * win/configure.in: Windows (either 32-bit or 64-bit) out-of-the-box - * win/configure: on UNIX, using mingw-w64 build tools (If Itcl, - tdbc and Thread take over the latest tcl.m4, they can do that too). - -2010-12-01 Kevin B. Kenny - - * generic/tclStrToD.c (SetPrecisionLimits, TclDoubleDigits): - [Bug 3124675]: Added meaningless initialization of 'i', 'ilim' and - 'ilim1' to silence warnings from the C compiler about possible use of - uninitialized variables, Added a panic to the 'switch' that assigns - them, to assert that the 'default' case is impossible. - -2010-12-01 Jan Nijtmans - - * generic/tclBasic.c: Fix gcc 64-bit warnings: cast from pointer to - * generic/tclHash.c: integer of different size. - * generic/tclTest.c: - * generic/tclThreadTest.c: - * generic/tclStrToD.c: Fix gcc(-4.5.2) warning: 'static' is not at - beginning of declaration. - * generic/tclPanic.c: Allow Tcl_Panic() to enter the debugger on win32 - * generic/tclCkalloc.c: Use Tcl_Panic() in stead of duplicating the - code. - -2010-11-30 Jeff Hobbs - - * generic/tclInt.decls, generic/tclInt.h, generic/tclIntDecls.h: - * generic/tclStubInit.c: TclFormatInt restored at slot 24 - * generic/tclUtil.c (TclFormatInt): restore TclFormatInt func from - 2005-07-05 macro-ization. Benchmarks indicate it is faster, as a key - int->string routine (e.g. int-indexed arrays). - -2010-11-29 Alexandre Ferrieux - - * generic/tclBasic.c: Patch by Miguel, providing a - [::tcl::unsupported::inject coroname command args], which prepends - ("injects") arbitrary code to a suspended coro's future resumption. - Neat for debugging complex coros without heavy instrumentation. - -2010-11-29 Kevin B. Kenny - - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclStrToD.c: - * generic/tclTest.c: - * generic/tclTomMath.decls: - * generic/tclUtil.c: - * tests/util.test: - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: Rewrite of Tcl_PrintDouble and TclDoubleDigits that - (a) fixes a severe performance problem with floating point shimmering - reported by Karl Lehenbauer, (b) allows TclDoubleDigits to generate - the digit strings for 'e' and 'f' format, so that it can be used for - tcl_precision != 0 (and possibly later for [format]), (c) fixes [Bug - 3120139] by making TclPrintDouble inherently locale-independent, (d) - adds test cases to util.test for correct rounding in difficult cases - of TclDoubleDigits where fixed- precision results are requested. (e) - adds test cases to util.test for the controversial aspects of [Bug - 3105247]. As a side effect, two more modules from libtommath - (bn_mp_set_int.c and bn_mp_init_set_int.c) are brought into the build, - since the new code uses them. - - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - * generic/tclTomMathDecls.h: Regenerated. - -2010-11-24 Donal K. Fellows - - * tests/chanio.test, tests/iogt.test, tests/ioTrans.test: Convert more - tests to tcltest2 and factor them to be easier to understand. - -2010-11-20 Donal K. Fellows - - * tests/chanio.test: Converted many tests to tcltest2 by marking the - setup and cleanup parts as such. - -2010-11-19 Jan Nijtmans - - * win/tclWin32Dll.c: Fix gcc warnings: unused variable 'registration' - * win/tclWinChan.c: - * win/tclWinFCmd.c: - -2010-11-18 Jan Nijtmans - - * win/tclAppInit.c: [FRQ 491789]: "setargv() doesn't support a unicode - cmdline" now implemented for cygwin and mingw32 too. - * tests/main.test: No longer disable tests Tcl_Main-1.4 and 1.6 on - Windows, because those now work on all supported platforms. - * win/configure.in: Set NO_VIZ=1 when zlib is compiled in libtcl, - this resolves compiler warnings in 64-bit and static builds. - * win/configure (regenerated) - -2010-11-18 Donal K. Fellows - - * doc/file.n: [Bug 3111298]: Typofix. - - * tests/oo.test: [Bug 3111059]: Added testing that neatly trapped this - issue. - -2010-11-18 Miguel Sofer - - * generic/tclNamesp.c: [Bug 3111059]: Fix leak due to bad looping - construct. - -2010-11-17 Jan Nijtmans - - * win/tcl.m4: [FRQ 491789]: "setargv() doesn't support a unicode - cmdline" now implemented for mingw-w64 - * win/configure (re-generated) - -2010-11-16 Jan Nijtmans - - * win/tclAppInit.c:Bring compilation under mingw-w64 a bit closer - * win/cat.c: to reality. See for what's missing: - * win/tcl.m4: - * win/configure: (re-generated) - * win/tclWinPort.h: [Bug 3110161]: Extensions using TCHAR don't - compile on VS2005 SP1 - -2010-11-15 Andreas Kupries - - * doc/interp.n: [Bug 3081184]: TIP #378. - * doc/tclvars.n: Performance fix for TIP #280. - * generic/tclBasic.c: - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclInterp.c: - * tests/info.test: - * tests/interp.test: - -2010-11-10 Andreas Kupries - - * changes: Updates for 8.6b2 release. - -2010-11-09 Donal K. Fellows - - * generic/tclOOMethod.c (ProcedureMethodVarResolver): [Bug 3105999]: - * tests/oo.test: Make sure that resolver structures that are - only temporarily needed get squelched. - -2010-11-05 Jan Nijtmans - - * generic/tclMain.c: Thanks, Kevin, for the fix, but this how it was - supposed to be (TCL_ASCII_MAIN is only supposed to be defined on - WIN32). - -2010-11-05 Kevin B. Kenny - - * generic/tclMain.c: Added missing conditional on _WIN32 around code - that messes around with the definition of _UNICODE, to correct a badly - broken Unix build from Jan's last commit. - -2010-11-04 Jan Nijtmans - - * generic/tclDecls.h: [FRQ 491789]: "setargv() doesn't support a - * generic/tclMain.c: unicode cmdline" implemented for Tcl on MSVC++ - * doc/Tcl_Main.3: - * win/tclAppInit.c: - * win/makefile.vc: - * win/Makefile.in: - * win/tclWin32Dll.c: Eliminate minor MSVC warning TCHAR -> char - conversion - -2010-11-04 Reinhard Max - - * tests/socket.test: Run the socket tests three times with the address - family set to any, inet, and inet6 respectively. Use constraints to - skip the tests if a family is found to be unsupported or not - configured on the local machine. Adjust the tests to dynamically adapt - to the address family that is being tested. - - Rework some of the tests to speed them up by avoiding (supposedly) - unneeded [after]s. - -2010-11-04 Stuart Cassoff - - * unix/Makefile.in: [Patch 3101127]: Installer Improvements. - * unix/install-sh: - -2010-11-04 Donal K. Fellows - - * tests/error.test (error-19.13): Another variation on testing for - issues in [try] compilation. - - * doc/Tcl.n (Variable substitution): [Bug 3099086]: Increase clarity - of explanation of what characters are actually permitted in variable - substitutions. Note that this does not constitute a change of - behavior; it is just an improvement of explanation. - -2010-11-04 Don Porter - - * changes: Updates for 8.6b2 release. (Thanks Andreas Kupries) - -2010-11-03 Jan Nijtmans - - * win/tclWinFcmd.c: [FRQ 2965056]: Windows build with -DUNICODE - * win/tclWinFile.c: (more clean-ups for pre-win2000 stuff) - * win/tclWinReg.c: - -2010-11-03 Donal K. Fellows - - * generic/tclCmdMZ.c (TryPostBody): Ensure that errors when setting - * tests/error.test (error-19.1[12]): message/opt capture variables get - reflected properly to the caller. - -2010-11-03 Kevin B. Kenny - - * generic/tclCompCmds.c (TclCompileCatchCmd): [Bug 3098302]: - * tests/compile.test (compile-3.6): Reworked the compilation of the - [catch] command so as to avoid placing any code that might throw an - exception (specifically, any initial substitutions or any stores to - result or options variables) between the BEGIN_CATCH and END_CATCH but - outside the exception range. Added a test case that panics on a stack - smash if the change is not made. - -2010-11-01 Stuart Cassoff - - * library/safe.tcl: Improved handling of non-standard module path - * tests/safe.test: lists, empty path lists in particular. - -2010-11-01 Kevin B. Kenny - - * library/tzdata/Asia/Hong_Kong: - * library/tzdata/Pacific/Apia: - * library/tzdata/Pacific/Fiji: Olson's tzdata2010o. - -2010-10-29 Alexandre Ferrieux - - * generic/tclTimer.c: [Bug 2905784]: Stop small [after]s from - wasting CPU while keeping accuracy. - -2010-10-28 Kevin B. Kenny - - [dogeen-assembler-branch] - * generic/tclAssembly.c: - * tests/assembly.test (assemble-31.*): Added jump tables. - -2010-10-28 Don Porter - - * tests/http.test: [Bug 3097490]: Make http-4.15 pass in - isolation. - - * unix/tclUnixSock.c: [Bug 3093120]: Prevent calls of - freeaddrinfo(NULL) which can crash some - systems. Thanks Larry Virden. - -2010-10-26 Reinhard Max - - * Changelog.2008: Split off from Changelog. - * generic/tclIOSock.c (TclCreateSocketAddress): The interp != NULL - check is needed for ::tcl::unsupported::socketAF as well. - -2010-10-26 Donal K. Fellows - - * unix/tclUnixSock.c (TcpGetOptionProc): Prevent crash if interp is - * win/tclWinSock.c (TcpGetOptionProc): NULL (a legal situation). - -2010-10-26 Reinhard Max - - * unix/tclUnixSock.c (TcpGetOptionProc): Added support for - ::tcl::unsupported::noReverseDNS, which if set to any value, prevents - [fconfigure -sockname] and [fconfigure -peername] from doing - reverse DNS queries. - -2010-10-24 Kevin B. Kenny - - [dogeen-assembler-branch] - * generic/tclAssembly.c: - * tests/assembly.test (assemble-17.15): Reworked branch handling so - that forward branches can use jump1 (jumpTrue1, jumpFalse1). Added - test cases that the forward branches will expand to jump4, jumpTrue4, - jumpFalse4 when needed. - -2010-10-23 Kevin B. Kenny - - [dogeen-assembler-branch] - * generic/tclAssembly.h (removed): - Removed file that was included in only one - source file. - * generictclAssembly.c: Inlined tclAssembly.h. - -2010-10-17 Alexandre Ferrieux - - * doc/info.n: [Patch 2995655]: - * generic/tclBasic.c: Report inner contexts in [info errorstack] - * generic/tclCompCmds.c: - * generic/tclCompile.c: - * generic/tclCompile.h: - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclNamesp.c: - * tests/error.test: - * tests/result.test: - -2010-10-20 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictForCmd): Update the compilation - * generic/tclCompile.c (tclInstructionTable): of [dict for] so that - * generic/tclExecute.c (TEBCresume): it no longer makes any - use of INST_DICT_DONE now that's not needed, and make it clearer in - the implementation of the instruction that it's just a deprecated form - of unset operation. Followup to my commit of 2010-10-16. - -2010-10-19 Donal K. Fellows - - * generic/tclZlib.c (Tcl_ZlibStreamGet): [Bug 3081008]: Ensure that - when a bytearray gets its internals entangled with zlib for more than - a passing moment, that bytearray will never be shimmered away. This - increases the amount of copying but is simple to get right, which is a - reasonable trade-off. - - * generic/tclStringObj.c (Tcl_AppendObjToObj): Added some special - cases so that most of the time when you build up a bytearray by - appending, it actually ends up being a bytearray rather than - shimmering back and forth to string. - - * tests/http11.test (check_crc): Use a simpler way to express the - functionality of this procedure. - - * generic/tclZlib.c: Purge code that wrote to the object returned by - Tcl_GetObjResult, as we don't want to do that anti-pattern no more. - -2010-10-18 Jan Nijtmans - - * tools/uniParse.tcl: [Bug 3085863]: tclUniData was 9 years old; - Ignore non-BMP characters and fix comment about UnicodeData.txt file. - * generic/regcomp.c: Fix comment - * tests/utf.test: Add some Unicode 6 testcases - -2010-10-17 Alexandre Ferrieux - - * doc/info.n: Document [info errorstack] faithfully. - -2010-10-16 Donal K. Fellows - - * generic/tclExecute.c (ReleaseDictIterator): Factored out the release - of the bytecode-level dictionary iterator information so that the - side-conditions on instruction issuing are simpler. - -2010-10-15 Jan Nijtmans - - * generic/reg_locale.c: [Bug 3085863]: tclUniData 9 years old: Updated - * generic/tclUniData.c: Unicode tables to latest UnicodeData.txt, - * tools/uniParse.tcl: corresponding with Unicode 6.0 (except for - out-of-range chars > 0xFFFF) - -2010-10-13 Don Porter - - * generic/tclCompile.c: Alternative fix for [Bugs 467523,983660] where - * generic/tclExecute.c: sharing of empty scripts is allowed again. - -2010-10-13 Jan Nijtmans - - * win/tclWinThrd.h: (removed) because it is just empty en used nowhere - * win/tcl.dsp - -2010-10-12 Jan Nijtmans - - * tools/uniClass.tcl: Spacing and comments: let uniClass.tcl - * generic/regc_locale.c: generation match better the current - (hand-modified) regc_locale.c - * tools/uniParse.tcl: Generate proper const qualifiers for - * generic/tclUniData.c: tclUniData.c - -2010-10-12 Reinhard Max - - * unix/tclUnixSock.c (CreateClientSocket): [Bug 3084338]: Fix a - memleak and refactor the calls to freeaddrinfo(). - -2010-10-11 Jan Nijtmans - - * win/tclWinDde.c: [FRQ 2965056]: Windows build with -DUNICODE - * win/tclWinReg.c: - * win/tclWinTest.c: More cleanups - * win/tclWinFile.c: Add netapi32 to the link line, so we no longer - * win/tcl.m4: have to use LoadLibrary to access those - functions. - * win/makefile.vc: - * win/configure: (Re-generate with autoconf-2.59) - * win/rules.vc Update for VS10 - -2010-10-09 Miguel Sofer - - * generic/tclExecute.c: Fix overallocation of exec stack in TEBC (due - to mixing numwords and numbytes) - -2010-10-08 Jan Nijtmans - - * generic/tclIOSock.c: On Windows, use gai_strerrorA - -2010-10-06 Don Porter - - * tests/winPipe.test: Test hygiene with makeFile and removeFile. - - * generic/tclCompile.c: [Bug 3081065]: Prevent writing to the intrep - * tests/subst.test: fields of a freed Tcl_Obj. - -2010-10-06 Kevin B. Kenny - - [dogeen-assembler-branch] - - * generic/tclAssembly.c: - * generic/tclAssembly.h: - * tests/assemble.test: Added catches. Still needs a lot of testing. - -2010-10-02 Kevin B. Kenny - - [dogeen-assembler-branch] - - * generic/tclAssembly.c: - * generic/tclAssembly.h: - * tests/assemble.test: Added dictAppend, dictIncrImm, dictLappend, - dictSet, dictUnset, nop, regexp, nsupvar, upvar, and variable. - -2010-10-02 Donal K. Fellows - - * generic/tclExecute.c (TEBCresume): [Bug 3079830]: Added invalidation - of string representations of dictionaries in some cases. - -2010-10-01 Jeff Hobbs - - * generic/tclExecute.c (EvalStatsCmd): change 'evalstats' to return - data to interp by default, or if given an arg, use that as filename to - output to (accepts 'stdout' and 'stderr'). Fix output to print used - inst count data. - * generic/tclCkalloc.c: Change TclDumpMemoryInfo sig to allow objPtr - * generic/tclInt.decls: as well as FILE* as output. - * generic/tclIntDecls.h: - -2010-10-01 Donal K. Fellows - - * generic/tclBasic.c, generic/tclClock.c, generic/tclEncoding.c, - * generic/tclEnv.c, generic/tclLoad.c, generic/tclNamesp.c, - * generic/tclObj.c, generic/tclRegexp.c, generic/tclResolve.c, - * generic/tclResult.c, generic/tclUtil.c, macosx/tclMacOSXFCmd.c: - More purging of strcpy() from locations where we already know the - length of the data being copied. - -2010-10-01 Kevin B. Kenny - - [dogeen-assembler-branch] - - * tests/assemble.test: - * generic/tclAssemble.h: - * generic/tclAssemble.c: Added listIn, listNotIn, and dictGet. - -2010-09-30 Kevin B. Kenny - - [dogeen-assembler-branch] - - * tests/assemble.test: Added tryCvtToNumeric and several more list - * generic/tclAssemble.c: operations. - * generic/tclAssemble.h: - -2010-09-29 Kevin B. Kenny - - [dogeen-assembler-branch] - - * tests/assemble.test: Completed conversion of tests to a - * generic/tclAssemble.c: "white box" structure that follows the - C code. Added missing safety checks on the operands of 'over' and - 'reverse' so that negative operand counts don't smash the stack. - -2010-09-29 Jan Nijtmans - - * unix/configure: Re-generate with autoconf-2.59 - * win/configure: - * generic/tclMain.c: Make compilable with -DUNICODE as well - -2010-09-28 Reinhard Max - - TIP #162 IMPLEMENTATION - - * doc/socket.n: Document the changes to the [socket] and - [fconfigure] commands. - - * generic/tclInt.h: Introduce TclCreateSocketAddress() as a - * generic/tclIOSock.c: replacement for the platform-dependent - * unix/tclUnixSock.c: TclpCreateSocketAddress() functions. Extend - * unix/tclUnixChan.c: the [socket] and [fconfigure] commands to - * unix/tclUnixPort.h: behave as proposed in TIP #162. This is the - * win/tclWinSock.c: core of what is required to support the use of - * win/tclWinPort.h: IPv6 sockets in Tcl. - - * compat/fake-rfc2553.c: A compat implementation of the APIs defined - * compat/fake-rfc2553.h: in RFC-2553 (getaddrinfo() and friends) on - top of the existing gethostbyname() etc. - * unix/configure.in: Test whether the fake-implementation is - * unix/tcl.m4: needed. - * unix/Makefile.in: Add a compile target for fake-rfc2553. - - * win/configure.in: Allow cross-compilation by default. - - * tests/socket.test: Improve the test suite to make more use of - * tests/remote.tcl: randomized ports to reduce interference with - tests running in parallel or other services on - the machine. - -2010-09-28 Kevin B. Kenny - - [dogeen-assembler-branch] - - * tests/assemble.test: Added more "white box" tests. - * generic/tclAssembly.c: Added the error checking and reporting - for undefined labels. Revised code so that no pointers into the - bytecode sequence are held (because the sequence can move!), - that no Tcl_HashEntry pointers are held (because the hash table - doesn't guarantee their stability!) and to eliminate the BBHash - table, which is merely additional information indexed by jump - labels and can just as easily be held in the 'label' structure. - Renamed shared structures to CamelCase, and renamed 'label' to - JumpLabel because other types of labels may eventually be possible. - -2010-09-27 Kevin B. Kenny - - [dogeen-assembler-branch] - - * tests/assemble.test: Added more "white box" tests. - * generic/tclAssembly.c: Fixed bugs exposed by the new tests. - (a) [eval] and [expr] had incorrect stack balance computed if - the arg was not a simple word. (b) [concat] accepted a negative - operand count. (c) [invoke] accepted a zero or negative operand - count. (d) more misspelt error messages. - Also replaced a funky NRCallTEBC with the new call - TclNRExecuteByteCode, necessitated by a merge with changes on the - HEAD. - -2010-09-26 Miguel Sofer - - * generic/tclBasic.c: [Patch 3072080] (minus the itcl - * generic/tclCmdIL.c: update): a saner NRE. - * generic/tclCompExpr.c: - * generic/tclCompile.c: This makes TclNRExecuteByteCode (ex TEBC) - * generic/tclCompile.h: to be a normal NRE citizen: it loses its - * generic/tclExecute.c: special status. - * generic/tclInt.decls: The logic flow within the BC engine is - * generic/tclInt.h: simplified considerably. - * generic/tclIntDecls.h: - * generic/tclObj.c: - * generic/tclProc.c: - * generic/tclTest.c: - - * generic/tclVar.c: Use the macro HasLocalVars everywhere - -2010-09-26 Miguel Sofer - - * generic/tclOOMethod.c (ProcedureMethodVarResolver): avoid code - duplication, let the runtime var resolver call the compiled var - resolver. - -2010-09-26 Kevin B. Kenny - - [dogeen-assembler-branch] - - * tests/assemble.test: Added many new tests moving toward a more - comprehensive test suite for the assembler. - * generic/tclAssembly.c: Fixed bugs exposed by the new tests: - (a) [bitnot] and [not] had incorrect operand counts. (b) - INST_CONCAT cannot concatenate zero objects. (c) misspelt error - messages. (d) the "assembly code" internal representation lacked - a duplicator, which caused double-frees of the Bytecode object - if assembly code ever was duplicated. - -2010-09-25 Kevin B. Kenny - - [dogeen-assembler-branch] - - * generic/tclAssembly.c: Massive refactoring of the assembler - * generic/tclAssembly.h: to use a Tcl-like syntax (and use - * tests/assemble.test: Tcl_ParseCommand to parse it). The - * tests/assemble1.bench: refactoring also ensures that - Tcl_Tokens in the assembler have string ranges inside the source - code, which allows for [eval] and [expr] assembler directives - that simply call TclCompileScript and TclCompileExpr recursively. - -2010-09-24 Jeff Hobbs - - * tests/stringComp.test: improved string eq/cmp test coverage - * generic/tclExecute.c (TclExecuteByteCode): merge INST_STR_CMP and - INST_STR_EQ/INST_STR_NEQ paths. Speeds up eq/ne/[string eq] with - obj-aware comparisons and eq/==/ne/!= with length equality check. - -2010-09-24 Andreas Kupries - - * tclWinsock.c: [Bug 3056775]: Fixed race condition between thread and - internal co-thread access of a socket's structure because of the - thread not using the socketListLock in TcpAccept(). Added - documentation on how the module works to the top. - -2010-09-23 Jan Nijtmans - - * generic/tclDecls.h: Make Tcl_SetPanicProc and Tcl_GetStringResult - * unix/tclAppInit.c: callable without stubs, just as Tcl_SetVar. - * win/tclAppInit.c: - -2010-09-23 Don Porter - - * generic/tclCmdAH.c: Fix cases where value returned by - * generic/tclEvent.c: Tcl_GetReturnOptions() was leaked. - * generic/tclMain.c: Thanks to Jeff Hobbs for discovery of the - anti-pattern to seek and destroy. - -2010-09-23 Jan Nijtmans - - * unix/tclAppInit.c: Make compilable with -DUNICODE (not activated - * win/tclAppInit.c: yet), many clean-ups in comments. - -2010-09-22 Miguel Sofer - - * generic/tclExecute: [Bug 3072640]: One more DECACHE_STACK_INFO() was - missing. - - * tests/execute.test: Added execute-10.3 for [Bug 3072640]. The test - causes a mem failure. - - * generic/tclExecute: Protect all possible writes to ::errorInfo or - ::errorCode with DECACHE_STACK_INFO(), as they could run traces. The - new calls to be protected are Tcl_ResetResult(), Tcl_SetErrorCode(), - IllegalExprOperandType(), TclExprFloatError(). The error was triggered - by [Patch 3072080]. - -2010-09-22 Jan Nijtmans - - * win/tcl.m4: Add kernel32 to LIBS, so the link line for - * win/configure: mingw is exactly the same as for MSVC++. - -2010-09-21 Jeff Hobbs - - * generic/tclExecute.c (TclExecuteByteCode): - * generic/tclOOMethod.c (ProcedureMethodCompiledVarConnect): - * generic/tclVar.c (TclLookupSimpleVar, CompareVarKeys): - * generic/tclPathObj.c (Tcl_FSGetNormalizedPath, Tcl_FSEqualPaths): - * generic/tclIOUtil.c (TclFSCwdPointerEquals): peephole opt - * generic/tclResult.c (TclMergeReturnOptions): Use memcmp where - applicable as possible speedup on some libc variants. - -2010-09-21 Kevin B. Kenny - - [BRANCH: dogeen-assembler-branch] - - * generic/tclAssembly.c (new file): - * generic/tclAssembly.h: - * generic/tclBasic.c (builtInCmds, Tcl_CreateInterp): - * generic/tclInt.h: - * tests/assemble.test (new file): - * tests/assemble1.bench (new file): - * unix/Makefile.in: - * win/Makefile.in: - * win/Makefile.vc: - Initial commit of Ozgur Dogan Ugurlu's (SF user: dogeen) - assembler for the Tcl bytecode language. - -2010-09-21 Jan Nijtmans - - * win/tclWinFile.c: Fix declaration after statement. - * win/tcl.m4: Add -Wdeclaration-after-statement, so this - * win/configure: mistake cannot happen again. - * win/tclWinFCmd.c: [Bug 3069278]: Breakage on head Windows - * win/tclWinPipe.c: triggered by install-tzdata, final fix - -2010-09-20 Jan Nijtmans - - * win/tclWinFCmd.c: Eliminate tclWinProcs->useWide everywhere, since - * win/tclWinFile.c: the value is always "1" on platforms >win95 - * win/tclWinPipe.c: - -2010-09-19 Donal K. Fellows - - * doc/file.n (file readlink): [Bug 3070580]: Typofix. - -2010-09-18 Jan Nijtmans - - * win/tclWinFCmd.c [Bug 3069278]: Breakage on head Windows triggered - by install-tzdata. Temporary don't compile this with -DUNICODE, while - investigating this bug. - -2010-09-16 Jeff Hobbs - - * win/tclWinFile.c: Remove define of FINDEX_INFO_LEVELS as all - supported versions of compilers should now have it. - - * unix/Makefile.in: Do not pass current build env vars when using - NATIVE_TCLSH in targets. - -2010-09-16 Jan Nijtmans - - * generic/tclDecls.h: Make Tcl_FindExecutable() work in UNICODE - * generic/tclEncoding.c: compiles (windows-only) as well as ASCII. - * generic/tclStubInit.c: Needed for [FRQ 491789]: setargv() doesn't - support a unicode cmdline. - -2010-09-15 Donal K. Fellows - - * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 3067036]: Make - sure we never try to double zero repeatedly to get a buffer size. Also - added a check for sanity on the size of buffer being appended. - -2010-09-15 Don Porter - - * unix/Makefile.in: Revise `make dist` target to tolerate the - case of zero bundled packages. - -2010-09-15 Jan Nijtmans - - * tools/genStubs.tcl: [Patch 3034251]: Backport ttkGenStubs.tcl - * generic/tcl.decls: features to genStubs.tcl. Make the "generic" - * generic/tclInt.decls: argument in the *.decls files optional - * generic/tclOO.decls: (no change to any tcl*Decls.h files) - * generic/tclTomMath.decls: - This allows genStubs.tcl to generate the ttk stub files as well, while - keeping full compatibility with existing *.decls files. - -2010-09-14 Jan Nijtmans - - * win/tclWinPort.h: Allow all Win2000+ API entries in Tcl - * win/tclWin32Dll.c: Eliminate dynamical loading of advapi23 and - kernel32 symbols. - -2010-09-13 Jan Nijtmans - - * win/tclWinChan.c: Various clean-ups, converting from - * win/tclWinConsole.c: tclWinProc->xxxProc directly to Xxx - * win/tclWinInit.c: (no change in functionality) - * win/tclWinLoad.c: - * win/tclWinSerial.c: - * win/tclWinSock.c: - * tools/genStubs.tcl: Add scspec feature from ttkGenStubs.tcl - (no change in output for *Decls.h files) - -2010-09-10 Jan Nijtmans - - * win/tclWin32Dll.c: Partly revert yesterday's change, to make it work - on VC++ 6.0 again. - -2010-09-10 Donal K. Fellows - - * doc/regsub.n: [Bug 3063568]: Fix for gotcha in example due to Tcl's - special handling of backslash-newline. Makes example slightly less - pure, but more useful. - -2010-09-09 Jan Nijtmans - - * win/makefile.vc: Mingw should always link with -ladvapi32. - * win/tcl.m4: - * win/configure: (regenerated) - * win/tclWinInt.h: Remove ascii variant of tkWinPocs table, it is - * win/tclWin32Dll.c: no longer necessary. Fix CreateProcess signature - * win/tclWinPipe.c: and remove unused GetModuleFileName and lstrcpy. - * win/tclWinPort.h: Mingw/cygwin fixes: should always be - included, and fix conflict in various macro values: Always force the - same values as in VC++. - -2010-09-08 Don Porter - - * win/tclWinChan.c: [Bug 3059922]: #ifdef protections to permit - * win/tclWinFCmd.c: builds with mingw on amd64 systems. Thanks to - "mescalinum" for reporting and testing. - -2010-09-08 Andreas Kupries - - * doc/tm.n: Added underscore to the set of characters accepted in - module names. This is true for quite some time in the code, this - change catches up the documentation. - -2010-09-03 Donal K. Fellows - - * tools/tcltk-man2html.tcl (plus-pkgs): Improve the package - documentation search pattern to support the doctoos-generated - directory structure. - * tools/tcltk-man2html-utils.tcl (output-name): Made this more - resilient against misformatted NAME sections, induced by import of - Thread package documentation into Tcl doc tree. - -2010-09-02 Andreas Kupries - - * doc/glob.n: Fixed documentation ambiguity regarding the handling - of -join. - - * library/safe.tcl (safe::AliasGlob): Fixed another problem, the - option -join does not stop option processing in the core builtin, so - the emulation must not do that either. - -2010-09-01 Andreas Kupries - - * library/safe.tcl (safe::AliasGlob): Moved the command extending the - actual glob command with a -directory flag to when we actually have a - proper untranslated path, - -2010-09-01 Andreas Kupries - - * generic/tclExecute.c: [Bug 3057639]: Applied patch by Jeff to make - * generic/tclVar.c: the behaviour of lappend in bytecompiled mode - * tests/append.test: consistent with direct-eval and 'append' - * tests/appendComp.test: generally. Added tests (append*-9.*) - showing the difference. - -2010-08-31 Jan Nijtmans - - * win/rules.vc: Typo (thanks to Twylite discovering - this) - * generic/tclStubLib.c: Revert to previous version: MSVC++ 6.0 - * generic/tclTomMathStubLib.c:cannot handle the new construct. - * generic/tcl.decls [Patch 2997642]: Many type casts needed - * generic/tclDecls.h: when using Tcl_Pkg* API. Remaining part. - * generic/tclPkg.c: - * generic/tclBasic.c: - * generic/tclTomMathInterface.c: - * doc/PkgRequire.3 - -2010-08-31 Andreas Kupries - - * win/tcl.m4: Applied patch by Jeff fixing issues with the manifest - handling on Win64. - * win/configure: Regenerated. - -2010-08-30 Miguel Sofer - - * generic/tclBasic.c: [Bugs 3046594,3047235,3048771]: New - * generic/tclCmdAH.c: implementation for [tailcall] command: it now - * generic/tclCmdMZ.c: schedules the command and returns TCL_RETURN. - * generic/tclExecute.c: This fixes all issues with [catch] and [try]. - * generic/tclInt.h: Thanks dgp for exploring the dark corners. - * generic/tclNamesp.c: More thorough testing is required. - * tests/tailcall.test: - -2010-08-30 Jan Nijtmans - - * win/Makefile.in: [FRQ 2965056]: Windows build with -DUNICODE - * win/rules.vc: - * win/tclWinFCmd.c: Make sure that allocated TCHAR arrays are - * win/tclWinFile.c: always properly aligned as wchar_t, and - * win/tclWinPipe.c: not bigger than necessary. - * win/tclWinSock.c: - * win/tclWinDde.c: Those 3 files are not converted yet to be - * win/tclWinReg.c: built with -DUNICODE, so add a TODO. - * win/tclWinTest.c: - * generic/tcl.decls: [Patch 2997642]: Many type casts needed when - * generic/tclDecls.h: using Tcl_Pkg* API. Partly. - * generic/tclPkg.c: - * generic/tclStubLib.c: Demonstration how this change can benefit - code. - * generic/tclTomMathStubLib.c: - * doc/PkgRequire.3: - -2010-08-29 Donal K. Fellows - - * doc/dict.n: [Bug 3046999]: Corrected cross reference to array - manpage to refer to (correct) existing subcommand. - -2010-08-26 Jeff Hobbs - - * unix/configure, unix/tcl.m4: SHLIB_LD_LIBS='${LIBS}' for OSF1-V*. - Add /usr/lib64 to set of auto-search dirs. [Bug 1230554] - (SC_PATH_X): Correct syntax error when xincludes not found. - - * win/Makefile.in (VC_MANIFEST_EMBED_DLL VC_MANIFEST_EMBED_EXE): - * win/configure, win/configure.in, win/tcl.m4: SC_EMBED_MANIFEST - macro and --enable-embedded-manifest configure arg added to support - manifest embedding where we know the magic. Help prevents DLL hell - with MSVC8+. - -2010-08-24 Jan Nijtmans - - * generic/tcl.decls: [Bug 3007895]: Tcl_(Find|Create)HashEntry - * generic/tclHash.c: stub entries can never be called. - * generic/tclDecls.h: - * generic/tclStubInit.c: [Patch 2994165]: Change signature of - Tcl_FSGetNativePath and TclpDeleteFile follow-up: move stub entry back - to original location. - -2010-08-23 Kevin B. Kenny - - * library/tzdata/Africa/Cairo: - * library/tzdata/Asia/Gaza: Olson's tzdata2010l. - -2010-08-22 Jan Nijtmans - - * generic/tclBasic.c: [Patch 3009403]: Signature of Tcl_GetHashKey, - * generic/tclBinary.c: Tcl_(Create|Find)HashEntry follow-up: - * generic/tclCmdIL.c: Remove many type casts which are no longer - * generic/tclCompile.c:necessary as a result of this signature change. - * generic/tclDictObj.c: - * generic/tclEncoding.c: - * generic/tclExecute.c: - * generic/tclInterp.c: - * generic/tclIOCmd.c: - * generic/tclObj.c: - * generic/tclProc.c: - * generic/tclTest.c: - * generic/tclTrace.c: - * generic/tclUtil.c: - * generic/tclVar.c: - -2010-08-21 Donal K. Fellows - - * doc/linsert.n: [Bug 3045123]: Make description of what is actually - happening more accurate. - -2010-08-21 Jan Nijtmans - - * tools/genStubs.tcl: [Patch 3034251]: Backport ttkGenStubs.tcl - features to genStubs.tcl, partly: Use void (*reserved$i)(void) = 0 - instead of void *reserved$i = NULL for unused stub entries, in case - pointer-to-function and pointer-to-object are different sizes. - * generic/tcl*Decls.h: (regenerated) - * generic/tcl*StubInit.c:(regenerated) - -2010-08-20 Jan Nijtmans - - * doc/Method.3: Fix definition of Tcl_MethodType. - -2010-08-19 Donal K. Fellows - - * generic/tclTrace.c (TraceExecutionObjCmd, TraceCommandObjCmd) - (TraceVariableObjCmd): [Patch 3048354]: Use memcpy() instead of - strcpy() to avoid buffer overflow; we have the correct length of data - to copy anyway since we've just allocated the target buffer. - -2010-08-18 Jan Nijtmans - - * tools/genStubs.tcl: [Patch 3034251]: Backport ttkGenStubs.tcl - features to genStubs.tcl, partly: remove unneeded ifdeffery and put - C++ guard around stubs pointer definition. - * generic/*Decls.h: (regenerated) - -2010-08-18 Miguel Sofer - - * generic/tclBasic.c: New redesign of [tailcall]: find - * generic/tclExecute.c: errors early on, so that errorInfo - * generic/tclInt.h: contains the proper info [Bug 3047235] - * generic/tclNamesp.c: - - * generic/tclCmdAH.c (TclNRTryObjCmd): [Bug 3046594]: Block - tailcalling out of the body of a non-bc'ed [try]. - - * generic/tclBasic.c: Redesign of [tailcall] to - * generic/tclCmdAH.c: (a) fix [Bug 3047235] - * generic/tclCompile.h: (b) enable fix for [Bug 3046594] - * generic/tclExecute.c: (c) enable recursive tailcalls - * generic/tclInt.h: - * generic/tclNamesp.c: - * tests/tailcall.test: - -2010-08-18 Donal K. Fellows - - * library/safe.tcl (AliasGlob): [Bug 3004191]: Restore safe [glob] to - working condition. - -2010-08-15 Donal K. Fellows - - * generic/tclProc.c (ProcWrongNumArgs): [Bug 3045010]: Make the - handling of passing the wrong number of arguments to [apply] somewhat - less verbose when a lambda term is present. - -2010-08-14 Jan Nijtmans - - * compat/unicows: Remove completely, see [FRQ 2819611]. - * doc/FileSystem.3: [Patch 2994165]: Change signature of - * generic/tcl.decls Tcl_FSGetNativePath and TclpDeleteFile - * generic/tclDecls.h: - * generic/tclIOUtil.c: - * generic/tclStubInit.c: - * generic/tclInt.h: - * unix/tclUnixFCmd.c: - * win/tclWinFCmd.c: - * doc/Hash.3: [Patch 3009403]: Signature of Tcl_GetHashKey, - * generic/tcl.h: Tcl_(Create|Find)HashEntry - -2010-08-11 Jeff Hobbs - - * unix/ldAix: Remove ancient (pre-4.2) AIX support - * unix/configure: Regen with ac-2.59 - * unix/configure.in, unix/tclConfig.sh.in, unix/Makefile.in: - * unix/tcl.m4 (AIX): Remove the need for ldAIX, replace with - -bexpall/-brtl. Remove TCL_EXP_FILE (export file) and other baggage - that went with it. Remove pre-4 AIX build support. - -2010-08-11 Miguel Sofer - - * generic/tclBasic.c (TclNRYieldToObjCmd): - * tests/coroutine.test: Fixed bad copypasta snafu. Thanks to Andy Goth - for finding the bug. - -2010-08-10 Jeff Hobbs - - * generic/tclUtil.c (TclByteArrayMatch): Patterns may not be - null-terminated, so account for that. - -2010-08-09 Don Porter - - * changes: Updates for 8.6b2 release. - -2010-08-04 Jeff Hobbs - - * win/Makefile.in, win/makefile.bc, win/makefile.vc, win/tcl.dsp: - * win/tclWinPipe.c (TclpCreateProcess): - * win/stub16.c (removed): Removed Win9x tclpip8x.dll build and 16-bit - application loader stub support. Win9x is no longer supported. - - * win/tclWin32Dll.c (TclWinInit): Hard-enforce Windows 9x as an - unsupported platform with a panic. Code to support it still exists in - other files (to go away in time), but new APIs are being used that - don't exist on Win9x. - - * unix/tclUnixFCmd.c: Adjust license header as per - ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change - - * license.terms: Fix DFARs note for number-adjusted rights clause - - * win/tclWin32Dll.c (asciiProcs, unicodeProcs): - * win/tclWinLoad.c (TclpDlopen): 'load' use LoadLibraryEx with - * win/tclWinInt.h (TclWinProcs): LOAD_WITH_ALTERED_SEARCH_PATH to - prefer dependent DLLs in same dir as loaded DLL. - - * win/Makefile.in (%.${OBJEXT}): better implicit rules support - -2010-08-04 Andreas Kupries - - * generic/tclIORChan.c: [Bug 3034840]: Fixed reference counting in - * generic/tclIORTrans.c: InvokeTclMethod and callers. - * tests/ioTrans.test: - -2010-08-03 Andreas Kupries - - * tests/var.test (var-19.1): [Bug 3037525]: Added test demonstrating - the local hashtable deletion crash and fix. - - * tests/info.test (info-39.1): Added forward copy of test in 8.5 - branch about [Bug 2933089]. Should not fail, and doesn't, after - updating the line numbers to the changed position. - -2010-08-02 Kevin B. Kenny - - * library/tzdata/America/Bahia_Banderas: - * library/tzdata/Pacific/Chuuk: - * library/tzdata/Pacific/Pohnpei: - * library/tzdata/Africa/Cairo: - * library/tzdata/Europe/Helsinki: - * library/tzdata/Pacific/Ponape: - * library/tzdata/Pacific/Truk: - * library/tzdata/Pacific/Yap: Olson's tzdata2010k. - -2010-08-02 Miguel Sofer - - * generic/tclVar.c: Correcting bad port of [Bug 3037525] fix - -2010-07-28 Miguel Sofer - - * generic/tclVar.c: [Bug 3037525]: Lose fickle optimisation in - TclDeleteVars (used for runtime-created locals) that caused crash. - -2010-07-29 Jan Nijtmans - - * compat/zlib/win32/README.txt: Official build of zlib1.dll 1.2.5 is - * compat/zlib/win32/USAGE.txt: finally available, so put it in. - * compat/zlib/win32/zlib1.dll: - -2010-07-25 Donal K. Fellows - - * doc/http.n: Corrected description of location of one of the entries - in the state array. - -2010-07-24 Jan Nijtmans - - * generic/tclDecls.h: [Bug 3029891]: Functions that don't belong in - * generic/tclTest.c: the stub table. - * generic/tclBasic.c: From [Bug 3030870] make itcl 3.x built with - pre-8.6 work in 8.6: Relax the relation between Tcl_CallFrame and - CallFrame. - -2010-07-16 Donal K. Fellows - - * generic/tclBasic.c: Added more errorCode setting. - -2010-07-15 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Ensure that [dict get] - * generic/tclDictObj.c (DictGetCmd): always generates an errorCode on - a failure to look up an entry. - -2010-07-11 Pat Thoyts - - * unix/configure: (regenerated) - * unix/configure.in: For the NATIVE_TCLSH variable use the autoconf - * unix/Makefile.in: SC_PROG_TCLSH to try and find a locally installed - native binary. This avoids manually fixing up when cross compiling. If - there is not one, revert to using the build product. - -2010-07-02 Don Porter - - * generic/tclInt.decs: Reverted to the original TIP 337 - implementation on what to do with the obsolete internal stub for - TclBackgroundException() (eliminate it!) - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - -2010-07-02 Jan Nijtmans - - * generic/tclInt.decls: [Bug 803489]: Tcl_FindNamespace problem in - * generic/tclIntDecls.h: the Stubs table - * generic/tclStubInit.c: - -2010-07-02 Donal K. Fellows - - * generic/tclExecute.c (IllegalExprOperandType): [Bug 3024379]: Made - sure that errors caused by an argument to an operator being outside - the domain of the operator all result in ::errorCode being ARITH - DOMAIN and not NONE. - -2010-07-01 Jan Nijtmans - - * win/rules.vc: [Bug 3020677]: wish can't link reg1.2 - * tools/checkLibraryDoc.tcl: formatting, spacing, cleanup unused - * tools/eolFix.tcl: variables; no change in generated output - * tools/fix_tommath_h.tcl: - * tools/genStubs.tcl: - * tools/index.tcl: - * tools/man2help2.tcl: - * tools/regexpTestLib.tcl: - * tools/tsdPerf.tcl: - * tools/uniClass.tcl: - * tools/uniParse.tcl: - -2010-07-01 Donal K. Fellows - - * doc/mathop.n: [Bug 3023165]: Fix typo that was preventing proper - rendering of the exclusive-or operator. - -2010-06-28 Jan Nijtmans - - * generic/tclPosixStr.c: [Bug 3019634]: errno.h and tclWinPort.h have - conflicting definitions. Added messages for ENOTRECOVERABLE, EOTHER, - ECANCELED and EOWNERDEAD, and fixed various typing mistakes in other - messages. - -2010-06-25 Reinhard Max - - * tests/socket.test: Prevent a race condition during shutdown of the - remote test server that can cause a hang when the server is being run - in verbose mode. - -2010-06-24 Jan Nijtmans - - * win/tclWinPort.h: [Bug 3019634]: errno.h and tclWinPort.h have - conflicting definitions. - - ***POTENTIAL INCOMPATIBILITY*** - On win32, the correspondence between errno and the related error - message, as handled by Tcl_ErrnoMsg() changes. The error message is - kept the same, but the corresponding errno value might change. - -2010-06-22 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LsetObjCmd): [Bug 3019351]: Corrected wrong - args message. - -2010-06-21 Jan Nijtmans - - * unix/tclLoadDl.c: Eliminate various unnecessary type casts, use - * unix/tclLoadNext.c: function typedefs whenever possible - * unix/tclUnixChan.c: - * unix/tclUnixFile.c: - * unix/tclUnixNotfy.c: - * unix/tclUnixSock.c: - * unix/tclUnixTest.c: - * unix/tclXtTest.c: - * generic/tclZlib.c: Remove hack needed for zlib 1.2.3 on win32 - -2010-06-18 Donal K. Fellows - - * library/init.tcl (auto_execok): [Bug 3017997]: Add .cmd to the - default list of extensions that we can execute interactively. - -2010-06-16 Jan Nijtmans - - * tools/loadICU.tcl: [Bug 3016135]: Traceback using clock format - * library/msgs/he.msg: with locale of he_IL. - - * generic/tcl.h: Simplify Tcl_AppInit and *_Init definitions, - * generic/tclInt.h: spacing. Change TclpThreadCreate and - * generic/tcl.decls: Tcl_CreateThread signature, making clear that - * generic/tclDecls.h: "proc" is a function pointer, as in all other - * generic/tclEvent.c: "proc" function parameters. - * generic/tclTestProcBodyObj.c: - * win/tclWinThrd.c: - * unix/tclUnixThrd.c: - * doc/Thread.3: - * doc/Class.3: Fix Tcl_ObjectMetadataType definition. - -2010-06-14 Jan Nijtmans - - * unix/Makefile.in: Fix compilation of xttest with 8.6 changes - * unix/tclXtNotify.c: - * unix/tclXtTest.c: - * generic/tclPipe.c: Fix gcc warning (with -fstrict-aliasing=2) - * library/auto.tcl: Spacing and style fixes. - * library/history.tcl: - * library/init.tcl: - * library/package.tcl: - * library/safe.tcl: - * library/tm.tcl: - -2010-06-13 Donal K. Fellows - - * tools/tcltk-man2html.tcl (make-man-pages): [Bug 3015327]: Make the - title of a manual page be stored relative to its resulting directory - name as well as its source filename. This was caused by both Tcl and a - contributed package ([incr Tcl]) defining an Object.3. Also corrected - the joining of strings in titles to avoid extra braces. - -2010-06-09 Andreas Kupries - - * library/platform/platform.tcl: Added OSX Intel 64bit - * library/platform/pkgIndex.tcl: Package updated to version 1.0.9. - * unix/Makefile.in: - * win/Makefile.in: - -2010-06-09 Jan Nijtmans - - * tools/tsdPerf.c: Fix export of symbol Tsdperf_Init, when using - -fvisibility=hidden. Make two functions static, eliminate some - unnecessary type casts. - * tools/configure.in: Update to Tcl 8.6 - * tools/configure: (regenerated) - * tools/.cvsignore new file - -2010-06-07 Alexandre Ferrieux - - * generic/tclExecute.c: Ensure proper reset of [info errorstack] even - * generic/tclNamesp.c: when compiling constant expr's with errors. - -2010-06-05 Miguel Sofer - - * generic/tclBasic.c: [Bug 3008307]: make callerPtr chains be - * generic/tclExecute.c: traversable accross coro boundaries. Add the - special coroutine CallFrame (partially reverting commit of - 2009-12-10), as it is needed for coroutines that do not push a CF, eg, - those with [eval] as command. Thanks to Colin McCormack (coldstore) - and Alexandre Ferrieux for the hard work on this. - -2010-06-03 Alexandre Ferrieux - - * generic/tclNamesp.c: Safer (and faster) computation of [uplevel] - * tests/error.test: offsets in TIP 348. Toplevel offsets no longer - * tests/result.test: overestimated. - -2010-06-02 Jan Nijtmans - - * generic/tclOO.h: BUILD_tcloo is never defined (leftover) - * win/makefile.bc: Don't set BUILD_tcloo (leftover) - See also entry below: 2008-06-01 Joe Mistachkin - -2010-06-01 Alexandre Ferrieux - - * generic/tclNamesp.c: Fix computation of [uplevel] offsets in TIP 348 - * tests/error.test: Only depend on callerPtr chaining now. - * tests/result.test: Needed for upcoming coro patch. - -2010-05-31 Jan Nijtmans - - * generic/tclVar.c: Eliminate some casts to (Tcl_HashTable *) - * generic/tclExecute.c: - * tests/fileSystem.test: Fix filesystem-5.1 test failure on CYGWIN - -2010-05-28 Jan Nijtmans - - * generic/tclInt.h: [Patch 3008541]: Order of TIP #348 fields in - Interp structure - -2010-05-28 Donal K. Fellows - - * generic/tclCompCmdsSZ.c (IssueTryFinallyInstructions): [3007374]: - Corrected error in handling of catch contexts to prevent crash with - chained handlers. - - * generic/tclExecute.c (TclExecuteByteCode): Restore correct operation - of instruction-level execution tracing (had been broken by NRE). - -2010-05-27 Jan Nijtmans - - * library/opt/optParse.tcl: Don't generate spaces at the end of a - * library/opt/pkgIndex.tcl: line, eliminate ';' at line end, bump to - * tools/uniParse.tcl: v0.4.6 - * generic/tclUniData.c: - * tests/opt.test: - * tests/safe.test: - -2010-05-21 Jan Nijtmans - - * tools/installData.tcl: Make sure that copyDir only receives - normalized paths, otherwise it might result in a crash on CYGWIN. - Restyle according to the Tcl style guide. - * generic/tclStrToD.c: [Bug 3005233]: Fix for build on OpenBSD vax - -2010-05-19 Alexandre Ferrieux - - * tests/dict.test: Add missing tests for [Bug 3004007], fixed under - the radar on 2010-02-24 (dkf): EIAS violation in list-dict conversions - -2010-05-19 Jan Nijtmans - - * generic/regcomp.c: Don't use arrays of length 1, just use a - * generic/tclFileName.c: single element then, it makes code more - * generic/tclLoad.c: readable. (Here it even prevents a type cast) - -2010-05-17 Jan Nijtmans - - * generic/tclStrToD.c: [Bug 2996549]: Failure in expr.test on Win32 - -2010-05-17 Donal K. Fellows - - * generic/tclCmdIL.c (TclInfoFrame): Change this code to use - Tcl_GetCommandFullName rather than rolling its own. Discovered during - the hunting of [Bug 3001438] but unlikely to be a fix. - -2010-05-11 Jan Nijtmans - - * win/tclWinConsole.c: [Patch 2997087]: Unnecessary type casts. - * win/tclWinDde.c: - * win/tclWinLoad.c: - * win/tclWinNotify.c: - * win/tclWinSerial.c: - * win/tclWinSock.c: - * win/tclWinTime.c: - * win/tclWinPort.h: Don't duplicate CYGWIN timezone #define from - tclPort.h - -2010-05-07 Andreas Kupries - - * library/platform/platform.tcl: Fix cpu name for Solaris/Intel 64bit. - * library/platform/pkgIndex.tcl: Package updated to version 1.0.8. - * unix/Makefile.in: - * win/Makefile.in: - -2010-05-06 Jan Nijtmans - - * generic/tclPkg.c: Unnecessary type casts, see [Patch 2997087] - -2010-05-04 Jan Nijtmans - - * win/tclWinNotify.c: TCHAR-related fixes, making those two files - * win/tclWinSock.c: compile fine when TCHAR != char. Please see - comments in [FRQ 2965056] (2965056-1.patch). - -2010-05-03 Jan Nijtmans - - * generic/tclIORChan.c: Use "tclIO.h" and "tclTomMathDecls.h" - * generic/tclIORTrans.c: everywhere - * generic/tclTomMath.h: - * tools/fix_tommath_h.tcl: - * libtommath/tommath.h: Formatting (# should always be first char on - line) - * win/tclAppInit.c: For MINGW/CYGWIN, use GetCommandLineA - explicitly. - * unix/.cvsignore: Add pkg, *.dll - - * libtommath/tommath.h: CONSTify various useful internal - * libtommath/bn_mp_cmp_d.c: functions (TclBignumToDouble, TclCeil, - * libtommath/bn_mp_cmp_mag.c: TclFloor), and related tommath functions - * libtommath/bn_mp_cmp.c: - * libtommath/bn_mp_copy.c: - * libtommath/bn_mp_count_bits.c: - * libtommath/bn_mp_div_2d.c: - * libtommath/bn_mp_mod_2d.c: - * libtommath/bn_mp_mul_2d.c: - * libtommath/bn_mp_neg.c: - * generic/tclBasic.c: Handle TODO: const correctness ? - * generic/tclInt.h: - * generic/tclStrToD.c: - * generic/tclTomMath.decls: - * generic/tclTomMath.h: - * generic/tclTomMathDecls.h: - -2010-04-30 Don Porter - - * generic/tcl.h: Bump patchlevel to 8.6b1.2 to distinguish - * library/init.tcl: CVS snapshots from earlier snapshots as well - * unix/configure.in: as the 8.6b1 and 8.6b2 releases. - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - - * generic/tclBinary.c (TclAppendBytesToByteArray): Add comments - * generic/tclInt.h (TclAppendBytesToByteArray): placing overflow - protection responsibility on caller. Convert "len" argument to signed - int which any value already vetted for overflow issues will fit into. - * generic/tclStringObj.c: Update caller; standardize panic msg. - - * generic/tclBinary.c (UpdateStringOfByteArray): [Bug 2994924]: Add - panic when the generated string representation would grow beyond Tcl's - size limits. - -2010-04-30 Donal K. Fellows - - * generic/tclBinary.c (TclAppendBytesToByteArray): Add extra armour - against buffer overflows. - - * generic/tclBasic.c (NRInterpCoroutine): Corrected handling of - * tests/coroutine.test (coroutine-6.4): arguments to deal with - trickier cases. - -2010-04-30 Miguel Sofer - - * tests/coroutine.test: testing coroutine arguments after [yield]: - check that only 0/1 allowed - -2010-04-30 Donal K. Fellows - - * generic/tclBasic.c (NRInterpCoroutine): Corrected handling of - arguments to deal with trickier cases. - - * generic/tclCompCmds.c (TclCompileVariableCmd): Slightly tighter - issuing of instructions. - - * generic/tclExecute.c (TclExecuteByteCode): Add peephole optimization - of the fact that INST_DICT_FIRST and INST_DICT_NEXT always have a - conditional jump afterwards. - - * generic/tclBasic.c (TclNRYieldObjCmd, TclNRYieldmObjCmd) - (NRInterpCoroutine): Replace magic values for formal argument counts - for coroutine command implementations with #defines, for an increase - in readability. - -2010-04-30 Jan Nijtmans - - * generic/tclMain.c: Unnecessary TCL_STORAGE_CLASS re-definition. It - was used for an ancient dummy reference to Tcl_LinkVar(), but that's - already gone since 2002-05-29. - -2010-04-29 Miguel Sofer - - * generic/tclCompExpr.c: Slight change in the literal sharing - * generic/tclCompile.c: mechanism to avoid shimmering of - * generic/tclCompile.h: command names. - * generic/tclLiteral.c: - -2010-04-29 Andreas Kupries - - * library/platform/platform.tcl: Another stab at getting the /lib, - * library/platform/pkgIndex.tcl: /lib64 difference right for linux. - * unix/Makefile.in: Package updated to version 1.0.7. - * win/Makefile.in: - -2010-04-29 Kevin B. Kenny - - * library/tzdata/Antarctica/Macquarie: - * library/tzdata/Africa/Casablanca: - * library/tzdata/Africa/Tunis: - * library/tzdata/America/Santiago: - * library/tzdata/America/Argentina/San_Luis: - * library/tzdata/Antarctica/Casey: - * library/tzdata/Antarctica/Davis: - * library/tzdata/Asia/Anadyr: - * library/tzdata/Asia/Damascus: - * library/tzdata/Asia/Dhaka: - * library/tzdata/Asia/Gaza: - * library/tzdata/Asia/Kamchatka: - * library/tzdata/Asia/Karachi: - * library/tzdata/Asia/Taipei: - * library/tzdata/Europe/Samara: - * library/tzdata/Pacific/Apia: - * library/tzdata/Pacific/Easter: - * library/tzdata/Pacific/Fiji: Olson's tzdata2010i. - -2010-04-29 Donal K. Fellows - - * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 2992970]: Make - * generic/tclStringObj.c (Tcl_AppendObjToObj): an append of a byte - array to another into an efficent operation. The problem was the (lack - of) a proper growth management strategy for the byte array. - -2010-04-29 Jan Nijtmans - - * compat/dirent2.h: Include "tcl.h", not , like everywhere - * compat/dlfcn.h: else, to ensure that the version in the Tcl - * compat/stdlib.h: distribution is used, not some version from - * compat/string.h: somewhere else. - * compat/unistd.h: - -2010-04-28 Jan Nijtmans - - * win/Makefile.in: Remove unused @MAN2TCLFLAGS@ - * win/tclWinPort.h: Move include from tclInt.h to - * generic/tclInt.h: tclWinPort.h, and eliminate unneeded - * generic/tclEnv.c: , and , which - are already in tclInt.h - * generic/regcustom.h: Move "tclInt.h" from regcustom.h up to - * generic/regex.h: regex.h. - * generic/tclAlloc.c: Unneeded include. - * generic/tclExecute.c: Fix gcc warning: comparison between signed and - unsigned. - -2010-04-28 Donal K. Fellows - - * generic/tclInt.h (TclIsVarDirectUnsettable): Corrected flags so that - deletion of traces is not optimized out... - - * generic/tclExecute.c (ExecuteExtendedBinaryMathOp) - (TclCompareTwoNumbers,ExecuteExtendedUnaryMathOp,TclExecuteByteCode): - [Patch 2981677]: Move the less common arithmetic operations (i.e., - exponentiation and operations on non-longs) out of TEBC for a big drop - in the overall size of the stack frame for most code. Net effect on - speed is minimal (slightly faster overall in tclbench). Also extended - the number of places where TRESULT handling is replaced with a jump to - dedicated code. - -2010-04-27 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Rearrange location of an - assignment to shorten the object code. - -2010-04-27 Jan Nijtmans - - * generic/tclIOUtil.c (Tcl_FSGetNativePath): [Bug 2992292]: - tclIOUtil.c assignment type mismatch compiler warning - * generic/regguts.h: If tclInt.h or tclPort.h is already - * generic/tclBasic.c: included, don't include - * generic/tclExecute.c: again. Follow-up to [Bug 2991415]: - * generic/tclIORChan.c: tclport.h #included before limits.h - * generic/tclIORTrans.c: See comments in [Bug 2991415] - * generic/tclObj.c: - * generic/tclOOInt.h: - * generic/tclStrToD.c: - * generic/tclTomMath.h: - * generic/tclTomMathInterface.c: - * generic/tclUtil.c: - * compat/strtod.c: - * compat/strtol.c: - -2010-04-27 Kevin B. Kenny - - * unix/tclLoadDl.c (FindSymbol): [Bug 2992295]: Simplified the logic - so that the casts added in Donal Fellows's change for the same bug are - no longer necessary. - -2010-04-26 Donal K. Fellows - - * unix/tclLoadDl.c (FindSymbol): [Bug 2992295]: Added an explicit cast - because auto-casting between function and non-function types is never - naturally warning-free. - - * generic/tclStubInit.c: Add a small amount of gcc-isms (with #ifdef - * generic/tclOOStubInit.c: guards) to ensure that warnings are issued - when these files are older than the various *.decls files. - -2010-04-25 Miguel Sofer - - * generic/tclBasic.c: Add unsupported [yieldm] command. Credit - * generic/tclInt.h: Lars Hellstrom for the basic idea. - -2010-04-24 Miguel Sofer - - * generic/tclBasic.c: Modify api of TclSpliceTailcall() to fix - * generic/tclExecute.c: [yieldTo], which had not survived the latest - * generic/tclInt.h: mods to tailcall. Thanks kbk for detecting - the problem. - -2010-04-23 Jan Nijtmans - - * unix/tclUnixPort.h: [Bug 2991415]: tclport.h #included before - limits.h - -2010-04-22 Jan Nijtmans - - * generic/tclPlatDecls.h: Move TCHAR fallback typedef from tcl.h to - * generic/tcl.h: tclPlatDecls.h (as suggested by dgp) - * generic/tclInt.h: fix typo - * generic/tclIOUtil.c: Eliminate various unnecessary - * unix/tclUnixFile.c: type casts. - * unix/tclUnixPipe.c: - * win/tclWinChan.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: - * win/tclWinLoad.c: - * win/tclWinPipe.c: - -2010-04-20 Jan Nijtmans - - * generic/tclTest.c: Use function prototypes from the FS API. - * compat/zlib/*: Upgrade to zlib 1.2.5 - -2010-04-19 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Improve commenting and - reduce indentation for the Invocation Block. - -2010-04-18 Donal K. Fellows - - * doc/unset.n: [Bug 2988940]: Fix typo. - -2010-04-15 Jan Nijtmans - - * win/tclWinPort.h: Move inclusion of from - * generic/tcl.h: tclPlatDecls.h to tclWinPort.h, where it - * generic/tclPlatDecls.h: belongs. Add fallback in tcl.h, so TCHAR is - available in win32 always. - -2010-04-15 Donal K. Fellows - - * doc/try.n: [Bug 2987551]: Fix typo. - -2010-04-14 Andreas Kupries - - * library/platform/platform.tcl: Linux platform identification: - * library/platform/pkgIndex.tcl: Check /lib64 for existence of files - * unix/Makefile.in: matching libc* before accepting it as base - * win/Makefile.in: directory. This can happen on weirdly installed - 32bit systems which have an empty or partially filled /lib64 without - an actual libc. Bumped to version 1.0.6. - -2010-04-13 Jan Nijtmans - - * win/tclWinPort.h: Fix [Patch 2986105]: conditionally defining - * win/tclWinFile.c: strcasecmp/strncasecmp - * win/tclWinLoad.c: Fix gcc warning: comparison of unsigned expression - >= 0 is always true - -2010-04-08 Donal K. Fellows - - * generic/tclCompCmdsSZ.c (TclSubstCompile): If the first token does - not result in a *guaranteed* push of a Tcl_Obj on the stack, we must - push an empty object. Otherwise it is possible to get to a 'concat1' - or 'done' without enough values on the stack, resulting in a crash. - Thanks to Joe Mistachkin for identifying a script that could trigger - this case. - -2010-04-07 Donal K. Fellows - - * doc/catch.n, doc/info.n, doc/return.n: Formatting. - -2010-04-06 Donal K. Fellows - - * doc/Load.3: Minor corrections of formatting and cross links. - -2010-04-06 Jan Nijtmans - - * win/configure: (regenerate with autoconf-2.59) - * unix/configure: - * unix/installManPage: [Bug 2982540]: configure and install* script - * unix/install-sh: files should always have LF line ending. - * doc/Load.3: Fix signature of Tcl_LoadFile in documentation. - -2010-04-05 Alexandre Ferrieux - - TIP #348 IMPLEMENTATION - - * generic/tclBasic.c: [Patch 2868499]: Substituted error stack - * generic/tclCmdIL.c: - * generic/tclInt.h: - * generic/tclNamesp.c: - * generic/tclResult.c: - * doc/catch.n: - * doc/info.n: - * doc/return.n: - * tests/cmdMZ.test: - * tests/error.test: - * tests/execute.test: - * tests/info.test: - * tests/init.test: - * tests/result.test: - -2010-04-05 Donal K. Fellows - - * unix/tcl.m4 (SC_ENABLE_THREADS): Flip the default for whether to - * win/tcl.m4 (SC_ENABLE_THREADS): build in threaded mode. Part of - * win/rules.vc: TIP #364. - - * unix/tclLoadDyld.c (FindSymbol): Better human-readable error message - generation to match code in tclLoadDl.c. - -2010-04-04 Donal K. Fellows - - * generic/tclIOUtil.c, unix/tclLoadDl.c: Minor changes to enforce - Engineering Manual style rules. - - * doc/FileSystem.3, doc/Load.3: Documentation for TIP#357. - - * macosx/tclMacOSXBundle.c (OpenResourceMap): [Bug 2981528]: Only - define this function when HAVE_COREFOUNDATION is defined. - -2010-04-02 Jan Nijtmans - - * generic/tcl.decls (Tcl_LoadFile): Add missing "const" in signature, - * generic/tclIOUtil.c (Tcl_LoadFile): and some formatting fixes - * generic/tclDecls.h: (regenerated) - -2010-04-02 Donal K. Fellows - - * generic/tclIOUtil.c (Tcl_LoadFile): Corrections to previous commit - * unix/tclLoadDyld.c (TclpDlopen): to make it build on OSX. - -2010-04-02 Kevin B. Kenny - - TIP #357 IMPLEMENTATION - TIP #362 IMPLEMENTATION - - * generic/tclStrToD.c: [Bug 2952904]: Defer creation of the smallest - floating point number until it is actually used. (This change avoids a - bogus syslog message regarding a 'floating point software assist - fault' on SGI systems.) - - * library/reg/pkgIndex.tcl: [TIP #362]: Fixed first round of bugs - * tests/registry.test: resulting from the recent commits of - * win/tclWinReg.c: changes in support of the referenced - TIP. - - * generic/tcl.decls: [TIP #357]: First round of changes - * generic/tclDecls.h: to export Tcl_LoadFile, - * generic/tclIOUtil.c: Tcl_FindSymbol, and Tcl_FSUnloadFile - * generic/tclInt.h: to the public API. - * generic/tclLoad.c: - * generic/tclLoadNone.c: - * generic/tclStubInit.c: - * tests/fileSystem.test: - * tests/load.test: - * tests/unload.test: - * unix/tclLoadDl.c: - * unix/tclLoadDyld.c: - * unix/tclLoadNext.c: - * unix/tclLoadOSF.c: - * unix/tclLoadShl.c: - * unix/tclUnixPipe.c: - * win/Makefile.in: - * win/tclWinLoad.c: - -2010-03-31 Donal K. Fellows - - * doc/registry.n: Added missing documentation of TIP#362 flags. - - * doc/package.n: [Bug 2980210]: Document the arguments taken by - the [package present] command correctly. - - * doc/Thread.3: Added some better documentation of how to create and - use a thread using the C-level thread API, based on realization that - no such tutorial appeared to exist. - -2010-03-31 Jan Nijtmans - - * test/cmdMZ.test: [FRQ 2974744]: share exception codes (ObjType?): - * test/error.test: Revised test cases, making sure that abbreviated - * test/proc-old.test: codes are checked resulting in an error, and - checking for the exact error message. - -2010-03-30 Andreas Kupries - - * generic/tclIORChan.c (ReflectClose, ReflectInput, ReflectOutput, - (ReflectSeekWide, ReflectWatch, ReflectBlock, ReflectSetOption, - (ReflectGetOption, ForwardProc): [Bug 2978773]: Preserve - ReflectedChannel* structures across handler invocations, to avoid - crashes when the handler implementation induces nested callbacks and - destruction of the channel deep inside such a nesting. - -2010-03-30 Don Porter - - * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2979402]: Reorder - the validity tests on internal rep of a "cmdName" value to avoid - invalid reads reported by valgrind. - -2010-03-30 Jan Nijtmans - - * generic/tclIndexObj: [FRQ 2974744]: share exception codes - * generic/tclResult.c: further optimization, making use of indexType. - * generic/tclZlib.c: [Bug 2979399]: uninitialized value troubles - -2010-03-30 Donal K. Fellows - - TIP #362 IMPLEMENTATION - - * win/tclWinReg.c: [Patch 2960976]: Apply patch from Damon Courtney to - * tests/registry.test: allow the registry command to be told to work - * win/Makefile.in: with both 32-bit and 64-bit registries. Bump - * win/configure.in: version of registry package to 1.3. - * win/makefile.bc: - * win/makefile.vc: - * win/configure: autoconf-2.59 - -2010-03-29 Jan Nijtmans - - * unix/tcl.m4: Only test for -visibility=hidden with gcc - (Second remark in [Bug 2976508]) - * unix/configure: regen - -2010-03-29 Don Porter - - * generic/tclStringObj.c: Fix array overrun in test format-1.12 - caught by valgrind testing. - -2010-03-27 Jan Nijtmans - - * generic/tclInt.h: [FRQ 2974744]: share exception codes - * generic/tclResult.c: (ObjType?) - * generic/tclCmdMZ.c: - * generic/tclCompCmdsSZ.c: - -2010-03-26 Jan Nijtmans - - * generic/tclExecute.c: [Bug 2976508]: Tcl HEAD fails on HP-UX - -2010-03-25 Donal K. Fellows - - * unix/tclUnixFCmd.c (TclUnixCopyFile): [Bug 2976504]: Corrected - number of arguments to fstatfs() call. - - * macosx/tclMacOSXBundle.c, macosx/tclMacOSXFCmd.c: - * macosx/tclMacOSXNotify.c: Reduce the level of ifdeffery in the - functions of these files to improve readability. They need to be - audited for whether complexity can be removed based on the minimum - supported version of OSX, but that requires a real expert. - -2010-03-24 Don Porter - - * generic/tclResult.c: [Bug 2383005]: Revise [return -errorcode] so - * tests/result.test: that it rejects illegal non-list values. - -2010-03-24 Donal K. Fellows - - * generic/tclOOInfo.c (InfoObjectMethodTypeCmd) - (InfoClassMethodTypeCmd): Added introspection of method types so that - it is possible to find this info out without using errors. - * generic/tclOOMethod.c (procMethodType): Now that introspection can - reveal the name of method types, regularize the name of normal methods - to be the name of the definition type used to create them. - - * tests/async.test (async-4.*): Reduce obscurity of these tests by - putting the bulk of the code for them inside the test body with the - help of [apply]. - - * generic/tclCmdMZ.c (TryPostBody, TryPostHandler): Make sure that the - [try] command does not trap unwinding due to limits. - -2010-03-23 Don Porter - - * generic/tclCmdMZ.c: [Bug 2973361]: Revised fix for computing - indices of script arguments to [try]. - -2010-03-23 Jan Nijtmans - - * generic/tclCmdMZ.c: Make error message in "try" implementation - * generic/tclCompCmdsSZ.c: exactly the same as the one in "return" - * tests/error.test: - * libtommath/mtests/mpi.c: Single "const" addition - -2010-03-22 Don Porter - - * generic/tclCmdMZ.c: [Bug 2973361]: Compute the correct integer - values to identify the argument indices of the various script - arguments to [try]. Passing in -1 led to invalid memory reads. - -2010-03-20 Donal K. Fellows - - * doc/exec.n: Make it a bit clearer that there is an option to run a - pipeline in the background. - - * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Lift the restriction - * generic/tclIO.c (TclCopyChannel, CopyData): on the [fcopy] command - * generic/tclIO.h (CopyState): that forced it to only - copy up to 2GB per script-level callback. Now it is anything that can - fit in a (signed) 64-bit integer. Problem identified by Frederic - Bonnet on comp.lang.tcl. Note that individual low-level reads and - writes are still smaller as the optimal buffer size is smaller. - -2010-03-20 Jan Nijtmans - - * win/stub16.c: Don't hide that we use the ASCII API here. - (does someone still use that?) - * win/tclWinPipe.c: 2 unnecessary type casts. - -2010-03-19 Donal K. Fellows - - * generic/tclCompCmdsSZ.c (TclCompileThrowCmd): Added compilation for - the [throw] command. - -2010-03-18 Don Porter - - * generic/tclListObj.c: [Bug 2971669]: Prevent in overflow trouble in - * generic/tclTestObj.c: ListObjReplace operations. Thanks to kbk for - * tests/listObj.test: fix and test. - -2010-03-18 Donal K. Fellows - - * generic/tclCompCmdsSZ.c (IssueTryFinallyInstructions): - [Bug 2971921]: Corrected jump so that it doesn't skip into the middle - of an instruction! Tightened the instruction issuing. Moved endCatch - calls closer to their point that they guard, ensuring correct ordering - of result values. - -2010-03-17 Andreas Kupries - - * generic/tclIORTrans.c (ReflectInput, ReflectOutput) - (ReflectSeekWide): [Bug 2921116]: Added missing TclEventuallyFree - calls for preserved ReflectedTransform* structures. Reworked - ReflectInput to preserve the structure for its whole life, not only in - InvokeTclMethod. - - * generic/tclIO.c (Tcl_GetsObj): [Bug 2921116]: Regenerate topChan, - may have been changed by a self-modifying transformation. - - * tests/ioTrans/test (iortrans-4.8, iortrans-4.9, iortrans-5.11) - (iortrans-7.4, iortrans-8.3): New test cases. - -2010-03-16 Jan Nijtmans - - * compat/zlib/*: Upgrade zlib to version 1.2.4. - * win/makefile.vc: - * unix/Makefile.in: - * win/tclWinChan.c: Don't cast away "const" without reason. - -2010-03-12 Jan Nijtmans - - * win/makefile.vc: [Bug 2967340]: Static build was failing. - * win/.cvsignore: - -2010-03-10 Jan Nijtmans - - * generic/tclTest.c: Remove unnecessary '&' decoration for - * generic/tclIOUtil.c: function pointers - * win/tclWin32Dll.c: Double declaration of TclNativeDupInternalRep - * unix/tclIOUtil.c: - * unix/dltest/.cvsignore: Ignore *.so here - -2010-03-09 Andreas Kupries - - * generic/tclIORChan.c: [Bug 2936225]: Thanks to Alexandre Ferrieux - * doc/refchan.n: for debugging and - * tests/ioCmd.test: fixing the problem. It is the write-side - equivalent to the bug fixed 2009-08-06. - -2010-03-09 Don Porter - - * library/tzdata/America/Matamoros: New locale - * library/tzdata/America/Ojinaga: New locale - * library/tzdata/America/Santa_Isabel: New locale - * library/tzdata/America/Asuncion: - * library/tzdata/America/Tijuana: - * library/tzdata/Antarctica/Casey: - * library/tzdata/Antarctica/Davis: - * library/tzdata/Antarctica/Mawson: - * library/tzdata/Asia/Dhaka: - * library/tzdata/Pacific/Fiji: - Olson tzdata2010c. - -2010-03-07 Jan Nijtmans - - * generic/tclTest.c: Test that tclOO stubs are present in stub - library - * generic/tclOOMethod.c: Applied missing part of [Patch 2961556] - * win/tclWinInt.h: Change all tclWinProcs signatures to use - * win/tclWin32Dll.c: TCHAR* in stead of WCHAR*. This is meant - * win/tclWinDde.c: as preparation to make [Enh 2965056] - * win/tclWinFCmd.c: possible at all. - * win/tclWinFile.c: - * win/tclWinPipe.c: - * win/tclWinSock.c: - -2010-03-06 Jan Nijtmans - - * generic/tclStubLib.c: Remove presence of tclTomMathStubsPtr here. - * generic/tclTest.c: Test that tommath stubs are present in stub - library. - -2010-03-05 Donal K. Fellows - - * generic/tclIORTrans.c (ForwardProc): [Bug 2964425]: When cleaning - the stables, it is sometimes necessary to do more than the minimum. In - this case, rationalizing the variables for a forwarded limit? method - required removing an extra Tcl_DecrRefCount too. - - * generic/tclOO.h, generic/tclOOInt.h: [Patch 2961556]: Change TclOO - to use the same style of function typedefs as Tcl, as this is about - the last chance to get this right. - - ***POTENTIAL INCOMPATIBILITY*** - Source code that uses function typedefs from TclOO will need to update - variables and argument definitions so that pointers to the function - values are used instead. Binary compatibility is not affected. - - * generic/*.c, generic/tclInt.h, unix/*.c, macosx/*.c: Applied results - of doing a Code Audit. Principal changes: - * Use do { ... } while (0) in macros - * Avoid shadowing one local variable with another - * Use clearer 'foo.bar++;' instead of '++foo.bar;' where result not - required (i.e., semantically equivalent); clarity is increased - because it is bar that is incremented, not foo. - * Follow Engineering Manual rules on spacing and declarations - -2010-03-04 Donal K. Fellows - - * generic/tclOO.c (ObjectRenamedTrace): [Bug 2962664]: Add special - handling so that when the class of classes is deleted, so is the class - of objects. Immediately. - - * generic/tclOOInt.h (ROOT_CLASS): Add new flag for specially marking - the root class. Simpler and more robust than the previous technique. - -2010-03-04 Jan Nijtmans - - * generic/tclGetDate.y: 3 unnecessary MODULE_SCOPE - * generic/tclDate.c: symbols - * generic/tclStubLib.c: Split tommath stub lib - * generic/tclTomMathStubLib.c: in separate file. - * win/makefile.bc: - * win/Makefile.in: - * win/makefile.vc: - * win/tcl.dsp: - * unix/Makefile.in: - * unix/tcl.m4: Cygwin only gives warning - * unix/configure: using -fvisibility=hidden - * compat/strncasecmp.c: A few more const's - * compat/strtod.c: - * compat/strtoul.c: - -2010-03-03 Andreas Kupries - - * doc/refchan.n: Followup to ChangeLog entry 2009-10-07 - (generic/tclIORChan.c). Fixed the documentation to explain that errno - numbers are operating system dependent, and reworked the associated - example. - -2010-03-02 Jan Nijtmans - - * unix/tcl.m4: [FRQ 2959069]: Support for -fvisibility=hidden - * unix/configure (regenerated with autoconf-2.59) - -2010-03-01 Alexandre Ferrieux - - * unix/tclUnixSock.c: Refrain from a possibly lengthy reverse-DNS - lookup on 0.0.0.0 when calling [fconfigure -sockname] on an - universally-bound (default) server socket. - - * generic/tclIndexObj.c: fix [AT 86258]: special-casing of empty - tables when generating error messages for [::tcl::prefix match]. - -2010-02-28 Donal K. Fellows - - * generic/tclCmdIL.c: More additions of {TCL LOOKUP} error-code - generation to various subcommands of [info] as part of long-term - project to classify all Tcl's generated errors. - -2010-02-28 Jan Nijtmans - - * generic/tclStubInit.c: [Bug 2959713]: Link error with gcc 4.1 - -2010-02-27 Donal K. Fellows - - * generic/tclCmdMZ.c (StringFirstCmd, StringLastCmd): [Bug 2960021]: - Only search for the needle in the haystack when the needle isn't - larger than the haystack. Prevents an odd crash from sometimes - happening when things get mixed up (a common programming error). - - * generic/tclMain.c (Tcl_Main): [Bug 801429]: Factor out the holding - of the client-installed main loop function into thread-specific data. - - ***POTENTIAL INCOMPATIBILITY*** - Code that previously tried to set the main loop from another thread - will now fail. On the other hand, there is a fairly high probability - that such programs would have been failing before due to the lack of - any kind of inter-thread memory barriers guarding accesses to this - part of Tcl's state. - -2010-02-26 Donal K. Fellows - - * generic/tclCompCmds.c: Split this file into two pieces to make it - * generic/tclCompCmdsSZ.c: easier to work with. It's still two very - long files even after the split. - -2010-02-26 Reinhard Max - - * doc/safe.n: Name the installed file after the command it documents. - Use "Safe Tcl" instead of the "Safe Base", "Safe Tcl" mixture. - -2010-02-26 Donal K. Fellows - - * unix/Makefile.in (NATIVE_TCLSH): Added this variable to allow for - better control of what tclsh to use for various scripts when doing - cross compiling. An imperfect solution, but works. - - * unix/installManPage: Remap non-alphanumeric sequences in filenames - to single underscores (especially colons). - -2010-02-26 Pat Thoyts - - * tests/zlib.test: Add tests for [Bug 2818131] which was crashing with - mismatched zlib algorithms used in combination with gets. This issue - has been fixed by Andreas's last commit. - -2010-02-25 Jan Nijtmans - - * generic/tclHash.c: [FRQ 2958832]: Further speed-up of the - * generic/tclLiteral.c: ouster-hash function. - * generic/tclObj.c: - * generic/tclCkalloc.c: Eliminate various unnecessary (ClientData) - * generic/tclTest.c: type casts. - * generic/tclTestObj.c: - * generic/tclTestProcBodyObj.c: - * unix/tclUnixTest.c: - * unix/tclUnixTime.c: - * unix/tclXtTest.c: - -2010-02-24 Donal K. Fellows - - * generic/tclDictObj.c (SetDictFromAny): Prevent the list<->dict - * generic/tclListObj.c (SetListFromAny): conversion code from taking - too many liberties. Stops loss of duplicate keys in some scenarios. - Many thanks to Jean-Claude Wippler for finding this. - - * generic/tclExecute.c (TclExecuteByteCode): Reduce ifdef-fery and - size of activation record. More variables shared across instructions - than before. - - * doc/socket.n: [Bug 2957688]: Clarified that [socket -server] works - with a command prefix. Extended example to show this in action. - -2010-02-22 Andreas Kupries - - * generic/tclZlib.c (ZlibTransformInput): [Bug 2762041]: Added a hack - to work around the general problem, early EOF recognition based on the - base-channel, instead of the data we have ready for reading in the - transform. Long-term we need a proper general fix (likely tracking EOF - on each level of the channel stack), with attendant complexity. - Furthermore, Z_BUF_ERROR can be ignored, and must be when feeding the - zlib code with single characters. - -2010-02-22 Jan Nijtmans - - * unix/tclUnixPort.h: Remove unnecessary EXTERN's, which already are - in the global stub table. - * unix/configure.in: Use @EXEEXT@ in stead of @EXT_SUFFIX@ - * unix/tcl.m4: - * unix/Makefile.in: Use -DBUILD_tcl for CYGWIN - * unix/configure: (regenerated) - * unix/dltest/pkg*.c: Use EXTERN to control CYGWIN exported symbols - * generic/tclCmdMZ.c: Remove some unnecessary type casts. - * generic/tclCompCmds.c: - * generic/tclTest.c: - * generic/tclUtil.c: - -2010-02-21 Mo DeJong - - * tests/regexp.test: Add test cases back ported from Jacl regexp work. - -2010-02-21 Jan Nijtmans - - * generic/tclDate.c: Some more const tables. - * generic/tclGetDate.y: - * generic/regc_lex.c: - * generic/regerror.c: - * generic/tclStubLib.c: - * generic/tclBasic.c: Fix [Bug 2954959] expr abs(0.0) is -0.0 - * tests/expr.test: - -2010-02-20 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileStringLenCmd): Make [string length] - of a constant string be handled better (i.e., handle backslashes too). - -2010-02-19 Stuart Cassoff - - * tcl.m4: Correct compiler/linker flags for threaded builds on - OpenBSD. - * configure: (regenerated). - -2010-02-19 Donal K. Fellows - - * unix/installManPage: [Bug 2954638]: Correct behaviour of manual page - installer. Also added armouring to check that assumptions about the - initial state are actually valid (e.g., look for existing input file). - -2010-02-17 Donal K. Fellows - - * generic/tclHash.c (HashStringKey): Restore these hash functions - * generic/tclLiteral.c (HashString): to use the classic algorithm. - * generic/tclObj.c (TclHashObjKey): Community felt normal case - speed to be more important than resistance to malicious cases. For - now, hashes that need to deal with the malicious case can use a custom - hash table and install their own hash function, though that is not - functionality exposed to the script level. - - * generic/tclCompCmds.c (TclCompileDictUpdateCmd): Stack depth must be - correctly described when compiling a body to prevent crashes in some - debugging modes. - -2010-02-16 Jan Nijtmans - - * generic/tclInt.h: Change order of various struct members, - fixing potential binary incompatibility with Tcl 8.5 - -2010-02-16 Donal K. Fellows - - * unix/configure.in, generic/tclIOUtil.c (Tcl_Stat): Updated so that - we do not assume that all unix systems have the POSIX blkcnt_t type, - since OpenBSD apparently does not. - - * generic/tclLiteral.c (HashString): Missed updating to FNV in one - place; the literal table (a copy of the hash table code...) - -2010-02-15 Jan Nijtmans - - * tools/genStubs.tcl: Reverted earlier rename from tcl*Stubs to - * generic/tclBasic.c: tcl*ConstStubs, it's not necessary at all. - * generic/tclOO.c: - * generic/tclTomMathInterface.c: - * generic/tclStubInit.c: (regenerated) - * generic/tclOOStubInit.c: (regenerated) - * generic/tclEnsemble.c:Fix signed-unsigned mismatch - * win/tclWinInt.h: make tclWinProcs "const" - * win/tclWin32Dll.c: - * win/tclWinFCmd.c: Eliminate all internal Tcl_WinUtfToTChar - * win/tclWinFile.c: and Tcl_WinTCharToUtf calls, needed - * win/tclWinInit.c: for mslu support. - * win/tclWinLoad.c: - * win/tclWinPipe.c: - * win/tclWinSerial.c: - * win/.cvsignore: - * compat/unicows/readme.txt: [FRQ 2819611]: Add first part of MSLU - * compat/unicows/license.txt: support. - * compat/unicows/unicows.lib: - -2010-02-15 Donal K. Fellows - - * generic/tclOO.c (AllocObject, SquelchedNsFirst, ObjectRenamedTrace): - * generic/tclNamesp.c (Tcl_DeleteNamespace): [Bug 2950259]: Revised - the namespace deletion code to provide an additional internal callback - that gets triggered early enough in namespace deletion to allow TclOO - destructors to run sanely. Adjusted TclOO to take advantage of this, - so making tearing down an object by killing its namespace appear to - work seamlessly, which is needed for Itcl. (Note that this is not a - feature that will ever be backported to 8.5, and it remains not a - recommended way of deleting an object.) - -2010-02-13 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Divided the [switch] - compiler into three pieces (after the model of [try]): a parser, an - instruction-issuer for chained tests, and an instruction-issuer for - jump tables. - - * generic/tclEnsemble.c: Split the ensemble engine out into its own - file rather than keeping it mashed together with the namespace code. - -2010-02-12 Jan Nijtmans - - * win/tcl.m4: Use -pipe for gcc on win32 - * win/configure: (mingw/cygwin) (regenerated) - * win/.cvsignore: Add .lib, .exp and .res here - -2010-02-11 Mo DeJong - - * tests/list.test: Add tests for explicit \0 in a string argument to - the list command. - -2010-02-11 Donal K. Fellows - - * generic/tclIOCmd.c (Tcl_OpenObjCmd): [Bug 2949740]: Make sure that - we do not try to put a NULL pipeline channel into binary mode. - -2010-02-11 Mo DeJong - - [Bug 2826551, Patch 2948425]: Assorted regexp bugs related to -all, - -line and -start options and newlines. - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): If -offset is given, treat it - as the start of the line if the previous character was a newline. Fix - nasty edge case where a zero length match would not advance the index. - * tests/regexp.test: Add regression tests back ported from Jacl. - Checks for a number of issues related to -line and newline handling. A - few of tests were broken before the patch and continue to be broken, - marked as knownBug. - -2010-02-11 Donal K. Fellows - - * generic/tclOO.c (ObjectRenamedTrace): [Bug 2949397]: Prevent - destructors from running on the two core class objects when the whole - interpreter is being destroyed. - -2010-02-09 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileTryCmd, IssueTryInstructions) - (IssueTryFinallyInstructions): Added compiler for the [try] command. - It is split into three pieces that handle the parsing of the tokens, - the issuing of instructions for finally-free [try], and the issuing of - instructions for [try] with finally; there are enough differences - between the all cases that it was easier to split the code rather than - have a single function do the whole thing. - -2010-02-09 Alexandre Ferrieux - - * tools/genStubs.tcl: Remove dependency on 8.5+ idiom "in" in - expressions. - -2010-02-08 Donal K. Fellows - - * generic/tclZlib.c (Tcl_ZlibDeflate, Tcl_ZlibInflate): [Bug 2947783]: - Make sure that the result is an unshared object before appending to it - so that nothing crashes if it is shared (use in Tcl code was not - affected by this, but use from C was an issue). - -2010-02-06 Donal K. Fellows - - * generic/tclHash.c (HashStringKey): Replace Tcl's crusty old hash - * generic/tclObj.c (TclHashObjKey): function with the algorithm - due to Fowler, Noll and Vo. This is slightly faster (assuming the - presence of hardware multiply) and has somewhat better distribution - properties of the resulting hash values. Note that we only ever used - the 32-bit version of the FNV algorithm; Tcl's core hash engine - assumes that hash values are simple unsigned ints. - - ***POTENTIAL INCOMPATIBILITY*** - Code that depends on hash iteration order (especially tests) may well - be disrupted by this. Where a definite order is required, the fix is - usually to just sort the results after extracting them from the hash. - Where this is insufficient, the code that has ceased working was - always wrong and was only working by chance. - -2010-02-05 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileErrorCmd): Added compilation of the - [error] command. No new bytecodes. - -2010-02-05 Jan Nijtmans - - * tools/genStubs.tcl: Follow-up to earlier commit today: - Eliminate the need for an extra Stubs Pointer for adressing - a static stub table: Just change the exported table from - static to MODULE_SCOPE. - * generic/tclBasic.c - * generic/tclOO.c - * generic/tclTomMathInterface.c - * generic/tcl*Decls.h (regenerated) - * generic/tclStubInit.c (regenerated) - * generic/tclOOStubInit.c (regenerated) - * generic/tclTest.c (minor formatting) - -2010-02-05 Donal K. Fellows - - * generic/tclVar.c: More consistency in errorcode generation. - - * generic/tclOOBasic.c (TclOO_Object_Destroy): Rewrote to be NRE-aware - when calling destructors. Note that there is no guarantee that - destructors will always be called in an NRE context; that's a feature - of the 'destroy' method only. - - * generic/tclEncoding.c: Add 'const' to many function-internal vars - that are never pointing to things that are written to. - -2010-02-05 Jan Nijtmans - - * tools/genStubs.tcl: Follow-up to [2010-01-29] commit: - prevent space within stub table function parameters if the - parameter type is a pointer. - * win/tclWinInt.h: Minor Formatting - * generic/tcl.h: VOID -> void and other formatting - * generic/tclInt.h: Minor formatting - * generic/tclInt.decls: Change signature of TclNRInterpProcCore, - * generic/tclOO.decls: and TclOONewProc(Instance|)MethodEx, - * generic/tclProc.c: indicating that errorProc is a function, - * generic/tclOOMethod.c:pointer, and other formatting - * generic/tcl*Decls.h: (regenerated) - * generic/tclVar.c: gcc warning(line 3703): 'pattern' may be used - uninitialized in this function - gcc warning(line 3788): 'matched' may be used - uninitialized in this function - -2010-02-04 Donal K. Fellows - - * generic/tclVar.c: Added more use of error-codes and reduced the - stack overhead of older interfaces. - (ArrayGetCmd): Stop silly crash when using a trivial pattern due to - error in conversion to ensemble. - (ArrayNamesCmd): Use the object RE interface for faster matching. - -2010-02-03 Donal K. Fellows - - * generic/tclVar.c (ArrayUnsetCmd): More corrections. - -2010-02-02 Donal K. Fellows - - * generic/tclVar.c: Turned the [array] command into a true ensemble. - - * generic/tclOO.c (AllocObject, MyDeleted): A slightly faster way to - handle the deletion of [my] is with a standard delete callback. This - is because it doesn't require an additional memory allocation during - object creation. Also reduced the amount of string manipulation - performed during object creation to further streamline memory - handling; this is not backported to the 8.5 package as it breaks a - number of abstractions. - - * generic/tclOOBasic.c (TclOO_Object_Destroy): [Bug 2944404]: Do not - crash when a destructor deletes the object that is executing that - destructor. - -2010-02-01 Donal K. Fellows - - * generic/tclVar.c (Tcl_ArrayObjCmd): [Bug 2939073]: Stop the [array - unset] command from having dangling pointer problems when an unset - trace deletes the element that is going to be processed next. Many - thanks to Alexandre Ferrieux for the bulk of this fix. - - * generic/regexec.c (ccondissect, crevdissect): [Bug 2942697]: Rework - these functions so that certain pathological patterns are matched much - more rapidly. Many thanks to Tom Lane for dianosing this issue and - providing an initial patch. - -2010-01-30 Donal K. Fellows - - * generic/tclCompile.c (tclInstructionTable): Bytecode instructions - * generic/tclCompCmds.c (TclCompileUnsetCmd): to allow the [unset] - * generic/tclExecute.c (TclExecuteByteCode): command to be compiled - with the compiler being a complete compilation for all compile-time - decidable uses. - - * generic/tclVar.c (TclPtrUnsetVar): Var reference version of the code - to unset a variable. Required for INST_UNSET bytecodes. - -2010-01-29 Jan Nijtmans - - * generic/tcl.h: [Bug 2942081]: Reverted Tcl_ThreadDataKey type change - Changed some Tcl_CallFrame fields from "char *" - to "void *". This saves unnecessary space on - Cray's (and it's simply more correct). - - * tools/genStubs.tcl: No longer generate a space after "*" and - immediately after a function name, so the - format of function definitions in tcl*Decls.h - match all other tcl*.h header files. - * doc/ParseArgs.3: Change Tcl_ArgvFuncProc, Tcl_ArgvGenFuncProc - * generic/tcl.h: and GetFrameInfoValueProc to be function - * generic/tclInt.h: definitions, not pointers, for consistency - * generic/tclOOInt.h: with all other Tcl function definitions. - * generic/tclIndexObj.c: - * generic/regguts.h: CONST -> const - * generic/tcl.decls: Formatting - * generic/tclTomMath.decls: Formatting - * generic/tclDecls.h: (regenerated) - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclOODecls.h: - * generic/tclOOIntDecls.h: - * generic/tclPlatDecls.h: - * generic/tclTomMathDecls.h: - -2010-01-28 Donal K. Fellows - - * generic/tclOOBasic.c (TclOO_Object_Destroy): Move the execution of - destructors to a point where they can produce an error. This will not - work for all destructors, but it does mean that more failing calls of - them will be caught. - * generic/tclOO.c (AllocObject, MyDeletedTrace, ObjectRenamedTrace): - (ObjectNamespaceDeleted): Stop various ways of getting at commands - with dangling pointers to the object. Also increases the reliability - of calling of destructors (though most destructors won't benefit; when - an object is deleted namespace-first, its destructors are not run in a - nice state as the namespace is partially gone). - -2010-01-25 Jan Nijtmans - - * generic/tclOOStubInit.c: Remove double includes (which causes a - * generic/tclOOStubLib.c: warning in CYGWIN compiles) - * unix/.cvsignore: add confdefs.h - -2010-01-22 Donal K. Fellows - - * doc/proc.n: [Bug 1970629]: Define a bit better what the current - namespace of a procedure is. - -2010-01-22 Jan Nijtmans - - * generic/tclInt.decls: Don't use DWORD and HANDLE here. - * generic/tclIntPlatDecls.h: - * generic/tcl.h: Revert [2009-12-21] change, instead - * generic/tclPort.h: resolve the CYGWIN inclusion problems by - * win/tclWinPort.h: re-arranging the inclusions at other - places. - * win/tclWinError.c - * win/tclWinPipe.c - * win/tcl.m4: Make cygwin configuration error into - * win/configure.in: a warning: CYGWIN compilation works - * win/configure: although there still are test failures. - -2010-01-22 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Improve error code - generation from some of the tailcall-related bits of TEBC. - -2010-01-21 Miguel Sofer - - * generic/tclCompile.h: [Bug 2910748]: NRE-enable direct eval on BC - * generic/tclExecute.c: spoilage. - * tests/nre.test: - -2010-01-19 Donal K. Fellows - - * doc/dict.n: [Bug 2929546]: Clarify just what [dict with] and [dict - update] are doing with variables. - -2010-01-18 Andreas Kupries - - * generic/tclIO.c (CreateScriptRecord): [Bug 2918110]: Initialize - the EventScriptRecord (esPtr) fully before handing it to - Tcl_CreateChannelHandler for registration. Otherwise a reflected - channel calling 'chan postevent' (== Tcl_NotifyChannel) in its - 'watchProc' will cause the function 'TclChannelEventScriptInvoker' - to be run on an uninitialized structure. - -2010-01-18 Donal K. Fellows - - * generic/tclStringObj.c (Tcl_AppendFormatToObj): [Bug 2932421]: Stop - the [format] command from causing argument objects to change their - internal representation when not needed. Thanks to Alexandre Ferrieux - for this fix. - -2010-01-13 Donal K. Fellows - - * tools/tcltk-man2html.tcl: More factoring out of special cases - * tools/tcltk-man2html-utils.tcl: so that they are described outside - the engine file. Now there is only one real set of special cases in - there, to handle the .SO/.OP/.SE directives. - -2010-01-13 Jan Nijtmans - - * generic/tcl.h: Fix TCL_LL_MODIFIER for Cygwin - * generic/tclEnv.c: Fix CYGWIN compilation problems, - * generic/tclInt.h: and remove some unnecessary - * generic/tclPort.h: double includes. - * generic/tclPlatDecls.h: - * win/cat.c: - * win/tclWinConsole.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: - * win/tclWinPipe.c: - * win/tclWinSerial.c: - * win/tclWinThrd.c: - * win/tclWinPort.h: Put win32 includes first - * unix/tclUnixChan.c: Forgot one CONST change - -2010-01-12 Donal K. Fellows - - * tools/tcltk-man2html.tcl: Make the generation of the list of things - to process the docs from simpler and more flexible. Also factored out - the lists of special cases. - -2010-01-10 Jan Nijtmans - - * win/tclWinDde.c: VC++ 6.0 doesn't have - * win/tclWinReg.c: PDWORD_PTR - * win/tclWinThrd.c: Fix various minor gcc warnings. - * win/tclWinTime.c: - * win/tclWinConsole.c: Put channel type definitions - * win/tclWinChan.c: in static const memory - * win/tclWinPipe.c: - * win/tclWinSerial.c: - * win/tclWinSock.c: - * generic/tclIOGT.c: - * generic/tclIORChan.c: - * generic/tclIORTrans.c: - * unix/tclUnixChan.c: - * unix/tclUnixPipe.c: - * unix/tclUnixSock.c: - * unix/configure: (regenerated with autoconf 2.59) - * tests/info.test: Make test independant from - tcltest implementation. - -2010-01-10 Donal K. Fellows - - * tests/namespace.test (namespace-51.17): [Bug 2898722]: Demonstrate - that there are still bugs in the handling of resolution epochs. This - bug is not yet fixed. - - * tools/tcltk-man2html.tcl: Split the man->html converter into - * tools/tcltk-man2html-utils.tcl: two pieces for easier maintenance. - Also made it much less verbose in its printed messages by default. - -2010-01-09 Donal K. Fellows - - * tools/tcltk-man2html.tcl: Added basic support for building the docs - for contributed packages into the HTML versions. Prompted by question - on Tcler's Chat by Tom Krehbiel. Note that there remain problems in - the documentation generated due to errors in the contributed docs. - -2010-01-05 Don Porter - - * generic/tclPathObj.c (TclPathPart): [Bug 2918610]: Correct - * tests/fileName.test (filename-14.31): inconsistency between the - string rep and the intrep of a path value created by [file rootname]. - Thanks to Vitaly Magerya for reporting. - -2010-01-03 Donal K. Fellows - - * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 1636685]: Use the configuration - for modern FreeBSD suggested by the FreeBSD porter. - -2010-01-03 Miguel Sofer - - * generic/tclBasic.c: [Bug 2724403]: Fix leak of coroutines on - * generic/tclCompile.h: namespace deletion. Added a test for this - * generic/tclNamesp.c: leak, and also a test for leaks on namespace - * tests/coroutine.test: deletion. - * tests/namespace.test: - -2009-12-30 Donal K. Fellows - - * library/safe.tcl (AliasSource): [Bug 2923613]: Make the safer - * tests/safe.test (safe-8.9): [source] handle a [return] at the - end of the file correctly. - -2009-12-30 Miguel Sofer - - * library/init.tcl (unknown): [Bug 2824981]: Fix infinite recursion of - ::unknown when [set] is undefined. - -2009-12-29 Donal K. Fellows - - * generic/tclHistory.c (Tcl_RecordAndEvalObj): Reduce the amount of - allocation and deallocation of memory by caching objects in the - interpreter assocData table. - - * generic/tclObj.c (Tcl_GetCommandFromObj): Rewrite the logic so that - it does not require making assignments part way through an 'if' - condition, which was deeply unclear. - - * generic/tclInterp.c (Tcl_MakeSafe): [Bug 2895741]: Make sure that - the min() and max() functions are supported in safe interpreters. - -2009-12-29 Pat Thoyts - - * generic/tclBinary.c: [Bug 2922555]: Handle completely invalid input - * tests/binary.test: to the decode methods. - -2009-12-28 Donal K. Fellows - - * unix/Makefile.in (trace-shell, trace-test): [FRQ 1083288]: Added - targets to allow easier tracing of shell and test invocations. - - * unix/configure.in: [Bug 942170]: Detect the st_blocks field of - * generic/tclCmdAH.c (StoreStatData): 'struct stat' correctly. - * generic/tclFileName.c (Tcl_GetBlocksFromStat): - * generic/tclIOUtil.c (Tcl_Stat): - - * generic/tclInterp.c (TimeLimitCallback): [Bug 2891362]: Ensure that - * tests/interp.test (interp-34.13): the granularity ticker is - reset when we check limits because of the time limit event firing. - -2009-12-27 Donal K. Fellows - - * doc/namespace.n (SCOPED SCRIPTS): [Bug 2921538]: Updated example to - not be quite so ancient. - -2009-12-25 Jan Nijtmans - - * generic/tclCmdMZ.c: CONST -> const - * generic/tclParse.c - -2009-12-23 Donal K. Fellows - - * library/safe.tcl (AliasSource, AliasExeName): [Bug 2913625]: Stop - information about paths from leaking through [info script] and [info - nameofexecutable]. - -2009-12-23 Jan Nijtmans - - * unix/tcl.m4: Install libtcl8.6.dll in bin directory - * unix/Makefile.in: - * unix/configure: (regenerated) - -2009-12-22 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): [Bug 2918962]: Stop crash when - -index and -stride are used together. - -2009-12-21 Jan Nijtmans - - * generic/tclThreadStorage.c: Fix gcc warning, using gcc-4.3.4 on - cygwin: missing initializer - * generic/tclOOInt.h: Prevent conflict with DUPLICATE - definition in WINAPI's nb30.h - * generic/rege_dfa.c: Fix macro conflict on CYGWIN: don't use - "small". - * generic/tcl.h: Include before on - CYGWIN - * generic/tclPathObj.c - * generic/tclPort.h - * tests/env.test: Don't unset WINDIR and TERM, it has a - special meaning on CYGWIN (both in UNIX - and WIN32 mode!) - * generic/tclPlatDecls.h: Include through tclPlatDecls.h - * win/tclWinPort.h: stricmp -> strcasecmp - * win/tclWinDde.c: _wcsicmp -> wcscasecmp - * win/tclWinFile.c - * win/tclWinPipe.c - * win/tclWinSock.c - * unix/tcl.m4: Add dynamic loading support to CYGWIN - * unix/configure (regenerated) - * unix/Makefile.in - -2009-12-19 Miguel Sofer - - * generic/tclBasic.c: [Bug 2917627]: Fix for bad cmd resolution by - * tests/coroutine.test: coroutines. Thanks to schelte for finding it. - -2009-12-16 Donal K. Fellows - - * library/safe.tcl (::safe::AliasGlob): Upgrade to correctly support a - larger fraction of [glob] functionality, while being stricter about - directory management. - -2009-12-11 Jan Nijtmans - - * generic/tclTest.c: Fix gcc warning: ignoring return value of - * unix/tclUnixNotify.c: "write", declared with attribute - * unix/tclUnixPipe.c: warn_unused_result. - * generic/tclInt.decls: CONSTify functions TclpGetUserHome and - * generic/tclIntDecls.h:TclSetPreInitScript (TIP #27) - * generic/tclInterp.c: - * win/tclWinFile.c: - * unix/tclUnixFile.c: - -2009-12-16 Donal K. Fellows - - * doc/tm.n: [Bug 1911342]: Formatting rewrite to avoid bogus crosslink - to the list manpage when generating HTML. - - * library/msgcat/msgcat.tcl (Init): [Bug 2913616]: Do not use platform - tests that are not needed and which don't work in safe interpreters. - -2009-12-14 Donal K. Fellows - - * doc/file.n (file tempfile): [Bug 2388866]: Note that this only ever - creates files on the native filesystem. This is a design feature. - -2009-12-13 Miguel Sofer - - * generic/tclBasic.c: Release TclPopCallFrame() from its - * generic/tclExecute.c: tailcall-management duties - * generic/tclNamesp.c: - - * generic/tclBasic.c: Moving TclBCArgumentRelease call from - * generic/tclExecute.c: TclNRTailcallObjCmd to TEBC, so that the - pairing of the Enter and Release calls is clearer. - -2009-12-12 Donal K. Fellows - - * generic/tclTest.c (TestconcatobjCmd): [Bug 2895367]: Stop memory - leak when testing. We don't need extra noise of this sort when - tracking down real problems! - -2009-12-11 Jan Nijtmans - - * generic/tclBinary.c: Fix gcc warning, using gcc-4.3.4 on cygwin - * generic/tclCompExpr.c:warning: array subscript has type 'char' - * generic/tclPkg.c: - * libtommath/bn_mp_read_radix.c: - * win/makefile.vc: [Bug 2912773]: Revert to version 1.203 - * unix/tclUnixCompat.c: Fix gcc warning: signed and unsigned type - in conditional expression. - -2009-12-11 Donal K. Fellows - - * tools/tcltk-man2html.tcl (long-toc, cross-reference): [FRQ 2897296]: - Added cross links to sections within manual pages. - -2009-12-11 Miguel Sofer - - * generic/tclBasic.c: [Bug 2806407]: Full nre-enabling of coroutines - * generic/tclExecute.c: - - * generic/tclBasic.c: Small cleanup - - * generic/tclExecute.c: Fix panic in http11.test caused by buggy - earlier commits in coroutine management. - -2009-12-10 Andreas Kupries - - * generic/tclObj.c (TclContinuationsEnter): [Bug 2895323]: Updated - comments to describe when the function can be entered for the same - Tcl_Obj* multiple times. This is a continuation of the 2009-11-10 - entry where a memory leak was plugged, but where not sure if that was - just a band-aid to paper over some other error. It isn't, this is a - legal situation. - -2009-12-10 Miguel Sofer - - * generic/tclBasic.c: Reducing the # of moving parts for coroutines - * generic/tclExecute.c: by delegating more to tebc; eliminate the - special coroutine CallFrame. - -2009-12-09 Andreas Kupries - - * generic/tclIO.c: [Bug 2901998]: Applied Alexandre Ferrieux's patch - fixing the inconsistent buffered I/O. Tcl's I/O now flushes buffered - output before reading, discards buffered input before writing, etc. - -2009-12-09 Miguel Sofer - - * generic/tclBasic.c: Ensure right lifetime of varFrame's (objc,objv) - for coroutines. - - * generic/tclExecute.c: Code regrouping - -2009-12-09 Donal K. Fellows - - * generic/tclBasic.c: Added some of the missing setting of errorcode - values. - -2009-12-08 Miguel Sofer - - * generic/tclExecute.c (TclStackFree): Improved panic msg. - -2009-12-08 Miguel Sofer - - * generic/tclBasic.c: Partial nre-enabling of coroutines. The - * generic/tclExecute.c: initial call still requires its own - * generic/tclInt.h: instance of tebc, but on resume coros can - execute in the caller's tebc. - - * generic/tclExecute.c (TEBC): Silence warning about pcAdjustment. - -2009-12-08 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Make the dict opcodes - more sparing in their use of C variables, to reduce size of TEBC - activiation record a little bit. - -2009-12-07 Miguel Sofer - - * generic/tclExecute.c (TEBC): Grouping "slow" variables into structs, - to reduce register pressure and help the compiler with variable - allocation. - -2009-12-07 Miguel Sofer - - * generic/tclExecute.c: Start cleaning the TEBC stables - * generic/tclInt.h: - - * generic/tclCmdIL.c: [Bug 2910094]: Fix by aku - * tests/coroutine.test: - - * generic/tclBasic.c: Arrange for [tailcall] to be created with the - other builtins: was being created in a separate call, leftover from - pre-tip days. - -2009-12-07 Don Porter - - * generic/tclStrToD.c: [Bug 2902010]: Correct conditional compile - directives to better detect the toolchain that needs extra work for - proper underflow treatment instead of merely detecting the MIPS - platform. - -2009-12-07 Miguel Sofer - - * generic/tclBasic.c: [Patch 2910056]: Add ::tcl::unsupported::yieldTo - * generic/tclInt.h: - -2009-12-07 Donal K. Fellows - - * generic/tclCmdMZ.c (TryPostBody): [Bug 2910044]: Close off memory - leak in [try] when a variable-free handler clause is present. - -2009-12-05 Miguel Sofer - - * generic/tclBasic.c: Small changes for clarity in tailcall - * generic/tclExecute.c: and coroutine code. - * tests/coroutine.test: - - * tests/tailcall.test: Remove some old unused crud; improved the - stack depth tests. - - * generic/tclBasic.c: Fixed things so that you can tailcall - * generic/tclNamesp.c: properly out of a coroutine. - * tests/tailcall.test: - - * generic/tclInterp.c: Fixed tailcalls for same-interp aliases (no - test) - -2009-12-03 Donal K. Fellows - - * library/safe.tcl (::safe::AliasEncoding): Make the safe encoding - command behave more closely like the unsafe one (for safe ops). - (::safe::AliasGlob): [Bug 2906841]: Clamp down on evil use of [glob] - in safe interpreters. - * tests/safe.test: Rewrite to use tcltest2 better. - -2009-12-02 Jan Nijtmans - - * tools/genStubs.tcl: Add support for win32 CALLBACK functions and - remove obsolete "emitStubs" and "genStubs" functions. - * win/Makefile.in: Use tcltest86.dll for all tests, and add - .PHONY rules to preemptively stop trouble that plagued Tk from hitting - Tcl too. - -2009-11-30 Jan Nijtmans - - * generic/tcl.h: Don't use EXPORT for Tcl_InitStubs - * win/Makefile.in: Better dependancies in case of static build. - -2009-11-30 Donal K. Fellows - - * doc/Tcl.n: [Bug 2901433]: Improved description of expansion to - mention that it is using list syntax. - -2009-11-27 Kevin B. Kenny - - * win/tclAppInit.c (Tcl_AppInit): [Bug 2902965]: Reverted Jan's change - that added a call to Tcl_InitStubs. The 'tclsh' and 'tcltest' programs - are providers, not consumers of the Stubs table, and should not link - with the Stubs library, but only with the main Tcl library. (In any - case, the presence of Tcl_InitStubs broke the build.) - -2009-11-27 Donal K. Fellows - - * doc/BoolObj.3, doc/Class.3, doc/CrtChannel.3, doc/DictObj.3: - * doc/DoubleObj.3, doc/Ensemble.3, doc/Environment.3: - * doc/FileSystem.3, doc/Hash.3, doc/IntObj.3, doc/Limit.3: - * doc/Method.3, doc/NRE.3, doc/ObjectType.3, doc/PkgRequire.3: - * doc/SetChanErr.3, doc/SetResult.3: [Patch 2903921]: Many small - spelling fixes from Larry Virden. - - BUMP VERSION OF TCLOO TO 0.6.2. Too many people need accumulated small - versions and bugfixes, so the version-bump removes confusion. - - * generic/tclOOBasic.c (TclOO_Object_LinkVar): [Bug 2903811]: Remove - unneeded restrictions on who can usefully call this method. - -2009-11-26 Donal K. Fellows - - * unix/Makefile.in: Add .PHONY rules and documentation to preemptively - stop trouble that plagued Tk from hitting Tcl too, and to make the - overall makefile easier to understand. Some reorganization too to move - related rules closer together. - -2009-11-26 Jan Nijtmans - - * win/Makefile.in: [Bug 2902965]: Fix stub related changes that - * win/makefile.vc: caused tclkit build to break. - * win/tclAppInit.c - * unix/tcl.m4 - * unix/Makefile.in - * unix/tclAppInit.c - * unix/configure: (regenerated) - -2009-11-25 Kevin B. Kenny - - * win/Makefile.in: Added a 'test-tcl' rule that is identical to - 'test' except that it does not go spelunking in 'pkgs/'. (This rule - has existed in unix/Makefile.in for some time.) - -2009-11-25 Stuart Cassoff - - * unix/configure.in: [Patch 2892871]: Remove unneeded - * unix/tcl.m4: AC_STRUCT_TIMEZONE and use - * unix/tclConfig.h.in: AC_CHECK_MEMBERS([struct stat.st_blksize]) - * unix/tclUnixFCmd.c: instead of AC_STRUCT_ST_BLKSIZE. - * unix/configure: Regenerated with autoconf-2.59. - -2009-11-24 Andreas Kupries - - * library/tclIndex: Manually redone the part of tclIndex dealing with - safe.tcl and tm.tcl. This part passes the testsuite. Note that - automatic regeneration of this part is not possible because it wrongly - puts 'safe::Setup' on the list, and wrongly leaves out 'safe::Log' - which is more dynamically created than the generator expects. - - Further note that the file "clock.tcl" is explicitly loaded by - "init.tcl", the first time the clock command is invoked. The relevant - code can be found at line 172ff, roughly, the definition of the - procedure 'clock'. This means none of the procedures of this file - belong in the tclIndex. Another indicator that automatic regeneration - of tclIndex is ill-advised. - -2009-11-24 Donal K. Fellows - - * generic/tclOO.c (FinalizeAlloc, Tcl_NewObjectInstance): - [Bug 2903011]: Make it an error to destroy an object in a constructor, - and also make sure that an object is not deleted twice in the error - case. - -2009-11-24 Pat Thoyts - - * tests/fCmd.test: [Bug 2893771]: Teach [file stat] to handle locked - * win/tclWinFile.c: files so that [file exists] no longer lies. - -2009-11-23 Kevin Kenny - - * tests/fCmd.test (fCmd-30.1): Changed registry location of the 'My - Documents' folder to the one that's correct for Windows 2000, XP, - Server 2003, Vista, Server 2008, and Windows 7. (See - http://support.microsoft.com/kb/310746) - -2009-11-23 Jan Nijtmans - - * win/tclWinDde.c: #undef STATIC_BUILD, in order to make sure - * win/tclWinReg.c: that Xxxxx_Init is always exported even when - * generic/tclTest.c: Tcl is built static (otherwise we cannot - create a DLL). - * generic/tclThreadTest.c: Make all functions static, except - TclThread_Init. - * tests/fCmd.test: Enable fCmd-30.1 when registry is available. - * win/tcl.m4: Fix ${SHLIB_LD_LIBS} definition, fix conflicts - * win/Makefile.in: Simplifications related to tcl.m4 changes. - * win/configure.in: Between static libraries and import library on - windows. - * win/configure: (regenerated) - * win/makefile.vc: Add stub library to necessary link lines. - -2009-11-23 Kevin B. Kenny - - * generic/tclThreadTest.c (NewTestThread): [Bug 2901803]: Further - machinations to get NewTestThread actually to launch the thread, not - just compile. - -2009-11-22 Donal K. Fellows - - * generic/tclThreadTest.c (NewTestThread): [Bug 2901803]: Fix small - error in function naming which blocked a threaded test build. - -2009-11-19 Jan Nijtmans - - * win/Makefile.in: Create tcltest86.dll as dynamic Tcltest - package. - * generic/tclTest.c: Remove extraneous prototypes, follow-up to - * generic/tclTestObj.c: [Bug 2883850] - * tests/chanio.test: Test-cases for fixed [Bug 2849797] - * tests/io.test: - * tests/safe.test: Fix safe-10.1 and safe-10.4 test cases, making - the wrong assumption that Tcltest is a static - package. - * generic/tclEncoding.c:[Bug 2857044]: Updated freeIntRepProc routines - * generic/tclVar.c: so that they set the typePtr field to NULL so - that the Tcl_Obj is not left in an - inconsistent state. - * unix/tcl.m4: [Patch 2883533]: tcl.m4 support for Haiku OS - * unix/configure: autoconf-2.59 - -2009-11-19 Don Porter - - * unix/tclAppInit.c: [Bug 2883850, 2900542]: Repair broken build of - * win/tclAppInit.c: the tcltest executable. - -2009-11-19 Donal K. Fellows - - * library/auto.tcl (tcl_findLibrary): - * library/clock.tcl (MakeUniquePrefixRegexp, MakeParseCodeFromFields) - (SetupTimeZone, ProcessPosixTimeZone): Restored the use of a literal - * library/history.tcl (HistAdd): 'then' when following a multi- - * library/safe.tcl (interpConfigure): line test expresssion. It's an - * library/tm.tcl (UnknownHandler): aid to readability then. - -2009-11-19 Jan Nijtmans - - * generic/tclInt.h: Make all internal initialization - * generic/tclTest.c: routines MODULE_SCOPE - * generic/tclTestObj.c: - * generic/tclTestProcBodyObj.c: - * generic/tclThreadTest.c: - * unix/Makefile.in: Fix [Bug 2883850]: pkgIndex.tcl doesn't - * unix/tclAppInit.c: get created with static Tcl build - * unix/tclXtTest.c: - * unix/tclXtNotify.c: - * unix/tclUnixTest.c: - * win/Makefile.in: - * win/tcl.m4: - * win/configure: (regenerated) - * win/tclAppInit.c: - * win/tclWinDde.c: Always compile with Stubs. - * win/tclWinReg.c: - * win/tclWinTest.c: - -2009-11-18 Jan Nijtmans - - * doc/CrtChannel.3: [Bug 2849797]: Fix channel name inconsistences - * generic/tclIORChan.c: as suggested by DKF. - * generic/tclIO.c: Minor *** POTENTIAL INCOMPATIBILITY *** - because Tcl_CreateChannel() and derivatives - now sometimes ignore their "chanName" - argument. - - * generic/tclAsync.c: Eliminate various gcc warnings (with -Wextra) - * generic/tclBasic.c - * generic/tclBinary.c - * generic/tclCmdAH.c - * generic/tclCmdIL.c - * generic/tclCmdMZ.c - * generic/tclCompile.c - * generic/tclDate.c - * generic/tclExecute.c - * generic/tclDictObj.c - * generic/tclIndexObj.c - * generic/tclIOCmd.c - * generic/tclIOUtil.c - * generic/tclIORTrans.c - * generic/tclOO.c - * generic/tclZlib.c - * generic/tclGetDate.y - * win/tclWinInit.c - * win/tclWinChan.c - * win/tclWinConsole.c - * win/tclWinNotify.c - * win/tclWinReg.c - * library/auto.tcl: Eliminate "then" keyword - * library/clock.tcl - * library/history.tcl - * library/safe.tcl - * library/tm.tcl - * library/http/http.tcl: Eliminate unnecessary spaces - * library/http1.0/http.tcl - * library/msgcat/msgcat.tcl - * library/opt/optparse.tcl - * library/platform/platform.tcl - * tools/tcltk-man2html.tcl - * tools/tclZIC.tcl - * tools/tsdPerf.c - -2009-11-17 Andreas Kupries - - * unix/tclUnixChan.c (TtyParseMode): Partial undo of Donal's tidy-up - from a few days ago (2009-11-9, not in ChangeLog). It seems that - strchr is apparently a macro on AIX and reacts badly to preprocessor - directives in its arguments. - -2009-11-16 Alexandre Ferrieux - - * generic/tclEncoding.c: [Bug 2891556]: Fix and improve test to - * generic/tclTest.c: detect similar manifestations in the future. - * tests/encoding.test: Add tcltest support for finalization. - -2009-11-15 Mo DeJong - - * win/tclWinDde.c: Avoid gcc compiler warning by explicitly casting - DdeCreateStringHandle argument. - -2009-11-12 Andreas Kupries - - * generic/tclIO.c (CopyData): [Bug 2895565]: Dropped bogosity which - * tests/io.test: used the number of _written_ bytes or character to - update the counters for the read bytes/characters. New test io-53.11. - This is a forward port from the 8.5 branch. - -2009-11-11 Don Porter - - * generic/tclClock.c (TclClockInit): Do not create [clock] support - commands in safe interps. - -2009-11-11 Jan Nijtmans - - * library/http/http.tcl (http::geturl): [Bug 2891171]: URL checking - too strict when using multiple question marks. - * tests/http.test - * library/http/pkgIndex.tcl: Bump to http 2.8.2 - * unix/Makefile.in: - * win/Makefile.in: - -2009-11-11 Alexandre Ferrieux - - * generic/tclIO.c: Fix [Bug 2888099] (close discards ENOSPC error) by - saving the errno from the first of two FlushChannel()s. Uneasy to - test; might need specific channel drivers. Four-hands with aku. - -2009-11-10 Pat Thoyts - - * tests/winFCmd.test: Cleanup directories that have been set chmod - 000. On Windows7 and Vista we really have no access and these were - getting left behind. - A few tests were changed to reflect the intent of the test where - setting a directory chmod 000 should prevent any modification. This - restriction was ignored on XP but is honoured on Vista - -2009-11-10 Andreas Kupries - - * generic/tclBasic.c: Plug another leak in TCL_EVAL_DIRECT evaluation. - Forward port from Tcl 8.5 branch, change by Don Porter. - - * generic/tclObj.c: [Bug 2895323]: Plug memory leak in - TclContinuationsEnter(). Forward port from Tcl 8.5 branch, change by - Don Porter. - -2009-11-09 Stuart Cassoff - - * win/README: [bug 2459744]: Removed outdated Msys + Mingw info. - -2009-11-09 Andreas Kupries - - * generic/tclBasic.c (TclEvalObjEx): Moved the #280 decrement of - refCount for the file path out of the branch after the whole - conditional, closing a memory leak. Added clause on structure type to - prevent seg.faulting. Forward port from valgrinding the Tcl 8.5 - branch. - - * tests/info.test: Resolve ambiguous resolution of variable "res". - Forward port from 8.5 - -2009-11-08 Donal K. Fellows - - * doc/string.n (bytelength): Noted that this command is not a good - thing to use, and suggested a better alternatve. Also factored out the - description of the indices into its own section. - -2009-11-07 Pat Thoyts - - * tests/fCmd.test: [Bug 2891026]: Exclude tests using chmod 555 - directories on vista and win7. The current user has access denied and - so cannot rename the directory without admin privileges. - -2009-11-06 Andreas Kupries - - * library/safe.tcl (::safe::Setup): Added documentation of the - contents of the state array. Also killed the 'InterpState' procedure - with its upleveled variable/upvar combination, and replaced all uses - with 'namespace upvar'. - -2009-11-05 Andreas Kupries - - * library/safe.tcl: A series of patches which bring the SafeBase up to - date with code guidelines, Tcl's features, also eliminating a number - of inefficiencies along the way. - (1) Changed all procedure names to be fully qualified. - (2) Moved the procedures out of the namespace eval. Kept their - locations. IOW, broke the namespace eval apart into small sections not - covering the procedure definitions. - (3) Reindented the code. Just lots of whitespace changes. - Functionality unchanged. - (4) Moved the multiple namespace eval's around. Command export at the - top, everything else (var decls, argument parsing setup) at the - bottom. - (5) Moved the argument parsing setup into a procedure called when the - code is loaded. Easier management of temporary data. - (6) Replaced several uses of 'Set' with calls to the new procedure - 'InterpState' and direct access to the per-slave state array. - (7) Replaced the remaining uses of 'Set' and others outside of the - path/token handling, and deleted a number of procedures related to - state array access which are not used any longer. - (8) Converted the path token system to cache normalized paths and path - <-> token conversions. Removed more procedures not used any longer. - Removed the test cases 4.3 and 4.4 from safe.test. They were testing - the now deleted command "InterpStateName". - (9) Changed the log command setup so that logging is compiled out - completely when disabled (default). - (10) Misc. cleanup. Inlined IsInterp into CheckInterp, its only user. - Consistent 'return -code error' for error reporting. Updated to use - modern features (lassign, in/ni, dicts). The latter are used to keep a - reverse path -> token map and quicker check of existence. - (11) Fixed [Bug 2854929]: Recurse into all subdirs under all TM root - dirs and put them on the access path. - -2009-11-02 Kevin B. Kenny - - * library/tzdata/Asia/Novokuznetsk: New tzdata locale for Kemerovo - oblast', which now keeps Novosibirsk time and not Kranoyarsk time. - * library/tzdata/Asia/Damascus: Syrian DST changes. - * library/tzdata/Asia/Hong_Kong: Hong Kong historic DST corrections. - Olson tzdata2009q. - -2009-11-02 Donal K. Fellows - - * doc/object.n (DESCRIPTION): Substantive revision to make it clearer - what the fundamental semantics of an object actually are. - -2009-11-01 Joe Mistachkin - - * doc/Cancel.3: Minor cosmetic fixes. - * win/makefile.vc: Make htmlhelp target work again. An extra set of - double quotes around the definition of the HTML help compiler tool - appears to be required. Previously, there was one set of double - quotes around the definition of the tool and one around the actual - invocation. This led to confusion because it was the only such tool - path to include double quotes around its invocation. Also, it was - somewhat inflexible in the event that somebody needed to override the - tool command to include arguments. Therefore, even though it may look - "wrong", there are now two double quotes on either side of the tool - path definition. This fixes the problem that currently prevents the - htmlhelp target from building and maintains flexibility in case - somebody needs to override it via the command line or an environment - variable. - -2009-11-01 Joe English - - * doc/Eval.3, doc/Cancel.3: Move TIP#285 routines out of Eval.3 into - their own manpage. - -2009-10-31 Donal K. Fellows - - * generic/tclBasic.c (ExprRoundFunc): [Bug 2889593]: Correctly report - the expected number of arguments when generating an error for round(). - -2009-10-30 Pat Thoyts - - * tests/tcltest.test: When creating the notwritabledir we deny the - current user access to delete the file. We must grant this right when - we cleanup. Required on Windows 7 when the user does not automatically - have administrator rights. - -2009-10-29 Don Porter - - * generic/tcl.h: Changed the typedef for the mp_digit type - from: - typedef unsigned long mp_digit; - to: - typedef unsigned int mp_digit; - For 32-bit builds where "long" and "int" are two names for the same - thing, this is no change at all. For 64-bit builds, though, this - causes the dp[] array of an mp_int to be made up of 32-bit elements - instead of 64-bit elements. This is a huge improvement because - details elsewhere in the mp_int implementation cause only 28 bits of - each element to be actually used storing number data. Without this - change bignums are over 50% wasted space on 64-bit systems. [Bug - 2800740]. - - ***POTENTIAL INCOMPATIBILITY*** - For 64-bit builds, callers of routines with (mp_digit) or (mp_digit *) - arguments *will*, and callers of routines with (mp_int *) arguments - *may* suffer both binary and stubs incompatibilities with Tcl releases - 8.5.0 - 8.5.7. Such possibilities should be checked, and if such - incompatibilities are present, suitable [package require] requirements - on the Tcl release should be put in place to keep such built code - [load]-ing only in Tcl interps that are compatible. - -2009-10-29 Donal K. Fellows - - * tests/dict.test: Make variable-clean and simplify tests by utilizing - the fact that dictionaries have defined orders. - - * generic/tclZlib.c (TclZlibCmd): Remove accidental C99-ism which - reportedly makes the AIX native compiler choke. - -2009-10-29 Kevin B. Kenny - - * library/clock.tcl (LocalizeFormat): - * tests/clock.test (clock-67.1): - [Bug 2819334]: Corrected a problem where '%%' followed by a letter in - a format group could expand recursively: %%R would turn into %%H:%M:%S - -2009-10-28 Don Porter - - * generic/tclLiteral.c: [Bug 2888044]: Fixed 2 bugs. - * tests/info.test: First, as noted in the comments of the - TclCleanupLiteralTable routine, since the teardown of the intrep of - one Tcl_Obj can cause the teardown of others in the same table, the - full table cleanup must be done with care, but the code did not - contain the same care demanded in the comment. Second, recent - additions to the info.test file had poor hygiene, leaving an array - variable ::a lying around, which breaks later interp.test tests during - a -singleproc 1 run of the test suite. - -2009-10-28 Kevin B. Kenny - - * tests/fileName.test (fileName-20.[78]): Corrected poor test - hygiene (failure to save and restore the working directory) that - caused these two tests to fail on Windows (and [Bug 2806250] to be - reopened). - -2009-10-27 Don Porter - - * generic/tclPathObj.c: [Bug 2884203]: Missing refcount on cached - normalized path caused crashes. - -2009-10-27 Kevin B. Kenny - - * library/clock.tcl (ParseClockScanFormat): [Bug 2886852]: Corrected a - problem where [clock scan] didn't load the timezone soon enough when - processing a time format that lacked a complete date. - * tests/clock.test (clock-66.1): - Added a test case for the above bug. - * library/tzdata/America/Argentina/Buenos_Aires: - * library/tzdata/America/Argentina/Cordoba: - * library/tzdata/America/Argentina/San_Luis: - * library/tzdata/America/Argentina/Tucuman: - New DST rules for Argentina. (Olson's tzdata2009p.) - -2009-10-26 Don Porter - - * unix/Makefile.in: Remove $(PACKAGE).* and prototype from the - `make distclean` target. Completes 2009-10-20 commit. - -2009-10-24 Kevin B. Kenny - - * library/clock.tcl (ProcessPosixTimeZone): - Corrected a regression in the fix to [Bug 2207436] that caused - [clock] to apply EU daylight saving time rules in the US. - Thanks to Karl Lehenbauer for reporting this regression. - * tests/clock.test (clock-52.4): - Added a regression test for the above bug. - * library/tzdata/Asia/Dhaka: - * library/tzdata/Asia/Karachi: - New DST rules for Bangladesh and Pakistan. (Olson's tzdata2009o.) - -2009-10-23 Andreas Kupries - - * generic/tclIO.c (FlushChannel): Skip OutputProc for low-level - 0-length writes. When closing pipes which have already been closed - not skipping leads to spurious SIG_PIPE signals. Reported by - Mikhail Teterin . - -2009-10-22 Donal K. Fellows - - * generic/tclOOBasic.c (TclOO_Object_VarName): [Bug 2883857]: Allow - the passing of array element names through this method. - -2009-10-21 Donal K. Fellows - - * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS - where SIGSEGV and SIGBUS are the same value. - - * generic/tclTrace.c (StringTraceProc): [Bug 2881259]: Added back cast - to work around silly bug in MSVC's handling of auto-casting. - -2009-10-20 Don Porter - - * unix/Makefile.in: Removed the long outdated and broken targets - package-* that were for building Solaris packages. Appears that the - pieces needed for these targets to function have never been present in - the current era of Tcl development and belong completely to Tcl - prehistory. - -2009-10-19 Don Porter - - * generic/tclIO.c: [Patch 2107634]: Revised ReadChars and - FilterInputBytes routines to permit reads to continue up to the string - limits of Tcl values. Before revisions, large read attempts could - panic when as little as half the limiting value length was reached. - Thanks to Sean Morrison and Bob Parker for their roles in the fix. - -2009-10-18 Joe Mistachkin - - * generic/tclObj.c (TclDbDumpActiveObjects, TclDbInitNewObj) - (Tcl_DbIncrRefCount, Tcl_DbDecrRefCount, Tcl_DbIsShared): - [Bug 2871908]: Enforce separation of concerns between the lineCLPtr - and objThreadMap thread specific data members. - -2009-10-18 Joe Mistachkin - - * tests/thread.test (thread-4.[345]): [Bug 1565466]: Correct tests to - save their error state before the final call to threadReap just in - case it triggers an "invalid thread id" error. This error can occur - if one or more of the target threads has exited prior to the attempt - to send it an asynchronous exit command. - -2009-10-17 Donal K. Fellows - - * generic/tclVar.c (UnsetVarStruct, TclDeleteNamespaceVars) - (TclDeleteCompiledLocalVars, DeleteArray): - * generic/tclTrace.c (Tcl_UntraceVar2): [Bug 2629338]: Stop traces - that are deleted part way through (a feature used by tdom) from - causing freed memory to be accessed. - -2009-10-08 Donal K. Fellows - - * generic/tclDictObj.c (DictIncrCmd): [Bug 2874678]: Don't leak any - bignums when doing [dict incr] with a value. - * tests/dict.test (dict-19.3): Memory leak detection code. - -2009-10-07 Andreas Kupries - - * generic/tclObj.c: [Bug 2871908]: Plug memory leaks of objThreadMap - and lineCLPtr hashtables. Also make the names of the continuation - line information initialization and finalization functions more - consistent. Patch supplied by Joe Mistachkin . - - * generic/tclIORChan.c (ErrnoReturn): Replace hardwired constant 11 - with proper errno #define, EAGAIN. What was I thinking? The BSD's have - a different errno assignment and break with the hardwired number. - Reported by emiliano on the chat. - -2009-10-06 Don Porter - - * generic/tclInterp.c (SlaveEval): Agressive stomping of internal reps - was added as part of the NRE patch of 2008-07-13. This doesn't appear - to actually be needed, and it hurts quite a bit when large lists lose - their intreps and require reparsing. Thanks to Ashok Nadkarni for - reporting the problem. - - * generic/tclTomMathInt.h (new): Public header tclTomMath.h had - * generic/tclTomMath.h: dependence on private headers, breaking use - * generic/tommath.h: by extensions [Bug 1941434]. - -2009-10-05 Andreas Kupries - - * library/safe.tcl (AliasGlob): Fixed conversion of catch to - try/finally, it had an 'on ok msg' branch missing, causing a silent - error immediately, and bogus glob results, breaking search for Tcl - modules. - -2009-10-04 Daniel Steffen - - * macosx/tclMacOSXBundle.c: [Bug 2569449]: Workaround CF memory - * unix/tclUnixInit.c: managment bug in Mac OS X 10.4 & - earlier. - -2009-10-02 Kevin B. Kenny - - * library/tzdata/Africa/Cairo: - * library/tzdata/Asia/Gaza: - * library/tzdata/Asia/Karachi: - * library/tzdata/Pacific/Apia: Olson's tzdata2009n. - -2009-09-29 Don Porter - - * generic/tclDictObj.c: [Bug 2857044]: Updated freeIntRepProc - * generic/tclExecute.c: routines so that they set the typePtr - * generic/tclIO.c: field to NULL so that the Tcl_Obj is - * generic/tclIndexObj.c: not left in an inconsistent state. - * generic/tclInt.h: - * generic/tclListObj.c: - * generic/tclNamesp.c: - * generic/tclOOCall.c: - * generic/tclObj.c: - * generic/tclPathObj.c: - * generic/tclProc.c: - * generic/tclRegexp.c: - * generic/tclStringObj.c: - - * generic/tclAlloc.c: Cleaned up various routines in the - * generic/tclCkalloc.c: call stacks for memory allocation to - * generic/tclInt.h: guarantee that any size values computed - * generic/tclThreadAlloc.c: are within the domains of the routines - they get passed to. [Bugs 2557696 and 2557796]. - -2009-09-28 Don Porter - - * generic/tclCmdMZ.c: Replaced TclProcessReturn() calls with - * tests/error.test: Tcl_SetReturnOptions() calls as a simple fix - for [Bug 2855247]. Thanks to Anton Kovalenko for the report and fix. - Additional fixes for other failures demonstrated by new tests. - -2009-09-27 Don Porter - - * tests/error.test (error-15.8.*): Coverage tests illustrating - flaws in the propagation of return options by [try]. - -2009-09-26 Donal K. Fellows - - * unix/tclooConfig.sh, win/tclooConfig.sh: [Bug 2026844]: Added dummy - versions of tclooConfig.sh that make it easier to build extensions - against both Tcl8.5+TclOO-standalone and Tcl8.6. - -2009-09-24 Don Porter - - TIP #356 IMPLEMENTATION - - * generic/tcl.decls: Promote internal routine TclNRSubstObj() - * generic/tclCmdMZ.c: to public Tcl_NRSubstObj(). Still needs docs. - * generic/tclCompile.c: - * generic/tclInt.h: - - * generic/tclDecls.h: make genstubs - * generic/tclStubInit.c: - -2009-09-23 Miguel Sofer - - * doc/namespace.n: the description of [namespace unknown] failed - to mention [namespace path]: fixed. Thx emiliano. - -2009-09-21 Mo DeJong - - * tests/regexp.test: Added check for error message from - unbalanced [] in regexp. Added additional simple test cases - of basic regsub command. - -2009-09-21 Don Porter - - * generic/tclCompile.c: Correct botch in the conversion of - Tcl_SubstObj(). Thanks to Kevin Kenny for detection and report. - -2009-09-17 Don Porter - - * generic/tclCompile.c: Re-implement Tcl_SubstObj() as a simple - * generic/tclParse.c: wrapper around TclNRSubstObj(). This has - * tests/basic.test: the effect of caching compiled bytecode in - * tests/parse.test: the value to be substituted. Note that - Tcl_SubstObj() now exists only for extensions. Tcl itself no longer - makes any use of it. Note also that TclSubstTokens() is now reachable - only by Tcl_EvalEx() and Tcl_ParseVar() so tests aiming to test its - functioning needed adjustment to still have the intended effect. - -2009-09-16 Alexandre Ferrieux - - * generic/tclObj.c: Extended ::tcl::unsupported::representation. - -2009-09-11 Don Porter - - * generic/tclBasic.c: Completed the NR-enabling of [subst]. - * generic/tclCmdMZ.c: [Bug 2314561]. - * generic/tclCompCmds.c: - * generic/tclCompile.c: - * generic/tclInt.h: - * tests/coroutine.test: - * tests/parse.test: - -2009-09-11 Donal K. Fellows - - * tests/http.test: Added in cleaning up of http tokens for each test - to reduce amount of global-variable pollution. - -2009-09-10 Donal K. Fellows - - * library/http/http.tcl (http::Event): [Bug 2849860]: Handle charset - names in double quotes; some servers like generating them like that. - -2009-09-07 Don Porter - - * generic/tclParse.c: [Bug 2850901]: Corrected line counting error - * tests/into.test: in multi-command script substitutions. - -2009-09-07 Daniel Steffen - - * generic/tclExecute.c: Fix potential uninitialized variable use and - * generic/tclFCmd.c: null dereference flagged by clang static - * generic/tclProc.c: analyzer. - * generic/tclTimer.c: - * generic/tclUtf.c: - - * generic/tclExecute.c: Silence false positives from clang static - * generic/tclIO.c: analyzer about potential null dereference. - * generic/tclScan.c: - * generic/tclCompExpr.c: - -2009-09-04 Don Porter - - * generic/tclCompCmds.c (TclCompileSubstCmd): [Bug 2314561]: - * generic/tclBasic.c: Added a bytecode compiler routine for the - * generic/tclCmdMZ.c: [subst] command. This is a partial solution to - * generic/tclCompile.c: the need to NR-enable [subst] since bytecode - * generic/tclCompile.h: execution is already NR-enabled. Two new - * generic/tclExecute.c: bytecode instructions, INST_NOP and - * generic/tclInt.h: INST_RETURN_CODE_BRANCH were added to support - * generic/tclParse.c: the new routine. INST_RETURN_CODE_BRANCH is - * tests/basic.test: likely to be useful in any future effort to - * tests/info.test: add a bytecode compiler routine for [try]. - * tests/parse.test: - -2009-09-03 Donal K. Fellows - - * doc/LinkVar.3: [Bug 2844962]: Added documentation of issues relating - to use of this API in a multi-threaded environment. - -2009-09-01 Andreas Kupries - - * generic/tclIORTrans.c (ReflectInput): Remove error response to - 0-result from method 'limit?' of transformations. Return the number of - copied bytes instead, which is possibly nothing. The latter then - triggers EOF handling in the higher layers, making the 0-result of - limit? the way to inject artificial EOF's into the data stream. - -2009-09-01 Don Porter - - * library/tcltest/tcltest.tcl: Bump to tcltest 2.3.2 after revision - * library/tcltest/pkgIndex.tcl: to verbose error message. - * unix/Makefile.in: - * win/Makefile.in: - -2009-08-27 Don Porter - - * generic/tclStringObj.c: [Bug 2845535]: A few more string - overflow cases in [format]. - -2009-08-25 Andreas Kupries - - * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard) - (Tcl_EvalEx, TclEvalEx, TclAdvanceContinuations, TclNREvalObjEx): - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines): - * generic/tclCompCmds.c (*): - * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv) - (TclFreeCompileEnv, TclCompileScript, TclCompileTokens): - * generic/tclCompile.h (CompileEnv): - * generic/tclInt.h (ContLineLoc, Interp): - * generic/tclObj.c (ThreadSpecificData, ContLineLocFree) - (TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter, - (TclContinuationsEnterDerived, TclContinuationsCopy, TclFreeObj) - (TclContinuationsGet): - * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj): - * generic/tclProc.c (TclCreateProc): - * generic/tclVar.c (TclPtrSetVar): - * tests/info.test (info-30.0-24): - - Extended the parser, compiler, and execution engine with code and - attendant data structures tracking the position of continuation lines - which are not visible in the resulting script Tcl_Obj*'s, to properly - account for them while counting lines for #280. - -2009-08-24 Daniel Steffen - - * generic/tclInt.h: Annotate Tcl_Panic as noreturn for clang static - analyzer in PURIFY builds, replacing preprocessor/assert technique. - - * macosx/tclMacOSXNotify.c: Fix multiple issues with nested event loops - when CoreFoundation notifier is running in embedded mode. (Fixes - problems in TkAqua Cocoa reported by Youness Alaoui on tcl-mac) - -2009-08-21 Don Porter - - * generic/tclFileName.c: Correct regression in [Bug 2837800] fix. - * tests/fileName.test: - -2009-08-20 Don Porter - - * generic/tclFileName.c: [Bug 2837800]: Correct the result produced by - [glob */test] when * matches something like ~foo. - - * generic/tclPathObj.c: [Bug 2806250]: Prevent the storage of strings - starting with ~ in the "tail" part (normPathPtr field) of the path - intrep when PATHFLAGS != 0. This establishes the assumptions relied - on elsewhere that the name stored there is a relative path. Also - refactored to make an AppendPath() routine instead of the cut/paste - stanzas that were littered throughout. - -2009-08-20 Donal K. Fellows - - * generic/tclCmdIL.c (TclNRIfObjCmd): [Bug 2823276]: Make [if] - NRE-safe on all arguments when interpreted. - (Tcl_LsortObjCmd): Close off memory leak. - -2009-08-19 Donal K. Fellows - - * generic/tclCmdAH.c (TclNRForObjCmd, etc.): [Bug 2823276]: Make [for] - and [while] into NRE-safe commands, even when interpreted. - -2009-08-18 Don Porter - - * generic/tclPathObj.c: [Bug 2837800]: Added NULL check to prevent - * tests/fileName.test: crashes during [glob]. - -2009-08-16 Jan Nijtmans - - * unix/dltest/pkge.c: const addition - * unix/tclUnixThrd.c: Use in stead of "pthread.h" - * win/tclWinDde.c: Eliminate some more gcc warnings - * win/tclWinReg.c: - * generic/tclInt.h: Change ForIterData, make it const-safe. - * generic/tclCmdAH.c: - -2009-08-12 Don Porter - - TIP #353 IMPLEMENTATION - - * doc/NRE.3: New public routine Tcl_NRExprObj() permits - * generic/tcl.decls: extension commands to evaluate Tcl expressions - * generic/tclBasic.c: in NR-enabled command procedures. - * generic/tclCmdAH.c: - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclObj.c: - * tests/expr.test: - - * generic/tclDecls.h: make genstubs - * generic/tclStubInit.c: - -2009-08-06 Andreas Kupries - - * doc/refchan.n [Bug 2827000]: Extended the implementation of - * generic/tclIORChan.c: reflective channels (TIP 219, method - * tests/ioCmd.test: 'read'), enabling handlers to signal EAGAIN to - indicate 'no data, but not at EOF either', and other system - errors. Updated documentation, extended testsuite (New test cases - iocmd*-23.{9,10}). - -2009-08-02 Miguel Sofer - - * tests/coroutine.test: fix testfile cleanup - -2009-08-02 Donal K. Fellows - - * generic/tclObj.c (Tcl_RepresentationCmd): Added an unsupported - command for reporting the representation of an object. Result string - is deliberately a bit obstructive so that people are not encouraged to - make code that depends on it; it's a debugging tool only! - - * unix/tclUnixFCmd.c (GetOwnerAttribute, SetOwnerAttribute) - (GetGroupAttribute, SetGroupAttribute): [Bug 1942222]: Stop calling - * unix/tclUnixFile.c (TclpGetUserHome): endpwent() and endgrent(); - they've been unnecessary for ages. - -2009-08-02 Jan Nijtmans - - * win/tclWin32Dll.c: Eliminate TclWinResetInterfaceEncodings, since it - * win/tclWinInit.c: does exactly the same as TclWinEncodingsCleanup, - * win/tclWinInt.h: make sure that tclWinProcs and - tclWinTCharEncoding are always set and reset - concurrently. - * win/tclWinFCmd.c: Correct check for win95 - -2009-07-31 Don Porter - - * generic/tclStringObj.c: [Bug 2830354]: Corrected failure to - * tests/format.test: grow buffer when format spec request - large width floating point values. Thanks to Clemens Misch. - -2009-07-26 Donal K. Fellows - - * library/auto.tcl (tcl_findLibrary, auto_mkindex): - * library/package.tcl (pkg_mkIndex, tclPkgUnknown, MacOSXPkgUnknown): - * library/safe.tcl (interpAddToAccessPath, interpDelete, AliasGlob): - (AliasSource, AliasLoad, AliasEncoding): - * library/tm.tcl (UnknownHandler): Simplify by swapping some [catch] - gymnastics for use of [try]. - -2009-07-26 Alexandre Ferrieux - - * tools/genStubs.tcl: Forced LF translation when generating .h's to - avoid spurious diffs when regenerating on a Windows box. - -2009-07-26 Jan Nijtmans - - * win/Makefile.in: [Bug 2827066]: msys build --enable-symbols broken - * win/tcl.m4: And modified the same for unicows.dll, as a - * win/configure: preparation for [Enh 2819611]. - -2009-07-25 Donal K. Fellows - - * library/history.tcl (history): Reworked the history mechanism in - terms of ensembles, rather than the ad hoc ensemble-lite mechanism - used previously. - -2009-07-24 Donal K. Fellows - - * doc/self.n (self class): [Bug 2704302]: Add some text to make it - clearer how to get the name of the current object's class. - -2009-07-23 Andreas Kupries - - * generic/tclIO.c (Tcl_GetChannelHandle): [Bug 2826248]: Do not crash - * generic/tclPipe.c (FileForRedirect): for getHandleProc == NULL, this - is allowed. Provide a nice error message in the bypass area. Updated - caller to check the bypass for a mesage. Bug reported by Andy - Sonnenburg - -2009-07-23 Joe Mistachkin - - * generic/tclNotify.c: [Bug 2820349]: Ensure that queued events are - freed once processed. - -2009-07-22 Jan Nijtmans - - * macosx/tclMacOSXFCmd.c: CONST -> const - * generic/tclGetDate.y: - * generic/tclDate.c: - * generic/tclLiteral.c: (char *) cast in ckfree call - * generic/tclPanic.c: [Feature Request 2814786]: remove TclpPanic - * generic/tclInt.h - * unix/tclUnixPort.h - * win/tclWinPort.h - -2009-07-22 Alexandre Ferrieux - - * generic/tclEvent.c: [Bug 2001201 again]: Refined the 20090617 patch - on [exit] streamlining, so that it now correctly calls thread exit - handlers for the calling thread, including bindings in Tk. - -2009-07-21 Kevin B. Kenny - - * library/tzdata/Asia/Dhaka: - * library/tzdata/Indian/Mauritius: Olson's tzdata2009k. - -2009-07-20 Donal K. Fellows - - * generic/tclCmdMZ.c (StringIsCmd): Reorganize so that [string is] is - more efficient when parsing things that are correct, at a cost of - making the empty string test slightly more costly. With this, the cost - of doing [string is integer -strict $x] matches [catch {expr {$x+0}}] - in the successful case, and greatly outstrips it in the failing case. - -2009-07-19 Donal K. Fellows - - * generic/tclOO.decls, generic/tclOO.c (Tcl_GetObjectName): Expose a - function for efficiently returning the current name of an object. - -2009-07-18 Daniel Steffen - - * unix/Makefile.in: Define NDEBUG in optimized (non-symbols) build to - disable NRE assert()s and threaded allocator range checks. - -2009-07-16 Don Porter - - * generic/tclBinary.c: Removed unused variables. - * generic/tclCmdIL.c: - * generic/tclCompile.c: - * generic/tclExecute.c: - * generic/tclHash.c: - * generic/tclIOUtil.c: - * generic/tclVar.c: - - * generic/tclBasic.c: Silence compiler warnings about ClientData. - * generic/tclProc.c: - - * generic/tclScan.c: Typo in ACCEPT_NAN configuration. - - * generic/tclStrToD.c: [Bug 2819200]: Set floating point control - register on MIPS systems so that the gradual underflow expected by Tcl - is in effect. - -2009-07-15 Donal K. Fellows - - * generic/tclInt.h (Namespace): Added machinery to allow - * generic/tclNamesp.c (many functions): reduction of memory used - * generic/tclResolve.c (BumpCmdRefEpochs): by namespaces. Currently - #ifdef'ed out because of compatibility concerns. - - * generic/tclInt.decls: Added four functions for better integration - with itcl-ng. - -2009-07-14 Kevin B. Kenny - - * generic/tclInt.h (TclNRSwitchObjCmd): - * generic/tclBasic.c (builtInCmds): - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): - * tests/switch.test (switch-15.1): - [Bug 2821401]: Make non-bytecoded [switch] command aware of NRE. - -2009-07-13 Andreas Kupries - - * generic/tclCompile.c (TclInitCompileEnv, EnterCmdWordIndex) - (TclCleanupByteCode, TclCompileScript): - * generic/tclExecute.c (TclCompileObj, TclExecuteByteCode): - * tclCompile.h (ExtCmdLoc): - * tclInt.h (ExtIndex, CFWordBC, CmdFrame): - * tclBasic.c (DeleteInterpProc, TclArgumentBCEnter) - (TclArgumentBCRelease, TclArgumentGet, SAVE_CONTEXT) - (RESTORE_CONTEXT, NRCoroutineExitCallback, TclNRCoroutineObjCmd): - * generic/tclCmdAH.c (TclNRForObjCmd, TclNRForIterCallback, - (ForNextCallback): - * generic/tclCmdMZ.c (TclNRWhileObjCmd): - - Extended the bytecode compiler initialization to recognize the - compilation of whole files (NRE enabled 'source' command) and switch - to the counting of absolute lines in that case. - - Further extended the bytecode compiler to track the start line in the - generated information, and modified the bytecode execution to - recompile an object if the location as per the calling context doesn't - match the location saved in the bytecode. This part could be optimized - more by using more memory to keep all possibilities which occur - around, or by just adjusting the location information instead of a - total recompile. - - Reworked the handling of literal command arguments in bytecode to be - saved (compiler) and used (execution) per command (See the - TCL_INVOKE_STK* instructions), and not per the whole bytecode. This, - and the previous change remove the problems with location data caused - by literal sharing (across whole files, but also proc bodies). - Simplified the associated datastructures (ExtIndex is gone, as is the - function EnterCmdWordIndex). - - The last change causes the hashtable 'lineLABCPtr' to be state which - has to be kept per coroutine, like the CmdFrame stack. Reworked the - coroutine support code to create, delete and switch the information as - needed. Further reworked the tailcall command as well, it has to pop - its own arguments when run in a bytecode context to keep a proper - stack in 'lineLABCPtr'. - - Fixed the mishandling of line information in the NRE-enabled 'for' and - 'while' commands introduced when both were made to share their - iteration callbacks without taking into account that the loop body is - found in different words of the command. Introduced a separate data - structure to hold all the callback information, as we went over the - limit of 4 direct client-data values for NRE callbacks. - - The above fixes [Bug 1605269]. - -2009-07-12 Donal K. Fellows - - * generic/tclCmdMZ.c (StringIndexCmd, StringEqualCmd, StringCmpCmd): - * generic/tclExecute.c (TclExecuteByteCode): [Bug 2637173]: Factor out - * generic/tclInt.h (TclIsPureByteArray): the code to determine if - * generic/tclUtil.c (TclStringMatchObj): it is safe to work with - byte arrays directly, so that we get the check correct _once_. - - * generic/tclOOCall.c (TclOOGetCallContext): [Bug 1895546]: Changed - * generic/tclOO.c (TclOOObjectCmdCore): the way that the cache is - managed so that when itcl does cunning things, those cunning things - can be cached properly. - -2009-07-11 Donal K. Fellows - - * doc/vwait.n: Substantially increased the discussion of issues and - work-arounds relating to nested vwaits, following discussion on the - tcl-core mailing list on the topic. - -2009-07-10 Pat Thoyts - - * tests/zlib.test: ZlibTransformClose may be called with a NULL - * generic/tclZlib.c: interpreter during finalization and - Tcl_SetChannelError requires a list. Added some tests to ensure error - propagation from the zlib library to the interp. - -2009-07-09 Pat Thoyts - - * tests/zlib.test: [Bug 2818131]: Added tests and fixed a typo that - broke [zlib push] for deflate format. - -2009-07-09 Donal K. Fellows - - * compat/mkstemp.c (mkstemp): [Bug 2819227]: Use rand() for random - numbers as it is more portable. - -2009-07-05 Donal K. Fellows - - * generic/tclZlib.c (ZlibTransformWatch): Correct the handling of - events so that channel transforms work with things like an asynch - [chan copy]. Problem reported by Pat Thoyts. - -2009-07-01 Pat Thoyts - - * win/tclWinInt.h: [Bug 2806622]: Handle the GetUserName API call - * win/tclWin32Dll.c: via the tclWinProcs indirection structure. This - * win/tclWinInit.c: fixes a problem obtaining the username when the - USERNAME environment variable is unset. - -2009-06-30 Daniel Steffen - - * generic/tclInt.h: Add assert macros for clang static - * generic/tclPanic.c: analyzer and redefine Tcl_Panic to - * generic/tclStubInit.c: assert after panic in clang PURIFY - builds. - - * generic/tclCmdIL.c: Add clang assert for false positive - from static analyzer. - -2009-06-26 Daniel Steffen - - * macosx/Tcl-Common.xcconfig: Update projects for Xcode 3.1 and - * macosx/Tcl.xcode/*: 3.2, standardize on gcc 4.2, remove - * macosx/Tcl.xcodeproj/*: obsolete configurations and pre-Xcode - * macosx/Tcl.pbproj/* (removed): project. - - * macosx/README: Update project docs, cleanup. - - * unix/Makefile.in: Update dist target for project - changes. - -2009-06-24 Donal K. Fellows - - * tests/oo.test (oo-19.1): [Bug 2811598]: Make more resilient. - -2009-06-24 Pat Thoyts - - * tests/http11.test: [Bug 2811492]: Clean up procs after testing. - -2009-06-18 Donal K. Fellows - - * generic/tclCkalloc.c (MemoryCmd): [Bug 988703]: - * generic/tclObj.c (ObjData, TclFinalizeThreadObjects): Add mechanism - for discovering what Tcl_Objs are allocated when built for memory - debugging. Developed by Joe Mistachkin. - -2009-06-17 Alexandre Ferrieux - - * generic/tclEvent.c: Applied a patch by George Peter Staplin - drastically reducing the ambition of [exit] wrt finalization, and - thus solving many multi-thread teardown issues. [Bugs 2001201, - 486399, and possibly 597575, 990457, 1437595, 2750491] - -2009-06-15 Don Porter - - * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion. - -2009-06-15 Reinhard Max - - * unix/tclUnixPort.h: Move all socket-related code from tclUnixChan.c - * unix/tclUnixChan.c: to tclUnixSock.c. - * unix/tclUnixSock.c: - -2009-06-15 Donal K. Fellows - - * tools/tcltk-man2html.tcl (make-man-pages): [Patch 557486]: Apply - last remaining meaningful part of this patch, a clean up of some - closing tags. - -2009-06-13 Don Porter - - * generic/tclCompile.c: [Bug 2802881]: The value stashed in - * generic/tclProc.c: iPtr->compiledProcPtr when compiling a proc - * tests/execute.test: survives too long. We only need it there long - enough for the right TclInitCompileEnv() call to re-stash it into - envPtr->procPtr. Once that is done, the CompileEnv controls. If we - let the value of iPtr->compiledProcPtr linger, though, then any other - bytecode compile operation that takes place will also have its - CompileEnv initialized with it, and that's not correct. The value is - meant to control the compile of the proc body only, not other compile - tasks that happen along. Thanks to Carlos Tasada for discovering and - reporting the problem. - -2009-06-10 Don Porter - - * generic/tclStringObj.c: [Bug 2801413]: Revised [format] to not - overflow the integer calculations computing the length of the %ll - formats of really big integers. Also added protections so that - [format]s that would produce results overflowing the maximum string - length of Tcl values throw a normal Tcl error instead of a panic. - - * generic/tclStringObj.c: [Bug 2803109]: Corrected failures to - deal with the "pure unicode" representation of an empty string. - Thanks to Julian Noble for reporting the problem. - -2006-06-09 Kevin B. Kenny - - * generic/tclGetDate.y: Fixed a thread safety bug in the generated - * library/clock.tcl: Bison parser (needed a %pure-parser - * tests/clock.test: declaration to avoid static variables). - Discovered that the %pure-parser declaration - allowed for returning the Bison error message - to the Tcl caller in the event of a syntax - error, so did so. - * generic/tclDate.c: bison 2.3 - -2006-06-08 Kevin B. Kenny - - * library/tzdata/Asia/Dhaka: New DST rule for Bangladesh. (Olson's - tzdata2009i.) - -2009-06-08 Donal K. Fellows - - * doc/copy.n: Fix error in example spotted by Venkat Iyer. - -2009-06-02 Don Porter - - * generic/tclExecute.c: Replace dynamically-initialized table with a - table of static constants in the lookup table for exponent operator - computations that fit in a 64 bit integer result. - - * generic/tclExecute.c: [Bug 2798543]: Corrected implementations and - selection logic of the INST_EXPON instruction. - -2009-06-01 Don Porter - - * tests/expr.test: [Bug 2798543]: Added many tests demonstrating - the broken cases. - -009-05-30 Kevin B. Kenny - - * library/tzdata/Africa/Cairo: - * library/tzdata/Asia/Amman: Olson's tzdata2009h. - -2009-05-29 Andreas Kupries - - * library/platform/platform.tcl: Fixed handling of cpu ia64, - * library/platform/pkgIndex.tcl: taking ia64_32 into account - * unix/Makefile.in: now. Bumped version to 1.0.5. Updated the - * win/Makefile.in: installation commands. - -2009-05-26 Alexandre Ferrieux - - * doc/expr.n: Fixed documentation of the right-associativity of - the ** operator. (spotted by kbk) - -2009-05-14 Donal K. Fellows - - * generic/tclOOInfo.c (InfoObjectNsCmd): Added introspection mechanism - for finding out what an object's namespace is. Experience suggests - that it is just too useful to be able to do without it. - -2009-05-12 Donal K. Fellows - - * doc/vwait.n: Added more words to make it clear just how bad it is to - nest [vwait]s. - - * compat/mkstemp.c: Add more headers to make this file build on IRIX - 6.5. Thanks to Larry McVoy for this. - -2009-05-08 Donal K. Fellows - - * generic/tclOO.c (TclNRNewObjectInstance): [Bug 2414858]: Add a - * generic/tclBasic.c (TclPushTailcallPoint): marker to the stack of - NRE callbacks at the right point so that tailcall works correctly in a - constructor. - - * tests/exec.test (cat): [Bug 2788468]: Adjust the scripted version of - cat so that it does not perform transformations on the data it is - working with, making it more like the standard Unix 'cat' program. - -2009-05-07 Miguel Sofer - - * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2785893]: Ensure that - a command in a deleted namespace can't be found through a cached name. - - * generic/tclBasic.c: Let coroutines start with a much smaller - * generic/tclCompile.h: stack: 200 words (previously was 2000, the - * generic/tclExecute.c: same as interps). - -2009-05-07 Donal K. Fellows - - * tests/env.test (printenvScript, env-4.3, env-4.5): [Bug 1513659]: - * tests/exec.test (exec-2.6): These tests had subtle dependencies on - being on platforms that were either ISO 8859-1 or UTF-8. Stabilized - the results by forcing the encoding. - -2009-05-06 Don Porter - - * generic/tclCmdMZ.c: [Bug 2582327]: Improve overflow error message - from [string repeat]. - - * tests/interp.test: interp-20.50 test for Bug 2486550. - -2009-05-04 Donal K. Fellows - - * generic/tclOO.c (InitFoundation, AllocObject, AllocClass): - * generic/tclOODefineCmds.c (InitDefineContext): Make sure that when - support namespaces are deleted, nothing bad can subsequently happen. - Issue spotted by Don Porter. - -2009-05-03 Donal K. Fellows - - * doc/Tcl.n: [Bug 2538432]: Clarified exact treatment of ${arr(idx)} - form of variable substitution. This is not a change of behavior, just - an improved description of the current situation. - -2009-04-30 Miguel Sofer - - * generic/tclBasic.c (TclObjInvoke): [Bug 2486550]: Make sure that a - null objProc is not used, use Tcl_NRCallObjProc instead. - -2009-05-01 Jan Nijtmans - - * win/configure.in Fix 64-bit detection for zlib on Win64 - * win/configure (regenerated) - -2009-04-28 Jeff Hobbs - - * unix/tcl.m4, unix/configure (SC_CONFIG_CFLAGS): harden the check to - add _r to CC on AIX with threads. - -2009-04-27 Donal K. Fellows - - * doc/concat.n (EXAMPLES): [Bug 2780680]: Rewrote so that the spacing - of result messages is correct. (The exact way they were wrong was - different when rendered through groff or as HTML, but it was still - wrong both ways.) - -2009-04-27 Jan Nijtmans - - * generic/tclIndexObj.c: Reset internal INTERP_ALTERNATE_WRONG_ARGS - * generic/tclIOCmd.c: flag inside the Tcl_WrongNumArgs function, - so the caller no longer has to do the reset. - -2009-04-24 Stuart Cassoff - - * unix/Makefile.in: [Patch 2769530]: Don't chmod/exec installManPage. - -2009-04-19 Pat Thoyts - - * library/http/http.tcl: [Bug 2715421]: Removed spurious newline added - * tests/http11.test: after POST and added tests to detect excess - * tests/httpd11.tcl: bytes being POSTed. - * library/http/pkgIndex.tcl: - * makefiles: package version now 2.8.1 - -2009-04-15 Donal K. Fellows - - * doc/chan.n, doc/close.n: Tidy up documentation of TIP #332. - -2009-04-14 Kevin B. Kenny - - * library/tzdata/Asia/Karachi: Updated rules for Pakistan Summer - Time (Olson's tzdata2009f) - -2009-04-11 Donal K. Fellows - - * generic/tclOOMethod.c (InvokeForwardMethod): Clarify the resolution - behaviour of the name of the command that is forwarded to: it's now - resolved using the object's namespace as context, which is much more - useful than the previous (somewhat random) behaviour of using the - caller's current namespace. - -2009-04-10 Pat Thoyts - - * library/http/http.tcl: Improved HTTP/1.1 support and added - * library/http/pkgIndex.tcl: specific HTTP/1.1 testing to ensure - * tests/http11.test: we handle chunked+gzip for the various - * tests/httpd11.test: modes (normal, -channel and -handler) - * makefiles: package version set to 2.8.0 - -2009-04-10 Daniel Steffen - - * unix/tclUnixChan.c: TclUnixWaitForFile(): use FD_* macros - * macosx/tclMacOSXNotify.c: to manipulate select masks (Cassoff). - [FRQ 1960647] [Bug 3486554] - - * unix/tclLoadDyld.c: Use RTLD_GLOBAL instead of RTLD_LOCAL. - [Bug 1961211] - - * macosx/tclMacOSXNotify.c: revise CoreFoundation notifier to allow - embedding into applications that - already have a CFRunLoop running and - want to run the tcl event loop via - Tcl_ServiceModeHook(TCL_SERVICE_ALL). - - * macosx/tclMacOSXNotify.c: add CFRunLoop based Tcl_Sleep() and - * unix/tclUnixChan.c: TclUnixWaitForFile() implementations - * unix/tclUnixEvent.c: and disable select() based ones in - CoreFoundation builds. - - * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c. - - * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode() - * generic/tclIntPlatDecls.h: internal API, regen. - * generic/tclStubInit.c: - - * unix/configure.in (Darwin): use Darwin SUSv3 extensions if - available; remove /Network locations - from default tcl package search path - (NFS mounted locations and thus slow). - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - - * macosx/tclMacOSXBundle.c: on Mac OS X 10.4 and later, replace - deprecated NSModule API by dlfcn API. - -2009-04-10 Donal K. Fellows - - * doc/StringObj.3: [Bug 2089279]: Corrected example so that it works - on 64-bit machines as well. - -2009-04-10 Pat Thoyts - - * tests/http.test: [Bug 26245326]: Added specific check for problem - * tests/httpd: (return incomplete HTTP response header). - -2009-04-08 Kevin B. Kenny - - * tools/tclZIC.tcl: Always emit files with Unix line termination. - * library/tzdata: Olson's tzdata2009e - -2009-04-09 Don Porter - - * library/http/http.tcl: [Bug 26245326]: Handle incomplete - lines in the "connecting" state. Thanks to Sergei Golovan. - -2009-04-08 Andreas Kupries - - * library/platform/platform.tcl: Extended the darwin sections to add - * library/platform/pkgIndex.tcl: a kernel version number to the - * unix/Makefile.in: identifier for anything from Leopard (10.5) on up. - * win/Makefile.in: Extended patterns for same. Extended cpu - * doc/platform.n: recognition for 64bit Tcl running on a 32bit kernel - on a 64bit processor (By Daniel Steffen). Bumped version to 1.0.4. - Updated Makefiles. - -2009-04-08 Don Porter - - * library/tcltest/tcltest.tcl: [Bug 2570363]: Converted [eval]s (some - * library/tcltest/pkgIndex.tcl: unsafe!) to {*} in tcltest package. - * unix/Makefile.in: => tcltest 2.3.1 - * win/Makefile.in: - -2009-04-07 Don Porter - - * generic/tclStringObj.c: Correction so that value of - TCL_GROWTH_MIN_ALLOC is everywhere expressed in bytes as comment - claims. - -2009-04-04 Donal K. Fellows - - * doc/vwait.n: [Bug 1910136]: Extend description and examples to make - it clearer just how this command interprets variable names. - -2009-03-30 Don Porter - - * doc/Alloc.3: [Bug 2556263]: Size argument is "unsigned int". - -2009-03-27 Don Porter - - * generic/tclPathObj.c (TclPathPart): [Bug 2710920]: TclPathPart() - * tests/fileName.test: was computing the wrong results for both [file - dirname] and [file tail] on "path" arguments with the PATHFLAGS != 0 - intrep and with an empty string for the "joined-on" part. - -2009-03-25 Jan Nijtmans - - * doc/tclsh.1: Bring doc and tools in line with - * tools/installData.tcl: https://wiki.tcl-lang.org/page/exec+magic - * tools/str2c - * tools/tcltk-man2html.tcl - -2009-03-25 Donal K. Fellows - - * doc/coroutine.n: [Bug 2152285]: Added basic documentation for the - coroutine and yield commands. - -2009-03-24 Donal K. Fellows - - * generic/tclOOBasic.c (TclOOSelfObjCmd): [Bug 2704302]: Make 'self - class' better defined in the context of objects that change class. - - * generic/tclVar.c (Tcl_UpvarObjCmd): [Bug 2673163] (ferrieux) - * generic/tclProc.c (TclObjGetFrame): Make the upvar command more able - to handle its officially documented syntax. - -2009-03-22 Miguel Sofer - - * generic/tclBasic.c: [Bug 2502037]: NR-enable the handling of unknown - commands. - -2009-03-21 Miguel Sofer - - * generic/tclBasic.c: Fixed "leaks" in aliases, imports and - * generic/tclInt.h: ensembles. Only remaining known leak is in - * generic/tclInterp.c: ensemble unknown dispatch (as it not - * generic/tclNamesp.c: NR-enabled) - * tests/tailcall.test: - - * tclInt.h: comments - - * tests/tailcall.test: Added tests to show that [tailcall] does not - currently always execute in constant space: interp-alias, ns-imports - and ensembles "leak" as of this commit. - - * tests/nre.test: [foreach] has been NR-enabled for a while, the test - was marked 'knownBug': unmark it. - - * generic/tclBasic.c: Fix for (among others) [Bug 2699087] - * generic/tclCmdAH.c: Tailcalls now perform properly even from - * generic/tclExecute.c: within [eval]ed scripts. - * generic/tclInt.h: More tests missing, as well as proper - exploration and testing of the interaction with "redirectors" like - interp-alias (suspect that it does not happen in constant space) - and pure-eval commands. - - * generic/tclExecute.c: Proper fix for [Bug 2415422]. Reenabled - * tests/nre.test: the failing assertion that was disabled on - 2008-12-18: the assertion is correct, the fault was in the - management of expansions. - - * generic/tclExecute.c: Fix both test and code for tailcall - * tests/tailcall.test: from within a compiled [eval] body. - - * tests/tailcall.test: Slightly improved tests - -2009-03-20 Don Porter - - * tests/stringObj.test: [Bug 2597185]: Test stringObj-6.9 - checks that Tcl_AppendStringsToObj() no longer crashes when operating - on a pure unicode value. - - * generic/tclExecute.c (INST_CONCAT1): [Bug 2669109]: Panic when - appends overflow the max length of a Tcl value. - -2009-03-19 Miguel Sofer - - * generic/tcl.h: - * generic/tclInt.h: - * generic/tclBasic.c: - * generic/tclExecute.c: - * generic/tclNamesp.c (Tcl_PopCallFrame): Rewritten tailcall - implementation, ::unsupported::atProcExit is (temporarily?) gone. The - new approach is much simpler, and also closer to being correct. This - commit fixes [Bug 2649975] and [Bug 2695587]. - - * tests/coroutine.test: Moved the tests to their own files, - * tests/tailcall.test: removed the unsupported.test. Added - * tests/unsupported.test: tests for the fixed bugs. - -2009-03-19 Donal K. Fellows - - * doc/tailcall.n: Added documentation for tailcall command. - -2009-03-18 Don Porter - - * win/tclWinFile.c (TclpObjNormalizePath): [Bug 2688184]: - Corrected Tcl_Obj leak. Thanks to Joe Mistachkin for detection and - patch. - - * generic/tclVar.c (TclLookupSimpleVar): [Bug 2689307]: Shift - all calls to Tcl_SetErrorCode() out of TclLookupSimpleVar and onto its - callers, where control with TCL_LEAVE_ERR_MSG flag is more easily - handled. - -2009-03-16 Donal K. Fellows - - * generic/tclCmdMZ.c (TryPostBody): [Bug 2688063]: Extract information - from list before getting rid of last reference to it. - -2009-03-15 Joe Mistachkin - - * generic/tclThread.c: [Bug 2687952]: Modify fix for TSD leak to match - * generic/tclThreadStorage.c: Tcl 8.5 (and prior) allocation semantics - -2009-03-15 Donal K. Fellows - - * generic/tclThreadStorage.c (TSDTableDelete): [Bug 2687952]: Ensure - * generic/tclThread.c (Tcl_GetThreadData): that structures in - Tcl's TSD system are all freed. Use the correct matching allocator. - - * generic/tclPosixStr.c (Tcl_SignalId,Tcl_SignalMsg): [Patch 1513655]: - Added support for SIGINFO, which is present on BSD platforms. - -2009-03-14 Donal K. Fellows - - * unix/tcl.pc.in (new file): [Patch 2243948] (hat0) - * unix/configure.in, unix/Makefile.in: Added support for reporting - Tcl's public build configuration via the pkg-config system. TEA is - still the official mechanism though, in part because pkg-config is not - universally supported across all Tcl's supported platforms. - -2009-03-11 Miguel Sofer - - * generic/tclBasic.c (TclNRCoroutineObjCmd): fix Tcl_Obj leak. - Diagnosis and fix thanks to GPS. - -2009-03-09 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_TryObjCmd, TclNRTryObjCmd): Moved the - implementation of [try] from Tcl code into C. Still lacks a bytecode - version, but should be better than what was before. - -2009-03-04 Donal K. Fellows - - * generic/tclZlib.c (TclZlibCmd): Checksums are defined to be unsigned - 32-bit integers, use Tcl_WideInt to pass to scripts. [Bug 2662434] - (ZlibStreamCmd, ChanGetOption): A few other related corrections. - -2009-02-27 Jan Nijtmans - - * generic/tcl.decls: [Bug 218977]: Tcl_DbCkfree needs return value - * generic/tclCkalloc.c - * generic/tclDecls.h: (regenerated) - * generic/tclInt.decls: don't use CONST84/CONST86 here - * generic/tclCompile.h: don't use CONST86 here, comment fixing. - * generic/tclIO.h: don't use CONST86 here, comment fixing. - * generic/tclIntDecls.h (regenerated) - -2009-02-25 Don Porter - - * generic/tclUtil.c (TclStringMatchObj): [Bug 2637173]: Revised - the branching on the strObj->typePtr so that untyped values get - converted to the "string" type and pass through the Unicode matcher. - [Bug 2613766]: Also added checks to only perform "bytearray" - optimization on pure bytearray values. - - * generic/tclCmdMZ.c: Since Tcl_GetCharLength() has its own - * generic/tclExecute.c: optimizations for the tclByteArrayType, stop - having the callers do them. - -2009-02-24 Donal K. Fellows - - * doc/clock.n, doc/fblocked.n, doc/format.n, doc/lsort.n, - * doc/pkgMkIndex.n, doc/regsub.n, doc/scan.n, doc/tclvars.n: - General minor documentation improvements. - - * library/http/http.tcl (geturl, Eof): Added support for 8.6's built - in zlib routines. - -2009-02-22 Alexandre Ferrieux - - * tests/lrange.test: Revert commits of 2008-07-23. Those were speed - * tests/binary.test: tests, that are inherently brittle. - -2009-02-21 Don Porter - - * generic/tclStringObj.c: Several revisions to the shimmering - patterns between Unicode and UTF string reps. Most notably the - call: objPtr = Tcl_NewUnicodeObj(...,0); followed by a loop of calls: - Tcl_AppendUnicodeToObj(objPtr, u, n); will now grow and append to - the Unicode representation. Before this commit, the sequence would - convert each append to UTF and perform the append to the UTF rep. - This is puzzling and likely a bug. The performance of [string map] - is significantly improved by this change (according to the MAP - collection of benchmarks in tclbench). Just in case there was some - wisdom in the old ways that I missed, I left in the ability to restore - the old patterns with a #define COMPAT 1 at the top of the file. - -2009-02-20 Don Porter - - * generic/tclPathObj.c: [Bug 2571597]: Fixed mistaken logic in - * tests/fileName.test: TclFSGetPathType() that assumed (not - "absolute") => "relative". This is a false assumption on Windows, - where "volumerelative" is another possibility. - -2009-02-18 Don Porter - - * generic/tclStringObj.c: Simplify the logic of the - Tcl_*SetObjLength() routines. - - * generic/tclStringObj.c: Rewrite GrowStringBuffer() so that it - has parallel structure with GrowUnicodeBuffer(). The revision permits - allocation attempts to continue all the way up to failure, with no - gap. It also directly manipulates the String and Tcl_Obj internals - instead of inefficiently operating via Tcl_*SetObjLength() with all of - its extra protections and underdocumented special cases. - - * generic/tclStringObj.c: Another round of simplification on - the allocation macros. - -2009-02-17 Jeff Hobbs - - * win/tcl.m4, win/configure: Check if cl groks _WIN64 already to - avoid CC manipulation that can screw up later configure checks. - Use 'd'ebug runtime in 64-bit builds. - -2009-02-17 Don Porter - - * generic/tclStringObj.c: Pare back the length of the unicode - array in a non-extended String struct to one Tcl_UniChar, meant to - hold the terminating NUL character. Non-empty unicode strings are - then stored by extending the String struct by stringPtr->maxChars - additional slots in that array with sizeof(Tcl_UniChar) bytes per - slot. This revision makes the allocation macros much simpler. - - * generic/tclStringObj.c: Factor out common GrowUnicodeBuffer() - and solve overflow and growth algorithm fallbacks in it. - - * generic/tclStringObj.c: Factor out common GrowStringBuffer(). - - * generic/tclStringObj.c: Convert Tcl_AppendStringsToObj into - * tests/stringObj.test: a radically simpler implementation - where we just loop over calls to Tcl_AppendToObj. This fixes [Bug - 2597185]. It also creates a *** POTENTIAL INCOMPATIBILITY *** in - that T_ASTO can now allocate more space than is strictly required, - like all the other Tcl_Append* routines. The incompatibility was - detected by test stringObj-6.5, which I've updated to reflect the - new behavior. - - * generic/tclStringObj.c: Revise buffer growth implementation - in ExtendStringRepWithUnicode. Use cheap checks to determine that - no reallocation is necessary without cost of computing the precise - number of bytes needed. Also make use of the string growth algortihm - in the case of repeated appends. - -2009-02-16 Jan Nijtmans - - * generic/tclZlib.c: Hack needed for official zlib1.dll build. - * win/configure.in: fix [Feature Request 2605263] use official - * win/Makefile.in: zlib build. - * win/configure: (regenerated) - * compat/zlib/zdll.lib: new files - * compat/zlib/zlib1.dll: - - * win/Makefile.in: [Bug 2605232]: tdbc doesn't build when Tcl is - compiled with --disable-shared. - -2009-02-15 Don Porter - - * generic/tclStringObj.c: [Bug 2603158]: Added protections from - * generic/tclTestObj.c: invalid memory accesses when we append - * tests/stringObj.test: (some part of) a Tcl_Obj to itself. - Added the appendself and appendself2 subcommands to the - [teststringobj] testing command and added tests to the test suite. - - * generic/tclStringObj.c: Factor out duplicate code from - Tcl_AppendObjToObj. - - * generic/tclStringObj.c: Replace the 'size_t uallocated' field - of the String struct, storing the number of bytes allocated to store - the Tcl_UniChar array, with an 'int maxChars' field, storing the - number of Tcl_UniChars that may be stored in the allocated space. - This reduces memory requirement a small bit, and makes some range - checks simpler to code. - * generic/tclTestObj.c: Replace the [teststringobj ualloc] testing - * tests/stringObj.test: command with [teststringobj maxchars] and - update the tests. - - * generic/tclStringObj.c: Removed limitation in - Tcl_AppendObjToObj where the char length of the result was only - computed if the appended string was all single byte characters. - This limitation was in place to dodge a bug in Tcl_GetUniChar. - With that bug gone, we can take advantage of always recording the - length of append results when we know it. - -2009-02-14 Don Porter - - * generic/tclStringObj.c: Revisions so that we avoid creating - the strange representation of an empty string with - objPtr->bytes == NULL and stringPtr->hasUnicode == 0. Instead in - the situations where that was being created, create a traditional - two-legged stork representation (objPtr->bytes = tclEmptyStringRep - and stringPtr->hasUnicode = 1). In the situations where the strange - rep was treated differently, continue to do so by testing - stringPtr->numChars == 0 to detect it. These changes make the code - more conventional so easier for new maintainers to pick up. Also - sets up further simplifications. - - * generic/tclTestObj.c: Revise updates to [teststringobj] so we don't - get blocked by MODULE_SCOPE limits. - -2009-02-12 Don Porter - - * generic/tclStringObj.c: Rewrites of the routines - Tcl_GetCharLength, Tcl_GetUniChar, Tcl_GetUnicodeFromObj, - Tcl_GetRange, and TclStringObjReverse to use the new macro, and - to more simply and clearly split the cases depending on whether - a valid unicode rep is present or needs to be created. - New utility routine UnicodeLength(), to compute the length of unicode - buffer arguments when no length is passed in, with built-in - overflow protection included. Update three callers to use it. - - * generic/tclInt.h: New macro TclNumUtfChars meant to be a faster - replacement for a full Tcl_NumUtfChars() call when the string has all - single-byte characters. - - * generic/tclStringObj.c: Simplified Tcl_GetCharLength by - * generic/tclTestObj.c: removing code that did nothing. - Added early returns from Tcl_*SetObjLength when the desired length - is already present; adapted test command to the change. - - * generic/tclStringObj.c: Re-implemented AppendUtfToUnicodeRep - so that we no longer pass through Tcl_DStrings which have their own - sets of problems when lengths overflow the int range. Now AUTUR and - FillUnicodeRep share a common core routine. - -2009-02-12 Donal K. Fellows - - * generic/tclOODefineCmds.c (TclOOGetDefineCmdContext): Use the - correct field in the Interp structure for retrieving the frame to get - the context object so that people can extend [oo::define] without deep - shenanigans. Bug found by Federico Ferri. - -2009-02-11 Don Porter - - * generic/tclStringObj.c: Re-implemented AppendUnicodeToUtfRep - so that we no longer pass through Tcl_DStrings which have their own - sets of problems when lengths overflow the int range. Now AUTUR and - UpdateStringOfString share a common core routine. - - * generic/tclStringObj.c: Changed type of the 'allocated' field - * generic/tclTestObj.c: of the String struct (and the - TestString counterpart) from size_t to int since only int values are - ever stored in it. - -2009-02-10 Jan Nijtmans - - * generic/tclEncoding.c: Eliminate some unnessary type casts - * generic/tclEvent.c: some internal const decorations - * generic/tclExecute.c: spacing - * generic/tclIndexObj.c: - * generic/tclInterp.c: - * generic/tclIO.c: - * generic/tclIOCmd.c: - * generic/tclIORChan.c: - * generic/tclIOUtil.c: - * generic/tclListObj.c: - * generic/tclLiteral.c: - * generic/tclNamesp.c: - * generic/tclObj.c: - * generic/tclOOBasic.c: - * generic/tclPathObj.c: - * generic/tclPkg.c: - * generic/tclProc.c: - * generic/tclRegexp.c: - * generic/tclScan.c: - * generic/tclStringObj.c: - * generic/tclTest.c: - * generic/tclTestProcBodyObj.c: - * generic/tclThread.c: - * generic/tclThreadTest.c: - * generic/tclTimer.c: - * generic/tclTrace.c: - * generic/tclUtil.c: - * generic/tclVar.c: - * generic/tclStubInit.c: (regenerated) - -2009-02-10 Jan Nijtmans - - * unix/tcl.m4: [Bug 2502365]: Building of head on HPUX is broken when - using the native CC. - * unix/configure: (autoconf-2.59) - -2009-02-10 Don Porter - - * generic/tclObj.c (Tcl_GetString): Added comments and validity - checks following the call to an UpdateStringProc. - - * generic/tclStringObj.c: Reduce code duplication in Tcl_GetUnicode*. - Restrict AppendUtfToUtfRep to non-negative length appends. - Convert all Tcl_InvalidateStringRep() calls into macros. - Simplify Tcl_AttemptSetObjLength by removing unreachable code. - Simplify SetStringFromAny() by removing unreachable and duplicate code. - Simplify Tcl_SetObjLength by removing unreachable code. - Removed handling of (objPtr->bytes != NULL) from UpdateStringOfString, - which is only called when objPtr->bytes is NULL. - -2009-02-09 Jan Nijtmans - - * generic/tclCompile.c: [Bug 2555129]: const compiler warning (as - error) in tclCompile.c - -2009-02-07 Donal K. Fellows - - * generic/tclZlib.c (TclZlibCmd): [Bug 2573172]: Ensure that when - invalid subcommand name is given, the list of valid subcommands is - produced. This gives a better experience when using the command - interactively. - -2009-02-05 Joe Mistachkin - - * generic/tclInterp.c: [Bug 2544618]: Fix argument checking for - [interp cancel]. - * unix/Makefile.in: Fix build issue with zlib on FreeBSD (and possibly - other platforms). - -2009-02-05 Donal K. Fellows - - * generic/tclCmdMZ.c (StringIndexCmd, StringRangeCmd, StringLenCmd): - Simplify the implementation of some commands now that the underlying - string API knows more about bytearrays. - - * generic/tclExecute.c (TclExecuteByteCode): [Bug 2568434]: Make sure - that INST_CONCAT1 will not lose string reps wrongly. - - * generic/tclStringObj.c (Tcl_AppendObjToObj): Special-case the - appending of one bytearray to another, which can be extremely rapid. - Part of scheme to address [Bug 1665628] by making the basic string - operations more efficient on byte arrays. - (Tcl_GetCharLength, Tcl_GetUniChar, Tcl_GetRange): More special casing - work for bytearrays. - -2009-02-04 Don Porter - - * generic/tclStringObj.c: [Bug 2561794]: Added overflow protections to - the AppendUtfToUtfRep routine to either avoid invalid arguments and - crashes, or to replace them with controlled panics. - - * generic/tclCmdMZ.c: [Bug 2561746]: Prevent crashes due to int - overflow of the length of the result of [string repeat]. - -2009-02-03 Jan Nijtmans - - * macosx/tclMacOSXFCmd.c: Eliminate some unnessary type casts - * unix/tclLoadDyld.c: some internal const decorations - * unix/tclUnixCompat.c: spacing - * unix/tclUnixFCmd.c - * unix/tclUnixFile.c - * win/tclWinDde.c - * win/tclWinFCmd.c - * win/tclWinInit.c - * win/tclWinLoad.c - * win/tclWinPipe.c - * win/tclWinReg.c - * win/tclWinTest.c - * generic/tclBasic.c - * generic/tclBinary.c - * generic/tclCmdAH.c - * generic/tclCmdIL.c - * generic/tclCmdMZ.c - * generic/tclCompCmds.c - * generic/tclDictObj.c - -2009-02-03 Donal K. Fellows - - * generic/tclObj.c (tclCmdNameType): [Bug 2558422]: Corrected the type - of this structure so that extensions that write it (yuk!) will still - be able to function correctly. - -2009-02-03 Don Porter - - * generic/tclStringObj.c (SetUnicodeObj): [Bug 2561488]: - Corrected failure of Tcl_SetUnicodeObj() to panic on a shared object. - Also factored out common code to reduce duplication. - - * generic/tclObj.c (Tcl_GetStringFromObj): Reduce code duplication. - -2009-02-02 Don Porter - - * generic/tclInterp.c: Reverted the conversion of [interp] into an - * tests/interp.test: ensemble. Such conversion is not necessary - * tests/nre.test: (or even all that helpful) in the NRE-enabling - of [interp invokehidden], and it has other implications -- including - significant forkage of the 8.5 and 8.6 implementations -- that are - better off avoided if there's no gain. - - * generic/tclStringObj.c (STRING_NOMEM): [Bug 2494093]: Add missing - cast of NULL to (char *) that upsets some compilers. - - * generic/tclStringObj.c (Tcl_(Attempt)SetObjLength): [Bug 2553906]: - Added protections against callers asking for negative lengths. It is - likely when this happens that an integer overflow is to blame. - -2009-02-01 David Gravereaux - - * win/makefile.vc: Allow nmake flags such as -a (rebuild all) to pass - down to the pkgs targets, too. - -2009-01-30 Donal K. Fellows - - * doc/chan.n: [Bug 1216074]: Added another extended example. - - * doc/refchan.n: Added an example of how to build a scripted channel. - -2009-01-29 Donal K. Fellows - - * tests/stringObj.test: [Bug 2006888]: Remove non-ASCII chars from - non-comment locations in the file, making it work more reliably in - locales with a non-Latin-1 default encoding. - - * generic/tclNamesp.c (Tcl_FindCommand): [Bug 2519474]: Ensure that - the path is not searched when the TCL_NAMESPACE_ONLY flag is given. - - * generic/tclOODecls.h (Tcl_OOInitStubs): [Bug 2537839]: Make the - declaration of this macro work correctly in the non-stub case. - -2009-01-29 Don Porter - - * generic/tclInterp.c: Convert the [interp] command into a - * tests/interp.test: [namespace ensemble]. Work in progress - * tests/nre.test: to NRE-enable the [interp invokehidden] - subcommand. - -2009-01-29 Donal K. Fellows - - * generic/tclNamesp.c (TclMakeEnsemble): [Bug 2529117]: Make this - function behave more sensibly when presented with a fully-qualified - name, rather than doing strange stuff. - -2009-01-28 Donal K. Fellows - - * generic/tclBasic.c (TclInvokeObjectCommand): Made this understand - what to do if it ends up being used on a command with no objProc; that - shouldn't happen, but... - - * generic/tclNamesp.c (TclMakeEnsemble): [Bug 2529157]: Made this - understand NRE command implementations better. - * generic/tclDictObj.c (DictForCmd): Eliminate unnecessary command - implementation. - -2009-01-27 Donal K. Fellows - - * generic/tclOODefineCmds.c (Tcl_ClassSetConstructor): - [Bug 2531577]: Ensure that caches of constructor chains are cleared - when the constructor is changed. - -2009-01-26 Alexandre Ferrieux - - * generic/tclInt.h: [Bug 1028264]: WSACleanup() too early. - * generic/tclEvent.c: The fix introduces "late exit handlers" for - * win/tclWinSock.c: similar late process-wide cleanups. - -2009-01-26 Alexandre Ferrieux - - * win/tclWinSock.c: [Bug 2446662]: Resync Win behavior on RST with - that of unix (EOF). - -2009-01-26 Donal K. Fellows - - * generic/tclZlib.c (ChanClose): [Bug 2536400]: Only generate error - messages in the interpreter when the thread is not being closed down. - -2009-01-23 Donal K. Fellows - - * doc/zlib.n: Added a note that 'zlib push' is reversed by 'chan pop'. - -2009-01-22 Jan Nijtmans - - * generic/tclCompile.h: CONSTify TclPrintInstruction (TIP #27) - * generic/tclCompile.c - * generic/tclInt.h: CONSTify TclpNativeJoinPath (TIP #27) - * generic/tclFileName.c - * generic/tcl.decls: {unix win} is equivalent to {generic} - * generic/tclInt.decls - * generic/tclDecls.h: (regenerated) - * generic/tclIntDecls.h - * generic/tclGetDate.y: Single internal const decoration. - * generic/tclDate.c: - -2009-01-22 Kevin B. Kenny - - * unix/tcl.m4: Corrected a typo ($(SHLIB_VERSION) should be - ${SHLIB_VERSION}). - * unix/configure: Autoconf 2.59 - -2009-01-21 Andreas Kupries - - * generic/tclIORChan.c (ReflectClose): [Bug 2458202]: - * generic/tclIORTrans.c (ReflectClose): Closing a channel may supply - NULL for the 'interp'. Test for finalization needs to be different, - and one place has to pull the interp out of the channel instead. - -2009-01-21 Don Porter - - * generic/tclStringObj.c: New fix for [Bug 2494093] replaces the - flawed attempt committed 2009-01-09. - -2009-01-19 Kevin B. Kenny - - * unix/Makefile.in: [Patch 907924]:Added a CONFIG_INSTALL_DIR - * unix/tcl.m4: parameter so that distributors can control where - tclConfig.sh goes. Made the installation of 'ldAix' conditional upon - actually being on an AIX system. Allowed for downstream packagers to - customize SHLIB_VERSION on BSD-derived systems. Thanks to Stuart - Cassoff for his help. - * unix/configure: Autoconf 2.59 - -2009-01-19 David Gravereaux - - * win/build.vc.bat: Improved tools detection and error message - * win/makefile.vc: Reorganized the $(TCLOBJ) file list into separate - parts for easier maintenance. Matched all sources built using -GL to - both $(lib) and $(link) to use -LTCG and avoid a warning message. - Addressed the over-building nature of the htmlhelp target by moving - from a pseudo target to a real target dependent on the entire docs/ - directory contents. - * win/nmakehlp.c: Removed -g option and GrepForDefine() func as it - isn't being used anymore. The -V option method is much better. - -2009-01-16 Don Porter - - * generic/tcl.h: Bump patchlevel to 8.6b1.1 to distinguish - * library/init.tcl: CVS snapshots from the 8.6b1 and 8.6b2 releases - * unix/configure.in: and to deal with the fact that the 8.6b1 - * win/configure.in: version of init.tcl will not [source] in the - HEAD version of Tcl. - - * unix/configure: autoconf-2.59 - * win/configure: - -2009-01-14 Don Porter - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Reverted most - of the substance of my 2009-01-12 commit. NULLing the objProc field of - a Command when deleting it is important so that tests for certain - classes of commands don't return false positives when applied to - deleted command tokens. Overall change is now just replacement of a - false comment with a true one. - -2009-01-13 Jan Nijtmans - - * unix/tcl.m4: [Bug 2502365]: Building of head on HPUX is broken when - using the native CC. - * unix/configure (autoconf-2.59) - -2009-01-13 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_ThrowObjCmd): Move implementation of [throw] - * library/init.tcl (throw): to C from Tcl. - -2009-01-12 Don Porter - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken): One consequence of - the NRE rewrite is that there are now situations where a NULL objProc - field in a Command struct is perfectly normal. Removed an outdated - comment in Tcl_DeleteCommandFromToken that claimed we use - cmdPtr->objPtr==NULL as a test of command validity. In fact we use - cmdPtr->flags&CMD_IS_DELETED to perform that test. Also removed the - setting to NULL, since any extension following the advice of the old - comment is going to be broken by NRE anyway, and needs to shift to - flag-based testing (or stop intruding into such internal matters). - Part of [Bug 2486550]. - -2009-01-09 Don Porter - - * generic/tclStringObj.c (STRING_SIZE): [Bug 2494093]: Corrected - failure to limit memory allocation requests to the sizes that can be - supported by Tcl's memory allocation routines. - -2009-01-09 Donal K. Fellows - - * generic/tclNamesp.c (NamespaceEnsembleCmd): [Bug 1558654]: Error out - when someone gives wrong # of args to [namespace ensemble create]. - -2009-01-08 Don Porter - - * generic/tclStringObj.c (STRING_UALLOC): [Bug 2494093]: Added missing - parens required to get correct results out of things like - STRING_UALLOC(num + append). - -2009-01-08 Donal K. Fellows - - * generic/tclDictObj.c, generic/tclIndexObj.c, generic/tclListObj.c, - * generic/tclObj.c, generic/tclStrToD.c, generic/tclUtil.c, - * generic/tclVar.c: Generate errorcodes for the error cases which - approximate to "I can't interpret that string as one of those" and - "You gave me the wrong number of arguments". - -2009-01-07 Donal K. Fellows - - * doc/dict.n: [Tk Bug 2491235]: Added more examples. - - * tests/oo.test (oo-22.1): Adjusted test to be less dependent on the - specifics of how [info frame] reports general frame information, and - instead to focus on what methods add to it; that's really what the - test is about anyway. - -2009-01-06 Don Porter - - * tests/stringObj.test: Revise tests that demand a NULL Tcl_ObjType - in certain values to construct those values with [testdstring] so - there's no lack of robustness depending on the shimmer history of - shared literals. - -2009-01-06 Donal K. Fellows - - * generic/tclDictObj.c (DictIncrCmd): Corrected twiddling in internals - of dictionaries so that literals can't get destroyed. - - * tests/expr.test: [Bug 2006879]: Eliminate non-ASCII char. - - * generic/tclOOInfo.c (InfoObjectMethodsCmd,InfoClassMethodsCmd): - [Bug 2489836]: Only delete pointers that were actually allocated! - - * generic/tclOO.c (TclNRNewObjectInstance, Tcl_NewObjectInstance): - [Bug 2481109]: Perform search for existing commands in right context. - -2009-01-05 Donal K. Fellows - - * generic/tclCmdMZ.c (TclNRSourceObjCmd): [Bug 2412068]: Make - * generic/tclIOUtil.c (TclNREvalFile): implementation of the - [source] command be NRE enabled so that [yield] inside a script - sourced in a coroutine can work. - -2009-01-04 Donal K. Fellows - - * generic/tclCmdAH.c: Tidy up spacing and code style. - -2009-01-03 Kevin B. Kenny - - * library/clock.tcl (tcl::clock::add): Fixed error message formatting - in the case where [clock add] is presented with a bad switch. - * tests/clock.test (clock-65.1) Added a test case for the above - problem [Bug 2481670]. - -2009-01-02 Donal K. Fellows - - * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 878333]: Force the use of the - compatibility version of mkstemp() on IRIX. - * unix/configure.in, unix/Makefile.in (mkstemp.o): - * compat/mkstemp.c (new file): [Bug 741967]: Added a compatibility - implementation of the mkstemp() function, which is apparently needed - on some platforms. - - ****************************************************************** - *** CHANGELOG ENTRIES FOR 2008 IN "ChangeLog.2008" *** - *** CHANGELOG ENTRIES FOR 2006-2007 IN "ChangeLog.2007" *** - *** CHANGELOG ENTRIES FOR 2005 IN "ChangeLog.2005" *** - *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" *** - *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" *** - *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" *** - *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" *** - *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** - *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" *** - ****************************************************************** DELETED ChangeLog.1999 Index: ChangeLog.1999 ================================================================== --- ChangeLog.1999 +++ /dev/null @@ -1,2634 +0,0 @@ -1999-12-22 Jeff Hobbs - - * changes: updated changes file - * tools/tclSplash.bmp: updated to show 8.3 - -1999-12-21 Jeff Hobbs - - * README: - * generic/tcl.h: - * mac/README: - * unix/configure.in: - * tools/tcl.wse.in: - * win/README.binary: - * win/configure.in: updated to patch level 8.3b1 - - * unix/Makefile.in: added -srcdir=... for 'make html' - - * doc/Hash.3: fixed reference to ckfree [Bug 3912] - * doc/RegExp.3: fixed calling params for Tcl_RegExecFromObj - * doc/open.n: fixed minor formatting errors - * doc/string.n: fixed minor formatting errors - - * doc/lsort.n: added -unique docs - * tests/cmdIL.test: - * generic/tclCmdIL.c: added -unique option to lsort - - * generic/tclThreadTest.c: changed thread ids to longs [Bug 3902] - - * mac/tclMacOSA.c: fixed applescript for I18N [Bug 3644] - - * win/mkd.bat: - * win/rmd.bat: removed necessity of tag.txt [Bug 3874] - - * win/tclWinThrd.c: changed CreateThread to _beginthreadex and - ExitThread to _endthreadex - -1999-12-12 Jeff Hobbs - - * doc/glob.n: - * tests/fileName.test: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - * generic/tclEncoding.c: - * generic/tclFileName.c: - * mac/tclMacFile.c: - * unix/tclUnixFile.c: - * win/tclWinFile.c: enhanced the glob command with the new options - -types -path -directory and -join. Deprecated TclpMatchFiles with - TclpMatchFilesTypes, extended TclGlob and TclDoGlob and added - GlobTypeData structure. [Bug 2363] - -1999-12-10 Jeff Hobbs - - * tests/var.test: - * generic/tclCompile.c: fixed problem where setting to {} array would - intermittently not work. [Bug 3339] (Fontaine) - - * generic/tclCmdMZ.c: - * generic/tclExecute.c: optimized INST_TRY_CVT_TO_NUMERIC to recognize - boolean objects. [Bug 2815] (Spjuth) - - * tests/info.test: - * tests/parseOld.test: - * generic/tclCmdAH.c: - * generic/tclProc.c: changed Tcl_UplevelObjCmd (uplevel) and - Tcl_EvalObjCmd (eval) to use TCL_EVAL_DIRECT in the single arg case as - well, to take advantage of potential pure list input optimization. - This means that it won't get byte compiled though, which should be - acceptable. - * generic/tclBasic.c: made Tcl_EvalObjEx pure list object aware in the - TCL_EVAL_DIRECT case for efficiency. - * generic/tclUtil.c: made Tcl_ConcatObj pure list object aware, and - return a list object in that case [Bug 2098 2257] - - * generic/tclMain.c: changed Tcl_Main to not constantly reuse the - commandPtr object (interactive case) as it could be shared. (Fellows) - - * unix/configure.in: - * unix/tcl.m4: - * unix/tclUnixPipe.c: removed checking for compatible vfork function - and use of the vfork function. Modern VM systems rarely suffer any - performance degradation when fork is used, and it solves multiple - problems with vfork. Users that still want vfork can add -Dfork=vfork - to the compile flags. [Bug 942 2228 1312] - -1999-12-09 Jeff Hobbs - - * win/aclocal.m4: made it just include tcl.m4 - - * doc/exec.n: - * doc/open.n: - * win/tclWin32Dll.c: - * win/tclWinChan.c: - * win/tclWinFCmd.c: - * win/tclWinInit.c: - * win/tclWinPipe.c: - * win/tclWinSock.c: removed all code that supported Win32s. It was no - longer officially supported, and likely didn't work anyway. - * win/makefile.vc: removed 16 bit stuff, cleaned up. - - * win/tcl16.rc: - * win/tclWin16.c: - * win/winDumpExts.c: these files have been removed from the source - tree (no longer necessary to build) - -1999-12-07 Jeff Hobbs - - * tests/io.test: removed 'knownBug' tests that were for unsupported0, - which is now fcopy (that already has tests) - - * mac/tclMacPort.h: added utime.h include - - * generic/tclDate.c: - * unix/Makefile.in: fixed make gendate to swap const with CONST so it - uses the Tcl defined CONST type [Bug 3521] - - * generic/tclIO.c: removed panic that could occur in FlushChannel when - a "blocking" channel would receive EAGAIN, instead treating it the - same as non-blocking. [Bug 3773] - - * generic/tclUtil.c: fixed Tcl_ScanCountedElement to not step beyond - the end of the counted string. [Bug 3336] - -1999-12-03 Jeff Hobbs - - * doc/load.n: added note about NT's buggy handling of './' with - LoadLibrary - - * library/http2.1/http.tcl: fixed error handling in http::Event. [Bug - 3752] - - * tests/env.test: removed knownBug limitation from working test - * tests/all.tcl: ensured that ::tcltest::testsDirectory would be set - to an absolute path - - * tests/expr-old.test: - * tests/parseExpr.test: - * tests/string.test: - * generic/tclGet.c: - * generic/tclInt.h: - * generic/tclObj.c: - * generic/tclParseExpr.c: - * generic/tclUtil.c: - * generic/tclExecute.c: added TclCheckBadOctal routine to enhance - error message checking for when users use invalid octal numbers (like - 08), as well as replumbed the Expr*Funcs with a new VerifyExprObjType - to simplify type handling. [Bug 2467] - - * tests/expr.test: - * generic/tclCompile.c: fixed 'bad code length' error for 'expr + - {[incr]}' case, with new test case [Bug 3736] and seg fault on 'expr - + {[error]}' (different cause) that was caused by a correct - optimization that didn't correctly track how it was modifying the - source string in the opt. The optimization was removed, which means - that: - expr 1 + {[string length abc]} - will be not be compiled inline as before, but this should be written: - expr {1 + [string length abc]} - which will be compiled inline for speed. This prevents: - expr 1 + {[mindless error]} - from seg faulting, and only affects optimizations for degenerate cases - [Bug 3737] - -1999-12-01 Scott Redman - - * generic/tcl.decls: - * generic/tclMain.c: - * unix/tclAppInit.c: - * win/tclAppInit.c: Added two new internal functions, - TclSetStartupScriptFileName() and TclGetStartupScriptFileName() and - added hooks into the main() code for supporting TclPro and other "big" - shells more easily without requiring a copy of the main() code. - - * generic/tclEncoding.c: - * generic/tclEvent.c: Moved encoding-related startup code from - tclEvent.c into the more appropriate tclEncoding.c. - -1999-11-30 Jeff Hobbs - - * generic/tclIO.c: fix from Kupries for Tcl_UnstackChannel that - correctly handles resetting translation and encoding. - - * generic/tclLoad.c: #def'd out the unloading of DLLs at finalize time - for Unix in TclFinalizeLoad. [Bug 2560 3373] Should be parametrized - to allow for user to specify unload or not. - - * win/tclWinTime.c: fixed handling of %Z on NT for time zones that - don't have DST. - -1999-11-29 Jeff Hobbs - - * library/dde1.1/pkgIndex.tcl: - * library/reg1.0/pkgIndex.tcl: added supported for debugged versions - of the libraries - - * unix/tclUnixPipe.c: fixed PipeBlockModeProc to properly set - isNonBlocking flag on pipe. [Bug 1356 710] - removed spurious fcntl call from PipeBlockModeProc - - * tests/scan.test: - * generic/tclScan.c: fixed scan where %[..] didn't match anything and - added test case. [Bug 3700] - -1999-11-24 Jeff Hobbs - - * doc/open.n: - * win/tclWinSerial.c: adopted patch from Schroedter to handle - fconfigure $sock -lasterror on Windows. [RFE 3368] - - * generic/tclCmdIL.c: made SORTMODE_INTEGER work with Longs [Bug 3652] - -1999-11-23 Scott Stanton - - * library/tcltest1.0/tcltest.tcl: Fixed bug where tcltest output went - to stdout instead of the specified output file in some cases. - -1999-11-19 Jeff Hobbs - - * generic/tclProc.c: backed out change from 1999-11-18 as it could - affect return string from upvar as well. - - * tools/tcl.wse.in: added tcltest1.0 library to distribution list - - * doc/http.n: - * library/http2.1/http.tcl: - * library/http2.1/pkgIndex.tcl: updated http package to 2.2 - -1999-11-18 Jeff Hobbs - - * unix/tcl.m4: added defined for _THREAD_SAFE in --enable-threads - case; added check for pthread_mutex_init in libc; in AIX case, with - --enable-threads ${CC}_r is used; fixed flags when using gcc on SCO - - * generic/tclProc.c: corrected error reporting for default case at the - global level for uplevel command. - - * generic/tclIOSock.c: changed int to size_t type for len in - TclSockMinimumBuffers. - - * generic/tclCkalloc.c: fixed Tcl_DbCkfree to return a value on NULL - input. [Bug 3400] - - * generic/tclStringObj.c: fixed support for passing in negative length - to Tcl_SetUnicodeObj, et al handling routines. [Bug 3380] - - * doc/scan.n: - * tests/scan.test: - * generic/tclScan.c: finished support for inline scan by supporting - XPG identifiers. - - * doc/http.n: - * library/http2.1/http.tcl: added register and unregister commands to - http:: package (better support for tls/SSL), as well as -type argument - to http::geturl. [RFE 2617] - - * generic/tclBasic.c: removed extra decr of numLevels in Tcl_EvalObjEx - that could cause seg fault. (mjansen@wendt.de) - - * generic/tclEvent.c: fixed possible lack of MutexUnlock in - Tcl_DeleteExitHandler. [Bug 3545] - - * unix/tcl.m4: Added better pthreads library check and inclusion of - _THREAD_SAFE in --enable-threads case - Added support for gcc config on SCO - - * doc/glob.n: added note about ..../ glob behavior on Win9* - * doc/tcltest.n: fixed minor example errors. [Bug 3551] - -1999-11-17 Brent Welch - - * library/http2.1/http.tcl: Correctly fixed the -timeout problem - mentioned in the 10-29 change. Also added error handling for failed - writes on the socket during the protocol. - -1999-11-09 Jeff Hobbs - - * doc/open.n: corrected docs for 'a' open mode. - - * generic/tclIOUtil.c: changed Tcl_Alloc to ckalloc - - * generic/tclInt.h: - * generic/tclObj.c: rolled back changes from 1999-10-29 - Purify noted new leaks with that code - - * generic/tclParse.c: added code in Tcl_ParseBraces to test for - possible unbalanced open brace in a comment - - * library/init.tcl: removed the installed binary directory from the - auto_path variable - - * tools/tcl.wse.in: updated to 8.3a1, fixed install of twind.tcl and - koi8-r.enc files - - * unix/tcl.m4: added recognition of pthreads library for AIX - -1999-10-29 Brent Welch - - * generic/tclInt.h: Modified the TclNewObj and TclDecrRefCount in two - ways. First, in the case of TCL_THREADS, we do not use the special - Tcl_Obj allocator because that is a source of lock contention. Second, - general code cleanup to eliminate duplicated code. In particular, - TclDecrRefCount now uses TclFreeObj instead of duplicating that code, - so it is now identical to Tcl_DecrRefCount. - - * generic/tclObj.c: Changed Tcl_NewObj so it uses the TclNewObj macro - instead of duplicating the code. Adjusted TclFreeObj so it understands - the TCL_THREADS case described above. - - * library/http2.1/http.tcl: Fixed a bug in the handling of the - state(status) variable when the -timeout flag is specified. Previously - it was possible to leave the status undefined instead of empty, which - caused errors in http::status - -1999-10-28 Jeff Hobbs - - * unix/aclocal.m4: made it just include tcl.m4 - - * library/tcltest1.0/tcltest.tcl: updated makeFile to return full - pathname of file created - - * generic/tclStringObj.c: fixed Tcl_AppendStringsToObjVA so it only - iterates once over the va_list (avoiding a memcpy of it, which is not - portable). - - * generic/tclEnv.c: fixed possible ABR error in environ array - - * tests/scan.test: - * generic/tclScan.c: added support for use of inline scan, XPG3 - currently not included - - * tests/incr.test: - * tests/set.test: - * generic/tclCompCmds.c: fixed improper bytecode handling of 'eval - {set array($unknownvar) 5}' (also for incr). [Bug 3184] - - * win/tclWinTest.c: added testvolumetype command, as atime is - completely ignored for Windows FAT file systems - * win/tclWinPort.h: added sys/utime.h to includes - * unix/tclUnixPort.h: added utime.h to includes - * doc/file.n: - * tests/cmdAH.test: - * generic/tclCmdAH.c: added time arguments to atime and mtime file - command methods (support 'touch' functionality) - -1999-10-20 Jeff Hobbs - - * unix/tclUnixNotfy.c: fixed event/io threading problems by making - triggerPipe non-blocking. [Bug 2792] - - * library/tcltest1.0/tcltest.tcl: - * generic/tclThreadTest.c: fixed mem leaks in threads - - * generic/tclResult.c: fixed Tcl_AppendResultVA so it only iterates - once over the va_list (avoiding a memcpy of it, which is not - portable). - - * generic/regc_color.c: fixed mem leak and assertion, from HS - - * generic/tclCompile.c: removed savedChar trick that appeared to be - causing a segv when the literal table was released - - * tests/string.test: - * generic/tclCmdMZ.c: fixed [string index] to return ByteArrayObj when - indexing into one (test case string-5.16). [Bug 2871] - - * library/http2.1/http.tcl: protected gets with catch. [Bug 2665] - -1999-10-19 Jennifer Hom - - * tests/tcltest.test: - * doc/tcltest.n: - * library/tcltest1.0/tcltest.tcl: Removed the extra return at the end - of the tcltest.tcl file, added version information about tcl. - - Applied patches sent in by Andreas Kupries to add helper procs for - debug output, add 3 new flags (-testsdir, -load, -loadfile), and - internally refactors common code for dealing with paths into separate - procedures. [Bug 2838, 2842] - - Merged code from core-8-2-1 branch that changes the checks for the - value of tcl_interactive to also incorporate a check for the existence - of the variable. - - * tests/autoMkindex.test: - * tests/pkgMkIndex.test: Explicitly cd to ::tcltest::testsDirectory at - the beginning of the test run - - * tests/basic.test: Use version information defined in tcltest instead - of hard-coded version number - - * tests/socket.test: package require tcltest before attempting to use - variable defined in tcltest namespace - - * tests/unixInit.test: - * tests/unixNotfy.test: Added explicit exits needed to avoid problems - when the tests area run in wish. - -1999-10-12 Jim Ingham - - * mac/tclMacLoad.c: Stupid bug - we converted the filename to - external, but used the unconverted version. - * mac/tclMacFCmd.c: Fix a merge error in the bug fix for [Bug 2869] - -1999-10-12 Jeff Hobbs - - * generic/regc_color.c: - * generic/regc_cvec.c: - * generic/regc_lex.c: - * generic/regc_locale.c: - * generic/regcomp.c: - * generic/regcustom.h: - * generic/regerrs.h: - * generic/regex.h: - * generic/regexec.c: - * generic/regguts.h: - * generic/tclRegexp.c: - * generic/tclTest.c: - * tests/reg.test: updated to Henry Spencer's new regexp engine - (mid-Sept 99). Should greatly reduce stack space reqs. - - * library/tcltest1.0/pkgIndex.tcl: fixed procs in pkgIndex.tcl file - - * generic/tclEnv.c: fixed mem leak with putenv and DStrings - * doc/Encoding.3: corrected docs - * tests/basic.test: updated test cases for 8.3 - * tests/encoding.test: fixed test case that change system encoding to - a double-byte one (this causes a bogus mem read error for purify) - * unix/Makefile.in: purify has to use -best-effort to instrument - * unix/tclAppInit.c: identified potential mem leak when compiling - tcltest (not critical) - * unix/tclUnixPipe.c: fixed mem leak in TclpCreateProcess when doing - alloc between vfork and execvp. - * unix/tclUnixTest.c: fixed mem leak in findexecutable test command - -1999-10-05 Jeff Hobbs - - * {win,mac,unix,tools,}/README: - * win/README.binary: - * win/makefile.vc: - * {win,unix}/configure.in: - * generic/tcl.h: - * library/init.tcl: updated to 8.3a1 from 8.2.0. - - * library/http2.1/http.tcl: fixed possible use of global c var. - - * win/tclWinReg.c: fixed registry command to properly 'get' - HKEY_PERFORMANCE_DATA root key data. Needs more work. - - * generic/tclNamesp.c: - * generic/tclVar.c: - * generic/tclCmdIL.c: fixed comment typos - - * mac/tclMacFCmd.c: fixed filename stuff to support UTF-8. [Bug 2869] - - * win/tclWinSerial.c: changed SerialSetOptionProc to return TCL_OK by - default. (patch from Rolf Schroedter) - -1999-09-21 Jennifer Hom - - * library/tcltest1.0/tcltest.tcl: Applied patches sent in by Andreas - Kupries to fix typos in comments and ::tcltest::grep, fix hook - redefinition problems, and change "string compare" to "string equal". - [Bug 2836, 2837, 2839, 2840] - -1999-09-20 Jeff Hobbs - - * tests/env.test: - * unix/Makefile.in: added support for AIX LIBPATH env var. [Bug 2793] - removed second definition of INCLUDE_INSTALL_DIR (the one that - referenced @includedir@) [Bug 2805] - * unix/dltest/Makefile.in: added -lc to LIBS. [Bug 2794] - -1999-09-16 Jeff Hobbs - - * tests/timer.test: changed after delay in timer test 6.29 from 1 to - 10. [Bug 2796] - - * tests/pkg.test: - * generic/tclPkg.c: fixed package version check to disallow 1.2..3 - [Bug 2539] - - * unix/Makefile.in: fixed gendate target - this never worked since RCS - was intro'd. - * generic/tclGetDate.y: updated to reflect previous changes to - tclDate.c (leap year calc) and added CEST and UCT time zone - recognition. Fixed 4 missing UCHAR() casts. [Bug 2717, 954, 1245, - 1249] - - * generic/tclCkalloc.c: changed Tcl_DumpActiveMemory to really dump to - stderr and close it [Bug 725] and changed Tcl_Ckrealloc and - Tcl_Ckfree to not bomb when NULL was passed in [Bug 1719] and changed - Tcl_Alloc, et al to not panic when a alloc request for zero came - through and NULL was returned (valid on AIX, Tru64) [Bug 2795, etc] - - * tests/clock.test: - * doc/clock.n: - * generic/tclClock.c: added -milliseconds switch to clock clicks to - guarantee that the return value of clicks is in the millisecs - granularity. [Bug 2682, 1332] - -1999-09-15 Jeff Hobbs - - * generic/tclIOCmd.c: fixed potential core dump in conjunction with - stacked channels with result obj manipulation in Tcl_ReadChars. [Bug - 2623] - - * tests/format.test: - * generic/tclCmdAH.c: fixed translation of %0#s in format. [Bug 2605] - - * doc/msgcat.n: fixed \\ bug in example. [Bug 2548] - - * unix/tcl.m4: - * unix/aclocal.m4: added fix for FreeBSD-[1-2] recognition [Bug 2070] - and fix for IRIX SHLIB_LB_LIBS. [Bug 2610] - - * doc/array.n: - * tests/var.test: - * tests/set.test: - * generic/tclVar.c: added an array unset operation, with docs and - tests. Variation of [Bug 1775]. Added fix in TclArraySet to check - when trying to set in a non-existent namespace. [Bug 2613] - -1999-09-14 Jeff Hobbs - - * tests/linsert.test: - * doc/linsert.n: - * generic/tclCmdIL.c: fixed end-int interpretation of linsert to - correctly calculate value for end, added test and docs. [Bug 2693] - - * doc/regexp.n: - * doc/regsub.n: - * tests/regexp.test: - * generic/tclCmdMZ.c: add -start switch to regexp and regsub with docs - and tests - - * doc/switch.n: added proper use of comments to example. - * generic/tclCmdMZ.c: changed switch to complain when an error occurs - that seems to be due to a misplaced comment. - - * generic/tclCmdMZ.c: fixed illegal ref for \[0-9] substitutions in - regsub. [Bug 2723] - - * generic/tclCmdMZ.c: changed [string equal] to return an Int type - object (was a Boolean) - -1999-09-01 Jennifer Hom - - * library/tcltest1.0/tcltest.tcl: Process command-line arguments only - ::tcltest doesn't have a child namespace (requires that command-line - args are processed in that namespace) - -1999-09-01 Jeff Hobbs - - * generic/tclParseExpr.c: changed '"' to '\"' to make FreeBSD happy. - [Bug 2625] - * generic/tclProc.c: moved static buf to better location and changed - static msg that would overflow in ProcessProcResultCode [Bug 2483] - and added Tcl_DStringFree to Tcl_ProcObjCmd. Also reworked size of - static buffers. - * tests/stringObj.test: added test 9.11 - * generic/tclStringObj.c: changed Tcl_AppendObjToObj to properly - handle the 1-byte dest and mixed src case where both had had Unicode - string len checks made on them. [Bug 2678] - * unix/aclocal.m4: - * unix/tcl.m4: adjusted fix from 8-21 to add -bnoentry to the AIX-* - case and readjusted the range - -1999-08-31 Jennifer Hom - - * library/tcltest1.0/tcltest.tcl: - * doc/tcltest.n: - * tests/README: Modified testConstraints variable so that it isn't - unset every time ::tcltest::initConstraints is called and cleaned up - documentation in the README file and the man page. - -1999-08-27 Jennifer Hom - - * tests/env.test: - * tests/exec.test: - * tests/io.test: - * tests/event.test: - * tests/tcltest.test: Added 'exit' calls to scripts that the tests - themselves write, and removed accidental checkin of knownBugThreaded - constraints for Solaris and Linux. - - * library/tcltest1.0/tcltest.tcl: Modified tcltest so that variables - are only initialized to their default values if they did not - previously exist. - -1999-08-26 Jennifer Hom - - * tests/tcltest.test: - * library/tcltest1.0/tcltest.tcl: Added a -args flag that sets a - variable named ::tcltest::parameters based on whatever's being sent in - as the argument to the -args flag. - -1999-08-23 Jennifer Hom - - * tests/tcltest.test: Added additional tests for -tmpdir, marked all - tests that use exec as unixOrPc. - - * tests/encoding.test: - * tests/interp.test: - * tests/macFCmd.test: - * tests/parseOld.test: - * tests/regexp.test: Applied patches from Jim Ingham to add encoding - to a Mac only interp test, change an error message in macFCmd.tet, put - a comment in parseOld.test, fix tests using the testencoding path - command, and put unixOrPc constraints on tests that use exec. - -1999-08-21 Jeff Hobbs - - * unix/aclocal.m4: Changed AIX-4.[2-9] check to AIX-4.[1-9] [Bug 1909] - -1999-08-20 Jeff Hobbs - - * generic/tclPosixStr.c: fixed typo. [Bug 2592] - - * doc/*: fixed various nroff bugs in man pages. [Bug 2503 2588] - -1999-08-19 Jeff Hobbs - - * win/README.binary: fixed version info and some typos. [Bug 2561] - - * doc/interp.n: updated list of commands available in a safe - interpreter. [Bug 2526] - - * generic/tclIO.c: changed Tcl_GetChannelNames* to use style guide - headers (pleases HP cc) - -1999-08-18 Jeff Hobbs - - * doc/Eval.3: fixed doc on input args. [Bug 2114] - - * doc/OpenFileChnl.3: - * doc/file.n: - * tests/cmdAH.test: - * tclIO.c: - * tclCmdAH.c: added "file channels ?pattern?" tcl command, with - associated Tcl_GetChannelNames and Tcl_GetChannelNamesEx public C APIs - (added to tcl.decls as well), with docs and tests. - - * tests/expr.test: - * generic/tclCompile.c: add TCL_TOKEN_VARIABLE to the part types that - cause differed compilation for exprs, to correct the expr - double-evaluation problem for vars. Added test cases. Related to [Bug - 732] - - * unix/Makefile.in: changed the dependency structure so that install-* - is dependent on * (ie - install-binaries is dependent on binaries). - - * library/auto.tcl: - * library/init.tcl: - * library/ldAout.tcl: - * library/package.tcl: - * library/safe.tcl: - * library/word.tcl: - * library/http2.1/http.tcl: - * library/msgcat1.0/msgcat.tcl: updated libraries to better Tcl style - guide (no more string comparisons with == or !=, spacing changes). - -1999-08-05 Jim Ingham - - * mac/tclMacProjects.sea.hqx: Rearrange the projects so that the build - directory is separate from the sources. Much more convenient! - -1999-08-13 Scott Redman - - * /: 8.2.0 tagged for final release - -1999-08-12 Scott Stanton - - * win/Makefile.in: Added COMPILE_DEBUG_FLAGS macro to make it easier - to turn on compiler tracing. - - * tests/parse.test: - * generic/tclParse.c: Fixed bug in Tcl_EvalEx where the termOffset was - not being updated in cases where the evaluation returned a non TCL_OK - error code. [Bug 2535] - -1999-08-12 Scott Redman - - * win/tclWinSerial.c: Applied patch from Petteri Kettunen to remove - compiler warning. - -1999-08-10 Scott Redman - - * generic/tclAlloc.c: - * generic/tclCmdIL.c: - * generic/tclIO.c: - * generic/tclThread.c: - * win/tclWinThrd.c: - * unix/tclUnixThrd.c: Fixed Brent's changes so that they work on - Windows (and he fixed the bug in the Unix thread implementation). - -1999-08-09 Brent Welch - - * generic/tcl.decls: - * generic/tclAlloc.c: - * generic/tclCkalloc.c: - * generic/tclCmdIL.c: - * generic/tclDecls.h: - * generic/tclIO.c: - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - * generic/tclVar.c: - * mac/tclMacThrd.c: - * unix/tclUnixThrd.c: - * win/tclWinThrd.c: Added use of Tcl_GetAllocMutex to tclAlloc.c and - tclCkalloc.c so they can be linked against alternate thread packages. - Added Tcl_GetChannelNames to tclIO.c. Added TclVarTraceExists hook so - "info exists" triggers read traces exactly like it did in Tcl 7.6. - Stubs table changes to reflect new internal and external APIs. - -1999-08-09 Jeff Hobbs - - * tests/string.test: added largest_int proc to adapt for >32 bit - machines and int overflow testing. - * tests/tcltest.test: fixed minor error in 8.2 result (from dgp) - - * doc/Object.3: clarified Tcl_DecrRefCount docs. [Bug 1952] - * doc/array.n: clarified array pattern docs. [Bug 1330] - * doc/clock.n: fixed clock docs. [Bug 693] - * doc/lindex.n: clarified to account for new end-int behavior. - * doc/string.n: fixed formatting errors. [Bug 2188 2189] - * doc/tclvars.n: fixed doc error. [Bug 2042] - * library/init.tcl: fixed path handling in auto_execok (it could miss - including the normal path on some Windows machines). [Bug 1276] - -1999-08-05 Jeff Hobbs - - * doc/tclvars.n: Made it clear that tcl_pkgPath was not set for - Windows (already mentioned in init.tcl). [Bug 2455] - * generic/tclLiteral.c: fixed reference to bytes that might not be - null terminated (using objPtr->bytes, which is). [Bug 2496] - * library/http2.1/http.tcl: Made use of "i" in init section use local - var and start at 0 (was 1). [Bug 2502] - -1999-08-04 Scott Stanton - - * tests/reg.test: Added test for REG_EXPECT bug fixed by Henry's - patch. - - * generic/regc_nfa.c: - * generic/regcomp.c: - * generic/rege_dfa.c: - * generic/regexec.c: - * generic/regguts.h: Applied patches supplied by Henry Spencer to - greatly enhance the performance of certain classes of regular - expressions. [Bug 2440, 2447] - -1999-08-03 Scott Redman - - * win/tclWinInt.h: Remove function declarations in header that was - moved to tclInt.decls file in previous changes. - -1999-08-02 Scott Redman - - * unix/configure.in: - * win/configure.in: Change beta level to b2. - - * generic/tcl.h: - * generic/tcl.decls: - * generic/tclDecls.h: - * generic/tclInt.h: - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * generic/tclRegexp.h: - * generic/tclStubInit.c: Move some exported public and internal - functions to the stub tables. Removed functions that are in the stub - tables (from this and previous changes) from the original header - files. - -1999-08-01 Scott Redman - - * win/tclWinSock.c: Added comment block to SocketThread() function. - Added code to avoid calling TerminateThread(), but instead to send a - message to the socket event window to tell it to terminate its thread. - -1999-07-30 Jennifer Hom - - * tests/tcltest.test: - * library/tcltest1.0/tcltest.tcl: Exit with non-zero status if there - were problems with the way the test suite was started (e.g. wrong # - arguments). - -1999-07-30 Jeff Hobbs - - * generic/tclInt.decls: added declaractions necessary for the Tcl test - code to work wth stubs. [Bug 2445] - -1999-07-30 Scott Redman - - * win/tclWinPipe.c: - * win/Makefile.in: Fixing launching of 16-bit apps on Win9x from wish. - The command line was primed with tclpip82.dll, but it was ignored. - Fixed that, then fixed the gmake makefile to build tclpip82.dll as an - executable. - - * win/tclWinSock.c: Applied small patch to get thread-specific data - after initializing the socket driver. - - * unix/tclUnixThrd.c: Applied patch to fix threads on Irix 6.5. Patch - from James Dennett. [Bug 2450] - - * tests/info.test: Enable test for tclParse.c change (info complete). - -1999-07-30 Jeff Hobbs - - * tclIO.c: added fix for Kupries' trf patch. [Bug 2386] - - * tclParse.c: fixed bug in info complete regarding nested square - brackets. [Bug 2382, 2466] - -1999-07-29 Scott Redman - - * win/tclWinChan.c: Allow tcl to open CON and NUL, even for std - channels. Checking for bad/unusable std channels was moved to Tk since - its only purpose was to check whether to use the Tk Console Window for - the std channels. [Bug 2393 2392 2209 2458] - - * unix/mkLinks.tcl: Applied patch to avoid linking pack.n to - pack-old.n. Patch from Don Porter. [Bug 2469] - - * doc/Encoding.n: Applied patch to fix typo in .SH NAME line. Patch - from Don Porter. [Bug 2451] - - * win/tclWinSock.c: Free Win32 Event handles when destroying the - socket helper thread. - -1999-07-28 Jennifer Hom - - * tests/tcltest.test: - * library/tcltest1.0/tcltest.tcl: Fixed the condition under which - ::tcltest::PrintError had an infinite loop problem and added a test - case for it. Added an optional argument to ::tcltest::getMatchingFiles - telling it where to search for test files. - -1999-07-27 Scott Redman - - * tools/tclSplash.bmp: Updated Windows installer bitmap to ready - Tcl/Tk Version 8.2. - -1999-07-26 Scott Redman - - * tests/tcltest.test: Need to close the new core file, there seems to - be a hang in threaded WinNT if the file isn't closed. Open issue, need - to fix that hang. - - * tests/httpold.test: Add time delay in response from Http server so - that test cases can properly detect timeout conditions with threads - enabled on multi-CPU WinNT. - - * tests/winFCmd.test: Test case winFcmd-1.33 was looking for - c:\windows, which may not exist. Instead, create a new directory on - c:\ and use it for the test. - - * win/tclWinConsole.c: - * win/tclWinPipe.c: - * win/tclWinSock.c: Fix terminating helper threads by holding any - mutexes from the primary thread while waiting for the helper thread to - terminate. Without these changes, the test suite hangs on WinNT with 2 - CPUs and threads enabled. Open issue, seems to be a sporadic hang on - dual CPU systems still (very rare). - -1999-07-26 Jennifer Hom - - * tests/tcltest.test: - * library/tcltest1.0/tcltest.tcl: - * doc/tcltest.n: Cleaned up code in ::tcltest::PrintError, revised - documentation, and added tests for the tcltest package. - -1999-07-23 Scott Redman - - * tests/info.test: - * generic/tclParse.c: Removed patch for info command, breaks test - cases on Unix. Patch was bad and needs to be redone properly. [Bug - 2382] - -1999-07-22 Scott Redman - - * Changed version to 8.2b2. - - * win/tclWinSock.c: Fixed hang with threads enabled, fixed semaphores - with threads disabled. - - * win/safe.test: Fixed safe-6.3 with threads enabled. - - * win/Makefile.in: Fixed calling of tcltest to fix safe.test failures - due to path TCL_LIBRARY path. - - * win/tclWinPort.h: Block out include of sys/*.h in order to build - extensions with MetroWerks compiler for Win32. [Bug 2385] - - * generic/tclCmdMZ.c: - * generic/tclIO.c: Fix ANSI-style prototypes based on patch from - Ulrich Ring. [Bug 2391] - - * unix/Makefile.in: Need to make install-sh executable before calling - (with chmod +x). [Bug 2413] - - * tests/var.test: - * generic/tclVar.c: Fixed bug that caused a seg. fault when using - "array set a(b) {}", which is a bad array name anyway. Now the "array - set" command will return an error in this case. Added test case and - fixed existing test. [Bug 2427] - -1999-07-21 Scott Redman - - * tests/info.test: - * generic/tclParse.c: Applied patch to fix "info complete" for the - string {[a [b]}. Patch from Peter Spjuth. [Bug 2382] - - * doc/Utf.3: - * generic/tcl.decls: - * generic/tclDecls.h: - * generic/tclUtf.c: Changed function declarations in - non-platform-specific public APIs to use "unsigned long" instead of - "size_t", which may not be defined on certain compilers (rather than - include sys/types.h, which may not exist). - - * unix/Makefile.in: Added the Windows configure script to the - distribution file list, already shipping configure.in and the .m4 - files, but needed the configure script itself. - - * win/makefile.vc: Changed version number of DDE package in VC++ - makefile to use 1.1 instead of 1.0. - - * doc/open.n: Added documentation of \\.\comX notation for opening - serial ports on Windows (alternative to comX:). - - * tests/ioCmd.test: - * doc/open.n: - * win/tclWinSerial.c: Applied patch from Rolf Schroedter to add - -pollinterval option to fconfigure to modify the maxblocktime used in - the fileevent polling. Added documentation and fixed the test case as - well. - - * win/tclWinSock.c: Modified 8.1.0 version of the Win32 socket driver - to move the handling of the socket event window in a separate thread. - It also turned out that Win95 & Win98 were, in some cases, getting - multiple FD_ACCEPTs but only handling one. Added a count for the - FD_ACCEPT to take care of this. Tested on NT4 SP3, NT4 SP4, Win95, and - Win98. [Bug 2178 2256 2259 2329 2323 2355] - -1999-07-21 Jerry Peek - - * README: Small tweaks to clean up typos and wording. - -1999-07-20 Melissa Hirschl - - * generic/tclInitScript.h: - * unix/tclUnixInit.c: merged code with 8.0.5. We now use an - intermediate global tcl var "tclDefaultLibrary" to keep the - "tcl_library" var from being set by the default value in the Makefile. - Also fixed a bug in which caused the value of TCL_LIBRARY env var to - be ignored. - * unix/tclWinInit.c: just updated some comments. - -1999-07-19 Melissa Hirschl - - * library/http2.1/http.tcl: updated -useragent text to say version - 2.1. - -1999-07-16 Scott Redman - - * generic/tcl.decls: - * generic/tclDecls.h: - * generic/tclStubInit.c: Add Tcl_SetNotifier to stub table. [Bug 2364] - - * unix/aclocal.m4: - * unix/tcl.m4: Add check for Alpha/Linux to correct the IEEE floating - flag to the compiler, should be -mieee. Patch from Don Porter. - - * tools/tcl.hpj.in: Change version number of .cnt file referenced in - .HPJ file. - -1999-07-15 Scott Redman - - * tools/tcl.wse.in: Fixed naming of target files for Windows. - -1999-07-14 Jerry Peek - - * doc/re_syntax.n: Deleted sentence as suggested by Scott S. - -1999-07-12 Jerry Peek - - * doc/re_syntax.n: Removed two notes to myself (oops), cleaned up - wording, fixed changebars, made two examples easier to read. - -1999-07-11 Scott Redman - - * win/makefile.vc: Since the makefile.vc should continue to work while - we're working out bugs/issues in the new TEA-style - autoconf/configure/gmake build mechanism for Windows, the version - numbers of the Tcl libraries need to remain in sync. Modified the - version numbers in the makefile to reflect the change to 8.2b1. - -1999-07-09 Scott Redman - - * win/configure.in: Eval DLLSUFFIX, LIBSUFFIX, and EXESUFFIX in the - configure script so that substitutions get expanded before being - placed in the Makefile. The "d" portion for debug libraries and DLLs - was not being set properly. - -1999-07-08 Scott Stanton - - * tests/string.test: - * generic/tclCmdMZ.c: Fixed bug in string range bounds checking code. - -1999-07-08 Jennifer Hom - - * doc/tcltest.n: - * library/tcltest1.0/tcltest.tcl: Removed -asidefromdir and - -relateddir flags, removed unused ::tcltest::dotests proc, cleaned up - implementation of core file checking, and fixed the code that checks - for 1-letter flag abbreviations. - -1999-07-08 Scott Stanton - - * win/Makefile.in: Added tcltest target so runtest works properly. - Added missing names to the clean/distclean targets. - - * tests/reg.test: - * generic/rege_dfa.c: Applied fix supplied by Henry Spencer for bug in - DFA state caching under lookahead conditions. [Bug 2318] - -1999-07-07 Scott Stanton - - * doc/fconfigure.n: Clarified default buffering behavior for the - standard channels. [Bug 2335] - -1999-07-06 Scott Redman - - * win/tclWinSerial.c: New implementation of serial port driver from - Rolf Shroedter (Rolf.Schroedter@dlr.de) that allows more than one byte - to be read from the port. Implemented using polling instead of - threads, there is a max. 10ms latency between checking the port for - file events. [Bug 1980 2217] - -1999-07-06 Brent Welch - - * library/http2.0/http.tcl: Fixed the -timeout option so it handles - timeouts that occur during connection attempts to hosts that are down - (the only case that really matters!) - -1999-07-03 Brent Welch - - * doc/ChnlStack.3: - * generic/tcl.decls: - * generic/tclIO.c: Added a new variant of the "Trf patch" from Andreas - Kupres that adds new C APIs Tcl_StackChannel, Tcl_UnstackChannel, and - Tcl_GetStackedChannel. - -1999-07-03 Brent Welch - - * generic/tclNotify.c: - * unix/tclUnixNotfy.c: - * unix/tclXtTest.c: - * unix/tclXtNotify.c: - * win/tclWinNotify.c: - * mac/tclMacNotify.c: Added Tcl_SetNotifier and the associated hook - points in the notifiers to be able to replace the notifier calls at - runtime. The Xt notifier and test program use this hook. - -1999-07-03 Brent Welch - - * generic/tclParse.c: Changed parsing of variable names to allow empty - array names. Now "$(foo)" is a variable reference! Previous you had to - use something like $::(foo), which is slower. This change is requested - by Jean-Luc Fontaine for his STOOOP package. - -1999-07-01 Scott Redman - - * generic/tclCmdAH.c: - * generic/tclFCmd.c: Call TclStat instead of TclpStat in order to - allow Tcl_Stat hooks to work properly. - -1999-06-29 Jennifer Hom - - * library/tcltest1.0/pkgIndex.tcl: - * library/tcltest1.0/tcltest.tcl: - * doc/tcltest.n: - * tests/all.tcl: Added -preservecore, -limitconstraints, -help, -file, - -notfile, -relateddir and -asidefromdir flags to the tcltest package - along with exported proc ::tcltest::getMatchingFiles. The - documentation was modified to match and all.tcl was modified to use - the new functionality instead of implementing -file itself. - -1999-06-28 Scott Redman - - * generic/tclIndexObj.c: - * doc/GetIndex.3: - * tests/binary.test: - * tests/winDde.test: Applied patch from Peter Hardie (with changes) to - fix problem with Tcl_GetIndexFromObj() when the key being passed is - the empty string. It used to match "" and return TCL_OK, but it should - have returned TCL_ERROR instead. Added test case to "binary" and "dde" - commands to check the behavior. Added documentation note as well. - -1999-06-26 Scott Redman - - * win/tclWinDde.c: Applied patch from Peter Hardie to add poke command - to dde. Also rev'd version of dde package to 1.1. [Bug 1738] - -1999-06-25 Jennifer Hom - - * unix/Makefile.in: - * win/Makefile.in: - * library/tcltest1.0/pkgIndex.tcl: - * library/tcltest1.0/tcltest.tcl: - * library/tcltest1.0: Added initial implementation of the Tcl test - harness package. This package was based on the defs.tcl file that was - part of the tests directory. Reversed the way that tests were - evaluated to fix a problem with false passes. - - * doc/tcltest.n: Added documentation for the tcltest package. - - * tests/README: - * tests/defs.tcl: - * tests/all.tcl: Modified all test files (tests/*.test) and all.tcl to - use the new tcltest package and removed references to the defs.tcl - file. Modified the README file to point to the man page for tcltest. - -1999-06-25 Scott Stanton - - * tests/reg.test: - * generic/regexec.c: Fixed bugs in non-greedy quantifiers. - -1999-06-23 Jerry Peek - - * doc/re_syntax.n: - * doc/switch.n: - * doc/lsearch.n: - * doc/RegExp.3: - * doc/regexp.n: - * doc/regsub.n: Moved information about syntax of 8.1 regular - expressions from regexp(n) manpage into new re_syntax(n) page. Added - pointers from other manpages to new re_syntax(n) page. - -1999-06-23 Scott Stanton - - * unix/Makefile.in: Changed install-doc to install-man. - - * tools/uniParse.tcl: - * tools/uniClass.tcl: - * tools/README: - * tests/string.test: - * generic/regc_locale.c: - * generic/tclUniData.c: - * generic/tclUtf.c: - * doc/string.n: Updated Unicode character tables to reflect latest - Unicode 2.1 data. Also rationalized "regexp" and "string is" - definitions of character classes. - -1999-06-21 Scott Stanton - - * unix/tclUnixThrd.c (TclpThreadCreate): Fixed memory leak where - thread attributes were not being released. [Bug 2254] - -1999-06-17 Scott Stanton - - * tests/regexp.test: - * generic/tclCmdMZ.c: - * generic/tclCmdIL.c: Changed to use new regexp interfaces. Added - -expanded, -line, -linestop, and -lineanchor switches to regsub. - - * doc/RegExp.3: Documented the new regexp interfaces and the - compile/execute flags. - - * generic/tclTest.c: - * generic/tclRegexp.h: - * generic/tclRegexp.c: - * generic/tcl.h: - * generic/tcl.decls: Renamed Tcl_RegExpMatchObj to Tcl_RegExpExecObj - and added a new Tcl_RegExpMatchObj that is equivalent to - Tcl_RegExpMatch. Added public macros for the regexp compile/execute - flags. Changed to store either an object pointer or a string pointer - in the TclRegexp structure. Changed to avoid adding a reference to the - object or copying the string. - - * generic/regcomp.c: lint - - * tests/reg.test: - * generic/regex.h: - * generic/regc_lex.c: Added REG_BOSONLY flag to allow Expect to - iterate through a string an only find matches that start at the - current position within the string. - -1999-06-16 Michael Thomas - - * unix/configure.in: - * unix/Makefile.in: - * unix/tcl.m4: - * unix/aclocal.m4: Numerous build changes to make Tcl conform to the - proposed TEA spec - -1999-06-16 Melissa Hirschl - - * generic/tclVar.c (Tcl_VariableObjCmd): fixed premature increment in - loop that was causing out-of-bounds reads on array "varName". - -1999-06-16 Scott Stanton - - * tests/execute.test: - * generic/tclExecute.c (TclExecuteByteCode): Fixed crash caused by a - bug in INST_LOAD_SCALAR1 where the scalar index was read as a signed 1 - byte value instead of unsigned. [Bug 2243] - -1999-06-14 Melissa Hirschl - - * doc/StringObj.3 - * test/stringObj.test - * unix/Makefile.in - * win/Makefile.in - * win/makefile.vc - * generic/tclStringObj.c: - Merged String and Unicode object types. Added new functions to the - puplic API: Tcl_NewUnicodeObj, Tcl_SetUnicodeObj, Tcl_GetUnicode, - Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange, - Tcl_AppendUnicodeToObj. - -1999-06-09 Scott Stanton - - * generic/tclUnicodeObj.c: Lots of cleanup and simplification. Fixed - several memory bugs. Added TclAppendUnicodeToObj. - - * generic/tclInt.h: Added declarations for various Unicode string - functions. - - * generic/tclRegexp.c: - * generic/tclCmdMZ.c: Changed to use new Unicode string interfaces for - better performance. - - * generic/tclRegexp.h: - * generic/tclRegexp.c: - * generic/tcl.h: - * generic/tcl.decls: Added Tcl_RegExpMatchObj and Tcl_RegExpGetInfo - calls to access lower level regexp API. These features are needed by - Expect. This is a preliminary implementation pending final review and - cleanup. - - * generic/tclCmdMZ.c: - * tests/string.test: Fixed bug where string map failed on null strings - - * generic/regexec.c: - * unix/tclUnixNotfy.c: lint - - * tools/genStubs.tcl: Changed to always write output in LF mode. - -1999-06-08 Scott Stanton - - * win/tclWinSock.c: Rolled back to the 8.1.0 implementation because of - serious problems with the new driver. Basically no incoming socket - connections would be reported to a server port. The 8.1.1 code needs - to be redesigned and fixed correctly. - -1999-06-07 Melissa Hirschl - - * tests/string.test: - * generic/tclVar.c (Tcl_SetVar2Ex): - * generic/tclStringObj.c (Tcl_AppendObjToObj): - * generic/tclCmdMZ.c (Tcl_StringObjCmd): optimized the string index, - string length, string range, and append command in cases where the - object's internal rep is a bytearray. Objects with other internal reps - are converted to have the new unicode internal rep. - - * unix/Makefile.in: - * win/Makefile.in: - * win/Makefile.vc: - * tests/unicode.test: - * generic/tclInt.h: - * generic/tclObj.c: - * generic/tclUnicodeObj.c: added a new object type to store the - unicode representation of a string. - - * generic/tclTestObj.c: added the objtype option to the testobj - command. This option returns the name of the type of internal rep an - object has. - -1999-06-04 Scott Stanton - - * win/configure.in: - * win/Makefile.in: Windows build now handles static/dynamic - debug/nodebug builds and supports the standard targets using Cygwin - user tools plus GNU make and autoconf. - -1999-06-03 Scott Stanton - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * tests/string.test: Fixed bug where string equal/compare -nocase - reported wrong result on null strings. [Bug 2138] - -1999-06-02 Scott Stanton - - * generic/tclUtf.c (Tcl_UtfNcasecmp): Fixed incorrect computation of - relative ordering. [Bug 2135] - -1999-06-01 Scott Stanton - - * unix/configure.in: Fixed various small configure.in patches - submitted by Jan Nijtmans. [Bug 2121] - - * tests/reg.test: - * generic/regc_color.c: - * generic/regc_cvec.c: - * generic/regc_lex.c: - * generic/regc_locale.c: - * generic/regc_nfa.c: - * generic/regcomp.c: - * generic/regcustom.h: - * generic/rege_dfa.c: - * generic/regerror.c: - * generic/regerrs.h: - * generic/regex.h: - * generic/regexec.c: - * generic/regfree.c: - * generic/regfronts.c: - * generic/regguts.h: - * generic/tclCmdMZ.c: - * generic/tclRegexp.c: - * generic/tclRegexp.h: - * generic/tclTest.c: Applied Henry Spencer's latest regexp patches - that fix an infinite loop bug and add support for testing whether a - string could match with additional input. [Bug 2117] - -1999-05-28 Scott Stanton - - * generic/tclObj.c: Changed to eliminate use of isupper/tolower in - favor of the Unicode versions. - - * win/Makefile.in: - * win/configure.in: Added preliminary TEA implementation. - - * win/tclWinDde.c: Fixed bug where dde calls were being passed an - invalid dde handle because Initialize had not been called. [Bug 2124] - -1999-05-26 Scott Redman - - * generic/tclThreadTest.c: Fixed race condition in testthread code - that showed up in the WinNT test suite intermittently. - - * win/tclWinSock.c: Fixed a hang in the WinNT socket driver, wake up - the socket thread every 100ms to check for events on the sockets that - did not wake up the thread (race condition). - -1999-05-24 Scott Stanton - - * tools/genStubs.tcl: Changed to allow a list of platforms instead of - just one at a time. - - * generic/tcl.decls: - * generic/tclCmdMZ.c: - * generic/tclDecls.h: - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * generic/tclPort.h: - * generic/tclStubInit.c: - * generic/tclStubLib.c: Various header file related changes and other - lint to try to get the Mac builds working. - -1999-05-21 Scott Redman - - * win/tclWinPipe.c: Fix bug when launching command.com on Win95/98. - Need to wait for the procInfo.hProcess of the process that was - created, not the hProcess of the current process. [Bug 2105] - -1999-05-20 Scott Redman - - * library/init.tcl: Add the directory where the executable is, and the - ../lib directory relative to that, to the auto_path variable. - -1999-05-19 Scott Stanton - - Merged in various changes submitted by Jeff Hobbs: - - * generic/tcl.decls: - * generic/tclUtf.c: Added Tcl_UniCharIs* functions for control, graph, - print, and punct classes. - - * generic/tclUtil.c: - * doc/StrMatch.3: Added Tcl_StringCaseMatch() implementation to - support case-insensitive globbing. - - * doc/string.n: - * unix/mkLinks: - * tests/string.test: - * generic/tclCmdMZ.c: Added additional character class tests, added - -nocase switch to "string match", changed string first/last to use - offsets. - -1999-05-19 Scott Redman - - * generic/tcl.h: Add extern "C" block around entire header file for - C++ compilers to fix linkage issues. Submitted by Don Porter and Paul - Duffin. - - * generic/tclRegexp.c: Fix bug when the regexp cache is empty and an - empty pattern is used in regexp ( such as {} or "" ). - -1999-05-18 Scott Stanton - - * win/tclWinChan.c: Modified initialization code to avoid inherenting - closed or invalid channels. If the standard input is anything other - than a console, file, serial port, or pipe, then we fall back to the - standard Tk window console. - -1999-05-14 Scott Stanton - - * generic/tclCmdAH.c (Tcl_ForObjCmd): Fixed crash caused by failure to - reset the result before evaluating the test expression. - -1999-05-14 Bryan Surles - - * generic/tclBasic.c (Tcl_CreateInterp): Added introspection variable - for threaded interps. If the interp was compiled with threads enabled, - the tcl_platform(threaded) variable will exist. - -1999-05-14 Scott Redman - - * generic/tclDate.c: Applied patch to fix 100-year and 400-year - boundaries in leap year code, from Isaac Hollander. [Bug 2066] - -1999-05-13 Scott Stanton - - * unix/Makefile.in: - * unix/tclAppInit.c: Minor cleanup related to Xt notifier. - - * unix/tclUnixInit.c (TclpSetInitialEncodings): Tcl now looks for an - encoding subfield in the LANG/LC_ALL variables in cases where the - locale is not found in the locale table. Ensure that setlocale() is - called at least once so X11 will initialize properly. Also, forces the - LC_NUMERIC locale to be "C" so numeric processing in scripts is not - affected by the current locale setting. [Bug 1989] - - * generic/tclRegexp.c: Increased per-thread regexp cache to 30 slots. - This seems to be about the right number for larger applications like - exmh. [Bug 1063] - -1999-05-12 Scott Stanton - - * doc/tclsh.1: Updated references to rc script names to accurately - reflect the platform differences on Windows. - - * tests/regexp.test: - * generic/tclInt.h: - * generic/tclBasic.c: - * generic/tclRegexp.h: - * generic/tclRegexp.c: Replaced the per-interpreter regexp cache with - a per-thread cache. Changed the Regexp object to take advantage of - this extra cache. Added a reference count to the TclRegexp type so - regexps can be shared by multiple objects. Removed the per-interp - regexp cache from the interpreter. Now regexps can be used with no - need for an interpreter. [Bug 1063] - - * win/tclWinInit.c (TclpSetVariables): Avoid calling GetUserName if - the value can be determined from the USERNAME environment variable. - GetUserName is very slow. - -1999-05-07 Scott Stanton - - * win/winDumpExts.c: - * win/makefile.vc: Removed incorrect patch. [Bug 1998] - - * generic/tcl.decls: Replaced const with CONST. - - * generic/tclResult.c (Tcl_AppendResultVA): - * generic/tclStringObj.c (Tcl_AppendStringsToObjVA): Fixed to copy - arglist using memcpy instead of assignment so it works properly on - OS/390. [Bug 1997] - - * generic/tclLoadNone.c: Updated to use current interfaces, added - TclpUnloadFile. [Bug 2003] - - * win/winDumpExts.c: - * win/makefile.vc: Changed to emit library name in defs file. [Bug - 1998] - - * unix/configure.in: Added fix for OS/390. [Bug 1976] - -1999-05-06 Scott Stanton - - * tests/string.test: - * generic/tclCmdMZ.c: - * doc/string.n: Fixed bug in string equal/compare code when using - -length option. Cleaned up docs a bit more. - - * tests/http.test: Unset "data" array before running tests to avoid - failures due to previous tests. - - * doc/string.n: - * tests/cmdIL.test: - * tests/cmdMZ.test: - * tests/error.test: - * tests/ioCmd.test: - * tests/lindex.test: - * tests/linsert.test: - * tests/lrange.test: - * tests/lreplace.test: - * tests/string.test: - * tests/cmdIL.test: - * generic/tclUtil.c: - * generic/tclCmdMZ.c: Replaced "string icompare/iequal" with -nocase - and -length switches to "string compare/equal". Added a -nocase option - to "string map". Changed index syntax to allow integer or - end?-integer? instead of a full expression. This is much simpler with - safeTcl scripts since it avoids double substitution issues. - - * doc/Utf.3: - * generic/tclStubInit.c: - * generic/tclDecls.h: - * generic/tclUtf.c: - * generic/tcl.decls: Added Tcl_UtfNcmp and Tcl_UtfNcasecmp. - -1999-05-05 Scott Stanton - - * win/makefile.vc: Added encoding directory to install-libraries - target. - -1999-05-03 Scott Stanton - - * doc/string.n: - * tests/cmdMZ.test: - * tests/string.test: - * generic/tclCmdMZ.c (Tcl_StringObjCmd): Changed "string length" to - avoid regenerating the string rep of a ByteArray object. - - * tests/cmdIL.test: - * tests/cmdMZ.test: - * tests/error.test: - * tests/lindex.test: - * tests/linsert.test: - * tests/lrange.test: - * tests/lreplace.test: - * tests/string.test: - * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * generic/tclUtil.c (TclGetIntForIndex): Applied Jeff Hobbs's string - patch which includes the following changes [Bug 1845]: - - string compare now takes optional length arg (for strncmp behavior) - - added string equal (just a few lines of code blended in with string - compare) - - added string icompare/iequal for case-insensitive comparisons - - string index's index can now be ?end[+-]?expression - I made this change in the private TclGetIntForIndex, which means - that the list commands also benefit, as well as string range, et al. - - added [string repeat string count] - Repeats given string number of times - - added string replace, string equiv to lreplace - (quasi opposite of string range): - string replace first last ?string? - Example of use, replacing end of string with ... should the string - be more than 16 chars long: - string replace $string 16 end "..." - This just returns the string len < 16, so it will only affect the - long strings. - - added optional first and last args to string to* - This allows you to just affect certain regions of a string with the - command (like just capping the first letter). I found the original - totitle to be too draconian to be useful. - - added [string map charMap string] - where charMap is a {from to from to} list that equates to what one - might get from [array get]. Each and can be multiple chars (or none - at all). For Tcl/CGI users, this is a MAJOR speed booster. - - * generic/tclParse.c (Tcl_ParseCommand): Changed to avoid modifying - eval'ed strings that are already null terminated. [Bug 1793] - - * tests/binary.test: - * generic/tclBinary.c (DupByteArrayInternalRep): Fixed bug where type - was not being set in duplicated object. [Bug 1975, 2047] - -1999-04-30 Scott Stanton - - * Changed version to 8.1.1. - -1999-04-30 Scott Stanton - - * Merged changes from 8.1.0 branch: - - * generic/tclParse.c: Fixed memory leak in CommandComplete. - - * generic/tclPlatDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclIntDecls.h: - * generic/tclDecls.h: - * tools/genStubs.tcl: Added 'extern "C" {}' block around the stub - table pointer declaration so the stub library can be used from C++. - [Bug 1934] - - * Lots of documentation and other release engineering fixes. - -1999-04-28 Scott Stanton - - * mac/tclMacResource.c: - * generic/tclListObj.c: - * generic/tclObj.c: - * generic/tclStringObj.c: Changed to avoid freeing the string - representation before freeing the internal rep. This helps with - debugging since the string rep will still be valid when the free proc - is invoked. - -1999-04-27 Scott Stanton - - * generic/tclLiteral.c (TclHideLiteral): Fixed so hidden literals get - duplicated to avoid accidental sharing in the global object table. - -1999-04-23 Scott Stanton - - * generic/tclStubInit.c: - * tools/genStubs.tcl: Changed to avoid the need for forward - declarations in stub initializers. - -1999-04-23 Scott Stanton - - * library/encoding/koi8-r.enc: - * tools/encoding/koi8-r.txt: Added support for the koi8-r Cyrillic - encoding. [Bug 1771] - -1999-04-22 Scott Stanton - - * win/tclWinFCmd.c: - * win/tclWin32Dll.c: Changed uses of "try" to "__try", since that is - the actual keyword. This eliminates the need for some -D flags from - the makefile. - - * generic/tclPort.h: Added include of tcl.h since it defines various - Windows macros that are needed before deciding which platform porting - file to use. - - * generic/tclEvent.c: lint - - * win/tclWinInit.c (TclpInitPlatform): Added call to TclWinInit when - building a static library since DllMain will not be invoked. This - could break old code that explicitly called TclWinInit, but should be - simpler in the long run. - -1999-04-22 Scott Stanton - - * generic/tclInt.h: - * generic/tclInt.decls: - * generic/tclCompile.c: Added TclSetByteCodeFromAny that takes a hook - procedure to invoke after compilation but before the byte codes are - emitted. This makes it possible to do postprocessing on the compiled - byte codes before the ByteCode is generated. - - * generic/tclLiteral.c: Added TclHideLiteral and TclAddLiteralObj to - make it possible to create local unshared literal objects. - - * win/tclWinInit.c: - * unix/tclUnixInit.c: Changed initial search path to match that - found used by tcl_findLibrary. - -1999-04-22 Scott Redman - - * win/tclWinPort.h: - * win/tclWinSock.c: Added code to use WinSock 2.0 API on NT to avoid - creating a window to handle sockets. API not available on Win95 and - needs to be fixed on Win98, until then continue to use the older - (window-based) scheme on those two OSes. - -1999-04-15 Scott Stanton - - * Merged 8.1 back into the main trunk - -1999-04-13 Scott Stanton - - * library/encoding/gb2312.enc: - * library/encoding/euc-cn.enc: - * tools/encoding/gb2312.txt: - * tools/encoding/cp950.txt: - * tools/encoding/Makefile: Restored the double byte definition of - GB2312 and added the EUC-CN encoding. EUC-CN is a variant of GB2312 - that shifts the characters into bytes with the high bit set and - includes ASCII as a subset. [Bug 632] - -1999-04-13 Scott Redman - - * win/tclWinSock.c: Apply patch to allow write access to a socket if - FD_WRITE is sent but FD_CONNECT is not. Some strange problem with - either Win32 or a socket driver. [Bug 1664 1776] - -1999-04-09 Scott Redman - - * unix/tclUnixNotfy.c: Fixed notifier deadlock situation when the pipe - used to talk back notifier thread is filled with data. When calling - the write() function to feed data down that pipe, unlock the - notifierMutex to allow the notifier to wake up again. Found as a - result of the focus.test for Tk hanging. [Bug 1700] - -1999-04-06 Scott Stanton - - * tests/unixNotfy.test: Fixed hang in tests when built with thread - support. - - * tests/httpold.test: Fixed broken test that didn't wait long enough - for events to arrive. - - * tests/unixInit.test: Fixed race condition in test. - - * tests/unixInit.test: - * tests/fileName.test: Minor test nits. - - * unix/tclUnixInit.c (TclpSetInitialEncodings): Fixed bad initial - encoding string. - -1999-04-06 Bryan Surles - - * generic/tclVar.c: - * generic/tclEnv.c: Moved the "array set" C level code into a common - routine (TclArraySet). The TclSetupEnv routine now uses this API to - create an env array w/ no elements. - - * generic/tclEnv.c: - * generic/tclWinInit.h: - * generic/tclUnixInit.h: - * generic/tclInt.h: Made the Env module I18N compliant. Changed the - FindVariable routine to TclpFindVariable, that now does a case - insensitive string comparison on Windows, and not on UNIX. [Bug 1299, - 1500] - -1999-04-05 Scott Stanton - - * tests/io.test: Minor test cleanup. - - * generic/tclEncoding.c (Tcl_CreateEncoding): Minor lint to make it - easier to compile on Digital-unix. [Bug 1659] - - * unix/configure.in: - * unix/tclUnixPort.h: Applied patch for OS/390 to handle lack of - sys/param.h. [Bug 1725] - - * unix/configure.in: Fixed BSD/OS 4.* configuration to support shared - libraries properly. [Bug 1730] - -1999-04-05 Scott Redman - - * win/tclWinDde.c: decrease timeout value for DDE calls to 30k. [Bug - 1639] - - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclDecls.h: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - * generic/tclUtil.c: Added more functions to the Tcl stubs table, - including all Tcl_ functions not already in it (except Cmd functions) - and Tcl_GetCwd() and Tcl_Chdir() (new functions). - - * tests/safe.test: - * doc/safe.n: - * generic/tclBasic.c: - * library/safe.tcl: The encoding command is not safe as-is, so create - a safe alias to mask out the "encoding system " but allow all - other uses including "encoding system". Added test cases and updated - the man page for Safe Tcl. - -1999-04-05 Scott Stanton - - * tests/winTime.test: - * win/tclWinTime.c: Fixed crash in clock command that occurred when - manipulating negative time values in timezones east of GMT. [Bug - 1142, 1458] - - * tests/platform.test: - * tests/fileName.test: Fixed broken tests. - - * generic/tclFileName.c: Moved global regexps into thread local - storage. - - * tests/socket.test: Changed so tests don't reuse sockets, since - Windows is slow to release sockets. - - * win/tclWinConsole.c: - * win/tclWinPipe.c: - * win/tclWinSerial.c: Fixed race condition where background threads - were terminated while they still held a lock in the notifier. - -1999-04-02 Scott Stanton - - * tests/http.test: Fixed bad test initialization code. - - * generic/tclThreadTest.c (ThreadExitProc): Fixed bug where static - memory was being returned instead of a dynamically allocated result in - error cases. - -1999-04-02 Scott Redman - - * doc/dde.n: - * tools/tcl.wse.in: - * win/makefile.vc: - * win/pkgIndex.tcl: - * win/tclWinDde.c: Add new DDE package, code removed from Tk now - separated into its own package. Changed DDE-based send code into "dde - eval" command. Can be loaded into tclsh (not just wish). Windows only. - -1999-04-02 Scott Stanton - - * tests/expr.test: - * tests/for-old.test: - * tests/for.test: - * tests/foreach.test: - * tests/format.test: - * tests/httpold.test: - * tests/if.test: - * tests/init.test: - * tests/interp.test: - * tests/while.test: Added some tests for known bugs (marked with - knownBug constraint), and cleaned up a few bad tests. - - * generic/regc_locale.c: - * generic/regcustom.h: - * generic/tcl.decls: - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclInt.h: - * generic/tclRegexp.c: - * generic/tclScan.c: - * generic/tclTest.c: - * generic/tclUtf.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: Made various Unicode utility functions public. The - following functions were made public and added to the stubs table: - Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString, - Tcl_UniCharLen, Tcl_UniCharNcmp, Tcl_UniCharIsAlnum, - Tcl_UniCharIsAlpha, Tcl_UniCharIsDigit, Tcl_UniCharIsLower, - Tcl_UniCharIsSpace, Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar - -1999-04-01 Scott Stanton - - * tests/registry.test: - * win/tclWinReg.c: Internationalized the registry code. It now uses - Unicode interfaces on NT. [Bug 1197] - - * tests/parse.test: - * generic/tclParse.c: Fixed crash due to multiple frees in parser - during error cleanup when parsing commands with more tokens than will - fit in the static area of the parse structure. [Bug 1681] - - * generic/tclInt.h: Removed duplicate declarations. - - * generic/tclInt.decls: - * generic/tcl.decls: Added Tcl_WinUtfToTChar and Tcl_WinTCharToUtf to - the tclPlat table. - -1999-04-01 Scott Redman - - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclBasic.c: - * generic/tclDecls.h: - * generic/StubInit.c: - * tools/genStubs.tcl: - * unix/Makefile.in: - * win/makefile.vc: Applied patch from Jan Nijtmans to fix Ultrix - multiple symbol definition problem. Now, even Tcl includes a copy of - the Tcl stub library. Also fixed TCL_MEM_DEBUG mode (for Tk). - -1999-03-31 Scott Redman - - * win/tclWinConsole.c: WinNT has a bug when reading a single character - from the console. Rewrote the code for the console to read an entire - line at a time using the reader thread. - -1999-03-30 Scott Stanton - - * unix/Makefile.in: Removed trailing backslash that broke the "depend" - target. - - * unix/tclUnixInit.c (TclpSetInitialEncodings): Changed to avoid - calling setlocale(). We now look directly at env(LANG) and - env(LC_CTYPE) instead. [Bug 1636] - - * generic/tclFileName.c: - * generic/tclDecls.h: - * generic/tcl.decls: Removed CONST from Tcl_JoinPath and - Tcl_TranslateFileName because it changes the signature of Tcl_JoinPath - in an incompatible manner. - - * generic/tclInt.h: - * generic/tclLoad.c (TclFinalizeLoad): - * generic/tclEvent.c (Tcl_Finalize): Defer unloading of loadable - modules until all exit handlers have been invoked. [Bug 998, 1273, - 1573, 1593] - -1999-03-29 Scott Stanton - - * generic/tclFileName.c: - * generic/tclDecls.h: - * generic/tcl.decls: Added CONST to Tcl_JoinPath and - Tcl_TranslateFileName. - -1999-03-29 Scott Redman - - * tools/genStubs.tcl: - * unix/configure.in: - * unix/Makefile.in: - * win/makefile.vc: - * generic/tcl.h: - * generic/tclBasic.c: - * generic/tclDecls.h: - * generic/tclIntDecls.h: - * generic/tclPlatDecls.h: - * generic/tclIntPlatDecls.h: Removed the stub functions and changed - the stub macros to just use the name without params. Pass &tclStubs - into the interp (don't use tclStubsPtr because of collisions with the - stubs on Solaris). - -1999-03-27 Scott Redman - - * win/makefile.bc: Removed makefile for Borland compiler, no longer - supported. - -1999-03-26 Scott Redman - - * win/tclWinSerial.c: - * win/tclWinConsole.c: - * win/tclWinPipe.c: Don't close the Win32 handle for a channel if it's - a stdio handle (GetStdHandle()) during shutdown of a thread to prevent - it from destroying the stdio of other threads. - -1999-03-26 Suresh Ankolekar - - * unix/configure.in: --nameble-shared is now the default and build Tcl - as a shared library; specify --disable-shared to build a static Tcl - library and shell. - -1999-03-25 Scott Stanton - - * tests/interp.test: - * generic/tclInterp.c (AliasObjCmd): Changed so aliases are invoked at - current scope in the target interpreter instead of at the global - scope. This was an incompatibility introduced in 8.1 that is being - removed. [Bug 1153, 1556] - - * library/encoding/big5.enc: - * library/encoding/gb2312.enc: - * tools/encoding/big5.enc: - * tools/encoding/gb2312.enc: Added ASCII to big5 and gb2312 encodings. - [Bug 632] - - * generic/tclPkg.c (Tcl_PkgRequireEx): Fixed broken clientData - initialization in package code. - - * unix/Makefile.in (dist): Added tcl.decls and tclInt.decls to source - distribution. [Bug 1571] - - * doc/Thread.3: Updated documentation of Tcl_MutexLock to indicate - that the recursive locking behavior is undefined. On Windows, it does - not block, on Unix it deadlocks. [Bug 1275] - -1999-03-24 Scott Stanton - - * tests/execute.test: - * generic/tclExecute.c (TclExecuteByteCode): Fixed expression code - that incorrectly returned floating point values for integers if the - internal rep happened to be a double. Now we check to see if the - object has a string rep that looks like an integer before using the - double internal rep. [Bug 1516] - -1999-03-24 Scott Redman - - * generic/tclAlloc.c: - * generic/tclEncoding.c: - * generic/tclProc.c: - * unix/tclUnixTime.c: - * win/tclWinSerial.c: Fixed compilation warnings/errors for VC++ 5.0 - and 6.0 and HP-UX native compiler without -Aa or -Ae. [Bug 1323 1518 - 1324 1583 1585 1586] - - * win/tclWinSock.c: Make sockets thread-safe on Windows. The current - implementation uses windows to handle events on the socket, one for - each thread (thread local storage). Previously, there was only one - window shared between threads, which didn't work. [Bug 1326] - -1999-03-23 Scott Stanton - - * tools/tcl.wse: Fixed file association to look in the right place for - the wish icon. [Bug 1544] - - * tests/winNotify.test: - * tests/ioCmd.test: - * tests/event.test: Changed to use new style conditionals. - - * tests/encoding.test: Fixed nonportable test. - - * unix/dltest/configure.in: - * unix/dltest/Makefile.in: Added missing DBGX macros. [Bug 1564] - - * tests/winNotify.test: - * mac/tclMacNotify.c: - * win/tclWinNotify.c: - * unix/tclUnixNotfy.c: - * generic/tclNotify.c: Added a new Tcl_ServiceModeHook interface that - is invoked whenever the service mode changes. This is needed to allow - the Windows notifier to create a communication window the first time - Tcl is about to enter an external modal event loop instead of at - startup time. This will avoid the various problems that people have - been seeing where the system hangs when tclsh is running outside of - the event loop. [Bug 783] - - * generic/tclInt.h: - * generic/tcl.decls: Renamed TclpAlertNotifier back to - Tcl_AlertNotifier since it is part of the public notifier driver API. - -1999-03-23 Scott Redman - - * win/tclWinSerial.c: Fixed problem with fileevent on the serial port - and nonblocking mode. Gets no longer hangs, fileevents fire whenever - there is any character data on the port. - - * tests/winConsole.test: - * win/tclWinConsole.c: Fixed problem with fileevents and gets from a - console stdin. Previously, fileevents were firing before an entire - line was available for reading, which meant that when you did a gets - or read, it blocked (even in nonblocking mode). Now, it should work - the same as Unix: fileevents fire when an entire line is ready, and - gets and read do not block in non-blocking mode. Added an interactive - test case to check for this. - -1999-03-22 Scott Stanton - - * tests/reg.test: - * generic/regc_color.c: Applied regexp bug fix from Henry Spencer. - -1999-03-19 Scott Redman - - * generic/tclCmdIL.c: Fixed the initialization of an array so that the - Sun 5.0 C compiler wouldn't complain. - - * unix/configure.in: Added support for --enable-64bit. For now, this - is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun - compiler (not gcc). - -1999-03-18 Scott Stanton - - * win/tclWinChan.c (TclpOpenFileChannel, Tcl_MakeFileChannel): Changed - to only test for console or comm handles when the type is - FILE_TYPE_CHAR to avoid useless tests on simple files. Also reordered - tests so consoles are tested first as this is more common. - - * win/makefile.vc: Regularized usage of mkd and rmd and rm. - - * library/encoding/shiftjis.enc: - * tools/encoding/shiftjis.txt: Missing/incorrect characters in - shift-jis table. [Bug 1008, 1526] - - * generic/tclInt.decls: - * generic/tcl.decls: Eliminated use of "string" and "list" from - argument lists to avoid conflicts with C++ STL. [Bug 1181] - - * win/tclWinFile.c (TclpMatchFiles): Changed to ignore the - FS_CASE_IS_PRESERVED bit and always return exactly what we get from - the system. - -1999-03-17 Scott Stanton - - * win/README.binary: - * win/README: - * unix/configure.in: - * generic/tcl.h: - * README: Updated version to 8.1b3. - -1999-03-14 Scott Stanton - - * win/tclWinConsole.c: - * win/tclWinPipe.c: - * win/tclWinSerial.c: Changed so channel drivers wait for the - reader/writer threads to exit before returning during a close - operation. This ensures that the main thread is the last thread to - exit, so the process return value is set properly. - - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclIntPlatStubs.c: - * generic/tclIntStubs.c: - * generic/tclPlatDecls.h: - * generic/tclPlatStubs.c: - * generic/tclStubInit.c: - * generic/tclStubs.c: Fixed bad eol characters. - - * generic/tclInt.decls: Changed "const" to "CONST" in declarations for - better portability. - - * generic/tcl.decls: Renamed panic and panicVA to Tcl_Panic and - Tcl_PanicVA in the stub files. - - * generic/tclInterp.c (Tcl_MakeSafe): Remove tcl_platform(user) from - safe interps. - -1999-03-11 Scott Stanton - - * unix/Makefile.in: - * unix/configure.in: Include compat files in the stub library in - addition to the main library. Compat files are now built for dynamic - use in all cases. - - * generic/tcl.h: Changed magic number so it doesn't match the plus - patch, at Jan's request. - - * unix/tclConfig.sh.in: - * unix/dltest/Makefile.in: - * unix/dltest/configure.in: - * unix/dltest/pkga.c: - * unix/dltest/pkgb.c: - * unix/dltest/pkgc.c: - * unix/dltest/pkgd.c: - * unix/dltest/pkge.c: - * unix/dltest/pkgf.c: Changed package tests to build against the stubs - library. - -1999-03-10 Scott Stanton - - * generic/tcl.h: - * generic/tcl.decls: Changed Tcl_ReleaseType from an enum to macros so - it can be used in .rc files. Added Tcl_GetString. - - * mac/tclMacNotify.c: - * generic/tclNotify.c: - * generic/tclInt.h: - * win/tclWinNotify.c: - * generic/tcl.h: Renamed Tcl_AlertNotifier to TclpAlertNotifier. - - * generic/tclInt.decls: Added TclWinAddProcess to make it possible for - expect to use Tcl_WaitForPid(). This patch is from Gordon Chaffee. - - * mac/tclMacPort.h: - * win/tclWinInit.c: - * unix/tclUnixPort.h: - * generic/tclAsync.c: Added TclpAsyncMark to fix bug in async handling - on Windows where async events don't wake up the event loop. This patch - comes from Gordon Chaffee. - - * generic/tcl.decls: Fixed declarations of reserved slots. - -1999-03-10 Scott Redman - - * generic/tclCompile.h: Ensure that the ByteCode struct is binary - compatible with the version in 8.0.6. - - * generic/tcl.h: - * generic/tclBasic.c: Add Tcl_GetVersion() function to the public C - API to allow programs to check the version number of the Tcl library - at runtime. Also added an enum to clarify the release level (alpha, - beta, final). - -1999-03-09 Scott Stanton - - * Integrated changes from Tcl 8.0 including: - stubs mechanism - configure patches from Jan Nijtmans - rename of panic to Tcl_Panic - -1999-03-08 Lee Bernhard - - * win/tclWin32Dll.c: Removed Dll instance from thread-local storage. - -1999-03-08 Scott Stanton - - * generic/tcl.h: Moved Tcl_Mutex, etc. macros above the inclusion of - tclDecls.h to avoid macro conflicts. - - * generic/tclInt.h: - * generic/regc_color.c: - * generic/regcomp.c: - * generic/tclCmdIL.c: - * generic/tclCmdAH.c: - * generic/tclIOCmd.c: - * generic/tclParse.c: - * generic/tclStringObj.c: - * unix/tclUnixNotfy.c: Cleaned up various compiler warnings, - eliminated UCHAR bugs. - - * unix/tclUnixNotfy.c: - * unix/tclUnixThrd.c: - * generic/tclThreadTest.c: - * mac/tclMacThrd.c: Changed TclpCondition*() to Tcl_Condition*(). - - * INTEGRATED PATCHES FROM 8.0.6: - - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclBasic.c: - * generic/tclDecls.h: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclIntPlatStubs.c: - * generic/tclIntStubs.c: - * generic/tclPlatDecls.h: - * generic/tclPlatStubs.c: - * generic/tclStubInit.c: - * generic/tclStubLib.c: - * generic/tclStubs.c: - * tools/genStubs.tcl: - * unix/configure.in: - * unix/Makefile.in: - * unix/tclConfig.sh.in: - * win/makefile.vc: - * win/tclWinPort.h: Added Tcl stubs implementation. There are now two - new macros USE_TCL_STUBS and USE_TCL_STUB_PROCS that enable use of - stubs and disable stub macros respectively. All of the public and - private function declarations from tcl.h and tclInt.h have moved into - the *.decls files and the *Stubs.c and *Decls.h files are generated - using the genStubs.tcl script. - - * unix/Makefile.in: - * unix/configure.in: - * unix/ldAix: Enhanced AIX shared library support. - - * win/tclWinSock.c: Removed a bunch of extraneous PASCAL FAR - attributes from internal functions. - - * win/tclWinReg.c: Changed registry package to use stubs mechanism so - it no longer depends on the specific version of Tcl. - - * doc/AddErrInfo.3: - * doc/Eval.3: - * doc/PkgRequire.3: - * doc/SetResult.3: - * doc/StringObj.3: - * generic/tcl.h: - * generic/tclBasic.c: - * generic/tclPanic.c: - * generic/tclStringObj.c: - * generic/tclUtil.c: - * unix/mkLinks: Added va_list versions of all VARARGS functions so - they can be invoked from the stub functions. - - * doc/package.n: - * doc/PkgRequire.3: - * generic/tclPkg.c: Added Tcl_PkgProvideEx, Tcl_RequireEx, - Tcl_PresentEx, and Tcl_PkgPresent. Added "package present" command. - - * generic/tclFileName.c: - * mac/tclMacFile.c: - * mac/tclMacShLib.exp: - * unix/tclUnixFile.c: - * win/tclWinFile.c: Changed so TclGetUserHome is defined on all - platforms, even though it is currently a noop on mac and windows, and - renamed it to TclpGetUserHome. - - * generic/tclPanic.c: - * generic/panic.c: Renamed panic to Tcl_Panic. - -1999-02-25 Scott Redman - - * win/makefile.vc: Added tclWinConsole.c and tclWinSerial.c - - * win/tclWinConsole.c: New code to properly deal with fileevents and - nonblocking mode on consoles. - - * win/tclWinSerial.c: New code to properly deal with fileevents and - nonblocking mode on serial ports. - - * win/tclWinPipe.c: - * win/tclWinPort.h: Exported functions to allow creation of pipe - channels from tclWinChan.c - - * win/tclWinChan.c: Check the type of a channel, including for the - standard (stdin/stdout/stderr), and use the correct channel type to - create the channel (file, serial, console, or pipe). - -1999-02-11 Scott Stanton - - * README: - * generic/tcl.h: - * win/README.binary: - * win/README: - * unix/configure.in: - * mac/README: Updated version numbers to 8.1b2. - -1999-02-10 Scott Stanton - - * library/auto.tcl: Fixed auto_mkindex so it handles .tbc files. Did - some general cleanup to handle bad eval statements that didn't use - "list". - - * unix/mkLinks: - * doc/SetVar.3: - * generic/tcl.h: - * generic/tclVar.c: Restored Tcl_ObjGetVar2 and Tcl_ObjSetVar2 from - 8.0. Renamed Tcl_Get/SetObjVar2 to Tcl_GetVar2Ex and Tcl_SetVar2Ex. - -1999-02-10 Scott Stanton - - INTEGRATED PATCHES FROM 8.0.5b2: - - * test/winPipe.test: Changed to remove echoArgs.tcl temporary file - when done. - - * tests/cmdAH.test: - * generic/tclFileName.c (TclGetExtension): Changed behavior so the - split happens at the last period in the name instead of the first - period of the last run of periods. So, "foo..o" is split into "foo." - and ".o" now. [Bug 1126] - - * win/makefile.vc: Added better support for paths with spaces in the - name. Added .lib and support .dlls to the install-binaries target. - Added generate of a pkgIndex.tcl script to the install-libraries - target. - - * win/tclAppInit.c: - * unix/tclAppInit.c: - * mac/tclMacAppInit.c: - * generic/tclTest.c: Changed some EXTERN declarations to extern since - they are not defining exported interfaces. This avoids generating - useless declspec() attributes and makes the windows makefile simpler. - - * generic/tcl.h: Moved Tcl_AppInit declaration to end and cleared out - TCL_STORAGE_CLASS so it is not declared with a declspec(). - - * tests/interp.test: - * generic/tclInterp.c (DeleteAlias): Changed to use - Tcl_DeleteCommandFromToken so we handle renames properly. This avoids - senseless panic. [Bug 736] - - * unix/tclUnixChan.c: - * win/tclWinSock.c: - * doc/socket.n: Applied Gordon Chaffee's patch to handle failures - during asynchronous socket connection operations. This adds a new - "-error" fconfgure option to socket channels. [Bug 893] - - * generic/tclProc.c: - * generic/tclNamesp.c: - * generic/tclInt.h: - * generic/tclCmdIL.c: - * generic/tclBasic.c: - * generic/tclVar.c: Applied patch from Viktor Dukhovni to rationalize - TCL_LEAVE_ERR_MSG behavior when creating variables. - - * generic/tclVar.c: Fixed bug in namespace tail computation. Fixed bug - where upvar could resurrect a namespace variable whose namespace had - been deleted. - - * generic/tclCompile.c (TclCompileExprCmd): Eliminated yet another - bogus optimization in expression compilation. - - * unix/configure.in: Added branch for BSD/OS-4* to shared library case - statement. [Bug 975] - Fixed to correctly handle IRIX 6.5 n32 library support. [Bug 1117] - - * win/winDumpExts.c: Patched to be pickier about stripping @'s. [Bug - 920] - - * library/http2.0/http.tcl: Added catch around eof test in CopyDone - since the user may have already called http::reset. [Bug 1108] - - * unix/configure.in: Changed Linux and IRIX to set SHLIB_LIBS to LIBS - so shared libraries are linked with the system libraries. [Bug 1018] - - * generic/tclCompile.c (CompileExprWord): Fixed exception stack - overflow bug caused by missing statement. [Bug 928] - - * generic/tclIOCmd.c: - * generic/tclBasic.c: Objectified the "open" command. [Bug 1113] - - * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): When using egcs, - ENOTSUP and EOPNOTSUPP are the same, so now we handle that case. [Bug - 1137] - - * library/init.tcl: Various small changes requested by Jan Nijtmans. - - If the variable $tcl_library contains the empty string, this empty - string will be put in $auto_path. This is not useful at all, it only - slows down later package processing. - - If the variable tcl_pkgPath is not set, the "unset __dir" fails. - Thich makes init.tcl totally unusable. Better put a "catch" around - it. - - In the function tcl_findLibraries, the "string match" function only - works correctly if $tcl_patchLevel is in one of the forms "?.?a?", - "?.?b?" or "?.?.?". Could a "regexp" be used instead, then it allows - anything to be appended to the patchLevel string. And it is more - efficient. - - The tclPkgSetup function assumes that if $type != "load" then the - type must be "source". This needn't be true. Some users want to add - their own setup types. - [RFE 1138] [Bug 978] - - * win/tclWinReg.c: - * doc/registry.n: Added support for HKEY_PERFORMANCE_DATA and - HKEY_DYN_DATA keys. [Bug 1109] - - * win/tclWinInit.c (TclPlatformInit): Added code to ensure tcl_pkgPath - is set to "" when no registry entry is found. [Bug 978] - -1999-02-01 Scott Stanton - - * generic/tclBasic.c: - * generic/tclCmdAH.c: - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclExecute.c: - * generic/tclHistory.c: - * generic/tclIO.c: - * generic/tclIOUtil.c: - * generic/tclInterp.c: - * generic/tclMain.c: - * generic/tclNamesp.c: - * generic/tclParse.c: - * generic/tclProc.c: - * generic/tclTest.c: - * generic/tclTimer.c: - * generic/tcl.h: Made eval interfaces compatible with 8.0 by renaming - Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to Tcl_EvalEx and - restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces so they match - Tcl 8.0. - -1999-01-28 Scott Stanton - - * Merged Tcl 8.0.5b1 changes. - - * generic/tclUtil.c (Tcl_DStringSetLength): Changed so the buffer - overallocates in a manner similar to Tcl_DStringAppend. This should - improve performance for TclUniCharToUtfDString. - -1998-12-11 === Tcl 8.1b1 Release === - -1998-12-10 Scott Stanton - - * Fixed lots of files that used TCL_THREAD instead of TCL_THREADS. - - * generic/tclEncoding.c (Tcl_FreeEncoding): Moved most of the code - into a static FreeEncoding routine that does not grab the - encodingMutex to avoid deadlocks/races when called from other routines - that already have the mutex. - -1998-12-09 Scott Stanton - - * library/msgcat1.0/msgcat.tcl: Fixed bad export list, fixed so all - locale strings are converted to lower case, including file names. - - * generic/regcomp.c (makescan): Fixed bug in longest match case that - caused anchored patterns to fail. [Bug 897] - -1998-12-08 Scott Stanton - - * library/msgcat1.0/msgcat.tcl: changed mc to invoke mcunknown in the - calling context, changed locale lookups to be case insensitive - -1998-12-07 Scott Stanton - - * generic/tclAlloc.c (TclpRealloc): Fixed a memory allocation bug - where big blocks that were reallocated into a different heap location - were not being placed into the bigBlocks list. [Bug 933] - - * tests/msgcat.test: Added message catalog test suite. - - * library/msgcat1.0/msgcat.tcl: minor bug fixes, integrated latest - changes from Mark Harrison. - -1998-12-04 Scott Stanton - - * library/msgcat1.0/msgcat.tcl: Changed code to conform to Tcl coding - standards. Changed to use file join for portability. - - * library/msgcat1.0: Added initial implementaion of Tcl message - catalog package contributed by Mark Harrison. - -1998-12-03 Scott Stanton - - * win/tclWinPipe.c (BuildCommandLine): Fixed bug that kept arguments - containing spaces from being properly quoted. - - * tests/defs: Changed so auto_path is set to only contain the Tcl - library directory. This keeps the tests from accidentally picking up - stuff in installed packages. - - * generic/tclUtil.c (Tcl_StringMatch): Changed to match 8.0 behavior - in corner case where there is no closing bracket. - -1998-12-02 Scott Stanton - - * win/tclWinPipe.c (TclpCreateCommandChannel): Changed reader/writer - threads to have THREAD_PRIORITY_HIGHEST so they will have a chance to - run whenever there is something to do. - - * generic/tclIO.c (WriteBytes, WriteChars): Fixed so extraneous - flushes do not happen in line mode. - (TranslateOutputEOL): Made translation more efficient in line mode and - fixed a buffer overflow bug in CRLF translation. [Bug 887] - -1998-12-02 Brent Welch - - * Updated patchlevel to 8.1b1 - -1998-12-02 Scott Stanton - - * generic/regc_color.c (subcolor): Added check for error case to avoid - an out of bounds array reference. - - * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Changed to avoid using - Tcl_DStringResult because it is not binary clean. - - * generic/tclParse.c (Tcl_ParseCommand): Fixed bug in comment parsing - where a trailing comment looked like an incomplete command. - -1998-12-02 Brent Welch - - * Merged changes from 8.0.4, especially the new pkg_mkIndex - -1998-12-01 Scott Stanton - - * generic/tclIO.c (Tcl_ReadChars): Added a call to UpdateInterest so - we don't block when there is data sitting in the buffers. - - * generic/tclTest.c (TestevalobjvObjCmd): Updated for EvalObjv change. - - * tests/parse.test: Updated tests for EvalObjv change. - - * generic/tclParse.c (EvalObjv, Tcl_EvalObjv): Changed Tcl_EvalObjv - interface to remove string and length arguments, preserved original - interface as EvalObjv for internal use. - - * generic/tcl.h: Changed Tcl_EvalObjv interface to remove string and - length arguments. - - * doc/Eval.3: Updated documentation for Tcl_EvalObjv to remove string - and length arguments. - - * generic/tclCompCmds.c (TclCompileForeachCmd): Fixed code that - corrupted the exceptDepth value in the compile environment when - foreach failed to compile inline. [Bug 884] - - * library/encoding/euc-kr.enc: - * library/encoding/ksc5601.enc: - * tools/encoding/ksc5601.txt: - * unix/tclUnixInit.c: Added support for Korean EUC. - - * win/tclWinChan.c (TclpGetDefaultStdChannel): added check for a - failure during Tcl_MakeFileChannel. - -1998-11-30 Scott Stanton - - * unix/tclUnixNotfy.c (Tcl_WaitForEvent): Fixed hang that occurs when - trying to close a pipe that is currently being waited on by the - notifier thread. [Bug 607] - - * unix/tclUnixFCmd.c (GetPermissionsAttribute): Increase size of - returnString buffer to avoid overflow. [Bug 584] - - * generic/tclThreadTest.c (TclThreadSend): Fixed memory leak due to - use of TCL_VOLATILE instead of TCL_DYNAMIC. - - * generic/tclThread.c (TclRememberSyncObject): Fixed memory leak - caused by failure to reuse condition variables. - - * unix/tclUnixNotfy.c (Tcl_AlertNotifier, Tcl_WaitForEvent, - (NotifierThreadProc, Tcl_InitNotifier): Fixed race condition caused by - incorrect use of condition variables when sending messages between - threads. [Bug 607] - - * generic/tclTestObj.c (TeststringobjCmd): MAX_STRINGS was off by one - so the strings array was too small. - - * generic/tclCkalloc.c (Tcl_DbCkfree): Moved mutex lock so - ValidateMemory is done inside the mutex to avoid a race condition when - validate_memory is enabled. [Bug 880] - -1998-11-23 Scott Stanton - - * regexec.c: more performance tuning from Henry Spencer. - -1998-11-17 Scott Stanton - - * tclScan.c: moved "scan" implementation out of tclCmdMZ.c and added - Unicode support. This required a complete reimplementation of the - command to avoid using scanf(), which isn't Unicode aware. Two new - features were added in the process: %n to return the current number of - characters consumed, and XPG3-style %n$ argument order specifiers - similar to those provided by the "format" command. [Bug 833] - - * tclAlloc.c: changed so allocated memory is always 8-byte aligned to - improve memory performance and to ensure that it will work on systems - that don't like accessing 4-byte aligned values (e.g. Solaris and - HP-UX). [Bug 834] - -1998-11-06 Scott Stanton - - * tclVar.c (TclGetIndexedScalar): Fixed bug 796, var name was getting - lost before being passed to CallTraces. - -1998-10-21 Scott Stanton - - * added "encoding" command - - * Moved internal regexp declarations from tclInt.h to tclRegexp.h - - * integrated regexp updates from Henry Spencer - -1998-10-15 Scott Stanton - - * tclUtf.c: added Unicode character table support - - * tclInt.h: added TclUniCharIsWordChar - - * tclCmdMZ.c (Tcl_StringObjCmd): added "totitle" subcommand, changed - "wordend" and "wordstart" to properly handle Unicode word characters - and connector punctuation - -1998-10-05 Scott Stanton - - * auto.tcl, package.tcl: fixed SCCS strings - - * tclIndex: updated index to reflect 8.1 files - - * tclCompile.c (TclCompileScript): changed to avoid modifying the - input string in place because name lookup operations could have - arbitrary side effects - - * tclInterp.c: added guard against deleting current interpreter - - * tclMacFile.c, tclUnixFile.c, tclWinFile.c, tclFileName.c: added - warnings around code that modifies strings in place - - * tclExecute.c: fixed off-by-one copying error, fixed merge bugs - - * tclEvent.c: changed so USE_TCLALLOC is tested for value instead of - definition - - * tclCompCmds.c: replaced SCCS strings, added warnings around code - that modifies strings in place - - * interp.test: added test for interp deleting itself - -1998-09-30 Scott Stanton - - * makefile.vc: fixed so TCL_LIBRARY is set before running tcltest - - * tclWin32Dll.c: removed TclpFinalize, cleanup of merges DELETED ChangeLog.2000 Index: ChangeLog.2000 ================================================================== --- ChangeLog.2000 +++ /dev/null @@ -1,2539 +0,0 @@ -2000-12-14 Don Porter - - * generic/tclExecute.c: - * tests/expr-old.test: Re-wrote Tcl's [expr rand()] and [expr - srand($seed)] implementations, fixing a range error on some 64-bit - platforms. Added tests that detect the bug. The rewrite changes the - seed -> sequence map on 64-bit platforms, only for seed >= 2^31, a - slight incompatibility. [Bug 121072, Patch 102781] - -2000-12-10 Don Porter - - * library/init.tcl: - * library/msgcat/msgcat.tcl: - * library/msgcat/pkgIndex.tcl: - * library/opt/optparse.tcl: - * library/opt/pkgIndex.tcl: Where [uplevel] is used in a proc to - evaluate a Tcl built-in command in the caller's context, the built-in - commands are now fully namespace-qualified. This prevents problems - when the caller context is in a namespace where the built-in command - name has been used by a command in the namespace. (For example, - [::ns::set] might be called instead of the intended [::set]). [Bug - 119422, Patch 102545] - -2000-12-09 Jeff Hobbs - - * win/tclWinTime.c (CalibrationThread): added lint return value to - prevent compiler warning. [Bug 125005] - - * docs/scan.n: - * tests/scan.test: - * generic/tclScan.c (Tcl_ScanObjCmd): changed %o and %x to use strtoul - instead of strtol to correctly preserve scan<>format conversion of - large integers. [Patch 102663, Bug 124600] - - * generic/tclExecute.c (TclExecuteByteCode): Commited patch fixing - handling of {!} in expressions. [Patch 102702] - -2000-12-08 Jeff Hobbs - - * library/init.tcl: Added support for PATHEXT variable in auto_execok, - recognizing the proper set of executable extensions on Windows. [Patch - 102719] - -2000-12-08 Andreas Kupries - - * generic/tclEncoding.c (LoadTableEncoding): Changed dangerous code to - something less critical. This fixes [Bug 119417], part A without - affecting the speed when loading encodings. - -2000-12-08 Donal K. Fellows - - * doc/open.n: Added xref to fconfigure and advice on the opening of - binary files. Should help prevent a recurrence of bugs like [Bug - 124558] - -2000-12-07 Jeff Hobbs - - * generic/tcl.h: added note about need to updated - library/dde/pkgIndex.tcl with minor version increment. - - * library/dde/pkgIndex.tcl: updated to use 84 version to reflect the - makefile. Should probably be updated to use its real version at some - point. [Patch 102560, Bug 119421] - -2000-12-06 Eric Melski - - * generic/tcl.h (attemptckalloc): Fixed typo for #define of - attemptckalloc (was defined to Tcl_AttempDbCkalloc, should have been - Tcl_AttemptDbCkalloc). [Bug 124384] - - * generic/tclCkalloc.c: Added TCL_MEM_DEBUG versions of - Tcl_AttemptDbCkrealloc and Tcl_AttemptDbCkalloc. [Bug 124384]. - -2000-11-24 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Logical negation "!" can - now handle string booleans, provided those values are placed in - variables. - - * tests/expr.test (expr-13.17): Check that [expr {!$var}] can negate - the string-versions of booleans "yes", "false", etc. - - * library/tcltest/tcltest.tcl (getMatchingFiles, - (getMatchingDirectories): - * tools/man2html.tcl (doDir): - * tools/man2help.tcl (doDir): - * library/package.tcl (tclPkgUnknown,tclMacPkgSearch): - * library/safe.tcl (AddSubDirs): [glob] uses -directory instead of - unsafe [file join]. [Bug 123313] - - * generic/tclIndexObj.c: - * generic/tclTestObj.c (TestindexobjCmd): Changed internal - representation of index objects to fix [Bug 119082]; fix shouldn't be - visible to outside world... - - * generic/tclTest.c (TestGetIndexFromObjStructObjCmd): - * tests/indexObj.test: (indexObj-6.*) Added to test for presence of - [Bug 119082]. - -2000-11-23 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fixed memory leak from [Bug - 119398] - - * library/init.tcl (unknown): Added specific level parameters to - all uplevel invocation to boost performance; didn't dare touch - the "namespace inscope" stuff though, since it looks sensitive - to me! Should fix [Bug 123217], though testing is tricky... - -2000-11-21 Andreas Kupries - - All of the changes below are described in TIP #7 ~ Specification and - result from the application of the patch contained therein. Creator of - the patch is Kevin Kenny . The patch used here is - actually a bit different. Two MS specific constant values (format - FOOui64) were replaced with a more portable formatting of the values - and an additional cast to LONGLONG. My cross-compiling gcc was unable - to process the original form. [Patch 102459] - - * tclWinTime.c: Add to the static data a set of variables that manage - the phase-locked techniques, including a ''CRITICAL_SECTION'' to guard - them so that multi-threaded code is stable. - - * tclWinTime.c: Modify ''TclpGetSeconds'' to call ''TclpGetTime'' and - return the 'seconds' portion of the result. This change is necessary - to make sure that the two times are consistent near the rollover from - one second to another. - - * tclWinTime.c: Modify ''TclpGetClicks'' to use TclpGetTime to - determine the click count as a number of microseconds. - - * tclWinTime.c: Modify ''TclpGetTime'' to return the time as M*Q+B, - where Q is the result of ''QueryPerformanceCounter'', and M and B are - variables maintained by the phase-locked loop to keep the result as - close as possible to the system clock. The ''TclpGetTime'' call will - also launch the phase-lock management in a separate thread the first - time that it is invoked. If the performance counter is unavailable, or - if its frequency is not one of the two common 8254-compatible rates, - then ''TclpGetTime'' will return the result of ''ftime'' as it does in - Tcl 8.3.2. - - * tclWinTime.c: Add the clock calibration procedure. The calibration - is somewhat complex; to save space, the reader is referred to the - reference implementation for the details of how the time base and - frequency are maintained. - - * tclWinNotify.c: Modify ''Tcl_Sleep'' to test that the process has, - in fact, slept for the requisite time by calling ''TclpGetTime'' and - comparing with the desired time. Otherwise, roundoff errors may cause - the process to awaken early. - - * tclWinTest.c: Add a ''testwinclock'' command. This command returns a - four element list comprising the seconds and microseconds portions of - the system clock and the seconds and microseconds portions of the Tcl - clock. - - * winTime.test: Add to the test suite a test that makes sure that the - Tcl clock stays within 1.1 ms of the system clock over the duration of - the test. - -2000-11-21 Donal K. Fellows - - * doc/global.n: - * doc/upvar.n: - * doc/variable.n: Improved documentation to mention that variables so - created are listed in [info locals] and added a few more cross-links - between these commands. [Bug 119387] - -2000-11-17 Donal K. Fellows - - * tests/safe.test: (safe-4.3): - * generic/tclVar.c (TclLookupVar): Changed again. Now passes all the - tests, though one needed modifying since it required the wrong answer. - (Why on earth do we have inline modification of argument strings? This - sort of thing is horrendous to debug and doesn't work well in a - multithreaded environment!) [Bug 119192] - - * tests/var.test: (var-1.19) If my attempts to fix the problem aren't - right yet, my attempts to describe it look pretty good to me... - -2000-11-16 Andreas Kupries - - * win/tclWinPort.h (line 69): Changed reference to winsock2.h into - winsock.h. This was a leftover from a foray into using winsock version - 2 (History lesson from Scott Redman and Jeff Hobbs). This code was no - problem when compiling Tcl itself, but could trip extensions. [Bug - 122568] - -2000-11-15 Jeff Hobbs - - * unix/Makefile.in: removed bp.c references (hasn't existed in a long - time). Corrected 'make dist' to make dist with unversioned library - directories (same as out of cvs), so make install works correctly with - either source tree. - -2000-11-15 Jeff Hobbs - - * generic/tclVar.c (TclLookupVar): reverted fix below as it broke all - other array unset error reporting. Bug 119192 is still open. - -2000-11-15 Donal K. Fellows - - * generic/tclVar.c (TclLookupVar): Changed references to part2 to use - elName instead in various error message generating spots. [Bug 119192] - -2000-11-03 David Gravereaux - - * win/.cvsignore: Removed 'configure' from the glob list now that it's - included. - -2000-11-03 Jeff Hobbs - - 8.4a2 RELEASE - - * unix/Makefile.in (install-libraries, dist): - * win/makefile.vc (install-libraries): - * win/Makefile.in (install-libraries): updated to install unversioned - library directories into versioned directories. - - * tools/tcl.wse.in: updated for unversioning of library dirs - - * unix/mkLinks: updated mkLinks with latest doc updates - - * doc/Tcl_Main.3: added docs for Tcl_SetMainLoop - - * generic/tclStubInit.c: - * generic/tclDecls.h: - * generic/tcl.decls: added Tcl_SetMainLoop proc that allows people to - set a main loop that will run for tclsh. - * generic/tcl.h: added Tcl_MainLoopProc typedef - * generic/tclMain.c (Tcl_SetMainLoop, StdinProc, Prompt): new - StdinProc and Prompt static procs and Tcl_SetMainLoop stubs proc. The - first two handle a fileevent based prompt (taken from tkMain.c). - Tcl_SetMainLoop enables the interactive setting of a main loop - procedure. This enables Tk to be a loadable package. - -2000-11-02 David Gravereaux - - * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way to - share its data among threads. This caused Tcl_Init() to always fail in - threads. Added a way to pass the data around with a global char*. - [BUG: 5301] - -2000-11-02 Jeff Hobbs - - * unix/configure: - * unix/dltest/configure: - * win/configure: - * tools/configure: checked in configure scripts so people doing CVS - checkouts aren't required to have autoconf. Changes to configure.in in - the future will require the corresponding configure script to also be - re-autoconf'ed and checked in. - - * win/makefile.vc: - * win/tcl.m4: makefile fixes for Win64 support - - * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): minor cast - changes. - -2000-11-01 Jeff Hobbs - - * unix/tcl.m4: removed use of -lbsd and -ldl for AIX-5. - - * tests/subst.test: added tests for non-zero return code handling by - subst. - * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero, - non-error return code cases for subst. [Bug 119829] - - * generic/tclVar.c (TclVarTraceExists): Corrected excessive mem use - when info exists was called on a non-existent array element. [Bug - 119213, 119336] - -2000-10-30 David Gravereaux - - * win/configure.in: - * win/Makefile.in: - * win/makefile.vc: - * win/tcl.rc: - * win/tclsh.rc: Added logic to derive filenames better in the resource - scripts based on compile options. - -2000-10-30 Jeff Hobbs - - * unix/tclUnixInit.c: added default encoding map from "ja_JP.eucJP" to - "euc-jp". (takahashi) - - * tests/clock.test: corrected clock-2.* test numbering - - * unix/configure.in (SC_TCL_LINK_LIBS): removed code that was - commented out (it had been moved to tcl.m4's SC_TCL_LINK_LIBS - already). - - * unix/tcl.m4: consolidated gettimeofday check for AIX. - -2000-10-27 Jeff Hobbs - - * unix/configure.in: - * unix/tcl.m4: added support for AIX-5. - - * generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code for - old channel structures, placed preserve/release around statePtr - * generic/tclIO.c (CloseChannel): the statePtr for a channel was not - being freed when the last channel in a stack was freed, causing a mem - leak. - - * unix/tclUnixChan.c: updated channel types to strict - TCL_CHANNEL_VERSION_2 style to avoid compiler warnings. They work - either way, but this avoids compiler warnings (that worries people). - -2000-10-27 Jennifer Hom - - * library/tcltest1.0/tcltest.tcl: Removed a cd into the test directory - in runAllTests that screwed up the temporary directory setting, - effectively preventing users from running tests on multiple platforms - at the same time. - -2000-10-26 David Gravereaux - - * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to "attr" - which was a DWORD. Changed NULL to zero because a 'void *' can't be - set to a DWORD to avoid the compiler warning. - -2000-10-24 Jennifer Hom - - * tests/all.tcl: Removed support for tcltest 1.0. - - * tests/tcltest.test: - * library/tcltest1.0/tcltest.tcl: - * library/tcltest1.0/pkgIndex.tcl: - * docs/tcltest.n: Moved tcltest2 code so that it's the standard - version of tcltest. Removed all tcltest2 files (tests/tcltest2.test, - library/tcltest1.0/tcltest2.tcl, docs/tcltest2.n). - -2000-10-20 Jeff Hobbs - - * win/tclWinFile.c (TclpMatchFilesTypes): made the stat call only - occur when necessary (for 'glob' command). Significantly speeds up - glob command from 8.3. [BUG: 6216] - -2000-10-19 Jennifer Hom - - * library/tcltest1.0/tcltest2.tcl: - * tests/tcltest2 - * doc/tcltest2.n: Code and documentation cleanup. Modified -verbose to - take list of keywords as well as string of letters. Removed Tcl - version information from tcltest. Removed tcltest::grep from tcltest - package. Added optional 3rd directory argument to - makeFile/makeDirectory and removeFile/removeDirectory. - - * tests/basic.test: Changed references to tcltest::tclVersion to - hard-coded numbers. - * generic/tcl.h: Changed reference to tcltest2.tcl and tcltest.tcl in - comments to tests/basic.test. - -2000-10-06 David Gravereaux - - * win/tclWinChan.c: moved Win2K bug case test with GetStdHandle() from - TclpGetDefaultStdChannel into Tcl_MakeFileChannel to enable a more - general method in detecting invalid OS handles rather than just a - specific known case. [BUG: 5971] - -2000-10-06 Jeff Hobbs - - * tests/cmdAH.test: extra tests for 'file channels' that include - multiple interpreter tests and channel sharing - * generic/tclIO.c (Tcl_GetChannelNamesEx): corrected function (and - consequently 'file channels') to return channels that are actually - registered for this specific interp, rather than this thread. - - * doc/CrtChannel.3: fixed spelling mistakes - -2000-09-29 Jennifer Hom - - * library/tcltest1.0/tcltest2.tcl: - * tests/tcltest2.test: - * doc/tcltest2.n: Modified the new form of the test command to accept - both attribute-value pairs and command line options. Updated the tests - and the documentation for this new format. Also changed the option - names for the test command. - -2000-09-29 Jeff Hobbs - - * win/tclWinSerial.c (SerialGetOptionProc): corrected reporting of - space parity on Windows (Eason) [Bug 6057]. - - * win/Makefile.in: commented use of TESTFLAGS - * unix/Makefile.in: added TESTFLAGS to test target to conform with - Windows makefile and TEA style. - - * tests/stack.test: prevented possible crash on systems with low - default stacksize (Tru64, AIX) in infinite recursion test. A solution - to check remaining stack space in the core is best, but hard to do in - a cross-platform manner. - - * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define to FLUSH_DELAY - to avoid defn conflict using Tru64's cc. - -2000-09-28 Jeff Hobbs - - * tools/tcl.wse.in: added tclPlatDecls.h and tkPlatDecls.h to the - Windows .exe install. - - * tests/fCmd.test (fCmd-6.20): corrected test to remove c:/tcl8975@ - after creating it. - - * tests/fileName.test: cleaned up the testing of glob patterns for - c:/globTest (Windows) to directly create/remove directory. - -2000-09-27 Jeff Hobbs - - * generic/tcl.decls: - * generic/tclIO.c: updated Tcl_IsChannelShared, - Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel, - Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to the - new stacked channel implementation. Their stub slots were also moved - to give preference to the new 8.3.2 stub functions. This will cause an - incompatibility with 8.4a1 only. - (StopCopy): fixed a bug introduced by a partial fix in 8.3.2 that - didn't set nonBlocking correctly when resetting the flags for the - write side. [Bug: 6261] - - * doc/ChnlStack.3: - * doc/CrtChannel.3: - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclDecls.h: - * generic/tclIO.c: - * generic/tclIO.h: - * generic/tclIOGT.c: - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - * generic/tclTest.c: - * tests/iogt.test: - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: - * win/tclConfig.sh.in: - * win/tclWinChan.c: - * win/tclWinConsole.c: - * win/tclWinPipe.c: - * win/tclWinSerial.c: - * win/tclWinSock.c: Up-port of changes made in 8.3.2 to 8.4a2 code - base. Most of these changes relate to the rewrite of the stacked - channel implementation, with a few config related fixes. - - Following is an asynchronous include of the applicable ChangeLog - entries from 8.3.2. - - ******************************************************** - ** START OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) ** - ******************************************************** - -2000-08-07 Jeff Hobbs - - * doc/ChnlStack.3: - * doc/CrtChannel.3: updated the docs to be aware of the - TCL_CHANNEL_VERSION_2 style of Tcl channels. - - * generic/tclIO.c (Tcl_CreateChannel): added assertion to verify that - the new channel versioning will be binary compatible with older - channel drivers. - -2000-08-05 Jeff Hobbs - - * generic/tclIOGT.c (TclChannelTransform): fixed segfault that would - occur when transforming a channel with a proc that did not yet exist. - (Kupries) - - * generic/tclTest.c (TestChannelCmd): added some lint init'ing of - statePtr and chan vars. - -2000-07-26 Jeff Hobbs - - Merged core-8-3-1-io-rewrite back into core-8-3-1-branch. The - core-8-3-1-io-rewrite branch should now be considered defunct. - - * generic/tclStubInit.c: - * generic/tclDecls.h: - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to tclIO.c - and made them proper stubbed functions. These are: Tcl_ChannelName, - Tcl_ChannelVersion, Tcl_ChannelBlockModeProc, Tcl_ChannelCloseProc, - Tcl_ChannelClose2Proc, Tcl_ChannelInputProc, Tcl_ChannelOutputProc, - Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc, - Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc, - Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc, and - Tcl_ChannelHandlerProc. These should be used to access the - Tcl_ChannelType structure instead of direct pointer dereferencing. - - * tests/iogt.test: added RCS string, marked tests 2.* to be unixOnly - due to underlying system differences. - -2000-07-25 Andreas Kupries - - * tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting - buffering trouble when stacking and unstacking transformations. - iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for now, - due to the perceived complexity of solutions. - - * generic/tclIO.h: (line 139f) struct Channel, added a buffer queue, - to hold data pushed back when stacking a transformation. - - * generic/tclIO.c: - (line 91f, line 7434f) New internal function 'CopyBuffer'. Derived - from 'CopyAndTranslateBuffer', with translation removed. - (line 1025f, line 1212f): Initialization of new queue. - (line 1164f, Tcl_StackChannel): Pushback of input queue. - (line 1293f, Tcl_UnstackChannel): Discard input and pushback. - (line 3748f, Tcl_ReadRaw): Modified to use data in the push back area - before going to the driver. Uses 'CopyBuffer', s.a. - (line 4702f, GetInput): Modified to use data in the push back area - before going to the driver. - (line 4867f, Tcl_Seek): Modified to take pushback of the topmost - channel in a stack into account. - (line 5620f, Tcl_InputBuffered): See above. Added - 'Tcl_ChannelBuffered'. Analog to 'Tcl_InputBuffered' but for the - buffer area in the channel. - - * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a. - -2000-07-17 Jeff Hobbs - - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: added tclIOGT.c to objects list to compile. - - * generic/tclStubInit.c: - * generic/tclIntDecls.h: - * generic/tclInt.decls: commented out internal decls for - TclTestChannelCmd and TclTestChannelEventCmd as they were moved to - tclTest.c. Added new decls for TclChannelEventScriptInvoker and - TclChannelTransform. - - * generic/tclIO.c (CloseChannel): stopped masking out of the - TCL_READABLE|TCL_WRITABLE bits from the state flags in CloseChannel, - instead adding extra intelligence to CheckChannelErrors with a new - CHANNEL_RAW_MODE bit for special behavior when called from Raw channel - APIs. - -2000-07-13 Jeff Hobbs - - * generic/tclIO.c (StackSetBlockMode): moved set of chanPtr outside of - blockModeProc check to avoid infinite loop when blockModeProc was - NULL. Updated TransformSeekProc to not call Tcl_Seek directly - (Kupries). - - * win/tclWinChan.c: updated fileChannelType to v2 channel struct - * win/tclWinConsole.c: updated consoleChannelType to v2 channel struct - * win/tclWinPipe.c: updated pipeChannelType to v2 channel struct - * win/tclWinSerial.c: updated serialChannelType to v2 channel struct - * win/tclWinSock.c: updated tcpChannelType to v2 channel struct - -2000-07-11 Brent Welch - - * win/tclConfig.sh.in (TCL_LIBS): Cleaned up unix-specific autoconf - variables. - -2000-07-11 Jeff Hobbs - - * tests/iogt.test: made tests [345].0 not run by default as they were - failing in the new design, but I'm not convinced that the returned - result isn't correct. - - * generic/tclDecls.h: - * generic/tclStubInit.c: - * generic/tcl.decls: added Tcl_GetTopChannel C API that returns the - current top channel of a channel stack. Tcl_GetChannel was changed - earlier to return the bottommost channel of a stack because that is - the one that is guaranteed to stay around the longest, and this was - needed to compensate for certain operations that want to look at the - state of the main channel. Most channel APIs already compensate for - grabbing the top, so it shouldn't be needed often. - - * generic/tclIO.c (Tcl_StackChannel, Tcl_UnstackChannel): Added - flushing of buffers (Kupries), removed use of DownChannel macro, added - Tcl_GetTopChannel public API to get to the top channel of the channel - stack (necessary for TLS). Rewrote Tcl_NotifyChannel for new channel - design (Kupries). Did some code cleanup in the transform code. - tclIO.c must still be broken into bits (separate out test code and - giot code, create tclIO.h). - -2000-07-10 Andreas Kupries - - * tests/iogt.test: Reverted some earlier changes as a fix by Jeff - revived the original and correct behaviour. IOW, the tests showed a - genuine error and I didn't see it :(. - - * generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use the - drivers and not DoRead|DoWrite. The latter use the buffering system, - encoding and eol-translation and this wreaks havoc with the data going - through the transformations. Both procedures use CheckForchannelErrors - and let it believe that there is no background copy in progress or - else stacked channels could not be used for that. - - * generic/tclIO.c (TclCopyChannel, CopyData): Moved access to the - topmost channel from the first to the second procedure to make the - decision about that at the last possible time (Callbacks can change - the stacking). - - test suite: failures of iogt-[345].0 - -2000-07-06 Jeff Hobbs - - * tests/iogt.test: new tests for stacked channel stuff based off new - 'testchannel transform|unstack' code (Kupries IOGT extension). - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclDecls.h: - * generic/tclStubsInit.c: - * generic/tclIO.c: complete rewrite of Tcl Channel code for stacked - channels. Channels are now designed to work in a more stacked fashion - with a shared ChannelState data structure. - -2000-06-02 Jeff Hobbs - - * generic/tclIO.c (CloseChannel): removed the &ing out of - (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does this - on the next pass through for the top channel, and it appeared to be - causing hangs by not allowing the final flush. - -2000-06-01 Jeff Hobbs - - * generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to unstack - a channel during the close process. Fixed a refcount bug in - Tcl_UnstackChannel. [Bug: 5623] - (CloseChannel): further extended CloseChannel in the stacked case to - effect certain operations on the next channel that would have been - done in Tcl_Close. Also added CHANNEL_CLOSED and removed - (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags. Changed final - reset of the WatchProc to check the chanDownPtr's (next) interestMask. - - ****************************************************** - ** END OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) ** - ****************************************************** - -2000-09-20 Jeff Hobbs - - * tests/socket.test: removed doTestsWithRemoteServer constraint from - socket-12.*. It requires 'exec', not a remote server. Cleaned up some - coding errors. - -2000-09-20 Jennifer Hom - - * library/tcltest1.0/pkgIndex.tcl: Updated to load tcltest 2.0. - * library/tcltest1.0/tcltest2.tcl: New version of tcltest. - Cleanup of command line parsing: allows users to specify command line - arguments through an environment variable named TCLTEST_OPTIONS [RFE: - 3748], does not respond to incorrect arguments, and forces usage of - entire flag name when using command line arguments. Defines accessor - procs for all tcltest variables. Allows users to use 'return' in test - scripts. Allow users to specify whether test files should be sourced - or run in a separate process. 'all.tcl' code moved to tcltest package. - 'test' proc modified to use attribute-value pairs. Allow users to - specify what return codes, output, and errors can be compared and - whether these values should be compared using regexp, glob, or exact - matching. makeDirectory & removeDirectory now operate with respect to - temporaryDirectory [Bug: 6001]. Test results from tests run in slave - interpreters are now included in test totals [Bug: 1493]. Test files - that return error values are now reported. - * tests/all.tcl: Added code to check for the tcltest version loaded; - modified to figure out which tests to run based on the tcltest version - loaded. - * tests/tcltest.test: Modified to explicitly load version 1.0 of - tcltest. - * tests/tcltest2.test: New test suite for tcltest; includes all of the - old tests plus new ones reflecting changes made for version 2.0. - * tests/cmdAH.test: Added singleTestInterp constraint to cmdAH-31.2; - this test does not run if tests aren't sourced into a single - interpreter. - * tests/socket.test: Fixed two tests that were referencing variables - outside of scope. - - * tools/tcl.wse.in: Added code to install tcltest2.tcl. - - * doc/tcltest2.n: New documentation for tcltest version 2.0. Removes - documentation for tcltest namespace variables. Adds documentation for - new tcltest procs. - - * unix/mkLinks: Added code to link to tcltest2.n. - - * generic/tcl.h: Added comment to modify tcltest2.tcl as well as - tcltest.tcl for version changes. - -2000-09-19 Eric Melski - - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, all attempts - after the first to match the regexp against the string should include - the TCL_REG_NOTBOL flag, to avoid erroneously matching ^ in the middle - of the string. Added code to set this flag after the first pass - through the matching loop. [Bug: 6284]. - -2000-09-19 David Gravereaux - - * doc/Eval.3: Added a note about the script argument to Tcl_Eval() - should be in UTF-8 or risk implied conversion errors when possible - combinations of upper ascii can be valid UTF-8 special codes. - -2000-09-17 Eric Melski - - * tests/cmdIL.test: Added a test for fix for [Bug: 6212]. - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Applied patch from [Bug: - 6212], which corrected an error in the handling of the -index option. - -2000-09-14 Eric Melski - - * doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc. - - * doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength. - - * generic/tclDecls.h: - * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls. - - * generic/tcl.decls: Added stubs for the Tcl_Attempt* memory - allocators and for Tcl_AttemptSetObjLength. - - * generic/tcl.h: Added #define's for attemptckalloc, attemptckrealloc, - which map to the Tcl_Attempt* memory allocators. - - * generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc, - Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc, - Tcl_AttemptRealloc, etc. These are used by Tcl_AttemptSetObjLength and - the string obj append functions. - - * generic/tclStringObj.c: Modified string growth algorithm to use - doubling algorithm as long as possible, and only fall back when that - fails. Added Tcl_AttemptSetObjLength, and modified - AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and - Tcl_AppendStringsToObjVA to support this. - -2000-09-07 David Gravereaux - - * win/.cvsignore: changed the glob patterns a bit to exclude VC++ - project conversion backups. - - * win/tclWinPipe.c: Stage-1 bug fix for TR#2460 "exec leaks memory". - Added more logic around the close-down of the pipe reader thread so as - to avoid, at all cost, a TerminateThread. Most cases with exec are - fixed, but I don't consider 2460 done yet. Closing down the read side - of a pipe before the child process, doesn't really fit the windows - model. [BUG: 2460] - -2000-09-07 Jeff Hobbs - - * doc/trace.n: minor doc cleanup - -2000-09-06 André Pönitz - - * doc/*.n: added or changed "SEE ALSO:" section - -2000-09-06 Jeff Hobbs - - * win/tclWinLoad.c (TclpLoadFile): added special message for - ERROR_PROC_NOT_FOUND exception in loading a dll. - * win/tclWinError.c: changed ERROR_PROC_NOT_FOUND to map from ESRCH - (POSIX: no such process) to EINVAL because there is no good mapping - for "procedure not found". - - * README: - * generic/tcl.h: - * library/tcltest1.0/tcltest.tcl: - * tools/tcl.wse.in: - * tools/tcltk-man2html.tcl: - * unix/configure.in: - * unix/tcl.spec: - * win/README.binary: - * win/configure.in: updated patchlevel to 8.4a2 - - * unix/tclUnixPipe.c (TclpCreateProcess): Removed WNOHANG from - Tcl_WaitPid call in error case of process creation on Unix, as it - would lead to defunct processes. [Bug: 6148] - - * tests/string.test: extended string repeat tests - * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed STR_REPEAT to - preallocate the full space of the final string, avoided repeated - appends. - - * doc/source.n: - * doc/Eval.3: added extra note about how to safe use ^Z in code, as it - is now a cross-platform (was just Windows) EOF char. - -2000-09-05 Jeff Hobbs - - * generic/tclHash.c: fixed pedantic warning of incorrectly placed - #endif - - * generic/tclExecute.c (TclExecuteByteCode): INST_STR_INDEX fixed - pedantic cast warning. - Corrected support for building with -DTCL_COMPILE_STATS. - Added efficiency check of object equality. - -2000-08-29 Eric Melski - - * generic/tclStringObj.c: Applied patch from Gerhard Hintermayer to - provide a more conservative string growth algorithm for strings larger - than one megabyte; this allows more efficient use of memory for very - large strings. - -2000-08-25 Eric Melski - - * tests/trace.test: Extended array tracing tests. - - * doc/trace.n: Clarified information about when array traces will be - fired. - - * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected call to CallTraces - (for TCL_TRACE_ARRAY) to only be called when the variable is either an - array or is undefined, to ensure that array traces do not fire for - scalar variables. - -2000-08-24 Eric Melski - - * doc/man.macros: Tweaked tab settings for .SO (Standard Options) - sections, based on suggestion from Peter Spjuth. - -2000-08-24 Mo DeJong - - * unix/README: Update to account for removal of --enable-gcc. - * unix/configure.in: - * unix/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. - * win/README: Add note about building with Cygwin. - * win/configure.in: - * win/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. Remove quick - hack that provided cross compile support for windows builds. - -2000-08-24 Eric Melski - - Overall change: Added support for command rename/delete traces and new - trace syntax, from patch from Vince Darley. Added support for array - traces for variables. [RFE: 5048, 5967]. - - * doc/trace.n: Updated documentation for new syntax; flagged old - syntax as deprecated; added documentation for command rename/delete - traces and variable array traces. - - * tests/trace.test: Updated tests for new trace syntax; new tests for - command rename/delete traces; new tests for array traces. - - * generic/tclVar.c: Support for new trace syntax; support for - TCL_TRACE_ARRAY. - - * generic/tclStubInit.c: - * generic/tclDecls.h: - * generic/tcl.decls: Stub functions for command rename/delete traces. - - * generic/tcl.h: - * generic/tclInt.h: - * generic/tclBasic.c: Support for command traces. - - * generic/tclCmdMZ.c (TclTraceVariableObjCmd): Patched to support new - [trace] syntax: - trace {add|remove|list} {variable|command} name ops command - Added support for command traces (rename, delete operations). - Added support for TCL_TRACE_ARRAY at Tcl level (array operation for - variable traces). - -2000-08-20 Eric Melski - - * generic/tclVar.c: Added check for non-arrays for [array statistics] - command (patch from Mark Patton). - -2000-08-19 David Gravereaux - - * generic/tclPlatDecls.h: without a previous '#include ', - tclPlatDecls.h can't be parsed due to a missing definition of TCHAR. - Added a check to include it when not defined. - - ***POSSIBLE OBSCURE BUG*** could be caused when the compile flags for - the core happen to be different than a project who uses these publics - regarding -D_MBCS and -D_UNICODE. This added check might have to be - revisited later with a better understanding of the reprocusions. I - think TCHAR should be replaced with it's expansion. - -2000-08-18 David Gravereaux - - * win/.cvsignore (added): provides a cleaner build environment with - graphical CVS clients. - -2000-08-15 Eric Melski - - * library/tcltest1.0/tcltest.tcl: Set debug level in - tcltest::restoreState to 2, for consistancy with the debug level in - tcltest::saveState [Bug: 4505]. - -2000-08-14 Eric Melski - - * win/makefile.vc: - * win/Makefile.in: - * unix/Makefile.in: Added tclPlatDecls.h to the list of installed - headers, for more complete stubs support. [Bug: 5241]. - - * generic/tcl.h: Added #include "tclPlatDecls.h" to get - platform-specific stubs declarations (Tcl_WinTCharToUtf, etc) - [Bug: 5241]. - - * README: Updated link for instructions on compiling Tcl from sources - to point to correct location (http://dev.scriptics.com/doc/... instead - of http://dev.scriptics.com/support/...). - -2000-08-11 Eric Melski - - * generic/tclEnv.c (TclUnsetEnv): Changed declaration of length - variable from "unsigned int" to "int", to match usage when passed to - TclpFindVariable [Bug: 6126]. - -2000-08-10 Eric Melski - - * library/msgcat1.0/pkgIndex.tcl: Bumped version number to 1.2 [Bug: - 6100]. - - * library/msgcat1.0/msgcat.tcl: Removed erroneous [package forget] in - msgcat namespace initializer. Bumped version number to 1.2 [Bug: 6100] - -2000-08-10 David Gravereaux - - * generic/tclObj.c: r1.15 accidentally changed a global mutex name - tclObjMutex to ObjMutex. Put the correct name back. - -2000-08-07 Eric Melski - - * tests/indexObj.test: Added tests using the [testwrongnumargs] - command to test Tcl_WrongNumArgs. - - * generic/tclTest.c (TestWrongNumArgsObjCmd): Added test function for - the Tcl_WrongNumArgs function. - - * generic/tclIndexObj.c (Tcl_WrongNumArgs): Corrected algorithm to not - insert a space before the message component when objc == 0 [Bug: 6078] - -2000-07-27 Mo DeJong - - * win/configure.in: TCL_STUB_LIB_FLAG should not include ${TCL_DBGX} - in win/tclConfig.sh, fix that. - -2000-07-25 David Gravereaux - - * doc/Async.3: - * generic/tclAsync.c: - * generic/tclInt.decls: - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: - * generic/tclTest.c: - * mac/tclMacPort.h: - * unix/tclUnixPort.h: - * win/tclWinInit.c: Thread-safe rewrite for tclAsync.c. Added notifier - alerting on all platforms as it was only working on Win before. - Removed older Win hacks that would end-up waking the wrong notifier in - the presence of a threaded build. All tests pass as before. New test - cases will be added soon for the new behavior. [BUG: 5791] - -2000-07-25 Eric Melski - - * generic/tclVar.c (CallTraces): Added check for VAR_TRACE_ACTIVE on - the array containing the variable before executing traces on that - array, to conform with normal variable traces and the documentation, - which states that while executing a trace, other traces on that - variable are disabled. [Bug: 6049]. - - * win/tclWinPipe.c (BuildCommandLine): Added Tcl_DStringFree call to - prevent potential memory leaks [Bug: 6041]. - -2000-07-24 Eric Melski - - * doc/msgcat.n: Added documentation about the selection of the default - locale on Windows. - -2000-07-23 Joe English - - * doc/AddErrInfo.3: - * doc/ChnlStack.3: - * doc/Exit.3: - * doc/GetIndex.3: - * doc/Notifier.3: - * doc/Object.3: - * doc/RegExp.3: - * doc/SetResult.3: - * doc/SplitList.3: - * doc/Thread.3: Added missing entries to NAME section. - - * doc/AddErrInfo.3: - * doc/CrtObjCmd.3: - * doc/RecEvalObj.3: Changed Tcl_EvalObj to Tcl_EvalObjEx - -2000-07-21 Eric Melski - - * generic/tclStubInit.c: - * generic/tclObj.c: - * generic/tclInt.h: - * generic/tclHash.c: - * generic/tclDecls.h: - * generic/tcl.h: - * generic/tcl.decls: - * doc/Hash.3: Reapplied patch from Paul Duffin to extend hash tables - to allow custom key types, such as Tcl_Obj *'s, and others. - - * doc/binary.n: Noted that the example in the introduction assumes a - 32-bit system [Bug: 6035]. - -2000-07-21 Mo DeJong - - * win/configure.in: Define ${prefix} and ${exec_prefix} like - unix/configure.in. Fix or add TCL_SRC_DIR, TCL_STUB_LIB_FILE, - TCL_STUB_LIB_FLAG, TCL_BUILD_STUB_LIB_SPEC, TCL_STUB_LIB_SPEC, - TCL_BUILD_STUB_LIB_PATH, TCL_STUB_LIB_PATH. - -2000-07-20 Eric Melski - - * generic/tclStubInit.c: - * generic/tclObj.c: - * generic/tclInt.h: - * generic/tclHash.c: - * generic/tclDecls.h: - * generic/tcl.h: - * generic/tcl.decls: - * doc/Hash.3: Reverted patch from Paul Duffin to extend hash tables to - allow custom key types, such as Tcl_Obj *'s, and others; it seems to - break Tk. - -2000-07-19 Eric Melski - - * generic/tclStubInit.c: - * generic/tclObj.c: - * generic/tclInt.h: - * generic/tclHash.c: - * generic/tclDecls.h: - * generic/tcl.h: - * generic/tcl.decls: - * doc/Hash.3: Applied patch from Paul Duffin to extend hash tables to - allow custom key types, such as Tcl_Obj *'s, and others. - - * tests/pkgMkIndex.test: Added tests for pkg_compareExtension. - - * library/package.tcl: Enhanced pkg_compareExtension to handle Unixes - which tack the version number on to the end of library names (eg, - foo.so.1.2); such filenames will be correctly matched. (Patch from - Vince Darley). - - * win/makefile.vc: Applied patch from Don Porter to provide better - nmake support for NT/Alpha [RFE: 5938]. - -2000-07-18 Mo DeJong - - * unix/configure.in: - * unix/tcl.m4: - * win/tcl.m4: Properly quote arguments to m4 macros. This allows Tcl - to work with the new version of autoconf. - -2000-07-18 Eric Melski - - * tests/opt.test: Removed references to Lfirst, Lrest functions. - - * library/opt0.4/optparse.tcl: Applied patch from Chris Nelson, which - replaces the [Lfirst] function with an inline [lindex ... 0] and - [Lrest] with [lrange ... 1 end], for better performance. [RFE: 6019] - -2000-07-18 Eric Melski - - * compat/string.h: Fixed function prototypes for strpbrk and strtok - [Bug: 6020]. - -2000-07-17 David Gravereaux - - * win/tclWinChan.c: Win2K OS bug with GetStdHandle(STD_OUTPUT_HANDLE) - giving the wrong answer. This made TclpGetDefaultStdChannel grab what - it thought was a valid native stdout handle. Added a new WriteFile() - test to make sure it's really valid. This OS bug doesn't affect the - shells. Only -subsystem:windows (aka WinMain) application that - dynamically load tclXX.dll [BUG: 5971] - -2000-07-17 Eric Melski - - * library/msgcat1.0/msgcat.tcl: - * doc/msgcat.n: - * tests/msgcat.test: Applied patches from Chris Nelson, to provide the - mcmset function, which allows the translator to set multiple string - translations in a single function call, rather than requiring many - calls to mcset. [RFE: 6000, 5993]. In addition, these patches correct - mcload to use utf-8 encoding on when reading message catalog files, - and provides for better default behavior for determining the locale on - a Windows system. - -2000-07-17 Mo DeJong - - * unix/tcl.m4 (SC_ENABLE_GCC): Don't set CC=gcc before running - AC_PROG_CC if CC is already set. - -2000-07-13 André Pönitz - - * doc/lappend.n: - * doc/lindex.n: - * doc/linsert.n: - * doc/list.n: - * doc/llength.n: - * doc/lrange.n: - * doc/lreplace.n: - * doc/lsearch.n: - * doc/lsort.n: Added SEE ALSO sections. - -2000-07-07 Mo DeJong - - * win/configure.in: Fix definition of TCL_SRC_DIR so that it matches - the Unix version. - * win/tclConfig.sh.in: Removed duplicate variables. - -2000-07-06 Eric Melski - - * tests/msgcat.test: - * library/msgcat1.0/msgcat.tcl: Applied patch from Christian Krone, to - provide extended args support for msgcat::unknown, which is used for - strings without a known translation in the current locale [Bug: 5984]. - -2000-06-29 Eric Melski - - * doc/msgcat.n: Doc's for mcmax function. - - * library/msgcat1.0/msgcat.tcl: Applied patches from Laurent Duperval, - to add mcmax function, which computes the length of the longest of - several translated strings. Bumped version number to 1.1. - -2000-06-27 Eric Melski - - * tests/stringObj.test: Tweaked tests to avoid hard-coded high-ASCII - characters (which will fail in multibyte locales); instead used \uXXXX - syntax. [Bug: 3842]. - -2000-06-26 Eric Melski - - * doc/package.n: Corrected information about [package forget] - arguments [Bug: 5418]. - -2000-06-23 Eric Melski - - * doc/Hash.3: Added documentation patch for Tcl_Obj *'s as keys in Tcl - hash tables [RFE: 5934]. - - * generic/tcl.h: - * generic/tclHash.c: Applied patch from [RFE: 5934], which extends Tcl - hash tables to allow Tcl_Obj *'s as the key. - -2000-06-20 Eric Melski - - * tests/opt.test: - * library/opt0.4/optparse.tcl: Applied patch from [Bug: 5922], which - corrected an incorrect use of [string match]. - - * unix/tclConfig.sh.in: - * win/tclConfig.sh.in: Applied patch from [Bug: 5921], which corrects a - typo in the comments in these files. - -2000-06-19 Eric Melski - - * doc/RegExp.3: Replaced instances of "Tcl_GetRegExpInfo" with - "Tcl_RegExpGetInfo", the correct name of the function [Bug: 5901]. - -2000-06-13 Eric Melski - - * win/tcl.m4: - * win/configure.in: - * win/Makefile.in: Applied patch from [RFE: 5844], to extend support - for mingw compile environment on Windows. - - * win/tclWinDde.c: - * win/tclWinInit.c: - * win/tclWinNotify.c: - * win/tclWinPipe.c: - * win/tclWinReg.c: - * win/tclWinThrd.c: Applied patch from [Bug: 5794], to fix compiler - warnings when using mingw on Windows. - -2000-05-31 Jeff Hobbs - - * tests/set-old.test: - * doc/unset.n: - * generic/tclVar.c (Tcl_UnsetObjCmd): added -nocomplain and -- options - to unset, to allow for a silent unset operation. - -2000-05-31 Eric Melski - - * generic/tclVar.c (Tcl_ArrayObjCmd): Added support for regexp and - exact matching for [array names] command. [RFE: 3684]. - - * doc/array.n: Added documentation for [array names - -exact/-regexp/-glob] [RFE: 3684]. - - * tests/set-old.test: Added tests for [array names - -exact/-regexp/-glob] [RFE: 3684]. - -2000-06-06 Jeff Hobbs - - 8.4a1 RELEASE - - * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): added test - of iResult return from memcmp, as memcmp isn't required to return only - -1,0,1. - -2000-06-03 Jeff Hobbs - - * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Corrected caching - of the index ptr to account for offsets != sizeof(char *). [Bug: 5153] - -2000-05-29 Sandeep Tamhankar - - * tests/http.test - * doc/http.n - * library/http2.3/http.tcl: Fixed bug 5741, where unsuccessful geturl - calls sometimes leaked memory and resources (sockets). Also, switched - around some of the logic so that http::wait never throws an exception. - This is because in an asynchronous geturl, the command callback will - probably end up doing all the error handling anyway, and in an - asynchronous situation, the user expects to check the state when the - transaction completes, as opposed to being thrown an exception. For - the http package, this menas the user can check http::status for - "error" and http::error for the error message after doing the - http::wait. - -2000-05-27 Jeff Hobbs - - * tests/info.test: - * doc/info.n: - * generic/tclIOUtil.c (Tcl_EvalFile): - * generic/tclCmdIL.c (InfoScriptCmd): added ability to set the info - script return value [info script ?newFileName?]. This will be - beneficial for virtual file system programs. [Bug: 4225] - -2000-05-26 Jeff Hobbs - - * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): reworked to operate in - Unicode, tweaked for performance. - (Tcl_StringObjCmd) changed STR_FIRST/STR_LAST error message to - something more understandable, reworked STR_FIRST, STR_LAST, STR_MAP, - STR_MATCH, STR_RANGE, STR_REPLACE to operate in Unicode. Removed - inneffectual STR_RANGE "special" ByteArray support. Optimized STR_MAP - algorithm, especially optimized for one-pair case. Fixed possible mem - overrun in STR_INDEX bytearray case. - - * generic/tclCompExpr.c: changed INST_STREQ -> INST_STR_EQ, - INST_STRNEQ -> INST_STR_NEQ - * generic/tclCompile.c: added streq, strneq, strcmp, strlen & - strmatch to the compiled stats instructionTable - * generic/tclCompile.h: added instructions INST_STR_CMP, - INST_STR_INDEX, INST_STR_MATCH - * generic/tclCompCmds.c: added byte compiler support for [string - compare|match|index]. - * generic/tclExecute.c: Changed INST_STR_(N)EQ to return an Int object - and not bother trying to reuse the top stack object. Added - INST_STR_CMP, INST_STR_INDEX, INST_STR_MATCH bytecode ops. Extended - evalstats output info with Tcl_IsShared stat info. - - * generic/tclInt.h: - * generic/tclObj.c (Tcl_DbIsShared): added support for checking result - of Tcl_IsShared in evalstats (TCL_COMPILE_STATS). - - * generic/tclStringObj.c (Tcl_AppendUnicodeToObj): removed dead code. - (AppendUnicodeToUnicodeRep) removed overallocation by extra - sizeof(Tcl_UniChar) multiplier. - - * tests/string.test: added string map tests for the one-pair case, - corrected tests to reflect improved error messages in first/last. - Added tests against mem overrun in string index bytearray case. - -2000-05-23 Eric Melski - - * generic/tclInt.h: Added function prototypes for TclCompileStringCmd - and TclCompileReturnCmd. - - * generic/tclCompile.h: Added definition of INST_STRLEN opcode and - updated LAST_INST_OPCODE value. - - * generic/tclBasic.c: Added information about TclCompileStringCmd and - TclCompileReturnCmd to BuiltInCmds table. - - * generic/tclExecute.c (TclExecuteByteCode): Added support for the - INST_STRLEN opcode. - - * generic/tclCompCmds.c (TclCompileStringCmd): Basic implementation of - byte-compiled [string] command. Not all subcommands are implemented; - those that are not an out-line compiled. - - (TclCompileReturnCmd): Byte-compiled implementation of [return] - command. Only "simple" returns are byte-compiled; in particular, if - the -code, -errorinfo or -errorcode flags are used, the command is not - byte-compiled. - -2000-05-22 Jeff Hobbs - - * doc/scan.n: - * doc/array.n: minor doc fixes [Bug: 5396] - - * generic/tclEnv.c: cast cleanup [Bug: 5624] - * win/tclWinConsole.c: cast and header cleanup [Bug: 5625] - * win/tclWinSerial.c: cast cleanup [Bug: 5626] - * win/tclWinFCmd.c: cast cleanup [Bug: 5627] - -2000-05-19 Jeff Hobbs - - * generic/tclTest.c: - * generic/tclIO.c: moved channel test commands from tclIO.c to - tclTest.c. - * generic/tclIO.h: new file, split out from tclIO.c to allow test - commands to be moved to tclTest.c. - - * generic/tclStubInit.c: - * generic/tclIntDecls.h: - * generic/tclInt.decls: removed TclTestChannel*Cmd from internal stubs - table and added TclChannelEventScriptInvoker to the internal stubs - table so it can be used from the test code. - -2000-05-18 Eric Melski - - * tests/clock.test: Added test for "2 days 2 hours ago" style - specifications. - - * generic/tclDate.c: Regenerated from tclGetDate.y. - - * generic/tclGetDate.y: Tweaked grammar to properly handle the "ago" - keyword when it follows multiple relative unit specifiers, as in "2 - days 2 hours ago". [Bug: 5497] - -2000-05-18 Jeff Hobbs - - * win/{tcl.m4,Makefile.in,configure.in}: added support for mingw - compile env and cross-compiling. [Bug: 5499] - - * generic/tclClock.c (FormatClock): correct code to handle locale - specific return values from strftime, if any. [Bug: 3345] - - * unix/tclUnixInit.c (TclpSetInitialEncodings): attempt to correct - setlocale calls for XIM support and locale issues. [BUG: 5422 3345 - 4236 2522 2521] - -2000-05-17 Jeff Hobbs - - * library/init.tcl (auto_import): added check to see if a valid - pattern was coming in, to avoid simple error cases [Bug: 3326] - - * doc/regsub.n: correct regsub docs [Bug: 5346] - -2000-05-15 Eric Melski - - * library/history.tcl: Corrected an off-by-one error in HistIndex, - which was causing [history redo] to start its search at the wrong - event index. [Bug: 1269]. - -2000-05-10 Jeff Hobbs - - * generic/tclPosixStr.c (Tcl_SignalMsg): clarified #defines for Linux - on Sparc to compile correctly. [Bug: 5364] - - * doc/namespace.n: - * tests/namespace.test: - * generic/tclNamesp.c (Tcl_NamespaceObjCmd): added 'namespace exists' - command. [Bug: 4665] - - * doc/source.n: - * doc/Eval.3: - * tests/source.test: - * generic/tclIOUtil.c (Tcl_EvalFile): added explicit \32 (^Z) eofchar - (affects Tcl_EvalFile in C, "source" in Tcl). This was implicit on - Windows already, and is now cross-platform to allow for scripted - documents. - -2000-05-09 Andreas Kupries - operating as proxy for David Gravereaux - - * win/tclWinThrd.c (TclpInitLock, TclpMasterLock): Added missing - initialization of joinLock. - -2000-05-09 Eric Melski - - * tests/lsearch.test: - * doc/lsearch.n: - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Extended [lsearch] to - support sorted list searching and typed list searching. [RFE: 4098]. - -2000-05-08 Jeff Hobbs - - * doc/expr.n: - * tests/expr.test: - * tests/expr-old.test: added tests for 'eq' and 'ne' - * generic/tclExecute.c: - * generic/tclCompile.h: added INST_STREQ and INST_STRNEQ opcodes that - do strict string comparisons. - * generic/tclCompExpr.c: added 'eq' and 'ne' string comparison - operators. - * generic/tclParseExpr.c (GetLexeme): added 'eq' and 'ne' expr parse - terms (string (in)equality check). - - * generic/tclCmdIL.c (Tcl_LinsertObjCmd): made use of - Tcl_DuplicateObj where code was otherwise duplicated. Made special - case of inserting one element at the end work again (where index == - len). - (Tcl_LreplaceObjCmd): moved Tcl_DuplicateObj call lower and cleaned - up use of other arguments. - - * generic/tclObj.c (Tcl_DuplicateObj): simplified code to call - TclInitStringRep, which the code was just duplicating in part. - - * doc/Utf.3: - * generic/tclStubInit.c: - * generic/tcl.decls: - * generic/tclDecls.h: - * generic/tclUtf.c: Added new functions Tcl_UniCharNcasecmp and - Tcl_UniCharCaseMatch (unicode parallel to Tcl_StringCaseMatch) - * generic/tclUtil.c: rewrote Tcl_StringCaseMatch algorithm for - optimization and made Tcl_StringMatch just call Tcl_StringCaseMatch - * tests/string.test: extended string match tests - -2000-05-08 Eric Melski - - * tests/set-old.test: - * doc/array.n: - * generic/tclVar.c: Added [array statistics] command [RFE: 4557] - -2000-05-06 Andreas Kupries - operating as proxy for David Gravereaux - - * tclThreadJoin.c: Fixed several places with missing a & in arguments - to calls of Tcl_Mutex(Un)lock and Tcl_ConditionNotify functions. - -2000-05-02 Jeff Hobbs - - * README: - * generic/tcl.h: - * library/init.tcl: - * library/reg1.0/pkgIndex.tcl: - * library/tcltest1.0/tcltest.tcl: - * mac/README: - * tools/tcl.hpj.in: - * tools/tcl.wse.in: - * unix/README: - * unix/configure.in: - * unix/tcl.spec: - * win/README: - * win/README.binary: - * win/configure.in: - * win/makefile.vc: - * win/tcl.m4: updated patchlevel to 8.4a1 - - * tests/compile.test: - * tests/init.test: - * tests/proc.test: - * tests/proc-old.test: - * tests/rename.test: - * generic/tclProc.c: reworked error return for procedures with - incorrect args to be like the C Tcl_WrongNumArgs, where a "wrong # - args: ..." message is printed out with the args list. - - * unix/Makefile.in: add tclsh.ico and tcl.spec to dist target - -2000-05-02 Andreas Kupries - - Overall changes: - (1) Implementation of joinable threads for all platforms. - (2) Additional API's for channels. Required to allow the thread - extension to move channels between threads. - - * generic/tcl.decls (lines 1360f): Added Tcl_JoinThread, - Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, - Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers - (slots 394 to 400). - - * generic/tclIO.c: Implemented Tcl_IsChannelRegistered, - Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, - Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. Tcl_CutChannel - uses code from CloseChannel. Replaced this code by a call to - Tcl_CutChannel. Replaced several code fragments adding channels to - the channel list with calls to Tcl_SpliceChannel. Removed now unused - variables from CloseChannel and Tcl_UnstackChannel. - Tcl_ClearChannelHandlers uses code from Tcl_Close. Replaced this code - by a call to Tcl_ClearChannelHandlers. Removed now unused variables - from Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and - 'isshared' to the test code (TclTestChannelCmd). - - * unix/tclUnixThread.c: Implemented Tcl_JoinThread using the - pthread-functionality. - - * win/tclWinThrd.c: Fixed several small typos in comments. - Implemented Tcl_JoinThread using a platform independent emulation - layer (see generic/tclThreadJoin.c below). Added 'joinLock' to - serialize Tcl_CreateThread and TclpExitThread to prevent a race for - joinable threads. - - * mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform - independent emulation layer (see generic/tclThreadJoin.c below). Due - to the cooperative nature of threading on this platform the race - mentioned above is not present. - - * generic/tclThreadJoin.c: New file. Contains a platform independent - emulation layer helping in the implementation of joinable threads for - the win and mac platforms. - - * generic/tclInt.h: Added declarations for TclJoinThread, - TclRememberJoinableThread and TclSignalExitThread. These procedures - define the API of the emulation layer for joinable threads (see - generic/tclThreadJoin.c above). - - * win/Makefile.in: - * win/makefile.vc: Added generic/tclTheadJoin.o to the rules. - - * mac/: I don't know to which file generic/tclTheadJoin.o has to be - added to so that it compiles. Sorry. - - * unix/tclUnixChan.c: #ifdef'd the thread-local list of file channels - as it prevents us from transfering channels. To restore this we may - need an extended interface to drivers in the future. Target: - 9.0. Found while testing the new transfer of channels. The information - in this list for a channel was left behind and then crashed the system - during finalization. - - * generic/tclThreadTest.c: Added -joinable flag to 'testthread - create'. Added subcommand 'testthread join'. - - * doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered, - Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, - Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. - - * doc/Thread.3: Added documentation for Tcl_JoinThread. - - * tests/thread.test: Added tests for joining of threads. - -2000-04-27 Eric Melski - - * doc/library.n: Added entries for auto_qualify and auto_import - [Bug: 1271]. - - * doc/Init.3: Manual entry for Tcl_Init [Bug: 1820]. - - * doc/expr.n: Added documentation for each of the math library - functions that expr supports [Bug: 1054]. - -2000-04-26 Eric Melski - - * doc/memory.n: Man page for Tcl "memory" command, which is created - when TCL_MEM_DEBUG is defined at compile time. - - * doc/TCL_MEM_DEBUG.3: Man page with overall information about - TCL_MEM_DEBUG usage. - - * doc/DumpActiveMemory.3: Man page for Tcl_DumpActiveMemory, - Tcl_InitMemory, and Tcl_ValidateAllMemory [Bug: 1816, 1835]. - - * generic/tclCkalloc.c: Fixed some function headers. - - * unix/mkLinks: Regen'd with new mkLinks.tcl. - - * unix/mkLinks.tcl: Fixed indentation, made link setup more - intelligent (only do one existence test per man page, instead of one - per function). - - * doc/library.n: Fixed .SH NAME macro to include each function - documented on the page, so that mkLinks will know about the functions - listed there, and so that the Windows help file index will get set up - correctly [Bug: 1898, 5273]. - -2000-04-26 Jeff Hobbs - - 8.3.1 RELEASE - - * README: - * mac/README: - * tools/tcl.wse.in: - * unix/README: - * unix/tcl.spec: - * win/README: - * win/README.binary: Updating URLs to reference dev.scriptics.com - -2000-04-25 Jeff Hobbs - - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: updated for http change and some cleanup - * library/http2.[13]: moved dir http2.1 to http2.3 to match version - - * doc/Utf.3: clarified docs for Tcl_(UniChar|Utf)AtIndex - - * unix/tclUnixThrd.c: removed {}s around PTHREAD_MUTEX_INITIALIZER - [Bug: 5254] - - * unix/tclLoadDyld.c (TclpLoadFile): removed use of interp->result - -2000-04-25 Eric Melski - - * unix/mkLinks: - * doc/AddErrInfo.3: Added information about Tcl_LogCommandInfo - [Bug: 1818]. - -2000-04-24 Eric Melski - - * unix/mkLinks: - * doc/OpenFileChnl.3: Added man entry for Tcl_Ungets [Bug: 1834]. - - * unix/mkLinks: - * doc/SourceRCFile.3: Man page for Tcl_SourceRCFile [Bug: 1833]. - - * unix/mkLinks: - * doc/ParseCmd.3: Added documentation for Tcl_ParseVar [Bug: 1828]. - -2000-04-24 Jeff Hobbs - - * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier, NotifierThreadProc): - added write of 'q' into triggerPipe for notifier in threaded case, so - that Tcl doesn't hang when children are still running [Bug: 4139] - - * unix/tclUnixThrd.c (Tcl_MutexLock): minor comment fixes. - -2000-04-23 Jim Ingham - - These changes make some error handling marginally better for Mac - sockets. It is still somewhat flakey, however. - - * mac/tclMacSock.c (TcpClose): Add timeouts to the close - these don't - seem to be honored, however. Use a separate PB for the release, since - an async connect socket will still be using the original buffer. Make - sure TCPRelease returns noErr before freeing the recvBuff. If the call - returns an error, then the buffer is not right. - * mac/tclMacSock.c (CreateSocket): Add timeouts to the async create. - These don't seem to trigger, however. Sigh... - * mac/tclMacSock.c (WaitForSocketEvent): If an TCP_ASYNC_CONNECT - socket errors out, then return EWOULDBLOCK & error out. - * mac/tclMacSock.c (NotifyRoutine): Added a NotifyRoutine for - experimenting with MacTCP. - -2000-04-22 Jim Ingham - - * library/package.tcl (tclPkgUnknown): Fixed a typo in the Mac package - search part of tclPkgUnknown. - -2000-04-21 Sandeep Tamhankar - - * library/http2.1/http.tcl: Fixed a newly introduced bug where if - there's a -command callback and something goes wrong, geturl threw an - exception, called the callback, and unset the token. I changed it so - that it will not call the callback when throwing an exception (so the - caller only finds out about a given error from one place). Also, - fixed http::ncode so that it actually gives you back the http return - code (i.e. 200, 404, etc.) instead of the first digit of the version - of HTTP being used (i.e. 1). - -2000-04-21 Brent Welch - - * library/http2.1/http.tcl: More thrashing with the "server closes - without reading post data" scenario. Reverted to the previous fileevent - configuratiuon, which seems to work better with small amounts of post - data. - -2000-04-20 Jeff Hobbs - - * generic/tclAlloc.c: wrapped caddr_t define to not be done on Unix - * unix/tclUnixPort.h: added Tclp*Alloc defines to allow the use of - USE_TCLALLOC on Unix. [Bug: 4731] - -2000-04-19 Jeff Hobbs - - * library/dde1.1/pkgIndex.tcl: - * library/reg1.0/pkgIndex.tcl: - * win/tclWinChan.c: - * win/tclWinThrd.c: converted CRLF to LF the */tcl.hpj.in files were - not converted, as it confuses hcw locally. [Bug: 5096] - - * win/Makefile.in: expanded cleanup target for help files - - * doc/Thread.3: minor macro cleanup - - * generic/tclFileName.c (SplitUnixPath): added support for QNX node - ids. - -2000-04-18 Jeff Hobbs - - * README: - * generic/tcl.h: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - * win/README.binary: bumped version to 8.3.1 - - * win/tcl.hpj.in: updated copyright date - - * generic/tclEnv.c: environment support for Mac OS/X - * unix/tclUnixPort.h: environment support for Mac OS/X - * unix/tclLoadDyld.c: new file for Mac OS/X dl functions - * unix/Makefile.in: added install-strip target; bindir, libdir, - mandir, includedir vars; tclLoadDyld.c target [Bug: 2527] - - * unix/tclUnixChan.c (CreateSocket): force a socket back into blocking - mode (default state) after a -async connect succeeds. [Bug: 4388] - - * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath to - thread-local storage to prevent thread-related race condition. - [Bug: 5033] - * unix/tclAppInit.c (main): removed #ifdef TCL_TEST that sets the - library path as it was unnecessary and conflicts with move of - tclLibraryPath to thread-local storage. - -2000-04-18 Scott Redman - - * win/Makefile.in: - * win/tcl.rc: - * win/tclsh.rc: - * win/tclsh.ico: Modified copyright dates in Windows resource files. - Added an icon for tclsh.exe. - -2000-04-17 Brent Welch - - * generic/tcl.h, generic/tclThreadTest.c, unix/tclUnixThrd.c, - * win/tclWinThread.c, mac/tclMacThread.c: Added Tcl_CreateThreadType - and TCL_RETURN_THREAD_TYPE macros for declaring the NewThread callback - proc. - -2000-04-14 Jeff Hobbs - - * unix/tclUnixChan.c (TtyParseMode): Only allow setting mark/space - parity on platforms that support it [Bug: 5089] - - * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minor to - not conflict with global decl on some systems [Bug: 2882] - - * doc/AppInit.3: - * doc/Async.3: - * doc/BackgdErr.3: - * doc/CrtChannel.3: - * doc/CrtInterp.3: - * doc/CrtMathFnc.3: - * doc/DString.3: - * doc/Eval.3: - * doc/ExprLong.3: - * doc/GetInt.3: - * doc/GetOpnFl.3: - * doc/Interp.3: - * doc/LinkVar.3: - * doc/OpenFileChnl.3: - * doc/OpenTcp.3: - * doc/PkgRequire.3: - * doc/RecordEval.3: - * doc/SetResult.3: - * doc/SplitList.3: - * doc/StaticPkg.3: - * doc/TraceVar.3: - * doc/Translate.3: - * doc/UpVar.3: - * doc/load.n: removed or updated references to interp->result use. - -2000-04-13 Jeff Hobbs - - * doc/regexp.n: doc clarification [Bug: 5037] - * doc/update.n: typo fix [Bug: 4996] - - * unix/tcl.m4 (SC_ENABLE_THREADS): enhanced the detection of - pthread_mutex_init [Bug: 4359] and (SC_CONFIG_CFLAGS) added - --enable-64bit-vis switch for Sparc VIS compilation [Bug: 4995] - -2000-04-12 Jeff Hobbs - - * doc/dde.n: corrected dde poke docs. [Bug: 4991] - -2000-04-11 Eric Melski - - * win/tclWinPipe.c: Added "CONST" keyword to declaration of char - *native in TclpCreateTempFile, to supress compiler warnings. - -2000-04-10 Brent Welch - - * generic/tcl.h: Fixed Tcl_CreateThread declaration. - * library/tcltest1.0/tcltest.tcl: Fixed the "mainThread" - initialization to work with either testthread or the thread extension - * unix/tclUnixThrd.c: Fixed compiler warning when compiling with - -DTCL_THREADS - -2000-04-10 Eric Melski - - * win/tclWinPipe.c (TclpCreateTempFile): Added conversion of contents - string from UTF to native encoding [Bug: 4030]. - - * tests/regexp.test: Added tests for infinite looping in [regexp - -all]. - - * generic/tclCmdMZ.c: Fixed infinite loop bug with [regexp -all] - [Bug: 4981]. - - * tests/*.test: Changed all occurrences of "namespace import - ::tcltest" to "namespace import -force ::tcltest" [Bug: 3948]. - -2000-04-09 Brent Welch - - * lib/httpd2.1/http.tcl: Worked on the "server closes before reading - post data" case, which unfortunately causes different error cases on - Solaris, which can read the reply, and Linux and Windows, which cannot - read anything. This is all in the loop-back case - client and server - on the same host. Also unified the error handling so the "ioerror" - status goes away and errors are reflected in a more uniform way. - Updated the man page to document the behavior. - -2000-04-09 Jeff Hobbs - - * tests/reg.test (matchexpected): corrected tests to use tcltest - constraint types to skip certain tests. - - * generic/tclBasic.c (Tcl_SetCommandInfo): comment fix - - * unix/tclUnixThrd.c (Tcl_CreateThread): moved TCL_THREADS ifdef - inside of func as it is declared for non-threads builds as well. In - the non-threads case, it always returns TCL_ERROR (couldn't create - thread). - -2000-04-08 Andreas Kupries - - * Overall change: Definition of a public API for the creation of - new threads. - - * generic/tclInt.h (line 1802f): Removed the definition of - 'TclpThreadCreate'. (line 793f) Removed the definition of - 'Tcl_ThreadCreateProc'. - - * generic/tcl.h (line 388f): Readded the definition of - 'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David Graveraux - to that too (__stdcall, ...). Added macros for - the default stacksize and allowed flags. - - * generic/tcl.decls (line 1356f): Added definition of - 'Tcl_CreateThread', slot 393 of the stub table. Two new arguments in - the public API, for stacksize and flags. - - * win/tclWinThrd.c: - * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread, - added handling of the stacksize. Flags are currently ignored. - - * unix/tclUnixThrd.c: See above, but handles joinable flag. Ignores - the specified stacksize if the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE is - not defined. - - * generic/tclThreadTest.c (line 363): See below. - - * unix/tclUnixNotfy.c (line 210): Adapted to the changes above. Uses - default stacksize and no flags now. - - * unic/tcl.m4 (line 382f): Added a check for - 'pthread_attr_setstacksize' to detect platforms not implementing this - feature of pthreads. If it is implemented, configure will define the - macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See unix/tclUnixThrd.c too). - - * doc/Thread.3: Added Tcl_CreateThread and its arguments to the list - of described functions. Removed stuff about not providing a public - C-API for thread-creation. - -2000-04-07 Jeff Hobbs - - * doc/binary.n: clarified docs on sign extension in binary scan [Bug: - 3466] - - * library/tcltest1.0/tcltest.tcl (initConstraints): removed win32s - references (no longer supported) - - * tests/fCmd.test: marked test 8.1 knownBug because it is dangerous on - poorly configured systems [Bug: 3881] and added 8.2 to keep essence of - 8.1 tested. - -2000-04-05 Andreas Kupries - - * generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing interest - mask to the correct value after an unstack and re-initialization of - the notifier via the watchProc. Without this the first fileevent after - an unstack will come through and be processed, but no more. [Bug: ??]. - -2000-03-04 Brent Welch - - * {win,unix}/Makefile.in: added dependency of tclStubInit.c on - tcl.decls and tclInt.decls - * generic/tclThread.c: Tweak so this compiles w/out TCL_THREADS - * generic/{tcl.decls,tclStubInit.c}: Just touched the tcl.decls and - regenerated the tclStubInit.c file - -2000-03-29 Sandeep Tamhankar - - * library/http2.1/http.tcl: For the -querychannel option, fconfigure - the socket to be binary so that we don't translate anything while - reading the data. This is because we determine the content length of - the data on the channel by using seek (to the end of the file) and - tell on the file handle, and we need the content-length to match the - amount of data actually sent, and translation can affect the number of - bytes posted. - -2000-04-03 Andreas Kupries - - * Overall change: Definition of public API's for the finalization of - conditions and mutexes. [Bug: 4199]. - - * generic/tclInt.h: Removed definitions of TclFinalizeMutex and - TclFinalizeCondition. - - * generic/tcl.decls: Added declarations of Tcl_MutexFinalize and - Tcl_ConditionFinalize. - - * generic/tclThread.c: Renamed TclFinalizeMutex to Tcl_MutexFinalize. - Renamed TclFinalizeCondition to Tcl_ConditionFinalize. - - * generic/tclNotify.c: Changed usage of TclFinalizeMutex to - Tcl_MutexFinalize. - - * unix/tclUnixNotfy.c: - * generic/tclThreadTest.c: Changed usages of TclFinalizeCondition to - Tcl_ConditionFinalize. - - * generic/tcl.h: Added empty macros for Tcl_MutexFinalize and - Tcl_ConditionFinalize, to be used when the core is compiled without - threads. - - * doc/Thread.3: Added description the new API's. - -2000-04-03 Jeff Hobbs - - * generic/tclCmdIL.c (InfoVarsCmd): checked for non-NULL procPtr to - prevent itcl info override crash [Bug: 4064] - - * tests/foreach.test: - * tests/namespace.test: - * tests/var.test: Added lsorts to avoid random sorted return - problems. [Bug: 2682] - - * tests/fileName.test: fixed 14.1 test fragility [Bug: 1482] - - * tools/man2help2.tcl: fixed winhelp cross-linking error [Bug: 4156] - improved translation to winhelp [Bug: 3679] - - * unix/Makefile.in (MAN_INSTALL_DIR): patch to accept --mandir - correctly [Bug: 4085] - - * unix/dltest/pkg[a-e].c: Cleaned up test packages [Bug: 2293] - -2000-04-03 Eric Melski - - * unix/tclUnixFCmd.c (SetGroupAttribute): - * unix/tclUnixFCmd.c (SetOwnerAttribute): Added (uid_t) and (gid_t) - casts to avoid compiler warnings. - -2000-03-31 Eric Melski - - * generic/tclGet.c (Tcl_GetDouble): Added additional conditions to - error test (previously only errno was checked, but the return value of - strtod() should be checked as well). [Bug: 4118] - - * tests/exec.test: Added test for proper conversion of UTF data when - used with "<< $dataWithUTF" on exec's. - - * unix/tclUnixPipe.c (TclpCreateTempFile): Added - Tcl_UtfToExternalDString call, so that if there is UTF content in the - string it will be properly converted to the system encoding before - being written [Bug: 4030]. - (TclpCreateTempFile): Added a check on the return value of tmpnam; - some systems (Linux, for example) will start to return NULL after - tmpnam has been called TMP_MAX times; not checking for this can have - bad results (overwriting temp files, core dumps, etc.) - -2000-03-30 Jeff Hobbs - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Added comments - noting the need to pair ckalloc with ckfree. [Bug: 4262] - - * generic/tclInt.decls: - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: - * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s - support). - - * win/tclWinReg.c: made use of TclWinGetPlatformId instead of getting - info again - - * win/tclWinPort.h: - * win/Makefile.in: - * win/configure.in: - * win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234] - -2000-03-29 Jeff Hobbs - - * generic/tclCompile.c (TclCleanupByteCode): made ByteCode cleanup - more aware of TCL_BYTECODE_PRECOMPILED flagged structs (gen'd by - tbcload), to correctly clean them up. - - * generic/tclClock.c (FormatClock): moved check for empty format - earlier, commented 0 result return value - -2000-03-29 Sandeep Tamhankar - - * library/http2.1/http.tcl: Removed an unnecessary fileevent statement - from the error processing part of the Write method. Also, fixed two - potential memory leaks in wait and reset, in which the state array - wasn't being unset before throwing an exception. Prior to this - version, Brent checked in a fix to catch a fileevent statement that - was sometimes causing a stack trace when geturl was called with - -timeout. I believe Brent's fix is necessary because TLS closes bad - sockets for secure connections, and the fileevent was trying to act on - a socket that no longer existed. - -2000-03-27 Jeff Hobbs - - * tests/httpd: removed unnecessary 'puts stderr "Post Dispatch"' - - * tests/namespace.test: - * generic/tclNamesp.c (Tcl_Export): added a uniq'ing test to the - export list so only one instance of each export pattern would exist in - the list. - - * generic/tclExecute.c (TclExecuteByteCode): optimized case for the - empty string in ==/!= comparisons - -2000-03-27 Eric Melski - - * unix/tclUnixChan.c: Added (off_t) type casts in lseek() call [Bug: - 4409]. - - * unix/tclLoadAout.c: - * unix/tclUnixPipe.c: Added (off_t) type casts in lseek() calls [Bug: - 4410]. - -2000-03-22 Sandeep Tamhankar - - * library/http2.1/http.tcl: Fixed a bug where string query data that - was bigger than queryblocksize would get duplicate characters at block - boundaries. - -2000-03-22 Sandeep Tamhankar - - * library/http2.1/http.tcl: Fixed bug 4463, where we were getting a - stack trace if we tried to publish a project to a good host but a port - where there was no server listening. It turned out the problem was a - stray fileevent that needed to be cleared. Also, fixed a bug where - http::code could stack trace if called on a bad token (one which - didn't represent a successful geturl) by adding an http element to the - state array in geturl. - -2000-03-21 Eric Melski - - * tests/clock.test: Modified some tests that were not robust with - respect to the time zone in which they were run and were thus failing. - - * doc/clock.n: Clarified meaning of -gmt with respect to -base when - used with [clock scan] (-gmt does not affect the interpretation of - -base). - -2000-03-19 Sandeep Tamhankar - - * library/http2.1/http.tcl: geturl used to throw an exception when the - connection failed; I accidentally returned a token with the error - info, breaking backwards compatibility. I changed it back to throwing - an exception, but unsetting the state array first (thus still - eliminating the original memory leak problem). - -2000-03-19 Sandeep Tamhankar - - * library/http2.1/http.tcl: Added -querychannel option and altered - some of Brent's modifications to allow asynchronous posts (via - -command). Also modified -queryprogress so that it calls the query - callback as to be - consistent with -progress. Added -queryblocksize option with default - 8192 bytes for post blocksize. Fixed a bunch of potential memory leaks - for the case when geturl receives bad args or can't open a socket, - etc. Overall, the package really rocks now. - - * doc/http.n: Added -queryblocksize, -querychannel, and - -queryprogress. Also, changed the description of -blocksize, which - states that the -progress callback will be called for each block, to - now qualify that with an "if -progress is specified". - - * tests/http.test: Added a querychannel test for synchronous and - asynchronous posts, altered the queryprogress test such that the - callback conforms to the -progress format. Also, had to use the - -queryblocksize option to do the post 16K at a time to match Brent's - expected results (and to test that -queryblocksize works). - -2000-03-15 Brent Welch - - * library/http2.1/http.tcl: Added -queryprogress callback to - http::geturl and also changed it so that writing the post data is - event driven if the queryprogress callback or a timeout is given. - This allows a timeout to occur when writing lots of post data. The - queryprogress callback is called after each block of query data is - posted. It has the same signature as the -progress callback. - -2000-03-06 Eric Melski - - * library/package.tcl: Applied patch from Bug: 2570; rather than - setting geometry of slave interp to 0x0 when Tk was loaded, it now - does "wm withdraw .". Both remove the main window from the display, - but the former caused some internal structures to get initialized to - zero, which caused crashes with some extensions. - -2000-03-02 Jeff Hobbs - - * library/package.tcl (tclPkgUnknown): extended to allow recognizes - changes in the auto_path while sourcing in other pkgIndex.tcl files - - * doc/FindExec.3: fixed doc for declaration of Tcl_FindExecutable - [Bug: 4275] - - * generic/tclFileName.c (Tcl_TranslateFileName): Applied patch from - Newman to significantly speedup file split/join on Windows (replaces - regexp with custom parser). [Bug: 2867] - - * win/README.binary: change mailing lists from @consortium.org to - @scriptics.com [Bug: 4173] - -2000-02-28 Eric Melski - - * tests/clock.test: Added test for ISO bases < 100000 - - * generic/tclDate.c: (generated on Solaris) - * generic/tclGetDate.y: Changed condition for deciding if a number is - an ISO 8601 base from number >= 100000 to numberOfDigits >= 6. - Previously it would fail to recognize 000000 as an ISO base. - -2000-02-14 Eric Melski - - * unix/Makefile.in: Added rpm target to generate Tcl binary RPM. - - * unix/tcl.spec: RPM specification file for a Tcl binary RPM for - Linux. - -2000-02-10 Jeff Hobbs - - 8.3.0 RELEASE - - * changes: updated for 8.3.0 release - - * doc/load.n: added notes about dll load errors on Windows - - * unix/README: - * unix/Makefile.in (dist): removed porting.notes and porting.old from - distribution and CVS. The information was very outdated. Now refer to - http://dev.scriptics.com/services/support/platforms.html - - * tests/unixInit.test: fixed japanese LANG encoding test [Bug: 3549] - - * unix/configure.in: - * unix/tcl.m4: correct CFLAG_WARNING setting, fixed gcc config for - AIX, added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998] - - * win/tclWinLoad.c (TclpLoadFile): improved error message for load - failures, could perhaps be even more intelligent. - -2000-02-09 Jim Ingham - - * mac/tclMacSock.c: Don't panic when you get an error closing an async - socket. This doesn't seem to hurt anything, and we return the error so - the caller can do the right thing. - - New Files: - * mac/MW_TclHeader.h: - * mac/MW_TclTestHeader.h: - * mac/MW_TclTestHeader.pch: - * mac/MW_TclAppleScriptHeader.h: More convenient to use .h prefix - files in the preference panels... - - The above are curtesy of Daniel Steffen (steffen@math.mq.edu.au) - -2000-02-08 Eric Melski - - * tests/clock.test: Added tests for "next monthname" constructs. - * generic/tclDate.c: - * generic/tclGetDate.y (Message): Added a grammar rule for "next - monthname" so that we can handle "next january" and similar constructs - (bug #4146). - -2000-02-08 Jeff Hobbs - - * README: - * tools/tcl.wse.in: - * unix/configure.in: - * win/configure.in: - * win/README: - * win/README.binary: - * generic/tcl.h (TCL_RELEASE_SERIAL): Moved to 8.3.0 patchlevel - - * doc/library.n: - * library/auto.tcl: fixed crufty puts code and docs [Bug: 4122] - - * library/tcltest1.0/tcltest.tcl: correctly protected searchDirectory - list to allow dirnames with spaces - - * unix/tcl.m4: changed all -fpic to -fPIC - - * generic/tclDecls.h: - * generic/tcl.decls: change Tcl_GetOpenFile to use decl of 'int - forWriting' instead of 'int write' to avoid shadowing [Bug: 4121] - - * tests/httpold.test: changed test script to source in the httpd - server procs from httpd instead of having its own set. - - * tests/httpd: improved query support in test httpd to handle fix in - http.tcl. [Bug: 4089 change 2000-02-01] - - * unix/README: fixed notes about --enable-shared and add note about - --disable-shared. - -2000-02-07 Eric Melski - - * tests/package.test: - * library/tclIndex: - * library/package.tcl: Renamed ::package namespace to ::pkg. - -2000-02-03 Eric Melski - - * doc/Package.n: - * doc/packagens.n: Renamed Package.n -> packagens.n because Windows - can't deal with case-sensitive names. - -2000-02-02 Jeff Hobbs - - * tests/regexp.test: added tests for -all and -inline switches - * doc/regexp.n: added docs for -all and -inline switches - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): added extra comments for new - -all and -inline switches to regexp command - -2000-02-01 Eric Melski - - * library/init.tcl: Applied patch from rfe 1734 regarding auto_load - errors not setting error message and errorInfo properly. - -2000-02-01 Jeff Hobbs - - * win/Makefile.in (install-*): reduced verbosity of install - - * generic/tclFileName.c (Tcl_JoinPath): improved support for special - QNX node id prefixes in pathnames [Bug: 4053] - - * library/http1.0/http.tcl: - * library/http2.1/http.tcl: The query data POSTed was newline - terminated when it shouldn't be altered [Bug: 4089] - -2000-01-31 Eric Melski - - * tests/package.test: - * library/tclIndex: - * library/package.tcl: Added ::package namespace and ::package::create - function. - - * library/init.tcl: Fixed problem with auto_load and determining if - commands were loaded. - - * library/auto.tcl: "Fixed" issues with $ in files to be auto indexed. - - * doc/Package.n: New man page for package::create function. - - * doc/pkgMkIndex.n: Added additional information. - - * doc/library.n: Added additional qualification regarding auto_mkindex. - -2000-01-28 Eric Melski - - * tests/pkg/magicchar2.tcl: - * tests/autoMkindex.test: Test for auto loader fix (bug #2480). - - * library/init.tcl: auto_load was using [info commands $name] to - determine if a given command was available; if the command name had * - or [] it, this would fail because info commands uses glob-style - matching. This is fixed. (Bug #2480). - - * tests/pkg/spacename.tcl: - * tests/pkgMkIndex.test: Tests for fix for bug #2360. - - * library/package.tcl: Fixed to extract only the first element of the - list returned by auto_qualify (bug #2360). - - * tests/pkg/magicchar.tcl: - * tests/autoMkindex.test: Test for fix for bug #2611. - - * library/auto.tcl: Fixed the regular expression that performs $ - escaping before sourcing a file to index. It was erroneously adding \ - escapes even to $'s that were already escaped, effectively - "unescaping" those $'s. (bug #2611). - -2000-01-27 Eric Melski - - * tests/autoMkindex.test: - * library/auto.tcl: Applied patch (with slight modification) from bug - #2701: auto_mkIndex uses platform dependent file paths. Added test for - fix. - -2000-01-27 Jennifer Hom - - * library/tcltest1.0/tcltest.tcl: Changed NormalizePath to - normalizePath and exported it as a public proc. This proc creates an - absolute path given the name of the variable containing the path to - modify. The path is modified in place. - * library/tcltest1.0/pkgIndex.tcl: Added normalizePath. - * tests/all.tcl: Changed code to use normalizePath. - -2000-01-27 Eric Melski - - * tests/pkg/samename.tcl: test file for bug #1983 - - * tests/pkgMkIndex.test: - * doc/pkgMkIndex.n: - * library/package.tcl: Per rfe #4097, optimized creation of direct - load packages to bypass computing the list of commands added by the - new package. Also made direct loading the default, and added a -lazy - option. - Fixed bug #1983, dealing with pkg_mkIndex incorrectly handling - situations with two procs by the same name but in different namespaces - (ie, foo::baz and bar::baz). - -2000-01-26 Eric Melski - - * generic/tclNamesp.c: Undid fix for #956, which broke backwards - compatibility. - - * doc/variable.n: - * doc/trace.n: - * doc/namespace.n: - * doc/info.n: Added further information about differences between - "namespace which" and "info exists". - - * doc/SetErrno.3: Added descriptions of ErrnoId() and ErrnoMsg() - functions. - -2000-01-25 Jeff Hobbs - - * unix/tcl.m4: modified EXTRA_CFLAGS to add -DHAVE_TZSET for OSF1-V* - and ULTRIX-4.* when not using gcc. Also added higher min stack size - for OSF1-V* when building with threads. [Bug: 4063] - - * generic/tclClock.c (FormatClock): inlined resultPtr, as it - conflicted with var creation for HAVE_TZSET #def [Bug: 4063] - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): fixed potential leak when - calling lsort -command with bad command [Bug: 4067] - - * generic/tclFileName.c (Tcl_JoinPath): added support for special QNX - node id prefixes in pathnames [Bug: 4053] - - * doc/ListObj.3: clarified Tcl_ListObjGetElements docs [Bug: 4080] - - * doc/glob.n: clarified Mac path separator determination docs. - - * win/makefile.vc: added some support for building helpfile on Windows - -2000-01-23 Jeff Hobbs - - * library/init.tcl (auto_execok): added 'start' to list of recognized - built-in commands for COMSPEC on NT. [Bug: 2858] - - * unix/tclUnixPort.h: moved include of lower since some - systems (UTS) require sys/types.h to be included first [Bug: 4031] - - * unix/tclUnixChan.c (CreateSocketAddress): changed comparison with -1 - to 0xFFFFFFFF, to ensure 32 bit comparison even on 64 bit systems. - [Bug: 3878] - - * generic/tclFileName.c: improved guessing of path separator for the - Mac. (Darley) - - * generic/tclInt.h: - * generic/tcl.decls: moved Tcl_ProcObjCmd to stubs table [Bug: 3827] - and removed 'register' from stub definition of - Tcl_AppendUnicodeToObj [Bug: 4038] - -2000-01-21 Eric Melski - - * unix/mkLinks: - * doc/GetHostName.3: Man page for Tcl_GetHostName (bug #1817). - - * doc/lreplace.n: Corrected man page with respect to treatment of - empty lists, and "prettied up" the page. (bug #1705). - -2000-01-20 Eric Melski - - * tests/namespace.test: Added test for undefined variables with - namespace which (bug #956). - - * generic/tclNamesp.c: Added check for undefined variables in - NamespaceWhichCmd (bug #956). - - * tests/var.test: Added tests for corrected variable behavior (bug - #981). - - * doc/upvar.n: Expanded explanation of upvar behavior with respect to - variable traces. (bugs 3917 1433 2110). - - * generic/tclVar.c: Changed behavior of variable command when name - refers to an element in an array (ie, "variable foo(x)") to always - return an error, regardless of existence of that element in the array - (now behavior is consistant with docs too) (bug #981). - -2000-01-20 Jeff Hobbs - - * generic/tclCmdIL.c (InfoBodyCmd): made [info body] return a string - if the body has been bytecompiled. - * generic/tclBasic.c (Tcl_EvalObjEx): added pedantic check for - originating proc body of bytecompiled code, #def'd out as the change - for [info body] should make it unnecessary - - * unix/tclUnixNotfy.c (Tcl_InitNotifier): added cast for tsdPtr - - * tests/set.test: added test for complex array elem name compiling - * generic/tclCompCmds.c (TclCompileSetCmd): Fixed parsing of array - elements during compiling, and slightly optimised same [Bug: 3889] - - * doc/tclvars.n: added definitions for tcl_(non)wordchars - - * doc/vwait.n: added notes about requirement for vwait var being - globally scoped [Bug: 3329] - - * library/word.tcl: changed tcl_(non)wordchars settings to use new - unicode regexp char class escapes instead of char sequences - -2000-01-14 Eric Melski - - * tests/var.test: Added a test for the array multiple delete - protection in Tcl_UnsetVar2. - - * generic/tclVar.c: Added protection in Tcl_UnsetVar2 against attempts - to multiply delete arrays when unsetting them (bug #3453). This could - happen if there was an unset trace on an array element and the trace - proc made a global or upvar link to the array, and then the array was - unset at the global level. See the bug reference for more information. - - * unix/tclUnixTime.c: New clock format format. - - * compat/strftime.c: New clock format format. - - * generic/tclGetDate.y: New clock scan format. - -2000-01-13 Jeff Hobbs - - * changes: updated changes file to reflect 8.3b2 mods - - * README: - * generic/tcl.h: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.m4: - * win/README.binary: - * win/configure.in: updated to patchlevel 8.3b2 - - * generic/regexec.c: added var initialization to prevent compiler - warning - -2000-01-13 Eric Melski - - * tests/cmdIL.test: Added tests for lsort -dictionary with characters - that occur between Z and a in ASCII. - - * generic/tclCmdIL.c: Modified DictionaryCompare function (used by - lsort -dictionary) to do upper/lower case equivalency before doing - character comparisons, instead of after. This fixes bug #1357, in - which lsort -dictionary [list ` AA c CC] and lsort -dictionary [list - AA c ` CC] gave different (and both wrong) results. - -2000-01-12 Eric Melski - - * tests/clock.test: Added tests for "next " and - "" - Added tests for "monday 1 week ago", etc, from RFE #3671. - - * doc/tests/clock.test: Added numerous tests for clock scan. - - * doc/generic/tclGetDate.y: Fixed some shift/reduce conflicts in clock - grammar. - - * doc/doc/clock.n: Added documentation for new supported clock scan - formats and additional explanation of daylight savings time correction - algorithm. - -2000-01-12 Jeff Hobbs - - * doc/file.n: - * tests/unixFCmd.test: - * unix/tclUnixFCmd.c: added support for symbolic permissions setting - in SetPermissionsAttribute (file attr $file -perm ...) [Bug: 3970] - - * generic/tclClock.c: fixed support for 64bit handling of clock values - [Bug: 1806] - - * generic/tclThreadTest.c: upped a buffer size to hold double - - * tests/info.test: - * generic/tclCmdIL.c: fixed 'info procs ::namesp::*' behavior (Dejong) - - * generic/tclNamesp.c: made imported commands also import their - compile proc [Bug: 2100] - - * tests/expr.test: - * unix/Makefile.in: - * unix/configure.in: - * unix/tcl.m4: recognize strtod bug on Tru64 v5.0 [Bug: 3378] and - added tests to prevent unnecessary chmod +x in sources while - installing, as well as more intelligent setsockopt/gethostbyname - checks [Bug: 3366, 3389] - - * unix/tclUnixThrd.c: added compile time support (through use of the - TCL_THREAD_STACK_MIN define) for increasing the default stack size for - a thread. [Bug: 3797, 1966] - -2000-01-11 Eric Melski - - * generic/tclGetDate.y: Added comments for the Convert function. Added - a fix for daylight savings time handling for relative time spans of - days, weeks or fortnights. (bug 3441, 3868). - - * generic/tclDate.c: Fixed compiler warning issues. - -2000-01-10 Jeff Hobbs - - * compat/waitpid.c: use pid_t type instead of int [Bug: 3999] - - * tests/utf.test: fixed test that allowed \8 as octal value - * generic/tclUtf.c: changed Tcl_UtfBackslash to not allow non-octal - digits (8,9) in \ooo substs. [Bug: 3975] - - * generic/tcl.h: noted need to change win/tcl.m4 and - tools/tclSplash.bmp for minor version changes - - * library/http2.1/http.tcl: trim value for $state(meta) key - - * unix/tclUnixFile.c: fixed signature style on functions - - * unix/Makefile.in: made sure tcl.m4 would be installed with dist - - * unix/tcl.m4: added ELF support for NetBSD [Bug: 3959] - -2000-01-10 Eric Melski - - * generic/tclGetDate.y: Added rules for ISO 8601 formats (BUG #847): - CCYY-MM-DD - CCYYMMDD - YY-MM-DD - YYMMDD - CCYYMMDDTHHMMSS - CCYYMMDD HHMMSS - CCYYMMDDTHH:MM:SS - Fixed "clock scan " to scan the number as an hour for the - current day, rather than a minute after 00:00 for the current day - (bug #2732). - -2000-01-07 Eric Melski - - * generic/tclClock.c: Changed switch in Tcl_ClockObjCmd to use - enumerated values instead of constants. (ie, COMMAND_SCAN instead of - 3). DELETED ChangeLog.2001 Index: ChangeLog.2001 ================================================================== --- ChangeLog.2001 +++ /dev/null @@ -1,3629 +0,0 @@ -2001-12-28 Jeff Hobbs - - * library/init.tcl: make sure env(COMSPEC) on Windows is executed with - the right case, as it may otherwise fail inexplicably. - -2001-12-28 Don Porter - - * generic/tclCkalloc.c (MemoryCmd, TclFinalizeMemorySubsystem): Added - the [memory onexit] command, intended to replace [checkmem]. - - * doc/DumpActiveMemory.3: - * doc/memory.n: Updated documentation for [memory] and related - matters. [Bug 487677] - - * mac/tclMacBOAMain.c (Tcl_Main, CheckmemCmd): Removed all the - machinery for the [checkmem] command that is completely duplicated by - code in generic/tclCkalloc.c. - - * generic/tclBinary.c: - * generic/tclListObj.c: - * generic/tclObj.c: - * generic/tclStringObj.c: Removed references to [checkmem] in - comments, referencing [memory active] instead, since it is - documented. - -2001-12-28 Daniel Steffen - - * mac/tclMacInit.c: - * mac/tclMacTclCode.r: synced up tclInit features to unix/win: - implemented TclSetPreInitScript support, use of existing tclInit proc - if defined, check of default encoding dir if set. Changed script - library resource names to lowercase (i.e. same as corresponding - files). Used Tcl_JoinPath instead of string append. Check that system - encoding could be loaded before utf translating the LibraryPath. - * mac/tclMacApplication.r: - * mac/tclMacLibrary.r: - * mac/tclMacOSA.r: - * mac/tclMacResource.r: minor version resources cleanup - -2001-12-21 Mo DeJong - - * unix/tcl.m4 (SC_PATH_TCLCONFIG, SC_PATH_TKCONFIG): - Search for config file using exec_prefix instead of prefix when no - --with-tcl or --with-tk argument is used. [Bug 492418] - -2001-12-21 Daniel Steffen - - * unix/tcl.m4: fixed incorrect SHLIB_LD_LIBS setting for MacOSX / - Darwin. - * unix/configure: Regen. - * unix/mkLinks.tcl: improved case-insensitive filesystem support. - * unix/mkLinks: Regen. - -2001-12-19 Don Porter - - * unix/Makefile.in (dist): corrected use of eolFix.tcl on working - files. It should operate on distributed files. [Bug 495120] - -2001-12-19 David Gravereaux - - * tools/tcl.wse.in: Fix for [Bug 495120]. tcl.wse.in was stored in cvs - with improper . This resulted in corrupted when checked-out - on translating CVS clients such as windows (CRCRLF) and mac (CRCR). - -2001-12-19 Mo DeJong - - * unix/configure: - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Update SunOS 5.[0-6] target so that - correct linker options are passed to gcc or ld. [Tk Bug 220863] - -2001-12-19 Mo DeJong - - * unix/README: Update to account for changes in the unix/dltest - directory, the way autoconf is run, and the new "make shell" target. - -2001-12-19 Mo DeJong - - * unix/Makefile.in: Rename dltest to dlpkgs to fix problem where lib - files were not getting built because dltest/ directory already - existed. - -2001-12-19 Jeff Hobbs - - * win/tclWinSerial.c (SerialCheckProc): corrected time calculations to - be unsigned. (schroedter) - -2001-12-18 Mo DeJong - - * unix/Makefile.in: Define new dltest target that simply does a cd to - dltest/ before running make. There is no need for the separate - configure script that was previously being used. - * unix/configure: Regen. - * unix/configure.in: Subst into dltest/Makefile. - * unix/dltest/Makefile.in: Define LIBS using DL_LIBS, LIBS, and - MATH_LIBS variables instead of TCL_LIBS variable from tclConfig.sh. - * unix/dltest/README: Update readme to account for new configure free - implementation. - * unix/dltest/configure: Removed. - * unix/dltest/configure.in: Removed. - -2001-12-18 Donal K. Fellows - - * generic/tcl.h (TCL_STUB_MAGIC): Added cast to force type to be an - int and get rid of a persistent and pointless warning with SunPro - compiler. - - * generic/tclCkalloc.c (Tcl_AttemptDbCkalloc,Tcl_AttemptDbCkrealloc): - * generic/tcl.decls (Tcl_AttemptDbCkalloc,Tcl_AttemptDbCkrealloc): - Made the file parameters to these functions into CONST char *, like - they always should have been to match the other Tcl*Db* API functions. - -2001-12-17 Andreas Kupries - - * Applied [Bug 219311] on behalf of Rolf Schroedter - to prevent fcopy on serial ports - from flooding the event queue. - -2001-12-11 Miguel Sofer - - * doc/CrtInterp.3: - * generic/tclBasic.c: docs and comments corrections. [Bug 493412] - Bug & patch by Don Porter. - -2001-12-14 Donal K. Fellows - - * win/tclWinNotify.c (Tcl_FinalizeNotifier): Stop Tcl on Windows from - crashing when shutdown from a non-Tcl thread. Fixes [Bug 217982] - [orig. 5804] reported by Hugh Vu and Gene Leache. I'm not convinced - that the shutdown process is right even with this, but it was - definitely wrong without... - -2001-12-13 Andreas Kupries - - * win/tclWinSock.c (TcpGetOptionProc): Fix for [Bug 478565] reported - by an unknown person. Bypasses all calls to "gethostbyaddr" for - address "0.0.0.0" to prevent delays on Win/NT. - -2001-12-12 Jeff Hobbs - - * doc/Preserve.3: doc'd TCL_DYNAMIC use. [Patch 483989] (porter) - -2001-12-12 Andreas Kupries - - * generic/tclIO.c (Tcl_GetsObj): Applied patch for [Bug 491341] as - provided by Don Porter . Fixes the - assumption of having an empty Tcl_Obj to work with. - -2001-12-11 Miguel Sofer - - * generic/tclCompCmds.c: - * generic/tclCompile.c: - * generic/tclExecute.c: consistency patch, to make all instructions - that pop a variable number of Tcl_Obj's off the execution stack take - the number of popped objects as first operand. Modified *only* the new - instructions INST_LIST_INDEX_MULTI and INST_LSET_FLAT, so this has no - effect on bytecodes generated up to tcl8.4a3 inclusive. - - * generic/tclExecute.c: fix debug messages in INST_LSET_LIST. - - * generic/tclCompCmds.c (TclCompileLindexCmd): - * generic/tclCompExpr.c (CompileMathFuncCall): removed the last two - overestimates of the necessary stack depth for bytecodes in the fix of - [Bug 483611] - -2001-12-10 Andreas Kupries - - * unix/tclUnixPipe.c (TclpCreateProcess): Applied Don Porter's patch - fixing [Bug 437489]. - -2001-12-10 Miguel Sofer - - * generic/tclEvent.c: - * tests/event.test: fix background error reporting in the absence of a - bgerror proc [Bug 219142]. - -2001-12-10 Don Porter - - * doc/Access.3: - * doc/CrtChannel.3: - * doc/DString.3: - * doc/ExprLong.3: - * doc/FileSystem.3: - * doc/GetStdChan.3: - * doc/OpenFileChnl.3: - * doc/StdChannels.3: - * doc/TCL_MEM_DEBUG.3: - * doc/Tcl_Main.3: - * doc/Utf.3: - * doc/file.n: - * doc/tclsh.1: Several typo and formatting corrections discovered - during conversion to TMML. Thanks to Joe English. [Patch 490514] - * unix/mkLinks: 'make mklinks' - -2001-12-10 Miguel Sofer - - * generic/tclCompCmds.c: - * generic/tclCompExpr.c: - * generic/tclCompile.c: - * generic/tclCompile.h: - * generic/tclExecute.c: - * generic/tclProc.c: fixed the calculation of the maximal stack depth - required by bytecodes. [Bug 483611] - -2001-12-07 Miguel Sofer - - * generic/tclVar.c: - * tests/trace.test: restored consistency in refCount accounting by - array traces [Bug 4484339], submitted by Don Porter. - -2001-12-06 Donal K. Fellows - - * tests/parseExpr.test, tests/for.test, tests/expr.test: - * tests/expr-old.test, tests/compile.test, tests/compExpr.test - * tests/compExpr-old.test: Kept up to date with syntax errors. - * generic/tclParseExpr.c (ParsePrimaryExpr): Rewrote to give even - better syntax errors in the fairly common case of an identifier - without decorations by guessing based on the currently available - functions. Also made messages consistent between memdebug and ordinary - builds. - -2001-12-05 Miguel Sofer - - * generic/tclVar.c: - * tests/trace.test: new algorithm for [array get], safe when there are - traces that modify the array. [Bug 449893] - -2001-12-04 Donal K. Fellows - - * tests/compExpr-old.test, tests/compExpr.test, tests/compile.test: - * tests/expr-old.test, tests/expr.test, tests/for.test: - * tests/while.test, tests/if.test: Rewrite to handle more specific - syntax errors. - * tests/parseExpr.test: Rewrite to get rid of dup test numbers and - handle more specific syntax errors. - * generic/tclParseExpr.c (LogSyntaxError): Added a detail message - argument to help explain what the syntax error is. - (Tcl_ParseExpr, ParseCondExpr, ParsePrimaryExpr): Added detail - messages. - (UNKNOWN_CHAR): New lexeme for characters that are always illegal in - expressions outside strings. - -2001-12-03 Donal K. Fellows - - * doc/expr.n: Various documentation improvements in relation to the - function calls. Includes fix for [Bug 487704] submitted by Devin Eyre. - -2001-12-03 David Gravereaux - - * win/makefile.vc: Some install target bugs repaired along with - $(TCLSTUBLIB) added to the dependencies rather than implicit through - the dde and reg extensions which don't happen to always require it for - some build types. - -2001-11-30 Miguel Sofer - - * generic/tclVar.c: Tcl_Preserve'ing VarTrace structures to avoid - memory corruption. Patch for [Bug 484334] provided by Don Porter - -2001-11-29 Miguel Sofer - - * tests/namespace.test: modified namespace-41.2, added 41.3 - {knownbug} after discussion with Don Porter and Kevin Kenny. - -2001-11-29 Miguel Sofer - - * tests/namespace.test: added namespace-41.2, a simpler test for - [Bug 231259] - -2001-11-29 Donal K. Fellows - - * generic/tclBinary.c (BINARY_SCAN_MAX_CACHE, Tcl_BinaryObjCmd, - (ScanNumber): Added caching scheme to reduce number of object - allocations when doing scans of large repetitive binary strings. See - comments in file for reasoning behind implementation. Suggested by - Miguel Sofer in [Patch 429916], but independently implemented. - -2001-11-28 Donal K. Fellows - - * doc/regsub.n, doc/regexp.n: Converted dangling references to - METASYNTAX section into references to the re_syntax manual page. - -2001-11-27 D. Richard Hipp - - * win/tclWinFCmd.c: Fix a coredump in the filename normalizer code for - Win95/98. - -2001-11-27 David Gravereaux - - * win/makefile.vc: Removed the Tk reference for the 'winhelp' target. - Converge at install will need to be the solution for Tk and all other - extensions. - -2001-11-27 Donal K. Fellows - - * tests/cmdAH.test (cmdAH-24.2): Made test less sensitive to OS - preemption, but perfection isn't practical. [Bug 463189, reported by - Don Porter] - - * tests/switch.test (switch-9.*): Added tests to exercise more of the - argument checking. (switch-7.2,switch-7.3): Test changed behaviour - slightly. - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Reworked argument parsing to - be stricter about what it accepts. This should make uses of the - [switch] command be more maintainable. [Bug 475397, reported by Don - Porter] - -2001-11-26 Don Porter - - * generic/tclIntPlatDecls.h: 'make genstubs' after changes in - 2001-11-23 commit from Daniel Steffen. - -2001-11-24 Mo DeJong - - * unix/Makefile.in: Add comments to better describe TCL_EXE and when - it should be available. - * win/Makefile.in: Add TCL_EXE variable to be used by rules like `make - genstubs`. Don't set TCL_LIBRARY before running `make genstubs` since - we will be running with a tclsh from the PATH not the one we build. - -2001-11-24 Mo DeJong - - * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Add comctl32.lib to wish link libs. - This change was originally added to Tk on 2001-11-09 but was not - committed to Tcl. - -2001-11-23 Daniel Steffen - - * unix/Makefile.in: - * unix/configure.in: - * unix/install-sh: - * unix/mkLinks: - * unix/mkLinks.tcl: - * unix/tclLoadDyld.c: - * unix/tclMtherr.c: Mac OSX support: build system, dynamic code loading - and support for case-insensitive filesystems in mkLinks. [Patch 435258] - -2001-11-23 Daniel Steffen - - Up-port to 8.4 of mac code changes for 8.3.3 & various new changes for - 8.4, some already backported to 8.3.4. [Patch 435658] - - * generic/tclObj.c: added #include to fix missing prototype errors - - * generic/tcl.h: MAC_TCL: addition of ConditionalMacros.h and use of - DLLIMPORT and DLLEXPORT like on other platforms. ( => no longer need - the .exp files and can remove use of #pragma export that never worked - well) - removed line continuation in #if clause as this breaks the mac - resource compiler (note that *.r files include tcl.h) - - * mac/tclMacFile.c: fixed bug in permission checking code - - * mac/tclMacLoad.c: corrected utf-8 handling, comparison of package - names to code fragment names changed to only match on the length of - package name, this allows for fragment names with version numbers - appended. - - * mac/tclMacInt.h: - * generic/tclInt.h: - * mac/tclMacTime.c: - * generic/tclIOUtil.c: moved declaration of TclpGetGMTOffset() - - * mac/tclMacShLib.exp: - * mac/tclMacOSA.exp: - * mac/tclMacMSLPrefix.h: removed files - - * unix/Makefile.in: removed reference to .exp files - - * mac/MW_TclBuildLibHeader.h: - * mac/MW_TclBuildLibHeader.pch: - * mac/MW_TclHeaderCommon.h: - * mac/MW_TclStaticHeader.h: - * mac/MW_TclStaticHeader.pch: new precompiled header files - - * mac/MW_TclAppleScriptHeader.pch: - * mac/MW_TclHeader.pch: - * mac/MW_TclTestHeader.pch: - * mac/tclMacCommonPch.h: revised precompiled header handling: now - include a common header file 'MW_TclHeaderCommon.h' from all .pch - files, the .pch files themselves now only setup #defines (e.g. - BUILD_tcl, STATIC_BUILD, TCL_DEBUG, TCL_THREADS) like in makefiles on - other platforms. - - * mac/tclMac.h: - * mac/tclMacPort.h: - * mac/tclMacInt.h: use of BUILD_tcl and TCL_STORAGE_CLASS like on other - platforms, standardize #include'd files to what's done on other - platforms, removed use of #pragma export. - - * mac/tcltkMacBuildSupport.sea.hqx: new archive of mac build support - files & suggested build environment directory hierarchy: - 'Building MacTclTk' & 'CW Pro6 changes' readme's. - projects for MoreFiles 1.5.2 static & shared libraries. - project & sources for 'pseudoCarbonSupport', see below. - included XML versions of the projects for CW Pro5 or Pro7 users. - - * mac/tclMacProjects.sea.hqx: updated mac build project files: - build support for CodeWarrior Pro6, UnivIntf 3.4 & shared runtime - libraries: the MSL libraries and MoreFiles are no longer compiled into - Tcl.shlb, all non-static binaries now use the Pro6 shared runtime - libraries and MoreFiles.shlb. These shlbs are merged into the standard - Wish and TclShell, but 3rd party applications linking with Tcl.shlb or - Tk.shlb need to setup access to them. (see the "(sh-ppc)" targets - for how to do this.) - included XML versions of the projects for CW Pro5 or Pro7 users. - use compat/strtod.c instead of MSL's strtod() - use WASTE versions of MSL for tcl test target to avoid text buffer - cutoff at 32k. - Merging the full MSL.shlb and the other shlbs into Wish & TclShell - makes them a bit larger than before, use unmerged binaries to avoid - copying the shared code with every application, e.g. when deploying - numerous Wish based droplets. - Note that using CW Pro5 to compile extensions is in principle still - possible, but need to link with Pro6 runtime libraries. - Tclapplescript now loads and runs on CFM68k. - Highly experimental "pseudoCarbon" support for Tcl only on OS 8/9: - binaries in "Build:(Carbon):" link against CarbonLib instead of - InterfaceLib, however the actual code has not been carbonized! i.e. it - will not run on OSX and may not even run properly with CarbonLib. - This should in principle allow you to build & test OS9 CFM Carbon - binaries that need to link with Tcl.shlb. On OSX you can use the - native Tcl.framework, but you have to build a MachO binary as there - is no CFM glue lib for Tcl.framework. - the library pseudoCarbonSupport.shlb manually loads the symbols from - InterfaceLib that are not in CarbonLib but are needed by the - uncarbonized code in Tcl.shlb and TclShell. - - * generic/tclMain.c: MAC_TCL: workaround for broken/non-standard isatty - on MW Pro6, #include instead of defining isatty - - * mac/tclMacPort.h: MW Pro6 changes for MSL fcntl.h, stat.h & isatty - - * mac/tclMacAppInit.c: add EXTERN to InstallConsole to enable DLL - export via the TCL_STORAGE_CLASS mechanism. - - * mac/tclMacFCmd.c: fix for FSpDirectoryCopy API change - - * mac/tclMacLibrary.c: emit compile time error when - TCL_REGISTER_LIBRARY and USE_TCL_STUBS are both defined at the same - time in an extension, this use is not currently supported and will - result in a crash when dynamically loading the extension. - - * mac/tclMacApplication.r: - * mac/tclMacLibrary.r: - * mac/tclMacOSA.r: - * mac/tclMacResource.r: fixed obsolete copyrights/dates in version - strings; updated version strings to standard usage; added support for - '(Support Libraries)' subfolder for shared runtime libraries in - unmerged binaries; commented out demo setting of "Tcl Environment - Variables"; reorganized resources among these files to avoid multiple - copies in applications and shared libraries, the script libraries are - now no longer duplicated in Tclsh but are only included in the - resources of Tcl.shlb. - - * mac/tclMacChan.c: - * mac/tclMacSock.c: cast for *BlockMode - - * mac/tclMacUtil.c: - * mac/tclMacMath.h: removed obsolete hypot() definition - - * generic/tclIntPlatDecls.h: - * generic/tclInt.decls: - * generic/tclStubInit.c: - * mac/tclMacNotify.c: - * mac/tclMacOSA.c: - * mac/tclMacUtil.c: - * generic/tclThreadTest.c: renamed routines conflicting with standard - Apple or MoreFiles headers (at compile or link time): - GetGlobalMouse -> GetGlobalMouseTcl - FSpGetDirectoryID -> FSpGetDirectoryIDTcl - FSpOpenResFileCompat -> FSpOpenResFileCompatTcl - FSpCreateResFileCompat -> FSpCreateResFileCompatTcl - NewThread -> NewTestThread - the renamed MoreFiles *Tcl routines are just wrappers calling into the - MoreFiles DLL. - - * mac/tclMacCommonPch.h: - * mac/tclMacThrd.c: - * mac/tclMacPanic.c: removed OLDROUTINENAMES define, renamed obsolete - apple API names to modern equivalents; UH3.4 support: added #include - , updated New*Proc() calls to New*UPP(). - - * mac/tclMacUnix.c: added missing (Tcl_Obj ***) cast to - Tcl_ListObjGetElements call - - * mac/tclMacAlloc.c: modernized TclpSysAlloc() to use temporary memory - instead of system heap memory when available (MacOS >= 7.5 and - possibly earlier, use of system heap has been discouraged for a long - time and has many disadvantages, e.g. memory isn't paged out, and - errors can very easily bring the system down); fixed crashing bug in - TclpSysRealloc() and CleanUpExitProc() where memory was being accessed - after having been deallocated; fixed memory leak in (de)allocation - code (for every block ever allocated with TclpSysAlloc, a Ptr was - leaked), if temporary memory is available, don't track allocated - memory, instead use RecoverHandle() to get Handle from Ptr, otherwise - use doubly linked list to correctly track memory and free all - allocated memory; added new option for ConfigureMemory: - MEMORY_DONT_USE_TEMPMEM, disables use of temporary memory even when it - would be available, only necessary when writing e.g. a driver (using - tcl??); increased fraction of application heap reserved for OS - routines to 512K - - * compat/strftime.c: - * mac/tclMacTime.c: - * mac/tclMacPort.h: - * generic/tclInt.decls: - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: timezone support for mac via TclpGetTZName() - like on windows, using an inverse timezone table adapted from - tclDate.c to map gmtoffset in seconds gotten from the MacOS APIs to a - timezone string, as there is no good way to get this info from MacOS. - I had to make up some unusual timezones and arbitrarily decide on the - most standard of the multiple choices available for every timezone. - - * generic/tclExecute.c: workaround for a MSL bug/misfeature: for very - small floats, MSL can return errno ERANGE but a non-zero value (< - LDBL_MIN however) - - * mac/tclMacAppInit.c: support for WASTE text library using temporary - memory, setting has no effect if WASTE is not used. - - * mac/tclMacPanic.c: removed duplicate code from generic/tclPanic.c - and added that file to projects instead. - - * tests/all.tcl: set tcltest::singleProcess 1 as multiple processes - are not available on the mac. - - * tests/cmdAH.test: access time not available on the mac, skip the - atime touch test - - * tests/appendComp.test: - * tests/cmdMZ.test: - * tests/compile.test: - * tests/exec.test: - * tests/fileName.test: - * tests/lset.test: - * tests/namespace.test: - * tests/tcltest.test: added missing cleanups/tests/catches that caused - tests to fail on the mac. - - * doc/tclvars.n: doc bug, env(PWD) should be env(HOME) [Bug 463834] - -2001-11-21 Don Porter - - * tests/trace.test (trace-8.8): Corrected test for Bug 219393. - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken,CallCommandTraces): - * generic/tclCmdMZ>c (Tcl_UntraceCommand): Added Tcl_Preserve and - Tcl_Release calls to prevent deletion of CommandTrace structures until - all callers are done using them, preventing memory corruption. [Bug - 453805] - -2001-11-20 Kevin B. Kenny - - * doc/GetTime.3 (Tcl_GetTime): - * generic/tcl.decls (Tcl_GetTime): - * generic/tclClock.c (Tcl_ClockObjCmd): - * generic/tclCompile.c (TclCleanupByteCode, TclInitByteCodeObj): - * generic/tclCmdMZ.c (Tcl_TimeObjCmd): - * generic/tclUtil.c (TclpGetTime): - * generic/tclTest.c (GetTimesCmd): - * generic/tclTimer.c (Tcl_CreateTimerHandler, TimerSetupProc, - (TimerCheckProc, TimerHandlerEventProc): - * mac/tclMacNotify.c (Tcl_SetTimer): - * mac/tclMacShLib.exp (Tcl_GetTime): - * mac/tclMacTime.c (Tcl_GetTime): - * unix/tclUnixChan.c (TclUnixWaitForFile): - * unix/tclUnixEvent.c (Tcl_Sleep): - * unix/tclUnixThrd.c (Tcl_ConditionWait): - * unix/tclUnixTime.c (Tcl_GetTime): - * win/tclWinNotify.c (Tcl_Sleep): - * win/tclWinTest.c (TestwinclockCmd): - * win/tclWinTime.c (TclpGetSeconds, TclpGetClicks, Tcl_GetTime): - Changed all uses of TclpGetTime to Tcl_GetTime. Added Tcl_GetTime to - the Stubs table and the library documentation. Added a TclpGetTime in - tclUtil.c for backward compatibility of extensions. [Patch 483500, - TIP#73] - - * generic/tclCmdMZ.c (Tcl_TimeObjCmd): Corrected an error in the - [time] command that caused incorrect results to be returned if the - total duration of all iterations exceeded 2**31 microseconds. [Bug - 478847] - - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclStubInit.h: Reran 'make genstubs' - -2001-11-20 Miguel Sofer - - * generic/tclBasic.c - * generic/tclCompile.h: - * generic/tclExecute.c: moving all code relative to bytecodes from - tclBasic.c to tclExecute.c - the functions RecordTracebackInfo and - Tcl_ExprObj went to tclExecute.c, and new interface function was - defined (TclCompEvalObj). - The final objective of this sequence of moves is to provide a clean, - clear-cut interface between Tcl's core and the compiler/engine - subsystem. - -2001-11-20 Miguel Sofer - - * generic/tclBasic.c - * generic/tclCompile.h: - * generic/tclExecute.c: factoring out of common code in tclBasic.c - (new function TclInterpReady defined: it resets the interp's result, - then checks that it hasn't been deleted and that the nesting level is - acceptable). Passed the responsibility of calling it to the *callers* - of TclEvalObjvInternal. - -2001-11-20 Miguel Sofer - - * generic/tclBasic.c - * generic/tclExecute.c: a better variant of the previous-to-last - commit (restoring numLevels computations). The managing of the levels - now has to be done by the *callers* of TclEvalObjvInternal - -2001-11-20 Miguel Sofer - - * generic/tclExecute.c: missing variable declaration under - TCL_COMPILE_DEBUG. - -2001-11-20 Miguel Sofer - - * generic/tclExecute.c: - * generic/tclProc.c: restoring the computations of iPtr->numLevels to - the original logic (previous to buggy modifs on 2001-11-16). - -2001-11-20 Jeff Hobbs - - * tools/eolFix.tcl (new-file): - * unix/Makefile.in: added EOL correction for Windows bat files to - dist target. [Bug 219409] (davygrvy) - - * unix/tclUnixInit.c (TclpSetInitialEncodings): update of patch from - 2001-11-16 that uses the old Tcl encoding check mechanism as a - fallback to the original. Also added a TCL_DEFAULT_ENCODING #define - (defaults to iso8859-1). Tcl will first try setlocale and nl_langinfo, - and if that fails, guess based on certain LANG|LC_* env vars. [Patch - 418645] - -2001-11-19 David Gravereaux - - * win/buildall.vc.bat: Added useful comments. - -2001-11-19 Miguel Sofer - - * tests/compile.test: added a test for bug [Bug 483309] - -2001-11-19 Vince Darley - - * win/tclWinFile.c: - * win/tclWinFCmd.c: - * win/tclWin32Dll.c: - * doc/file.n: - * tests/winFCmd.test: improved speed of file normalization for - Win95/98, and clarified docs on differences in file normalization - between NT/2000 and the older operating systems. Added test to ensure - normalization is correct. - -2001-11-19 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclParse.c: Code reorganisation. Moved all evaluation - functions from tclParse.c to tclBasic.c, so that now tclParse.c deals - exclusively with parsing and all evaluations are done by code in - tclBasic.c. The functions moved are: TclEvalObjvInternal, - Tcl_EvalObjv, Tcl_LogCommandInfo, Tcl_EvalTokensStandard, - Tcl_EvalTokens, Tcl_EvalEx, Tcl_Eval, Tcl_EvalObj and - Tcl_GlobalEvalObj. - -2001-11-19 Donal K. Fellows - - * tests/trace.test (trace-8.8): Added adapted version of [Bug 219393] - as new test; the test won't reliably show up the old problem unless it - is being run under something like Purify, but something is better than - nothing... - - * generic/tclVar.c (Tcl_TraceVar2, Tcl_UntraceVar2): Added missing - mask bits for trace result type and a check for a nonsense flag - combination. - * generic/tclCmdMZ.c (TraceVarProc): Added missing test for NULL when - deleting a trace that doesn't cause an error. - - * doc/TraceVar.3: Added documentation for change due to TIP#68. - - * generic/tclCmdMZ.c (TraceVarInfo): Removed problematic errMsg field - from structure. - (TraceVarProc): Removed references to errMsg field and changed - handling of errors so that they returned a Tcl_Obj* containing the - error string. This minimizes the number of calls to the memory - management subsystem. - (TclTraceCommandObjCmd, TraceCommandProc): Removed references to - errMsg field which was never used in command traces in any case. - (Tcl_TraceObjCmd, TclTraceVariableObjCmd): Removed references to - errMsg field and made variable traces register with - TCL_TRACE_RESULT_OBJECT bit set. - - * generic/tcl.h (TCL_TRACE_RESULT_DYNAMIC,TCL_TRACE_RESULT_OBJECT): - New constants to define how to handle the strings returned from trace - callbacks [TIP#68] - * generic/tclVar.c (CallTraces, Tcl_GetVar2Ex, TclGetIndexedScalar, - (TclGetElementOfIndexedArray, Tcl_SetVar2Ex, TclSetIndexedScalar, - (TclSetElementOfIndexedArray, Tcl_UnsetVar2, Tcl_ArrayObjCmd, - (TclDeleteVars, TclDeleteCompiledLocalVars, DeleteArray, - (TclVarTraceExists): Support for those new trace flags. - -2001-11-19 Miguel Sofer - - * generic/tclCompCmds.c: patch for [Bug 483309] (petasis). - -2001-11-16 Kevin B. Kenny - - * generic/tclListObj.c: removed a C++-style comment that was - inadvertently left in the source code. - -2001-11-16 Jeff Hobbs - - * tests/interp.test: - * generic/tclInterp.c (SlaveObjCmd): Corrected argument checking for - '$interp alias|aliases|issafe'. [Patch 479560] (thoyts, hobbs) - - * unix/tclUnixInit.c: added HAVE_LANGINFO code block. - * unix/configure: regened - * unix/configure.in: added SC_ENABLE_LANGINFO call - * unix/tcl.m4: made SHLIB_LD_LIBS='${LIBS}' for FreeBSD* (meyer) - Added modified version of Wagner patch to make use of nl_langinfo - where possible to determine Unix platform encoding, instead of the - inflexible built-in system. This is used by default when possible, and - can be disabled with --enable-langinfo=no. [Patch 418645] (hobbs, - wagner) - -2001-11-16 Miguel Sofer - - * generic/tclCompile.h: - * generic/tclExecute.c: - * generic/tclObj.c: moved Tcl_GetCommandFromObj and all defining code - for tclCmdNameType objects to tclObj.c (from tclExecute.c). This code - has nothing to do with bytecodes. - -2001-11-16 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclCompile.h: - * generic/tclExecute.c: - * generic/tclParse.c: - * generic/tclProc.c: - * tests/stack.test: consolidation of duplicated code (in - TclExecuteByteCode and EvalObjv); renaming of EvalObjv to TclEvalObjv - as it is not static anymore; restored consistency of level counts - between compiled and directly evaled code. [Bug 480896] - -2001-11-12 David Gravereaux - - * win/makefile.vc: - * win/rules.vc: Small bug fixes. - - * win/README: added some docs pointing to the docs in makefile.vc for - it's use. - -2001-10-17 Kevin B. Kenny - - * doc/lappend.n: - * doc/lindex.n: - * doc/linsert.n: - * doc/list.n: - * doc/llength.n: - * doc/lrange.n: - * doc/lsearch.n: - * doc/lset.n (new-file): - * doc/lsort.n: - * generic/tclBasic.c (builtInCmds, Tcl_EvalObjEx): - * generic/tclCmdIL.c (Tcl_LindexObjCmd, Tcl_LindexList): - (Tcl_LindexFlat, Tcl_LsetObjCmd): - * generic/tclCompCmds.c (Tcl_CompileLindexCmd, Tcl_CompileLsetCmd): - * generic/tclCompile.c: - * generic/tclCompile.h: - * generic/tclExecute.c (TclExecuteByteCode): - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclListObj.c (TclLsetList, TclLsetFlat, TclSetListElement): - * generic/tclObj.c (TclInitObjSubsystem): - * generic/tclStubInit.c: - * generic/tclTestObj.c (TestobjCmd): - * generic/tclUtil.c (TclGetIntForIndex, SetEndOffsetFromAny): - * generic/tclVar.c (Tcl_LappendObjCmd): - * tests/lindex.test: - * tests/lset.test (new-file): - * tests/lsetComp.test (new-file): - * tests/obj.test: - * tests/string.test: - * tests/stringComp.test: - Reference implementation of TIP's #22, #33 and #45. Adds the ability - of the [lindex] command to have multiple index arguments, and adds the - [lset] command. Both commands are byte-code compiled. [Patch 471874] - (work by Kenny, commited by Hobbs) - -2001-11-12 David Gravereaux - - * win/buildall.vc.bat(new): - * win/makefile.vc: Small fix with deriving the "OriginalFilename" - string in the .rc scripts. Added a quick batchfile for building the - entire thing. - -2001-11-12 Jeff Hobbs - - * doc/FileSystem.3: - * doc/file.n: - * doc/tcltest.n: converted use of \' to more reasonable format. - -2001-11-10 Mo DeJong - - * unix/Makefile.in: - * win/Makefile.in: Add "make gdb" target. This target can run tclsh - inside either gdb or insight. - -2001-11-10 David Gravereaux - - * win/makefile.vc: Added a check to make sure one runs the makefile - from the /win directory only. - - * win/mkd.bat: - * win/rmd.bat: Changes from Llyod Lim for better stability. - [Patch 456759] - -2001-11-09 David Gravereaux - - * win/makefile.vc: - * win/tcl.dsp: winhelp target fixes for non-NT systems. It seems - NMAKE under these remembers changed directories during commands. A new - tcltest feature from Peter Spjuth to specify a - pattern file from the commandline and redirecting output to a file - when not under NT with it's scrollback console. Then it replays it, - piped through more. Added 2 new static "configurations" to tcl.dsp. - I could keep adding more, but I think we should leave it up to the - user for customizing it. - - Sticky-points left: 'profile' option. - -2001-11-09 Jeff Hobbs - - * doc/FileSystem.3: - * doc/StdChannels.3: - * doc/file.n: - * doc/tcltest.n: - * tools/man2help.tcl: - * tools/man2help2.tcl: fixed winhelp generation problems - [Patch 480268] - - * unix/configure: - * unix/tcl.m4: added -lc to AIX libs, fixed path to ldAix - -2001-11-09 Don Porter - - * tests/var.test: - * generic/tclVar.c: Corrected bug in [global] when dealing with - variable names matching :*. [Bug 480176] - -2001-11-08 Mo DeJong - - Fixup stack size under OSF1. [Patch 474790] - - * unix/configure: Regen. - * unix/tcl.m4: Add HAVE_PTHREAD_ATTR_SETSTACKSIZE define to - EXTRA_CFLAGS to adjust initial stack size. - -2001-11-08 Mo DeJong - - Enable thread support under FreeBSD. [Bug 473708] - - * unix/configure: Regen. - * unix/tcl.m4 (SC_ENABLE_THREADS): Check for pthread functions in - libc_r and enable thread support if found. - * unix/dltest/Makefile.in: Set SHLIB_LD_LIBS and use it in the - Makefile to properly link a shared library. - -2001-11-08 Mo DeJong - - * unix/Makefile.in: - * unix/dltest/Makefile.in: Avoid adding libc to the LIBS variable - since it is not needed when linking with CC. If required when linking - with LD it should be done on a case by case basis in tcl.m4. - -2001-11-08 David Gravereaux - - * win/rules.vc: - * win/makefile.vc: Fixed install target to adjust for the different - build types. Added a 'linkexten' option to link the win extensions - inside the shell when built static. Placed win/tclAppInit.c patch in - SF patch DB for approval. 'profile' option not hooked in yet. - Everything else know is done. - - * win/tcl.dsp(new): - * win/tcl.dsw(new): Simple MsDev stub project files that calls - makefile.vc. Will help run Tcl in the debugger easier without - confusing MsDev for where the .pdb files are. - -2001-11-07 Mo DeJong - - * unix/Makefile.in: - * win/Makefile.in: Print a message indicating that the user should run - "make genstubs" when the generated tclStubInit.c file is out of date. - We can't regenerate automatically since there may be no tclsh on the - system and that would cause bootstrap problems. [Bug 465874] - -2001-11-07 Mo DeJong - - Define TCL_INCLUDE_SPEC in tclConfig.sh. It should be included by - extensions that need to find Tcl include headers in the install - location. The user can override the include install dir with - --includedir so we need to record this information for extensions. - [Bug 421835] - - * unix/configure: Regen. - * unix/configure.in: Define TCL_INCLUDE_SPEC. - * unix/tclConfig.sh.in: Define TCL_INCLUDE_SPEC. - * win/configure: Regen. - * win/configure.in: Define TCL_INCLUDE_SPEC. - * win/tclConfig.sh.in: Define TCL_INCLUDE_SPEC. - -2001-11-07 David Gravereaux - - * win/rules.vc: - * win/makefile.vc: Dropped the NOMSVCRT macro and put it on the option - list instead. It makes more sense to me this way as NOMSVCRT=0 would - only be the valid setting. Fixed the dde and reg extension for - building static. Improved, but not perfected, the winhelp target. - -2001-11-07 Mo DeJong - - * win/README: Change minimum VC++ version to 5.X since 4.X is known - not to work. - Indicate that Mingw is required and building with Cygwin gcc is not - supported. Include instructions that indicate how to install Mingw and - what URLs folks should use to download the supported version of Mingw. - * win/configure: Regen. - * win/configure.in: Error out if user tries to compile the Windows - version of Tcl with Cygwin gcc. Users should compile with Mingw gcc - instead. - -2001-11-06 Andreas Kupries - - * generic/tclIO.c (ReadChars): Fixed [Bug 478856] reported by Stuart - Cassoff . The bug caused loss of - fileevents when [read]ing less data from the channel than buffered. - Due to an empty input buffer the flag CHANNEL_NEED_MORE_DATA was set - but never reset, causing the I/O system to wait for more data instead - of using a timer to synthesize fileevents and to flush the pending - data out of the buffers. - -2001-11-06 David Gravereaux - - * win/rules.vc (new): - * win/makefile.vc: Complete over/under rewrite to support numerous - build options all from the commandline itself without needing to edit - the makefile. Now requires vcvars32.bat to be run prior to running - nmake for bootstraping the environment. Fully doc'd usage for it is in - makefile.vc. Commentary welcome. Sticky points left are: - - 1) winhelp target shows errors in the converting script. - 2) .rc scripts aren't getting the right #defines to build the correct - "OriginalFilename" strings. (have patch, won't commit yet) - 3) Naming convention with suffixes describing the buildtype are 'tsdx' - which will need public acceptance. ie. tclsh84tsx.exe is a (t) - threaded shell (s) statically linked to the core and (x) uses - msvcrt instead of libcmt. - -2001-11-04 Vince Darley - - * library/init.tcl: made filesystem fallback proc ::tcl::CopyDirectory - more robust to vagaries of non-native filesystems. - -2001-11-02 Vince Darley - - * doc/file.n: - * generic/tclIOUtil.c: updated documentation and comments to clarify - behaviour of 'file copy' wrt soft links. - -2001-10-29 Vince Darley - - * win/tclWinFile.c: fix to '-types {f r}' bug in TclpMatchInDirectory - (which could cause a UMR, as well as returning wrong results). Also - improved API for 'stat' to resolve [Bug 219258]. - * win/tclWin32Dll.c - * win/tclWinInt.h: addition of improved stat API to internal lookup - table. - * tests/fileName.test: two new tests for the above bug. - * generic/tclIOUtil.c: some cleanup of comments and #ifdefs - -2001-10-29 Donal K. Fellows - - * unix/tclUnixFile.c (TclpMatchInDirectory): Argument to access() was - entryPtr->d_name instead of nativeEntry which failed when trying to - check access for files in other than the current directory. [Bug - 475941, reported by Georgios Petasis] - -2001-10-25 Donal K. Fellows - - * unix/tclUnixChan.c: Added stateUpdated member to struct TtyState. - (TtyCloseProc,TtySetOptionProc,TtyInit): Use stateUpdated member of - TtyState to decide whether it is necessary to reset a serial port when - Tcl closes it. Blindly resetting can cause Tcl to be sent an - unexpected SIGTSTP when it is executing in the background [Bug 471374, - reported by Chris Nelson] - -2001-10-22 Andreas Kupries - - * doc/ObjectType.3: Minor documentation fix, reported by David N. - Welton directly to me. - -2001-10-22 Vince Darley - - * win/tclWinFCmd.c: fix to stop test suite from hanging process under - some versions of WinNT. [Bug 466102] (Kevin Kenny) - -2001-10-18 Jeff Hobbs - - * tests/clock.test (clock-8.1): - * generic/tclDate.c (RelativeMonth): - * generic/tclGetDate.y (RelativeMonth): corrected off-by-one-day error - in clock scan with relative months and years during swing hours. [Bug - 413397, Patch 414024] (lavana) - -2001-10-18 Vince Darley - - * generic/tclIOUtil.c: fix to bug in Tcl_FSChdir shown up by recent - tclkit builds. - -2001-10-17 Jeff Hobbs - - * unix/tclUnixPipe.c (PipeInputProc, PipeOutputProc): do immediate - retry when error is returned with errno == EINTR. [Bug 415131] (leger) - -2001-10-16 Jeff Hobbs - - * unix/tclLoadAout.c (TclGuessPackageName): removed unused vars and - fixed warnings. [Bug 446622] (lim) - -2001-10-15 Miguel Sofer - - * generic/tclProc.c: changing a memcmp to strncmp to avoid a memory - error detected by purify (thanks Jeff); modify style to agrre with the - style guide. - -2001-10-15 Andreas Kupries - - * generic/tclInt.decls (TclExpandCodeArray,TclGetInstructionTable): - Added to internal stubs table. Tclcompiler (Tclpro project) needs them - if used as loadable package under Windows. Changed signatures. We - don't want to describe compiler internal structures in "tclInt.h". - - * generic/tclCompile.h: S.a. Removed function declarations. - * generic/tclCompile.c: S.a. Adapted to changed signatures. - -2001-10-15 Jeff Hobbs - - * unix/configure: - * unix/configure.in: - * win/configure: - * win/configure.in: - * win/tcl.m4: reworked to be a little cleaner in comparison to each - other, and to AC_SUBST even empty vars for win/tclConfig.sh - - * generic/tclFileName.c: minor code cleanup - - * generic/tcl.h: moved #define of WIN32 to tcl.h where __WIN32__ is - defined and added #ifndef check. - - * doc/open.n: moved all fconfigure option docs to fconfigure.n - * doc/fconfigure.n: added serial config options - - * win/tclWinChan.c: - * win/tclWinPort.h: - * win/tclWinSerial.c: added TIP #35 Windows enhancements for serial - configuration. [Patch 438509] (schroedter) - -2001-10-15 Vince Darley - - * generic/tclFCmd.c: fix to memory leak in TclFileDeleteCmd on - certain error conditions. - * doc/FileSystem.3: fix to typo. - -2001-10-12 Jeff Hobbs - - * library/encoding/ebcdic.enc: - * tools/encoding/ebcdic.txt: EBCDIC charset mapping. - [Patch 219323] (nijtmans) - - * library/encoding/tis-620.enc: - * tools/encoding/tis-620.txt: TIS-620 charset mapping. - [Patch 467423] (poonlap) - - * tests/http.test: added removeFile for outdata - - * tests/ioCmd.test: added catch around file removal, as Windows file - locking throws errors. - - * tests/socket.test (socket-7.2): corrected to work on Win2K. - -2001-10-12 Miguel Sofer - - * tests/compile.test: new tests for [Bug 467523]; they are only - effective if TCL_MEM_DEBUG was set during compilation. - -2001-10-11 Miguel Sofer - - * generic/tclLiteral.c (TclReleaseLiteral): insured that - self-referential bytecodes are properly cleaned up on interpreter - deletion [Bug 467523] (Ronnie Brunner) - -2001-10-10 David Gravereaux - - * win/tclWinPort.h: #include needed to get moved to - after #include or wierd misunderstandings took place when - -D_WIN32_WINNT=0x0400 is set for outside code that requires knowledge - of Tcl innards. General header macro magic applied liberally... - -2001-10-10 Don Porter - - * tests/unixInit.test: Corrected restore of ::env(LANG). - -2001-10-09 Jeff Hobbs - - * generic/tclFileName.c (Tcl_SplitPath): corrected mem leak intro'd - with VFS code where the result obj from Tcl_FSSplitPath was not - getting freed. - -2001-10-09 Miguel Sofer - - * generic/tclLiteral.c: (TclReleaseLiteral) reverted previous patch - for [Bug 467523] - cure is worse than the illness. - -2001-10-05 Miguel Sofer - - * generic/tclLiteral.c: (TclReleaseLiteral) insured that - self-referential bytecodes are properly cleaned up on interpreter - deletion. [Bug 467523] (Ronnie Brunner) - -2001-10-04 Jeff Hobbs - - * tools/configure: - * tools/configure.in: noted 8.4 as default Tcl version - - * library/encoding/cp936.enc: - * library/encoding/cp949.enc: - * library/encoding/cp950.enc: - * library/encoding/iso8859-16.enc: - * library/encoding/macCroatian.enc: - * library/encoding/macCyrillic.enc: - * library/encoding/macGreek.enc: - * library/encoding/macIceland.enc: - * library/encoding/macRoman.enc: - * library/encoding/macTurkish.enc: - * tools/encoding/cp1250.txt: - * tools/encoding/cp1251.txt: - * tools/encoding/cp1252.txt: - * tools/encoding/cp1253.txt: - * tools/encoding/cp1254.txt: - * tools/encoding/cp1255.txt: - * tools/encoding/cp1256.txt: - * tools/encoding/cp1257.txt: - * tools/encoding/cp1258.txt: - * tools/encoding/cp874.txt: - * tools/encoding/cp932.txt: - * tools/encoding/cp936.txt: - * tools/encoding/cp949.txt: - * tools/encoding/cp950.txt: - * tools/encoding/iso8859-1.txt: - * tools/encoding/iso8859-10.txt: - * tools/encoding/iso8859-13.txt: - * tools/encoding/iso8859-14.txt: - * tools/encoding/iso8859-15.txt: - * tools/encoding/iso8859-16.txt: - * tools/encoding/iso8859-2.txt: - * tools/encoding/iso8859-3.txt: - * tools/encoding/iso8859-4.txt: - * tools/encoding/iso8859-5.txt: - * tools/encoding/iso8859-6.txt: - * tools/encoding/iso8859-7.txt: - * tools/encoding/iso8859-8.txt: - * tools/encoding/iso8859-9.txt: - * tools/encoding/koi8-r.txt: - * tools/encoding/macCentEuro.txt: - * tools/encoding/macCroatian.txt: - * tools/encoding/macCyrillic.txt: - * tools/encoding/macGreek.txt: - * tools/encoding/macIceland.txt: - * tools/encoding/macRoman.txt: - * tools/encoding/macTurkish.txt: - Updated encodings with latest mappings from www.unicode.org. This did - not include some Mac encodings that have special multi-unichar - translations now (like symbols, dingbats and japanese). Also does not - include big5, gb or euc* as those have different formats in the latest - Unicode version that need new conversion tools. Not all related .enc - files changed as some had been updates separately. - -2001-10-03 Jeff Hobbs - - * generic/tclEvent.c (Tcl_FinalizeThread): moved freeing of - tclLibraryPath to before the thread exit handlers are called. Slight - modification to change on 2001-09-24. - -2001-10-01 Jeff Hobbs - - * win/configure: regen'ed - * win/tcl.m4: - * win/makefile.vc: added Win64 SDK RC1 compilation support - * win/Makefile.in: added $(LDFLAGS_CONSOLE) to TCLSH, TCLTEST and - PIPE_DLL_FILE targets to get the link flags - - * win/tclWinInit.c: minor 64bit casts - -2001-10-01 Miguel Sofer - - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclParseExpr.c: removed unnecessary inclusion of - tclCompile.h and made a small modification in (InfoBodyCmd) to improve - the isolation of the compiler/engine subsystem. - -2001-09-29 Vince Darley - - * generic/tclIOUtil.c: - * doc/FileSystem.3: corrected and clarified documentation for - 'Tcl_FSListVolumes(Proc)'. No code changes. - -2001-09-28 Miguel Sofer - - * doc/FindExec.3: added a comment not to change the working directory - before calling Tcl_GetNameOfExecutable. [Bug 219215] - -2001-09-28 Kevin Kenny - - * generic/tclIO.c: added two more '(ClientData)' casts on calls to - Tcl_Preserve and Tcl_Release -- ones that Vince apparently missed. - -2001-09-28 Donal K. Fellows - - * doc/lsort.n: Improved doc... - * generic/tclCmdIL.c (Tcl_LsortObjCmd, SortCompare): Made - offset-from-end indexing work, and factored out some "magic numbers" - for easier understanding. [Bug 465674] - * tests/cmdIL.test (cmdIL-1.26): Added test for offset-from-end - indexing for lsort. - -2001-09-28 Vince Darley - - * win/tclWinFCmd.c: - * unix/tclUnixFCmd.c: fix to performance issue reported by jcw in - which 'access("")' is called unnecessarily when normalizing any - absolute path. - * generic/tclIO.c: added '(ClientData)' cast to calls to - Tcl_(Preserve|Release) newly introduced, fixing compile error on - Windows. - -2001-09-27 Don Porter - - * doc/FileSystem.3 (Tcl_FSLoadFile): - * generic/tcl.decls (Tcl_FSLoadFile): - * generic/tcl.h (Tcl_FSLoadFileProc): - * generic/tclInt.h (TclpLoadFile): - * generic/tclIOUtil.c (Tcl_FSLoadFile): - * generic/tclLoadNone.c (TclpLoadFile): - * generic/tclTest.c (TestReportLoadFile): - * library/ldAout.tcl: - * mac/tclMacLoad.c (TclpLoadFile): - * unix/tclLoadAix.c (TclpLoadFile): - * unix/tclLoadAout.c (TclpLoadFile): - * unix/tclLoadDl.c (TclpLoadFile): - * unix/tclLoadDld.c (TclpLoadFile): - * unix/tclLoadDyld.c (TclpLoadFile): - * unix/tclLoadNext.c (TclpLoadFile): - * unix/tclLoadOSF.c (TclpLoadFile): - * unix/tclLoadShl.c (TclpLoadFile): - * win/tclWinLoad.c (TclpLoadFile): - * win/tclWinFCmd.c (DoRemoveJustDirectory): More CONST poisoning - fixes from the 2001-09-24 TIP 27 changes. CONST-ified Tcl_FSLoadFile - and TclpLoadFile. Report and patch from Kevin Kenny. [Bug 465833] - - * generic/tclIO.c (ChannelTimerProc): Added Tcl_Preserve() and - Tcl_Release() to fix segfault introduced by the 2001-09-26 changes. - [Bug 465494] - - * doc/TCL_MEM_DEBUG.3: Updated out-of-date reference to #define - GUARD_SIZE. - - * doc/UpVar.3 (Tcl_UpVar,Tcl_UpVar2): - * generic/tcl.decls (Tcl_UpVar,Tcl_UpVar2): - * generic/tclInt.decls (TclFindProc,TclGetFrame): - * generic/tclInt.h (TclFindProc,TclGetFrame,TclLookupVar, - (TclPrecTraceProc,TclProcInterpProc}): - * generic/tclProc.c (TclGetFrame,TclFindProc): - * generic/tclVar.c (Tcl_UpVar,Tcl_UpVar2,MakeUpvar): Updated APIs in - generic/tclProc.c and generic/tclVar.c according to the guidelines of - TIP 27. [Patch 465442] - - * generic/tclDecls.h: - * generic/tclIntDecls.h: make genstubs - -2001-09-26 Andreas Kupries - - * doc/fileevent.n: Accepted [Patch 465279] adding an example to the - fileevent manpage. Minor modifications to get a better formatting. - Report and patch by David N. Welton . - - * The changes below fix [Bug 462317] where Expect tried to read more - than was in the buffers and then blocked in the OS call as its pty - channel driver provides no blockmodeproc through which the OS could be - notified of blocking-behaviour. Because of this the general I/O core - has to take more care than usual to preserve the semantics of - non-blocking channels. - - The problem was reported by "Kevin O'Gorman" . - - * generic/tclIO.c (Tcl_ReadRaw): Do not read from the driver if the - channel is non-blocking and the fileevent causing the read was - generated by a timer. We do not know if there is data available from - the OS. Instead of going to the OS for more and potentially blocking - we simply signal EWOULDBLOCK to the higher levels to cause the system - to wait for true fileevents. - (GetInput): Same as before. - (ChannelTimerProc): Added set and clear of CHANNEL_TIMER_FEV. - - * generic/tclIO.h (CHANNEL_TIMER_FEV): New flag for channels. Is set - if a fileevent was generated by a timer, the channel is not blocking - and the driver did not provide a blockmodeproc. In that case the I/O - core has to be especially careful about going to the driver for more - data. - -2001-09-26 Don Porter - - * doc/SplitPath.3 (Tcl_GetPathType): - * generic/tcl.decls (Tcl_GetPathType): - * generic/tclFileName.c (Tcl_GetPathType): - * win/tclWinFile.c (TclpMatchInDirectory, NativeStat): Vince Darley - reports the 2001-09-24 TIP 27 changes left the win directory CONST - poisoned. These changes should fix that. - - * generic/tclDecls.h: make genstubs - -2001-09-25 Don Porter - - * doc/GetInt.3: - * generic/tclInt.h (TclGetLong deleted): - * generic/tcl.decls: - * generic/tclInt.decls: - * generic/tclGet.c: Updated APIs in generic/tclGet.c according to the - guidelines of TIP 27. [Patch 464674] - - * generic/tclDecls.h: - * generic/tclIntDecls.h: make genstubs - -2001-09-25 Miguel Sofer - - * generic/tclVar.c: removed comments referring to unused flag - TCL_PARSE_PART1. - -2001-09-24 Don Porter - - * doc/Concat.3: - * doc/DString.3: - * doc/SplitList.3: - * generic/tclInt.h (TclCheckBadOctal): - * generic/tcl.decls: - * generic/tclInt.decls: - * generic/tclEncoding.c (OpenEncodingFile): - * generic/tclMain.c (Tcl_Main): - * generic/tclUtil.c: - * unix/tclLoadDl.c (TclpLoadFile): Updated APIs in generic/tclUtil.c - according to the guidelines of TIP 27. [Patch 464553] - - * generic/tclDecls.h: - * generic/tclIntDecls.h: make genstubs - -2001-09-24 Andreas Kupries - - The change below fixes [Bug 464380]. The bug was reported by Ronnie - Brunner . He also provided the patch. - - * generic/tclEvent.c (Tcl_Finalize): Moved release of 'tclLibraryPath' - to Tcl_FinalizeThread. - (Tcl_FinalizeThread): See above, new place for release of - 'tclLibraryPath'. - -2001-09-24 Donal K. Fellows - - * tools/encoding/cp1252.txt: File was missing part of the encoding - [euro, ZCaron and zcaron]. - - * doc/OpenFileChnl.3: Add docs for Tcl_OutputBuffered; remove some old - changebars. - -2001-09-21 Jeff Hobbs - - * generic/tclExecute.c (TclExecuteByteCode): corrected INST_STR_CMP - else case for strings to pass true utf char length to Tcl_UtfNCmp. - -2001-09-20 Jeff Hobbs - - * win/tclWinInit.c: added extra processor definitions. (mstacy) - - * win/tclWinSock.c (SocketThread): corrected pointer cast for _WIN64. - - * win/tclWinNotify.c: removed unnecessary winsock include (it is - already in from tclWinPort.h). - - * win/tclWinPort.h: changed winsock.h include to winsock2.h. Reverses - change from 2000-11-16, but is necessary for WIN64. Extensions should - comply with defined OS words, or use #ifndef. - -2001-09-20 Donal K. Fellows - - * tests/socket.test: removed dependence on being run from same dir as - remote.tcl, which only now needs to be in the same dir as this file. - [Bug 219326] - -2001-09-19 Jeff Hobbs - - * generic/tclTest.c (TestcmdtokenCmd): corrected pointer - storage/retrieval for 64bit machines. - - * generic/tclCmdAH.c (Tcl_FormatObjCmd): - * generic/tclScan.c (Tcl_ScanObjCmd): corrected handling of format and - scan on 64-bit machines. [Bug 412696] (rmax) - - * unix/configure: regen'ed - * unix/tcl.m4: added --enable-64bit support for HP-11 with the 64-bit - kernel. - - * tests/basic.test: - * tests/cmdInfo.test: improved skip reporting of missing commands - - * tests/winFCmd.test: simplified error check for winFCmd-7.9 - - * tests/winPipe.test: removed obsolete cat16 tests - - * generic/tclExecute.c (TclExecuteByteCode): fixed invalid usage of - valuePtr in TRACE_WITH_OBJ in INST_EVAL_STK case. [Bug 462594] Changed - INST_STR_CMP instruction to promote to Unicode strings only when one - of the strings is already of Unicode type. - - * generic/tclExecute.c (TclExecuteByteCode): - * generic/tclCompile.c (instructionTable): - * generic/tclCompCmds.c (TclCompileStringCmd): INST_STR_MATCH - - Updated to Int1 instruction type and added special case to use - INST_STR_EQ instead when no glob chars are specified in a static - string. - - * tests/{for.test,foreach.test,if.test,while.test}: - * generic/tclCompCmds.c (TclCompileForCmd, TclCompileForeachCmd, - TclCompileIfCmd, TclCompileWhileCmd): Corrected the overaggressive - compiling of loop bodies enclosed in ""s. [Bug 219166] (msofer) - -2001-09-19 Miguel Sofer - - * generic/tclExecute.c: insured that execution stack errors are also - detected at abnormal returns. - -2001-09-19 Donal K. Fellows - - * doc/socket.n: Added documentation to mention what happens when a - server socket is created with port=0. Removed an old change bar, and - no new change bar because Tcl has always behaved this way as it is - really a poorly-documented standards-defined OS feature. - - * tests/util.test (util-8.1): Test derived from code to detect the - problem, but the test always works in the C locale, so beware if you - are maintaining the code. - * generic/tclUtil.c (TclNeedSpace): Rewrote to be UTF-8 aware. [Bug - 411825, but not that patch which would have added extra spaces if - there was a real non-ASCII space involved.] - -2001-09-18 Andreas Kupries - - * generic/tclIOCmd.c (Tcl_PutsObjCmd): Rewritten to have saner and - faster argument handling. [Bug 123552], [Patch 402564] (fellows) - -2001-09-18 Don Porter - - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): On Linux, disable inlining when one - of the compat/*.c routines is to be linked in. [Patch 440891] - -2001-09-17 Jeff Hobbs - - * generic/tcl.h: removed forced #define USE_TCLALLOC 1 for Windows. - This means the native system allocator will be used by default. This - should be binary and source compatible with extensions, as Tcl_Alloc - is a properly stubbed function. - -2001-09-17 Miguel Sofer - - * generic/tclExecute.c: corrected small bug in [Patch 456668] - the - varFramePtr was not restored in one possible exit. - -2001-09-17 Miguel Sofer - - * doc/tclvars.n: - * generic/tclCompile.c: - * generic/tclCompile.h: - * generic/tclExecute.c: - * generic/tclProc.c: disabled all compile and execution tracing - functionality in standard builds; TCL_COMPILE_DEBUG is now necessary - to enable it. [Bug 451858] - -2001-09-14 Andreas Kupries - - * doc/gets.n: - * doc/read.n: - * doc/puts.n: - * doc/flush.n: - * doc/fconfigure.n: - * doc/flush.n: - * doc/eof.n: - * doc/seek.n: - * doc/tell.n: - * doc/close.n: - * doc/fileevent.n: Added references to the Tcl standard channels. Item - [219250], reported by David LeBlanc . Thanks to - Christopher Nelson for doing editorial work. - -2001-09-13 Andreas Kupries - - * win/Makefile.in: - * win/configure.in: - * win/makefile.bc: - * win/makefile.vc: - * library/dde/pkgIndex.tcl: Fixed version numbers from bogus tcl - versions to independent versions for dde and registry packages. - -2001-09-13 Jeff Hobbs - - * tests/regexp.test (regexp-20.1): - * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): had to adjust fix from - 2001-08-06 to actually duplicate the objects in certain cases. This is - really a place where feather would have been essential. [Bug 461322] - - * generic/tclUtf.c (Tcl_UtfPrev): corrected to return the proper - location when the middle of a UTF-8 byte was passed in [Tk Bug 450504] - - * ChangeLog.1999: - * ChangeLog: broke changes from 199x into ChangeLog.1999 to reduce - size of the main ChangeLog. - -2001-09-13 Andreas Kupries - - * tests/ioCmd.test: Changed the computation of the result for - iocmd-8.1[123] so that the tests work for single- and multi-process - execution of the testsuite. Depending on the choice of the user stdout - is a tty or not and thus reports different channel options. Fixes - [460993] reported by Don Porter. - -2001-09-13 Miguel Sofer - - * doc/ParseCmd.3: - * generic/tcl.decls: - * generic/tclCmdMZ.c (Tcl_SubstObjCmd): - * generic/tclDecls.h: - * generic/tclParse.c: - * generic/tclStubInit.c: - * tests/parse.test: Deprecate the use of Tcl_EvalTokens, replaced by - the new Tcl_EvalTokensStandard. The new function performs the same - duties but adheres to the standard return convention for Tcl - evaluations; the deprecated function could only return TCL_OK or - TCL_ERROR, which caused [Bug 219384] and [Bug 455151]. This patch - implements [TIP 56]. - -2001-09-12 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4: Invert the logic that checks for $GCC. Instead of - checking for "$GCC" = "no" we check for "$GCC" != "yes" or simply swap - the true and false blocks of code in an if statement. That way if GCC - is set to "" everything will still work. [Bug 460991] - -2001-09-12 Don Porter - - * tests/appendComp.test: - * tests/lsearch.test: - * tests/namespace.test: - * tests/rename.test: - * tests/split.test: Corrected tests to better isolate tests in one - file from influencing tests in other files. [Bug 460591] - -2001-09-12 Miguel Sofer - - * generic/tcl.decls: reserved stub #481 for the implementation of - [TIP 56] - -2001-09-11 Andreas Kupries - - * doc/OpenFileChnl.3: Added documentation for Tcl_WriteRaw and - Tcl_ReadRaw [Bug 414929]. - - * doc/CrtChannel.3: Added documentation for Tcl_ChannelBuffered and - Tcl_GetTopChannel [Bug 414929]. - - * The changes below are a fix for [Bug 219253]. - - * tests/socket.test: Removed _most_ instances of hardwired port - numbers for listening sockets. Remaining are the ports in all tests - with constraint 'doTestsWithRemoteServer'. These seem to be designed - for a more controlled environment and are usually skipped when running - the testsuite. - - * tests/io.test: Removed all instances of hardwired port numbers for - listening sockets. - -2001-09-10 Jeff Hobbs - - * generic/tclEvent.c (TclInExit): Corrected handling of tsd in late - stages of finalization. [Bug 419449] (darley) - - * tests/stack.test: - * generic/tclInterp.c (AliasObjCmd): Check the numLevels to ensure - that we aren't hitting some alias loop condition. [Bug 443184] - -2001-09-10 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't include . characters in the - Tcl library name when building on FreeBSD 3.X and later systems. - [Patch 450725] - -2001-09-10 Andreas Kupries - - * doc/tclsh.1: - * doc/Tcl_Main.3: - * doc/CrtChannel.3: - * doc/OpenFileChnl.3: - * doc/GetStdChan.3: Enhanced the manpages with cross-references to - the new manpage and more explanations how these functions deal with - the standard channels in various situations. - - * doc/StdChannels.3: New manpage describing handling of the standard - channels by the Tcl library. [Bug 402725] - -2001-09-10 Don Porter - - * unix/mkLinks (Tcl_FSLink): Updated to reflect 2001-08-23 file system - changes. - - * unix/tclLoadShl.c: Added #include of tclInt.h; access to Tcl - internals, notably TclpUnloadFile(), is required. Thanks to Bob - Techentin for report and patch. [Bug 459305] - - * generic/tclInitScript.h (initScript): - * win/tclWinInit.c (TCL_REGISTRY_KEY, TclpSetVariables): Removed - vestiges of Tcl's old initialization from registry variables. [Bug - 455645] - -2001-09-10 Andreas Kupries - - * generic/tclInt.decls: Also added 'TclWinFlushDirtyChannels' to the - internal platform specific stub table. - - * win/tclWinFile.c (TclpObjStat): Now added the call to - 'TclWinFlushDirtyChannels' to this function. I don't know where my - head was last thursday (2001-09-06), but the call was actually added - to 'TclpObjChdir', i.e. the implementation of [cd]. Corrected this - now. Thanks to Vince Darley for spotting this. - -2001-09-10 Miguel Sofer - - * generic/tclProc.c: - * tests/proc.test: made [proc] bytecompile a no-op for procs defined - with _args_ as single argument and an empty body. [FRQ 451441] - -2001-09-09 Mo DeJong - - * unix/Makefile.in: - * win/Makefile.in: Use () around variable name instead of {}. Use - TCLTEST variable directly instead of depending on the tcltest alias. - -2001-09-09 David Gravereaux - - * generic/tcl.h: - * generic/tclPlatDecls.h: Reminder from David Cuthbert - that I hadn't finished the Borland compatibility - stuff. [Patch 436116] - -2001-09-09 Mo DeJong - - * tests/cmdAH.test: Modify cmdAH-20.5 and cmdAH-24.8 to display the - file atime or mtime results if the test fails. - -2001-09-08 David Gravereaux - - * win/mkd.bat: - * win/rmd.bat: made these text files, text files again. [Patch 451333] - -2001-09-08 Mo DeJong - - * win/mkd.bat: - * win/rmd.bat: Apply binary property (cvs admin -kb) to files and - convert to CRLF linefeed format to fix the VC++ build. [Bug 219409] - -2001-09-08 Vince Darley - - * generic/tclInt.h: - * generic/tclFCmd.c: - * doc/FileSystem.3: - * generic/tclIOUtil.c: removed Tcl_FSCopyFile fallback to channel - copying, since the channels will not have access to interpreters and - the channel copying currently requires an interp. Code which required - cross-platform copies always has interpreters, so that solves the - problem. Fixes bug in TclKit. - -2001-09-07 David Gravereaux - - * win/tcl.m4: Added -link50compat option so a VC6 linker makes a VC5 - (pre sp3) compatible import library. [Bug 219257] - -2001-09-07 Mo DeJong - - * win/tclWinThrd.c (TclpThreadExit): Cast status argument to - _endthreadex to unsigned instead of DWORD to match the Win32 function - prototype. - -2001-09-06 Andreas Kupries - - * All the changes below serve to fix bug [219148] which reports a 80x - performance hit for file I/O on Win* systems. On my system it was - closer to a 120x hit. Problem report by Uwe Traum . - - The fix goes like this: The obstacle is 'FlushFileBuffers', executed - whenever Tcl writes data to the OS, as Tcl has to wait for the disk to - complete I/O, and disks are slow. We remove that obstacle. This opens - another problem, [file size] reports back wrong numbers. So for [file - size] we add the call back in. As optimization we keep track of the - channels which were written to and flush only these. - - * win/tclWinFile.c (TclpObjStat): Added a call to - 'TclWinFlushDirtyChannels'. This ensures that [file size] and related - commands report the correct size of a file even if Tcl has recently - written to it. Unixoid OS's always report the correct size even for - files with pending data, but Win* syssystem don't. They only report - what is actually on disk. - - * win/tclWinInt.h: Added declaration of 'TclWinFlushDirtyChannels', - making it available to other parts of the tcl core. - - * win/tclWinChan.c (TclWinFlushDirtyChannels): New, internal, - procedure. Goes through the list of open file channels and forces the - OS to flush its file buffers for all which were written to since the - last call of this function. This is an expensive operation as Tcl has - to wait for the OS to complete actual writes to the disk. - - (FileInfo): Added dirty flag required by the procedure above. - - (FileOutputProc): Removed flushing of file buffers, setting the dirty - flag instead. This means that the previously incurred delays do not - happen anymore. - - (TclWinOpenFileChannel): Added initialization of 'dirty' flag. - -2001-09-06 Jeff Hobbs - - * doc/http.n: noted -binary, charset and coding state keys. - * tests/http.test: - * library/http/pkgIndex.tcl: - * library/http/http.tcl (geturl): correctly get charset parameter - and convert text according to specified encoding (if known). RFC - iso8859-1 is used by default. Also recognize Content-encoding to see - if we should do binary translation. Added a CYA -binary switch for the - cases that were missed. [Bugs 219211, 219399] - - * tests/ioUtil.test: changed to make better use of constraints and - remove knownBug constraints that weren't valid. - -2001-09-06 Don Porter - - * tests/unixInit.test (unixInit-3.2): Updated test to support newer - HP-UX releases that properly report euc-jp as the system encoding for - Japanese. Bug report and patch verification by Bob Techentin. [Bug - 453883] - - * doc/http.n: - * library/http/*.tcl: - * tools/tcl.wse.in: - * tools/tclmin.wse: - * unix/Makefile.in: - * win/{Mm}akefile.*: Updated http package to version 2.4, reflecting - the new features just added. - -2001-09-06 Vince Darley - - * generic/tclTest.c: tests of old-fs hooks no longer cause problems in - threaded builds. Also removed unused unload proc. - * generic/tcl.decls: - * generic/tclIOUtilc: added Tcl_FSMountsChanged so that a vfs can - inform the filesystem that the filesystem epoch must be changed (since - cached filesystems may now be incorrect). Fixes problem running tclvfs - extension. - * library/tcltest/tcltest.tcl: if tests aren't in a native filesystem, - then don't use pipes to run them. [Bug 458741] - -2001-09-06 Donal K. Fellows - - * generic/tcl.decls (479 generic): - * generic/tclIO.c (Tcl_Seek,Tcl_Tell,Tcl_OutputBuffered): Added public - function to return the size of the output buffer and reworked other - channel functions to use this shared functionality and that of - Tcl_InputBuffered() too. [TIP#49, Rolf Schroedter] - -2001-09-05 David Gravereaux - - * generic/tclPlatDecls.h: Another small trim finalizing Borland - support. - - * win/tclWinPipe.c: - * win/tclWinPort.h: More Borland compatibility fixes. Changed EDQUOT - #define from 49 to 69. Borland had a clash as it was already using - this number. Upon advice from Helmut Giese, EDQUOT has been found in - other header files #defined as 69. [Patch 436116] - - * win/.cvsignore: A few more glob patterns added. - - * win/makefile.bc (new): Borland lives once more! rejoice.. - * generic/tclAlloc.c: Small Borland compatibility fix. - * win/tclWinTime.c: More Borland compatibility fixes. [Patch 436116] - -2001-09-05 Vince Darley - - * tests/winFCmd.test: made notWin2000 constraint false if not running - on Windows at all. - -2001-09-04 David Gravereaux - - * win/tclWinThrd.c: Revisited _beginthreadex() stuff. Instead of - assuming a c-runtime implimentation of _beginthreadex normal, I - reversed the logic to not assume, and use when is by explicitly - needing to add runtimes that support it such as Borland. - - * generic/tcl.h: - * generic/tclPlatDecls.h: Borland compatibility change so ClientData - was properly typed as a void* and TCHAR would not be defined twice. - - * generic/tcl.h: Removed a small mistake from before. Changes to the - EXTERN macro for proper Borland compatibility will have to see a TIP. - What's this with the MS compiler: - - __declspec(dllexport) int func (int a, int b); - - will have to be this with Borland: - - int __cdecl __export func (int a, int b); - - The order of the attribute needs to be after the return type. - -2001-09-04 Don Porter - - * compat/strtod.c (strtod): Fixed failure to handle expressions like - 3eq2 and failure to set errno on overflow. [Bug 440894] - -2001-09-04 Miguel Sofer - - * generic/tclProc.c: - * tests/proc.test: made [proc] check that formal args have simple - names. [Bug 458548] - -2001-09-04 Vince Darley - - Minor bug fixes in filesystem, plus small vfs changes as a result of - enabling the test filesystem to work properly. - * tests/fileName.test: ensure new test cleans up after itself - * doc/filename.n: - * generic/tclFileName.c: improved Mac path handling and document why - [Bug 421842] on Windows handling of UNC paths is not valid. - Documentation and code now much clearer on what is and is not a UNC - path. - * doc/FileSystem.3: - * unix/tclUnixPipe.c: - * generic/tclFCmd.c: - * generic/tclIOUtil.c: fixed error message, fixed [Bug 453512] about - dangerous use of tmpnam, replaced with mkstemp. Documented all the - changes. - * generic/tclTest.c: made test vfs fully functional as a 'reporting - filesystem'. - * generic/tcl.stubs: - * generic/tcl.h: - * generic/tclInt.h: - * generic/tclIOUtil.c: - * doc/file.n: - * various platform-specific 'TclpLoadFile': fixed comments about - unload behaviour, and completed objectification of loading. Required - change to Tcl_Filesystem lookup table, so incompatible with 8.4a3, but - not older versions of Tcl. The change also allows 'link' and - 'reporting' filesystems to function correctly when loading files. - Implementation of 'file delete -force' copes with case where cwd is - inside the directory. Moved overlooked Tcl_FSGetPathType from internal - to external API. Made sure filesystems which are registered and then - unregistered are only freed when all references to them are gone. - Documented changes. - * unix/tclUnixFCmd.c: when deleting directories recursively, make sure - permissions are ok. Together with the above, this fixes [Bug 219139] - * tests/winFCmd.test: differentiated test results for win2k versus - not. This fixes [Bug: 219239] - * tests/fCmd.test: added tests for 'file delete -force' where the cwd - is inside, and when permissions are inadequate. - -2001-09-04 Miguel Sofer - - * generic/tclCompile.c: fixed incorrect operands for INST_LIST [Bug - 458241] (David Cuthbert, dacut@users.sourceforge.net) - -2001-09-03 Jeff Hobbs - - * generic/tclExecute.c (TclExecuteByteCode): fixed missing comma in - debug macro. - -2001-09-03 Donal K. Fellows - - * doc/ExprLongObj.3: Fixed error in documentation of argument type to - Tcl_ExprObj [Bug 457435] - -2001-09-02 David Gravereaux - - * win/tclWinThrd.c: Portability fix for Cygwin who's c-runtime, - not surprisingly, doesn't have the MSVCRT specific _beginthreadex / - _endthreadex pair. This might have to be revisited for proper Borland, - lcc32, Watcom and other support as well. [Patch 444255] - - * win/tclWinThrd.c: Moved FinalizeConditionEvent() proto to within - the main #ifdef TCL_THREADS block to avoid mingw warning about it - being there but unused. - - * win/makefile.vc: Added -Zl (zee el) to tclStubLib.c compile line to - make sure the tclstub84.lib static library is built without requiring - a specific C-runtime library at link-time for the end-use developer. - It has been noted on c.l.t that this trips many first time users - trying to make extensions. [Patch 403533] - -2001-08-31 Jeff Hobbs - - * generic/tclInt.h: added TclCompileListCmd header - * generic/tclBasic.c: added TclCompileListCmd compile proc - * generic/tclCompCmds.c (TclCompileListCmd): function to compile the - 'list' command at parse time. - * generic/tclExecute.c (TclExecuteByteCode): definition of INST_LIST - bytecode. - - * doc/StringObj.3: added words of warning to use Tcl_ResetResult with - the Tcl_Append* functions. - - * tests/compile.test: added compile-11.* interp result checks - * generic/tclUtil.c (TclGetIntForIndex): added Tcl_ResetResult before - Tcl_AppendStringsToObj to prevent shared object crash when called from - bcc instruction. The Tcl_Append* calls that append to the result - object that are invoked by bcc insts must remember to call - Tcl_ResetResult because the bcc doesn't do this for us. [Bug 456892] - -2001-08-30 Jeff Hobbs - - * generic/tclIndexObj.c: fixed some casting problems that upset Crays. - [Bug 419528] (andreasen) - -2001-08-30 Don Porter - - * generic/tcl.h: Silence warning from Sun compiler. [Bug 454374] - -2001-08-30 Miguel Sofer - - * generic/tclExecute.c: allow cached fully-qualified command names to - be usable from different namespaces within the same interpreter - without forcing a new lookup. This speeds up scripts that pass command - names in variables ("this" in some OO packages). [Patch 456668] - -2001-08-30 Vince Darley - - Further fs updates. After examining the most common Tcl extensions - (TclX, BLT, Tk, TclPro, Mktclapp), it has been determined that only - TclpGetCwd and the Access/Stat/Open insert/delete hooks of the - internal fs functions are ever used. The remaining functions from - Tcl's internal interfaces have therefore been removed, since Tcl now - exports a more suitable public API (Tcl_FS...) - - * generic/tclInt.stubs: - * generic/tclInt.h: updated for removed internal functions. Some new - internal functions have been put in tclInt.h (and not exported in the - stub table because good public equivalents exist). - * generic/tclTest.c: some test functions used the internal private - APIs. These tests have been retained, but modified to use public APIs. - Also objectified the internal filesystem tests. - * win/tclWinFile.c: removed TclpStat, TclpAccess and refactored code - to use NativeAccess, NativeStat. This should speed up stat, access and - glob commands. - * win/tclWinFCmd.c: removed all TclpCopy/Rename/Delete File/Directory - string-based procedures which aren't used any more. Improved - efficiency of some other procedures. Ensure that filename conversions - with a NULL interp do not crash Tcl. - * mac/tclMacFCmd.c: wrapped long lines and cleaned up - TclpObjNormalizePath, removed all TclpCopy/Rename/Delete - File/Directory string-based procedures which aren't used any more. - * mac/tclMacFile.c: removed obsolete TclpStat, TclpAccess, TclpChdir, - etc. - * unix/tclUnixFCmd.c: removed use of TclpAccess, removed all - TclpCopy/Rename/Delete File/Directory string-based procedures which - aren't used any more. - * unix/tclUnixFile.c: removed obsolete TclpStat, TclpAccess, - TclpChdir, etc. - * tcl(Unix|Mac|Win)Chan.c: objectified TclpOpenFileChannel. - * various 'load' implementations all objectified. - * generic/tclFileName.c: removed redundant code. - * generic/tclIOUtil.c: removed TclStat, TclAccess, TclpListVolumes. - Fix to MatchInDirectory at the root of a volume. Also improved some - documentation, and improved default path joining behaviour for virtual - filesystems, especially regarding '~'. - * tests/fileName.test: added tests to check for bugs fixed above. - * doc/FileName.3: improved documentation - -2001-08-30 David Gravereaux - - * generic/tclAsync.c: - * generic/tclEvent.c: - * generic/tclInt.h: Improper cleanup of asyncMutex in tclAsync.c - repaired. TclFinalizeSynchronization() was trying to remove a - registered mutex that was dumped earlier when the TSD it was stored in - was cleared. This was only surfacing on *nix. Windows was being masked - by mutexes not actually being returned to the system! That was - repaired in a previous patch. Needed to add a private - TclFinalizeAsync() to tclAsync.c and called from Tcl_FinalizeThread(). - Pheww.. Is this done yet? [Bug 414419] requested by Rob Ratcliff - - -2001-08-28 Jeff Hobbs - - * generic/tclCompCmds.c (TclPushVarName): noted 'static' defn. - [Bug 453872] - -2001-08-26 Don Porter - - * library/auto.tcl (tcl_findLibrary): - * tests/unixInit.test (unixInit-2.{1,9}): - * unix/tclUnixInit.c (TclpInitLibraryPath): - * win/tclWinInit.c (TclpInitLibraryPath): Corrected inconsistency - between the search path for script libraries and the directory name - $DISTNAME into which distributions built by 'make test' unpack. [Bug - 455642] - -2001-08-24 Jeff Hobbs - - * tests/stringComp.test: added string-1.3 - * generic/tclCompCmds.c (TclCompileStringCmd): changed to return - TCL_OUT_LINE_COMPILE instead of TCL_ERROR when compiling and an - unknown string method is called. This is necessary as the string - command may be never called, or not until 'string' is redefined. - -2001-08-24 Vince Darley - - * doc/glob.n: documented windows-style path issue with glob. - [Bug 219392] - * doc/filename.n: documented windows path/file length limitation. - [Bug 454597] - -2001-08-24 Don Porter - - * tests/unixInit.test (unixInit-2.9): Corrected expected result to - match Tcl's quirky construction of its init library path. - -2001-08-23 Andreas Kupries - - * win/tclWinPipe.c (BuildCommandLine): Fixed [Bug 432499]. Part of the - code used the non-absolute path to the executable to determine - quoting. This failed if the absolute path contained spaces, but the - application name itself not. This bug caused no trouble on Win NT 5, - but does for other variants in the Win* family. Report and fix due to - Ken Poole . - -2001-08-23 Jeff Hobbs - - * unix/configure: - * unix/tcl.m4: added QNX-6 build support. [Bug 219410] (loverso) - - * unix/tclUnixFCmd.c: - * generic/tclIOUtil.c: - * generic/tclFileName.c: corrected minor compiler warnings. - -2001-08-23 Vince Darley - - Variety of small filesystem and vfs issues fixed or improved. The new - fs code allows many new opportunities for efficiency improvements - through the objectified API. The main changes integrated here are such - efficiency improvements. Some limitations of the original - implementation have also now been lifted. Meanwhile a variety of fs - bugs (some old, some new) have also been fixed. - - * generic/tclFileName.c: Made Tcl_FSSplitPath more efficient, and - removed some static string-based procedures which are no longer used. - Much more objectification. Tcl_FSJoinPath is now very efficient and - more aware of virtual filesystems. Clarified where the Mac-specific - code attempts to interpret Unix-style paths. Modified TclDoGlob to use - lstat not access to fix [Bug 434876] (L. Virden) - - * tcl(Win|Unix|Mac)FCmd.c: - * tcl(Win|Unix|Mac)File.c: replaced TclpListVolumes with - TclpObjListVolumes with different signature, updated code due to more - efficient signature of Tcl_FSGetTranslatedPath. Used cached native - paths where possible to improve efficiency -- this was completed on - MacOS, but on Unix and Win the traversal functions make the task much - more complex, so there are still some improvements possible there. - Removed unused TclpNormalizePath which had been left in tclWinFCmd.c. - Objectified all 'file attributes' functions. Fixed the new [Bug - 451571, Bruce Stephens] which is most obvious on Unix, but could occur - on MacOS or Windows. This bug actually existed in Tcl 8.3.x but was - only made obvious by the recent filesystem overhaul when the code was - exercised more heavily. - * tests/fileName.test: Three new tests to exercise the above bug, and - make sure it is fixed correctly. - * unix/tclUnixFile.c: avoid panic in glob when a link doesn't point - anywhere. It would probably be good to define exactly what Tcl should - do in circumstances like these, and make sure mac/win/unix all behave - accordingly. [Bug 417111] (Hemang Lavana). Also fixed - misleading/obsolete comment in the code. - * generic/tcl.stubs: changed signature of Tcl_FSGetTranslatedPath and - added Tcl_FSGetTranslatedStringPath. - These changes allow further optimisations in the FS code. - * generic/tcl.h: changed signature of Tcl_FSListVolumes so that it - doesn't require a Tcl interpreter plus result. Renamed Tcl_FSReadLink - to Tcl_FSLink with additional argument so we can support making links - in the future. [Patch: 450340] - * generic/tclInt.h: added declaration for TclpObjListVolumes. - Objectified internal call signatures for 'file attributes' functions, - and added an internal objectified get path type function. - * generic/tclIOUtil.c: added the moved function TclpListVolumes which - calls platform specific code (needed for backwards compatibility), and - improved efficiency of parts of the FS (particularly file - normalization). Much less copying and memory allocation is required - now. added new GetPathType so that changes in 'file volumes' can - actually affect files' types, and objectified more code. Made current - code work with test suite artificially changing current platform. - Added 'static' keywords where required. - * generic/tclIO.c: - * generic/tclTest.c: Added 'static' keywords, fixing [Bug 453872] (Bob - Techentin) - * generic/tclCmdAH.c: file command implementation updated for API - changes, removed unnecessary special-case SplitPath static function, - since it no longer helps prevent code duplication. Moved setting of - interpreter result to each individual location that actually required - it, to avoid very large code separation between reading and setting - the result. - * doc/FileSystem.3: updated documentation for the new or changed APIs, - and clarified some issues. - * doc/SplitPath.3: added pointer to newer APIs in FileSystem.3 - * doc/filename.n: clarified current implementation of tilde support on - Mac/Win. [Bug 453514] (Sergey Kuzmin) - * doc/glob.n: improved documentation for '-directory' and '-path' - options. - - There are now many private, obsolete, platform-specific 'Tclp' - string-based filesystem APIs which could be removed. We should check - whether any of these are used by extensions and, at least in Tcl 9, - remove them. - - The above changes signify a ***POTENTIAL INCOMPATIBILITY*** with - 8.4a3, since signatures of two functions in the new API have changed, - but not with older versions of Tcl. - -2001-08-23 Donal K. Fellows - - * generic/tclBinary.c (FormatNumber): Extract a long from the object - and not an int, to stop [binary format] from being unable to format - some input numbers on architectures where sizeof(int) is less than - sizeof(long) (particularly Alpha). [tiprender Bug 441861] - - * tests/format.test: Converted conditional execution of tests into a - test constraint. - -2001-08-22 Jeff Hobbs - - * win/Makefile.in: - * win/makefile.vc: updated install target for dde1.2 - * doc/dde.n: fixed dde man page (which was totally incorrect). - * tests/winDde.test: - * win/tclWinDde.c (Tcl_DdeObjCmd): added -binary option to dde request - command to allow for returning binary data. [Bug 227482] - Updated dde to 1.2 - - * tests/tcltest.test: added unixExecs constraint to files that used - 'grep' in the test. [Bug 453143] - - * library/tcltest/tcltest.tcl: fixed stdio constraint test. [Patch - 454050] (stanton) - Simplified unixExecs constraint test. - -2001-08-22 Don Porter - - * tests/ioUtil.test (ioUtil-3.*): Corrected errors in tests revealed - by fix of overagressive compiler. [Bug 451200] - -2001-08-21 Miguel Sofer - - * generic/tclCompCmds.c: - * tests/compile.test: Fixed overagressive compilation of [catch]: it - was catching errors at substitution time. [Bug 219184] - -2001-08-21 Jeff Hobbs - - * tests/tcltest.test (tcltest-12.2): fixed test that would break when - env vars weren't Tcl list friendly [Patch 454046] (stanton) - -2001-08-20 Jeff Hobbs - - * library/http/http.tcl (geturl): added port number to Host: header to - comply with HTTP/1.1 spec (RFC 2068). [Bug 452217] - -2001-08-16 David Gravereaux - - * tools/tcl.wse.in: - * tools/tcl.hpj.in: - * win/tcl.hpj.in: Removed -kb storage in CVS to ensure these text - files are checked-out in the translation mode CVS is in. Setting these - as binary as part of an effort to make sure they are always in CRLF, - no matter what the CVS translation, is bypassing how CVS works and is - confusing. - - * tools/genStubs.tcl: Removed LF-only output. Having to reconvert - back to CRLF before committing to CVS was giving me a headache. [Bug - 451333] - - * win/makefile.vc: replaced $(WINDIR) with $(include32) for the - .rc.res inference rule. winver.h wasn't getting included. [Bug 445630] - -2001-08-14 Miguel Sofer - - * generic/tclBasic.c: make the intial maxNestingDepth of an - interpreter be MAX_NESTING_DEPTH instead of a hardwired value. [Bug - 232564] - -2001-08-13 Miguel Sofer - - * tests/trace.test: Corrected test numbers. [Bug 449794] - -2001-08-12 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: - * unix/tcl.m4: Use GCC variable set by AC_PROG_CC instead of defining - our own using_gcc variable. - -2001-08-11 Vince Darley - - Variety of small issues introduced by the vfs code fixed: - * generic/tclIOUtil.c: uninitialised read. - * generic/tclFCmd.c: possible memory leak in file delete with error - condition. - -2001-08-10 Miguel Sofer - - * generic/tclVar.c: - * tests/trace.test: Insure that [array] traces work correctly for - undefined variables. [Bug 449094] - -2001-08-09 Mo DeJong - - * unix/Makefile.in: Delete the unused getcwd.o target. [Bug 440942] - -2001-08-08 Don Porter - - * library/dde/pkgIndex.tcl: - * library/http/http.tcl: - * library/http/pkgIndex.tcl: - * library/msgcat/msgcat.tcl: - * library/msgcat/pkgIndex.tcl: - * library/opt/optparse.tcl: - * library/opt/pkgIndex.tcl: - * library/reg/pkgIndex.tcl: - * library/tcltest/tcltest.tcl: - * library/tcltest/pkgIndex.tcl: Added checks for package dependencies. - Bumped patchlevels of changed packages: http 2.3.2, msgcat 1.2.2, - opt 0.4.3, tcltest 2.0.1. [Patch 448931] - - * README: - * generic/tcl.h: - * tools/tcl.wse.in: - * unix/configure: - * unix/configure.in: - * unix/tcl.spec: - * win/README.binary: - * win/configure: - * win/configure.in: Bumped up patchlevel to 8.4a4 to distinguish CVS - snapshots from the 8.4a3 release. This does not necessarily mean there - will be an 8.4a4 release. [Bug 448938] - -2001-08-06 Jeff Hobbs - - 8.4a3 RELEASE - - * changes: - * README: - * mac/README: - * unix/README: - * win/README.binary: updated for 8.4a3 release - - * generic/tclFileName.c (Tcl_FSSplitPath): update to Tcl style guide. - - * generic/tclFCmd.c (FileCopyRename): fixed mem leak in introduction - of vfs code where a new Tcl_Obj wasn't freed. - - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd, Tcl_RegsubObjCmd): reordered - the retrieval of arguments to avoid shimmering bug when the pattern - and string referenced the same object. - - * unix/configure: regenerated - * unixE/tcl.m4: added GNU (HURD) configuration target. - [Patch 442974] (brinkmann) - - * win/README: made note of URL for Windows compilation notes - - * win/tclWinThrd.c (TclpFinalizeMutex, TclpFinalizeCondition): added - DeleteCriticalSection calls for cleanup [Patch 419683] - - * unix/tclUnixPipe.c (TclpCreateTempFile): fixed use of tmpnam, - which is dangerous. [Patch 442636] (lim) - The use of tmpnam in TclpTempFileName must still be changed. - - * tests/http.test (http-4.14): fixed variable error return. - [Bug 424252] - -2001-08-03 Jeff Hobbs - - * win/configure: regenerated - * win/tcl.m4: fixed DLLSUFFIX definition to always be ${DBGX}.dll. - This is necessary for TEA compliant builds that build shared against a - static-built Tcl. - * win/Makefile.in ($(TCLSH)): added $(TCL_STUB_LIB_FILE) to build - target, otherwise it wouldn't get generated in a static build. - -2001-08-06 Andreas Kupries - - * generic/tclIOCmd.c (Tcl_GetsObjCmd): Applied patch from [Bug 442665] - to fix the bug reported by it. The function can corrupt a freed object - if it is called with objc == 3. This is because it retrieves resultPtr - and does not increment its reference count, but then calls - Tcl_ObjSetVar2, which causes the retrieved resultPtr object to be - released. - -2001-08-06 Don Porter - - * doc/tclsh.1: Added note that the tclsh program is frequently - installed with the Tcl version numer as part of the name. [Patch - 402725] - - * generic/tclPkg.c: - * tests/pkg.test: [package forget] now forgets all of the package - arguments it receives, not stopping when a package is not found. [Bug - 415273] - -2001-08-02 Jeff Hobbs - - * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): corrected - uninitialized value. - -2001-08-02 Mo DeJong - - * generic/tclPlatDecls.h: - * win/tclWinPort.h: Revert related changes made to improve - Cygwin support on 2001-07-18. This change ended up breaking the VC++ - build because of conflicts between Windows APIs and internal Tk APIs. - -2001-08-01 Jeff Hobbs - - * unix/tclUnixFCmd.c: minor casts to eliminate warnings. (lim) - [Patch 440218] - - * tests/parseOld.test: changed some tests that required testwordend to - exist to skip in a proper tcltest manner. [Bug 442663] - - * library/http/http.tcl (http::mapReply): the regsub'ing of \n and \t - to escape them was unnecessary. - -2001-07-31 Vince Darley - - Changes from TIP#17 "Redo Tcl's filesystem" - The following files were impacted: - * doc/Access.3: - * doc/FileSystem.3: - * doc/OpenFileChnl.3: - * doc/file.n: - * doc/glob.n: - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclCmdAH.c: - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclDate.c: - * generic/tclDecls.h: - * generic/tclEncoding.c: - * generic/tclFCmd.c: - * generic/tclFileName.c: - * generic/tclGetDate.y: - * generic/tclIO.c: - * generic/tclIOCmd.c: - * generic/tclIOUtil.c: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclLoad.c: - * generic/tclStubInit.c: - * generic/tclTest.c: - * generic/tclUtil.c: - * library/init.tcl: - * mac/tclMacFCmd.c: - * mac/tclMacFile.c: - * mac/tclMacInit.c: - * mac/tclMacPort.h: - * mac/tclMacResource.c: - * mac/tclMacTime.c: - * tests/cmdAH.test: - * tests/event.test: - * tests/fCmd.test: - * tests/fileName.test: - * tests/io.test: - * tests/ioCmd.test: - * tests/proc-old.test: - * tests/registry.test: - * tests/unixFCmd.test: - * tests/winDde.test: - * tests/winFCmd.test: - * unix/mkLinks: - * unix/tclUnixFCmd.c: - * unix/tclUnixFile.c: - * unix/tclUnixInit.c: - * unix/tclUnixPipe.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: - * win/tclWinInit.c: - * win/tclWinPipe.c: - -2001-07-24 Mo DeJong - - * win/tclWinThrd.c (Tcl_CreateThread): Close Windows HANDLE returned - by _beginthreadex. The MS documentation states that this handle is not - closed by a later call to _endthreadex. - -2001-07-21 Don Porter - - * doc/pkgMkindex.n: - * library/package.tcl: Corrected documentation and usage message of - [pkg_mkIndex]. - -2001-07-18 Mo DeJong - - * generic/tclPlatDecls.h: Define TCHAR by including windows.h instead - of tchar.h since Cygwin does not support the tchar.h header. Include - CHECK_UNICODE_CALLS logic from tclWinPort.h. - * win/tclWinPort.h: Remove CHECK_UNICODE_CALLS logic. Remove include - of windows.h since this now done it tclPlatDecls.h. - * win/tclWinReg.c: Remove duplicate include of windows.h. - -2001-07-18 Andreas Kupries - - * generic/tclIO.c: Aftermath to [Bug 427196]. Squash empty buffers if - they are smaller than the requested buffersize, to prevent reusage of - old buffers and to honor changes in the requested buffersize made by - the user. - -2001-07-17 Mo DeJong - - * win/tclWinFile.c (TclpReadlink): Add Cygwin specific definition for - the TclpReadlink function. This method implements reading of symbolic - links when build with Cygwin. - -2001-07-17 Mo DeJong - - * win/tclWinPort.h: Add Cygwin specific defines for environ and - timezone variables. - -2001-07-17 Andreas Kupries - - * generic/tclIO.c (GetInput): Fixed [Bug 427196]. Memory was - overwritten because a buffer was used after a change of the requested - buffersize together with that requested buffersize and not its actual - size, which was smaller. Note that the continous reuse of the smaller - buffer negatively impacts performance. The system never allocates a - buffer with the newly requested bigger buffersize. - -2001-07-16 Mo DeJong - - * generic/tcl.h: Define __WIN32__ when __CYGWIN__ or __MINGW32__ is - defined. - * generic/tclAlloc.c: Define caddr_t when compiling with VC++ or - mingw. This type is already defined when compiling with Cygwin. - -2001-07-16 Mo DeJong - - * win/tclWinConsole.c: - * win/tclWinPipe.c: - * win/tclWinPort.h: - * win/tclWinSerial.c: - * win/tclWinThrd.c: - Remove unnecessary #includes of dos.h, direct.h, and tchar.h. This - will help the Cygwin porting effort since these headers do not exist - under Cygwin. - -2001-07-16 Jeff Hobbs - - * win/tclWinPipe.c (PipeClose2Proc): constrained the mutex lock to - just the TerminateThread call and waiting for termination. (jsmith) - - * generic/tclCmdMZ.c: Removed extra copy of the SCAN_* macros - #defined in generic/tclScan.c. [Bug 441230] (porter) - -2001-07-12 Donal K. Fellows - - * tests/unixInit.test (unixInit-2.8): Added extra constraint, - notInstalledInTmp, to stop this test from damaging installations in - /tmp; not much fun to have to reinstall the Tcl library every time you - run the test suite! - - * tests/subst.test (subst-10.*): Updated tests to check new behaviour - for 'break' in command substitutions. - (subst-1.2,subst-7.1): Error messages changed. - * doc/SubstObj.3: New file, to document Tcl_SubstObj. - * doc/subst.n: Improved and updated documentation for 'subst' to help - support the changed behaviour. - * generic/tcl.decls (generic-437): Declaration for Tcl_SubstObj - * generic/tcl.h (TCL_SUBST_*): Added flags for Tcl_SubstObj. - * generic/tclCmdMZ.c (Tcl_SubstObj,Tcl_SubstObjCmd): Divided into two - parts to allow people to access the innards of 'subst' and changed the - behaviour when command substitutions do a 'break' to be different from - 'continue'. Also now works with objects, which allows for some nifty - optimisations with variable substitutions and a slight improvement - with command substitutions. [TIP#36] - -2001-07-10 Mo DeJong - - * unix/Makefile.in: Add AR variable for use in STLIB_LD. - * unix/configure: Regen. - * unix/configure.in: Use STLIB_LD when defining MAKE_LIB and - MAKE_STUB_LIB. Subst RANLIB and AR. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add doc comment about STLIB_LD - command. Check ${AR} env var when setting STLIB_LD and delay - evaluation until make time. - * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Delay evaluation of ${AR} in STLIB_LD - and add flags to better match the Unix implementation. Don't bother - defining AR when using VC++ since it is not used. - -2001-07-06 Mo DeJong - - * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Pass -e _WinMain@16 in addition to - the -mwindows flag to work around a problem with ld when it - incorrectly use main() as the executable entry point when both - WinMain() and main() are available. - -2001-07-06 Donal K. Fellows - - * tests/cmdAH.test: Added leading zero to file modes to work around - fault in HPUX strtol() which ignores the base parameter. [Bug 438808] - -2001-07-05 Mo DeJong - - * win/Makefile.in: Subst DEPARG directly instead of relying on a - variable. This will make Cygwin builds faster since an extra exec will - be avoided. - * win/configure: Regen. - * win/configure.in: Subst DEPARG. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Move AC_MSG_CHECKING after the - AC_CHECK_PROG so that status messages do not get mixed together. Set - DEPARG based on the results of the cygpath check so that we avoid - using an extra exec when it is not needed. Use ac_cv_cygwin status - flag instead of looking at the output of gcc -v, which works in the - case where -mno-cygwin is set in the CFLAGS. - -2001-07-04 Jeff Hobbs - - * README: - * mac/README: - * unix/README: - * win/README: - * win/README.binary: updated READMEs with purls - -2001-07-03 Mo DeJong - - * win/Makefile.in: Remove PATHTYPE variable. - * win/configure: Regen. - * win/configure.in: Don't subst PATHTYPE. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove PATHTYPE variable. Set CYGPATH - to "cygpath -w" if the cygpath executable is found on the path. This - approach works for native Cygwin builds and cross compiles. - -2001-07-03 Jeff Hobbs - - * tests/var.test: - * generic/tclVar.c (Tcl_VariableObjCmd): added patch to check for - number of args. [Patch 426038] - - * generic/tclVar.c (Tcl_GetVar2Ex): added ability to recognize - TCL_TRACE_READS flags to cause creation of part1 in TclLookupVar to - make sure newly created array will get read traces triggered - appropriately. This is called by Tcl_ObjGetVar2, Tcl_GetVar, and - Tcl_GetVar2. - (TclSetIndexedScalar, TclSetElementOfIndexedArray): added read trace - triggering for lappend case. - (Tcl_LappendObjCmd): pass TCL_TRACE_READS to Tcl_ObjGetVar2 to trigger - possible read traces for new arrays. - - * generic/tclExecute.c (TclExecuteByteCode): added TCL_TRACE_READS - flag to INST_LAPPEND(_ARRAY)_STK case to trigger read traces for newly - created arrays. Removed unnecessary #ifdef for TCL_COMPILE_DEBUG in - INST_LOAD_SCALAR1 case. - - * tests/append.test: - * tests/appendComp.test: added tests for read trace triggering for - append and lappend. - -2001-07-03 Mo DeJong - - * tests/clock.test (clock-2.5): Adjust test so that it passes when the - time slice is 60 msecs, now passes under Windows 98. - -2001-07-03 Mo DeJong - - * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't pass the v flag to ${AR} when - using gcc, verbose output is not needed. - -2001-07-03 Don Porter - - * tests/unixInit.test (unixInit-2.8): Changed test back to using - installation layout, adding comments explaining why the test writes to - the directories it does, and checks to avoid destroying other files in - /tmp. - -2001-07-03 Donal K. Fellows - - * tests/unixInit.test (unixInit-1.2): Fixed faults reported in - [Bug 438070] - well, at least enough to work on Solaris - and added - comments that should make what is going on in the test clearer. - -2001-07-02 Jeff Hobbs - - * tests/util.test: added util-4.6 - * generic/tclUtil.c (Tcl_ConcatObj): Corrected walking backwards over - utf-8 chars. [Bug 227512] - -2001-07-02 Don Porter - - * tests/unixInit.test (unixInit-2.8): Corrected test for all absolute - pathnames in library path when executable is installed near root - directory to use correct development directory layout. [Bug 438014] - - * tests/unixInit.test (unixInit-2.9): - * unix/tclUnixInit.c (TclpInitLibraryPath): - * win/tclWinInit.c (TclpInitLibraryPath): Corrected buggy - construction of search path entries relative to executable. Added test - for bad construction. [Bug 438014] - -2001-06-28 Miguel Sofer - - * generic/tclNamesp.c: Correction to faulty patch from [Bug 231259] - -2001-06-28 Donal K. Fellows - - * tests/unixInit.test (unixInit-1.2): Modified so as not to require a - local echo service, which fails on many systems which have that turned - off for security reasons... - -2001-06-27 Jeff Hobbs - - * generic/tclInt.h: - * generic/tclObj.c: - * unix/Makefile.in: added a -DPURIFY mode that makes Tcl_Obj's - allocated and free singularly (instead of in alloc in blocks and never - free) to allow checkers like Purify to operate better. - - * library/encoding/koi8-u.enc: added koi8-u (Ukranian variant) - encoding. - - * tests/subst.test: - * generic/tclUtf.c (Tcl_UtfBackslash): Corrected backslash handling of - multibyte utf-8 chars. [Bug 217987] - - * generic/tclCmdIL.c (InfoProcsCmd): fixed potential mem leak in info - procs that created objects without using them. - - * generic/tclCompCmds.c (TclCompileStringCmd): fixed mem leak when - string command failed to parse the subcommand. - - * doc/interp.n: - * doc/unknown.n: updated notes about what is in a safe interp. [Bug - 218605] - -2001-06-27 Donal K. Fellows - - * tests/event.test (event-11.5): Removed hard-coded port number which - could fail on some systems. [Bug 436727] - -2001-06-26 Mo DeJong - - * unix/Makefile.in: - * win/Makefile.in: Add `make shell` target. This target will set the - proper env vars before invoking tclsh from the build directory. - -2001-06-26 Mo DeJong - - * win/Makefile.in: Use : to separate VPATH entries. This works for - both Cygwin builds and cross builds, the VPSEP variable is simply - unneeded complexity. - * win/configure: Regen. - * win/configure.in: Don't subst VPSEP. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove VPSEP variable. - -2001-06-26 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: Fix last checkin by removing export since that - only works in bash. - * win/configure: Regen. - * win/configure.in: Ditto. - -2001-06-26 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: Set CFLAGS to "" if the user did not set CFLAGS - in the env. This keeps AC_PROG_CC from adding "-g -O2" to the CFLAGS - by default. - * win/configure: Regen. - * win/configure.in: Ditto. - -2001-06-25 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Use RC_DEFINE flag from tcl.m4. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Set RC_DEFINE flag based on the - compiler in use. - -2001-06-25 Mo DeJong - - * win/tcl.m4 (SC_CONFIG_CFLAGS): Link to the imm32 library when - building with mingw gcc. - -2001-06-25 Mo DeJong - - * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): When building with gcc, don't attempt - to link with LD or support dllwrap. Simply require a recent version of - Cygwin gcc or Mingw gcc that supports -shared. When linking, use gcc - instead of ld since gcc automatically includes libs like -lmsvcrt. - -2001-06-22 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Add resource compiler fix from 8.3.3 to fix - compiling with mingw. - -2001-06-22 Mo DeJong - - * win/configure: Regen. - * win/tcl.m4: Fix silly typo in last checkin. - -2001-06-22 Mo DeJong - - * unix/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. Set - LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. Add LDFLAGS_DEBUG and - LDFLAGS_OPTIMIZE to match the way CFLAGS_DEFAULT works. This will - support user set CFLAGS or LDFLAGS at configure time. - * unix/configure: Regen. - * unix/configure.in: Don't set CFLAGS to CFLAGS_DEFAULT, instead - subst CFLAGS_DEFAULT into the Makefile. Add AC_SUBST for - CFLAGS_DEFAULT, LDFLAGS_DEFAULT, LDFLAGS_DEBUG, and LDFLAGS_OPTIMIZE. - * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that it - uses a Makefile variable just like CFLAGS_DEFAULT. - * win/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. Set - LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. This will support user set - CFLAGS or LDFLAGS at configure time. - * win/configure: Regen. - * win/configure.in: Don't set CFLAGS or LDFLAGS, instead subst - CFLAGS_DEFAULT and LDFLAGS_DEFAULT into the Makefile. - * win/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that it - uses a Makefile variable just like CFLAGS_DEFAULT. - -2001-06-22 Mo DeJong - - * win/configure: - * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't set LDFLAGS_DEBUG to -g or - LDFLAGS_OPTIMIZE to -O when compiling with gcc. These flags are not - needed and can cause problems with the Cygwin version of ld. - -2001-06-18 Donal K. Fellows - - * tests/unixInit.test (unixInit-1.2,unixInit-2.8): Added test for code - described below, and fixed a couple of errors that caused problems - during testing; the code to determine the installedTcl constraint was - wrong, and test unixInit-2.8 assumed that /tmp/lib was free for use - and could be deleted, which clashed nastily with my installation and - made other tests fail unnecessarily! - - * unix/tclUnixChan.c (TtyInit,TclpOpenFileChannel, - (Tcl_MakeFileChannel,TclpGetDefaultStdChannel): Alterations so that - the standard channels - stdin, stdout and stderr - have the correct - type and fconfigure options. This required making the initialisation - of serial lines a little more sophisticated to make the console behave - correctly in interactive mode... [Bug 219137 and duplicates] - -2001-06-16 Don Porter - - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclPanic.c (Tcl_PanicVA): - * mac/tclMacAppInit.c (main): - * mac/tclMacPanic.c (TclpPanic): - * unix/tclUnixPort.h: - * win/tclWinPort.h: Replaced TclMacSetPanic with TclpPanic for setting - a platform-specific panic handler. TclpPanic is NULL on Unix and - Windows. Fixes broken wish on Mac due to earlier patches. [Patch - 415648] - - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: `make gentubs` after above changes. - -2001-06-13 Don Porter - - * mac/tclMacAppInit.c (main, Macintosh_Init): - * mac/tclMacBOAAppInit.c (main): - * mac/tclMacPanic.c: Applied patches from Dan Steffen correcting - problems on the Macintosh in the 2001-06-08 changes. - -2001-06-12 Donal K. Fellows - - * tests/regexp.test (regexp-18.12): - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): Fixed so that submatches - that do not match always have index pair {-1 -1} [Bug 219232] - -2001-06-08 Don Porter - - * generic/tcl.h: - * generic/tcl.decls: - * generic/tclPanic.c: Added CONST to Tcl_*Panic* public interfaces. - [Patch 415648, TIP 27] - - * generic/tclInt.decls: - * mac/tclMacAppInit.c (main): - * mac/tclMacBOAAppInit.c (main): - * mac/tclMacPanic.c: Modified special Mac implementations of - Tcl_*Panic* to be exact copies of the generic implementations. Added - TclMacSetPanic. The generic implementations should be used directly, - rather than copies, but that requires further changes by someone - familiar with the Mac build systems. [Patch 415648] - - * generic/tclDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: `make gentubs` after above changes. - - * doc/Panic.3: - * unix/mkLinks: New file documenting Tcl_*Panic* public interfaces, - followed by `make mklinks`. [Patch 415648, Bug 219170, Bug 414936] - -2001-06-03 Jeff Hobbs - - * generic/tclUtil.c (Tcl_DStringAppendElement): patch to save an - extra strlen call. [Bug 428572] - -2001-05-30 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Added two casts to - INST_STR_CMP implementation to get rid of a couple warnings from the - SUNWspro C compiler. - - * generic/tclBasic.c (Tcl_GetMathFuncInfo,Tcl_ListMathFuncs): - * generic/tclCmdIL.c (Tcl_InfoObjCmd,InfoFunctionsCmd): - * generic/tcl.decls (generic table, positions 435+436): - * tests/info.test: - * doc/CrtMathFnc.3: - * doc/info.n: Changes due to TIP #15 "Functions to List and Detail - Math Functions" - -2001-05-28 Jeff Hobbs - - * library/init.tcl (unknown): removed errant " in error message - -2001-05-27 Jeff Hobbs - - * generic/regc_locale.c: updated character class range data for - Unicode v3.1.0 compliance. - * generic/tclUniData.c: regenerated from Unicode v3.1.0 data file (new - as of 2001-05-16). This brings Tcl to current unicode compliance. - - * tests/utf.test: added tests to check unicode 3 compliance - - * unix/Makefile.in (tclUtf.o): added tclUniData.c dependency. - - * tools/uniClass.tcl: added comments to output format and the script - for clarification. - - * tools/uniParse.tcl: corrected filename output and GetDelta macro to - use 'info' as param (was 'infO') - -2001-05-26 Donal K. Fellows - - * generic/tclVar.c (tclArraySearchType,SetArraySearchObj, - (ParseSearchId): Added code to speed up array searching by reducing - the amount of parsing needed for searchIds. - - * generic/tclObj.c (TclInitObjSubsystem): - * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): - * generic/tclNamesp.c (TclInitNamespaceSubsystem): - * generic/tclInt.h: Moved some Tcl_ObjType initialisation to - TclInitObjSubsystem to be with the bulk of the rest. [Patch 424851] - Committed by Miguel Sofer - -2001-05-23 Jeff Hobbs - - * tests/io.test: changed io-52.[9-11] to not be platform sensitive - with EOL translation. - - * library/encoding/cp1250.enc: - * library/encoding/cp1251.enc: - * library/encoding/cp1252.enc: - * library/encoding/cp1253.enc: - * library/encoding/cp1254.enc: - * library/encoding/cp1255.enc: - * library/encoding/cp1256.enc: - * library/encoding/cp1257.enc: - * library/encoding/cp1258.enc: - * library/encoding/cp874.enc: - * library/encoding/iso8859-6.enc: - * library/encoding/iso8859-7.enc: - * library/encoding/iso8859-8.enc: - * library/encoding/iso8859-10.enc (new): - * library/encoding/iso8859-13.enc (new): - * library/encoding/iso8859-14.enc (new): updated encoding tables based - on http://www.unicode.org/Public/MAPPINGS/. (kuhn) - -2001-05-23 Mo DeJong - - * unix/tcl.m4 (SC_PATH_TCLCONFIG): Fix comments, and typo in cached - variable name. - -2001-05-23 Mo DeJong - - * unix/tcl.m4 (SC_LOAD_TKCONFIG): Remove use of undefined TCLCONFIG - variable and call AC_MSG_RESULT to print the checking result. - * win/tcl.m4: Ditto. - -2001-05-22 Jeff Hobbs - - * generic/tclObj.c (TclAllocateFreeObjects): simplified - objSizePlusPadding to use sizeof(Tcl_Obj) (max) Corrected use of - tclObjsAlloced/Freed/Shared in TCL_MEM_DEBUG compile. - -2001-05-22 Miguel Sofer - - * generic/tclExecute.c: removed Tcl_DuplicateObj in INST_DUP - -2001-05-21 Jeff Hobbs - - * tests/tcltest.test (tcltest-19.1): fixed failing test that was - getting affected by Windows env handling of empty valued elements. - - * unix/tcl.m4: added more common install directories in which to - search for *Config.sh. [Bug 419812] - - * tests/cmdMZ.test (cmdMZ-1.4): added notLinux constraint to test to - prevent failure message on Linux due to OS caching bug. - - * tests/httpd (httpdRespond): added response to timeout value in query - string. - - * tests/http.test: removed unused notLinux constraint setting - - * generic/tclRegexp.c (Tcl_RegExpExecObj): added use of - Tcl_GetUnicodeFromObj. - -2001-05-19 Andreas Kupries - - * Note that "tclbench" (see project "tcllib") was extended with - performance benchmarks for [fcopy] too. - - * doc/fcopy.n: Updated to reflect the extended behaviour of 'fcopy'. - - * tests/io.test: Added tests 'io-52.9', 'io-52.10' and 'io-52.11' to - test the handling of encodings by 'fcopy' / 'TclCopychannel'. [Bug - 209210] - - * generic/tclIO.c: Split of both 'Tcl_ReadChars' and 'Tcl_WriteChars' - into a public error checking and an internal working part. The public - functions now use the new internal ones. The new functions are - 'DoReadChars' and 'DoWriteChars'. Extended 'CopyData' to use the new - functions 'DoXChars' when required by the encodings on the input and - output channels. [Bug 209210] - -2001-05-16 Jeff Hobbs - - * library/history.tcl (tcl::HistAdd): prevent empty calls from being - added to the history (arndt) - - * tests/error.test: updated error-1.3 message to account for string - index being compiled at toplevel. - * tests/appendComp.test: - * tests/stringComp.test: new files for extended bytecode testing - - * generic/tclBasic.c: added new CompileProc invocations to basic - command initialization. - * generic/tclCompCmds.c: added new compile commands for append, - lappend, lindex and llength. Refactored set and incr compile commands - to use new TclPushVarName function for handling the varname component - during compilation (also used by append and lappend). Changed string - compile command to compile toplevel code as well (when possible). - * generic/tclCompile.c: added new instruction enums - * generic/tclCompile.h: added debug info for new instructions - * generic/tclExecute.c (TclExecuteByteCode): moved elemPtr to toplevel - var (oft-used). Added definitions for new bytecode instructions - INST_LIST_INDEX, INST_LIST_LENGTH, INST_APPEND_SCALAR1, - INST_APPEND_SCALAR4, INST_APPEND_ARRAY1, INST_APPEND_ARRAY4, - INST_APPEND_ARRAY_STK, INST_APPEND_STK, INST_LAPPEND_SCALAR1, - INST_LAPPEND_SCALAR4, INST_LAPPEND_ARRAY1, INST_LAPPEND_ARRAY4, - INST_LAPPEND_ARRAY_STK, INST_LAPPEND_STK. - Refactored repititious code for reuse with INST_LOAD_STK (same as - INST_LOAD_SCALAR_STK), INST_STORE_STK (same as INST_STORE_SCALAR_STK). - Updated INST_STR_CMP with style of fix of 2001-04-06 Fellows - [Bug 219201] as that fix only affected the runtime eval'ed "string" - (string compare is normally byte-compiled now). We may want to back - these out for speed in the future, noting the problems with \x00 - comparisons in the docs. - * generic/tclInt.h: declarations for new compile commands. - * generic/tclVar.c: change TclGetIndexedScalar, - TclGetElementOfIndexedArray, TclSetElementOfIndexedArray and - TclSetIndexedScalar to use flags. The Set functions now support - TCL_APPEND_ELEMENT and TCL_LIST_ELEMENT as well. - * generic/tclInt.decls: - * generic/tclIntDecls.h: minor signature changes for above. - - * generic/tclCmdMZ.c: made use of new Tcl_GetUnicodeFromObj. - -2001-05-16 Donal K. Fellows - - * doc/console.n: Deleted. Put it in the wrong source tree! D'oh! - -2001-05-15 Jeff Hobbs - - * generic/tcl.decls: - * generic/tclDecls.h: - * generic/tclStubInit.c: - * generic/tclStringObj.c (Tcl_GetUnicodeFromObj): new function to - parallel Tcl_GetStringFromObj (fix of an API oversight). - - * unix/tclUnixPipe.c: updated pipeChannelType to TCL_CHANNEL_VERSION_2 - type specification. - - * tests/fileName.test: corrected tests not to fail on win when a - C:/test dir exists. - - * generic/tclFileName.c (ExtractWinRoot): corrected ABR error - -2001-05-15 Miguel Sofer - - * tests/lindex.test: added test for nested braces [Patch 423617] - -2001-05-15 Miguel Sofer - - * generic/tclInt.h: - * generic/tclNamesp.c: invalidate all bytecodes in a namespace if a - new command shadows a bytecoded command. - * tests/namespace.test: - Patched from [Bug 231259] - -2001-05-15 Donal K. Fellows - - * doc/console.n: Created. It seems very odd to me that the console - implementation is part of the Tcl distribution and not part of Tk, but - given the location of the source, the documentation must obviously - match up... - -2001-05-14 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * tests/string.test (string-4.14): Negative string indices should not - be added as offsets to the result of [string first] but instead be - treated as referring to the start of the string. [Bug 423581] - -2001-05-11 Mo DeJong - - * unix/Makefile.in: Add a LDFLAGS variable to the Makefile instead of - directly substing @LDFLAGS@. - * unix/configure: Regen. - * unix/tcl.m4: Fix CFLAGS_DEFAULT so that the name of a Makefile - variable is passed as @CFLAGS@. - * win/Makefile.in: Move the setting of CFLAGS higher up in the - Makefile. - * win/configure: Regen. - * win/configure.in: Use dnl to comment out macros so that they are not - accidently expanded. - * win/tcl.m4: Fix CFLAGS_DEFAULT so that the name of a Makefile - variable is passed as @CFLAGS@. - -2001-05-07 Miguel Sofer - - * generic/tclExecute.c: insure different rand() seeds in different - threads. [Bug 416643] - -2001-05-03 Jeff Hobbs - - * tests/tcltest.test: removed extraneous 'c' (doh!) [Bug: 414031] - - * tools/tcltk-man2html.tcl: removed use of 'exec' for portability and - fixed up code. - -2001-05-03 Don Porter - - * doc/library.n: - * library/init.tcl: - * tests/autoMkindex.t*: Modified [auto_import] to apply pattern - matching in the [namespace import] style. [Bug 420186] - ***POTENTIAL INCOMPATIBILITY*** for any callers of [auto_import] from - outside Tcl that expect the pattern matching to be like that of - [string match]. - -2001-05-03 Miguel Sofer - - * generic/tclParse.c: - * tests/namespace.test: Insure consistent behaviour of the [unknown] - command: when a command is unknown, it is always processed by - [::unknown], ignoring any namespace proc which happens to be called - "unknown" [Patch 421166, Bug 420507] - -2001-05-02 Don Porter - - * tools/genStubs.tcl: Add a package require of Tcl 8 at the beginning - of the script so that the script will print a descriptive error - message when run in an old Tcl 7 shell. - -2001-04-27 Kevin Kenny - - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclCmdIL.c: - * generic/tclProc.c: - * generic/tclVar.c: Added another collection of missing CONSTs related - to TclGetNamespaceForQualName. - * generic/tclIntDecls.h: Regenerated. - -2001-04-25 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4: Subst TCL_THREADS into tclConfig.sh. - * unix/tclConfig.sh.in: Add TCL_THREADS variable. - * win/configure: Regen. - * win/tcl.m4: Subst TCL_THREADS into tclConfig.sh. - * win/tclConfig.sh.in: Add TCL_THREADS variable. - -2001-04-25 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: Use $@ in MAKE_LIB and MAKE_STUB_LIB commands - instead of using a delayed subst variable. Replace instances of - STUB_LIB_FILE with TCL_STUB_LIB_FILE. - -2001-04-25 Mo DeJong - - * unix/Makefile.in: Use TCL_STUB_LIB_FILE instead of STUB_LIB_FILE. - * unix/configure: Regen. - * unix/configure.in: Don't subst STUB_LIB_FILE, use TCL_STUB_LIB_FILE - instead. - -2001-04-25 Donal K. Fellows - - * tools/encoding/iso8859-15.txt: - * library/encoding/iso8859-15.enc: Oops! Got the full encoding wrong. - Should be fixed now... - - * tools/encoding/iso8859-15.txt: - * library/encoding/iso8859-15.enc: - * tools/tcl.wse.in: Added ISO 8859-15 (a.k.a. Latin-1 + Euro currency - symbol) support. - - * generic/tclNamesp.c: - * generic/tclBasic.c (TclRenameCommand): Missing CONST from several - declarations relating to use of TclGetNamespaceForQualName - -2001-04-24 Kevin B. Kenny - - * doc/AssocData.3: - * doc/CrtCommand.3: - * doc/CrtMathFnc.3: - * doc/CrtObjCmd.3: - * doc/ExprLong.3: - * generic/tclBasic.c: - * generic/tclCmdMZ.c: - * doc/CrtSlave.3: - * generic/tclNamesp.c: - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclInt.decls: - * generic/tclInt.h: (TIP #27) Another round of CONST changes, this - time adding CONST to the API's exported from tclBasic.c. [Patch - 415179] - ***POTENTIAL INCOMPATIBILITY*** from 8.4a2, in which Vince Darley's - changes to command tracing were added. A const has been added to the - type signature of one of the parameters to Tcl_CommandTraceProc. - -2001-04-10 Kevin B. Kenny - - * unix/tclUnixTime.c: Altered code to use memcpy instead of - structure assigments in an effort to achieve better K&R - compatibility. - -2001-04-10 Kevin B. Kenny - - * unix/tclUnixTime.c: Fixed silly typo in calls to 'gmtime' and - 'localtime' that broke the Linux build. - -2001-04-09 Kevin B. Kenny - - * unix/tclLoadShl.c: Added DYNAMIC_PATH to the load flags so that the - SHLIB_PATH will be searched for other libraries. [Bug 219140] - -2001-04-09 Kevin B. Kenny - - * unix/tcl.m4: Added _REENTRANT to Solaris build so that thread safe - library routines are included. - * unix/configure: Re-ran 'autoconf' with changed tcl.m4 - * tclUnixTime.c: Modified for thread safety of 'gmtime' and - 'localtime' system calls. [Bugs 219136 and 232558] - -2001-04-09 Donal K. Fellows - - * tests/expr.test (expr-21.*): Tests to check below fix. - * generic/tclParseExpr.c (GetLexeme): Now recognises the - non-numeric boolean literals for what they are. It no longer makes - sense for anyone to create functions with the same name as one of - them, but this was true in 7.* as well [Bug 217777; finally!] - -2001-04-07 Miguel Sofer - - * generic/tclExecute.c: Avoid panic when there are extra items in the - tcl stack. [Bug 406709, Patch 414470] - * tests/foreach.test: test to exercise the patch - -2001-04-07 Miguel Sofer - - * doc/namespace.n: document correct functionality - * generic/tclNamesp.c: corrected behaviour of [namespace code] - [Bug 219385, Patch 403530] - * library/init.tcl: - * tests/namespace-old.test: test correct functionality - * tests/namespace.test: test correct functionality - -2001-04-07 Andreas Kupries - - * unix/Makefile.in (checkdoc): New target, checking the definitions as - found in the compiled library against the manpages to find - undocumented public functionality. - - * unix/mkLinks: Updated to include the new manpage. - - * doc/UniCharIsAlpha.3: New manpage documenting the Unicode - character classification APIs. [Bug 218720] - -2001-04-07 Andreas Kupries - - * unix/mkLinks: Updated to incorporate the changes below. - - * doc/StringObj.3: Added 'Tcl_AttemptSetObjLength' to the NAME - section. [Bug 414435] - - * doc/Alloc.3: Added both 'Tcl_AttemptAlloc' and 'Tcl_AttemptRealloc' - to the NAME section. [Bug 414435] - - * doc/Utf.3: Added both 'Tcl_UniCharCaseMatch' and - 'Tcl_UniCharNcasecmp' to the NAME section. [Bug 414435] - -2001-04-06 Don Porter - - * library/init.tcl: - * tests/init.test: Modified processing of $::errorInfo by [unknown] - when the auto-loaded command throws an error to better cover the - tracks of auto-loading. [Bug 219280, Patch 403551] - -2001-04-06 Donal K. Fellows - - * doc/read.n: Added section on "USE WITH SERIAL PORTS" to resolve - [Bug 219402] - - * tests/string.test (string-2.30): Test for this case - * generic/tclCmdMZ.c (Tcl_StringObjCmd, STR_COMPARE branch): Fixed - problem caused by Utf-rep of \x00 being more than Utf-rep of \x01 - fooling memcmp by forcing everything through Utf-based comparisons. - Added optimizations for case where objects have a string/unicode-rep - or a bytearray-rep (i.e. where we can perform comparisons on - fixed-size units). [Bug 219201] - * generic/tclUtf.c (Tcl_UtfNcmp): Corrected seriously erroneous - comment. - -2001-04-05 Andreas Kupries - - * doc/Macintosh.3: Removed duplicates from .SH line. [Bug 413983] - -2001-04-05 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): Fixed so will compile - with K&R compilers. [Patch 413844, Bug 413847] - -2001-04-04 Don Porter - - * generic/tclMain.c: Patch from Kevin Kenny to restore support of - pre-ANSI compilers. [Bug 413846, Patch 413842] - -2001-04-04 Andreas Kupries - - * unix/mkLinks: Updated to contain the new manpage. - - * doc/Environment.3: New manpage, describes Tcl_PutEnv. [Bug 219171] - - * doc/Macintosh.3: New manpage describing the macintosh specific parts - of the public API. [Bug 219169] - -2001-04-04 Jeff Hobbs - - * unix/configure: - * unix/tcl.m4: extended test of termios vs. termio vs. sgtty to - better detect result on Linux and when certain configure - redirections are being used. [Patch 402923; Bug 227412, 219194] (max) - -2001-04-04 Andreas Kupries - - * generic/tclTest.c: - * tests/io.tests: TIP #10 followup correcting a problem with the - original patch because of the lack of 'testthread id' for a - non-threaded compilation. - -2001-04-04 Kevin Kenny - - * doc/ByteArrObj.3: - * doc/DumpActiveMemory.3: - * doc/InitStubs.3: - * doc/PkgRequire.3: - * doc/StringObj.3: - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclBinary.c: - * generic/tclCkalloc.c: - * generic/tclDecls.h: - * generic/tclListObj.c: - * generic/tclObj.c: - * generic/tclPkg.c: - * generic/tclStringObj.c: - * generic/tclStubLib.c: (TIP#27) Changed a number of Tcl API's to - accept "CONST char*" in place of simple "char*". (kennykb) [Patch - 404026] - -2001-04-04 Jeff Hobbs - - * generic/tclListObj.c (Tcl_SetListObj): set objPtr->length = 0 in - empty object case to maintain sanctity of Tcl_Obj bytes/length - pairing. [Patch 405998] (porter) - -2001-04-03 Andreas Kupries - - * unix/mkLinks: Added 'Signal.3', 'Tcl_WaitPid'. - - * doc/DetachPids.3: Added description of 'Tcl_WaitPid' [Bug 219173]. - - * doc/Signal.3: New man page describing the public API procedures - 'Tcl_SignalId' and 'Tcl_SignalMsg'. [Bug 219172] - -2001-04-02 Jeff Hobbs - - * README: - * win/README: - * win/README.binary: further notes corrections. - - * win/configure: - * win/tcl.m4 (SHLIB_LD): added -incremental:no. [Bug 219381] - -2001-04-01 Jeff Hobbs - - * README: - * mac/README: - * win/README: - * win/README.binary: - * unix/README: updated patchlevel information to 8.4a3 and updated - links and notes. - - * generic/tcl.h: - * tools/tcl.wse.in: - * win/configure.in (VER): - * win/configure: - * unix/configure: - * unix/configure.in (VER): - * unix/tcl.spec: updated patchlevel information to 8.4a3 - -2001-03-30 Jeff Hobbs - - * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): set curTagPtr - to NULL to allow for reuse. - * generic/tclEvent.c (Tcl_Finalize): moved the tsdPtr initialization - inside the subsystemsInitialized check to prevent it potentially - getting called twice during finalization. - [Patch 403532, Bug 219391] (wu) - - * generic/tclThreadTest.c (Tcl_ThreadObjCmd): cast fixes - * generic/tclTest.c (TestChannelCmd): added cast to mollify Windows - debug build. - - * win/tclWinSock.c (SocketEventProc): Fixed race condition in - readability of socket on Windows. [Patch 410674, Bug 219205, 219333] - - * win/tcl.m4: added imm32.lib to LIBS_GUI for Tk IME support. - - * win/Makefile.in (install-libraries): removed extra \s that broke - the target. - (install-doc): improved install-* targets to use their base build - dependency. - -2001-03-30 Andreas Kupries - - * All of the changes below belong to TIP #10 [Tcl I/O Enhancement: - Thread-Aware Channels]. See also [Patch 403358] at SF. - - * generic/tclIO.h (struct ChannelState, line 236f): Extended the - structure with a new field of type 'Tcl_ThreadId' to hold the id of - the thread currently managing all channels with this state. - - Note: This structure is shared by all channels in a stack of - transformations. - - * generic/tclIO.c (Tcl_CreateChannel, lines 1058-1065): Modified to - store the Id of the current thread in the 'ChannelState' of the new - channel. - - * generic/tclIO.c (Tcl_SpliceChannel, lines 2265-2270): Modified in - the same manner as 'Tcl_CreateChannel' as the channel will be managed - by the current thread afterward. - - * generic/tclIO.c (Tcl_GetChannelThread, lines 1478-1503): - * generic/tcl.decls (Tcl_GetChannelThread, lines 1504-1506): New API - function to retrieve the Id of the managing thread from a channel. - Implementation and declaration. - - * generic/tclTest.c (TestChannelCmd, lines 4520-4532): Added - subcommand 'mthread' to query a channel about its managing thread. - -2001-03-29 Mo DeJong - - * tests/interp.test: Print out warning when testinterpdelete command - is not defined. Add tests that checks to make sure a child interp - inherits the parent's cwd. - -2001-03-29 Jeff Hobbs - - * doc/tcltest.n: corrected incorrect macro usage. - - * doc/lsort.n: corrected unbalanced nroff macros. - - * unix/tclUnixPipe.c (TclpCreateTempFile): prevent potential race - condition and security leak in tmp filename creation. - [Patch 402924] (max) - - * unix/configure: - * unix/tcl.m4: corrected IRIX-5.x config to not use -n32. - [Patch 403626] (english) - - * unix/tclUnixThrd.c (Tcl_ConditionWait): fixed handling of timeout - for threads (corrects excessive CPU usage issue for Tk on Unix in - threaded Tcl environment). [Bug 411603] (ruppert) - -2001-03-29 Donal K. Fellows - - * doc/lsort.n: Added some notes that clarify the behaviour of - [lsort] as well as a whole bunch of examples. [Bug 219202] - -2001-03-27 Jeff Hobbs - - * doc/Alloc.3: corrected docs to note that Tcl_Attempt* return char - *'s, not ints. [Bug 411388] - - * tests/regexp.test (regexp-19.1): - * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): fixed handling of nulls in - subspec value. - -2001-03-26 Don Porter - - * generic/tclDecls.h (Tcl_InitCustomHashTable): Correction to patch - from 2001-01-18; tclDecls.h was not generated using 'make genstubs'. - -2001-03-26 Donal K. Fellows - - * win/tclWinInt.h (tclWinTCharEncoding): Removed as now a static - variable in win/tclWin32Dll.c instead. - -2001-03-23 Jeff Hobbs - - * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected retrieval of resultPtr - to prevent possible corruption. - - * generic/tclNamesp.c (Tcl_Import): Correctly freed a DString. - [Patch 403755] (lavana) - -2001-03-15 Donal K. Fellows - - * tests/set-old.test (set-old-7.2): Changed error behaviour of - [unset] to agree with documentation, so must change test as well. - -2001-03-14 Don Porter - - * library/package.tcl (pkg_mkIndex): Added patch from Vince Darley to - make [pkg_mkIndex -verbose] even more verbose. [Bug 219349, Patch - 403529] - -2001-03-13 Donal K. Fellows - - * doc/info.n: Improved documentation for [info hostname]. [Bug 403840] - - * generic/tclVar.c (Tcl_UnsetObjCmd): Made command behave as - documented [issue remaining from Bug 405769] - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): A missing {return TCL_OK;} - was causing memory corruption. [Bug 408002] - - * generic/tclExecute.c (TclDeleteExecEnv, GrowEvaluationStack, - (TclExecuteByteCode): Added some casts to ClientData that are - apparently needed on some architectures. - -2001-03-12 Donal K. Fellows - - * tests/string.test: Fixed some test numberings and added a test. - [Patch 403229] - -2001-03-06 Donal K. Fellows - - * generic/tclVar.c (Tcl_UnsetObjCmd): Rewrote argument parser to avoid - a read off the end of the argument array that could occur when - executing something like [unset -nocomplain] was executed. Improved - the error message given when not enough arguments are given (-nocomplain - should obviously be *before* --, not after it) and also modified the - test suite to take account of that and the documentation to use the - same improvement. [Bug 405769] - -2001-03-02 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Fixed bug that could pass - pointers to freed memory to command implementations, which most - obviously caused some weird behaviour with [info level], but could - have caused problems with user code and command traces too. [Bug - 404865, Patch 405436] - -2001-02-23 msofer - - * no changes; fixing up the missing comment in the previous one. - Sorry. - -2001-02-23 msofer - - * /cvsroot/tcl/tcl/tests/execute.test: added test for evaluation of an - expression in a variable; evals once by compiling, second time using - the previous compilation - -2001-02-18 Kevin B. Kenny - - * doc/clock.n: Updated documentation to reflect the addition of - compat/strftime.c, including the correct formatting of ISO-8601:1988 - fiscal week number (%V). - -2001-02-15 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Improved efficiency of - splitting strings into individual characters by adding hash so that - only one Tcl_Obj per character is created. Improves performance of - splitting of short strings and makes a huge difference to splitting of - long strings, such as is done in the mime package in tcllib. [Bug - 131523] - -2001-01-31 Don Porter - - * win/makefile.vc (install-libraries): Corrected misdirected install - directory for the msgcat 1.2 package. - -2001-01-30 Don Porter - - * generic/tclIO.c (CopyData): Moved code that updates the count of how - many bytes are left to copy. Corrects bug that when writing occurs in - the background, the copy loop could be escaped without updating the - count, causing CopyData() to try to copy more bytes than the toRead - value originally passed to TclCopyChannel(), leading to hangs and - misreporting of number of bytes copied. [Bug 118203, Patch 103432] - -2001-01-18 Andreas Kupries - - Everything below belongs together, it fixes [Bug 123153] - - * generic/tcl.h (line 342): A bit more explanation about the default - value for TCL_PRESERVE_BINARY_COMPATABILITY. - - * generic/tcl.h (line 1208): Define the macro 'Tcl_InitHashTable' only - when TCL_PRESERVE_BINARY_COMPATIBILITY is not set as it kills binary - compatibility to 8.3 and earlier versions. This is the main part of - the patch/change. - - * generic/tcl.decls (line 1469): - * generic/tclHash.c (Tcl_InitHashTable): - * generic/tclHash.c (Tcl_InitHashTableEx): - * generic/tclObj.c (Tcl_InitObjHashTable): Changed - 'Tcl_InitHashTableEx' to 'Tcl_InitCustomHashTable'. This change is - more of an estethical nature, replacing the ubiquitous 'Ex' suffix - with a more meaningful name. The introduced binary incompatibility is - deemed acceptable as it is between alpha versions. Updated callers. - - * doc/Hash.3: - * unix/mkLinks: Changed 'Tcl_InitHashTableEx' to - 'Tcl_InitCustomHashTable'. - -2001-01-10 Donal K. Fellows - - * tests/winPipe.test (winpipe-1.20): - * tests/winDde.test (createChildProcess): - * tests/pkgMkIndex.test (pkgtest::createIndex): Removed assumption - that paths contain no spaces which causes problems with both [eval] - and [open |...] due to the well-known differences between lists and - strings. Fixes [Bug 119406] - -2001-01-04 Don Porter - - * tests/unixInit.test: - * unix/tclUnixInit.c (TclpInitLibraryPath): - * win/tclWinInit.c (TclpInitLibraryPath): Several entries in the - library path ($tcl_libPath) are determined relative to the absolute - path of the executable. When the executable is installed in or near - the root directory of the file system, relative pathnames were being - incorrectly generated, and in the worst case, memory access violations - were crashing the program. [Bug 119416, Patch 102972] - - ****************************************************************** - *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** - *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" *** - ****************************************************************** DELETED ChangeLog.2002 Index: ChangeLog.2002 ================================================================== --- ChangeLog.2002 +++ /dev/null @@ -1,4741 +0,0 @@ -2002-12-18 David Gravereaux - - * win/makefile.vc: some uses of xcopy swapped to the @$(CPY) macro. - Reported by Joe Mistachkin . - -2002-12-17 Jeff Hobbs - - * generic/tclNotify.c (TclFinalizeNotifier, Tcl_SetServiceMode): - (Tcl_ThreadAlert): Check that the stub functions are non-NULL before - calling them. They could be set to NULL by Tcl_SetNotifier. - -2002-12-16 David Gravereaux - - * generic/tclPipe.c (TclCleanupChildren): - * tests/winPipe.test: - * win/tclWinPipe.c (Tcl_WaitPid): - * win/tclWinTest.c: Gave Tcl_WaitPid the ability to return a Win32 - exception code translated into a Posix-style SIG*. This allows [close] - to report "CHILDKILLED" without the meaning getting lost in a - truncated exit code. In TclCleanupChildren(), TclpGetPid() had to get - moved to before Tcl_WaitPid() as the the handle is removed from the - list taking away the ability to get the process id after the wait is - done. This shouldn't effect the unix implimentaion unless waitpid is - called with a pid of zero, meaning "any". I don't think it is.. - -2002-12-13 Don Porter - - * unix/configure.in: Updated configure of CVS snapshots to reflect - * win/configure.in: the 8.4.1.1 patchlevel. - - * unix/configure: autoconf - * win/configure autoconf - -2002-12-11 Don Porter - - * generic/tclProc.c (ProcessProcResultCode): Fix failure to propagate - negative return codes up the call stack. [Bug 647307] - * tests/proc.test (proc-6.1): Test for Bug 647307 - - * generic/tclParseExpr.c (TclParseInteger): Return 1 for the string - "0x" (recognize leading "0" as an integer). [Bug 648441] - * tests/parseExpr.test (parseExpr-19.1): Test for Bug 648441. - -2002-12-09 Jeff Hobbs - - * win/tclWinThrd.c (TclpMasterUnlock): - * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must - exist and be called unconditional of TCL_THREADS. [Bug 651139] - -2002-12-08 David Gravereaux - - * win/tclWinSock.c (SocketThreadExitHandler, InitSockets): Check - that the tsdPtr is valid before dereferencing as we call it from the - exit handler, too [Bug 650353]. Another WSAStartup() loaded version - comparison byte swap issue fixed. Although 0x0101 byte swapped is - still 0x0101, properly claiming which is major/minor is more correct. - -2002-12-06 Jeff Hobbs - - * generic/tclStubInit.c: regen - * generic/tclIntPlatDecls.h: regen - * generic/tclInt.decls: added TclWinResetInterface - - * win/tclWin32Dll.c (TclWinResetInterfaces): - * win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup): - add exit handler that resets the encoding information to a state where - we can reuse Tcl. Following these changes, it is possible to reuse Tcl - (following Tcl_FindExecutable or Tcl_CreateInterp) following a - Tcl_Finalize. - - * generic/tclIOUtil.c (TclFinalizeFilesystem): reset statics to their - original values on finalize to allow reuse of the library. - -2002-12-04 David Gravereaux - - * win/tclWinPipe.c: reverted back to -r1.27 due to numerous test - failures that need to be resolved first. The idea was good, but the - details aren't. - -2002-12-04 David Gravereaux - - * win/tclWinPipe.c (Tcl_WaitPid): When a process exits with an - exception, pass this notice on to the caller with a SIG* code rather - than truncating the exit code and missing the meaning. This allows - TclCleanupChildren() to report "CHILDKILLED". - - This has a different behavior than unix in that closing the read pipe - to a process sends the SIGPIPE signal which is returned as a SIGPIPE - exit status. On windows, we send the process a CTRL_BREAK_EVENT and - get back a CONTROL_C_EXIT which is documented to mean a SIGINT which - seems wrong as a system, but is the correct exit status. - -2002-12-04 Vince Darley - - * generic/tclIOUtil.c: fix to redirected 'load' in virtual filesystem - for some Unix systems. - - * generic/tclEvent.c: the filesystem must be cleaned up before the - encoding subsystem because it needs access to encodings. Fixes crash - on exit observed in embedded applications. - - * generic/tclTestObj.c: patch omitted from previous change of - 2002-11-13 - -2002-12-03 Jeff Hobbs - - * generic/tclStubLib.c (Tcl_InitStubs): prevent the cached check of - tclStubsPtr to allow for repeated load/unload of the Tcl dll by - hosting apps. [Bug 615304] - -2002-12-03 David Gravereaux - - * win/tclAppInit.c (sigHandler): Protect from trying to close a NULL - handle. - - * win/tclWinPipe.c (PipeClose2Proc, TclpCreateProcess): Send a real - Win32 signal (CTRL_C_EVENT) when the read channel is brought down to - alert the child to close on its side. Start the process with - CREATE_NEW_PROCESS_GROUP to allow the ability to send these signals. - The following test case now brings down the child without the use of - an external [kill] command. - - % set p [open "|[info name]" w+] - file8d5380 - % pid $p - 2876 - % close $p <- now doesn't block in Tcl_WaitPid() - % - - * win/tclWinPipe.c (PipeClose2Proc): Changed CTRL_C_EVENT to - CTRL_BREAK_EVENT as it can't be ignored by the child and proved to - work on [open "|netstat 1" w+] where CTRL_C_EVENT didn't. - -2002-11-27 David Gravereaux - - * win/tclWinPort.h: Don't turn off winsock prototypes! TclX didn't - like it. Even though the core doesn't use the prototypes, do offer - them. - - * win/tclWinSock.c: Removed shutdown() from the function table as it - wasn't referenced anywhere and cleaned-up some casting that that - wasn't needed. - - * win/tclWinSock.c: WSAStartup() loaded version comparison error which - resulted in 2.0 looking less than 1.1. - - * win/tclWinChan.c (Tcl_MakeFileChannel): return of DuplicateHandle() - incorrectly used. [Bug 618852] - -2002-11-26 Jeff Hobbs - - * generic/tclEncoding.c (TclFinalizeEncodingSubsystem): properly - cleanup all encodings by using Tcl_FirstHashEntry in the while loop. - - * unix/Makefile.in (valgrind): add simple valgrind target - - * tests/exec.test: unset path var to allow singleproc testing - - * generic/tclInterp.c (AliasCreate): preserve/release interps to - prevent possible FMR error in bad alias cases. - -2002-11-26 David Gravereaux - - * win/tclWinPort.h: - * win/tclWinSock.c: This patch does two things: - - 1) Cleans-up the winsock typedefs by using the typedefs provided by - winsock2.h. This has no effect on how winsock is initialized; just - makes the source code easier to read. [Patch 561305 561301] - - 2) Revamps how the socket message handler thread is brought up and - down to allow for cleaner exits without the use of TerminateThread(). - TerminateThread is evil. No attempt has been made to resolve [Bug - 593810] which may need a new channel driver version for adding a - registering function within the transfered thread to init the handler - thread. IOW, initialization of the TSD structure is getting bypassed - through the thread extension's [thread::transfer] command. - -2002-11-26 David Gravereaux - - * win/tclWinConsole.c: - * win/tclWinPipe.c: - * win/tclWinSerial.c: - * win/tclWinSock.c: - * win/tclWinThrd.c: - * win/tclWinTime.c: General cleanup of all worker threads used by the - channel drivers. Eliminates the normal case where the worker thread is - terminated ('cept the winsock one). Instead, use kernel events to - signal a clean exit. Only when the worker thread is blocked on an I/O - call is the thread terminated. Essentially, this makes all other - channel worker threads behave like the PipeReaderThread() function for - it's cleaner exit behavior. This appears to fix [Bug 597924] but needs - 3rd party confirmation to close the issue. - -2002-11-26 Mo DeJong - - * win/README: Update msys build env URL. This release #4 build both - tcl and tk without problems. - -2002-11-22 Jeff Hobbs - - * library/init.tcl: code cleanup to reduce use of - * library/opt/optparse.tcl: string compare - - * tests/interp.test: interp-14.4 - * generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault when - creating an alias command over the interp name. [Bug 641195] - -2002-11-18 Jeff Hobbs - - * generic/tclUtil.c (SetEndOffsetFromAny): handle integer offset - after the "end-" prefix. - - * generic/get.test: - * generic/string.test: - * generic/tclObj.c (SetIntFromAny, SetWideIntFromAny): - * generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign handling - before calling strtoul(l). [Bug 634856] - -2002-11-18 David Gravereaux - - * win/tclWinThrd.c (Tcl_CreateThread/TclpThreadExit): Fixed improper - compiler macros that missed the VC++ compiler. This resulted in VC++ - builds using CreateThread()/ExitThread() in place of the proper - _beginthreadex()/_endthreadex(). This was a large error and am - surprised I missed seeing it earlier. - -2002-11-13 Jeff Hobbs - - * generic/regexpComp.test: added tests 22.* - * generic/tclCompCmds.c (TclCompileRegexpCmd): add left and right - anchoring (^ and $) recognition and check starting or ending .* to - extend the number of REs that can be compiled to string match or - string equal. - -2002-11-13 Vince Darley - - * generic/tclCmdMZ.c: - * tests/trace.test: applied patch from Hemang Levana to fix [Bug - 615043] in execution traces with 'return -code error'. - - * generic/tclTestObj.c: - * tests/stringObj.test: added 'knownBug' test for [Bug 635200] - * generic/tclStringObj.c: corrected typos in comments - - * generic/tclFileName.c: - * tests/fileName.test: applied patch for bug reported against tclvfs - concerning handling of Windows serial ports like 'com1', 'lpt3' by the - virtual filesystem code. - - * doc/RegExp.3: clarification of the 'extendMatch' return values. - -2002-11-11 Jeff Hobbs - - * generic/tclUtil.c (Tcl_Backslash): use TclUtfToUniChar. - (Tcl_StringCaseMatch): use TclUtfToUniChar and add further - optimizations for the one-byte/char case. - - * generic/tclUtf.c: make use of TclUtfToUniChar macro throughout the - functions, and add extra optimization to Tcl_NumUtfChars for - one-byte/char case. - - * generic/tclVar.c (DisposeTraceResult, CallVarTraces): add proper - static declarations. - - * generic/tclStringObj.c (Tcl_GetCharLength): optimize for the ascii - char case. - (Tcl_GetUniChar): remove unnecessary use of Tcl_UtfToUniChar. - (FillUnicodeRep): Use TclUtfToUniChar. - - * generic/tclHash.c (HashStringKey): move string++ lower to save an - instruction. - - * generic/tclExecute.c (TclExecuteByteCode): improve INST_STR_CMP to - use memcmp in the one-byte/char case, also use direct index for - INST_STR_INDEX in that case. - - * generic/tclEncoding.c (UtfToUtfProc, UtfToUnicodeProc): - (TableFromUtfProc, EscapeFromUtfProc): Use TclUtfToUniChar. - (UnicodeToUtfProc, TableToUtfProc): add 1-byte char optimizations for - Tcl_UniCharToUtf call. These improve encoded channel conversion speeds - by up to 20%. - - * tests/split.test: added 1-char string split tests - * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar. Also - added a special case for single-ascii-char splits. - (Tcl_StringObjCmd): Use TclUtfToUniChar. For STR_RANGE, support - getting ranges of ByteArrays (reverts change from 2000-05-26). - (TraceExecutionProc) add proper static declaration. - - * generic/tclInt.h: add macro version of Tcl_UtfToUniChar - (TclUtfToUniChar) that does the one-byte utf-char check without - calling Tcl_UtfToUniChar, for use by the core. This brings notable - speedups for primarily ascii string handling. - - * generic/tcl.h (TCL_PATCH_LEVEL): bump to 8.4.1.1 for patchlevel - only. This interim number will only be reflected by [info patchlevel]. - -2002-11-11 Kevin Kenny - - * doc/Tcl.n: Corrected indentation of the new language. Oops. - -2002-11-10 Kevin Kenny - - * doc/Tcl.n: Added language to the Endekalogue to make it clear that - substitutions always take place from left to right. [Bug 635644] - -2002-11-06 Mo DeJong - - * changes: Note TclInExit TclInThreadExit changes. - * generic/tclEvent.c (TclInExit, TclInThreadExit): Split out - functionality of TclInExit to make it clear which one should be called - in each situation. - * generic/tclInt.decls: Declare TclInThreadExit. - * generic/tclIntDecls.h: Regen. - * generic/tclStubInit.c: Regen. - * mac/tclMacChan.c (StdIOClose): - * unix/tclUnixChan.c (FileCloseProc): - * win/tclWinChan.c (FileCloseProc): - * win/tclWinConsole.c (ConsoleCloseProc): - * win/tclWinPipe.c (TclpCloseFile): - * win/tclWinSerial.c (SerialCloseProc): Invoke the new TclInThreadExit - method instead of TclInExit. - -2002-11-06 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Generate a fatal configure error if - no ar program can be found on the path. [Bug 582039] - * win/configure: Regen. - * win/configure.in: Check that AR, RANLIB, and RC are found on the - path when building with gcc. - -2002-11-03 David Gravereaux - - * win/tclAppInit.c: Calls Registry_Init() and Dde_Init() when - STATIC_BUILD and TCL_USE_STATIC_PACKAGES macros are set. - - * win/makefile.vc: - * win/rules.vc: linkexten option now sets the TCL_USE_STATIC_PACKAGES - macro which also adds the registry and dde object files to the link - of the shell. [Patch 479697] Also factored some additional macros that - will be helpful for extension authors. Version grepping of tcl.h will - need to be added to complete this. - - * win/buildall.vc.bat: Added more descriptive commentary. - -2002-11-01 David Gravereaux - - * win/tclWinReg.c: Changed the Tcl_PkgProvide() line to declare the - registry extension at version 1.1 from 1.0. - -2002-10-31 Andreas Kupries - - * library/word.tcl: Changed $tcl_platform to $::tcl_platform to avoid - possible scope trouble. - -2002-10-29 Vince Darley - - * win/tclWinInt.h: - * win/tclWin32Dll.c: added comments about certain NULL function - pointers which will be filled in when Tcl_FindExecutable is called, so - that users don't report invalid bugs on this topic. (No code changes - at all). - -2002-10-29 Daniel Steffen - - * unix/tclLoadDyld.c (TclpFindSymbol): pass all dyld error messages - upstream [Bug 627546]. - -2002-10-28 Andreas Kupries - - * library/dde/pkgIndex.tcl: - * library/reg/pkgIndex.tcl: Changed the hardwired debug suffix (d) to - the correct suffix (g). - -2002-10-28 Don Porter - - * library/auto.tcl: Converted the Mac-specific [package unknown] - * library/init.tcl: behavior to use a chaining mechanism to extend - * library/package.tcl: the default [tclPkgUnknown]. [Bug 627660] - * library/tclIndex: [Patch 624509] (steffen) - -2002-10-26 David Gravereaux - - * win/makefile.vc: xcopy on NT 4.0 doesn't support the /Y switch - (overwrite). Added logic to handle this. [Bug 618019] - -2002-10-23 Donal K. Fellows - - * generic/tclInt.h: Removed definitions of obsolete HistoryEvent and - HistoryRev structures (the history mechanism has been written in Tcl - for some time now.) - -2002-10-22 Jeff Hobbs - - *** 8.4.1 TAGGED FOR RELEASE *** - - * changes: updated for 8.4.1 release - - * win/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst. - * win/configure: regen - * win/configure.in: removed SC_ENABLE_MEMDEBUG call - * win/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent - SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now. - -2002-10-22 Daniel Steffen - - * library/auto.tcl (tcl_findLibrary): - * library/package.tcl (tclPkgUnknown): on macosx, search inside the - Resources/Scripts subdirectory of any potential package directory. - * macosx/Tcl.pbproj/project.pbxproj: add standard Frameworks dirs to - TCL_PACKAGE_PATH make argument. - * unix/tclUnixInit.c (TclpSetVariables): on macosx, add embedded - framework dirs to tcl_pkgPath: @executable_path/../Frameworks and - @executable_path/../PrivateFrameworks (if they exist), as well as the - dirs in DYLD_FRAMEWORK_PATH (if set). [Patch 624509] - use standard MAXPATHLEN instead of literal 1024 - -2002-10-22 Donal K. Fellows - - * doc/StringObj.3, doc/Object.3: Documented that Tcl_Obj's standard - string form is a modified UTF-8; apparently, this was not mentioned - anywhere in the main docs, and lead to [Bug 624919]. - -2002-10-21 Daniel Steffen - - * macosx/Tcl.pbproj/project.pbxproj: bumped version to 8.4.1 - * generic/tcl.h: Added reminder comment to edit - macosx/Tcl.pbproj/project.pbxproj when version number changes. - -2002-10-18 Jeff Hobbs - - * library/reg/pkgIndex.tcl: - * win/configure: - * win/configure.in: - * win/Makefile.in: - * win/makefile.vc: - * win/makefile.bc: Updated to reg1.1 - - * doc/registry.n: Added support for broadcasting changes to the - * tests/registry.test: registry Environment. Noted proper code in the - * win/tclWinReg.c: docs. [Patch 625453] - - * unix/Makefile.in (dist): add any mac/tcl*.sea.hqx files - -2002-10-17 Don Porter - - * generic/tclVar.c: Fixed code that check for proper # of args to - * tests/var.test: [array names]. Added test. [Bug 624755] - -2002-10-16 Jeff Hobbs - - * win/configure: add workaround for cygwin windres - * win/tcl.m4 (SC_CONFIG_CFLAGS): problem. [Patch 624010] (howell) - -2002-10-15 Jeff Hobbs - - * README: added archives.tcl.tk note - - * unix/configure: - * unix/tcl.m4: Correct AIX-5 ppc build flags. Correct HP 11 64-bit gcc - building. [Patch 601051] (martin) - -2002-10-15 Vince Darley - - * generic/tclCmdMZ.c: - * tests/trace.test: applied patch from Hemang Levana to fix [Bug - 615043] in execution traces with idle tasks firing. - -2002-10-14 Jeff Hobbs - - * generic/tclEnv.c (Tcl_PutEnv): correct possible mem leak. [Patch - 623269] (brouwers) - -2002-10-11 Donal K. Fellows - - * generic/tcl.h: Need a different strategy through the maze of - #defines to let people building with Cygwin build correctly. Also made - some comments less misleading... - -2002-10-10 Jeff Hobbs - - * README: fixed minor nits [Bug 607776] (virden) - - * win/configure: - * win/tcl.m4: enable USE_THREAD_ALLOC (new threaded allocator) by - default in cygwin configure on Windows. - -2002-10-10 Don Porter - - * doc/Tcl.n: Clarified that namespace separators are legal in the - variable names during $-subtitution. [Bug 615139] - - * doc/regexp.n: Typo correction. Thanks Ronnie Brunner. [Bug 606826] - -2002-10-10 Vince Darley - - * unix/tclLoadAout.c - * unix/tclLoadDl.c - * unix/tclLoadDld.c - * unix/tclLoadDyld.c - * unix/tclLoadNext.c - * unix/tclLoadOSF.c - * unix/tclLoadShl.c - * win/tclWinLoad.c: allow either full paths or simply dll names to be - specified when loading files (the latter will be looked up by the OS - on your PATH/LD_LIBRARY_PATH as appropriate). Fixes [Bug 611108] - -2002-10-09 Jeff Hobbs - - * unix/README: doc'ed --enable-symbols options. - * unix/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst. - * unix/configure: regen - * unix/configure.in: removed SC_ENABLE_MEMDEBUG call - * unix/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent - SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now. - -2002-10-09 Kevin B. Kenny - - * win/tclWinTime.c: Added code to set an exit handler that terminates - the thread that calibrates the performance counter, so that the thread - won't outlive unloading the Tcl DLL. [Bug 620735] - -2002-10-09 Donal K. Fellows - - * doc/binary.n: More clarification of [binary scan]'s behaviour. - -2002-10-09 Daniel Steffen - - * generic/tclIntDecls.h: fixed botched regen. - -2002-10-09 Daniel Steffen - - * generic/tclInt.decls: made TclSetPreInitScript() declaration - generic as it is used on mac & aqua as well. - * generic/tclIntDecls.h: - * generic/tclStubInit.c: regen. - * generic/tclCompile.h: added prototype for TclCompileVariableCmd. - - * mac/tclMacPort.h: removed incorrect definitions and - obsolete definitions. - * mac/tclMacChan.c: removed obsolete GetOpenMode() and replaced - associated constants with the analogues (they existing defs - were inconsistent with which was causing havoc when - Tcl_GetOpenMode was used instead of private GetOpenMode). - - * mac/tclMacFCmd.c: removed GenerateUniqueName(), use equivalent (and - identically named) routine from MoreFiles instead. - - * mac/tclMacLoad.c: CONSTification, fixes to Vince's last changes. - - * mac/tclMacFile.c: - * mac/tclMacTest.c: - * mac/tclMacUnix.c: CONSTification. - - * mac/tclMacOSA.c: CONSTification, sprintf fixes, UH 3.4.x changes; - fix for missing autoname token from TclOSACompileCmd. (bdesgraupes) - * mac/AppleScript.html(AppleScript delete): doc fix. (bdesgraupes) - - * mac/tcltkMacBuildSupport.sea.hqx: updated MoreFiles to 1.5.3, - updated build instructions for 8.4. - * mac/tclMacProjects.sea.hqx: rebuilt archive. - -2002-10-09 Donal K. Fellows - - * doc/Alloc.3: Added a note to mention that attempting to allocate a - zero-length block can return NULL. [Tk Bug 619544] - -2002-10-04 Donal K. Fellows - - * doc/binary.n: Doc improvements [Patch 616480] - - * tests/fCmd.test, tests/winFCmd.test: - * tools/eolFix.tcl, tools/genStubs.tcl: [file exist] -> [file exists] - Thanks to David Welton. - -2002-10-03 Don Porter - - * doc/tcltest.n: fixed typo [Bug 618018]. Thanks to "JJM". - -2002-10-03 Donal K. Fellows - - * tools/man2help2.tcl: - * tests/http.test, tests/httpd, tests/httpold.test: - * tests/env.test, tests/binary.test, tests/autoMkindex.test: - * library/init.tcl, library/http/http.tcl: [info exist] should really - be [info exists]. [Bug 602566] - - * doc/lsearch.n: Better specification of what happens when -sorted is - mixed with other options. [Bug 617816] - -2002-10-01 Jeff Hobbs - - * generic/tclProc.c (TclCreateProc): mask out VAR_UNDEFINED for - precompiled locals to support 8.3 precompiled code. - (Tcl_ProcObjCmd): correct 2002-09-26 fix to look for tclProcBodyType. - -2002-10-01 Donal K. Fellows - - * doc/socket.n: Mentioned that ports may be specified as serivce names - as well as integers. [Bug 616843] - -2002-09-30 Jeff Hobbs - - * generic/tclCompCmds.c (TclCompileRegexpCmd): correct the checking - for bad re's that didn't terminate the re string. Resultant compiles - were correct, but much slower than necessary. - -2002-09-29 David Gravereaux - - * win/tclAppInit.c: Added proper exiting conditions using Win32 - console signals. This handles the existing lack of a Ctrl+C exit to - call exit handlers when built for thread support. Also, properly - handles exits from other conditions such as CTRL_CLOSE_EVENT, - CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT signals. In all cases, - exit handlers will be called. [Bug 219355] - - * win/makefile.vc: Added missing tclThreadAlloc.c to the build rules - and defines USE_THREAD_ALLOC when TCL_THREADS is defined to get the - new behavior by default. - -2002-09-27 Don Porter - - * README: Bumped to version 8.4.1 to avoid confusion of - * generic/tcl.h: CVS snapshots with the actual 8.4.0 release. - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf - * win/configure: - -2002-09-26 Jeff Hobbs - - * unix/configure: regen. - * unix/tcl.m4: improve AIX-4/5 64bit compilation support. - - * generic/tclProc.c (Tcl_ProcObjCmd): correct overeager optimization - of noop proc to handle the precompiled case. (sofer) - - * unix/ldAix (nmopts): add -X32_64 to make it work for 32 or 64bit - mode compilation. - - * library/encoding/koi8-u.enc: removed extraneous spaces that confused - encoding reader. [Bug 615115] - - * unix/Makefile.in: generate source dists with -src designator and do - not generate .Z anymore (just .gz and .zip). - -2002-09-18 Mumit Khan - - Added basic Cygwin support. - - * win/tcl.m4 (SC_PATH_TCLCONFIG): Support one-tree build. - (SC_PATH_TKCONFIG): Likewise. - (SC_PROG_TCLSH): Likewise. - (SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin - flags. Add -mwin32 to extra_cflags and extra_ldflags. Remove ``-e - _WinMain@16'' from LDFLAGS_WINDOW. - * win/configure.in: Allow Cygwin build. - (SEH test): Define to be 1 instead of empty value. - (EXCEPTION_DISPOSITION): Add test. - * win/configure: Regenerate. - - * generic/tcl.h: Don't explicitly define __WIN32__ for Cygwin, let the - user decide whether to use Windows or POSIX personality. - (TCL_WIDE_INT_TYPE, TCL_LL_MODIFIER, struct Tcl_StatBuf): Define for - Cygwin. - * generic/tclEnv.c (Tcl_CygwinPutenv): putenv replacement for Cygwin. - * generic/tclFileName.c (Tcl_TranslateFileName): Convert POSIX to - native format. - (TclDoGlob): Likewise. - * generic/tclPlatDecls.h (TCHAR): Define for Cygwin. - * win/tclWinPort.h (putenv, TclpSysAlloc, TclpSysFree, - (TclpSysRealloc): Define for Cygwin. - -2002-09-26 Daniel Steffen - - * macosx/Makefile: preserve environment value of INSTALL_ROOT. When - embedding only use deployment build. Force relink before embedded - build to ensure new linker flags are picked up. - - * macosx/Tcl.pbproj/project.pbxproj: add symbolic links to debug lib, - stub libs and tclConfig.sh in framework toplevel. Configure target - dependency fix. Fix to 'clean' action. Added private tcl headers to - framework. Install tclsh symbolic link. Html doc build works when no - installed tclsh available. Made html doc structure in framework more - like in Apple frameworks. - -2002-09-24 Donal K. Fellows - - * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Yet more robust 64-bit value - detection to close [Bug 613117] on more systems. - - * generic/tclCompile.c (TclPrintSource): More CONSTifying. - * generic/tclExecute.c (EvalStatsCmd): Object-ify to reduce warnings. - Thanks to 'CoderX2' on the chat for bringing this to my attention... - - * unix/tcl.m4: Forgot to define TCL_WIDE_INT_IS_LONG at the - appropriate moment. I believe this is the cause of [Bug 613117] - - * doc/lset.n: Changed 'list' to 'varName' for consistency with lappend - documentation. Thanks to Glenn Jackman [Bug 611719] - -2002-09-22 Don Porter - - * library/tcltest/tcltest.tcl: Corrected [puts -nonewline] within - test bodies. Thanks to Harald Kirsch. [Bug 612786, Patch 612788] Also - corrected reporting of body return code. Thanks to David Taback [Bug - 611922] - * library/tcltest/pkgIndex.tcl: Bump to version 2.2.1. - * tests/tcltest.test: added tests for these bugs. - -2002-09-15 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add PEEK_XCLOSEIM define under - Linux. This is used by Tk to double check that an X input context is - cleaned up before it is closed. - -2002-09-12 David Gravereaux - - * win/coffbase.txt: Added BLT to the virtual base address listings - table should BLT's build tools decide to use it. - -2002-09-12 Daniel Steffen - - * generic/tcl.h: - * mac/tclMacApplication.r: - * mac/tclMacLibrary.r: - * mac/tclMacResource.r: unified use of the two equivalent resource - compiler header inclusion defines RC_INVOKED and RESOURCE_INCLUDED, - now use RC_INVOKED throughout. - -2002-09-10 Mo DeJong - - * unix/README: Add note about building extensions with the same - compiler Tcl was built with. [Tk Bug 592096] - -2002-09-10 Daniel Steffen - - * macosx/Tcl.pbproj/project.pbxproj: disabled building html - documentation during embedded build. - -2002-09-10 Daniel Steffen - - * unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx and - set it to default value ${LIB_RUNTIME_DIR} - * unix/tcl.m4 (Darwin): use DYLIB_INSTALL_DIR instead of - LIB_RUNTIME_DIR in the -install_name argument to ld. - * unix/configure: regen. - - * macosx/Tcl.pbproj/project.pbxproj: - * macosx/Makefile: added support for building Tcl as an embedded - framework, i.e. using an dyld install_name containing - @executable_path/../Frameworks via the new DYLIB_INSTALL_DIR - unix/Makefile variable. - -2002-09-10 Jeff Hobbs - - *** 8.4.0 TAGGED FOR RELEASE *** - -2002-09-06 Don Porter - - * doc/file.n: Format correction, and clarified [file normalize] - returns an absolute path. - - * doc/tcltest.n: Added examples section, as long promised. - -2002-09-06 Reinhard Max - - * tests/tcltest.test: Added nonRoot flag to tests 8.3, 8.4, and 8.12. - -2002-09-05 Don Porter - - * doc/tcltest.n: Clarified phrasing. - - * generic/tclBasic.c (TclRenameCommand,CallCommandTraces): - * tests/trace.test (trace-27.1): Corrected memory leak when a rename - trace deleted the command being traced. Test added. Thanks to Hemang - Lavana for the fix. [Bug 604609] - - * generic/tclVar.c (TclDeleteVars): Corrected logic for setting the - TCL_INTERP_DESTROYED flag when calling variable traces. [Tk Bug 605121] - -2002-09-04 Miguel Sofer - - * generic/tclVar.c (DeleteArray): leak plug [Bug 604239]. Thanks to - dkf and dgp for the long and difficult discussion in the chat. - -2002-09-03 Jeff Hobbs - - * generic/tclVar.c (Tcl_UpVar2): code cleanup to not use goto - - * unix/configure: remove -pthread from LIBS on FreeBSD in thread - * unix/tcl.m4: enabled build. [Bug 602849] - -2002-09-03 Miguel Sofer - - * generic/tclInterp.c (AliasCreate): a Tcl_Obj was leaked on error - return from TclPreventAliasLoop. - -2002-09-03 Daniel Steffen - - * macosx/Tcl.pbproj/project.pbxproj: Bumped version number to 8.4.0 - and updated copyright info. - -2002-09-03 Miguel Sofer - - * generic/tclVar.c (Tcl_UpVar2): a Tcl_Obj was being leaked on error - return from TclGetFrame. - -2002-09-03 Don Porter - - * changes: Updated changes for 8.4.0 release. - -2002-09-02 Jeff Hobbs - - * unix/tclUnixFile.c (TclpObjLink): removed unnecessary/unfreed extra - native char*. - - * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): make sure to init - flags field of TcpState ptr to 0. - - * unix/configure: - * unix/tcl.m4: added 64-bit gcc compilation support on HP-11. - [Patch 601051] (martin) - - * README: Bumped version number to 8.4.0 - * generic/tcl.h: - * tools/tcl.wse.in: - * unix/configure: - * unix/configure.in: - * unix/tcl.spec: - * win/README.binary: - * win/configure: - * win/configure.in: - - * generic/tclInterp.c (SlaveCreate): make sure that the memory and - checkmem commands are initialized in non-safe slave interpreters when - TCL_MEM_DEBUG is used. [Bug 583445] - - * win/tclWinConsole.c (ConsoleCloseProc): only wait on writable pipe - if there was something to write. This may prevent infinite wait on - exit. - - * tests/exec.test: marked exec-18.1 unixOnly until the Windows - incompatibility (in the test, not the core) can be resolved. - - * tests/http.test (http-3.11): added close $fp that was causing an - error on Windows because the file was not closed before deleting. - - * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): made this static - function only appear when HAVE_CFBUNDLE is defined. - -2002-08-31 Daniel Steffen - - * unix/tcl.m4: added TK_SHLIB_LD_EXTRAS analogue of existing - TCL_SHLIB_LD_EXTRAS for linker settings only used when linking Tk. - - * unix/configure: regen - -2002-08-31 Daniel Steffen - - *** macosx-8-4-branch merged into the mainline [Patch 602770] *** - - * generic/tcl.decls: added new macosx specific entry to stubs table. - - * tools/genStubs.tcl: added generation of platform guards for - macosx. This is a little more complex than it seems, because MacOS X - IS "unix" plus a little bit, for the purposes of Tcl. BUT - unfortunately, Tk uses "unix" to mean X11. So added platform keys for - macosx (the little added to "unix"), "aqua" and "x11" to distinguish - these for Tk. - - * generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h can - be passed to the resource compiler. - - * generic/tcl.h: - * generic/tclNotify.c: added a few Notifier procs, to be able to - modify more bits of the Tcl notifier dynamically. Required to get Mac - OS X Tk to live on top of the Tcl Unix threaded notifier. Changes the - size of the Tcl_NotifierProcs structure, but doesn't move any elements - around. - - * unix/tclUnixNotfy.c: moved the call to Tcl_ConditionNotify till - AFTER we are done mucking with the pointer swap. Fixes cases where the - thread waiting on the condition wakes & accesses the waitingListPtr - before it gets reset, causing a hang. - - * library/auto.tcl (tcl_findLibrary): added checking the directories - in the tcl_pkgPath for library files on macosx to enable support of - the standard Mac OSX library locations. - - * unix/Makefile.in: - * unix/configure.in: - * unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS: there - are some MacOS X specific files now for Tcl, and when I get the - resource & applescript stuff ported over, and restore support for - FindFiles, etc, there will be a few more. Added LD_LIBRARY_PATH_VAR - configure variable to avoid having to set all possible LD_LIBRARY_PATH - analogues on all platforms. LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH" - by default, "LIBPATH" on AIX, "SHLIB_PATH" on HPUX and - "DYLD_LIBRARY_PATH" on Mac OSX. Added configure option to package Tcl - as a framework on Mac OSX. - - * macosx/tclMacOSXBundle.c (new): support for finding Tcl extension - packaged as 'bundles' in the standard Mac OSX library locations. - - * unix/tclUnixInit.c: added support for findig the tcl script library - inside Tcl packaged as a framework on Mac OSX. - - * macosx/Tcl.pbproj/jingham.pbxuser (new): - * macosx/Tcl.pbproj/project.pbxproj (new): project for Apple's - ProjectBuilder IDE. - - * macosx/Makefile (new): simple makefile for building the project from - the command line via the ProjectBuilder tool 'pbxbuild'. - - * unix/configure: - * generic/tclStubInit.c: - * generic/tclPlatDecls.h: regen - -2002-08-29 Andreas Kupries - - * win/tclWinThrd.c (TclpFinalizeThreadData, TclWinFreeAllocCache): - Applied patch for [Bug 599428], provided by Miguel Sofer - . - -2002-08-28 David Gravereaux - - * generic/tclEnv.c: - * unix/configure.in: - * win/tclWinPort.h: putenv() on some systems copies the buffer rather - than taking reference to it. This causes memory leaks and is know to - effect mswindows (msvcrt) and NetBSD 1.5.2 . This patch tests for this - behavior and turns on -DHAVE_PUTENV_THAT_COPIES=1 when approriate. - Thanks to David Welton for assistance. [Bug 414910] - - * unix/configure: regen'd - -2002-08-28 Donal K. Fellows - - * doc/eval.n: Added mention of list command and corrected "SEE ALSO". - - * unix/configure.in: Cache handling of ac_cv_type_socklen_t was wrong. - [Bug 600931] reported by John Ellson. Fixed by putting the brackets - where they belong. - -2002-08-26 Miguel Sofer - - * generic/tclCompCmds.c: fix for [Bug 599788] (error in element name - causing segfault), reported by Tom Wilkason. Fixed by copying the - tokens instead of the source string. - -2002-08-26 Miguel Sofer - - * generic/tclThreadAlloc.c: small optimisation, reducing the new - allocator's overhead. - -2002-08-23 Miguel Sofer - - * generic/tclObj.c (USE_THREAD_ALLOC): fixed leak [Bug 597936]. Thanks - to Zoran Vasiljevic. - -2002-08-23 Miguel Sofer - - * generic/tclThreadAlloc.c (USE_THREAD_ALLOC): moving objects between - caches as a block, instead of one-by-one. - -2002-08-22 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclCmdMZ.c: fix for freed memory r/w in delete traces [Bug - 589863], patch by Hemang Lavana. - -2002-08-20 Andreas Kupries - - * win/Makefile.in (CFLAGS): - * unix/Makefile.in (MEM_DEBUG_FLAGS): Added usage of @MEM_DEBUG_FLAGS@. - * win/configure.in: - * unix/configure.in: Added usage of SC_ENABLE_MEMDEBUG. - * win/tcl.m4: - * unix/tcl.m4: Added macro SC_ENABLE_MEMDEBUG. Allows a user of - configure to (de)activate memory validation and debugging - (TCL_MEM_DEBUG). No need to modify the makefile anymore. - -2002-08-20 Don Porter - - * generic/tclCkalloc.c: CONSTified MemoryCmd and CheckmemCmd. - - * README: Bumped version number to 8.4b3 to distinguish - * generic/tcl.h: HEAD from the 8.4b2 release. - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/README.binary: - * win/configure.in: - - * unix/configure: autoconf - * win/configure: - - * library/http/http.tcl: Corrected installation directory of - * library/msgcat/msgcat.tcl: the package tcltest 2.2. Added - * library/opt/optparse.tcl: comments in other packages to remind - * library/tcltest/tcltest.tcl: that installation directories need - * unix/Makefile.in: updates to match increasing version - * win/Makefile.in: numbers. [Bug 597450] - * win/makefile.bc: - * win/makefile.vc: - -2002-08-19 Andreas Kupries - - * unix/tclUnixTest.c (TestfilehandlerCmd): Changed readable/writable - to the more common readable|writable. Fixes [Bug 596034] reported by - Larry Virden . - -2002-08-16 Donal K. Fellows - - * tests/fCmd.test: Added test to make sure that the cause of the - problem is detectable with an unpatched Tcl. - * doc/ObjectType.3: Added note on the root cause of this problem to - the documentation, since it is possible for user code to trigger this - sort of behaviour too. - * generic/tclIOUtil.c (SetFsPathFromAny): Objects should only have - their old representation deleted when we know that we are about to - install a new one. This stops a weird TclX bug under Linux with - certain kinds of memory debugging enabled which essentally came down - to a double-free of a string. - -2002-08-14 Miguel Sofer - - * generic/tclInt.h: - * generic/tclObj.c: (code cleanup) factored the parts in the macros - TclNewObj() / TclDecrRefCount() into a common part for all - memory allocators and two new macros TclAllocObjStorage() / - TclFreeObjStorage() that are specific to each allocator and fully - describe the differences. Removed allocator-specific code from - tclObj.c by using the macros. - -2002-08-12 Miguel Sofer - - * generic/tclCmdMZ.c: fixing UMR in delete traces, [Bug 589863]. - -2002-08-08 David Gravereaux - - * tools/man2help.tcl: Fixed $argv handling bug where if -bitmap wasn't - specified $argc was off by one. - -2002-08-08 Miguel Sofer - - * tests/uplevel.test: added 6.1 to test [uplevel] with shadowed - commands [Bug 524383] - - * tests/subst.test: added 5.8-10 as further tests for [Bug 495207] - -2002-08-08 Don Porter - - * tests/README: Noted removal of defs.tcl. - -2002-08-08 Jeff Hobbs - - * doc/lsearch.n: corrected lsearch docs to use -inline in examples. - - *** 8.4b2 TAGGED FOR RELEASE *** - - * tests/fCmd.test: - * tests/unixFCmd.test: updated tests for new link copy behavior. - * generic/tclFCmd.c (CopyRenameOneFile): changed the behavior to - follow links to endpoints and copy that file/directory instead of just - copying the surface link. This means that trying to copy a link that - has no endpoint (danling link) is an error. [Patch 591647] (darley) - (CopyRenameOneFile): this is currently disabled by default until - further issues with such behavior (like relative links) can be - handled correctly. - - * tests/README: slight wording improvements - -2002-08-07 Miguel Sofer - - * docs/BoolObj.3: added description of valid string reps for a - boolean object. [Bug 584794] - * generic/tclObj.c: optimised Tcl_GetBooleanFromObj and - SetBooleanFromAny to avoid parsing the string rep when it can be - avoided. [Bugs 584650, 472576] - -2002-08-07 Miguel Sofer - - * generic/tclCompile.h: - * generic/tclObj.c: making tclCmdNameType static ([Bug 584567], Don - Porter). - -2002-08-07 Miguel Sofer - - * generic/tclObj.c (Tcl_NewObj): added conditional code for - USE_THREAD_ALLOC; objects allocated through Tcl_NewObj() were - otherwise being leaked. [Bug 587488] reported by Sven Sass. - -2002-08-06 Daniel Steffen - - * generic/tclInt.decls: - * unix/tclUnixThrd.c: Added stubs and implementations for - non-threaded build for the tclUnixThrd.c procs TclpReaddir, - TclpLocaltime, TclpGmtime and TclpInetNtoa. Fixes link errors in - stubbed & threaded extensions that include tclUnixPort.h and use any - of the procs readdir, localtime, gmtime or inet_ntoa (e.g. TclX 8.4) - [Bug 589526] - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: Regen. - -2002-08-05 Don Porter - - * library/tcltest/tcltest.tcl: The setup and cleanup scripts are now - * library/tcltest/pkgIndex.tcl: skipped when a test is skipped, fixing - * tests/tcltest.test: [Bug 589859]. Test for bug added, and - corrected tcltest package bumped to version 2.2. - - * generic/tcl.decls: Restored Tcl_Concat to return (char *). Like - * generic/tclDecls.h: Tcl_Merge, it transfers ownership of a dynamic - * generic/tclUtil.c: allocated string to the caller. - -2002-08-04 Don Porter - - * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ify all - * doc/Concat.3: remaining public interfaces of Tcl. Notably, - * doc/CrtCommand.3: the parser no longer writes on the string it - * doc/CrtSlave.3: is parsing, so it is no longer necessary for - * doc/CrtTrace.3: Tcl_Eval() to be given a writable string. Also - * doc/Eval.3: the refactoring of the Tcl_*Var* routines by - * doc/ExprLong.3: by Miguel Sofer is included, so that the - * doc/LinkVar.3: "part1" argument for them no longer needs to - * doc/ParseCmd.3: be writable either. - * doc/SetVar.3: - * doc/TraceVar.3: - * doc/UpVar.3: Compatibility support has been enhanced so - * generic/tcl.decls: that a #define of USE_NON_CONST will remove - * generic/tcl.h: all possible source incompatibilities with the - * generic/tclBasic.c: 8.3 version of the header file(s). The new - * generic/tclCmdMZ.c: #define of USE_COMPAT_CONST now does what - * generic/tclCompCmds.c:USE_NON_CONST used to do -- disable only those - * generic/tclCompExpr.c:new CONST's that introduce irreconcilable - * generic/tclCompile.c: incompatibilities. - * generic/tclCompile.h: - * generic/tclDecls.h: Several bugs are also fixed by this patch. - * generic/tclEnv.c: [Bugs 584051,580433] [Patches 585105,582429] - * generic/tclEvent.c: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclInterp.c: - * generic/tclLink.c: - * generic/tclObj.c: - * generic/tclParse.c: - * generic/tclParseExpr.c: - * generic/tclProc.c: - * generic/tclTest.c: - * generic/tclUtf.c: - * generic/tclUtil.c: - * generic/tclVar.c: - * mac/tclMacTest.c: - * tests/expr-old.test: - * tests/parseExpr.test: - * unix/tclUnixTest.c: - * unix/tclXtTest.c: - * win/tclWinTest.c: - -2002-08-01 Miguel Sofer - - * generic/tclExecute.c: bugfix (reading freed memory). Testsuite - passed on linux/i386, compile-13.1 hung on linux/alpha. - -2002-08-01 Miguel Sofer - - * generic/tclExecute.c: added a reference count for the complete - execution stack, instead of Tcl_Preserve/Tcl_Release. - -2002-08-01 Mo DeJong - - * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): Don't lock the - ckalloc mutex before invoking the Tcl_DumpActiveMemory function since - it also locks the same mutex. This code is only executed when "memory - onexit filename" has been executed and Tcl is compiled with - -DTCL_MEM_DEBUG. - -2002-08-01 Reinhard Max - - * win/tclWinPort.h: The windows headers don't provide socklen_t, so we - have to do it. - -2002-07-31 Miguel Sofer - - * generic/tclInt.h (USE_THREAD_ALLOC): for unshared objects, - TclDecrRefCount now frees the internal rep before the string rep - - just like the non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. For - the other allocators the fix was done on 2002-03-06. - -2002-07-31 Miguel Sofer - - * generic/tclInterp.c: signed/unsigned comparison warning fixed - (Vince Darley). - -2002-07-31 Donal K. Fellows - - * unix/tcl.m4 (SC_BUGGY_STRTOD): Enabled caching of test results. - - * unix/tcl.m4 (SC_BUGGY_STRTOD): Solaris 2.8 still has a buggy - strtod() implementation; make sure we detect it. - - * tests/expr.test (expr-22.*): Marked as non-portable because it seems - that these tests have an annoying tendency to fail in unexpected ways. - [Bugs 584825, 584950, 585986] - -2002-07-30 Andreas Kupries - - * tests/io.test: - * generic/tclIO.c (WriteChars): Added flag to break out of loop if - nothing of the input is consumed at all, to prevent infinite looping - of called with a non-UTF-8 string. Fixes Bug 584603 (partially). Added - new test "io-60.1". Might need additional changes to Tcl_Main so that - unprintable results are printed as binary data. - -2002-07-29 Mo DeJong - - * unix/Makefile.in: Use CC_SEARCH_FLAGS instead of LD_SEARCH_FLAGS - when linking with ${CC}. - * unix/configure: Regen. - * unix/configure.in: Don't subst CC_SEARCH_FLAGS or LD_SEARCH_FLAGS - since this is now done in tcl.m4. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Document and set CC_SEARCH_FLAGS - whenever LD_SEARCH_FLAGS is set. [Patch 588290] - -2002-07-29 Reinhard Max - - * unix/tcl.m4 (SC_SERIAL_PORT): Fixed detection for cases when - configure's stdin is not a tty. - - * unix/tclUnixPort.h: - * generic/tclIOSock.c: Changed size_t to socklen_t in - socket-related function calls. - - * unix/configure.in: Added test and fallback definition - for socklen_t. - - * unix/configure: generated. - -2002-07-29 Miguel Sofer - - * generic/tclObj.c: fixed a comment - - * generic/tcl.h: - * generic/tclBasic.c: - * generic/tclInterp.c: added the new flag TCL_EVAL_INVOKE to the - interface of the Tcl_Eval* functions, removing the - TCL_EVAL_NO_TRACEBACK added yesterday: alias invocations not only - require no tracebacks, but also look up the command name in the global - scope - see new test interp-9.4 - * tests/interp.test: added 9.3 to test for safety of aliases to hidden - commands, 9.4 to test for correct command lookup scope. - -2002-07-29 Donal K. Fellows - - * generic/regc_locale.c (cclass): [[:xdigit:]] is only a defined - concept on western characters, so should not allow any unicode digit, - and hence number of ranges in [[:xdigit:]] is fixed. - * tests/reg.test: Added test to detect the bug. - * generic/regc_cvec.c (newcvec): Corrected initial size value in - character vector structure. [Bug 578363] Many thanks to - pvgoran@users.sf.net for tracking this down. - -2002-07-28 Miguel Sofer - - * generic/tcl.h: - * generic/tclBasic.c: added the new flag TCL_EVAL_NO_TRACEBACK to the - interface of the Tcl_Eval* functions. Modified the error message for - too many nested evaluations. - * generic/tclInterp.h: changed the Alias struct to be of variable - length and store the prefix arguments directly (instead of a pointer - to a Tcl_Obj list). Made AliasObjCmd call Tcl_EvalObjv instead of - TclObjInvoke - thus making aliases trigger execution traces [Bug - 582522]. - * tests/interp.test: - * tests/stack.test: adapted to the new error message. - * tests/trace.test: added tests for aliases firing the exec traces. - -2002-07-27 Mo DeJong - - * unix/Makefile.in: Revert fix for Tcl bug 529801 since it was - incorrect and broke the build on other systems. Fix [Bug 587299]. Add - MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL, SHLIB_LD_FLAGS, - SHLIB_LD_LIBS, CC_SEARCH_FLAGS, LD_SEARCH_FLAGS, and LIB_FILE - variables to support more generic library build/install rules. - * unix/configure: Regen. - * unix/configure.in: Move AC_PROG_RANLIB into tcl.m4. Move shared - build test and setting of MAKE_LIB and MAKE_STUB_LIB into tcl.m4. Move - subst of a number of variables into tcl.m4 where they are defined. - * unix/tcl.m4 (SC_ENABLE_SYMBOLS, SC_CONFIG_CFLAGS): Subst vars where - they are defined. Add MAKE_LIB, MAKE_STUB_LIB, INSTALL_LIB, and - INSTALL_STUB_LIB rules to deal with the ugly details of running ranlib - on static libs at build and install time. Replace TCL_SHLIB_LD_EXTRAS - with SHLIB_LD_FLAGS and use it when building a shared library. - * unix/tclConfig.sh.in: Add TCL_CC_SEARCH_FLAGS. - -2002-07-26 Miguel Sofer - - * generic/tclExecute.c: fixed Tcl_Obj leak in code corresponding to - the macro NEXT_INST_V(x, 0, 1) [Bug 587495]. - -2002-07-26 Miguel Sofer - - * generic/tclVar.c (TclObjLookupVar): leak fix and improved comments. - -2002-07-26 Jeff Hobbs - - * generic/tclVar.c (TclLookupVar): removed early returns that - prevented the parens from being restored. Also removed goto label as - it was not necessary. - -2002-07-24 Miguel Sofer - - * generic/tclExecute.c: - * tests/expr-old.test: fix for erroneous error messages in [expr], - [Bug 587140] reported by Martin Lemburg. - -2002-07-25 Joe English - - * generic/tclProc.c: fix for [Tk Bug 219218] "error handling with - bgerror in Tk" - -2002-07-24 Miguel Sofer - - * generic/tclExecute.c: restoring full TCL_COMPILE_DEBUG - functionality. - -2002-07-24 Don Porter - - * tests/unixInit.test: relaxed unixInit-3.1 to accept iso8859-15 as a - valid C encoding. [Bug 575336] - -2002-07-24 Miguel Sofer - - * generic/tclExecute.c: restoring the tcl_traceCompile functionality - while I repair tcl_traceExec. The core now compiles and runs also - under TCL_COMPILE_DEBUG, but execution in the bytecode engine can - still not be traced. - -2002-07-24 Daniel Steffen - - * unix/Makefile.in: - * unix/configure.in: corrected fix for [Bug 529801]: ranlib only - needed for static builds on Mac OS X. - * unix/configure: Regen. - * unix/tclLoadDyld.c: fixed small bugs introduced by Vince, - implemented library unloading correctly (needs OS X 10.2). - -2002-07-23 Joe English - - * doc/OpenFileChnl.3: (Updates from Larry Virden) - * doc/open.n: - * doc/tclsh.1: Fix section numbers in Unix man page references. - * doc/lset.n: In EXAMPLES section, include command to set the initial - value used in subsequent examples. - * doc/http.n: Package version updated to 2.4. - -2002-07-23 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Enable 64 bit compilation when using - the native compiler on a 64 bit version of IRIX. [Bug 219220] - -2002-07-23 Mo DeJong - - * unix/Makefile.in: Combine ranlib tests and avoid printing unless - ranlib is actually run. - -2002-07-23 Mo DeJong - - * unix/tcl.m4 (SC_PATH_X): Set XINCLUDES to "" instead of "# no - special path needed" or "# no include files found" when x headers - cannot be located. - -2002-07-22 Vince Darley - - * generic/tclIOUtil.c: made tclNativeFilesystem static (since 07-19 - changes removed its usage elsewhere), and added comments about its - usage. - * generic/tclLoad.c: - * generic/tcl.h: - * generic/tcl.decls: - * doc/FileSystem.3: converted last load-related ClientData parameter - to Tcl_LoadHandle opaque structure, removing a couple of casts in the - process. - - * generic/tclInt.h: removed tclNativeFilesystem declaration since it - is now static again. - -2002-07-22 Donal K. Fellows - - * tests/expr.test (expr-22.*): Added tests to help detect the - corrected handling. - * generic/tclExecute.c (IllegalExprOperandType): Improved error - message generated when attempting to manipulate Inf and NaN values. - * generic/tclParseExpr.c (GetLexeme): Allowed parser to recognise - 'Inf' as a floating-point number. [Bug 218000] - -2002-07-21 Don Porter - - * tclIOUtil.c: Silence compiler warning. [Bug 584408]. - -2002-07-19 Vince Darley - - * generic/tclIOUtil.c: fix to GetFilesystemRecord - * win/tclWinFile.c: - * unix/tclUnixFile.c: fix to subtle problem with links shown up by - latest tclkit builds. - -2002-07-19 Mo DeJong - - * unix/configure: - * unix/configure.in: - * win/configure: - * win/configure.in: Add AC_PREREQ(2.13) in an attempt to make it more - clear that the configure scripts must be generated with autoconf - version 2.13. [Bug 583573] - -2002-07-19 Vince Darley - - * unix/Makefile.in: fix to build on MacOS X [Bug 529801], bug report - and fix from jcw. - -2002-07-19 Donal K. Fellows - - * win/tclWinSerial.c (no_timeout): Made this variable static. - - * generic/tclExecute.c, generic/tclCompile.c, generic/tclBasic.c: - * generic/tclCompile.h (builtinFuncTable, instructionTable): Added - prefix to these symbols because they are visible outside the Tcl - library. - - * generic/tclCompExpr.c (operatorTable): - * unix/tclUnixTime.c (tmKey): - * generic/tclIOUtil.c (theFilesystemEpoch, filesystemWantToModify, - filesystemIteratorsInProgress, filesystemOkToModify): Made these - variables static. - - * unix/tclUnixFile.c: Renamed nativeFilesystem to - * win/tclWinFile.c: tclNativeFilesystem and declared - * generic/tclIOUtil.c: it properly in tclInt.h - * generic/tclInt.h: - - * generic/tclUtf.c (totalBytes): Made this array static and const. - - * generic/tclParse.c (typeTable): Made this array static and const. - (Tcl_ParseBraces): Simplified error handling case so that scans are - only performed when needed, and flags are simpler too. - - * license.terms: Added AS to list of copyright holders; it's only - fair for the current gatekeepers to be listed here! - - * tests/cmdMZ.test: Renamed constraint for clarity. [Bug 583427] - Added tests for the [time] command, which was previously only - indirectly tested! - -2002-07-18 Vince Darley - - * generic/tclInt.h: - * generic/tcl.h: - * */*Load*.c: added comments on changes of 07/17 and replaced - clientData with Tcl_LoadHandle in all locations. - - * generic/tclFCmd.c: - * tests/fileSystem.test: fixed a 'knownBug' with 'file attributes ""' - * tests/winFCmd.test: - * tests/winPipe.test: - * tests/fCmd.test: - * tessts/winFile.test: added 'pcOnly' constraint to some tests to make - for more useful 'tests skipped' log from running all tests on - non-Windows platforms. - -2002-07-17 Miguel Sofer - - * generic/tclBasic.c (CallCommandTraces): delete traces now receive - the FQ old name of the command. [Bug 582532] (Don Porter) - -2002-07-18 Vince Darley - - * tests/ioUtil.test: added constraints to 1.4,2.4 so they don't run - outside of tcltest. [Bugs 583276, 583277] - -2002-07-17 Miguel Sofer - - * generic/tclVar.c (DupParsedVarName): nasty bug fixed, reported by - Vince Darley. - -2002-07-17 Miguel Sofer - - * generic/tclVar.c (TclPtrIncrVar): missing CONST in declarations, - inconsistent with tclInt.h. Thanks to Vince Darley for reporting, boo - to gcc for not complaining. - -2002-07-17 Vince Darley - - * generic/tclInt.h: - * generic/tclIOUtil.c: - * generic/tclLoadNone.c: - * unix/tclLoadAout.c: - * unix/tclLoadDl.c: - * unix/tclLoadDld.c: - * unix/tclLoadDyld.c: - * unix/tclLoadNext.c: - * unix/tclLoadOSF.c: - * unix/tclLoadShl.c: - * mac/tclMacLoad.c: - * win/tclWinLoad.c: modified to move more functionality to the generic - code and avoid duplication. Partial replacement of internal uses of - clientData with opaque Tcl_LoadHandle. A little further work still - needed, but significant changes are done. - -2002-07-17 D. Richard Hipp - - * library/msgcat/msgcat.tcl: fix a comment that was causing problems - for programs (ex: mktclapp) that embed the initialization scripts in - strings. - -2002-07-17 Miguel Sofer - - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - * generic/tclVar.c: removing the now redundant functions to access - indexed variables: Tcl(Get|Set|Incr)IndexedScalar() and - Tcl(Get|Set|Incr)ElementOfIndexedArray(). - -2002-07-17 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Minor fixes to make this - file compile with SunPro CC... - -2002-07-17 Miguel Sofer - - * generic/tclExecute.c: modified to do variable lookup explicitly, and - then either inlining the variable access or else calling the new - TclPtr(Set|Get|Incr)Var functions in tclVar.c - * generic/tclInt.h: declare some functions previously local to - tclVar.c for usage by TEBC. - * generic/tclVar.c: removed local declarations; moved all special - accessor functions for indexed variables to the end of the file - - they are unused and ready for removal, but left there for the time - being as they are in the internal stubs table. - - ** WARNING FOR BYTECODE MAINTAINERS ** - TCL_COMPILE_DEBUG is currently not functional; will be fixed ASAP. - -2002-07-16 Mo DeJong - - * unix/Makefile.in: - * win/Makefile.in: Add a more descriptive warning in the event `make - genstubs` needs to be rerun. - -2002-07-16 Mo DeJong - - * unix/Makefile.in: Use dltest.marker file to keep track of when the - dltest package is up to date. This fixes [Bug 575768] since tcltest is - no longer linked every time. - * unix/dltest/Makefile.in: Create ../dltest.marker after a successful - `make all` run in dltest. - -2002-07-16 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: Remove useless subst of TCL_BIN_DIR. - -2002-07-15 Miguel Sofer - - * generic/tclVar.c: inaccurate comment fixed - -2002-07-15 Miguel Sofer - - * generic/tclBasic.c (Tcl_AddObjErrorInfo): - * generic/tclExecute.c (TclUpdateReturnInfo): - * generic/tclInt.h: - * generic/tclProc.c: - Added two Tcl_Obj to the ExecEnv structure to hold the fully qualified - names "::errorInfo" and "::errorCode" to cache the addresses of the - corresponding variables. The two most frequent setters of these - variables now profit from the new variable name caching. - -2002-07-15 Miguel Sofer - - * generic/tclVar.c: refactorisation to reuse already looked-up Var - pointers; definition of three new Tcl_Obj types to cache variable name - parsing and lookup for later reuse; modification of internal functions - to profit from the caching. - - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclNamesp.c: adding CONST qualifiers to variable names - passed to Tcl_FindNamespaceVar and to variable resolvers; adding CONST - qualifier to the 'msg' argument to TclLookupVar. Needed to avoid code - duplication in the new tclVar.c code. - - * tests/set-old.test: - * tests/var.test: slight modification of error messages due to the - modifications in the tclVar.c code. - -2002-07-15 Don Porter - - * tests/unixInit.test: Improved constraints to protect /tmp. [Bug - 581403] - -2002-07-15 Vince Darley - - * tests/winFCmd.test: renamed 'win2000' and 'notWin2000' to more - appropriate constraint names. - * win/tclWinFile.c: updated comments to reflect 07-11 changes. - * win/tclWinFCmd.c: made ConvertFileNameFormat static again, since no - longer used in tclWinFile.c - * mac/tclMacFile.c: completed TclpObjLink implementation which was - previously lacking. - * generic/tclIOUtil.c: comment cleanup and code speedup. - -2002-07-14 Don Porter - - * generic/tclInt.h: Removed declarations that duplicated entries - in the (internal) stub table. - - * library/tcltest/tcltest.tcl: Corrected errors in handling of - configuration options -constraints and -limitconstraints. - - * README: Bumped HEAD to version 8.4b2 so we can - * generic/tcl.h: distinguish it from the 8.4b1 release. - * tools/tcl.wse.in: - * unix/configure*: - * unix/tcl.spec: - * win/README.binary: - * win/configure*: - -2002-07-11 Vince Darley - - * doc/file.n: - * win/tclWinFile.c: on Win 95/98/ME the long form of the path is used - as a normalized form. This is required because short forms are not a - robust representation. The file normalization function has been sped - up, but more performance gains might be possible, if speed is still an - issue on these platforms. - -2002-07-11 Don Porter - - * library/tcltest/tcltest.tcl: Corrected reaction to existing but - false ::tcl_interactive. - - * doc/Hash.3: Overlooked CONST documentation update. - -2002-07-11 Donal K. Fellows - - * generic/tclCkalloc.c: ckalloc() and friends take the block size as - an unsigned, so we should use %ud when reporting it in fprintf() and - panic(). - -2002-07-11 Miguel Sofer - - * generic/tclCompile.c: now setting local vars undefined at compile - time, instead of waiting until the proc is initialized. - * generic/tclProc.c: use macro TclSetVarUndefined instead of directly - setting the flag. - -2002-07-11 Donal K. Fellows - - * tests/cmdAH.test: [file attr -perm] is Unix-only, so add [catch] - when not inside a suitably-protected test. - -2002-07-10 Donal K. Fellows - - * tests/unixFCmd.test, tests/fileName.test: - * tests/fCmd.test: Removed [exec] of Unix utilities that have - equivalents in standard Tcl. [Bug 579268] Also simplified some of - unixFCmd.test while I was at it. - -2002-07-10 Don Porter - - * tests/tcltest.test: Greatly reduced the number of [exec]s, using - slave interps instead. - * library/tcltest/tcltest.tcl: Fixed bug uncovered in the conversion - where a message was written to stdout instead of [outputChannel]. - - * tests/basic.test: Cleaned up, constrained, and reduced the - * tests/compile.test: amount of [exec] usage in the test suite. - * tests/encoding.test: - * tests/env.test: - * tests/event.test: - * tests/exec.test: - * tests/io.test: - * tests/ioCmd.test: - * tests/regexp.test: - * tests/regexpComp.test: - * tests/socket.test: - * tests/tcltest.test: - * tests/unixInit.test: - * tests/winDde.test: - * tests/winPipe.test: - -2002-07-10 Donal K. Fellows - - * tests/cmdAH.test: Removed [exec] of Unix utilities. [Bug 579211] - - * tests/expr.test: Added tests to make sure that this works. - * generic/tclExecute.c (ExprCallMathFunc): Functions should also be - able to return wide-ints. [Bug 579284] - -2002-07-08 Andreas Kupries - - * tests/socket.test: Fixed [Bug 578164]. The original reason for the - was a DNS outage while running the testsuite. Changed [info hostname] - to 127.0.0.1 to bypass DNS, knowing that we operate on the local host. - -2002-07-08 Don Porter - - * doc/tcltest.n: Fixed incompatibility in [viewFile]. - * library/tcltest/tcltest.tcl: Corrected docs. Bumped to 2.2.1. - * library/tcltest/pkgIndex.tcl: [Bug 578163] - -2002-07-08 Vince Darley - - * tests/cmdAH.test: - * tests/fCmd.test: - * tests/fileName.test: tests which rely on 'file link' need a - constraint so they don't run on older Windows OS. [Bug 578158] - * generic/tclIOUtil.c: - * generic/tcl.h: - * generic/tclInt.h: - * generic/tclTest.c: - * mac/tclMacChan.c: - * unix/tclUnixChan.c: - * win/tclWinChan.c: - * doc/FileSystem.3: cleaned up internal handling of - Tcl_FSOpenFileChannel to remove duplicate code, and make writing - external vfs's clearer and easier. No functionality change. Also - clarify that objects with refCount zero should not be passed in to the - Tcl_FS API, and prevent segfaults from occuring on such user errors. - [Bug 578617] - -2002-07-06 Don Porter - - * tests/pkgMkIndex.test: Constrained tests of [load] package indexing - to those platforms where the testing shared libraries have been built. - [Bug 578166] - -2002-07-05 Don Porter - - * changes: added recent changes - -2002-07-05 Reinhard Max - - * generic/tclClock.c (FormatClock): Convert the format string to utf-8 - before calling TclpStrftime, so that non-ASCII characters don't get - mangled when the result string is being converted back. - * tests/clock.test: Added a test for that. - -2002-07-05 Donal K. Fellows - - * unix/Makefile.in (ro-test,ddd,GDB,DDD): Created new targets to - allow running the test suite with a read-only current directory, - running under ddd instead of gdb, and factored out some executable - names for broken sites (like mine) where gdb and ddd are installed - with non-standard names... - - * tests/httpold.test: Altered test names to httpold-* to avoid clashes - with http.test, and stopped tests from failing when the current - directory is not writable... - - * tests/event.test: Stop these tests from failing when the - * tests/ioUtil.test: current directory is not writable... - * tests/regexp.test: - * tests/regexpComp.test: - * tests/source.test: - * tests/unixFile.test: - * tests/unixNotfy.test: - - * tests/unixFCmd.test: Trying to make these test-files not - * tests/macFCmd.test: bomb out with an error when the - * tests/http.test: current directory is not writable... - * tests/fileName.test: - * tests/env.test: - -2002-07-05 Jeff Hobbs - - *** 8.4b1 TAGGED FOR RELEASE *** - -2002-07-04 Donal K. Fellows - - * tests/cmdMZ.test (cmdMZ-1.4): - * tests/cmdAH.test: More fixing of writable-current-dir assumption. - [Bug 575824] - -2002-07-04 Miguel Sofer - - * tests/basic.test: Same issue as below; fixed [Bug 575817] - -2002-07-04 Andreas Kupries - - * tests/socket.test: - * tests/winPipe.test: - * tests/pid.test: Fixed [Bug 575848]. See below for a description the - general problem. - - * All the bugs below are instances of the same problem: The testsuite - assumes [pwd] = [temporaryDirectory] and writable. - - * tests/iogt.test: Fixed [Bug 575860]. - * tests/io.test: Fixed [Bug 575862]. - * tests/exec.test: - * tests/ioCmd.test: Fixed [Bug 575836]. - -2002-07-03 Don Porter - - * tests/pkg1/direct1.tcl: removed - * tests/pkg1/pkgIndex.tcl: removed - * tests/pkgMkIndex.test: Imported auxilliary files from tests/pkg1 - into the test file pkgMkIndex.test itself. Formatting fixes. - - * unix/Makefile.in: removed tests/pkg/* from `make dist` - - * tests/pkg/circ1.tcl: removed - * tests/pkg/circ2.tcl: removed - * tests/pkg/circ3.tcl: removed - * tests/pkg/global.tcl: removed - * tests/pkg/import.tcl: removed - * tests/pkg/pkg1.tcl: removed - * tests/pkg/pkg2_a.tcl: removed - * tests/pkg/pkg2_b.tcl: removed - * tests/pkg/pkg3.tcl: removed - * tests/pkg/pkg4.tcl: removed - * tests/pkg/pkg5.tcl: removed - * tests/pkg/pkga.tcl: removed - * tests/pkg/samename.tcl: removed - * tests/pkg/simple.tcl: removed - * tests/pkg/spacename.tcl: removed - * tests/pkg/std.tcl: removed - * tests/pkgMkIndex.test: Fixed [Bug 575857] where this test file - expected to be able to write to [file join [testsDirectory] pkg]. Part - of the fix was to import several auxilliary files into the test file - itself. - - * tests/main.test: Cheap fix for [Bugs 575851, 575858]. Avoid - * tests/tcltest.test: non-writable . by [cd [temporaryDirectory]]. - - * library/auto.tcl: Fix [tcl_findLibrary] to be sure it sets $varName - only if a successful library script is found. [Bug 577033] - -2002-07-03 Miguel Sofer - - * generic/tclCompCmds.c (TclCompileCatchCmd): return - TCL_OUT_LINE_COMPILE instead of TCL_ERROR: let the failure happen at - runtime so that it can be caught [Bug 577015]. - -2002-07-02 Joe English - - * doc/tcltest.n: Markup fixes, spellcheck. - -2002-07-02 Don Porter - - * doc/tcltest.n: more refinements of the documentation. - - * library/tcltest/tcltest.tcl: Added trace to be sure the stdio - constraint is updated whenever the [interpreter] changes. - - * doc/tcltest.n: Reverted [makeFile] and [viewFile] to - * library/tcltest/tcltest.tcl: their former behavior, and documented - * tests/cmdAH.test: it. Corrected misspelling of hook - * tests/event.test: procedure. Restored tests. - * tests/http.test: - * tests/io.test: - - * library/tcltest/tcltest.tcl: Simplified logic of [GetMatchingFiles] - and [GetMatchingDirectories], removing special case processing. - - * doc/tcltest.n: More documentation updates. Reference sections are - complete. Only examples need adding. - -2002-07-02 Vince Darley - - * tests/fCmd.test: - * generic/tclCmdAH.c: clearer error msgs for 'file link', as per the - man page. - -2002-07-01 Joe English - - * doc/Access.3: - * doc/AddErrInfo.3: - * doc/Alloc.3: - * doc/Backslash.3: - * doc/CrtChannel.3: - * doc/CrtSlave.3: - * doc/Encoding.3: - * doc/Eval.3: - * doc/FileSystem.3: - * doc/Notifier.3: - * doc/OpenFileChnl.3: - * doc/ParseCmd.3: - * doc/RegExp.3: - * doc/Tcl_Main.3: - * doc/Thread.3: - * doc/TraceCmd.3: - * doc/Utf.3: - * doc/WrongNumArgs.3: - * doc/binary.n: - * doc/clock.n: - * doc/expr.n: - * doc/fconfigure.n: - * doc/glob.n: - * doc/http.n: - * doc/interp.n: - * doc/lsearch.n: - * doc/lset.n: - * doc/msgcat.n: - * doc/packagens.n: - * doc/pkgMkIndex.n: - * doc/registry.n: - * doc/resource.n: - * doc/safe.n: - * doc/scan.n: - * doc/tclvars.n: Spell-check, fixed typos (Updates from Larry Virden). - -2002-07-01 Donal K. Fellows - - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Made Solaris use gcc for linking - when building with gcc to resolve problems with undefined symbols - being present when tcl library used with non-gcc linker at later - stage. Symbols were compiler-generated, so it is the compiler's - business to define them. [Bug 541181] - -2002-07-01 Don Porter - - * doc/tcltest.n: more work in progress updating tcltest docs. - - * library/tcltest/tcltest.tcl: Change [configure -match] to stop - treating an empty list as a list of the single pattern "*". Changed - the default value to [list *] so default operation remains the same. - - * tests/pkg/samename.tcl: restored. needed by pkgMkIndex.test. - - * library/tcltest/tcltest.tcl: restored writability testing of - -tmpdir, augmented by a special exception for the deafault value. - -2002-07-01 Donal K. Fellows - - * doc/concat.n: Documented the *real* behaviour of [concat]! - -2002-06-30 Don Porter - - * doc/tcltest.n: more work in progress updating tcltest docs. - - * tests/README: Updated the instructions on running and - * tests/cmdMZ.test: adding to the test suite. Also updated - * tests/encoding.test: several tests, mostly to correctly create - * tests/fCmd.test: and destroy any temporary files in the - * tests/info.test: [temporaryDirectory] of tcltest. - * tests/interp.test: - - * library/tcltest/tcltest.tcl: Stopped checking for writability of - -tmpdir value because no default directory can be guaranteed to be - writable. - - * tests/autoMkindex.tcl: removed. - * tests/pkg/samename.tcl: removed. - * tests/pkg/magicchar.tcl: removed. - * tests/pkg/magicchar2.tcl: removed. - * tests/autoMkindex.test: Updated auto_mkIndex tests to use [makeFile] - and [removeFile] so tests are done in [temporaryDirecotry] where write - access is guaranteed. - - * library/tcltest/tcltest.tcl: Fixed [makeFile] and [viewFile] to - * tests/cmdAH.test: accurately reflect a file's contents. - * tests/event.test: Updated tests that depended on buggy - * tests/http.test: behavior. Also added warning messages - * tests/io.test: to "-debug 1" operations to debug test - * tests/iogt.test: calls to (make|remove)(File|Directory) - - * unix/mkLinks: `make mklinks` on 6-27 commits. - -2002-06-28 Miguel Sofer - - * generic/tclCompile.h: modified the macro TclEmitPush to not call its - first argument repeatedly or pass it to other macros, [Bug 575194] - reported by Peter Spjuth. - -2002-06-28 Don Porter - - * docs/tcltest.n: Doc revisions in progress. - * library/tcltest/tcltest.tcl: Corrected -testdir default value. Was - not reliable, and disagreed with docs! Thanks to Hemang Lavana. [Bug - 575150] - -2002-06-28 Donal K. Fellows - - * unix/tclUnixThrd.c: Renamed the Tcl_Platform* #defines to TclOS* - * unix/tclUnixPipe.c: because they are only used internally. Also - * unix/tclUnixFile.c: stopped double-#def of TclOSlstat [Bug 566099, - * unix/tclUnixFCmd.c: post-rename] - * unix/tclUnixChan.c: - * unix/tclUnixPort.h: - - * doc/string.n: Improved documentation for [string last] along lines - described in [Bug 574799] so it indicates that the supplied index - marks the end of the search space. - -2002-06-27 Don Porter - - * doc/dde.n: Work in progress updating the documentation - * doc/http.n: of the packages that come bundled with - * doc/msgcat.n: the Tcl source distribution, notably tcltest. - * doc/registry.n: - * doc/tcltest.n: - - * library/tcltest/tcltest.tcl: Made sure that the TCLTEST_OPTIONS - environment variablle configures tcltest at package load time. - -2002-06-26 Vince Darley - - * tests/fileSystem.test: - * generic/tclIOUtil.c: fix to handling of empty paths "" which are not - claimed by any filesystem [Bug 573758]. Ensure good error messages - are given in all cases. - * tests/cmdAH.test: - * unix/tclUnixFCmd.c: fix to bug reported as part of [Patch 566669]. - Thanks to Taguchi, Takeshi for the report. - -2002-06-26 Reinhard Max - - * unix/tclUnixTime.c: Make [clock format] respect locale settings. - * tests/clock.test: [Bug 565880]. ***POTENTIAL INCOMPATIBILITY*** - -2002-06-26 Miguel Sofer - - * doc/CrtInterp.3: - * doc/StringObj.3: clarifications by Don Porter, [Bug 493995] and [Bug - 500930]. - -2002-06-24 Don Porter - - * library/tcltest/tcltest.tcl: Corrected suppression of -verbose skip - * tests/tcltest.test: and start by [test -output]. Also - corrected test suite errors exposed by corrected code. [Bug 564656] - -2002-06-25 Reinhard Max - - * unix/tcl.m4: New macro SC_CONFIG_MANPAGES. - * unix/configure.in: Added support for symlinks and compression when - * unix/Makefile.in: installing the manpages. [Patch 518052] - * unix/mkLinks.tcl: Default is still hardlinks and no compression. - - * unix/mkLinks: generated - * unix/configure: - - * unix/README: Added documentation for the new features. - - * unix/tcl.m4 (SC_PATH_TCLCONFIG): Replaced ${exec_prefix}/lib by - ${libdir}. - -2002-06-25 Donal K. Fellows - - * generic/tclUtil.c (TclGetIntForIndex): Fix of critical [Bug 533364] - generated when the index is bad and the result is a shared object. The - T_ASTO(T_GOR, ...) idiom likely exists elsewhere though. Also removed - some cruft that just complicated things to no advantage. - (SetEndOffsetFromAny): Same fix, though this wasn't on the path - excited by the bug. - -2002-06-24 Don Porter - - * library/tcltest/tcltest.tcl: Implementation of TIP 101. Adds abd - * tests/parseOld.test: exports a [configure] command from - * tests/tcltest.test: tcltest. - -2002-06-22 Don Porter - - * changes: updated changes file for 8.4b1 release. - - * library/tcltest/tcltest.tcl: Corrections to tcltest and the Tcl - * tests/basic.test: test suite so that a test with options - * tests/cmdInfo.test: -constraints knownBug - * tests/compile.test: -limitConstraints 1 only tests the - * tests/encoding.test: knownBug tests. Mostly involves - * tests/env.test: replacing direct access to the - * tests/event.test: testConstraints array with calls to - * tests/exec.test: the testConstraint command (which - * tests/execute.test: requires tcltest version 2) - * tests/fCmd.test: - * tests/format.test: - * tests/http.test: - * tests/httpold.test: - * tests/ioUtil.test: - * tests/link.test: - * tests/load.test: - * tests/namespace.test: - * tests/pkgMkIndex.test: - * tests/reg.test: - * tests/result.test: - * tests/scan.test: - * tests/stack.test: - -2002-06-22 Donal K. Fellows - - * tools/tcl.wse.in (Disk Label), unix/tcl.spec (version): - * win/README.binary, README, win/configure.in, unix/configure.in: - * generic/tcl.h (TCL_RELEASE_*, TCL_PATCH_LEVEL): Bump to beta1. - -2002-06-21 Joe English - - * generic/tclCompExpr.c: - * generic/tclParseExpr.c: LogSyntaxError() should reset the - interpreter result [Bug 550142 "Tcl_ExprObj -> abort"] - -2002-06-21 Don Porter - - * unix/Makefile.in: Updated all package install directories - * win/Makefile.in: to match current Major.minor versions - * win/makefile.bc: of the packages. Added tcltest package - * win/makefile.vc: to installation on Windows. - - * library/init.tcl: Corrected comments and namespace style issues. - Thanks to Bruce Stephens. [Bug 572025] - -2002-06-21 Vince Darley - - * tests/cmdAH.test: Added TIP#99 implementation of 'file - * tests/fCmd.test: link'. Supports creation of symbolic and - * tests/fileName.test: hard links in the native filesystems and - * tests/fileSystem.test: in vfs's, when the individual filesystem - * generic/tclTest.c: supports the concept. - * generic/tclCmdAH.c: - * generic/tclIOUtil.c: - * generic/tcl.h: - * generic/tcl.decls: - * doc/FileSystem.3: - * doc/file.n: - * mac/tclMacFile.c: - * unix/tclUnixFile.c: - * win/tclWinFile.c: Also enhanced speed of 'file normalize' on - Windows. - -2002-06-20 Miguel Sofer - - * generic/tclBasic.c (TclEvalObjvInternal): fix for [Bug 571385] in - the implementation of TIP#62 (command tracing). Vince Darley, Hemang - Lavana & Don Porter: thanks. - -2002-06-20 Miguel Sofer - - * generic/tclExecute.c (TclCompEvalObj): clarified and simplified the - logic for compilation/recompilation. - -2002-06-19 Joe English - - * doc/file.n: Fixed indentation. No substantive changes. - -2002-06-19 Jeff Hobbs - - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): get the resultPtr again as - the Tcl_ObjSetVar2 may cause the result to change. [Patch 558324] - (watson) - -2002-06-19 Miguel Sofer - - * generic/tclExecute.c (TEBC): removing unused "for(;;)" loop; - improved comments; re-indentation. - -2002-06-18 Miguel Sofer - - * generic/tclExecute.c (TEBC): - - elimination of duplicated code in the non-immediate INST_INCR - instructions. - - elimination of 103 (!) TclDecrRefCount macros. The different - instructions now jump back to a common "DecrRefCount zone" at the - top of the loop. The macro "ADJUST_PC" was replaced by two macros - "NEXT_INST_F" and "NEXT_INST_V" that take three params - (pcAdjustment, # of stack objects to discard, resultObjPtr handling - flag). The only instructions that retain a TclDecrRefCount are - INST_POP (for speed), the common code for the non-immediate - INST_INCR, INST_FOREACH_STEP and the two INST_LSET. - - The object size of tclExecute.o was reduced by approx 20% since the - start of the consolidation drive, while making room for some peep-hole - optimisation at runtime. - -2002-06-18 Miguel Sofer - - * generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic code - for tcl-stack corruption. - -2002-06-17 David Gravereaux - - Trims to support the removal of RESOURCE_INCLUDED from rc scripts from - [FRQ 565088]. - - * generic/tcl.h: moved the #ifndef RC_INVOKED start block up in the - file. rc scripts don't need to know thread mutexes. - - * win/tcl.rc: - * win/tclsh.rc: removed the #define RESOURCE_INCLUDED to let the - built-in -DRC_INVOKED to the work. - -2002-06-17 Jeff Hobbs - - * doc/CrtTrace.3: Added TIP#62 implementation of command - * doc/trace.n: execution tracing [FRQ 462580] (lavana). - * generic/tcl.h: This includes enter/leave tracing as well - * generic/tclBasic.c: as inter-procedure stepping. - * generic/tclCmdMZ.c: - * generic/tclCompile.c: - * generic/tclExecute.c: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - * generic/tclVar.c: - * tests/trace.test: - -2002-06-17 Andreas Kupries - - * win/tclWinPipe.c (BuildCommandLine): Fixed [Bug 554068] ([exec] on - windows did not treat { in filenames well.). Bug reported by Vince - Darley , patch provided by Vince - too. - -2002-06-17 Joe English - - * generic/tcl.h: #ifdef logic for K&R C backwards compatibility - changed to assume modern C by default. See [FRQ 565088] for full - details. - -2002-06-17 Don Porter - - * doc/msgcat.n: Corrected en_UK references to en_GB. UK is not a - country designation recognized in ISO 3166. - - * library/msgcat/msgcat.tcl: More Windows Registry locale codes from - Bruno Haible. - - * doc/msgcat.n: - * library/msgcat/msgcat.tcl: - * library/msgcat/pkgIndex.tcl: - * tests/msgcat.test: Revised locale initialization to interpret - environment variable locale values according to XPG4, and to recognize - the LC_ALL and LC_MESSAGES values over that of LANG. Also added many - Windows Registry locale values to those recognized by msgcat. Revised - tests and docs. Bumped to version 1.3. Thanks to Bruno Haible for the - report and assistance crafting the solution. [Bug 525522, 525525] - -2002-06-16 Miguel Sofer - - * generic/tclCompile.c (TclCompileTokens): a better algorithm for the - previous bug fix. - -2002-06-16 Miguel Sofer - - * generic/tclCompile.c (TclCompileTokens): - * tests/compile.test: [Bug 569438] in the processing of dollar - variables; report by Georgios Petasis. - -2002-06-16 Miguel Sofer - - * generic/tclExecute.c: bug in the consolidation of the INCR_..._STK - instructions; the bug could not be exercised as the (faulty) - instruction INST_INCR_ARRAY_STK was never compiled-in (related to [Bug - 569438]). - -2002-06-14 Miguel Sofer - - * generic/tclExecute.c (TclExecuteByteCode): runtime peep-hole - optimisation of variables (INST_STORE, INST_INCR) and commands - (INST_INVOKE); faster check for the existence of a catch. - (TclExecuteByteCode): runtime peep-hole optimisation of comparisons. - (TclExecuteByteCode): runtime peep-hole optimisation of INST_FOREACH - - relies on peculiarities of the code produced by the bytecode compiler. - -2002-06-14 David Gravereaux - - * win/rules.vc: The test for compiler optimizations was in error. - Thanks goes to Roy Terry for his assistance - with this. - -2002-06-14 Donal K. Fellows - - * doc/trace.n, tests/trace.test: - * generic/tclCmdMZ.c (Tcl_TraceObjCmd,TclTraceCommandObjCmd) - (TclTraceVariableObjCmd): Changed references to "trace list" to - "trace info" as mandated by TIP#102. - -2002-06-13 Miguel Sofer - - * generic/tclExecute.c (TclExecuteByteCode): consolidated code for the - conditional branch instructions. - -2002-06-13 Miguel Sofer - - * generic/tclExecute.c (TclExecuteByteCode): fixed the previous patch; - wouldn't compile with TCL_COMPILE_DEBUG set. - -2002-06-13 Miguel Sofer - - * generic/tclExecute.c (TclExecuteByteCode): consolidated the handling - of exception returns to INST_INVOKE and INST_EVAL, as well as most of - the code for INST_CONTINUE and INST_BREAK, in the new jump target - "processExceptionReturn". - -2002-06-13 Miguel Sofer - - * generic/tclExecute.c (TclExecuteByteCode): consolidated variable - handling opcodes, replaced redundant code with some 'goto'. All - store/append/lappend opcodes on the same data type now share the main - code; same with incr opcodes. - * generic/tclVar.c: added the bit TCL_TRACE_READS to the possible - flags to Tcl_SetVar2Ex - it causes read traces to be fired prior to - setting the variable. This is used in the core for [lappend]. - - ***NOTE*** the usage of TCL_TRACE_READS in Tcl_(Obj)?GetVar.* is not - documented; there, it causes the call to create the variable if it - does not exist. The new usage in Tcl_(Obj)?SetVar.* remains - undocumented too ... - -2002-06-13 Vince Darley - - * tests/fCmd.test: - * tests/winFile.test: - * tests/fileSystem.test: - * generic/tclTest.c: - * generic/tclCmdAH.c: - * generic/tclIOUtil.c: - * doc/FileSystem.3: - * mac/tclMacFile.c: - * unix/tclUnixFile.c: - * win/tclWinFile.c: fixed up further so both compiles and actually - works with VC++ 5 or 6. - * win/tclWinInt.h: - * win/tclWin32Dll.c: cleaned up code and vfs tests and added tests for - the internal changes of 2002-06-12, to see whether WinTcl on NTFS can - coexist peacefully with links in the filesystem. Added new test - command 'testfilelink' to enable the newer code to be tested. - * tests/fCmd.test: (made certain tests of 'testfilelink' not run on - unix). - -2002-06-12 Miguel Sofer - - * tclBasic.c (Tcl_DeleteTrace): fixed [Bug 568123] (thanks to Hemang - Lavana) - -2002-06-12 Jeff Hobbs - - * win/tclWinFile.c: corrected the symbolic link handling code to allow - it to compile. Added real definition of REPARSE_DATA_BUFFER (found in - winnt.h). Most of the added definitions appear to have correct, - cross-Win-version equivalents in winnt.h and should be removed, but - just making things "work" for now. - -2002-06-12 Vince Darley - - * generic/tclIOUtil.c: - * generic/tcl.decls: - * generic/tclDecls.h: made code for Tcl_FSNewNativePath agree with man - pages. - - * doc/FileSystem.3: clarified the circumstances under which certain - functions are called in the presence of symlinks. - - * win/tclWinFile.c: - * win/tclWinPort.h: - * win/tclWinInt.h: - * win/tclWinFCmd.c: Fix for Windows to allow 'file lstat', 'file - type', 'glob -type l', 'file copy', 'file delete', 'file normalize', - and all VFS code to work correctly in the presence of symlinks - (previously Tcl's behaviour was not very well defined). This also - fixes possible serious problems in all versions of WinTcl where 'file - delete' on a NTFS symlink could delete the original, not the symlink. - Note: symlinks cannot yet be created in pure Tcl. - -2002-06-11 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclCompCmds.c: - * generic/tclInt.h: reverted the new compilation functions; replaced - by a more general approach described below. - - * generic/tclCompCmds.c: - * generic/tclCompile.c: made *all* compiled variable access attempts - create an indexed variable - even get or incr without previous set. - This allows indexed access to local variables that are created and set - at runtime, for example by [global], [upvar], [variable], [regexp], - [regsub]. - -2002-06-11 Miguel Sofer - - * doc/global.n: - * doc/info.n: - * test/info.test: - * generic/tclCmdIL.c: fix for [Bug 567386], [info locals] was - reporting some linked variables. - - * generic/tclBasic.c: - * generic/tclCompCmds.c: - * generic/tclInt.h: added compile functions for [global], [variable] - and [upvar]. They just declare the new local variables, the commands - themselves are not compiled-in. This gives a notably faster read - access to these linked variables. - -2002-06-11 Miguel Sofer - - * generic/tclExecute.c: optimised algorithm for exception range - lookup; part of [Patch 453709]. - -2002-06-10 Vince Darley - - * unix/tclUnixFCmd.c: fixed [Bug 566669] - * generic/tclIOUtil.c: improved and sped up handling of native paths - (duplication and conversion to normalized paths), particularly on - Windows. - * modified part of above commit, due to problems on Linux. Will - re-examine bug report and evaluate more closely. - -2002-06-07 Don Porter - - * tests/tcltest.test: More corrections to test suite so that tests of - failing [test]s don't show up themselves as failing tests. - -2002-06-07 Donal K. Fellows - - * generic/tclExecute.c: Tidied up headers in relation to float.h to - cut the cruft and ensure DBL_MAX is defined since doubles seem to be - the same size everywhere; if the assumption isn't true, the variant - platforms had better have run configure... - - * unix/tclUnixPort.h (EOVERFLOW): Added code to define it if it - wasn't previously defined. Also some other general tidying and adding - of comments. [Bugs 563122, 564595] - * compat/tclErrno.h: Added definition for EOVERFLOW copied from - Solaris headers; I've been unable to find any uses of EFTYPE, which - was the error code previously occupying the slot, in Tcl, or any - definition of it in the Solaris headers. - -2002-06-06 Mo DeJong - - * unix/dltest/Makefile.in: Remove hard coded CFLAGS=-g and add - CFLAGS_DEBUG, CFLAGS_OPTIMIZE, and CFLAGS_DEFAULT varaibles. [Bug - 565488] - -2002-06-06 Don Porter - - * tests/tcltest.test: Corrections to test suite so that tests of - failing [test]s don't show up themselves as failing tests. - - * tests/io.test: Fixed up namespace variable resolution issues - revealed by running test suite with "-singleproc 1". - - * doc/tcltest.n: - * library/tcltest/tcltest.tcl: - * tests/tcltest.test: Several updates to tcltest. - 1) changed to lazy initialization of test constraints - 2) deprecated [initConstraintsHook] - 3) repaired badly broken [limitConstraints]. - 4) deprecated [threadReap] and [mainThread] - [Patch 512214, Bug 558742, Bug 461000, Bug 534903] - -2002-06-06 Daniel Steffen - - * unix/tclUnixThrd.c (TclpReaddir, TclpLocaltime, TclpGmtime): added - mutex wrapped calls to readdir, localtime & gmtime in case their - thread-safe *_r counterparts are not available. - * unix/tcl.m4: added configure check for readdir_r - * unix/tcl.m4 (Darwin): set TCL_DEFAULT_ENCODING to utf-8 on MacOSX - (where Posix file apis expect utf-8, not iso8859-1). - * unix/configure: regen - * unix/Makefile.in: set DYLD_LIBRARY_PATH in parallel to - LD_LIBRARY_PATH for MacOSX dynamic linker. - * generic/tclEnv.c (TclSetEnv): fix env var setting on MacOSX (adapted - from [Patch 524352] by jkbonfield). - -2002-06-05 Don Porter - - * doc/Tcl_Main.3: Documented $tcl_rcFileName and added more - clarifications about the intended use of Tcl_Main(). [Bug 505651] - -2002-06-05 Daniel Steffen - - * generic/tclFileName.c (TclGlob): mac specific fix to recent changes - in 'glob -tails' handling. - * mac/tclMacPort.h: - * mac/tclMacChan.c: fixed TIP#91 bustage. - * mac/tclMacResource.c (Tcl_MacConvertTextResource): added utf - conversion of text resource contents. - * tests/macFCmd.test (macFCmd-1.2): allow CWIE creator. - -2002-06-04 Don Porter - - * library/tcltest/tcltest.tcl: - * tests/init.test: - * tests/tcltest.test: Added more TIP 85 tests from Arjen Markus. - Converted tcltest.test to use a private namespace. Fixed bugs in - [tcltest::Eval] revealed by calling [tcltest::test] from a non-global - namespace, and namespace errors in init.test. - -2002-06-04 Mo DeJong - - * win/README: Update msys+mingw URL. - -2002-06-03 Don Porter - - * doc/tcltest.n: - * library/tcltest/tcltest.tcl: - * library/tcltest/pkgIndex.tcl: - * tests/tcltest.test: Implementation of TIP 85. Allows tcltest users - to add new legal values of the -match option to [test], associating - each with a Tcl command that does the matching of expected results - with actual results of tests. Thanks to Arjen Markus. => tcltest 2.1 - [Patch 521362] - -2002-06-03 Miguel Sofer - - * doc/namespace.n: added description of [namepace forget] behaviour - for unqualified patterns. [Bug 559268] - -2002-06-03 Miguel Sofer - - * generic/tclExecute.c: reverting an accidental modification in the - last commit. - -2002-06-03 Miguel Sofer - - * doc/Tcl.n: clarify the empty variable name issue ([Bug 549285] - reported by Tom Krehbiel, patch by Don Porter). - -2002-05-31 Don Porter - - * library/package.tcl: Fixed leak of slave interp in [pkg_mkIndex]. - Thanks to Helmut for report. [Bug 550534] - - * tests/io.test: - * tests/main.test: Use the "stdio" constraint to control whether an - [open "|[interpreter]"] is attempted. - - * generic/tclExecute.c (TclMathInProgress,TclExecuteByteCode - (ExprCallMathFunc): - * generic/tclInt.h (TclMathInProgress): - * unix/Makefile.in (tclMtherr.*): - * unix/configure.in (NEED_MATHERR): - * unix/tclAppInit.c (matherr): - * unix/tclMtherr.c (removed file): - * win/tclWinMtherr.c (_matherr): Removed internal routine - TclMathInProgress and Unix implementation of matherr(). These are now - obsolete, dealing with very old versions of the C math library. - Windows version is retained in case Borland compilers require it, but - it is inactive. Thanks to Joe English. [Bug 474335, Patch 555635] - - * unix/configure: regen - -2002-05-30 Miguel Sofer - - * generic/tclCompExpr.c: - * generic/tclCompile.c: - * generic/tclCompile.h: removed exprIsJustVarRef and - exprIsComparison from the ExprInfo and CompileEnv structs. These - were set, but not used since dec 1999 [Bug 562383]. - -2002-05-30 Vince Darley - - * generic/tclFileName.c (TclGlob): fix to longstanding 'knownBug' in - fileName tests 15.2-15.4, and fix to a new Tcl 8.4 bug in certain uses - of 'glob -tails'. - * tests/fileName.test: removed 'knownBug' flag from some tests, added - some new tests for above bugs. - -2002-05-29 Jeff Hobbs - - * unix/configure: regen'ed - * unix/configure.in: replaced bigendian check with autoconf standard - AC_C_BIG_ENDIAN, which defined WORDS_BIGENDIAN on bigendian systems. - * generic/tclUtf.c (Tcl_UniCharNcmp): - * generic/tclInt.h (TclUniCharNcmp): use WORDS_BIGENDIAN instead of - TCL_OPTIMIZE_UNICODE_COMPARE to enable memcmp alternative. - - * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): - * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for choosing - the Tcl_UniCharNcmp compare to when both objs are of StringType, as - benchmarks show that is the optimal check (both bigendian and - littleendian systems). - -2002-05-29 Don Porter - - * generic/tclMain.c: Removed "dummy" reference to Tcl_LinkVar. It is - no longer needed since Tcl_Main() now actually calls Tcl_LinkVar(). - Thanks to Joe English for pointing that out. - -2002-05-29 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): - * generic/tclCmdMZ.c (Tcl_StringObjCmd): Use the macro version. - * generic/tclInt.h (TclUniCharNcmp): Optimised still further with a - macro for use in sensitive places like tclExecute.c - - * generic/tclUtf.c (Tcl_UniCharNcmp): Use new flag to figure out when - we can use an optimal comparison scheme, and default to the old scheme - in other cases which is at least safe. - * unix/configure.in (TCL_OPTIMIZE_UNICODE_COMPARE): New optional flag - that indicates when we can use memcmp() to compare Unicode strings - (i.e. when the high-byte of a Tcl_UniChar precedes the low-byte.) - -2002-05-29 Jeff Hobbs - - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - * generic/tclUtf.c: added TclpUtfNcmp2 private command that - mirrors Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This - provides a faster alternative for comparing utf strings internally. - (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end of - string check as it wasn't correct for the function (by doc and logic). - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal - comparison code to use TclpUtfNcmp2 as well as short-circuit for - equal objects or unequal length strings in the equal case. - Removed the use of goto and streamlined the other parts. - - * generic/tclExecute.c (TclExecuteByteCode): added check for object - equality in the comparison instructions. Added short-circuit for != - length strings in INST_EQ, INST_NEQ and INST_STR_CMP. Reworked - INST_STR_CMP to use TclpUtfNcmp2 where appropriate, and only use - Tcl_UniCharNcmp when at least one of the objects is a Unicode obj with - no utf bytes. - - * generic/tclCompCmds.c (TclCompileStringCmd): removed error creation - in code that no longer throws an error. - - * tests/string.test: - * tests/stringComp.test: added more string comparison checks. - - * tests/clock.test: better qualified 9.1 constraint check for %s. - -2002-05-28 Jeff Hobbs - - * generic/tclThreadAlloc.c (TclpRealloc, TclpFree): protect - against the case when NULL is based. - - * tests/clock.test: added clock-9.1 - * compat/strftime.c: - * generic/tclClock.c: - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * unix/tclUnixTime.c: fix for Windows msvcrt mem leak caused by using - an env(TZ) setting trick for in clock format -gmt 1. This also makes - %s seem to work correctly with -gmt 1 as well as making it a lot - faster by avoid the env(TZ) hack. TclpStrftime now takes useGMT as an - arg. [Bug 559376] - -2002-05-28 Vince Darley - - * generic/tclIOUtil.c: fixes to Tcl_FSLoadFile when called on a file - inside a vfs. This should avoid leaving temporary files sitting - around on exit. [Bug 545579] - -2002-05-27 Donal K. Fellows - - * win/tclWinError.c: Added comment on conversion of - ERROR_NEGATIVE_SEEK because that is a mapping that really belongs, - and not a catch-all case. - * win/tclWinPort.h (EOVERFLOW): Should be either EFBIG or EINVAL - * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): EOVERFLOW can - potentially be a synonym for EINVAL. - -2002-05-24 Donal K. Fellows - - === Changes due to TIP#91 === - - * win/tclWinPort.h: Added declaration of EOVERFLOW. - * doc/CrtChannel.3: Added documentation of wideSeekProc. - * generic/tclIOGT.c (TransformSeekProc, TransformWideSeekProc): - Adapted to use the new channel mechanism. - * unix/tclUnixChan.c (FileSeekProc, FileWideSeekProc): Renamed - FileSeekProc to FileWideSeekProc and created new FileSeekProc which - has the old-style interface and which errors out with EOVERFLOW when - the returned file position can't fit into the return type (int for - historical reasons). - * win/tclWinChan.c (FileSeekProc, FileWideSeekProc): Renamed - FileSeekProc to FileWideSeekProc and created new FileSeekProc which - has the old-style interface and which errors out with EOVERFLOW when - the returned file position can't fit into the return type (int for - historical reasons). - * mac/tclMacChan.c (FileSeek): Reverted to old interface; Macs lack - large-file support because I can't see how to add it. - * generic/tclIO.c (Tcl_Seek, Tcl_Tell): Given these functions - knowledge of the new arrangement of channel types. - (Tcl_ChannelVersion): Added recognition of new version code. - (HaveVersion): New function to do version checking. - (Tcl_ChannelBlockModeProc, Tcl_ChannelFlushProc) - (Tcl_ChannelHandlerProc): Made these functions use HaveVersion for - ease of future maintainability. - (Tcl_ChannelBlockModeProc): Obvious lookup function. - * generic/tcl.h (Tcl_ChannelType): New wideSeekProc field, and - seekProc type restored to old interpretation. - (TCL_CHANNEL_VERSION_3): New channel version. - -2002-05-24 Andreas Kupries - - * tests/winPipe.test: Applied patch for [Bug 549617]. Patch and bug - report by Kevin Kenny . - - * win/tclWinSock.c (TcpWatchProc): Fixed [Bug 557878]. We are not - allowed to mess with the watch mask if the socket is a server socket. - I believe that the original reporter is George Peter Staplin. - -2002-05-21 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: Invoke SC_ENABLE_SHARED before calling - SC_CONFIG_CFLAGS so that the SHARED_BUILD variable can be checked - inside SC_CONFIG_CFLAGS. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Pass -non_shared instead of -shared - to ld when configured with --disable-shared under OSF. [Bug 540390] - -2002-05-20 Daniel Steffen - - * generic/tclInt.h: added prototype for TclpFilesystemPathType(). - * mac/tclMacChan.c: use MSL provided creator type if available instead - of the default 'MPW '. - -2002-05-16 Joe English - - * doc/CrtObjCmd.3: Added Tcl_GetCommandFromObj, Tcl_GetCommandFullName - [Bugs 547987, 414921] - -2002-05-14 Donal K. Fellows - - * unix/tclUnixChan.c (TtyOutputProc): #if/#endif-ed this function out - to stop compiler warnings. Also much general tidying of comments in - this file and removal of whitespace from blank lines. - -2002-05-13 Donal K. Fellows - - * unix/tclUnixChan.c (SETBREAK): Solaris thinks ioctl() takes a signed - second argument, and Linux thinks ioctl() takes an unsigned second - argument. So need a longer definition of this macro to get neither to - spew warnings... - -2002-05-13 Vince Darley - - * generic/tclEvent.c: - * generic/tclIOUtil.c: - * generic/tclInt.h: clean up all memory allocated by the filesystem, - via introduction of 'TclFinalizeFilesystem'. - Move TclFinalizeLoad into TclFinalizeFilesystem so we can be sure it - is called at just the right time. - Fix bad comment also. [Bug 555078 and 'fs' part of 543549] - * win/tclWinChan.c: fix comment referring to wrong function. - -2002-05-10 Don Porter - - * tests/load.test: - * tests/safe.test: - * tests/tcltest.test: Corrected some list-quoting issues and other - matters that cause tests to fail when the patch includes special - characters. Report from Vince Darley. [Bug 554068] - -2002-05-08 David Gravereaux - - * doc/file.n: - * tools/man2tcl.c: - * tools/man2help2.tcl: Thanks to Peter Spjuth - , again. My prior fix for single-quote macro - mis-understanding was wrong. Reverted to reimpliment the 'macro2' proc - which handles single-quote macros and restored file.n text arrangement - to avoid single-quotes on the first line. Sorry for all the confusion. - -2002-05-08 David Gravereaux - - * tools/man2tcl.c: - * tools/man2help2.tcl: Proper source of macro error misunderstanding - single-quote as the leading macro command found and repaired. - - * doc/file.n: Reverted to prior state before I messed with it. - -2002-05-08 Don Porter - - * library/tcltest/tcltest.tcl: Corrected [uplevel] quoting when - [source]-ing test script in subdirectories. - * tests/fileName.test: - * tests/load.test: - * tests/main.test: - * tests/tcltest.test: - * tests/unixInit.test: Fixes to test suite when there's a space in the - working path. Thanks to Kevin Kenny. - -2002-05-07 David Gravereaux - - -- Changes from Peter Spjuth - * tools/man2tcl.c: Increased line buffer size and a bail-out if that - should ever be over-run. - * tools/man2help.tcl: Include Courier New font in rtf header. - * tools/man2help2.tcl: Improved handling of CS/CE fields. Use Courier - New for code samples and indent better. - - * doc/file.n: - * doc/TraceCmd.3: winhelp conversion tools where understanding - a ' as the first character on a line to be an unknown macro. - Not knowing how to repair tools/man2tcl.c, I decided to rearrange - the text in the docs instead. - -2002-05-07 Vince Darley - - * generic/tclFileName.c: fix to similar segfault when using 'glob - -types nonsense -dir dirname -join * *'. [Bug 553320] - - * doc/FileSystem.3: further documentation on vfs. - * tests/cmdAH.test: - * tests/fileSystem.test: - * tests/pkgMkindex.test: Fix to testsuite bugs when running out of - directory whose name contains '{' or '['. - -2002-05-07 Miguel Sofer - - * tests/basic.test: Fix for [Bug 549607] - * tests/encoding.test: Fix for [Bug 549610] - These are testsuite bugs that caused failures when the filename - contained spaces. Report & fix by Kevin Kenny. - -2002-05-02 Vince Darley - - * generic/tclFileName.c: fix to freeing a bad object (i.e. segfault) - when using 'glob -types nonsense -dir dirname'. - * generic/tclWinFile.c: fix to [Bug 551306], also wrapped some long - lines. - * tests/fileName.test: added several tests for the above bugs. - * doc/FileSystem.3: clarified documentation on refCount requirements - of the object returned by the path type function. - * generic/tclIOUtil.c: - * win/tclWinFile.c: - * unix/tclUnixFile.c: - * mac/tclMacFile.c: moved TclpFilesystemPathType to the platform- - specific directories, so we can add missing platform-specific - implementations. On Windows, 'file system' now returns useful results - like "native NTFS", "native FAT" for that system. Unix and MacOS still - only return "native". - * doc/file.n: clarified documentation. - * tests/winFile.test: test for 'file system' returning correct values. - * tests/fileSystem.test: test for 'file system' returning correct - values. Clean up after failed previous test run. - -2002-04-26 Jeff Hobbs - - * unix/configure: - * unix/tcl.m4: change HP-11 SHLIB_LD_LIBS from "" to ${LIBS} so that - the .sl knows its dependent libs. - -2002-04-26 Donal K. Fellows - - * tests/obj.test (obj-11.[56]): Test conversion to boolean more - thoroughly. - * generic/tclObj.c (SetBooleanFromAny): Was not calling an integer - parsing function on native 64-bit platforms! [Bug 548686] - -2002-04-24 Jeff Hobbs - - * generic/tclInt.h: corrected TclRememberJoinableThread decl to use - VOID instead of void. - * generic/tclThreadJoin.c: noted that this code isn't needed on Unix. - -2002-04-23 Jeff Hobbs - - * doc/exec.n: - * doc/tclvars.n: doc updates [Patch 509426] (gravereaux) - -2002-04-24 Daniel Steffen - - * mac/tclMacResource.r: added check of TCLTK_NO_LIBRARY_TEXT_RESOURCES - #define to allow disabling the inclusion of the tcl library code in - the resource fork of Tcl executables and shared libraries. - -2002-04-23 Donal K. Fellows - - * doc/TraceCmd.3: New file that documents Tcl_CommandTraceInfo, - Tcl_TraceCommand and Tcl_UntraceCommand [Bug 414927] - -2002-04-22 Jeff Hobbs - - * generic/tclAlloc.c: - * generic/tclInt.h: - * generic/tclThreadAlloc.c (new): - * unix/Makefile.in: - * unix/tclUnixThrd.c: - * win/Makefile.in: - * win/tclWinInt.h: - * win/tclWinThrd.c: added new threaded allocator contributed by AOL - that significantly reduces lock contention when multiple threads are - in use. Only Windows and Unix implementations are ready, and the - Windows one may need work. It is only used by default on Unix for now, - and requires that USE_THREAD_ALLOC be defined (--enable-threads on - Unix will define this). - - * generic/tclIOUtil.c (Tcl_FSRegister, Tcl_FSUnregister): corrected - calling of Tcl_ConditionWait to ensure that there would be a condition - to wait upon. - - * generic/tclCmdAH.c (Tcl_FileObjCmd): added cast in FILE_SIZE. - - * win/tclWinFCmd.c (DoDeleteFile): check return of setattr API calls - in file deletion for correct Win32 API handling. - - * win/Makefile.in: correct dependencies for shell, gdb, runtest - targets. - - * doc/clock.n: - * compat/strftime.c (_fmt): change strftime to correctly handle - localized %c, %x and %X on Windows. Added some notes about how the - other values could be further localized. - -2002-04-19 Don Porter - - * generic/tclMain.c (Tcl_Main): Free the memory allocated for the - startup script path. [Bug 543549] - - * library/msgcat/msgcat.tcl: [mcmax] wasn't using the caller's - namespace when determining the max translated length. Also made - revisions for better use of namespace variables and more efficient - [uplevel]s. - - * doc/msgcat.n: - * library/msgcat/msgcat.tcl: - * library/msgcat/pkgIndex.tcl: Added [mcload] to the export list of - msgcat; bumped to 1.2.3. [Bug 544727] - -2002-04-20 Daniel Steffen - - * generic/tclInt.decls: - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: - * mac/tclMacFCmd.c: - * mac/tclMacFile.c: - * mac/tclMacUtil.c: Modified TclpObjNormalizePath to be alias file - aware, and replaced various calls to FSpLocationFrom*Path by calls to - new alias file aware versions FSpLLocationFrom*Path. The alias file - aware routines don't resolve the last component of a path if it is an - alias. This allows [file copy/delete] etc. to act correctly on alias - files. (c.f. discussion in [Bug 511666]) - -2002-04-19 Donal K. Fellows - - * tests/lindex.test (lindex-3.7): - * generic/tclUtil.c (TclGetIntForIndex): Stopped indexes from hitting - wide ints. [Bug 526717] - -2002-04-18 Miguel Sofer - - * generic/tclNamesp.c: - * tests/info.test: [Bug 545325] info level didn't report namespace - eval, bug report by Richard Suchenwirth. - -2002-04-18 Don Porter - - * doc/subst.n: Clarified documentation on handling unusual return - codes during substitution, and on variable substitutions implied by - command substitution, and vice versa. [Bug 536838] - -2002-04-18 Donal K. Fellows - - * generic/tclCmdIL.c (InfoBodyCmd): - * tests/info.test (info-2.6): Proc bodies without string reps would - report as empty. [Bug 545644] - - * generic/tclCmdMZ.c (Tcl_SubstObj): More clarification for comment on - behaviour when substitutions are not well-formed, prompted by [Bug - 536831]; alas, removing the ill-defined behaviour is a lot of work. - -2002-04-18 Miguel Sofer - - * generic/tclExecute.c: - * tests/expr-old.test: fix for [Bug 542588] (Phil Ehrens), where "too - large integers" were reported as "floating-point value" in [expr] - error messages. - -2002-04-17 Jeff Hobbs - - * generic/tclEncoding.c (EscapeFromUtfProc): - * generic/tclIO.c (WriteChars, Tcl_Close): corrected the handling of - outputting end escapes for escape-based encodings. - [Bug 526524] (yamamoto) - -2002-04-17 Don Porter - - * doc/tcltest.n: Removed [saveState] and [restoreState] from tcltest - 2 documentation, effectively deprecating them. [Bug 495660] - * library/tcltest/tcltest.tcl: Made separate export for commands kept - only for tcltest 1 compatibility. - - * tests/iogt.test: Revised to run tests in a namespace, rather than - use the useless and buggy [saveState] and [restoreState] commands of - tcltest. Updated to use tcltest 2 as well. [Patch 544911] - -2002-04-16 Don Porter - - * tests/io.test: Revised to run tests in a namespace, rather than use - the useless and buggy [saveState] and [restoreState] commands of - tcltest. Updated to use tcltest 2 as well. [Patch 544546] - -2002-04-15 Miguel Sofer - - * generic/tclProc.c: - * tests/proc-old.test: Improved stack trace for TCL_BREAK and - TCL_CONTINUE returns from procs. Patch by Don Porter [Bug 536955]. - - * generic/tclExecute.c: - * tests/compile.test: made bytecodes check for a catch before - returning; the compiled [return] is otherwise non-catchable. [Bug - 542142] reported by Andreas Kupries. - -2002-04-15 Don Porter - - * tests/socket.test: Increased timeout values so that tests have - time to successfully complete even on slow/busy machines. [Bug 523470] - - * doc/tcltest.n: - * library/tcltest/tcltest.tcl: - * tests/tcltest.test: Revised [tcltest::test] to return errors when - called with invalid syntax and to accept exactly two arguments as - documented. Improved error messages. [Bug 497446, Patch 513983] - ***POTENTIAL INCOMPATIBILITY***: Incompatible with previous tcltest - 2.* releases, found only in alpha releases of Tcl 8.4. - -2002-04-11 Jeff Hobbs - - * generic/tclNotify.c (TclFinalizeNotifier): remove remaining - unserviced events on finalization. - - * win/tcl.m4: Enabled COFF as well as CV style debug info with - --enable-symbols to allow Dr. Watson users to see function info. More - info on debugging levels can be obtained at: - http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp - - * tests/ioCmd.test: fixed iocmd-8.15 to have mac and unixPc variants. - - * generic/tclParse.c (Tcl_ParseVar): conditionally incr obj refcount - to prevent possible mem leak. - -2002-04-08 Daniel Steffen - - * generic/tcl.h: no on mac. - * mac/tclMacFile.c: minor fixes to Vince's changes from 03-24. - * mac/tclMacOSA.c: - * mac/tclMacResource.c: added missing Tcl_UtfToExternalDString - conversions of resource file names. - * mac/tclMacSock.c (TcpGetOptionProc): fixed bug introduced by Andreas - on 02-25; changed strcmp's to strncmp's so that option comparison - behaves like on other platforms. - * mac/tcltkMacBuildSupport.sea.hqx (CW Pro6 changes): added support to - allow Tk to hookup C library stderr/stdout to TkConsole. - * tests/basic.test: - * tests/cmdAH.test: - * tests/encoding.test: - * tests/fileSystem.test: - * tests/ioCmd.test: fixed tests failing on mac: check for existence of - [exec], changed some result strings. - -2002-04-06 Jeff Hobbs - - * unix/tclUnixFCmd.c (Realpath): added a little extra code to - initialize a realpath arg when compiling in PURIFY mode in order to - prevent spurious purify warnings. We should really create our own - realpath implementation, but this will at least quiet purify for now. - -2002-04-05 Don Porter - - * generic/tclCmdMZ.c (Tcl_SubstObj): - * tests/subst.test: Corrected [subst] so that return codes TCL_BREAK - and TCL_CONTINUE returned by variable substitution have the same - effect as when those codes are returned by command substitution. [Bug - 536879] - -2002-04-03 Jeff Hobbs - - * library/tcltest/tcltest.tcl: added getMatchingFiles back (alias to - GetMatchingFiles), which was a public function in tcltest 1.0. - -2002-04-01 Vince Darley - - * generic/tclEnv.c: - * generic/tclIOUtil.c: invalidate filesystem cache when the user - changes env(HOME). Fixes [Bug 535621]. Also cleaned up some of the - documentation. - * tests/fileSystem.test: added test for bug just fixed. - -2002-04-01 Kevin Kenny - - * win/tclWinTime.c (Tcl_GetTime): made the checks of clock frequency - more permissive to cope with the fact that Win98SE is observed to - return 1.19318 in place of 1.193182 for the performance counter - frequency. - -2002-03-29 Jeff Hobbs - - * generic/tclCmdMZ.c (Tcl_TraceObjCmd, TraceVarProc) - (TraceCommandProc, TclTraceCommandObjCmd): corrected potential - double-free of traces on variables by flagging in Trace*Proc that it - will free the var in case the eval wants to delete the var trace as - well. [Bug 536937] Also converted Tcl_UntraceVar -> Tcl_UntraceVar2 - and Tcl_Eval to Tcl_EvalEx in Trace*Proc for slight efficiency - improvement. - -2002-03-29 Don Porter - - * doc/AllowExc.3: - * generic/tclBasic.c (Tcl_EvalObjv,Tcl_EvalEx,Tcl_EvalObjEx): - * generic/tclCompile.h (TclCompEvalObj): - * generic/tclExecute.c (TclCompEvalObj,TclExecuteByteCode): - * tests/basic.test: Corrected problems with Tcl_AllowExceptions having - influence over the wrong scope of Tcl_*Eval* calls. Patch from Miguel - Sofer. Report from Jean-Claude Wippler. [Bug 219181] - -2002-03-28 Don Porter - - * generic/tclVar.c: Refactored CallTraces to collect repeated handling - of its returned value into CallTraces itself. - -2002-03-28 David Gravereaux - - * tools/feather.bmp: - * tools/man2help.tcl: - * tools/man2help2.tcl: - * win/makefile.vc: More winhelp target fixups. Added a feather bitmap - to the non-scrollable area and changed the color to be yellow from a - plain white. The colors can be whatever we want them to be, but - thought I would start with something bold. [Bug 527941] - - * doc/SetVar.3: - * doc/TraceVar.3: - * doc/UpVar.3: .AP macro syntax repair. - -2002-03-27 David Gravereaux - - * tools/man2help.tcl: - * win/makefile.vc: winhelp target now copies all needed files from - tools/ to a workarea under $(OUT_DIR) and builds it from there. No - build cruft is left in tools/ anymore. All paths used in man2help.tcl - are now relative to where the script is. [Bug 527941] - -2002-03-27 David Gravereaux - - * win/.cvsignore: - * win/buildall.vc.bat: - * win/coffbase.txt: - * win/makefile.vc: - * win/nmakehlp.c (new): - * win/rules.vc: First draft fix for [Bug 527941]. More changes need - to done to the makehelp target to get to stop leaving build files in - the tools/ directory. This does not address the syntax errors in the - man files. Having the contents of tcl.hpj(.in) inside makefile.vc - allows for version numbers to be replaced with macros. - - The new nmakehlp.c is built by rules.vc in preprocessing and removes - the need to use tricky shell syntax that wasn't compatible on Win9x - systems. Clean targets made Win9x complient. This is a first draft - repair for [Bug 533862]. - -2002-03-28 Miguel Sofer - - * generic/tclBasic.c (Tcl_EvalEx): passing the correct commandSize to - TclEvalObjvInternal. [Bug 219362], fix by David Knoll. - -2002-03-28 Miguel Sofer - - * generic/tclBasic.c (Tcl_EvalEx): - * tests/basic.test: avoid exceptional returns at level 0. [Bug 219181] - -2002-03-27 Don Porter - - * doc/tcltest.n ([mainThread]): - * library/tcltest/tcltest.tcl: - * tests/tcltest.test: Major code cleanup to deal with whitespace, - coding conventions, and namespace issues, with several minor bugs - fixed in the process. - - * tests/main.test: Added missing [after cancel]s. - -2002-03-25 Don Porter - - * tests/main.test: Removed workarounds for Bug 495977. - - * library/tcltest/tcltest.tcl: Keep the value of $::auto_path - unchanged, so that the tcltest package can test code that depends on - auto-loading. If a testing application needs $::auto_path pruned, it - should do that itself. [Bug 495726] - Improve the processing of the -constraints option to [test] so that - constraint lists can have arbitrary whitespace, and non-lists don't - blow things up. [Bug 495977] - Corrected faulty variable initialization. [Bug 534845] - -2002-03-25 Miguel Sofer - - * doc/CrtTrace.3: small doc correction - * generic/tclBasic.c (Tcl_DeleteTrace): Allow NULL callback on trace - deletions. [Bug 534728] (Hemang Lavana) - -2002-03-24 Miguel Sofer - - * generic/tclBasic.c (Tcl_EvalObjv): replaced obscure, incorrect code - as described in [Bug 533907] (Don Porter). - -2002-03-24 Don Porter - - * library/tcltest/tcltest.tcl: Use [interpreter] to set/query the - executable currently running the tcltest package. [Bug 454050] - - * library/tcltest/tcltest.tcl: Allow non-proc commands to be used as - the customization hooks. [Bug 495662] - -2002-03-24 Vince Darley - - * generic/tclFilename.c: - * generic/tclFCmd.c: - * generic/tclTest.c: - * generic/tcl.h: - * generic/tclIOUtil.c: - * win/tclWinFile.c: - * win/tclWinFCmd.c: - * win/tclWinPipe.c: - * unix/tclUnixFile.c: - * unix/tclUnixFCmd.c: - * mac/tclMacFile.c: - * doc/FileSystem.3: - * doc/file.n: - * tests/cmdAH.test: - * tests/fileName.test: - * tests/fileSystem.test: (new file) - * tests/winFCmd.test: fix [Bug 511666] and [Bug 511658], and improved - documentation of some aspects of the filesystem, particularly - 'Tcl_FSMatchInDirectory' which now might match a single file/directory - only, and 'file normalize' which wasn't very clear before. Removed - inconsistency betweens docs and the Tcl_Filesystem structure. Also - fixed [Bug 523217] and corrected file normalization on Unix so that - it expands symbolic links. Added some new tests of the filesystem - code (in the new file 'fileSystem.test'), and some extra tests for - correct handling of symbolic links. Fix to [Bug 530960] which shows up - on Win98. Made comparison with ".com" case insensitive in tclWinPipe.c - - ***POTENTIAL INCOMPATIBILITY***: But only between alpha releases - (users of the new Tcl_Filesystem lookup table in Tcl 8.4a4 need to - handle the new way in which Tcl may call Tcl_FSMatchInDirectory, and - 'file normalize' on unix now behaves correctly). Only known impact is - with the 'tclvfs' extension. - -2002-03-22 Miguel Sofer - - * tests/basic.test (basic-46.1): adding test for [Bug 533758], fixed - earlier today. - -2002-03-22 Jeff Hobbs - - * win/tclWinInt.h: moved undef of TCL_STORAGE_CLASS. [Bug 478579] - -2002-03-22 Miguel Sofer - - * generic/tclBasic.c (Tcl_EvalObjEx): - * generic/tclExecute.c (TclCompEvalObj): fixed the errorInfo for - return codes other than (TCL_OK, TCL_ERROR) to runLevel 0.[Bug 533758] - Removed the static RecordTracebackInfo(), as its functionality is - easily replicated by Tcl_LogCommandInfo. Bug and redundancy noted by - Don Porter. - -2002-03-21 Donal K. Fellows - - * doc/expr.n: Improved documentation for ceil and floor. [Bug 530535] - -2002-03-20 Don Porter - - * doc/SetVar.3: - * doc/TraceVar.3: - * doc/UpVar.3: - * generic/tcl.h (Tcl_VarTraceProc): - * generic/tcl.decls (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, - (Tcl_UnsetVar2, Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, - (Tcl_GetVar2Ex, TclSetVar2Ex): - * generic/tclCmdMZ.c (TraceVarProc): - * generic/tclEnv.c (EnvTraceProc): - * generic/tclEvent.c (VwaitVarProc): - * generic/tclInt.decls (TclLookupVar,TclPrecTraceProc): - * generic/tclLink.c (LinkTraceProc): - * generic/tclUtil.c (TclPrecTraceProc): - * generic/tclVar.c (CallTraces, MakeUpvar, VarErrMsg, TclLookupVar, - (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, Tcl_UnsetVar2, - (Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, Tcl_GetVar2Ex, - (TclSetVar2Ex): Updated interfaces of generic/tclVar.c according to - TIP 27. In particular, the "part2" arguments were CONSTified. [Patch - 532642] - * generic/tclDecls.h: - * generic/tclIntDecls.h: make genstubs - -2002-03-15 Donal K. Fellows - - * tests/compile.test (compile-12.3): Test to detect bug 530320. - * generic/tclCompile.c (TclCompileTokens): Fixed buffer overrun - reported in bug 530320. - -2002-03-14 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Add configure time test for SEH support in the - compiler. - * win/tclWin32Dll.c (ESP, EBP, TclpCheckStackSpace, - (_except_checkstackspace_handler): - * win/tclWinChan.c (ESP, EBP, Tcl_MakeFileChannel, - (_except_makefilechannel_handler): - * win/tclWinFCmd.c (ESP, EBP, DoRenameFile, DoCopyFile, - (_except_dorenamefile_handler, _except_docopyfile_handler): - Implement SEH support under gcc using inline asm. Tcl and Tk should - now compile with Mingw 1.1. [Patch 525746] - -2002-03-14 Mo DeJong - - * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle an SEH exception - with EXCEPTION_EXECUTE_HANDLER instead of restarting the faulting - instruction with EXCEPTION_CONTINUE_EXECUTION. [Bug 466102] provides - an example of how restarting could send Tcl into an infinite loop. - [Patch 525746] - -2002-03-11 Mo DeJong - - * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, DoDeleteFile, - (DoRemoveJustDirectory): Make sure we don't pass NULL or "" as a path - name to Win32 API functions since this was crashing under Windows 98. - -2002-03-11 Don Porter - - * library/tcltest/tcltest.tcl: - * library/tcltest/pkgIndex.tcl: Bumped tcltest package to 2.0.2. - -2002-03-11 Mo DeJong - - * library/tcltest/tcltest.tcl (getMatchingFiles): Pass a proper list - to foreach to avoid munging a Windows patch like D:\Foo\Bar into - D:FooBar before the glob. - -2002-03-11 Mo DeJong - - * generic/tclEncoding.c: Fix typo in comment. - * generic/tclIO.c (DoReadChars, ReadBytes, ReadChars): Use NULL value - instead of pointer set to NULL to make things more clear. Reorder - arguments so that they match the function signatures. Cleanup little - typos and add more descriptive comment. - -2002-03-08 Mo DeJong - - * win/README: Update to indicate that Mingw 1.1 is required to build - Tcl. Add section describing new msys based build process. Update - Cygwin build instructions so users know where to find Mingw 1.1. - -2002-03-08 Jeff Hobbs - - * win/tclWinFCmd.c (DoCopyFile): correctly set retval to TCL_OK. - -2002-03-07 Mo DeJong - - * win/tclWin32Dll.c (TclpCheckStackSpace): - * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace hard coded - constants with Win32 symbolic names. Move control flow statements out - of __try blocks since the documentation indicates it is frowned upon. - -2002-03-07 Don Porter - - * doc/interp.n: - * generic/tclInterp.c (Tcl_InterpObjCmd, SlaveObjCmd, - (SlaveRecursionLimit): - * generic/tclTest.c: - * tests/interp.test: Added the [interp recursionlimit] command to - set/query the recursion limit of an interpreter. Proposal and - implementation from Stephen Trier. [TIP 87, Patch 522849] - -2002-03-06 Donal K. Fellows - - * generic/tcl.h, tools/tcl.wse.in, unix/configure.in, - * unix/tcl.spec, win/README.binary, win/configure.in, README: - Bumped patchlevel; this might need to change in the future, but it - will help us distinguish between the CVS version and the most recent - released version. - -2002-03-06 Miguel Sofer - - * generic/tclInt.h: for unshared objects, TclDecrRefCount now frees - the internal rep before the string rep - just like the non-macro - Tcl_DecrRefCount/TclFreeObj. [Bug 524802] - -2002-03-06 Donal K. Fellows - - * doc/lsearch.n: Documentation of new features, plus examples. - * tests/lsearch.test: Tests of new features. - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): TIP#80 support. See - http://purl.org/tcl/tip/80 for details. - -2002-03-05 Jeff Hobbs - - *** 8.4a4 TAGGED FOR RELEASE *** - - * unix/tclUnixChan.c: initial remedy for [Bug 525783] flush problem - introduced by TIP #35. This may not satisfy true serial channels, but - it restores the correct flushing of std* channels on exit. - - * unix/README: added --enable-langinfo doc. - - * unix/tcl.spec: - * tools/tcl.wse.in: fixed URL refs to use www.tcl.tk or SF. - -2002-03-04 Jeff Hobbs - - * README: - * mac/README: - * unix/Makefile.in: - * unix/README: - * win/README: - * win/README.binary: updated to use www.tcl.tk URL. - - * unix/Makefile.in: added older ChangeLogs to dist target. - - * tests/io.test: - * tests/encoding.test: corrected iso2022 encoding results. - added encoding-24.* - * generic/tclEncoding.c (EscapeFromUtfProc): corrected output of - escape codes as per RFC 1468. [Patch 474358] (taguchi) - (TclFinalizeEncodingSubsystem): corrected potential double-free - when encodings were finalized on exit. [Bugs 219314, 524674] - -2002-03-01 Jeff Hobbs - - * library/encoding/iso2022-jp.enc: - * library/encoding/iso2022.enc: - * tools/encoding/iso2022-jp.esc: - * tools/encoding/iso2022.esc: gave $B precedence over $@, - based on comments (point 1) in [Bug 219283] (rfc 1468) - - * tests/encoding.test: added encoding-23.* tests - * generic/tclIO.c (FilterInputBytes): reset the TCL_ENCODING_START - flags in the ChannelState when using 'gets'. [Bug 523988] - Also reduced the value of ENCODING_LINESIZE from 30 to 20 as this - seems to improve the performance of 'gets' according to tclbench. - -2002-02-28 Jeff Hobbs - - * generic/tclCmdMZ.c (TraceCommandProc): ensure that TraceCommandInfo - structure was also deleted when a command was deleted to prevent a - mem leak. - - * generic/tclBasic.c (Tcl_CreateObjTrace): set tracePtr->flags - correctly. - - * generic/tclTimer.c (TimerExitProc): remove remaining events in - tls on thread exit. - -2002-02-28 Miguel Sofer - - * generic/tclNamesp.c: allow cached fully-qualified namespace names to - be usable from different namespaces within the same interpreter - without forcing a new lookup [Patch 458872]. - -2002-02-28 Miguel Sofer - - * generic/tclExecute.c: Replaced a few direct stack accesses with the - POP_OBJECT() macro [Bug 507181] (Don Porter). - -2002-02-27 Don Porter - - * doc/GetIndex.3: - * generic/tcl.decls (Tcl_GetIndexFromObjStruct): - * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Revised the - prototype of the Tcl_GetIndexFromObjStruct to take its struct table as - a (CONST VOID *) argument, better describing what it is, maintaining - source compatibility, and adding CONST correctness according to TIP - 27. Thanks to Joe English for an elegant solution. [Bug 520304] - - * generic/tclDecls.h: make genstubs - - * generic/tclMain.c (Tcl_Main,StdinProc): Corrected some reference - count management errors on the interactive command Tcl_Obj found by - Purify. Thanks to Jeff Hobbs for the report and assistance. - -2002-02-27 Jeff Hobbs - - * generic/tclBasic.c (Tcl_EvalTokensStandard): corrected mem leak in - error case. - - * generic/tclTest.c (TestStatProc[123]): correct harmless UMRs. - - * generic/tclLink.c (Tcl_LinkVar): correct mem leak in error case. - -2002-02-27 Andreas Kupries - - * tests/socket.test (2.7): Accepted and applied patch for [Bug 523470] - provided by Don Porter to avoid timing - problems in that test. - - * unix/tclUnixChan.c (TclpOpenFileChannel): Added code to regonize - "/dev/tty" (by name) and to not handle it as tty / serial line. This - is the controlling terminal and is special. Setting it into raw mode - as is done for other tty's is a bad idea. This is a hackish fix for - expect [Bug 520624]. The fix has limitation: Tcl_MakeFileChannel - handles tty's specially too, but is unable to recognize /dev/tty as it - only gets a file descriptor, and no name for it. - -2002-02-26 Jeff Hobbs - - * generic/tclCmdAH.c (StoreStatData): corrected mem leak. - - * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): prevent obj leak in - remedial regsub case. - - * generic/tclFileName.c (Tcl_TranslateFileName): decr refcount for - error case to prevent mem leak. - - * generic/tclVar.c (Tcl_ArrayObjCmd): removed extra obj allocation. - - * unix/tclUnixSock.c (Tcl_GetHostName): added an extra - gethostbyname check to guard against failure with truncated - names returned by uname. - - * unix/configure: - * unix/tcl.m4 (SC_SERIAL_PORT): added sys/modem.h check and defined - _XOPEN_SOURCE_EXTENDED for HP-11 to get updated header decls. - - * unix/tclUnixChan.c: added Unix implementation of TIP #35, serial - port support. [Patch 438509] (schroedter) - -2002-02-26 Miguel Sofer - - * generic/tclCmpCmds.c: (bugfix to the bugfix, hopefully the last) - Bugfix to the new [for] compiling code: was setting a exceptArray - parameter using another param which wasn't yet initialised, thus - filling it with noise. - -2002-02-25 Andreas Kupries - - * mac/tclMacSock.c (TcpGetOptionProc): Changed to recognize the option - "-error". Essentially ignores the option, always returning an empty - string. - -2002-02-25 Jeff Hobbs - - * doc/Alloc.3: - * doc/LinkVar.3: - * doc/ObjectType.3: - * doc/PkgRequire.3: - * doc/Preserve.3: - * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc, - ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and - to accurately describe when and how they are used. [Bug 497459] (dgp) - - * generic/tclHash.c (AllocArrayEntry, AllocStringEntry): - Before invoking ckalloc when creating a Tcl_HashEntry, - check that the amount of memory being allocated is - at least as large as sizeof(Tcl_HashEntry). The previous - code was allocating memory regions that were one - or two bytes short. [Bug 521950] (dejong) - -2002-02-25 Miguel Sofer - - * generic/tclBasic.c (Tcl_EvalEx): avoiding a buffer overrun - reported by Joe English, and restoring tcl7.6 behaviour for - [subst]: badly terminated nested scripts will raise an error - and not be evaluated. [Bug 495207] - -2002-02-25 Don Porter - - * unix/tclUnixPort.h: corrected strtoll prototype mismatch on Tru64. - * compat/strtod.c (strtod): simplified #includes - * compat/strtol.c (strtol): gather result in a long before returning - as a long: necessary on platforms where sizeof(int) != sizeof(long). - -2002-02-25 Daniel Steffen - - * unix/tclLoadDyld.c: updated to use Mac OS X 10.1 dyld APIs that - have more libdl-like semantics. [Bug 514392] - -2002-02-25 Miguel Sofer - - * generic/tclCompCmds: fixing a bug in patch dated 2002-02-22, in the - code for [for] and [while]. Under certain conditions, for long bodies, - the exception range parameters were badly computed. Tests forthcoming: - I still can't reproduce the conditions in the testsuite (!), although - the bug (with assorted segfault or panic!) can be triggered from the - console or with the new parse.bench in tclbench. - -2002-02-25 Donal K. Fellows - - * compat/strtoul.c, compat/strtol.c, compat/strtod.c: Added UCHAR, - CONST and #includes to clean up GCC output. - -2002-02-23 Don Porter - - * compat/strtoull.c (strtoull): - * compat/strtoll.c (strtoll): - * compat/strtoul.c (strtoul): Fixed failure to handle leading - sign symbols '+' and '-' and '0X' and raise overflow errors. - [Bug 440916] Also corrects prototype and errno problems. - -2002-02-23 Mo DeJong - - * configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Link with -n32 instead of -32 when - building on IRIX64-6.* system. [Bug 521707] - -2002-02-22 Don Porter - - * generic/tclInt.h: - * generic/tclObj.c: renamed global variable emptyString -> - tclEmptyString because it is no longer static. - * generic/tclPkg.c: Fix for panic when library is loaded on a - platform without backlinking without proper use of stubs. [Bug 476537] - -2002-02-22 Jeff Hobbs - - * tests/regexpComp.test: updated regexp-11.[1-4] to match changes in - regexp.test for new regsub syntax - - * unix/configure: - * unix/tcl.m4: added --enable-64bit support for AIX-4 (using -q64 - flag) when using IBM's xlc compiler. - - * tests/safe.test: updated safe-8.5 and safe-8.7 - * library/safe.tcl (CheckFileName): removed the limit on - sourceable file names (was only *.tcl or tclIndex files with no more - than one dot and 14 chars). There is enough internal protection in a - safe interpreter already. [Tk Bug 521560] - -2002-02-22 Miguel Sofer - - * generic/tclCompCmds: [FR 465811]. Optimising [if], [for] and [while] - for constant conditions; in addition, [for] and [while] are now - compiled with the "loop rotation" optimisation (thanks to Kevin - Kenny). - -2002-02-22 Donal K. Fellows - - --- TIP#76 CHANGES --- - * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): Final-argument-less - [regsub] returns the modified string. - * doc/regsub.n: Updated docs. - * tests/regexp.test: Updated and added tests. - - * compat/strtoll.c (strtoll): - * compat/strtoull.c (strtoull): - * unix/tclUnixPort.h: - * win/tclWinPort.h: Const-ing 64-bit compatibility declarations. Note - that the return pointer is non-const because it is entirely legal for - the functions to be called from somewhere that owns the string being - passed. Fixes problem reported by Larry Virden. - -2002-02-21 David Gravereaux - - * win/mkd.bat (removed): - * win/coffbase.txt (new): - * win/makefile.bc: - * win/makefile.vc: Changed the 'setup' target to stop using the - mkd.bat file and just make the directory right in the rule. Same - change to makefile.bc. Neither configure.in nor Makefile.in use it. - - coffbase.txt will be the master list for our "prefered base addresses" - set by the linker. This should improve load-time (NT only) by avoiding - relocations. Submissions to the list by extension authors are - encouraged. - - Added a 'tidy' target to compliment 'clean' and 'hose' to remove just - the outputs. Also removed the $(winlibs) macro as it wasn't being - used. - - Stuff left to do: - 1) get the winhelp target to stop building in the tools/ directory. - 2) stop using rmd.bat - 3) add more dependacy rules. - - * win/tclAppInit.c: Reverted back to -r1.6, as the header file change - to tclPort.h won't allow for easy embedded support outside of the - source dist. Thanks to Don Porter for pointing this out to me. - -2002-02-21 David Gravereaux - - * win/makefile.vc: - * win/rules.vc: Added a new "loimpact" option that sets the - -ws:aggressive linker option. Off by default. It's said to keep the - heap use low at the expense of alloc speed. - - * win/tclAppInit.c: Changed #include "tcl.h" to be tclPort.h to remove - the raw windows.h include. tclPort.h brings in windows.h already and - lessens the precompiled-header mush and the randomly useless #pragma - comment (lib,...) references throughout the big windows.h tree (as - observed at high linker warning levels). - -2002-02-21 Donal K. Fellows - - * generic/tcl.h: Better guessing of LP64/ILP32 architecture, but now - sensitive to presence of (suitable) - -2002-02-20 Don Porter - - * generic/tcl.decls (Tcl_RegExpRange,Tcl_GetIndexFromObjStruct): - Overlooked a few source incompatibilities. Now using CONST84. - * generic/tclDecls.h: make genstubs - * generic/tcl.h (Tcl_CmdObjTraceProc): silence warning from Sun - Workshop compiler. - -2002-02-20 David Gravereaux - - * win/buildall.vc.bat: - * win/makefile.vc: - * win/rules.vc: General clean-ups. Added compiler and linker tests for - a) the pentium 0x0F errata, b) optimizing (not all have this), and c) - linker v6 section alignment confusion. All these are tested first to - make sure any D4002 or LNK1117 warnings aren't displayed. The pentium - 0x0F errata is a recommended switch. The v5 linker's section alignment - default is 512, but the v6 linker was changed to 4096 in an attempt to - speed loading on Win98. I changed the default to always be 512 across - both linkers, unless linking statically, then 4096 is used for the - claimed speed effect. Using a 512 alignment saves 12k bytes of dead - space in the DLL. - - Added IA64 B-stepping errata switch when the compiler supports it. - - Added profiling to $(lflags) when requested and also removed the - explict -entry option as the default works fine as is. - - Removed win/tclWinInit.c from the special case section to let it use - the common implicit rule as the $(EXTFLAGS) macro it had was never - referenced anywhere. - -2002-02-20 Donal K. Fellows - - * generic/tcl.h: Added code to guess the correct settings for - TCL_WIDE_INT_IS_LONG and TCL_WIDE_INT_TYPE when configure doesn't tell - us them, as can happen with extensions. - -2002-02-19 Donal K. Fellows - - * doc/format.n: Updated docs to list the specification. - * generic/tclCmdAH.c (Tcl_FormatObjCmd): Made behaviour on 64-bit - platforms correctly meet the specification, that %d works with the - native word-sized integer, instead of trying to guess (wrongly) - from the value being passed. - -2002-02-19 Don Porter - - * changes: First draft of updated changes for 8.4a4 release. - -2002-02-15 Jeff Hobbs - - * unix/tclUnixPort.h: add strtoll/strtoull declarations for - platforms that do not define them. - - * generic/tclIndexObj.c (STRING_AT): removed ptrdiff_t cast and - use of VOID* in default case (GNU-ism). - -2002-02-15 Kevin Kenny - - * compat/strtoll.c: - * compat/strtoul.c: - * compat/strtoull.c: - * generic/tclIOUtil.c: - * generic/tclPosixStr.c: - * generic/tclTest.c: - * generic/tclTestObj.c: - * tests/get.test: - * win/Makefile.vc: Further tweaks to the TIP 72 patch to make it - compile under VC++. - -2002-02-15 Andreas Kupries - - * tclExecute.c: - * tclIOGT.c: - * tclIndexObj.c: Touchups to the TIP 72 patch to make it compileable - under Windows again. The changes are not complete, there is one nasty - regarding _stati64 - -2002-02-15 Donal K. Fellows - - +----------------------+ - | TIP #72 IMPLEMENTED. | - +----------------------+ - - There are a lot of changes from this TIP, so please see - http://purl.org/tcl/tip/72.html for discussion of - backward-compatibility issues, but the main ones modifications are in: - - * generic/tcl.h: New types. - * generic/tcl.decls: New public functions. - * generic/tclExecute.c: 64-bit aware bytecode engine. - * generic/tclBinary.c: 64-bit handling in [binary] command. - * generic/tclScan.c: 64-bit handling in [scan] command. - * generic/tclCmdAH.c: 64-bit handling in [file] and [format] - commands. - * generic/tclBasic.c: New "wordSize" entry in ::tcl_platform. - * generic/tclFCmd.c: Large-file support (with many consequences.) - * generic/tclIO.c: Large-file support (with many consequences.) - * compat/strtoll.c, compat/strtoull.c: New support functions. - * unix/tcl.m4, unix/configure: 64-bit support and greatly enhanced - caching. - - Most other changes, including all those in doc/* and test/* as well as - the majority in the platform directories, follow on from these. - - Also coming out of the woodwork: - * generic/tclIndex.c: Better support for Cray PVP. - * win/tclWinMtherr.c: Better Borland support. - - Note that, in a number of places through the Unix part of the platform - support, there are Tcl_Platform* references. These are expanded into - the correct way to call that particular underlying function, i.e. with - or without a '64' suffix, and should be used by people working on the - core in preference to the API functions they overlay so that the code - remains portable depending on the presence or absence of 64-bit - support on the underlying platform. - - ***POTENTIAL INCOMPATIBILITY***: Extracted from the TIP - - SUMMARY OF INCOMPATIBILITIES AND FIXES - ====================================== - - The behaviour of expressions containing constants that appear positive - but which have a negative internal representation will change, as - these will now usually be interpreted as wide integers. This is always - fixable by replacing the constant with int(constant). - - Extensions creating new channel types will need to be altered as - different types are now in use in those areas. The change to the - declaration of Tcl_FSStat and Tcl_FSLstat (which are the new preferred - API in any case) are less serious as no non-alpha releases have been - made yet with those API functions. - - Scripts that are lax about the use of the l modifier in format and - scan will probably need to be rewritten. This should be very uncommon - though as previously it had absolutely no effect. - - Extensions that create new math functions that take more than one - argument will need to be recompiled (the size of Tcl_Value changes), - and functions that accept arguments of any type (TCL_EITHER) will need - to be rewritten to handle wide integer values. (I do not expect this - to affect many extensions at all.) - -2002-02-14 Andreas Kupries - - * generic/tclIOCmd.c (Tcl_GetsObjCmd): Trivial fix for [Bug 517503], a - memory leak reported by Miguel Sofer . The leak - happens if an error occurs for "set var [gets $chan]" and leak one - empty object. - -2002-02-12 David Gravereaux - - * djgpp/ (new directory) - * djgpp/Makefile (new): - * unix/tclAppInit.c: - * unix/tclMtherr.c: - * unix/tclUnixFCmd.c: - * unix/tclUnixFile.c: - * unix/tclUnixInit.c: - * unix/tclUnixPort.h: Early stage of DJGPP support for building Tcl - on DOS. Dynamic loading isn't working, yet. Requires watt32 for the - TCP/IP stack. No autoconf, yet. Barely tested, but makes a working exe - that runs Tcl in protected-mode, flat memory. [exec] and pipes will - need the most work as multi-tasking on DOS has to be carefully. - -2002-02-10 Kevin Kenny - - * doc/CrtObjCmd.3: - * doc/CrtTrace.3: - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclBasic.c: - * generic/tclInt.h: - * generic/tclTest.c: - * tests/basic.test: Added Tcl_CreateObjTrace, - Tcl_GetCommandInfoFromToken and Tcl_SetCommandInfoFromToken. - (TIPs #32 and #79.) - - * generic/tclDecls.h: - * generic/tclStubInit.c: Regenerated Stubs tables. - -2002-02-08 Jeff Hobbs - - * unix/configure: - * unix/tcl.m4: added -pthread for FreeBSD to EXTRA_CFLAGS and - LDFLAGS. Also triggered nodots only for FreeBSD-3. Added - AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) for Solaris. - - * unix/tclUnixPort.h: - * unix/tclUnixThrd.c: added thread-safe versions of readdir, - localtime, gmtime and inet_ntoa for threaded build. (jgdavidson) - - * generic/tclScan.c (Tcl_ScanObjCmd): prevented ckfree being called on - a pointer to NULL. - -2002-02-07 Don Porter - - * doc/DString.3: - * doc/Encoding.3: - * doc/GetCwd.3: - * doc/SplitPath.3: - * doc/Translate.3: - * doc/Utf.3: - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclEncoding.c: - * generic/tclEnv.c: - * generic/tclFileName.c: - * generic/tclIOUtil.c: - * generic/tclUtf.c: - * generic/tclUtil.c: - * mac/tclMacInit.c: - * unix/tclUnixFile.c: - * unix/tclUnixInit.c: - * unix/tclUnixPipe.c: - * win/tclWin32Dll.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: - * win/tclWinInit.c: Partial TIP 27 rollback. Following routines - restored to return (char *): Tcl_DStringAppend, - Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName, - Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString, - Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also restored - Tcl_WinUtfToTChar to return (TCHAR *) and Tcl_UtfToUniCharDString to - return (Tcl_UniChar *). Modified some callers. This change recognizes - that Tcl_DStrings are de-facto white-box objects. - - * generic/tclDecls.h: - * generic/tclPlatDecls.h: make genstubs - - * generic/tclCmdMZ.c: corrected use of C++-style comment. - -2002-02-06 Jeff Hobbs - - * tests/scan.test: - * generic/tclScan.c (Tcl_ScanObjCmd): corrected scan 0x... %x handling - that didn't accept the 0x as a prelude to a base 16 number. [Bug - 495213] - - * generic/tclCompCmds.c (TclCompileRegexpCmd): made early check for - bad RE to stop checking further. - - * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): added special case to search - for simple 'string map' style regsub calls. Delayed creation of - resultPtr object until an initial match is made, as the input string - object can then be reused for no matches. - (Tcl_StringObjCmd): optimization improvements to the STR_MAP - algorithm for zero-length and nocase cases. - - * tests/regexp.test: - * tests/regexpComp.test: extra code coverage tests. - - * tests/string.test: added 10.18 and 10.19 extra tests. - - * generic/regc_locale.c (casecmp): slight performance improvement. - -2002-02-05 Don Porter - - * library/http/http.tcl: - * library/http/pkgIndex.tcl: Corrected use of http::error when - ::error was intended. Bump to http 2.4.2. - -2002-02-04 Andreas Kupries - - * unix/tclUnixChan.c (FileOutputProc): Fixed [bug 465765] reported by - Dale Talcott . Avoid writing - nothing into a file as STREAM based implementations will consider this - a EOF (if the file is a pipe). Not done in the generic layer as this - type of writing is actually useful to check the state of a socket. - - * doc/open.n: Fixed [Bug 511540], added cross-reference to 'pid' as - the command to use to retrieve the pid of a command pipeline created - via 'open'. - -2002-02-01 Jeff Hobbs - - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): handle quirky about case - earlier to avoid shimmering problem. - -2002-02-01 Andreas Kupries - - * tests/io.test: io-39.22 split into two tests, one platform - dependent, the other not. -eofchar is not empty on the windows - platform. - -2002-02-01 Vince Darley - - * generic/tclTest.c: fix to picky windows compiler problem with the - 'MainLoop' function declaration. - -2002-01-31 Andreas Kupries - - * win/tclWinFCmd.c: TIP 27: Applied patch fixing CONST warnings on - behalf of Don Porter . - -2002-01-30 Don Porter - - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclInt.h: For each interface identified in the TIP 27 - changes below as a POTENTIAL INCOMPATIBILITY, the source of the - incompatibility has been parameterized so that it can be removed. When - compiling extension code against the Tcl header files, use the - compiler flag -DUSE_NON_CONST to remove the irresolvable source - incompatibilities introduced by the TIP 27 changes. Resolvable changes - are left for extension authors to resolve. - * generic/tclDecls.h: make genstubs - -2002-01-30 Vince Darley - - * doc/FileSystem.3: added documentation for 3 public functions which - had been overlooked. [Bug 507701] - * unix/mkLinks: make mklinks - -2002-01-29 Jeff Hobbs - - * tests/regexpComp.test: - * generic/tclCompCmds.c (TclCompileRegexpCmd): enhanced to support - -nocase and -- options. - -2002-01-28 Mo DeJong - - * unix/tcl.m4 (SC_LOAD_TCLCONFIG): - * win/tcl.m4 (SC_LOAD_TCLCONFIG): Set TCL_LIB_SPEC, TCL_STUB_LIB_SPEC, - and TCL_STUB_LIB_PATH to the values of TCL_BUILD_LIB_SPEC, - TCL_BUILD_STUB_LIB_SPEC, and TCL_BUILD_STUB_LIB_PATH when tclConfig.sh - is loaded from the build directory. A Tcl extension should make use of - the non-build versions of these variables since they will work in both - cases. This modification was described in TIP 34. - -2002-01-28 Jeff Hobbs - - * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey) - (DeleteKey,GetKeyNames,GetType,GetValue,OpenSubKey,SetValue): - redid the CONSTification as previous changes caused failing tests. - - * tests/regexpComp.test (new): - * generic/tclInt.h: - * generic/tclBasic.c: added TclCompileRegexpCmd entry - * generic/tclCompCmds.c (TclCompileStringCmd): corrected to return - TCL_OUT_LINE_COMPILE instead of TCL_ERROR for parsing errors, so - it only throws the error for runtime compile, in case the user - modifies 'string'. - (TclCompileRegexpCmd): first try at a byte-compiled regexp command. It - handles static strings and ^$ bounded static strings. - (TclCompileAppendCmd): made TclPushVarName call always use - TCL_CREATE_VAR as numWords is always > 2 at that point. - - * generic/tclExecute.c (TclExecuteByteCode:INST_LIST): correct - possibly dangerous decr in macro call. - - * win/tclWinInit.c (TclpFindVariable): CONSTification touch-up - - * win/tclWinReg.c (OpenSubKey): corrected bug introduced in - CONSTification that dropped pointer reference. - - * ChangeLog.2000 (new file): - * ChangeLog: broke changes from 2000 into ChangeLog.2000 to reduce - size of the main ChangeLog. - -2002-01-28 David Gravereaux - - * generic/tclPlatDecls.h: Added preprocessor logic to force a - typedef of TCHAR when __STDC__ is defined when using the uncommon - -Za compiler switch with the microsoft compiler. - -2002-01-27 Don Porter - - * doc/package.n: Documented global namespace context for script - evaluation by [package require]. - -2002-01-27 Daniel Steffen - - * generic/tclInt.decls: - * generic/tclIntPlatDecls.h: - * mac/tclMacChan.c: - * mac/tclMacFCmd.c: - * mac/tclMacFile.c: - * mac/tclMacInit.c: - * mac/tclMacLoad.c: - * mac/tclMacResource.c: - * mac/tclMacSock.c: TIP 27 CONSTification induced changes - - * tests/event.test: - * tests/main.test: added catches/constraints to test that - use features that don't exist on the mac. - -2002-01-25 Mo DeJong - - Make -eofchar and -translation options read only for server sockets. - [Bug 496733] - - * generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption): - Instead of returning nothing for the -translation option on a server - socket, always return "auto". Return the empty string enclosed in - quotes for the -eofchar option on a server socket. Fixup -eofchar - usage message so that it matches the implementation. - * tests/io.test: Add -eofchar tests and -translation tests to ensure - options are read only on server sockets. - * tests/socket.test: Update tests to account for -eofchar and - -translation option changes. - -2002-01-25 Don Porter - - * compat/strstr.c (strstr): - * generic/tclCmdAH.c (Tcl_FormatObjCmd): - * generic/tclCmdIL.c (InfoNameOfExecutableCmd): - * generic/tclEnv.c (ReplaceString): - * generic/tclFileName.c (ExtractWinRoot): - * generic/tclIO.c (FlushChannel,Tcl_BadChannelOption): - * generic/tclStringObj.c (AppendUnicodeToUtfRep): - * generic/tclThreadTest.c (TclCreateThread): - * generic/tclUtf.c (Tcl_UtfPrev): - * mac/tclMacFCmd.c (TclpObjListVolumes): - * mac/tclMacResource.c (TclMacRegisterResourceFork, - (BuildResourceForkList): - * win/tclWinInit.c (AppendEnvironment): Sought out and eliminated - instances of CONST-casting that are no longer needed after the - TIP 27 effort. - - * Following is [Patch 501006] - * generic/tclInt.decls (Tcl_AddInterpResolvers, Tcl_Export, - (Tcl_FindNamespace, Tcl_GetInterpResolvers, Tcl_ForgetImport, - (Tcl_Import, Tcl_RemoveInterpResolvers): - * generic/tclNamesp.c (Tcl_Export, Tcl_Import, Tcl_ForgetImport, - (Tcl_FindNamespace): - * generic/tclResolve.c (Tcl_AddInterpResolvers,Tcl_GetInterpResolvers, - (Tcl_RemoveInterpResolvers): Updated APIs in generic/tclResolve.c and - generic/tclNamesp.c according to the guidelines of TIP 27. - * generic/tclIntDecls.h: make genstubs - - * Following is [Patch 505630] - * doc/AddErrorInfo.3: - * generic/tcl.decls (Tcl_LogCommandInfo): - * generic/tclBasic.c (Tcl_LogCommandInfo): Updated interfaces - of generic/tclBasic.cc according to TIP 27. - * generic/tclDecls.h: make genstubs - - * Following is [Patch 506818] - * doc/Hash.3: - * generic/tcl.decls (Tcl_HashStats): - * generic/tclHash.c (Tcl_HashStats): Updated APIs of generic/tclHash.c - according to guidelines of TIP 27. - * generic/tclDecls.h: make genstubs - * generic/tclVar.c (Tcl_ArrayObjCmd): Updated callers. - - * Following is [Patch 506807] - * doc/ObjectType.3: - * generic/tcl.decls (Tcl_GetObjType): - * generic/tclObj.c (Tcl_GetObjType): Updated APIs of generic/tclObj.c - according to guidelines of TIP 27. - * generic/tclDecls.h: make genstubs - - * Following is [Patch 507304] - * doc/Encoding.3: - * generic/tcl.decls (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf): - * win/tclWin32Dll.c (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf): - Updated interfaces in win/tclWin32Dll.c according to TIP 27. - * generic/tclPlatDecls.h: make genstubs - * generic/tclIOUtil.c (TclpNativeToNormalized): - * win/tclWinFCmd.c (TclpObjNormalizePath): - * win/tclWinFile.c (TclpFindExecutable,TclpMatchInDirectory, - (NativeIsExec,NativeStat): - * win/tclWinLoad.c (TclpLoadFile): - * win/tclWinPipe.c (TclpOpenFile,ApplicationType): - * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey,DeleteKey, - (GetKeyNames,GetType,GetValue,OpenSubKey,SetValue): - * win/tclWinSerial.c (SerialSetOptionProc): Update callers. - - * Following is [Patch 505072] - * doc/Concat.3: - * doc/Encoding.3: - * doc/Filesystem.3: - * doc/Macintosh.3: - * doc/OpenFileChnl.3 - * doc/SetResult.3: - * doc/SetVar.3: - * doc/SplitList.3: - * doc/SplitPath.3: - * doc/Translate.3: - * generic/tcl.h (Tcl_FSMatchInDirectoryProc): - * generic/tclInt.h (TclpMatchInDirectory): - * generic/tcl.decls (Tcl_Concat,Tcl_GetStringResult,Tcl_GetVar, - (Tcl_GetVar2,Tcl_JoinPath,Tcl_Merge,Tcl_OpenCommandChannel,Tcl_SetVar, - (Tcl_SetVar2,Tcl_SplitList,Tcl_SplitPath,Tcl_TranslateFileName, - (Tcl_ExternalToUtfDString,Tcl_GetEncodingName,Tcl_UtfToExternalDString, - (Tcl_GetDefaultEncodingDir,Tcl_SetDefaultEncodingDir, - (Tcl_FSMatchInDirectory,Tcl_MacEvalResource,Tcl_MacFindResource): - * generic/tclInt.decls (TclCreatePipeline,TclGetEnv,TclpGetCwd, - (TclpCreateProcess): - * mac/tclMacFile.c (TclpGetCwd): - * generic/tclEncoding.c (Tcl_GetDefaultEncodingDir, - (Tcl_SetDefaultEncodingDir,Tcl_GetEncodingName, - (Tcl_ExternalToUtfDString,Tcl_UtfToExternalDString, OpenEncodingFile, - (LoadEscapeEncoding): - * generic/tclFileName.c (DoTildeSubst,Tcl_JoinPath,Tcl_SplitPath, - (Tcl_TranslateFileName): - * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): - * generic/tclPipe.c (FileForRedirect,TclCreatePipeline, - (Tcl_OpenCommandChannel): - * generic/tclResult.c (Tcl_GetStringResult): - * generic/tclUtil.c (Tcl_Concat,Tcl_SplitList,Tcl_Merge): - * generic/tclVar.c (Tcl_GetVar,Tcl_GetVar2,Tcl_SetVar,Tcl_SetVar2): - * mac/tclMacResource.c (Tcl_MacEvalResource,Tcl_MacFindResource): - Updated interfaces of generic/tclEncoding, generic/tclFilename.c, - generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, - generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according - to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware - version. - ***POTENTIAL INCOMPATIBILITY*** - Includes source incompatibilities: argv arguments of Tcl_Concat, - Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of - Tcl_SplitList and Tcl_SplitPath. - * generic/tclDecls.h: - * generic/tclIntDecls.h: make genstubs - - * generic/tclCkalloc.c (MemoryCmd): - * generic/tclClock.c (FormatClock): - * generic/tclCmdAH.c (Tcl_CaseObjCmd,Tcl_EncodingObjCmd,Tcl_FileObjCmd): - * generic/tclCmdIL.c (InfoLibraryCmd,InfoPatchLevelCmd, - (InfoTclVersionCmd): - * generic/tclCompCmds.c (TclCompileForeachCmd): - * generic/tclCompCmds.h (TclCompileForeachCmd): - * generic/tclCompile.c (TclFindCompiledLocal): - * generic/tclEnv.c (TclSetupEnv,TclSetEnv,Tcl_PutEnv,TclGetEnv, - (EnvTraceProc): - * generic/tclEvent.c (Tcl_BackgroundError): - * generic/tclIO.c (Tcl_BadChannelOption,Tcl_SetChannelOption): - * generic/tclIOCmd.c (Tcl_ExecObjCmd,Tcl_OpenObjCmd): - * generic/tclIOSock.c (TclSockGetPort): - * generic/tclIOUtil.c (SetFsPathFromAny): - * generic/tclLink.c (LinkTraceProc): - * generic/tclMain.c (Tcl_Main): - * generic/tclNamesp.c (TclTeardownNamespace): - * generic/tclProc.c (TclCreateProc): - * generic/tclTest.c (TestregexpObjCmd,TesttranslatefilenameCmd, - (TestchmodCmd,GetTimesCmd,TestsetCmd,TestOpenFileChannelProc1, - (TestOpenFileChannelProc2,TestOpenFileChannelProc3,AsyncHandlerProc, - (TestpanicCmd): - * generic/tclThreadTest.c (ThreadErrorProc,ThreadEventProc): - * generic/tclUtil.c (TclPrecTraceProc): - * mac/tclMacFCmd.c (GetFileSpecs): - * mac/tclMacFile.c (TclpMatchInDirectory): - * mac/tclMacInit.c (TclpInitLibraryPath,Tcl_SourceRCFile): - * mac/tclMacOSA.c (tclOSAStore,tclOSALoad): - * mac/tclMacResource.c (Tcl_MacEvalResource): - * unix/tclUnixFCmd.c (TclpObjNormalizePath): - * unix/tclUnixFile.c (TclpMatchInDirectory,TclpGetUserHome,TclpGetCwd, - (TclpReadLink): - * unix/tclUnixInit.c (TclpInitLibraryPath,TclpSetVariables, - (Tcl_SourceRCFile): - * unix/tclUnixPipe.c (TclpOpenFile,TclpCreateTempFile, - (TclpCreateProcess): - * win/tclWinFile.c (TclpGetCwd,TclpMatchInDirectory): - * win/tclWinInit.c (TclpInitLibraryPath,Tcl_SourceRCFile, - (TclpSetVariables): - * win/tclWinPipe.c (TclpCreateProcess): Updated callers. - -2002-01-24 Don Porter - - * generic/tclIOUtil.c (SetFsPathFromAny): Corrected tilde-substitution - of pathnames where > 1 separator follows the ~. [Bug 504950] - -2002-01-24 Jeff Hobbs - - * library/http/pkgIndex.tcl: - * library/http/http.tcl: don't add port in default case to handle - broken servers. http bumped to 2.4.1 [Bug 504508] - -2002-01-23 Andreas Kupries - - * unix/mkLinks: Regenerated. - * doc/CrtChannel.3: - * doc/ChnlStack.3: Moved documentation for 'Tcl_GetTopChannel' from - 'CrtChannel' to 'ChnlStack'. Added documentation of - 'Tcl_GetStackedChannel'. [Bug 506147] reported by Mark Patton - . - -2002-01-23 Don Porter - - * win/tclWinFile.c (NativeAccess,NativeStat,NativeIsExec, - (TclpGetUserHome): - * win/tclWinPort.h (TclWinSerialReopen): - * win/tclWinSerial.c (TclWinSerialReopen): - * win/tclWinSock.c (Tcl_OpenTcpServer): Corrections to earlier TIP 27 - changes. Thanks to Andreas Kupries for the feedback. - * generic/tclPlatDecls.h: make genstubs - - * doc/GetHostName.3: - * doc/GetOpnFl.3: - * doc/OpenTcp.3: - * tcl.decls (Tcl_GetHostName,Tcl_GetOpenFile,Tcl_OpenTcpClient, - (Tcl_OpenTclServer): - * mac/tclMacSock.c (CreateSocket,Tcl_OpenTcpClient,Tcl_OpenTcpServer, - (Tcl_GetHostName,GetHostFromString): - * unix/tclUnixChan.c (CreateSocket,CreateSocketAddress, - (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetOpenFile): - * unix/tclUnixSock.c (Tcl_GetHostName): - * win/tclWinSock.c (CreateSocket,CreateSocketAddress, - (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetHostName): - Updated socket interfaces according to TIP 27. - * generic/tclCmdIL.c (InfoHostnameCmd): Updated callers. - * generic/tclDecls.h: make genstubs - -2002-01-21 David Gravereaux - - * generic/tclLoadNone.c: TclpLoadFile() didn't match proto of typedef - Tcl_FSLoadFileProc. OK'd by vincentdarley. [Patch 502488] - -2002-01-21 Andreas Kupries - - * generic/tclIO.c (WriteChars): Fix for [Bug 506297], reported by - Martin Forssen . The encoding chosen in - the script exposing the bug writes out three intro characters when - TCL_ENCODING_START is set, but does not consume any input as - TCL_ENCODING_END is cleared. As some output was generated the - enclosing loop calls UtfToExternal again, again with START set. Three - more characters in the out and still no use of input ... To break this - infinite loop we remove TCL_ENCODING_START from the set of flags after - the first call (no condition is required, the later calls remove an - unset flag, which is a no-op). This causes the subsequent calls to - UtfToExternal to consume and convert the actual input. - -2002-01-21 Don Porter - - * generic/tclTest.c: Converted declarations of TestReport file system - to more portable form. [Bug 501417] - - * generic/tcl.decls (Tcl_TraceCommand,Tcl_UntraceCommand, - (Tcl_CommandTraceInfo): - * generic/tclCmdMZ.c (Tcl_TraceCommand,Tcl_UntraceCommand, - (Tcl_CommandTraceInfo): Updated APIs in generic/tclCmdMZ.c according - to the guidelines of TIP 27. - * generic/tclDecls.h: make genstubs - -2002-01-18 Don Porter - - * win/tclWinChan.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: Overlooked callers of Tcl_FSGetNativePath - - * win/tclWinDde.c: - * win/tclWinReg.c: Overlooked callers of Tcl_GetIndexFromObj - -2002-01-18 Daniel Steffen - - * generic/tclThreadTest.c: - * mac/tclMacChan.c: - * mac/tclMacFCmd.c: - * mac/tclMacFile.c: - * mac/tclMacLoad.c: - * mac/tclMacResource.c: TIP 27 CONSTification broke the mac build in a - number of places. - -2002-01-17 Andreas Kupries - - * generic/tclIOCmd.c (Tcl_GetsObjCmd): Fixed [Bug 504642] as reported - by Brian Griffin , using his - patch. Before the patch the generic I/O layer held an unannounced - reference to the interp result to store the read line into. This - unfortunately has disastrous results if the channel driver executes a - tcl script to perform its operation, this freeing the interp - result. In that case we are dereferencing essentially a dangling - reference. It is not truly dangling because the object is in the free - list, but this only causes us to smash the free list and have the - error occur later somewhere else. The patch simply creates a new - object for the line and later sets it into the interp result when we - are done with reading. - -2002-01-16 Mo DeJong - - * unix/tcl.m4 (SC_LOAD_TCLCONFIG): - * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst TCL_DBGX into - TCL_STUB_LIB_FILE and TCL_STUB_LIB_FLAG variables so that an extension - does not need to subst TCL_DBGX into its makefile. [Tk Bug 504356] - -2002-01-16 Don Porter - - * doc/FileSystem.3: - * doc/GetCwd.3: - * doc/GetIndex.3: - * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, - (Tcl_GetCwd, Tcl_FSFileAttrStrings, Tcl_FSGetNativePath, - (Tcl_FSGetTranslatedStringPath): - * generic/tcl.h (Tcl_FSFileAttrStringsProc): - * generic/tclFCmd.c (TclFileAttrsCmd): - * generic/tclIOUtil.c (Tcl_GetCwd,NativeFileAttrStrings, - (Tcl_FSFileAttrStrings,Tcl_FSGetTranslatedStringPath, - (Tcl_FSGetNativePath): - * generic/tclIndexObj.c (Tcl_GetIndexFromObj, - (Tcl_GetIndexFromObjStruct): - More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that were - overlooked before. [Patch 504671] - ***POTENTIAL INCOMPATIBILITY*** - Includes a source incompatibility in the tablePtr arguments of the - Tcl_GetIndexFromObj* routines. - * generic/tclDecls.h: make genstubs - - * generic/tclBinary.c (Tcl_BinaryObjCmd): - * generic/tclClock.c (Tcl_ClockObjCmd): - * generic/tclCmdAH.c (Tcl_EncodingObjCmd, Tcl_FileObjCmd): - * generic/tclCmdIL.c (Tcl_InfoObjCmd,Tcl_LsearchObjCmd,Tcl_LsortObjCmd): - * generic/tclCmdMZ.c (Tcl_TraceObjCmd,Tcl_RegexpObjCmd,Tcl_RegsubObjCmd, - (Tcl_StringObjCmd,Tcl_SubstObjCmd,Tcl_SwitchObjCmd, - (TclTraceCommandObjCmd,TclTraceVariableObjCmd): - * generic/tclCompCmds.c (TclCompileStringCmd): - * generic/tclEvent.c (Tcl_UpdateObjCmd): - * generic/tclFileName.c (Tcl_GlobObjCmd): - * generic/tclIO.c (Tcl_FileEventObjCmd): - * generic/tclIOCmd.c (Tcl_SeekObjCmd,Tcl_ExecObjCmd,Tcl_SocketObjCmd, - (Tcl_FcopyObjCmd): - * generic/tclInterp.c (Tcl_InterpObjCmd,SlaveObjCmd): - * generic/tclNamesp.c (Tcl_NamespaceObjCmd): - * generic/tclPkg.c (Tcl_PackageObjCmd): - * generic/tclTest.c (Tcltest_Init,TestencodingObjCmd,TestgetplatformCmd, - (TestlocaleCmd,TestregexpObjCmd,TestsaveresultCmd, - (TestGetIndexFromObjStructObjCmd,TestReportFileAttrStrings): - * generic/tclTestObj.c (TestindexObjCmd,TeststringObjCmd): - * generic/tclTimer.c (Tcl_AfterObjCmd): - * generic/tclVar.c (Tcl_ArrayObjCmd): - * mac/tclMacFCmd.c (SetFileFinderAttributes): - * unix/tclUnixChan.c (TclpOpenFileChannel): - * unix/tclUnixFCmd.c (tclpFileAttrStrings): - * unix/tclUnixFile.c (TclpObjAccess,TclpObjChdir,TclpObjStat, - (TclpObjLstat): - * win/tclWinFCmd.c (tclpFileAttrStrings): Updated callers. - - * doc/RegExp.3: - * doc/Utf.3: - * generic/tcl.decls: - * generic/tclInt.decls: - * generic/tclRegexp.c: - * generic/tclUtf.c: Updated APIs in generic/tclUtf.c and - generic/tclRegexp.c according to the guidelines of TIP 27. - [Patch 471509] - - * generic/regc_locale.c (element,cclass): - * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * generic/tclFileName.c (TclpGetNativePathType,SplitMacPath): - * generic/tclIO.c (ReadChars): - * mac/tclMacLoad.c (TclpLoadFile): - * win/tclWinFile.c (TclpGetUserHome): Updated callers. - - * generic/tclDecls.h: - * generic/tclIntDecls.h: make genstubs - - * doc/ParseCmd.3 (Tcl_ParseVar): - * generic/tcl.decls (Tcl_ParseVar): - * generic/tclParse.c (Tcl_ParseVar): - * generic/tclTest.c (TestparsevarObjCmd): Updated APIs in - generic/tclParse.c according to the guidelines of TIP 27. Updated - callers. [Patch 501046] - * generic/tclDecls.h: make genstubs - - * generic/tcl.decls (Tcl_RecordAndEval): - * generic/tclDecls.h: make genstubs - * generic/tclHistory.c (Tcl_RecordAndEval): Updated APIs in - generic/tclHistory.c according to the guidelines of TIP 27. - [Patch 504091] - - * doc/CrtSlave.3: - * generic/tcl.decls (Tcl_CreateAlias, Tcl_CreateAliasObj, - (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): - * generic/tclInterp.c (Tcl_CreateAlias, Tcl_CreateAliasObj, - (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): - Updated APIs in the file generic/tclInterp.c according to the - guidelines of TIP 27. [Patch 501371] - ***POTENTIAL INCOMPATIBILITY*** - Includes a source incompatibility in the targetCmdPtr arguments of the - Tcl_GetAlias* routines. - - * generic/tclDecls.h: make genstubs - -2002-01-15 Don Porter - - * doc/SetErrno.3 (Tcl_ErrnoMsg): Corrected documentation for - Tcl_ErrnoMsg; it takes an integer argument. Thanks to Georgios - Petasis. [Bug 468183] - - * doc/AddErrInfo.3 (Tcl_PosixError): - * doc/Eval.3 (Tcl_EvalFile): - * doc/FileSystem.c (Tcl_FSOpenFileChannel,Tcl_FSOpenFileChannelProc): - * doc/OpenFileChnl.3 (Tcl_OpenFileChannel): - * doc/SetErrno.3 (Tcl_ErrnoId,Tcl_ErrnoMsg): - * doc/Signal.3 (Tcl_SignalId,Tcl_SignalMsg): - * generic/tcl.decls (Tcl_ErrnoId,TclErrnoMsg,Tcl_EvalFile, - (Tcl_OpenFileChannel,Tcl_PosixError,Tcl_SignalId,Tcl_SignalMsg, - (Tcl_FSOpenFileChannel): - * generic/tcl.h (Tcl_FSOpenFileChannelProc): - * generic/tclIO.c (FlushChannel): - * generic/tclIOUtil.c (Tcl_OpenFileChannel,Tcl_EvalFile,TclGetOpenMode, - (Tcl_PosixError,Tcl_FSOpenFileChannel): - * generic/tclInt.decls (TclGetOpenMode): - * generic/tclInt.h (TclOpenFileChannelProc_,TclGetOpenMode, - (TclpOpenFileChannel): - * generic/tclPipe.c (TclCleanupChildren): - * generic/tclPosixStr.c (Tcl_ErrnoId,Tcl_ErrnoMsg,Tcl_SignalId, - (Tcl_SignalMsg): - * generic.tclTest.c (PretendTclpOpenFileChannel, - (TestOpenFileChannelProc1,TestOpenFileChannelProc2, - (TestOpenFileChannelProc3,TestReportOpenFileChannel): - * mac/tclMacChan.c (TclpOpenFileChannel): - * unix/tclUnixChan.c (TclpOpenFileChannel): - * win/tclWinChan.c (TclpOpenFileChannel): Updated APIs in - generic/tclIOUtil.c and generic/tclPosixStr.c according to the - guidelines of TIP 27. Updated callers. [Patch 499196] - - * generic/tclDecls.h: - * generic/tclIntDecls.h: make genstubs - - * doc/CrtChannel.3: - * doc/OpenFileChnl.3: - * generic/tcl.decls: - * generic/tclIO.h: - * generic/tclIO.c (DoWrite, Tcl_RegisterChannel, Tcl_GetChannel, - (Tcl_CreateChannel, Tcl_GetChannelName, CloseChannel, Tcl_Write, - (Tcl_WriteRaw, Tcl_Ungets, Tcl_BadChannelOption, Tcl_GetChannelOption, - (Tcl_SetChannelOption, Tcl_GetChannelNamesEx, Tcl_ChannelName): - Updated APIs in the file generic/tclIO.c according to the guidelines - of TIP 27. Several minor documentation corrections as well. - [Patch 503565] - * generic/tclDecls.h: make genstubs - - * generic/tcl.h (Tcl_DriverOutputProc, Tcl_DriverGetOptionProc, - (Tcl_DriverSetOptionProc): - * generic/tclIOGT.c (TransformOutputProc, TransformGetOptionProc, - (TransformSetOptionProc): - * mac/tclMacChan.c (FileOutput, StdIOOutput): - * man/tclMacSock.c (TcpGetOptionProc, TcpOutput): - * unix/tclUnixChan.c (FileOutputProc, TcpGetOptionProc, TcpOutputProc, - (TtyGetOptionProc, TtySetOptionProc): - * unix/tclUnixPipe.c (PipeOuputProc): - * win/tclWinChan.c (FileOutputProc): - * win/tclWinConsole.c (ConsleOutputProc): - * win/tclWinPipe.c (PipeOuputProc): - * win/tclWinSerial.c (SerialOutputProc, SerialGetOptionProc, - (SerialSetOptionProc): - * win/tclWinSock.c (TcpGetOptionProc, TcpOutput): Updated channel - driver interface according to the guidelines of TIP 27. See also - [Bug 500348]. - - * doc/CrtChannel.3: - * generic/tcl.h: - * generic/tclIO.c: - * generic/tclIO.h: - * generic/tclInt.h: - * tools/checkLibraryDoc.tcl: - Moved Tcl_EolTranslation enum declaration from generic/tcl.h to - generic/tclInt.h (renamed to TclEolTranslation). It is not used - anywhere in Tcl's public interface. - -2002-01-14 Don Porter - - * doc/GetIndex.3: - * doc/WrongNumArgs.3: - * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, - (Tcl_WrongNumArgs): - * generic/tclIndexObj.c (Tcl_GetIndexFromObj,Tcl_GetIndexFromObjStruct, - (Tcl_WrongNumArgs): Updated APIs in the file generic/tclIndexObj.c - according to the guidelines of TIP 27. [Patch 501491] - * generic/tclDecls.h: make genstubs - -2002-01-11 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: - * win/configure: Regen. - * win/configure.in: Use ${libdir} instead of ${exec_prefix}/lib - to properly support the --libdir option to configure. [Bug 489370] - -2002-01-11 Andreas Kupries - - * win/tclWinSerial.c (SerialSetOptionProc): Applied patch for [Bug - 500348] supplied by Rolf Schroedter . The - function modified the contents of the the 'value' string and now does - not do this anymore. This is a followup to the change made on - 2001-12-17. - -2002-01-11 David Gravereaux - - * win/makefile.vc: Removed -GD compiler option. It was intended for - future use, but MS is again changing the future at their whim. The - D4002 warning was harmless though, but someone using VC .NET logged it - as a concern. [Bug 501565] - -2002-01-11 Mo DeJong - - * unix/Makefile.in: Burn Tcl build directory into tcltest executable - to avoid crashes caused by ld loading a previously installed version - of the tcl shared library. [Bug 218110] - -2002-01-10 Don Porter , - Kevin Kenny - - * unix/tclLoadDld.c (TclpLoadFile): syntax error: unbalanced parens. - Kevin notes that it's far from clear that this file is ever included - in an actual build; Linux without dlopen appears to be a nonexistent - configuration. - -2002-01-08 Don Porter , - Kevin Kenny - - * doc/StaticPkg.3 (Tcl_StaticPackage): - * generic/tcl.decls (Tcl_StaticPackage): - * generic/tclDecls.h (Tcl_StaticPackage): - * generic/tclInt.decls (TclGuessPackageName): - * generic/tclInt.h (TclGuessPackageName): - * generic/tclLoad.c (Tcl_StaticPackage): - * generic/tclLoadNone.c (TclGuessPackageName): - * mac/tclMacLoad.c (TclGuessPackageName): - * unix/tclLoadAout.c (TclGuessPackageName): - * unix/tclLoadDl.c (TclGuessPackageName): - * unix/tclLoadDld.c (TclGuessPackageName): - * unix/tclLoadDyld.c (TclGuessPackageName): - * unix/tclLoadNext.c (TclGuessPackageName): - * unix/tclLoadOSF.c (TclGuessPackageName): - * unix/tclLoadShl.c (TclGuessPackageName): - * win/tclWinLoad.c (TclGuessPackageName): Updated APIs in the files - */tcl*Load*.c according to the guidelines of TIP 27. [Patch 501096] - -2002-01-09 Don Porter - - * generic/tclTest.c (MainLoop): - * tests/main.test (Tcl_Main-1.{3,4,5,6}): Corrected some non-portable - tests from the new Tcl_Main changes. Thanks to Kevin Kenny. - -2002-01-07 Don Porter - - * generic/tclEvent.c (TclInExit): - * generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized, - (SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep): - * generic/tclListObj.c (TclLsetList,TclLsetFlat): Added some type - casts to satisfy picky compilers. - - * generic/tclMain.c: Bug fix: neglected the NULL case in - TclGetStartupScriptFileName(). Broke Tk/wish. - -2002-01-05 Don Porter - - * doc/Tcl_Main.3: - * generic/tclMain.c: Substantial rewrite and expanded documentation - of Tcl_Main to correct a number of bugs and flaws: - - - Interactive Tcl_Main can now enter a main loop, exit that loop and - continue interactive operations. The loop may even exit in the - midst of interactive command typing without loss of the partial - command. [Bugs 486453, 474131] - - Tcl_Main now gracefully handles deletion of its master - interpreter. - - Interactive Tcl_Main can now operate with non-blocking stdin - - Interactive Tcl_Main can now detect EOF on stdin even in - mid-command. [Bug 491341] - - Added VFS-aware internal routines for managing the startup script - selection. - - Tcl variable 'tcl_interactive' is now linked to C variable 'tty' - so that one can disable/enable interactive prompts at the script - level when there is no startup script. This is meant for use by - the test suite. - - Consistent use of the Tcl libraries standard channels as returned - by Tcl_GetStdChannel(); as opposed to the channels named 'stdin', - 'stdout', and 'stderr' in the master interp, which can be - different or unavailable. - - Tcl_Main now calls Tcl_Exit() if evaluation of [exit] in the - master interpreter returns, assuring Tcl_Main does not return. - - Documented Tcl_Main's absence from public stub table - - Documented that Tcl_Main does not return. - - Documented Tcl variables set by Tcl_Main. - - All prompts are done from a single procedure, Prompt. - - Use of Tcl_Obj-enabled interfaces everywhere. - - * generic/tclInt.decls (TclGetStartupScriptPath, - (TclSetStartupScriptPath): New internal VFS-aware routines for - managing the startup script of Tcl_Main. - * generic/tclIntDecls.h: - * generic/tclStubInit.c: make genstubs - - * generic/tclTest.c (TestsetmainloopCmd,TestexitmainloopCmd, - (Tcltest_Init,TestinterpdeleteCmd): - * tests/main.test (new): Added new file to test suite that thoroughly - tests generic/tclMain.c; added some new test commands for testing - Tcl_SetMainLoop(). - -2002-01-04 Don Porter - - * doc/Alloc.3: - * doc/Concat.3: - * doc/CrtMathFnc.3: - * doc/Hash.3: - * doc/Interp.3: - * doc/LinkVar.3: - * doc/ObjectType.3: - * doc/PkgRequire.3: - * doc/Preserve.3: - * doc/SetResult.3: - * doc/SplitList.3: - * doc/SplitPath.3: - * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc, - ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and - to accurately describe when and how they are used. [Bug 497459] - - * generic/tclThreadJoin.c (TclRememberJoinableThread,TclJoinThread): - Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that - memory debugging is supported. - -2002-01-04 Daniel Steffen - - * mac/tclMacTime.c (TclpGetTZName): fix for daylight savings TZName bug - -2002-01-03 Don Porter - - * doc/FileSystem.3: - * generic/tclIOUtil.c: Updated some old uses of "fileName" to - new VFS terminology, "pathPtr". - -2002-01-03 Donal K. Fellows - - * tests/basic.test (basic-39.4): Greatly simplified test while - still leaving it so that it crashes when run without the fix to - the [foreach] implementation. - * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stopped [Bug 494348] from - happening by not trying to be so clever with cacheing; if nothing - untoward is happening anyway, the less efficient technique will - only add a few instruction cycles (one function call and a few - derefs/assigns per list per iteration, with no change in the - number of tests) and if something odd *is* going on, the code is - now far more robust. - - * tests/basic.test (basic-39.4): Reproducable script from [Bug 494348] - -2002-01-02 Donal K. Fellows - - * tests/util.test (Wrapper_Tcl_StringMatch,util-5.*): Rewrote so the - test is performed with the right internal function since [string - match] no longer uses Tcl_StringCaseMatch internally. - - * tests/string.test (string-11.51): - * generic/tclUtf.c (Tcl_UniCharCaseMatch): - * generic/tclUtil.c (Tcl_StringCaseMatch): Fault with matching - case-insensitive non-ASCII patterns containing upper case characters. - [Bug 233257] - - ****************************************************************** - *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" *** - *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** - *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" *** - ****************************************************************** DELETED ChangeLog.2003 Index: ChangeLog.2003 ================================================================== --- ChangeLog.2003 +++ /dev/null @@ -1,3349 +0,0 @@ -2003-12-25 Mo DeJong - - * win/tclWin32Dll.c (DllMain): Add HAVE_NO_SEH blocks in place of - __try and __except statements to support gcc builds. This is needed - after David's changes on 2003-12-21. [Patch 858493] - -2003-12-23 David Gravereaux - - * generic/tclAlloc.c: All uses of 'panic' (the macro) changed to - * generic/tclBasic.c: 'Tcl_Panic' (the function). The #define of - * generic/tclBinary.c: panic in tcl.h clearly states it is deprecated - * generic/tclCkalloc.c: in the comments. [Patch 865264] - * generic/tclCmdAH.c: - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclCompCmds.c: - * generic/tclCompExpr.c: - * generic/tclCompile.c: - * generic/tclConfig.c: - * generic/tclDictObj.c: - * generic/tclEncoding.c: - * generic/tclEvent.c: - * generic/tclExecute.c: - * generic/tclHash.c: - * generic/tclInterp.c: - * generic/tclIO.c: - * generic/tclIOCmd.c: - * generic/tclIOUtil.c: - * generic/tclListObj.c: - * generic/tclLiteral.c: - * generic/tclNamesp.c: - * generic/tclObj.c: - * generic/tclParse.c: - * generic/tclPathObj.c: - * generic/tclPkg.c: - * generic/tclPreserve.c: - * generic/tclProc.c: - * generic/tclStringObj.c: - * generic/tclTest.c: - * generic/tclThreadAlloc.c: - * generic/tclTimer.c: - * generic/tclTrace.c: - * generic/tclVar.c: - * mac/tclMacChan.c: - * mac/tclMacOSA.c: - * mac/tclMacResource.c: - * mac/tclMacSock.c - * mac/tclMacThrd.c: - * unix/tclUnixChan.c: - * unix/tclUnixNotfy.c: - * unix/tclUnixThrd.c: - * unix/tclXtNotify.c: - * win/tclWin32Dll.c: - * win/tclWinChan.c: - * win/tclWinFCmd.c: - * win/tclWinNotify.c: - * win/tclWinPipe.c: - * win/tclWinSock.c: - * win/tclWinThrd.c: - - * generic/tclInt.h: Deprecated use of Tcl_Ckalloc changed to - Tcl_Alloc in the TclAllocObjStorage macro. - -2003-12-22 David Gravereaux - - * win/nmakehlp.c: - * win/rules.vc: New feature for extensions that use rules.vc. Now - reads header files for version strings. No more hard coding - TCL_VERSION = 8.5 and having to edit it when you swap cores. - - * win/makefile.vc: VERSION macro now set by reading tcl.h for it. - - * generic/tcl.h: Removed note that makefile.vc needs to have a version - number changed. - -2003-12-21 David Gravereaux - - * win/tclWin32Dll.c: Structured Exception Handling added around - Tcl_Finalize called from DllMain's DLL_PROCESS_DETACH. We can't be - 100% assured that Tcl is being unloaded by the OS in a stable - condition and we need to protect the exit handlers should the stack be - in a hosed state. AT&T style assembly for SEH under MinGW has not been - added yet. This is a first part change for [Patch 858493] - -2003-12-17 Daniel Steffen - - * generic/tclBinary.c (DeleteScanNumberCache): fixed crashing bug when - numeric scan-value cache contains NULL value. - -2003-12-17 Vince Darley - - * generic/tclCmdAH.c: - * unix/tclUnixFile.c: - * win/tclWinFCmd.c: - * tests/fCmd.test: - * tests/fileSystem.test: - * doc/file.n: final fix to support for relative links and its - implications on normalization and other parts of the filesystem code. - Fixes [Bug 859251] and some Windows problems with recursive file - delete/copy and symbolic links. - -2003-12-17 Vince Darley - - * generic/tclPathObj.c: - * tests/fileSystem.test: fix and tests for [Bug 860402] in new file - normalization code. - -2003-12-17 Zoran Vasiljevic - - * generic/tclIOUtil.c: fixed 2 memory (object) leaks. [Bug 839519] - - * generic/tclPathObj.c: fixed Tcl_FSGetTranslatedPath to always return - properly refcounted path object. [Bug 861515] - -2003-12-16 Vince Darley - - * tests/fCmd.test: marking fCmd-9.14.2, as nonPortable, since on - Solaris one can change the name of the current directory with 'file - rename'. - * doc/FileSystem.3: clarified documentation on ownership of return - objects/strings of some Tcl_FS* calls. - -2003-12-16 Donal K. Fellows - - * generic/tclThreadAlloc.c (binfo): Made variable file-local. - -2003-12-15 David Gravereaux - - * win/tcl.rc: - * win/tclsh.rc: Slight modification to the STRINGIFY macro to support - Borland's rc tool. - - * win/tclWinFile.c (TclpUtime) : utimbuf struct not a problem with - Borland. - - * win/tclWinTime.c (TclpGetDate) : Borland's localtime() has a slight - behavioral difference. - - From Helmut Giese [Patch 758097]. - -2003-12-14 David Gravereaux - - * generic/tclInt.decls: commented-out entry for TclpCheckStackSpace, - removing it from the Stubs table. It's already declared in tclInt.h - and labeled as a function that is not to be exported. Regened tables. - -2003-12-14 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): TIP#75 Implementation - * tests/switch.test: Can now get submatch information when using - * doc/switch.n: -regexp matching in [switch]. - -2003-12-14 Vince Darley - - * generic/tclPathObj.c: complete rewrite of generic file normalization - code to cope with links followed by '..'. [Bug 849514], and parts of - [Bug 859251] - -2003-12-12 David Gravereaux - - * win/tclWinChan.c: Win32's SetFilePointer() takes LONGs not DWORDs (a - signed/unsigned mismatch). Redid local vars to avoid all casting - except where truly required. - -2003-12-12 Vince Darley - - * generic/tclCmdAH.c: fix to normalization of non-existent user name - ('file normalize ~nobody') [Bug 858937] - * doc/file.n: clarify behaviour of 'file link' when the target is not - an absolute path. - * doc/filename.n: correct documentation to say that Windows Tcl does - handle '~user', for recent Windows releases, and clarified distinction - between MacOS 'classic' and MacOS X. - * doc/glob.n: clarification of glob's behaviour when returning - filenames starting with a '~'. - - * tests/fileSystem.test: - * tests/fileName.test: new tests added for the normalization problem - above and other recentlt reported issues. - - * win/tclWinFile.c: corrected unclear comments - - * unix/tclUnixFile.c: allow creation of relative links. [Bug 833713] - -2003-12-11 David Gravereaux - - * win/tclWinSock.c (SocketThreadExitHandler) : added a TerminateThread - fallback just in case the socket handler thread is really in a paused - state. This can happen when Tcl is being unloaded by the OS from an - exception handler. See MSDN docs on DllMain, it states this behavior. - -2003-12-09 Jeff Hobbs - - * unix/configure: - * unix/tcl.m4: updated OpenBSD build configuration based on - [Patch #775246] (cassoff) - -2003-12-09 Donal K. Fellows - - * unix/tclUnixPort.h: #ifdef'd out declarations of errno which are - * tools/man2tcl.c: known to cause problems with recent glibc. - [Bug 852369] - -2003-12-09 Vince Darley - - * win/tclWinFile.c: fix to NT file permissions code [Bug 855923] - * tests/winFile.test: added tests for NT file permissions - patch and - test scripts supplied by Benny. - - * tests/winFCmd.test: fixed one test for when not running in C:/ - -2003-12-02 Donal K. Fellows - - * generic/tclBinary.c (DeleteScanNumberCache, ScanNumber): Made the - numeric scan-value cache have proper references to the objects within - it so strange patterns of writes won't cause references to freed - objects. Thanks to Paul Obermeir for the report. [Bug 851747] - -2003-12-01 Miguel Sofer - - * doc/lset.n: fix typo [Bug 852224] - -2003-11-24 Don Porter - - * generic/tclParse.c: Corrected faulty check for trailing white - space in {expand} parsing. Thanks Andreas Leitgeb. [Bug 848262] - * tests/parse.test: New tests for the bug. - -2003-11-24 Vince Darley - - * generic/tclPathObj.c: fix to [Bug 845778] - Infinite recursion on - [cd] (Windows only bug), for which new tests have just been added. - -2003-11-21 Don Porter - - * tests/winFCmd.test (winFCmd-16.10,11): Merged new tests from - core-8-4-branch. - -2003-11-20 Miguel Sofer - - * generic/tclVar.c: fix flag bit collision between LOOKUP_FOR_UPVAR - and TCL_PARSE_PART1 (deprecated) [Bug 835020] - -2003-11-19 Don Porter - - * tests/compile.test (compile-16.22.0): Improved test for the recent - fix for Bug 845412. - -2003-11-19 Donal K. Fellows - - * generic/tclCompile.c (TclCompileScript): Added a guard for the - expansion code so that long non-expanding commands don't get expansion - infrastructure inserted in them, especially when that infrastructure - isn't initialised. [Bug 845412] - -2003-11-18 David Gravereaux - - * contrib/djgpp/Makefile: Changes from Victor Wagner - * contrib/djgpp/langinfo.c (new): for better - * contrib/djgpp/langinfo.h (new): DJGPP support. - * unix/tclUnixInit.c: . - * unix/tclUnixChan.c: . - * unix/tclUnixFCmd.c: . - -2003-11-17 Don Porter - - * tests/reg.test: Added tests for [Bugs 230589, 504785, 505048, 840258] - recently fixed by 2003-11-15 commit to regcomp.c by Pavel Goran. His - notes on the fix: This bug results from an error in code that splits - states into "progress" and "no-progress" ones. This error causes an - interesting situation with the precollected single-linked list of - states to be splitted: many items were added to the list, but only - several of them are accessible from the list beginning, since the - "tmp" member of struct state (which is used here to hold a pointer to - the next list item) gets overwritten, which results in a "looped" - chain. As a result, not all of states are splitted, and one state is - splitted two times, causing incorrect "no-progress" flag values. - -2003-11-16 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Make sure that - Tcl_AsyncInvoke is called regularly when processing bytecodes. - * generic/tclTest.c (AsyncThreadProc, TestasyncCmd): Extended testing - harness to send an asynchronous marking without relying on UNIX - signals. - * tests/async.test (async-4.*): Tests to check that async events are - handled by the bytecode core. [Bug 746722] - -2003-11-15 Donal K. Fellows - - * generic/tclTest.c (TestHashSystemHashCmd): Removed 'const' modifier - from hash type structure; it should be const and the hash code assumes - it behaves like const, but that's not how the API is defined. Like - this, we are following in the same footsteps as Tcl_RegisterObjType() - which has the same conditions on its argument. Stops VC++5.2 warning. - [Bug 842511] - -2003-11-14 Donal K. Fellows - - * generic/tclHash.c (Tcl_DeleteHashTable,Tcl_HashStats,RebuildTable): - * generic/tclTest.c (TestHashSystemHashCmd): TIP#138 implementation, - * tests/misc.test: plus a new chunk of stuff to test the hash - functions more thoroughly in the test suite. - [Patch 731356, modified] - - * doc/Tcl.n: Updated Tcl version number and changebars. - -2003-11-14 Don Porter - - * doc/ParseCmd.3: Implementation of TIP 157. Adds recognition - * doc/Tcl.n: of the new leading {expand} syntax on words. - * generic/tcl.h: Parses such words as the new Tcl_Token type - * generic/tclBasic.c: TCL_TOKEN_EXPAND_WORD. Updated Tcl_EvalEx and - * generic/tclCompile.c: the bytecode compiler/execution engine to - * generic/tclCompile.h: recognize the new token type. New opcodes - * generic/tclExecute.c: INST_LIST_VERIFY and INST_INVOKE_EXP and a new - * generic/tclParse.c: operand type OPERAND_ULIST1 are defined. Docs - * generic/tclTest.c: and tests are included. - * tests/basic.test: - * tests/compile.test: - * tests/parse.test: - - * library/auto.tcl: Replaced several [eval]s used to perform - * library/package.tcl: argument expansion with the new syntax. In the - * library/safe.tcl: test files lindex.test and lset.test, replaced - * tests/cmdInfo.test: use of [eval] to force direct string - * tests/encoding.test: evaluation with use of [testevalex] which more - * tests/execute.test: directly and robustly serves the same purpose. - * tests/fCmd.test: - * tests/http.test: - * tests/init.test: - * tests/interp.test: - * tests/io.test: - * tests/ioUtil.test: - * tests/iogt.test: - * tests/lindex.test: - * tests/lset.test: - * tests/namespace-old.test: - * tests/namespace.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: - -2003-11-12 Jeff Hobbs - - * tests/cmdMZ.test (cmdMZ-1.4): change to nonPortable as more systems - are using permissions caching, and this isn't really a Tcl controlled - issue. - -2003-11-11 Jeff Hobbs - - * unix/configure: - * unix/tcl.m4: improve AIX --enable-64bit handling - remove -D__NO_STRING_INLINES -D__NO_MATH_INLINES from CFLAGS_OPTIMIZE - on Linux. Make default opt -O2 (was -O). - -2003-11-11 David Gravereaux - - * contrib/djgpp/Makefile: Suggested changes from vitus@45.free.net - (Victor Wagner) - - * unix/tclUnixPort.h: added socklen_t typedef for DJGPP - -2003-11-10 Don Porter - - * unix/tclUnixInit.c (TclpInitLibraryPath): - * win/tclWinInit.c (TclpInitLibraryPath): Fix for [Bug 832657] - that should not run afoul of startup constraints. - - * library/dde/pkgIndex.tcl: Added safeguards so that registry and - * library/reg/pkgIndex.tcl: dde packages are not offered on - * win/tclWinDde.c: non-Windows platforms. Bumped to - * win/tclWinReg.c: registry 1.1.3 and dde 1.3. - * win/Makefile.in: - * win/configure.in: - * win/makefile.bc: - * win/makefile.vc: - - * win/configure: autoconf (2.57) - -2003-11-10 Donal K. Fellows - - * tests/cmdIL.test: Stopped cmdIL-5.5 from stomping over the test - command, and updated the tests to use some tcltest2 features in - relation to cleanup. [Bug 838384] - -2003-11-10 Vince Darley - - * generic/tclCmdAH.c: - * tests/fCmd.test: fix to misleading error message in 'file link'. - [Bug 836208] - -2003-11-07 Vince Darley - - * generic/tclIOUtil.c: fix to compiler warning/error with some - compilers. [Bug 835918] - -2003-11-07 Daniel Steffen - - * macosx/Makefile: optimized builds define NDEBUG to turn off - ThreadAlloc range checking. - -2003-11-05 Don Porter - - * tests/unixInit.test (unixInit-2.10): New test to expose [Bug 832657] - failure of TclpInitLibraryPath() to properly handle .. in the path - of the executable. - -2003-11-04 Daniel Steffen - - * macosx/Makefile: added 'test' target. - -2003-11-03 Vince Darley - - * generic/tclIOUtil.c - * generic/tclInt.h: added comments and re-arranged code to clarify - distinction between Tcl_LoadHandle, ClientData for 'load'ed code, and - point out limitations of the design introduced with Tcl 8.4. - - * unix/tclUnixFile.c: fix to memory leak - - * generic/tclCmdIL.c: removed warning on Windows. - -2003-11-01 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Check for sensible list - lengths and allow for soft failure of the memory subsystem in the - [lconcat] command [Bug 829027]. Uses direct list creation to avoid - extra copies when working near the limit of available memory. Also - reorganized to encourage optimizing compilers to optimize heavily. - * generic/tclListObj.c (TclNewListObjDirect): New list constructor - that does not copy the array of objects. Useful for creating - potentially very large lists or where you are about to throw away the - array argument which is being used in its entirety. - -2003-10-28 Miguel Sofer - - * generic/tclExecute.c (NEXT_INST macros): replaced macro variable - "result" by "resultHandling" to avoid confusion. - -2003-10-23 Andreas Kupries - - * unix/tclUnixChan.c (Tcl_MakeFileChannel): Applied [Patch 813606] - fixing [Bug 813087]. Detection of sockets was off for Mac OS X which - implements pipes as local sockets. The new code ensures that only IP - sockets are detected as such. - - * win/tclWinSock.c (TcpWatchProc): Watch for FD_CLOSE too when asked - for writable events by the generic layer. - (SocketEventProc): Generate a writable event too when a close is - detected. - - Together the changes fix [Bug 599468]. - -2003-10-23 Vince Darley - - * tests/resource.test: - * mac/tclMacResource.c: fix to resource freeing problem in 'resource' - command reported by Bernard Desgraupes. - - * doc/FileSystem.3: updated documentation for 'glob' fix on 2003-10-13 - below - -2003-10-22 Donal K. Fellows - - * generic/tclCmdAH.c (Tcl_FileObjCmd): Changed FILE_ prefix to FCMD_ - to stop symbol/#def clashes on Cygwin/Mingw32 on NT. [Bug 822528] - -2003-10-21 Daniel Steffen - - * tools/tcltk-man2html.tcl: fixed incorrect html generated for - .IP/.TP lists, now use
...
...

...
...
- instead of illegal

...
...

...
...
. - Added skipping of directives directly after .TP to avoid them being - used as item descriptions, e.g. .TP\n.VS in clock.n. - -2003-10-21 Andreas Kupries - - * win/tclWinPipe.c (BuildCommandLine): Applied the patch coming with - [Bug 805605] to the code, fixing the incorrect use of ispace noted by - Ronald Dauster . - -2003-10-20 Kevin B. Kenny - - * doc/msgcat.n: - * library/msgcat/msgcat.tcl (mclocale,mcload): - * tools/tcl.wse.in: - * unix/Makefile.in: Implementation of TIP#156, add a "root locale" - * win/makefile.bc: to the 'msgcat' package. Advanced msgcat - * win/Makefile.in: version number to 1.4 - * win/Makefile.vc: - -2003-10-15 Donal K. Fellows - - * generic/tclCmdIL.c (SortInfo,etc): Reorganized so that SortInfo - carries an array of integer indices instead of a Tcl list. This nips - shimmering problems in the bud and simplifies SelectObjFromSublist at - the cost of making setup slightly more complex. [Bug 823768] - -2003-10-14 David Gravereaux - - * win/tclAppInit.c (sigHandler): Punt gracefully if exitToken has - already been destroyed. - -2003-10-14 Vince Darley - - * generic/tclCmdMZ.c: - * tests/regexp.test: fix to [Bug 823524] in regsub; added three new - tests. - -2003-10-14 Don Porter - - * generic/tclBasic.c (TclAppendObjToErrorInfo): New internal routine - that appends a Tcl_Obj to the errorInfo, saving the caller the trouble - of extracting the string rep. - - * generic/tclStringObj.c (TclAppendLimitedToObj): New internal - routine that supports truncated appends with optional ellipsis marking. - This single routine supports UTF-8-safe truncated appends needed in - several places throughout the Tcl source code, mostly for error and - stack messages. Clean fix for [Bug 760872]. - - * generic/tclInt.h: Declarations for new internal routines. - - * generic/tclCmdMZ.c: Updated callers to use the new routines. - * generic/tclCompExpr.c: - * generic/tclCompile.c: - * generic/tclExecute.c: - * generic/tclIOUtil.c: - * generic/tclNamesp.c: - * generic/tclObj.c: - * generic/tclParseExpr.c: - * generic/tclProc.c: - * generic/tclStringObj.c: - * mac/tclMacResource.c: - - * library/init.tcl: Updated ::errorInfo cleanup in [unknown] to - reflect slight modifications to Tcl_LogCommandInfo(). Corrects failing - init-4.* tests. - -2003-10-14 Donal K. Fellows - - TIP#127 IMPLEMENTATION FROM JOE MICHAEL SCHLENKER - - * generic/tclCmdIL.c (SelectObjFromSublist): Element selection engine. - * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd): - * tests/lsearch.test: Set up and use of element selection engine, - * tests/cmdIL.test: plus tests and documentation. - * doc/lsearch.n: Based on [Patch 693836] - * doc/lsort.n: - -2003-10-13 Vince Darley - - * generic/tcl.h: - * generic/tclFileName.c: - * generic/tclIOUtil.c: - * generic/tclPathObj.c: - * generic/tclTest.c: - * mac/tclMacFile.c: - * tests/fileName.test: better tests for [Bug 813273] - * unix/tclUnixFCmd.c: - * unix/tclUnixFile.c: - * win/tclWin32Dll.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: - * win/tclFileInt.h: - - Fixed [Bug 800106] in which 'glob' was incapable of merging the - results of a directory listing (real or virtual) and any virtual - filesystem mountpoints in that directory (the latter were ignored). - This meant boundaries between different filesystems were not seamless - (e.g. 'glob */*' across a filesystem boundary was wrong). Added new - entry to Tcl_GlobTypeData in a totally backwards compatible way. To - allow listing of mounts, registered filesystems must support the - 'TCL_GLOB_TYPE_MOUNT' flag. If this is not supported (e.g. in tclvfs - 1.2) then mounts will simply not be listed for that filesystem. - - Fixed [Bug 749876] 'file writable/readable/etc' (NativeAccess) using - correct permission checking code for Windows NT/2000/XP where more - complex user-based security/access priveleges are available, - particularly on shared volumes. The performance impact of this extra - checking will need further investigation. Note: Win 95,98,ME have no - support for this. - - Also made better use of normalized rather than translated paths in the - platform specific code. - -2003-10-12 Jeff Hobbs - - * unix/tclUnixTest.c (TestalarmCmd): don't bother checking return - value of alarm. [Bug #664755] (english) - -2003-10-09 Pat Thoyts - - * win/makefile.vc: Applied patches for bug #801467 by Joe Mistachkin - * win/tclAppInit.c: to fix incompatible TCL_MEM_DEBUG handling in - * generic/tclObj.c: Win32 VC builds. - -2003-10-08 Don Porter - - * generic/tclBasic.c: Save and restore the iPtr->flag bits that - control the state of errorCode and errorInfo management when calling - "leave" execution traces, so that all error information of the traced - command is still available whether traced or not. [Bug 760947] - Thanks to Yahalom Emet. - -2003-10-08 Donal K. Fellows - - * generic/tclTest.c (TestNumUtfCharsCmd): Command to allow finer - access to Tcl_NumUtfChars for testing. - * generic/tclUtf.c (Tcl_NumUtfChars): Corrected string length - determining when the length parameter is negative; the terminator is a - zero byte, not (necessarily) a \u0000 character. [Bug 769812] - -2003-10-07 Don Porter - - * tests/cmdAH.test: - * tests/exec.test: Corrected temporary file management - * tests/fileSystem.test: issues uncovered by -debug 1 test - * tests/io.test: operations. Also backported some - * tests/ioCmd.test: other fixes from the HEAD. - * tests/main.test: - * tests/pid.test: [Bugs 675605, 675655, 675659] - * tests/socket.test: - * tests/source.test: - - * tests/fCmd.test: Run tests with the [temporaryDirectory] as the - current directory, so that tests can depend on ability to write files. - [Bug 575837] - - * doc/OpenFileChnl.3: Updated Tcl_Tell and Tcl_Seek documentation to - reflect that they now return Tcl_WideInt (TIP 72). [Bug 787537] - - * tests/io.test: Corrected several tests that failed when paths - * tests/ioCmd.test: included regexp-special chars. [Bug 775394] - -2003-10-06 Jeff Hobbs - - * win/configure: - * win/tcl.m4: removed incorrect checks for existence of optimization. - TCL_CFG_OPTIMIZED is now defined whenever the user does not build with - --enable-symbols. - -2003-10-06 Don Porter - - * tests/regexp.test: Matched [makeFile] with [removeFile]. - * tests/regexpComp.test: [Bug 675652] - - * tests/fCmd.test (fCmd-8.2): Test only that tilde-substitution - happens, not for any particular result. [Bug 685991] - - * unix/tcl.m4 (SC_PATH_TCLCONFIG): Corrected search path so that - alpha and beta releases of Tcl are not favored. [Bug 608698] - - * tests/reg.test: Corrected duplicate test names. - * tests/resource.test: [Bugs 710370, 710358] - * tests/dict.test: - - * tests/dict.test: Updated [package require tcltest] lines to - * tests/fileSystem.test: indiciate that these test files - * tests/lrepeat.test: use features of tcltest 2. [Bug 706114] - * tests/notify.test: - * tests/parseExpr.test: - * tests/unixNotfy.test: - * tests/winDde.test: - -2003-10-04 Miguel Sofer - - * generic/tclExecute.c (TEBC): - * tests/execute.test (execute-8.2): fix for [Bug 816641] - faulty - execution and catch stack management. - -2003-10-03 Don Porter - - * generic/tclBasic.c: Fixed error in ref count management of command - * generic/tclCmdMZ.c: and execution traces that caused access to - freed memory in trace-32.1. [Bug 811483] - -2003-10-02 Don Porter - - * generic/tclTrace.c: Corrected comingling of introspection results of - [trace info command] and [trace info execution]. [Bug 807243] - Thanks to Mark Saye. - -2003-10-01 Daniel Steffen - - * macosx/Makefile: fixed redo prebinding bug when DESTDIR="". - * mac/tclMacResource.c: fixed possible NULL dereference (bdesgraupes). - -2003-09-29 Vince Darley - - * generic/tclPathObj.c: - * tests/fileName.test: fix to inconsistent handling of backslash - path separators on Windows in 'file join' [Bug 813273] - -2003-09-29 Donal K. Fellows - - * generic/tclPathObj.c (TclNativePathInFilesystem,TclFSGetPathType): - * generic/tclIOUtil.c (TclNativeDupInternalRep,TclGetPathType): Rename - to make sure function names won't interfere with other non-Tcl code - (reported by George Staplin) - - TIP#121 IMPLEMENTATION FROM JOE MISTACHKIN - - * generic/tclEvent.c (Tcl_SetExitProc,Tcl_Exit): Implementation of - application exit handler scheme. - * generic/tcl.decls (Tcl_SetExitProc): Public declaration. - * doc/Exit.3: Documentation of new API function. - - TIP#112 IMPLEMENTATION - - * generic/tclNamesp.c: Core of implementation. - * generic/tclInt.h (Namespace,TclInvalidateNsCmdLookup): Add command - list epoch counter and list of ensembles to namespace structure, and - define a macro to ease update of the epoch counter. - * generic/tclBasic.c (Tcl_CreateObjCommand,etc.): Update epoch counter - when list of commands in a namespace changes. - * generic/tclObj.c (TclInitObjSubsystem): Register ensemble subcommand - type. - * tests/namespace.test (42.1-47.6): Tests. - * doc/namespace.n: Documentation. - - * library/http/http.tcl (geturl): Correctly check the type of - boolean-valued options. [Bug 811170] - - * unix/tcl.m4 (SC_ENABLE_FRAMEWORK): Added note to make it clearer - that this is an OSX feature, not a general Unix feature. [Bug 619440] - -2003-09-28 David Gravereaux - - * win/tclWinPipe.c: The windows port of expect can call - TclWinAddProcess before any of the other pipe functions. Added a - missing PipeInit() call to make sure the initialization happens. - -2003-09-25 Daniel Steffen - - * macosx/Makefile: ensure SYMROOT exists if OBJROOT is overridden on - command line. Replaced explict use of /usr/bin by ${BINDIR}. - -2003-09-24 Vince Darley - - * library/package.tcl (tcl::MacPkgUnknown, tcl::MacOSXPkgUnknown): - Minor performance tweaks to reduce the number of [file] invocations. - Meant to improve startup times, at least a little bit. (The generic - equivalent patch was applied on 2003-02-21). - -2003-09-24 Vince Darley - - * trace.test: removed 'knownBug' from a test which doesn't illustrate - a bug, just a bad test. - -2003-09-23 Miguel Sofer - - * generic/tclExecute.c: - * generic/tclInt.h: changed the evaluation-stack addressing mode, from - array-style to pointer-style; the catch stack and evaluation stack are - now contiguous in memory. [Patch 457449] - -2003-09-23 Don Porter - - * tests/trace.test (trace-31,32-*): Added tests for [Bug 807243] and - [Bug 811483]. - - * library/init.tcl (auto_load, auto_import): Expanded Eric Melski's - 2000-01-28 fix for [Bug 218871] to all potentially troubled uses of - [info commands] on input data, where glob-special characters could - cause problems. - -2003-09-20 Donal K. Fellows - - * tests/expr.test (expr-23.4): Prevented accidental wrapping round of - exponential operation; it isn't portable, and not what I intended to - test either. [Bug 808244] - -2003-09-19 Miguel Sofer - - * generic/tclExecute.c: adding (DE)CACHE_STACK_INFO() pairs to protect - all calls that may cause traces on ::errorInfo or ::errorCode to - corrupt the stack. [Bug 804681] - -2003-09-17 Vince Darley - - * tclPathObj.c: fix to test-suite problem introduced by the bug fix - below. No problem in ordinary code, just test suite code which - manually adjusts tclPlatform. [Bug 808247] - -2003-09-16 Vince Darley - - * doc/filename.n: documentation of Windows-specific feature as - discussed in [Bug 541989] - * generic/tclPathObj.c: fix for normalization of volume-relative paths - [Bug 767834] - * tests/winFCmd.test: new tests for both of the above. - * tests/cmdAH.test: fix for AFS problem in test suite [Bug 748960] - -2003-09-13 Donal K. Fellows - - TIP#123 IMPLEMENTATION BASED ON WORK BY ARJEN MARKUS - - * generic/tclCompile.h (INST_EXPON): Implementation of - * generic/tclCompile.c (tclInstructionTable): exponential operator. - * generic/tclCompExpr.c (operatorTable): - * generic/tclParseExpr.c (ParseExponentialExpr, GetLexeme): - * generic/tclExecute.c (TclExecuteByteCode, ExponWide, ExponLong): - (IllegalExprOperandType): - * tests/expr.test: - * tests/compExpr-old.test: - * doc/expr.n: - -2003-09-10 Don Porter - - * library/opt/optparse.tcl: Latest revisions caused [OptGuessType] - to guess "int" instead of "string" for empty strings. Missed the - required "-strict" option to [string is]. Thanks to Revar Desmera. - [Bug 803968] - -2003-09-08 David Gravereaux - - * win/tclWinLoad.c (TclpDlopen): Changed the error message for - ERROR_PROC_NOT_FOUND to be a bit more helpful in giving us clues. - "can't find specified procedure" means a function in the import table, - for implicit loading, couldn't be resolved and that's why the load - failed. - -2003-09-04 Don Porter - - * doc/Tcl_Main.3: - * doc/FileSystem.3: Implementation of - * doc/source.n: TIPs 137/151. Adds a - * doc/tclsh.1: -encoding option to - * generic/tcl.decls: the [source] command - * generic/tclCmdMZ.c (Tcl_SourceObjCmd): and a new C routine, - * generic/tclIOUtil.c (Tcl_FSEvalFileEx): Tcl_FSEvalFileEx(), - * generic/tclMain.c (Tcl_Main): that provides C access - * mac/tclMacResource.c (Tcl_MacSourceObjCmd): to the same function. - * tests/cmdMZ.test: Also adds command line - * tests/main.test: option handling in Tcl_Main() so that tclsh - * tests/source.test: and other apps built on Tcl_Main() respect a - -encoding command line option before a script filename. Docs and tests - updated as well. [Patch 742683] - This is a ***POTENTIAL INCOMPATIBILITY*** only for those C programs - that embed Tcl, build on Tcl_Main(), and make use of Tcl_Main's former - ability to pass a leading "-encoding" option to interactive shell - operations. - - * generic/tclInt.decls: Added internal stub - * generic/tclMain.c (Tcl*StartupScript*): table entries for two - new functions Tcl_SetStartupScript() and Tcl_GetStartupScript() that - set/get the path and encoding for the startup script to be evaluated - by either Tcl_Main() or Tk_Main(). Given public names in anticipation - of their exposure by a followup TIP. - - * generic/tclDecls.h: make genstubs - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - -2003-09-04 Don Porter - - * doc/SplitList.3: Implementation of TIP 148. Fixes [Bug 489537]. - * generic/tcl.h: Updated Tcl_ConvertCountedElement() to quote - * generic/tclUtil.c: the leading "#" character of all list elements - unless the TCL_DONT_QUOTE_HASH flag is passed in. - - * generic/tclDictObj.c: Updated Tcl_ConvertCountedElement() callers - * generic/tclListObj.c: to pass in the TCL_DONT_QUOTE_HASH flags - * generic/tclResult.c: when appropriate. - -2003-08-31 Don Porter - - * doc/return.n: Updated [return] docs to cover new TIP 90 features. - - * doc/break.n: Added SEE ALSO references to return.n - * doc/continue.n: - -2003-09-01 Donal K. Fellows - - * doc/Namespace.3: Basic documentation for the TIP#139 functions. This - will need improving, but the basic bits are there at least. - -2003-08-31 Don Porter - - * doc/catch.n: Updated [catch] docs to cover new TIP 90 features. - -2003-08-29 Don Porter - - * generic/tclCmdAH.c: Corrected bug in TIP 90 implementation where - * tests/cmdMZ.test: the default -errorcode NONE value was not - copied into the return options dictionary. This correction modified - one test result. - -2003-08-27 David Gravereaux - - * compat/strftime.c (_fmt): Removed syst array intializer that - couldn't take variables within it under the watcom compiler: - 'Initializers must be constant'. I believe Borland has this strictness - as well. VC++ must be non-standard about this. - - Changed Win32 platform #ifdef from 'WIN32' to '__WIN32__' as this is - the correct one to use across the Tcl sources. Even though we do force - it in tcl.h, the true parent one is __WIN32__. - - Added missing CONST'ification usage to match prototype listed in - tclInt.decls. - - * win/tclWinPort.h: Added a block for OpenWatcom adjustments that - fixes 1) the same issue Mo did for MinGW lack of missing LPFN_* - typedefs in their WINE derived and 2) The need to be - strict about how the char type needs to be signed by default. - - * win/tclWinSock.c: Added OpenWatcom to the commentary about the - #ifdef HAVE_NO_LPFN_DECLS block. - - * win/tclWinTime.c: Changed use of '_timezone' to 'timezone' as this - difference is already adjusted for in tclWinPort.h. Removed - unreferenced posixEpoch file-scope global. - - * win/tclWinFile.c (WinReadLinkDirectory): Fix for 'Initializers must - be constant' with the driveSpec array using OpenWatcom. - -2003-08-27 Don Porter - - * generic/tclUtil.c: Corrected [Bug 411825] and other bugs in - TclNeedSpace() where non-breaking space (\u00A0) and backslash-escaped - spaces were handled incorrectly. - * tests/util.test: Added new tests util-8.[2-6]. - -2003-08-26 David Gravereaux - - * generic/tcl.h: Added some support for the LCC-Win32 compiler. - Unfortunetly, this compiler has a bug in its preprocessor and can't - build Tcl even with this minor patch. Also added some support for the - OpenWatcom compiler. A new win/makefile.wc to follow soon. - -2003-08-25 Donal K. Fellows - - * tools/genStubs.tcl (genStubs::makeDecl): A more subtle way of - generating stubbed declarations allows us to have declarations of a - function in multiple interfaces simultaneously. - - * generic/tcl.decls: Duplicated some namespace declarations from - tclInt.decls here, as mandated by TIP #139. This is OK since the - declarations match and will end up using the declarations in the - public code from now on because of #include ordering. Keeping the old - declarations in tclInt.decls; there's no need to gratuitously break - compatibility for those extensions which are already clients of the - namespace code. - -2003-08-23 Zoran Vasiljevic - - * generic/tclIOUtil.c: merged fixes for thread-unsafe handling of - filesystem records [Bug 753315]. This also fixed the [Bug 788780] - * generic/tclPathObj.c: merged fixes for thread-unsafe handling of - filesystem records. [Bug 753315] - - * generic/tclFileSystem.h: merged fixes for thread-unsafe handling of - filesystem records. [Bug 753315] - -2003-08-19 Pat Thoyts - - * win/tclWinSerial.c (SerialErrorStr): Fixed a syntax error created in - the previous code cleanup. - -2003-08-19 Donal K. Fellows - - * win/tclWinSerial.c: Adjusted commenting and spacing usage to follow - the principles of the Style Guide better. - -2003-08-18 Mo DeJong - - * win/configure: Regen. - * win/tcl.m4 (SC_ENABLE_SYMBOLS): Use test instead of -eq, which does - not work. [Bug 781109] - -2003-08-13 Chengye Mao - - * win/tclWinPipe.c: fixed a bug in BuildCommandLine. This bug built a - command line with a missing space between tclpipe.dll and the - following arguments. It caused error in Windows 98 when exec - command.com (e.g. dir). [Bug 789040] - -2003-08-11 Donal K. Fellows - - TIP #136 IMPLEMENTATION from Simon Geard - * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Adapted version of Simon's - * doc/lrepeat.n: patch, updated to the HEAD - * tests/lrepeat.test: and matching the core style. - * generic/tclBasic.c (buildIntCmds): Splice into core. - * generic/tclInt.h: - * doc/list.n: Cross-reference. - -2003-08-06 Jeff Hobbs - - * win/tclWinInit.c: recognize amd64 and ia32_on_win64 cpus. - -2003-08-06 Don Porter - - * library/msgcat/msgcat.tcl: Added escape so that non-Windows - * library/msgcat/pkgIndex.tcl: platforms do not try to use the - registry package. This can save a costly and pointless package search. - Bumped to 1.3.1. Thanks to Dave Bodenstab. [Bug 781609] - -2003-08-05 Miguel Sofer - - * generic/tclExecute.c (INST_INVOKE, INST_EVAL, INST_PUSH_RESULT): - added a Tcl_ResetResult(interp) at each point where the interp's - result is pushed onto the stack, to avoid keeping an extra reference - that may cause costly Tcl_Obj duplication. Detected by Franco Violi, - analyzed by Peter Spjuth and Donal Fellows. [Bug 781585] - -2003-07-28 Vince Darley - - * doc/FileSystem.3: - * doc/Translate.3: better documentation of Tcl_TranslateFileName and - related functions. [Bug 775220] - -2003-07-24 Mo DeJong - - * generic/tcl.h: Revert change made on 2003-07-21 since it made the - sizeof(Tcl_Obj) different for regular vs mem debug builds. - * generic/tclInt.h: Define TclDecrRefCount in terms of - Tcl_DbDecrRefCount which removes one layer of inderection. - * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount, - (Tcl_DbDecrRefCount, Tcl_DbIsShared): Define ThreadSpecificData that - contains a hashtable. The table is used to ensure that a Tcl_Obj is - only acted upon in the thread that allocated it. This checking code is - enabled only when mem debug and threads are enabled. - -2003-07-24 Don Porter - - * tests/async.test: Added several tests that demonstrate [Bug - * tests/basic.test: 489537], Tcl's longstanding failure to - * tests/dict.test: properly quote any leading '#' character when - * tests/dstring.test: generating the string rep of a list so that - * tests/list.test: the comment-power of that character is hidden - * tests/parse.test: from any [eval], in order to satisfy the - * tests/util.test: documentation that [list] does [eval]-safe - quoting. - -2003-07-24 Reinhard Max - - * library/package.tcl: Fixed a typo that broke pkg_mkIndex -verbose. - * tests/pkgMkIndex.test: Added a test for [pkg_mkIndex -verbose]. - - * ChangeLog.2002 (new file): - * ChangeLog: broke changes from 2002 into ChangeLog.2002 to reduce - size of the main ChangeLog. - -2003-07-23 Daniel Steffen - - * unix/Makefile.in: changes to html-tcl & html-tk targets for - compatibility with non-gnu makes. - - * unix/Makefile.in: added macosx/README to dist target. - -2003-07-23 Pat Thoyts - - * win/tclWinReg.c (OpenSubKey): Fixed bug 775976 which causes the - registry set command to fail when built with VC7. - * library/reg/pkgIndex.tcl: Incremented the version to 1.1.2. - -2003-07-21 Mo DeJong - - Check that the thread incrementing or decrementing the ref count of a - Tcl_Obj is the thread that originally allocated the thread. This fail - fast behavior will catch programming errors that allow a single - Tcl_Obj to be accessed from multiple threads. - - * generic/tcl.h (Tcl_Obj): Add allocThread member to Tcl_Obj. This - member records the thread id the Tcl_Obj was allocated. It is used to - check that any future ref count incr or decr is done from the same - thread that allocated the Tcl_Obj. This member is defined only when - threads and mem debug are enabled. - * generic/tclInt.h (TclNewObj, TclDbNewObj, TclDecrRefCount): - Define TclNewObj and TclDbNewObj using TclDbInitNewObj when mem debug - is enabled. This fixes a problem where TclNewObj calls did not work - the same as TclDbNewObj when mem debug was enabled. - * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount, - (Tcl_DbDecrRefCount): Add new helper to init Tcl_Obj members when mem - debug is enabled. Init the allocThread member in TclDbInitNewObj and - check it in Tcl_DbIncrRefCount and Tcl_DbDecrRefCount to make sure a - Tcl_Obj allocated in one thread is not being acted upon in another - thread. - -2003-07-21 Vince Darley - - * test/cmdAH.test: ensure certain tests run in local filesystem. [Bug - 748960] - -2003-07-18 Daniel Steffen - - * macosx/Makefile: added option to allow installing manpages in - addition to default html help. - -2003-07-18 Donal K. Fellows - - * doc/Utf.3: Tightened up documentation of Tcl_UtfNext and Tcl_UtfPrev - to better match the behaviour. [Bug 769895] - -2003-07-18 Jeff Hobbs - - * library/http/pkgIndex.tcl: upped to http v2.4.4 - * library/http/http.tcl: add support for user:pass info in URL. - * tests/http.test: [Bug 759888] (shiobara) - -2003-07-18 Don Porter - - * doc/tcltest.n: Restored the [Eval] proc to replace - * library/tcltest/tcltest.tcl: the [::puts] command when either the - -output or -error option for [test] is in use, in order to capture - data written to the output or error channels for comparison against - what is expected. This is easier to document and agrees better with - most user expectations than the previous attempt to replace [puts] - only in the caller's namespace. Documentation made more precise on - the subject. [Bug 706359] - - * doc/AddErrInfo.3: Improved consistency of documentation by - * doc/CrtTrace.3: using "null" everywhere to refer to the - * doc/Encoding.3: character '\0', and using "NULL" everywhere - * doc/Eval.3: to refer to the value of a pointer that points - * doc/GetIndex.3: to nowhere. Also dropped references to ASCII - * doc/Hash.3: that are no longer true, and standardized on - * doc/LinkVar.3: the hyphenated spelling of "null-terminated". - * doc/Macintosh.3: - * doc/OpenFileChnl.3: - * doc/SetVar.3: - * doc/StringObj.3: - * doc/Utf.3: - - * doc/CrtSlave.3 (Tcl_MakeSafe): Removed warning about possible - deprecation (no TIP on that). - -2003-07-17 Daniel Steffen - - * unix/tclUnixFCmd.c: fix for compilation errors on platforms where - configure detects non-functional chflags(). [Bug 748946] - - * macosx/Makefile: Rewrote buildsystem for Mac OS X framework build - to be purely make driven; in order to become independent of Apple's - closed-source IDE and build tool. The changes are intended to be - transparent to the Makefile user, all existing make targets and cmd - line variable overrides should continue to work. Changed build to only - include tcl specific html help in Tcl.framework, the tk specific html - help is now included in Tk.framework. Added var to allow overriding of - tclsh used during html help building (Landon Fuller). - - * macosx/Tcl.pbproj/project.pbxproj: - * macosx/Tcl.pbproj/jingham.pbxuser: Changed to purely call through to - the make driven buildsystem; Tcl.framework is no longer assembled by - ProjectBuilder. - Set default SYMROOT in target options to simplify setting up PB - (manually setting common build folder for tcl & tk no longer needed). - - * tools/tcltk-man2html.tcl: Added options to allow building only the - tcl or tk html help files; the default behaviour with none of the new - options is to build both, as before. - - * unix/Makefile.in: Added targets for building only the tcl or tk help - - * macosx/README (new): Tcl specific excerpts of tk/macosx/README. - - * generic/tcl.h: Updated reminder comment about editing - macosx/Tcl.pbproj/project.pbxproj when version number changes. - -2003-07-16 Mumit Khan - - * generic/tclPathObj.c (SetFsPathFromAny): Add Cygwin specific code to - convert POSIX filename to native format. - * generic/tclFileName.c (Tcl_TranslateFileName): And remove from here. - (TclDoGlob): Adjust for cygwin and append / for dirs instead of \ - * win/tclWinFile.c (TclpObjChdir): Use chdir on Cygwin. - [Patch 679315] - -2003-07-16 Jeff Hobbs - - * library/safe.tcl (FileInAccessPath): normalize paths before - comparison. [Bug 759607] (myers) - - * unix/tclUnixNotfy.c (NotifierThreadProc): correct size of found and - word vars from int to long. [Bug 767578] (hgo) - - * generic/tcl.h: Add recognition of -DTCL_UTF_MAX=6 on the make - * generic/regcustom.h: line to support UCS-4 mode. No config arg at - this time, as it is not the recommended build mode. - - * generic/tclPreserve.c: In Result and Preserve'd routines, do not - * generic/tclUtil.c: assume that ckfree == free, as that is not - * generic/tclResult.c: always true. [Bug 756791] (fuller) - -2003-07-16 Donal K. Fellows - - * doc/CrtSlave.3 (Tcl_MakeSafe): Updated documentation to strongly - discourage use. IMHO code outside the core that uses this function is - a bug... [Bug 655300] - -2003-07-16 Don Porter - - * generic/tclFileName.c (Tcl_GlobObjCmd): [Bug 771840] - * generic/tclPathObj.c (Tcl_FSConvertToPathType):[Bug 771947] - * unix/tclUnixFCmd.c (GetModeFromPermString): [Bug 771949] - Silence compiler warnings about unreached lines. - - * library/tcltest/tcltest.tcl (ProcessFlags): Corrected broken call - * library/tcltest/pkgIndex.tcl: to [lrange]. Bumped to - version 2.2.4. [Bug 772333] - -2003-07-15 Mo DeJong - - * unix/dltest/pkga.c (Pkga_EqObjCmd): Fix typo that was causing a - crash in load.test. - -2003-07-15 Donal K. Fellows - - * doc/array.n: Make sure docs are synched with the 8.4 release. - -2003-07-15 Don Porter - - * doc/http.n: Updated SYNOPSIS to match actual syntax of commands. - [Bug 756112] - - * unix/dltest/pkga.c: Updated to not use Tcl_UtfNcmp and counted - strings instead of strcmp (not defined in any #include'd header) and - presumed NULL-terminated strings. - - * generic/tclCompCmds.c (TclCompileIfCmd): Prior fix of Bug 711371 on - 2003-04-07 introduced a buffer overflow. Corrected. [Bug 771613] - -2003-07-15 Kevin B. Kenny - - * win/rules.vc: Added a missing $(OPTDEFINES) which broke the build if - STATS=memdbg was specified. - -2003-07-15 Donal K. Fellows - - * generic/tclCmdIL.c (SortCompare): Cleared up confusing error - message. [Bug 771539] - -2003-07-11 Donal K. Fellows - - * tests/binary.test (binary-46.*): Tests to help enforce the current - behaviour. - * doc/binary.n: Documented that [binary format a] and [binary scan a] - do encoding conversion by dropping high bytes, unlike the rest of the - core. [Bug 735364] - -2003-07-11 Don Porter - - * library/package.tcl: Corrected [pkg_mkIndex] bug reported on - comp.lang.tcl. The indexer was searching for newly indexed packages - instead of newly provided packages. - -2003-07-08 Vince Darley - - * tests/winFCmd.test: fix for five tests under win98 [Bug 767679] - -2003-07-07 Jeff Hobbs - - * doc/array.n: add examples from Welton - -2003-06-23 Vince Darley - - * doc/file.n: clarification of 'file tail' behaviour [Bug 737977] - -2003-07-04 Donal K. Fellows - - * doc/expr.n: Tighten up the wording of some operations. [Bug 758488] - - * tests/cmdAH.test: Made tests of [file mtime] work better on FAT - filesystems. [Patch 760768] Also a little general cleanup. - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): Made [string map] accept - dictionaries for maps. This is much trickier than it looks, since map - entry ordering is significant. [Bug 759936] - - * generic/tclVar.c (Tcl_ArrayObjCmd, TclArraySet): Made [array get] - and [array set] work with dictionaries, producing them and consuming - them. Note that for compatibility reasons, you will never get a dict - from feeding a string literal to [array set] since that alters the - trace behaviour of "multi-key" sets. [Bug 759935] - -2003-06-23 Vince Darley - - * generic/tclTrace.c: fix to Window debug build compilation error. - -2003-06-27 Don Porter - - * tests/init.test: Added [cleanupTests] to report results of tests - * tests/pkg.test: that run in slave interps. [Bugs 761334,761344] - - * tests/http.test: Used more reliable path to find httpd script. - -2003-06-25 Don Porter - - * tests/init.test: Added tests init-4.6.* to illustrate [Bug 760872] - -2003-06-25 Donal K. Fellows - - * generic/tclTrace.c: New file, factoring out of virtually all the - various trace-related things from tclBasic.c and tclCmdMZ.c with the - goal of making this a separate maintenance area. - -2003-06-25 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add -ieee when compiling with cc and - add -mieee when compiling with gcc under OSF1-V5 "Tru64" systems. [Bug - 748957] - -2003-06-24 Donal K. Fellows - - * doc/encoding.n: Corrected the docs to say that [source] uses the - system encoding, which it always did anyway (since 8.1) [Bug 742100] - -2003-06-24 Donal K. Fellows - - * generic/tclHash.c (Tcl_HashStats): Prevented occurrence of - division-by-zero problems. [Bug 759749] - -2003-06-24 Mo DeJong - - * unix/tclUnixPort.h: #undef inet_ntoa before #define to avoid - compiler warning under freebsd. [Bug 745844] - -2003-06-23 Pat Thoyts - - * doc/dde.n: Committed TIP #135 which changes the - * win/tclWinDde.c: -exact option to -force. Also cleaned a - * tests/winDde.test: bug in the tests. - * library/dde/pkgIndex.tcl: Incremented version to 1.2.5 - - * doc/dde.n: Committed TIP #120 which provides the - * win/tclWinDde.c: dde package for safe interpreters. - * tests/winDde.test: Incremented package version to 1.2.4 - * library/dde/pkgIndex.tcl: - -2003-06-23 Vince Darley - - * generic/tclFCmd.c: fix to bad error message when trying to do 'file - copy foo ""'. [Bug 756951] - * tests/fCmd.test: added two new tests for the bug. - - * win/tclWinFile.c: - * win/tclWin32Dll.c: recommitted some filesystem globbing speed-ups, - but disabled some on the older Win 95/98/ME where they don't seem to - work. - - * doc/FileSystem.3: documentation fix [Bug 720634] - -2003-06-18 Miguel Sofer - - * generic/tclNamesp.c (Tcl_Export): removed erroneous comments. [Bug - 756744] - -2003-06-17 Vince Darley - - * win/makefile.vc: fixes to check-in below so compilation now works - again on Windows. - - * generic/tclCmdMZ.c: - * tests/regexp.test: fixing of bugs related to regexp and regsub - matching of empty strings. Addition of a number of new tests. [Bug - 755335] - -2003-06-16 Andreas Kupries - - * win/Makefile.in: Haven't heard back from David for a week. Now - * win/configure: committing the remaining changes. - * win/configure.in: Note: In active contact with Helmut Giese about - * win/makefile.vc: the borland relatedchanges. This part will see - * win/rules.vc: future updates. - * win/tcl.m4: - * win/makefile.bc: - -2003-06-10 Andreas Kupries - - * generic/tclConfig.c (ASSOC_KEY): Changed the key to - "tclPackageAboutDict" (tcl prefix) to make collisions with the keys of - other packages more unlikely. - -2003-06-10 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclExecute.c: let TclExecuteObjvInternal call - TclInterpReady instead of relying on its callers to do so; fix for the - part of [Bug 495830] that is new in 8.4. - * tests/interp.test: Added tests 18.9 (knownbug) and 18.10 - -2003-06-09 Andreas Kupries - - * generic/tcl.decls: Ported the changes from the - * generic/tcl.h: 'tip-59-implementation' branch into the CVS - * generic/tclBasic.c: head. Regenerated stub table. Regenerated the - * generic/tclInt.h: configure's scripts, with help from Joe English. - * generic/tclDecls.h: - * generic/tclStubInit.c: - * generic/tclConfig.c: - * generic/tclPkgConfig.c: - * unix/Makefile.in: - * unix/configure.in: The changes in the windows section are not yet - * unix/tcl.m4: committed, they await feedback from David - * unix/mkLinks: Gravereaux. - * doc/RegConfig.3: - * mac/tclMacPkgConfig.c: - * tests/config.test: - -2003-06-09 Don Porter - - * string.test (string-4.15): Added test for [string first] bug - reported in Tcl 8.3, where test for all-single-byte-encoded strings - was not reliable. - -2003-06-04 Joe Mistachkin - - * tools/man2help.tcl: Added duplicate help section checking and - * tools/index.tcl: corrected a comment typo for the getTopics proc - in index.tcl. [Bug 748700] - -2003-06-02 Vince Darley - - * win/tclWinFCmd.c: - * tests/fCmd.test: fix to [Bug #747575] in which a bad error message - is given when trying to rename a busy directory to one with the same - prefix, but not the same name. Added three new tests. - -2003-05-23 D. Richard Hipp - - * win/tclWinTime.c: Add tests to detect and avoid a division by zero - in the windows precision timer calibration logic. - -2003-05-23 Don Porter - - * generic/tclObj.c (tclCmdNameType): Converted internal rep - management of the cmdName Tcl_ObjType the opposite way, to always use - the twoPtrValue instead of always using the otherValuePtr. Previous - fix on 2003-05-12 broke several extensions that wanted to poke around - with the twoPtrValue.ptr2 value of a cmdName Tcl_Obj, like TclBlend - and e4graph. [Bug 726018] - Thanks to George Petasis for the bug report and Jacob Levy for testing - assistance. - -2003-05-23 Mo DeJong - - * unix/mkLinks: Set the var S to "" at the top of the file to avoid - error when user has set S to something. [Tk Bug 739833] - -2003-05-22 Daniel Steffen - - * macosx/Tcl.pbproj/project.pbxproj: added missing references to new - source files tclPathObj.c and tclMacOSXFCmd.c. - - * macosx/tclMacOSXBundle.c: fixed a problem that caused only the first - call to Tcl_MacOSXOpenVersionedBundleResources() for a given bundle - identifier to succeed. This caused the tcl runtime library not to be - found in all interps created after the inital one. - -2003-05-19 Kevin B. Kenny - - * unix/tclUnixTime.c: Corrected a bug in conversion of non-ASCII - chars in the format string. - -2003-05-19 Daniel Steffen - - * macosx/Tcl.pbproj/project.pbxproj: changed tclConfig.sh location in - versioned framework subdirectories to be identical to location in - framework toplevel; fixed stub library symbolic links to be tcl - version specific. - - * unix/tclUnixTime.c: fixed typo. - -2003-05-18 Kevin Kenny - - * compat/strftime.c: Modified TclpStrftime to return its result in - * generic/tclClock.c: UTF-8 encoding, and removed the conversion from - * mac/tclMacTime.c: system encoding to UTF-8 from [clock format]. - * unix/tclUnixTime.c: Needed to avoid double conversion of the - * win/tclWinTime.c: timezone name on Windows systems. [Bug 624408] - -2003-05-16 Pat Thoyts - - * library/dde/pkgIndex.tcl: Applied TIP #130 which provides for - * tests/winDde.test: unique dde server names. Added some more - * win/tclWinDde.c: tests. Fixes [Bug 219293] - - * doc/dde.n: Updated documentation re TIP #130. - * tests/winDde.test: Applied patch for [Bug 738929] by KKB and changed - to new-style tests. - -2003-05-16 Kevin B. Kenny - - * unix/Makefile.in: Removed one excess source file tclDToA.c - -2003-05-16 Daniel Steffen - - * macosx/Tcl.pbproj/project.pbxproj: updated copyright year. - -2003-05-15 Kevin B. Kenny - - * generic/tclGetDate.y: added further hackery to the yacc - * generic/tclDate.c: post-processing to arrange for the code to set - * unix/Makefile.in: up exit handlers to free the stacks. [Bug - 736425] - -2003-05-15 Jeff Hobbs - - * win/tclWinFile.c (TclpMatchInDirectory): revert glob code to r1.44 - as 2003-04-11 optimizations broke Windows98 glob'ing. - - * doc/socket.n: nroff font handling correction - - * library/encoding/gb2312-raw.enc (new): This is the original - gb2312.enc renamed to allow for it to still be used. This is needed by - Tk (unix) because X fonts with gb2312* charsets really do want the - original gb2312 encoding. [Bug 557030] - -2003-05-14 Donal K. Fellows - - * generic/tclCmdAH.c (Tcl_FormatObjCmd): Stop unwarranted demotion of - wide values to longs by formatting of int values. [Bug 699060] - -2003-05-14 Jeff Hobbs - - * library/encoding/gb2312.enc: copy euc-cn.enc over original - gb2312.enc. gb2312.enc appeared to not work as expected, and most uses - of gb2312 really mean euc-cn (which may be the cause of the problem). - [Bug 557030] - -2003-05-14 Daniel Steffen - - Implementation of TIP 118: - - * generic/tclFCmd.c (TclFileAttrsCmd): return the list of attributes - that can be retrieved without error for a given file, instead of - aborting the whole command when any error occurs. - - * unix/tclUnixFCmd.c: added support for new file attributes and for - copying Mac OS X file attributes & resource fork during [file copy]. - - * generic/tclInt.decls: added declarations of new external commands - needed by new file attributes support in tclUnixFCmd.c. - - * macosx/tclMacOSXFCmd.c (new): Mac OS X specific implementation of - new file attributes and of attribute & resource fork copying. - - * mac/tclMacFCmd.c: added implementation of -rsrclength attribute & - fixes to other attributes for consistency with OSX implementation. - - * mac/tclMacResource.c: fixes to OSType handling. - - * doc/file.n: documentation of [file attributes] changes. - - * unix/configure.in: check for APIs needed by new file attributes. - - * unix/Makefile.in: - * unix/tcl.m4: added new platform specifc tclMacOSXFCmd.c source. - - * unix/configure: - * generic/tclStubInit.c: - * generic/tclIntPlatDecls.h: regen. - - * tools/genStubs.tcl: fixes to completely broken code trying to - prevent overlap of "aqua", "macosx", "x11" and "unix" stub entries. - - * tests/unixFCmd.test: added tests of -readonly attribute. - - * tests/macOSXFCmd.test (new): tests of macosx file attributes and of - preservation of attributes & resource fork during [file copy]. - - * tests/macFCmd.test: restore -readonly attribute of test dir, as - otherwise its removal can fail on unices supporting -readonly. - -2003-05-13 David Gravereaux - - * generic/tclEnv.c: Another putenv() copy behavior problem repaired - when compiling on windows and using microsoft's runtime. [Bug 736421] - -2003-05-13 Jeff Hobbs - - * generic/tclIOUtil.c: ensure cd is thread-safe. - [Bug 710642] (vasiljevic) - -2003-05-13 Donal K. Fellows - - * generic/tclEvent.c (Tcl_Finalize): Removed unused variable to reduce - compiler warnings. [Bug 664745] - -2003-05-13 Joe Mistachkin - - * generic/tcl.decls: Changed Tcl_JoinThread parameter name from - * generic/tclDecls.h: "id" to "threadId". [Bug 732477] - * unix/tclUnixThrd.c: - * win/tclWinThrd.c: - * mac/tclMacThrd.c: - -2003-05-13 Daniel Steffen - - * generic/tcl.decls: - * macosx/tclMacOSXBundle.c: added extended version of the - Tcl_MacOSXOpenBundleResources() API taking an extra version number - argument: Tcl_MacOSXOpenVersionedBundleResources(). This is needed to - be able to access bundle resources in versioned frameworks such as Tcl - and Tk, otherwise if multiple versions were installed, only the latest - version's resources could be accessed. [Bug 736774] - - * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): use new versioned - bundle resource API to get tcl runtime library for TCL_VERSION. [Bug - 736774] - - * generic/tclPlatDecls.h: - * generic/tclStubInit.c: regen. - - * unix/tclUnixPort.h: worked around the issue of realpath() not - being thread-safe on Mac OS X by defining NO_REALPATH for threaded - builds on Mac OS X. [Bug 711232] - -2003-05-12 Donal K. Fellows - - * tests/cmdAH.test: General clean-up of tests so that all - tcltest-specific commands are protected by constraints and all - platforms see the same number of tests. [Bug 736431] - -2003-05-12 Don Porter - - * generic/tclInterp.c: (AliasObjCmd): Added refCounting of the words - * tests/interp.test (interp-33.1): of the target of an interp - alias during its execution. Also added test. [Bug 730244] - - * generic/tclBasic.c (TclInvokeObjectCommand): objv[argc] is no - longer set to NULL (Tcl_CreateObjCommand docs already say that it - should not be accessed). - - * tests/cmdMZ.test: Forgot to import [temporaryDirectory]. - - * generic/tclObj.c (tclCmdNameType): Corrected variable use of the - otherValuePtr or the twoPtrValue.ptr1 fields to store a - (ResolvedCmdName *) as the internal rep. [Bug 726018] - - * doc/Eval.3: Corrected prototype for Tcl_GlobalEvalObj [Bug 727622]. - -2003-05-12 Miguel Sofer - - * generic/tclVar.c (TclObjLookupVar): [Bug 735335] temporary fix, - disabling usage of tclNsVarNameType. - * tests/var.test (var-15.1): test for [Bug 735335] - -2003-05-10 Jeff Hobbs - - * win/tclWinSerial.c (SerialCloseProc): correct mem leak on closing a - Windows serial port [Bug 718002] (schroedter) - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): prevent string repeat crash - when overflow sizes were given (throws error). [Bug 714106] - -2003-05-09 Joe Mistachkin - - * generic/tclThreadAlloc.c (TclFreeAllocCache): Fixed memory leak - caused by treating cachePtr as a TLS index. [Bug 731754] - - * win/tclAppInit.c (Tcl_AppInit): Fixed memory leaks caused by not - freeing the memory allocated by setargv and the async handler created - by Tcl_AppInit. An exit handler has been created that takes care of - both leaks. In addition, Tcl_AppInit now uses ckalloc instead of - Tcl_Alloc to allow for easier leak tracking and to be more consistent - with the rest of the Tcl core. [Bugs 733156, 733221] - - * tools/encoding/txt2enc.c (main): Fixed memory leak caused by failing - to free the memory used by the toUnicode array of strings [Bug 733221] - -2003-05-09 Miguel Sofer - - * generic/tclCompile.c (TclCompileScript): - * tests/compile.test (compile-3.5): corrected wrong test and - behaviour in the earlier fix for [Bug 705406]; Don Porter reported - this as [Bug 735055], and provided the solution. - -2003-05-09 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_ReturnObjCmd): The array of strings passed - to Tcl_GetIndexFromObj must be NULL terminated. [Bug 735186] - Thanks to Joe Mistachkin for spotting this. - -2003-05-07 Donal K. Fellows - - * doc/trace.n: Fixed very strange language in the documentation for - 'trace add execution'. [Bug 729821] - - * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Made error message for 'trace - info' more consistent with documentation. [Bug 706961] - - * generic/tclDictObj.c (DictInfoCmd): Fixed memory leak caused by - confusion about string ownership. [Bug 731706] - -2003-05-05 Don Porter - - * generic/tclBasic.c: Implementation of TIP 90, which - * generic/tclCmdAH.c: extends the [catch] and [return] - * generic/tclCompCmds.c: commands to enable creation of a - * generic/tclExecute.c: proc that is a replacement for - * generic/tclInt.h: [return]. [Patch 531640] - * generic/tclProc.c: - * generic/tclResult.c: - * tests/cmdAH.test: - * tests/cmdMZ.test: - * tests/error.test: - * tests/proc-old.test: - - * library/tcltest/tcltest.tcl: The -returnCodes option to [test] - failed to recognize the symbolic name "ok" for return code 0. - -2003-05-05 Donal K. Fellows - - * generic/tclBasic.c (Tcl_HideCommand): Fixed error message for - grammar and spelling. - -2003-04-28 Donal K. Fellows - - * generic/tclDictObj.c (DictIncrCmd): Updated to reflect the behaviour - with wide increments of the normal [incr] command. - * generic/tclInt.decls: Added TclIncrWideVar2 to internal stub table - and cleaned up. - * tests/incr.test (incr-3.*): - * generic/tclVar.c (TclIncrWideVar2, TclPtrIncrWideVar): - * generic/tclExecute.c (TclExecuteByteCode): - * generic/tclCmdIL.c (Tcl_IncrObjCmd): Make [incr] work when trying to - increment by wide values. [Bug 728838] - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Default mode of - operation of [switch] is exact matching. [Bug 727563] - -2003-04-25 Don Porter - - * generic/tclBasic.c: Tcl_EvalObjv() failed to honor the - TCL_EVAL_GLOBAL flag when resolving command names. Tcl_EvalEx passed a - string rep including leading whitespace and comments to - TclEvalObjvInternal(). - -2003-04-25 Andreas Kupries - - * win/tclWinThrd.c: Applied SF patch #727271. This patch changes the - code to catch any errors returned by the windows functions handling - TLS ASAP instead of waiting to get some mysterious crash later on due - to bogus pointers. Patch provided by Joe Mistachkin. - - This is a stop-gap measure to deal with the low number of ?TLS slots - provided by some of the variants of Windows (60-80). - -2003-04-24 Vince Darley - - * generic/tclFileName.c: fix to bug reported privately by Jeff where, - for example, 'glob -path {[tcl]} *' gets confused by the leading - special character (which is escaped internally), and instead lists - files in '/'. Bug only occurs on Windows where '\' is also a directory - separator. - * tests/fileName.test: added test for the above bug. - -2003-04-22 Andreas Kupries - - * The changes below fix SF bugs [593810], and [718045]. - - * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke - TclpCutSockChannel and TclpSpliceSockChannel. - - * generic/tclInt.h: Declare TclpCutSockChannel and - TclpSpliceSockChannel. - - * unix/tclUnixSock.c (TclpCutSockChannel, TclpSpliceSockChannel): - Dummy functions, on unix the sockets are _not_ handled specially. - - * mac/tclMacSock.c (TclpCutSockChannel, TclpSpliceSockChannel): - * win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel): New - functions to handle socket specific cut/splice operations: auto-init - of socket system for thread on splice, management of the module - internal per-thread list of sockets, management of association of - sockets with HWNDs for event notification. - - * win/tclWinSock.c (NewSocketInfo): Extended initialization - assignments to cover all items of the structure. During debugging of - the new code mentioned above I found that two fileds could contain - bogus data. - - * win/tclWinFile.c: Added #undef HAVE_NO_FINDEX_ENUMS before - definition because when compiling in debug mode the compiler complains - about a redefinition, and this warning is also treated as an error. - -2003-04-21 Don Porter - - * library/tcltest/tcltest.tcl: When the return code of a test does - not meet expectations, report that as the reason for test failure, and - do not attempt to check the test result for correctness. [Bug 725253] - -2003-04-18 Jeff Hobbs - - * win/tclWinInt.h (VER_PLATFORM_WIN32_CE): conditionally define. - * win/tclWinInit.c: recognize Windows CE as a Win platform. This just - recognizes CE - full support will come later. - - * win/configure: regen - * win/configure.in (SHELL): force it to /bin/sh as autoconf 2.5x - uses /bin/bash, which can fail to find exes in the path (ie: lib). - - * generic/tclExecute.c (ExprCallMathFunc): remove incorrect - extraneous cast from Tcl_WideAsDouble. - -2003-04-18 Donal K. Fellows - - * doc/open.n: Moved serial port options from [fconfigure] to - * doc/fconfigure.n: [open] as it is up to the creator of a channel - to describe the channel's special config - options. [Bug 679010] - -2003-04-16 Don Porter - - * generic/tcl.h: Made changes so that the "wideInt" Tcl_ObjType - * generic/tclObj.c: is defined on all platforms, even those where - * generic/tclPort.h: TCL_WIDE_INT_IS_LONG is defined. Also made the - Tcl_Value struct have a wideValue field on all platforms. This is a - ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms - because that struct changes size. This is the same TIP 72 - incompatibility that was seen on other platforms at the 8.4.0 release, - when this change should have happened as well. [Bug 713562] - - * generic/tclInt.h: New internal macros TclGetWide() and - TclGetLongFromWide() to deal with both forms of the "wideInt" - Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code is confined - to the header file. - - * generic/tclCmdAH.c: Replaced most coding that was conditional - * generic/tclCmdIL.c: on TCL_WIDE_INT_IS_LONG with code that - * generic/tclExecute.c: works across platforms, sometimes using - * generic/tclTest.c: the new macros above to do it. - * generic/tclUtil.c: - * generic/tclVar.c: - -2003-04-17 Donal K. Fellows - - * doc/socket.n: Added a paragraph to remind people to specify their - encodings when using sockets. [Bug 630621] - -2003-04-16 Donal K. Fellows - - * doc/CrtMathFnc.3: Functions also have to deal with wide ints, but - this was not documented. [Bug 709720] - -2003-04-16 Vince Darley - - * generic/tclPathObj.c: removed undesired 'static' for function which - is now shared (previously it was duplicated). - -2003-04-15 Joe English - - * doc/namespace.n: added example section "SCOPED SCRIPTS", supplied by - Kevin Kenny. [Bug 219183] - -2003-04-15 Kevin Kenny - - * makefile.vc: Updated makefile.vc to conform with Mo DeJong's changes - to Makefile.in and tclWinPipe.c on 2003-04-14. Now passes TCL_PIPE_DLL - in place of TCL_DBGX. - * win/tclWinTime.c: Corrected use of types to make compilation - compatible with VC++5. - -2003-04-15 Vince Darley - - * generic/tclIOUtil.c: finished check-in from yesterday, removing - duplicate function definition. - -2003-04-14 Don Porter - - * generic/tclClock.c: Corrected compiler warnings. - * generic/tclTest.c: - -2003-04-14 Mo DeJong - - * win/Makefile.in: Don't define TCL_DBGX symbol for every compile. - Instead, define TCL_PIPE_DLL only when compiling tclWinPipe.c. This - will break other build systems, so they will need to remove the - TCL_DBGX define and replace it with a define for TCL_PIPE_DLL. - * win/tclWinPipe.c (TclpCreateProcess): Remove PREFIX_IDENT and - DEBUG_IDENT from top of file. Use TCL_PIPE_DLL passed in from build - env instead of trying to construct the dll name from already defined - symbols. This approach is more flexible and better in the long run. - -2003-04-14 Kevin Kenny - - * win/tclWinFile.c: added conditionals to restore compilation on - VC++6, which was broken by recent changes. - -2003-04-14 Vince Darley - - * generic/tclIOUtil.c: - * generic/tclPathObj.c: - * generic/tclFileSystem.h: overlooked one function which was - duplicated, so this is now shared between modules. - * win/tclWinFile.c: allow this file to compile with VC++ 5.2 again - since Mingw build fixes broke that. - -2003-04-13 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Add check for FINDEX_INFO_LEVELS from winbase.h, - known to be a problem in VC++ 5.2. Define HAVE_NO_FINDEX_ENUMS if the - define does not exist. - * win/tclWinFile.c: Put declarations for FINDEX_INFO_LEVELS and - FINDEX_SEARCH_OPS inside a check for HAVE_NO_FINDEX_ENUMS so that - these are not declared twice. This fixes the Mingw build. - * win/tclWinTime.c: Rework the init of timeInfo so that the number or - initializers matches the declaration. This was broken under Mingw. Add - cast to avoid compile warning when calling the AccumulateSample - function. - -2003-04-12 Jeff Hobbs - - * win/Makefile.in (GENERIC_OBJS): add missing tclPathObj.c - -2003-04-12 Kevin Kenny - - * doc/clock.n: - * generic/tclClock.c (Tcl_ClockObjCmd): - * tests/clock.test: Implementation of TIP #124. Also renumbered test - cases to avoid duplicates. [Bug 710310] - * tests/winTime.test: - * win/tclWinTest.c (TestwinclockCmd, TestwinsleepCmd): - * win/tclWinTime.c (Tcl_WinTime, UpdateTimeEachSecond, - (ResetCounterSamples, AccumulateSample, SAMPLES, TimeInfo): Made - substantial changes to the phase-locked loop (replaced an IIR filter - with an FIR one) in a quest for improved loop stability (Bug not - logged at SF, but cited in private communication from Jeff Hobbs). - -2003-04-11 Don Porter - - * generic/tclCmdMZ.c (Tcl_StringObjCmd,STR_IS_INT): Corrected - inconsistent results of [string is integer] observed on systems where - sizeof(long) != sizeof(int). [Bug 718878] - * tests/string.test: Added tests for Bug 718878. - * doc/string.n: Clarified that [string is integer] accepts 32-bit - integers. - -2003-04-11 Andreas Kupries - - * generic/tclIO.c (UpdateInterest): When dropping interest in - TCL_READABLE now dropping interest in TCL_EXCEPTION too. This fixes a - bug where Expect detects eof on a file prematurely on solaris 2.6 and - higher. A much more complete explanation is in the code itself (40 - lines of comments for a one-line change :) - -2003-04-11 Vince Darley - - * tests/cmdAH.test: fix test suite problem if /home is a symlink. [Bug - 703264] - * generic/tclIOUtil.c: fix bad error message with 'cd ""'. [Bug - 704917] - * win/tclWinFile.c, win/tclWin32Dll.c: - * win/tclWinInt.h: allow Tcl to differentiate between reparse points - which are symlinks and mounted volumes, and correctly handle the - latter. This involves some elaborate code to find the actual drive - letter (if possible) corresponding to a mounted volume. [Bug 697862] - * tests/fileSystem.test: add constraints to stop tests running in - ordinary tcl interpreter. [Bug 705675] - - * generic/tclIOUtil.c: - * generic/tclPathObj.c: (new file) - * generic/tclFileSystem.h: (new file) - * win/makefile.vc: - Split path object handling out of the virtual filesystem layer, into - tclPathObj.c. This refactoring cleans up the internal filesystem code, - and will make any future optimisations and forthcoming better - thread-safety much easier. - - * generic/tclTest.c: - * tests/reg.test: added some 'knownBug' tests for problems in Tcl's - regexp code with the TCL_REG_CAN_MATCH flag (see Bug 703709). Code too - impenetrable to fix right now, but a fix is needed for tip113 to work - correctly. - - * tests/fCmd.test - * win/tclWinFile.c: added some filesystem optimisation to the 'glob' - implementation, and some new tests. - - * generic/tclCmdMZ.c: fix typo in comment - - * tests/winFile.test: - * tests/ioUtil.test: - * tests/unixFCmd.test: renumbered tests with duplicate numbers. [Bug - 710361] - -2003-04-10 Donal K. Fellows - - * doc/binary.n: Fixed typo in [binary format w] desc. [Bug 718543] - -2003-04-08 Donal K. Fellows - - * generic/tclCmdAH.c (Tcl_ErrorObjCmd): Strings are only empty if - they have zero length, not if their first byte is zero, so fix test - guarding Tcl_AddObjErrorInfo to take this into account. [Bug - reported by Don Porter; no bug-id.] - -2003-04-07 Don Porter - - * generic/tclCompCmds.c (TclCompileIfCmd): Corrected string limits of - arguments interpolated in error messages. [Bug 711371] - - * generic/tclCmdMZ.c (TraceExecutionProc): Added missing - Tcl_DiscardResult() call to avoid memory leak. - -2003-04-07 Donal K. Fellows - - * generic/tclDictObj.c (Tcl_DictObjCmd): Stopped compilers from - moaning about switch fall-through. [Bug 716327] - (DictFilterCmd): Yet more warning killing, this time reported by - Miguel Sofer by private chat. - -2003-04-07 Donal K. Fellows - - * tests/dict.test (dict-2.6): - * generic/tclDictObj.c (Tcl_NewDictObj, Tcl_DbNewDictObj): Oops! - Failed to fully initialise the Dict structure. - (DictIncrCmd): Moved valueAlreadyInDictionary label to stop compiler - complaints. [Bug 715751] - - * generic/tclDictObj.c (DictIncrCmd): Followed style in the rest of - the core by commenting out wide-specific operations on platforms where - wides are longs, and used longs more thoroughly than ints through - [dict incr] anyway to forestall further bugs. - * generic/tclObj.c: Made sure there's always a tclWideIntType - implementation available, not that it is always useful. [Bug 713562] - -2003-04-05 Donal K. Fellows - - * generic/tclDictObj.c: Removed commented out notes on declarations to - be moved to elsewhere in the Tcl core. - - * generic/tclInt.h: Final stages of plumbing in. - * generic/tclBasic.c: - * generic/tclObj.c (TclInitObjSubsystem): - - * unix/Makefile.in, win/Makefile.in, win/makefile.[bv]c: Build support. - * generic/tcl.decls: Added dict public API to stubs table. - * generic/tcl.h (Tcl_DictSearch): Added declaration of structure to - allow user code to iterate over dictionaries. - - * doc/DictObj.3: New files containing dictionary implementation - * doc/dict.n: documentation and tests as as mandated by TIP - * generic/tclDictObj.c: #111. - * tests/dict.test: - -2003-04-03 Mo DeJong - - * unix/configure: - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't set TCL_LIBS if it is already - set to support use of TCL_LIBS var from tclConfig.sh in the Tk - configure script. - -2003-04-03 Mo DeJong - - * unix/Makefile.in: Don't subst MATH_LIBS, LIBS, and DL_LIBS - separately. Instead, just subst TCL_LIBS since it includes the - others. - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): Set and subst - TCL_LIBS in SC_CONFIG_CFLAGS instead of SC_TCL_LINK_LIBS. Don't subst - MATH_LIBS since it is now covered by TCL_LIBS. - * unix/tclConfig.sh.in: Use TCL_LIBS instead of DL_LIBS, LIBS, and - MATH_LIBS. - * unix/dltest/Makefile.in: Ditto. - -2003-04-03 Don Porter - - * generic/tclCompCmds.c (TclCompileReturnCmd): Now that [return] - compiles to INST_RETURN, it is safe to compile even outside a proc. - -2003-04-02 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Set stub lib flag based on new LIBFLAGSUFFIX - variable. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Set new LIBFLAGSUFFIX that works like - LIBSUFFIX, it is used when creating library names. The previous - implementation would generate -ltclstub85 instead of -ltclstub85s when - configured with --disable-shared. - -2003-04-02 Don Porter - - * generic/tclParse.c (TclSubstTokens): Moved declaration of - utfCharBytes to beginning of procedure so that it does not go out of - scope (get free()d) while append is still pointing to it. [Bugs - 703167, 713754] - -2003-04-01 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Check for inet_ntoa in -lbind inside - the BeOS block since doing it later broke the build under SuSE 7.3. - [Bug 713128] - -2003-04-01 Don Porter - - * tests/README: Direct [source] of *.test files is no longer - recommended. The tests/*.test files should only be evaluated under the - control of the [runAllTests] command in tests/all.tcl. - - * generic/tclExecute.c (INST_RETURN): Bytecompiled [return] failed to - reset iPtr->returnCode, causing tests parse-18.17 and parse-18.21 to - fail strangely. - * tests/parse.test (parse-18.21): Corrected now functioning test. - Added further coverage tests. - -2003-03-31 Don Porter - - * tests/parse.test (parse-18.*): Coverage tests for the new - implementation of Tcl_SubstObj(). Note that tests parse-18.17 and - parse-18.21 demonstrate some bugs left to fix in the current code. - -2003-03-27 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Use -Wl,--export-dynamic instead of - -rdynamic for LDFLAGS. The -rdynamic is not documented so it seems - better to pass the --export-dynamic flag to the linker. [Patch 573395] - -2003-03-27 Miguel Sofer - - * tests/encoding.test: - * tests/proc-old.test: - * tests/set-old.test: Altered test numers to eliminate duplicates, - [Bugs 710313, 710320, 710352] - -2003-03-27 Donal K. Fellows - - * tests/parseOld.test: Altered test numers to eliminate duplicates. - * tests/parse.test: [Bugs 710365, 710369] - * tests/expr-old.test: - * tests/expr.test: - - * tests/utf.test: Altered test numers to eliminate duplicates. - * tests/trace.test: [Bugs 710322, 710327, 710349, 710363] - * tests/lsearch.test: - * tests/list.test: - * tests/info.test: - * tests/incr-old.test: - * tests/if-old.test: - * tests/format.test: - * tests/foreach.test: - -2003-03-26 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): Add BeOS system to - SC_CONFIG_CFLAGS. Check for inet_ntoa in -lbind, needed for BeOS. - -2003-03-26 Don Porter - - * doc/tcltest.n: - * library/tcltest/tcltest.tcl: Added reporting during [configure - -debug 1] operations to warn about multiple uses of the same test - name. [FRQ 576693] - - * tests/msgcat.test (msgcat-2.2.1): changed test name to avoid - duplication. [Bug 710356] - - * unix/dltest/pkg?.c: Changed all Tcl_InitStubs calls to pass - argument exact = 0, so that rebuilds are not required when Tcl - bumps to a new version. [Bug 701926] - -2003-03-24 Miguel Sofer - - * generic/tclVar.c: - * tests/var.test: fixing ObjMakeUpvar's lookup algorithm for the - created local variable. [Bug 631741] (Chris Darroch) and [Bug 696893] - (David Hilker) - -2003-03-24 Pat Thoyts - - * library/dde/pkgIndex.tcl: bumped version to 1.2.2 in tclWinDde.c, - now adding here too. - -2003-03-22 Kevin Kenny - - * library/dde/pkgIndex.tcl: - * library/reg/pkgIndex.tcl: Fixed a bug where [package require dde] - or [package require registry] attempted to load the release version - of the DLL into a debug build. [Bug 708218] Thanks to Joe Mistachkin - for the patch. - * win/makefile.vc: Added quoting around the script name in the 'test' - target; Joe Mistachkin insists that he has a configuration that fails - to launch tcltest without it, and it appears harmless otherwise. - -2003-03-22 Pat Thoyts - - * win/tclWinDde.c: Make dde services conform the the documentation - such that giving only a topic name really returns all services with - that topic. [Bug 219155] - Prevent hangup caused by dde server applications failing to process - messages. [Bug 707822] - * tests/winDde.test: Corrected labels and added a test for search by - topic name. - -2003-03-20 Don Porter - - * generic/tclInt.h (tclOriginalNotifier): - * generic/tclStubInit.c (tclOriginalNotifier): - * mac/tclMacNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): - * unix/tclUnixNotfy.c (Tcl_SetTimer,Tcl_WaitForEvent, - (Tcl_CreateFileHandler,Tcl_DeleteFileHandler): - * win/tclWinNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): Some linkers - apparently use a different representation for a pointer to a function - within the same compilation unit and a pointer to a function in a - different compilation unit. This causes checks like those in the - original notifier procedures to fall into infinite loops. The fix is - to store pointers to the original notifier procedures in a struct - defined in the same compilation unit as the stubs tables, and compare - against those values. [Bug 707174] - - * generic/tclInt.h: Removed definition of ParseValue struct that is - no longer used. - -2003-03-19 Miguel Sofer - - * generic/tclCompile.c: - * tests/compile.test: bad command count on TCL_OUT_LINE_COMPILE. - [Bug 705406] (Don Porter) - -2003-03-19 Don Porter - - * library/auto.tcl: Replaced [regexp] and [regsub] with - * library/history.tcl: [string map] where possible. Thanks - * library/ldAout.tcl: to David Welton. [Bugs 667456,667558] - * library/safe.tcl: Bumped to http 2.4.3, opt 0.4.5, and - * library/http/http.tcl: tcltest 2.2.3. - * library/http/pkgIndex.tcl: - * library/opt/optparse.tcl: - * library/opt/pkgIndex.tcl: - * library/tcltest/tcltest.tcl: - * library/tcltest/pkgIndex.tcl: - * tools/genStubs.tcl: - * tools/tcltk-man2html.tcl: - * unix/mkLinks.tcl: - - * doc/Eval.3 (Tcl_EvalObjEx): Corrected CONST and - * doc/ParseCmd.3 (Tcl_EvalTokensStandard): return type errors in - documentation. [Bug 683994] - - * generic/tclCompCmds.c (TclCompileReturnCmd): Alternative fix for - * generic/tclCompile.c (INST_RETURN): [Bug 633204] that uses a new - * generic/tclCompile.h (INST_RETURN): bytecode INST_RETURN to - * generic/tclExecute.c (INST_RETURN): properly bytecode the [return] - command to something that returns TCL_RETURN. - -2003-03-18 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Don't run the AC_CYGWIN macro since it uses - AC_CANONICAL_HOST under autoconf 2.5X. Just check to see if __CYGWIN__ - is defined by the compiler and set the ac_cv_cygwin variable based on - that. [Bug 705912] - -2003-03-18 Kevin Kenny - - * tests/registry.test: Changed the conditionals to avoid an abort if - [testlocale] is missing, as when running the test in tclsh rather than - tcltest. [Bug 705677] - -2003-03-18 Daniel Steffen - - * tools/tcltk-man2html.tcl: added support for building 'make html' - from inside distribution directories named with 8.x.x version numbers. - tcltk-man2html now uses the latest tcl8.x.x resp. tk8.x.x directories - found inside its --srcdir argument. - -2003-03-17 Mo DeJong - - * tests/format.test: Renumber tests, a bunch of tests all had the same - id. - -2003-03-17 Donal K. Fellows - - * doc/lsearch.n: Altered documentation of -ascii options so - * doc/lsort.n: they don't specify that they operate on ASCII - strings, which they never did anyway. [Bug - 703807] - -2003-03-14 Donal K. Fellows - - * generic/tclCmdAH.c (Tcl_FormatObjCmd): Only add the modifier that - indicates we've got a wide int when we're formatting in an integer - style. Stops some libc's from going mad. [Bug 702622] Also tidied - whitespace. - -2003-03-13 Mo DeJong - - * win/tcl.m4 (SC_WITH_TCL): Port version number fix that was made in - tk instead of tcl sources. - -2003-03-13 Mo DeJong - - Require autoconf 2.57 or newer, see TIP 34 for a detailed explanation - of why this is good. This will no doubt break the build on some - platforms, let the flaming begin. - - * tools/configure: Regen with autoconf 2.57. - * tools/configure.in: Require autoconf 2.57. - * unix/configure: Regen with autoconf 2.57. - * unix/configure.in: Require autoconf 2.57. - Apply AC_LIBOBJ changes from patch 529884. - * unix/tcl.m4: Ditto. - * win/configure: Regen with autoconf 2.57. - * win/configure.in: Require autoconf 2.57. - Don't subst LIBOBJS since this happens by default, this avoids an - autoconf error. - -2003-03-12 Don Porter - - * generic/tclBasic.c (Tcl_EvalTokensStandard): - * generic/tclCmdMZ.c (Tcl_SubstObj): - * generic/tclCompCmds.c (TclCompileSwitchCmd): - * generic/tclCompExpr.c (CompileSubExpr): - * generic/tclCompile.c (TclSetByteCodeFromAny,TclCompileScript, - (TclCompileTokens,TclCompileCmdWord): - * generic/tclCompile.h (TclCompileScript): - * generic/tclExecute.c (TclCompEvalObj): - * generic/tclInt.h (Interp,TCL_BRACKET_TERM,TclSubstTokens): - * generic/tclParse.c (ParseTokens,Tcl_SubstObj,TclSubstTokens): - * tests/subst.test (2.4, 8.7, 8.8, 11.4, 11.5): - Substantial refactoring of Tcl_SubstObj to make use of the same - parsing and substitution procedures as normal script evaluation. - Tcl_SubstObj() moved to tclParse.c. New routine TclSubstTokens() - created in tclParse.c which implements all substantial functioning of - Tcl_EvalTokensStandard(). TclCompileScript() loses its "nested" - argument, the Tcl_Interp struct loses its termOffset field and the - TCL_BRACKET_TERM flag in the evalFlags field, all of which were only - used (indirectly) by Tcl_SubstObj(). Tests subst-8.7,8.8,11.4,11.5 - modified to accommodate the only behavior change: reporting of parse - errors now takes precedence over [return] and [continue] exceptions. - All other behavior should remain compatible. [RFE 536831,684982] [Bug - 685106] - - * generic/tcl.h: Removed TCL_PREFIX_IDENT and TCL_DEBUG_IDENT - * win/tclWinPipe.c: from tcl.h -- they are not part of Tcl's - public interface. Put them in win/tclWinPipe.c where they are used. - - * generic/tclInterp.c (Tcl_InterpObjCmd): Corrected and added - * tests/interp.test (interp-2.13): test for option - parsing beyond objc for [interp create --]. Thanks to Marco Maggi. - [Bug 702383] - -2003-03-11 Kevin Kenny - - * win/makefile.vc: Added two missing uses of $(DBGX) so that - tclpip8x.dll loads without panicking on Win9x. - -2003-03-09 Kevin Kenny - - * generic/tclTest.c (TestChannelCmd): Removed an unused local variable - that caused compilation problems on some platforms. - -2003-03-08 Don Porter - - * doc/tcltest.n: Added missing "-body" to example. Thanks to Helmut - Giese. [Bug 700011] - -2003-03-07 Mo DeJong - - * tests/io.test: - * tests/ioCmd.test: Define a fcopy constraint and add it to the - constraint list of any test that depends on the fcopy command. This is - only useful to Jacl which does not support fcopy. - -2003-03-07 Mo DeJong - - * tests/encoding.test: Name temp files *.tcltestout instead of *.out - so that when they are removed later, we don't accidently toast any - files named *.out that the user has created in the build directory. - -2003-03-07 Donal K. Fellows - - * generic/tclCmdAH.c (Tcl_FileObjCmd): Fix the setting of a file's - mtime and atime on 64-bit platforms. [Bug 698146] - -2003-03-06 Mo DeJong - - * tests/io.test: Doh! Undo accidental commenting out of a couple of - tests. - -2003-03-06 Mo DeJong - - * tests/io.test: Define a fileevent constraint and add it to the - constraint list of any test that depends on the fileevent command. - This is only useful to Jacl which does not support fileevent. - -2003-03-06 Mo DeJong - - * tests/io.test: Define an openpipe constraint and add it to the - constraint list of any test that creates a pipe using the open - command. This is only useful to Jacl which does not support pipes. - -2003-03-06 Don Porter - - * generic/TclUtf.c (Tcl_UniCharNcasecmp): Corrected failure to - * tests/utf.test (utf-25.*): properly compare Unicode strings of - different case in a case insensitive manner. [Bug 699042] - -2003-03-06 Kevin Kenny - - * generic/tclCompCmds.c (TclCompileSwitchCmd): - Replaced a non-portable 'bzero' with a portable 'memset'. [Bug 698442] - -2003-03-06 Mo DeJong - - * generic/tclIO.c (Tcl_Seek, Tcl_OutputBuffered): If there is data - buffered in the statePtr->curOutPtr member then set the BUFFER_READY - flag in Tcl_Seek. This is needed so that the next call to FlushChannel - will write any buffered bytes before doing the seek. The existing code - would set the BUFFER_READY flag inside the Tcl_OutputBuffered - function. This was a programming error made when Tcl_OutputBuffered - was originally created in CVS revision 1.35. The setting of the - BUFFER_READY flag should not have been included in the - Tcl_OutputBuffered function. - * generic/tclTest.c (TestChannelCmd): Use the Tcl_InputBuffered and - Tcl_OutputBuffered util methods to query the amount of buffered input - and output. - -2003-03-06 Mo DeJong - - * generic/tclIO.c (Tcl_Flush): Compare the nextAdded member of the - ChannelBuffer to the nextRemoved member to determine if any output has - been buffered. The previous check against the value 0 seems to have - just been a coding error. See other methods like Tcl_OutputBuffered - for examples where nextAdded is compared to nextRemoved to find the - number of bytes buffered. - -2003-03-06 Mo DeJong - - * generic/tclIO.c (Tcl_GetsObj): Check that the eol pointer has not - gone past the end of the string when in auto translation mode and the - INPUT_SAW_CR flag is set. The previous code worked because the end of - string value \0 was being compared to \n, this patch just skips that - pointless check. - -2003-03-06 Mo DeJong - - * generic/tclIO.c (WriteBytes, WriteChars, Tcl_GetsObj, ReadBytes): - Rework calls to TranslateOutputEOL to make it clear that a boolean - value is being returned. Add some comments in an effort to make the - code more clear. This patch makes no functional changes. - -2003-03-06 Mo DeJong - - * generic/tclIO.c (Tcl_SetChannelOption): Invoke the - Tcl_SetChannelBufferSize method as a result of changing the - -buffersize option to fconfigure. The previous implementation used - some inlined code that reset the buffer size to the default size - instead of ignoring the request as implemented in - Tcl_SetChannelBufferSize. - * tests/io.test: Update test case so that it actually checks the - implementation of Tcl_SetChannelBufferSize. - -2003-03-05 David Gravereaux - - * win/rules.vc: updated default tcl version to 8.5. - -2003-03-05 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd): First attempt at a - bytecode-compiled switch command. It only handles the most common case - of switching, but that should be enough for this to speed up a lot of - people's code. It is expected that the speed gains come from two - things: better handling of the switch itself, and integrated - compilation of the arms instead of embedding separate bytecode - sequences (i.e. better local variable handling.) - * tests/switch.test (switch-10.*): Tests of both uncompiled and - compiled switch behaviour. [Patch #644819] - - * generic/tclCompile.h (TclFixupForwardJumpToHere): Additional macro - to make the most common kind of jump fixup a bit easier. - -2003-03-04 Don Porter - - * README: Bumped version number of - * generic/tcl.h: Tcl to 8.5a0. - * library/init.tcl: - * mac/README: - * macosx/Tcl.pbproj/project.pbxproj: - * tests/basic.test: - * tools/configure.in: - * tools/tcl.hpj.in: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/README: - * win/README.binary: - * win/configure.in: - * win/makefile.bc: - * win/makefile.vc: - * win/tcl.m4: - - * tools/configure: autoconf - * unix/configure: - * win/configure: - -2003-03-03 Jeff Hobbs - - *** 8.4.2 TAGGED FOR RELEASE *** - -2003-03-03 Daniel Steffen - - Mac OS Classic specific fixes: - * generic/tclIOUtil.c (TclNewFSPathObj): on TCL_PLATFORM_MAC, skip - potential directory separator at the beginning of addStrRep. - * mac/tclMacChan.c (OpenFileChannel, CommonWatch): followup fixes to - cut and splice implementation for file channels. - * mac/tclMacFile.c (TclpUtime): pass native path to utime(). - * mac/tclMacFile.c (TclpObjLink): correctly implemented creation of - alias files via new static proc CreateAliasFile(). - * mac/tclMacPort.h: define S_ISLNK macro to fix stat'ing of links. - * mac/tclMacUtil.c (FSpLocationFromPathAlias): fix to enable stat'ing - of broken links. - -2003-03-03 Kevin Kenny - - * win/Makefile.vc: corrected bug introduced by 'g' for debug builds. - -2003-03-03 Don Porter - - * library/dde/pkgIndex.tcl: dde bumped to version 1.2.1 for - * win/tclWinDde.c: bundled release with Tcl 8.4.2 - - * library/reg/pkgIndex.tcl: registry bumped to version 1.1.1 for - * win/tclWinReg.c: bundled release with Tcl 8.4.2 - - * library/opt/pkgIndex.tcl: updated package index to version 0.4.4 - -2003-02-28 Jeff Hobbs - - * win/configure: - * win/configure.in: check for 'g' for debug build type, not 'd'. - * win/rules.vc (DBGX): correct to use 'g' for nmake win makefile to - match the cygwin makefile for debug builds. [Bug 635107] - -2003-02-28 Vince Darley - - * doc/file.n: subcommand is 'file volumes' not 'file volume' - -2003-02-27 Jeff Hobbs - - * generic/tclIOUtil.c (MakeFsPathFromRelative): removed dead code - check of typePtr (darley). - - * tests/winTime.test: added note about PCI hardware dependency issues - with high performance clock. - -2003-02-27 Donal K. Fellows - - * tests/lsearch.test (lsearch-10.7): - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Stopped -start option from - causing an option when used with an empty list. [Bug 694232] - -2003-02-26 Chengye Mao - - * win/tclWinInit.c: fixed a bug in TclpSetVariables by initializing - dwUserNameLen with the sizeof(szUserName) before calling GetUserName. - Don't know if this bug has been recorded: it caused crash in starting - Tcl or wish in Windows. - -2003-02-26 Jeff Hobbs - - * generic/tclCmdMZ.c (TraceCommandProc): Fix mem leak when deleting a - command that had trace on it. [Bug 693564] (sofer) - -2003-02-25 Don Porter - - * doc/pkgMkIndex.n: Modified [pkg_mkIndex] to use -nocase matching - * library/package.tcl: of -load patterns, to better accommodate common - user errors due to confusion between [package names] names and [info - loaded] names. - -2003-02-25 Andreas Kupries - - * tests/pid.test: See below [Bug 678412]. - * tests/io.test: Made more robust against spaces in paths [Bug 678400] - -2003-02-25 Miguel Sofer - - * tests/execute.test: cleaning up testobj's at the end, to avoid - leak warning by valgrind. - -2003-02-22 Zoran Vasiljevic - - * generic/tclEvent.c (Tcl_FinalizeThread): Fix [Bug 571002] - -2003-02-21 Donal K. Fellows - - * tests/binary.test (binary-44.[34]): - * generic/tclBinary.c (ScanNumber): Fixed problem with unwanted - sign-bit propagation when scanning wide ints. [Bug 690774] - -2003-02-21 Daniel Steffen - - * mac/tclMacChan.c (TclpCutFileChannel, TclpSpliceFileChannel): - Implemented missing cut and splice procs for file channels. - -2003-02-21 Don Porter - - * library/package.tcl (tclPkgUnknown): Minor performance tweaks to - reduce the number of [file] invocations. Meant to improve startup - times, at least a little bit. [Patch 687906] - -2003-02-20 Daniel Steffen - - * unix/tcl.m4: - * unix/tclUnixPipe.c: (macosx) use vfork() instead of fork() to create - new processes, as recommended by Apple (vfork can be up to 100 times - faster thank fork on macosx). - * unix/configure: regen. - -2003-02-20 Jeff Hobbs - - * generic/tclEncoding.c (LoadTableEncoding): - * library/encoding/cp932.enc: Correct jis round-trip encoding - * library/encoding/euc-jp.enc: by adding 'R' type to .enc files. - * library/encoding/iso2022-jp.enc: [Patch 689341] (koboyasi, taguchi) - * library/encoding/jis0208.enc: - * library/encoding/shiftjis.enc: - * tests/encoding.test: - - * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): add - MakeTcpClientChannelMode that takes actual mode flags to avoid hang on - OS X (may be OS X bug, but patch works x-plat). [Bug 689835] (steffen) - -2003-02-20 Donal K. Fellows - - * doc/regsub.n: Typo fix [Bug 688943] - -2003-02-19 Jeff Hobbs - - * unix/tclUnixThrd.c (TclpReaddir): - * unix/tclUnixPort.h: update to Bug 689100 patch to ensure that there - is a defined value of MAXNAMLEN (aka NAME_MAX in POSIX) and that we - have some buffer allocated. - -2003-02-19 Daniel Steffen - - * generic/tclStringObj.c: restored Tcl_SetObjLength() side-effect of - always invalidating unicode rep (if the obj has a string rep). Added - hasUnicode flag to String struct, allows decoupling of validity of - unicode rep from buffer size allocated to it (improves memory - allocation efficiency). [Bugs 686782, 671138, 635200] - - * macosx/Tcl.pbproj/project.pbxproj: - * macosx/Makefile: reworked embedded build to no longer require - relinking but to use install_name_tool instead to change the - install_names for embedded frameworks. [Bug 644510] - - * macosx/Tcl.pbproj/project.pbxproj: preserve mod dates when running - 'make install' to build framework (avoids bogus rebuilds of dependent - frameworks because tcl headers appear changed). - - * tests/ioCmd.test (iocmd-1.8): fix failure when system encoding is - utf-8: use iso8859-1 encoding explicitly. - -2003-02-18 Miguel Sofer - - * generic/tclCompile.c (TclCompileExprWords): remove unused variable - "range" [Bug 664743] - * generic/tclExecute.c (ExprSrandFunc): remove unused variable - "result" [Bug 664743] - * generic/tclStringObj.c (UpdateStringOfString): remove unused - variable "length" [Bug 664751] - * tests/execute.test (execute-7.30): fix for [Bug 664775] - -2003-02-18 Andreas Kupries - - * unix/tcl.m4: [Bug #651811] Added definition of _XOPEN_SOURCE and - linkage of 'xnet' library to HP 11 branch. This kills a lot of - socket-related failures in the testsuite when Tcl was compiled in 64 - bit mode (both PA-RISC 2.0W, and IA 64). - - * unix/configure: Regenerated. - -2003-02-18 Jeff Hobbs - - * generic/tclIO.c (HaveVersion): correctly decl static - - * unix/tclUnixThrd.c (TclpReaddir): reduce size of name string in tsd - to NAME_MAX instead of PATH_MAX. [Bug 689100] (waters) - -2003-02-18 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_ENABLE_THREADS): Make sure -lpthread gets passed on - the link line when checking for the pthread_attr_setstacksize symbol. - -2003-02-18 Vince Darley - - * generic/tclTest.c: cleanup of new 'simplefs' test code, and better - documentation. - -2003-02-17 Miguel Sofer - - * generic/tclBasic.c (TclRenameCommand): fixing error in previous - commit. - -2003-02-17 Jeff Hobbs - - * generic/tclExecute.c (TclExecuteByteCode INST_STR_MATCH): - * generic/tclCmdMZ.c (Tcl_StringObjCmd STR_MATCH): - * generic/tclUtf.c (TclUniCharMatch): - * generic/tclInt.decls: add private TclUniCharMatch function that - * generic/tclIntDecls.h: does string match on counted unicode - * generic/tclStubInit.c: strings. Tcl_UniCharCaseMatch has the failing - * tests/string.test: that it can't handle strings or patterns with - * tests/stringComp.test: embedded NULLs. Added tests that actually try - strings/pats with NULLs. TclUniCharMatch should be TIPed and made - public in the next minor version rev. - -2003-02-17 Miguel Sofer - - * generic/tclBasic.c (TclRenameCommand): 'oldFullName' object was not - being freed on all function exits, causing a memory leak. [Bug 684756] - -2003-02-17 Mo DeJong - - * generic/tclIO.c (Tcl_GetsObj): Minor change so that eol is only - assigned at the top of the TCL_TRANSLATE_AUTO case block. The other - cases assign eol so this does not change any functionality. - -2003-02-17 Kevin Kenny - - * tests/notify.test: Removed Windows line terminators. [Bug 687913]. - -2003-02-15 Miguel Sofer - - * generic/tclBasic.c (Tcl_EvalEx): - * generic/tclCompExpr.c (CompileSubExpr): - * generic/tclCompile.c (TclCompileScript): - * generic/tclParse.c (Tcl_ParseCommand, ParseTokens): - * generic/tclParseExpr.c (ParsePrimaryExpr): - * tests/basic.test (47.1): - * tests/main.test (3.4): - * tests/misc.test (1.2): - * tests/parse.test (6.18): - * tests/parseExpr.test (15.35): - * tests/subst.test (8.6): Don Porter's fix for bad parsing of nested - scripts. [Bug 681841] - -2003-02-15 Kevin Kenny - - * tests/notify.test (new-file): - * generic/tclTest.c (TclTest_Init, EventtestObjCmd, EventtestProc, - (EventTestDeleteProc): - * generic/tclNotify.c (Tcl_DeleteEvents): Fixed Tcl_DeleteEvents not - to get a pointer smash when deleting the last event in the queue. - Added test code in 'tcltest' and a new file of test cases - 'notify.test' to exercise this functionality; several of the new test - cases fail for the original code and pass for the corrected code. [Bug - 673714] - - * unix/tclUnixTest.c (TestfilehandlerCmd): Corrected a couple of typos - in error messages. [Bug 596027] - -2003-02-14 Jeff Hobbs - - * README: Bumped to version 8.4.2. - * generic/tcl.h: - * tools/tcl.wse.in: - * unix/configure: - * unix/configure.in: - * unix/tcl.m4: - * unix/tcl.spec: - * win/README.binary: - * win/configure: - * win/configure.in: - * macosx/Tcl.pbproj/project.pbxproj: - - * generic/tclStringObj.c (Tcl_GetCharLength): perf tweak - - * unix/tcl.m4: correct HP-UX ia64 --enable-64bit build flags - -2003-02-14 Kevin Kenny - - * win/tclWinTime.c: Added code to test and compensate for forward - leaps of the performance counter. See the MSDN Knowledge Base article - Q274323 for the hardware problem that makes this necessary on certain - machines. - * tests/winTime.test: Revised winTime-2.1 - it had a tolerance of - thousands of seconds, rather than milliseconds. (What's six orders of - magnitude among friends?) Both the above changes are triggered by a - problem reported at: - http://aspn.activestate.com/ASPN/Mail/Message/ActiveTcl/1536811 - although the developers find it difficult to believe that it accounts - for the observed behavior and suspect a fault in the RTC chip. - -2003-02-13 Kevin Kenny - - * win/tclWinInit.c: Added conversion from the system encoding to - tcl_platform(user), so that it works with non-ASCII7 user names. [Bug - 685926] - - * doc/tclsh.1: Added language to describe the handling of the - end-of-file character \u001a embedded in a script file. [Bug 685485] - -2003-02-11 Vince Darley - - * tests/fileName.test: - * unix/tclUnixFile.c: fix for [Bug 685445] when using 'glob -l' on - broken symbolic links. Added two new tests for this bug. - -2003-02-11 Kevin Kenny - - * tests/http.test: Corrected a problem where http-4.14 would fail when - run in an environment with a proxy server. Replaced references to - scriptics.com by tcl.tk. - -2003-02-11 Jeff Hobbs - - * tests/lsearch.test: - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): protect against the case - that lsearch -regepx list and pattern objects are equal. - - * tests/stringObj.test: - * generic/tclStringObj.c (Tcl_GetCharLength): correct ascii char opt - of 2002-11-11 to not stop early on \x00. [Bug 684699] - - * tests.parse.test: remove excess EOF whitespace - - * generic/tclParse.c (CommandComplete): more paranoid check to break - on (p >= end) instead of just (p == end). - -2003-02-11 Miguel Sofer - - * generic/tclParse.c (CommandComplete): - * tests/parse.test: fix for [Bug 684744], by Don Porter. - -2003-02-11 Jeff Hobbs - - * generic/tclIOUtil.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath): - (UpdateStringOfFsPath): revert the cwdLen == 0 check and instead - follow a different code path in Tcl_FSJoinPath. - (Tcl_FSConvertToPathType, Tcl_FSGetNormalizedPath): - (Tcl_FSGetFileSystemForPath): Update string rep of path objects before - freeing the internal object. (darley) - - * tests/fileSystem.test: added test 8.3 - * generic/tclIOUtil.c (Tcl_FSGetNormalizedPath): - (UpdateStringOfFsPath): handle the cwdLen == 0 case - - * unix/tclUnixFile.c (TclpMatchInDirectory): simplify the hidden file - match check. - -2003-02-10 Mo DeJong - - * win/configure: - * win/configure.in: Generate error when attempting to build under - Cygwin. The Cygwin port of Tcl/Tk does not build and people are filing - bug reports under the mistaken impression that someone is actually - maintaining the Cygwin port. A post to comp.lang.tcl asking someone to - volunteer as an area maintainer has generated no results. Closing bugs - 680840, 630199, and 634772 and marking as "Won't fix". - -2003-02-10 Donal K. Fellows - - * doc/append.n: Return value was not documented. [Bug 683188] - -2003-02-10 Vince Darley - - * doc/FileSystem.3: - * generic/tclIOUtil.c: - * generic/tclInt.h: - * tests/fileSystem.test: - * unix/tclUnixFCmd.c: - * unix/tclUnixFile.c: - * win/tclWinFile.c: further filesystem optimization, applying [Patch - 682500]. In particular, these code examples are faster now: - foreach f $flist { if {[file exists $f]} {file stat $f arr;...}} - foreach f [glob -dir $dir *] { # action and/or recursion on $f } - cd $dir - foreach f [glob *] { # action and/or recursion on $f } - cd .. - - * generic/tclTest.c: Fix for [Bug 683181] where test suite left files - in 'tmp'. - -2003-02-08 Jeff Hobbs - - * library/safe.tcl: code cleanup of eval and string comp use. - -2003-02-07 Vince Darley - - * win/tclWinFCmd.c: cleanup long lines - * win/tclWinFile.c: sped up pure 'glob' by a factor of 2.5 - ('foreach f [glob *] { file exists $f }' is still slow) - * tests/fileSystem.text: - * tests/fileName.test: added new tests to ensure correct behaviour in - optimized filesystem code. - -2003-02-07 Vince Darley - - * generic/tclTest.c: - * tests/fileSystem.text: fixed test 7.2 to avoid a possible crash, and - not change the pwd. - - * tests/http.text: added comment to test 4.15, that it may fail if you - use a proxy server. - -2003-02-06 Mo DeJong - - * generic/tclCompCmds.c (TclCompileIncrCmd): - * tests/incr.test: Don't include the text "(increment expression)" in - the errorInfo generated by the compiled version of the incr command - since it does not match the message generated by the non-compiled - version of incr. It is also not possible to match this error output - under Jacl, which does not support a compiler. - -2003-02-06 Mo DeJong - - * generic/tclExecute.c (TclExecuteByteCode): When an error is - encountered reading the increment value during a compiled call to - incr, add a "(reading increment)" error string to the errorInfo - variable. This makes the errorInfo variable set by the compiled incr - command match the value set by the non-compiled version. - * tests/incr-old.test: Change errorInfo result for the compiled incr - command case to match the modified implementation. - * tests/incr.test: Add tests to make sure the compiled and - non-compiled errorInfo messages are the same. - -2003-02-06 Don Porter - - * library/tcltest/tcltest.tcl: Filename arguments to [outputChannel] - and [errorChannel] (also -outfile and -errfile) were [open]ed but - never [closed]. Also, [cleanupTests] could remove output or error - files. [Bug 676978]. - * library/tcltest/pkgIndex.tcl: Bumped to version 2.2.2. - -2003-02-05 Mo DeJong - - * tests/interp.test: - * tests/set-old.test: Run test cases that depend on hash order through - lsort so that the tests also pass under Jacl. Does not change test - results under Tcl. - -2003-02-04 Vince Darley - - * generic/tclIOUtil.c: - * generic/tclEvent.c: - * generic/tclInt.h: - * mac/tclMacFCmd.c: - * unix/tclUnixFCmd.c: - * win/tclWin32Dll.c: - * win/tclWinFCmd.c: - * win/tclWinInit.c: - * win/tclWinInt.h: - * tests/fileSystem.test: fix to finalization/unloading/encoding issues - to make filesystem much less dependent on encodings for its cleanup, - and therefore allow it to be finalized later in the exit process. This - fixes fileSystem.test-7.1. Also fixed one more bug in setting of - modification dates of files which have undergone cross-platform - copies. [Patch 676271] - - * tests/basic.test: - * tests/exec.test: - * tests/fileName.test: - * tests/io.test: fixed some test failures when tests are run from a - directory containing spaces. - - * tests/fileSystem.test: - * generic/tclTest.c: added regression test for the modification date - setting of cross-platform file copies. - -2003-02-03 Kevin Kenny - - * generic/tclBasic.c: Changed [trace add command] so that 'rename' - callbacks get fully qualified names of the command. [Bug 651271]. - ***POTENTIAL INCOMPATIBILITY*** - * tests/trace.test: Modified the test cases for [trace add command] to - expect fully qualified names on the 'rename' callbacks. Added a case - for renaming a proc within a namespace. - * doc/trace.n: Added language about use of fully qualified names in - trace callbacks. - -2003-02-01 Kevin Kenny - - * generic/tclCompCmds.c: Removed an unused variable that caused - compiler warnings on SGI. [Bug 664379] - - * generic/tclLoad.c: Changed the code so that if Tcl_StaticPackage is - called to report the same package as being loaded in two interps, it - shows up in [info loaded {}] in both of them (previously, it didn't - appear in the static package list in the second). - - * tests/load.test Added regression test for the above bug. [Bug - 670042] - - * generic/tclClock.c: Fixed a bug that incorrectly allowed [clock - clicks {}] and [clock clicks -] to be accepted as if they were [clock - clicks -milliseconds]. - - * tests/clock.test: Added regression tests for the above bug. [Bug - 675356] - - * tests/unixNotfy.test: Added cleanup of working files. [Bug 675609] - - * doc/Tcl.n: Added headings to the eleven paragraphs, to improve - formatting in the tools that attempt to extract tables of contents - from the manual pages. [Bug 627455] - - * generic/tclClock.c: Expanded mutex protection around the setting of - env(TZ) and the thread-unsafe call to tzset(). [Bug 656660] - -2003-01-31 Don Porter - - * tests/tcltest.test: Cleaned up management of file/directory - creation/deletion to improve "-debug 1" output. [Bug 675614] - The utility [slave] command failed to properly [list]-quote a - constructed [open] command, causing failure when the pathname - contained whitespace. [Bug 678415] - - * tests/main.test: Stopped main.test from deleting existing file. Test - suite should not delete files that already exist. [Bug 675660] - -2003-01-28 Don Porter - - * tests/main.test: Constrain tests that do not work on Windows. [Bug - 674387] - -2003-01-28 Vince Darley - - * generic/tclIOUtil.c: fix to setting modification date in - TclCrossFilesystemCopy. Also added 'panic' in - Tcl_FSGetFileSystemForPath under illegal calling circumstances which - lead to hard-to-track-down bugs. - - * generic/tclTest.c: added test suite code to allow exercising a - vfs-crash-on-exit bug in Tcl's finalization caused by the encodings - being cleaned up before unloading occurs. - * tests/fileSystem.test: added new 'knownBug' test 7.1 to demonstrate - the crash on exit. - -2003-01-28 Mo DeJong - - * generic/tcl.h: Add TCL_PREFIX_IDENT and TCL_DEBUG_IDENT, used only - by TclpCreateProcess. - * unix/Makefile.in: Define TCL_DBGX. - * win/Makefile.in: Define TCL_DBGX. - * win/tclWinPipe.c (TclpCreateProcess): Check that the Tcl pipe dll - actually exists in the Tcl bin directory and panic if it is not found. - Incorporate TCL_DBGX into the Tcl pipe dll name. This fixes a really - mysterious error that would show up when exec'ing a 16 bit application - under Win95 or Win98 when Tcl was compiled with symbols. The error - seemed to indicate that the executable could not be found, but it was - actually the Tcl pipe dll that could not be found. - -2003-01-26 Mo DeJong - - * win/README: Update msys+mingw URL to release 6. This version bundles - gcc 3. - -2003-01-26 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Add test that checks to see if the compiler can - cast to a union type. - * win/tclWinTime.c: Squelch compiler warning about union initializer - by casting to union type when compiling with gcc. - -2003-01-25 Mo DeJong - - * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke - TclpCutFileChannel and TclpSpliceFileChannel. - * generic/tclInt.h: Declare TclpCutFileChannel and - TclpSpliceFileChannel. - * unix/tclUnixChan.c (FileCloseProc, TclpOpenFileChannel, - (Tcl_MakeFileChannel, TclpCutFileChannel, TclpSpliceFileChannel): - Implement thread load data cut and splice for file channels. This - avoids an invalid memory ref when compiled with -DDEPRECATED. - * win/tclWinChan.c (FileCloseProc, TclpCutFileChannel, - (TclpSpliceFileChannel): Implement thread load data cut and splice for - file channels. This avoids an invalid memory ref that was showing up - in the thread extension. - -2003-01-25 Mo DeJong - - * win/tclWin32Dll.c (TclpCheckStackSpace, squelch_warnings): - * win/tclWinChan.c (Tcl_MakeFileChannel, squelch_warnings): - * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, squelch_warnings): - Re-implement inline ASM SEH handlers for gcc. The esp and ebp - registers are now saved on the stack instead of in global variables so - that the code is thread safe. Add additional checks when TCL_MEM_DEBUG - is defined to be sure the values were recovered from the stack - properly. Remove squelch_warnings functions and add a dummy call in - the handler methods to squelch compiler warnings. - -2003-01-25 Mo DeJong - - * win/configure: - * win/configure.in: Define HAVE_ALLOCA_GCC_INLINE when we detect that - no alloca function is found in malloc.h and we are compiling with GCC. - Remove HAVE_NO_ALLOC_DECL define. - * win/tclWin32Dll.c (TclpCheckStackSpace): Don't define alloca as a - cdecl function. Doing this caused a tricky runtime bug because the - _alloca function expects the size argument to be passed in a register - and not on the stack. To fix this problem, we use inline ASM when - compiling with gcc to invoke _alloca with the size argument loaded - into a register. - -2003-01-24 Jeff Hobbs - - * win/tclWinDde.c (Dde_Init): clarified use of tsdPtr. - (DdeServerProc): better refcount handling of returnPackagePtr. - - * generic/tclEvent.c (Tcl_Finalize): revert finalize change on - 2002-12-04 to correct the issue with extensions that have TSD needing - to finalize that before they are unloaded. This issue needs further - clarification. - - * tests/unixFCmd.test: only do groups check on unix - -2003-01-24 Vince Darley - - * generic/tclStringObj.c: proper fixes for Tcl_SetObjLength and - Tcl_AttemptSetObjectLength dealing with string objects with both - pure-unicode and normal internal representations. Previous fix didn't - handle all cases correctly. - * generic/tclIO.c: Add 'Tcl_GetString()' to ensure the object has a - valid 'objPtr->bytes' field before manipulating it directly. - - This fixes [Bug 635200] and [Bug 671138], but may reduce performance - of Unicode string handling in some cases. A further patch will be - applied to address this, once the code is known to be correct. - -2003-01-24 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Add test to see if alloca is undefined in - malloc.h. - * win/tclWin32Dll.c (TclpCheckStackSpace): Rework the SEH exception - handler logic to avoid using the stack since alloca will modify the - stack. This was causing a nasty bug that would set the exception - handler to 0 because it tried to pop the previous exception handler - off the top of the stack. - -2003-01-23 Donal K. Fellows - - * doc/lset.n: Fixed fault in return values from lset in documentation - examples [SF Bug #658463] and tidied up a bit at the same time. - -2003-01-21 Joe English - - * doc/namespace.n (namespace inscope): Clarified documentation - [Patch 670110] - -2003-01-21 Mo DeJong - - * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Set SHLIB_SUFFIX so that - TCL_SHLIB_SUFFIX will be set to a useful value in the generated - tclConfig.sh. Set SHLIB_LD_LIBS to "" or '${LIBS}' based on the - --enable-shared flag. This matches the UNIX implementation. - -2003-01-18 Jeff Hobbs - - * generic/tclCkalloc.c: change %ud to %u as appropriate. - -2003-01-17 Mo DeJong - - * win/tclWinDde.c (DdeServerProc): Deallocate the Tcl_Obj returned by - ExecuteRemoteObject if it was not saved in a connection object. - -2003-01-17 Mo DeJong - - * generic/tcl.h: Revert earlier change that defined TCL_WIDE_INT_TYPE - as long long and TCL_LL_MODIFIER as L when compiling with mingw. This - change ended up causing some test case failures when compiling with - mingw. - * generic/tclObj.c (UpdateStringOfWideInt): Describe the warning - generated by mingw and why it needs to be ignored so that someone is - not tempted to "fix" this problem again in the future. - -2003-01-16 Vince Darley - - * generic/tclStringObj.c: Tcl_SetObjLength fix for when the object has - a unicode string rep. [Bug 635200] - * tests/stringObj.test: removed 'knownBug' constraint from test 14.1 - now that this bug is fixed. - - * generic/tclInt.h: - * generic/tclBasic.c: - * generic/tclCmdMZ.z: - * tests/trace.test: execution and command tracing bug fixes and - cleanup. In particular fixed [Bug 655645], [Bug 615043], [Bug 571385] - - fixed some subtle cleanup problems with tracing. This required - replacing Tcl_Preserve/Tcl_Release with a more robust refCount - approach. Solves at least one known crash caused by memory - corruption. - - fixed some confusion in the code between new style traces (Tcl - 8.4) and the very limited 'Tcl_CreateTrace' which existed before. - - made behaviour consistent with documentation (several tests even - contradicted the documentation before). - - fixed some minor error message details - - added a number of new tests - -2003-01-16 Jeff Hobbs - - * win/tclWinSerial.c (SerialOutputProc): add casts for bytesWritten to - allow strict compilation (no warnings). - - * tests/winDde.test: - * win/tclWinDde.c (Tcl_DdeObjCmd): Prevent crash when empty service - name is passed to 'dde eval' and goto errorNoResult in request and - poke error cases to free up any allocated data. - -2003-01-16 Mo DeJong - - * win/tclWin32Dll.c (squelch_warnings): Squelch compiler warnings from - SEH ASM code. - * win/tclWinChan.c (squelch_warnings): Squelch compiler warnings from - SEH ASM code. - * win/tclWinDde.c: Add casts to avoid compiler warnings. Pass pointer - to DWORD instead of int to avoid compiler warnings. - * win/tclWinFCmd.c (squelch_warnings): Add casts and fixup decls to - avoid compiler warnings. Squelch compiler warnings from SEH ASM code. - * win/tclWinFile.c: Add casts and fixup decls to avoid compiler - warnings. Remove unused variable. - * win/tclWinNotify.c: Declare as DWORD instead of int to avoid - compiler warning. - * win/tclWinReg.c: Add casts to avoid compiler warning. Fix assignment - in if expression bug. - * win/tclWinSerial.c: Add casts to avoid compiler warnings. Remove - unused variable. - * win/tclWinSock.c: Add casts and fixup decls to avoid compiler - warnings. - -2003-01-14 Jeff Hobbs - - * generic/tclClock.c (FormatClock): corrected typo that incorrectly - conditionally defined savedTZEnv and savedTimeZone. - -2003-01-13 Mo DeJong - - Fix mingw build problems and compiler warnings. - - * generic/tcl.h: Add if defined(__MINGW32__) check to code that sets - the TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER. - * generic/tclClock.c (FormatClock): Don't define savedTimeZone and - savedTZEnv if we are not going to use them. - * generic/tclEnv.c: Add cast to avoid warning. - * win/tclWinChan.c: Use DWORD instead of int to avoid compiler warning - * win/tclWinThrd.c: Only define allocLock, allocLockPtr, and dataKey - when TCL_THREADS is defined. This avoid a compiler warning about - unused variables. - -2003-01-12 Mo DeJong - - * win/README: Update msys + mingw URL, the new release includes the - released 1.0.8 version of msys which includes a number of bug fixes. - -2003-01-12 Mo DeJong - - * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Pull in addition of shell32.lib to - LIBS_GUI that was added to the Tk tcl.m4 but never made it back into - the Tcl version. - -2003-01-12 Mo DeJong - - * generic/tcl.h: Skip Tcl's define of CHAR, SHORT, and LONG when - HAVE_WINNT_IGNORE_VOID is defined. This avoids a bunch of compiler - warnings when building with Cygwin or Mingw. - * win/configure: Regen. - * win/configure.in: Define HAVE_WINNT_IGNORE_VOID when we detect a - winnt.h that still defines CHAR, SHORT, and LONG when VOID has already - been defined. - * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst the TCL_DEFS loaded from - tclConfig.sh so that Tcl defines can make it into the Tk Makefile. - -2003-01-12 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Check for typedefs like LPFN_ACCEPT in winsock2.h - and define HAVE_NO_LPFN_DECLS if not found. - * win/tclWinSock.c: Define LPFN_* typedefs if HAVE_NO_LPFN_DECLS is - defined. This fixes the build under Mingw and Cygwin, it was broken by - the changes made on 2002-11-26. - -2003-01-10 Vince Darley - - * generic/tclIOUtil.c: - * win/tclWinInt.h: - * win/tclWinInit.c: fix to new WinTcl crash on exit with vfs, - introduced on 2002-12-06. Encodings must be cleaned up after the - filesystem. - - * win/makefile.vc: fix to minor VC++ 5.2 syntax problem - -2003-01-09 Don Porter - - * generic/tclCompCmds.c (TclCompileReturnCmd): Corrected off-by-one - problem with recent commit. [Bug 633204] - -2003-01-09 Vince Darley - - * generic/tclFileName.c: remove unused variable 'macSpecialCase' - [Bug 664749] - - * generic/tclIOUtil.c: - * generic/tclInt.h: - * unix/tclUnixFile.c: - * mac/tclMacFile.c: - * win/tclWinFile.c: - * win/tclWinInt.h: - * win/tclWin32Dll.c: - * tests/cmdAH.test: fix to non-ascii chars in paths when setting mtime - and atime through 'file (a|m)time $path $time'. [Bug 634151] - -2003-01-08 Don Porter - - * generic/tclExecute.c (TclExprFloatError): Use the IS_NAN macro for - greater clarity of code. - -2003-01-07 Don Porter - - * generic/tclCompCmds.c (TclCompileReturnCmd): - * tests/compile.test: Corrects failure of bytecompiled [catch - {return}] to have result TCL_RETURN (not TCL_OK) [Bug 633204]. This - patch is a workaround for 8.4.X. A new opcode INST_RETURN is a better - long term solution for 8.5 and later. - -2003-01-04 David Gravereaux - - * win/makefile.vc: - * win/rules.vc: Fixed INSTALLDIR macro problem that blanked itself by - accident causing the install target to put the tree at the root of the - drive built on. Whoops.. - - Renamed the 'linkexten' option to be 'staticpkg'. Added 'thrdalloc' to - allow the switching _on_ of the thread allocator. Under testing, I - found it not to be benificial under windows for the purpose of the - application I was using it for. It was more important for this app - that resources for tcl threads be returned to the system rather than - saved/moved to the global recycler. Be extra clean or extra fast for - the default threaded build? Let's move to clean and allow it to be - switched on for users who find it benificial for their use of threads. - - ****************************************************************** - *** 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" *** - ****************************************************************** DELETED ChangeLog.2004 Index: ChangeLog.2004 ================================================================== --- ChangeLog.2004 +++ /dev/null @@ -1,4619 +0,0 @@ -2004-12-29 Jeff Hobbs - - * win/tcl.m4, win/configure: update MSVC CFLAGS_OPT to -O2, remove -Gs - (included in -O2) and -GD (outdated). Use "link -lib" instead of "lib" - binary and remove -YX for MSVC7 portability. Add -fomit-frame-pointer - for gcc OPT compiles. [Bug 1092952, 1091967] Align LIBS_GUI with Tk - head needs. - -2004-12-29 Kevin B. Kenny - - * generic/tclDate.c: Regen - * generic/tclGetDate.y (TclDatelex): Fixed a problem where a - four-digit group with >=2 leading zeroes appeared to be a two-digit - group, leading to misinterpreting the time 0012 as 1200. [Bug 1090413] - * library/clock.tcl: Added code to interpret correctly months outside - the range 01-12 as reduced modulo 12 with a corresponding adjustment - to the year. [Bug 1092789] - * tests/clock.test: Added regression test cases for the above two bugs - * unix/Makefile.in: Added --no-lines to the 'bison' command line to - * win/Makefile.in: help constrain the number of diffs in a cvs checkin - -2004-12-24 Miguel Sofer - - * generic/tclCompile.c: - * generic/tclCompile.h: - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclLiteral.c: - * generic/tclProc.c: - Avoid sharing cmdName literals accross namespaces, and generalise - usage of the TclRegisterNewLiteral macro. [Patch 1090905] - -2004-12-20 Miguel Sofer - - * generic/tclCompile.c: moved TclInitCompiledLocals to tclProc.c - * generic/tclProc.c: new static InitCompiledLocals to allow for a - single pass over the proc's arguments at proc load time (instead of - two as previously). TclObjInterpProc() now allocates the - compiledLocals on the tcl execution stack, using the new - TclStackAlloc/Free functions. - -2004-12-16 Donal K. Fellows - - * generic/tclInterp.c (Tcl_LimitSetTime, TimeLimitCallback): - (TclLimitRemoveAllHandlers, TclInitLimitSupport): Set a timer event to - trigger when the time limit runs out. All the time limit actually does - is check to see if the time limit has been exceeded, but this is - enough to fix [Bug 1085023]. - * generic/tclInt.h (struct Interp): Added a field to hold the token - for the timer event handler associated with the current time limit. - * generic/tclEvent.c (Tcl_UpdateObjCmd, Tcl_VwaitObjCmd): Add error - message when limit exceeded. - * tests/interp.test (interp-34.[89]): Check that time limits handle - the two cases reported in [Bug 1085023] - - * generic/tclTimer.c (TclCreateAbsoluteTimerHandler): New internal - function that allows setting a timer handler that will be triggered at - (or after) a specific time instead of at some number of milliseconds - in the future. This is a candidate for future exposure via a TIP. - -2004-12-15 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclExecute.c: - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * generic/tclNamesp.c: - * generic/tclProc.c: - * generic/tclStubInit.c: - * generic/tclTest.c: Added two new functions to allocate memory from - the execution stack (TclStackAlloc, TclStackFree). Added functions - TclPushStackFrame and TclPopStackFrame that do the work of - Tcl_PushCallFrame and Tcl_PopCallFrame, but using frames allocated in - the execution stack - i.e., heap instead of C-stack. The core uses - these two new functions exclusively; the old ones remain for backwards - compat, as at least two popular extensions (itcl, xotcl) are known to - use them. - -2004-12-14 Miguel Sofer - - * generic/tclCmdIL.c: - * generic/tclInt.h: - * generic/tclProc.c: - * generic/tclVar.c: changing the isProcCallFrame field of the - CallFrame struct from a 0/1 field to flags. Should be perfectly - backwards compatible. - -2004-12-14 Don Porter - - * unix/configure.in: Added special processing to remove "$U" from - libraries in the LIBOBJS value. This is an auto-make-ism we need to - avoid. [Bug 1081541] - - * unix/configure: autoconf-2.57 - -2004-12-13 Don Porter - - * generic/tcl.h: Restored extern "C" guards so that C++ code sees - function pointer typedef linkage consistent with earlier Tcl releases. - [Bug 1082349] - - * generic/tclEncoding.c: Plugged some memory leaks. Thanks to Rolf Ade - * generic/tclUtil.c: for reports and testing [Bug 1083082] - -2004-12-13 Kevin B. Kenny - - * doc/clock.n: Clarify that the [clock scan] command does not accept - the full range of ISO8601 point-in-time formats. [Bug 1075433] - -2004-12-12 Miguel Sofer - - * generic/tclVar.c (TclArrayObjCmd - ARRAY_NAMES): leaking an object - [Bug 1084111] - thanks to Rolf Ade. - -2004-12-12 Miguel Sofer - - * generic/tclObj.c (TclSetCmdNameObj): special handling for fully - qualified command names (as in fix [Patch 456668]). - -2004-12-11 Miguel Sofer - - * generic/tclInt.h: - * generic/tclNamesp.c: converting the static function - GetNamespaceFromObj() to MODULE_SCOPE TclGetNamespaceFromObj(). - -2004-12-10 Donal K. Fellows - - * tools/tcl.wse.in, unix/tcl.spec, win/README.binary, README: - * win/configure.in, unix/configure.in, generic/tcl.h: - Bumped version number to 8.5a3 to distinguish HEAD of CVS development - from the recent 8.5a2 release. - -2004-12-10 Miguel Sofer - - * generic/tclCompile.c (TclInitCompiledLocals): - * generic/tclCompile.h: - * generic/tclInt.h: - * generic/tclProc.c (TclObjInterpProc, TclCreateProc): optimised - loops that initialise a proc's arguments and compiled local - variables, removing tests from inner loops. - -2004-12-10 Donal K. Fellows - - * generic/tclInt.h: Move ensemble API decls here from tclNamesp.c - -2004-12-09 Donal K. Fellows - - * generic/tclNamesp.c (TclMakeEnsembleCmd, TclSetEnsemble*) - (TclSetEnsemble*, TclFindEnsemble): Build an internal API for creating - and manipulating ensembles; they can be deleted using the normal - command-deletion API. - - * doc/Async.3: Reword for better grammar, better nroff and get the - flag name right. (Reported by David Welton.) - -2004-12-07 Don Porter - - * tests/unixInit.test (2.1-4): Added constraints so that when a value - of TCL_LIBRARY is required for process initialization, we skip the - tests that mess with that value. - -2004-12-07 Donal K. Fellows - - *** 8.5a2 TAGGED FOR RELEASE *** - - * unix/Makefile.in: add library/{tzdata,msgs} to dist target (kbk) - - * doc/foreach.n: Adjust tabs to be friendlier to some HTML - converters. [Bug 1078760] - -2004-12-06 Jeff Hobbs - - * unix/tclUnixNotfy.c (NotifierThreadProc): init numFdBits - [Bug 1079286] - - * doc/error.n, doc/SaveResult.3, doc/Thread.3: minor nroff typos - -2004-12-06 Don Porter - - * tests/safe.test: Trim auto_path to improve performance [1080039] - - * tests/msgcat.test: makeFile/removeFile cleanup [1079117] - -2004-12-04 Don Porter - - * generic/tclEncoding.c: Different fix for [Bug 1077005]. - * generic/tclEvent.c: Broke apart TclpSetInitialEncodings() on - * generic/tclInt.h: Windows into TclpSetInterfaces(), that is - * unix/tclUnixInit.c: fundamentally essential, and the initialization - * win/tclWinInit.c: of the system encoding, which is not. Made - the TclpSetInterfaces call part of TclInitSubsystems so it cannot be - overlooked. - -2004-12-03 Jeff Hobbs - - * changes: updated for 8.5a2 release - -2004-12-02 Don Porter - - * generic/tclUtil.c (TclSetProcessGlobalValue): Handle the case where - a ProcessGlobalValue might be assigned to itself. - - * generic/tclEncoding.c (MakeFileMap): Correct refcounting errors - managing values returned by TclPathPart (with refCount of 1!) that led - to a memory leak. [Bug 1077474]. - -2004-12-02 Vince Darley - - * generic/tclPathObj.c: fix and new tests for [Bug 1074671] to ensure - * tests/fileSystem.test: tilde paths are not returned specially by - 'glob'. - -2004-12-02 Kevin B. Kenny - - * win/Makefile.in: Added a 'sed' in the setting of ROOT_DIR_NATIVE to - compensate for a bug in cygpath (at least version 1.36) that leaves a - trailing backslash on the end of the converted path. - -2004-12-02 Donal K. Fellows - - * generic/tclInterp.c (Alias,Target,Master): Rewrote these so that the - aliases that refer to an interpreter are stored in a list and not a - hashtable (which was only ever a convenience, and forced the use of a - global mutex to generate keys!) [FRQ 1077210] - * generic/tclNamesp.c (numNsCreated): Moved into thread-local storage - to remove a global mutex. [FRQ 1077210] - -2004-12-01 Don Porter - - * generic/tclUtil.c (TclGetProcessGlobalValue): Narrowed the scope of - mutex locks. - - * generic/tclUtil.c: Updated Tcl_GetNameOfExecutable() to - * generic/tclEncoding.c: make use of a ProcessGlobalValue for - * generic/tclEvent.c: storing the executable name. Added - internal routines Tcl(Get|Set)ObjNameOfExecutable() to access that - storage in Tcl_Obj, rather than string format. - - * unix/tclUnixFile.c: Rewrote TclpFindExecutable() to use - * win/tclWinFile.c: TclSetObjNameOfExecutable to store the - executable name it computes. - - * generic/tclInt.h: Added internal stub entries for - * generic/tclInt.decls: TclpFindExecutable and - Tcl(Get|Set)ObjNameOfExecutable. - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclCmdIL.c: Retrieve executable name in Tcl_Obj form - * win/tclWinPipe.c: instead of string form. - - * unix/tclUnixTest.c: Update [testfindexecutable] command to use new - internal interfaces. - - * generic/tclEncoding.c: Moved TclpSetInitialEncodings() call - from Tcl_FindExecutable() into TclInitEncodingSubsystem(). This is - important on Windows where it establishes whether the "ascii" or - "unicode" set of system routines will be used, and that needs to be - done earlier to support filesystem operations. [Bug 1077005] - -2004-12-01 Donal K. Fellows - - * tests/winDde.test: Rewritten to use tcltest2 features more - thoroughly (reducing the [catch] count!) and fix the problem with - winDde-6.1 being out of synch with the implementation. - -2004-11-30 Don Porter - - * library/init.tcl ([unknown]): Restored the save/restore of the - variables ::errorCode and ::errorInfo. This is needed when the - [::bgerror] command is auto-loaded (as it is by Tk). - - Patch 976520 reworks several of the details involved with - startup/initialization of the Tcl library, focused on the activities - of Tcl_FindExecutable(). - - * generic/tclIO.c: Removed bogus claim in comment that encoding - "iso8859-1" is "built-in" to Tcl. - - * generic/tclInt.h: Created a new struct ProcessGlobalValue, - * generic/tclUtil.c: routines Tcl(Get|Set)ProcessGlobalValue, and - function type TclInitProcessGlobalValueProc. Together, these take care - of the housekeeping for "values" (things that can be held in a - Tcl_Obj) that are global across a whole process. That is, they are - shared among multiple threads, and epoch and mutex protection must - govern the validity of cached copies maintained in each thread. - - * generic/tclNotify.c: Modified TclInitNotifier() to tolerate being - called multiple times in the same thread. - * generic/tclEvent.c: Dropped the unused argv0 argument to - TclInitSubsystems(). Removed machinery to unsure only one - TclInitNotifier() call per thread, now that that is safe. Converted - Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue, and moved them to - tclEncoding.c. - * generic/tclBasic.c: Updated caller. - - * generic/tclInt.h: TclpFindExecutable now returns void. - * unix/tclUnixFile.c: - * win/tclWinFile.c: - * win/tclWinPipe.c: - - * generic/tclEncoding.c: Built new encoding search initialization on a - foundation of ProcessGlobalValues, exposing new routines - Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name to - directory pathname keeps track of where encodings are available for - loading. Tcl_FindExecutable greatly simplified into just three - function calls. The "library path" is now misnamed, as its only - remaining purpose is as a foundation for the default encoding search - path. - - * generic/tclInterp.c: Inlined the initScript that is evaluated by - Tcl_Init(). Added verification after initScript evaluation that Tcl - can find its installed *.enc files, and that it has initialized - [encoding system] in agreement with what the environment expects. - [tclInit] no longer driven by the value of $::tcl_libPath; it largely - constructs its own search path now, rather than attempt to share one - with the encoding system. - - * unix/tclUnixInit.c: TclpSetInitialEncodings factored so that a new - * win/tclWinInit.c: routine TclpGetEncodingNameFromEnvironment can - reveal that Tcl thinks the [encoding system] should be, even when an - incomplete encoding search path, or a missing *.enc file won't allow - that initialization to succeed. TclpInitLibraryPath reworked as an - initializer of a ProcessGlobalValue. - - * unix/tclUnixTest.c: Update implementations of [testfindexecutable], - [testgetdefenc], and [testsetdefenc]. - - * tests/unixInit.test: Corrected tests to operate properly even when - a value of TCL_LIBRARY is required to find encodings. - - * generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath, - TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These - are candidates for public exposure by future TIPs. - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclTest.c: Updated [testencoding] to use - * tests/encoding.test: Tcl(Get|Set)EncodingSearchPath. Updated tests. - -2004-11-30 Kevin B. Kenny - - * library/clock.tcl: Corrected the regular expressions that match a - time zone to allow for time zones specified as +HH or -HH. - * tests/clock.test: Added regression test case for the above issue. - Thanks to Rolf Ade for reporting this issue [https://wiki.tcl-lang.org/page/Parsing+ISO8601+dates+and+times] - * win/tclWinDde.c (Tcl_DdeObjCmd): Corrected a typo that caused a - compilation failure on VC++. - -2004-11-29 Andreas Kupries - - * win/Makefile.in (install-libraries): Brought entry '2004-10-26 Don - Porter (Tcl Modules)' into the windows world, actually the - win/configure buildsystem. The other windows buildsystems (.vc, .bc) - still have to be updated as well. - -2004-11-26 Andreas Kupries - - * win/tclWinDde.c (ExecuteRemoteObject): Removed bogus semicolon found - at the end of the header for the function definition, terminating it - early and preventing a compile. This is likely a fix for '2004-11-25 - Donal'. I have to conclude that it is also unknown if the other - changes to this file actually pass the testsuite. Running testsuite - ... They don't. winDde-6.1 fails. This is only a message discrepance, - i.e. not too bad. Leaving resolution of that to Pat and Donal. - -2004-11-26 Don Porter - - * library/auto.tcl (tcl_findLibrary): Made sure the uniquifying - operations on the search path does not also normalize. [Bug 1072136] - -2004-11-26 Donal K. Fellows - - * unix/configure.in: Simplify the code to check for correctness of - strstr, strtoul and strtod. - * unix/tcl.m4 (SC_TCL_CHECK_BROKEN_FUNC): Split a complex stanza out - of configure.in into its own function. Also force it to do the right - thing with caching of results of AC_TRY_RUN to deal with issue raised - in [Patch 1073524] - - * doc/foreach.n: Added simple example. [FRQ 1073334] - -2004-11-25 Donal K. Fellows - - * generic/tclProc.c (TclObjInterpProc): Make it so that only - * generic/tclIndexObj.c (Tcl_WrongNumArgs): [proc] instances do - * tests/indexObj.test (indexObj-5.7): quoting of their first - arguments, so keeping [Bug 942757] fixed and making [Bug 1066837] be - fixed as well. Done with a load of #ifdef-ery because this hack is so - ugly nobody should keep it around once Itcl's fixed. - -2004-11-25 Reinhard Max - - * tests/tcltest.test: The order in which [glob] returns the file names - is undefined, so tests should not depend on it. - -2004-11-25 Zoran Vasiljevic - - * doc/Thread.3: - * doc/Notifier.3: Added changes from the core-8-4-branch - -2004-11-25 Donal K. Fellows - - * doc/dde.n: Synchronized the documentation of the commands with the - header of the docs and what the package actually does. Thanks to - Andreas Kupries for spotting this. - * win/tclWinDde.c (Tcl_DdeObjCmd): Much cleanup of argument parsing - code. - -2004-11-24 David Gravereaux - - * generic/tclPort.h: Relative include of tclWinPort.h returned as it - was requiring me set -I$(tcl_root)/win for my extensions that need to - include tclInt.h and doesn't appear to serve any purpose for windows - builds. - -2004-11-24 Kevin B. Kenny - - * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected bad check for 3-argument - readdir_r [Bug 1001325]. - * unix/configure: Regenerated. - * unix/tclUnixNotfy.c: Corrected all uses of 'select' to manage their - masks using the FD_CLR, FD_ISSET, FD_SET, and FD_ZERO macros rather - than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807] - * win/tclWinInit.c (TclpInitLibraryPath): Removed unused vars 'pathc' - and 'pathv' that caused compilation problems on VC++ with - --enable-symbols. - -2004-11-24 Don Porter - - * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected failure to determine the - number of arguments for readdir_r on SunOS systems. [Bug 1071701] - - * unix/configure: autoconf-2.57 - - * generic/tclCmdIL.c (InfoVarsCmd): Corrected segfault in new - * tests/info.test (info-19.6): trivial matching branch [Bug 1072654] - -2004-11-24 Donal K. Fellows - - * tools/man2html.tcl, tools/man2html1.tcl: Update to use Tcl 8.4. - * tools/man2html2.tcl: Fix broken .SS handling. - -2004-11-23 Donal K. Fellows - - * unix/Makefile.in: Add (commented-out) code to integrate tclConfig.h - into the dependency tree and 'make distclean'. [Bug 1068171] - - * generic/tclResult.c (Tcl_AppendResultVA): Remove call to - Tcl_GetStringResult to speed up repeated calls to Tcl_AppendResult - with the side effect that code that wants to access interp->result - should always call Tcl_GetStringResult first. See [Patch 1041072] - discussion for more details. - -2004-11-22 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Define HAVE_TYPE_OFF64_T only when - off64_t, open64(), and lseek64() are defined. IRIX 5.3 is known to not - include an open64 function. [Bug 1030465] - -2004-11-22 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_ENABLE_THREADS): Check for a 2 argument version of - readdir_r that is known to exists under IRIX 5.3. - * unix/tclUnixThrd.c (TclpReaddir): Use either 2 arg or 3 arg version - of readdir_r. [Bug 1001325] - -2004-11-22 Don Porter - - * unix/tclUnixInit.c (TclpInitLibraryPath): Purged dead code that used - * win/tclWinInit.c (TclpInitLibraryPath): to extend the "library - path". Search path construction for init.tcl is now done within the - [tclInit] proc. - * generic/tclInterp.c: Restored several directories to the search - * tests/unixInit.test: path used to locate init.tcl within [tclInit]. - This change does not restore any directories to the encoding search - path, so should still avoid the price of an unreasonably large number - of filesystem accesses during encoding initialization at startup - [Bug 976438] - -2004-11-22 Vince Darley - - * generic/tclPathObj.c: fix and new test for [Bug 1043129] in the - * tests/fileSystem.test: treatment of backslashes in file join on - Windows. - -2004-11-21 Don Porter - - * doc/AddErrInfo.3: Typo corrections (Thanks Daniel South). - * doc/interp.n: - -2004-11-19 Don Porter - - * doc/AddErrInfo.3: Docs for Tcl_(Get|Set)ReturnOptions. [TIP 227] - - * doc/AddErrInfo.3: - * doc/Async.3: Documentation updates to replace references - * doc/BackgdErr.3: to global variable ::errorInfo and ::errorCode - * doc/SaveResult.3: and to the ::bgerror command with references - * doc/after.n: to their preferred replacements, the - * doc/bgerror.n: -errorinfo and -errorcode return options, - * doc/error.n: the Tcl_*InterpState routines, and the - * doc/exec.n: [interp bgerror] command. - * doc/exit.n: - * doc/fileevent.n: - * doc/interp.n: - * doc/return.n: - * doc/tclvars.n: - * doc/update.n: - - * tests/unixInit.test: Removed "knownBug" constraints to prompt bug - fixing before 8.5a2 release. - -2004-11-19 Daniel Steffen - - * macosx/Makefile: - * unix/configure.in: - * unix/tclUnixInit.c (MacOSXGetLibraryPath): changed detection of tcl - framework build when determining tclLibPath from overloaded - TCL_LIBRARY to configuration define TCL_FRAMEWORK. [Bug 1068088] - - * unix/configure: autoconf-2.57 - * unix/tclConfig.h.in: autoheader-2.57 - -2004-11-18 Don Porter - - * doc/SaveResult.3: Documentation for Tcl_*InterpState (TIP 226). - - * generic/tclEvent.c (HandleBgErrors): Simplified program flow. - - * tests/basic.test: Updated functional (not testing) uses of - * tests/io.test: [bgerror] to make use of [interp bgerror]. - * tests/socket.test: - * tests/timer.test: - - * tests/interp.test (interp-36.*): [interp bgerror] tests. - - * generic/tclInterp.c: Corrected [interp bgerror] error messages. - -2004-11-18 Reinhard Max - - * unix/tcl.m4 (SC_CONFIG_MANPAGES): Applied an improved version of - * unix/configure.in: [Patch 996085], that introduces - * unix/Makefile.in: --enable-man-suffix. - - * unix/installManPage: added - * unix/mkLinks.tcl: removed - * unix/mkLinks: removed - * unix/configure: generated - - * unix/Makefile.in: Don't install tclConfig.h . - -2004-11-17 Don Porter - - * unix/configure.in: The change below reveals that the public data - type Tcl_StatBuf relies on config information. For now, disabled the - use of the tclConfig.h file until its full impact on Tcl's interface - can be assessed. - - * unix/configure: autoconf-2.57 - - * generic/tcl.h: Moved the #include "tclConfig.h" out of - * generic/tclInt.h: tcl.h. The config settings are not part of - * generic/tclPort.: the public interface, and having it there - breaks compiled against uninstalled Tcl and extensions using - autoconf-2.5*. - -2004-11-16 Jeff Hobbs - - * unix/tclUnixChan.c (TtySetOptionProc): fixed crash configuring - -ttycontrol on a channel. [Bug 1067708] - -2004-11-16 Don Porter - - * generic/tclIOUtil.c (TclFSEpochOk): There were two code paths via - which the thread copy of filesystemEpoch could be synched with the - master copy, but only one kept the filesystem list cache up to date. - Fix routes everything through a single code path. [Bug 1035775]. - -2004-11-16 Donal K. Fellows - - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Stop architecture flags to 'ld' from - getting lost when [load] is disabled. [Bug 1016796] - -2004-11-16 Daniel Steffen - - * generic/tcl.h: - * unix/configure.in: changed HAVE_CONFIG_H to HAVE_TCL_CONFIG_H. - - * unix/configure: autoconf-2.57 - -2004-11-15 Don Porter - - * generic/tclInt.h: Added comment warning that the old ERR_IN_PROGRESS - and ERROR_CODE_SET flag values should not be re-used for the sake of - those extensions that have accessed them. - - * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Fixed Bug 1065378 which failed - * tests/trace.test (trace-33.1): to permit a variable trace - created with [trace variable] to be destroyed with [trace remove]. - Thanks to Keith Vetter for the report. - -2004-11-15 Donal K. Fellows - - * doc/tclvars.n: Added section to documentation on global variables - that are specific to tclsh and wish. [Patch 1065732] - -2004-11-12 Jeff Hobbs - - * generic/tclEncoding.c (TableFromUtfProc): correct crash condition - when TCL_UTF_MAX == 6. [Bug 1004065] - -2004-11-12 Donal K. Fellows - - * doc/interp.n: Basic documentation of the TIP#221 API. - -2004-11-12 Don Porter - - TIP #221 IMPLEMENTATION - * generic/tclBasic.c: Define [::tcl::Bgerror] in new interps. - * generic/tclEvent.c: Update Tcl_BackgroundError to make use of the - registered [interp bgerror] command. - * generic/tclInterp.c: New [interp bgerror] subcommand. - * tests/interp.test: syntax tests updated. - - TIP #226 IMPLEMENTATION - * generic/tcl.decls: Stubs for Tcl_(Save|Restore|Discard)InterpState - * generic/tcl.h: New public opaque type, Tcl_InterpState. - * generic/tclInt.h: Drop old private declarations. Add - Tcl(Get|Set)BgErrorHandler - * generic/tclResult.c: Tcl_*InterpState implementations. - * generic/tclDictObj.c: Update callers. - * generic/tclIOGT.c: - * generic/tclTrace.c: - - TIP #227 IMPLEMENTATION - * generic/tcl.decls: Stubs for Tcl_(Get|Set)ReturnOptions. - * generic/tclInt.h: Drop old private declarations. - * generic/tclResult.c: Tcl_*ReturnOptions implementations. - * generic/tclCmdAH.c: Update callers. - * generic/tclMain.c: - - * generic/tclDecls.h: make genstubs - * generic/tclStubInit.c: - - * unix/tclAppInit.c: Removed tclConfig.h #include, now that tcl.h - takes care of it for us. - - * generic/tclInt.h: Moved verification of ptrdiff_t typedef from - * generic/tclExecute.c: multiple .c files into one common header where - * generic/tclVar.c: it is verifiably after tclConfig.h inclusion. - -2004-11-12 Daniel Steffen - - * generic/tcl.h: - * generic/tclInt.h: - * unix/Makefile.in: include tclConfig.h from tcl.h and install it as a - public header. Normalized compiler include path order to - -I${BUILD_DIR} -I${UNIX_DIR} -I${GENERIC_DIR}. - - * unix/dltest/Makefile.in: add ${BUILD_DIR}/.. to include path to pick - up tclConfig.h. - - * unix/tclUnixInit.c: moved check for HAVE_CFBUNDLE define after - #include "tclInt.h" to ensure tclConfig.h has been included. - -2004-11-12 Reinhard Max - - * unix/config.h.in: - * unix/tclConfig.h.in: renamed - - * unix/Makefile.in: Completed support for config header, - * unix/configure.in: fixed building outside of the unix dir, - * unix/tclAppinit.c: and reflected the name change of config.h. - * generic/tclInt.h: - - * unix/configure: generated - -2004-11-12 Donal K. Fellows - - * unix/config.h.in: Allow configure to put all the C #defs into - * unix/configure.in: a file (called config.h) so that Unix builds - * unix/tcl.m4: now take far fewer lines of scrollback to - * unix/Makefile.in: proceed (making it less likely that any errors - * generic/tclInt.h: or warnings will get missed). - * unix/tclAppInit.c: Part of the TIP#34 upgrades. - - * unix/tcl.m4, unix/tclUnixPort.h: Check for pthread_attr_get_np in - before forcing the use of to make things - work on NetBSD 2.0. [Bug 1064882] - - * doc/binary.n, doc/upvar.n: More minor fixes. - -2004-11-12 Daniel Steffen - - * doc/CrtChannel.3: - * doc/Interp.3: - * doc/Limit.3: - * doc/binary.n: - * doc/dict.n: - * doc/tm.n: - * doc/upvar.n: fixed *roff errors uncovered by running 'make html'. - - * tools/tcltk-man2html.tcl: added faked support for bullet point - lists, i.e. *nroff ".IP \(bu" syntax. - -2004-11-11 Daniel Steffen - - * tests/fCmd.test: - * unix/tclUnixFCmd.c (TraverseUnixTree): added option to rewind() the - readdir() loop whenever the source hierarchy has been modified by - traverseProc (e.g. by deleting files); this is required to ensure - complete traversal of the source hierarchy on certain filesystems like - HFS+. Added test for failing recursive delete on Mac OS X that was due - to this. [Bug 1034337] - - * generic/tclListObj.c (Tcl_ListObjReplace): use memmove() instead of - manual copy loop to shift list elements. Decreases time spent in - Tcl_ListObjReplace() from 5.2% to 1.7% of overall runtime of tclbench - on a ppc 7455 (i.e. 200% speed increase). [Patch 1064243] - - * generic/tclHash.c: hoisted some constant pointer dereferences out of - loops to eliminate redundant loads that the gcc optimizer didn't deal - with. Decreases time spend in Tcl_FindHashEntry() by 10% over a full - run of the tcl testuite on a ppc 7455. [Patch 1064243] - - * tests/fileName.test: - * tests/fileSystem.test: - * tests/io.test: - * tests/msgcat.test: - * tests/tcltest.test: - * tests/unixInit.test: fixed bugs causing failures when running tests - with -tmpdir arg not set to working dir. - - * macosx/Makefile: corrected path to html help inside framework. - Prevent parallel make from building several targets at the same time. - - * macosx/tclMacOSXFCmd.c (struct fileinfobuf): force struct to be - packed to prevent failures when builing with -malign=natural. - -2004-11-10 Andreas Kupries - - * unix/tclUnixChan.c: [Bug 727786]. Exterminated the code marked - DEPRECATED. This code has not been used in over a year now, and we - have no complaints. - -2004-11-08 David Gravereaux - - * win/tclWinPipe.c: The pipe channel driver now respects the -blocking - option when closing is the same way the UNIX side works. This is to - avoid a hung shell when exiting due to open pipes that refuse to close - in a graceful manner. - * doc/open.n: Added a note about -blocking 0 and lack of exit status - as it had never been documented. [Bug 947693] - - ***POTENTIAL INCOMPATIBILITY*** - - Scripts that use async pipes on windows, must (like the UNIX side) set - -blocking to 1 before calling [close] to receive the exit status. - -2004-11-07 David Gravereaux - - * tests/winFile.test: added contraint to winFile-4.0 to prevent it - being run on NT4 [Bug 981829] - -2004-11-05 Donal K. Fellows - - * tests/reg.test: Major reorganization so that this file is much - easier for a normal Tcl maintainer to comprehend. The test flags are - still very cryptic, but they appear to have to be that way. The number - of skipped tests has increased, but now the skipped tests have much - more meaningful content. - - * tests/tm.test (genpaths): Add a [file normalize] so we pick up - Windows drive letters, etc. [Bug 1053568] - -2004-11-04 Don Porter - - * changes: Updates toward an 8.5a2 release. - -2004-11-03 Kevin B. Kenny - - * library/clock.tcl (FreeScan): Fixed a bug where scanning "Monday" - with a base time other than midnight incorrectly carried the base time - forward. - - * test/clock.test (clock-33.{5,5a}): Made the test failure more - informative. - - * tests/clock.test (clock-34.{28,44,45,46}): Removed 'knownBug' - constraints from tests that no longer fail. - - Thanks to Don Porter for reporting these. - -2004-11-03 David Gravereaux - - * generic/tcl.h: Moved the preprocessor logic - * generic/tclDecls.h: from tclInt.h of setting the - * generic/tclInt.h: TCL_STORAGE_CLASS macro to the - * generic/tclIntDecls.h: tcl*Decls.h files now that no - * generic/tclIntPlatDecls.h: use of EXTERN is left in tclInt.h. - * generic/tclPlatDecls.h: Proto for Tcl_Main moved in tcl.h - * win/tclWinPort.h: to prior the inclusion of the Stubs - headers as they are now resetting TCL_STORAGE_CLASS. Removed - extraineous reset from tclWinPort.h. [Patch 1055668] - - * generic/tclCompile.h: Removed extrainious reset of TCL_STORAGE_CLASS - missed in my last edit. - -2004-11-03 Don Porter - - * library/init.tcl ([unknown]): Corrections to the 2004-10-25 mods to - Aunt ??? in [unknown]. Flaws revealed by Itcl test suite, which still - apparently relies on this brokenness. Also added comment suggesting - the error message that any code using this hack *ought* to receive in - reply. - - * generic/tclTrace.c (TclCallVarTraces): Improved ability to debug - * tests/incr-old.test (incr-old-2.6): errors during variable - * tests/incr.test (incr-{1,2}.28): traces by preserving the - * tests/set.test (set-{2,4}.4): -errorinfo data. - * tests/trace.test (trace-33.1): [Bug 527164] - -2004-11-02 David Gravereaux - - * generic/tclInt.h: added a check for #ifdef __cplusplus around the - #define of MODULE_SCOPE. About the only time it would be problem is - when someone is statically linking to Tcl and accessing internals from - a C++ file and has name mangling issues from the lack of "C" after - 'extern' [Patch 1055668]. - * generic/tclCompile.h: Exchanged use of the EXTERN macro to the new - MODULE_SCOPE macro. Lowered exported internals count by 35. [Patch - 1055668] - * win/tclWinInt.h: - * win/tclWinPort.h: exported internals dropped by a count of 14. - * generic/tclFileSystem.h: Added use of MODULE_SCOPE on protos. - * generic/tclRegexp.h: manipulating TCL_STORAGE_CLASS unnecessary. - -2004-11-02 Don Porter - - * library/tcltest/tcltest.tcl: Corrected some misleading - * tests/tcltest.test (tcltest-26.1,2): displays of ::errorInfo and - ::errorCode information when the -setup, -body, and/or -cleanup scripts - return an unexpected return code. Thanks to Robert Seeger for the fix. - [RFE 1017151]. - -2004-11-02 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Improved version of the - NaN fix from Miguel Sofer. [Bug 761471] - -2004-11-02 Kevin Kenny - - * library/tzdata/America/Cuiaba: Change to DST rules for - * library/tzdata/America/Havana: autumn of 2004. - [ftp://elsie.nci.nih.gov/pub/tzdata2004g.tar.gz] - - * tools/tclZIC.tcl: Updated to be compatible with recent changes in - library/clock.tcl. - -2004-11-02 Vince Darley - - * win/tclWinFile.c: Simplify TclpUtime to use Tcl_FSGetNativePath, and - add comments. - -2004-11-02 Donal K. Fellows - - * generic/tclInt.h: Change uses of EXTERN to MODULE_SCOPE (defined in - this file too to be 'extern' if not overridden) as nothing declared in - tclInt.h is supposed to be visible outside the Tcl core. If there *is* - anything that extensions are actually using, we can open this up later - on. [Patch 1055668] - - * doc/CrtChannel.3 (Tcl_GetChannelMode): Add synopsis. [Bug 1058446] - -2004-11-01 Kevin B. Kenny - - * win/tclWinFile.c (FromCTime, TclpUtime): Replaced a call to the - Posix 'utime' function with calls to Windows-API equivalents, to avoid - a bug where the VC++ versions misconvert times across a Daylight - Saving Time boundary. [Bug 926106] - * win/tclWinInt.h (TclWinProcs): - * win/tclWin32Dll.c (asciiProcs, unicodeProcs): Removed now-unused - reference to 'utime'. - * tests/cmdAH.test (cmdAH-24.12): Added test case for the above bug. - -2004-11-01 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Make INST_EQ and friends - handle NaN correctly in all cases. [Bug 761471] - - * generic/tclNamesp.c (NamespaceInscopeCmd): Make the error message - generation the same as in NamespaceEvalCmd(). - (Tcl_Import): Rationalized to use Tcl_EvalObjv(). - -2004-10-31 Donal K. Fellows - - * tests/io.test (io-40.3): Convert umask2 test constraint into a form - that most people will be able to satisfy. - - * tests/cmdAH.test (cmdAH-8.45): Removed broken test constraint. It - didn't do what it was intended to do, and it implied the other correct - constraint. [Bug 1053908] - - * generic/tclCmdIL.c (InfoGlobalsCmd): - * tests/info.test (info-8.4): Strip leading global-namespace - specifiers from the pattern argument. [Bug 1057461] - -2004-10-30 Kevin Kenny - - * generic/clock.c: Replaced WIN32 macro with __WIN32__. [Bug 1054357]. - Thanks to David Gravereaux for the patch. - * win/tclWinFile.c: Removed a long-standing bug that causes incorrect - conversion between file time and UTC time if the file time is recorded - in a different Daylight Saving Time status than the current one. [Bug - 926106] - -2004-10-29 Don Porter - - * library/tcltest/tcltest.tcl: Correct reaction to errors in the - obsolete processCmdLineArgsHook. [Bug 1055673] - * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.7 - * unix/Makefile.in: - * tests/all.tcl: Update to use [tcltest::configure]. - -2004-10-29 Donal K. Fellows - - * library/tm.tcl (::tcl::tm::*): Use the core proc engine to generate - the wrong-num-args error messages for the path ensemble. - - Ensembles can now (sometimes) rewrite the error messages of their - subcommands so they appear more like the arguments that the user - passed to the ensemble. Below is a description of changes involved in - doing this. - - * tests/namespace.test (namespace-50.*): Tests of ensemble subcommand - error message rewriting. - * generic/tclProc.c (TclObjInterpProc): Make procedures implement - their wrong-num-args message using Tcl_WrongNumArgs instead of - something baked-at-home. - * generic/tclNamesp.c (TclIsEnsemble, NsEnsembleImplementationCmd): - Added test of ensemble-hood (available to rest of core) and made - ensembles set up the rewriting for Tcl_WrongNumArgs to take advantage - of. - * generic/tclInt.h (Interp.ensembleRewrite): Extra fields. - * generic/tclIndexObj.c (Tcl_WrongNumArgs): Add knowledge of what is - going on in ensembles' command rewriting so this command can generate - the right error message itself. - * generic/tclBasic.c (Tcl_CreateInterp, TclEvalObjvInternal): Added - code to initialize (as empty) the rewriting fields and reset them when - we leak outside an ensemble implementation. - -2004-10-28 Miguel Sofer - - * generic/tclExecute.c (INST_START_CMD): - * tests/execute.test (execute-8.3): fix for execution stack corruption - [Bug 1055676]. Credit dgp for detective work and fix. - -2004-10-27 Don Porter - - * tests/socket.test (socket-13.1): Balanced [makeFile] and - [removeFile] commands. - - * tests/clock.test: Correct duplicate test names. - * tests/namespace.test: - * tests/string.test: - * tests/io.test (io-50.4): Use namespace variables. - -2004-10-27 David Gravereaux - - * generic/tclInt.decls: The following 9 functions were moved from - * generic/tclInt.h: tclInt.h to the private/int Stubs table for - * generic/tclIntDecls.h: use by the test suite. As tclTest.obj is - * generic/tclStubInit.c: linked to the shell, these functions need - "blessed" status so as to always be exported from the library. Being - placed in the Stubs table guarantees this [Bug 1054748]: - TclpObjRemoveDirectory, TclpObjCopyDirectory, - TclpObjCreateDirectory, TclpObjDeleteFile, - TclpObjCopyFile, TclpObjRenameFile, - TclpObjStat, TclpObjAccess, - TclpOpenFileChannel - - * tests/registry.test: Fixed test files to load the correct - * tests/winDde.test: registry and dde packages by using the info - * win/Makefile.in: from makefiles to tell tcltest where to load - * win/makefile.vc: them from. This avoids grabbing the wrong - package from $auto_path which might be the install point rather than - the dev location. Kudos to Jennifer Hom for adding -load and - -loadfile to the tcltest package. [Bug 926088] - - * win/tclWinThrd.c (TclFinalizeLock): release the critical section - before deleting it. [Bug 731778] - - * generic/tcl.h: Removed the file level 'extern "C" {' and the - coresponding closing block as it serves no purpose given that all the - function prototypes have the proper extern usage already. - - * unix/tclAppInit.c: When built as tcltest, TclThread_Init was - * win/tclAppInit.c: getting called twice. First by Tcltest_Init, - then again in Tcl_AppInit. The call from Tcl_AppInit is now removed. - -2004-10-27 Andreas Kupries - - * tests/tm.test: Expanded on the testsuite entered by Donal. - * library/tm.tcl: Even found bugs, these have been corrected. - -2004-10-26 Kevin Kenny - - * tests/format.test (format-19.1): Additional regression test for [Bug - 868489]. - -2004-10-27 Donal K. Fellows - - * doc/*.n: Many small general documentation fixes. - -2004-10-26 David Gravereaux - - * generic/tclPipe.c (TclCleanupChildren): bad cast of resolvedPid - caused PIDs on win95 to go negative. winpipe-4.2 brought this to the - surface. Fixed with sprintf in place of TclFormatInt. Thanks to hgiese - [Patch 767676] - -2004-10-26 Andreas Kupries - - * library/tm.tcl (::tcl::tm::Defaults): Added a second [file dirname] - around the location of the executable. This fixes [Bug 1038705]. - Instable of a bogus "foo/bin/lib" we now have the correct "foo/lib" as - a base path for modules. - -2004-10-26 Don Porter - - * generic/tclParse.c (Tcl_SubstObj): Fix for failed subst-12.3 test - * tests/subst.test (subst-12.3-5): More tests for Bug 1036649. - - * unix/Makefile.in (install-libraries): Updated the installation of - the http, msgcat, and tcltest packages to install as Tcl Modules on - Unix systems. Other platform Makefiles still need updating. [Patch - 1054370] - - * tests/basic.test: Added missing constraints. - * tests/compile.test: - * tests/fileSystem.test: - - * tests/init.test (init-2.8): Updated to not rely on http package. - -2004-10-26 Miguel Sofer - - * generic/tclInt.h: - * generic/tclVar.c: removed more direct references to the VAR flags, - replaced with access macros. - -2004-10-26 Donal K. Fellows - - * doc/expr.n: Clarified that non-num/non-bool literals require - quoting. [Bug 1027849]. Also listed booleans as acceptable values. - -2004-10-26 Kevin B. Kenny - - * library/clock.tcl (FreeScan): Fixed a bug that caused relative days - of the week in free-form [clock scan] to be evaluated in the wrong - time zone. - * tests/clock.test (clock-31.[456]): Made sure that there isn't an - env(TZ) or env(TCL_TZ) lying around that will override the time zone - that we're trying to establish with the simulated registry. - Both problems reported as [Bug 1054101]. - -2004-10-25 Donal K. Fellows - - * doc/string.n (map): Rewrote to clarify that we don't just map single - characters. [Bug 1048005] - * doc/info.n (procs): Clarified that the pattern argument may have - namespace separators in it. [Bug 1047928] - - * tests/cmdAH.test (cmdAH-8.45): Simplify in the hope that the reasons - for [Bug 1053908] will become clearer. - -2004-10-25 Don Porter - - * generic/tclExecute.c (IllegalExprOperandType,TclExecuteByteCode): - Removed several DECACHE_INFO/CACHE_INFO pairs that are no longer - needed for protection because routines like Tcl_SetErrorCode() and - Tcl_AddErrorInfo() can no longer re-enter bytecode execution. - - * generic/tclResult.c (TclProcessReturn): Bug fix. Be sure that a - missing -errorinfo option when code == TCL_ERROR causes the errorInfo - field to get reset. - - * tests/thread.test (thread-4.4): Test depended on a ::errorInfo value - initialized to "". Added code to test to setup that requirement. - - * library/auto.tcl: Purged Tcl's script library of all - * library/clock.tcl: remaining references to global vars - * library/init.tcl: ::errorInfo and ::errorCode. - - * generic/tclMain.c (Tcl_Main): Updated to make use of - TclGetReturnOptions instead of ::errorInfo variable. - - * generic/tclInterp.c (tclInit): Bug fix. Access dict variables with - [dict get], not array syntax. - -2004-10-25 Donal K. Fellows - - * tests/tm.test: Rewrote the tests to actually perform syntax checks - on the public API. Added a new test (currently failing) to indicate - that the test suite is not complete yet. - * library/tm.tcl (path): Rewrote to turn this command into an ensemble - to make it faster and simpler. - -2004-10-24 Miguel Sofer - - * generic/tclCmdIL.c: - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclTrace.c: defined new macros to get/set the flags of - variables. The only files that still access the flag values directly - are tclCompCmds.c, tclCompile.c, tclProc.c and tclVar.c - -2004-10-24 Don Porter - - * generic/tclBasic.c (Tcl_LogCommandInfo,Tcl_AddObjErrorInfo): Shift - the initialization of errorCode to NONE to more central location. - - * generic/tclEvent.c (BgError,Tcl_BackgroundError,HandleBgErrors): - Rewrite to build on the new TclGet/SetReturnOptions routines. - - * generic/tclResult.c (TclGetReturnOptions): Add call to - Tcl_AddObjErrorInfo to be sure error fields are initialized. - - * generic/tclResult.c (TclTransferResult): Rewrite to build on the new - TclGet/SetReturnOptions routines. - -2004-10-22 Donal K. Fellows - - * doc/tm.n: Tightened up the documentation. - * tests/tm.test: Created (with partially dummy content) so TIP#189 can - be marked Final. - - * generic/tclNamesp.c (NsEnsembleImplementationCmd): Make ensembles - cut their implementations out of error traces. This is the right thing - to do more often than not. - -2004-10-22 Kevin B. Kenny - - * library/clock.tcl: Fixed a typo where the fallback time zone became - ::localtime instead of :localtime. Fixed a bug where time zone names - containing hyphens could not be loaded. - * tests/clock.test: Added regression test cases that covers both bugs. - Thanks to Todd M. Helfter for finding - these bugs. - -2004-10-22 Donal K. Fellows - - * generic/tclExecute.c (TclCompEvalObj, Tcl_ExprObj): - * generic/tclProc.c (TclProcCompileProc): Always call object - freeIntRepProc's in the same way. - -2004-10-22 Miguel Sofer - - * generic/tclVar.c: fixed bug in commit of 2004-07-23, which was - causing a leak of Proc structures and failure of compile-12.1. Two - lines were 'zombies' from the previous way localVarNames worked. - Credit dgp for finding this. - -2004-10-21 Don Porter - - * generic/tclInt.h (Interp): - * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp): - * generic/tclResult.c (GetKeys,ReleaseKeys,etc.): Moved the key values - of the return options dictionary out of private fields of the Interp - struct and into thread-static values managed in tclResult.c. - - * generic/tclCmdAH.c (Tcl_CatchObjCmd, Tcl_ErrorObjCmd): Updated to - call the new TclGet/SetReturnOptions routines to do much of their - work. - - * generic/tclInt.h (TclGetReturnOptions,TclSetReturnOptions): - * generic/tclResult.c (TclGetReturnOptions,TclSetReturnOptions): New - utility routines to get/set the return options of an interp. Intent is - that these routines will be converted to public routines after TIP - approval. - - * generic/tclCmdMZ.c (TclProcessReturn,TclMergeReturnOptions): - * generic/tclResult.c (TclProcessReturn,TclMergeReturnOptions): Move - internal utility routines from tclCmdMZ.c to tclResult.c. - - * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp): - * generic/tclResult.c (TclTransferResult): Rework so that - iPtr->returnOpts can be NULL when there are no special options. - - * generic/tclResult.c (TclRestoreInterpState): Plug potential memory - leak. - -2004-10-21 Kevin B. Kenny - - * generic/tclBasic.c: Various changes to [clock format] that, - * generic/tclClock.c: together, make it roughly twice as fast - * generic/tclInt.h: while all tests in the test suite - * library/clock.tcl: continue to pass. - -2004-10-20 Andreas Kupries - - * win/Makefile.in (install-msgs): Fixed a problem with the - * win/Makefile.in (install-tzdata): installation of timezone data and - message catalogs. They used the installed tcl library directory, not - the source library. Before it was installed. Switched to source lib - dir. Thanks to Kevin for the help in figuring this out. - -2004-10-20 Don Porter - - * generic/tclThreadTest.c (ThreadEventProc): Corrected subtle bug - where the returned (char *) from Tcl_GetStringResult(interp) continued - to be used without copying or refcounting, while activity on the - interp continued. That's not safe, and recent changes demonstrated the - lack of safety with failing tests thread-4.3 and thread-4.5. - -2004-10-19 Donal K. Fellows - - * generic/tclDictObj.c (DictWithCmd): Make sure all paths (that are - not themselves error paths) do not lose the result code. - -2004-10-19 Don Porter - - * generic/tclInt.h (Tcl*InterpState): New internal routines - * generic/tclResult.c (Tcl*InterpState): TclSaveInterpState, - TclRestoreInterpState, and TclDiscardInterpState are superior - replacements for Tcl_(Save|Restore|Discard)Result. Intent is that - these routines will be converted to public routines after TIP - approval. Interfaces for these routines were shamelessly stolen from - Itcl. - - * generic/tclBasic.c (TclEvalObjvInternal): - * generic/tclDictObj.c (DictUpdateCmd, DictWithCmd): - * generic/tclIOGT.c (ExecuteCallback): - * generic/tclTrace.c (Trace*Proc,TclCheck*Traces,TclCallVarTraces): - Callers of Tcl_*Result updated to call the new routines. The calls - were relocated in several cases to perform save/restore operations - only when needed. - - * generic/tclEvent.c (HandleBgErrors): - * generic/tclFCmd.c (CopyRenameOneFile): Calls to Tcl_*Result that - were eliminated because they appeared to serve no useful purpose, - typically saving/restoring an error message, only to throw it away. - -2004-10-18 Don Porter - - * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp): - * generic/tclCmdAH.c (Tcl_CatchObjCmd): - * generic/tclCmdMZ.c (TclMergeReturnOptions,TclProcessReturn): - * generic/tclCompCmds.c (TclCompileReturnCmd): - * generic/tclExecute.c (TclCompEvalObj): - * generic/tclInt.h (Interp): - * generic/tclProc.c (TclUpdateReturnInfo): Place primary storage of - the -level and -code information in private fields of the Interp - struct, rather than in a DictObj. This should significantly improve - performance of TclUpdateReturnInfo. - -2004-10-17 Miguel Sofer - - * generic/tclResult.c: removed unused variable [Bug 1048588]. Thanks - to Daniel South. - -2004-10-15 Don Porter - - * generic/tclCmdMZ.c (TclProcessReturn): Now that primary - * generic/tclProc.c (TclUpdateReturnInfo): storage for the - errorInfo and errorCode values are internal fields, we can set them at - the time of the [return] command, and not have to wait until the - specified number of "-level"s have popped. - - * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp) - (TclEvalObjvInternal, Tcl_LogCommandInfo, TclAddObjErrorInfo): - * generic/tclCmdAH.c (Tcl_CatchObjCmd): - * generic/tclEvent.c (BgError, ErrAssocData, Tcl_BackgroundError) - (HandleBgErrors, BgErrorDeleteProc): - * generic/tclExecute.c (TclCreateExecEnv, TclDeleteExecEnv): - * generic/tclIOUtil.c (comments only): - * generic/tclInt.h (ExecEnv,Interp, ERR_IN_PROGRESS): - * generic/tclInterp.c ([tclInit]): - * generic/tclMain.c (comments only): - * generic/tclNamesp.c (Tcl_CreateNamespace, Tcl_DeleteNamespace) - (TclTeardownNamespace): - * generic/tclProc.c (TclUpdateReturnInfo): - * generic/tclResult.c (Tcl_ResetResult, TclTransferResult): - * generic/tclTrace.c (CallVarTraces): - Reworked management of the "errorInfo" data of an interp. That - information is now primarily stored in a new private (Tcl_Obj *) field - of the Interp struct, rather than using a global variable ::errorInfo - as the primary storage. The ERR_IN_PROGRESS flag bit value is no - longer required to manage the value in its new location, and is - removed. Variable traces are established to support compatibility for - any code expecting the ::errorInfo variable to hold the information. - - ***POTENTIAL INCOMPATIBILITY*** - Code that sets traces on the ::errorInfo variable may notice a - difference in timing of the firing of those traces. Code that uses the - value ERR_IN_PROGRESS. - -2004-10-14 Donal K. Fellows - - TIP#217 IMPLEMENTATION - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Add -indices option from James - Salsman. [Patch 1017532] - - * generic/tclUtil.c (TclMatchIsTrivial): Detect degenerate cases of - glob matching that let us avoid scanning through hash tables. - * generic/tclCmdIL.c (InfoCommandsCmd, InfoGlobalsCmd, InfoProcsCmd): - (InfoVarsCmd): Use this to speed up some [info] subcommands. - -2004-10-12 Kevin B. Kenny - - * library/tzdata/America/Campo_Grande: - * library/tzdata/America/Cuiaba: - * library/tzdata/America/Sao_Paulo - * library/tzdata/America/Argentina/Mendoza: - * library/tzdata/America/Argentina/San_Juan: - Synchronized to Olson's 'tzdata2004e'. - -2004-10-08 Donal K. Fellows - - TIP#201 AND TIP#212 IMPLEMENTATIONS - - * doc/dict.n, doc/expr.n: Documentation for new functionality. - * tests/expr.test: Basic tests of 'in' and 'ni' behaviour. - * tests/dict.test (dict-21.*,dict-22.*): Tests for [dict update] and - [dict with]. - * generic/tclExecute.c (TclExecuteByteCode): Implementation of the - INST_LIST_IN and INST_LIST_NOT_IN bytecodes. - * generic/tclParseExpr.c (GetLexeme): Parse the 'in' and 'ni' - operators for TIP#201. - * generic/tclDictObj.c (DictUpdateCmd,DictWithCmd): Core of - implementation of TIP#212; docs and tests still to do... - -2004-10-07 Don Porter - - * generic/tclTest.c (TestsetobjerrorcodeCmd): Simplified. - -2004-10-07 Vince Darley - - * generic/tclFileName.c: - * generic/tclFileSystem.h: - * generic/tclIOUtil.c: - * generic/tclPathObj.c: - * unix/tclUnixFile.c: - * win/tclWinFile.c: - * tests/fileName.test: - * tests/winFCmd.test: code reorganization for better generic/platform - code splitting [Bug 925620] removing the need for several #ifdef's, - and tests and fix for an unreported Windows glob problem ('glob -dir - C: -tails *'). - -2004-10-07 Donal K. Fellows - - * *.3: Convert CONST to const and VOID to void so we document how - people should actually use the Tcl API and not the compatibility hacks - that it has to have. - - * doc/man.macros, *.3: Update .AS macro so it can know how wide to - make the third column of the argument list. Update documentation for C - API (only users) to take advantage of this. - - * doc/FileSystem.3: Formatting fixes for greater documentation - clarity. - -2004-10-06 Donal K. Fellows - - * generic/tclFileName.c (DoGlob, TclGlob): Stop messy sharing of - interpreter result and instead use a private object for collecting the - result of the glob. This simplifies TclGlob quite a lot. - * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): Simplify by removing - some nesting. Also standardize variable names. - (FsAddMountsToGlobResult): Force updates to the list to be done - in-place, putting a side-condition of non-shared-ness on the resultPtr - argument to Tcl_FSMatchInDirectory, but everything would have broken - before if that was shared *anyway*. - - * generic/tclEncoding.c (LoadTableEncoding): Removed reference to Tcl - interpreter; it wasn't needed as direct object use is more efficient. - - * generic/tclPathObj.c: Made this file follow the style rules in the - Engineering Manual more closely, and also take advantage of the - internal object manipulation macros more. - - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Reorganized to have fewer - magic flag variables and to separate the code that scans for a match - from the code that processes a match body. - -2004-10-06 Don Porter - - * generic/tclBasic.c: - * generic/tclBinary.c: - * generic/tclCmdAH.c: - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclCompExpr.c: - * generic/tclDictObj.c: - * generic/tclEncoding.c: - * generic/tclExecute.c: - * generic/tclFCmd.c: - * generic/tclHistory.c: - * generic/tclIndexObj.c: - * generic/tclInterp.c: - * generic/tclIO.c: - * generic/tclIOCmd.c: - * generic/tclNamesp.c: - * generic/tclObj.c: - * generic/tclPkg.c: - * generic/tclResult.c: - * generic/tclScan.c: - * generic/tclTimer.c: - * generic/tclTrace.c: - * generic/tclUtil.c: - * generic/tclVar.c: - * unix/tclUnixFCmd.c: - * unix/tclUnixPipe.c: - * win/tclWinDde.c: - * win/tclWinFCmd.c: - * win/tclWinPipe.c: - * win/tclWinReg.c: - It is a poor practice to directly set or append to the value of the - objResult of an interp, because that value might be shared, and in - that circumstance a Tcl_Panic() will be the result. Searched for - example of this practice and replaced with safer alternatives, often - using the Tcl_AppendResult() routine that dkf just rehabilitated. - * library/dde/pkgIndex.tcl: Bump to dde 1.3.1 - * library/reg/pkgIndex.tcl: Bump to registry 1.1.5 - -2004-10-06 Donal K. Fellows - - * doc/SetResult.3: Made Tcl_AppendResult non-deprecated; better that - people use it than most of the common alternatives! - * generic/tclResult.c (Tcl_AppendResultVA): Make this work better with - Tcl_Objs. [Patch 1041072] - (Tcl_SetResult, Tcl_AppendElement): Change string to stringPtr to - avoid C++ keywords. - -2004-10-05 Don Porter - - * generic/tclBasic.c (TclObjInvoke): More simplification of the - TclObjInvoke routine toward unification with the rest of the - evaluation stack. - - * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp) - (TclEvalObjvInternal, Tcl_LogCommandInfo): - * generic/tclCmdAH.c (Tcl_CatchObjCmd): - * generic/tclEvent.c (BgError, Tcl_BackgroundError, HandleBgErrors): - * generic/tclInt.h (Interp, ERROR_CODE_SET): - * generic/tclNamesp.c (Tcl_CreateNamespace, Tcl_DeleteNamespace) - (TclTeardownNamespace): - * generic/tclResult.c (Tcl_ResetResult, Tcl_SetObjErrorCode) - (TclTransferResult): - * generic/tclTrace.c (CallVarTraces): - Reworked management of the "errorCode" data of an interp. That - information is now primarily stored in a new private (Tcl_Obj *) field - of the Interp struct, rather than using a global variable ::errorCode - as the primary storage. The ERROR_CODE_SET flag bit value is no longer - required to manage the value in its new location, and is removed. - Variable traces are established to support compatibility for any code - expecting the ::errorCode variable to hold the information. - - ***POTENTIAL INCOMPATIBILITY*** - Code that sets traces on the ::errorCode variable may notice a - difference in timing of the firing of those traces. - - * generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021 - workaround. That bug is now fixed. - -2004-10-04 Kevin B. Kenny - - * tests/clock.test (clock-34.*): Removed an antibug that forced - comparison of [clock scan] results with the :localtime time zone. Now - that [clock scan] uses the current time zone instead, the antibug - caused several tests to fail. [Bug 1038554] - -2004-10-04 Donal K. Fellows - - * generic/tclParseExpr.c (GetLexeme): Ensure that the 'eq' and 'ne' - operators are followed by non-alphabetic characters so lexemes can't - run together. [Bug 884830] - - * doc/DictObj.3, doc/dict.n: Clarified that a dictionary is not - order-preserving. [Bug 1032243] Also added another example to show off - more ways of using a dictionary and a few other formatting - improvements. - -2004-10-02 Donal K. Fellows - - * generic/tclDictObj.c (TraceDictPath, Tcl_DictObjPutKeyList): Add - support for automatic creation of dictionary paths since that is what - everyone seems to actually expect of the API! [Bug 1037235] - (Tcl_DictObjNext): Make calling this after Tcl_DictObjDone non-fatal - as that simplifies a number of internal APIs. This doesn't break any - existing working code as it is a case which previously caused a panic. - -2004-10-02 Don Porter - - * tests/namespace.test (namespace-8.7): Another test for save/restore - of ::errorInfo and ::errorCode during global namespace teardown. - -2004-10-01 Donal K. Fellows - - * generic/tclProc.c (TclObjGetFrame, Tcl_UplevelObjCmd): - * generic/tclVar.c (Tcl_UpvarObjCmd): Cache stackframe level - references in the level object for speed. - -2004-09-30 Don Porter - - * generic/tclBasic.c (Tcl_CreateInterp): - * generic/tclInt.h (Interp): Removed the flag bit value - EXPR_INITIALIZED. It was set during interp creation and never tested. - Whatever purpose it had is in the past. - - * generic/tclBasic.c (Tcl_EvalObjEx): Removed the flag bit value - * generic/tclInt.h (Interp): USE_EVAL_DIRECT. It was used - * generic/tcLTest.c (TestevalexObjCmd): only in the testing command - * tests/parser.test (parse-9.2): [testevalex] and nothing in - the test suite made use of the capability it enabled. - - * generic/tclBasic.c (Tcl_AddObjErrorInfo): More re-organization - * generic/tclCmdAH.c (Tcl_ErrorObjCmd): of the management of - * generic/tclCmdMZ.c (TclProcessReturn): the errorCode value. - * tests/error.test (error-6.4-9): - - * generic/tclNamespace.c (TclTeardownNamespace): Tcl_Obj-ified - * tests/namespace.test (namespace-8.5,6): the save/restore of - ::errorInfo and ::errorCode during global namespace teardown. Revised - the comment to clarify why this is done, and added tests that will - fail if this is not done. - - * generic/tclResult.c (TclTransferResult): Added safety checks so that - unexpected undefined ::errorInfo or ::errorCode will not lead to a - segfault. - - * generic/tclTrace.c (TclCallVarTraces): Save/restore the flag values - * tests/var.test (var-16.1): that define part of the - interpreter state during variable traces. [Bug 1038021]. - -2004-09-30 Miguel Sofer - - * tests/subst.test (12.1-2): added tests for [Bug 1036649] - -2004-09-29 Don Porter - - * tests/basic.test (49.*): New tests for TCL_EVAL_GLOBAL. - -2004-09-29 Donal K. Fellows - - * generic/tclVar.c (TclObjLookupVar, TclObjLookupVar): - (TclObjUnsetVar2, SetArraySearchObj): - * generic/tclUtil.c (SetEndOffsetFromAny): - * generic/tclStringObj.c (Tcl_SetStringObj): - (Tcl_SetUnicodeObj, SetStringFromAny): - * generic/tclResult.c (ResetObjResult): - * generic/tclRegexp.c (Tcl_GetRegExpFromObj): - * generic/tclPathObj.c (TclFSMakePathRelative, SetFsPathFromAny): - (TclFSMakePathFromNormalized, Tcl_FSNewNativePath): - * generic/tclObj.c (TclFreeObj, Tcl_SetBooleanObj, SetBooleanFromAny): - (Tcl_SetDoubleObj, SetDoubleFromAny, Tcl_SetIntObj): - (SetIntOrWideFromAny, Tcl_SetLongObj, SetWideIntFromAny): - (Tcl_SetWideIntObj, TclSetCmdNameObj, SetCmdNameFromAny): - * generic/tclNamesp.c (SetNsNameFromAny, MakeCachedEnsembleCommand): - * generic/tclListObj.c (Tcl_SetListObj, SetListFromAny): - * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): - * generic/tclDictObj.c (SetDictFromAny): - * generic/tclCompile.c (TclInitByteCodeObj): - * generic/tclBinary.c (Tcl_SetByteArrayObj, SetByteArrayFromAny): - * generic/tclInt.h (TclFreeIntRep): Factorize out deletion of object - internal representation to a shared macro, so simplifying much code. - -2004-09-27 Miguel Sofer - - * generic/tclBasic.c (TclObjInvoke): fix for bogus gcc warning about - uninitialised variable. - -2004-09-27 Don Porter - - * generic/tclBasic.c: Removed internal routines TclInvoke, - * generic/tclInt.decls: TclGlobalInvoke, TclObjInvokeGlobal and the - * tests/basic.test: portion of TclObjInvoke that handles calls - without TCL_INVOKE_HIDDEN enabled. None of this code is called any - longer within the core, and the superior public interface, - Tcl_EvalObjv, is available for any external callers. - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclEvent.c (HandleBgErrors): Updated [bgerror] invocations - to make use of Tcl_Obj based routines, dropping the calls to - TclGlobalInvoke() - -2004-09-27 Vince Darley - - * generic/tclFileName.c: - * generic/tclFileSystem.h: - * generic/tclIOUtil.c: - * generic/tclPathObj.c: - * tests/cmdAH.test: - * tests/fileSystem.test: - * tests/winFCmd.test: fix to bad error message with 'cd' on windows, - when permissions are inadequate [Bug 1035462] and to treatment of a - volume-relative pwd on Windows [Bug 1018980]. - - * doc/FileSystem.3: added missing Tcl_GlobTypeData documentation [Bug - 935853] - -2004-09-27 Kevin Kenny - - * compat/strftime.c (Removed): - * generic/tclClock.c (removed TclClockOldscanObjCmd): - * generic/tclDate.c (Regenerated): - * generic/tclGetDate.y: - * generic/tclInt.decls (removed TclGetDate and TclpStrftime): - * generic/tclInt.h (removed TclGetDateInfo): - * generic/tclIntDecls.h (Regenerated): - * generic/tclStubInit.c (Regenerated): - * library/clock.tcl: - * unix/tclUnixTime.c (removed TclpStrftime): - * win/Makefile.in: - * win/makefile.bc: - * win/makefile.bc: - * win/tcl.dsp: - Continued refactoring of [clock] for TIP 173 changes. Broke the - free-form parser apart so that the Bison parser is responsible for - only parsing, while clock.tcl handles relative times like "next - Thursday", "next January". This change is needed to make timezones - other than :localtime and :Etc/UTC work with free-form scanning. This - change closes out the issue identified as being "for another day" in - my log message of 2004-09-08. The refactored code also eliminates the - last known references to TclpStrftime and TclGetDate, so those - routines (including compat/strftime.c) have been removed. The - refactoring also has the benefit that all storage in the Bison parser - is now on the C stack, eliminating any need for mutex protection - around [clock scan]. Also, changed the Makefiles so that 'make - gendate' is available on Windows as well as Unix. - - * generic/tclCmdAH.c (Tcl_FormatObjCmd): Removed some grubby - * generic/tclObj.c (SetBooleanFromAny): work-around code that was - needed only because of Bug 868489. - - * generic/tclBasic.c (TclObjInvoke): Removed three unused variables to - silence a compiler warning in VC++. - -2004-09-27 Vince Darley - - * doc/FileSystem.3: fix to small typo. - -2004-09-26 Miguel Sofer - - * generic/tclCompCmds.c: - * generic/tclCompExpr.c: - * generic/tclCompile.c: - * generic/tclCompile.h: - * generic/tclInt.h: - * generic/tclProc.c: - * tests/compExpr-old.test: - * tests/compExpr.test: - * tests/expr.test: - * tests/for.test: - * tests/if.test: - * tests/incr.test: - * tests/while.test: - Report compilation errors at runtime, [Patch 1033689] by dgp. - -2004-09-23 Mo DeJong - - * unix/dltest/Makefile.in (clean): Fixup make clean rule so that it - does not delete all files when SHLIB_SUFFIX is set to the empty string - in a static build. [Bug 1016726] - -2004-09-23 Don Porter - - * generic/tclBasic.c: Corrections to the 2004-09-21 commit - * generic/tclExecute.c: regarding ERR_ALREADY_LOGGED. That commit - * generic/tclNamesp.c: caused Tk test send-10.7 to fail. Added - * tests/namespace.test (25.7,8): tests in the Tcl test suite - * tests/pkg.test (2.25,26): to catch this error without the aid - of Tk in the future. - - * generic/tclCmdAH.c (Tcl_ExprObjCmd): Simplified the TclObjCmdProc - of [expr] with a call to Tcl_ConcatObj. - -2004-09-22 Don Porter - - * generic/tclCmdMZ.c (TclProcessReturn): Support the -errorline - * generic/tclCompile.c (TclCompileScript): option to [return]. - * tests/compile.test (16.23.*): Use that capability to defer reporting - * tests/misc.test (1.2): of parse errors until runtime. Updated - tests to reflect change. [Bug 1032805] - -2004-09-22 Miguel Sofer - - * generic/tclExecute.c (INST_START_CMD): - * tests/proc.test (7.2-3): fix for [Bug 729692] was incorrect whenever - a loop exception was returned. - -2004-09-22 Kevin B. Kenny - - * library/tzdata/America/Montevideo: Updated to reflect - ftp://elsie.nci.nih.gov/pub/tzdata2004d.tar.gz. (Changes to - Asia/Jerusalem were in the comments only.) [Routine maintenance - no - bug] Spanish-language description of the change at - http://www.presidencia.gub.uy/decretos/2004091502.htm - -2004-09-21 Don Porter - - * generic/tclCompCmds.c: Tolerate [append] syntax errors - * tests/appendComp.test (8.1): at compile time, and allow runtime to - raise the error (or succeed if a redefined [append] allows). - - * generic/tclBasic.c: Reworked management of the interp flag - * generic/tclCompile.c: ERR_ALREADY_LOGGED, to reduce its exposure. - * generic/tclExecute.c: Still left several referebces that are just - * generic/tclNamesp.c: too nice on performace to do away with. These - changes also resolve an inconsistency in the ::errorInfo values - produced by [namespace eval x error foo bar] and [namespace eval x - {error foo bar}]. - - * generic/tclExecute.c (TclCompEvalObj): Simplified the - TclCompEvalObj routine. Much housekeeping now reliably happens - elsewhere. [Patch 1031949] - -2004-09-21 Donal K. Fellows - - * doc/interp.n: Tighten up wording on how [interp eval] and [interp - invokehidden] operate w.r.t. stack frames. [Bug 926590] - -2004-09-20 Don Porter - - * tests/error.test (error-6.2,3): Added more tests to verify - ::errorCode setting by/after a [catch]. - -2004-09-19 Miguel Sofer - - * generic/tclCmdAH.c: removed outdated comment [Bug 1029518]. - -2004-09-18 David Gravereaux - - * win/tclAppInit.c: Dde package can load into a safe interp. Claim - this fact for the Tcl_StaticPackage() call when the shell is built - with the TCL_USE_STATIC_PACKAGES option. - -2004-09-18 Donal K. Fellows - - * generic/tclExecute.c (TEBC-INST_LSHIFT,INST_RSHIFT): Ensure that - large shifts end up shifting correctly. [Bug 868467] - - * doc/FileSystem.3, doc/OpenFileChnl.3: More documentation fixes from - Mikhail Kolesnitchenko. [Patch 1022527] - * doc/*: Standardize highlighting of symbols defined in tcl.h - -2004-09-17 Don Porter - - * generic/tclBasic.c (Tcl_AddObjErrorInfo, Tcl_LogCommandInfo): - * generic/tclCmdAH.c ([catch], [error]): - * generic/tclCmdMZ.c ([return]): - * generic/tclProc.c (TclUpdateReturnInfo): - * generic/tclResult.c (Tcl_SetErrorCodeVA, Tcl_SetObjErrorCode) - (TclTransferResult): Refactored so that all errorCode setting flows - through Tcl_SetObjErrorCode(). This greatly reduces the number of - different places in the code that need to know details about an - internal bitflag field of the Interp struct. Also places errorCode - setting in one place for easier future mods. - -2004-09-17 Kevin B.Kenny - - * generic/tclDate.c: Revised tclGetDate.y to use bison instead of - * generic/tclGetDate.y: yacc to build the parser, eliminating all the - * generic/tclInt.h: complicated hackery involving 'sed' - * unix/Makefile.in: postprocessing. Rebuilt the parser. - -2004-09-14 Kevin B. Kenny - - * generic/tclClock.c (ClockOldscanObjCmd): Silenced a compiler warning - (long passed as a param where unsigend long was expected). 'Unsigned - long' is wrong, but the fix is really to change the signature of - TclGetDate to return a structure of its 'yy' variables and then do the - remaining work inside clock.tcl. But, as I said on 2004-09-08, that's - a job for another day. [Bug 1027993] - -2004-09-10 Miguel Sofer - - * doc/interp.n: - * generic/tclInterp.c (TclPreventAliasLoop, AliasCreate): - * tests/interp.test (17.4-6, 19.3-4): fixing problems with renaming of - aliases [Bugs 707104 1026493]. Fix designed by dgp. - -2004-09-13 Donal K. Fellows - - * generic/tclNamesp.c (NsEnsembleImplementationCmd): Add token field - to internal rep of EnsembleCmdRep structure so that we can check it to - see if the subcommand object is really being used with the same - ensemble. [Bug 1026903] - -2004-09-11 Kevin B. Kenny - - * generic/tclClock.c (TclMktimeObjCmd): Corrected a bad check for - error return from 'mktime'. - * generic/tclObj.c (Tcl_GetIntFromObj): Corrected a problem where - demoting a wide to an int failed on a big-endian machine. [Bug - 1026125]. - * tests/clock.test (clock-43.1): Added regression test for error - return from 'mktime'. - -2004-09-11 Miguel Sofer - - * generic/tclExecute.c (INST_CONCAT1): fix for [Bug 1025834]; avoid - unnecessary string copies. - -2004-09-10 David Gravereaux - - * tests/tcltest.test: tcltest-12.3-4 needed to have - ::tcltest::loadScript set to empty in their -setup - -2004-09-10 Donal K. Fellows - - * generic/tclObj.c (SetIntOrWideFromAny): Rewritten integral value - parsing code so that values do not flip so easily between numeric - representations. Thanks to KBK for this! [Bug 868489] - - * generic/tclIO.c (Tcl_Seek): Make sure wide seeks do not fail to set - ::errorCode on error. [Bug 1025359] - -2004-09-10 Andreas Kupries - - * generic/tcl.h: Micro formatting fixes. - * generic/tclIOGT.c: Channel version fixed, must be 3, to have - wideseekProc. Thanks to David Graveraux . - -2004-09-11 Don Porter - - * generic/tclNamespace.c (TclGetNamespaceForQualName): Resolved - longstanding inconsistency in the treatment of the TCL_NAMESPACE_ONLY - flag revealed by testing the 2004-09-09 commits against Itcl. - TCL_NAMESPACE_ONLY now acts as specified in the pre-function comment, - forcing resolution in the passed in context namespace. It has been - incorrectly forcing resolution in the interp's current namespace. - -2004-09-10 Kevin Kenny - - * library/clock.tcl: Fixed a bug where %z always put a plus sign on - the time zone in :localtime. - * tests/clock.test: Added test case for the above bug. - -2004-09-10 Miguel Sofer - - * generic/tclExecute.c (INST_CONCAT1): added a peephole optimisation - for concatting an empty string. This enables replacing the idiom 'K $x - [set x {}]' by '$x[set x {}]' for fastest execution. - -2004-09-09 David Gravereaux - - * win/tclWinConsole.c: Calls to WriteFile and WriteConsoleA changed to - WriteConsole for simplicity. - -2004-09-09 Don Porter - - * generic/tclNamesp.c (Tcl_ForgetImport): Corrected faulty - - * tests/namespace.test: logic that relied exclusively on string - matching and failed in the presence of [rename]s. [Bug 560297] Also - corrected faulty prevention of [namespace import] cycles. [Bug 1017299] - -2004-09-08 Don Porter - - * generic/tclBasic.c (Tcl_CreateInterp): Removed obsolete field - for storing the string-based command procedure of built-in commands. - We no longer have any string-based built-in commands! - -2004-09-08 Kevin B. Kenny - - * compat/strftime.c (_conv): Corrected a problem where hour 0 would - format as a blank format group with %k. - * doc/clock.n: Corrected a buglet in the header information. [Bug - 1024058] - * generic/tclClock.c (TclClockMktimeObjCmd): Fixed a bug where the - month was scanned incorrectly in -timezone :localtime. - * tests/clock.test (clock-34.*,clock-40.1, clock-41.1): Adjusted the - clock-34.* test cases so that the consistency check is performed in - :localtime rather than the current time zone. This change allows - dealing with issues where the C library has a different idea of DST - conversion than Tcl. (Real fix would be to break TclGetDate into - separate parser and time converter, and do the time conversion in - clock.tcl. That's for another day.) Added regression test case for the - bug where month was scanned incorrectly in -timezone :localtime. [Bug - 1023779] Added regression test case for %k at the zero hour. - -2004-09-07 David Gravereaux - - * win/makefile.vc: some quoting needed to be removed as it was - breaking with VC7. [Bug 1023150] - -2004-09-07 Kevin B. Kenny - - * doc/clock.n: Documented the default -format, and changed references - to a (nonexistent) msgcat command to refer to the msgcat package. [Bug - 1023870] - * generic/tclTimer.c: Removed a premature optimisation that attempted - to store the assoc data in the client data; the optimisation caused a - bug that [after] would overwrite its imports. [Bug 1016167] - * library/clock.tcl (InitTZData, ClearCaches): Changed so that the - in-memory time zone :UTC (and its aliases) always gets reinitialised, - in case tzdata is absent. [Bug 1019537, 1023779] - * library/tzdata/*: Regenerated. - * tests/clock.test (clock-31.*, clock-39.1): Corrected a problem where - the 'system' locale tests fail on a non-English Windows machine. [Bug - 1023761]. Added a test to make sure that alias time zones load - correctly. [Bug 1023779]. - * tests/timer.test (timer-1.1, timer-2.1): Changed to (one hopes!) be - more resilient on an overloaded system, if [after 200] sleeps for 300 - ms or longer. - * tools/tclZIC.tcl (writeLinks): Corrected a problem where alias time - zone names were written incorrectly, causing them to fail to load at - run time. [Bug 1023779]. - * win/tclWinTime.c (Tcl_GetTime): Eliminated CPUID tests on Win64 - - assuming that HAL vendors now do a better job of keeping the - performance counters synchronized among CPU's. [Bug 1020445] - -2004-09-06 Donal K. Fellows - - * doc/tclvars.n, doc/tcltest.n, doc/tclsh.1, doc/safe.n, doc/expr.n - * doc/WrongNumArgs.3, doc/Utf.3, doc/TraceVar.3, doc/Thread.3 - * doc/TCL_MEM_DEBUG.3, doc/SubstObj.3, doc/StdChannels.3 - * doc/SetResult.3, doc/RegExp.3, doc/RegConfig.3, doc/RecEvalObj.3 - * doc/PrintDbl.3, doc/ParseCmd.3, doc/Panic.3, doc/ObjectType.3 - * doc/Object.3, doc/Namespace.3, doc/Interp.3, doc/IntObj.3 - * doc/Hash.3, doc/GetOpnFl.3, doc/GetIndex.3, doc/Eval.3 - * doc/Encoding.3, doc/DoubleObj.3, doc/DictObj.3, doc/CrtTimerHdlr.3 - * doc/CrtObjCmd.3, doc/CrtMathFnc.3, doc/CrtCommand.3, doc/CrtChannel.3 - * doc/ChnlStack.3, doc/ByteArrObj.3, doc/AssocData.3, doc/Alloc.3: - More documentation fixes from Mikhail Kolesnitchenko. [Patch 1022527] - -2004-09-03 Donal K. Fellows - - * unix/tclUnixFCmd.c: Stop NULL interp arguments from triggering a - crash when an error happens. [Bug 1020538] - -2004-09-02 Donal K. Fellows - - * doc/lsearch.n: Clarified meaning of -dictionary. [Bug 759545] - -2004-09-02 Vince Darley - - * win/makefile.vc: clock.tcl needs to be installed. - -2004-09-01 Jeff Hobbs - - * win/tclWinReg.c (BroadcastValue): WIN64 cast corrections - - * win/tclWinDde.c (DdeClientWindowProc): - (DdeServicesOnAck, DdeEnumWindowsCallback): WIN64 corrections - - * win/tclWin32Dll.c (TclWinCPUID): need _asm for WIN64 (Itanium), - until we have it, just return unknown. [Bug 1020445] - -2004-09-01 Donal K. Fellows - - * doc/regsub.n, doc/RegConfig.3, doc/Environment.3: - * doc/CrtChannel.3, doc/safe.n: Use correct abbreviations. - -2004-08-31 Donal K. Fellows - - * doc/trace.n, doc/socket.n, doc/registry.n, doc/pid.n: - * doc/namespace.n, doc/msgcat.n, doc/lsort.n, doc/lsearch.n: - * doc/linsert.n, doc/info.n, doc/http.n, doc/history.n: - * doc/format.n, doc/file.n, doc/exec.n, doc/dde.n, doc/clock.n: - * doc/catch.n, doc/binary.n: More spelling and grammar fixes from - Mikhail Kolesnitchenko. [Patch 1018486] - -2004-08-31 Vince Darley - - * doc/FileSystem.3: - * generic/tclIOUtil.c: Clarified documentation regarding ability of a - filesystem to say that it doesn't support a given operation using the - EXDEV Posix error code (copyFileProc, renameFileProc, etc), and - updated one piece of code to ensure correct behaviour when an - operation is not supported [Bug 1017072] - - * tests/fCmd.test: fix to test suite problem [Bug 1002884] - -2004-08-31 Daniel Steffen - - * unix/Makefile.in (install-libraries): portable sh fix. - -2004-08-30 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): Stop [string map] from - crashing when its map and input string are the same object. - -2004-08-27 Donal K. Fellows - - * generic/tclNamesp.c (FindEnsemble): Factor out the code to convert a - command name into an ensemble configuration and add support for - ignoring [namespace import] link chains. [Bug 1017022] - (NamespaceWhichCmd): Rework to use newer option parsing API. - -2004-08-27 Daniel Steffen - - * unix/Makefile.in: added customization of default module path roots - via TCL_MODULE_PATH makefile variable. - * macosx/Makefile: add platform standard locations to default module - path roots. [Patch 942881] - - * tests/env.test: macosx fixes. - -2004-08-25 Don Porter - - * tests/timer.test (timer-10.1): Test for Bug 1016167. - * generic/tclTimer.c: Workaround for situation when a [namespace - import] causes the objv[0] value to be something other than what - Tcl_AfterObjCmd expects. [Bug 1016167]. - -2004-08-25 Donal K. Fellows - - * generic/tclNamesp.c (NsEnsembleImplementationCmd): Use the ensemble - command token to get the name of the ensemble for passing to the - -unknown handler instead of relying on objv[0], which may contain - useless info in the presence of [namespace import]. Problem found by - Don Porter when investigating [Bug 1016167]. - -2004-08-24 Don Porter - - * generic/tclProc.c: The routine TclProcInterpProc was a - * generic/tclTestProcBodyObj.c: specific instance of the general - service already provided by TclObjInvokeProc. Removed - TclProcInterpProc and TclGetInterpProc from the code... - - * generic/tclInt.decls: ...and from the internal stubs table. - * generic/tclIntDecls.h - * generic/tclStubInit.c - -2004-08-24 Donal K. Fellows - - * doc/string.n: Added clarifying note. - -2004-08-23 Don Porter - - * library/auto.tcl: Updated [tcl_findLibrary] search path to - include any [::pkgconfig get scriptdir,runtime] directory, as - well as the $::auto_path. [RFE 695441] - -2004-08-21 Kevin B. Kenny - - * tests/clock.test (clock-38.1): Changed TZ setting to specify CET in - excruciating detail to deal with systems that lack the Posix defaults - for DST changes (and to be formally correct with the change dates for - CET). - -2004-08-19 Donal K. Fellows - - * generic/tclScan.c (Tcl_ScanObjCmd, ValidateFormat): Ensure that the - %ld conversion works correctly on 64-bit platforms. [Bug 1011860] - -2004-08-19 Kevin Kenny - - * library/clock.tcl (format): Changed default timezone format from - alphabetic to numeric to produce scannable times in more locales. - * tests/clock.test (clock-37.1): Removed now-unused 'needPST' - constraint and the comments that refer to it. - -2004-08-18 Andreas Kupries - - * library/init.tcl: Integrated TIP #189. We source a separate file - (see below), instead of inlining the contents of that file. This - should beeasier to maintain, and easier to backport/install in 8.4 - installations. - - Note: Usage of Tcl Modules is restricted to non-safe interps. It - cannot be loaded into a safe interp. - - * library/tm.tcl: New file, the v2 reference implementation for TIP - #189, Tcl Modules. - - * doc/tm.n: New file, documentation for Tcl Modules, based on the TIP. - - * unix/mkLinks: Regenerated. - * win/makefile.vc: Added tm.tcl to list of files to install. - -2004-08-18 Kevin Kenny - - * tests/httpd (httpdRespond): Corrected an abuse of the [clock] - command that caused test failures for some values of [clock clicks]. - - * doc/clock.n - * generic/tclBasic.c (Tcl_CreateInterp, Tcl_HideUnsafeCommands): - * generic/tclClock.c (all): - * generic/tclInt.h: - * generic/tclInterp.c (CreateSlave): - * library/clock.tcl: (new file) - * library/init.tcl (clock): - * library/msgs/*.msg:(new files) - * library/tzdata/*: - * library/tzdata/*/*: - * library/tzdata/*/*/*: (new files) - * tools/installData.tcl: (new file) - * tools/loadICU.tcl: (new file) - * tools/makeTestCases.tcl: (new file) - * tools/tclZIC.tcl: (new file) - * unix/Makefile.in: - * unix/configure: (regenerated) - * unix/tcl.m4: - * tests/clock.test (all): - * win/Makefile.in: - * win/Makefile.vc: - Implementation of TIPs #173 and #209. - - The [clock] command is now a Tcl ensemble, with most of its - functionality written in Tcl and callouts to C code only to access - low-level functions such as localtime, mktime and tzset. - - In addition to the functionality changes called out in the two TIPs, - it is worth noting that the [clock] command in a safe slave - interpreter is now an alias to the [clock] command in the master, and - that [clock] is otherwise not expected to function entirely correctly - in safe interps. C code that simply does Tcl_MakeSafe needs to be - aware that [clock] may need special handling. (It appears unlikely - that such code actually exists.) - - One incompatibility of note is that if the time zone cannot be - determined from the TZ, TCL_TZ environment variables, or from the - Windows control panel, so that the C library must be used for date and - time conversions, then times outside the range of time_t will fail; - they used to return bad data silently. - - Many thanks to all the many people who assisted with testing, - debugging, criticism of the specification, and localisation. Deserving - of particular mention are Joe English, Clif Flynt, Donal K. Fellows, - Jeff Hobbs, Cameron Laird, Arjen Markus, Reinhard Max, Christopher - Nelson, Steve Offutt, Donald G. Porter, Pascal Scheffers, Peter da - Silva and Richard Suchenwirth-Bauersachs. - - *** POTENTIAL INCOMPATIBILITY *** - -2004-08-16 Miguel Sofer - - * doc/SetVar.3: - * generic/tclTest.c (TestseterrorcodeCmd): - * generic/tclVar.c (TclPtrSetVar): - * tests/result.test (result-4.*, result-5.*): [Bug 1008314] detected - and fixed by dgp. - -2004-08-13 Don Porter - - * library/msgcat/msgcat.tcl: Added checks to prevent [mclocale] - * tests/msgcat.test: from registering filesystem paths to possibly - malicious code to be evaluated by a later [mcload]. - -2004-08-10 Zoran Vasiljevic - - * unix/tclUnixThrd.c (TclpThreadCreate): changed handling of the - returned thread ID since broken on 64-bit systems (Cray). Thanks to - Rob Ratcliff for reporting the bug. - -2004-08-03 Donal K. Fellows - - * generic/tclNamesp.c (MakeCachedEnsembleCommand): Initialize the - epoch field cached in the subcommand. [Bug 989298] - (NsEnsembleImplementationCmd): Plug a leak (thanks to Miguel Sofer for - spotting it with valgrind) and reduce the number of goto labels to - make the code clearer. - -2004-08-02 Don Porter - - * library/package.tcl (pkg_mkIndex): Updated [pkg_mkIndex] to make - use of [glob -directory $dir -tails] and return options. - - TIP#207 IMPLEMENTATION - - * doc/interp.n: Added support for a -namespace option to the - * generic/tclBasic.c: [interp invokehidden] command. Also added an - * generic/tclInt.h: internal routine TclObjInvokeNamespace() and - * generic/tclInterp.c: corrected the flag names TCL_FIND_ONLY_NS and - * generic/tclNamesp.c: TCL_CREATE_NS_IF_UNKNOWN that are passed to the - * generic/tclTrace.c: internal routine TclGetNamespaceForQualName(). - * tests/interp.test: [Patch 981841] - - * generic/tclLiteral.c (TclCleanupLiteralTable): Corrected - * tests/compile.test (compile-12.4): flawed deletion of literal - internal reps that could lead to accessing of freed memory. Thanks to - Kevin Kenny for test case and fix [Bug 1001997]. - -2004-07-30 Don Porter - - * tests/safe.test (safe-2.1): Disabled senseless test. [Bug 999612] - - * library/auto.tcl (auto_reset): Removed "protected" list of commands - from [auto_reset]. All entries in the auto_index can be re-loaded. - * library/package.tcl: Updated comment to reflect 2004-07-28 commit. - - * generic/tclEvent.c (Tcl_Finalize): Re-organized Tcl_Finalize so - that Tcl_ExitProc's that call Tcl_Finalize recursively do not cause - deadlock. [Patch 999084 fixes Tk Bug 714956] - -2004-07-30 Daniel Steffen - - * unix/configure: - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Darwin: instead of setting PLAT_OBJS - to explict object files in tcl.m4, refer to MAC_OSX_OBJS makefile var. - * unix/Makefile.in: added MAC_OSX_OBJS variable. - -2004-07-29 Don Porter - - * library/package.tcl: [::pkg::create] is now an alias. Test safe-2.1 - will now fail until Bug 999612 is corrected. - -2004-07-28 Don Porter - - * library/package.tcl: Moved private command - * library/tclIndex: [pkg_compareExtension] into ::tcl::Pkg. - * tests/pkg_mkIndex.test: Also moved implementation of - [::pkg::create] to [::tcl::Pkg::Create]. - -2004-07-25 Pat Thoyts - - * tests/io.test: Make io-61.1 create file as binary to pass on Win32 - -2004-07-23 Miguel Sofer - - * generic/tclVar.c: simplify tclLocalVarNameType, removing the - reference to the corresponding proc. The reference is now seen as - unnecessary, and it may cause leaking circular references under some - circumstances (see for example [Bug 994838]). - -2004-07-22 Don Porter - - * tests/eofchar.data (removed): Test io-61.1 now generates its own - * tests/io.test: file of test data as needed. - -2004-07-20 Jeff Hobbs - - * generic/tclEvent.c: Correct threaded obj allocator to - * generic/tclInt.h: fully cleanup on exit and allow for - * generic/tclThreadAlloc.c: reinitialization. [Bug 736426] - * unix/tclUnixThrd.c: (mistachkin, kenny) - * win/tclWinThrd.c: - -2004-07-21 Kevin Kenny - - * generic/tclBasic.c (DeleteInterpProc): - * generic/tclLiteral.c (TclCleanupLiteralTable): - * generic/tclInt.h: added a TclCleanupLiteralTable function, called - from DeleteInterpProc, that frees internal representations of shared - literals early when an interpreter is being deleted. This change - corrects a number of memory mismanagement issues in the cases where - the internal representation of one literal contains a reference to - another, and avoids conditions such as resolved variable names - referring to procedure and namespace contexts that no longer exist. - [Bug 994838] - -2004-07-20 Daniel Steffen - - * unix/Makefile.in: - * win/Makefile.in: added 'install-private-headers' makefile target to - allow optionally installing private tcl headers. [FR 922727] - - * macosx/Makefile: use new 'install-private-headers' target to install - private headers into framework. [FR 922727] - - * unix/tclUnixFile.c (NativeMatchType): added support for readonly - matching of user immutable files (where available). - - * macosx/tclMacOSXBundle.c: dynamically acquire address for - CFBundleOpenBundleResourceMap symbol, since it is only present in full - CoreFoundation on Mac OS X and not in CFLite on pure Darwin. - -2004-07-19 Zoran Vasiljevic - - * win/tclwinThrd.c: redefined MASTER_LOCK to call TclpMasterLock. - Fixes [Bug 987967] - -2004-07-17 Vince Darley - - * generic/tclIOUtil.c: fix to rare 'cd' infinite loop in normalization - with vfs [Bug 991420]. - * tests/fileSystem.test: added test for above bug. - - * doc/FileSystem.3: clarified documentation of Posix error codes in - 'remove directory' FS proc - 'EEXIST' is used to signify a non-empty - directory error (bug reported against tclvfs). - -2004-07-16 Jeff Hobbs - - * unix/Makefile.in, unix/tcl.m4: move (C|LD)FLAGS after their - * unix/configure.in, unix/configure: _DEFAULT to allow for env setting - to override m4 switches. Move SC_MISSING_POSIX_HEADERS up and - consolidate calls to limit redundancy in configure. - (CFLAGS_WARNING): Remove -Wconversion - (SC_ENABLE_THREADS): Set m4 to force threaded build when built against - a threaded Tcl core. - -2004-07-16 Andreas Kupries - - * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Corrected a typo in the - generation of error messages and simplified by reusing data in a - variable instead of retrieving the string again. Fixes [Bug 835289]. - - * doc/OpenFileChnl.3: Added description of the behaviour of - Tcl_ReadChars when its 'charsToRead' argument is set to -1. Fixes [Bug - 934511]. - - * doc/CrtCommand.3: Added note that the arguments given to the command - proc of a Tcl_CreateCommand are in utf-8 since Tcl 8.1. Closing [Patch - 414778]. - - * doc/ChnlStack.3: Removed the declaration that the interp argument to - Tcl_(un)StackChannel can be NULL. This fixes [Bug 881220], reported by - Marco Maggi . - - * tests/socket.test: Accepted two new testcases by Stuart Casoff - checking that -server and -async don't go - together [Bug 796534]. - - * unix/tclUnixNotfy.c (NotifierThreadProc): Accepted Joe Mistachkin's - patch for [Bug 990500], properly closing the notifier thread when its - exits. - -2004-07-15 Andreas Kupries - - * unix/tclUnixThrd.c (TclpFinalizeMutex): Accepted Joe Mistachkin's - patch for [Bug 990453], closing leakage of mutexes. They were not - destroyed properly upon finalization. - -2004-07-15 Andreas Kupries - - * generic/tclIO.h (CHANNEL_INCLOSE): New flag. Set in - * generic/tclIO.c (Tcl_UnregisterChannel): 'Tcl_Close' while the - * generic/tclIO.c (Tcl_Close): close callbacks are - run. Checked in 'Tcl_Close' and 'Tcl_Unregister' to prevent recursive - call of 'close' in the close-callbacks. This is a possible error made - by implementors of virtual filesystems based on 'tclvfs', thinking - that they have to close the channel in the close handler for the - filesystem. - -2004-07-14 Andreas Kupries - - * generic/tclIO.c: - * generic/tclIO.h: - * Not reverting, but #ifdef'ing the changes from May 19, 2004 out of - the core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel - drivers it introduced. This has become possible due to Expect gaining - a BlockModeProc and now handling blockingg and non-blocking modes - correctly. Thus [SF Tcl Bug 943274] is still fixed if a recent enough - version of Expect is used. - - * doc/CrtChannel.3: Added warning about usage of a channel without a - BlockModeProc. - -2004-07-15 Andreas Kupries - - * generic/tclIOCmd.c (Tcl_PutsObjCmd): Added length check to the old - depreceated newline syntax, to ensure that only "nonewline" is - accepted. [Tcl SF Bug 985869], reported by Joe Mistachkin - . - -2004-07-15 Zoran Vasiljevic - - * generic/tclEvent.c (Tcl_Finalize): stuffed memory leak incurred by - re-initializing of TSD slots after the last call to - TclFinalizeThreadData (done from within Tcl_FinalizeThread()). We - basically just repeat the TclFinalizeThreadData() once more before - tearing down TSD keys in TclFinalizeSynchronization(). There should be - more elaborate mechanism in place for handling such issues, based on - thread cleanup handlers registered on the OS level. Such change - requires much more work and would also require TIP because some - visible parts of Tcl API would have to be modified. In the meantime, - this will do. - - * generic/tclNotify.c (TclFinalizeNotifier): Added conditional - notifier finalization based on the fact that an TclInitNotifier has - been called for the current thread. This fixes the [Bug 770053] again. - Hopefully this time w/o unwanted side-effects. - -2004-07-15 Kevin Kenny - - * generic/tclLiteral.c (TclReleaseLiteral): Removed unused variable - 'codePtr' to silence a message from VC++. - -2004-07-15 Miguel Sofer - - * generic/tclCompile.c (TclCompileScript): - * generic/tclLiteral.c (TclReleaseLiteral): fix for [Bug 467523], - which resurfaced with the latest changes. The previous strategy was to - have special code in TclReleaseLiteral to handle the self-references - generated by empty scripts. The new approach avoids the self-reference - altogether, by having empty scripts return an unshared literal. - -2004-07-15 Zoran Vasiljevic - - * generic/tclEvent.c (NewThreadProc): Backout of changes to fix the - [Bug 770053]. See SF bugreport for more info. - -2004-07-11 Miguel Sofer - - * generic/tclBasic.c (Tcl_EvalEx): leak fix by dgp, release - objv[objectsUsed] on error. - -2004-07-11 Miguel Sofer - - * generic/tclParse.c (Tcl_SubstObj): leak fix by dgp, release result - on error. - -2004-07-11 Donal K. Fellows - - * generic/tclNamesp.c (BuildEnsembleConfig): Don't forget to clean out - references when deleting the hash table. - * generic/tclDictObj.c (Tcl_DictObjRemoveKeyList): Oops, forgot to - delete value object when removing the hash entry. [Bug 989093 in part] - -2004-07-11 Miguel Sofer - - * generic/tclExecute.c (TEBC): fixed leak of expandNestList objs when - there is an error while an expansion is in progress (code added at - checkForCatch). - -2004-07-11 Vince Darley - - * generic/tclIOUtil.c: fix to 'cd' bug when vfs is active [tclvfs Bug - 986944] - this bug recently introduced by some threading fixes. Need - to work out how to add tests for this. - -2004-07-10 Kevin Kenny - - * tests/clock.test (clock-2.11): Changed the test so that it isn't an - infinite loop when run under valgrind on a slow virtual machine. - Thanks to Miguel Sofer for the bug report. Also put in code to restore - env(LC_TIME) after tests complete, silencing a warning from 'make - TESTFLAGS="-debug 1" test'. - -2004-07-08 Miguel Sofer - - * generic/tclBasic.c (DeleteInterpProc): reverted the modification of - 3 days ago, as the leak of [Bug 983660] is now handled by the change - in TclCleanupByteCode. - * generic/tclCompile.c (TclCleanupByteCode): let each bytecode remove - its references to literals at interp deletion, without updating the - dying literal table. - * generic/tclLiteral.c (TclDeleteLiteralTable): with the above change - to TclCleanupByteCode, this function now removes a single reference to - the literal object and cleans up its own structures. - -2004-07-08 Kevin Kenny - - * win/tclWinInit.c (AppendEnvironment): Silenced a compilation warning - about a type mismatch. - -2004-07-07 Miguel Sofer - - * generic/tclCompile.c (TclCompileScript): fix for [Bug 458361]. - Single-word scripts are compiled with an unshared cmdName to avoid - shimmering between bytecode and cmdName reps. - -2004-07-07 Don Porter - - * generic/tclCmdMZ.c (TclMergeReturnOptions): Simplified logic and - removed potential memory leak. [Bug 986257]. - -2004-07-07 Donal K. Fellows - - * tools/man2help2.tcl (setTabs, IPmacro): Added support for the more - advanced *roff macros used in Tk's doc/bind.n - - * generic/tclObj.c (TclInitObjSubsystem): Declare all current object - types. - -2004-07-06 Don Porter - - * tests/cmdMZ.test (cmdMZ-return-2.17): Added a test that a word - containing backslash-quoted value is treated correctly. - - * generic/tclCompile.c (TclWordKnownAtCompileTime): [Bug 986196] - Corrected flaw above and the flaw that caused TCL_TOKEN_SIMPLE_WORDs - to have their original word value copied ( "{a b}" ) rather than the - actual value ( "a b" ). Thanks to Kevin Kenny for report and tests. - -2004-07-06 Kevin B. Kenny - - * tests/cmdMZ.test (cmdMZ-return-2.15,cmdMZ-return-2.16): Added a test - that a return code containing spaces is correctly returned. - -2004-07-06 Donal K. Fellows - - * tools/man2html2.tcl (IPmacro, setTabs): Added support for the more - advanced *roff macros used in Tk's doc/bind.n - -2004-07-05 Miguel Sofer - - * generic/tclBasic.c (DeleteInterpProc): fix for [Bug 983660], found - by pspjuth. Tear down the global namespace before freeing the interp - handle, to allow the bytecodes to free their non-shared literals. - * generic/tclLiteral.c (TclReleaseLiteral): moved special code for - self-ref so that it is also used for non-shared literals. Possible bug - found by inspection. - -2004-07-03 Miguel Sofer - - * generic/tclExecute.c (ExprRoundFunc): - * tests/expr-old.test (39.1): added support for wide integers to - round(); [Bug 908375], reported by Hemang Lavana. - -2004-07-03 Miguel Sofer - - * generic/tclCompile.h: - * generic/tclInt.decls: - * generic/tclIntDecls.h: - * generic/tclStubInit.c: Moved declaration of TclCompEvalObj() from - tclCompile.h to the internal stubs table, for compiler - experimentation. - -2004-07-02 Jeff Hobbs - - * generic/regcomp.c (stid): correct minor pointer size error - - * generic/tclPipe.c (TclCreatePipeline): applied TIP #202 patch that - * doc/exec.n, tests/exec.test: adds 2>@1 as a special case - redirection of stderr to the result output. - -2004-07-02 Kevin B. Kenny - - * tests/io.test: Changed several tests to run the event loop rather - than just calling [update] periodically, avoiding intermittent - failures (usually in io-29.32) that stemmed from unreaped processes on - Windows. - * tests/winPipe.test (winpipe-1.11): Fixed a bug that caused test to - fail if the path name of the working directory contained whitespace - [Bug 678430] - -2004-07-01 Vince Darley - - * tests/fileSystem.test: Added test for [Bug 970529] - -2004-07-01 Donal K. Fellows - - * win/README.binary, win/README: Updated references to Tcl and Tk 8.4 - to point to 8.5 instead. Thanks to Theo Verelst for spotting this. - * generic/tcl.h: Added note to help prevent those changes from getting - missed in the future. - - * doc/Namespace.3, doc/load.n, doc/Limit.3: Typo fixes and remove - duplicate documentation. [Bug 983146] - -2004-06-30 Don Porter - - * tests/fileSystem.test: Minor correction to new fileSystem-9.X tests - so that they clean up temporary directories correctly. - -2004-06-30 Vince Darley - - * doc/filename.n: clarified behaviour concerning trailing slashes in - filenames [Bug 971976] - - * win/tclWinFile.c: - * tests/fileSystem.test: fix and tests for [Bug 979879] - -2004-06-30 Donal K. Fellows - - TIP#188 IMPLEMENTATION - - * doc/string.n, tests/string.test: Add 'wideinteger' to things - * generic/tclCmdMZ.c (Tcl_StringObjCmd): that can be tested for with - the [string is] subcommand. [Patch 940915, by Kevin Kenny] - -2004-06-29 Don Porter - - * win/tclWinInit.c: Corrected reference counting flaw in recent - changes. Thanks to Pat Thoyts. [Bug 981893]. - -2004-06-29 Vince Darley - - * win/tclWin32Dll.c: fix to compilation with VC++ 5.2 - -2004-06-29 Donal K. Fellows - - * library/safe.tcl: Make sure that the temporary variable is local to - the namespace and not inadvertently global. [Bug 981733] - -2004-06-24 Donal K. Fellows - - * tests/unixNotfy.test: Modified constraints so that testing with a - threaded tclsh (not tcltest) will not hang. - -2004-06-23 Don Porter - - * generic/tclThreadStorage.c: Corrected type casting errors that led - to calculation of a negative index value, thus accesses outside the - threadStorageCache array, thus memory corruption. Crash observed on - Mac OS X platform. - -2004-06-23 Joe Mistachkin - - * generic/tclThread.c: Implements platform independent thread storage - * generic/tclThreadStorage.c: mechanism and fixes associated bugs on - platforms where there is limited thread local storage space - (Win98/WinNT4). [Patch 976496] - - * generic/tclInt.decls: - * generic/tclIntDecls.h: Added thread storage functions to the - * generic/tclStubInit.c: internal stubs table. - - * unix/Makefile.in: - * unix/configure: - * unix/tcl.m4: - * win/makefile.vc: - * win/rules.vc: - * win/Makefile.in: Modified the unix, VC++, and Cygwin build systems - * win/configure: to include the new "tclThreadStorage.c" and the new - * win/tcl.m4: USE_THREAD_STORAGE define. - -2004-06-23 Pat Thoyts - - * tests/io.test: Added -force to 18.1 and 18.2. This was failing on - WinXP. - - * tests/winFCmd.test: Added a cleanup to winFCmd-16.11 to avoid a - failure in 16.12. - - * tests/eofchar.data: Added -kb option to ensure a binary checkout to - win32 systems. This fixes a failure in io-61.1 - - * win/makefile.vc: fix for [Bug 977369] about launching tclsh to - generate a tclConfig.sh with the nmake build system - -2004-06-23 Kevin B. Kenny - - * tests/winDde.test (createChildProcess): Added a 200-ms delay (with - the event loop live) when shutting down the test DDE server process. - With the delay in place, nuisance failures of tests winDde-4.2, -6.5, - and -6.6 appear to be much less frequent. [Bug 957449] - -2004-06-23 Donal K. Fellows - - * tests/*.test: Standardize use of platform constraints. - - * unix/tclUnixInit.c (GetStackSize, TclpCheckStackSpace): - * unix/tclUnixThrd.c (TclpThreadGetStackSize): Added code to check - whether the C stack is about to be exceeded, from [Patch 746378] by - Joe Mistachkin but with substantial revisions. - -2004-06-22 Kevin Kenny - - * generic/tclEvent.c (NewThreadProc): Fixed broken build on Windows - caused by missing TCL_THREAD_CREATE_RETURN. - - * tests/stack.test (stack-3.1): Corrected nuisance error in threaded - builds. - -2004-06-22 Zoran Vasiljevic - - * generic/tclEvent.c: - * generic/tclInt.h: - * unix/tclUnixNotfy.c: - * unix/tclUnixThrd.c: - * win/tclWinThrd.c: [Bug 770053]. See bug report for more information - about what it does. - - * tests/unixNotfy.test: rewritten to use tcltest::threadReap to - gracefully wait for the test thread to exit. Otherwise we got a race - condition with main thread exiting before the test thread. This - exposed the long-standing Tcl lib issue with resource - garbage-collection on application exit. - -2004-06-21 Mo DeJong - - * win/tclWin32Dll.c (DllMain, _except_dllmain_detach_handler) - (TclpCheckStackSpace, _except_checkstackspace_handler) - (TclWinCPUID, _except_TclWinCPUID_detach_handler): - * win/tclWinChan.c (Tcl_MakeFileChannel) - (_except_makefilechannel_handler): - * win/tclWinFCmd.c (DoRenameFile, _except_dorenamefile_handler) - (DoCopyFile, _except_docopyfile_handler): - Rework pushing of exception handler function pointer so that compiling - with gcc -O3 works. Remove empty function call to avoid compiler - warning. Mark the DllMain function as noinline to avoid compiler error - from duplicated asm labels in generated code. - -2004-06-21 Donal K. Fellows - - * generic/tclThreadAlloc.c (Ptr2Block): Rewrote so as to maximize the - chance of detecting and reporting a memory inconsistency without - relying on things being consistent. [Bug 975895] - -2004-06-18 Don Porter - - * tests/load.test: Relaxed strictness of error message matching - for test load-2.3 so that it will pass on Mac OSX. - - * generic/tclEncoding.c: Static TclFindEncodings -> FindEncodings. - * generic/tclInt.h: Updated TclpFindExecutable() so that failed - * generic/tclUtil.c: attempts to find the executable are saved - * unix/tclUnixFile.c: just as successful finds are. [Patch 966053] - * unix/tclUnixTest.c: - -2004-06-18 Kevin B. Kenny - - * tests/winFCmd.test (winFCmd-16.12): Changed test to compute the - target directory, so as not to fail if the user's HOME isn't the root. - -2004-06-19 Daniel Steffen - - * unix/tcl.m4: autoconf 2.5 fixes in Darwin section. - * unix/configure: autoconf-2.57 - -2004-06-18 Donal K. Fellows - - * unix/tclUnixInit.c (localeTable): Added some more locale to encoding - mapping info from Jim Huang - - * generic/tclInt.h (PendingObjData,TclFreeObjMacro,etc): - * generic/tclObj.c (TclFreeObj): Added scheme for making TclFreeObj() - avoid blowing up the C stack when freeing up very large object trees. - [Bug 886231] - - * win/tclWinInit.c (SetDefaultLibraryDir): Fix logic, simplify and add - comments. - -2004-06-17 Don Porter - - * generic/tclObj.c: Added missing space in panic message. - - * win/tclWinInit.c: Inform [tclInit] about the default library - directory via the ::tclDefaultLibrary variable. This should correct a - problem with my 2004-06-11 commit. Better solutions still in the - works. Thanks to Joe Mistachkin for pointing out the breakage. - -2004-06-16 Don Porter - - * doc/library.n: Moved variables ::auto_oldpath and - * library/auto.tcl: ::unknown_pending into ::tcl namespace. - * library/init.tcl: [Bugs 808319, 948794] - -2004-06-15 Donal K. Fellows - - * doc/binary.n: Added some notes to the documentation of the 'a' - format to address the point raised in [RFE 768852]. - -2004-06-15 Jeff Hobbs - - * unix/tclConfig.sh.in (TCL_EXTRA_CFLAGS): set to @CFLAGS@, which is - the configure-time CFLAGS. Addendum to m4 change on 2004-05-26. - -2004-06-14 Kevin Kenny - - * win/Makefile.in: Corrected compilation flags for tclPkgConfig.c so - that it doesn't require Stubs. - * generic/tclBasic.c (Tcl_CreateInterp): Removed comment stating that - TclInitEmbeddedConfigurationInformation needs Stubs; with the change - above, the comment is now erroneous. - -2004-06-11 Don Porter - - * doc/Encoding.3: Removed bogus claims about tcl_libPath. - - * generic/tclInterp.c (Tcl_Init): Stopped setting the - tcl_libPath variable. [tclInit] can get all its directories without it. - - * tests/unixInit.test: Modified test code that made use of - tcl_libPath variable. - - * unix/tclUnixInit.c: Stopped setting the tclDefaultLibrary variable, - execept on the Mac OS X platform with HAVE_CFBUNDLE. In that - configuration we should seek some way to make use of the TIP 59 - facilities and get rid of that usage of tclDefaultLibrary as well. - - * generic/tclInterp.c: Updated [tclInit] to make $env(TCL_LIBRARY) an - absolute path, and to include the scriptdir,runtime configuration value - on the search path for init.tcl. - - * unix/tclUnixInit.c: The routines Tcl_Init() and TclSourceRCFile() - * win/tclWinInit.c: had identical implementations for both win and - * generic/tclInterp.c: unix. Moved to a single generic implementation. - * generic/tclMain.c: - * library/init.tcl: - * generic/tclInitScript.h (removed): - * unix/Makefile.in: - * win/tcl.dsp: - - * unix/configure.in: Updated TCL_PACKAGE_PATH value to handle - * win/configure.in: --libdir configuration. - - * unix/configure.in: autoconf-2.57 - * win/configure.in: - - * generic/tclBasic.c (Tcl_CreateInterp): Moved call to - TclInitEmbeddedConfigurationInformation() earlier in - Tcl_CreateInterp() so that other parts of interp creation and - initialization may access and use the config values. - -2004-06-11 Kevin Kenny - - * win/tclAppInit.c: Restored the 'setargv' procedure when compiling - with mingw. Apparently, the command line parsing in mingw doesn't work - as well as that in vc++, and the result was (1) that winPipe-8.19 - failed, and (2) that 'make test' would work at all only with - TESTFLAGS='-singleproc 1'. [Bug 967195] - -2004-06-10 Zoran Vasiljevic - - * generic/tclIOUtil.c: removed forceful setting of the private cached - current working directory rep from within the Tcl_FSChdir(). We - delegate this task to the Tcl_FSGetCwd() which does this task anyway. - The relevant code is still present but disabled temporarily until the - change proves correct. The Tcl test suite passes all test with the - given change so I suppose it is good enough. - -2004-06-10 Don Porter - - * unix/tclUnixInit.c (TclpInitLibraryPath): Disabled addition of - * win/tclWinInit.c (TclpInitLibraryPath): relative-to-executable - directories to the library search path. A first step in reform of - Tcl's startup process. - - ***POTENTIAL INCOMPATIBILITY*** - Attempts to directly run ./tclsh or ./tcltest out of a build directory - will either fail, or will make use of an installed script library in - preference to the one in the source tree. Use `make shell` or `make - runtest` instead. - - * tests/unixInit.test: Modified tests to suit above changes. - - * generic/tclPathObj.c: Corrected [file tail] results when operating - on a path produced by TclNewFSPathObj(). [Bug 970529] - -2004-06-09 Zoran Vasiljevic - - * generic/tclIOUtil.c: partially corrected [Bug 932314]. Also - corrected return values of Tcl_FSChdir() to reflect those of the - underlying platform-specific call. Originally, return codes were mixed - with those of Tcl. - -2004-06-08 Miguel Sofer - - * generic/tclCompile.c: - * generic/tclExecute.c: handle warning [Bug 969066] - -2004-06-08 Donal K. Fellows - - * generic/tclHash.c (RebuildTable): Move declaration of variable so it - is only declared when it is used. [Bug 969068] - -2004-06-07 Donal K. Fellows - - * doc/lsearch.n: Added correct option to example. [Bug 968219] - -2004-06-05 Kevin B. Kenny - - * generic/tcl.h: Corrected Tcl_WideInt declarations so that the mingw - build works again. - * generic/tclDecls.h: Changes to the tests for clock - * generic/tclInt.decls: frequency in Tcl_WinTime so - * generic/tclIntDecls.h: that any clock frequency is - * generic/tclIntPlatDecls.h: accepted provided that all - * generic/tclPlatDecls.h: CPU's in the system share a - * generic/tclStubInit.c: common chip, and hence, - * tests/platform.test (platform-1.3): presumably, a common clock. - * win/tclWin32Dll.c (TclWinCPUID): This change necessitated a - * win/tclWinTest.c (TestwincpuidCmd) small burst of assembly code - * win/tclWinTime.c (Tcl_GetTime): to read CPU ID information, - which was added as TclWinCPUID in the internal Stubs. To test this - code in the common case of a single-processor machine, a - 'testwincpuid' command was added to tclWinTest.c, and a test case in - platform.test. Thanks to Jeff Godfrey and Richard Suchenwirth for - reporting this bug. [Bug 976722] - -2004-06-04 Don Porter - - * generic/tcl.h: Restored #include to tcl.h, - rejecting the "fix" for "Bug" 945570. Tcl_FSSeek() needs the values of - SEEK_SET, etc. and too many extensions rely on tcl.h providing stdio.h - for them. - -2004-06-02 Jeff Hobbs - - * win/tclWinFile.c (TclpFindExecutable): when using GetModuleFileNameA - (Win9x), convert from CP_ACP to WCHAR then convert back to utf-8. - Adjunct to 2004-04-07 fix. - -2004-06-02 David Gravereaux - - * tests/winPipe.test (winpipe-6.1): blocking set to 1 before closing - to ensure we get an exitcode. The windows pipe channel driver doesn't - differentiate between a blocking and non-blocking close just yet, but - will soon. Part of [Bug 947693] - -2004-06-02 Vince Darley - - * doc/file.n: fix to documentation of 'file volumes' (Bug 962435) - -2004-06-01 David Gravereaux - - * win/makefile.vc: check for either MSDEVDIR or MSVCDIR being in the - environment, for VC7. [Bug 942214] - - * generic/tclIO.c (Tcl_SetChannelOption): -buffersize wasn't - understanding hexidecimal notation nor was reporting number conversion - errors. The behavior to silently ignore settings outside the - acceptable range of Tcl_SetChannelBufferSize (<10 or >1M) is - unchanged. This silent ignoring behavior might be up for review soon. - -2004-05-30 David Gravereaux - - * win/tclWinPipe.c: - * win/tclWinPort.h: Reworked the win implementation of Tcl_WaitPid to - support exitcodes in the 'signed short' range. Even though this range - is non-portable, it is valid on windows. Detection of exception codes - are now more accurate. Previously, an application that exited with - ExitProcess((DWORD)-1); was improperly reported as exiting with - SIGABRT. - -2004-05-30 Donal K. Fellows - - * generic/tclInterp.c: Added comments describing the purposes of each - function in the limit implementation and rewrote the names of some - non-public functions for greater clarity of purpose. - * doc/interp.n: Added note about what happens when a limited - interpreter creates a slave interpreter. - * doc/Limit.3: Added manual page for the resource limit subsystem's C - API. [Bug 953903] - -2004-05-29 Joe English - - * doc/global.n, doc/interp.n, doc/lrange.n: Fix minor markup errors. - -2004-05-28 Donal K. Fellows - - * doc/*.n: Added examples to many (too many to list) more man pages. - -2004-05-25 Miguel Sofer - - * generic/tclExecute.c: - * generic/tclVar.c: using (ptrdiff_t) instead of (int) casting to - correct compiler warnings [Bug 961657], reported by Bob Techentin. - -2004-05-27 Kevin B. Kenny - - * tests/clock.test: Added a single test for the presence of %G in - [clock format], and conditioned out the clock-10.x series if they're - all going to fail because of a broken strftime() call. [Bug 961714] - -2004-05-27 Donal K. Fellows - - * generic/tclHash.c (CompareStringKeys): Added #ifdef to allow people - to instruct this function to use strcmp(). [FRQ 951168] - - * generic/tclVar.c: Moved declarations into #if guards so they only - happen when required. - * unix/tclUnixPort.h: Guard declaration of strtod() so it is only - enabled when we don't have a declaration in stdlib.h - * unix/tclUnixThrd.c (Tcl_CreateThread): Added declarations - * unix/tclUnixTest.c (AlarmHandler): and casts so that - * unix/tclUnixChan.c (TtyModemStatusStr): all functions are - * generic/tclScan.c (Tcl_ScanObjCmd): defined before use - * generic/tclDictObj.c (InvalidateDictChain): and no cross-type - * generic/tclCmdMZ.c (Tcl_StringObjCmd): uses are performed. - - The overall effect is to make building with gcc with the additional - flags -Wstrict-prototypes -Wmissing-prototypes produce no increase in - the total number of warnings (except for main(), which is undeclared - for traditional reasons.) - -2004-05-26 Jeff Hobbs - - * unix/Makefile.in: Rework configure ordering to TCL_LINK_LIBS, - * unix/tcl.m4: ENABLE_SHARED, CONFIG_CFLAGS, & ENABLE_SYMBOLS - * unix/configure: before TCL_EARLY_FLAGS and TCL_64BIT_FLAGS - * unix/configure.in: (about 400 lines earlier) in configure.in. This - forces CFLAGS configuration to be done before many tests, which is - needed for 64-bit builds and may affect other builds. Also make - CONFIG_CFLAGS append to CFLAGS directly instead of using EXTRA_CFLAGS, - and have LDFLAGS append to any existing value. [Bug 874058] - * unix/dltest/Makefile.in: change EXTRA_CFLAGS to DEFS - -2004-05-26 Don Porter - - * library/tcltest/tcltest.tcl: Correction to debug prints and testing - * library/tcltest/pkgIndex.tcl: if TCLTEST_OPTIONS value. Corrected - * tests/tcltest.test: double increment of numTestFiles in - -singleproc 1 configurations. Updated tcltest-19.1 to tcltest 2.1 - behavior. Corrected tcltest-25.3 to not falsely report a failure in - tcltest.test. Bumped to tcltest 2.2.6. [Bugs 960560, 960926] - -2004-05-25 Jeff Hobbs - - * doc/http.n (http::config): add -urlencoding option (default utf-8) - * library/http/http.tcl: that specifies encoding conversion of - * library/http/pkgIndex.tcl: args for http::formatQuery. Previously - * tests/http.test: undefined, RFC 2718 says it should be - utf-8. 'http::config -urlencoding {}' returns previous behavior, which - will throw errors processing non-latin-1 chars. Bumped http package to - 2.5.0. - -2004-05-25 Donal K. Fellows - - * generic/tclInterp.c (DeleteScriptLimitCallback): Move all deletion - of script callback hash table entries to happen here so the entries - are correctly removed at the right time. [Bug 960410] - -2004-05-25 Miguel Sofer - - * docs/global.n: added details for qualified variable names [Bug - 959831] - -2004-05-25 Miguel Sofer - - * generic/tclNamesp.c (Tcl_FindNamespaceVar): - * tests/namespace.test (namespace-17.10-12): reverted commit of - 2004-05-23 and removed the tests, as it interferes with the varname - resolver and there are apps that break (AlphaTk). A fix will have to - wait for Tcl9. - - * generic/tclVar.c: Caching of namespace variables disabled: no simple - way was found to avoid interfering with the resolver's idea of - variable existence. A cached varName may keep a variable's name in the - namespace's hash table, which is the resolver's criterion for - existence. - - * tests/namespace.c (namespace-17.10): testing for interference - between varname caching and name resolver. - -2004-05-25 Kevin Kenny - - * tests/winFCmd.test: Correct test for the presence of a CD-ROM so - that it doesn't misdetect some other sort of filesystem with a - write-protected root as being a CD-ROM drive. [Bug 918267] - -2004-05-25 Don Porter - - * tests/winPipe.test: Protect against path being set - * tests/unixInit.test: Unset path when done. - * tests/unload.test (unload-3.1): Verify [pkgb_sub] does not exist. - Delete interps when done. - * tests/stringComp.test: stop re-use of string.test test names - * tests/regexpComp.test: stop re-use of regexp.test test names - * tests/namespace.test (namespace-46.3): Verify [p] does not exist. - * tests/http.test: Clear away the custom [bgerror] when done. - * tests/io.test: Take care to use namespace variables. - * tests/autoMkindex.test (autoMkindex-5.2): Use variable "result" - that gets cleaned up. - * tests/exec.test: Clean up the "path" array. - * tests/interp.test (interp-9.3): Initialize res, so prior values - cannot make the test fail. - * tests/execute.test (execute-8.1): Updated to remove the trace set - on ::errorInfo. When left in place, that trace can cause later tests - to fail. - -2004-05-25 Donal K. Fellows - - * generic/tclBasic.c: Removed references to Tcl_RenameCommand from - * generic/tcl.h: comments. [Bug 848440, second part] - - * tests/fCmd.test: Rewrote tests that failed consistently on NFS so - they either succeed (through slightly more liberal matching of the - results) or are constrained to not run. [Bug 931312] - - * doc/bgerror.n: Use idiomatic open flags for working with log - files. [Bug 959602] - -2004-05-24 Jeff Hobbs - - * generic/tclExecute.c (VerifyExprObjType): use GET_WIDE_OR_INT to - properly have tclIntType used for smaller values. This corrects [TclX - Bug 896727] and any other 3rd party extension that created math - functions but was not yet WIDE_INT aware in them. - -2004-05-24 Donal K. Fellows - - * generic/tclInterp.c (TclInitLimitSupport): Made limits work on - platforms where sizeof(void*)!=sizeof(int). [Bug 959193] - -2004-05-24 Miguel Sofer - - * doc/set.n: accurate description of name resolution process, - referring to namespace.n for details [Bug 959180] - -2004-05-23 Miguel Sofer - - * generic/tclNamesp.c (Tcl_FindNamespaceVar): [Bug 959052] fixed, - insuring that no "zombie" variables are found. - * generic/tclVar.c (TclLookupSimpleVar): comments re [Bug 736729] - (predecessor of [Bug 959052]) removed. - * tests/namespace.test: added tests 17.10-12 - - The patch modifies non-documented behaviour, and passes every test in - the testsuite. However, scripts relying on the old behaviour may - break. - Note that the only behaviour change concerns the creative writing of - unset variables. More precisely, which variable will be created when - neither a namespace variable nor a global variable by that name - exists, as defined by [info vars]. The new behaviour is that the - namespace resolution process deems a variable to exist exactly when - [info vars] finds it - ie, either it has value, or else it was "fixed" - by a call to [variable]. - Note: this patch was removed on 2002-05-25. - -2004-05-22 Miguel Sofer - - * generic/tclVar.c (TclObjLookupVar, TclObjUnsetVar2): fix for new (in - tcl8.4) exteriorisations of [Bug 736729] due to the use of - tclNsVarNameType obj types. Reenabling the use of this objType ("VAR - ref absolute" benchmark down to 66 ms, from 230). Added comments in - TclLookupSimpleVar explaining my current understanding of [Bug - 736729]. - -2004-05-22 Miguel Sofer - - * generic/tclVar.c: fix for [Bug 735335]. The use of tclNsVarNameType - objs is still disabled, pending resolution of [Bug 736729]. - -2004-05-21 Miguel Sofer - - * tests/namespace.test (namespace-41.3): removed the {knownBug} - constraint: [Bug 231259] is closed since nov 2001, and the fix of [Bug - 729692] (INST_START_CMD) makes the test succeed. - -2004-05-21 Donal K. Fellows - - * generic/tclExecute.c (TclExecuteByteCode): Move a few declarations a - short distance so pre-C99 compilers can cope. Also fix so - TCL_COMPILE_DEBUG path compiles... - -2004-05-21 Miguel Sofer - - * generic/tclExecute.c (TclExecuteByteCode): reorganised TEBC - automatic variables, defining them in tight blocks instead of at the - function level. This has three purposes: - - it simplifies the analysis of individual instructions - - it is preliminary work to the non-recursive engine - - it allows a better register allocation by the optimiser; under - gcc3.3, this results in up to 10% runtime in some tests - -2004-05-20 Donal K. Fellows - - * generic/tclInterp.c (TclLimitRemoveAllHandlers): - * generic/tclBasic.c (DeleteInterpProc): - * tests/interp.test (interp-34.7): Ensure that all limit callbacks are - deleted when their interpreters are deleted. [Bug 956083] - -2004-05-19 Kevin B. Kenny - - * win/tclWinFile.c (TclpMatchInDirectory): fix for an issue where - there was a sneak path from Tcl_DStringFree to SetErrorCode(0). The - result was that the error code could be reset between a call to - FindFirstFileEx and the check of its status return, leading to a - bizarre error return of {POSIX unknown {No error}}. (Found in - unplanned test - no incident logged at SourceForge.) - -2004-05-19 Donal K. Fellows - - * tests/interp.test (interp-34.3): Rewrite this test to see if a time - limit can catch a tight bytecode loop, a maximally aggressive - denial-of-service attack. - * generic/tclInterp.c (Tcl_LimitCheck): Fix the sense of checks to see - whether a time limit has been extended. - - * tests/*.test: Many minor fixes, including ensuring that every test - is run (so constraints control whether the test is doing anything) and - making sure that constraints are always set using the API instead of - poking around inside tcltest's internal datastructures. Also got rid - of all trailing whitespace lines from the test suite! - -2004-05-19 Andreas Kupries - - * generic/tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem - * generic/tclIO.h: as [SF Tcl Bug 462317], see ChangeLog entry - 2001-09-26. The fix done at that time is incomplete. It is possible to - get around it if the actual read operation is defered and not executed - in the event handler itself. Instead of tracking if we are in an read - caused by a synthesized fileevent we now track if the OS has delivered - a true event = actual data and bypass the driver if a read finds that - there is no actual data waiting. The flag is cleared by a short or - full read. - - ***POTENTIAL INCOMPATIBILITY*** for channel drivers. - -2004-05-17 Vince Darley - - * generic/tclPathObj.c: fix to (Bug 956063) in 'file dirname'. - * tests/cmdAH.test: added test for this bug. - - * doc/FileSystem.3: better documentation of refCount requirements of - some FS functions (Bug 956126) - -2004-05-19 Donal K. Fellows - - * generic/tclTest.c (TestgetintCmd): Made the tests in get.test check - * tests/get.test: Tcl_GetInt() since the core now - avoids that function. - -2004-05-18 Kevin B. Kenny - - * compat/strftime.c (_fmt, ISO8601Week): - * doc/clock.n: - * tests/clock.test: Major rework to the handling of ISO8601 week - numbers. Now passes all the %G and %V test cases on Windows, Linux and - Solaris [Bugs 500285, 500389, and 852944] - -2004-05-18 Donal K. Fellows - - * doc/append.n, doc/upvar.n: Added example. - -2004-05-18 David Gravereaux - - * win/makefile.vc: now generates a tclConfig.sh from Pat Thoyts [Patch - 909911] - -2004-05-18 Donal K. Fellows - - * doc/lsearch.n: Improve clarity (based on [Patch 955361] by Peter - Spjuth) - - * tools/man2help2.tcl (macro,SHmacro): Added support for subsection - (.SS) header macros. - - * doc/interp.n: Added user documentation for the TIP#143 resource - limits and some examples. - - * generic/tclInterp.c (Tcl_LimitCheck, Tcl_LimitTypeReset): Reset the - limit-exceeded flag when removing a limit. - -2004-05-18 Miguel Sofer - - * generic/tclExecute.c (TclExecuteByteCode): added comments to - classify the variables according to their use in TEBC. - -2004-05-17 Donal K. Fellows - - * doc/global.n, doc/uplevel.n: Added an example. - - * tests/info.test (info-3.1): Corrected test result back to what it - used to be in Tcl 7.* now that command counts are being correctly kept - - * generic/tclExecute.c (TEBC:INST_START_CMD): Make sure that the - command-count is always advanced. Allows TIP#143 limits to tell that - work is being done. - - * doc/list.n: Updated example to fit with the unified format. - * doc/seek.n: Added some examples. - -2004-05-17 Vince Darley - - * win/tclWinFile.c: - * tests/cmdAH.test: fix to (Bug 954263) where 'file executable' was - case-sensitive. - -2004-05-17 Donal K. Fellows - - * doc/OpenFileChnl.3: Documented type of 'offset' argument to Tcl_Seek - was wrong. [Bug 953374] - -2004-05-16 Miguel Sofer - - * generic/tclExecute.c (TclExecuteByteCode): remove one level of - indirection for compiledLocals addressing. - -2004-05-16 Miguel Sofer - - * generic/tclExecute.c (INST_CALL_FUNC1): bugfix; restored - (DE)CACHE_STACK_INFO pair around the call - the user defined math - function could cause a recursive call to TEBC. - -2004-05-16 Miguel Sofer - - * generic/tclBasic.c (Tcl_DeleteInterp): - * generic/tclExecute.c (INST_START_CMD): interp deletion now modifies - the compileEpoch, eliminating the need for the check for interp - deletion in INST_START_CMD. - -2004-05-16 Miguel Sofer - - * generic/tclCompile.h: - * generic/tclCompile.c: - * generic/tclExecute.c: changed implementation of {expand}, last - chance while in alpha as ... - - ***POTENTIAL INCOMPATIBILITY*** - Scripts precompiled with ProComp under previous tcl8.5a versions may - malfunction due to changed instruction numbers for - INST_LIST_INDEX_IMM, INST_LIST_RANGE_IMM and INST_START_CMD. - -2004-05-14 Kevin B. Kenny - - * generic/tclInt.decls: Promoted TclpLocaltime and TclpGmtime - * generic/tclIntDecls.h: from Unix-specific stubs to the generic - * generic/tclIntPlatDecls.h: internal Stubs table. Reran 'genstubs' - * generic/tclStubInit.c: - * unix/tclUnixPort.h: - - * generic/tclClock.c: Changed a buggy 'GMT' timezone specification - to the correct 'GMT0'. [Bug 922848] - - * unix/tclUnixThrd.c: Moved TclpGmtime and TclpLocaltime to - unix/tclUnixTime.c where they belong. - - * unix/tclUnixTime.c (TclpGmtime, TclpLocaltime, TclpGetTimeZone, - ThreadSafeGMTime [removed], - ThreadSafeLocalTime [removed], - SetTZIfNecessary, CleanupMemory): - Restructured to make sure that the same mutex protects all calls to - localtime, gmtime, and tzset. Added a check in front of those calls to - make sure that the TZ env var hasn't changed since the last call to - tzset, and repeat tzset if necessary. [Bug 942078] Removed a buggy - test of the Daylight Saving Time information in 'gettimeofday' in - favor of applying 'localtime' to a known value. [Bug 922848] - - * tests/clock.test (clock-3.14): Added test to make sure that changes - to $env(TZ) take effect immediately. - - * win/tclWinTime.c (TclpLocaltime, TclpGmtime): Added porting layer - for 'localtime' and 'gmtime' calls. - -2004-05-14 Miguel Sofer - - * generic/tclExecute.c: - * generic/tclCompile.h: the math functions receive a pointer to top of - the stack (tosPtr) instead of the execution environment (eePtr). First - step towards a change in the execution stack management - it is now - only used within TEBC. - -2004-05-13 Donal K. Fellows - - TIP#143 IMPLEMENTATION - - * generic/tclExecute.c (TclCompEvalObj, TclExecuteByteCode): - * generic/tclBasic.c (TclEvalObjvInternal): Enable limit checking. - * generic/tclInterp.c (Tcl_Limit*): Public limit API. - * generic/tcl.decls: - * tests/interp.test: Basic tests of command limits. - - * doc/binary.n: TIP#129 IMPLEMENTATION [Patch 858211] - * generic/tclBinary.c: Note that the test suite probably has many more - * tests/binary.test: failures now due to alterations in constraints. - -2004-05-12 Miguel Sofer - - Optimisations for INST_START_CMD [Bug 926164]. - * generic/tclCompile.c (TclCompileScript): avoid emitting - INST_START_CMD as the first instruction in a bytecoded Tcl_Obj. It is - not needed, as the checks are done before calling TEBC. - * generic/tclExecute.c (TclExecuteByteCode): runtime peephole - optimisation: check at INST_POP if the next instruction is - INST_START_CMD, in which case we fall through. - -2004-05-11 Donal K. Fellows - - * doc/split.n, doc/join.n: Updated examples and added more. - -2004-05-11 Vince Darley - - * doc/glob.n: documented behaviour of symbolic links with 'glob -types - d' (Bug 951489) - -2004-05-11 Donal K. Fellows - - * doc/scan.n: Updated the examples to be clearer about their relevance - to the scan command. - -2004-05-10 Donal K. Fellows - - * doc/scan.n: Added examples. - -2004-05-10 David Gravereaux - - * win/tclWinPipe.c (BuildCommandLine): Moved non-obvious appending - logic to outside the loop and added commentary for its purpose. Also - use the existence of contents in the linePtr rather than the scratch - DString post the append, as this more clear. - - (TclpCreateProcess): When under NT, with no console, and executing a - DOS application, the path priming does not need an ending space as - BuildCommandLine() will do this for us. - -2004-05-08 Vince Darley - - * generic/tclFileName.c: - * generic/tclIOUtil.c: remove some compiler warnings on MacOS X. - -2004-05-07 Chengye Mao - - * win/tclWinPipe.c: refixed bug 789040 re-entered in rev 1.41. Let's - be careful and don't re-enter previously fixed bugs. - -2004-05-08 Donal K. Fellows - - * doc/format.n: Added examples. - -2004-05-07 Miguel Sofer - - * doc/unset.n: added upvar.n to the "see also" list - -2004-05-07 Reinhard Max - - * generic/tclEncoding.c: - * tests/encoding.test: added support and tests for translating - embedded null characters between real nullbytes and the internal - representation on input/output [Bug 949905]. - -2004-05-07 Vince Darley - - * generic/tclFileName.c: - * generic/tclIOUtil.c: - * generic/tclFileSystem.h: - * tests/fileSystem.test: fix for [Bug 943995], in which vfs-registered - root volumes were not handled correctly as glob patterns in all - circumstances. - -2004-05-06 Miguel Sofer - - * generic/tclInt.h: - * generic/tclObj.c (TclFreeObj): made TclFreeObj use the new macro - TclFreeObjMacro(), so that the allocation and freeing of Tcl_Obj is - defined in a single spot (the macros in tclInt.h), with the exception - of the TCL_MEM_DEBUG case. - The #ifdef logic for the corresponding macros has been reformulated to - make it clearer. - -2004-05-05 Donal K. Fellows - - * doc/break.n, doc/continue.n, doc/for.n, doc/while.n: More examples. - -2004-05-05 Don Porter - - * tests/unixInit.test (unixInit-2.10): Test correction for Mac OSX. - Be sure to consistently compare normalized path names. Thanks to - Steven Abner (tauvan). [Bug 948177] - -2004-05-05 Donal K. Fellows - - * doc/CrtObjCmd.3: Remove reference to Tcl_RenameCommand; there is no - such API. [Bug 848440] - -2004-05-05 David Gravereaux - - * win/tclWinSock.c (SocketEventProc) : connect errors should fire both - the readable and writable handlers because this is how it works on - UNIX [Bug 794839] - - * generic/tclEncoding.c (TclFinalizeEncodingSubsystem): - FreeEncoding(systemEncoding); moved to before the hash table iteration - as it was causing a double free attempt under some conditions. - - * win/coffbase.txt: Added the tls extension to the list of preferred - load addresses. - -2004-05-04 Jeff Hobbs - - * tests/fileSystem.test (filesystem-1.39): replace 'file volumes' - * tests/fileName.test (filename-12.9,10): lindex with direct C:/ - hard-coded because A:/ was being used and that is empty for most. - - * tests/winFCmd.test (winFCmd-16.12): test volumerelative $HOME - -2004-05-04 Don Porter - - * generic/tclAlloc.c: Make sure Tclp*Alloc* routines get - * generic/tclInt.h: declared in the TCL_MEM_DEBUG and - * generic/tclThreadAlloc.c: TCL_THREADS configuration. [Bug 947564] - - * tests/tcltest.test: Test corrections for Mac OSX. Thanks to Steven - Abner (tauvan). [Bug 947440] - -2004-05-04 Donal K. Fellows - - * generic/tclEvent.c (TclSetLibraryPath): Suppress a warning. - -2004-05-03 Andreas Kupries - - * Applied [Patch 868853], fixing a mem leak in TtySetOptionProc. - Report and Patch provided by Stuart Cassoff . - -2004-05-03 Miguel Sofer - - * generic/tclProc.c (TclCreateProc): comments corrected. - -2004-05-03 Miguel Sofer - - * generic/tclCompile.c (TclCompileScript): setting the compilation - namespace outside of the loop. - -2004-05-03 Miguel Sofer - - * generic/tclCompile.c: - * generic/tclInt.h: reverted fix for [Bug 926445] of 2004-04-02, - restoring TCL_ALIGN to the header file. Todd Helfter reported that the - macro is required by tbcload. - -2004-05-03 Kevin Kenny - - * win/tclWin32Dll.c (TclpCheckStackSpace): - * tests/stack.test (stack-3.1): Fix for undetected stack overflow in - TclReExec on Windows. [Bug 947070] - -2004-05-03 Don Porter - - * library/init.tcl: Corrected unique prefix matching of - interactive command completion in [unknown]. [Bug 946952] - -2004-05-02 Miguel Sofer - - * generic/tclProc.c (TclObjInvokeProc): - * tests/proc.test (proc-3.6): fix for bad quoting of multi-word proc - names in error messages [Bug 942757] - -2004-04-30 Donal K. Fellows - - * doc/glob.n, doc/incr.n, doc/set.n: More examples. - * doc/if.n, doc/rename.n, doc/time.n: - -2004-04-30 Don Porter - - * generic/tclInt.h: Replaced Kevin Kenny's temporary - * generic/tclThreadAlloc.c: fix for Bug 945447 with a cleaner, - more permanent replacement. - -2004-04-30 Kevin B. Kenny - - * generic/tclThreadAlloc.c: Added a temporary (or so I hope!) - inclusion of "tclWinInt.h" to avoid problems when compiling on - Win32-VC++ with --enable-threads. [Bug 945447] - -2004-04-30 Donal K. Fellows - - * doc/puts.n: Added a few examples. - -2004-04-29 Don Porter - - * tests/execute.test (execute-8.2): Avoid crashes when there is - limited system stack space (threads-enabled). - -2004-04-28 Miguel Sofer - - * doc/global.n: - * doc/upvar.n: - * generic/tclVar.c (ObjMakeUpvar): - * tests/upvar.test (upvar-8.11): - * tests/var.test (var-3.11): Avoid creation of unusable variables: - [Bug 600812] [TIP 184]. - -2004-04-28 Donal K. Fellows - - * doc/lsearch.n: Fixed fault in documentation of -index option [943448] - -2004-04-26 Don Porter - - * unix/tclUnixFCmd.c (TclpObjNormalizePath): Corrected improper - positioning of returned checkpoint. [Bug 941108] - -2004-04-26 Donal K. Fellows - - * doc/open.n, doc/close.n: Updated (thanks to David Welton) to be - clearer about pipeline errors and added example to open(n) that shows - simple pipeline use. [Patches 941377,941380] - - * doc/DictObj.3: Added warning about the use of Tcl_DictObjDone and an - example of use of iteration. [Bug 940843] - - * doc/Thread.3: Reworked to remove references to testing interfaces - and instead promote the use of the Thread package. [Patch 932527] - Also reworked and reordered the page for better readability. - -2004-04-25 Don Porter - - * generic/tcl.h: Removed obsolete declarations and #include's. - * generic/tclInt.h: [Bugs 926459, 926486] - -2004-04-24 David Gravereaux - - * win/tclWin32Dll.c (DllMain): Added DisableThreadLibraryCalls() for - the DLL_PROCESS_ATTACH case. We're not interested in knowing about - DLL_THREAD_ATTACH, so disable the notices. - -2004-04-24 Daniel Steffen - - * generic/tclPort.h: - * macosx/Makefile: - * unix/Makefile.in: followup on tcl header reform [FR 922727]: removed - use of relative #include paths in tclPort.h to allow installation of - private headers outside of tcl source tree; added 'unix' dir to - compiler header search path; add newly required tcl private headers to - Tcl.framework on Mac OSX. - -2004-04-23 Andreas Kupries - - * generic/tclIO.c (Tcl_SetChannelOption): Fixed [SF Tcl Bug 930851]. - When changing the eofchar we have to zap the related flags to prevent - them from prematurely aborting the next read. - -2004-04-25 Vince Darley - - * generic/tclPathObj.c: fix to [Bug 940281]. Tcl_FSJoinPath will now - always return a valid Tcl_Obj when the input is valid. - * generic/tclIOUtil.c: fix to [Bug 931823] for a more consistent - Tcl_FSPathSeparator() implementation which allows filesystems not to - implement their Tcl_FSFilesystemSeparatorProc if they wish to use the - default '/'. Also fixed associated memory leak seen with, e.g., tclvfs - package. - * doc/FileSystem.3: documented Tcl_FSJoinPath return values more - clearly, and Tcl_FSFilesystemSeparatorProc requirements. - -2004-04-23 David Gravereaux - - * win/tclWin32Dll.c: Removed my mistake from 4/19 of adding an exit - handler to TclWinInit. TclWinEncodingsCleanup called from - TclFinalizeFilesystem does the Tcl_FreeEncoding for us. - - * win/tclWinChan.c (Tcl_MakeFileChannel): Case for CloseHandle - returning zero and not throwing a - RaiseException(EXCEPTION_INVALID_HANDLE) now being done. - -2004-04-22 David Gravereaux - - * generic/tclEvent.c: TclSetLibraryPath's use of caching the stringrep - of the pathPtr object to TclGetLibraryPath called from another thread - was ineffective if the original's stringrep had been invalidated as - what happens when it gets muted to a list. - - * win/tclWinTime.c: If the Tcl_ExitProc (StopCalibration) is called - from the stack frame of DllMain's PROCESS_DETACH, the wait operation - should timeout and continue. - - * generic/tclInt.h: - * generic/tclThread.c: - * generic/tclEvent.c: - * unix/tclUnixThrd.c: - * win/tclWinThrd.c: Provisions made so masterLock, initLock, allocLock - and joinLock mutexes can be recovered during Tcl_Finalize. - -2004-04-22 Donal K. Fellows - - * doc/switch.n: Reworked the examples to be more systematically named - and to cover some TIP#75 capabilities. - - * doc/cd.n: Documentation clarification from David Welton. - - * doc/exec.n: Added some examples, Windows ones from Arjen Markus and - Unix ones by myself. - -2004-04-21 Donal K. Fellows - - * doc/Hash.3: Added note to Tcl_{First,Next}HashEntry docs that - deleting the element they return is supported (and is in fact the only - safe update you can do to the structure of a hashtable while an - iteration is going over it.) - - * doc/bgerror.n: Added example from David Welton. [Patch 939473] - - * doc/after.n: Added examples from David Welton. [Patch 938820] - -2004-04-19 David Gravereaux - - * win/tclWin32Dll.c: Added an exit handler in TclWinInit() so - tclWinTCharEncoding could be freed during Tcl_Finalize(). - - * generic/tclEncoding.c: Added FreeEncoding(systemEncoding) in - TclFinalizeEncodingSubsystem because its ref count was incremented in - TclInitEncodingSubsystem. - -2004-04-19 Donal K. Fellows - - * doc/read.n: Added example from David Welton. [Patch 938056] - -2004-04-19 Kevin B. Kenny - - * generic/tclObj.c (Tcl_GetDoubleFromObj) Corrected "short circuit" - conversion of int to double. Reported by Jeff Hobbs on the Tcl'ers - Chat. - -2004-04-16 Donal K. Fellows - - * doc/lreplace.n, doc/lrange.n, doc/llength.n: More examples for - * doc/linsert.n, doc/lappend.n: the documentation. - -2004-04-16 Vince Darley - - * doc/FileSystem.3: Corrected documentation of Tcl_FSUtime, and the - corresponding filesystem driver Tcl_FSUtimeProc. [Bug 935838] - -2004-04-16 Donal K. Fellows - - * doc/socket.n: Added example from [Patch 936245]. - * doc/gets.n: Added example based on [Patch 935911]. - -2004-04-15 Donal K. Fellows - - * generic/tclClock.c (Tcl_ClockObjCmd): Minor fault in a [clock - clicks] error message. - -2004-04-07 Jeff Hobbs - - * win/tclWinInit.c (TclpSetInitialEncodings): note that WIN32_CE is - also a unicode platform. - * generic/tclEncoding.c (TclFindEncodings, Tcl_FindExecutable): - * generic/tclInt.h: Correct handling of UTF - * unix/tclUnixInit.c (TclpInitLibraryPath): data that is actually - * win/tclWinFile.c (TclpFindExecutable): "clean", allowing the - * win/tclWinInit.c (TclpInitLibraryPath): loading of Tcl from paths - that contain multi-byte chars on Windows [Bug 920667] - - * win/configure: define TCL_LIB_FLAG, TCL_BUILD_LIB_SPEC, - * win/configure.in: TCL_LIB_SPEC, TCL_PACKAGE_PATH in tclConfig.sh. - -2004-04-06 Don Porter - - Patch 922727 committed. Implements three changes: - - * generic/tclInt.h: Reworked the Tcl header files into a clean - * unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h - * win/tclWinInt.h: and every C source file should #include - * win/tclWinPort.h: at most one of those files to satisfy its - declaration needs. tclWinInt.h and tclWinPort.h also better organized - so that tclWinPort.h includes the Windows implementation of - cross-platform declarations, while tclWinInt.h makes declarations that - are available on Windows only. - - * generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h - * generic/tclMath.h (removed): header file. The internal Tcl - * macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a - * win/tcl.dsp: #include directly, - and file external to Tcl needing libm should do the same. - - * win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file. - * win/makefile.bc (TCLOBJS): It's a vestige from matherr() days - * win/makefile.vc (TCLOBJS): gone by. - * win/tcl.dsp: - * win/tclWinMtherr.c (removed): - - End Patch 922727. - - * tests/unixInit.test (unixInit-3.1): Default encoding on Darwin - systems is utf-8. Thanks to Steven Abner (tauvan). [Bug 928808] - -2004-04-06 Donal K. Fellows - - * tests/cmdAH.test (cmdAH-18.2): Added constraint because - access(...,X_OK) is defined to be permitted to be meaningless when - running as root, and OSX exhibits this. [Bug 929892] - -2004-04-02 Miguel Sofer - - * generic/tclCompile.c: - * generic/tclInt.h: removed the macro TCL_ALIGN() from tclInt.h, - replaced by the static macro ALIGN() in tclCompile.c [Bug 926445] - -2004-04-02 Miguel Sofer - - * generic/tclCompile.h: removed redundant #ifdef _TCLINT [Bug 928415], - reported by tauvan. - -2004-04-02 Don Porter - - * tests/tcltest.test: Corrected constraint typos: "nonRoot" -> - "notRoot". Thanks to Steven Abner (tauvan). [Bug 928353] - -2004-04-01 Don Porter - - * generic/tclInt.h: Removed obsolete tclBlockTime* declarations. [Bug - 926454] - -2004-04-01 Vince Darley - - * generic/tclIOUtil.c: Fix to privately reported vfs bug with 'glob - -type d -dir . *' across a vfs boundary. No tests for this are - currently possible without effectively moving tclvfs into Tcl's test - suite. - -2004-03-31 Don Porter - - * doc/msgcat.n: Clarified message catalog file encodings. [Bug 811457] - * library/msgcat/msgcat.tcl: Updated internals to make use of [dict]s - to store message catalog data and to use [source -encoding utf-8] to - access catalog files. Thanks to Michael Sclenker. [Patch 875055, RFE - 811459] Corrected [mcset] to be able to successfully set a translation - to the empty string. [mcset $loc $src {}] was incorrectly set the $loc - translation of $src back to $src. Also changed [ConvertLocale] to - minimally require a non-empty "language" part in the locale value. If - not, an error raised prompts [Init] to keep looking for a valid locale - value, or ultimately fall back on the "C" locale. [Bug 811461]. - * library/msgcat/pkgIndex.tcl: Bump to msgcat 1.4.1. - -2004-03-30 Donal K. Fellows - - * generic/tclHash.c (HashStringKey): Cleaned up. This function is not - faster, but it is a little bit clearer. - * generic/tclLiteral.c (HashString): Applied logic from HashObjKey. - * generic/tclObj.c (HashObjKey): Rewrote to fix fault which hashed - every single-character object to the same hash bucket. The new code is - shorter, simpler, clearer, and (happily) faster. - -2004-03-30 Miguel Sofer - - * generic/tclExecute.c (TEBC): reverting to the previous method for - async tests in TEBC, as the new method turned out to be too costly. - Async tests now run every 64 instructions. - -2004-03-30 Miguel Sofer - - * generic/tclCompile.c: New instruction code INST_START_CMD that - * generic/tclCompile.h: allows checking the bytecode's validity - * generic/tclExecute.c: [Bug 729692] and the interp's readyness - * tests/interp.test (18.9): [Bug 495830] before running the command. - * tests/proc.test (7.1): It also changes the mechanics of the async - * tests/rename.test (6.1): tests in TEBC, doing it now at command - start instead of every 16 instructions. - -2004-03-30 Vince Darley - - * generic/tclFileName.c: Fix to Windows glob where the pattern is a - * generic/tclIOUtil.c: volume relative path or a network share [Bug - * tests/fileName.test: 898238]. On windows 'glob' will now return - * tests/fileSystem.test: the results of 'glob /foo/bar' and 'glob - \\foo\\bar' as 'C:/foo/bar', i.e. a correct absolute path (rather than - a volume relative path). - - Note that the test suite does not test commands like - 'glob //Machine/Shared/*' (on a network share). - -2004-03-30 Vince Darley - - * generic/tclPathObj.c: Fix to filename bugs recently - * tests/fileName.test: introduced [Bug 918320]. - -2004-03-29 Don Porter - - * generic/tclMain.c (Tcl_Main, StdinProc): Append newline only - * tests/basic.test (basic-46.1): to incomplete scripts - as part of multi-line script construction. Do not add an extra - trailing newline to the complete script. [Bug 833150] - -2004-03-28 Miguel Sofer - - * generic/tclCompile.c (TclCompileScript): corrected possible segfault - when a compilation returns TCL_OUTLINE_COMPILE after having grown the - compile environment [Bug 925121]. - -2004-03-27 Miguel Sofer - - * doc/array.n: added documentation for trace-realted behaviour of - 'array get' [Bug 449893] - -2004-03-26 Don Porter - - * README: Bumped version number to 8.5a2 to distinguish - * tools/tcl.wse.in: HEAD of CVS development from the recent 8.5a1 - * unix/configure.in: release. - * unix/tcl.spec: - * win/README.binary: - * win/configure.in: - - * unix/configure: autoconf-2.57 - * win/configure: - -2004-03-26 Vince Darley - - * generic/tclPathObj.c: Fix to Windows-only volume relative path - * tests/fileSystem.test: normalization. [Bug 923568]. Also fixed - another volume relative bug found while testing. - -2004-03-24 Donal K. Fellows - - * generic/tclNamesp.c (NsEnsembleImplementationCmd): Fix messed up - handling of strncmp result which just happened to work in some libc - implementations. [Bug 922752] - -2004-03-23 Donal K. Fellows - - * doc/StringObj.3: Inverted the sense of the documentation of how the - bytes parameter is documented to match behaviour. [Bug 921464] - -2004-03-19 Kevin B. Kenny - - * compat/strtoll.c: - * compat/strtoull.c: - * generic/tclIntDecls.h: - * generic/tclMain.c: - * generic/tclObj.c: - * win/tclWinDde.c: - * win/tclWinReg.c: - * win/tclWinTime.c: Made HEAD build on Windows VC++ again. - -2004-03-19 Donal K. Fellows - - * generic/tclIntDecls.h: Made HEAD build on Solaris again by applying - fix recommended by Don Porter. - -2004-03-18 Reinhard Max - - * generic/tclIntDecls.h: Removed TclpTime_t. It wasn't really needed, - * generic/tclInt.h: but caused warnings related to - * generic/tclInt.decls: strict aliasing with GCC 3.3. - * generic/tclClock.c: - * generic/tclDate.c: - * generic/tclGetDate.y: - * win/tclWinTime.c: - * unix/tclUnixTime.c: - - * generic/tclNamesp.c: Added temporary pointer variables to work - * generic/tclStubLib.c: around warnings related to - * unix/tclUnixChan.c: strict aliasing with GCC 3.3. - - * unix/tcl.m4: Removed -Wno-strict-aliasing. - -2004-03-18 Daniel Steffen - - Removed support for Mac OS Classic platform [Patch 918142] - - * README: - * compat/string.h: - * doc/Encoding.3: - * doc/FileSystem.3: - * doc/Init.3: - * doc/Macintosh.3 (removed): - * doc/OpenFileChnl.3: - * doc/OpenTcp.3: - * doc/SourceRCFile.3: - * doc/Thread.3: - * doc/clock.n: - * doc/exec.n: - * doc/fconfigure.n: - * doc/file.n: - * doc/filename.n: - * doc/glob.n: - * doc/open.n: - * doc/puts.n: - * doc/resource.n (removed): - * doc/safe.n: - * doc/source.n: - * doc/tclvars.n: - * doc/unload.n: - * generic/README: - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclAlloc.c: - * generic/tclBasic.c: - * generic/tclCmdAH.c: - * generic/tclDate.c: - * generic/tclDecls.h: - * generic/tclFCmd.c: - * generic/tclFileName.c: - * generic/tclGetDate.y: - * generic/tclIOCmd.c: - * generic/tclIOUtil.c: - * generic/tclInitScript.h: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclMain.c: - * generic/tclMath.h: - * generic/tclNotify.c: - * generic/tclPathObj.c: - * generic/tclPlatDecls.h: - * generic/tclPort.h: - * generic/tclStubInit.c: - * generic/tclTest.c: - * generic/tclThreadJoin.c: - * library/auto.tcl: - * library/init.tcl: - * library/package.tcl: - * library/safe.tcl: - * library/tclIndex: - * mac/AppleScript.html (removed): - * mac/Background.doc (removed): - * mac/MW_TclAppleScriptHeader.h (removed): - * mac/MW_TclAppleScriptHeader.pch (removed): - * mac/MW_TclBuildLibHeader.h (removed): - * mac/MW_TclBuildLibHeader.pch (removed): - * mac/MW_TclHeader.h (removed): - * mac/MW_TclHeader.pch (removed): - * mac/MW_TclHeaderCommon.h (removed): - * mac/MW_TclStaticHeader.h (removed): - * mac/MW_TclStaticHeader.pch (removed): - * mac/MW_TclTestHeader.h (removed): - * mac/MW_TclTestHeader.pch (removed): - * mac/README (removed): - * mac/bugs.doc (removed): - * mac/libmoto.doc (removed): - * mac/morefiles.doc (removed): - * mac/porting.notes (removed): - * mac/tclMac.h (removed): - * mac/tclMacAETE.r (removed): - * mac/tclMacAlloc.c (removed): - * mac/tclMacAppInit.c (removed): - * mac/tclMacApplication.r (removed): - * mac/tclMacBOAAppInit.c (removed): - * mac/tclMacBOAMain.c (removed): - * mac/tclMacChan.c (removed): - * mac/tclMacCommonPch.h (removed): - * mac/tclMacDNR.c (removed): - * mac/tclMacEnv.c (removed): - * mac/tclMacExit.c (removed): - * mac/tclMacFCmd.c (removed): - * mac/tclMacFile.c (removed): - * mac/tclMacInit.c (removed): - * mac/tclMacInt.h (removed): - * mac/tclMacInterupt.c (removed): - * mac/tclMacLibrary.c (removed): - * mac/tclMacLibrary.r (removed): - * mac/tclMacLoad.c (removed): - * mac/tclMacMath.h (removed): - * mac/tclMacNotify.c (removed): - * mac/tclMacOSA.c (removed): - * mac/tclMacOSA.r (removed): - * mac/tclMacPanic.c (removed): - * mac/tclMacPkgConfig.c (removed): - * mac/tclMacPort.h (removed): - * mac/tclMacProjects.sea.hqx (removed): - * mac/tclMacResource.c (removed): - * mac/tclMacResource.r (removed): - * mac/tclMacSock.c (removed): - * mac/tclMacTclCode.r (removed): - * mac/tclMacTest.c (removed): - * mac/tclMacThrd.c (removed): - * mac/tclMacThrd.h (removed): - * mac/tclMacTime.c (removed): - * mac/tclMacUnix.c (removed): - * mac/tclMacUtil.c (removed): - * mac/tcltkMacBuildSupport.sea.hqx (removed): - * tests/all.tcl: - * tests/binary.test: - * tests/cmdAH.test: - * tests/cmdMZ.test: - * tests/fCmd.test: - * tests/fileName.test: - * tests/fileSystem.test: - * tests/interp.test: - * tests/io.test: - * tests/ioCmd.test: - * tests/load.test: - * tests/macFCmd.test (removed): - * tests/osa.test (removed): - * tests/resource.test (removed): - * tests/socket.test: - * tests/source.test: - * tests/unload.test: - * tools/cvtEOL.tcl (removed): - * tools/genStubs.tcl: - * unix/Makefile.in: - * unix/README: - * unix/mkLinks: - * unix/tcl.spec: - * win/README.binary: - * win/tcl.dsp: - -2004-03-17 Donal K. Fellows - - * doc/lsearch.n: Improved examples on the advanced capabilities of - lsearch (with the right options, set element removal can be done) - following discussion on tkchat. - -2004-03-16 Don Porter - - * doc/catch.n: Compiled [catch] no longer fails to catch syntax - errors. Removed the claims in the documentation that it does. - * doc/return.n: Updated example to use [dict merge]. - -2004-03-16 Jeff Hobbs - - * unix/configure, unix/tcl.m4: add -Wno-strict-aliasing for GCC to - suppress useless type puning warnings. - -2004-03-16 Donal K. Fellows - - * doc/file.n: *roff formatting fix. [Bug 917171] - -2004-03-15 David Gravereaux - - * win/tclWinNotify.c: Fixed a mistake where the return value of - MsgWaitForMultipleObjectsEx for "a message is in the queue" wasn't - accurate. I removed the check on the case result==(WAIT_OBJECT_0 + 1) - This was having the error of falling into GetMessage and waiting there - by accident, which wasn't alertable through Tcl_AlertNotifier. I'll do - some more study on this and try to find-out why. - -2004-03-12 Donal K. Fellows - - IMPLEMENTATION OF TIP#163 - * generic/tclDictObj.c (DictMergeCmd): This is based on work by Joe - * tests/dict.test (dict-20.*): English in Tcl [FRQ 745851] - * doc/dict.n: but not exactly. - -2004-03-10 Kevin B. Kenny - - * generic/tclGetDate.y (TclGetDate): Fix so that [clock scan - -gmt true] uses the GMT base date instead of the local - one. [Bug 913513] - * tests/clock.test: Added test cases for wrong ISO8601 week number - [Bug 500285] and wrong GMT base date [Bug 913513]. Several tests still - fail on Windows, and these are actual faults in [clock scan]. Fix is - still pending. - * generic/tclDate.c: Regenerated. - -2004-03-08 Vince Darley - - * generic/tclFileName.c: Fix to 'glob -path' near the root - * tests/fileName.test: of the filesystem. [Bug 910525] - -2004-03-08 Don Porter - - * generic/tclParse.c (TclParseInit): Modified TclParseInit so - * generic/tclTest.c ([testexprparser]): that Tcl_Parse initialization - conforms to documented promised about what fields will not be - modified by what Tcl_Parse* routines. [Bug 910595] - -2004-03-05 Mo DeJong - - * win/configure: Regen. - * win/configure.in: Check for define of MWMO_ALERTABLE in winuser.h. - * win/tclWinPort.h: If MWMO_ALERTABLE is not defined in winuser.h then - define it. This is needed for Mingw. - -2004-03-05 Kevin B. Kenny - - * generic/tclTest.c: Modified TesteventObjCmd to use a - Tcl_QueuePosition in place of an 'int' for the enumerated queue - position, to avoid a compiler warning on SGI. [Bug 771960] - -2004-03-05 Kevin B. Kenny - - * tests/registry.test: Applied fix from [Patch 910174] to make the test - for an English-language system include any country code, rather than - just English-United States.1252. Thanks to Pat Thoyts for the changes. - -2004-03-04 Pat Thoyts - - * tests/registry.test: Applied fixed from [Bug 766159] to skip two - tests on Win98 that depend on a Unicode registry (NT specific). - -2004-03-04 Don Porter - - * generic/tclInt.h (TclParseInit): Factored the common code - * generic/tclParse.c (TclParseInit): for initializing a Tcl_Parse - * generic/tclParseExpr.c: struct into one routine. - -2004-03-04 Pat Thoyts - - * library/reg/pkgIndex.tcl: Added TIP #100 support to the - * win/tclWinReg.c: registry package [patch 903831] - This provides a Windows test of the TIP #100 mechanism and a sample to - show how unloading an extension can be done. - -2004-03-04 Donal K. Fellows - - * unix/dltest/pkgua.c: Fix minor syntax problems. [Bug 909288] - -2004-03-03 Jeff Hobbs - - *** 8.5a1 TAGGED FOR RELEASE *** - - * changes: updated for 8.5a1 - -2004-03-03 David Gravereaux - - * win/makefile.vc: default environment variable for VC++ is %MSDevDir% - not %MSVCDir%, although vcvars32.bat sets both. - - * win/tclWinNotify.c (Tcl_WaitForEvent) : Allows an idling notifier to - service "Asynchronous Procedure Calls" from its wait state. Only - useful for extension authors who decide they might want to try - "completion routines" with WriteFileEx(), as an example. From - experience, I recommend that "completion ports" should be used instead - as the execution of the callbacks are more managable. - -2004-03-01 Jeff Hobbs - - * README: update patchlevel to 8.5a1 - * generic/tcl.h: - * tools/tcl.wse.in, tools/tclSplash.bmp: - * unix/configure, unix/configure.in, unix/tcl.spec: - * win/README.binary, win/configure, win/configure.in: - - * unix/tcl.m4: update HP-11 build libs setup - -2004-03-01 Don Porter - - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Allow 64-bit enabling on - IRIX64-6.5* systems. [Bug 218561] - * unix/configure: autoconf-2.57 - - * generic/tclTrace.c (TclCheckInterpTraces): The TIP 62 - * generic/tclTest.c (TestcmdtraceCmd): implementation introduced a - * tests/trace.test (trace-29.10): bug by testing the CallFrame - level instead of the iPtr->numLevels level when deciding what traces - created by Tcl_Create(Obj)Trace to call. Added test to expose the - error, and made fix. [FRQ 462580] - -2004-02-28 Vince Darley - - * tests/fileSystem.test: fix to Tcl Bug 905163. - * tests/fileName.test: fix to Tcl Bug 904705. - - * doc/{various}.n: removed 'the the' typos. - -2004-02-26 Daniel Steffen - - * macosx/Makefile: fixed copyright year in Tcl.framework Info.plist - -2004-02-25 Don Porter - - * tests/basic.test: Made several tests more robust to the - * tests/cmdMZ.test: list-quoting of path names that might contain - * tests/exec.test: Tcl-special chars like { or [. Should help us - * tests/io.test: sort out [Bug 554068] - * tests/pid.test: - * tests/socket.test: - * tests/source.test: - * tests/unixInit.test: - -2004-02-25 Donal K. Fellows - - * generic/tclLoad.c (Tcl_LoadObjCmd): Missing dereference caused - segfault with non-loadable extension. [Bug 904307] - - * unix/tclUnixChan.c (TcpGetOptionProc): Stop memory leak with very - long hostnames. [Bug 888777] - -2004-02-25 Pat Thoyts - - * win/tclWinDde.c: Removed some gcc warnings - except for the - -Wconversion warning for GetGlobalAtomName. gcc is just wrong about - this. - -2004-02-24 Donal K. Fellows - - IMPLEMENTATION OF TIP#100 FROM GEORGIOS PETASIS - * generic/tclLoad.c (Tcl_UnloadObjCmd): Implementation. - * tests/unload.test: Test suite. - * unix/dltest/pkgua.c: Helper for test suite. - * doc/unload.n: Documentation. - Also assorted changes (mostly small) to several other files. - -2004-02-23 Donal K. Fellows - - * generic/regc_locale.c (cclass): Buffer was having its size reset - instead of being released => memleak. [Bug 902562] - -2004-02-21 Donal K. Fellows - - * generic/tclLoad.c (Tcl_LoadObjCmd): Fixed memory leak due to an - improper error exit route. - -2004-02-20 David Gravereaux - - * win/tclWinSock.c (SocketThreadExitHandler): Don't call - TerminateThread when WaitForSingleObject returns a timeout. - Tcl_Finalize called from DllMain will pause all threads. Trust that - the thread will get the close notice at a later time if it does ever - wake up before being cleaned up by the system anyway. - -2004-02-17 Don Porter - - * doc/tcltest.n: - * library/tcltest/tcltest.tcl: Changed -verbose default value to - {body error} so that detailed information on unexpected errors in - tests is provided by default, even after the fix for [Bug 725253] - -2004-02-17 Jeff Hobbs - - * tests/unixInit.test (unixInit-7.1): - * unix/tclUnixInit.c (TclpInitPlatform): ensure the std fds exist to - prevent crash condition [Bug 772288] - -2004-02-17 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Bozo mistake in memory - releasing order when in an error case. [Bug 898910] - -2004-02-16 Jeff Hobbs - - * generic/tclTrace.c (TclTraceExecutionObjCmd) - (TclTraceCommandObjCmd): fix possible mem leak in trace info. - -2004-02-12 Mo DeJong - - * win/tclWinInit.c (AppendEnvironment): Use the tail component of the - passed in lib path instead of just blindly using lib+4. That worked - when lib was "lib/..." but fails for other values. Thanks go to - Patrick Samson for pointing this out. - -2004-02-10 David Gravereaux - - * win/nmakehlp.c: better macro grepping logic. - -2004-02-07 David Gravereaux - - * win/makefile.vc: - * win/rules.vc: - * win/tcl.rc: - * win/tclsh.rc: Added an 'unchecked' option to the OPTS macro so a - core built with symbols can be linked to the non-debug enabled C - run-time. As per discussion with Kevin Kenny. Called like this: - - nmake -af makefile.vc OPTS=unchecked,symbols - - This clarifies the meaning of the 'g' naming suffix to mean only that - the binary requires the debug enabled C run-time. Whether the binary - contains symbols or not is a different condition. - -2004-02-06 Don Porter - - * doc/clock.n: Removed reference to non-existent [file ctime]. - -2004-02-05 David Gravereaux - - * docs/tclvars.n: Added clarification of the tcl_platform(debug) var - that it only refers to the flavor of the C run-time, and not whether - the core contains symbols. - -2004-02-05 Don Porter - - * generic/tclFileName.c (SkipToChar): Corrected CONST and type-casting - issues that caused compiler warnings. - -2004-02-04 Don Porter - - * generic/tclCmdAH.c (StoreStatData): Removed improper refcount - decrement of the varName parameter. This error was causing segfaults - following test cmdAH-28.7. - - * library/tcltest/tcltest.tcl: Corrected references to non-existent - $name variable in [cleanupTests]. [Bug 833637] - -2004-02-03 Don Porter - - * library/tcltest/tcltest.tcl: Corrected parsing of single command - line argument (option with missing value) [Bug 833910] - * library/tcltest/pkgIndex.tcl: Bump to version 2.2.5. - -2004-02-02 David Gravereaux - - * generic/tclIO.c (Tcl_Ungets): Fixes improper filling of the channel - buffer. This is the buffer before the splice. [Bug 405995] - -2004-02-01 David Gravereaux - - * tests/winPipe.test: more pass-thru commandline verifications. - * win/tclWinPipe.c (BuildCommandLine): Special case quoting for '{' - not required by the c-runtimes's parse_cmdline(). - * win/tclAppInit.c: Removed our custom setargv() in favor of the work - provided by the c-runtime. [Bug 672938] - - * win/nmakehlp.c: defensive techniques to avoid static buffer - overflows and a couple envars upsetting invocations of cl.exe and - link.exe. [Bug 885537] - - * tests/winPipe.test: Added proof that BuildCommandLine() is not doing - the "N backslashes followed a quote -> insert N * 2 + 1 backslashes - then a quote" rule needed for the crt's parse_cmdline(). - * win/tclWinPipe.c: Fixed BuildCommandLine() to pass the new cases. - -2004-01-30 David Gravereaux - - * win/makefile.vc: Use the -GZ compiler switch when building for - symbols. This is supposed to emulate the release build better to avoid - hiding problems that only show themselves in a release build. - -2004-01-29 Vince Darley - - * generic/tclPathObj.c: fix to [Bug 883143] in file normalization - -2004-01-29 Vince Darley - - * doc/file.n: - * generic/tclFCmd.c - * generic/tclTest.c - * library/init.tcl - * mac/tclMacFile.c - * tests/fileSystem.test: fix to [Bug 886352] where 'file copy -force' - had inconsistent behaviour wrt target files with insufficient - permissions, particular from vfs->native fs. Behaviour of '-force' is - now always consistent (and now consistent with behaviour of 'file - delete -force'). Added new tests and documentation and cleaned up the - 'simplefs' test filesystem. - - * generic/tclIOUtil.c - * unix/tclUnixFCmd.c - * unix/tclUnixFile.c - * win/tclWinFile.c: made native filesystems more robust to C code - which asks for mount lists. - - * generic/tclPathObj.c: fix to [Bug 886607] removing warning/error - with some compilers. - -2004-01-28 Donal K. Fellows - - * generic/tclObj.c (SetBooleanFromAny): Rewrite to do more efficient - string->bool conversion. - Many other minor whitespace/style fixes to this file too. - -2004-01-27 David Gravereaux - - * win/nmakehlp.c: Use '.\nul' as the sourcefile name instead of 'nul' - so VC 5.2 doesn't try searching the path for it and failing with a - possible dialogbox popping up about having to add a CD to an empty - drive. Also added a SetErrorMode() call to disable any dialogs that - cl.exe or link.exe might create. [Bug 885537] - -2004-01-22 Vince Darley - - * doc/file.n: clarified documentation of 'file system' [Bug 883825] - * tests/fCmd.test: improved test result in failure case. - -2004-01-22 Vince Darley - - * tests/fileSystem.test: 3 new tests - * generic/tclPathObj.c: fix to [Bug 879555] in file normalization. - * doc/filename.n: small clarification to Windows behaviour with - filenames like '.....', 'a.....', '.....a'. - - * generic/tclIOUtil.c: slight improvement to native cwd caching on - Windows. - -2004-01-21 David Gravereaux - - * doc/Panic.3: Mentions of 'panic' and 'panicVA' removed from the - documentation. - -2004-01-21 Vince Darley - - * doc/FileSystem.3: - * generic/tcl.decls: - * generic/tclCmdAH.c - * generic/tclDecls.h - * generic/tclFCmd.c - * generic/tclFileName.c - * generic/tclFileSystem.h - * generic/tclIOUtil.c - * generic/tclInt.decls - * generic/tclInt.h - * generic/tclIntDecls.h - * generic/tclPathObj.c - * generic/tclStubInit.c - * generic/tclTest.c - * mac/tclMacFile.c - * tests/fileName.test - * tests/fileSystem.test - * tests/winFCmd.test - * unix/tclUnixFile.c - * win/tclWin32Dll.c - * win/tclWinFCmd.c - * win/tclWinFile.c - * win/tclWinInt.h - - Three main issues accomplished: (1) cleaned up variable names in the - filesystem code so that 'pathPtr' is used throughout. (2) applied a - round of filesystem optimisation with better handling and caching of - relative and absolute paths, requiring fewer conversions. (3) - clarifications to the documentation, particularly regarding the - acceptable refCounts of objects. Some new tests added. Tcl benchmarks - show a significant improvement over 8.4.5, and on Windows typically a - small improvement over 8.3.5 (Unix still appears to require - optimisation). TCL_FILESYSTEM_VERSION_2 introduced, but for internal - use only. There should be no public incompatibilities from these - changes. Thanks to dgp for extensive testing. - -2004-01-19 David Gravereaux - - * win/tclWinPipe.c (Tcl_WaitPid): Fixed a thread-safety problem with - the process list. The delayed cut operation after the wait was going - stale by being outside the list lock. It now cuts within the lock and - does a locked splice for when it needs to instead. [Bug 859820] - -2004-01-18 Donal K. Fellows - - * generic/tclCompile.c, generic/tclCompile.h: Two new opcodes, - INST_LIST_INDEX_IMM and INST_LIST_RANGE_IMM, that have operand(s) of - new type OPERAND_IDX4 which represents indexes into things like lists - (and perhaps other things eventually.) - * generic/tclExecute.c (TclExecuteByteCode): Implementation of the new - opcodes. INST_LIST_INDEX_IMM does a simple [lindex] with either front- - or end-based simple indexing. INST_LIST_RANGE_IMM does an [lrange] - with front- or end-based simple indexing for both the reference to the - first and last items in the range. - * generic/tclCompCmds.c (TclCompileLassignCmd): Generate bytecode for - the [lassign] command. - -2004-01-17 David Gravereaux - - * win/tclWinInit.c: added #pragma comment(lib, "advapi32.lib") when - compiling under VC++ so we don't need to specify it when linking. - -2004-01-17 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LassignObjCmd): Add more shimmering - protection for when the list is also one of the variables. - - BASIC IMPLEMENTATION OF TIP#57 - * generic/tclCmdIL.c (Tcl_LassignObjCmd): Implementation of the - [lassign] command that takes full advantage of Tcl's object API. - * doc/lassign.n: New file documenting the command. - * tests/cmdIL.test (cmdIL-6.*): Test suite for the command. - -2004-01-15 David Gravereaux - - * win/tclWinReg.c: Placed the requirement for advapi.lib into the - object file itself with #pragma comment (lib, ...) when built with - VC++. This will simplify linking for users of the static library. - - * win/rules.vc: Added new 'fullwarn' to the CHECKS commandline macro; - sets $(FULLWARNINGS). - - * win/makefile.vc: Removed 'advapi.lib' from $(baselibs). Added new - logic to crank-up the warning levels for both compile and link when - $(FULLWARNINGS) is set. Some clean-up with how the resource files are - built and how -DTCL_USE_STATIC_PACKAGES is sent when compiling the - shells. - - * win/tclAppInit.c: Small change in how TCL_USE_STATIC_PACKAGES is - used. - - * win/tcl.rc: - * win/tclsh.rc: Some clean-up with how the resource files are built. - Fixed 'OriginalFilename' problem that still thought a debug suffix was - still 'd', now is 'g'. - -2004-01-14 Donal K. Fellows - - * generic/tclDictObj.c (TraceDictPath, DictExistsCmd): Adjusted - behaviour of [dict exists] so a failure to look up a dictionary along - the path of dicts doesn't trigger an error. This is how it was - documented to behave previously... [Bug 871387] - - * generic/tclDictObj.c: Assorted dict fixes from Peter Spjuth relating - to [Bug 876170]. - (SetDictFromAny): Make sure that lists retain their ordering even when - converted to dictionaries and back. - (TraceDictPath): Correct object reference count handling! - (DictReplaceCmd, DictRemoveCmd): Stop object leak. - (DictIncrCmd,DictLappendCmd,DictAppendCmd,DictSetCmd,DictUnsetCmd): - Simpler handling of reference counts when assigning to variables. - * tests/dict.test (dict-19.2): Memory leak stress test - -2004-01-13 Don Porter - - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Silence compiler warnings. - - Patch 876451: restores performance of [return]. Also allows forms such - as [return -code error $msg] to be bytecompiled. - - * generic/tclInt.h: Factored Tcl_ReturnObjCmd() into two pieces: - * generic/tclCmdMZ.c: TclMergeReturnOptions(), which can parse the - options to [return], check their validity, and create the - corresponding return options dictionary, and TclProcessReturn(), which - takes that return options dictionary and performs the [return] - operation. - - * generic/tclCompCmds.c: Rewrote TclCompileReturnCmd() to call - TclMergeReturnOptions() at compile time so the return options - dictionary is computed at compile time (when it is fully known). The - dictionary is pushed on the stack along with the result, and the code - and level values are included in the bytecode as operands. Also - supports optimized compilation of un[catch]ed [return]s from procs - with default options into the INST_DONE instruction. - - * generic/tclExecute.c: Rewrote INST_RETURN instruction to retrieve - the code and level operands, pop the return options from the stack, - and call TclProcessReturn() to perform the [return] operation. - - * generic/tclCompile.h: New utilities include TclEmitInt4 macro - * generic/tclCompile.c: and TclWordKnownAtCompileTime(). - - End Patch 876451. - - * generic/tclFileName.c (Tcl_GlobObjCmd): Latest changes to management - of the interp result by Tcl_GetIndexFromObj() exposed improper interp - result management in the [glob] command procedure. Corrected by - adopting the Tcl_SetObjResult(Tcl_NewStringObj) pattern. This stopped - a segfault in test filename-11.36. [Bug 877677] - -2004-01-13 Donal K. Fellows - - * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct, Tcl_WrongNumArgs): - Create fresh objects instead of using the one currently in the - interpreter, which isn't guaranteed to be fresh and unshared. The cost - for the core will be minimal because of the object cache, and this - fixes [Bug 875395]. - -2004-01-12 Miguel Sofer - - * generic/tclCompExpr.c (CompileLandOrLorExpr): cosmetic changes. - -2004-01-12 Miguel Sofer - - * generic/tclCompExpr.c (CompileLandOrLorExpr): new logic, fewer - instructions. As a side effect, the instructions INST_LOR and - INST_LAND are now never used. - * generic/tclExecute.c (INST_JUMP*): small optimisation; fix a bug in - debug code. - -2004-01-11 David Gravereaux - - * win/tclWinThrd.c (Tcl_ConditionNotify): condPtr must be dereferenced - to see if there are waiters else uninitialized datum is manipulated. - [Bug 849007 789338 745068] - -2004-01-09 David Gravereaux - - * generic/tcl.h: Renamed and deprecated #defines moved to within the - #ifndef TCL_NO_DEPRECATED block. This allows us to build Tcl to check - for deprecated functions in use, such as panic() and Tcl_Ckalloc(). By - request from DKF. Extensions that build with -DTCL_NO_DEPRECATED now - have these macros as restricted. - ***POTENTIAL INCOMPATIBILITY*** - - * win/makefile.vc: - * win/rules.vc: Added -DTCL_NO_DEPRECATED usage to makefile.vc. - Called like this: nmake -af makefile.vc CHECKS=nodep - -2004-01-09 Vince Darley - - * generic/tclIOUtil.c: fix to infinite loop in TclFinalizeFilesystem - [Bug 873311] - - ****************************************************************** - *** 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" *** - ****************************************************************** DELETED ChangeLog.2005 Index: ChangeLog.2005 ================================================================== --- ChangeLog.2005 +++ /dev/null @@ -1,3822 +0,0 @@ -2005-12-30 Kevin B. Kenny - - * generic/tclStubLib.c: Corrected a typo in "missing Stubs table - pointer." - -2005-12-27 Kevin B. Kenny - - * generic/tcl.decls: Destubbed TclTomMathInitializeStubs - it is in - * generic/tcl.h: the stub library, not the main shared - * generic/tclBasic.c: library. Exported Tcl_InitBignumFromDouble. - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclStrToD.c: - - * generic/tclDecls.h: - * generic/tclStubLib.c: - * generic/tclStubInit.c: Regenerated. - - * generic/clock.tcl: Reverted to using the time zone abbreviation and - not its name to "stop the bleeding" on [Bug 1386377]. This is *not* a - good long-term solution, but there may not be one. - - * libtommath/bn_mp_sqrt.c: Improved the initial approximation to the - square root, roughly doubling the speed of the routine. (This is a - local change that needs to be communicated to Tom.) - - * win/Makefile.in: Corrected a bug where tommath_class.h and - tommath_superclass.h were not installed, making it impossible for - client code to compile against the tommath stubs. - - * library/tzdata: Updated to Olson's tzdata2005r. (Latest changes to - Daylight Saving Time in Canada, plus redefinition of the Posix-style - zones [e.g., EST5EDT] to be locale-independent.) - - * libtommath: Updated to Tom St.Denis's release 0.37. - -2005-12-20 Donal K. Fellows - - * generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Format values as longs - and not ints, so they are less likely to wrap on 64-bit machines. - -2005-12-19 Don Porter - - * generic/tclCmdMZ.c: Modified [string is double] to use - * tests/string.test: TclParseNumber() to parse trailing whitespace. - Ensures consistency, and makes it easier to cleanup after invalid - internal reps left behind by parsing [Bugs 1360532 1382287]. - - * generic/tclParseExpr.c: Added TCL_PARSE_NO_WHITESPACE to - * generic/tclScan.c: TclParseNumber() calls since [scan] and [expr] - * tests/scan.test: parsing don't want spaces in parsed numbers. - - * generic/tclInt.h: Added TCL_PARSE_NO_WHITESPACE flag to the - * generic/tclStrToD.c: TclParseNumber() interface. - -2005-12-19 Donal K. Fellows - - * doc/Tcl.n: Clarify what is going on in variable substitution - following thread on comp.lang.tcl. - -2005-12-18 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictCmd): Ensure that we only do an - 'endCatch' when there's a preceding 'beginCatch'. [Bug 1382528] Many - thanks to Anton Kovalenko for finding this and pointing out that it was - a catch stack handling problem! - -2005-12-14 Daniel Steffen - - * generic/tclIOUtil.c: workaround gcc warning "comparison is always - * generic/tclTest.c: false due to limited range of data type". - - * macosx/Tcl.xcode/project.pbxproj: - * macosx/Tcl.xcodeproj/project.pbxproj: - * unix/Makefile.in: add new tclTomMath* files. - - * generic/tclBasic.c: replace panic with Tcl_Panic. - -2005-12-13 Kevin B. Kenny - - * generic/tcl.decls: Added changes to export an additional stubs - * generic/tclBasic.c: table to represent the 'libtommath' routines - * generic/tclDecls.h: that Tcl uses and export them to callers. - * generic/tclInt.decls: Reran 'genstubs' - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: - * generic/tclStubLib.c: - * generic/tclTomMath.decls: - * generic/tclTomMath.h: - * generic/tclTomMathDecls.h: - * generic/tclTomMathInterface.c: - * generic/tommath.h: - * tools/fix_tommath_h.tcl: - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: - - * generic/tclClock.c: Made changes to silence a number of compiler - * generic/tclIO.c: warnings when building with mingw. - * generic/tclIORChan.c: - * generic/tclLink.c: - * generic/tclListObj.c: - * generic/tclObj.c: - * generic/tclParseExpr.c: - * generic/tclProc.c: - * generic/tclTimer.c: - * win/tclWinChan.c: - * win/tclWinConsole.c: - * win/tclWinDde.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: - * win/tclWinReg.c: - * win/tclWinSock.c: - -2005-12-13 Donal K. Fellows - - * generic/tclExecute.c (TEBC:DICT_FIRST,DICT_DONE): Only decrease the - references to the dictionary once the iteration completes. Do this by - storing the dict in the iterator context variable. [Bug 1379349] Thanks - to Ulrich Ring and Tobias Hippler for finding this. - -2005-12-12 Jeff Hobbs - - * unix/tcl.m4, unix/configure: Fix sh quoting error reported in - bash-3.1+ [Bug 1377619] (schafer) - -2005-12-12 Kevin B. Kenny - - * doc/mathfunc.n: Changed two examples from the incorrect 'tcl::math::' - to 'tcl::mathfunc::' [Bug 1378818] - -2005-12-09 Mo DeJong - - * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Define MACHINE for gcc builds. The - lack of a definition of this variable in the manifest file was causing - a runtime error in wish built with gcc. - -2005-12-09 Donal K. Fellows - - * tests/lsearch.test (lsearch-10.8..10): If the -start is off the end, - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): searching should find nothing - at all. [Bug 1374778] - -2005-12-08 Jeff Hobbs - - * win/Makefile.in, win/makefile.vc: Add Win x64 and CE build support - * win/tcl.m4, win/configure: CE still requires C code fixes. - - * generic/tcl.h: use struct __stat64 (not _stat64) for MSC_VER >= 1400 - (i.e. latest Platform SDK). - -2005-12-07 Donal K. Fellows - - * doc/socket.n: Cross-referenced the socket documentation better to the - fconfigure documentation on the topic of asynch sockets. - * doc/fconfigure.n: Added keyword to documentation of -blocking option - so that people looking for "asynch" can find it as well. - -2005-12-05 Daniel Steffen - - * unix/tclUnixPort.h (Darwin): fix incorrect __DARWIN_UNIX03 configure - overrides that were originally copied from Darwin CVS (rdar://3693001) - -2005-12-05 Kevin B. Kenny - - * tools/tclZIC.tcl: Updated to reflect changes in calling sequence when - GetJulianDateFromEraYearMonthDay moved to C. - * library/tzdata: Regenerated from Olson's tzdata2005p.tar.gz - the - 'systemv' changes appear not to affect Tcl's processing of the dates. - -2005-12-05 Daniel Steffen - - * unix/configure.in: move check for fts API to configure.in and run it - * unix/tcl.m4: on all platforms, since Linux glibc2 and *BSDs - also have this; using fts is more efficient than a recursive - opendir/readdir. - * unix/tclUnixFCmd.c (TraverseUnixTree): add support to fts code for - platforms with stat64. - * unix/configure: - * unix/tclConfig.h.in: regen. - -2005-12-05 Jeff Hobbs - - * unix/configure: Use fts file API on Darwin if available. - * unix/tcl.m4: Addresses file delete issues in readdir noted - * unix/tclUnixFCmd.c: in [Bug 1034337]. (steffen) - Remove redundant stat call for each file in DoCopyFile. (steffen) - -2005-12-02 Kevin B. Kenny - - * generic/tclClock.c: Moved a tiny bit more of [clock format] from run - * library/clock.tcl: time to compile time, and fixed a l10n bug in the - process. [Bug 1371446]. Also, conditoned the call to SetupTimeZone to - speed the common case where TZData($timezone) already exists, and - achieved a puny speedup by making ::tcl::clock::getenv not throw - errors. - * unix/Makefile.in: Made some changes to support a 'make' command that - is present on some antiquated versions of Solaris. - -2005-12-01 Kevin B. Kenny - - * library/clock.tcl: Continued rationalizing the code, eliminating - numerous redundant [mc] calls. Added another time boost by precompiling - a [::format] command to do the bulk of the work of [clock format]. - -2005-12-01 Donal K. Fellows - - * unix/Makefile.in: Add remaining dependency info. While automated - maintenance of this information would be good, having it at all is much - better than a poke in the eye with a sharp stick... - -2005-12-01 Daniel Steffen - - * generic/tclClock.c: fix warning. - - * unix/tcl.m4 (Darwin): fix error when MACOSX_DEPLOYMENT_TARGET unset - * unix/configure: regen. - -2005-11-30 Donal K. Fellows - - * unix/Makefile.in: Add dependency information relating to tclCompile.h - since when the list of opcodes changes it is usually useful to rebuild - everything that depends on it (but which is nonetheless a small - fraction of the total set of Tcl source files). - - ***POTENTIAL INCOMPATIBILITY*** for bytecode savers/loaders. See below - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Arrange for very simple - [switch] invocations to be compiled into hash lookups into jump tables; - only a very specific kind of [switch] can be safely compiled this way, - but that happens to be the most common kind. This makes around 5-10% - difference to the speed of execution of clock.test. - * generic/tclExecute.c (TEBC:INST_JUMP_TABLE): New instruction to allow - for jumps to locations looked up in a hashtable. Requires a new AuxData - type, tclJumptableInfoType (supported by the functions DupJumptableInfo - and FreeJumptableInfo in tclCompCmds.c) so anything that saves bytecode - containing this *must* be updated! - -2005-11-30 Kevin Kenny - - * generic/tclClock.c: Fixed a bad refcount in previous commit that led - to a corrupted heap. Also silenced a warning that some compilers gave - about the excessively long constant for JULIAN_SEC_POSIX_EPOCH. Also - fixed a bug where [clock format] would fail in the :localtime zone for - times before the Posix Epoch. Thanks to Miguel Sofer for pointing out - all of these. Also rationalized the code a little bit by moving parts - of [clock scan] into C, eliminating some code that was duplicated in - the C and Tcl layers. - -2005-11-29 Kevin Kenny - - * generic/tclBasic.c: Moved a big part of [clock format] down - * generic/tclClock.c: to the C level in order to make it go faster. - * generic/tclInt.h: Preliminary measurements suggest that it - * generic/clock.tcl: more than doubles in speed with this change. - -2005-11-29 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Allow [lsearch -regexp] to - process REs that contain backreferences. This expensive mode of - operation is only used if the RE would otherwise cause a compilation - failure. [Bug 1366683] - -2005-11-28 Kevin Kenny - - * tools/tclZIC.tcl (convertTimeOfDay): Corrected a typo that caused - wrong DST transitions in any time zone where the transition is - specified as local Standard Time (as opposed to wall-clock or UTC). - (Also updated the code to be bignum-safe.) - * tests/clock.test (clock-51.1): Added regression test for the above. - * library/tzdata: Updated to Olson's 'tzdata2005o' (changes for Cuba, - Nicaragua, Jordan, and Georgia) and regenerated. Thanks to Paul - Mackerras for reporting this problem. - -2005-11-27 Daniel Steffen - - * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(), - add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to - configure (flag can't be present twice, so can't be in both CFLAGS and - LDFLAGS during configure), don't use -prebind when deploying on 10.4, - define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). - (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete - autoconf macros. Sync with tk/unix/tcl.m4. - - * unix/configure.in: fix obsolete autoconf macros, sync gratuitous - formatting/ordering differences with tk/unix/configure.in. - - * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable - linking the same as during configure (needed to avoid losing any linker - relevant flags in CFLAGS, in particular flags that cannot be in - LDFLAGS). Avoid concurrent linking of tclsh and compiling of - tclTestInit.o or xtTestInit.o during parallel make. - (checkstubs, checkdoc, checkexports): dependency and Darwin fixes - (dist): add new macosx files. - - * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING - on second NSAddImage only. [Bug 1204237] - (TclGuessPackageName): should not be MODULE_SCOPE. - (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for - loading universal (fat) bundles from memory. - - * unix/tclUnixFCmd.c: - * macosx/tclMacOSXFCmd.c: ppc64 and endian (i386) fixes. - (TclMacOSXCopyFileAttributes): add support for new Tiger copyfile() API - to enable copying of xattrs & ACLs by [file copy]. - - * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE - defines to support fat compiles of ppc and ppc64 at the same time, - (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location - of version numbers in macosx files. - - * generic/tclInt.h: clarify fat compile comment. - - * unix/tclUnixPort.h: add Darwin specifc configure overrides to support - fat compiles, where configure runs only once for multiple architectures - (replaces Darwin CVS fix by emoy, rdar://3693001). - - * macosx/tclMacOSXBundle.c: - * macosx/tclMacOSXNotify.c: - * unix/tclUnixNotfy.c: - * unix/tclUnixPort.h: fix #include order to support compile time - override of HAVE_COREFOUNDATION in tclUnixPort.h when building for - ppc64 - - * macosx/Tcl.pbproj/default.pbxuser (new file): - * macosx/Tcl.pbproj/jingham.pbxuser: - * macosx/Tcl.pbproj/project.pbxproj: - * macosx/Tcl.xcode/default.pbxuser (new file): - * macosx/Tcl.xcode/project.pbxproj (new file): - * macosx/Tcl.xcodeproj/default.pbxuser (new file): - * macosx/Tcl.xcodeproj/project.pbxproj (new file): new/updated - projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on - 10.2, with native tcltest targets and support for universal (fat) - compiles. - - * macosx/README: clarification/cleanup, document new Xcode projects and - universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). - - * unix/Makefile.in: - * unix/aclocal.m4: - * unix/configure.in: - * unix/dltest/Makefile.in: - * macosx/configure.ac (new file): add support for inclusion of - unix/configure.in by macosx/configure.ac, allows generation of a config - headers enabled configure script in macosx (required by Xcode - projects). - - * macosx/GNUmakefile: rename from Makefile to avoid overwriting by - configure run in tcl/macosx, add support for reusing configure cache, - build target fixes, remove GENERIC_FLAGS override now handled by - tcl.m4. - - * generic/tcl.decls: add Tcl_Main declaration as comment to avoid - 'checkstubs' target complaining about it missing from stubs. - - * generic/regex.h: - * generic/tclDate.c: - * generic/tclEnv.c: - * generic/tclGetDate.y: - * generic/tclIOUtil.c: - * generic/tclObj.c: - * generic/tclStubInit.c: - * generic/tclStubLib.c: - * generic/tclPathObj.c: - * generic/tclThreadAlloc.c: - * generic/tclThreadStorage.c: - * generic/tclTrace.c: - * generic/tclVar.c: - * generic/tommath.h: - * tools/fix_tommath_h.tcl: - * unix/tclUnixFCmd.c: ensure externally visible symbols not contained - in stubs table are declared as MODULE_SCOPE (or as static if not used - outside of own source file). These changes allow 'make checkstubs' to - complete without error on Darwin with gcc 4. - - * generic/rege_dfa.c (getvacant): - * generic/regexec.c (cfind): - * generic/tclCompExpr.c (CompileSubExpr): - * generic/tclNamesp.c (NamespaceEnsembleCmd): - * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to - silence gcc 4 warnings. - - * generic/tclExecute.c (TclExecuteByteCode): fix unused variable - warning when NO_WIDE_TYPE is defined. - - * generic/regguts.h: only #define NDEBUG if not already #defined. - - * unix/tclUnixNotfy.c: - * macosx/tclMacOSXNotify.c: sync whitespace & comments. - - * unix/tclUnixPort.h: - * win/tclWinPort.h: remove declaration of obsolete&unused TclpMutex - API. - - * unix/configure: - * unix/tclConfig.h.in: regen. - -2005-11-21 Andreas Kupries - - * unix/Makefile.in (install-libraries): Updated Makefile to new - * win/Makefile.in (install-libraries): version of the http package. - This fixes the ifneeded/provide mismatch reported when trying to - require http. Should we maybe try to automatically extract the version - number from the http code to prevent future breakage ? - - This follows the update of the version number by dgp on Nov 15 (No - entry found in the ChangeLog). - -2005-11-20 Joe English - - * generic/tclStubLib.c: Don't set tclStubsPtr to 0 when - Tcl_PkgRequireEx() fails [Fix for [Bug 1091431] "Tcl_InitStubs failure - crashes wish"] - -2005-11-18 Miguel Sofer - - * tests/trace.test (trace-34.5): [Bug 1047286], added a second test - illustrating the role of "ns in callStack" in the ns's visibility - during deletion traces. - -2005-11-18 Kevin B. Kenny - - * doc/clock.n: Restored several missing lines near the %w format group - so that %w and %W are documented with their actual behaviour. [Bug - 1359183] - -2005-11-18 Jeff Hobbs - - * generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we - retrieve the next statePtr from it. - -2005-11-18 Miguel Sofer - - * generic/tclObj.c (GetBignumFromObj): replace NULL with - tclEmptyStringRep to stop memcpy from complaining in a debug build - (the corresponding branch is eliminated by the optimiser otherwise). - -2005-11-18 Andreas Kupries - - * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch - for [Bug 1359094]. This moves the retrieval of the next channel state - to the end of the loop, as the called closeproc may close other - channels, i.e. modify the list we are iterating, invalidating any - pointer retrieved earlier. - -2005-11-18 Don Porter - - * generic/tclListObj.c: Restored the SetListFromAny routine to the - * generic/tclObj.c: "list" Tcl_ObjType, and restored the - Tcl_RegisterObjType() call for "list". This addresses the needs of some - "bridge" extensions to examine whether the Tcl_ObjType of a Tcl_Obj is - that of the "list" Tcl_ObjType. - -2005-11-18 Donal K. Fellows - - * library/http/http.tcl (http::geturl): Improved syntactic validation - of URLs, and better error messages in some cases. [Bug 1358369] - -2005-11-17 Miguel Sofer - - * tests/namespace.test: fix comment - -2005-11-14 Don Porter - - * generic/tclStrToD.c: More data in the "can't happen" Tcl_Panic to - aid debugging. - - * generic/tclBasic.c (CallCommandTraces): Save/restore the interp - result during traces to fix [Bug 1355342]. - -2005-11-13 Miguel Sofer - - * generic/tclInt.h: - * generic/tclNamesp.c: - * tests/namespace.test: fix for [Bug 1354540] and [Bug 1355942]. The - new tests 7.3-6 and the modified 51.13 fail due to the unrelated [Bug - 1355342] - - * tests/trace.test: added tests 20.13-16 for [Bug 1355342] - -2005-11-12 Miguel Sofer - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken): - * generic/tclObj.c (Tcl_GetCommandFromObj): more partial fixes for - [Bug 1354540] - making sure that cached references to a command being - deleted cannot be made reusable by a delete trace. - -2005-11-12 Donal K. Fellows - - * generic/tclNamesp.c (Tcl_FindCommand): Do not find commands in dead - namespaces on the path. Partial fix for [Bug 1354540]. - -2005-11-11 Don Porter - - * generic/tclInt.h: Revised TclParseNumber interface to enable - * generic/tclScan.c: revision to the [scan] command implementation - * generic/tclStrToD.c: to permit tests scan-4.44,55 to pass again. - [Bug 1348067]. - -2005-11-11 Miguel Sofer - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken): - * generic/tclObj.c (Tcl_GetCommandFromObj): bump the cmd epoch early - to insure that cached references to this command are invalidated. - Partial fix for [Bug 1352734] - at least insures that namespace-51.13 - does not cause a panic. The test is still marked as knownbug, pending - resolution of what is actually the correct return value ([Bug - 1354540]) - -2005-11-09 Kevin B. Kenny - - * generic/tclTimer.c: Changed [after] so that it behaves correctly - * tests/timer.test: with negative arguments [Bug 1350293] and - arguments that overflow a 32-bit word. [Bug 1350291] - -2005-11-08 Don Porter - - * tests/compile.test: Updated tests with changed behavior - * tests/execute.test: due to addition of bignums. - * tests/expr-old.test: - * tests/expr.test: - * tests/parseExpr.test: - * tests/platform.test: - * tests/string.test: - -2005-11-08 Jeff Hobbs - - * unix/tclUnixFCmd.c (MAX_READDIR_UNLINK_THRESHOLD): reduce to 130 - based on errors seen on OS X 10.3 with lots of links in a dir. - [Bug 1034337 followup] - -2005-11-09 Donal K. Fellows - - * unix/Makefile.in (gdb-test): Added a new target to make it easier to - run the test suite inside a debugger. - -2005-11-08 Don Porter - - * tests/compExpr-old.test: Updated tests with changed behavior due - to addition of bignums. - - * tests/expr.test: Portable tests expr-46.13-18 [Bug 1341368] - - * generic/tclPkg.c: Corrected inconsistencies in the value returned - * tests/pkg.test: by Tcl_PkgRequire(Ex) so that the returned - values will always agree with what is stored in the package database. - This way repeated calls to Tcl_PkgRequire(Ex) have the same results. - Thanks to Hemang Lavana. [Bug 1162286]. - -2005-11-08 Donal K. Fellows - - * generic/tclTrace.c (TraceVarEx): Factor out heart of Tcl_TraceVar2 - (TclTraceVariableObjCmd,TraceVarProc): Use the new internal API to - arrange for the clientData to be cleaned up at the same time as the - rest of the main trace record. This simplifies the code a bit at the - same time. - -2005-11-07 Miguel Sofer - - * tests/trace.test (trace-13.2-4): added tests to detect leak, see [Bug - 1348775]. The recently added trace-8.9 test is now 13.4. - -2005-11-07 Donal K. Fellows - - * tests/dict.test (dict-19.2): arrange for the stress testing code to - only stress test the dict code and not the trace code as well. [Bug - 1342858] - -2005-11-05 Miguel Sofer - - * tests/trace.test (trace-8.9): added test to detect leak, see [Bug - 1348775]. - -2005-11-04 Pat Thoyts - - * win/tclWinPort.h: Applied [Patch 1267871] by Matt Newman for - * win/tclWinPipe.c: extended error code support on Windows. - * tests/exec.test: Tests for extended error codes. - * generic/tclPipe.c: Permit long codes (platform macros permitting). - -2005-11-04 Miguel Sofer - - * generic/tclBinary.c: - * generic/tclCmdAH.c: - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclDictObj.c: - * generic/tclExecute.c: - * generic/tclIOCmd.c: - * generic/tclLink.c: - * generic/tclTest.c: - * generic/tclVar.c: fix for [Bug 1334947]. The functions TclPtrSetVar, - Tcl_ObjSetVar2 and Tcl_SetVar2Ex now always consume the newValuePtr - argument - i.e., they will free a 0-refCount object if they failed to - set the variable. Fixed all callers in the core. - -2005-11-04 Kevin Kenny - - * generic/tclGetDate.y: Added abbreviations for the Korean - * library/clock.tcl: timezone. [Patch 1298737] - * generic/tclDate.c: Regenerated. - - * tools/findBadExternals.tcl: Added this script, which locates external - symbols that do not begin with 'Tcl' or 'tcl' and hence might be in - conflict with other link libraries. Thanks to George Peter Staplin for - the idea and the initial version of the script. [Bug 1263012] - - * unix/Makefile.in: Trimmed a bunch of fat out of the tommath/ - directory in 'make dist'. [RFE 1333318] - - * unix/tcl.m4: Added code to enable [load] on LynxOS. Thanks to - heidibr@users.sf.net for the patch. [Bug 1163896]. Removed the last - vestiges of GNU dld from the Unix build [RFE 1071992]. - - * unix/tclLoadDld.c: Removed. - * unix/configure: Regenerated. - -2005-11-04 Miguel Sofer - - * generic/tclInt.h: - * generic/tclNamesp.c: - * generic/tclVar.c: - * tests/trace.test: fix for [Bugs 1338280/1337229]; changed to use the - same approach as the 8.4 patch in the ticket (i.e., removed the patch - committed on 2005-31-10). - -2005-11-03 Pat Thoyts - - * win/tclWin32Dll.c: Applied [Patch 1256872] to provide unicode - * win/tclWinConsole.c: support in the console on suitable systems. - * win/tclWinInt.h: Patch by Anton Kovalenko - -2005-11-02 Pat Thoyts - - Applied [Patch 1096916] to support building with MSVC 8. - * generic/regerror.c: Avoid use of reserved word. - * generic/tcl.h: Select the right Tcl_Stat structure - * generic/tclDate.c: Casts to handle 64 bit time_t case. - * tests/env.test: Include essential envvar on Win32 - * win/nmakehlp.c: Handle new return codes. - * win/makefile.vc: Use the selected options. - * win/rules.vc: Check options are applicable - * win/tclWinPort.h: Disable deprecated function warnings - * win/tclWinSock.c: Provide default value to avoid warning. - * win/tclWinTime.c: Add casts to handle 64bit time_t type. - -2005-11-01 Don Porter - - * generic/tclTrace.c (TclCheckExecutionTraces): Corrected mistaken - assumption that all command traces are set at the script level. - Report/fix from Jacques H. de Villiers. [Bug 1337941] - - * tests/unixNotfy.test (1.1,2): Update error message whitespace to - match changes in code. - - * tests/expr-old.test (expr-32.52): Use int(.) to restrict result of - left shift to the C long range. - - * expr.test (expr-46.13): Added test that illustrates shortcoming of - [Patch 1340260]. - -2005-10-31 Miguel Sofer - - * generic/tclNamesp.c: fix for [Bugs 1338280/1337229]. Thanks Don. - * tests/trace.test: fix duplicate test numbers - -2005-10-31 Donal K. Fellows - - * win/tclWinSerial.c (SerialSetOptionProc): Cleaned up option parsing - to produce more informative error messages and separate error and - non-error code paths better. - * tests/ioCmd.test (iocmd-8-19): Updated. - -2005-10-29 Miguel Sofer - - * generic/tclTrace.c (TraceVarProc): [Bug 1337229], partial fix. Ensure - that a second call with TCL_TRACE_DESTROYED does not lead to a second - call to Tcl_EventuallyFree(). It is still true that that second call - should not happen, so the bug is not completely fixed. - * tests/trace.test (test-18.3-4): added tests for [Bug 1337229] and - [Bug 1338280]. - -2005-10-23 Vince Darley - - * generic/tclFileName.c: fix to memory leak in glob [Bug 1335006] Obj - leak detection and patch by Eric Melbardis. - - * tests/fCmd.test: - * win/tclWinFile.c: where appropriate windows API is available, try to - set 'nlink' and 'ino' stat fields (previously they were always 0). [Bug - 1325803] - -2005-10-22 Miguel Sofer - - * tests/foreach.test (foreach-8.1): added test for [Bug 1189274] - -2005-10-22 Miguel Sofer - - * generic/tclExecute.c (INST_INCR_*): fixed [Bug 1334570]. Obj leak - detection and patch by Eric Melbardis. - -2005-10-21 Kevin B. Kenny - - * generic/tclStrToD.c (RefineApproximation): Plugged a memory leak - where two intermediate results were not freed on one return path. [Bug - 1334461]. Thanks to Eric Melbardis for the patch. - -2005-10-21 Donal K. Fellows - - * doc/binary.n: Clarify that virtually all code that uses the 'h' - format in [binary scan] should be using the 'H' format instead. It is - nearly always a bug to use the other! - -2005-10-20 Miguel Sofer - - * generic/tclListObj.c (TclLsetFlat): - * tests/lset.test (lset-10.3): fixed handling of unshared lists with - shared sublists, [Bug 1333036] reported by neuronstorm. - -2005-10-19 Donal K. Fellows - - * generic/tclIORChan.c (PassReceivedError,PassReceivedErrorInterp): - Fix crash caused by passing -1 as the length to TclNewStringObj(). Only - Tcl_NewStringObj (the function call, not the macro) handles that sort - of thing correctly. This makes ioCmd.test pass again. - -2005-10-19 Don Porter - - * generic/tclClock.c: Removed some dead code. - * generic/tclCmdIL.c: - * generic/tclCompCmds.c: - * generic/tclDictObj.c: - * generic/tclExecute.c: - * generic/tclLiteral.c: - * generic/tclParseExpr.c: - * generic/tclScan.c: - * generic/tclUtil.c: - * generic/tclVar.c: - -2005-10-19 Donal K. Fellows - - * generic/tclIORChan.c: General cleanup, removing checks that are - unnecessary due to the general contracts of other functions in the - core, converting to using ANSI declarations, etc. Note that nearly the - whole file has changed, but it is often just cosmetic. - -2005-10-19 Miguel Sofer - - * generic/tclExecute.c (INST_DICT_APPEND, INST_DICT_LAPPEND): fixed - faulty peephole optimisation that can cause crashes, [Bug 1331475] - reported by Aric Bills. - -2005-10-18 Don Porter - - * generic/tclExecute.c: Added optimization for I32L64 systems to avoid - using bignums to perform int multiplies. The improvement shows up most - dramatically in tclbench's matrix.bench. - -2005-10-15 Don Porter - - * generic/tclExecute.c: Restored some optimizations of the - INST_INCR_SCALAR1_IMM opcode. - -2005-10-14 Zoran Vasiljevic - - * generic/tclIO.c (Tcl_ClearChannelHandlers): removed change dated - 2005-10-04 (see below). Look into [Bug 1323992] for detailed - discussion. - - * generic/tcl.h: Fixed bad definition of CRTEXPORT which should have - been CRTIMPORT rather. This broke compilation of generic/tclMain.c and - was probably introduced by mistake while applying the fix for [Bug - 1256937] below. - -2005-10-14 Kevin Kenny - - * generic/tclExecute.c (TclIncrObj, TclExecuteByteCode): Tidied up a - couple of infelicitous do {...} while(0) constructs. - -2005-10-14 Pat Thoyts - - * generic/tcl.h: Fix for [Bug 1256937] - correctly decorate - * generic/tclMain.c: imported functions from msvcrt in static builds. - -2005-10-13 Donal K. Fellows - - * tests/format.test: "Forward"-port of test updates relating to [Bug - 1284178]. The bug itself was fixed by TIP#237. - -2005-10-13 Zoran Vasiljevic - - * generic/tclIO.c (Tcl_ClearChannelHandlers): temporary ifdef - TCL_THREADS changes done to de-activate pending event processing when - channel is being closed/cutted. - -2005-10-13 Don Porter - - * generic/tclExecute.c: Removed obsolete use of NO_ERRNO_H. - * tools/man2tcl.c: - * unix/tcl.m4: - * unix/tclConfig.h.in: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - - * compat/tclErrno.h: Removed obsolete file. - - * generic/tclStrToD.c (TclParseNumber): Missing goto caused crash when - parsing "Na". [Bug 1325833] - -2005-10-12 Don Porter - - * generic/tclExecute.c (GetNumberFromObj): Restored some lost - optimizations for empty string values. We avoid cost of a call to - TclParseNumber just to tell us an empty string isn't a number. - -2005-10-12 Donal K. Fellows - - * generic/tclPathObj.c (SetFsPathFromAny): TclGetString macro must not - be combined with post-increment arguments. [Bug 1325099] - -2005-10-12 Kevin Kenny - - * generic/tclExecute.c (Tcl_ExecuteByteCode, TclIncrObj): Several - common cases inlined in hopes of gaining a little performance in [incr] - -2005-10-10 Miguel Sofer - - * generic/tclCompCmds.c: New convenience macro CompileTokens(). - -2005-10-10 Don Porter - - * generic/tclExecute.c: Corrections to the NO_WIDE_TYPE build. Also - added missing "break" to a switch that broke wide XOR operations. - -2005-10-10 Donal K. Fellows - - * generic/tclInterp.c (DeleteScriptLimitCallback) - (SetScriptLimitCallback): Improve the interlocking between the script - limit callback record and the hash table of current such records, to - prevent crashes in callbacks that create callbacks. - (Tcl_LimitSetTime): Reset the correct flag. Problem reported by - Nicolas Castagne on comp.lang.tcl - -2005-10-10 Miguel Sofer - - * generic/tclExecute.c: Fixing errors in last commit. (Two commits, the - second removes wrong comment). - -2005-10-09 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclExecute.c: - * generic/tclStrToD.c: - * generic/tclStringObj.c: Initialise variables to avoid compiler - warnings ([Bug 1320818] among others). - -2005-10-08 Don Porter - - TIP#237 IMPLEMENTATION - - [kennykb-numerics-branch] Resynchronized with the HEAD; at this - checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and - kennykb-numerics-branch contain identical code. - - [kennykb-numerics-branch] Merge updates from HEAD - - * generic/tclExecute.c: More performance macros and special handling of - the wide integer type for performance on 32-bit systems. - -2005-10-07 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Macro GetNumberFromObj() is version of - TclGetNumberFromObj() that saves a function call for common uses. - - * generic/tclInt.h: Made #undef NO_WIDE_TYPE the default on 32-bit - systems. Being able to use 64-bit values without leaping to mp_int - should help with performance. - - * generic/tclObj.c: Bug fixes in the #undef NO_WIDE_TYPE - * generic/tclExecute.c: configuration. - - * generic/tclExecute.c: Improved performance of comparison opcodes and - bitwise operations and removed yet more dead code. - -2005-10-07 Jeff Hobbs - - * unix/tclUnixFCmd.c (TraverseUnixTree): Adjust 2004-11-11 change to - * tests/fCmd.test (fCmd-20.2): account for NFS special files - with a readdir rewind threshold. [Bug 1034337] - -2005-10-06 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Improved performance of INST_RSHIFT and - INST_LSHIFT. - -2005-10-05 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Improved performance of INST_MULT, INST_DIV, - INST_ADD, and INST_SUB and replaced a "goto... label" with a "break - from loop" in TclIncrObj() and removed some dead code. - -2005-10-05 Andreas Kupries - - * generic/tclPipe.c (TclCreatePipeline): Fixed [Bug 1109294]. Applied - the patch provided by David Gravereaux. - - * doc/CrtChannel.3: Fixed [Bug 1104682], by application of David - Welton's patch for it, and added a note about wideSeekProc. - - * generic/tclIORChan.c (RcClose): Removed unreachable panic/return - statements. This fixes the remainder of [Bug 1286256]. - -2005-10-05 Jeff Hobbs - - * tests/env.test (env-6.1): - * win/tclWinPort.h: define USE_PUTENV_FOR_UNSET 1 - * generic/tclEnv.c (TclSetEnv, TclUnsetEnv): add USE_PUTENV_FOR_UNSET - to existing USE_PUTENV define to account for various systems that have - putenv(), but can't unset env vars with it. Note difference between - Windows and Linux for actually unsetting the env var (use of '='). - Correct the resizing of the environ array. We assume that we are in - full ownership, but that's not correct.[Bug 979640] - -2005-10-04 Don Porter - - [kennykb-numerics-branch] - * generic/tclExecute.c: Updated TclIncrObj() to more efficiently add - native long integers. Also updated IllegalExprOperandType and the - INST_UMINUS, INST_UPLUS, INST_BITNOT, and INST_TRY_CVT_TO_NUMERIC - sections for performance. - - * generic/tclBasic.c: Updated more callers to make use of - TclGetNumberFromObj. Removed some dead code. - -2005-10-04 Jeff Hobbs - - * win/tclWinSerial.c (SerialSetOptionProc): free argv [Bug 1067708] - - * tests/http.test: do not URI encode -._~ according - * library/http/http.tcl (init): to RFC3986. [Bug 1182373] (aho) - - * unix/tclLoadShl.c (TclpDlopen): use DYNAMIC_PATH on second shl_load - only. [Bug 1204237] - - * doc/scan.n: scan %[] requires "one or more chars" [Bug 1277503] - - * tests/winFile.test (getuser): allow valid Windows usernames. [Bug - 1311285] - - * generic/tclParse.c (Tcl_ParseCommand): add code that recognizes {} in - addition to {expand} for word expansion (make with - -DALLOW_EMPTY_EXPAND). - -2005-10-04 Zoran Vasiljevic - - * generic/tclIO.c (Tcl_ClearChannelHandlers): now deletes any - outstanding timer for the channel. Also, prevents events still in the - event queue from triggering on the current channel. - - * generic/tclTimer.c (Tcl_DeleteTimerHandler): bail out early if passed - NULL argument. - -2005-10-03 Don Porter - - [kennykb-numerics-branch] - - * generic/tclBasic.c: Re-implemented ExprRoundFunc and - ExprEntierFunc to use TclGetNumberFromObj. - - * generic/tclInt.h: Added new routine TclGetNumberFromObj to - * generic/tclObj.c: provide efficient access to the actual - internal rep of a numeric Tcl_Obj without conversions. - -2005-10-03 Kevin Kenny - - * tools/loadICU.tcl: Changed the file names of message catalogs to - lowercase. - * tools/makeTestCases.tcl: - * library/tzdata/*: Olson's tzdata2005n.tar.gz. Includes new DST - rules for USA and a number of changes to other locales. - * tests/clock.test: Regenerated for new US DST rules. - -2005-09-30 Don Porter - - * generic/tclMain.c: Separate encoding conversion of command line - arguments from list formatting. [Bug 1306162]. - -2005-09-30 Don Porter - - [kennykb-numerics-branch] - - * generic/tclStringObj.c: Bug fix: Missing cast to large enough - integral size before << operations led to broken [format %llx] results. - Thanks to Robert Henry for reporting the bug. - -2005-09-29 Jeff Hobbs - - * doc/mathfunc.n: implementation for TIP #255, expr min/max - * library/init.tcl: - * tests/info.test, tests/expr-old.test: - -2005-09-27 Don Porter - - [kennykb-numerics-branch] - - * generic/tcl.h: Changed name of the new Tcl_Obj intrep field - * generic/tclObj.c: from "bignumValue" to "ptrAndLongRep" as - * generic/tclProc.c: described in TIP 237, and more suitable for - other more general uses. - -2005-09-27 Donal K. Fellows - - * tests/binary.test (binary-14.18): Added test for [Bug 1116542] though - the bug itself was already fixed by unrelated changes. - -2005-09-26 Kevin Kenny - - [kennykb-numerics-branch] Merge updates from HEAD. - -2005-09-26 Kevin Kenny - - * libtommath/: Updated to release 0.36. - * generic/tommath.h: Regenerated. - * generic/tclTomMathInterface.h: Added ten missing aliases for mp_* - functions to avoid namespace pollution in Tcl's exported symbols. [Bug - 1263012] - -2005-09-23 Don Porter - - [kennykb-numerics-branch] - - * unix/Makefile.in: Added -DMP_PREC=4 switch to all compiles so - * win/Makefile.in: that minimum memory requirements of mp_int's - * win/makefile.vc: will not be quite so large. [Bug 1299153]. - - * generic/tclStrToD.c: Fixed memory leak. [Bug 1299803]. - * generic/tclObj.c: - -2005-09-20 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Revise TclIncrObj() to call - Tcl_GetBignumAndClearObj. - - * generic/tcl.decls: Add Tcl_GetBignumAndClearObj. - * generic/tclObj.c: - - * generic/tclDecls.h: make genstubs - * generic/tclStubInit.c: - -2005-09-16 Don Porter - - [kennykb-numerics-branch] - - * generic/tclInt.h: Added TclBNInitBigNumFromWideInt() so - * generic/tclTomMathInterface.c: that every caller isn't required to - duplicate the sign logic to use the unsigned interface. - - * generic/tclBasic.c: Reduce the number of places where Tcl intrudes - * generic/tclExecute.c: into the internal format details of the mp_int - * generic/tclObj.c: struct. - * generic/tclStrToD.c: - * generic/tcLStringObj.c: - - * generic/tclTomMath.h: Added mp_cmp_d to routines from libtommath - * unix/Makefile.in: used by Tcl. - * win/Makefile.in: - * win/makefile.vc: - - * libtommath/bn_mp_add_d.c: Bug fix. For mp_add_d(&a, d, &c), when &a - has the value -d, then the value &c computed should be zero, but - mp_add_d was producing an inconsistent zero value with a sign field of - MP_NEG, something like a value of -0, which other routines in - libtommath can't handle. - - * generic/tclExecute.c: Dropped all creation of "bigOne" values and - just use tommath routines that accept the value "1" directly. - -2005-09-15 Miguel Sofer - - * doc/ParseCmd.3: copy/paste fix [Bug 1292427] - -2005-09-15 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD. - - * generic/tclStringObj.c (TclAppendFormattedObjs): Revision to - eliminate one round of string copying. - - * generic/tclBasic.c: More callers of TclObjPrintf and - * generic/tclCkalloc.c: TclFormatToErrorInfo. - * generic/tclCmdMZ.c: - * generic/tclExecute.c: - * generic/tclIORChan.c: - * generic/tclMain.c: - * generic/tclProc.c: - * generic/tclTimer.c: - * generic/tclUtil.c: - * unix/tclUnixFCmd.c - - * unix/configure: autoconf-2.59 - -2005-09-15 Donal K. Fellows - - * unix/tcl.m4 (SC_TCL_EARLY_FLAGS): Added extra hack to allow Tcl to - transparently open large files on RHEL 3. [Bug 1287638] - -2005-09-14 Don Porter - - * generic/tclStringObj.c: Bug fixes: ObjPrintfVA needed to - support "*" fields and needed to interpret precision limits on %s - conversions as a maximum number of bytes, not Tcl_UniChars, to take - from the (char *) argument. - - * generic/tclBasic.c: Updated several callers to use - * generic/tclCkalloc.c: TclFormatToErrorInfo() and/or - * generic/tclCmdAH.c: TclObjPrintf(). - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclDictObj.c: - * generic/tclExecute.c: - * generic/tclIORChan.c: - * generic/tclIOUtil.c: - * generic/tclNamesp.c: - * generic/tclProc.c: - - * library/init.tcl: Keep [unknown] in sync with errorInfo - formatting rules. - -2005-09-13 Don Porter - - * generic/tclBasic.c: First caller of TclFormatToErrorInfo. - - * generic/tclInt.h: Using stdarg.h conventions, add more - * generic/tclStringObj.c: fixed arguments to TclFormatObj() and - TclObjPrintf(). Added new routine TclFormatToErrorInfo(). - - * generic/tcl.h: Explicitly standardized on the use of stdarg.h - * generic/tclBasic.c: conventions for functions with variable number - * generic/tclInt.h: of arguments. Support for varargs.h has been - * generic/tclPanic.c: implicitly gone for some time now. All - * generic/tclResult.c: TCL_VARARGS* macros purged from Tcl sources, - * generic/tclStringObj.c: leaving only some deprecated #define's - * tools/genStubs.tcl: in tcl.h for the sake of older extensions. - - * generic/tclDecls.h: make genstubs - - * doc/AddErrInfo.3: Replaced all documented requirement for use of - * doc/Eval.3: TCL_VARARGS_START() with requirement for use of - * doc/Panic.3: va_start(). - * doc/SetResult.3: - * doc/StringObj.3: - -2005-09-12 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD. - - * generic/tclCmdAH.c: Added support for the "ll" width - * generic/tclStringObj.c: specifier to [format]. - - * generic/tclStringObj.c (TclAppendFormattedObjs): Bug fix: make - sure %ld formats force the collection of a wide value, when the value - could be a different long. - -2005-09-09 Andreas Kupries - - * generic/tclIORChan.c (RcDecodeEventMask): Added missing type - declaration for the parameter 'mask'. This fixes the [Bug 1286256]. The - other warning can be removed only by removing the panic/return code. - -2005-09-09 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD. - -2005-09-09 Kevin Kenny - - * generic/tclStringObj.c: Added two missing casts to silence messages - from MSVC6. - -2005-09-09 Don Porter - - * generic/tclInt.h: New internal routine TclObjPrintf() - * generic/tclStringObj.c: is similar to TclFormatObj() but - accepts arguments in non-Tcl_Obj format. - - * generic/tclInt.h: New internal routines TclFormatObj() - * generic/tclStringObj.c: and TclAppendFormattedObjs() to offer - sprintf()-like means to append to Tcl_Obj. Work in progress toward - [RFE 572392]. - - * generic/tclCmdAH.c: Compiler directive NEW_FORMAT when #define'd - directs the [format] command to be implemented in terms of the new - TclAppendFormattedObjs() routine. - -2005-09-08 Donal K. Fellows - - TIP#254 IMPLEMENTATION - - * generic/tclLink.c (LinkTraceProc,ObjValue): Added many new of C var - * generic/tcl.h: to link to, making it - * doc/LinkVar.3: easier to seamlessly - * generic/tclTest.c (TestlinkCmd): couple C code and Tcl - * tests/link.test: scripts in an - application. [Patch 1242844] - -2005-09-07 Don Porter - - * generic/tclUtf.c (Tcl_UniCharToUtf): Corrected handling of negative - * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect - handling was producing byte sequences outside of Tcl's legal internal - encoding. [Bug 1283976]. - -2005-09-06 Donal K. Fellows - - * generic/tclInt.h (List): Added flag to keep track of whether a list - * generic/tclListObj.c: with a string rep is provably canonical. - * generic/tclUtil.c (Tcl_ConcatObj): Do efficient concatenation and - * generic/tclBasic.c (Tcl_EvalObjEx): evaluation when the list is - canonical, and not just when the list is pure. This should make the - "pure list" hacking introduced in 8.3 much more robust. - -2005-09-05 Donal K. Fellows - - * generic/tclObj.c (pendingObjDataKey): Added missing 'static' to stop - symbol from leaking outside the Tcl library. [Bug 1263012] - -2005-09-02 Don Porter - - [kennykb-numerics-branch] - - * generic/tclScan.c: Bug fix: The %o, %x, %i formats of [scan] must - not accept any 0b or 0o prefixes. [scan $s %o] must continue to work - even with KILL_OCTAL enabled. - - * generic/tclInt.h: Added TCL_PARSE_SCAN_PREFIXES to the flags - * generic/tclStrToD.c: accepted by TclParseNumber. - -2005-09-01 Andreas Kupries - - * unix/tclUnixSock.c (InitializeHostName): Synchronized use of static - modifier in declaration and definition of function. - - * unix/tclUnixChan.c (FileTruncateProc): Synchronized use of static - modifier in declaration and definition of function. - - * generic/tclResult.c (ReleaseKeys): Synchronized use of static - modifier in declaration and definition of function. - - * generic/tclListObj.c (NewListIntRep): Synchronized use of static - modifier in declaration and definition of function. - - * generic/tclEncoding.c (InitializeEncodingSearchPath): Synchronized - use of static modifier in declaration and definition of function. - - * generic/tclEncoding.c (FillEncodingFileMap): Synchronized use of - static modifier in declaration and definition of function. - - * generic/tclIORChan.c (RcNewHandle): Synchronized use of static - modifier in declaration and definition of function. - -2005-09-01 Don Porter - - [kennykb-numerics-branch] - - * generic/tclObj.c: TclParseNumber calls meant to parse an integer - value now pass the TCL_PARSE_INTEGER_ONLY flag. - - * generic/tclScan.c: Extended [scan] to accept the %lld, %llo, %llx, - and %lli formats. Numeric scanning is now done via TclParseNumber calls - - * generic/tclInt.h: Extended TclParseNumber to accept new flag - * generic/tclStrToD.c: values TCL_PARSE_INTEGER_ONLY, - TCL_PARSE_OCTAL_ONLY, and TCL_PARSE_HEXIDECIMAL_ONLY, to give caller - more control over the parsing rules. - -2005-08-31 Vince Darley - - * doc/FileSystem.3: - * unix/tclUnixFile.c: - * windows/tclWinFile.c: clarify that Tcl_FSMatchInDirectory may be - called with a NULL interpreter, and fix the code so this is allowed. - Tcl's core itself (tclEncoding.c:FillEncodingFileMap()) calls this - with a NULL interpreter. - -2005-08-30 Don Porter - - [kennykb-numerics-branch] - - * generic/tclObj.c: Extended bignum support to include bignums so - large they will not pack into a Tcl_Obj. When they outgrow Tcl's string - rep length limits, a panic will result. - - * generic/tclTomMath.h: Added mp_sqrt to routines from - * unix/Makefile.in: libtommath used by Tcl. - * win/Makefile.in: - * win/makefile.vc: - - * generic/tclBasic.c: Extended sqrt(.) so that range covers the - entire double range, accepting as many bignums in the domain as that - will allow. - -2005-08-29 Andreas Kupries - - * library/tm.tcl (::tcl::tm::roots): Accepted Don Porter's patch for - [Bug 1189657]. Syncs the implementation to the specification (TIP #189) - -2005-08-29 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD. - - * generic/tclBasic.c: Restored round(.) to the Tcl 8.4 rules. - -2005-08-29 Kevin Kenny - - * generic/tclBasic.c (ExprMathFunc): Restored "round away from zero" - * tests/expr.test (expr-46.*): behaviour to the "round" function. - Added test cases for the behavior, including the awkward case of a - number whose fractional part is 1/2-1/2ulp. [Bug 1275043] - -2005-08-26 Andreas Kupries - - * generic/tclIO.c: Moved Tcl_{Cut,Splice}Channel to - {Cut,Splice}Channel for internal use, and created new public functions - for Tcl_{Cut,Splice}Channel which walk the whole stack of - transformations and invoke the necessary thread actions. Added code to - Tcl_(Un)StackChannel to properly invoke the thread actions when pushing - and popping transformations on/from a channel. - -2005-08-26 Donal K. Fellows - - * generic/tclNamesp.c (NamespaceEnsembleCmd): Reset the result after - creating an ensemble to clear any result object sharing (potentially - caused by delete traces) so that we can safely return the name of the - ensemble. Previously, this caused crashes in Snit's test suite. - -2005-08-25 Donal K. Fellows - - * generic/tclListObj.c (UpdateStringOfList): Stop uncontrolled and - unsafe crashes from happening when working with very large string - representations. [Bug 1267380] - - * generic/tclExecute.c (TEBC:INST_DICT_LAPPEND): Stop dropping a - duplicated object on the floor, which was a memory leak (and a wrong - result too). Thanks to Andreas Kupries for reporting this. - -2005-08-25 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD - - * generic/tclExecute.c: Bug fix. INST_RSHIFT: shift of negative values - produced incorrect results. - - * generic/tclExecute.c: Bug fix. INST_*SHIFT opcodes stack management. - [expr 0<<6] should be 0, not 6. - - * generic/tclBasic.c: Extended the domain of round(.) to all non-Inf, - non-NaN doubles, using bignums for the result as needed. - -2005-08-24 Andreas Kupries - - TIP#219 IMPLEMENTATION - - * doc/SetChanErr.3: ** New File **. Documentation of the new channel - API functions. - * generic/tcl.decls: Stub declarations of the new channel API. - * generic/tclDecls.h: Regenerated - * generic/tclStubInit.c: - - * tclIORChan.c: ** New File **. Implementation of the reflected - channel. - * generic/tclInt.h: Integration of reflected channel and new error - * generic/tclIO.c: propagation into the generic I/O core. - * generic/tclIOCmd.c: - * generic/tclIO.h: - * library/init.tcl: - - * tests/io.test: Extended testsuite. - * tests/ioCmd.test: - * tests/chan.test: - * generic/tclTest.c: - * generic/tclThreadTest.c: - - * unix/Makefile.in: Integration into the build machinery. - * win/Makefile.in: - * win/Makefile.vc: - -2005-08-24 Kevin Kenny - - * generic/tclStrToD.c (Tcl_DoubleDigits): Fixed the corner cases of - * tests/binary.test (binary-65.*) formatting floating point - numbers with the largest and smallest possible significands, and added - test cases for them. - -2005-08-24 Kevin Kenny - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Corrected some TRACE bugs that prevented - compilation with --enable-symbols=all. - * generic/tclStrToD.c: Revised commentary to prepare for a renaming of - the file, removed some dead code, and fixed a bug where - TclBignumToDouble failed on huge negative numbers. - * tests/binary.test (binary-65.*): Added missing 'ieeeFloatingPoint' - to large/small significand tests. - * tests/expr.test (expr-45.*) Added missing braces around expressions. - -2005-08-24 Don Porter - - [kennykb-numerics-branch] - - * generic/tclBasic.c: Revised implementation of the ceil(.) and - * generic/tclInt.h: floor(.) math functions in light of the - * generic/tclStrToD.c: revised comparison operators, so that it is - always true that ($x <= ceil($x)) and ($x >= floor($x)). The simple - approach of "convert to double and call ceil() or floor()" could not - guarantee that. - - * generic/tclExecute.c: Bug fix: TclBignumToDouble return -Inf when - appropriate. Removed declarations of removed routines. - - * generic/tclExecute.c: Revised the type promotion rules of the - comparison operators so that they form proper equivalence classes over - the set of numeric strings. - -2005-08-23 Mo DeJong - - * unix/configure.in: - * win/configure: Regen. - * win/configure.in: Update minimum autoconf version to 2.59. - -2005-08-23 Kevin Kenny - - [kennykb-numerics-branch] - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * generic/tclInt.h: - * generic/tclObj.c (Tcl_GetBooleanFromObj, SetDoubleFromAny, - Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, Tcl_GetBignumFromObj): - * generic/tclParseExpr.c (GetLexeme): - * generic/tclScan.c (Tcl_ScanObjCmd): - * generic/tclStrToD.c (TclParseNumber): - * tests/binary.test (binary-62.1-65.7): - * tests/expr.test (expr-40.1-42.1): - * scan.test (scan-14.1,14.2): - Modified Tcl_ParseNumber to accept an argument to force interpretation - as decimal, and modified [scan] to use it. Corrected a bug where Not a - Number with hexadecimal information bits returned consistently - incorrect values. #ifdef-ed out some code that is needed only for IBM - hexadecimal floating point. Fixed bugs in code to handle the corner - cases of smallest and largest significands. Added test cases to improve - test coverage in generic/tclStrToD.c. Added test cases for 0b notation - (TIP #114). Removed TclStrToD, and the static functions that it calls, - which are now dead code (TclParseNumber now does all input - floating-point conversions.) - -2005-08-23 Don Porter - - [kennykb-numerics-branch] - - * generic/tclStrToD.c: Bug fix: set shift magnitude properly whether - we're expanding to mp_int type or not. - - * generic/tclExecute.c: Bug fix: ACCEPT_NAN under INST_UMINUS. - - * generic/tclStrToD.c: New macros TIP_114_FORMATS and KILL_OCTAL to - configure acceptance of 0o and 0b numbers and rejection of "leading - zero as octal". - - * generic/tclBasic.c: Re-used the guts of int(.) and wide(.) math - functions to perform conversions in OldMathFuncProc. - - * generic/tclBasic.c: Support for ACCEPT_NAN. - * generic/tclExecute.c: - - * generic/tclInt.decls: Restored TclExprFloatError to internal stubs - * generic/tclBasic.c: table, and moved definition back to - * generic/tclExecute.c: tclExecute.c from tclBasic.c to handle #undef - ACCEPT_NAN. - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclInt.h: New internal macros TclIsNaN and TclIsInfinite - * generic/tclBasic.c: replace the IS_NAN and IS_INF macros scattered - * generic/tclExecute.c: here and there. - * generic/tclObj.c: - * generic/tclStrToD.c: - * generic/tclUtil.c: - -2005-08-22 Daniel Steffen - - * unix/tclConfig.h.in: autoheader-2.59. - -2005-08-22 Don Porter - - [kennykb-numerics-branch] - - * generic/tclInt.h: New ACCEPT_NAN macro to mark code that - * generic/tclCmdAH.c: supports or disables accepting of the NaN - * generic/tclExecute.c: value at various points. - * generic/tclLink.c: - - * generic/tclStrToD.c: Bug fix. Parsing of +/- Infinity was reversed. - - * generic/tclTestObj.c: Disabled unused [testconvertobj] command. - - * generic/tclBasic: Added [expr {entier(.)}]. Rewrote int(.) and - wide(.) to use the same guts, accepting all non-Inf doubles as - arguments. - - * generic/tclInt.h: New routine TclInitBignumFromDouble. - * generic/tclStrToD.c: Modified to return code and write error - message. - - * generic/tclInt.h: TCL_WIDE_INT_IS_LONG implies NO_WIDE_TYPE. - * generic/tclObj.c: Removed now unnecessary tests of the - * generic/tclStrToD.c: TCL_WIDE_INT_IS_LONG definition. - - * generic/tclInt.h: New internal routine TclSetBignumIntRep - * generic/tclObj.c: consolidates packing of bignum value into a - * generic/tclStrToD.c: Tcl_Obj within one source code file. - - * tests/expr.test: Corrected the wideIs64bit constraint. - * tests/format.test: - * tests/scan.test: - -2005-08-21 Don Porter - - [kennykb-numerics-branch] - - * generic/tclInt.h: Moved TclParseInteger to tclUtil.c and - * generic/tclParseExpr.c: made it static. - * generic/tclUtil.c: - - * generic/tclInt.decls: Moved TclExprFloatError to tclBasic.c and made - * generic/tclBasic.c: it static. - * generic/tclExecute.c: - - * generitc/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclExecute.c: errno, IS_NAN, IS_INF, LLD no longer called in - this file; dropped/disabled support for them. - - * generic/tclCompExpr.c: errno no longer used in these files; - * generic/tclParseExpr.c: dropped support "hack" for it. - - * generic/tclStrToD.c: Disabled out of date support "hack" for errno. - - * generic/tclBasic.c: Eliminated VerifyExprObjType. Initialize errno - to zero in OldMathFuncProc. - -2005-08-19 Don Porter - - [kennykb-numerics-branch] - - * generic/tclBasic.c: Updated OldMathFuncProc and ExprAbsFunc to do - less invasion into numeric Tcl_Obj internals. Made ExprDoubleFunc, - ExprIntFunc, ExprWideFunc, and ExprRoundFunc bignum-aware. Revised - ExprSrandFunc error message. - - * generic/tclProc.c: Wrapped a few tclWideIntType uses in - * generic/tclCmdMZ.c: #ifndef NO_WIDE_TYPE. - - * generic/tclInt.h: #define'd NO_WIDE_TYPE. - - * generic/tclVar.c: Replaced TclPtrIncrVar and TclPtrIncrWideVar - * generic/tclInt.h: with TclPtrIncrObjVar and replaced TclIncrVar2 - * generic/tclInt.decls: and TclIncrWideVar2 with TclIncrObjVar2. New - routines call on TclIncrObj to do the work. - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclCmdIL.c: Rework Tcl_IncrObjCmd and the INST_*INCR* - * generic/tclExecute.c: opcodes to use the new routines. - -2005-08-18 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Fixed string rep invalidation bug in - * tests/dict.test (dict-11.17): INST_DICT_INCR_IMM rewrite. - - * generic/tclDictObj.c: DictIncrCmd rewrite to use TclIncrObj. - - * generic/tclInt.h: TclIncrObj static -> internal - * generic/tclExecute.c: - -2005-08-17 George Peter Staplin - - * generic/tclBasic.c: eliminate a namespace clash caused by - BuiltinFuncTable not being static. - - * generic/tclObj.c: fix a namespace clash caused by a missing - static for pendingObjData. - -2005-08-17 Kevin Kenny - - * generic/tclEvent.c (Tcl_Finalize): Removed a copy-and-paste accident - that caused a (mostly harmless) double finalize of the load and - filesystem subsystems. - * tests/clock.test: Eliminated the bad test clock-43.1, and split - clock-50.1 into two tests, with a more permissive check on the error - message for an out-of-range value. - -2005-08-17 Kevin Kenny - - [kennykb-numerics-branch] - - * generic/tclBasic.c (Tcl_Expr{Long,Double}{,Obj}): Updated to - * generic/tclTest.c: deal with - * tests/expr-old.test: bignums (well, - * tests/expr.test: mostly). - Added a missing "errno=0;" in ExprUnaryFunc so that spurious error - returns aren't detected. - Added test cases for Tcl_Expr* and Tcl_Expr*Obj because there was very - poor test coverage in those areas. - * generic/tclParseExpr.c: Reworked parsing of numbers to call - TclParseNumber rather than trying to do things locally. - * generic/tclStrToD.c: Corrected a comment. Changed so that *endPtrPtr - does not include any trailing whitespace. - -2005-08-17 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: New routine TclIncrObj to centralize the - increment operation needed in many places. Updated INST_DICT_INCR_IMM - to make use of it. - -2005-08-16 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Made bit shifting opcodes and INST_MOD - bignum-aware. - - * tests/scan.test: Making << bignum-aware means that repeated - * tests/string.test: left shifting cannot turn a positive into a - negative. Revised [int_range] and [largest_int] utility commands in the - test suite that relied on that happening. Without revision they became - infinite loops. - - * generic/tclExecute.c: Made binary bitwise opcodes bignum-aware. - - * generic/tclTomMath.h: Added mp_or and mp_xor to routines from - * unix/Makefile.in: libtommath used by Tcl. - * win/Makefile.in: - * win/makefile.vc: - -2005-08-15 Don Porter - - [kennykb-numerics-branch] Updates from HEAD. - * generic/tclExecute.c: More revisions to IllegalExprOperandType. - Merged INST_BITNOT with INST_UMINUS and make it bignum-aware according - to the rule: ~a = -a - 1. Disabled unused code and noted more TODOs. - - * generic/tclInt.decls: Disabled TclLooksLikeInt() and all callers. - * generic/tclUtil.c: - * generic/tclCompCmds.c: - - * generic/tclBasic.c: Rewrite of VerifyExprObjType(). - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclExecute.c: Updated execution of comparison bytecodes to - be bignum-aware, routing string compares through INST_STR_CMP. - -2005-08-14 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Updated execution of arithmetic bytecodes to - be bignum-aware, and to allow calculations on NaN to produce a NaN - result. INST_UMINUS updated to call mp_neg. - - * generic/tclTomMath.h: Added mp_and, mp_expt_d, and mp_neg to - * unix/Makefile.in: routines from libtommath used by Tcl. - * win/Makefile.in: - * win/makefile.vc: - -2005-08-13 Don Porter - - [kennykb-numerics-branch] - - * generic/tclObj.c: Extended Bignum auto-narrowing to auto-narrow - to tclWideIntType when appropriate; this helps keep things working as - the bytecode execution code is migrated to supporting bignums. - - * generic/tclExecute.c: Major overhaul of IllegalExprOperandType. - Changed several TclNewFooObj() calls to more logically appropriate - ones. Added several TODO comments marking opportunies for future work. - Made more use of the eePtr->constants. Made INST_UMINUS bignum aware. - -2005-08-12 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Simplify doCondJump. Use eePtr->constants as - result of INST_DICT_NEXT, INST_LAND, and INST_LOR. Separate INST_LNOT - from INST_UMINUS and simplify. - -2005-08-12 Kevin Kenny - - * generic/tclClock.c (MktimeObjCmd): - * library/clock.tcl (GetSystemTimeZone, LoadZoneinfoFile) - (ReadZoneinfoFile): - * tests/clock.test (clock-50.1): - Added functionality to read /etc/localtime if it exists, so that Tcl's - time can track system time on Linux even if TZ is not set. Changed - ::tcl::clock::Mktime to check for failure, and added a test case that - mimics failure but is really success. - -2005-08-11 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Rewrite of INST_LAND/INST_LOR to take advantage - of loss of "pure double" issues. Merged INST_UPLUS with - INST_TRY_CVT_TO_NUMERIC and updated to use improved rules for impure - "double"s as well. - - * generic/tclStrToD.c: Restored conditional generation of - tclWideIntType values by TclParseNumber so that Tcl's not completely - broken while bignum calculation support is incomplete. The NO_WIDE_TYPE - macro can be used to disable this. - - * generic/tclBasic.c (ExprAbsFunc): First pass making [expr abs(.)] - bignum-aware. - -2005-08-11 Kevin Kenny - - * generic/tclEvent.c: Eliminated the USE_THREAD_STORAGE option - * generic/tclInt.h: (which is on in every build generated by - * generic/tclThread.c: by the standard configurator). - * generic/tclThreadStorage.c: Eliminated the code for thread specific - * unix/configure: data without USE_THREAD_STORAGE and - * unix/tcl.m4: radically refactored the code for - * unix/tclConfig.h.in: USE_THREAD_STORAGE so that it has fewer - * unix/tclUnixThrd.c: dependencies on the order of - * win/configure: finalization. (Also, made 'make - * win/Makefile.in: distclean' on Windows clean just a little - * win/rules.vc: bit cleaner.) - * win/tcl.m4: - * win/tclWinThrd.c: - -2005-08-10 Don Porter - - [kennykb-numerics-branch] - - * generic/tclTomMath.h: Added mp_shrink, mp_to_unsigned_bin, - * unix/Makefile.in: mp_to_unsigned_bin_n, and mp_unsigned_bin_size - * win/Makefile.in: to routines from libtommath used by Tcl. - * win/makefile.vc: - - * generic/tommath.h: make gentommath_h - - * generic/tclObj.c: Substantial rewrite to make all number parsing - flow through TclParseNumber(). Also established the NO_WIDE_TYPE and - BIGNUM_AUTO_NARROW #ifdef's to help track the assumptions of different - portions of the code. - - * generic/tclInt.h: Added NO_WIDE_TYPE #ifdefs - -2005-08-10 Kevin Kenny - - * generic/tclEvent.c (Tcl_Finalize): Pushed Tcl_FinalizeLoad and - Tcl_ResetFilesystem down after Tcl_FinalizeThreadAlloc because we can't - unload DLL's until after their TSD keys are finalized. (Note that we'll - still see aborts if an unloaded DLL has TSD - that still needs to be - fixed. - - * tests/compExpr-old.test (compExpr-3.8): Made tests conditional on - * tests/expr.test (expr-3.8): 'unix' because they get - stack overflows on Win32 threaded builds, - -2005-08-09 Vince Darley - - * generic/tclPathObj.c: fix to [file rootname] bug in optimized code - path reported on comp.lang.tcl. - -2005-08-08 Don Porter - - [kennykb-numerics-branch] - - * generic/tclObj.c: Replaced some goto's with loops and started - use of BIGNUM_AUTO_NARROW and NO_WIDE_TYPE. - -2005-08-06 Donal K. Fellows - - * generic/tclThreadStorage.c: Stop exposing the guts of the thread - storage system through the internal stubs table. Client code should - always use the standard API. - -2005-08-05 Don Porter - - [kennykb-numerics-branch] - * generic/tclObj.c: Rewrote Tcl_GetDoubleFromObj(). - -2005-08-05 Donal K. Fellows - - * unix/tclUnixInit.c (localeTable): Solaris uses a non-standard name - for the cp1251 charset. Thanks to Victor Wagner for reporting this. - [Bug 1252475] - -2005-08-05 Kevin Kenny - - * win/makefile.vc: Removed unused file ldAout.tcl. - * win/makefile.bc: [Bug 1244361] - - * tests/binary.test: Cleaned up testing for scanning of NaN. [Bug - 1246264] - - * generic/tclBasic.c (ExprAbsFunc): Added code to handle the corner - * tests/expr.test (expr-38.1): case of applying 'abs' to the - smallest 32-bit integer. [Bug 1241572] - -2005-08-04 Andreas Kupries - - * generic/tclIO.c (CloseChannel): Fixed comment nit, added apparently - missing word to complete a sentence. - - * generic/tclObj.c (Tcl_DbDecrRefCount): Fixed whitespace nit in panic - message. - -2005-08-04 Don Porter - - [kennykb-numerics-branch] Updated from HEAD - - * generic/tclObj.c: Rewrote Tcl_GetBooleanFromObj() and supporting - routines to make use of TclParseNumber. This reduces the potential - number of times a string value must be scanned. - - * generic/tclObj.c: Simplified routines that manage the typeTable. - Deleted the UpdateStringOfBoolean() routine, that can never be called. - -2005-08-03 Don Porter - - * generic/tclCompExpr.c: Untangled some dependencies in the - * generic/tclEvent.c: order of finalization routines. - * generic/tclInt.h: [Bug 1251399] - * generic/tclObj.c: - -2005-08-02 Don Porter - - [kennykb-numerics-branch] Updated from HEAD - -2005-07-30 Daniel Steffen - - * unix/tclLoadDyld.c (TclpDlopen, TclpLoadMemory): workarounds for - bugs/changes in behaviour in Mac OS X 10.4 Tiger. - -2005-07-29 Donal K. Fellows - - * generic/tclCmdIL.c (InfoGlobalsCmd): Even in high-speed mode, still - have to take care with non-existant variables. [Bug 1247135] - -2005-07-28 Mo DeJong - - * win/README: Update link to msys_mingw8.zip. - -2005-07-28 Don Porter - - * tests/compExpr-old.test: Still more conversion of "nonPortable" - * tests/error.test: tests into tests with constraints that - * tests/expr-old.test: describe the limits of their - * tests/expr.test: portability. Also more consolidation - * tests/fileName.test: of constraint synonyms. - * tests/format.test: wideis64bit, 64bitInts => wideIs64bit - * tests/get.test: wideIntegerUnparsed => wideIs32bit - * tests/load.test: wideIntExpressions => wideBiggerThanInt - * tests/obj.test: - * tests/parseExpr.test: Dropped "roundOffBug" constraint that - * tests/string.test: protected from buggy sprintf. - -2005-07-28 Donal K. Fellows - - * generic/tclPipe.c (TclCreatePipeline): Arrange for POSIX systems to - * unix/tclUnixPipe.c (TclpOpenFile): use the O_APPEND flag for - * tests/exec.test (exec-19.1): files opened in a pipeline - like ">>this". Note that Windows cannot support such access; there is - no equivalent flag on the handle that can be set at the kernel-call - level. The test is unix-specific in every way. [Bug 1245953] - -2005-07-27 Don Porter - - * generic/tclUtil.c: Converted the $::tcl_precision value to be kept - per-thread to prevent different threads from stomping on each others' - formatting prescriptions. - - ***POTENTIAL INCOMPATIBILITY*** Multi-threaded programs that set the - value of ::tcl_precision will now have to set it in each thread. - - * tests/expr.test: Consolidated equivalent constraints into - * tests/fileName.test: single definitions and (more precise) names: - * tests/get.test: longis32bit, 32bit, !intsAre64bit => longIs32bit - * tests/listObj.test: empty => emptyTest; winOnly => win - * tests/obj.test: intsAre64bit => longIs64bit - Also updated some "nonPortable" tests to use constraints that mark - precisely what about them isn't portable, so the tests can run where - they work. - - * library/init.tcl ([unknown]): Corrected return code handling in the - portions of [unknown] that expand incomplete commands during - interactive operations. [Bug 1214462]. - -2005-07-26 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: Check for a $prefix/share directory and add it the - the package if found. This will check for Tcl packages in - /usr/local/share when Tcl is configured with the default dist install. - [Patch 1231015] - -2005-07-26 Don Porter - - * generic/tclBasic.c (Tcl_CallWhenDeleted): Converted to use - per-thread counter, rather than a process global one that required - mutex protection. [RFE 1077194] - - * generic/tclNamesp.c (TclTeardownNamespace): Re-ordering so that - * tests/trace.test (trace-34.4): command delete traces fire - while the command still exists. [Bug 1047286] - -2005-07-24 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): - * win/configure: Regen. - * win/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): Split confused search - for tclsh on PATH and build and install locations into two macros. - SC_PROG_TCLSH searches just the PATH. SC_BUILD_TCLSH determines the - name of the tclsh executable in the Tcl build directory. [Bug 1160114] - [Patch 1244153] - -2005-07-23 Don Porter - - * library/auto.tcl: Updates to the Tcl script library to make use - * library/history.tcl: of Tcl 8.4 features. Forward port of - * library/init.tcl: appropriate portions of [Patch 1237755]. - * library/package.tcl: - * library/safe.tcl: - * library/word.tcl: - -2005-07-23 Mo DeJong - - * tests/string.test: Add string is tests for functionality that was not - tested. - * win/README: Update msys + mingw URL. Remove old Cygwin + mingw info. - -2005-07-23 Miguel Sofer - - * generic/tclExecute.c (INST_DICT_*): stop 2 compiler warnings for - uninitialised variables. - -2005-07-23 Donal K. Fellows - - * generic/tclExecute.c (TEBC:INST_DICT_INCR_IMM): Fix the incrementor - to work correctly with wide values. - -2005-07-21 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictCmd): First run at a compiler - * generic/tclExecute.c (TclExecuteByteCode): for dictionaries. Also - added an instruction to support 'finally'-like clauses, exposed more of - the dict guts to the rest of the core, and defined a few tests to - exercise more obscure parts of the compiler's operation that were bugs - during development. - -2005-07-21 Kevin B. Kenny - - * library/ldAout.tcl (***REMOVED***): Removed support for ancient - * unix/configure: BSD's, IRIX 4, RISCos and - * unix/Makefile.in: Ultrix. Removed two files whose - * unix/tcl.m4: code is used only on those - * unix/tclLoadAout.c (***REMOVED***): antique platforms. - - ***POTENTIAL INCOMPATIBILITY*** if anyone actually uses those - platforms; it is to be noted though, that an error in the installer has - actually not caused a necessary file to be installed on those platforms - in several releases, and nobody's complained. - -2005-07-16 Kevin B. Kenny - - * generic/tclStrToD.c (RefineResult): Plugged a stupid memory leak in - RefineResult (called from Tcl_StrToD). [Tk Bug 1227781] - -2005-07-15 Kevin B. Kenny - - * generic/tclClock.c (TclClockLocaltimeObjCmd,ThreadSafeLocalTime): - * library/clock.tcl (GuessWindowsTimeZone, ClearCaches): - * tests/clock.test (clock-49.1, clock-49.2): - Handle correctly the case where localtime() returns NULL to report a - conversion error. Also handle the case where the Windows registry - contains timezone values that can be mapped to a tzdata file name but - the corresponding file does not exist or is corrupted, by falling back - on a Posix timezone string instead; this last case will avoid calls to - localtime() in starpacks on Windows. [Bug 1237907] - -2005-07-14 Donal K. Fellows - - * generic/tclCompile.c: Update to follow style guidelines. - (TclPrintInstruction): Reorganize to do better printing out of bytecode - with far fewer "special hacks" for particular opcodes. - * generic/tclCompile.h: Requires two new opcode types. - -2005-07-13 Don Porter - - * unix/tclUnixSock.c: Use a ProcessGlobalValue to store the value - * win/tclWinSock.c: returned by Tcl_GetHostName() ([info - hostname]). Also re-order initialization of the value on Windows to - favor GetComputerName() over gethostname() as a source of the - information. - -2005-07-12 Kevin Kenny - - [kennykb-numerics-branch] Updated from HEAD - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * generic/tclInt.h: - * generic/tclObj.c (Tcl_GetDoubleFromObj, SetDoubleFromAny) - (Tcl_GetIntFromObj, SetIntOrWideFromAny): - * generic/tclStrToD.c (TclParseNumber, etc.): - * tclTomMathInterface.c (TclBNInitBignumFromWideUInt): - * tests/obj.test (obj-1.1, obj-2.2, obj-3.1, obj-3.2): - - Initial attempt at an implementation of TIP #249, comprising a unified - parser and modifications to the Tcl_Get*FromObj routines to use it. - Further integration of the parser is necessary and planned. - -2005-07-12 Donal K. Fellows - - * doc/lsearch.n: Clarify documentation of -exact option; wording was - open to misinterpretation by non-English speakers. - -2005-07-11 Donal K. Fellows - - * generic/tclExecute.c: General style cleanup. - -2005-07-08 Mo DeJong - - * generic/tclExecute.c (TclExecuteByteCode): Reimplement long and wide - type integer division and modulus operations so that the smallest and - largest integer values are handled properly. The divide operation is - more efficient since it no longer does a modulus or negation and only - checks for a remainder when the quotient will be a negative number. - The modulus operation is now a bit more complex because of a number of - special cases dealing with the smallest and largest integers. - * tests/expr.test: Add test cases for division and modulus operations - on the smallest and largest integer values for 32 and 64 bit types. - [Patch 1230205] - -2005-07-06 Don Porter - - * generic/tclLink.c: Simplified LinkTraceProc [Bug 1208108]. - -2005-07-05 Don Porter - - * unix/Makefile.in: Purged use of TCLTESTARGS [RFE 1161550]. - - * generic/tclUtil.c: Converted TclFormatInt() into a macro. - * generic/tclInt.decls: [RFE 1194015] - * generic/tclInt.h: - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclNamesp.c: Allow for [namespace import] of a command - * tests/namespace.test: over a previous [namespace import] of itself - without throwing an error. [RFE 1230597] - -2005-07-04 Donal K. Fellows - - * generic/tclDictObj.c (DictForCmd, DictFilterCmd): Interlocking of - dictionary internal representations is now done in the core of the dict - iterator. Purge the last attempts at doing it at a higher level as they - didn't work and were no longer needed. - -2005-07-01 Zoran Vasiljevic - - * unix/tclUnixNotfy.c: protect against spurious wake-ups while waiting - on the condition variable when tearing down the notifier thread [Bug - 1222872]. - -2005-06-28 Mo DeJong - - * generic/tclExecute.c (TclExecuteByteCode): When parsing an integer - operand for a unary minus expression operator, check for a wide integer - that is actually LONG_MIN. If found, convert back to a long int type. - * tests/expr.test: Add constraint for 32bit long int type and 64bit - wide int type. Add tests that parse the smallest/largest long int and - wide int values. - -2005-06-24 Kevin Kenny - - * generic/tclEvent.c (Tcl_Finalize): - * generic/tclInt.h: - * generic/tclPreserve.c (TclFinalizePreserve): Changed the finalization - logic so that Tcl_Preserve finalizes after exit handlers run; a lot of - code called from Tk's exit handlers presumes that Tcl_Preserve will - still work even from an exit handler. - -2005-06-24 Don Porter - - * library/auto.tcl: Make file safe to re-[source] without - destroying registered auto_mkindex_parser hooks. - -2005-06-23 Kevin Kenny - - * win/tclWinChan.c: More rewriting of __asm__ blocks that implement - * win/tclWinFCmd.c: SEH in GCC, because mingw's gcc 3.4.2 is not as - forgiving of violations committed by the old code and caused panics. - [Bug 1225957] - -2005-06-23 Daniel Steffen - - * tools/tcltk-man2html.tcl: fixed useversion glob pattern to accept - multi-digit patchlevels. - -2005-06-22 Don Porter - - * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571] Thanks to - Pat Thoyts for discovery and fix. - -2005-06-22 Kevin Kenny - - * generic/tclInt.h: Changed the finalization - * generic/tclEvent.c (Tcl_Finalize): logic to defer the - * generic/tclIO.c (TclFinalizeIOSubsystem): shutdown of the pipe - * unix/tclUnixPipe.c (TclFinalizePipes): management until after all - * win/tclWinPipe.c (TclFinalizePipes): channels have been closed, - in order to avoid a situation where the Windows PipeCloseProc2 would - re-establish the exit handler after exit handlers had already run, - corrupting the heap. [Bug 1225727] Also corrected a potential read of - uninitialized memory in PipeClose2Proc [Bug 1225044] - -2005-06-21 Andreas Kupries - - * generic/tclInt.h: Followup to change made on 2005-06-18 by Daniel - Steffen. There are compilers (*) who error out on the redefinition of - WORDS_BIGENDIAN. We have to undef the previous definition (on the - command line) first to make this acceptable. (*): AIX native. - -2005-06-21 Kevin B. Kenny - - * generic/tclFileName.c: Changed [file split] and [file join] to treat - Windows drive letters similarly to ~ syntax and make sure that they - appear with "./" in front when they are in intermediate components of - the path. [Bug 1194458] - * tests/fileName.test: Added test for the above bug. - -2005-06-21 Don Porter - - * generic/tclBasic.c: Added missing walk of the list of active - * generic/tclTrace.c: traces to cleanup references to traces being - * generic/tclInt.h: deleted. [Bug 1201035] Made the walk of the - * tests/trace.test (trace-34.*): active trace list aware of the - direction of trace scanning, so the proper correction can be made. - [Bug 1224585] - -2005-06-21 Donal K. Fellows - - * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Only enable the 'compile' special - debugging feature when requested in configure.in; removes irrelevant - junk from the configure files of extensions that use Tcl's tcl.m4. - -2005-06-20 Donal K. Fellows - - * generic/tclCompile.h (INST_PUSH_RETURN_OPTIONS): New opcode to allow - * generic/tclCompCmds.c (TclCompileCatchCmd): compilation of - * generic/tclCompile.c: TIP#90 catch [Bug - * generic/tclExecute.c (TclExecuteByteCode): 1219112] - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Ensure we spill to the - command form in all cases where it generates an error. - -2005-06-20 Mo DeJong - - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Generate an error if a mode - argument like -exact is passed more than once to the switch command. - The previous implementation silently accepted invalid switch - invocations like [switch -exact -glob $str ...]. - * tests/for.test: Check some error cases when invoking continue and - break inside a for loop next script. - * tests/switch.test: Add checks for shortened version of a mode - argument like -exact. Add test for more than one mode argument. Add - test for odd case of passing a variable as a body script. - -2005-06-18 Daniel Steffen - - * generic/tclInt.h: ensure WORDS_BIGENDIAN is defined correctly with - fat compiles on Darwin (i.e. ppc and i386 at the same time), the - configure AC_C_BIGENDIAN check is not sufficient in this case because a - single run of the compiler builds for two architectures with different - endianness. - - * unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to - ensure we can always relocate binaries with install_name_tool. - - * unix/configure: autoconf-2.59 - -2005-06-18 Donal K. Fellows - - * generic/tclCmdAH.c (Tcl_FormatObjCmd): Fix for [Bug 1154163]; only - * tests/format.test: insert 'l' modifier when it is needed. - -2005-06-17 Donal K. Fellows - - * generic/tclTimer.c (AfterDelay): Split out the code to manage - synchronous-delay [after] commands. - * tests/interp.test (interp-34.10): Time limits and synch-delay [after] - did not mix well... [Bug 1221395] - -2005-06-14 Donal K. Fellows - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Only delete a - * tests/namespace.test (namespace-49.2): command from the hashtable on - reentrant processing if it has not been already deleted; at least three - deletes of the same command are possible. [Bug 1220058] - * generic/tclTrace.c (TraceCommandProc): Remove bogus error message - creation when traces trigger in situations where the command has - already been deleted. - -2005-06-13 Vince Darley - - * generic/tclFCmd.c: correct fix to file mkdir 2005-06-09 [Bug 1219176] - -2005-06-12 Donal K. Fellows - - * generic/tclCompCmds.c: Factor out some common idioms into named forms - for greater clarity. - -2005-06-10 Donal K. Fellows - - * doc/chan.n: Fold in the descriptive parts of the documentation for - all the commands that [chan] builds on top of. - -2005-06-09 Vince Darley - - * generic/tclFCmd.c: fix to race condition in file mkdir [Bug 1217375] - * doc/glob.n: improve glob documentation [Bug 1190891] - -2005-06-09 Donal K. Fellows - - * doc/expr.n, doc/mathfunc.n: Fix minor typos [Bug 1211078] and add - mention of distinctly-relevant [namespace path] subcommand. - -2005-06-07 Don Porter - - * generic/tclInt.h: Reduced the Tcl_ObjTypes "index", - * generic/tclIndexObj.c: "ensembleCmd", "localVarName", and - * generic/tclNamesp.c: "levelReference" to file static scope. - * generic/tclProc.c: - * generic/tclVar.c: - - * generic/tclObj.c: Restored registration of the "procbody" - Tcl_ObjType, as required by the tclcompiler application. - - * generic/tclDecls.h: make genstubs - * generic/tclStubInit.c: - -2005-06-07 Donal K. Fellows - - * generic/tclIO.c (Tcl_ChannelTruncateProc): Stop proliferation of - * generic/tcl.h: channel type versions - * doc/CrtChannel.3: following advice from AKu - - Bump patchlevel to a4 to distinguish from a3 release. - - * generic/tclInt.h (INTERP_TRACE_IN_PROGRESS): Add flag so the error - * generic/tclIndexObj.c (Tcl_WrongNumArgs): messages from ensembles - * generic/tclIOCmd.c (Tcl_ReadObjCmd): can be correct. - - TIP#208 IMPLEMENTATION - - * library/init.tcl: Create the chan ensemble. - * tests/chan.test: Rudimentary test suite. - * doc/chan.n: General documentation. - - TRUNCATION API (part of TIP#208) - * generic/tcl.h, generic/tcl.decls: Declaration of the API. - * doc/CrtChannel.3, doc/OpenFileChnl.3: Documentation of the API. - * generic/tclBasic.c (Tcl_CreateInterp): Create the mapping into Tcl. - * generic/tclIOCmd.c (TclChanTruncateObjCmd): Implementation of - Tcl-level truncation API. - * generic/tclIO.c (Tcl_TruncateChannel): Generic C-level truncation API - implementation. - * unix/tclUnixChan.c (FileTruncateProc): Basic implementation of - truncating driver. - - * win/tclWinChan.c (FileTruncateProc): Added implementation of file - truncation for Windows. - * tests/chan.test (chan-15.2): Added real test of truncation. - -2005-06-06 Kevin B. Kenny - - * win/tclWin32Dll.c: Corrected another buglet in the assembly code for - stack probing on Win32/gcc. [Bug 1213678] - * generic/tclObj,c: Added missing 'static' on definition of - UpdateStringOfBignum, and removed a 'switch' on a 'long long' operand - (which HP-UX native 'cc' seems unable to handle). [Bug 1215775] - -2005-06-04 Jeff Hobbs - - *** 8.5a3 TAGGED FOR RELEASE *** - - * unix/Makefile.in (dist): add libtommath - -2005-06-03 Donal K. Fellows - - * library/parray.tcl (parray): Only generate the sorted list of element - names once. Thanks to Andreas Leitgeb for spotting this. - -2005-06-03 Daniel Steffen - - * macosx/Makefile: fixed 'embedded' target. - -2005-06-02 Jeff Hobbs - - * unix/Makefile.in (html): add BUILD_HTML_FLAGS optional var - * tools/tcltk-man2html.tcl: add a --useversion to prevent confusion - when multiple Tcl source dirs exist. - -2005-06-01 Don Porter - - * generic/tclBasic.c: For compatibility with earlier Tcl releases, - * generic/tclResult.c: when a command procedure simply does a - * generic/tclTest.c: "return TCL_RETURN;" we must interpret that - * tests/result.test: the same as - "return Tcl_SetReturnOptions(interp, Tcl_NewObj());" [Bug 1209759]. - -2005-06-01 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Allow compilation of - -nocase -glob [switch]es (only one we know how to compile). - - TIP#241 IMPLEMENTATION from Joe Mistachkin - - * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd): - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Implementation of -nocase - option for [lsearch], [lsort] and [switch] commands. - * win/tclWinPort.h: Win uses nonstandard function names... - * tests/cmdIL.test, tests/lsearch.test, tests/switch.test: Tests - * doc/lsearch.n, doc/lsort.n, doc/switch.n: Docs - - * generic/tclCompCmds.c (TclCompileLindexCmd): Compile the most common - case of [lindex] more efficiently. - - * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier): Pass the correct number - of arguments to Tcl_JoinThread. - -2005-05-31 Donal K. Fellows - - * unix/configure.in, unix/tcl.m4: Standardize generation of help - messages to always use AC_HELP_STRING and always (except for --with-tcl - and --with-tk, where the default is complex) say what the default is. - -2005-05-31 Zoran Vasiljevic - - * unix/tclUnixNotfy.c: the notifier thread is now created as joinable - thread and it is properly joined in Tcl_FinalizeNotifier. This is an - attempt to fix the [Bug 1082283]. - -2005-05-30 Zoran Vasiljevic - - * win/tclWinThrd.c: Fixed [Bug 1204064] - -2005-05-30 Donal K. Fellows - - TIP #229 IMPLEMENTATION - - * generic/tclNamesp.c (Tcl_FindCommand, TclResetShadowedCmdRefs) - (NamespacePathCmd, SetNsPath, UnlinkNsPath, TclInvalidateNsPath): - Implementation of the [namespace path] command and the command name - resolution engine. - * doc/info.n, doc/namespace.n: Doc updates. - * tests/namespace.test (namespace-51.*): Test updates. - * generic/tclResolve.c (BumpCmdRefEpochs, Tcl_SetNamespaceResolvers): - * generic/tclBasic.c (Tcl_CreateCommand, Tcl_CreateObjCommand): Ensure - that people don't see stale paths. - * generic/tclInt.h (Namespace, NamespacePathEntry): Structure defs. - * generic/tclCmdIL.c (InfoCommandsCmd): Updates to [info commands]. - -2005-05-26 Daniel Steffen - - * macosx/Makefile: moved & corrected EMBEDDED_BUILD check. - - * unix/configure.in: corrected framework finalization to softlink stub - library to Versions/8.x subdir instead of Versions/Current. - * unix/configure: autoconf-2.59 - -2005-05-25 Jeff Hobbs - - * generic/tclCmdMZ.c (Tcl_TimeObjCmd): add necessary cast - -2005-05-25 Don Porter - - TIP#182 IMPLEMENTATION [Patch 1165062] - - * doc/mathfunc.n: New built-in math function bool(). - * generic/tclBasic.c: - * tests/expr.test: - * tests/info.test: - -2005-05-24 Don Porter - - * library/init.tcl: Updated [unknown] to be sure the [return] - * tests/init.test: options from an auto-loaded command are seen - correctly by the caller. - -2005-05-24 Daniel Steffen - - * tests/env.test: added DYLD_FRAMEWORK_PATH to the list of env vars - that need to be handled specially. - - * macosx/Makefile: - * macosx/README: - * macosx/Tcl-Info.plist.in (new file): - * unix/Makefile.in: - * unix/configure.in: - * unix/tcl.m4: - * unix/tclUnixInit.c: moved all Darwin framework build support from - macosx/Makefile into the standard unix configure/make buildsystem, the - macosx/Makefile is no longer required to build Tcl.framework (but its - functionality is still available for backwards compatibility). - * unix/configure: autoconf-2.59 - - * generic/tclIOUtil.c (TclLoadFile): - * generic/tclInt.h: - * unix/tcl.m4: - * unix/tclLoadDyld.c: added support for [load]ing .bundle binaries in - addition to .dylib's: .bundle's can be [unload]ed (unlike .dylib's), - and can be [load]ed from memory, e.g. directly from VFS without needing - to be written out to a temporary location first. [Bug 1202209] - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - - * generic/tclCmdMZ.c (Tcl_TimeObjCmd): change [time] called with a - count > 1 to return a string with a float value instead of a rounded - off integer. [Bug 1202178] - - * doc/expr.n: - * doc/string.n: fixed roff syntax complaints from 'make html'. - -2005-05-20 Don Porter - - * generic/tclParseExpr.c: Corrected parser to recognize all - boolean literals accepted by Tcl_GetBoolean, including prefixes like - "y" and "f", and to allow "eq" and "ne" as function names in the proper - context. [Bug 1201589]. - -2005-05-19 Donal K. Fellows - - * generic/tclBasic.c (TclEvalObjvInternal): Rewrite for greater - clarity; although 'goto' is Bad, the contortions you have to go through - to avoid it can be worse... - -2005-05-19 Daniel Steffen - - * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): fixed crashing CFRelease - of runLoopSource in Tcl_InitNotifier (reported by Zoran): - CFRunLoopAddSource doesn't CFRetain, so can only CFRelease the - runLoopSource in Tcl_FinalizeNotifier. - -2005-05-18 Don Porter - - * generic/tclBasic.c (Tcl_ExprBoolean): Rewrite as wrapper around - Tcl_ExprBooleanObj. - - * generic/tclCmdMZ.c ([string is boolean/true/false]): Rewrite dropping - string-based Tcl_GetBoolean call, so that internal reps are kept for - subsequent quick boolean operations. - - * generic/tclExecute.c: Dropped most special handling of the "boolean" - Tcl_ObjType, since that type should now be rarely encountered. - - * doc/BoolObj.3: Rewrite of documentation dropping many details - about the internals of Tcl_Objs. Shorter documentation focuses on the - function and use of the routines. - - * generic/tclInt.h: Revision to the "boolean" Tcl_ObjType, so that - * generic/tclObj.c: only string values like "yes" and "false" are - * tests/obj.test: kept as the "boolean" Tcl_ObjType. The string - values "0" and "1" are kept as "int" Tcl_ObjType, which also produce - quick calls to Tcl_GetBooleanFromObj(). Since this internal change - means a Tcl_ConvertToType to a "boolean" Tcl_ObjType might not produce - a Tcl_Obj of type "boolean", the registration of the "boolean" type is - also removed. - ***POTENTIAL INCOMPATIBILITY*** - For callers of Tcl_GetObjType on the type name "boolean". - -2005-05-17 Don Porter - - * generic/tclObj.c (TclInitObjSubsystem): Removed the - * tests/listObj.test: registration of the Tcl_ObjType's "list", - * tests/obj.test: "procbody", "index", "ensembleCommand", - "localVarName", and "levelReference". The only reason to register a - Tcl_ObjType is to have it returned by Tcl_GetObjType, and the only - reason for that is to retrieve a (Tcl_ObjType *) to pass to - Tcl_ConvertToType(). None of the types above can support a - Tcl_ConvertToType() call; they panic. Better not to offer something - than to lead users into a panic. - ***POTENTIAL INCOMPATIBILITY*** - For callers of Tcl_GetObjType on the type names listed above. - -2005-05-15 Kevin Kenny - - * win/tclWin32Dll.c: conditioned definition of EXCEPTION_REGISTRATION - structures on HAVE_NO_SEH, to fix a bug in buildability on MSVC. - -2005-05-14 Daniel Steffen - - * generic/tclInt.decls: - * generic/tclTest.c: - * generic/tclUtil.c: - * win/tclWin32Dll.c: fixed link error due to direct access by tclTest.c - to the MODULE_SCOPE tclPlatform global: renamed existing - TclWinGetPlatform() accessor to TclGetPlatform() and moved it to - generic code so that it can be used by on all platforms where - MODULE_SCOPE is enforced. - - * macosx/tclMacOSXBundle.c: - * unix/tclUnixInit.c: - * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable and - added test of CoreFoundation availablility to allow building on ppc64, - replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for availability of - Tiger or later OSSpinLockLock API. - - * unix/tclUnixNotfy.c: - * unix/Makefile.in: - * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is - available, use new CFRunLoop based notifier: allows easy integration - with other event loops on Mac OS X, in particular the TkAqua Carbon - event loop is now integrated via a standard tcl event source (instead - of TkAqua upon loading having to finalize the exsting notifier and - replace it with its custom version). [Patch 1202052] - - * tests/unixNotfy.test: don't run unthreaded tests on Darwin since - notifier may be using threads even in unthreaded core. - - * unix/tclUnixPort.h: - * unix/tcl.m4 (Darwin): test for thread-unsafe realpath during - configure, as Darwin 7 and later realpath is threadsafe. - - * macosx/Makefile: enable configure caching. - - * unix/configure.in: wrap tclConfig.h header in #ifndef _TCLCONFIG so - that it can be included more than once without warnings from gcc4.0 (as - happens e.g. when including both tclInt.h and tclPort.h) - - * macosx/tclMacOSXBundle.c: - * unix/tclUnixChan.c: - * unix/tclLoadDyld.c: - * unix/tclUnixInit.c: fixed gcc 4.0 warnings. - - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: make genstubs - -2005-05-13 Kevin Kenny - - * win/tclWin32Dll.c: Further rework of the SEH logic. All - EXCEPTION_REGISTRATION records are now in the activation record rather - than pushed on the stack. - -2005-05-13 Don Porter - - * generic/tclBasic.c: Dropped the TCL_NO_MATH configuration. It's - * generic/tclBinary.c: believed this has not been working in a long - * generic/tclExecute.c: time. Tcl needs math.h. [RFE 1200680] - * unix/Makefile.in: - -2005-05-12 Kevin Kenny - - * doc/mathfunc.n: Changed NAME line to match the name of the page. - -2005-05-11 Kevin Kenny - - [kennykb-numerics-branch] Resynchronized with the HEAD; at this - checkpoint [-rkennykb-numerics-branch-20050511], the HEAD and - kennykb-numerics-branch contain identical code. - -2005-05-11 Kevin Kenny - - * generic/tclStrToD.c (TclStrToD, RefineResult, ParseNaN): Changed the - code to cast 'char' to UCHAR explicitly when using ctype macros, to - silence complaints from the Solaris compiler. - -2005-05-10 Jeff Hobbs - - * unix/tclUnixFCmd.c: add lint attr to enum to satisfy strictly - compliant compilers that don't like trailing ,s. - - * tests/string.test: string-10.[21-30] - * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to prevent - possible UMR in unichar cmp function for string map. - -2005-05-10 Kevin Kenny - - * generic/tclBinary.c (FormatNumber): Fixed a bug where NaN's resulted - in reads of uninitialized memory when using 'd', 'q', or 'Q' format. - * generic/tclStrToD.c (ParseNaN, TclFormatNaN): Added code to handle - the peculiarities of HP's PA_RISC, which uses a different 'quiet' bit - in NaN from everyone else. - * libtommath/tommath_superclass.h: Corrected C++-style comment. - -2005-05-10 Kevin Kenny - - Merged all changes on kennykb-numerics-branch back into the HEAD. - TIP's 132 and 232 are now Final. - -2005-05-10 Kevin Kenny - - [kennykb-numerics-branch] Merged changes from HEAD. - -2005-05-10 Miguel Sofer - - * generic/tclExecute.c (ExponLong, ExponWide): - * tests/expr.test (expr-23.34/35): fixed special case 'i**0' for i>0 - [Bug 1198892] - -2005-05-09 Kevin B. Kenny - - [kennykb-numerics-branch] - * win/tclWin32Dll.c (TclpCheckStackSpace, TclWinCPUID): Reworked - structured event handling to function even with -fomit-frame-pointers. - -2005-05-08 Kevin B. Kenny - - [kennykb-numerics-branch] - * generic/tclStrToD.c: Made code more portable by finding a workaround - for MSVC's 'volatile' issue that does not require conditional - compilation. - * win/tclWin32Dll.c (TclWinCPUID): Removed structured event handling - from the GCC code since (a) bad code is generated by the instruction - scheduling with -O2, and (b) it's not needed on any reasonably modern - CPU. - -2005-05-07 Kevin B. Kenny - - [kennykb-numerics-branch] - * generic/tclEvent.c: Moved initialization of tclStrToD.c's - * generic/tclInt.h: static constants into a procedure called - * generic/tclStrToD.c: from TclInitSubsystems to avoid double checked - locking protocol. Cleaned up an issue where MSVC ignored the - 'volatile' specifier, causing incorrect comparison of an underflowed - number against zero. - -2005-05-06 Jeff Hobbs - - * unix/tcl.m4, unix/configure: correct Solaris 10 (5.10) check and add - support for x86_64 Solaris cc builds. - -2005-05-05 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD. - -2005-05-05 Kevin B. Kenny - - * win/tclWinThrd.c: Corrected a compilation error on the - --enable-threads configuration. - -2005-05-05 Don Porter - - * generic/tclInt.decls: Converted TclMatchIsTrivial to a macro. - * generic/tclInt.h: - * generic/tclUtil.c: - * generic/tclIntDecls.h: `make genstubs` - * generic/tclStubInit.c: - * generic/tclBasic.c: Added callers of TclMatchIsTrivial where a - * generic/tclCmdIL.c: search can be done more efficiently when it is - * generic/tclCompCmds.c:recognized that a pattern match is really an - * generic/tclDictObj.c: exact match. [Patch 1076088] - * generic/tclIO.c: - * generic/tclNamesp.c: - * generic/tclVar.c: - - * generic/tclCompCmds.c: Factored common efficiency trick into a - macro named CompileWord. - - * generic/tclCompCmds.c: Replaced all instance of - * generic/tclCompile.c: TCL_OUT_LINE_COMPILE with TCL_ERROR. - * generic/tclInt.h: Now that we've eradicated the mistaken - * tests/appendComp.test: notion of a "compile-time error", we - can use the TCL_ERROR return code to signal any failure to produce - bytecode. - -2005-05-03 Don Porter - - * doc/DString.3: Eliminated use of identifier "string" in Tcl's - * doc/Environment.3: public C API to avoid conflict/confusion with - * doc/Eval.3: the std::string of C++. - * doc/ExprLong.3, doc/ExprLongObj.3, doc/GetInt.3, doc/GetOpnFl.3: - * doc/ParseCmd.3, doc/RegExp.3, doc/SetResult.3, doc/StrMatch.3: - * doc/Utf.3, generic/tcl.decls, generic/tclBasic.c, generic/tclEnv.c: - * generic/tclGet.c, generic/tclParse.c, generic/tclParseExpr.c: - * generic/tclRegexp.c, generic/tclResult.c, generic/tclUtf.c: - * generic/tclUtil.c, unix/tclUnixChan.c: - - * generic/tclDecls.h: `make genstubs` - -2005-05-02 Don Porter - - * generic/tcl.decls: - * generic/tclBasic.c: Simplified implementation of Tcl_ExprString. - * tests/expr-old.test: - - * generic/tclDecls.h: `make genstubs` - -2005-04-30 Daniel Steffen - - * unix/tclUnixNotfy.c: applied dkf's tkMacOSXNotify.c cleanup changes. - -2005-04-29 Don Porter - - TIP#176 IMPLEMENTATION [Patch 1165695] - - * generic/tclUtil.c: Extended TclGetIntForIndex to recognize index - formats including end+integer and integer+/-integer. - - * generic/tclCmdMZ.c: Extended the -start switch of [regexp] and - [regsub] to accept all index formats known by TclGetIntForIndex. - - * doc/lindex.n: Updated docs to note new index formats. - * doc/linsert.n, doc/lrange.n, doc/lreplace.n, doc/lsearch.n: - * doc/lset.n, doc/lsort.n, doc/regexp.n, doc/regsub.n, doc/string.n: - - * tests/cmdIL.test: Updated tests. - * tests/compile.test, tests/lindex.test, tests/linsert.test: - * tests/lrange.test, tests/lreplace.test, tests/lsearch.test: - * tests/lset.test, tests/regexp.test, tests/regexpComp.test: - * tests/string.test, tests/stringComp.test, tests/util.test: - -2005-04-28 Don Porter - - * tests/unixInit.test (7.1): Alternative fix for the 2004-11-11 commit. - -2005-04-27 Don Porter - - * library/init.tcl: Corrected flaw in interactive command - * tests/main.test: auto-completion. [Bug 1191409]. - - TIP#183 IMPLEMENTATION [Patch 577093] - - * generic/tclIOUtil.c (TclGetOpenModeEx): New routine. - * generic/tclInt.h: - - * generic/tclIO.c (Tcl_OpenObjCmd): Support for "b" and - * doc/open.n: "BINARY" in "access" argument to [open]. - * tests/ioCmd.test: - -2005-04-26 Kevin B. Kenny - - * generic/tclBinary.c (FormatNumber): Dredge the NaN out of the - internal representation if Tcl_GetDoubleFromObj returns TCL_ERROR on a - NaN. - - * generic/tclObj.c (Tcl_GetDoubleFromObj): Restored silent - overflow/underflow behaviour that the merge of 2004-04-25 messed up. - Thanks to Don Porter for calling attention to this bug. Also removed an - uninitialised memory reference in this function that valgrind caught. - Also changed to return TCL_ERROR on a pure NaN. - - * generic/tclStrToD.c (RefineResult): Added a test for the initial - approximation being HUGE_VAL; this test avoids EDOM being returned from - ldexp on some platforms on input values exceeding the floating point - range. - - * tests/expr.test (expr-29.*, expr-30.*): Added further tests of - overflow/underflow on input conversions. - -2005-04-25 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD. - - * doc/CrtMathFunc.n: Revised documentation for TIP 232 - -2005-04-25 Daniel Steffen - - * compat/string.h: fixed memchr() protoype for __APPLE__ so that we - build on Mac OS X 10.1 again. - - * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being - finalized in unthreaded core (was testing for notifier initialization - in current thread by checking thread id != 0 but thread id is always 0 - in untreaded core). - - * win/tclWinNotify.c (Tcl_WaitForEvent): - * unix/tclUnixNotfy.c (Tcl_WaitForEvent): don't call ScaleTimeProc for - zero wait times (as specified in TIP 233). - - * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out NOTIFY_SRCS - from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS. - - * unix/tcl.m4 (Darwin): added configure checks for recently added - linker flags -single_module and -search_paths_first to allow building - with older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD - and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of - symbols from libtclstub to avoid duplicate symbol warnings, added - PLAT_SRCS definition for Mac OS X, defined MODULE_SCOPE to - __private_extern__. - (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check. - - * unix/configure: autoconf-2.59 - -2005-04-25 Kevin B. Kenny - - * library/tzdata/America/Boise: - * library/tzdata/America/Chicago: - * library/tzdata/America/Denver - * library/tzdata/America/Indianapolis: - * library/tzdata/America/Los_Angeles: - * library/tzdata/America/Louisville: - * library/tzdata/America/Managua: - * library/tzdata/America/New_York: - * library/tzdata/America/Phoenix: - * library/tzdata/America/Port-au-Prince: - * library/tzdata/America/Indiana/Knox: - * library/tzdata/America/Indiana/Marengo: - * library/tzdata/America/Indiana/Vevay: - * library/tzdata/America/Kentucky/Monticello: - * library/tzdata/America/North_Dakota/Center: - * library/tzdata/Asia/Tehran: - Olson's tzdata2005i. Corrects exact time at which Standard Time was - adopted in the US (generally, noon, Standard Time, rather than noon, - Local Mean Time). Adopts new civil rules for Nicaragua and Iran. - -2005-04-25 Don Porter - - * library/init.tcl: Use "ni" and "in" operators. - -2005-04-25 Miguel Sofer - - * generic/tclExecute.c: fix for [Bug 1189274]. - -2005-04-24 Don Porter - - * generic/tclLiteral.c: Silence compiler warnings. - * generic/tclObj.c: [Bug 1188863]. - -2005-04-22 Don Porter - - The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bring it - into agreement with its docs. Further investigation reveals it was the - docs that were incorrect. - - * doc/BoolObj.3: Corrections to the documentation of - Tcl_GetBooleanFromObj to bring it into agreement with what this public - interface has always done, including noting the difference in function - between Tcl_GetBooleanFromObj and Tcl_GetBoolean. - - * generic/tclGet.c: Revised Tcl_GetBoolean to no longer be a - wrapper around Tcl_GetBooleanFromObj (different function!). - - * generic/tclObj.c: Removed TclGetTruthValueFromObj routine that - was added yesterday. Revisions so that only Tcl_GetBoolean-approved - values get the "boolean" Tcl_ObjType. This retains the fix for [Bug - 1187123]. - * tests/string.test: Test string-23.0 for Bug 1187123. - - * generic/tclInt.h: Revert most recent change. - * generic/tclBasic.c: - * generic/tclCompCmds.c: - * generic/tclDictObj.c: - * generic/tclExecute.c: - * tests/obj.test: - -2005-04-21 Don Porter - - * doc/GetInt.3: Convert argument "string" to "str" to agree with code. - Also clarified a few details on int and double formats. - * generic/tclGet.c: Radical code simplification. Converted - Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj(). Reduces - code duplication, and the resulting potential for inconsistency. - - * generic/tclObj.c: Several changes: - - - Re-ordered error detection code so all values with trailing garbage - receive a "not an integer" message instead of an "integer too large" - message. - - Removed inactive code meant to deal with strtoul* routines that fail - to parse leading signs. All of them do, and if any are detected that - do not, the correct fix is replacement with compat/strtoul*.c, not a - lot of special care by the callers. - - Tcl_GetDoubleFromObj now avoids shimmering away a "wideInt" intrep. - - Fixed Tcl_GetBooleanFromObj to agree with its documentation and with - Tcl_GetBoolean, accepting only "0" and "1" and not other numeric - strings. [Bug 1187123] - - Added new private routine TclGetTruthValueFromObj to perform the more - permissive conversion of numeric values to boolean that is needed by - the [expr] machinery. - - * generic/tclInt.h (TclGetTruthValueFromObj): New routine. - * generic/tclExecute.c: Updated callers to call new routine. - * generic/tclBasic.c: Updated callers to call new routine. - * generic/tclCompCmds.c: Updated callers to call new routine. - * generic/tclDictObj.c: Updated callers to call new routine. - * tests/obj.test: Corrected bad tests that actually expected - values like "47" and "0xAC" to be accepted as booleans. - - * generic/tclLiteral.c: Disabled the code that forces some literals - into the "int" Tcl_ObjType during registration. We can re-enable it if - this change causes trouble, but it seems more sensible to let Tcl's - "on-demand" shimmering rule, and not try to pre-guess things. - -2005-04-20 Kevin B. Kenny - - [kennykb-numerics-branch] - * doc/expr.n: - * doc/mathfunc.n (new file): Revised documentation for TIP 232 - -2005-04-20 Don Porter - - * generic/tclGet.c (Tcl_GetInt): Corrected error that did not - * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be - recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869]. - -2005-04-20 Kevin B. Kenny - - * generic/tclFileName.c: Silenced a compiler warning about '/*' within - a comment. - -2005-04-19 Don Porter - - * generic/tclBasic.c: Added unsupported command - * generic/tclCmdAH.c: [::tcl::unsupported::EncodingDirs] to permit - * generic/tclInt.h: query/set of the encoding search path at - * generic/tclInterp.c: the script level. Updated init.tcl to make - * library/init.tcl: use of the new command. Also updated several - coding practices in init.tcl ("eq" for [string equal], etc.) - -2005-04-19 Kevin B. Kenny - - * library/clock.tcl (Initialize): Put initialization code into a proc - to avoid inadvertently clobbering global variables. [Bug 1185933] - * tests/clock.test (clock-48.1): Added regression test for the above - bug. - Thanks to Ulrich Ring for reporting this bug. - -2005-04-16 Miguel Sofer - - * generic/Var.c (Tcl_ArrayObjCmd - ARRAY_NAMES): fix Tcl_Obj leak. [Bug - 1084111] - -2005-04-16 Zoran Vasiljevic - - * generic/tclIOUtil.c: force clenaup of the interp result in - TclLoadFile(). Some implementations of TclpFindSymbol() will seed the - interp result with error message when unable to find the requested - symbol (this is not considered to be an error). - - Set of changes correcting huge memory waste (not a leak) when a thread - exits. This has been introduced in 8.4.7 within an attempt to correctly - cleanup after ourselves when Tcl library is being unloaded with the - Tcl_Finalize() call. - - This fixes the [Bug 1178445] - - * generic/tclInt.h: added prototypes for TclpFreeAllocCache() and - TclFreeAllocCache() - - * generic/tclThreadAlloc.c: modified TclFinalizeThreadAlloc() to - explicitly call TclpFreeAllocCache with the NULL-ptr as argument - signalling cleanup of private tsd key used only by the threading - allocator. - - * unix/tclUnixThrd.c: fixed TclpFreeAllocCache() to recognize when - being called with NULL argument. This is a signal for it to clean up - the tsd key associated with the threading allocator. - - * win/tclWinThrd.c: renamed TclWinFreeAllocCache to TclpFreeAllocCache - and fixed to recognize when being called with NULL argument. This is a - signal for it to clean up the tsd key associated with the threading - allocator. - -2005-04-13 Don Porter - - * tests/unixInit.test: Disabled obsolete tests and removed code - * tests/encoding.test: that supported them. - * generic/tclInterp.c: - - * library/init.tcl: Use auto-loading to bring in Tcl Module support - * library/tclIndex: as needed. This reduces startup time by - * library/tm.tcl: delaying this initialization to a later time. - -2005-04-15 Miguel Sofer - - * generic/tclExecute.c: missing semicolons caused failure to compile - with TCL_COMPILE_DEBUG. - -2005-04-13 David Gravereaux - - * generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit - * tests/io.test: changed from ten bytes to one byte. Need for - * tests/iogt.test: this change was proven by Ross Cartlidge - where [read stdin 1] was grabbing 10 bytes followed - by starting a child process that was intended to continue reading from - stdin. Even with -buffersize set to one, nine chars were getting lost - by the buffersize over reading for the native read() caused by [read]. - -2005-04-13 Don Porter - - * unix/tclUnixInit.c (TclpGetEncodingNameFromEnvironment): Reversed - order of verifying candidate [encoding system] value, checking against - a table in memory first before calling Tcl_GetEncoding and potentially - scanning through the filesystem. Also ordered the table so that a - binary search could be used within it. Improves startup time a bit more - on some systems. - -2005-04-13 Kevin B. Kenny - - * library/clock.n: Added a missing '--' on several [switch] commands to - improve performance of [clock format] and related operations. [FRQ - 1182459] - -2005-04-13 Donal K. Fellows - - * doc/fcopy.n: Improved documentation on copying binary files, added an - example and mentioned the use of [file copy]. - * doc/fconfigure.n: Improved documentation of -encoding binary option. - This is all following comments from Steve Manning - on comp.lang.tcl that the current documentation was not clear. - -2005-04-13 Miguel Sofer - - * generic/tclCompile.c:Commented out the functions - TclPrintInstruction(), TclPrintObject() and TclPrintSource() when not - debugging the compiler, as they are never called in that case. - -2005-04-12 Don Porter - - * generic/tclInterp.c: Corrected bad syntax of Tcl_Panic() call. - - * generic/tclUtil.c (TclGetProcessGlobalValue): More robust handling - of bad TclInitProcessGlobalValueProc behavior; an immediate panic - rather than a mysterious crash later. - - * generic/tclEncoding.c: Several changes to the way the - encodingFileMap cache is maintained. Previously, it was attempted to - keep the file map filled and up to date with changes in the encoding - search path. This contributed to slow startup times since it required - an expensive "glob" operation to fill the cache. Now the validity of - items in the cache are checked at the time they are used, so the cache - is permitted to fall out of sync with the encoding search path. Only - [encoding names] and Tcl_GetEncodingNames() now pay the full expense. - [Bug 1177363] - -2005-04-12 Kevin B. Kenny - - * compat/strstr.c: Added default definition of NULL to accommodate - building on systems with badly broken headers. [Bug 1175161] - -2005-04-11 Donal K. Fellows - - * tools/tclZIC.tcl: Rewrote to take advantage of more features of Tcl - 8.5 (on which it was dependent anyway). Also added a [package require] - line to formalize the relationship. - -2005-04-11 Kevin Kenny - - [kennykb-numerics-branch] Merged with HEAD. Updated to libtommath 0.35. - - * generic/tclBasic.c: Attempted to repeat changes that applied to - tclExecute.c in Miguel Sofer's commit of 2005-04-01, together with - (possibly) a few more uses of his new object creation macros. Also - plugged a memory leak in TclObjInvoke. [Bug 1180368] - -2005-04-10 Kevin Kenny - - * library/tzdata/America/Montevideo: - * library/tzdata/Asia/Almaty: - * library/tzdata/Asia/Aqtau: - * library/tzdata/Asia/Aqtobe: - * library/tzdata/Asia/Baku: - * library/tzdata/Asia/Jerusalem: - * library/tzdata/Asia/Oral: - * library/tzdata/Asia/Qyzylorda: - * library/tzdata/Indian/Chagos: - * library/tzdata/Indian/Cocos: Olson's tzdata2005h - -2005-04-10 Don Porter - - * generic/tclBasic.c (TclObjInvoke): Plug memory leak. [Bug 1180368] - -2005-04-09 Miguel Sofer - - * generic/tclExecute.c: fix possible leak of expansion Tcl_Objs - -2005-04-09 Daniel Steffen - - * macosx/README: updated requirements for OS & developer tool versions - and other small fixes/cleanup. - - * generic/tclListObj.c (Tcl_ListObjIndex): added missing NULL return - when getting index from an empty list. - - * unix/tcl.m4 (Darwin): added -single_module linker flag to - TCL_SHLIB_LD_EXTRAS and TK_SHLIB_LD_EXTRAS. - * unix/configure: autoconf-2.59 - -2005-04-08 Don Porter - - * generic/tclInt.h (TclGetEncodingFromObj): New function to - * generic/tclEncoding.c (TclGetEncodingFromObj): retrieve a - Tcl_Encoding value, as well as cache it in the internal rep of a new - "encoding" Tcl_ObjType. - * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Updated to call new - function so that Tcl_Encoding's used by [encoding convert*] routines - are not freed too quickly. [Bug 1077262] - -2005-04-08 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Rewritten to be able to - handle the other form of [switch] and generate slightly simpler (but - longer) code. - -2005-04-06 Donal K. Fellows - - * doc/upvar.n, doc/unset.n, doc/tell.n, doc/tclvars.n, doc/subst.n: - * doc/seek.n, doc/scan.n, doc/regsub.n, doc/registry.n, doc/regexp.n: - * doc/read.n, doc/puts.n, doc/pkgMkIndex.n, doc/open.n, doc/lreplace.n: - * doc/lrange.n, doc/load.n, doc/llength.n, doc/linsert.n, doc/lindex.n: - * doc/lappend.n, doc/info.n, doc/gets.n, doc/format.n, doc/flush.n: - * doc/fileevent.n, doc/file.n, doc/fblocked.n, doc/close.n: - * doc/array.n, doc/Utf.3, doc/TraceVar.3, doc/StrMatch.3, doc/RegExp.3: - * doc/PrintDbl.3, doc/OpenTcp.3, doc/OpenFileChnl.3, doc/Object.3: - * doc/Notifier.3, doc/LinkVar.3, doc/IntObj.3, doc/Interp.3: - * doc/GetOpnFl.3, doc/GetIndex.3, doc/Eval.3, doc/CrtMathFnc.3: - * doc/CrtFileHdlr.3, doc/CrtCommand.3, doc/CrtChannel.3: - * doc/Backslash.3: Purge old .VS/.VE macro instances. - - * tools/man2html2.tcl (IPmacro): Rewrote to understand what .IP really - is (.IP and .TP are really just two ways of doing the same thing). - Change below made this relevant. - * doc/re_syntax.n: Change some uses of .TP to .IP to work around bugs - in various *roff implementations. Also reworded the atom descriptions - slightly. - -2005-04-05 Don Porter - - * generic/tclExecute.c (ExprSrandFunc): Replaced incursions into the - * generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types with - simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj, now that - those routines are better behaved wrt shimmering. [Patch 1177219] - -2005-04-05 Miguel Sofer - - * generic/tclInt.h: - * generic/tclObj.c: Change in TclDecrRefCount and TclFreeObj, to speed - up the freeing of simple Tcl_Obj [Patch 1174551] - -2005-04-04 Miguel Sofer - - * generic/tclExecute.c: small opts in obj handling - -2005-04-02 Miguel Sofer - - * generic/tclVar.c: converted a few function calls to macros. - -2005-04-01 Miguel Sofer - - * doc/ListObj.3: - * generic/tclBasic.c: - * generic/tclCmdIL.c: - * generic/tclConfig.c: - * generic/tclExecute.c: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclListObj.c: - * generic/tclStubInit.c: - * generic/tclVar.c: Changed the internal representation of lists to - (a) reduce the malloc/free calls at list creation (from 2 to 1), (b) - reduce the cost of handling empty lists (we now never create a list - internal rep for them), (c) allow refcounting of the list internal rep. - The latter permits insuring that the pointers returned by - Tcl_ListObjGetElements remain valid even if the object shimmers away - from its original list type. This is [Patch 1158008] - - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclObj.c: - * generic/tclStringObj.c: - (1) defined new internal macros for creating and setting frequently - used obj types (int,long, wideInt, double, string). Changed TEBC to use - eg 'TclNewIntObj(objPtr, i)' to avoid the function call in 'objPtr = - Tcl_NewIntObj(i)' - (2) ExecEnv now stores two Tcl_Obj* pointing to the constants "0" and - "1", for use by TEBC. - (3) slight reduction in cost of INST_START_CMD - -2005-03-31 Miguel Sofer - - * generic/tclExecute.c (INST_JUMP_TRUE/FALSE): replaced "test and - branch" with "compute index into table" - -2005-03-30 Donal K. Fellows - - * doc/FileSystem.3: Defined loadHandle argument. [Bug 1172401] - -2005-03-29 Jeff Hobbs - - * win/tcl.m4, win/configure: do not require cygpath in macros to allow - msys alone as an alternative. - -2005-03-24 Don Porter - - * generic/tclCompile.h: Move the TclInterpReady() declaration from - * generic/tclInt.h: tclCompile.h to tclInt.h. Should have been done - as part of the 1115904 bug fix on 2005-03-18. - - * generic/tclThreadTest.c: Stop providing the phony package - "Thread 1.0" when the [::testthread] command is defined. It's never - used by anything, and conflicts with loading the real "Thread" package. - -2005-03-18 Don Porter - - * generic/tclCompCmds.c (TclCompileIncrCmd): Corrected checks for - immediate operand usage to permit leading space and sign characters. - Restores more efficient bytecode for [incr x -1] that got lost in the - CONST string reforms of Tcl 8.4. [Bug 1165671] - - * generic/tclBasic.c (Tcl_EvalEx): Restored recursion limit - * generic/tclParse.c (TclSubstTokens): testing in nested command - * tests/basic.test (basic-46.4): substitutions within direct - * tests/parse.test (parse-19.*): script evaluation (Tcl_EvalEx) - that got lost in the parser reforms of Tcl 8.1. Added tests for correct - behavior. [Bug 1115904] - -2005-03-15 Vince Darley - - * generic/tclFileName.c: - * win/tclWinFile.c: - * tests/winFCMd.test: fix to 'file pathtype' and 'file norm' failures - on reserved filenames like 'COM1:', etc. - -2005-03-15 Pat Thoyts - - * unix/tcl.m4: Updated the OpenBSD configuration and regenerated - * unix/configure: the configure script. - -2005-03-15 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD. - - * generic/tclBasic.c (many): - * generic/tclCompExpr.c (CompileMathFuncCall): - * generic/tclCompile.h: - * generic/tclExecute.c (many): - * generic/tclParseExpr.c (ParsePrimaryExpr): - * tests/compExpr-old.test: - * tests/compExpr.test: - * tests/compile.test: - * tests/expr-old.test: - * tests/expr.test: - * tests/for.test: - * tests/parseExpr.test: Initial implementation of TIP #232. - - * generic/tclObj.c (Tcl_DbNewBignumObj): Fixed typo that broke - --enable-symbols=mem build - * tests/binary.test (binary-40.3, binary-40.6): Corrected tests to - allow NaN(7ffffffffffff). - -2005-03-14 Miguel Sofer - - * generic/tclExecute.c: fixed INST_PUSH1's debugging code (wrong obj - ref passed to TRACE_WITH_OBJ). - -2005-03-14 Miguel Sofer - - * generic/tclCompile.c: fixed INST_RETURN's stack effect in - tclInstructionTable (-1 instead of -2) - -2005-03-10 Miguel Sofer - - * generic/tclCompCmds.c: removed debugging line - -2005-03-10 Don Porter - - * generic/tclTrace.c (TclCheckInterpTraces): Corrected mistaken cast - of ClientData to (TraceCommandInfo *) when not warranted. Thanks to - Yuri Victorovich for the report. [Bug 1153871] - * generic/tcl.h: Moved flag values TCL_TRACE_ENTER_EXEC and - * generic/tclInt.h: TCL_TRACE_LEAVE_EXEC from public interface into - private. Should be used only by internal workings of execution traces. - -2005-03-09 Kevin B. Kenny - - [kennykb-numerics-branch] Merged from HEAD. - - * doc/PrintDbl.3: - * doc/tclVars.n: Documented new semantics for tcl_precision. - * generic/tclExecute.c (Tcl_ExecuteByteCode): Removed the check for - division-by-zero on IEEE-754 machines. - * generic/tclUtil.c (Tcl_PrintDouble): Corrected bug where numbers in - the range [1e-4 .. 1.) were printed incorrectly. - * tests/compExpr-old.test (compExpr-old-11.13): Revised test case for - division by zero. - * tests/expr-old.test (expr-34.11, expr-34.12): Revised test cases for - overflow in pow() to deal with infinities. - * tests/expr.test (expr-11.13, expr-29.1, expr-29.2): Revised test case - for division by zero and for underflow on input conversions. - * tests/parseExpr.test (parseExpr-16.11): Revised test case for - overflow on input conversion. - * tests/string.test (string-6.38 deleted): Removed test case for - underflow on input conversion, which is no longer an error. - * tests/util.test (util-10.*): Added test case for the bug in tclUtil.c - -2005-03-08 Jeff Hobbs - - * win/makefile.vc: clarify necessary defined vars that can come from - MSVC or the Platform SDK. - -2005-03-07 Donal K. Fellows - - * doc/string.n: Minor typo. [Bug 1158247] - -2005-03-07 Miguel Sofer - - * generic/tclExecute.c: new peephole optimisation for INST_PUSH1; fixed - the peephole opt in INST_POP so that it is not used when - TCL_COMPILE_DEBUG is defined. - -2005-03-04 Kevin B. Kenny - - [kennykb-numerics-branch] - - * generic/tclCmdMZ.c: Changed [scan] to treat out-of-range floating - point values as infinities and zeroes. - * generic/tclExecute.c: Changed [expr] to be permissive about - infinities, allowing them to propagate. - * generic/tclGet.c: Changed Tcl_GetDouble to be permissive about - over/underflow. - * generic/tclObj.c: Changed SetDoubleFromAny to be permissive about - over/underflow. - * generic/tclParseExpr.c: Made [expr] permissive about input numbers - out of range. - -2005-03-03 Kevin B. Kenny - - [kennykb-numerics-branch] - - * generic/tclInt.h: - * generic/tclStrToD.c (Tcl_DoubleDigits, TclFormatNaN): - * generic/tclUtil.c (Tcl_PrintDouble): Changed the signature of - TclDoubleDigits so that it accepts a pointer to the signum of the - argument, and returns the signum via that pointer. Added very hacky - code to handle IEEE signed zeroes in Tcl_DoubleDigits. (It can't be - done other than as a hack until C9x; C89 simply doesn't deal with the - concept of -0.0). Added output conversion of tagged NaN values. - * generic/tclBinary.c (FormatNumber): Changed to allow [binary format] - to handle NaN. - * tests/binary.test (binary-60.1): Added a quick-n-dirty test to make - sure that NaN's can be scanned and formatted. - * generic/tclParseExpr.c (GetLexeme, ParseMaxDoubleLength): Modified so - that tagged NaN (e.g., NaN(DEADBEEF)) can be recognized. - -2005-03-02 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD as of 2005-02-23. - - * generic/tclExecute.c: Broadened test for NaN to work on Windows. - * generic/tclInt.h: - * generic/tclStrToD.c (Tcl_DoubleDigits): - * generic/tclUtil.c (Tcl_PrintDouble, TclPrecTraceProc): Added - Tcl_DoubleDigits to format 'double' numbers with the minimum number of - significant digits to yield correct rounding. Modified tcl_precision - to accept 0 as a precision (meaning "minimum digits"), and made 0 the - default. [TIP #132] - * generic/tclObj.c: Made NaN's throw an error in Tcl_GetDoubleFromObj. - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: Added libtommath/bn_mp_init_set.c to the build. - * libtommath/tommath.h (mp_iseven): Fixed a bug that caused zero to - test 'odd'. - * generic/tommath.h: Regenerated. - * tests/binary.test: - * tests/expr-old.test: - * tests/expr.test: - * tests/scan.test: Corrected a number of tests that depended on - tcl_precision, and removed the {eformat} condition from tests that no - longer require it. - * tests/util.test: Corrected a number of tests that depended on - tcl_precision, and removed the {eformat} condition from tests that no - longer require it. Added a series of tests for correct rounding in - Tcl_PrintDouble. [TIP #132]. - -2005-03-01 David N. Welton - - * doc/CrtSlave.3: Changed to Tcl_Object to Tcl_Obj in the man page. - -2005-02-24 Don Porter - - * library/tcltest/tcltest.tcl: Better use of [glob -types] to avoid - * tests/tcltest.test: failed attempts to [source] a directory, and - similar matters. Thanks to "mpettigr". [Bug 1119798] - - * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.8 - * unix/Makefile.in: - * win/Makefile.in: - -2005-02-23 Donal K. Fellows - - * doc/CrtChannel.3 (THREADACTIONPROC): Formatting fix. [Bug 1149605] - -2005-02-17 Jeff Hobbs - - * win/tclWinFCmd.c (TraverseWinTree): use wcslen on wchar, not - Tcl_UniCharLen. - -2005-02-16 Miguel Sofer - - * doc/variable.n: fix for [Bug 1124160], variables are detected by - [info vars] but not by [info locals]. - -2005-02-11 Jeff Hobbs - - * unix/Makefile.in: remove SHLIB_LD_FLAGS (only for AIX, inlined into - * unix/tcl.m4: SHLIB_LD). Combine AIX-* and AIX-5 branches in - * unix/configure: SC_CONFIG_CFLAGS. Correct gcc builds for AIX-4+ - and HP-UX-11. autoconf-2.59 gen'd. - -2005-02-11 Miguel Sofer - - * tests/basic.test (basic-26.3): new test - -2005-02-10 Miguel Sofer - - * generic/tclBasic.c (Tcl_EvalObjEx): - * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV - in the pure-list branch, in case the list shimmers away. Fix for [Bug - 1119369], reported by Peter MacDonald. - -2005-02-10 Vince Darley - - * generic/tclFileName.c: fix for test failures introduced on 2005-01-17 - [Bug 1119092] - -2005-02-10 Donal K. Fellows - - * doc/binary.n: Made the documentation of sign bit masking and [binary - scan] consistent. [Bug 1117017] - -2005-02-08 David N. Welton - - * doc/CrtChannel.3: Typo: return->returns. - -2005-02-06 Kevin B. Kenny - - [kennykb-numerics-branch] - - * generic/tclStrToD.c (TclStrToD, SafeLdExp): Added code to manage the - FPU precision on gcc+x86. Enabled fast conversion of floats with small - exponents now that precision is correct. - * tests/expr.test: Corrected test for the smallest representible value - to the right IEEE values. - -2005-02-06 David N. Welton - - * doc/Thread.3: One-word grammar fix. - -2005-02-05 David N. Welton - - * doc/Thread.3: Fixed sentence describing flags for Tcl_CreateThread. - - * doc/FileSystem.3: Cleaned up typo in Tcl_FSNewNativePath - documentation. - - * generic/tclPathObj.c: Cleaned up typo in comment. - -2005-02-03 Kevin B. Kenny - - [kennykb-numerics-branch] - - * generic/tclStrToD.c (TclStrToD, RefineResult, SafeLdExp): Added code - to ensure that 'ldexp' is never called with a value that will underflow - * tests/expr.test: Added tests for the smallest representible value, - and rounding between it and zero. (The tests reflect current - behaviour; plan is to change the specification of Tcl so that input - conversion of doubles underflows silently.) - -2005-02-02 Mo DeJong - - * generic/tclProc.c (TclInitCompiledLocals): Add check for type of the - framePtr->procPtr->bodyPtr passed to TclInitCompiledLocals and panic if - it is not the correct type. If the body of the proc is not of the - compiled byte code type then the code will crash. This was discovered - while tracking down a crash in Itcl, that crash is fixed by Itcl patch - 1115085. - -2005-02-01 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD as of today. - - * generic/tclInt.decls: Changed numbers of new stubs to resolve a - conflict. - * generic/tclInt.h: Added new TclStrToD routine that replaces the - native 'strtod' throughout Tcl. - * generic/tclCmdMZ (Tcl_StringObjCmd): - * generic/tclGet.c (Tcl_GetDouble): - * generic/tclObj.c (SetBooleanFromAny, SetDoubleFromAny): - * generic/tclParseExpr.c (GetLexeme): - * generic/tclScan.c (Tcl_ScanObjCmd): Replaced all uses of the native - 'strtod' with a TclStrToD routine that performs correct rounding and - handles denormals. - * generic/tclStrToD.c: (new file) - New scanning function for extracting 'double' from a string that rounds - correctly, and handles denormals and infinities. - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: - Added tclStrToD.c and the tommath routines that support it. - - These changes represent a partial implementation of TIP #132. Output - conversion of floating point numbers, and proper handling of infinities - within expressions, still need to be addressed. - -2005-02-01 Don Porter - - * generic/tclExecute.c (TclCompEvalObj): Removed stray statement left - behind in prior code reorganization. - -2005-01-31 Don Porter - - * unix/configure: autoconf-2.57 - -2005-01-30 Joe English - - * unix/configure.in: Restored two double-evals that were removed in the - DBGX purge; these are still needed on some platforms to account for - TCL_TRIM_DOTS. [Bug 1112654] - - * unix/configure: NOT REGENERATED: only have autoconf 2.59 here, need - to find someone with autoconf 2.57. - -2005-01-28 Jeff Hobbs - - * unix/configure, unix/tcl.m4: add solaris 64-bit gcc build support. - [Bug 1021871] - -2005-01-28 Donal K. Fellows - - * tests/expr-old.test (expr-old-37.2): Added test for [Bug 1109484] - -2005-01-27 Jeff Hobbs - - * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble) - (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484] - -2005-01-26 Andreas Kupries - - TIP#218 IMPLEMENTATION - - * generic/tclDecls.h: Regenerated from tcl.decls. - * generic/tclStubInit.c: - - * doc/CrtChannel.3: Documentation of extended API, - * generic/tcl.decls: extended testsuite, and - * generic/tcl.h: implementation. Removal of old - * generic/tclIO.c: driver-specific TclpCut/Splice - * generic/tclInt.h: functions. Replaced with generic - * tests/io.test: thread-action calls through the - * unix/tclUnixChan.c: new hooks. Update of all builtin - * unix/tclUnixPipe.c: channel drivers to version 4. - * unix/tclUnixSock.c: Windows drivers extended to - * win/tclWinChan.c: manage thread state in a thread - * win/tclWinConsole.c: action handler. - * win/tclWinPipe.c: - * win/tclWinSerial.c: - * win/tclWinSock.c: - -2005-01-25 Don Porter - - * library/auto.tcl: Updated [auto_reset] to clear auto-loaded - commands in namespaces other than :: and to clear auto-loaded commands - that do not happen to be procs. [Bug 1101670] - ***POTENTIAL INCOMPATIBILITY*** - -2005-01-25 Daniel Steffen - - * unix/tcl.m4 (Darwin): fixed bug with static build linking to dynamic - library in /usr/lib etc instead of linking to static library earlier in - search path. [Bug 956908] Removed obsolete references to Rhapsody. - * unix/configure: autoconf-2.57 - -2005-01-21 Andreas Kupries - - * generic/tclStubInit.c: Regenerated the stubs support code from the - * generic/tclDecls.h: modified tcl.decls (TIP #233, see below). - - * doc/GetTime.3: Implemented TIP #233, i.e. the - * generic/tcl.decls: 'Virtualization of Tcl's Sense of Time'. - * generic/tcl.h: Declared, implemented, and documented the - * generic/tclInt.h: specified new API functions. Moved the - * unix/tclUnixEvent.c: native (OS) access to time information - * unix/tclUnixNotfy.c: into standard handler functions. Inserted - * unix/tclUnixTime.c: hooks calling on the handlers where native - * win/tclWinNotify.c: access was done before, and where scaling - * win/tclWinTime.c: between domains (real/virtual) is required. - -2005-01-21 Andreas Kupries - - * generic/tclThread.c: Typo police. Fixed some nits - * generic/tclCmdAH.c: in header comments of functions. - * generic/tclBasic.c: (Missing --). - * generic/tclFileName.c: - -2005-01-21 Donal K. Fellows - - * doc/FileSystem.3: Add missing ARGUMENTS section definitions for - arguments to Tcl_FSLink. [Bug 1106272] - -2005-01-21 Kevin B. Kenny - - [kennykb-numerics-branch] - - * unix/Makefile.in: Updated Makefile to build libtommath on Unix as - well as Windows. [Bug 1106865] - - * generic/tclTestObj.c (TestbignumobjCmd): Silenced a compiler warning - about a mismatched 'const'. - -2005-01-20 Kevin B. Kenny - - [kennykb-numerics-branch] Development checkpoint. - - * compat/strtoll.c: Reverted to HEAD. - * compat/strtoull.c: - * doc/Ensemble.3: - * generic/tclBasic.c: - * generic/tclCmdIL.c: - * generic/tclNamesp.c: - * generic/tclPathObj.c: - * generic/tclPort.h: - * unix/configure: - * unix/configure.in: - * unix/tcl.m4: - * win/configure: - * win/configure.in: - * win/rules.vc: - * win/tcl.m4: - - * generic/tcl.h: Added declarations for bignum types, and for a - 'bignumValue' in the Tcl_Obj structure. - * generic/tclInt.h: Added declarations of interface procedures for - memory allocation in libtommath. - - * generic/tcl.decls: Added new interface to bignum objects. - * generic/tclInt.decls: Added internal stubs for bignum routines used - by the test code in tclTestObj.c. - - * generic/tclDecls/h: Regen. - * generic/tclIntDecls.h: - * generic/tclStubInit.h: - - * tools/fix_tommath_h.tcl: (New file) Script to edit - libtommath/tommath.h and produce generic/tommath.h so that storage - classes, allocation routines, and data types conform to Tcl's - conventions. - * generic/tommath.h: (New file) Generated by the above. - - * generic/tclTomMath.h: (New file) Additional declarations to be - included in tommath.h when building Tcl. - - * generic/tclTomMathInterface.c: (New file) Small 'glue' routines - adapting tommath's API to Tcl. - - * libtommath/bn_fast_s_mp_mul_digs.c: - * libtommath/bn_mp_mul_d.c: - * libtommath/bn_mp_read_radix.c: - * libtommath/tommath.h: Applied suggested changes from Tom St Denis - that correct an off-by-one error in single-digit multiplication - (leading to a pointer smash if uncorrected) and change the string - argument to 'mp_read_radix' from 'char*' to 'const char*'. - - * libtommath/bn_mp_radix_size.c: Local patch to ensure that sufficient - memory is requested even if the number has a single digit. - - * libtommath/bn_mp_read_radix.c: Local patch to return MP_VAL if the - input string contains an invalid character. - - * generic/tclObj.c: Added accessor functions for bignums. - * generic/tclTestObj.c: Added a 'testbignumobj' command to exercise the - accessor functions for bignums. - - * win/Makefile.in: Added rules for making libtommath. - -2005-01-19 Donal K. Fellows - - TIP#235 IMPLEMENTATION - - * doc/Ensemble.3: Documentation for the new public API. - * generic/tclNamesp.c (Tcl_CreateEnsemble,...): Rename of - * generic/tcl.decls: existing API into TIPped form. - -2005-01-19 Mo DeJong - - * win/tclWinChan.c (FileCloseProc): Invoke TclpCutFileChannel() to - remove a FileInfo from the thread local list before deallocating it. - This should have been done via an earlier call to Tcl_CutChannel, but I - was running into a crash in the next call to Tcl_CutChannel during the - I/O finalization stage. - -2005-01-18 Kevin Kenny - - * library/tzdata/GMT+0: - * library/tzdata/GMT-0: - * library/tzdata/GMT0: - * library/tzdata/Greenwich: - * library/tzdata/Navajo: - * library/tzdata/Universal: - * library/tzdata/Zulu: - * library/tzdata/America/Asuncion: - * library/tzdata/America/Rosario: - * library/tzdata/Asia/Jerusalem: - * library/tzdata/Brazil/Acre: - Routine update per Olson's tzdata2005c. Removed links to links - (Greenwich in several aliases; Navajo; Acre). Updated Paraguayan DST - rules and "best guess" at this year's Israeli rules. - -2005-01-17 Vince Darley - - * generic/tclFileName.c: fix for glob failure on Windows shares [Bug - 1100542]. - - * doc/pkgMkIndex.n: added documentation that 'pkg_mkIndex -lazy' is not - a good idea. [Bug 1101678] - -2005-01-14 Donal K. Fellows - - * tests/compile.test (compile-17.1): Document known issue with binding - time of compiled command interpretations in [expr]. - - * generic/tclIOUtil.c (TclFSFileAttrIndex): New helper function so that - we don't need to hard-code attribute indexes. [Bug 1100671] - -2005-01-13 Donal K. Fellows - - * doc/string.n: Removed the term 'set' from the documentation of the - [string trim] commands, as it caused confusion. - -2005-01-12 Donal K. Fellows - - * unix/tcl.m4 (SC_PATH_{TCL,TK}CONFIG): Added code to detect the case - when the --with-tcl/--with-tk arguments point to the config scripts - themselves and not their directory. If this is the case, they now - complain but keep working. [FRQ 951247] - * unix/configure: autoconf-2.57 - -2005-01-10 Joe English - - * unix/Makefile.in, unix/configure.in, unix/tcl.m4, - * unix/tclConfig.sh.in, unix/dltest/Makefile.in: - Remove ${DBGX}, ${TCL_DBGX} from Tcl build system [Patch 1081595]. - * unix/configure: regenerated - -2005-01-10 Donal K. Fellows - - * unix/tclUnixFCmd.c (TclUnixCopyFile): Convert u_int to unsigned to - make clashes with types in standard C headers less of a problem. [Bug - 1098829] - -2005-01-09 Joe English - - * unix/tclUnixThrd.c, unix/tclUnixPort.h: Remove readdir_r() and - related #ifdeffery (see [Bug 1095909]). - * unix/tcl.m4, unix/tclConfig.h.in: Don't check for HAVE_READDIR_R. - * unix/configure: Regenerated. - -2005-01-06 Donal K. Fellows - - * library/http/http.tcl (http::mapReply): Significant performance - enhancement by using [string map] instead of [regsub]/[subst], and - update version requirement to Tcl8.4. [Bug 1020491] - -2005-01-05 Donal K. Fellows - - * doc/lsearch.n, doc/re_syntax.n: Convert to other form of emacs mode - control comment to prevent problems with old versions of man. [Bug - 1085127] - -2005-01-05 Pat Thoyts - - * tests/winDde.test: Fixed broken test result. - -2005-01-05 Donal K. Fellows - - * generic/tclInt.h, generic/tclPort.h: Move the #include of tclConfig.h - *first* before any reference to tcl.h so that the build configuration - is loaded before the first reference to any system headers. Issue - reported by Art Haas on tcl-core. - -2005-01-04 Don Porter - - * tests/fCmd.test (fCmd-18.10): Added notNetworkFilesystem constraint. - [Bug 456665] - - ****************************************************************** - *** 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" *** - ****************************************************************** DELETED ChangeLog.2007 Index: ChangeLog.2007 ================================================================== --- ChangeLog.2007 +++ /dev/null @@ -1,5921 +0,0 @@ -2007-12-31 Donal K. Fellows - - * doc/dict.n: Clarified meaning of dictionary values following - discussion on comp.lang.tcl. - -2007-12-26 Miguel Sofer - - * generic/tclCmdIL.c: More [lsort] data handling streamlines. The - function MergeSort is gone, essentially inlined into Tcl_LsortObjCmd. - It is not a straight inlining, two loops over all lists elements where - merged in the process: the linked list elements are now built and - merged into the temporary sublists in the same pass. - -2007-12-25 Miguel Sofer - - * generic/tclCmdIL.c: More [lsort] data handling streamlines. Extra - mem reqs of latest patches removed, restored to previous mem profile. - Improved -unique handling, now eliminating repeated elems immediately - instead of marking them to avoid reinsertion at the end. - -2007-12-23 Jeff Hobbs - - * generic/tclCompCmds.c (TclCompileRegexpCmd): TCL_REG_NOSUB cannot - * tests/regexp.test (regexp-22.2): be used because it - * tests/regexpComp.test: [Bug 1857126] disallows backrefs. - -2007-12-21 Miguel Sofer - - * generic/tclCmdIL.c: Speed patch for lsort. [Patch 1856994] - -2007-12-21 Miguel Sofer - - * generic/tclCmdIL.c (Tcl_LsortObjCmd, Tcl_LsearchObjCmd): Avoid - calling SelectObjFromSublist when there are no sublists. - -2007-12-21 Miguel Sofer - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Preallocate a listObj of - sufficient length for the sorted list instead of growing it. Second - commit replaces calls to Tcl_ListObjAppenElement with direct access to - the internal rep. - -2007-12-19 Don Porter - - *** 8.5.0 TAGGED FOR RELEASE *** - - * changes: Updated for 8.5.0 release. - -2007-12-19 Jeff Hobbs - - * generic/tclCompCmds.c (TclCompileSwitchCmd): update switch -regexp - * tests/switch.test-14.*: compilation to pass - the cflags to INST_REGEXP (changed on 12-07). Added tests for switch - -regexp compilation (need more). [Bug 1854399] - -2007-12-18 Don Porter - - * changes: Updated for 8.5.0 release. - -2007-12-18 Donal K. Fellows - - * generic/regguts.h, generic/regc_color.c, generic/regc_nfa.c: - Fixes for problems created when processing regular expressions that - generate very large automata. An enormous number of thanks to Will - Drewry , Tavis Ormandy , - and Tom Lane from the Postgresql crowd for - their help in tracking these problems down. [Bug 1810264] - -2007-12-17 Don Porter - - * changes: Updated for 8.5.0 release. - -2007-12-17 Miguel Sofer - - * generic/tclAlloc.c: - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclThreadAlloc.c: Fix alignment for memory returned by - TclStackAlloc; insure that all memory allocators align to 16-byte - boundaries on 64 bit platforms [Bug 1851832, 1851524] - -2007-12-14 Jeff Hobbs - - * generic/tclIOUtil.c (FsAddMountsToGlobResult): fix the tail - conversion of vfs mounts. [Bug 1602539] - - * win/README: updated notes - -2007-12-14 Pat Thoyts - - * tests/winFile.test: Fixed tests for win2k with long machine name - -2007-12-14 Pat Thoyts - - * win/nmakehlp.c: Support compilation with MSVC9 for AMD64. - * win/makefile.vc: - -2007-12-13 Donal K. Fellows - - * doc/trace.n: Clarified documentation of enterstep and leavestep - traces, including adding example. [Bug 614282, 1701540, 1755984] - -2007-12-12 Don Porter - - * doc/IntObj.3: Update docs for the Tcl_GetBignumAndClearObj() -> - Tcl_TakeBignumFromObj() revision [TIP 298]. Added docs for the - Tcl_InitBignumFromDouble() routine. [Bug 1446971] - - * changes: Updated for 8.5.0 release. - -2007-12-10 Jeff Hobbs - - * generic/tclUtil.c (TclReToGlob): reduce escapes in conversion - when not necessary - - * generic/tclInt.decls: move TclByteArrayMatch and TclReToGlob - * generic/tclIntDecls.h: to tclInt.h from stubs. - * generic/tclStubInit.c: Add flags var to TclByteArrayMatch for - * generic/tclInt.h: future extensibility - * generic/tcl.h: define TCL_MATCH_EXACT doc for Tcl_StringCaseMatch. - * doc/StrMatch.3: It is compatible with existing usage. - * generic/tclExecute.c (INST_STR_MATCH): flag for TclByteArrayMatch - * generic/tclUtil.c (TclByteArrayMatch, TclStringMatchObj): - * generic/tclRegexp.c (Tcl_RegExpExecObj): - * generic/tclCmdMZ.c (StringMatchCmd): Use TclStringMatchObj - * tests/string.test (11.9.* 11.10.*): more tests - -2007-12-10 Joe English - - * doc/string.n, doc/UniCharIsAlpha.3: Fix markup errors. - * doc/CrtCommand.3, doc/CrtMathFnc.3, doc/FileSystem.3, - * doc/GetStdChan.3, doc/OpenFileChnl.3, doc/SetChanErr.3, - * doc/eval.n, doc/filename.n: Consistency: Move "KEYWORDS" section - after "SEE ALSO". - -2007-12-10 Daniel Steffen - - * tools/genStubs.tcl: fix numerous issues handling 'macosx', - 'aqua' or 'x11' entries interleaved - with 'unix' entries [Bug 1834288]; add - genStubs::export command - [Tk FR 1716117]; cleanup formatting. - - * generic/tcl.decls: use new genstubs 'export' command to - * generic/tclInt.decls: mark exported symbols not in stubs - * generic/tclTomMath.decls: table [Tk FR 1716117]; cleanup - formatting. - - * generic/tclDecls.h: regen with new genStubs.tcl. - * generic/tclIntDecls.h: [Bug 1834288] - * generic/tclIntPlatDecls.h: - * generic/tclPlatDecls.h: - * generic/tclStubInit.c: - -2007-12-09 Jeff Hobbs - - * tests/io.test, tests/chanio.test (io-73.1): Make sure to invalidate - * generic/tclIO.c (SetChannelFromAny): internal rep only after - validating channel rep. [Bug 1847044] - -2007-12-08 Donal K. Fellows - - * doc/expr.n, doc/mathop.n: Improved the documentation of the - operators. [Bug 1823622] - - * generic/tclBasic.c (builtInCmds): Corrected list of hidden and - * doc/interp.n (SAFE INTERPRETERS): exposed commands so that the - documentation and reality now match. [Bug 1662436] - -2007-12-07 Jeff Hobbs - - * generic/tclExecute.c (TclExecuteByteCode INST_REGEXP): - * generic/tclCompCmds.c (TclCompileRegexpCmd): Pass correct RE - compile flags at compile time, and use TCL_REG_NOSUB. - - * generic/tclIOCmd.c (FinalizeIOCmdTSD, Tcl_PutsObjCmd): cache - stdout channel object for [puts $str] calls. - -2007-12-06 Don Porter - - * README: Remove mention of dead comp.lang.tcl.announce - newsgroup. [Bug 1846433] - - * unix/README: Mention the stub library created by `make` and warn - about the effect of embedded paths in the installed binaries. - Thanks to Larry Virden. [Bug 1794084] - - * doc/AddErrInfo.3: Documentation for the new routines in TIP 270. - * doc/Interp.3: - * doc/StringObj.3: - -2007-12-06 Don Porter - - * doc/namespace.n: Documentation for zero-argument form of - [namespace import] (TIP 261) [Bug 1596416] - -2007-12-06 Jeff Hobbs - - * generic/tclInt.h: add TclGetChannelFromObj decl - (TclMatchIsTrivial): simplify TclMatchIsTrivial to remove ] check. - -2007-12-06 Donal K. Fellows - - - * generic/tclBasic.c (Tcl_CreateInterp): Simplify the setting up of - * generic/tclIOCmd.c (TclInitChanCmd): the [chan] ensemble. This - * library/init.tcl: gets rid of quite a bit of - code and makes it possible to understand the whole with less effort. - - * generic/tclCompCmds.c (TclCompileEnsemble): Ensure that the right - number of tokens are copied. [Bug 1845320] - - * generic/tclNamesp.c (TclMakeEnsemble): Added missing release of a - DString. [Bug 1845397] - -2007-12-05 Jeff Hobbs - - * generic/tclIO.h: Create Tcl_Obj for Tcl channels to reduce - * generic/tclIO.c: overhead in lookup by Tcl_GetChannel. New - * generic/tclIOCmd.c: TclGetChannelFromObj for internal use. - * generic/tclIO.c (WriteBytes, WriteChars): add opt check to avoid - EOL translation when not linebuffered or using lf. [Bug 1845092] - -2007-12-05 Miguel Sofer - - * tests/stack.test: made the tests for stack overflow not care - about which mechanism caused the error (interp's recursion limit - or C-stack depth detector). - -2007-12-05 Jeff Hobbs - - * win/configure, win/tcl.m4 (LIBS_GUI): mingw needs -lole32 - -loleaut32 but not msvc for Tk's [send]. [Bug 1844749] - -2007-12-05 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Prevent shimmering crash - when -exact and -integer/-real are mixed. [Bug 1844789] - -2007-12-03 Donal K. Fellows - - * unix/tclUnixChan.c (CreateSocketAddress): Add extra #ifdef-fery to - make code compile on BSD 5. [Bug 1618235, again] - -2007-12-03 Don Porter - - * library/tcltest/tcltest.tcl: Bump tcltest to version 2.3.0 so that - * library/tcltest/pkgIndex.tcl: we release a stable tcltest with a - * unix/Makefile.in: stable Tcl. - * win/Makefile.in: - -2007-12-03 Jeff Hobbs - - * win/configure, win/tcl.m4 (LIBS_GUI): remove ole32.lib oleaut32.lib - -2007-12-03 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Adjusted the [switch] - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): command so that when - passed two arguments, no check for options are performed. This is OK - since in the two-arg case, detecting an option would definitely lead - to a syntax error. [Patch 1836519] - -2007-11-29 Jeff Hobbs - - * win/makefile.vc: add ws2_32.lib to baselibs - * win/configure, win/tcl.m4: add ws2_32.lib / -lws2_32 to build. - * win/tclWinSock.c: remove dyn loading of winsock, assume that it is - always available now. - -2007-11-29 Don Porter - - * generic/tclWinSock.c (InitializeHostName): Correct error in - buffer length tracking. After gethostname() writes into a buffer, - convert only the written string to internal encoding, not the whole - buffer. - -2007-11-28 Don Porter - - * generic/tclConfig.c: Corrected failure of the [::foo::pkgconfig] - command to clean up registered configuration data when the query - command is deleted from the interp. [Bug 983501] - - * generic/tclNamesp.c (Tcl_SetEnsembleMappingDict): Added checks - that the dict value passed in is in the format required to make the - internals of ensembles work. [Bug 1436096] - - * generic/tclIO.c: Simplify test and improve accuracy of error - message in latest changes. - -2007-11-28 Pat Thoyts - - * generic/tclIO.c: -eofchar must support no eofchar. - -2007-11-27 Miguel Sofer - - * generic/tclBasic.c: remove unneeded call in Tcl_CreateInterp, add - comments. - -2007-11-27 Don Porter - - * win/tclWinSock.c: Add mising encoding conversion of the [info - hostname] value from the system encoding to Tcl's internal encoding. - - * doc/chan.n: "Fix" the limitation on channel -eofchar - * doc/fconfigure.n: values to single byte characters by - * generic/tclIO.c: documenting it and making it fail loudly. - * tests/chan.test: Thanks to Stuart Cassoff for contributing the - fix. [Bug 800753] - -2007-11-26 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclInt.h: - * unix/tclUnixInit.c: - * unix/tclUnixThrd.c: Fix stack checking via workaround for bug in - glibc's pthread_attr_get_np, patch from [Bug 1815573]. Many thanks to - Sergei Golovan (aka Teo) for detecting the bug and helping diagnose - and develop the fix. - -2007-11-24 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix bug in [dict - append] compiler which caused strange stack corruption. [Bug 1837392] - -2007-11-23 Andreas Kupries - - * generic/tclIORChan.c: Fixed a problem with reflected channels. 'chan - postevent' is defined to work only from within the interpreter - containing the handler command. Sensible, we want only handler - commands to use it. It identifies the channel by handle. The channel - moves to a different interpreter or thread. The interpreter containing - the handler command doesn't know the channel any longer. 'chan - postevent' fails, not finding the channel any longer. Uhm. - - Fixed by creating a second per-interpreter channel table, just for - reflected channels, where each interpreter remembers for which - reflected channels it has the handler command. This info does not move - with the channel itself. The table is updated by 'chan create', and - used by 'chan postevent'. - - * tests/ioCmd.test: Updated the testsuite. - -2007-11-23 Jeff Hobbs - - * generic/tclVar.c (Tcl_ArrayObjCmd): handle the right data for - * tests/var.test (var-14.2): [array names $var -glob $ptn] - -2007-11-23 Donal K. Fellows - - * generic/tclCmdMZ.c (String*Cmd, TclInitStringCmd): Rebuilt [string] - * generic/tclCompCmds.c (TclCompileString*Cmd): as an ensemble. - -2007-11-22 Donal K. Fellows - - * generic/tclDictObj.c (Dict*Cmd,TclInitDictCmd): Rebuilt the [dict] - * generic/tclCompCmds.c (TclCompileDict*Cmd): command as an ensemble. - -2007-11-22 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): Rewrote the [string] and - * generic/tclDictObj.c (Tcl_DictObjCmd): [dict] implementations to be - ready for conversion to ensembles. - - * tests/string.test (string-12.22): Flag shimmering bug found in - [string range]. - -2007-11-21 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileEnsemble): Rewrote the ensemble - compiler to remove many of the limitations. Can now compile scripts - that use unique prefixes of subcommands, and which have mappings of a - command to multiple words (provided the first is a compilable command - of course). - -2007-11-21 Donal K. Fellows - - * generic/tclNamesp.c (TclMakeEnsemble): Factor out the code to set up - a core ensemble from a table of information about subcommands, ready - for reuse within the core. - - * generic/various: Start to return more useful Error codes, currently - mainly on assorted lookup failures. - -2007-11-20 Donal K. Fellows - - * generic/tclDictObj.c: Changed the underlying implementation of the - hash table used in dictionaries to additionally keep all entries in - the hash table in a linked list, which is only ever added to at the - end. This makes iteration over all entries in the dictionary in - key insertion order a trivial operation, and so cleans up a great deal - of complexity relating to dictionary representation and stability of - iteration order. - - ***POTENTIAL INCOMPATIBILITY*** - For any code that depended on the (strange) old iteration order. - - * generic/tclConfig.c (QueryConfigObjCmd): Correct usage of - Tcl_WrongNumArgs. - -2007-11-19 Don Porter - - *** 8.5b3 TAGGED FOR RELEASE *** - - * README: Bump version number to 8.5b3. - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf (2.59) - * win/configure: - - * changes: Updated for 8.5b3 release. - -2007-11-19 Kevin Kenny - - * library/tzdata/Africa/Cairo: - * library/tzdata/America/Campo_Grande: - * library/tzdata/America/Caracas: - * library/tzdata/America/Cuiaba: - * library/tzdata/America/Havana: - * library/tzdata/America/Sao_Paulo: - * library/tzdata/Asia/Damascus: - * library/tzdata/Asia/Gaza: - * library/tzdata/Asia/Tehran: Olson's tzdata2007i imported. - -2007-11-18 Daniel Steffen - - * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): Fix read - traces not firing on non-existent array elements. [Bug 1833522] - -2007-11-16 Donal K. Fellows - - * generic/tclCmdIL.c (TclInitInfoCmd): Rename the implementation - commands for [info] to be something more "expected". - - * generic/tclCompCmds.c (TclCompileInfoExistsCmd): Compiler for the - [info exists] subcommand. - (TclCompileEnsemble): Cleaned up version of ensemble compiler that was - in TclCompileInfoCmd, but which is now much more generally applicable. - - * generic/tclInt.h (ENSEMBLE_COMPILE): Added flag to allow for cleaner - turning on and off of ensemble bytecode compilation. - - * generic/tclCompile.c (TclCompileScript): Add the cmdPtr to the list - of arguments passed to command compilers. - -2007-11-15 Don Porter - - * generic/regc_nfa.c: Fixed infinite loop in the regexp compiler. - [Bug 1810038] - - * generic/regc_nfa.c: Corrected looping logic in fixempties() to - avoid wasting time walking a list of dead states. [Bug 1832612] - -2007-11-15 Donal K. Fellows - - * generic/tclNamesp.c (NamespaceEnsembleCmd): Must pass a non-NULL - interp to Tcl_SetEnsemble* functions. - - * doc/re_syntax.n: Try to make this easier to read. It's still a very - difficult manual page! - - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Allow people to turn off the -rpath - option to their linker if they so desire. This is a configuration only - recommended for (some) vendors. Relates to [Patch 1231022]. - -2007-11-15 Pat Thoyts - - * win/tclWin32Dll.c: Prefer UINT_PTR to DWORD_PTR when casting - pointers to integer types for greater portability. [Bug 1831253] - -2007-11-15 Daniel Steffen - - * macosx/Tcl.xcodeproj/project.pbxproj: add new chanio.test. - * macosx/Tcl.xcode/project.pbxproj: - -2007-11-14 Donal K. Fellows - - * generic/tclCompile.c (TclCompileScript): Ensure that we get our - count in our INST_START_CMD calls right, even when there's a failure - to compile a command directly. - - * generic/tclNamesp.c (Tcl_SetEnsembleSubcommandList) - (Tcl_SetEnsembleMappingDict): Special code to make sure that - * generic/tclCmdIL.c (TclInitInfoCmd): [info exists] is compiled - right while not allowing changes to the ensemble to cause havok. - - * generic/tclCompCmds.c (TclCompileInfoCmd): Simple compiler for the - [info] command that only handles [info exists]. - - * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): New - instructions to allow the testing of whether a variable exists. - -2007-11-14 Andreas Kupries - - * tests/chanio.test: New file. This is essentially a duplicate of - 'io.test', with all channel commands converted to their 'chan xxx' - notation. - * tests/io.test: Fixed typo in test description. - -2007-11-14 Donal K. Fellows - - * generic/regc*.c: Eliminate multi-char collating element code - completely. Simplifies the code quite a bit. If people still want the - full code, it will remain on the 8.4 branch. [Bug 1831425] - -2007-11-13 Jeff Hobbs - - * generic/tclCompCmds.c (TclCompileRegexpCmd): clean up comments, only - free dstring on OK from TclReToGlob. - (TclCompileSwitchCmd): simplify TclReToGlob usage. - -2007-11-14 Donal K. Fellows - - * generic/regc*.c: #ifdef/comment out the code that deals with - multi-character collating elements, which have never been supported. - Cuts the memory consumption of the RE compiler. [Bug 1831425] - -2007-11-13 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd, TclCompileRegexpCmd): - Extend [switch] compiler to handle regular expressions as long as - things are not too complex. Fix [regexp] compiler so that non-trivial - literal regexps get fed to INST_REGEXP. - - * doc/mathop.n: Clarify definitions of some operations. - -2007-11-13 Miguel Sofer - - * unix/tclUnixInit.c: the TCL_NO_STACK_CHECK was being incorrectly - undefined here; this should be set (or not) in the compile options, it - is used elsewhere and needs to be consistent. - -2007-11-13 Pat Thoyts - - * unix/tcl.m4: Added autoconf goo to detect and make use of - * unix/configure.in: getaddrinfo and friends. - * unix/configure: (regenerated) - -2007-11-13 Donal K. Fellows - - * unix/tclUnixCompat.c (TclpGetHostByName): The six-argument form of - getaddressbyname_r() uses the fifth argument to indicate whether the - lookup succeeded or not on at least one platform. [Bug 1618235] - -2007-11-13 Don Porter - - * generic/regcomp.c: Convert optst() from expensive no-op to a - cheap no-op. - -2007-11-13 Donal K. Fellows - - * unix/tclUnixChan.c (CreateSocketAddress): Rewrote to use the - thread-safe version of gethostbyname() by forward-porting the code - used in 8.4, and added rudimentary support for getaddrinfo() (not - enabled by default, as no autoconf-ery written). Part of fix for [Bug - 1618235]. - -2007-11-12 Jeff Hobbs - - * generic/tclGet.c (Tcl_Get, Tcl_GetInt): revert use of TclGet* macros - due to compiler warning. These cases won't save time either. - - * generic/tclUtil.c (TclReToGlob): add more comments, set interp - result if specified on error. - -2007-11-12 Miguel Sofer - - * generic/tclBasic.c: New macro TclResetResult, new iPtr - * generic/tclExecute.c: flag bit INTERP_RESULT_UNCLEAN: - * generic/tclInt.h: shortcut for Tcl_ResetResult for the - * generic/tclProc.c: "normal" case: TCL_OK, no return - * generic/tclResult.c: options, no errorCode nor errorInfo, - * generic/tclStubLib.c: return at normal level. [Patch - * generic/tclUtil.c: 1830184] - - THIS PATCH WAS REVERTED: initial (mis)measurements overstated the - perfomance wins, which turn out to be tiny. Not worth the - complication. - -2007-11-11 Jeff Hobbs - - * generic/tclCompCmds.c, generic/tclCompile.c, generic/tclCompile.h: - * generic/tclExecute.c, generic/tclInt.decls, generic/tclIntDecls.h: - * generic/tclRegexp.c, generic/tclRegexp.h: Add INST_REGEXP and fully - * generic/tclStubInit.c, generic/tclUtil.c: compiled [regexp] for the - * tests/regexpComp.test: [Bug 1830166] simple cases. Also added - TclReToGlob function to convert RE to glob patterns and use these in - the possible cases. - -2007-11-11 Miguel Sofer - - * generic/tclResult.c (ResetObjResult): clarify the logic. - - * generic/tclBasic.c: Increased usage of macros to detect - * generic/tclBinary.c: and take advantage of objTypes. Added - * generic/tclClock.c: macros TclGet(Int|Long)FromObj, - * generic/tclCmdAH.c: TclGetIntForIndexM & TclListObjLength, - * generic/tclCmdIL.c: modified TclListObjGetElements. - * generic/tclCmdMZ.c: - * generic/tclCompCmds.c: The TclGetInt* macros are only a - * generic/tclCompExpr.c: shortcut on platforms where 'long' is - * generic/tclCompile.c: 'int'; it may be worthwhile to extend - * generic/tclDictObj.c: their functionality to other cases. - * generic/tclExecute.c: - * generic/tclGet.c: As this patch touches many files it - * generic/tclIO.c: has been recorded as [Patch 1830038] - * generic/tclIOCmd.c: in order to facilitate reviewing. - * generic/tclIOGT.c: - * generic/tclIndexObj.c: - * generic/tclInt.h: - * generic/tclInterp.c: - * generic/tclListObj.c: - * generic/tclLiteral.c: - * generic/tclNamesp.c: - * generic/tclObj.c: - * generic/tclParse.c: - * generic/tclProc.c: - * generic/tclRegexp.c: - * generic/tclResult.c: - * generic/tclScan.c: - * generic/tclStringObj.c: - * generic/tclUtil.c: - * generic/tclVar.c: - -2007-11-11 Daniel Steffen - - * unix/tclUnixTime.c (TclpWideClicksToNanoseconds): Fix issues with - * generic/tclInt.h: int64_t overflow. - - * generic/tclBasic.c: Fix stack check failure case if stack grows up - * unix/tclUnixInit.c: Simplify non-crosscompiled case. - - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - -2007-11-10 Miguel Sofer - - * generic/tclExecute.c: Fast path for INST_LIST_INDEX when the index - is not a list. - - * generic/tclBasic.c: - * unix/configure.in: - * unix/tclUnixInit.c: Detect stack grwoth direction at compile time, - only fall to runtime detection when crosscompiling. - - * unix/configure: autoconf 2.61 - - * generic/tclBasic.c: - * generic/tclInt.h: - * tests/interp.test: - * unix/tclUnixInit.c: - * win/tclWin32Dll.c: Restore simpler behaviour for stack checking, not - adaptive to stack size changes after a thread is launched. Consensus - is that "nobody does that", and so it is not worth the cost. Improved - failure comments (mistachkin). - -2007-11-10 Kevin Kenny - - * win/tclWin32Dll.c: Rewrote the Windows stack checking algorithm to - use information from VirtualQuery to determine the bound of the stack. - This change fixes a bug where the guard page of the stack was never - restored after an overflow. It also eliminates a nasty piece of - assembly code for structured exception handling on mingw. It - introduces an assumption that the stack is a single memory arena - returned from VirtualAlloc, but the code in MSVCRT makes the same - assumption, so it should be fairly safe. - -2007-11-10 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclInt.h: - * unix/tclUnixInit.c: - * unix/tclUnixPort.h: - * win/tclWin32Dll.c: Modify the stack checking algorithm to recheck in - case of failure. The working assumptions are now that (a) a thread's - stack is never moved, and (b) a thread's stack can grow but not - shrink. Port to windows - could be more efficient, but is already - cheaper than it was. - -2007-11-09 Miguel Sofer - - * generic/tclResult.c (ResetObjResult): new shortcut. - - * generic/tclAsync.c: - * generic/tclBasic.c: - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclUnixInit.c: - * generic/tclUnixPort.h: New fields in interp (ekeko!) to cache TSD - data that is accessed at each command invocation, access macros to - replace Tcl_AsyncReady and TclpCheckStackSpace by much faster variants - [Patch 1829248] - -2007-11-09 Jeff Hobbs - - * generic/tclInt.decls, generic/tclIntDecls.h: Use unsigned char for - * generic/tclExecute.c, generic/tclUtil.c: TclByteArrayMatch and - don't allow a nocase option. [Bug 1828296] - For INST_STR_MATCH, ignore pattern type for TclByteArrayMatch case. - - * generic/tclBinary.c (Tcl_GetByteArrayFromObj): check type before - func jump (perf). - -2007-11-07 Jeff Hobbs - - * generic/tclStubInit.c: Added TclByteArrayMatch - * generic/tclInt.decls: for efficient glob - * generic/tclIntDecls.h: matching of ByteArray - * generic/tclUtil.c (TclByteArrayMatch): Tcl_Objs, used in - * generic/tclExecute.c (TclExecuteByteCode): INST_STR_MATCH. [Bug - 1827996] - - * generic/tclIO.c (TclGetsObjBinary): Add an efficient binary path for - [gets]. - (DoWriteChars): Special case for 1-byte channel write. - -2007-11-06 Miguel Sofer - - * generic/tclEncoding.c: Version of the embedded iso8859-1 encoding - handler that is faster (functions to do the encoding know exactly what - they're doing instead of pulling it from a table, though the table - itself has to be retained for use by shift encodings that depend on - iso8859-1). [Patch 1826906], committing for dkf. - -2007-11-05 Andreas Kupries - - * generic/tclConfig.c (Tcl_RegisterConfig): Modified to not extend the - config database if the encoding provided by the user is not found - (venc == NULL). Scripts expecting the data will error out, however we - neither crash nor provide bogus information. See [Bug 983509] for more - discussion. - - * unix/tclUnixChan.c (TtyGetOptionProc): Accepted [Patch 1823576] - provided by Stuart Cassof . The patch adds - the necessary utf/external conversions to the handling of the - arguments of option -xchar which will allow the use of \0 and similar - characters. - -2007-11-03 Miguel Sofer - - * generic/tclTest.c (TestSetCmd2): - * generic/tclVar.c (TclObjLookupVarEx): - * tests/set.test (set-5.1): Fix error branch when array name looks - like array element (code not normally exercised). - -2007-11-01 Donal K. Fellows - - * tools/tcltk-man2html.tcl (output-directive): Convert .DS/.DE pairs - into tables since that is now all that they are used for. - - * doc/RegExp.3: Clarified documentation of RE flags. [Bug 1167840] - - * doc/refchan.n: Adjust internal name to be consistent with the file - name for reduced user confusion. After comment by Dan Steffen. - - * generic/tclCmdMZ.c (Tcl_StringObjCmd, UniCharIsAscii): Remember, the - NUL character is in ASCII too. [Bug 1808258] - - * doc/file.n: Clarified use of [file normalize]. [Bug 1185154] - -2007-10-30 Don Porter - - * generic/tcl.h: Bump version number to 8.5b2.1 to distinguish - * library/init.tcl: CVS development snapshots from the 8.5b2 - * unix/configure.in: release. - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf (2.59) - * win/configure: - -2007-10-30 Donal K. Fellows - - * doc/expr.n, doc/mathfunc.n: Improve documentation to try to make - clearer what is going on. - - * doc/interp.n: Shorten the basic descriptive text for some interp - subcommands so Solaris nroff doesn't truncate them. [Bug 1822268] - -2007-10-30 Donal K. Fellows - - * tools/tcltk-man2html.tcl (output-widget-options): Enhance the HTML - generator so that it can produce multi-line option descriptions. - -2007-10-28 Miguel Sofer - - * generic/tclUtil.c (Tcl_ConcatObj): optimise for some of the - concatenees being empty objs. [Bug 1447328] - -2007-10-28 Donal K. Fellows - - * generic/tclEncoding.c (TclInitEncodingSubsystem): Hard code the - iso8859-1 encoding, as it's needed for more than just text (especially - binary encodings...) Note that other encodings rely on the encoding - being a table encoding (!) so we can't use more efficient encoding - mapping functions. - -2007-10-27 Donal K. Fellows - - * generic/regc_lex.c (lexescape): Close off one of the problems - mentioned in [Bug 1810264]. - -2007-10-27 Miguel Sofer - - * generic/tclNamesp.c (Tcl_FindCommand): insure that FQ command names - are searched from the global namespace, ie, bypassing resolvers of the - current namespace. [Bug 1114355] - - * doc/apply.n: fixed example [Bug 1811791] - * doc/namespace.n: improved example [Bug 1788984] - * doc/AddErrInfo.3: typo [Bug 1715087] - * doc/CrtMathFnc.3: fixed Tcl_ListMathFuncs entry [Bug 1672219] - - * generic/tclCompile.h: - * generic/tclInt.h: moved declaration of TclSetCmdNameObj from - tclCompile.h to tclInt.h, reverting linker [Bug 1821159] caused by - commit of 2007-10-11 (both I and gcc missed one dep). - - * generic/tclVar.c: try to preserve Tcl_Objs when doing variable - lookups by name, partially addressing [Bug 1793601]. - -2007-10-27 Donal K. Fellows - - * tools/tcltk-man2html.tcl (make-man-pages, htmlize-text) - (process-text): Make the man->HTML scraper work better. - -2007-10-26 Don Porter - - *** 8.5b2 TAGGED FOR RELEASE *** - - * changes: Updated for 8.5b2 release. - - * doc/*.1: Revert doc changes that broke - * doc/*.3: `make html` so we can get the release - * doc/*.n: out the door. - - * README: Bump version number to 8.5b2. - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf (2.59) - * win/configure: - -2007-10-26 Donal K. Fellows - - * tools/man2help2.tcl, tools/man2tcl.c: Made some of the tooling code - to do man->other formats work better with current manpage set. Long - way still to go. - -2007-10-25 Zoran Vasiljevic - - * generic/tclThread.c: Added TclpMasterLock/Unlock arround calls to - ForgetSyncObject in Tcl_MutexFinalize and Tcl_ConditionFinalize to - prevent from garbling the internal lists that track sync objects. [Bug - 1726873] - -2007-10-24 Donal K. Fellows - - * tools/man2html2.tcl (macro): Added support for converting the new - macros into HTML. - - * doc/man.macros (QW,PQ,QR,MT): New macros that hide the ugly mess - needed to get proper GOOBE quoting in the manual pages. - * doc/*.n, doc/*.3, doc/*.1: Lots of changes to take advantage of the - new macros. - -2007-10-20 Miguel Sofer - - * generic/tclCompile.c: Fix comments. - * generic/tclExecute.c: - -2007-10-18 David Gravereaux - - * tools/mkdepend.tcl: sort the dep list for a more humanly readable - output. - -2007-10-18 Don Porter - - * generic/tclResult.c (TclMergeReturnOptions): Make sure any -code - values get pulled out of the dictionary, even if they are integer - valued. - - * generic/tclCompCmds.c (TclCompileReturnCmd): Added code to more - optimally compile [return -level 0 $x] to "push $x". [RFE 1794073] - - * compat/tmpnam.c (removed): The routine tmpnam() is no longer - * unix/Makefile.in: called by Tcl source code. Remove autogoo the - * unix/configure.in: supplied a replacement version on systems - * win/tcl.dsp: where the routine was not available. [RFE - 1811848] - - * unix/configure: autoconf-2.59 - - * generic/tcl.h: Remove TCL_LL_MODIFIER_SIZE. [RFE 1811837] - -2007-10-17 David Gravereaux - - * tools/mkdepend.tcl: Improved defense from malformed object list - infile. - -2007-10-17 Donal K. Fellows - - * tools/man2html2.tcl: Convert .DS/.DE into HTML tables, not - preformatted text. - -2007-10-17 Kevin B. Kenny - - * generic/tclCompExpr.c: Moved a misplaced declaration that blocked - compilation on VC++. - * generic/tclExecute.c: Silenced several VC++ compiler warnings about - converting 'long' to 'unsigned short'. - -2007-10-16 David Gravereaux - - * win/makefile.vc: removed old dependency cruft that is no longer - needed. - -2007-10-15 Don Porter - - * generic/tclIOCmd.c: Revise [open] so that it interprets leading - zero strings passed as the "permissions" argument as octal numbers, - even if Tcl itself no longer parses integers in that way. - - * unix/tclUnixFCmd.c: Revise the "-permissions" [file attribute] so - that it interprets leading zero strings as octal numbers, even if Tcl - itself no longer parses integers in that way. - - * generic/tclCompExpr.c: Corrections to code that produces - * generic/tclUtil.c: extended "bad octal" error messages. - - * tests/cmdAH.test: Test revisions so that tests pass whether or - * tests/cmdIL.test: not Tcl parses leading zero strings as octal. - * tests/compExpr-old.test: - * tests/compExpr.test: - * tests/compile.test: - * tests/expr-old.test: - * tests/expr.test: - * tests/incr.test: - * tests/io.test: - * tests/lindex.test: - * tests/link.test: - * tests/mathop.test: - * tests/parseExpr.test: - * tests/set.test: - * tests/string.test: - * tests/stringComp.test: - -2007-10-15 David Gravereaux - - * tools/mkdepend.tcl: Produces usable output. Include path problem - * win/makefile.vc: fixed. Never fight city hall when it comes to - levels of quoting issues. - -2007-10-15 Miguel Sofer - - * generic/tclParse.c (Tcl_ParseBraces): fix for possible read after - the end of buffer. [Bug 1813528] (Joe Mistachkin) - -2007-10-14 David Gravereaux - - * tools/mkdepend.tcl (new): Initial stab at generating automatic - * win/makefile.vc: dependencies. - -2007-10-12 Pat Thoyts - - * win/makefile.vc: Mine all version information from headers. - * win/rules.vc: Sync tcl and tk and bring extension versions - * win/nmakehlp.c: closer together. Try and avoid using tclsh to do - substitutions as we may cross compile. - * win/coffbase.txt: Added offsets for snack dlls. - -2007-10-11 David Gravereaux - - * win/makefile.vc: Fixed my bad spelling mistakes from years back. - Dedependency, duh! Rather funny. - -2007-10-11 Don Porter - - * generic/tclCmdMZ.c: Correct [string is (wide)integer] failure - * tests/string.test: to report correct failindex values for - non-decimal integer strings. [Bug 1805887] - - * compat/strtoll.c (removed): The routines strtoll() and strtoull() - * compat/strtoull.c (removed): are no longer called by the Tcl source - * generic/tcl.h: code. (Their functionality has been replaced - * unix/Makefile.in: by TclParseNumber().) Remove outdated comments - * unix/configure.in: and mountains of configury autogoo that - * unix/tclUnixPort.h: allegedly support the mythical systems where - * win/Makefile.in: these routines might not have been available. - * win/makefile.bc: - * win/makefile.vc: - * win/tclWinPort.h: - - * unix/configure: autoconf-2.59 - -2007-10-11 Miguel Sofer - - * generic/tclObj.c: remove superfluous #include of tclCompile.h - -2007-10-08 George Peter Staplin - - * doc/Hash.3: Correct the valid usage of the flags member for the - Tcl_HashKeyType. It should be 0 or more of the flags mentioned. - -2007-10-02 Jeff Hobbs - - * generic/tcl.h (Tcl_DecrRefCount): Update change from 2006-05-29 to - make macro more warning-robust in unbraced if code. - -2007-10-02 Don Porter - - [core-stabilizer-branch] - - * README: Bump version number to 8.5.0 - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf (2.59) - * win/configure: - -2007-10-02 Andreas Kupries - - * library/tclIndex: Added 'tcl::tm::path' to the tclIndex. This fixes - [Bug 1806422] reported by Don Porter. - -2007-09-25 Donal K. Fellows - - * generic/tclProc.c (Tcl_DisassembleObjCmd): Define a command, - ::tcl::unsupported::disassemble, which can disassemble procedures, - lambdas and general scripts. - * generic/tclCompile.c (TclDisassembleByteCodeObj): Split apart the - code to print disassemblies of bytecode so that there is reusable code - that spits it out in a Tcl_Obj and then that code is used when doing - tracing. - -2007-09-20 Don Porter - - *** 8.5b1 TAGGED FOR RELEASE *** - - * changes: updates for 8.5b1 release. - -2007-09-19 Don Porter - - * README: Bump version number to 8.5b1 - * generic/tcl.h: Merge from core-stabilizer-branch. - * library/init.tcl: Stabilizing toward 8.5b1 release now done on - * tools/tcl.wse.in: the HEAD. core-stabilizer-branch is now - * unix/configure.in: suspended. - * unix/tcl.spec: - * win/configure.in: - -2007-09-19 Pat Thoyts - - * generic/tclStubLib.: Replaced isdigit with internal implementation. - -2007-09-18 Don Porter - - * generic/tclStubLib.c: Remove C library calls from Tcl_InitStubs() so - * win/makefile.vc: that we don't need the C library linked in to - libtclStub. - -2007-09-17 Pat Thoyts - - * win/makefile.vc: Add crt flags for tclStubLib now it uses C-library - functions. - -2007-09-17 Joe English - - * tcl.m4: use '${CC} -shared' instead of 'ld -Bshareable' to build - shared libraries on current NetBSDs. [Bug 1749251] - * unix/configure: regenerated (autoconf-2.59). - -2007-09-17 Don Porter - - * unix/Makefile.in: Update `make dist` so that tclDTrace.d is - included in the source code distribution. - - * generic/tcl.h: Revised Tcl_InitStubs() to restore Tcl 8.4 - * generic/tclPkg.c: source compatibility with callers of - * generic/tclStubLib.c: Tcl_InitStubs(interp, TCL_VERSION, 1). [Bug - 1578344] - -2007-09-17 Donal K. Fellows - - * generic/tclTrace.c (Tcl_TraceObjCmd, TraceExecutionObjCmd) - (TraceCommandObjCmd, TraceVariableObjCmd): Generate literal values - * generic/tclNamesp.c (NamespaceCodeCmd): more efficiently using - * generic/tclFCmd.c (CopyRenameOneFile): TclNewLiteralStringObj - * generic/tclEvent.c (TclSetBgErrorHandler): macro. - -2007-09-15 Daniel Steffen - - * unix/tcl.m4: replace all direct references to compiler by ${CC} to - enable CC overriding at configure & make time; run - check for visibility "hidden" with all compilers; - quoting fixes from TEA tcl.m4. - (SunOS-5.1x): replace direct use of '/usr/ccs/bin/ld' in SHLIB_LD by - 'cc' compiler driver. - * unix/configure: autoconf-2.59 - -2007-09-14 Donal K. Fellows - - * generic/tclBasic.c (Tcl_CreateObjCommand): Only invalidate along the - namespace path once; that is enough. [Bug 1519940] - -2007-09-14 Daniel Steffen - - * generic/tclDTrace.d (new file): Add DTrace provider for Tcl; allows - * generic/tclCompile.h: tracing of proc and command entry & - * generic/tclBasic.c: return, bytecode execution, object - * generic/tclExecute.c: allocation and more; with - * generic/tclInt.h: essentially zero cost when tracing - * generic/tclObj.c: is inactive; enable with - * generic/tclProc.c: --enable-dtrace configure arg - * unix/Makefile.in: (disabled by default, will only - * unix/configure.in: enable if DTrace is present). [Patch - 1793984] - - * macosx/GNUmakefile: Enable DTrace support. - * macosx/Tcl-Common.xcconfig: - * macosx/Tcl.xcodeproj/project.pbxproj: - - * generic/tclCmdIL.c: Factor out core of InfoFrameCmd() into - internal TclInfoFrame() for use by DTrace - probes. - - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - -2007-09-12 Don Porter - - * unix/Makefile.in: Perform missing updates of the tcltest Tcl - * win/Makefile.in: Module installed filename that should have - been part of the bump to tcltest 2.3b1. Thanks Larry Virden. - -2007-09-12 Pat Thoyts - - * win/makefile.vc, win/rules.vc, win/nmakehlp.c: Use nmakehlp to - substitute values for tclConfig.sh (helps cross-compiling). - -2007-09-11 Don Porter - - * library/tcltest/tcltest.tcl: Accept underscores and colons in - * library/tcltest/pkgIndex.tcl: constraint names. Properly handle - constraint expressions that return non-numeric boolean results like - "false". Bump to tcltest 2.3b1. [Bug 1772989; RFE 1071322] - * tests/info.test: Disable fragile tests. - - * doc/package.n: Restored the functioning of [package require - * generic/tclPkg.c: -exact] to be compatible with Tcl 8.4. [Bug - * tests/pkg.test: 1578344] - -2007-09-11 Miguel Sofer - - * generic/tclCompCmds.c (TclCompileDictCmd-update): - * generic/tclCompile.c (tclInstructionTable): - * generic/tclExecute.c (INST_DICT_UPDATE_END): fix stack management in - compiled [dict update]. [Bug 1786481] - - ***POTENTIAL INCOMPATIBILITY*** - Scripts that were precompiled on earlier versions of 8.5 and use [dict - update] will crash. Workaround: recompile. - -2007-09-11 Kevin B. Kenny - - * generic/tclExecute.c: Corrected an off-by-one error in the setting - of MaxBaseWide for certain powers. [Bug 1767293 - problem reported in - comments when bug was reopened] - -2007-09-10 Jeff Hobbs - - * generic/tclLink.c (Tcl_UpdateLinkedVar): guard against var being - unlinked. [Bug 1740631] (maros) - -2007-09-10 Miguel Sofer - - * generic/tclCompile.c: fix tclInstructionTable entry for - dictUpdateEnd - - * generic/tclExecute.c: remove unneeded setting of 'cleanup' variable - before jumping to checkForCatch. - -2007-09-10 Don Porter - - * doc/package.n: Restored the document parallel syntax of the - * generic/tclPkg.c: [package present] and [package require] - * tests/pkg.test: commands. [Bug 1723675] - -2007-09-09 Don Porter - - * generic/tclInt.h: Removed the "nsName" Tcl_ObjType from the - * generic/tclNamesp.c: registered set. Revised the management of the - * generic/tclObj.c: intrep of that Tcl_ObjType. Revised the - * tests/obj.test: TclGetNamespaceFromObj() routine to return - TCL_ERROR and write a consistent error message when a namespace is not - found. [Bug 1588842. Patch 1686862] - - ***POTENTIAL INCOMPATIBILITY*** - For callers of Tcl_GetObjType() on the name "nsName". - - * generic/tclExecute.c: Update TclGetNamespaceFromObj() callers. - * generic/tclProc.c: - - * tests/apply.test: Updated tests to expect new consistent - * tests/namespace-old.test: error message when a namespace is not - * tests/namespace.test: found. - * tests/upvar.test: - - * generic/tclCompCmds.c: Use the new INST_REVERSE instruction - * tests/mathop.test: to correct the compiled versions of math - operator commands. [Bug 1724437] - - * generic/tclCompile.c: New bytecode instruction INST_REVERSE to - * generic/tclCompile.h: reverse the order of N items at the top of - * generic/tclExecute.c: stack. - - * generic/tclCompCmds.c (TclCompilePowOpCmd): Make a separate - routine to compile ** to account for its different associativity. - -2007-09-08 Miguel Sofer - - * generic/tclVar.c (Tcl_SetVar2, TclPtrSetVar): [Bug 1710710] fixed - correctly, reverted fix of 2007-05-01. - -2007-09-08 Donal K. Fellows - - * generic/tclDictObj.c (DictUpdateCmd, DictWithCmd): Plug a hole that - * generic/tclExecute.c (TEBC,INST_DICT_UPDATE_END): allowed a careful - * tests/dict.test (dict-21.16,21.17,22.11): attacker to craft a dict - containing a recursive link to itself, violating one of Tcl's - fundamental datatype assumptions and causing a stack crash when the - dict was converted to a string. [Bug 1786481] - -2007-09-07 Don Porter - - * generic/tclEvent.c ([::tcl::Bgerror]): Corrections to Tcl's - * tests/event.test: default [interp bgerror] handler so that when - it falls back to a hidden [bgerror] in a safe interp, it gets the - right error context data. [Bug 1790274] - -2007-09-07 Miguel Sofer - - * generic/tclProc.c (TclInitCompiledLocals): the refCount of resolved - variables was being managed without checking if they were Var or - VarInHash: itcl [Bug 1790184] - -2007-09-06 Don Porter - - * generic/tclResult.c (Tcl_GetReturnOptions): Take care that a - * tests/init.test: non-TCL_ERROR code doesn't cause existing - -errorinfo, -errorcode, and -errorline entries to be omitted. - * generic/tclEvent.c: With -errorInfo no longer lost, generate more - complete ::errorInfo when calling [bgerror] after a non-TCL_ERROR - background exception. - -2007-09-06 Don Porter - - * generic/tclInterp.c (Tcl_Init): Removed constraint on ability - to define a custom [tclInit] before calling Tcl_Init(). Until now the - custom command had to be a proc. Now it can be any command. - - * generic/tclInt.decls: New internal routine TclBackgroundException() - * generic/tclEvent.c: that for the first time permits non-TCL_ERROR - exceptions to trigger [interp bgerror] handling. Closes a gap in TIP - 221. When falling back to [bgerror] (which is designed only to handle - TCL_ERROR), convert exceptions into errors complaining about the - exception. - - * generic/tclInterp.c: Convert Tcl_BackgroundError() callers to call - * generic/tclIO.c: TclBackgroundException(). - * generic/tclIOCmd.c: - * generic/tclTimer.c: - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - -2007-09-06 Daniel Steffen - - * macosx/Tcl.xcode/project.pbxproj: discontinue unmaintained support - * macosx/Tcl.xcode/default.pbxuser: for Xcode 1.5; replace by Xcode2 - project for use on Tiger (with Tcl.xcodeproj to be used on Leopard). - - * macosx/Tcl.xcodeproj/project.pbxproj: updates for Xcode 2.5 and 3.0. - * macosx/Tcl.xcodeproj/default.pbxuser: - * macosx/Tcl.xcode/project.pbxproj: - * macosx/Tcl.xcode/default.pbxuser: - * macosx/Tcl-Common.xcconfig: - - * macosx/README: document project changes. - -2007-09-05 Don Porter - - * generic/tclBasic.c: Removed support for the unmaintained - * generic/tclExecute.c: -DTCL_GENERIC_ONLY configuration. [Bug - * unix/Makefile.in: 1264623] - -2007-09-04 Don Porter - - * unix/Makefile.in: It's unreliable to count on the release - manager to remember to `make genstubs` before `make dist`. Let the - Makefile remember the dependency for us. - - * unix/Makefile.in: Corrections to `make dist` dependencies to be - sure that macosx/configure gets generated whenever it does not exist. - -2007-09-03 Kevin B, Kenny - - * library/tzdata/Africa/Cairo: - * library/tzdata/America/Grand_Turk: - * library/tzdata/America/Port-au-Prince: - * library/tzdata/America/Indiana/Petersburg: - * library/tzdata/America/Indiana/Tell_City: - * library/tzdata/America/Indiana/Vincennes: - * library/tzdata/Antarctica/McMurdo: - * library/tzdata/Australia/Adelaide: - * library/tzdata/Australia/Broken_Hill: - * library/tzdata/Australia/Currie: - * library/tzdata/Australia/Hobart: - * library/tzdata/Australia/Lord_Howe: - * library/tzdata/Australia/Melbourne: - * library/tzdata/Australia/Sydney: - * library/tzdata/Pacific/Auckland: - * library/tzdata/Pacific/Chatham: Olson's tzdata2007g. - - * generic/tclListObj.c (TclLindexFlat): - * tests/lindex.test (lindex-17.[01]): Added code to detect the error - when a script does [lindex {} end foo]; an overaggressive optimisation - caused this call to return an empty object rather than an error. - -2007-09-03 Daniel Steffen - - * generic/tclObj.c (TclInitObjSubsystem): restore registration of the - "wideInt" Tcl_ObjType for compatibility with 8.4 extensions that - access the tclWideIntType Tcl_ObjType; add setFromAnyProc for - tclWideIntType. - -2007-09-02 Donal K. Fellows - - * doc/lsearch.n: Added note that order of results with the -all option - is that of the input list. It always was, but this makes it crystal. - -2007-08-30 Don Porter - - * generic/tclCompile.c: Added fflush() calls following all callers of - * generic/tclExecute.c: TclPrintByteCodeObj() so that tcl_traceCompile - output is less likely to get mangled when writes to stdout interleave - with other code. - -2007-08-28 Don Porter - - * generic/tclCompExpr.c: Use a table lookup in ParseLexeme() to - determine lexemes with single-byte representations. - - * generic/tclBasic.c: Used unions to better clarify overloading of - * generic/tclCompExpr.c: the fields of the OpCmdInfo and - * generic/tclCompile.h: TclOpCmdClientData structs. - -2007-08-27 Don Porter - - * generic/tclCompExpr.c: Call TclCompileSyntaxError() when - expression syntax errors are found when compiling expressions. With - this in place, convert TclCompileExpr to return void, since there's no - longer any need to report TCL_ERROR. - * generic/tclCompile.c: Update callers. - * generic/tclExecute.c: - - * generic/tclCompCmds.c: New routine TclCompileSyntaxError() - * generic/tclCompile.h: to directly compile bytecodes that report a - * generic/tclCompile.c: syntax error, rather than (ab)use a call to - TclCompileReturnCmd. Also, undo the most recent commit that papered - over some issues with that (ab)use. New routine produces a new opcode - INST_SYNTAX, which is a minor variation of INST_RETURN_IMM. Also a bit - of constification. - - * generic/tclCompile.c: Move the deallocation of local LiteralTable - * generic/tclCompExpr.c: entries into TclFreeCompileEnv(). - * generic/tclExecute.c: Update callers. - - * generic/tclCompExpr.c: Force numeric and boolean literals in - expressions to register with their intreps intact, even if that means - overwriting existing intreps in already registered literals. - -2007-08-25 Kevin B. Kenny - - * generic/tclExecute.c (TclExecuteByteCode): Added code to handle - * tests/expr.test (expr-23.48-53) integer exponentiation - that results in 32- and 64-bit integer results, avoiding calls to wide - integer exponentiation routines in this common case. [Bug 1767293] - - * library/clock.tcl (ParseClockScanFormat): Modified code to allow - * tests/clock.test (clock-60.*): case-insensitive matching - of time zone and month names. [Bug 1781282] - -2007-08-24 Don Porter - - * generic/tclCompExpr.c: Register literals found in expressions - * tests/compExpr.test: to restore literal sharing. Preserve numeric - intreps when literals are created for the first time. Correct memleak - in ExecConstantExprTree() and add test for the leak. - -2007-08-24 Miguel Sofer - - * generic/tclCompile.c: replaced copy loop that tripped some compilers - with memmove. [Bug 1780870] - -2007-08-23 Don Porter - - * library/init.tcl ([auto_load_index]): Delete stray "]" that created - an expr syntax error (masked by a [catch]). - - * generic/tclCompCmds.c (TclCompileReturnCmd): Added crash protection - to handle callers other than TclCompileScript() failing to meet the - initialization assumptions of the TIP 280 code in CompileWord(). - - * generic/tclCompExpr.c: Suppress the attempt to convert to - numeric when precompiling a constant expression indicates an error. - -2007-08-22 Miguel Sofer - - * generic/tclExecute.c (TEBC): disable the new shortcut to frequent - INSTs for debug builds. REVERTED (collision with alternative fix) - -2007-08-21 Don Porter - - * generic/tclMain.c: Corrected the logic of dropping the last - * tests/main.test: newline from an interactively typed command. - [Bug 1775878] - -2007-08-21 Pat Thoyts - - * tests/thread.test: thread-4.4: clear ::errorInfo in the thread as a - message is left here from init.tcl on windows due to no tcl_pkgPath. - -2007-08-20 Miguel Sofer - - * generic/tclExecute.c (INST_SUB): fix usage of the new macro for - overflow detection in sums, adapt to subtraction. Lengthy comment - added. - -2007-08-19 Donal K. Fellows - - * generic/tclExecute.c (Overflowing, TclIncrObj, TclExecuteByteCode): - Encapsulate Miguel's last change in a more mnemonic macro. - -2007-08-19 Miguel Sofer - - * generic/tclExecute.c: changed the check for overflow in sums, - reducing objsize, number of branches and cache misses (according to - cachegrind). Non-overflow for s=a+b: - previous - ((a >= 0 || b >= 0 || s < 0) && (s >= 0 || b < 0 || a < 0)) - now - (((a^s) >= 0) || ((a^b) < 0)) - This expresses: "a and s have the same sign or else a and b have - different sign". - -2007-08-19 Donal K. Fellows - - * doc/interp.n (RESOURCE LIMITS): Added text to better explain why - time limits are described using absolute times. [Bug 1752148] - -2007-08-16 Miguel Sofer - - * generic/tclVar.c: improved localVarNameType caching to leverage - the new availability of Tcl_Obj in variable names, avoiding string - comparisons to verify that the cached value is usable. - - * generic/tclExecute.c: check the two most frequent instructions - before the switch. Reduces both runtime and obj size a tiny bit. - -2007-08-16 Don Porter - - * generic/tclCompExpr.c: Added a "constant" field to the OpNode - struct (again "free" due to alignment requirements) to mark those - subexpressions that are completely known at compile time. Enhanced - CompileExprTree() and its callers to precompute these constant - subexpressions at compile time. This resolves the issue raised in [Bug - 1564517]. - -2007-08-15 Donal K. Fellows - - * generic/tclIOUtil.c (TclGetOpenModeEx): Only set the O_APPEND flag - * tests/ioUtil.test (ioUtil-4.1): on a channel for the 'a' - mode and not for 'a+'. [Bug 1773127] - -2007-08-14 Miguel Sofer - - * generic/tclExecute.c (INST_INVOKE*): peephole opt, do not get the - interp's result if it will be pushed/popped. - -2007-08-14 Don Porter - - * generic/tclBasic.c: Use fully qualified variable names for - * tests/thread.test: ::errorInfo and ::errorCode so that string - * tests/trace.test: reported to variable traces are fully - qualified in agreement with Tcl 8.4 operations. - -2007-08-14 Daniel Steffen - - * unix/tclLoadDyld.c: use dlfcn API on Mac OS X 10.4 and later; fix - issues with loading from memory on intel and 64bit; add debug messages - - * tests/load.test: add test load-10.1 for loading from vfs. - - * unix/dltest/pkga.c: whitespace & comment cleanup, remove - * unix/dltest/pkgb.c: unused pkgf.c. - * unix/dltest/pkgc.c: - * unix/dltest/pkge.c: - * unix/dltest/pkgf.c (removed): - * unix/dltest/pkgua.c: - * macosx/Tcl.xcodeproj/project.pbxproj: - -2007-08-13 Don Porter - - * generic/tclExecute.c: Provide DECACHE/CACHE protection to the - * tests/trace.test: Tcl_LogCommandInfo() call. [Bug 1773040] - -2007-08-12 Miguel Sofer - - * generic/tclCmdMZ.c (Tcl_SplitObjCmd): use TclNewStringObj macro - instead of calling the function. - - * generic/tcl_Obj.c (TclAllocateFreeObjects): remove unneeded memset - to 0 of all allocated objects. - -2007-08-10 Miguel Sofer - - * generic/tclInt.h: remove redundant ops in TclNewStringObj macro. - -2007-08-10 Miguel Sofer - - * generic/tclInt.h: fix the TclSetVarNamespaceVar macro, was causing a - leak. - -2007-08-10 Don Porter - - * generic/tclCompExpr.c: Revise CompileExprTree() to use the - OpNode mark field scheme of tree traversal. This eliminates the need - to use magic values in the left and right fields for that purpose. - Also stop abusing the left field within ParseExpr() to store the - number of arguments in a parsed function call. CompileExprTree() now - determines that for itself at compile time. Then reorder code to - eliminate duplication. - -2007-08-09 Miguel Sofer - - * generic/tclProc.c (TclCreateProc): better comments on the required - varflag values when loading precompiled procs. - - * generic/tclExecute.c (INST_STORE_ARRAY): - * tests/trace.test (trace-2.6): whole array write traces on compiled - local variables were not firing. [Bug 1770591] - -2007-08-08 Jeff Hobbs - - * generic/tclProc.c (InitLocalCache): reference firstLocalPtr via - procPtr. codePtr->procPtr == NULL exposed by tbcload. - -2007-08-08 Don Porter - - * generic/tclExecute.c: Corrected failure to compile/link in the - -DNO_WIDE_TYPE configuration. - - * generic/tclExecute.c: Corrected improper use of bignum arguments to - * tests/expr.test: *SHIFT operations. [Bug 1770224] - -2007-08-07 Miguel Sofer - - * generic/tclInt.h: remove comments refering to VAR_SCALAR, as that - flag bit does not exist any longer. - * generic/tclProc.c (InitCompiledLocals): removed optimisation for - non-resolved case, as the function is never called in that case. - Renamed the function to InitResolvedLocals to calrify the point. - - * generic/tclInt.decls: Exporting via stubs to help xotcl adapt to - * generic/tclInt.h: VarReform. - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - -2007-08-07 Daniel Steffen - - * generic/tclEnv.c: improve environ handling on Mac OS X (adapted - * unix/tclUnixPort.h: from Apple changes in Darwin tcl-64). - - * unix/Makefile.in: add support for compile flags specific to - object files linked directly into executables. - - * unix/configure.in (Darwin): only use -seg1addr flag when prebinding; - use -mdynamic-no-pic flag for object files linked directly into exes; - support overriding TCL_PACKAGE_PATH/TCL_MODULE_PATH in environment. - - * unix/configure: autoconf-2.59 - -2007-08-06 Don Porter - - * tests/parseExpr.test: Update source file name of expr parser code. - - * generic/tclCompExpr.c: Added a "mark" field to the OpNode - struct, which is used to guide tree traversal. This field costs - nothing since alignement requirements used the memory already. - Rewrote ConvertTreeToTokens() to use the new field, which permitted - consolidation of utility routines CopyTokens() and - GenerateTokensForLiteral(). - -2007-08-06 Kevin B. Kenny - - * generic/tclGetDate.y: Added a cast to the definition of YYFREE to - silence compiler warnings. - * generic/tclDate.c: Regenerated - * win/tclWinTest.c: Added a cast to GetSecurityDescriptorDacl call - to silence compiler warnings. - -2007-08-04 Miguel Sofer - - * generic/tclInt.decls: Exporting via stubs to help itcl adapt to - * generic/tclInt.h: VarReform. Added localCache initialization - * generic/tclIntDecls.h: to TclInitCompiledLocals (which only exists - * generic/tclProc.c: for itcl). - * generic/tclStubInit.c: - * generic/tclVar.c: - -2007-08-01 Donal K. Fellows - - * library/word.tcl: Rewrote for greater efficiency. [Bug 1764318] - -2007-08-01 Pat Thoyts - - * generic/tclInt.h: Added a TclOffset macro ala Tk_Offset to - * generic/tclVar.c: abstract out 'offsetof' which may not be - * generic/tclExceute.c: defined (eg: msvc6). - -2007-08-01 Miguel Sofer - - * generic/tclVar.c (TclCleanupVar): fix [Bug 1765225], thx Larry - Virden. - -2007-07-31 Miguel Sofer - - * doc/Hash.3: - * generic/tclHash.c: - * generic/tclObj.c: - * generic/tclThreadStorage.c: (changes part of the patch below) - Stop Tcl_CreateHashVar from resetting hPtr->clientData to NULL after - calling the allocEntryProc for a custom table. - - * generic/tcl.h: - * generic/tclBasic.c: - * generic/tclCmdIL.c: - * generic/tclCompCmds.c: - * generic/tclCompile.c: - * generic/tclCompile.h: - * generic/tclExecute.c: - * generic/tclHash.c: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclLiteral.c: - * generic/tclNamesp.c: - * generic/tclObj.c: - * generic/tclProc.c: - * generic/tclThreadStorage.c: - * generic/tclTrace.c: - * generic/tclVar.c: VarReform [Patch 1750051] - - *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h) - Extensions that access internals defined in tclInt.h and/or - tclCompile.h may lose both binary and source compatibility. The - relevant changes are: - 1. 'struct Var' is completely changed, all acceses to its internals - (either direct or via the TclSetVar* and TclIsVar* macros) will - malfunction. Var flag values and semantics changed too. - 2. 'struct Bytecode' has an additional field that has to be - initialised to NULL - 3. 'struct Namespace' is larger, as the varTable is now one pointer - larger than a Tcl_HashTable. Direct access to its fields will - malfunction. - 4. 'struct CallFrame' grew one more field (the second such growth with - respect to Tcl8.4). - 5. API change for the functions TclFindCompiledLocal, TclDeleteVars - and many internal functions in tclVar.c - - Additionally, direct access to variable hash tables via the standard - Tcl_Hash* interface is to be considered as deprecated. It still works - in the present version, but will be broken by further specialisation - of these hash tables. This concerns especially the table of array - elements in an array, as well as the varTable field in the Namespace - struct. - -2007-07-31 Miguel Sofer - - * unix/configure.in: allow use of 'inline' in Tcl sources. [Patch - * win/configure.in: 1754128] - * win/makefile.vc: Regen with autoconf 2.61 - -2007-07-31 Donal K. Fellows - - * unix/tclUnixInit.c (TclpSetVariables): Use the thread-safe getpwuid - replacement to fill the tcl_platform(user) field as it is not subject - to spoofing. [Bug 681877] - - * unix/tclUnixCompat.c: Simplify the #ifdef logic. - - * unix/tclUnixChan.c (FileWatchProc): Fix test failures. - -2007-07-30 Donal K. Fellows - - * unix/tclUnixChan.c (SET_BITS, CLEAR_BITS): Added macros to make this - file clearer. - -2007-07-24 Miguel Sofer - - * generic/tclBasic.c (TEOvI, GetCommandSource): - * generic/tclExecute.c (TEBC, TclGetSrcInfoForCmd): - * generic/tclInt.h: - * generic/tclTrace.c (TclCheck(Interp|Execution)Traces): - Removed the need for TEBC to inspect the command before calling TEOvI, - leveraging the TIP 280 infrastructure. Moved the generation of a - correct nul-terminated command string away from the trace code, back - into TEOvI/GetCommandSource. - -2007-07-20 Andreas Kupries - - * library/platform/platform.tcl: Fixed bug in 'platform::patterns' - * library/platform/pkgIndex.tcl: where identifiers not matching - * unix/Makefile.in: the special linux and solaris forms would not - * win/Makefile.in: get 'tcl' as an acceptable platform added to - * doc/platform.n: the result. Bumped package to version 1.0.3 and - * doc/platform_shell.n: updated documentation and Makefiles. Also - fixed bad version info in the documentation of platform::shell. - -2007-07-19 Don Porter - - * generic/tclParse.c: In contexts where interp and parsePtr->interp - might be different, be sure to use the latter for error reporting. - Also pulled the interp argument back out of ParseTokens() since we - already had a parsePtr->interp to work with. - -2007-07-18 Don Porter - - * generic/tclCompExpr.c: Removed unused arguments and variables - -2007-07-17 Don Porter - - * generic/tclCompExpr.c (ParseExpr): While adding comments to - explain the operations of ParseExpr(), made significant revisions to - the code so it would be easier to explain, and in the process made the - code simpler and clearer as well. - -2007-07-15 Don Porter - - * generic/tclCompExpr.c: More commentary. - * tests/parseExpr.test: Several tests of syntax error messages - to check that when expression substrings are truncated they leave - visible the context relevant to the reported error. - -2007-07-12 Don Porter - - * generic/tclCompExpr.c: Factored out, corrected, and commented - common code for reporting syntax errors in LEAF elements. - -2007-07-11 Miguel Sofer - - * generic/tclCompCmds.c (TclCompileWhileCmd): - * generic/tclCompile.c (TclCompileScript): - Corrected faulty avoidance of INST_START_CMD when the first opcode in - a script is within a loop (as produced by 'while 1'), so that the - corresponding command is properly counted. [Bug 1752146] - -2007-07-11 Don Porter - - * generic/tclCompExpr.c: Added a "parseOnly" flag argument to - ParseExpr() to indicate whether the caller is Tcl_ParseExpr(), with an - end goal of filling a Tcl_Parse with Tcl_Tokens representing the - parsed expression, or TclCompileExpr() with the goal of compiling and - executing the expression. In the latter case, more aggressive - conversion of QUOTED and BRACED lexeme to literals is done. In the - former case, all such conversion is avoided, since Tcl_Token - production would revert it anyway. This enables simplifications to the - GenerateTokensForLiteral() routine as well. - -2007-07-10 Don Porter - - * generic/tclCompExpr.c: Added a field for operator precedence - to be stored directly in the parse tree. There's no memory cost to - this addition, since that memory would have been lost to alignment - issues anyway. Also, converted precedence definitions and lookup - tables to use symbolic constants instead of raw number for improved - readability, and continued extending/improving/correcting comments. - Removed some unused counter variables. Renamed some variables for - clarity and replaced some cryptic logic with more readable macros. - -2007-07-09 Don Porter - - * generic/tclCompExpr.c: Revision so that the END lexeme never - gets inserted into the parse tree. Later tree traversal never reaches - it since its location in the tree is not variable. Starting and - stopping with the START lexeme (node 0) is sufficient. Also finished - lexeme code commentary. - - * generic/tclCompExpr.c: Added missing creation and return of - the Tcl_Parse fields that indicate error conditions. [Bug 1749987] - -2007-07-05 Don Porter - - * library/init.tcl (unknown): Corrected inconsistent error message - in interactive [unknown] when empty command is invoked. [Bug 1743676] - -2007-07-05 Miguel Sofer - - * generic/tclNamesp.c (SetNsNameFromAny): - * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary - ckfree/ckalloc when the old structs can be reused. - -2007-07-04 Miguel Sofer - - * generic/tclNamesp.c: Fix case where a FQ cmd or ns was being cached - * generic/tclObj.c: in a different interp, tkcon. [Bug 1747512] - -2007-07-03 Don Porter - - * generic/tclCompExpr.c: Revised #define values so that there - is now more expansion room to define more BINARY operators. - -2007-07-02 Donal K. Fellows - - * generic/tclHash.c (CompareStringKeys): Always use the strcmp() - version; the operation is functionally equivalent, the speed is - identical (up to measurement limitations), and yet the code is - simpler. [FRQ 951168] - -2007-07-02 Don Porter - - * generic/tcl.h: Removed TCL_PRESERVE_BINARY_COMPATIBILITY and - * generic/tclHash.c: any code enabled when it is set to 0. We will - * generic/tclStubInit.c: always want to preserve binary compat - of the structs that appear in the interface through the 8.* series of - releases, so it's pointless to drag around this never-enabled - alternative. - - * generic/tclIO.c: Removed dead code. - * unix/tclUnixChan.c: - - * generic/tclCompExpr.c: Removed dead code, old implementations - * generic/tclEvent.c: of expr parsing and compiling, including the - * generic/tclInt.h: routine TclFinalizeCompilation(). - -2007-06-30 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Plug a memory leak caused by a - missing Tcl_DecrRefCount on an error path. [Bug 1717186] - -2007-06-30 Zoran Vasiljevic - - * generic/tclThread.c: Prevent RemeberSyncObj() from growing the sync - object lists by reusing already free'd slots, if possible. See - discussion on Bug 1726873 for more information. - -2007-06-29 Donal K. Fellows - - * doc/DictObj.3 (Tcl_DictObjDone): Improved documentation of this - function to make it clearer how to use it. [Bug 1710795] - -2007-06-29 Daniel Steffen - - * generic/tclAlloc.c: on Darwin, ensure memory allocated by - * generic/tclThreadAlloc.c: the custom TclpAlloc()s is aligned to - 16 byte boundaries (as is the case with the Darwin system malloc). - - * generic/tclGetDate.y: use ckalloc/ckfree instead of malloc/free. - * generic/tclDate.c: bison 1.875e - - * generic/tclBasic.c (TclEvalEx): fix warnings. - - * macosx/Tcl.xcodeproj/project.pbxproj: better support for renamed tcl - * macosx/Tcl.xcodeproj/default.pbxuser: source dir; add 10.5 SDK build - * macosx/Tcl-Common.xcconfig: config; remove tclMathOp.c. - - * macosx/README: document Tcl.xcodeproj changes. - -2007-06-28 Don Porter - - * generic/tclBasic.c: Removed dead code, including the - * generic/tclExecute.c: entire file tclMathOp.c. - * generic/tclInt.h: - * generic/tclMathOp.c (removed): - * generic/tclTestObj.c: - * win/tclWinFile.c: - - * unix/Makefile.in: Updated to reflect deletion of tclMathOp.c. - * win/Makefile.in: - * win/makefile.bc: - * win/makefile.vc: - -2007-06-28 Pat Thoyts - - * generic/tclBasic.c: Silence constness warnings for TclStackFree - * generic/tclCompCmds.c: when building with msvc. - * generic/tclFCmd.c: - * generic/tclIOCmd.c: - * generic/tclTrace.c: - -2007-06-28 Miguel Sofer - - * generic/tclVar.c (UnsetVarStruct): fix possible segfault. - -2007-06-27 Don Porter - - * generic/tclTrace.c: Corrected broken trace reversal logic in - * generic/tclTest.c: TclCheckInterpTraces that led to infinite loop - * tests/trace.test: when multiple Tcl_CreateTrace traces were set - and one of them did not fire due to level restrictions. [Bug 1743931] - -2007-06-26 Don Porter - - * generic/tclBasic.c (TclEvalEx): Moved some arrays from the C - stack to the Tcl stack. - -2007-06-26 Miguel Sofer - - * generic/tclVar.c (UnsetVarStruct): more streamlining. - -2007-06-25 Don Porter - - * generic/tclExecute.c: Safety checks to avoid crashes in the - TclStack* routines when called with an incompletely initialized - interp. [Bug 1743302] - -2007-06-25 Miguel Sofer - - * generic/tclVar.c (UnsetVarStruct): fixing incomplete change, more - streamlining. - -2007-06-24 Miguel Sofer - - * generic/tclVar.c (TclDeleteCompiledLocalVars): removed inlining that - ended up not really optimising (limited benchmarks). Now calling - UnsetVarStruct (streamlined old code is #ifdef'ed out, in case better - benchmarks do show a difference). - - * generic/tclVar.c (UnsetVarStruct): fixed a leak introduced in last - commit. - -2007-06-23 Miguel Sofer - - * generic/tclVar.c (UnsetVarStruct, TclDeleteVars): made the logic - slightly clearer, eliminated some duplicated code. - - *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and Var struct users) - The core never builds VAR_LINK variable to have traces. Such a - "monster", should one exist, will now have its unset traces called - *before* it is unlinked. - -2007-06-23 Daniel Steffen - - * macosx/tclMacOSXNotify.c (AtForkChild): don't call CoreFoundation - APIs after fork() on systems where that would lead to an abort(). - -2007-06-22 Don Porter - - * generic/tclExecute.c: Revised TclStackRealloc() signature to better - * generic/tclInt.h: parallel (and fall back on) Tcl_Realloc. - - * generic/tclNamesp.c (TclResetShadowesCmdRefs): Replaced - ckrealloc based allocations with TclStackRealloc allocations. - - * generic/tclCmdIL.c: More conversions to use TclStackAlloc. - * generic/tclScan.c: - -2007-06-21 Don Porter - - * generic/tclBasic.c: Move most instances of the Tcl_Parse struct - * generic/tclCompExpr.c: off the C stack and onto the Tcl stack. This - * generic/tclCompile.c: is a rather large struct (> 3kB). - * generic/tclParse.c: - -2007-06-21 Miguel Sofer - - * generic/tclBasic.c (TEOvI): Made sure that leave traces - * generic/tclExecute.c (INST_INVOKE): that were created during - * tests/trace.test (trace-36.2): execution of an originally - untraced command do not fire [Bug 1740962], partial fix. - -2007-06-21 Donal K. Fellows - - * generic/tcl.h, generic/tclCompile.h, generic/tclCompile.c: Remove - references in comments to obsolete {expand} notation. [Bug 1740859] - -2007-06-20 Miguel Sofer - - * generic/tclVar.c: streamline namespace vars deletion: only compute - the variable's full name if the variable is traced. - -2007-06-20 Don Porter - - * generic/tclInt.decls: Revised the interfaces of the routines - * generic/tclExecute.c: TclStackAlloc and TclStackFree to make them - easier for callers to use (or more precisely, harder to misuse). - TclStackFree now takes a (void *) argument which is the pointer - intended to be freed. TclStackFree will panic if that's not actually - the memory the call will free. TSA/TSF also now tolerate receiving - (interp == NULL), in which case they simply fall back to be calls to - Tcl_Alloc/Tcl_Free. - - * generic/tclIntDecls.h: make genstubs - - * generic/tclBasic.c: Updated callers - * generic/tclCmdAH.c: - * generic/tclCmdIL.c: - * generic/tclCompCmds.c: - * generic/tclCompExpr.c: - * generic/tclCompile.c: - * generic/tclFCmd.c: - * generic/tclFileName.c: - * generic/tclIOCmd.c: - * generic/tclIndexObj.c: - * generic/tclInterp.c: - * generic/tclNamesp.c: - * generic/tclProc.c: - * generic/tclTrace.c: - * unix/tclUnixPipe.c: - -2007-06-20 Jeff Hobbs - - * tools/tcltk-man2html.tcl: revamp of html doc output to use CSS, - standardized headers, subheaders, dictionary sorting of names. - -2007-06-18 Jeff Hobbs - - * tools/tcltk-man2html.tcl: clean up copyright merging and output. - clean up coding constructs. - -2007-06-18 Miguel Sofer - - * generic/tclCmdIL.c (InfoFrameCmd): - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): - * generic/tclCompile.c (TclInitCompileEnv): - * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Moved the - CmdFrame off the C stack and onto the Tcl stack. - - * generic/tclExecute.c (TEBC): Moved the CmdFrame off the C stack and - onto the Tcl stack, between the catch and the execution stacks - -2007-06-18 Don Porter - - * generic/tclBasic.c (TclEvalEx,TclEvalObjEx): Moved the CmdFrame off - the C stack and onto the Tcl stack. - -2007-06-17 Donal K. Fellows - - * generic/tclProc.c (TclObjInterpProcCore): Minor fixes to make - * generic/tclExecute.c (TclExecuteByteCode): compilation debugging - builds work again. [Bug 1738542] - -2007-06-16 Donal K. Fellows - - * generic/tclProc.c (TclObjInterpProcCore): Use switch instead of a - chain of if's for a modest performance gain and a little more clarity. - -2007-06-15 Miguel Sofer - - * generic/tclCompCmds.c: Simplified [variable] compiler and executor. - * generic/tclExecute.c: Missed updates to "there is always a valid - frame". - - * generic/tclCompile.c: reverted TclEvalObjvInternal and INST_INVOKE - * generic/tclExecute.c: to essentially what they were previous to the - * generic/tclBasic.c: commit of 2007-04-03 [Patch 1693802] and the - subsequent optimisations, as they break the new trace tests described - below. - - * generic/trace.test: added tests 36 to 38 for dynamic trace creation - and addition. These tests expose a change in dynamics due to a recent - round of optimisations. The "correct" behaviour is not described in - docs nor TIP 62. - -2007-06-14 Miguel Sofer - - * generic/tclInt.decls: Modif to the internals of TclObjInterpProc - * generic/tclInt.h: to reduce stack consumption and improve task - * generic/tclIntDecls.h: separation. Changes the interface of - * generic/tclProc.c: TclObjInterpProcCore (patching TclOO - simultaneously). - - * generic/tclProc.c (TclObjInterpProcCore): simplified obj management - in wrongNumArgs calls. - -2007-06-14 Don Porter - - * generic/tclCompile.c: SetByteCodeFromAny() can no longer return any - * generic/tclExecute.c: code other than TCL_OK, so remove code that - * generic/tclProc.c: formerly handled exceptional codes. - -2007-06-13 Miguel Sofer - - * generic/tclExecute.c (TclCompEvalObj): missed update to "there is - always a valid frame". - - * generic/tclProc.c (TclObjInterpProcCore): call TEBC directly instead - of going through TclCompEvalObj - no need to check the compilation's - freshness, this has already been done. This improves speed and should - also provide some relief to [Bug 1066755]. - -2007-06-12 Donal K. Fellows - - * generic/tclBasic.c (Tcl_CreateInterp): Turn the [info] command into - * generic/tclCmdIL.c (TclInitInfoCmd): an ensemble, making it easier - for third-party code to plug into. - - * generic/tclIndexObj.c (Tcl_WrongNumArgs): - * generic/tclNamesp.c, generic/tclInt.h (tclEnsembleCmdType): Make - Tcl_WrongNumArgs do replacement correctly with ensembles and other - sorts of complex replacement strategies. - -2007-06-11 Miguel Sofer - - * generic/tclExecute.c: comments added to explain iPtr->numLevels - management. - - * generic/tclNamesp.c: tweaks to Tcl_GetCommandFromObj and - * generic/tclObj.c: TclGetNamespaceFromObj; modified the usage of - structs ResolvedCmdName and ResolvedNsname so that the field refNsPtr - is NULL for fully qualified names. - -2007-06-10 Miguel Sofer - - * generic/tclBasic.c: Further TEOvI split, creating a new - * generic/tclCompile.h: TclEvalObjvKnownCommand() function to handle - * generic/tclExecute.c: commands that are already known and are not - traced. INST_INVOKE now calls into this function instead of inlining - parts of TEOvI. Same perf, better isolation. - - ***POTENTIAL INCOMPAT*** There is a subtle issue with the timing of - execution traces that is changed here - first change appeared in my - commit of 2007-04-03 [Patch 1693802], which caused some divergence - between compiled and non-compiled code. - ***THIS CHANGE IS UNDER REVIEW*** - -2007-06-10 Jeff Hobbs - - * README: updated links. [Bug 1715081] - - * generic/tclExecute.c (TclExecuteByteCode): restore support for - INST_CALL_BUILTIN_FUNC1 and INST_CALL_FUNC1 bytecodes to support 8.4- - precompiled sources (math functions). [Bug 1720895] - -2007-06-10 Miguel Sofer - - * generic/tclInt.h: - * generic/tclNamesp.c: - * generic/tclObj.c: - * generic/tclvar.c: new macros TclGetCurrentNamespace() and - TclGetGlobalNamespace(); Tcl_GetCommandFromObj and - TclGetNamespaceFromObj rewritten to make the logic clearer; slightly - faster too. - -2007-06-09 Miguel Sofer - - * generic/tclExecute.c (INST_INVOKE): isolated two vars to the small - block where they are actually used. - - * generic/tclObj.c (Tcl_GetCommandFromObj): rewritten to make the - logic clearer; slightly faster too. - - * generic/tclBasic.c: Split TEOv in two, by separating a processor - for non-TCL_OK returns. Also split TEOvI in a full version that - handles non-existing and traced commands, and a separate shorter - version for the regular case. - - * generic/tclBasic.c: Moved the generation of command strings for - * generic/tclTrace.c: traces: previously in Tcl_EvalObjv(), now in - TclCheck[Interp|Execution]Traces(). Also insured that the strings are - properly NUL terminated at the correct length. [Bug 1693986] - - ***POTENTIAL INCOMPATIBILITY in internal API*** - The functions TclCheckInterpTraces() and TclCheckExecutionTraces() (in - internal stubs) used to be noops if the command string was NULL, this - is not true anymore: if the command string is NULL, they generate an - appropriate string from (objc,objv) and use it to call the traces. The - caller might as well not call them with a NULL string if he was - expecting a noop. - - * generic/tclBasic.c: Extend usage of TclLimitReady() and - * generic/tclExecute.c: (new) TclLimitExceeded() macros. - * generic/tclInt.h: - * generic/tclInterp.c: - - * generic/tclInt.h: New TclCleanupCommandMacro for core usage. - * generic/tclBasic.c: - * generic/tclExecute.c: - * generic/tclObj.c: - -2007-06-09 Daniel Steffen - - * macosx/Tcl.xcodeproj/project.pbxproj: add new Tclsh-Info.plist.in. - -2007-06-08 Donal K. Fellows - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): Changed [string first] and - * doc/string.n: [string last] so that they have clearer descriptions - for those people who know the adage about needles and haystacks. This - follows suggestions on comp.lang.tcl... - -2007-06-06 Miguel Sofer - - * generic/tclParse.c: fix for uninit read. [Bug 1732414] - -2007-06-06 Daniel Steffen - - * macosx/Tcl.xcodeproj/project.pbxproj: add settings for Fix&Continue. - - * unix/configure.in (Darwin): add plist for tclsh; link the - * unix/Makefile.in (Darwin): Tcl and tclsh plists into - * macosx/Tclsh-Info.plist.in (new): their binaries in all cases. - * macosx/Tcl-Common.xcconfig: - - * unix/tcl.m4 (Darwin): fix CF checks in fat 32&64bit builds. - * unix/configure: autoconf-2.59 - -2007-06-05 Don Porter - - * generic/tclBasic.c: Added interp flag value ERR_LEGACY_COPY to - * generic/tclInt.h: control the timing with which the global - * generic/tclNamesp.c: variables ::errorCode and ::errorInfo get - * generic/tclProc.c: updated after an error. This keeps more - * generic/tclResult.c: precise compatibility with Tcl 8.4. - * tests/result.test (result-6.2): [Bug 1649062] - -2007-06-05 Miguel Sofer - - * generic/tclInt.h: - * generic/tclExecute.c: Tcl-stack reform, [Patch 1701202] - -2007-06-03 Daniel Steffen - - * unix/Makefile.in: add datarootdir to silence autoconf-2.6x warning. - -2007-05-30 Don Porter - - * generic/tclBasic.c: Removed code that dealt with - * generic/tclCompile.c: TCL_TOKEN_EXPAND_WORD tokens representing - * generic/tclCompile.h: expanded literal words. These sections were - mostly in place to enable [info frame] to discover line information in - expanded literals. Since the parser now generates a token for each - post-expansion word referring to the right location in the original - script string, [info frame] gets all the data it needs. - - * generic/tclInt.h: Revised the parser so that it never produces - * generic/tclParse.c: TCL_TOKEN_EXPAND_WORD tokens when parsing an - * tests/parse.test: expanded literal word; that is, something like - {*}{x y z}. Instead, generate the series of TCL_TOKEN_SIMPLE_WORD - tokens to represent the words that expansion of the literal string - produces. [RFE 1725186] - -2007-05-29 Jeff Hobbs - - * unix/tclUnixThrd.c (Tcl_JoinThread): fix for 64-bit handling of - pthread_join exit return code storage. [Bug 1712723] - -2007-05-22 Don Porter - - [core-stabilizer-branch] - - * unix/configure: autoconf-2.59 (FC6 fork) - * win/configure: - - * README: Bump version number to 8.5b1 - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - -2007-05-18 Don Porter - - * unix/configure: autoconf-2.59 (FC6 fork) - * win/configure: - - * README: Bump version number to 8.5a7 - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * generic/tclParse.c: Disable and remove the ALLOW_EXPAND sections - * tests/info.test: that continued to support the deprecated - * tests/mathop.test: {expand} syntax. Updated the few remaining - users of that syntax in the test suite. - -2007-05-17 Donal K. Fellows - - * generic/tclExecute.c (TclLimitReady): Created a macro version of - Tcl_LimitReady just for TEBC, to reduce the amount of times that the - bytecode engine calls out to external functions on the critical path. - * generic/tclInterp.c (Tcl_LimitReady): Added note to remind anyone - doing maintenance that there is a macro version to update. - -2007-05-17 Daniel Steffen - - * generic/tcl.decls: workaround 'make checkstubs' failures from - tclStubLib.c MODULE_SCOPE revert. [Bug 1716117] - -2007-05-16 Joe English - - * generic/tclStubLib.c: Change Tcl_InitStubs(), tclStubsPtr, and the - auxilliary stubs table pointers back to public visibility. - - These symbols need to be exported so that stub-enabled extensions may - be statically linked into an extended tclsh or Big Wish with a - dynamically-linked libtcl. [Bug 1716117] - -2007-05-15 Don Porter - - * win/configure: autoconf-2.59 (FC6 fork) - - * library/reg/pkgIndex.tcl: Bump to registry 1.2.1 to account for - * win/configure.in: [Bug 1682211] fix. - * win/makefile.bc: - * win/tclWinReg.c: - -2007-05-11 Pat Thoyts - - * generic/tclInt.h: Removed TclEvalObjEx and TclGetSrcInfoForPc from - tclInt.h now they are in the internal stubs table. - -2007-05-09 Don Porter - - * generic/tclInt.h: TclFinalizeThreadAlloc() is always defined, so - make sure it is also always declared (with MODULE_SCOPE). - -2007-05-09 Daniel Steffen - - * generic/tclInt.h: fix warning when building threaded with -DPURIFY. - - * macosx/Tcl.xcodeproj/project.pbxproj: add 'DebugUnthreaded' & - * macosx/Tcl.xcodeproj/default.pbxuser: 'DebugLeaks' configs and env - var settings needed to run the 'leaks' tool. - -2007-05-07 Don Porter - - [Tcl Bug 1706140] - - * generic/tclLink.c (LinkTraceProc): Update Tcl_VarTraceProcs so - * generic/tclNamesp.c (Error*Read): they call Tcl_InterpDeleted() - * generic/tclTrace.c (Trace*Proc): for themselves, and do not - * generic/tclUtil.c (TclPrecTraceProc): rely on (frequently buggy) - setting of the TCL_INTERP_DESTROYED flag by the trace core. - - * generic/tclVar.c: Update callers of TclCallVarTraces to not pass - in the TCL_INTERP_DESTROYED flag. Also apply filters so that public - routines only pass documented flag values down to lower level routines - - * generic/tclTrace.c (TclCallVarTraces): The setting of the - TCL_INTERP_DESTROYED flag is now done entirely within the - TclCallVarTraces routine, the only place it can be done right. - -2007-05-06 Donal K. Fellows - - * generic/tclInt.h (ExtraFrameInfo): Create a new mechanism for - * generic/tclCmdIL.c (InfoFrameCmd): conveying what information needs - to be added to the results of [info frame] to replace the hack that - was there before. - * generic/tclProc.c (Tcl_ApplyObjCmd): Use the new mechanism for the - [apply] command, the only part of Tcl itself that needs it (so far). - - * generic/tclInt.decls (TclEvalObjEx, TclGetSrcInfoForPc): Expose - these two functions through the internal stubs table, necessary for - extensions that need to integrate deeply with TIP#280. - -2007-05-05 Donal K. Fellows - - * win/tclWinFile.c (TclpGetUserHome): Squelch type-pun warnings in - * win/tclWinInit.c (TclpSetVariables): Win-specific code not found - * win/tclWinReg.c (AppendSystemError): during earlier work on Unix. - -2007-05-04 Kevin B. Kenny - - * generic/tclIO.c (TclFinalizeIOSubsystem): Added an initializer to - silence a spurious gcc warning about use of an uninitialized - variable. - * tests/encoding.test: Modified so that encoding tests happen in a - private namespace, to avoid polluting the global one. This problem was - discovered when running the test suite '-singleproc 1 -skip exec.test' - because the 'path' variable in encoding.test conflicted with the one - in io.test. - * tests/io.test: Made more of the working variables private to the - namespace. - -2007-05-02 Kevin B. Kenny - - * generic/tclTest.c (SimpleMatchInDirectory): Corrected a refcount - imbalance that affected the filesystem-[147]* tests in the test suite. - Thanks to Don Porter for the patch. [Bug 1710707] - * generic/tclPathObj.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath): - Corrected several memory leaks that caused refcount imbalances - resulting in memory leaks on Windows. Thanks to Joe Mistachkin for the - patch. - -2007-05-01 Miguel Sofer - - * generic/tclVar.c (TclPtrSetVar): fixed leak whenever newvaluePtr had - refCount 0 and was used for appending (but not lappending). Thanks to - mistachkin and kbk. [Bug 1710710] - -2007-05-01 Kevin B. Kenny - - * generic/tclIO.c (DeleteChannelTable): Made changes so that - DeleteChannelTable tries to close all open channels, not just the - first. [Bug 1710285] - * generic/tclThread.c (TclFinalizeSynchronization): Make sure that TSD - blocks get freed on non-threaded builds. [Bug 1710825] - * tests/utf.test (utf-25.1--utf-25.4): Modified tests to clean up - after the 'testobj' extension to avoid spurious reports of memory - leaks. - -2007-05-01 Don Porter - - * generic/tclCmdMZ.c (STR_MAP): When [string map] has a pure dict map, - a missing Tcl_DictObjDone() call led to a memleak. [Bug 1710709] - -2007-04-30 Daniel Steffen - - * unix/Makefile.in: add 'tclsh' dependency to install targets that - rely on tclsh, fixes parallel 'make install' from empty build dir. - -2007-04-30 Andreas Kupries - - * generic/tclIO.c (FixLevelCode): Corrected reference count - mismanagement of newlevel, newcode. Changed to allocate the Tcl_Obj's - as late as possible, and only when actually needed. [Bug 1705778, leak - K29] - -2007-04-30 Kevin B. Kenny - - * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Corrected - reference count mismanagement on the name of the source file in the - TIP 280 code. [Bug 1705778, leak K02 among other manifestations] - -2007-04-25 Donal K. Fellows - - *** 8.5a6 TAGGED FOR RELEASE *** - - * generic/tclProc.c (TclObjInterpProcCore): Only allocate objects for - error message generation when associated with argument names that are - really used. [Bug 1705778, leak K15] - -2007-04-25 Kevin B. Kenny - - * generic/tclIOUtil.c (Tcl_FSChdir): Changed the memory management so - that the path returned from Tcl_FSGetNativePath is not duplicated - before being stored as the current directory, to avoid a memory leak. - [Bug 1705778, leak K01 among other manifestations] - -2007-04-25 Don Porter - - * generic/tclCompExpr.c (ParseExpr): Revised to be sure that an - error return doesn't prevent all literals getting placed on the - litList to be returned to the caller for freeing. Corrects some - memleaks. [Bug 1705778, leak K23] - -2007-04-25 Daniel Steffen - - * unix/Makefile.in (dist): add macosx/*.xcconfig files to src dist; - copy license.terms to dist macosx dir; fix autoheader bits. - -2007-04-24 Miguel Sofer - - * generic/tclListObj.c: reverting [Patch 738900] (committed on - 2007-04-20). Causes some Tk test breakage of unknown importance, but - the impact of the patch itself is likely to be so small that it does - not warrant investigation at this time. - -2007-04-24 Donal K. Fellows - - * generic/tclDictObj.c (DictKeysCmd): Rewrote so that the lock on the - internal representation of a dict is only set when necessary. [Bug - 1705778, leak K04] - (DictFilterCmd): Added code to drop the lock in the trivial match - case. [Bug 1705778, leak K05] - -2007-04-24 Kevin B. Kenny - - * generic/tclBinary.c: Addressed several code paths where the error - return from the 'binary format' command leaked the result buffer. - * generic/tclListObj.c (TclLsetFlat): Fixed a bug where the new list - under construction was leaked in the error case. [Bug 1705778, leaks - K13 and K14] - -2007-04-24 Jeff Hobbs - - * unix/Makefile.in (dist): add platform library package to src dist - -2007-04-24 Don Porter - - * generic/tclCompExpr.c (ParseExpr): Memory leak in error case; the - literal Tcl_Obj was not getting freed. [Bug 1705778, leak #1 (new)] - - * generic/tclNamesp.c (Tcl_DeleteNamespace): Corrected flaw in the - flag marking scheme to be sure that global namespaces are freed when - their interp is deleted. [Bug 1705778] - -2007-04-24 Kevin B. Kenny - - * generic/tclExecute.c (TclExecuteByteCode): Plugged six memory leaks - in bignum arithmetic. - * generic/tclIOCmd.c (Tcl_ReadObjCmd): Plugged a leak of the buffer - object if the physical read returned an error and the bypass area had - no message. - * generic/tclIORChan.c (TclChanCreateObjCmd): Plugged a leak of the - return value from the "initialize" method of a channel handler. - (All of the above under [Bug 1705778]) - -2007-04-23 Daniel Steffen - - * generic/tclCkalloc.c: fix warnings from gcc build configured with - * generic/tclCompile.c: --enable-64bit --enable-symbols=all. - * generic/tclExecute.c: - - * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open() - * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier. - - * unix/tclLoadDyld.c (TclpLoadMemory): fix (void*) arithmetic. - - * macosx/Tcl-Common.xcconfig: enable more warnings. - - * macosx/Tcl.xcodeproj/project.pbxproj: add 'DebugMemCompile' build - configuration that calls configure with --enable-symbols=all; override - configure check for __attribute__((__visibility__("hidden"))) in Debug - configuration to restore availability of ZeroLink. - - * macosx/tclMacOSXNotify.c: fix warnings. - - * macosx/tclMacOSXFCmd.c: const fixes. - - * macosx/Tcl-Common.xcconfig: fix whitespace. - * macosx/Tcl-Debug.xcconfig: - * macosx/Tcl-Release.xcconfig: - * macosx/README: - - * macosx/GNUmakefile: fix/add copyright and license refs. - * macosx/tclMacOSXBundle.c: - * macosx/Tcl-Info.plist.in: - * macosx/Tcl.xcode/project.pbxproj: - * macosx/Tcl.xcodeproj/project.pbxproj: - - * unix/configure.in: install license.terms into Tcl.framework. - * unix/configure: autoconf-2.59 - -2007-04-23 Don Porter - - * generic/tclVar.c (UnsetVarStruct): Make sure the - TCL_INTERP_DESTROYED flags gets passed to unset trace routines so they - can respond appropriately. [Bug 1705778, leak #9] - -2007-04-23 Miguel Sofer - - * generic/tclCompile.c (TclFreeCompileEnv): Tip 280's new field - extCmdMapPtr was not being freed. [Bug 1705778, leak #1] - -2007-04-23 Kevin B. Kenny - - * generic/tclCompCmds.c (TclCompileUpvarCmd): Plugged a memory leak in - 'upvar' when compiling (a) upvar outside a proc, (b) upvar with a - syntax error, or (c) upvar where the frame index is not known at - compile time. - * generic/tclCompExpr.c (ParseExpr): Plugged a memory leak when - parsing expressions that contain syntax errors. - * generic/tclEnv.c (ReplaceString): Clear memory correctly when - growing the cache to avoid reads of uninitialised data. - * generic/tclIORChan.c (TclChanCreateObjCmd, FreeReflectedChannel): - Plugged two memory leaks. - * generic/tclStrToD.c (AccumulateDecimalDigit): Fixed a mistake where - we'd run beyond the end of the 'pow10_wide' array if a number begins - with a string of more than 'maxpow10_wide' zeroes. - * generic/tclTest.c (Testregexpobjcmd): Removed an invalid access - beyond the end of 'objv' in 'testregexp -about'. - All of these issues reported under [Bug 1705778] - detected with the - existing test suite, no new regression tests required. - -2007-04-22 Miguel Sofer - - * generic/tclVar.c (TclDeleteNamespaceVars): fixed access to freed - memory detected by valgrind: Tcl_GetCurrentNamespace was being - called after freeing root CallFrame (on interp deletion). - -2007-04-20 Miguel Sofer - - * generic/tclListObj.c (SetListFromAny): avoid discarding internal - reps of objects converted to singleton lists. [Patch 738900] - -2007-04-20 Kevin B. Kenny - - * doc/clock.n: Corrected a silly error (transposed 'uppercase' and - 'lowercase' in clock.n. [Bug 1656002] - Clarified that [clock scan] does not recognize a locale's alternative - calendar. - Deleted an entirely superfluous (and also incorrect) remark about the - effect of Daylight Saving Time on relative times in [clock scan]. [Bug - 1582951] - * library/clock.tcl: Corrected an error in skipping over the %Ey field - on input. - * library/msgs/ja.msg: - * tools/loadICU.tcl: Corrected several localisation faults in the - Japanese locale (most notably, incorrect dates for the Emperors' - eras). Many thanks to SourceForge user 'nyademo' for pointing this out - and developing a fix. [Bug 1637471] - * generic/tclPathObj.c: Corrected a 'const'ness fault that caused - bitter complaints from MSVC. - * tests/clock.test (clock-40.1, clock-58.1, clock-59.1): Corrected a - test case that depended on ":localtime" being able to handle dates - prior to the Posix epoch. [Bug 1618445] Added a test case for the - dates of the Japanese emperors. [Bug 1637471] Added a regression test - for military time zone input conversion. [Bug 1586828] - * generic/tclGetDate.y (MilitaryTable): Fixed an ancient bug where the - military NZA time zones had the signs reversed. [Bug 1586828] - * generic/tclDate.c: Regenerated. - * doc/Notifier.3: Documented Tcl_SetNotifier and Tcl_ServiceModeHook. - Quite against my better judgment. [Bug 414933] - * generic/tclBasic.c, generic/tclCkalloc.c, generic/tclClock.c: - * generic/tclCmdIL.c, generic/tclCmdMZ.c, generic/tclFCmd.c: - * generic/tclFileName.c, generic/tclInterp.c, generic/tclIO.c: - * generic/tclIOUtil.c, generic/tclNamesp.c, generic/tclObj.c: - * generic/tclPathObj.c, generic/tclPipe.c, generic/tclPkg.c: - * generic/tclResult.c, generic/tclTest.c, generic/tclTestObj.c: - * generic/tclVar.c, unix/tclUnixChan.c, unix/tclUnixTest.c: - * win/tclWinLoad.c, win/tclWinSerial.c: Replaced commas in varargs - with string concatenation where possible. [Patch 1515234] - * library/tzdata/America/Tegucigalpa: - * library/tzdata/Asia/Damascus: Olson's tzdata 2007e. - -2007-04-19 Donal K. Fellows - - * generic/regcomp.c, generic/regc_cvec.c, generic/regc_lex.c, - * generic/regc_locale.c: Improve the const-correctness of the RE - compiler. - -2007-04-18 Miguel Sofer - - * generic/tclExecute.c (INST_LSHIFT): fixed a mistake introduced in - version 1.266 ('=' became '=='), which effectively turned the block - that handles native shifts into dead code. This explains why the - testsuite did not pick this mistake. Rewrote to make the intention - clear. - - * generic/tclInt.h (TclDecrRefCount): change the order of the - branches, use empty 'if ; else' to handle use in unbraced outer - if/else conditions (as already done in tcl.h) - - * generic/tclExecute.c: slight changes in Tcl_Obj management. - -2007-04-17 Kevin B. Kenny - - * library/clock.tcl: Fixed the naming of - ::tcl::clock::ReadZoneinfoFile because (yoicks!) it was in the global - namespace. - * doc/clock.n: Clarified the cases in which legacy time zone is - recognized. [Bug 1656002] - -2007-04-17 Miguel Sofer - - * generic/tclExecute.c: fixed checkInterp logic [Bug 1702212] - -2007-04-16 Donal K. Fellows - - * various (including generic/tclTest.c): Complete the purge of K&R - function definitions from manually-written code. - -2007-04-15 Kevin B. Kenny - - * generic/tclCompCmds.c: added a cast to silence a compiler error on - VC2005. - * library/clock.tcl: Restored unique-prefix matching of keywords on - the [clock] command. [Bug 1690041] - * tests/clock.test: Added rudimentary test cases for unique-prefix - matching of keywords. - -2007-04-14 Miguel Sofer - - * generic/tclExecute.c: removed some code at INST_EXPAND_SKTOP that - duplicates functionality already present at checkForCatch. - -2007-04-12 Miguel Sofer - - * generic/tclExecute.c: new macros OBJ_AT_TOS, OBJ_UNDER_TOS, - OBJ_AT_DEPTH(n) and CURR_DEPTH that remove all direct references to - tosPtr from TEBC (after initialisation and the code at the label - cleanupV_pushObjResultPtr). - -2007-04-11 Miguel Sofer - - * generic/tclCompCmds.c: moved all exceptDepth management to the - macros - the decreasing half was managed by hand. - -2007-04-10 Donal K. Fellows - - * generic/tclInt.h (TclNewLiteralStringObj): New macro to make - allocating literal string objects (i.e. objects whose value is a - constant string) easier and more efficient, by allowing the omission - of the length argument. Based on [Patch 1529526] (afredd) - * generic/*.c: Make use of this (in many files). - -2007-04-08 Miguel Sofer - - * generic/tclCompile (tclInstructionTable): Fixed bugs in description - of dict instructions. - -2007-04-07 Miguel Sofer - - * generic/tclCompile (tclInstructionTable): Fixed bug in description - of INST_START_COMMAND. - - * generic/tclExecute.c (TEBC): Small code reduction. - -2007-04-06 Miguel Sofer - - * generic/tclExecute.c (TEBC): - * generic/tclNamespace.c (NsEnsembleImplementationCmd): - * generic/tclProc.c (InitCompiledLocals, ObjInterpProcEx) - (TclObjInterpProcCore, ProcCompileProc): Code reordering to reduce - branching and improve branch prediction (assume that forward branches - are typically not taken). - -2007-04-03 Miguel Sofer - - * generic/tclExecute.c: INST_INVOKE optimisation. [Patch 1693802] - -2007-04-03 Don Porter - - * generic/tclNamesp.c: Revised ErrorCodeRead and ErrorInfoRead trace - routines so they guarantee the ::errorCode and ::errorInfo variable - always appear to exist. [Bug 1693252] - -2007-04-03 Miguel Sofer - - * generic/tclInt.decls: Moved TclGetNamespaceFromObj() to the - * generic/tclInt.h: internal stubs table; regen. - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - -2007-04-02 Miguel Sofer - - * generic/tclBasic.c: Added bytecode compilers for the variable - * generic/tclCompCmds.c: linking commands: 'global', 'variable', - * generic/tclCompile.h: 'upvar', 'namespace upvar' [Patch 1688593] - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclVar.c: - -2007-04-02 Don Porter - - * generic/tclBasic.c: Replace arrays on the C stack and ckalloc - * generic/tclExecute.c: calls with TclStackAlloc calls to use memory - * generic/tclFCmd.c: on Tcl's evaluation stack. - * generic/tclFileName.c: - * generic/tclIOCmd.c: - * generic/tclIndexObj.c: - * generic/tclInterp.c: - * generic/tclNamesp.c: - * generic/tclTrace.c: - * unix/tclUnixPipe.c: - -2007-04-01 Donal K. Fellows - - * generic/tclCompile.c (TclCompileScript, TclPrintInstruction): - * generic/tclExecute.c (TclExecuteByteCode): Changed the definition of - INST_START_CMD so that it knows how many commands start at the current - location. This makes the interpreter command counter correct without - requiring a large number of instructions to be issued. (See my change - from 2007-01-19 for what triggered this.) - -2007-03-30 Don Porter - - * generic/tclCompile.c: - * generic/tclCompExpr.c: - * generic/tclCompCmds.c: Replace arrays on the C stack and - ckalloc calls with TclStackAlloc calls to use memory on Tcl's - evaluation stack. - - * generic/tclCmdMZ.c: Revised [string to* $s $first $last] - implementation to reduce number of allocs/copies. - - * tests/string.test: More [string reverse] tests. - -2007-03-30 Miguel Sofer - - * generic/tclExecute.c: optimise the lookup of elements of indexed - arrays. - -2007-03-29 Miguel Sofer - - * generic/tclProc.c (Tcl_ApplyObjCmd): - * tests/apply.test (9.3): Fixed Tcl_Obj leak on error return; an - unneeded ref to lambdaPtr was being set and not released on an error - return path. - -2007-03-28 Don Porter - - * generic/tclCmdMZ.c (STR_REVERSE): Implement the actual [string - reverse] command in terms of the new TclStringObjReverse() routine. - - * generic/tclInt.h (TclStringObjReverse): New internal routine - * generic/tclStringObj.c (TclStringObjReverse): that implements the - [string reverse] operation, making use of knowledge/surgery of the - String intrep to minimize the number of allocs and copies needed to do - the job. - -2007-03-27 Don Porter - - * generic/tclCmdMZ.c (STR_MAP): Replace ckalloc calls with - TclStackAlloc calls. - -2007-03-24 Zoran Vasiljevic - - * win/tclWinThrd.c: Thread exit handler marks the current thread as - uninitialized. This allows exit handlers that are registered later to - reinitialize this subsystem in case they need to use some sync - primitives (cond variables) from this file again. - -2007-03-23 Miguel Sofer - - * generic/tclBasic.c (DeleteInterpProc): pop the root frame pointer - before deleting the global namespace [Bug 1658572] - -2007-03-23 Kevin B. Kenny - - * win/Makefile.in: Added code to keep a Cygwin path name from leaking - into LIBRARY_DIR when doing 'make test' or 'make runtest'. - -2007-03-22 Don Porter - - * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Replaced arrays on the - C stack and ckalloc calls with TclStackAlloc calls to use memory on - Tcl's evaluation stack. - - * generic/tclExecute.c: Revised GrowEvaluationStack to take an - argument specifying the growth required by the caller, so that a - single reallocation / copy is the most that will ever be needed even - when required growth is large. - -2007-03-21 Don Porter - - * generic/tclExecute.c: More ckalloc -> ckrealloc conversions. - * generic/tclLiteral.c: - * generic/tclNamesp.c: - * generic/tclParse.c: - * generic/tclPreserve.c: - * generic/tclStringObj.c: - * generic/tclUtil.c: - -2007-03-20 Don Porter - - * generic/tclEnv.c: Some more ckalloc -> ckrealloc replacements. - * generic/tclLink.c: - -2007-03-20 Kevin B. Kenny - - * generic/tclDate.c: Rebuilt, despite Donal Fellows's comment when - committing it that no rebuild was required. - * generic/tclGetDate.y: According to Donal Fellows, "Introduce modern - formatting standards; no need for rebuild of tclDate.c." - - * library/tzdata/America/Cambridge_Bay: - * library/tzdata/America/Havana: - * library/tzdata/America/Inuvik: - * library/tzdata/America/Iqaluit: - * library/tzdata/America/Pangnirtung: - * library/tzdata/America/Rankin_Inlet: - * library/tzdata/America/Resolute: - * library/tzdata/America/Yellowknife: - * library/tzdata/Asia/Choibalsan: - * library/tzdata/Asia/Dili: - * library/tzdata/Asia/Hovd: - * library/tzdata/Asia/Jakarta: - * library/tzdata/Asia/Jayapura: - * library/tzdata/Asia/Makassar: - * library/tzdata/Asia/Pontianak: - * library/tzdata/Asia/Ulaanbaatar: - * library/tzdata/Europe/Istanbul: Upgraded to Olson's tzdata2007d. - - * generic/tclListObj.c (TclLsetList, TclLsetFlat): - * tests/lset.test: Changes to deal with shared internal representation - for lists passed to the [lset] command. Thanks to Don Porter for - fixing this issue. [Bug 1677512] - -2007-03-19 Don Porter - - * generic/tclCompile.c: Revise the various expansion routines for - CompileEnv fields to use ckrealloc() where appropriate. - - * generic/tclBinary.c (Tcl_SetByteArrayLength): Replaced ckalloc() / - memcpy() sequence with ckrealloc() call. - - * generic/tclBasic.c (Tcl_CreateMathFunc): Replaced some calls to - * generic/tclEvent.c (Tcl_CreateThread): Tcl_Alloc() with calls - * generic/tclObj.c (UpdateStringOfBignum): to ckalloc(), which - * unix/tclUnixTime.c (SetTZIfNecessary): better supports memory - * win/tclAppInit.c (setargv): debugging. - -2007-03-19 Donal K. Fellows - - * doc/regsub.n: Corrected example so that it doesn't recommend - potentially unsafe practice. Many thanks to Konstantin Kushnir - for reporting this. - -2007-03-17 Kevin B. Kenny - - * win/tclWinReg.c (GetKeyNames): Size the buffer for enumerating key - names correctly, so that Unicode names exceeding 127 chars can be - retrieved without crashing. [Bug 1682211] - * tests/registry.test (registry-4.9): Added test case for the above - bug. - -2007-03-15 Mo DeJong - - * generic/tclIOUtil.c (Tcl_Stat): Reimplement workaround to avoid gcc - warning by using local variables. When the macro argument is of type - long long instead of long, the incorrect warning is not generated. - -2007-03-15 Mo DeJong - - * win/Makefile.in: Fully qualify LIBRARY_DIR so that `make test` does - not depend on working dir. - -2007-03-15 Mo DeJong - - * tests/parse.test: Add two backslash newline parse tests. - -2007-03-12 Don Porter - - * generic/tclExecute.c (INST_FOREACH_STEP4): Make private copy of - * tests/foreach.test (foreach-10.1): value list to be assigned to - variables so that shimmering of that list doesn't lead to invalid - pointers. [Bug 1671087] - - * generic/tclEvent.c (HandleBgErrors): Make efficient private copy - * tests/event.test (event-5.3): of the command prefix for the interp's - background error handling command to avoid panics due to pointers to - memory invalid after shimmering. [Bug 1670155] - - * generic/tclNamesp.c (NsEnsembleImplementationCmd): Make efficient - * tests/namespace.test (namespace-42.8): private copy of the - command prefix as we invoke the command appropriate to a particular - subcommand of a particular ensemble to avoid panic due to shimmering - of the List intrep. [Bug 1670091] - - * generic/tclVar.c (TclArraySet): Make efficient private copy of - * tests/var.test (var-17.1): the "list" argument to [array set] to - avoid crash due to shimmering invalidating pointers. [Bug 1669489] - -2007-03-12 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fix problems with declaration - positioning and memory leaks. [Bug 1679072] - -2007-03-11 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LreverseObjCmd): Ensure that a list is - correctly reversed even if its internal representation is shared - without the object itself being shared. [Bug 1675044] - -2007-03-10 Miguel Sofer - - * generic/tclCmdIL (Tcl_LsortObjCmd): changed fix to [Bug 1675116] to - use the cheaper TclListObjCopy() instead of Tcl_DuplicateObj(). - -2007-03-09 Andreas Kupries - - * library/platform/shell.tcl: Made more robust if an older platform - * library/platform/pkgIndex.tcl: package is present in the inspected - * unix/Makefile.in: shell. Package forget it to prevent errors. Bumped - * win/Makefile.in: package version to 1.1.3, and updated the Makefiles - installing it as Tcl Module. - -2007-03-09 Donal K. Fellows - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * generic/tclLink.c (LinkedVar): Added macro to conceal at least some - of the pointer hackery. - -2007-03-02 Don Porter - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * doc/tcltest.n: Typo fix. [Bug 1663539] - -2007-02-20 Pat Thoyts - - * generic/tclFileName.c: Handle extended paths on Windows NT and - * generic/tclPathObj.c: above. These have a \\?\ prefix. [Bug - * win/tclWinFile.c: 1479814] - * tests/winFCmd.test: Tests for extended path handling. - -2007-02-19 Jeff Hobbs - - * 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 - - * 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 - - * 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 - - * doc/re_syntax.n: Corrected description of 'print' class [Bug - 1614687] and enhanced description of 'graph' class. - -2007-02-12 Kevin B. Kenny - - * 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 - - * win/nmakehlp.c: Properly cleanup after nmakehlp, including the - * win/makefile.vc: vcX0.pch file. - -2007-02-08 Jeff Hobbs - - * 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 - - * 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 - - * generic/tclNamesp.c: Corrected broken implementation of the - * tests/namespace.test: TclMatchIsTrivial optimization on [namespace - children $namespace $pattern]. - -2007-02-04 Daniel Steffen - - * 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 - - * win/rules.vc: Fix platform specific file copy macros for downlevel - Windows. - -2007-01-29 Don Porter - - * 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 - - * macosx/Tcl.xcodeproj/project.pbxproj: extract build settings that - * macosx/Tcl.xcodeproj/default.pbxuser: were common to multiple - * macosx/Tcl-Common.xcconfig (new file): configurations into external - * macosx/Tcl-Debug.xcconfig (new file): xcconfig files; add extra - * macosx/Tcl-Release.xcconfig (new file): configurations for building - with SDKs and 64bit; convert legacy jam-based 'Tcl' target to native - target with single script phase; correct syntax of build setting - references to use $() throughout. - - * macosx/README: document new Tcl.xcodeproj configurations; other - minor updates/corrections. - - * generic/tcl.h: update location of version numbers in macosx files. - - * macosx/Tcl.xcode/project.pbxproj: restore 'tcltest' target to - * macosx/Tcl.xcode/default.pbxuser: working order by replicating - applicable changes to Tcl.xcodeproj since 2006-07-20. - -2007-01-25 Daniel Steffen - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * generic/tclIO.c: Added macros to make usage of ChannelBuffers - clearer. - -2007-01-11 Joe English - - * 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 - - * 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 - - * generic/regcomp.c (compile, freev): Define a strategy for - * generic/regexec.c (exec): managing the internal - * generic/regguts.h (AllocVars, FreeVars): vars of the RE engine to - * generic/regcustom.h (AllocVars, FreeVars): reduce C stack usage. - This will make Tcl as a whole much less likely to run out of stack - space... - -2007-01-09 Donal K. Fellows - - * 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 - - * generic/tclDate.c: Regenerated to recover a lost fix from patthoyts. - [Bug 1618523] - -2006-12-26 Mo DeJong - - * 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 - - * 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 - - * unix/tclUnixThrd.c (Tcl_GetAllocMutex, TclpNewAllocMutex): Add - intermediate variables to shut up unwanted warnings. [Bug 1618838] - -2006-12-19 Daniel Steffen - - * 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 - - * tests/macOSXLoad.test (new file): add testing of .bundle loading and - * tests/load.test: unloading on Darwin (in addition - * tests/unload.test: to existing tests of .dylib - loading). - * macosx/Tcl.xcodeproj/project.pbxproj: add building of dltest - binaries so that testsuite run from Xcode can use them; fix testsuite - run script - * unix/configure.in: add support for building dltest binaries as - * unix/dltest/Makefile.in: .bundle (in addition to .dylib) on Darwin. - * unix/Makefile.in: add stub lib dependency to dltest target. - * unix/configure: autoconf-2.59 - - * tests/append.test: fix cleanup failure when all tests are skipped. - - * tests/chan.test (chan-16.9): cleanup chan event handler to avoid - causing error in event.test when running testsuite with -singleproc 1. - - * tests/info.test: add !singleTestInterp constraint to tests that fail - when running testsuite with -singleproc 1. [Bug 1605269] - -2006-12-14 Donal K. Fellows - - * doc/string.n: Fix example. [Bug 1615277] - -2006-12-12 Don Porter - - * 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 - - * generic/tclBasic.c: Another step with all sorting operator - * generic/tclCompExpr.c: commands now routing through TEBC via - * generic/tclCompile.h: TclSortingOpCmd(). - -2006-12-08 Don Porter - - * 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 - - * 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 - - * library/tcltest/tcltest.tcl: use [info frame] for "-verbose line". - -2006-12-07 Don Porter - - * 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 - - * 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 - - * tests/exec.test: Fixed line endings (caused win32 problems). - -2006-12-06 Don Porter - - * 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 - - * tests/expr.test (expr-47.12): Improved error reporting in hopes of - having more information to pursue [Bug 1609936]. - -2006-12-05 Andreas Kupries - - 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 - - * 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 - - 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 - - * 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 - - * 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 - - * doc/file.n: Clarification of [file pathtype] docs. [Bug 1606454] - -2006-12-01 Kevin B. Kenny - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * generic/tclExecute.c (TclIncrObj): Correct failure to detect - floating-point increment values. Thanks to William Coleda [Bug - 1602991] - -2006-11-26 Donal K. Fellows - - * 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 - - * unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389] - * unix/configure: autoconf-2.59 [Bug 1230558] - -2006-11-25 Donal K. Fellows - - TIP#174 IMPLEMENTATION - - * generic/tclMathOp.c (new file): Completed the implementation of the - interpreted versions of all the tcl::mathop commands. Moved to a new - file to make tclCompCmds.c more focused in purpose. - -2006-11-23 Donal K. Fellows - - * 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 - - 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 - - * 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 - - * 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 - - * 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 - - * doc/apply.n, doc/chan.n: Added examples. - -2006-11-15 Don Porter - - 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 - - * 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 - - TIP#261 IMPLEMENTATION - - * generic/tclNamesp.c: [namespace import] with 0 arguments - introspects the list of imported commands. - -2006-11-13 Kevin B. Kenny - - * generic/tclThreadStorage.c (Tcl_InitThreadStorage): - (Tcl_FinalizeThreadStorage): Silence a compiler warning about - presenting a volatile pointer to 'memset'. - -2006-11-13 Don Porter - - * 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 - - * generic/tclCompExpr.c: Fix gcc warnings about 'cast to/from - * generic/tclEncoding.c: pointer from/to integer of different - * generic/tclEvent.c: size' on 64-bit platforms by casting - * generic/tclExecute.c: to intermediate types - * generic/tclHash.c: intptr_t/uintptr_t via new PTR2INT(), - * generic/tclIO.c: INT2PTR(), PTR2UINT() and UINT2PTR() - * generic/tclInt.h: macros. [Patch 1592791] - * generic/tclProc.c: - * generic/tclTest.c: - * generic/tclThreadStorage.c: - * generic/tclTimer.c: - * generic/tclUtil.c: - * unix/configure.in: - * unix/tclUnixChan.c: - * unix/tclUnixPipe.c: - * unix/tclUnixPort.h: - * unix/tclUnixTest.c: - * unix/tclUnixThrd.c: - - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - -2006-11-12 Donal K. Fellows - - * generic/tclInt.h, generic/tclInt.decls: Transfer TclPtrMakeUpvar and - TclObjLookupVar to the internal stubs table. - -2006-11-10 Daniel Steffen - - * 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 - - * 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 - - 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 - - * generic/tclIO.c, generic/tclPkg.c: Style & clarity rewrites. - -2006-11-07 Andreas Kupries - - * 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 - - * 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 - - * 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 - - * 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 - - * macosx/Tcl.xcodeproj/project.pbxproj: check autoconf/autoheader exit - status and stop build if they fail. - -2006-11-02 Jeff Hobbs - - * 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 - - * 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 - - * generic/tclCmdAH.c: Further revisions to produce the routines - * generic/tclInt.h: TclFormat() and TclAppendFormatToObj() that - * generic/tclNamesp.c: accept (objc, objv) arguments rather than - * generic/tclStringObj.c: any varargs stuff. - - * generic/tclBasic.c: Further revised TclAppendPrintToObj() and - * generic/tclCkalloc.c: TclObjPrintf() routines to panic when unable - * generic/tclCmdAH.c: to complete their formatting operations, - * generic/tclCmdIL.c: rather than report an error message. This - * generic/tclCmdMZ.c: means an interp argument for error message - * generic/tclDictObj.c: recording is no longer needed, further - * generic/tclExecute.c: simplifying the interface for callers. - * generic/tclIORChan.c: - * generic/tclIOUtil.c: - * generic/tclInt.h: - * generic/tclMain.c: - * generic/tclNamesp.c: - * generic/tclParseExpr.c: - * generic/tclPkg.c: - * generic/tclProc.c: - * generic/tclStringObj.c: - * generic/tclTimer.c: - * generic/tclUtil.c: - * unix/tclUnixFCmd.c: - -2006-11-02 Donal K. Fellows - - * 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 - - * 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 - - * 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 - - * 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 - - * win/rules.vc: Fix for [Bug 1582769] - options conflict with VC2003. - -2006-10-31 Donal K. Fellows - - * 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 - - * tools/tcltk-man2html.tcl (option-toc): handle any kind of options - defined toc section (needed for ttk docs) - -2006-10-30 Miguel Sofer - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * README: Bump version number to 8.5a6 - * generic/tcl.h: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/README.binary: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - -2006-10-21 Miguel Sofer - - * 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 - - * 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 - - *** 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 - - * 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 - - * generic/tclInterp.c (ApplyObjCmd): fixed bad error in 2006-10-12 - commit: interp released too early. Spotted by mistachkin. - -2006-10-16 Miguel Sofer - - * tclProc.c (SetLambdaFromAny): - * tests/apply.test (9.1-9.2): plugged intrep leak [Bug 1578454], - found by mjanssen. - -2006-10-16 Andreas Kupries - - * generic/tclBasic.c: Moved TIP#219 cleanup to DeleteInterpProc. - -2006-10-16 Daniel Steffen - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * win/nmakehlp.c: Replaced all wnsprintf() calls with snprintf(). - wnsprintf was not in my shwlapi header file (VC++6) - -2006-10-11 Don Porter - - * generic/tclPkg.c (Tcl_PackageRequireEx): Corrected crash when - argument version=NULL passed in. - -2006-10-10 Don Porter - - * 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 - - * 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 - - * 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 - - * win/rules.vc: [Bug 1571954] avoid /RTCc flag with MSVC8 - -2006-10-06 Pat Thoyts - - * 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 - - * library/tm.tcl: Fixed bug in TIP #189 implementation, now allowing - '_' in module names. - -2006-10-05 Jeff Hobbs - - * 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 - - * 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 - - * tzdata/: Olson's tzdata2006m. - -2006-10-01 Kevin B. Kenny - - * 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 - - * doc/Eval.3 (TclEvalObjv): added note on refCount management for the - elements of objv. [Bug 730244] - -2006-10-01 Pat Thoyts - - * win/tclWinFile.c: Handle possible missing define. - - * win/tclWinFile.c (TclpUtime): [Bug 1420432] file mtime fails for - * tests/cmdAH.test: directories on windows - - * tests/winFile.test: Handle Msys environment a little differently in - getuser function. [Bug 1567956] - -2006-09-30 Miguel Sofer - - * 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 - - * generic/tclPkg.c (CompareVersions): Bugfix. Check string lengths - * tests/pkg.test: before comparison. The shorter string is the smaller - number. Added testcases as well. Interestingly all existing test cases - for vcompare compared numbers of the same length with each other. [Bug - 1563836] - -2006-09-28 Miguel Sofer - - * 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 - - * 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 - - * 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 - - * tests/pkg.test: Added test for version comparison at the 32bit - boundary. [Bug 1563836] - - * generic/tclPkg.c: Rewrote CompareVersion to perform string - comparison instead of numeric. This breaks through the 32bit limit on - version numbers. See code for details (handling of leading zeros, - signs, etc.). un-CONSTed some arguments of CompareVersions, - RequirementSatisfied, and AllRequirementsSatisfied. The new compare - modifies the string (temporary string terminators). All callers use - heap-allocated ver-intreps, so we are good with that. [Bug 1563836] - -2006-09-27 Miguel Sofer - - * 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 - - * 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 - - * win/makefile.vc: Additional compiler flags and amd64 support. - * win/nmakehlp.c: - * win/rules.vc: - -2006-09-26 Don Porter - - * 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 - - * 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 - - * 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 - - * doc/package.n: Fixed nits reported by Daniel Steffen in the TIP#268 - changes. - -2006-09-25 Kevin B. Kenny - - * 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 - - * 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 - - * 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 - - * generic/tclInt.h: Moved TIP#268's field 'packagePrefer' to the end - of the structure, for better backward compatibility. - -2006-09-22 Andreas Kupries - - 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 - - * 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 - - * generic/tclUtil.c: Dropped ParseInteger() routine. TclParseNumber - covers the task just fine. - -2006-09-19 Donal K. Fellows - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * unix/Makefile.in (install-libraries): Fixed typo tcltest 2.3.9 -> - 2.3.0. - -2006-09-11 Daniel Steffen - - * 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 - - * tests/msgcat.test: Bumped version in auxiliary files as well. - * doc/msgcat.n: - -2006-09-11 Kevin B. Kenny - - * 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 - - * library/msgcat/msgcat.tcl: Removed some unneeded [uplevel]s. - -2006-09-10 Don Porter - - * generic/tclExecute.c: Corrected INST_EXPON flaw that treated - * tests/expr.test: $x**1 as $x**3. [Bug 1555371] - - * doc/tcltest.n: Bump to version tcltest 2.3.0 to - * library/tcltest/pkgIndex.tcl: account for new "-verbose line" - * library/tcltest/tcltest.tcl: feature. - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.bc: - * win/makefile.vc: - - * library/msgcat/msgcat.tcl: Bump to version msgcat 1.4.2 to - * library/msgcat/pkgIndex.tcl: account for modifications. - -2006-09-10 Daniel Steffen - - * 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 - - * 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 - - * unix/tclUnixCompat.c: Fixed conditions for CopyArray/CopyString, and - CopyHostent. Also fixed bad var names in TclpGetHostByName. - -2006-09-07 Zoran Vasiljevic - - * 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 - - * 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 - - * 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 - - * 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 - - * doc/package.n: correct package example - -2006-08-31 Don Porter - - * 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 - - * generic/tclParseExpr.c: Dropped the old expr parser. - -2006-08-30 Jeff Hobbs - - * 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 - - * 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 - - * 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 - - * 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 - - * library/tzdata/America/Havana: Regenerated from Olson's - * library/tzdata/America/Tegucigalpa: tzdata2006k. - * library/tzdata/Asia/Gaza: - -2006-08-28 Don Porter - - * 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 - - * generic/tclClock.c (ClockClicksObjCmd): Fix nested macro breakage - with TCL_MEM_DEBUG enabled. [Bug 1547662] - -2006-08-26 Miguel Sofer - - * 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 - - * 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 - - * 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 - - * generic/tclIOUtil.c: Revisions to complete the thread finalization - of the cwdPathPtr. [Bug 1536142] - - * generic/tclParseExpr.c: Revised mistaken call to - TclCheckBadOctal(), so both [expr 08] and [expr 08z] have same - additional info in error message. - - * tests/compExpr-old.test: Update existing tests to not fail with - * tests/compExpr.test: the new expr parser. - * tests/compile.test: - * tests/expr-old.test: - * tests/expr.test: - * tests/for.test: - * tests/if.test: - * tests/parseExpr.test: - * tests/while.test: - -2006-08-21 Donal K. Fellows - - * win/Makefile.in (gdb): Make this target work so that debugging an - msys build is possible. - -2006-08-21 Daniel Steffen - - * 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 - - * unix/tcl.m4 (Darwin): add support for --enable-64bit on x86_64, for - universal builds including x86_64, for 64-bit CoreFoundation on - Leopard and for use of -mmacosx-version-min instead of - MACOSX_DEPLOYMENT_TARGET - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - - * generic/tcl.h: add fixes for building on Leopard and - * unix/tclUnixPort.h: support for 64-bit CoreFoundation on Leopard - * macosx/tclMacOSXFCmd.c: - - * 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 - * macosx/Tcl.xcodeproj/project.pbxproj: runs the tcl test suite at - build time and shows clickable test suite errors in the GUI build - window. - - * tests/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 - - * generic/tclCompile.c: Revised the new set of expression - * generic/tclParseExpr.c: parse error messages. - -2006-08-16 Don Porter - - * generic/tclParseExpr.c: Replace PrecedenceOf() function with - prec[] static array. - -2006-08-14 Donal K. Fellows - - * 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 - - * 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 - - Misc patches to make code more efficient. [Bug 1530474] (afredd) - * generic/*.c, macosx/tclMacOSXNotify.c, unix/tclUnixNotfy.c, - * win/tclWinThrd.c: Tidy up invocations 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 - - * generic/tclEncoding.c: Replace buffer copy in for loop with - call to memcpy(). Thanks to afredd. [Patch 1530262] - -2006-08-09 Donal K. Fellows - - * 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 - - * unix/tclUnixPipe.c (TclpCreateProcess): for USE_VFORK: ensure - standard channels are initialized before vfork() so that the child - doesn't potentially corrupt global state in the parent's address space - - * tests/compExpr-old.test: add 'oldExprParser' constraint to all tests - * tests/compExpr.test: that depend on the exact format of the - * tests/compile.test: error messages of the pre-2006-07-05 - * tests/expr-old.test: expression parser. The constraint is on by - * tests/expr.test: default (i.e those tests still fail), but - * tests/for.test: can be turned off by passing '-constraints - * tests/if.test: newExprParser' to tcltest, which will skip - * tests/parseExpr.test: the 196 failing tests in the testsuite that - * tests/while.test: are caused by the new expression parser - error messages. - -2006-07-31 Kevin B. Kenny - - * 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 - - * 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 - - * doc/AppInit.3: Fix typo [Bug 1496886] - -2006-07-26 Don Porter - - * 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 - - * win/tclWinSock.c: Correct uninitialized Tcl_DString. Thanks to - afredd. [Bug 1518166] - -2006-07-21 Miguel Sofer - - * generic/tclExecute.c: - * tests/execute.test (execute-9.1): dgp's fix for [Bug 1522803]. - -2006-07-20 Daniel Steffen - - * 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 - - * unix/tclUnixPort.h: Added the inclusion of . - 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 - - * generic/tclAsync.c: Made Tcl_AsyncDelete() more tolerant when called - after all thread TSD has been garbage-collected. - -2006-07-05 Don Porter - - * 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 - - * 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 - - * unix/tclUnixPort.h (Darwin): support MAC_OS_X_VERSION_MAX_ALLOWED - define from AvailabilityMacros.h: override configure detection and - only use API available in the indicated OS version or earlier. - -2006-06-14 Donal K. Fellows - - * 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 - - * unix/tclLoadDl.c (TclpDlopen): Workaround for a compiler bug in Sun - Forte 6. [Bug 1503729] - -2006-06-06 Don Porter - - * 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 - - * 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 - - * generic/tcl.h (Tcl_DecrRefCount): use if/else construct to allow - placement in unbraced outer if/else conditions. (jcw) - -2006-05-27 Daniel Steffen - - * 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 - - * 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 - - * 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 - - * 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. Note - that the fix will not be effective for code that calls the private - routine TclProcCompileProc() directly. [Bug 1482718] - -2006-05-13 Daniel Steffen - - * generic/tclEvent.c (HandleBgErrors): fix leak. [Coverity issue 86] - -2006-05-05 Don Porter - - * 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 - - * 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 - - *** 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 - - * 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 - - * 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 - https://wiki.tcl-lang.org/page/Nokia+770. - * 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 - - * doc/IntObj.3: Minor review fixes, including better documentation of - the behaviour of Tcl_GetBignumAndClearObj. - -2006-04-17 Don Porter - - * doc/IntObj.3: Documentation changes to account for TIP 237 changes. - * doc/Object.3: [Bug 1446971] - -2006-04-12 Donal K. Fellows - - * 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 - - * generic/tclTrace.c: Stop some interference between enter traces - * tests/trace.test: and enterstep traces. [Bug 1458266] - -2006-04-07 Don Porter - - * generic/tclPathObj.c: Yet another revised fix for the [Bug 1379287] - * tests/fileSystem.test: family of path normalization bugs. - -2006-04-06 Jeff Hobbs - - * generic/tclRegexp.c (FinalizeRegexp): full reset data to indicate - readiness for reinitialization. - -2006-04-06 Don Porter - - * 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 - - * 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 - - * win/tclWinInit.c: More careful calls to Tcl_DStringSetLength() - * win/tclWinSock.c: to avoid creating invalid DString states. Bump - * win/tclWinDde.c: to version 1.3.2. [RFE 1366195] - * library/dde/pkgIndex.tcl: - - * library/reg/pkgIndex.tcl: Bump to registry 1.2 because - * win/tclWinReg.c: Registry_Unload() is a new public routine - * win/Makefile.in: compared to the 1.1.* releases. - - * win/configure.in: Bump package version numbers. - * win/configure: autoconf 2.59 - -2006-04-05 Donal K. Fellows - - * 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 - - * generic/tclIO.c (ReadChars): Added check, panic and commentary to a - piece of code which relies on BUFFER_PADDING to create enough space at - the beginning of each buffer for the insertion of partial multibyte - data at the beginning of a buffer. Commentary explains why this code - is OK, and the panic is as a precaution if someone twiddled the - BUFFER_PADDING into uselessness. - - * generic/tclIO.c (ReadChars): Temporarily suppress the use of - TCL_ENCODING_END set when EOF was reached while the buffer we are - converting is not truly the last buffer in the queue. Together with - the Utf bug below it was possible to completely wreck the buffer data - structures, eventually crashing Tcl. [Bug 1462248] - - * generic/tclEncoding.c (UtfToUtfProc): Stop accessing memory beyond - the end of the input buffer when TCL_ENCODING_END is set and the last - bytes of the buffer start a multi-byte sequence. This bug contributed - to [Bug 1462248]. - -2006-03-30 Miguel Sofer - - * generic/tclExecute.c: remove unused var and silence gcc warning - -2006-03-29 Jeff Hobbs - - * win/Makefile.in: convert _NATIVE paths to use / to avoid ".\" - path-as-escape issue. - -2006-03-29 Don Porter - - * 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 - - * 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 - - * 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 - - * generic/tclIOUtil.c: fix to nativeFilesystemRecord comparisons - (lesser part of [Bug 1064247]) - -2006-03-27 Pat Thoyts - - * win/tclWinTest.c: Fixes for [Bug 1456373] (mingw-gcc issue) - -2006-03-27 Andreas Kupries - - * doc/CrtChannel.3: Added TCL_CHANNEL_VERSION_5, made it the - * generic/tcl.h: version where the "truncateProc" is defined at, - * generic/tclIO.c: and moved all channel drivers of Tcl to v5. - * generic/tclIOGT.c, generic/tclIORChan.c, unix/tclUnixChan.c: - * unix/tclUnixPipe.c, win/tclWinChan.c, win/tclWinConsole.c: - * win/tclWinPipe.c, win/tclWinSerial.c, win/tclWinSock.c: - -2006-03-27 Don Porter - - * 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 - - * generic/tclExecute.c: Corrections to INST_EXPON detection of - overflow to use mp_int calculations. - -2006-03-24 Kevin B. Kenny - - * generic/tclExecute.c (TclExecuteByteCode): Added a couple of missing - casts to 'int' that were affecting compilablity on VC6. - -2006-03-24 Don Porter - - * 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 - - * 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 - - * unix/tcl.spec: Cleaned up and completed the spec file. An RPM can - now be built from the tcl source distribution with "rpmbuild -tb - " - -2006-03-22 Reinhard Max - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * win/fCmd.test: add proper test constraints so the new tests don't - run on Unix. - -2006-03-14 Andreas Kupries - - * 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 - - * 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 - - * 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 - - * library/tm.tcl (::tcl::tm::Defaults): Fixed handling of environment - variable TCLX.y_TM_PATH, bad variable reference. Thanks to Julian - Noble. [Bug 1448251] - -2006-03-14 Vince Darley - - * 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 - - * 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 - - * 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 - - -- 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 - - * win/tclWinFile.c: previous patch breaks tests, so removed. - -2006-03-09 Vince Darley - - * 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 - - * generic/tclExecute.c: Complete missing bit of TIP 215 implementation - * tests/incr.test: - -2006-03-07 Joe English - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * generic/tclIO.c: Made several routines tolerant of - * generic/tclIORChan.c: interp == NULL arguments. [Bug 1380662] - * generic/tclIOUtil.c: - -2006-02-09 Don Porter - - 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 - - * doc/Encoding.3, doc/encoding.n: Updates due to review at request of - Don Porter. Mostly minor changes. - -2006-02-08 Don Porter - - 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 - - * 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 - - 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 - - * doc/dict.n: Fixed silly bug in example. Thanks to Heiner Marxen - for catching this! [Bug 1415725] - -2006-01-26 Donal K. Fellows - - * 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 - - * 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 - - * tests/string.test (string-12.21): Added test for [Bug 1410553] based - on original bug report. - -2006-01-23 Miguel Sofer - - * generic/tclStringObj.c: fixed incorrect handling of internal rep in - Tcl_GetRange. Thanks to twylite and Peter Spjuth. [Bug 1410553] - - * generic/tclProc.c: fixed args handling for precompiled bodies [Bug - 1412695]; thanks to Uwe Traum. - -2006-01-16 Reinhard Max - - * 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 - - * 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 - - * win/tclWinFile.c: fix to sharing violation [Bug 1366227] - -2006-01-11 Don Porter - - * 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 - - * 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 - - * generic/tclNamesp.c (NamespaceInscopeCmd): [namespace inscope] - * tests/namespace.test: commands were not reported by [info level]. - [Bug 1400572] - -2006-01-09 Donal K. Fellows - - * 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 - - * 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 - - * 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" *** - ****************************************************************** DELETED ChangeLog.2008 Index: ChangeLog.2008 ================================================================== --- ChangeLog.2008 +++ /dev/null @@ -1,3796 +0,0 @@ -2008-12-31 Don Porter - - * unix/Makefile.in: Set TCLLIBPATH in SHELL_ENV so that targets - like `make shell` have access to builds of bundled packages. - -2008-12-28 Donal K. Fellows - - * generic/tclZlib.c (Tcl_ZlibStreamPut): Plug a memory leak. - -2008-12-27 Donal K. Fellows - - * generic/tclZlib.c (ZlibStreamCmd): Fix compilation consistency. [Bug - * generic/tcl.decls: 2470237] - - * generic/tclZlib.c (Tcl_ZlibStreamGet): Corrected the semantics of - this function to be useful to the PNG implementation. If the argument - object is empty, this gives the previous semantics. - (Tcl_ZlibStreamChecksum): Corrected name to be less misleading; it - only produced Adler-32 checksums when the stream was processing the - right type of compressed data format. - (Tcl_ZlibAdler32, Tcl_ZlibCRC32): Corrected types so that they work - naturally with the results of Tcl_GetByteArrayFromObj(). - *** POTENTIAL INCOMPATIBILITY *** for all above changes, but very - unlikely to be difficult for anyone to deal with. - -2008-12-26 Donal K. Fellows - - * generic/tcl.decls: Tidy up the commenting style, adding markers for - each of the big release points under TCT stewardship and noting the - general purpose of each TIP that added C API. Overall effect is to - make this file much more informative to read without having to spend - effort correlating with TIPs and ChangeLogs. - -2008-12-23 Jan Nijtmans - - * win/Makefile.in: Fix build of zlib objects with msvc - * win/tcl.m4: - * win/configure: autoconf-2.59 - -2008-12-23 Donal K. Fellows - - * win/Makefile.in: Handle file extensions correctly. [Bug 2459725] - -2008-12-22 Pat Thoyts - - *** 8.6b1 TAGGED FOR RELEASE *** - - * win/makefile.vc: Ensure pkgs directories are suitable and quote the - paths. [Bug 2458395] - -2008-12-22 Joe Mistachkin - - * tools/man2help2.tcl: Added support for "\(mi" nroff macro. [Bug - 2330040] - -2008-12-22 Pat Thoyts - - * win/makefile.vc: Support the pkgs tree in the NMAKE builds. - -2008-12-21 Daniel Steffen - - * unix/Makefile.in: Fix broken build of bundled packages when path - to build dir contains spaces by switching to - relative paths to toplevel build dir. - - * unix/configure.in: Preserve configure environment variables for - sub-configures of bundled packages; reuse - configure cache file for sub-configures. - - * unix/configure: autoconf-2.59 - -2008-12-21 Donal K. Fellows - - * doc/TclZlib.3: Fix minor typo. [Bug 2455165] - -2008-12-20 Kevin B. Kenny - - * win/Makefile.in: Renamed the static library libtcl86s.a to - * win/configure.in: have a name distinct from the import library - libtcl86.a. This renaming dodges an ancient - bug in the Makefile revealed by the last - commit where the $(TCL_LIB_FILE) rule can - fire to try to build the static library in a - --enable-shared build (and create a static - library that subsequently fails to link). - Revised the zlib objects so that they are - built directly into the build dir, without - building an intermediate static library. - *** POTENTIAL INCOMPATIBILITY *** for - embedders who link to the static library, but - I couldn't figure out how to sort this out - any other way. - * win/configure: Autoconf 2.59 - -2008-12-20 Donal K. Fellows - - * win/Makefile.in: Minor updates to make building work better with - msys on Windows. (Apparently the gcc used doesn't like a / at the end - of a -I argument...) - -2008-12-20 Don Porter - - * changes: Updates for 8.6b1 release. - -2008-12-20 Daniel Steffen - - * unix/Makefile.in: Make package install directory of bundled - * unix/configure.in: packages configurable via PACKAGE_DIR makefile - variable (set to platform-specific default). - - * unix/Makefile.in (*-packages): Ensure toplevel targets fail if - sub-make/configure fails; fix quoting when - builddir path contains spaces. - - * macosx/GNUmakefile: Add install-packages to install targets. - - * unix/configure: autoconf-2.59 - -2008-12-19 Don Porter - - * doc/NRE.3: Formatting errors found by `make html` - * doc/Tcl_Main.3: - * doc/zlib.n: - - * tests/chanio.test: Add missing [removeFile] cleanups. - * tests/io.test: Add missing [close $f] to io-73.2. - - * unix/Makefile.in: Update `make dist' target to include the files - from the compat/zlib directory as well as all the bundled packages - found under the pkgs directory, according to their individual `make - dist' targets. Change includes breaking a `configure-packages' target - out of the `packages` target. - - * README: Bump version number to 8.6b1 - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - -2008-12-19 Jan Nijtmans - - * generic/tclInt.decls: CONSTify TclGetLoadedPackages second param - * generic/tclLoad.c - * generic/tclIntDecls.h (regenerated) - -2008-12-19 Kevin Kenny - - * generic/tclExecute.c: Fix compile warnings when --enable-symbols=all - - * win/configure.in: - * win/Makefile.in: Added build of packages in the 'pkgs/' directory. - * win/configure: Autoconf 2.59 - -2008-12-19 Pat Thoyts - - * win/makefile.vc: Added build of compat/zlib - -2008-12-18 Andreas Kupries - - * generic/tclIO.c (Tcl_CloseEx, CloseWrite, CloseChannelPart) - (ChanCloseHalf): Rewrite the half-close to properly flush the channel, - like is done for a full close, going through FlushChannel, and using - the flag BG_FLUSH_SCHEDULED (async flush during close). New functions - CloseWrite, CloseChannelPart, new flag CHANNEL_CLOSEDWRITE. - - * tests/chanio.test (chanio-28.[67]): Reactivated these tests. - Replaced tclsh -> [interpreter] to get correct executable for the pipe - process, and added after cancel to kill the fail timers when we are - done. Removed the explicits calls to [flush], now that [close] handles - this correctly. - -2008-12-18 Don Porter - - * tests/chanio.test: Replaced [chan event] handlers that returned - TCL_RETURN return code, with more conventional ones that return TCL_OK - to suppress otherwise strange writes of outdated $::errorInfo values - to stderr. [Bug 2444274] - - * generic/tclExecute.c: Disabled apparently faulty assertion. [Bug - 2415422] - -2008-12-18 Donal K. Fellows - - * unix/configure.in, unix/Makefile.in: Autoconf wizardry. - * compat/zlib/*: Import of zlib 1.2.3. The license is directly - compatible with Tcl's. This import omits the obsolete and contributed - parts (i.e. selected directories) and the supplied examples. - - * generic/tclZlib.c: First implementation of the compressing and - * doc/zlib.n: decompressing channel transformations. - * tests/zlib.test (zlib-8.*): - -2008-12-18 Jan Nijtmans - - * generic/tcl.decls: VOID -> void - * generic/tclInt.decls: - * compat/dlfcn.h: - * generic/tclDecls.h: (regenerated) - * generic/tclIntDecls.h: - -2008-12-18 Alexandre Ferrieux - - TIP #332 IMPLEMENTATION - Half-Close for Bidirectional Channels - - * doc/close.n, generic/tclIO.c, generic/tclIOCmd.c: - * unix/tclUnixChan.c, unix/tclUnixPipe.c, win/tclWinSock.c: - * generic/tcl.decls, generic/tclDecls.h, generic/tclStubInit.c: - * tests/chan.test, tests/chanio.test, tests/ioCmd.test: - -2008-12-17 Donal K. Fellows - - * doc/SetChanErr.3: General improvements in nroff rendering and some - corrections to language issues. - -2008-12-17 Jan Nijtmans - - * generic/tclResult.c: Move variable "length" inside if() - * generic/tclStringObj.c: Don't use ckfree((void *)...) but - * generic/tclVar.c: ckfree((char *)...) - * generic/tclZlib.c - * generic/tclBasic.c - -2008-12-17 Donal K. Fellows - - * tests/namespace.test (namespace-28.1): Make tests not - * tests/namespace-old.test (namespace-old-9.5): dependent on the - global namespace's particular imports. [Bug 2433936] - -2008-12-17 Don Porter - - * unix/Makefile.in: Modify the distclean-packages target so that - empty build directories are deleted. - - * unix/Makefile.in: Add build support for collections of TEA - * unix/configure.in: packages found under the pkgs directory. - [Patch 1163406]. Still needs porting to Windows. - - * unix/configure: autoconf-2.59 - -2008-12-17 Donal K. Fellows - - * generic/tcl.h, generic/tclZlib.c: Removed undocumented flag. - -2008-12-16 Jan Nijtmans - - * generic/tclThreadTest.c: Eliminate -Wwrite-strings warnings in - --enable-threads build. - * generic/tclExecute.c: Use TclNewLiteralStringObj() - * unix/tclUnixFCmd.c: Use TclNewLiteralStringObj() - * win/tclWinFCmd.c: Use TclNewLiteralStringObj() - -2008-12-16 Donal K. Fellows - - TIP #329 IMPLEMENTATION - - * tests/error.test: Tests for the new commands. - * doc/throw.n, doc/try.n: Documentation of the new commands. - * library/init.tcl (throw, try): Implementation of commands documented - in TIP. This implementation is in Tcl and is a stop-gap until - higher-performance ones can be written. - -2008-12-16 Don Porter - - * generic/tcl.h: Add TIP 338 routines to stub table. - * generic/tcl.decls: [Bug 2431338] - - * generic/tclDecls.h: make genstubs - * generic/tclStubInit.c: - -2008-12-15 Donal K. Fellows - - * generic/tclExecute.c (TEBC:INST_DICT_GET): Make sure that the result - is empty when generating an error message. [Bug 2431847] - -2008-12-15 Alexandre Ferrieux - - * generic/tclBinary.c: Redefine non-strict decoding to ignore only - * doc/binary.n: whitespace. [Bug 2380293] - * tests/binary.test: - -2008-12-15 Don Porter - - * doc/AddErrInfo.3: Documented Tcl_(Set|Get)ErrorLine (TIP 336). - * doc/CrtCommand.3: Various other documentation updates to - * doc/CrtInterp.3: reflect the lack of access to Tcl_Interp - * doc/Interp.3: fields by default. - * doc/SetResult.3: - * doc/tcl.decls: - - TIP #338 IMPLEMENTATION - - * doc/AppInit.c: Made routines Tcl_SetStartupScript and - * doc/Tcl_Main.3: Tcl_GetStartupScript public. Removed all - * generic/tcl.h: internal stub access to Tcl*Startup* routines, - * generic/tclInt.decls: and removed their implementations. Their - * generic/tclMain.c: function can now be completely performed with - the new public interface. - *** POTENTIAL INCOMPATIBILITY for callers of the internal - Tcl*Startup* routines. *** - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - * generic/tclDecls.h: - -2008-12-14 Donal K. Fellows - - * tests/zlib.test: Added constraint so that tests don't fail where - they cannot work due to zlib support being missing. - - * unix/configure.in, win/configure.in: Improve the autodetection code. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove the assumption of the presence - of zlib library on Windows. - * win/makefile.vc, win/makefile.bc: Add support for building tclZlib.o - but only in stubbed-out mode for now. - -2008-12-13 Donal K. Fellows - - * doc/TclZlib.3: Basic documentation of the C-level API. - * doc/zlib.n: Substantially improve documentation of Tcl-level API. - * generic/tclZlib.c (ZlibCmd): Flesh out the argument parsing for the - command to integrate with channels. - -2008-12-12 Jan Nijtmans - - * generic/tclZlib.c (Tcl_ZlibInflate): Change PATH_MAX to MAXPATHLEN, - since MSVC doesn't have PATH_MAX. - - * doc/clock.n: Document new DST fallback rules. - * library/clock.tcl (ProcessPosixTimeZone): Fix time change in Eastern - Europe (not 3:00 but 4:00 local time). [Bug 2207436] - -2008-12-12 Donal K. Fellows - - * generic/tclZlib.c, unix/configure.in: Added stubs to use when the - version of zlib is not capable enough, and automagic to detect when - that is the case. [Bug 2421265] - -2008-12-12 Alexandre Ferrieux - - * unix/tclUnixNotfy.c: Fix missing CLOEXEC on internal pipes [2417695] - * unix/tclUnixPipe.c: Fix missing CLOEXEC on [chan pipe] fds. - -2008-12-12 Donal K. Fellows - - * generic/tclZlib.c (Tcl_ZlibDeflate): Add a bit of extra space for - the gzip header. [Bug 2419061] - (Tcl_ZlibInflate): Ensure that gzip header extraction is done - correctly. - -2008-12-12 Kevin Kenny - - TIP #322 IMPLEMENTATION - - * doc/NRE.3 (new file): Added documentation of the published API for - Non-Recursive Evaluation (NRE). - -2008-12-11 Jan Nijtmans - - * generic/tclZlib.c: Eliminate warning: different 'const' qualifiers - with msvc compiler. A few more 'const' optimizations. - * win/tcl.m4: Fix Windows build (msvc) for TIP #234 implementation - * win/Makefile.in: - * win/configure: - -2008-12-11 Andreas Kupries - - * generic/tclIO.c (SetChannelFromAny and related): Modified the - * tests/io.test: internal representation of the tclChannelType to - contain not only the ChannelState pointer, but also a reference to - the interpreter it was made in. Invalidate and recompute the - internal representation when it is used in a different interpreter, - like cmdName intrep's. Added testcase. [Bug 2407783] - -2008-12-11 Donal K. Fellows - - * generic/tclZlib.c (ConvertError): Factor out code to turn zlib - errors into Tcl errors. - - * doc/zlib.n: Added a start at the documentation. Still very rough. - -2008-12-11 Jan Nijtmans - - * win/Makefile.in: Fix Windows build (mingw) for TIP #234 - implementation (additionally, first make sure that zlib is available, - and rename the standard zdll.lib to libz.a, but at least this works so - far). - -2008-12-11 Donal K. Fellows - - * tests/zlib.test: Start of test suite for zlib command. - -2008-12-11 Jan Nijtmans - - * library/clock.tcl (ProcessPosixTimeZone): Fallback to European time - zone DST rules, when the timezone is between 0 and -12. [Bug 2207436] - * tests/clock.test (clock-52.[23]): Test cases for [Bug 2207436] - -2008-12-11 Donal K. Fellows - - TIP #234 IMPLEMENTATION - - * generic/tclZlib.c: A very preliminary hack at an interface to the - zlib library, based on code from Pascal Scheffers. - WARNING! The C API may be subect to change without much warning! USE - AT YOUR OWN RISK! - -2008-12-10 Kevin B. Kenny - - * library/tzdata/*: Update from Olson's tzdata2008i. - -2008-12-10 Alexandre Ferrieux - - TIP #343 IMPLEMENTATION - A Binary Specifier for [format/scan] - - * doc/format.n - * doc/scan.n - * generic/tclInt.h - * generic/tclScan.c - * generic/tclStrToD.c - * generic/tclStringObj.c - * tests/format.test - * tests/scan.test - -2008-12-10 Donal K. Fellows - - TIP #341 IMPLEMENTATION - - * generic/tclDictObj.c (DictFilterCmd): Made key and value filtering - * tests/dict.test, doc/dict.n: accept arbitrary numbers of - glob arguments. - -2008-12-09 Jan Nijtmans - - * generic/tclInt.decls: Restore source and binary compatibility for - TIP #337 implementation. (When it is _that_ - simple, there is no excuse not to do it! :-)) - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - -2008-12-09 Don Porter - - TIP #337 IMPLEMENTATION - - * doc/BackgdErr.3: Converted internal routine - * doc/interp.n: TclBackgroundException() into public routine - * generic/tcl.decls: Tcl_BackgroundException(). - * generic/tclEvent.c: - * generic/tclInt.decls: - - * generic/tclDecls.h: make genstubs - * generic/tclIntDecls.h: - * generic/tclStubInit.c: - - * generic/tclIO.c: Update callers. - * generic/tclIOCmd.c: - * generic/tclInterp.c: - * generic/tclTimer.c: - *** POTENTIAL INCOMPATIBILITY only for extensions using the converted - internal routine *** - -2008-12-09 Donal K. Fellows - - * generic/tclIO.c (ChanClose,ChanRead,...): Factored out some of the - code to connect to channel drivers that was common in multiple - locations so as to make code more readable. - -2008-12-06 Donal K. Fellows - - * generic/tclCmdAH.c (FileTempfileCmd): Force temporary files to be - created in the native filesystem. Attempting to provide a template - that puts it elsewhere will result in the directory part of the - template being ignored. Partial address of [Bug 2388866] concerns. - -2008-12-05 Donal K. Fellows - - TIP #335 IMPLEMENTATION - - * generic/tclBasic.c (Tcl_InterpActive): Added function for working - * doc/CrtInterp.3: out if an interp is in use. - - TIP #307 IMPLEMENTATION - - * generic/tclResult.c (Tcl_TransferResult): Renamed function from - * generic/tcl.decls: TclTransferResult. Added - * doc/SetResult.3: to public stubs table. - -2008-12-04 Don Porter - - * generic/tclPathObj.c (Tcl_FSGetNormalizedPath): Added another - flag value TCLPATH_NEEDNORM to mark those intreps which need more - complete normalization attention for correct results. [Bug 2385549] - -2008-12-03 Donal K. Fellows - - * win/tclWinPipe.c (TclpOpenTemporaryFile): Avoid an infinite loop due - to GetTempFileName/CreateFile interaction. [Bug 2380318] - -2008-12-03 Don Porter - - * generic/tclFileName.c (DoGlob): One of the Tcl_FSMatchInDirectory - calls did not have its return code checked. This caused error messages - returned by some Tcl_Filesystem drivers to be swallowed. - -2008-12-02 Don Porter - - TIP #336 IMPLEMENTATION - - * generic/tcl.decls: New routines Tcl_(Get|Set)ErrorLine. - * generic/tcl.h: Dropped default access to interp->errorLine. - * generic/tclCmdAH.c: Restore it with -DUSE_INTERP_ERRORLINE. - * generic/tclCmdMZ.c: Updated callers. - * generic/tclDictObj.c: - * generic/tclIOUtil.c: - * generic/tclNamesp.c: - * generic/tclOOBasic.c: - * generic/tclOODefinedCmds.c: - * generic/tclOOMethod.c: - * generic/tclProc.c: - * generic/tclResult.c: - *** POTENTIAL INCOMPATIBILITY for C code directly using the - interp->errorLine field *** - - * generic/tclDecls.h: make genstubs - * generic/tclStubInit.c: - -2008-12-02 Andreas Kupries - - * generic/tclIO.c (TclFinalizeIOSubsystem): Replaced Alexandre - Ferrieux's first patch for [Bug 2270477] with a gentler version, also - supplied by him. - -2008-12-01 Don Porter - - * generic/tclParse.c: Coding standards fixups. - -2008-12-01 Donal K. Fellows - - * tests/cmdAH.test (cmdAH-32.6): Test was not portable; depended on a - C API function not universally available. [Bug 2371623] - -2008-11-30 Kevin B. Kenny - - * library/clock.tcl (format, ParseClockScanFormat): Added a [string - map] to get rid of namespace delimiters before caching a scan or - format procedure. [Bug 2362156] - * tests/clock.test (clock-64.[12]): Added test cases for the bug that - was tickled by a namespace delimiter inside a format string. - -2008-11-29 Donal K. Fellows - - TIP #210 IMPLEMENTATION - - * generic/tclCmdAH.c (FileTempfileCmd): - * unix/tclUnixFCmd.c (TclpOpenTemporaryFile, DefaultTempDir): - * win/tclWinPipe.c (TclpOpenTemporaryFile): - * doc/file.n, tests/cmdAH.test: Implementation of [file tempfile]. I - do not claim that this is a brilliant implementation, especially on - Windows, but it covers the main points. - - * generic/tclThreadStorage.c: General revisions to make code clearer - and more like the style used in the rest of the core. Includes adding - more comments and explanation of what is going on. Reduce the amount - of locking required. - -2008-11-27 Alexandre Ferrieux - - * generic/tcl.h: Alternate fix for [Bug 2251175]: missing - * generic/tclCompile.c: backslash substitution on expanded literals. - * generic/tclParse.c: - * generic/tclTest.c: - * tests/parse.test: - -2008-11-26 Jan Nijtmans - - * generic/tclIndexObj.c: Eliminate warning: unused variable - * generic/tclTest.c: A few more (harmless) Tcl_SetResult - eliminations. - -2008-11-26 Kevin B. Kenny - - * library/tclIndex: Removed reference to no-longer-extant procedure - 'tclLdAout'. - * doc/library.n: Corrected mention of 'auto_exec' to 'auto_execok'. - [Patch 2114900] thanks to Stuart Cassoff - -2008-11-25 Jan Nijtmans - - * generic/tclIndexObj.c: Eliminate 3 calls to Tcl_SetResult, as - * generic/tclIO.c: examples how it should have been done. - * generic/tclTestObj.c: purpose: contribute in the TIP #340 - discussion. - -2008-11-25 Andreas Kupries - - * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Alexandre - Ferrieux's patch for [Bug 2270477] to prevent infinite looping during - finalization of channels not bound to interpreters. - -2008-11-25 Jan Nijtmans - - * generic/tclTest.c: Don't assume that Tcl_SetResult sets - interp->result, especially not in a DString test, in preparation for - TIP #340 - -2008-11-24 Donal K. Fellows - - * tools/tcltk-man2html.tcl: Improvements to tackle tricky aspects of - cross references and new entities to map. [Bug 2330040] - -2008-11-19 Jan Nijtmans - - * generic/tclThreadTest.c: Convert Tcl_SetResult(......, TCL_DYNAMIC) - to Tcl_SetResult(......, TCL_VOLATILE), in preparation for TIP #340 - -2008-11-17 Jan Nijtmans - - * generic/tcl.decls: Fix signature and implementation of - * generic/tclDecls.h: Tcl_HashStats, such that it conforms to the - * generic/tclHash.c: documentation. [Bug 2308236] - * generic/tclVar.c: - * doc/Hash.3: - * generic/tclDictObj.c: Convert Tcl_SetResult call to - Tcl_SetObjResult. - -2008-11-17 Alexandre Ferrieux - - * tests/for.test: Check for uncompiled-for-continue [Bug 2186888] - fixed earlier. - - * generic/tcl.h: Fix [Bug 2251175]: missing backslash - * generic/tclCompCmds.c: substitution on expanded literals. - * generic/tclCompile.c - * generic/tclParse.c - * generic/tclTest.c - * tests/compile.test - * tests/parse.test - -2008-11-16 Jan Nijtmans - - * generic/tclTest.c: Replace two times Tcl_SetResult with - Tcl_SetObjResult, a little simplification in preparation for the TIP - #340 patch. - -2008-11-13 Jan Nijtmans - - * generic/tclInt.h: Rename static function FSUnloadTempFile to - * generic/tclIOUtil.c: TclFSUnloadTempFile, needed in tclLoad.c - - * generic/tclLoad.c: Fixed [Bug 2269431]: Load of shared - objects leaves temporary files on windows. - -2008-11-12 Pat Thoyts - - * tests/registry.test: Use HKCU to avoid requiring admin access for - registry testing on Vista/Server2008 - -2008-11-11 Jan Nijtmans - - * generic/tclNamesp.c: Eliminate warning: passing arg 4 of - Tcl_SplitList from incompatible pointer type. - * win/tcl.m4: Reverted change from 2008-11-06 (was under the - impression that "-Wno-implicit-int" added an extra - warning) - * win/configure: (regenerated) - * unix/tcl.m4: Use -O2 as gcc optimization compiler flag, and get rid - of -Wno-implicit-int for UNIX. - * unix/configure: (regenerated) - -2008-11-10 Andreas Kupries - - * doc/platform_shell.n: Fixed [Bug 2255235], reported by Ulrich - * library/platform/pkgIndex.tcl: Ring . - * library/platform/shell.tcl: Updated the LOCATE command in the - * library/tm.tcl: package 'platform::shell' to handle the new form - * unix/Makefile.in: of 'provide' commands generated by tm.tcl. Bumped - * win/Makefile.in: package to version 1.1.4. Added cross-references - to the relevant parts of the code to avoid future desynchronization. - -2008-11-07 Pat Thoyts - - * generic/tclInt.h: Applied [Patch 2215022] from Duoas to clean up - * generic/tclBinary.c: the binary ensemble initiailization code. - * generic/tclNamesp.c: Extends the TclMakeEnsemble to do - * doc/ByteArrObj.3: sub-ensembles from tables. - -2008-11-06 Jan Nijtmans - - * win/tcl.m4: Add "-Wno-implicit-int" flag for gcc, as on UNIX - * win/configure: (regenerated) - * generic/tclIO.c: Eliminate an 'array index out of bounds' warning - on HP-UX. - -2008-11-04 Jeff Hobbs - - * generic/tclPort.h: Remove the ../win/ header dir as the build system - already has it, and it confuses builds when used with private headers - installed. - -2008-11-01 Donal K. Fellows - - * generic/tclOO.h (TCLOO_VERSION): Bump version of TclOO. - -2008-10-31 Donal K. Fellows - - * generic/tclOOBasic.c (TclOONRUpcatch): Reworked the code that does - * generic/tclOO.c (InitFoundation): class constructor handling so - that it is more robust and runs the constructor call in the context of - the caller of the class's constructor method. Needed because the - previously used code did not work at all after applying the fix below; - no Tcl existing command could reliably do what was needed any more. - - * generic/tclOODefineCmds.c (GetClassInOuterContext): Rework and - factor out the code to resolve class names in definitions so that - classes are resolved from the perspective of the caller of the - [oo::define] command, rather than from the oo::define namespace! This - makes much code simpler by reducing how often fully-qualified names - are required (previously always in practice, so no back-compat issues - exist). [Bug 2200824] - -2008-10-28 Jan Nijtmans - - * generic/tclCompile.h: CONSTify TclDTraceInfo - * generic/tclBasic.c: - * generic/tclProc.c: - * generic/tclEnv.c: Eliminate some -Wwrite-strings warnings - * generic/tclLink.c: - -2008-10-27 Don Porter - - * generic/tclEncoding.c: Use "iso8859-1" and not "identity" as - the default and original [encoding system] value. Since "iso8859-1" is - built in to the C source code for Tcl now, there's no availability - issue, and it has the good feature of "identity" that we must have - ("bytes in" == "bytes out") without the bad feature of "identity" - ("broken as designed") that makes us want to abandon it. [RFE 2008609] - *** POTENTIAL INCOMPATIBILITY for older releases of Tclkit and any - other code expecting a particular value for Tcl's default system - encoding *** - -2008-10-24 Pat Thoyts - - * library/http/http.tcl: Fixed a failure to read SHOUTcast streams - with the new 2.7 package. Introduced a new intial state as the first - response may not be HTTP*. - -2008-10-23 Miguel Sofer - - * generic/tclCmdAH.c (ForNextCallback): handle TCL_CONTINUE in the for - body. [Bug 2186888] - -2008-10-22 Jan Nijtmans - - * generic/tcl.h: CONST -> const and white-spacing - * generic/tclCompile.h: - * generic/tclEncoding.c: - * generic/tclStubInit.c: - * generic/tclStubLib.c: - * generic/tcl.decls - * generic/tclInt.decls - * generic/tclTomMath.decls - * generic/tclDecls.h: (regenerated) - * generic/tclIntDecls.h: (regenerated) - * generic/tclIntPlatDecls.h: (regenerated) - * generic/tclOODecls.h: (regenerated) - * generic/tclOOIntDecls.h: (regenerated) - * generic/tclPlatDecls.h: (regenerated) - * generic/tclTomMathDecls.h: (regenerated) - * generic/tclIntDecls.h: (regenerated) - * tools/genStubs.tcl: CONST -> const and white-spacing - -2008-10-19 Don Porter - - * generic/tclProc.c: Reset -level and -code values to defaults - after they are used. [Bug 2152286] - -2008-10-19 Donal K. Fellows - - * generic/tclBasic.c (TclInfoCoroutineCmd): Added code to make this - check for being invoked in a syntactically correct way. - - * doc/info.n: Added documentation of [info coroutine]. - - * doc/prefix.n: Improved the documentation by fixing formatting, - adding good-practice recommendations and cross-references, etc. - -2008-10-17 Jan Nijtmans - - * generic/tclOO.decls: CONST -> const. - * generic/tclOODecls.h: (regenerated) - * generic/tclOOIntDecls.h: (regenerated) - -2008-10-17 Andreas Kupries - - * generic/tclIORTrans.c (DeleteReflectedTransformMap): Removed debug - output in C++ comment. - -2008-10-17 Don Porter - - * generic/tclCompile.h: Declare the internal tclInstructionTable to - * generic/tclExecute.c: simply be "const", not CONST86. - - * generic/tclCmdAH.c: whitespace. - * generic/tclCmdIL.c: Uninitialized variable warning. - * generic/tclTest.c: const correctness warning. - -2008-10-17 Donal K. Fellows - - * doc/*: Many very small formatting fixes. - * doc/{glob,http,if}.n: More substantial reformatting for clarity. - * doc/split.n: Remove mention of defunct c.l.t.announce - -2008-10-16 Jan Nijtmans - - * generic/regc_locale.c: Add "const" to many internal const tables. - * generic/tclClock.c: No functional or API change. - * generic/tclCmdIL.c - * generic/tclConfig.c - * generic/tclDate.c - * generic/tclEncoding.c - * generic/tclEvent.c - * generic/tclExecute.c - * generic/tclFileName.c - * generic/tclGetDate.y - * generic/tclInterp.c - * generic/tclIO.c - * generic/tclIOCmd.c - * generic/tclIORChan.c - * generic/tclIORTrans.c - * generic/tclLoad.c - * generic/tclObj.c - * generic/tclOOBasic.c - * generic/tclOOCall.c - * generic/tclOOInfo.c - * generic/tclPathObj.c - * generic/tclPkg.c - * generic/tclResult.c - * generic/tclStringObj.c - * generic/tclTest.c - * generic/tclTestObj.c - * generic/tclThreadTest.c - * generic/tclTimer.c - * generic/tclTrace.c - * macosx/tclMacOSXFCmd.c - * win/cat.c - * win/tclWinInit.c - * win/tclWinTest.c - -2008-10-16 Don Porter - - * library/init.tcl: Revised [unknown] so that it carefully - preserves the state of the ::errorInfo and ::errorCode variables at - the start of auto-loading and restores that state before the - autoloaded command is evaluated. [Bug 2140628] - -2008-10-15 Jan Nijtmans - - * generic/tclInt.h: Add "const" to many internal const tables, so - * generic/tclBinary.c: those will be put by the C-compiler in the - * generic/tclCompile.c: TEXT segment in stead of the DATA segment. - * generic/tclDictObj.c: This makes those tables sharable in shared - * generic/tclHash.c: libraries. - * generic/tclListObj.c: - * generic/tclNamesp.c: - * generic/tclObj.c: - * generic/tclProc.c: - * generic/tclRegexp.c: - * generic/tclStringObj.c: - * generic/tclUtil.c: - * generic/tclVar.c: - -2008-10-14 Jan Nijtmans - - * generic/tclCmdAH.c: Fix minor compiler warnings when compiling - * generic/tclCmdMZ.c: with -Wwrite-strings. - * generic/tclIndexObj.c: - * generic/tclProc.c: - * generic/tclStubLib.c: - * generic/tclUtil.c: - * win/tclWinChan.c: - * win/tclWinDde.c: - * win/tclWinInit.c: - * win/tclWinReg.c: - * win/tclWinSerial.c: - -2008-10-14 Donal K. Fellows - - * doc/binary.n: Formatting fix. - -2008-10-14 Don Porter - - * README: Bump version number to 8.6a4 - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - - * generic/tclExecute.c: Fix compile warnings when --enable-symbols=all - - * generic/tclCmdIL.c: Fix write to unallocated memory whenever - [lrepeat] returns an empty list. - -2008-10-14 Donal K. Fellows - - * doc/chan.n, doc/fconfigure.n: Added even more emphatic text to - direct people to the correct manual pages for specific channel types, - suitable for the hard-of-reading. Following discussion on tcl-core. - -2008-10-13 Pat Thoyts - - * win/tclWinThrd.c (TclpThreadCreate): We need to initialize the - thread id variable to 0 as on 64 bit windows this is a pointer sized - field while windows only fills it with a 32 bit value. The result is - an inability to join the threads as the ids cannot be matched. - - * generic/tclTest.c (TestNRELevels): Set array to the right size. - -2008-10-13 Donal K. Fellows - - * generic/tclOOInfo.c (InfoClassDestrCmd): Handle error case. - - * generic/tclOOInt.h: Added macro magic to make things work with - Objective C. [Bug 2163447] - -2008-10-12 Miguel Sofer - - * generic/tclCompile.c: Fix bug in srcDelta encoding within ByteCodes. - The bug can only be triggered under conditions that cannot happen in - Tcl, but were met during development of L. Thanks go to Robert Netzer - for diagnosis and fix. - -2008-10-10 Don Porter - - *** 8.6a3 TAGGED FOR RELEASE *** - - * changes: Updates for 8.6a3 release. - -2008-10-10 Donal K. Fellows - - * generic/tclOODefineCmds.c (TclOODefineUnexportObjCmd) - (TclOODefineExportObjCmd): Corrected export/unexport record synthesis. - [Bug 2155658] - -2008-10-08 Jan Nijtmans - - * unix/tclUnixChan.c: Fix minor compiler warning. - * unix/tcl.m4: Fix for [Bug 2073255] - * unix/configure: Regenerated - -2008-10-08 Miguel Sofer - - * generic/tclBasic (TclInfoCoroutineCmd): - * tests/unsupported.test: Arrange for [info coroutine] to return {} - when a coroutine is running but the resume command has been deleted. - [Bug 2153080] - -2008-10-08 Don Porter - - * generic/tclTrace.c: Corrected handling of errors returned by - variable traces so that the errorInfo value contains the original - error message. [Bug 2151707] - - * generic/tclVar.c: Revised implementation of TclObjVarErrMsg so - that error message construction does not disturb an existing - iPtr->errorInfo that may be in progress. - -2008-10-07 Donal K. Fellows - - * doc/binary.n: Added better documentation of the [binary encode] and - [binary decode] subcommands. - -2008-10-07 Miguel Sofer - - TIP #327,#328 IMPLEMENTATIONS - - * generic/tclBasic.c: Move [tailcall], [coroutine] and - * generic/tclCmdIL.c: [yield] out of ::tcl::unsupported - * tclInt.h: - * tests/info.test: and into global scope: TIPs #327 - * tests/unsupported.test: and #328 - -2008-10-07 Donal K. Fellows - - * doc/chan.n, doc/transchan.n: Documented the channel transformation - API of TIP #230. - -2008-10-06 Pat Thoyts - - * tests/winFCmd.test: Fixed some erroneous tests on Vista+. - * generic/tclFCmd.c: Fix constness for msvc of last commit - -2008-10-06 Joe Mistachkin - - * tools/man2tcl.c: Added missing line from patch by Harald Oehlmann. - [Bug 1934200] - -2008-10-05 Jan Nijtmans - - * doc/FileSystem.3: CONSTified Tcl_FSFileAttrStringsProc - * generic/tclFCmd.c: and tclpFileAttrStrings. This allows - * generic/tclIOUtil.c: FileSystems to report their attributes - * generic/tclTest.c: as const strings, without worrying that - * unix/tclUnixFCmd.c: Tcl modifies them (which Tcl should not - * win/tclWinFCmd.c: do anyway, but the API didn't indicate that) - * generic/tcl.decls - * generic/tclDecls.h: regenerated - * generic/tcl.h: Make sure that if CONST84 is defined as empty, - CONST86 should be defined as empty as well - (unless overridden). This change complies with - TIP #27 - *** POTENTIAL INCOMPATIBILITY *** - -2008-10-05 Kevin B, Kenny - - * libtommath/bn_mp_sqrt.c (bn_mp_sqrt): Handle the case where a - * tests/expr.test (expr-47.13): number's square root is - between n< - - * generic/tclInt.decls: CONSTified the AuxDataType argument - * generic/tclCompCmds.c: of TclCreateAuxData and - * generic/tclCompile.c: TclRegisterAuxDataType and the return - * generic/tclCompile.h: values of TclGetAuxDataType and - * generic/tclExecute.c: TclGetInstructionTable - * generic/tclIntDecls.h: regenerated - This change complies with TIP #27 (even though it only involves - internal function, so this is not even necessary). - -2008-10-05 Donal K. Fellows - - * generic/tclIndexObj.c (TclInitPrefixCmd): Make the [tcl::prefix] - into an exported command. [Bug 2144595] - -2008-10-04 Donal K. Fellows - - * generic/tclCmdIL.c (InfoFrameCmd): Improved hygiene of result - * generic/tclRegexp.c (TclRegAbout): handling. - -2008-10-04 Jan Nijtmans - - * generic/tclLoad.c: Make sure that any library which doesn't have an - unloadproc is only really unloaded when no library code is executed - yet. [Bug 2059262] - -2008-10-04 Donal K. Fellows - - * generic/tclOOInfo.c (GetClassFromObj): Factor out the code to parse - a Tcl_Obj and get a class. Also make result handling hygienic. - * generic/tclOOBasic.c (TclOOSelfObjCmd): Better hygiene of results, - and stop allocating quite so much memory by sharing special "method" - names. - -2008-10-04 Jan Nijtmans - - * doc/ChnlStack.3: CONSTified the typePtr argument - * doc/CrtChannel.3: of Tcl_CreateChannel and Tcl_StackChannel - * generic/tcl.decls: and the return value of Tcl_GetChannelType - * generic/tcl.h - * generic/tclIO.h - * generic/tclIO.c - * generic/tclDecls.h: regenerated - This change complies with TIP #27. - - * doc/Hash.3: CONSTified the typePtr argument - * generic/tcl.decls: of Tcl_InitCustomHashTable. - * generic/tcl.h - * generic/tclHash.c - * generic/tclDecls.h: regenerated - This change complies with TIP #27. - - * doc/RegConfig.3: CONSTified the configuration argument - * generic/tcl.decls: of Tcl_RegisterConfig. - * generic/tcl.h - * generic/tclConfig.c - * generic/tclPkgConfig.c - * generic/tclDecls.h: regenerated - This change complies with TIP #27. - - * doc/GetIndex.3: CONSTified the tablePtr argument - * generic/tcl.decls: of Tcl_GetIndexFromObj. - * generic/tclIndexObj.c - * generic/tclDecls.h: regenerated - This change complies with TIP #27. - -2008-10-03 Miguel Sofer - - * tests/stack.test: - * unix/tclUnixTest.c: Removed test command teststacklimit and the - corresponding constraint: it is not needed with NRE - -2008-10-03 Donal K. Fellows - - TIP #195 IMPLEMENTATION - - * generic/tclIndexObj.c (TclGetIndexFromObjList, PrefixMatchObjCmd) - * doc/prefix.n, tests/string.test: Added [tcl::prefix] command for - working with prefixes of strings at the Tcl level. [Patch 1040206] - - TIP #265 IMPLEMENTATION - - * generic/tclIndexObj.c (Tcl_ParseArgsObjv, PrintUsage): - * generic/tcl.h (Tcl_ArgvInfo): Added function for simple parsing of - * doc/ParseArgs.3 (new file): optional arguments to commands. Still - needs tests and the like. [FRQ 1446696] Note that some of the type - signatures are changed a bit from the proposed implementation so that - they better reflect codified good practice for argument order. - -2008-10-02 Andreas Kupries - - * tests/info.test (info-23.3): Updated output of the test to handle - the NRE-enabled eval and the proper propagation of location - information through it. [Bug 2017632] - - * doc/info.n: Rephrased the documentation of 'info frame' for positive - numbers as level argument. [Bug 2134049] - - * tests/info.test (info-22.8): Made pattern for file containing - tcltest less specific to accept both .tcl and .tm variants of the file - during matching. [Bug 2129828] - -2008-10-02 Don Porter - - TIP #330 IMPLEMENTATION - - * generic/tcl.h: Remove the "result" and "freeProc" fields - * generic/tclBasic.c: from the default public declaration of the - * generic/tclResult.c: Tcl_Interp struct. Code should no longer - * generic/tclStubLib.c: be accessing these fields. Access can be - * generic/tclTest.c: restored by defining USE_INTERP_RESULT, but - * generic/tclUtil.c: that should only be a temporary migration aid. - *** POTENTIAL INCOMPATIBILITY *** - -2008-10-02 Joe Mistachkin - - * doc/info.n: Fix unmatched font change. - * doc/tclvars.n: Fix unmatched font change. - * doc/variable.n: Fix unmatched font change. - * tools/man2help2.tcl: Integrated patch from Harald Oehlmann. - [Bug 1934272] - * tools/man2tcl.c: Increase MAX_LINE_SIZE to fix "Too long line" error. - * win/buildall.vc.bat: Prefer the HtmlHelp target over the WinHelp - target. [Bug 2072891] - * win/makefile.vc: Fix the HtmlHelp and WinHelp targets to not be - mutually exclusive. - -2008-09-29 Don Porter - - TIP #323 IMPLEMENTATION (partial) - - * doc/glob.n: Revise [glob] to accept zero patterns. - * generic/tclFileName.c: - * tests fileName.test: - - * doc/linsert.n: Revise [linsert] to accept zero elements. - * generic/tclCmdIL.c: - * tests/linsert.test: - -2008-09-29 Donal K. Fellows - - TIP #326 IMPLEMENTATION - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Added -stride option to carry - * doc/lsort.n, tests/cmdIL.test: out sorting of lists where the - elements are grouped. Adapted from [Patch 2082681] - - TIP #313 IMPLEMENTATION - - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Added -bisect option to - * doc/lsearch.n, tests/lsearch.test: allow the finding of the - place to insert an element in a sorted list when that element is - not already there. [Patch 1894241] - - TIP #318 IMPLEMENTATION - - * generic/tclCmdMZ.c (StringTrimCmd,StringTrimLCmd,StringTrimRCmd): - Update the default set of trimmed characters to include some from the - larger UNICODE space. Factor out the default trim set into a macro so - that it is easier to keep them in synch. - -2008-09-28 Donal K. Fellows - - TIP #314 IMPLEMENTATION - - * generic/tclCompCmds.c (TclCompileEnsemble) - * generic/tclNamesp.c (NamespaceEnsembleCmd) - (Tcl_SetEnsembleParameterList, Tcl_GetEnsembleParameterList) - (NsEnsembleImplementationCmdNR): - * generic/tcl.decls, doc/Ensemble.3, doc/namespace.n - * tests/namespace.test: Allow the handling of a (fixed) number of - formal parameters between an ensemble's command and subcommand at - invocation time. [Patch 1901783] - -2008-09-28 Miguel Sofer - - * generic/tclBasic.c: Fix the numLevels computations on - * generic/tclInt.h: coroutine yield/resume - * tests/unsupported.test: - -2008-09-27 Donal K. Fellows - - * generic/tclFileName.c (Tcl_GetBlock*FromStat): Made this work - acceptably when working with OSes that don't support reporting the - block size from the stat() call. [Bug 2130726] - - * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Improve the handling of the - case where the combination of number of elements and repeat count - causes the resulting list to be too large. [Bug 2130992] - -2008-09-26 Don Porter - - TIP #323 IMPLEMENTATION (partial) - - * doc/lrepeat.n: Revise [lrepeat] to accept both zero - * generic/tclCmdIL.c: repetitions and zero elements to be repeated. - * tests/lrepeat.test: - - * doc/object.n: Revise standard oo method [my variable] to - * generic/tclOOBasic.c: accept zero variable names. - * tests/oo.test: - - * doc/tm.n: Revise [tcl::tm::path add] and - * library/tm.tcl: [tcl::tm::path remove] to accept zero paths. - * tests/tm.test: - - * doc/namespace.n: Revise [namespace upvar] to accept zero - * generic/tclNamesp.c: variable names. - * tests/upvar.test: - - * doc/lassign.n: Revise [lassign] to accept zero variable names. - * generic/tclCmdIL.c: - * tests/cmdIL.test: - -2008-09-26 Donal K. Fellows - - * generic/tclOO.h (TCLOO_VERSION): Bump the version. - -2008-09-25 Don Porter - - TIP #323 IMPLEMENTATION (partial) - - * doc/global.n: Revise [global] to accept zero variable names. - * doc/variable.n: Revise [variable] likewise. - * generic/tclVar.c: - * tests/proc-old.test: - * tests/var.test: - - * doc/global.n: Correct false claim about [info locals]. - -2008-09-25 Donal K. Fellows - - TIP #315 IMPLEMENTATION - - * tests/platform.test: Update tests to expect revised results - * tests/safe.test: corresponding to the TIP 315 change. - - * unix/tclUnixInit.c, win/tclWinInit.c (TclpSetVariables): - * doc/tclvars.n (tcl_platform): Define what character is used for - separating PATH-like lists. Forms part of the tcl_platform array. - - * generic/tclOOCall.c (InitCallChain, IsStillValid): - * tests/oo.test (oo-25.2): Revise call chain cache management so that - it takes into account class-wide caching correctly. [Bug 2120903] - -2008-09-24 Don Porter - - TIP #323 IMPLEMENTATION (partial) - - * doc/file.n: Revise [file delete] and [file mkdir] to - * generic/tclCmdAH.c: accept zero "pathname" arguments (the - * generic/tclFCmd.c: no-op case). - * tests/cmdAH.test: - * tests/fCmd.test: - -2008-09-24 Donal K. Fellows - - * generic/tclOOMethod.c (DBPRINT): Remove obsolete debugging macro. - [Bug 2124814] - - TIP #316 IMPLEMENTATION - - * generic/tcl.decls, generic/tclFileName.c (Tcl_GetSizeFromStat, etc): - * doc/FileSystem.3: Added reader functions for Tcl_StatBuf. - -2008-09-23 Donal K. Fellows - - * doc/Method.3: Corrected documentation. [Patch 2082450] - - * doc/lreverse.n, mathop.n, regexp.n, regsub.n: Make sure that the - initial line of the manpage includes nothing that chokes old versions - of man. [Bug 2118123] - -2008-09-22 Donal K. Fellows - - TIP #320 IMPLEMENTATION - - * generic/tclOODefineCmds.c (TclOODefineVariablesObjCmd): - * generic/tclOOInfo.c (InfoObjectVariablesCmd, InfoClassVariablesCmd): - * generic/tclOOMethod.c (TclOOSetupVariableResolver, etc): - * doc/define.n, doc/ooInfo.n, benchmarks/cps.tcl: - * tests/oo.test (oo-26.*): Allow the declaration of the common - variables used in methods of a class or object. These are then mapped - in using a variable resolver. This makes many class declarations much - simpler overall, encourages good usage of variable names, and also - boosts speed a bit. - - * generic/tclOOMethod.c (TclOOGetMethodBody): Factor out the code to - get the body of a procedure-like method. Reduces the amount of "poking - inside the abstraction" that is done by the introspection code. - -2008-09-22 Alexandre Ferrieux - - * doc/chan.n: Clean up paragraph order. - -2008-09-18 Miguel Sofer - - * generic/tclExecute.c (NEXT_INST_F): - * generic/tclInt.h (TCL_CT_ASSERT): New compile-time assertions, - adapted from www.pixelbeat.org/programming/gcc/static_assert.html - -2008-09-17 Don Porter - - * generic/tclInt.h: Correct the TclGetLongFromObj, TclGetIntFromObj, - and TclGetIntForIndexM macros so that they retrieve the longValue - field from the internalRep instead of casting the otherValuePtr field - to type long. - -2008-09-17 Miguel Sofer - - * library/init.tcl: Export min and max commands from the mathfunc - namespace. [Bug 2116053] - -2008-09-16 Joe Mistachkin - - * generic/tclParse.c: Move TclResetCancellation to be called on - returning to level 0, as opposed to it being called on starting a - substitution at level 0. - -2008-09-16 Miguel Sofer - - * generic/tclBasic.c: Move TclResetCancellation to be called on - returning to level 0, as opposed to it being called on starting a - command at level 0. Add a call on returning via Tcl_EvalObjEx to fix - [Bug 2114165]. - -2008-09-10 Donal K. Fellows - - * doc/binary.n: Added partial documentation of [binary encode] and - [binary decode]. - - * tests/binary.test,cmdAH.test,cmdIL.test,cmdMZ.test,fileSystem.test: - More use of tcltest2 to simplify the tests as exposed to people. - * tests/compile.test (compile-18.*): Added *some* tests of the - disassmbler, though not of its output format. - -2008-09-10 Miguel Sofer - - * tests/nre.test: Add missing constraints; enable test of foreach - recursion. - - * generic/tclBasic.c: - * generic/tclCompile.h: - * generic/tclExecute.c (INST_EVAL_STK): Wrong numLevels when evaling a - canonical list. [Bug 2102930] - -2008-09-10 Donal K. Fellows - - * generic/tclListObj.c (Tcl_ListObjGetElements): Make this list->dict - transformation - encountered when using [foreach] with dicts - not as - expensive as it was before. Spotted by Kieran Elby and reported on - tcl-core. - -2008-09-08 Donal K. Fellows - - * tests/append.test, appendComp.test, cmdAH.test: Use the powers of - tcltest2 to make these files simpler. - -2008-09-07 Miguel Sofer - - * generic/tclCompile.c (TclCompileTokens): - * generic/tclExecute.c (CompileExprObj): Fix a perf bug (found by Alex - Ferrieux) where some variables in the LVT where not being accessed by - index. Fix missing localCache management in compiled expressions found - while analyzing the bug. - -2008-09-07 Miguel Sofer - - * doc/namespace.n: Fix [Bug 2098441] - -2008-09-04 Miguel Sofer - - * generic/tclTrace.test (TraceVarProc): - * generic/unsupported.test: Insure that unset traces are run even when - the coroutine is unwinding. [Bug 2093947] - - * generic/tclExecute.c (CACHE_STACK_INFO): - * tests/unsupported.test: Restore execEnv's bottomPtr. [Bug 2093188] - -2008-09-02 Don Porter - - * generic/tcl.h: Stripped "callers" of the _ANSI_ARGS_ macro - * compat/dirent2.h: to support a TCL_NO_DEPRECATED build. - * compat/dlfcn.h: - * unix/tclUnixPort.h: - - * generic/tcl.h: Removed the conditional #define of - _ANSI_ARGS_ that would support pre-prototype C compilers. Since - _ANSI_ARGS_ is no longer used in tclDecls.h, it's clear no one - compiling against Tcl 8.5 headers is making use of a -DNO_PROTOTYPES - configuration. - -2008-09-02 Donal K. Fellows - - * tests/socket.test: Rewrote so as to use tcltest2 better. - -2008-09-01 Miguel Sofer - - * generic/tclCmdAH.c: NRE-enabling [eval]; eval scripts are now - * generic/tclOOBasic.c: bytecompiled. Adapted recursion limit tests - * tests/interp.test: that were relying on eval not being - * tests/nre.test: compiled. Part of the [Bug 2017632] project. - * tests/unsupported.test: - -2008-09-01 Donal K. Fellows - - * generic/tclOOMethod.c (InvokeProcedureMethod): - * generic/tclOO.c (ObjectRenamedTrace): Arrange for only methods that - involve callbacks into the Tcl interpreter to be skipped when the - interpreter is being torn down. Allows the semantics of destructors in - a dying interpreter to be more useful when they're implemented in C. - -2008-08-29 Donal K. Fellows - - * unix/Makefile.in: Ensure that all TclOO headers get installed. - * win/Makefile.in: [Bug 2082299] - * win/makefile.bc: - * win/makefile.vc: - -2008-08-28 Don Porter - - * README: Bump version number to 8.6a3 - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - -2008-08-27 Donal K. Fellows - - * doc/tclvars.n, doc/library.n: Ensured that these two manual pages - properly cross-reference each other. Issue reported on Tcler's Chat. - -2008-08-26 Miguel Sofer - - * generic/tclBasic.c (InfoCoroutine): - * tests/unsupported.test: New command that returns the FQN of the - currently executing coroutine. Lives as infoCoroutine under - unsupported, but is designed to become a subcommand of [info] - -2008-08-23 Miguel Sofer - - * generic/tclBasic.c (NRInterpCoroutine): Store the caller's eePtr, - stop assuming the coroutine is invoked from the same execEnv where it - was created. - -2008-08-24 Donal K. Fellows - - * generic/tclCmdAH.c (TclNRForeachCmd): Converted the [foreach] - command to have an NRE-aware non-compiled implementation. Part of the - [Bug 2017632] project. Also restructured the code so as to manage its - temporary memory more efficiently. - -2008-08-23 Miguel Sofer - - * generic/tclBasic.c: Removed unused var; fixed function pointer - * generic/tclOOInt.h: declarations (why did gcc start complaining - * generic/tclOOMethod.c: all of a sudden?) - * generic/tclProc.c: - -2008-08-23 Donal K. Fellows - - * generic/tclInt.h (EnsembleImplMap): Added extra field to make it - * generic/tclNamesp.c (TclMakeEnsemble): easier to build non-recursive - ensembles in the core. - - * generic/tclDictObj.c (DictForNRCmd): Converted the [dict for] - command to have an NRE-aware non-compiled implementation. Part of the - [Bug 2017632] project. - -2008-08-22 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclExecute.c: Set special errocodes: COROUTINE_BUSY, - COROUTINE_CANT_YIELD, COROUTINE_ILLEGAL_YIELD. - -2008-08-22 Don Porter - - *** 8.6a2 TAGGED FOR RELEASE *** - - * changes: Updates for 8.6a2 release. - - * generic/tcl.h: Drop use of USE_COMPAT85_CONST. That added - indirection without value. Use -DCONST86="" to engage source compat - support for code written for 8.5 headers. - - * generic/tclUtil.c (TclReToGlob): Added missing set of the - *exactPtr value to really fix [Bug 2065115]. Also avoid possible - DString overflow. - * tests/regexpComp.test: Correct duplicate test names. - -2008-08-21 Miguel Sofer - - * generic/tclBasic.c: Previous fix, now done right. - * generic/tclCmdIL.c: - * generic/tclInt.h: - * tests/unsupported.test: - -2008-08-21 Jeff Hobbs - - * tests/regexp.test, tests/regexpComp.test: Correct re2glob ***= - * generic/tclUtil.c (TclReToGlob): translation from exact - to anywhere-in-string match. [Bug 2065115] - -2008-08-21 Don Porter - - * generic/tcl.h: Reduced the use of CONST86 and eliminated - * generic/tcl.decls: the use of CONST86_RETURN to support source - code compatibility with Tcl 8.5 on those public routines passing - (Tcl_Filesystem *), (Tcl_Timer *), and (Tcl_Objtype *) values which - have been const-ified. What remains is the minimum configurability - needed to support code written for pre-8.6 headers via the new - -DUSE_COMPAT85_CONST compiler directive. - *** POTENTIAL INCOMPATIBILITY *** - - * generic/tclDecls.h: make genstubs - -2008-08-21 Miguel Sofer - - * generic/tclBasic.c: Fix the cmdFrame level count in - * generic/tclCmdIL.c: coroutines. Fix small bug on coroutine - * generic/tclInt.h: rewind. - -2008-08-21 Donal K. Fellows - - * generic/tclProc.c (Tcl_DisassembleObjCmd): Added ability to - disassemble TclOO methods. The code to do this is very ugly. - -2008-08-21 Pat Thoyts - - * generic/tclOOMethod.c: Added casts to make MSVC happy - * generic/tclBasic.c: - -2008-08-20 Donal K. Fellows - - * generic/tclOO.c (AllocObject): Suppress compilation of commands in - the namespace allocated for each object. - * generic/tclOOMethod.c (PushMethodCallFrame): Restore some of the - hackery that makes calling methods of classes fast. Fixes performance - problem introduced by the fix of [Bug 2037727]. - - * generic/tclCompile.c (TclCompileScript): Allow the suppression of - * generic/tclInt.h (NS_SUPPRESS_COMPILATION): compilation of commands - * generic/tclNamesp.c (Tcl_CreateNamespace): from a namespace or its - children. - -2008-08-20 Daniel Steffen - - * generic/tclTest.c (TestconcatobjCmd): Fix use of internal-only - TclInvalidateStringRep macro. [Bug 2057479] - -2008-08-17 Miguel Sofer - - * generic/tclBasic.c: Implementation of [coroutine] and [yield] - * generic/tclCmdAH.c: commands (in tcl::unsupported). - * generic/tclCompile.h: - * generic/tclExecute.c: - * generic/tclInt.h: - * tests/unsupported.test: - - * generic/tclTest.c (TestconcatobjCmd): - * generic/tclUtil.c (Tcl_ConcatObj): - * tests/util.test (util-4.7): - Fix [Bug 1447328]; the original "fix" turned Tcl_ConcatObj() into a - hairy monster. This was exposed by [Bug 2055782]. Additionally, - Tcl_ConcatObj could corrupt its input under certain conditions! - - *** NASTY BUG FIXED *** - -2008-08-16 Miguel Sofer - - * generic/tclExecute.c: Better cmdFrame management - -2008-08-14 Don Porter - - * tests/fileName.test: Revise new tests for portability to case - insensitive filesystems. - -2008-08-14 Daniel Steffen - - * generic/tclBasic.c (TclNREvalObjv, Tcl_NRCallObjProc): - * generic/tclProc.c (TclNRInterpProcCore, InterpProcNR2): - DTrace probes for NRE. [Bug 2017160] - - * generic/tclBasic.c (TclDTraceInfo): Add two extra arguments to - * generic/tclCompile.h: DTrace 'info' probes for tclOO - * generic/tclDTrace.d: method & class/object info. - - * generic/tclCompile.h: Add support for debug logging of DTrace - * generic/tclBasic.c: 'proc', 'cmd' and 'inst' probes (does _not_ - require a platform with DTrace). - - * generic/tclCmdIL.c (TclInfoFrame): Check fPtr->line before - dereferencing as line info may - not exists when TclInfoFrame() - is called from a DTrace probe. - - * tests/fCmd.test (fCmd-6.23): Made result matching robust when test - workdir and /tmp are not on same FS. - - * unix/tclUnixThrd.c: Remove unused TclpThreadGetStackSize() - * generic/tclInt.h: and related ifdefs and autoconf tests. - * unix/tclUnixPort.h: [Bug 2017264] (jenglish) - * unix/tcl.m4: - - * unix/Makefile.in: Ensure Makefile shell is /bin/bash for - * unix/configure.in (SunOS): DTrace-enabled build on Solaris. - (followup to 2008-06-12) [Bug 2016584] - - * unix/tcl.m4 (SC_PATH_X): Check for libX11.dylib in addition to - libX11.so et al. - - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - -2008-08-13 Miguel Sofer - - * tests/nre.test: Added test for large {*}-expansion effects - -2008-08-13 Don Porter - - * generic/tclFileName.c: Fix for errors handling -types {} - * tests/fileName.test: option to [glob]. [Bug 1750300] - Thanks to Matthias Kraft and George Peter Staplin. - -2008-08-12 Jeff Hobbs - - * generic/tclOOInfo.c (InfoObjectDefnCmd, InfoObjectMixinsCmd): - Fix # args displayed. [Bug 2048676] - -2008-08-08 Don Porter - - * generic/tclOOMethod.c (PushMethodCallFrame): Added missing check - for bytecode validity. [Bug 2037727] - - * generic/tclProc.c (TclProcCompileProc): On recompile of a - proc, clear away any entries on the CompiledLocal list from the - previous compile. This will prevent compile of temporary variables in - the proc body from growing the localCache arbitrarily large. - - * README: Bump version number to 8.6a2 - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - - * changes: Updates for 8.6a2 release. - -2008-08-11 Pat Thoyts - - * library/http/http.tcl: Remove 8.5 requirement. - * library/http/pkgIndex.tcl: - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: - -2008-08-11 Andreas Kupries - - * library/tm.tcl: Added a 'package provide' command to the generated - ifneeded scripts of Tcl Modules, for early detection of conflicts - between the version specified through the file name and a 'provide' - command in the module implementation, if any. Note that this change - also now allows Tcl Modules to not provide a 'provide' command at all, - and declaring their version only through their filename. - - * generic/tclProc.c (Tcl_ProcObjCmd): Fixed memory leak triggered by - * tests/proc.test: procbody::test::proc. See [Bug 2043636]. Added a - test case demonstrating the leak before the fix. Fixed a few spelling - errors in test descriptions as well. - -2008-08-11 Don Porter - - * library/http/http.tcl: Bump http version to 2.7.1 to account - * library/http/pkgIndex.tcl: for [Bug 2046486] bug fix. This - * unix/Makefile.in: release of http now requires a - * win/Makefile.in: dependency on Tcl 8.5 to be able to - * win/makefile.bc: use the unsigned formats in the - * win/makefile.vc: [binary scan] command. - -2008-08-11 Pat Thoyts - - * library/http/http.tcl: CRC field from zlib data should be treated as - unsigned for 64bit support. [Bug 2046846] - -2008-08-10 Miguel Sofer - - * generic/tclProc.c: Completely removed ProcCompileProc, which was a - fix for [Bug 1482718]. This is not needed at least since varReform, - where the local variable data at runtime is read from the CallFrame - and/or the LocalCache. - -2008-08-09 Miguel Sofer - - * generic/tclBasic.c: Slight cleanup - * generic/tclCompile.h: - * generic/tclExecute.c: - -2008-08-09 Daniel Steffen - - * generic/tclExecute.c: Fix warnings. - - * generic/tclOOMethod.c (PushMethodCallFrame): Fix uninitialized efi - name field. - - * tests/lrange.test (lrange-1.17): Add test cleanup; whitespace. - -2008-08-08 Don Porter - - * changes: Updates for 8.6a2 release. - -2008-08-08 Kevin Kenny - - * library/tzdata/CET: - * library/tzdata/MET: - * library/tzdata/Africa/Casablanca: - * library/tzdata/America/Eirunepe: - * library/tzdata/America/Rio_Branco: - * library/tzdata/America/Santarem: - * library/tzdata/America/Argentina/San_Luis: - * library/tzdata/Asia/Karachi: - * library/tzdata/Europe/Belgrade: - * library/tzdata/Europe/Berlin: - * library/tzdata/Europe/Budapest: - * library/tzdata/Europe/Sofia: - * library/tzdata/Indian/Mauritius: Olson's tzdata2008e. - -2008-08-07 Miguel Sofer - - * generic/tclBasic.c: Fix tailcalls falling out of tebc into - * generic/tclExecute.c: Tcl_EvalEx. [Bug 2017946] - * generic/tclInt.h: - -2008-08-06 Don Porter - - * generic/tclOO.c: Revised TclOO's check for an interp being - deleted during handling of object command deletion. The old code was - relying on documented features of command delete traces that do not in - fact work. [Bug 2039178] - - * tests/oo.test (oo-26.*): Added tests that demonstrate failure - of TclOO to check for various kinds of invalid bytecode during method - dispatch. [Bug 2037727] - -2008-08-06 Miguel Sofer - - * generic/tclVar.c (TclLookupSimpleVar): Fix bug that the core could - not trigger before TclOO: the number of locals was being read from the - Proc, which can under some circumstance be out of sync with the - localCache's. Found by dgp while investigating [Bug 2037727]. - - * library/init.tcl (::unknown): Removed the [namespace inscope] - hack that was maintained for Itcl - - *** POTENTIAL INCOMPATIBILITY *** for Itcl - Itcl users will need a new release with Itcl's [Patch 2040295], or - else load the tiny script in that patch by themselves (rewrite - ::unknown). Note that it is a script-only patch. - -2008-08-05 Joe English - - * unix/tclUnixChan.c: Streamline async connect logic [Patch 1994512] - -2008-08-05 Miguel Sofer - - * generic/tclExecute.c: Fix for [Bug 2038069] by dgp. - * tests/execute.test: - -2008-08-04 Miguel Sofer - - * tests/nre.test: Added tests for [if], [while] and [for]. A test - for [foreach] has been added and marked as knownbug, awaiting for it - to be NR-enabled. - - * generic/tclBasic.c: Made atProcExit commands run - * generic/tclCompile.h: unconditionally, streamlined - * generic/tclExecute.c: atProcExit/tailcall processing in TEBC. - * generic/tclProc.c: - * tests/unsupported.test: - -2008-08-04 Don Porter - - * generic/tclExecute.c: Stopped faulty double-logging of errors to - * tests/execute.test: stack trace when a compile epoch bump triggers - fallback to direct evaluation of commands in a compiled script. - [Bug 2037338] - -2008-08-03 Miguel Sofer - - * generic/tclBasic.c: New unsupported command atProcExit that - * generic/tclCompile.h: shares the implementation with tailcall. - * generic/tclExecute.c: Fixed a segfault in tailcalls. Tests added. - * generic/tclInt.h: - * generic/tclInterp.c: - * generic/tclNamesp.c: - * tests/unsupported.test: - -2008-08-02 Miguel Sofer - - * tests/NRE.test (removed): Migrated tests to standard locations, - * tests/nre.test (new): separating core functionality from the - * tests/unsupported.test (new): experimental commands. - -2008-08-01 Jeff Hobbs - - * doc/Exit.3: Do not call Tcl_Finalize implicitly - * generic/tclEvent.c: on DLL_PROCESS_DETACH as it may lead - * win/tclWin32Dll.c (DllMain): to issues and the user should be - explicitly calling Tcl_Finalize before unloading regardless. Clarify - the docs to note the explicit need in embedded use. - -2008-08-01 Don Porter - - * generic/tclBasic.c: Revised timing of the CmdFrame stack - * tests/info.test: management in TclEvalEx so that the CmdFrame - will still be on the stack at the time Tcl_LogCommandInfo is called to - append another level of -errorinfo information. Sets the stage to add - file and line data to the stack trace. Added test to check that [info - frame] functioning remains unchanged by the revision. - -2008-07-31 Miguel Sofer - - * tests/NRE.test: Replaced all deep-recursing tests by shallower - tests that actually measure the C-stack depth. This makes them - bearable again (even under memdebug) and avoid crashing on failure. - - * generic/tclBasic.c: NR-enabling [catch], [if] and [for] and - * generic/tclCmdAH.c: [while] (the script, not the tests) - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclInt.h: - * tests/NRE.test: - - * generic/tclBasic.c: Moved the few remaining defs from tclNRE.h to - * generic/tclDictObj.c: tclInt.h, eliminated inclusion of tclNRE.h - * generic/tclExecute.c: everywhere. - * generic/tclInt.h: - * generic/tclInterp.c: - * generic/tclNRE.h (removed): - * generic/tclNamesp.c: - * generic/tclOOBasic.c: - * generic/tclOOInt.h: - * generic/tclProc.c: - * generic/tclTest.c: - * unix/Makefile.in: - -2008-07-30 Miguel Sofer - - * generic/tclBasic.c: Improved tailcalls. - * generic/tclCompile.h: - * generic/tclExecute.c: - * generic/tclTest.c: - * tests/NRE.test: - - * generic/tclBasic.c (TclNREvalObjEx): New comments and code reorg - to clarify what is happening. - - * generic/tclBasic.c: Guard against the value of iPtr->evalFlags - changing between the times where TEOV and TEOV_exception run. Thanks - dgp for catching this. - -2008-07-29 Miguel Sofer - - * tests/NRE.test: New tests that went MIA in the NRE revamping - - * generic/tclBasic.c: Clean up - * generic/tclNRE.h: - * generic/tclExecute.c: - - * generic/tclBasic.c: Made use of the thread's alloc cache stored in - * generic/tclInt.h: the ekeko at interp creation to avoid hitting - * generic/tclNRE.h: the TSD each time an NRE callback is pushed or - * generic/tclThreadAlloc.c: pulled; the approach is suitably general - to extend to every other obj allocation where an interp is know; this - is left for some other time, requires a lot of grunt work. - - * generic/tclExecute.c: Fix [Bug 2030670] that cause TclStackRealloc - to panic on rare corner cases. Thx ajpasadyn for diagnose and patch. - - * generic/tcl.decls: Completely revamped NRE implementation, with - * generic/tclBasic.c: (almost) unchanged API. - * generic/tclCompile.h: - * generic/tclExecute.c: TEBC will require a bit of a facelift, but - * generic/tclInt.decls: TEOV at least looks great now. There are new - * generic/tclInt.h: tests (incomplete!) to verify that execution - * generic/tclInterp.c: is indeed in the same TEBC instance, at the - * generic/tclNRE.h: same level in all stacks involved. Tailcalls - * generic/tclNamesp.c: are still a bit leaky, still deserving to be - * generic/tclOOBasic.c: in tcl::unsupported. - * generic/tclOOMethod.c: - * generic/tclProc.c: Uninit'd var warnings in TEBC with -O2, no - * generic/tclTest.c: warnings otherwise. - -2008-07-28 Jan Nijtmans - - * doc/FileSystem.3: CONSTified many functions using - * generic/tcl.decls: Tcl_Filesystem which all are supposed - * generic/tclDecls.h: to be a constant, but this was not - * generic/tclFileSystem.h: reflected in the API: Tcl_FSData, - * generic/tclIOUtil.c: Tcl_FSGetInternalRep, Tcl_FSRegister, - * generic/tclPathObj.c: Tcl_FSNewNativePath, Tcl_FSUnregister, - * generic/tclTest.c: Tcl_FSGetFileSystemForPath ... - This change complies with TIP #27. - ***POTENTIAL INCOMPATIBILITY*** - -2008-07-28 Andreas Kupries - - * generic/tclBasic.c: Added missing ref count when creating an empty - string as path (TclEvalEx). In 8.4 the missing code caused panics in - the testsuite. It doesn't in 8.5. I am guessing that the code path - with the missing the incr-refcount is not invoked any longer. Because - the bug in itself is certainly the same. - -2008-07-27 Donal K. Fellows - - * generic/tclOOMethod.c (PushMethodCallFrame): Remove hack that should - have gone when this code was merged into Tcl. - -2008-07-27 Jan Nijtmans - - * doc/Object.3: CONSTified 3 functions using Tcl_ObjType - * doc/ObjectType.3: which all are supposed to be a constant, but - * generic/tcl.decls: this was not reflected in the API: - * generic/tcl.h: Tcl_RegisterObjType, Tcl_ConvertToType, - * generic/tclDecls.h: Tcl_GetObjType - * generic/tclObj.c: Introduced a CONST86_RETURN, so extensions - * generic/tclCompCmds.c: which use Tcl_ObjType directly can be - * generic/tclOOMethod.c: modified to compile against both Tcl 8.5 and - * generic/tclTestobj.c: Tcl 8.6. tclDecls.h regenerated - This change complies with TIP #27. - ***POTENTIAL INCOMPATIBILITY*** - -2008-07-25 Andreas Kupries - - * test/info.test: More work on singleTestInterp usability. [1605269] - - * tests/info.test: Tests 38.* added, exactly testing the tracking of - location for uplevel scripts. Resolved merge conflict on info-37.0, - switched !singleTestInterp constraint to glob matching instead. Ditto - info-22.8, removed constraint, more glob matching, and reduced the - depth of the stack we check. More is coming, right now I want to - commit the bug fixes. - - * tests/oo.test: Updated oo-22.1 for expanded location tracking. - - * generic/tclCompile.c (TclInitCompileEnv): Reorganized the - initialization of the #280 location information to match the flow in - TclEvalObjEx to get more absolute contexts. - - * generic/tclBasic.c (TclEvalObjEx): Added missing cleanup of extended - location information. - -2008-07-25 Daniel Steffen - - * tests/info.test (info-37.0): Add !singleTestInterp constraint; - (info-22.8, info-23.0): switch to glob matching to avoid sensitivity - to tcltest.tcl line number changes, remove knownBug constraint, fix - expected result. [Bug 1605269] - -2008-07-24 Jan Nijtmans - - * doc/Notifier.3: CONSTified 4 functions in the Notifier which - * doc/Thread.3: all have a Tcl_Time* in it which is supposed - * generic/tcl.decls: to be a constant, but this was not reflected - * generic/tcl.h: reflected in the API: - * generic/tclDecls.h: Tcl_SetTimer, Tcl_WaitForEvent, - * generic/tclNotify.c: Tcl_ConditionWait, Tcl_SetMaxBlockTime - * macosx/tclMacOSXNotify.c: - * generic/tclThread.c: Introduced a CONST86, so extensions which have - * unix/tclUnixNotfy.c: have their own Notifier (are there any?) can - * unix/tclUnixThrd.c: can be modified to compile against both Tcl - * win/tclWinNotify.c: Tcl 8.5 and Tcl 8.6 - * win/tclWinThrd.c: Regenerated tclDecls.h with "make stubs". - This change complies with TIP #27 - ***POTENTIAL INCOMPATIBILITY*** - -2008-07-23 Alexandre Ferrieux - - * tests/lrange.test: Added relative speed test to check for lrange - in-place optimization committed 2008-06-30. - * tests/binary.test: Added relative speed test to check for pure byte - array CONCAT1 optimization committed 2008-06-30. - -2008-07-23 Andreas Kupries - - * tests/info.test: Reordered the tests to have monotonously increasing - numbers. - - * generic/tclBasic.c: Modified TclArgumentGet to reject pure lists - * generic/tclCmdIL.c: immediately, without search. Reworked setup of - * generic/tclCompile.c: eoFramePtr, doesn't need the line information, - * tests/info.test: more sensible to have everything on line 1 when - eval'ing a pure list. Updated the users of the line information to - special case this based on the frame type (i.e. - TCL_LOCATION_EVAL_LIST). Added a testcase demonstrating the new - behaviour. - -2008-07-23 Miguel Sofer - - * generic/tclBasic.c (GetCommandSource): Added comment with - explanation and warning for waintainers. - -2008-07-22 Andreas Kupries - - * generic/tclCompile.c: Made the new TclEnterCmdWordIndex static, and - * generic/tclCompile.h: ansified. - - * generic/tclBasic.c: Ansified the new functions. Added missing - function comments. - - * generic/tclBasic.c: Reworked the handling of bytecode literals for - * generic/tclCompile.c: #280 to fix the abysmal performance for deep - * generic/tclCompile.h: recursion, replaced the linear search through - * generic/tclExecute.c: the whole stack with another hashtable and - * generic/tclInt.h: simplified the data structure used by the compiler - by using an array instead of a hashtable. Incidentially this also - fixes the memory leak reported via [Bug 2024937]. - -2008-07-22 Miguel Sofer - - * generic/tclBasic.c: Added numLevels field to CommandFrame, let - * generic/tclExecute.c: GetCommandSource use it. This solves [Bug - * generic/tclInt.h: 2017146]. Thx dgp for the analysis. - -2008-07-21 Andreas Kupries - - * generic/tclBasic.c: Extended the existing TIP #280 system (info - * generic/tclCmdAH.c: frame), added the ability to track the absolute - * generic/tclCompCmds.c: location of literal procedure arguments, and - * generic/tclCompile.c: making this information available to uplevel - * generic/tclCompile.h: eval, and siblings. This allows proper - * generic/tclInterp.c: tracking of absolute location through custom - * generic/tclInt.h: (Tcl-coded) control structures based on uplevel, - * generic/tclNamesp.c: etc. - * generic/tclProc.c: - * tests/info.test: - -2008-07-21 Jan Nijtmans - - * generic/*.c: Fix [2021443] inconsistant "wrong # args" messages - * win/tclWinReg.c - * win/tclWinTest.c - * tests/*.test - -2008-07-21 Alexandre Ferrieux - - TIP #304 IMPLEMENTATION - - * generic/tcl.decls: Public API - * generic/tclIOCmds.c: Generic part - * unix/tclUnixPipe.c: OS part - * win/tclWinPipe.c: OS part - * tests/chan.test: [chan pipe] tests - * tests/ioCmd.test: Modernized checks - * tests/ioTrans.test: - -2008-07-21 Pat Thoyts - - * generic/tclFCmd.c: Inodes on windows are unreliable. [Bug 2015723] - * tests/winFCmd.test: test rename with inode collision - -2008-07-21 Miguel Sofer - - * generic/tcl.decls: Changed the implementation of - * generic/tclBasic.c: [namespace import]; removed - * generic/tclDecls.h: Tcl_NRObjProc, replaced with - * generic/tclExecute.c: Tcl_NRCmdSwap (proposed public - * generic/tclInt.h: NRE API). This should fix - * generic/tclNRE.h: [Bug 582506]. - * generic/tclNamesp.c: - * generic/tclStubInit.c: - - * generic/tclBasic.c: NRE: enabled calling NR commands - * generic/tclExecute.c: from the callbacks. Completely - * generic/tclInt.h: redone tailcall implementation - * generic/tclNRE.h: using the new feature. [Bug 2021489] - * generic/tclProc.c: - * tests/NRE.test: - -2008-07-20 Kevin B. Kenny - - * tests/fileName.test: Repaired the failing test fileName-15.7 from - dkf's commit earlier today. - -2008-07-20 Donal K. Fellows - - * generic/tclDictObj.c (SetDictFromAny): Make the list->dict - transformation a bit more efficient; modern dicts are ordered and so - we can round-trip through lists without needing the string rep at all. - * generic/tclListObj.c (SetListFromAny): Make the dict->list - transformation not lossy of internal representations and hence more - efficient. [Bug 2008248] (ajpasadyn) but using a more efficient patch. - - * tests/fileName.test: Revise to reduce the obscurity of tests. In - particular, all tests should now produce informative messages on - failure and the quantity of [catch]-based obscurity is now greatly - reduced; non-erroring is now checked for directly. - -2008-07-19 Donal K. Fellows - - * tests/env.test: Add LANG to the list of variables that are not - touched by the environment variable tests, so that subprocesses can - get their system encoding correct. - - * tests/exec.test, tests/env.test: Rewrite so that non-ASCII - characters are not used in the final comparison. Part of fixing [Bug - 1513659]. - -2008-07-18 Miguel Sofer - - * generic/tclBasic.c: Optimization: replace calls to - * generic/tclDictObj.c: Tcl_NRAddCallback with the macro - * generic/tclExecute.c: TclNRAddCallback. - * generic/tclInterp.c: - * generic/tclNRE.h: - * generic/tclNamesp.c: - * generic/tclOO.c: - * generic/tclOOBasic.c: - * generic/tclOOCall.c: - * generic/tclOOInt.h: - * generic/tclOOMethod.c: - * generic/tclProc.c: - -2008-07-18 Donal K. Fellows - - * generic/tclOO.c (TclNRNewObjectInstance, FinalizeAlloc): - * generic/tclOOBasic.c (TclOO_Class_Create, TclOO_Class_CreateNs) - (TclOO_Class_New, FinalizeConstruction, AddConstructionFinalizer): - NRE-enablement of the class construction methods. - -2008-07-18 Miguel Sofer - - * tests/NRE.test: Added basic tests for deep TclOO calls - - * generic/tcl.decls: Change the public api prefix from - * generic/tcl.h: TclNR_foo to Tcl_NRfoo - * generic/tclBasic.c: - * generic/tclDecls.h: - * generic/tclDictObj.c: - * generic/tclExecute.c: - * generic/tclInterp.c: - * generic/tclNRE.h: - * generic/tclNamesp.c: - * generic/tclOO.c: - * generic/tclOOBasic.c: - * generic/tclOOCall.c: - * generic/tclOOMethod.c: - * generic/tclProc.c: - * generic/tclStubInit.c: - -2008-07-18 Donal K. Fellows - - * generic/tclOOBasic.c (TclOO_Object_Eval, FinalizeEval): NRE-enable - the oo::object.eval method. - -2008-07-18 Miguel Sofer - - * generic/tclDictObj.c (DictWithCmd, DictUpdateCmd): Fix refcounting - bugs that caused crashes [Bug 2017857]. - - * generic/tclBasic.c (TclNREvalObjEx): Streamline the management of - the command frame (opt). - -2008-07-17 Donal K. Fellows - - * generic/tclDictObj.c (DictWithCmd, FinalizeDictWith): Split the - implementation of [dict with] so that it works with NRE. - (DictUpdateCmd, FinalizeDictUpdate): Similarly for the non-compiled - version of [dict update]. - -2008-07-16 George Peter Staplin - - * win/tclWinThrd.c: Test for TLS_OUT_OF_INDEXES to make certain that - thread key creation is successful. - -2008-07-16 Donal K. Fellows - - * generic/tclOO.c, generic/tclOOInt.h, generic/tclOOBasic.c: - * generic/tclOOCall.c, generic/tclOOMethod.c: NRE-enable the TclOO - implementation in Tcl. No change to public APIs, except that method - implementations can now be NRE-aware if they choose (which normal - methods and forwards are). On the other hand, callers of - TclOOInvokeObject (which is only in the internal stub table) will need - to deal with the fact that it's only safe to call inside an NRE-aware - context. - ***POTENTIAL INCOMPATIBILITY*** - -2008-07-15 Miguel Sofer - - * tests/NRE.test: Better constraint for testing the existence of - * tests/stack.test: teststacklimit, to insure that the test suite - runs under tclsh. - - * generic/tclParse.c: Fixing incomplete reversion of "fix" for [Bug - 2017583], missing TclResetCancellation call. - -2008-07-15 Donal K. Fellows - - * generic/tclBasic.c (Tcl_CancelEval): Fix blunder. [Bug 2018603] - - * doc/DictObj.3: Fix error in example. [Bug 2016740] - - * generic/tclNamesp.c (EnsembleUnknownCallback): Factor out some of - the more complex parts of the ensemble code to make it easier to - understand and hence to permit tighter compilation of code on the - critical path. - -2008-07-14 Miguel Sofer - - * generic/tclParse.c: Reverting the "fix" for [Bug 2017583], numLevel - * tests/parse.test: management and TclInterpReady check seems to be - necessary after all. - -2008-07-14 Donal K. Fellows - - * generic/tclProc.c (TclNRApplyObjCmd, TclObjInterpProcCore): - * generic/tclBasic.c (TclNR_AddCallback, TclEvalObjv_NR2): - * generic/tclNRE.h (TEOV_callback): Change the callback storage type - to use an array, so guaranteeing correct inter-member spacing and - memory layout. - -2008-07-14 Miguel Sofer - - * generic/tclExecute.c: Remove unneeded TclInterpReady calls - * generic/tclParse.c: - - * generic/tclBasic.c.: Embedded Tcl_Canceled() calls into - * generic/tclExecute.c: TclInterpReady(). - * generic/tclParse.c: - - * generic/tclVar.c: Fix error message - - * generic/tclParse.c: Remove unnecessary numLevel management - * tests/parse.test: [Bug 2017583] - - * generic/tclBasic.c.: NRE left too many calls to - * generic/tclExecute.c: TclResetCancellation lying around: it - * generic/tclProc.c: only needs to be called prior to any - iPtr->numLevels++. Thanks mistachkin. - - * generic/tclBasic.c: TclResetCancellation() calls were misplaced - (merge mishap); stray //. Thanks patthoyts. - - * generic/tclInt.h: The new macros TclSmallAlloc and TclSmallFree - were badly defined under mem debugging [Bug 2017240] (thx das) - -2008-07-13 Miguel Sofer - - NRE implementation [Patch 2017110] - - * generic/tcl.decls: The NRE infrastructure - * generic/tcl.h: - * generic/tclBasic.c: - * generic/tclCmdAH.c: - * generic/tclCompile.h: - * generic/tclDecls.h: - * generic/tclExecute.c: - * generic/tclHistory.c: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclNRE.h: - * generic/tclStubInit.c: - * unix/Makefile.in: - - * generic/tclInterp.c: NRE-enabling: procs, lambdas, uplevel, - * generic/tclNamesp.c: same-interp aliases, ensembles, imports - * generic/tclProc.c: and namespace_eval. - - * generic/tclTestProcBodyObj.c: New NRE specific tests (few, but - * tests/NRE.test: note that the thing is actually - tested by the whole testsuite. - - * tests/interp.test: Fixed numLevel counting. - * tests/parse.test: - * tests/stack.test: - - * unix/configure: Removing support for the hacky nonportable - * unix/configure.in: stack check: it is not needed anymore, Tcl - * unix/tclConfig.h.in: is very thrifty on the C stack. - * unix/tclUnixInit.c: - * unix/tclUnixTest.c: - * win/tclWin32Dll.c: - -2008-07-08 Don Porter - - * generic/tclGet.c: Corrected out of date comments and removed - * generic/tclInt.decls: internal routine TclGetLong() that's no - longer used. If an extension is using this from the internal stubs - table, it can shift to the public routine Tcl_GetLongFromObj() or - can request addition of a public Tcl_GetLong(). - ***POTENTIAL INCOMPATIBILITY*** - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - -2008-07-08 Donal K. Fellows - - * doc/CrtInterp.3: Tighten up the descriptions of behaviour to make - this page easier to read for a "Tcl 8.6" audience. - -2008-07-07 Andreas Kupries - - * generic/tclCmdIL.c (InfoFrameCmd): Fixed unsafe idiom of setting - the interp result found by Don Porter. - -2008-07-07 Donal K. Fellows - - * doc/regexp.n, doc/regsub.n: Correct examples. [Bug 1982642] - -2008-07-06 Donal K. Fellows - - * doc/lindex.n: Improve examples. - -2008-07-03 Andreas Kupries - - * generic/tclIORChan.c (InvokeTclMethod): Fixed the memory leak - reported in [Bug 1987821]. Thanks to Miguel for the report and Don - Porter for tracking the cause down. - -2008-07-03 Don Porter - - * library/package.tcl: Removed [file readable] testing from - [tclPkgUnknown] and friends. We find out soon enough whether a file is - readable when we try to [source] it, and not testing before allows us - to workaround the bugs on some common filesystems where [file - readable] lies to us. [Patch 1969717] - -2008-07-01 Donal K. Fellows - - * generic/regc_nfa.c (duptraverse): Impose a maximum stack depth on - the single most recursive part of the RE engine. The actual maximum - may need tuning, but that needs a system with a small stack to carry - out. [Bug 1905562] - - * tests/string.test: Eliminate non-ASCII characters from the actual - test script. [Bug 2006884] - -2008-06-30 Donal K. Fellows - - * doc/ObjectType.3: Clean up typedef formatting. - -2008-06-30 Don Porter - - * doc/ObjectType.3: Updated documentation of the Tcl_ObjType - struct to match expectations of Tcl 8.5. [Bug 1917650] - -2008-06-30 Alexandre Ferrieux - - * generic/tclCmdIL.c: Lrange cleanup and in-place optimization. [Patch - 1890831] - - * generic/tclExecute.c: Avoid useless String conversion for CONCAT1 of - pure byte arrays. [Patch 1953758] - -2008-06-29 Donal K. Fellows - - * doc/*.1, doc/*.3, doc/*.n: Many small updates, purging out of date - change bars and cleaning up the formatting of typedefs. Added a few - missing bits of documentation in the process. - -2008-06-29 Don Porter - - * generic/tclPathObj.c: Plug memory leak in [Bug 1999176] fix. Thanks - to Rolf Ade for detecting. - -2008-06-29 Donal K. Fellows - - * doc/interp.n: Corrected order of subcommands. [Bug 2004256] - Removed obsolete (i.e. 8.5) .VS/.VE pairs. - - * doc/object.n (EXAMPLES): Fix incorrect usage of oo::define to be - done with oo::objdefine instead. [Bug 2004480] - -2008-06-28 Don Porter - - * generic/tclPathObj.c: Plug memory leak in [Bug 1972879] fix. Thanks - to Rolf Ade for detecting and Dan Steffen for the fix. [Bug 2004654] - -2008-06-26 Andreas Kupries - - * unix/Makefile.in: Followup to my change of 2008-06-25, make code - generated by the Makefile and put into the installed tm.tcl - conditional on interpreter safeness as well. Thanks to Daniel Steffen - for reminding me of that code. - -2008-06-25 Don Porter - - *** 8.6a1 TAGGED FOR RELEASE *** - - * changes: Updates for 8.6a1 release. - - * generic/tclOO.h: Bump to TclOO 0.5. - -2008-06-25 Andreas Kupries - - * library/tm.tcl: Modified the handling of Tcl Modules and of the - * library/safe.tcl: Safe Base to interact nicely with each other, - * library/init.tcl: enabling requiring Tcl Modules in safe - * tests/safe.test: interpreters. [Bug 1999119] - -2008-06-25 Pat Thoyts - - * win/rules.vc: Fix versions of dde and registry dlls - * win/makefile.vc: Fix problem building with staticpkg option - -2008-06-24 Don Porter - - * generic/tclPathObj.c: Fixed some internals management in the "path" - Tcl_ObjType for the empty string value. Problem led to a crash in the - command [glob -dir {} a]. [Bug 1999176] - -2008-06-24 Pat Thoyts - - * doc/fileevent.n: Fix examples and comment on eof use. [Bug 1995063] - -2008-06-23 Don Porter - - * generic/tclPathObj.c: Fixed bug in Tcl_GetTranslatedPath() when - operating on the "Special path" variant of the "path" Tcl_ObjType - intrep. A full normalization was getting done, in particular, coercing - relative paths to absolute, contrary to what the function of producing - the "translated path" is supposed to do. [Bug 1972879] - -2008-06-20 Don Porter - - * changes: Updates for 8.6a1 release. - - * generic/tclInterp.c: Fixed completely boneheaded mistake that - * tests/interp.test: [interp bgerror $slave] and [$slave bgerror] - would always act like [interp bgerror {}]. [Bug 1999035] - - * tests/chanio.test: Corrected flawed tests revealed by a -debug 1 - * tests/cmdAH.test: -singleproc 1 test suite run. - * tests/event.test: - * tests/interp.test: - * tests/io.test: - * tests/ioTrans.test: - * tests/namespace.test: - - * tests/encoding.test: Make failing tests pass again. [Bug 1972867] - -2008-06-19 Donal K. Fellows - - * generic/tclOO.c (Tcl_ObjectContextInvokeNext): Corrected 'next' (at - * tests/oo.test (oo-7.8): end of a call chain) to make it - * doc/next.n: consistent with the TIP. [Bug 1998244] - - * generic/tclOOCall.c (AddSimpleClassChainToCallContext): Make sure - * tests/oo.test (oo-14.8): that class mixins are processed in the - documented order. [Bug 1998221] - -2008-06-19 Don Porter - - * changes: Updates for 8.6a1 release. - - * README: Bump version number to 8.6a1 - * generic/tcl.h: - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - -2008-06-17 Andreas Kupries - - * generic/tclClock.c (ClockConvertlocaltoutcObjCmd): Removed left - over debug output. - -2008-06-17 Andreas Kupries - - * doc/tm.n: Followup to changelog entry 2008-03-18 regarding - ::tcl::tm::Defaults. Updated the documentation to not only mention the - new (underscored) form of environment variable names, but make it the - encouraged form as well. [Bug 1914604] - -2008-06-17 Kevin Kenny - - * generic/tclClock.c (ConvertLocalToUTC): - * tests/clock.test (clock-63.1): Fixed a bug where the internal - ConvertLocalToUTC command segfaulted if passed a dictionary without - the 'localSeconds' key. To the best of my knowledge, the bug was not - observable in the [clock] command itself. - -2008-06-16 Andreas Kupries - - * generic/tclCmdIL.c (TclInfoFrame): Moved the code looking up the - * tests/info.test: information for key 'proc' out of the - TCL_LOCATION_BC branch to after the switch, this is common to all - frame types. Updated the testsuite to match. This was exposed by the - 2008-06-08 commit (Miguel), switching uplevel from direct eval to - compilation. [Bug 1987851] - -2008-06-16 Andreas Kupries - - * tests/ioTrans.test (iortrans-11.*): Fixed same issue as for - iortrans.tf-11.*, cleanup of temp file, making this a followup to the - entry on 2008-06-10 by myself. - -2008-06-13 David Gravereaux - - * win/rules.vc: SYMBOLS macro is now being set to zero when $(OPTS) is - not available. - * win/makefile.vc: The Stubs source files (tclStubLib.c and - tclOOStubLib.c) should not be compiled with the -GL flag. - -2008-06-13 Joe Mistachkin - - TIP #285 IMPLEMENTATION - - * doc/Eval.3: Added documentation for the Tcl_CancelEval and - Tcl_Canceled functions and the TCL_CANCEL_UNWIND flag bit. - * doc/after.n: Corrected the spelling of 'canceled' in the - documentation. - * doc/interp.n: Added documentation for [interp cancel]. - * generic/tcl.decls: Added the Tcl_CancelEval and Tcl_Canceled - functions to the stubs table. - * generic/tcl.h: Added the TCL_CANCEL_UNWIND flag bit. - * generic/tclBasic.c: The bulk of the script cancellation - functionality is defined here. Added code to initialize and manage the - script cancellation hash table in a thread-safe manner. Reset script - cancellation flags prior to increasing the nesting level (if the - nesting level is currently zero) and always cooperatively check for - script cancellation near the start of TclEvalObjvInternal and after - invoking async handlers. - * generic/tclDecls.h: Regenerated. - * generic/tclEvent.c: Call TclFinalizeEvaluation during finalization - to cleanup the script cancellation hash table. During [vwait], always - cooperatively check for script cancellation. Corrected the spelling of - 'canceled' in comments to be consistent with the documentation. - * generic/tclExecute.c: Reset script cancellation flags prior to - increasing the nesting level (if the nesting level is currently zero) - and always cooperatively check for script cancellation after invoking - async handlers. Prevent [catch] from catching script cancellation when - the TCL_CANCEL_UNWIND flag is set (similar to the manner used by TIP - 143 when a limit has been exceeded). - * generic/tclInt.decls: Added TclResetCancellation to the internal - stubs table. - * generic/tclInt.h: Added asyncCancel and asyncCancelMsg fields to the - private Interp structure. Added private interp flag value CANCELED to - help control script cancellation. - * generic/tclIntDecls.h: Regenerated. - * generic/tclInterp.c (Tcl_InterpObjCmd): Added [interp cancel] - subcommand. - * generic/tclNotify.c (Tcl_DeleteEventSource): Corrected the spelling - of 'canceled' in comments to be consistent with the documentation. - * generic/tclParse.c: Reset script cancellation flags prior to - * generic/tclProc.c: increasing the nesting level (if the nesting - level is currently zero) and cooperatively check for script - cancellation prior to evaluating commands. - * generic/tclStubInit.c: Regenerated. - * generic/tclThreadTest.c (Tcl_ThreadObjCmd): Added script - cancellation support ([testthread cancel]). - Modified [testthread id] to allow querying of the 'main' thread ID. - Corrected comments to reflect the actual command syntax. Made - [testthread wait] cooperatively check for script cancellation. Added - [testthread event] to allow for processing one pending event without - blocking. - * generic/tclTimer.c: Delay for a maximum of 500 milliseconds prior to - checking for async handlers and script cancellation. - * tests/cmdAH.test: Changed [interp c] to [interp create]. - * tests/interp.test: Added and fixed tests for [interp cancel]. - * tests/thread.test: Added tests for script cancellation via - [testthread cancel]. - * tools/man2help2.tcl: Fixed problems with WinHelp target (see - * tools/man2tcl.c: [Bug 1934200], [Bug 1934265], and [Bug 1934272]). - * win/makefile.vc: Added 'pdbs' option for Windows build rules to - * win/rules.vc: allow for non-debug builds with full symbols. - * win/tcl.hpj.in: Corrected version for WinHelp target. - * win/tclWinNotify.c: Used SleepEx and WaitForSingleObjectEx on - * win/tclWinThrd.c: Windows because they are alertable. - -2008-06-12 Daniel Steffen - - * unix/Makefile.in: Add complete deps on tclDTrace.h. - - * generic/tclOO.c: Use TclOOStubs hooks field to retrieve - * generic/tclOODecls.h: TclOOIntStubs pointer. [Bug 1980953] - * generic/tclOOIntDecls.h: - * generic/tclOOStubInit.c: - * generic/tclOOStubLib.c: - - * generic/tclIORTrans.c: Fix signed <-> unsigned cast warnings. - - * unix/Makefile.in: Clean generated tclDTrace.h file. - * unix/configure.in (SunOS): Fix static DTrace-enabled build. - - * unix/tcl.m4 (SunOS-5.11): Fix 64bit amd64 support with gcc & Sun cc. - * unix/configure: autoconf-2.59 - - * macosx/Tcl.xcodeproj/project.pbxproj: Add tclIORTrans.c; updates and - cleanup for Xcode 3.1/Leopard. - * macosx/Tcl.xcode/project.pbxproj: Sync Tcl.xcodeproj changes. - * macosx/README: Document new build configs. - -2008-06-10 Joe English - - * generic/tclEncoding.c(UtfToUtfProc): Avoid unwanted sign extension - when converting incomplete UTF-8 sequences. See [Bug 1908443] for - details. - -2008-06-10 Andreas Kupries - - * tests/ioTrans.test (iortrans.tf-6.1): Fixed the [Bug 1988552], - reported by Kevin. Have to close the channel before removal of the - file. Fixed same bug in test 'iortrans.tf-11.0', after fixing missing - cleanup of the file in 'iortrans.tf-11.*'. Lastly fixed the names of - the threaded tests 'iortrans-8.*' to the correct 'iortrans.tf-8.*'. - -2008-06-09 Andreas Kupries - - * generic/tclIORTrans.c (ReflectInput): Fixed a bug triggered by Pat - Thoyts . Reset the EOF flag after - draining the Tcl level into the result buffer, to make sure that the - result buffer will be drained as well by repeated calls to - ReflectInput should it contain more than one buffer-full of data. - Without that reset the higher I/O system will not call on ReflectInput - anymore due to the assumed EOF, thus losing the data which did not fit - in the buffer of the call which caused the eof and drain. - -2008-06-09 Donal K. Fellows - - * generic/tclOOCall.c (TclOOGetSortedMethodList): Plug memory leak - that occurred when all methods were hidden. [Bug 1987817] - -2008-06-08 Miguel Sofer - - * generic/tclBasic.c: Compilation of uplevel scripts, allow - * generic/tclCompCmds.c: non-body compiled scripts to access the - * generic/tclCompile.c: LVT (but not to extend it) and enable the - * generic/tclCompile.h: canonical list opt to sidestep the - * generic/tclExecute.c: compiler. [Patch 1973096] - * generic/tclProc.c: - * tests/uplevel.test: - -2008-06-06 Andreas Kupries - - TIP #230 IMPLEMENTATION - - * generic/tclIOCmd.c: Integration of transform commands into 'chan' - ensemble. - * generic/tclInt.h: Definitions of the transform commands. - * generic/tclIORTrans.c: Implementation of the reflection transforms. - * tests/chan.test: Tests updated for new sub-commands of 'chan'. - * tests/ioCmd.test: Tests updated for new sub-commands of 'chan'. - * tests/ioTrans.test: Whole new set of tests for the reflection - transform. - * unix/Makefile.in: Integration of new files into build rules. - * win/Makefile.in: Integration of new files into build rules. - * win/makefile.vc: Integration of new files into build rules. - - NOTE: The file 'tclIORTrans.c' has a lot of code in common with the - file 'tclIORChan.c', as that made it much easier to develop the - reference implementation as a separate module. Now that the - transforms have been committed the one thing left to do is to go - over both modules and see which of the common parts we can - factor out and share. - -2008-06-04 Pat Thoyts - - * generic/tclBinary.c: TIP #317 implementation - * tests/binary.test: - -2008-06-02 Kevin B. Kenny - - * generic/tclOO.c (ReleaseClassContents): Fix the one remaining - valgrind complaint about oo.test, caused by failing to protect the - Object as well as the Class corresponding to a subclass being deleted - and hence getting a freed-memory read when attempting to delete the - class command. [Bug 1981001] - -2008-06-01 Donal K. Fellows - - * generic/tclOOMethod.c (Tcl_NewMethod): Complete the fix of [Bug - 1981001], previous fix was incomplete though helpful in telling me - where to look. - -2008-06-01 Joe Mistachkin - - * win/Makefile.in: Add tclOO genstubs to Windows makefiles and remove - * win/makefile.vc: -DBUILD_tcloo because it is no longer required. - -2008-06-01 Kevin B. Kenny - - * generic/tclOODecls.h: Added the swizzling of DLLEXPORT and - * generic/tclOOIntDecls.h: DLLIMPORT needed to make EXTERN work. - - * generic/tclDictObj.c: Added missing initializers to the ensemble - map to silence a compiler warning. Thanks to - George Peter Staplin for the report. - - * generic/tclOOMethod.c: Fix a bug where the refcount of a method was - reset if the method was redefined while there - was an active invocation. [Bug 1981001] - -2008-06-01 Donal K. Fellows - - * generic/tclOO.decls, unix/Makefile.in (genstubs): Make generation of - stub tables correct. - * generic/tclOO{Decls.h,IntDecls.h,StubInit.c,StubLib.c}: Fixes to - make the generation work correctly, removing subtle differences - between output of different versions of stub generator. - -2008-06-01 Daniel Steffen - - * generic/tclOOStubLib.c: Ensure use of tcl stubs; include in - * unix/Makefile.in: stub lib; disable broken tclOO - genstubs - - * generic/tclOO.c: Make tclOO stubs tables 'static const' - * generic/tclOODecls.h: and stub table pointers MODULE_SCOPE - * generic/tclOOIntDecls.h: (change generated files manually - * generic/tclOOStubInit.c: pending genstubs support for tclOO). - * generic/tclOOStubLib.c: - - * generic/tclOO.c: Fix warnings for 'int<->ptr - * generic/tclOOCall.c: conversion' and 'signed vs unsigned - * generic/tclOOMethod.c: comparison'. - - * tests/msgcat.test: Fix for ::tcl::mac::locale with @modifier. - - * tools/tsdPerf.tcl: Use [info sharedlibextension] - - * unix/tclConfig.h.in: autoheader-2.59 - - * macosx/Tcl.xcodeproj/project.pbxproj: Add new tclOO files; add debug - * macosx/README: configs with corefoundation - disabled and with gcov; update - to Xcode 3.1. - -2008-05-31 Donal K. Fellows - - * generic/tclOO.c (InitFoundation): Correct reference counting for - strings used when creating the constructor for classes. - * generic/tclOOMethod.c (TclOODelMethodRef): Correct fencepost error - in reference counting of method implementation structures. - * tests/oo.test (oo-0.5): Added a test to detect a memory leak problem - relating to disposal of the core object system. - - TIP#257 IMPLEMENTATION - - * generic/tclBasic.c, generic/tclOOInt.h: Correct declarations. - * win/Makefile.in, win/makefile.bc, win/makefile.vc: Build support for - Win32, from Joe Mistachkin. [Patch 1980861] - - * generic/tclOO*, doc/*, tests/oo.test: Port of implementation of - TclOO to sit directly inside Tcl. Note that this is incomplete (e.g. - no build support yet for Windows). - -2008-05-26 Jeff Hobbs - - * tests/io.test (io-53.9): Need to close chan before removing file. - -2008-05-26 Donal K. Fellows - - * win/makefile.bc: Remove deprecated winhelp target. - * win/Makefile.in, win/makefile.vc: It didn't work correctly anyway. - -2008-05-23 Andreas Kupries - - * win/tclWinChan.c (FileWideSeekProc): Accepted a patch by Alexandre - Ferrieux to fix the [Bug 1965787]. - 'tell' now works for locations > 2 GB as well instead of going - negative. - - * generic/tclIO.c (Tcl_SetChannelBufferSize): Accepted a patch by - * tests/io.test: Alexandre Ferrieux - * tests/chanio.test: to fix the [Bug 1969953]. Buffersize outside of - the supported range are now clipped to nearest boundary instead of - ignored. - -2008-05-22 Don Porter - - * generic/tclNamesp.c (Tcl_LogCommandInfo): Restored ability to - handle the argument value length = -1. Thanks to Chris Darroch for - discovering the bug and providing the fix. [Bug 1968245] - -2008-05-21 Don Porter - - * generic/tclParse.c (ParseComment): The new TclParseAllWhiteSpace - * tests/parse.test (parse-15.60): routine has no mechanism to - return the "incomplete" status of "\\\n" so calling this routine - anywhere that can be reached within a Tcl_ParseCommand() call is a - mistake. In particular, ParseComment() must not use it. [Bug 1968882] - -2008-05-20 Donal K. Fellows - - * generic/tclNamesp.c (Tcl_SetNamespaceUnknownHandler): Corrected odd - logic for handling installation of namespace unknown handlers which - could lead too very strange things happening in the error case. - -2008-05-16 Miguel Sofer - - * generic/tclCompile.c: Fix crash with tcl_traceExec. Found and fixed - by Alexander Pasadyn. [Bug 1964803] - -2008-05-15 Pat Thoyts - - * win/makefile.vc: We should use the thread allocator for threaded - * win/rules.vc: builds. Added 'tclalloc' option to disable. - -2008-05-09 George Peter Staplin - - * tools/tsdPerf.c: A loadable Tcl extension for testing TSD - performance. - * tools/tsdPerf.tcl: A simplistic tool that uses the thread - extension and tsdPerf.so to get some performance metrics by, - simulating, simple TSD contention. - -2008-05-09 George Peter Staplin - - * generic/tcl.h: Make Tcl_ThreadDataKey a void *. - * generic/tclInt.h: Change around some function names and add some - new per-platform declarations for thread-specific data functions. - * generic/tclThread.c: Make use of of the new function names that no - longer have a Tclp prefix. - * generic/tclThreadStorage.c: Replace the core thread-specific data - (TSD) mechanism with an array offset solution that eliminates the hash - tables, and only uses one slot of native TSD. Many thanks to Kevin B. - Kenny for his help with this. - - * unix/tclUnixThrd.c: Add platform-specific TSD functions for use by - * win/tclWinThrd.c: tclThreadStorage.c. - -2008-05-09 Kevin B. Kenny - - * tests/dict.test (dict-19.2): Corrected a bug where the test was - changed to use [apply] instead of a temporary proc, but the cleanup - script still attempted to delete the temporary proc. - -2008-05-07 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictAppendCmd): Fix silly off-by - one error that caused a crash every time a compiled 'dict append' with - more than one argument was used. Found by Colin McCormack. - -2008-05-02 Pat Thoyts - - * generic/tclBasic.c: Converted the [binary] command into an - * generic/tclBinary.c: ensemble. - * generic/tclInt.h: - * test/binary.test: Updated the error tests for ensemble errors. - - * generic/tclFileName.c: Reverted accidental commit of TIP 316 APIs. - -2008-04-27 Donal K. Fellows - - * */*.c: A large tranche of getting rid of pre-C89-isms; if your - compiler doesn't support things like proper function declarations, - 'void' and 'const', borrow a proper one when building Tcl. (The header - files allow building things that link against Tcl with really ancient - compilers still; the requirement is just when building Tcl itself.) - -2008-04-26 Zoran Vasiljevic - - * generic/tclAsync.c: Tcl_AsyncDelete(): panic if attempt to locate - handler token fails. Happens when some other thread attempts to delete - somebody else's token. - - Also, panic early if we find out the wrong thread attempting to delete - the async handler (common trap). As, only the one that created the - handler is allowed to delete it. - -2008-04-24 Andreas Kupries - - * tests/ioCmd.test: Extended testsuite for reflected channel - implementation. Added test cases about how it handles if the rug is - pulled out from under a channel (= killing threads, interpreters - containing the tcl command for a channel, and channel sitting in a - different interpreter/thread.) - - * generic/tclIORChan.c: Fixed the bugs exposed by the new testcases, - redone most of the cleanup and exit handling. - -2008-04-21 Don Porter - - * generic/tclIOUtil.c: Removed all code delimited by - * generic/tclTest.c: USE_OBSOLETE_FS_HOOKS, completing - * tests/ioCmd.test: the deprecation path for these - * tests/ioUtil.test (removed): obsolete interfaces. (Code was active - in Tcl 8.4, present but enabled only by customized compile switch in - Tcl 8.5, and now completely gone for Tcl 8.6). Also removed all tests - relevant only to the removed interfaces. - -2008-04-19 George Peter Staplin - - * doc/Ensemble.3: Fix a typo: s/defiend/defined/ - Thanks to hat0 for spotting this. - -2008-04-16 Daniel Steffen - - * generic/tclInt.h: Make stubs tables 'static const' and - * generic/tclStubInit.c: export only module-scope pointers to - * generic/tclStubLib.c: the main stubs tables (for package - * tools/genStubs.tcl: initialization). [Patch 1938497] - * generic/tclBasic.c (Tcl_CreateInterp): - * generic/tclTomMathInterface.c (TclTommath_Init): - - * generic/tclInt.h: Revise Tcl_SetNotifier() to use a - * generic/tclNotify.c: module-scope hooks table instead of - * generic/tclStubInit.c: runtime stubs-table modification; - * macosx/tclMacOSXNotify.c: ensure all hookable notifier functions - * win/tclWinNotify.c: check for hooks; remove hook checks in - * unix/tclUnixNotfy.c: notifier API callers. [Patch 1938497] - -2008-04-15 Andreas Kupries - - * generic/tclIO.c (CopyData): Applied another patch by Alexandre - * io.test (io-53.8a): Ferrieux , - * chanio.test (chan-io-53.8a): to shift EOF handling to the async - part of the command if a callback is specified, should the channel be - at EOF already when fcopy is called. Testcase by myself. - -2008-04-15 Daniel Steffen - - * unix/Makefile.in: Adjust tclDTrace.h dependencies for removal - of tclStubLib.o from TCL_OBJS. [Bug 1942795] - -2008-04-14 Kevin B. Kenny - - * unix/tclUnixTime.c (NativeGetTime): Removed obsolete use of - 'struct timezone' in the call to 'gettimeofday'. [Bug 1942197] - - * tests/clock.test (clock-33.5, clock-33.5a, clock-33.8, clock-33.8a): - Added comments to the test that it can fail on a heavily loaded - system. - -2008-04-10 Andreas Kupries - - * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Keeping check for negative - values, changed to not be an error, but behave like the special value - -1 (copy all, default). - - * tests/iocmd.test (iocmd-15.{12,13}): Removed. - - * tests/io.test (io-52.5{,a,b}): Reverted last change, added - * tests/chanio.test (chan-io-52.5{,a,b}): comment regarding the - meaning of -1, added two more testcases for other negative values, - and input wrapped to negative. - -2008-04-09 Donal K. Fellows - - * tests/{fCmd,unixFCmd,winFCmd,winFile}.test: Tidying up of the test - suite to make better use of tcltest2 and be clearer about what is - being tested. - - * win/Makefile.in (html): Added target for doing convenient - documentation builds, mirroring the one from unix/Makefile. - -2008-04-09 Andreas Kupries - - * tests/chanio.test (chan-io-52.5): Removed '-size -1' from test, - * tests/io.test (io-52.5): does not seem to have any bearing, and was - an illegal value. Test case is not affected by the value of -size, - test flag restoration and that evrything was properly copied. - - * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Added checking of -size value - * tests/ioCmd.test (iocmd-15.{13,14}): to reject negative values, and - values overflowing 32-bit signed. Basic patch by Alexandre Ferrieux - , with modifications from me to - separate overflow from true negative value. Extended testsuite. [Bug - 1557855] - -2008-04-09 Daniel Steffen - - * tests/chanio.test (chan-io-53.8,53.9,53.10): Fix typo & quoting for - * tests/io.test (io-53.8,53.9,53.10): spaces in builddir path - -2008-04-08 Miguel Sofer - - * generic/tclExecute.c: Added comments to the alignment macros used in - GrowEvaluationStack() and friends. - -2008-04-08 Daniel Steffen - - * tools/genStubs.tcl: Revert erroneous 2008-04-02 change marking - *StubsPtr as EXTERN instead of extern. - - * generic/tclDecls.h: make genstubs - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclPlatDecls.h: - * generic/tclTomMathDecls.h: - -2008-04-07 Andreas Kupries - - * tests/io.test (io-53.10): Testcase for bi-directional fcopy. - * tests/chanio.test: - * generic/tclIO.c: Additional changes to data structures for fcopy and - * generic/tclIO.h: channels to perform proper cleanup in case of a - channel having two background copy operations running as is now - possible. - - * generic/tclIO.c (BUSY_STATE, CheckChannelErrors, TclCopyChannel): - New macro, and the places using it. This change allows for - bi-directional fcopy on channels. Thanks to Alexandre Ferrieux - for the patch. [Bug 1350564] - -2008-04-07 Reinhard Max - - * generic/tclStringObj.c (Tcl_AppendFormatToObj): Fix [format {% d}] - so that it behaves the same way as in 8.4 and as C's printf(). - * tests/format.test: Add a test for '% d' and '%+d'. - -2008-04-05 Kevin B. Kenny - - * win/tclWinFile.c: (WinSymLinkDirectory): Fixed a problem that Tcl - was creating an NTFS junction point (IO_REPARSE_TAG_MOUNT_POINT) but - filling in the union member for a Vista symbolic link. We had gotten - away with this error because the union member - (SymbolicLinkReparseBuffer) was misdefined in this file and in the - 'winnt.h' in early versions of MinGW. MinGW 3.4.2 has the correct - definition of SymbolicLinkReparseBuffer, exposing the mismatch, and - making tests cmdAH-19.4.1, fCmd-28.*, and filename-11.* fail. - * tests/chanio.test (chan-io-53.9): - * tests/io.test (io-53.9): Made test cleanup robust against the - possibility of slow process shutdown on Windows. - - * win/tcl.m4: Added -D_CRT_SECURE_NO_DEPRECATE and - -DCRT_NONSTDC_NO_DEPRECATE to the MSVC compilation flags so that the - compilation doesn't barf on perfectly reasonable Posix system calls. - * win/configure: Manually patched (don't have the right autoconf to - hand). - -2008-04-04 Andreas Kupries - - * tests/io.test (io-53.9): Added testcase for [Bug 780533], based - * tests/chanio.test: on Alexandre's test script. Also fixed problem - with timer in preceding test, was not canceled properly in the ok case - -2008-04-04 Andreas Kupries - - * generic/tclIORChan.c (ReflectOutput): Allow zero return from write - when input was zero-length anyway. Otherwise keept it an error, and - separate the message from 'written too much'. - - * tests/ioCmd.test (iocmd-24.6): Testcase updated for changed message. - - * generic/tclIORChan.c (ReflectClose): Added missing removal of the - now closed channel from the reflection map. Before we could crash the - system by invoking 'chan postevent' on a closed reflected channel, - dereferencing the dangling pointer in the map. - - * tests/ioCmd.test (iocmd-31.8): Testcase for the above. - -2008-04-03 Andreas Kupries - - * generic/tclIO.c (CopyData): Applied patch [Bug 1932639] to - * tests/io.test: prevent fcopy from calling -command synchronously - * tests/chanio.test: the first time. Thanks to Alexandre Ferrieux - for report and patch. - -2008-04-02 Daniel Steffen - - * generic/tcl.decls: Remove 'export' declarations of symbols now - only in libtclstub and no longer in libtcl. - - * generic/tclStubLib.c: Make symbols in libtclstub.a MODULE_SCOPE to - * tools/genStubs.tcl: avoid exporting them from libraries that link - with -ltclstub; constify tcl*StubsPtr and stub - table hook pointers. [Bug 1819422] - - * generic/tclDecls.h: make genstubs - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclPlatDecls.h: - * generic/tclStubInit.c: - * generic/tclTomMathDecls.h: - -2008-04-02 Andreas Kupries - - * generic/tclIO.c (CopyData): Applied patch for fcopy problem [Bug - 780533], with many thanks to Alexandre Ferrieux - for tracking it down and providing a - solution. Still have to convert his test script into a proper test - case. - -2008-04-01 Andreas Kupries - - * generic/tclStrToD.c: Applied patch for [Bug 1839067] (fp rounding - * unix/tcl.m4: setup on solaris x86, native cc), provided by - Michael Schlenker. - -2008-04-01 Don Porter - - * generic/tclStubLib.c: Removed needless #ifdef complexity. - - * generic/tclStubLib.c (Tcl_InitStubs): Added missing error message. - * generic/tclPkg.c (Tcl_PkgInitStubsCheck): - - * README: Bump version number to 8.6a0 - * generic/tcl.h: - * library/init.tcl: - * macosx/Tcl-Common.xcconfig: - * macosx/Tcl.pbproj/default.pbxuser: - * macosx/Tcl.pbproj/project.pbxproj: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/README: - * win/configure.in: - * win/makefile.bc: - * win/tcl.m4: - - * unix/configure: autoconf-2.59 - * win/configure: - - * generic/tclBasic.c: Revised stubs-generation tool and interp - * tools/genStubs.tcl: creation so that "tclStubsPtr" is not present - * unix/Makefile.in: in libtcl.so, but is present only in - * win/Makefile.in: libtclstub.a. This tightens up the rules for - * win/makefile.bc: users of the stubs interfaces. [Bug 1819422] - * win/makefile.vc: - - * generic/tclDecls.h: make genstubs - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclPlatDecls.h: - * generic/tclTomMathDecls.h: - -2008-03-30 Kevin Kenny - - * generic/tclInt.h (TclIsNaN): - * unix/configure.in: Added code to the configurator to check for a - standard isnan() macro and use it if one is - found. This change avoids bugs where the test of - ((d) != (d)) is optimized away by an - overaggressive compiler. [Bug 1783544] - * generic/tclObj.c: Added missing #include needed to locate - isnan() after the above change. - - * unix/configure: autoconf-2.61 - - * tests/mathop.test (mathop-25.9, mathop-25.14): Modified tests to - deal with (slightly buggy) math libraries in which pow() returns an - incorrectly rounded result. [Bug 1808174] - -2008-03-26 Don Porter - - *** 8.5.2 TAGGED FOR RELEASE *** - - * generic/tcl.h: Bump to 8.5.2 for release. - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - - * changes: Updated for 8.5.2 release. - -2008-03-28 Donal K. Fellows - - * tests/fCmd.test: Substantial rewrite to use many more tcltest - features. Great reduction in quantity of [catch] gymnastics. Several - buggy tests fixed, including one where the result of the previous test - was being checked! - -2008-03-27 Kevin B. Kenny - - * library/tzdata/America/Marigot: - * library/tztata/America/St_Barthelemy: - * library/tzdata/America/Argentina/San_Luis: - * library/tzdata/Asia/Ho_Chi_Minh: - * library/tzdata/Asia/Kolkata: (new files) - * library/tzdata/America/Caracas: - * library/tzdata/America/Havana: - * library/tzdata/America/Santiago: - * library/tzdata/America/Argentina/Buenos_Aires: - * library/tzdata/America/Argentina/Catamarca: - * library/tzdata/America/Argentina/Cordoba: - * library/tzdata/America/Argentina/Jujuy: - * library/tzdata/America/Argentina/La_Rioja: - * library/tzdata/America/Argentina/Mendoza: - * library/tzdata/America/Argentina/Rio_Gallegos: - * library/tzdata/America/Argentina/San_Juan: - * library/tzdata/America/Argentina/Tucuman: - * library/tzdata/America/Argentina/Ushuaia: - * library/tzdata/Asia/Baghdad: - * library/tzdata/Asia/Calcutta: - * library/tzdata/Asia/Damascus: - * library/tzdata/Asia/Saigon: - * library/tzdata/Pacific/Easter: - Changes up to and including Olson's tzdata2008b. - -2008-03-27 Daniel Steffen - - * unix/tcl.m4 (SunOS-5.1x): Fix 64bit support for Sun cc. [Bug - 1921166] - - * unix/configure: autoconf-2.59 - -2008-03-26 Don Porter - - * changes: Updated for 8.5.2 release. - -2008-03-24 Pat Thoyts - - * generic/tclBinary.c: [Bug 1923966] - crash in binary format - * tests/binary.test: Added tests for the above crash condition. - -2008-03-21 Donal K. Fellows - - * doc/switch.n: Clarified documentation in respect of two-argument - invocation. [Bug 1899962] - - * tests/switch.test: Added more tests of regexp-mode compilation of - the [switch] command. [Bug 1854435] - -2008-03-20 Donal K. Fellows - - * generic/tcl.h, generic/tclThreadAlloc.c: Tidied up the declarations - of Tcl_GetMemoryInfo so that it is always defined. Will panic when - called against a Tcl that was previously built without it at all, - which is OK because that also indicates a serious mismatch between - memory configuration options. - -2008-03-19 Donal K. Fellows - - * generic/tcl.h, generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Make - sure this function is available when direct linking. [Bug 1868171] - - * tests/reg.test (reg-33.14): Marked nonPortable because some - environments have small default stack sizes. [Bug 1905562] - -2008-03-18 Andreas Kupries - - * library/tm.tcl (::tcl::tm::UnknownHandler): Changed 'source' to - 'source -encoding utf-8'. This fixes a portability problem of Tcl - Modules pointed out by Don Porter. By using plain 'source' we were at - the mercy of 'encoding system', making modules less portable than they - could be. The exact scenario: A writes a TM in some weird encoding - which is A's system encoding, distributes it, and somewhere else it - cannot be read/used because the system encoding is different. Forcing - the use of utf-8 makes the module portable. - - ***INCOMPATIBILITY*** for all Tcl Modules already written in non-utf-8 - compatible encodings. - -2008-03-18 Don Porter - - * generic/tclExecute.c: Patch from Miguel Sofer to correct the - alignment of memory allocated by GrowEvaluationStack(). [Bug 1914503] - -2008-03-18 Andreas Kupries - - * library/tm.tcl (::tcl::tm::Defaults): Modified handling of - environment variables. Solution slightly different than proposed in - the report. Using the underscored form TCLX_y_TM_PATH even if - TCLX.y_TM_PATH exists. Also using a loop to cut prevent code - replication. [Bug 1914604] - -2008-03-16 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictForCmd): Correct the handling - of stack space calculation (the jump pattern used was confusing the - simple-minded code doing the calculations). [Bug 1903325] - - * doc/lreplace.n: Clarified documentation of what happens with - negative indices. [Bug 1905809] Added example, tidied up formatting. - -2008-03-14 Don Porter - - * generic/tclBasic.c (OldMathFuncProc): Same workaround protection - from bad TclStackAlloc() alignment. Thanks George Peter Staplin. - - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Use ckalloc() to allocate - SortElement arrays instead of TclStackAlloc() which isn't getting - alignment right. Workaround for [Bug 1914503]. - -2008-03-14 Reinhard Max - - * generic/tclTest.c: Ignore the return value of write() when we are - * unix/tclUnixPipe.c: about to exit anyways. - -2008-03-13 Daniel Steffen - - * unix/configure.in: Use backslash-quoting instead of double-quoting - * unix/tcl.m4: for lib paths in tclConfig.sh. [Bug 1913622] - * unix/configure: autoconf-2.59 - -2008-03-13 Don Porter - - * changes: Updated for 8.5.2 release. - - * generic/tclStrToD.c: Resolve identifier conflict over "pow10" with - libm in Cygwin and DJGPP. Thanks to Gordon Schumacher and Philip - Moore. [Patch 1800636] - -2008-03-12 Daniel Steffen - - * macosx/Tcl.xcodeproj/project.pbxproj: Add support for Xcode 3.1 - * macosx/Tcl.xcodeproj/default.pbxuser: CODE_SIGN_IDENTITY and - * macosx/Tcl-Common.xcconfig: 'xcodebuild install'. - -2008-03-12 Andreas Kupries - - * doc/info.n: Replaced {expand} with {*}. - -2008-03-12 Jeff Hobbs - - * unix/Makefile.in (install-libraries): Bump http to 2.7 - * win/Makefile.in (install-libraries): Added -myaddr option to allow - * library/http/http.tcl (http::geturl): control of selected socket - * library/http/pkgIndex.tcl: interface. [Bug 559898] - * doc/http.n, tests/http.test: Added -keepalive and - -protocol 1.1 with chunked transfer encoding support. [Bug 1063703, - 1470377, 219225] (default keepalive is 0) - Added ability to override Host in -headers. [Bug 928154] - Added -strict option to control URL validation on per-call basis. - [Bug 1560506] - -2008-03-11 Jeff Hobbs - - * library/http/http.tcl (http::geturl): Add -method option to support - * tests/http.test (http-3.1): http PUT and DELETE requests. - * doc/http.n: [Bug 1599901, 862554] - - * library/http/http.tcl: Whitespace changes, code cleanup. Allow http - to be re-sourced without overwriting http state. - -2008-03-11 Daniel Steffen - - * generic/tclEncoding.c (LoadEscapeEncoding): Avoid leaking escape - sub-encodings, fixes encoding-11.1 failing after iso2022-jp loaded. - [Bug 1893053] - - * macosx/tclMacOSXNotify.c: Avoid using CoreFoundation after fork() on - Darwin 9 even when TclpCreateProcess() uses vfork(). - - * macosx/Tcl.xcodeproj/project.pbxproj: Add support for Xcode 3.1 and - * macosx/Tcl.xcodeproj/default.pbxuser: configs for building with - * macosx/Tcl-Common.xcconfig: gcc-4.2 and llvm-gcc-4.2. - - * unix/tclUnixPort.h: Workaround vfork() problems in - llvm-gcc-4.2.1 -O4 build. - - * unix/tclUnixPort.h: Move MODULE_SCOPE compat - define to top. [Bug 1911102] - - * macosx/GNUmakefile: Fix quoting to allow paths - * macosx/Tcl-Common.xcconfig: to ${builddir} and - * unix/Makefile.in: ${INSTALL_ROOT} to contain - * unix/configure.in: spaces. - * unix/install-sh: - * unix/tcl.m4: - * tests/ioCmd.test: - - * unix/configure: autoconf-2.59 - - * unix/Makefile.in (install-strip): Strip non-global symbols from - dynamic library. - - * unix/tclUnixNotfy.c: Fix warning. - - * tests/exec.test (exec-9.7): Reduce timing sensitivity - * tests/socket.test (socket-2.11): (esp. on multi-proc machines). - - * tests/fCmd.test (fCmd-9.4): Skip on Darwin 9 (xfail). - -2008-03-11 Miguel Sofer - - * generic/tclVar.c (TclDeleteNamespaceVars): - * tests/var.test (var-8.2): Unset traces on vars should be called with - a FQ named during namespace deletion. This was causing infinite loops - when unset traces recreated the var, as reported by Julian Noble. [Bug - 1911919] - -2008-03-10 Don Porter - - * changes: Updated for 8.5.2 release. - - * doc/http.n: Revised to indicate that [package require http 2.5.5] - is needed to get all the documented commands ([http::meta]). - - * generic/tclEvent.c (TclDefaultBgErrorHandlerObjCmd): Added error - * tests/event.test (event-5.*): checking to protect against callers - passing invalid return options dictionaries. [Bug 1901113] - - * generic/tclBasic.c (ExprAbsFunc): Revised so that the abs() - * tests/expr.test: function and the [::tcl::mathfunc::abs] - command do not return the value of -0, or equivalent values with more - alarming string reps like -1e-350. [Bug 1893815] - -2008-03-07 Andreas Kupries - - * generic/tclResult.c (ReleaseKeys): Workaround for [Bug 1904907]. - Reset the return option keys to NULL to allow full re-initialization - by GetKeys(). This introduces a memory leak for the key objects, but - gets us around a crash in the finalization of reflected channels when - handling returns, either at compile- or runtime. In both cases we - access the keys after they have been released by their thread exit - handler. A proper fix is entangled with the untangling of the - finalization ordering and attendant issues. For now we choose the - lesser evil. - -2008-03-07 Don Porter - - * generic/tclExecute.c (Tcl_ExprObj): Revised expression bytecode - compiling so that bytecodes invalid due to changing context or due to - the difference between expressions and scripts are not reused. [Bug - 1899164] - - * generic/tclCmdAH.c: Revised direct evaluation implementation of - [expr] so that [expr $e] caches compiled bytecodes for the expression - as the intrep of $e. - - * tests/execute.test (execute-6.*): More tests checking that - script bytecode is invalidated in the right situations. - -2008-03-07 Donal K. Fellows - - * win/configure.in: Add AC_HEADER_STDC to support msys/win64. - -2008-03-06 Donal K. Fellows - - * doc/namespace.n: Minor tidying up. [Bug 1909019] - -2008-03-04 Don Porter - - * tests/execute.test (6.3,4): Added tests for [Bug 1899164]. - -2008-03-03 Reinhard Max - - * unix/tclUnixChan.c: Fix mark and space parity on Linux, which uses - CMSPAR instead of PAREXT. - -2008-03-02 Miguel Sofer - - * generic/tclNamesp.c (GetNamespaceFromObj): - * tests/interp.test (interp-28.2): Spoil the intrep of an nsNameType - obj when the reference crosses interpreter boundaries. - -2008-02-29 Don Porter - - * generic/tclResult.c (Tcl_SetReturnOptions): Revised the refcount - management of Tcl_SetReturnOptions to become that of a conventional - Consumer routine. Thanks to Peter Spjuth for pointing out the - difficulties calling Tcl_SetReturnOptions with non-0-count value for - options. - * generic/tclExecute.c (INST_RETURN_STK): Revised the one caller - within Tcl itself which passes a non-0-count value to - Tcl_SetReturnOptions(). - - * generic/tclBasic.c (Tcl_AppendObjToErrorInfo): Revised the - refcount management of Tcl_AppendObjToErrorInfo to become that of a - conventional Consumer routine. This preserves the ease of use for the - overwhelming common callers who pass in a 0-count value, but makes the - proper call with a non-0-count value less surprising. - * generic/tclEvent.c (TclDefaultBgErrorHandlerObjCmd): Revised the - one caller within Tcl itself which passes a non-0-count value to - Tcl_AppendObjToErrorInfo(). - -2008-02-28 Joe English - - * unix/tclPort.h, unix/tclCompat.h, unix/tclUnixChan.h: Reduce scope - of and #includes. [Patch 1903339] - -2008-02-28 Joe English - - * unix/tclUnixChan.c, unix/tclUnixNotfy.c, unix/tclUnixPipe.c: - Consolidate all code conditionalized on -DUSE_FIONBIO into one place. - * unix/tclUnixPort.h, unix/tclUnixCompat.c: New routine - TclUnixSetBlockingMode(). [Patch 1903339] - -2008-02-28 Don Porter - - * generic/tclBasic.c (TclEvalObjvInternal): Plug memory leak when - an enter trace deletes or changes the command, prompting a reparsing. - Don't let the second pass lose commandPtr value allocated during the - first pass. - - * generic/tclCompExpr.c (ParseExpr): Plug memory leak in error - message generation. - - * generic/tclStringObj.c (Tcl_AppendFormatToObj): [format %llx $big] - leaked an mp_int. - - * generic/tclCompCmds.c (TclCompileReturnCmd): The 2007-10-18 commit - to optimize compiled [return -level 0 $x] [RFE 1794073] introduced a - memory leak of the return options dictionary. Fixing that. - -2008-02-27 Pat Thoyts - - * library/http/http.tcl: [Bug 705956] - fix inverted logic when - cleaning up socket error in geturl. - -2008-02-27 Kevin B. Kenny - - * doc/clock.n: Corrected minor indentation gaffe in the penultimate - paragraph. [Bug 1898025] - * generic/tclClock.c (ParseClockFormatArgs): Changed to check that the - clock value is in the range of a 64-bit integer. [Bug 1862555] - * library/clock.tcl (::tcl::clock::format, ::tcl::clock::scan, - (::tcl::clock::add, ::tcl::clock::LocalizeFormat): Fixed bugs in - caching of localized strings that caused weird results when localized - date/time formats were used. [Bug 1902423] - * tests/clock.test (clock-61.*, clock-62.1): Regression tests for [Bug - 1862555] and [Bug 1902423]. - -2008-02-26 Joe English - - * generic/tclIOUtil.c, unix/tclUnixPort.h, unix/tclUnixChan.c: - Remove dead/unused portability-related #defines and unused conditional - code. See [Patch 1901828] for discussion. - -2008-02-26 Joe English - - * generic/tclIORChan.c (enum MethodName), - * generic/tclCompExpr.c (enum Marks): More stray trailing ","s - -2008-02-26 Joe English - - * unix/configure.in(socklen_t test): Define socklen_t as "int" if - missing, not "unsigned". Use AC_TRY_COMPILE instead of - AC_EGREP_HEADER. - * unix/configure: regenerated. - -2008-02-26 Joe English - - * generic/tclCompile.h: Remove stray trailing "," from enum - InstOperandType definition (C99ism). - -2008-02-26 Jeff Hobbs - - * generic/tclUtil.c (TclReToGlob): Fix the handling of the last star - * tests/regexpComp.test: possibly being escaped in - determining right anchor. [Bug 1902436] - -2008-02-26 Pat Thoyts - - * library/http/pkgIndex.tcl: Set version 2.5.5 - * library/http/http.tcl: It is better to do the [eof] check after - trying to read from the socket. No clashes found in testing. Added - http::meta command to access the http headers. [Bug 1868845] - -2008-02-22 Pat Thoyts - - * library/http/pkgIndex.tcl: Set version 2.5.4 - * library/http/http.tcl: Always check that the state array exists - in the http::status command. [Bug 1818565] - -2008-02-13 Don Porter - - * generic/tcl.h: Bump version number to 8.5.2b1 to distinguish - * library/init.tcl: CVS development snapshots from the 8.5.1 and - * unix/configure.in: 8.5.2 releases. - * unix/tcl.spec: - * win/configure.in: - * README - - * unix/configure: autoconf (2.59) - * win/configure: - -2008-02-12 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Corrected logic for - * tests/switch.test (switch-10.15): handling -nocase compilation; the - -exact -nocase option cannot be compiled currently. [Bug 1891827] - - * unix/README: Documented missing configure flags. [Bug 1799011] - -2008-02-06 Kevin B. Kenny - - * doc/clock.n (%N): Corrected an error in the explanation of the %N - format group. - * generic/tclClock.c (ClockParseformatargsObjCmd): - * library/clock.tcl (::tcl::clock::format): - * tests/clock.test (clock-1.0, clock-1.4): - Performance enhancements in [clock format] (moving the analysis of - $args into C code, holding on to Tcl_Objs with resolved command names, - [lassign] in place of [foreach], avoiding [namespace which] for - command resolution). - -2008-02-04 Don Porter - - *** 8.5.1 TAGGED FOR RELEASE *** - - * changes: Updated for 8.5.1 release. - - * generic/tcl.h: Bump to 8.5.1 for release. - * library/init.tcl: - * tools/tcl.wse.in: - * unix/configure.in: - * unix/tcl.spec: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - -2008-02-04 Miguel Sofer - - * generic/tclExecute.c (INST_CONCAT1): Fix optimisation for in-place - concatenation (was going over String type) - -2008-02-02 Daniel Steffen - - * unix/configure.in (Darwin): Correct Info.plist year substitution - in non-framework builds. - - * unix/configure: autoconf-2.59 - -2008-01-30 Miguel Sofer - - * generic/tclInterp.c (Tcl_GetAlias): Fix for [Bug 1882373], thanks go - to an00na. - -2008-01-30 Donal K. Fellows - - * tools/tcltk-man2html.tcl: Reworked manual page scraper to do a - proper job of handling references to Ttk options. [Tk Bug 1876493] - -2008-01-29 Donal K. Fellows - - * doc/man.macros (SO, SE): Adjusted macros so that it is possible for - Ttk to have its "standard options" on a manual page that is not called - "options". [Tk Bug 1876493] - -2008-01-25 Don Porter - - * changes: Updated for 8.5.1 release. - -2008-01-23 Don Porter - - * generic/tclInt.h: New macro TclGrowParseTokenArray() to - * generic/tclCompCmds.c: simplify code that might need to grow - * generic/tclCompExpr.c: an array of Tcl_Tokens in the parsePtr - * generic/tclParse.c: field of a Tcl_Parse. Replaces the - TclExpandTokenArray() routine via replacing: - int needed = parsePtr->numTokens + growth; - while (needed > parsePtr->tokensAvailable) { - TclExpandTokenArray(parsePtr); - } - with: - TclGrowParseTokenArray(parsePtr, growth); - This revision merged over from dgp-refactor branch. - - * generic/tclCompile.h: Demote TclCompEvalObj() from internal stubs to - * generic/tclInt.decls: a MODULE_SCOPE routine declared in - tclCompile.h. - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - -2008-01-22 Don Porter - - * generic/tclTimer.c (AfterProc): Replace Tcl_EvalEx() with - Tcl_EvalObjEx() to evaluate [after] callbacks. Part of trend to favor - compiled execution over direct evaluation. - -2008-01-22 Miguel Sofer - - * generic/tclCmdIl.c (Tcl_LreverseObjCmd): - * tests/cmdIL.test (cmdIL-7.7): Fix crash on reversing an empty list. - [Bug 1876793] - -2008-01-20 Jeff Hobbs - - * unix/README: Minor typo fixes [Bug 1853072] - - * generic/tclIO.c (TclGetsObjBinary): Operate on topmost channel. - [Bug 1869405] (Ficicchia) - -2008-01-17 Don Porter - - * generic/tclCompExpr.c: Revision to preserve parsed intreps of - numeric and boolean literals when compiling expressions with (optimize - == 1). - -2008-01-15 Miguel Sofer - - * generic/tclCompExpr.c: Add an 'optimize' argument to - * generic/tclCompile.c: TclCompileExpr() to profit from better - * generic/tclCompile.h: literal management according to usage. - * generic/tclExecute.c: - - * generic/tclCompExpr.c: Fix literal leak in exprs [Bug 1869989] (dgp) - * generic/tclExecute.c: - * tests/compExpr.test: - - * doc/proc.n: Changed wording for access to non-local variables; added - mention to [namespace upvar]. Lame attempt at dealing with - documentation. [Bug 1872708] - -2008-01-15 Miguel Sofer - - * generic/tclBasic.c: Replacing 'operator' by 'op' in the def of - * generic/tclCompExpr.c: struct TclOpCmdClientData to accommodate C++ - * generic/tclCompile.h: compilers. [Bug 1855644] - -2008-01-13 Jeff Hobbs - - * win/tclWinSerial.c (SerialCloseProc, TclWinOpenSerialChannel): Use - critical section for read & write side. [Bug 1353846] (newman) - -2008-01-11 Miguel Sofer - - * unix/tclUnixThrd.c (TclpThreadGetStackSize): Restore stack checking - functionality in freebsd. [Bug 1850424] - - * unix/tclUnixThrd.c (TclpThreadGetStackSize): Fix for crash in - freebsd. [Bug 1860425] - -2008-01-10 Don Porter - - * generic/tclStringObj.c (Tcl_AppendFormatToObj): Correct failure to - * tests/format.test: account for big.used == 0 corner case in the - %ll(idox) format directives. [Bug 1867855] - -2008-01-09 George Peter Staplin - - * doc/vwait.n: Add a missing be to fix a typo. - -2008-01-04 Jeff Hobbs - - * tools/tcltk-man2html.tcl (make-man-pages): Make man page title use - more specific info on lhs to improve tabbed browser view titles. - -2008-01-02 Donal K. Fellows - - * doc/binary.n: Fixed documentation bug reported on tcl-core, and - reordered documentation to discourage people from using the hex - formatter that is hardly ever useful. - -2008-01-02 Don Porter - - * generic/tcl.h: Bump version number to 8.5.1b1 to distinguish - * library/init.tcl: CVS development snapshots from the 8.5.0 and - * unix/configure.in: 8.5.1 releases. - * unix/tcl.spec: - * win/configure.in: - * README - - * unix/configure: autoconf (2.59) - * win/configure: - - ****************************************************************** - *** CHANGELOG ENTRIES FOR 2006-2007 IN "ChangeLog.2007" *** - *** CHANGELOG ENTRIES FOR 2005 IN "ChangeLog.2005" *** - *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" *** - *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" *** - *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" *** - *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" *** - *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** - *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" *** - ****************************************************************** Index: changes ================================================================== --- changes +++ changes @@ -4648,11 +4648,11 @@ 9/21/99 (bug fix) fixed end-int linsert interpretation. [Bug: 2693] (hobbs) 9/21/99 (bug fix) fixed bug when setting array in non-existent namespace. [Bug: 2613] (hobbs) ---- Released 8.2.1, October 04, 1999 --- See ChangeLog for details --- +--- Released 8.2.1, October 04, 1999 10/30/99 (feature enhancement) new regexp engine from Henry Spencer was patched in - should greatly reduce stack space usage. (spencer) 10/30/99 (bug fix) fixed Purify reported memory leaks in findexecutable @@ -4678,11 +4678,11 @@ 10/30/99 (bug fix) fixed [string index] to return ByteArrayObj when indexing into one (test case string-5.16) [Bug: 2871] (hobbs) 10/30/99 (bug fix) fixes for mac UTF filename handling (ingham) ---- Released 8.2.2, November 04, 1999 --- See ChangeLog for details --- +--- Released 8.2.2, November 04, 1999 11/19/99 (feature enhancement) bug fixes for http package as well as patch required by TLS (SSL) extension that adds http::(un)register and -type to http::geturl. Up'd http pkg version to 2.2. @@ -4703,11 +4703,11 @@ atexit handlers. 12/07/99 (bug fix) fixes for 'expr + {[incr]}' and 'expr + {[error]}' cases (different causes). ---- Released 8.2.3, December 16, 1999 --- See ChangeLog for details --- +--- Released 8.2.3, December 16, 1999 1999-09-14 (feature enhancement) added -start switch to regexp and regsub. 1999-09-15 (feature enhancement) add 'array unset' command. @@ -4760,11 +4760,11 @@ 1999-12-21 (feature enhancement) added -unique option to lsort (hobbs) 1999-12-21 (bug fix) changed thread ids to longs (for 64bit systems) ---- Released 8.3b1, December 22, 1999 --- See ChangeLog for details --- +--- Released 8.3b1, December 22, 1999 2000-01-10 (feature enhancement) clock scan now supports the common ISO 8601 date/time formats. See docs for details. (melski) 2000-01-10 (bug fix) prevented \ooo substitution from accepting @@ -4786,11 +4786,11 @@ symbolicly (like chmod) in [file attributes $file -permissions ...] (schoebel) 2000-01-13 (bug fix) fixed lsort -dictionary problem when sorting characters between 'Z' and 'a' (flawed upper/lower comparison logic) (melski) ---- Released 8.3b2, January 13, 2000 --- See ChangeLog for details --- +--- Released 8.3b2, January 13, 2000 2000-01-14 (feature enhancement) clock format %Q added, clock scan updated 2000-01-20 (bug fix) corrected complex array elem compiling (Spjuth) @@ -4825,11 +4825,11 @@ mac panic from an error when closing an async socket (steffen, ingham) 2000-02-10 (feature enhancement) improved error reporting for failed loads on Windows (dejong, hobbs) ---- Released 8.3.0, February 10, 2000 --- See ChangeLog for details --- +--- Released 8.3.0, February 10, 2000 2000-03 (bug fixes, feature enhancement) overhaul of http package for proper handling of async callbacks (new options), version is now at 2.3 (tamhankar, welch) @@ -4868,11 +4868,11 @@ 2000-04-23 (bug fix) several Mac socket fixes (ingham) 2000-04-24 (bug fix) fixed hang in threaded Unix case when backgrounded exec process was running (dejong) ---- Released 8.3.1, April 26, 2000 --- See ChangeLog for details --- +--- Released 8.3.1, April 26, 2000 2000-04-26 (doc fix) updated/added documentation for many API's and commands (melski) 2000-05-02 (feature enhancement) added support for joinable threads; @@ -4918,11 +4918,11 @@ pattern matching for [array names] (gazetta) 2000-05-31 (feature enhancement) added -nocomplain and -- flags to [unset] to allow for silent unset operation (hobbs) ---- Released 8.4a1, June 6, 2000 --- See ChangeLog for details --- +--- Released 8.4a1, June 6, 2000 2000-05-29 (bug fix) corrected resource cleanup in http error cases. Improved handling of error cases in http. (tamhankar) 2000-07 (feature rewrite) complete rewrite of the Tcl IO channel subsystem @@ -4957,11 +4957,11 @@ sections. (english) 2000-08-07 (bug fix) new man pages memory.n, TCL_MEM_DEBUG.3, Init.3 and DumpActiveMemory.3. (melski) ---- Released 8.3.2, August 9, 2000 --- See ChangeLog for details --- +--- Released 8.3.2, August 9, 2000 2000-06 thru 2000-11 (build improvements) Added support for mingw (gcc on Windows), AIX-5 and Win64 builds (dejong, hobbs) 2000-06-23 (feature enhancement) ability to use Tcl_Obj *s as hash keys (duffin) @@ -5016,11 +5016,11 @@ environment (gravereaux) 2000-11-03 (new feature) Tcl_SetMainLoop enables defining an event loop for tclsh. This enables Tk as a truly loadable package. (hobbs) ---- Released 8.4a2, November 3, 2000 --- See ChangeLog for details --- +--- Released 8.4a2, November 3, 2000 2000-09-27 (bug fix) fixed a bug introduced by a partial fix in 8.3.2 that didn't set nonBlocking correctly when resetting the flags for the write side (mem leak) Correct mem leak in channels when statePtr was released (hobbs) @@ -5074,11 +5074,11 @@ 2001-04-04 (build improvements) redid Mac build structure (steffen) Corrected IRIX-5* configure (english). Added support for AIX-5 (hobbs). Added support for Win64 (hobbs). ---- Released 8.3.3, April 6, 2001 --- See ChangeLog for details --- +--- Released 8.3.3, April 6, 2001 2000-11-23 (new feature)[TIP 7] higher resolution timer on Windows (kenny) 2001-01-18 (new feature) Tcl_InitHashTableEx renamed to Tcl_InitCustomHashTable (kupries) @@ -5148,11 +5148,11 @@ * configure scripts revamped for better support of cygwin and gcc on Windows (mdejong) * corrected several minor errors noted by Purify (hobbs) ---- Released 8.4a3, August 6, 2001 --- See ChangeLog for details --- +--- Released 8.4a3, August 6, 2001 2001-06-27 (bug fix)[217987] corrected backslash substitution of non-ASCII characters. (hobbs, riefenstahl) 2001-06-28 (bug fix)[231259] failure to re-compile after cmd shadowing (sofer) @@ -5254,11 +5254,11 @@ *** POTENTIAL INCOMPATIBILITY *** 2001-10-18 (bug fix) corrected off-by-one-day error in clock scan with relative months and years during swing hours. (lavana) ---- Released 8.3.4, October 19, 2001 --- See ChangeLog for details --- +--- Released 8.3.4, October 19, 2001 2001-08-21 (bug fix)[219184] overagressive compilation of [catch] (sofer) 2001-08-22 (new feature)[227482] [dde request -binary] (hobbs) => dde 1.2 @@ -5433,11 +5433,11 @@ 2002-03-04 (bug fix)[474358, 218099, 219314, 524674] fixed several problems related to the handling of iso2022 text and finalization of escape-based encodings. (taguchi, takahashi, hobbs) ---- Released 8.4a4, March 5, 2002 --- See ChangeLog for details --- +--- Released 8.4a4, March 5, 2002 2002-03-06 (new feature)[TIP 80] expanded [lsearch] options (wilkason, fellows) 2002-03-07 (new feature)[TIP 87] [interp recursionlimit] (trier) @@ -5543,11 +5543,11 @@ 2002-06-26 (bug fix)[565880] [clock format] now respects locale (max) *** POTENTIAL INCOMPATIBILITY *** 2002-07-03 (bug fix)[577015] [catch] catches even compile errors (sofer) ---- Released 8.4b1, July 5, 2002 --- See ChangeLog for details --- +--- Released 8.4b1, July 5, 2002 2002-07-08 (bug fix) restored compatibility of [viewFile] in tcltest (porter) 2002-07-11 (bug fix) [file normalize] returns long form on Win 95/98/ME (darley) @@ -5581,11 +5581,11 @@ are no longer always re-parsed from string. (sofer) Many internal bugs fixed. Considerable cleanup of the test suite. ---- Released 8.4b2, August 9, 2002 --- See ChangeLog for details --- +--- Released 8.4b2, August 9, 2002 2002-08-20 (new feature) --enable-memdebug configure option (kupries) 2002-08-23 (bug fix)[597936] mem leak with USE_THREAD_ALLOC (sofer,zoran) @@ -5596,11 +5596,11 @@ 2002-08-31 (platform support)[TIP 108] Mac OS X port (steffen,ingham) 2002-09-02 (platfrom support) 64-bit compile on HP-11 (martin) ---- Released 8.4.0, September 10, 2002 --- See ChangeLog for details --- +--- Released 8.4.0, September 10, 2002 2002-09-18 (platform support) Updated support for compiling with Cygwin and either mingw or gcc. (khan, howell, dejong) 2002-09-22 (bug fix)[612786, 611922] Corrected [puts -nonewline] within @@ -5659,11 +5659,11 @@ 2002-10-22 (platform support)[624509] On macosx, add embedded framework dirs to tcl_pkgPath: @executable_path/../Frameworks and @executable_path/../PrivateFrameworks (if they exist), as well as the dirs in DYLD_FRAMEWORK_PATH (if set). (steffen) ---- Released 8.4.1, October 22, 2002 --- See ChangeLog for details --- +--- Released 8.4.1, October 22, 2002 2002-10-28 (bug fix)[627660] [package unknown] chaining for platform specifics 2002-10-29 (bug fix)[627546] verbose [load] (dyld) error mesages on MacOSX @@ -5752,11 +5752,11 @@ 2003-02-25 (feature change) [pkg_mkIndex -load]: case-insensitive match *** POTENTIAL INCOMPATIBILITY *** 2003-02-27 (bug fix)[694232] stop [lsearch -start 0 {} x] segfault ---- Released 8.4.2, March 3, 2003 --- See ChangeLog for details --- +--- Released 8.4.2, March 3, 2003 2003-03-06 (bug fix)[699042] Correct case-insensitive unicode string comparison in Tcl_UniCharNcasecmp 2003-03-11 (bug fix) Corrected loading of tclpip8x.dll on Win9x @@ -5834,11 +5834,11 @@ encoding for the original. Most uses of gb2312 really mean euc-cn. 2003-05-14 (bug fix)[736421] Corrected another putenv() copy behavior problem when compiling on Windows and using Microsoft's runtime. ---- Released 8.4.3, May 20, 2003 --- See ChangeLog for details --- +--- Released 8.4.3, May 20, 2003 2003-05-23 (bug fix)[726018] reverted internals change to the 'cmdName' Tcl_ObjType that broke several extensions (TclBlend, e4graph...) in the 8.4.3 release. @@ -5875,11 +5875,11 @@ Improved documentation, new tests, and some code cleanup. [655300, 720634, 735364, 748700, 756112, 756744, 756951, 758488, 760768, 763312, 769895, 771539, 771840, 771947, 771949, 772333] ---- Released 8.4.4, July 22, 2003 --- See ChangeLog for details --- +--- Released 8.4.4, July 22, 2003 2003-07-23 (bug fix)[775976] fix registry compilation for VC7. 2003-08-05 (enhancement)[781585] Use Tcl_ResetResult in bytecodes to prevent potential costly Tcl_Obj duplication. @@ -5921,11 +5921,11 @@ 2003-11-11 (bug fix) Improve AIX-64 build configuration. 2003-11-17 (bug fix)[230589, 504785, 505048, 703709, 840258] fixes to various odd regexp "can't happen" bugs. ---- Released 8.4.5, November 20, 2003 --- See ChangeLog for details --- +--- Released 8.4.5, November 20, 2003 2003-12-02 (bug fix)[851747] object sharing fix in [binary scan] 2003-12-09 (platform support)[852369] update errno usage for recent glibc @@ -5958,11 +5958,11 @@ 2004-03-01 (bug fix)[462580] corrected level interpretation of Tcl_CreateTrace 2004-03-01 (platform support)[218561] Allow 64-bit configure on IRIX64-6.5* ---- Released 8.4.6, March 1, 2004 --- See ChangeLog for details --- +--- Released 8.4.6, March 1, 2004 Changes to 8.5a1 include all changes to the 8.4 line through 8.4.6, plus the following, which focuses on the high-level feature changes in this changeset (new minor version) rather than bug fixes: @@ -6044,11 +6044,11 @@ => msgcat 1.4 * [TIP #157] leading {expand} syntax on words to cause argument expansion. This is a safer/cleaner alternative to the use of 'eval'. ---- Released 8.5a1, March 3, 2004 --- See ChangeLog for details --- +--- Released 8.5a1, March 3, 2004 2004-03-04 (new feature) registry package is [unload]able (thoyts) => registry 1.1.4 2004-03-08 (bug fix)[910525] [glob -path] in root directory (darley) @@ -6344,11 +6344,11 @@ Doc improvements [759545,926590,935853,1017072,1018486,1022527,1027849, 1032243,1047928,1048005,1058446,1062647,1065732,1073334,etc.] Test suite expansion [1036649,1001997,etc.] ---- Released 8.5a2, December 7, 2004 --- See ChangeLog for details --- +--- Released 8.5a2, December 7, 2004 2004-12-13 (bug fix)[1083082] encoding memory leaks (ade,porter) 2004-12-13 (bug fix)[1082349] restored C++ extension support (porter) @@ -6488,11 +6488,11 @@ 2005-06-01 (bug fix)[1209759] "return TCL_RETURN;" could cause panic (porter) Documentation improvements [1075433,1085127,1117017,1124160,1149605,etc.] ---- Released 8.5a3, June 4, 2005 --- See ChangeLog for details --- +--- Released 8.5a3, June 4, 2005 2005-06-06 (bug fix)[1213678] Windows/gcc: crash in stack.test (kenny) 2005-06-07 (new feature)[TIP 208] [chan] and [chan truncate] (fellows) @@ -6739,11 +6739,11 @@ (platform support) Use of _ANSI_ARGS_ purged. ANSI compiler required (fellows) Documentation improvements [1211078,1190891,1292427,1277503,1104682,1359183, 1415725,666770] ---- Released 8.5a4, April 27, 2006 --- See ChangeLog for details --- +--- Released 8.5a4, April 27, 2006 2006-05-04 (bug fix)[1480509] srand() accept wide input (porter,afredd) 2006-05-05 (bug fix)[1481986] interactive Tcl_Main blocks main loop (porter,lin) @@ -6835,11 +6835,11 @@ 2006-10-12 (bug fix)[1576006] better error messages from [interp alias] (sofer) 2006-10-13 (platform support) get stack size on Darwin (steffen) ---- Released 8.5a5, October 20, 2006 --- See ChangeLog for details --- +--- Released 8.5a5, October 20, 2006 2006-10-20 (configure change) Added autodetection for OS-supplied timezone files (max) 2006-10-23 (enhancement)[1577278] Ensure the Tcl call stack always has a @@ -6917,11 +6917,11 @@ 2007-04-20 (enhancement) Document Tcl_SetNotifier & Tcl_ServiceModeHook (kenny) 2007-04-23 (bug fix) fts_open() crash on 64bit Darwin 8 or earlier (steffen) ---- Released 8.5a6, April 25, 2007 --- See ChangeLog for details --- +--- Released 8.5a6, April 25, 2007 2007-04-30 (bug fix)[1705778] many valgrind-detected leaks corrected 2007-05-01 (bug fix)[1710709] leak in [string map] (porter) @@ -7020,11 +7020,11 @@ 2007-09-17 (platform support)[1748251] Fix NetBSD link failures (english) (bug fix)[1066755] Several stack efficiency efforts increases recursion limit on Windows to be larger than the default [interp recursionlimit] value ---- Released 8.5b1, September 26, 2007 --- See ChangeLog for details --- +--- Released 8.5b1, September 26, 2007 2007-10-02 (bug fix)[1806422] proper [tcl::tm::path] autoload (porter) 2007-10-02 (bug fix) Improve Tcl_DecrRefCount() robustness (staplin) @@ -7032,11 +7032,11 @@ 2007-10-15 (bug fix)[1813528] Tcl_ParseBraces read past buffer (mistachkin) 2007-10-25 (bug fix)[1726873] intermittent crash in threads (vasiljevic) ---- Released 8.5b2, October 26, 2007 --- See ChangeLog for details --- +--- Released 8.5b2, October 26, 2007 2007-10-27 (bug fix)[1821159] fixed broken compile on x86_64 (sofer) 2007-10-27 (bug fix)[1810264] stop panic in RE lexer (fellows) @@ -7068,11 +7068,11 @@ 2007-11-15 (bug fix)[1810038] infinite loop in RE compiler (lane,porter) Many significant documentation improvements (fellows, sofer) ---- Released 8.5b3, November 19, 2007 --- See ChangeLog for details --- +--- Released 8.5b3, November 19, 2007 2007-11-20 (enhancement) string rep of dict has stable order (fellows) 2007-11-21 (enhancement) compiled ensemble support (fellows) @@ -7102,11 +7102,11 @@ 2007-12-18 (bug fix)[1810264] revised regexp engine to prevent debilitating over-consumption of resources (drewry,lane,ormandy,fellows) Several documentation and release notes improvements ---- Released 8.5.0, December 20, 2007 --- See ChangeLog for details --- +--- Released 8.5.0, December 20, 2007 2007-12-23 (bug fix)[1857126] restore backref support to regexps (hobbs) 2007-12-26 (enhancement)[1856994] [lsort] performance (sofer) @@ -7124,11 +7124,11 @@ 2008-01-30 (bug fix)[1882373] fix Tcl_GetAlias pointer code (an00na) Several documentation and release notes improvements ---- Released 8.5.1, February 5, 2008 --- See ChangeLog for details --- +--- Released 8.5.1, February 5, 2008 2008-02-06 (enhancement) [clock format] performance (kenny) 2008-02-12 (bug fix)[1891827] compiled [switch -nocase] error (fellows) @@ -7185,11 +7185,11 @@ 2008-03-27 (platform support)[1921166] Solaris 64bit build fixes (steffen) 2008-03-27 clock tzdata updated to Olson's tzdata2008b (kenny) ---- Released 8.5.2, March 28, 2008 --- See ChangeLog for details --- +--- Released 8.5.2, March 28, 2008 2008-03-30 (bug fix)[1783544] more robust TclIsNaN() (kenny,teterin) 2008-04-01 (interface)[1819422] tclStubsPtr no longer in libtcl (porter) *** POTENTIAL INCOMPATIBILITY *** @@ -7240,11 +7240,11 @@ 2008-06-24 (bug fix)[1999176] crash in [glob -dir {} a] (porter) 2008-06-25 (bug fix)[1999119] Support TM packages in Safe Base (kupries) ---- Released 8.6a1, June 25, 2008 --- See ChangeLog for details --- +--- Released 8.6a1, June 25, 2008 2008-06-29 (bug fix)[2004480] plug memory leaks (ade,porter,steffen) 2008-07-01 (enhancement)[1905562] embed recursion limit in RE engine (fellows) @@ -7293,11 +7293,11 @@ (Tcl_Filesystem *), or (Tcl_Timer *) arguments (nijtmans,porter) *** POTENTIAL INCOMPATIBILITY *** 2008-08-21 (bug fix)[2065115] Restored ***= regexp functioning (hobbs,porter) ---- Released 8.6a2, August 25, 2008 --- See ChangeLog for details --- +--- Released 8.6a2, August 25, 2008 2008-08-29 (bug fix)[2082299] Install TclOO header files (fellows) 2008-09-01 oo methods called during interp deletion no longer skipped if they do not need the dying interp (fellows) @@ -7374,11 +7374,11 @@ 2008-10-08 (bug fix)[2151707] fix stack trace from variable trace (porter) 2008-10-10 (bug fix)[2155658] crash in oo method export (fellows) ---- Released 8.6a3, October 10, 2008 --- See ChangeLog for details --- +--- Released 8.6a3, October 10, 2008 2008-10-13 (bug fix) Fix ability to join threads on 64-bit Windows (thoyts) 2008-10-23 (bug fix)[2186888] Direct-eval [for] handling of [continue] was broken by NRE reform (sofer,porter) @@ -7444,11 +7444,11 @@ 2008-12-18 (new feature)[TIP 332] [close $chan read|write] (ferrieux) 2008-12-18 (bug fix)[2444274] panic in long commands from {*} (goth,porter) ---- Released 8.6b1, December 19, 2008 --- See ChangeLog for details --- +--- Released 8.6b1, December 19, 2008 2008-12-27 [TIP 234] Tcl_Zlib* interface revisions (fellows) *** INCOMPATIBILITY with interface of 8.6b1 *** 2009-01-02 (platform support)[878333] IRIX compat for mkstemp() (fellows) @@ -7952,11 +7952,11 @@ 2011-08-01 (bug fix)[3383616] memleak exposed by XOTcl (neumann,sofer) Many more Tcl built-in command errors now set an -errorcode. ---- Released 8.6b2, August 8, 2011 --- See ChangeLog for details --- +--- Released 8.6b2, August 8, 2011 2011-07-02 (bug fix)[3349507] correct double(1[string repeat 0 23]) (kenny) 2011-07-19 (bug fix)[3371644] Tcl_ConvertElement() segfault (sader, ferrieux) @@ -8113,11 +8113,11 @@ Many revisions to better support a Cygwin environment (nijtmans) Dropped support for OS X versions less than 10.4 (Tiger) (fellows) ---- Released 8.6b3, September 18, 2012 --- See ChangeLog for details --- +--- Released 8.6b3, September 18, 2012 2012-09-20 (enhancement) full Unicode support (nijtmans) => dde 1.4.0 2012-09-20 (enhancement) update bundled zlib to 1.2.7 (nijtmans) @@ -8160,11 +8160,11 @@ 2012-12-13 (bug fix)[3595576] crash: [catch {} -> noSuchNs::var] (sofer,porter) 2012-12-13 (bug fix) crash: [zlib gunzip $data -header noSuchNs::var] (porter) ---- Released 8.6.0, December 20, 2012 --- See ChangeLog for details --- +--- Released 8.6.0, December 20, 2012 2012-12-22 (bug fix)[3598150] DString to Tcl_Obj memleak (afredd) 2012-12-27 (bug fix)[3598580] Tcl_ListObjReplace() refcount fix (nijtmans) Index: unix/Makefile.in ================================================================== --- unix/Makefile.in +++ unix/Makefile.in @@ -2291,13 +2291,12 @@ @mkdir $(DISTDIR)/generic cp -p $(GENERIC_DIR)/*.[cdh] $(DISTDIR)/generic cp -p $(GENERIC_DIR)/*.decls $(DISTDIR)/generic cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic cp -p $(GENERIC_DIR)/tclGetDate.y $(DISTDIR)/generic - cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog $(TOP_DIR)/README.md \ - $(TOP_DIR)/ChangeLog.[12]??? $(TOP_DIR)/license.terms \ - $(DISTDIR) + cp -p $(TOP_DIR)/changes $(TOP_DIR)/README.md \ + $(TOP_DIR)/license.terms $(DISTDIR) @mkdir $(DISTDIR)/library cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/library/*.tcl \ $(TOP_DIR)/library/manifest.txt \ $(TOP_DIR)/library/tclIndex $(DISTDIR)/library @for i in $(BUILTIN_PACKAGE_LIST); do \