diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-10-18 17:31:11 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-10-18 17:31:11 (GMT) |
commit | 066971b1e6e77991d9161bb0216a63ba94ea04f9 (patch) | |
tree | 6de02f79b7a4bb08a329581aa67b444fb9001bfd /tcl8.6/ChangeLog | |
parent | ba065c2de121da1c1dfddd0aa587d10e7e150f05 (diff) | |
parent | 9966985d896629eede849a84f18e406d1164a16c (diff) | |
download | blt-066971b1e6e77991d9161bb0216a63ba94ea04f9.zip blt-066971b1e6e77991d9161bb0216a63ba94ea04f9.tar.gz blt-066971b1e6e77991d9161bb0216a63ba94ea04f9.tar.bz2 |
Merge commit '9966985d896629eede849a84f18e406d1164a16c' as 'tcl8.6'
Diffstat (limited to 'tcl8.6/ChangeLog')
-rw-r--r-- | tcl8.6/ChangeLog | 8856 |
1 files changed, 8856 insertions, 0 deletions
diff --git a/tcl8.6/ChangeLog b/tcl8.6/ChangeLog new file mode 100644 index 0000000..e2881a0 --- /dev/null +++ b/tcl8.6/ChangeLog @@ -0,0 +1,8856 @@ +A NOTE ON THE CHANGELOG: +Starting in early 2011, Tcl source code has been under the management of +fossil, hosted at http://core.tcl.tk/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 <dgp@users.sourceforge.net> + + *** 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 <dkf@users.sf.net> + + * doc/next.n (METHOD SEARCH ORDER): Bug [3606943]: Corrected + description of method search order. + +2013-09-18 Donal Fellows <dkf@users.sf.net> + + Bump TclOO version to 1.0.1 for release. + +2013-09-17 Donal Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * library/auto.tcl: [Patch 3611643]: Allow TclOO classes to be found + by the autoloading mechanism. + +2013-08-02 Donal Fellows <dkf@users.sf.net> + + * 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 <oehhar@users.sf.net> + + * 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 <kennykb@acm.org> + + * 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 <nijtmans@users.sf.net> + + * unix/tclXtNotify.c: Bug [817249]: bring tclXtNotify.c up to date with + Tcl_SetNotifier() change. + +2013-07-02 Jan Nijtmans <nijtmans@users.sf.net> + + * unix/tcl.m4: Bug [32afa6e256]: dirent64 check is incorrect in tcl.m4 + * unix/configure: (thanks to Brian Griffin) + +2013-06-27 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclConfig.c: Bug [9b2e636361]: Tcl_CreateInterp() needs + * generic/tclMain.c: initialized encodings. + +2013-06-18 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclEvent.c: Bug [3611974]: InitSubsystems multiple thread + issue. + +2013-06-17 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/regc_locale.c: Bug [a876646efe]: re_expr character class + [:cntrl:] should contain \u0000 - \u001f + +2013-06-09 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <oehhar@users.sf.net> + + * 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 <andreask@activestate.com> + + * tclCompile.c: Removed duplicate const qualifier causing the HP + native cc to error out. + +2013-05-22 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * unix/tclUnixFCmd.c (DefaultTempDir): [Bug 3613567]: Corrected logic + for checking return code of access() system call, which was inverted. + +2013-05-19 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCompCmdsGR.c: Split tclCompCmds.c again to keep size of + code down. + +2013-05-16 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclBasic.c: Add panic in order to detect incompatible + mingw32 sys/stat.h and sys/time.h headers. + +2013-05-13 Jan Nijtmans <nijtmans@users.sf.net> + + * compat/zlib/*: Upgrade to zlib 1.2.8 + +2013-05-10 Donal K. Fellows <dkf@users.sf.net> + + 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 <nijtmans@users.sf.net> + + * 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 <andreask@activestate.com> + + * 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 <dkf@users.sf.net> + + * generic/tclCompCmds.c (TclCompileArraySetCmd): Generate better code + when the list of things to set is a literal. + +2013-04-25 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclDecls.h: Implement Tcl_Pkg* functions as + (faster/stack-saving) macros around Tcl_Pkg*Ex functions. + +2013-04-08 Don Porter <dgp@users.sourceforge.net> + + * 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 <max@suse.de> + + * 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 <venkat@comit.com> + * 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 <dgp@users.sourceforge.net> + + * library/auto.tcl: [Bug 2102614]: Add ensemble indexing support to + * tests/autoMkindex.test: [auto_mkindex]. Thanks Brian Griffin. + +2013-03-19 Don Porter <dgp@users.sourceforge.net> + + * generic/tclFCmd.c: [Bug 3597000]: Consistent [file copy] result. + * tests/fileSystem.test: + +2013-03-19 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinFile.c: [Bug 3608360]: Incompatible behaviour of "file + exists". + +2013-03-18 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * unix/tcl.m4: Patch by Andrew Shadura, providing better support for + three architectures they have in Debian. + +2013-03-11 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompile.c: [Bugs 3607246,3607372]: Unbalanced refcounts + * generic/tclLiteral.c: of literals in the global literal table. + +2013-03-06 Don Porter <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * tests/chanio.test (chan-io-28.7): [Bug 3605120]: Stop test from + hanging when run standalone. + +2013-02-26 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * tests/binary.test (binary-41.*): [Bug 3605721]: Test independence + fixes. Thanks to Rolf Ade for pointing out the problem. + +2013-02-25 Don Porter <dgp@users.sourceforge.net> + + * tests/assocd.test: [Bugs 3605719,3605720]: Test independence. + * tests/basic.test: Thanks Rolf Ade for patches. + +2013-02-23 Jan Nijtmans <nijtmans@users.sf.net> + + * compat/fake-rfc2553.c: [Bug 3599194]: compat/fake-rfc2553.c is + broken. + +2013-02-22 Don Porter <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * win/tclWinDde.c: [Bug 3605401]: Compiler error with latest mingw-w64 + headers. + +2013-02-19 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <oehhar@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <tcvena@gmail.com> for identifying the problem. + +2013-02-08 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <andreask@activestate.com> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * unix/tclUnixCompat.c: [Bug 3601804]: platformCPUID segmentation + fault on Darwin. + +2013-01-23 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclPort.h: [Bug 3598300]: unix: tcl.h does not include + sys/stat.h + +2013-01-17 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * doc/fileevent.n: [Bug 3436609]: Clarify readable fileevent "false + positives" in the case of multibyte encodings/transforms. + +2013-01-13 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * library/http/http.tcl: [Bug 3599395]: http assumes status line is a + proper Tcl list. + +2013-01-08 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclListObj.c: [Bug 3598580]: Tcl_ListObjReplace may release + deleted elements too early. + +2012-12-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclUtil.c: [Bug 3598150]: Stop leaking allocated space when + objifying a zero-length DString. Spotted by afredd. + +2012-12-21 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCompCmdsSZ.c (TclSubstCompile): Improved the sequence of + instructions issued for [subst] when dealing with simple variable + references. + +2012-12-14 Don Porter <dgp@users.sourceforge.net> + + *** 8.6.0 TAGGED FOR RELEASE *** + + * changes: updates for 8.6.0 + +2012-12-13 Don Porter <dgp@users.sourceforge.net> + + * 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 <msofer@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tcl.h: Fix Tcl_DecrRefCount macro such that it doesn't + access its objPtr parameter twice any more. + +2012-12-11 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * unix/dltest/pkgb.c: Turn pkgb.so into a Tcl9 interoperability test + library: Whatever Tcl9 looks like, loading pkgb.so in Tcl 9 should + either result in an error-message, either succeed, but never crash. + +2012-11-28 Donal K. Fellows <dkf@users.sf.net> + + * 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 <max@suse.de> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + 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 <dkf@users.sf.net> + + * 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 <joe@mistachkin.com> + + * win/tclWinInit.c: also search for the library directory (init.tcl, + encodings, etc) relative to the build directory associated with the + source checkout. + +2012-11-10 Miguel Sofer <msofer@users.sf.net> + + * 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 <kennykb@acm.org> + + * library/tzdata/Africa/Casablanca: + * library/tzdata/America/Araguaina: + * library/tzdata/America/Bahia: + * library/tzdata/America/Havana: + * library/tzdata/Asia/Amman: + * library/tzdata/Asia/Gaza: + * library/tzdata/Asia/Hebron: + * library/tzdata/Asia/Jerusalem: + * library/tzdata/Pacific/Apia: + * library/tzdata/Pacific/Fakaofo: + * library/tzdata/Pacific/Fiji: Import tzdata2012i. + +2012-11-06 Donal K. Fellows <dkf@users.sf.net> + + * library/http/http.tcl (http::Finish): [Bug 3581754]: Ensure that + callbacks are done at most once to prevent problems with timeouts on a + keep-alive connection (combined with reentrant http package use) + causing excessive stack growth. Not a fix for the underlying problem, + but ensures that pain will be mostly kept away from users. + Bump http package to 2.8.5. + +2012-11-05 Donal K. Fellows <dkf@users.sf.net> + + 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 <nijtmans@users.sf.net> + + 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCompCmds.c (TclCompileDictUnsetCmd): Added compilation of + the [dict unset] command (for scalar var in LVT only). + +2012-10-23 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclEvent.c: [Bug 3576509]: tcl::Bgerror crashes with invalid + arguments + +2012-10-06 Jan Nijtmans <nijtmans@users.sf.net> + + * win/Makefile.in: [Bug 2459774]: tcl/win/Makefile.in not compatible + with msys 0.8. + +2012-10-03 Don Porter <dgp@users.sourceforge.net> + + * generic/tclIO.c: When checking for std channels being closed, + compare the channel state, not the channel itself so that stacked + channels do not cause trouble. + +2012-09-26 Reinhard Max <max@suse.de> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <oehhar@users.sf.net> + + 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 <oehhar@users.sf.net> + + *** 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 <dkf@users.sf.net> + + * library/msgs/uk.msg: [Bug 3561330]: Use the correct full name of + March in Ukrainian. Thanks to Mikhail Teterin for reporting. + +2012-08-23 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclBinary.c: [Bug 3496014]: Unecessary memset() in + Tcl_SetByteArrayObj(). + +2012-08-20 Don Porter <dgp@users.sourceforge.net> + + * generic/tclPathObj.c: [Bug 3559678]: Fix bad filename normalization + when the last component is the empty string. + +2012-08-20 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinPort.h: Remove wrapper macro for ntohs(): unnecessary, + because it doesn't require an initialized winsock_2 library. See: + <http://msdn.microsoft.com/en-us/library/windows/desktop/ms740075%28v=vs.85%29.aspx> + * win/tclWinSock.c: + * generic/tclStubInit.c: + +2012-08-17 Jan Nijtmans <nijtmans@users.sf.net> + + * win/nmakehlp.c: Add "-V<num>" option, in order to be able to detect + partial version numbers. + +2012-08-15 Jan Nijtmans <nijtmans@users.sf.net> + + * win/buildall.vc.bat: Only build the threaded builds by default + * win/rules.vc: Some code cleanup + +2010-08-13 Stuart Cassoff <stwo@users.sourceforge.net> + + * unix/tclUnixCompat.c: [Bug 3555454]: Rearrange a bit to quash + 'declared but never defined' compiler warnings. + +2012-08-13 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <max@suse.de> + + * tests/http.test: Fix http-3.29 for machines without IPv6 support. + +2010-08-08 Stuart Cassoff <stwo@users.sourceforge.net> + + * unix/tclUnixCompat.c: Change one '#ifdef' to '#if defined()' for + improved consistency within the file. + +2012-08-08 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclfileName.c: [Bug #1536227]: Cygwin network pathname + * tests/fileName.test: support + +2012-08-07 Don Porter <dgp@users.sourceforge.net> + + * generic/tclIOUtil.c: [Bug 3554250]: Overlooked one field of cleanup + in the thread exit handler for the filesystem subsystem. + +2012-07-31 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * tests/clock.test: [Bug 3549770]: Multiple test failures running + * tests/registry.test: tcltest outside build tree + * tests/winDde.test: + +2012-07-27 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclUniData.c: Support Unicode 6.2 (Add Turkish lira sign) + * generic/regc_locale.c: + +2012-07-25 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * 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 <twylite@crypt.co.za> + + * 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 <max@suse.de> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <joe@mistachkin.com> + + * generic/tclTest.c: Fix several more missing mutex-locks in + TestasyncCmd. + +2012-07-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclTest.c: [Bug 3544685]: Missing mutex-lock in + TestasyncCmd since 2011-08-19. Unbounded gratitude to Stuart + Cassoff for spotting it. + +2012-07-17 Jan Nijtmans <nijtmans@users.sf.net> + + * win/makefile.vc: [Bug 3544932]: Visual studio compiler check fails + +2012-07-16 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * library/reg/pkgIndex.tcl: Make registry 1.3 package dynamically + loadable when ::tcl::pkgconfig is available. + +2012-07-11 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinReg.c: [Bug 3362446]: registry keys command fails + with 8.5/8.6. Follow Microsofts example better in order to prevent + problems when using HKEY_PERFORMANCE_DATA. + +2012-07-10 Jan Nijtmans <nijtmans@users.sf.net> + + * unix/tclUnixNotfy.c: [Bug 3541646]: Don't panic on triggerPipe + overrun. + +2012-07-10 Donal K. Fellows <dkf@users.sf.net> + + * win/tclWinSock.c (InitializeHostName): Corrected logic that + extracted the name of the computer from the gethostname call so that + it would use the name on success, not failure. Also ensured that the + buffer size is exactly that recommended by Microsoft. + +2012-07-08 Reinhard Max <max@suse.de> + + * 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 <dgp@users.sourceforge.net> + + * unix/tclUnixPipe.c: [Bug 1189293]: Make "<<" binary safe. + * win/tclWinPipe.c: + +2012-07-03 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * library/msgcat/msgcat.tcl: Add tn, ro_MO and ru_MO to msgcat. + +2012-06-29 Harald Oehlmann <oehhar@users.sf.net> + + * library/msgcat/msgcat.tcl: [Bug 3536888]: Locale guessing of + * library/msgcat/pkgIndex.tcl: msgcat fails on (some) Windows 7. Bump + * unix/Makefile.in: to 1.4.5 + * win/Makefile.in: + +2012-06-29 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <max@suse.de> + + * generic/tclIOSock.c: Use EAI_SYSTEM only if it exists. + * unix/tclUnixSock.c: + +2012-06-25 Don Porter <dgp@users.sourceforge.net> + + * generic/tclFileSystem.h: [Bug 3024359]: Make sure that the + * generic/tclIOUtil.c: per-thread cache of the list of file systems + * generic/tclPathObj.c: currently registered is only updated at times + when no active loops are traversing it. Also reduce the amount of + epoch storing and checking to where it can make a difference. + +2012-06-25 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCmdAH.c (EncodingDirsObjCmd): [Bug 3537605]: Do the right + thing when reporting errors with the number of arguments. + +2012-06-25 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclfileName.c: [Patch 1536227]: Cygwin network pathname + * tests/fileName.test: support. + +2012-06-23 Jan Nijtmans <nijtmans@users.sf.net> + + * unix/tclUnixNotfy.c: [Bug 3508771]: Cygwin notifier for handling + win32 events. + +2012-06-22 Reinhard Max <max@suse.de> + + * 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 <nijtmans@users.sf.net> + + * win/tclWinReg.c: [Bug 3362446]: registry keys command fails + * tests/registry.test: with 8.5/8.6 + +2012-06-11 Don Porter <dgp@users.sourceforge.net> + + * generic/tclBasic.c: [Bug 3532959]: Make sure the lifetime + * generic/tclProc.c: management of entries in the linePBodyPtr + * tests/proc.test: hash table can tolerate either order of + teardown, interp first, or Proc first. + +2012-06-08 Don Porter <dgp@users.sourceforge.net> + + * 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 <pthread.h> + * unix/tclUnixThrd.c: in the tclUnixPort.h header so that old unix + systems that need inclusion in all compilation units are supported. + +2012-06-08 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * unix/tclUnixInit.c: On Cygwin, use win32 API in stead of uname() + to determine the tcl_platform variables. + +2012-05-31 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/expr.n, doc/mathop.n: [Bug 2931407]: Clarified semantics of + division and remainder operators. + +2012-05-29 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/namespace.n, doc/Ensemble.3: [Bug 3528418]: Document what is + going on with respect to qualification of command prefixes in ensemble + subcommand maps. + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): [Bug 3106532]: Corrected + resulting indexes from -indexvar option to be usable with [string + range]; this was always the intention (and is consistent with [regexp + -indices] too). + ***POTENTIAL INCOMPATIBILITY*** + Uses of [switch -regexp -indexvar] that previously compensated for the + wrong offsets (by subtracting 1 from the end indices) now do not need + to do so as the value is correct. + + * library/safe.tcl (safe::InterpInit): Ensure that the module path is + constructed in the correct order. + (safe::AliasGlob): [Bug 2964715]: More extensive handling of what + globbing is required to support package loading. + + * doc/expr.n: [Bug 3525462]: Corrected statement about what happens + when comparing "0y" and "0x12"; the previously documented behavior was + actually a subtle bug (now long-corrected). + +2012-05-16 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * win/tclWinDde.c: Protect against receiving strings without ending + \0, as external applications (or Tcl with TIP #106) could generate + that. + +2012-05-10 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinDde.c: [Bug 473946]: Special characters not correctly sent + * library/dde/pkgIndex.tcl: Increase version to 1.3.3 + +2012-05-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * {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 <andreask@activestate.com> + + * 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 <ferrieux@users.sourceforge.net> + + * generic/tclIO.c: Properly close nonblocking channels even when + not flushing them. + +2012-05-03 Jan Nijtmans <nijtmans@users.sf.net> + + * compat/zlib/*: Upgrade to zlib 1.2.7 (pre-built dll is still 1.2.5, + will be upgraded as soon as the official build is available) + +2012-05-03 Don Porter <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * tests/ioCmd.test: [Bug 3522560]: Tame deadlocks in broken refchan + tests. + +2012-04-28 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + 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 <nijtmans@users.sf.net> + + * generic/tclPort.h: Move CYGWIN-specific stuff from tclPort.h to + * generic/tclEnv.c: tclUnixPort.h, where it belongs. + * unix/tclUnixPort.h: + * unix/tclUnixFile.c: + +2012-04-27 Donal K. Fellows <dkf@users.sf.net> + + * library/init.tcl (auto_execok): Allow shell builtins to be detected + even if they are upper-cased. + +2012-04-26 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclStubInit.c: Get rid of _ANSI_ARGS_ and CONST + * generic/tclIO.c: + * generic/tclIOCmd.c: + * generic/tclTest.c: + * unix/tclUnixChan.c: + +2012-04-25 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + * library/tzdata/Africa/Casablanca: + * library/tzdata/America/Port-au-Prince: + * library/tzdata/Asia/Damascus: + * library/tzdata/Asia/Gaza: + * library/tzdata/Asia/Hebron: tzdata2012c + +2012-04-16 Donal K. Fellows <dkf@users.sf.net> + + * doc/FileSystem.3 (Tcl_FSOpenFileChannelProc): [Bug 3518244]: Fixed + 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + IMPLEMENTATION OF TIP#396. + + * generic/tclBasic.c (builtInCmds, TclNRYieldToObjCmd): Convert the + formerly-unsupported yieldm and yieldTo commands into [yieldto]. + +2012-04-02 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclCmdMZ.c (StringIsCmd): Faster mem-leak free + implementation of [string is entier]. + +2012-03-27 Donal K. Fellows <dkf@users.sf.net> + + IMPLEMENTATION OF TIP#395. + + * generic/tclCmdMZ.c (StringIsCmd): Implementation of the [string is + entier] check. Code by Jos Decoster. + +2012-03-27 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tcl.h: [Bug 3508771]: Wrong Tcl_StatBuf used on MinGW. + * generic/tclFCmd.c: [Bug 2015723]: Duplicate inodes from file stat + * 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 <dkf@users.sf.net> + + 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 ("<cloned>") so that scripted control over copying is + easier. + ***POTENTIAL INCOMPATIBILITY*** + If you'd previously been using the "<cloned>" 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 <dkf@users.sf.net> + + 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <venkat@comit.com> + + * library/tzdata/America/Atikokan: Update to tzdata2012b. + * library/tzdata/America/Blanc-Sablon: + * library/tzdata/America/Dawson_Creek: + * library/tzdata/America/Edmonton: + * library/tzdata/America/Glace_Bay: + * library/tzdata/America/Goose_Bay: + * library/tzdata/America/Halifax: + * library/tzdata/America/Havana: + * library/tzdata/America/Moncton: + * library/tzdata/America/Montreal: + * library/tzdata/America/Nipigon: + * library/tzdata/America/Rainy_River: + * library/tzdata/America/Regina: + * library/tzdata/America/Santiago: + * library/tzdata/America/St_Johns: + * library/tzdata/America/Swift_Current: + * library/tzdata/America/Toronto: + * library/tzdata/America/Vancouver: + * library/tzdata/America/Winnipeg: + * library/tzdata/Antarctica/Casey: + * library/tzdata/Antarctica/Davis: + * library/tzdata/Antarctica/Palmer: + * library/tzdata/Asia/Yerevan: + * library/tzdata/Atlantic/Stanley: + * library/tzdata/Pacific/Easter: + * library/tzdata/Pacific/Fakaofo: + * library/tzdata/America/Creston: (new) + +2012-03-19 Reinhard Max <max@suse.de> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * win/tclWinFile.c: [Bug 3388350]: mingw64 compiler warnings + +2012-03-11 Donal K. Fellows <dkf@users.sf.net> + + * doc/*.n, doc/*.3: A number of small spelling and wording fixes. + +2012-03-08 Donal K. Fellows <dkf@users.sf.net> + + * doc/info.n: Various minor fixes (prompted by Andreas Kupries + * doc/socket.n: detecting a spelling mistake). + +2012-03-07 Andreas Kupries <andreask@activestate.com> + + * library/http/http.tcl: [Bug 3498327]: Generate upper-case + * library/http/pkgIndex.tcl: hexadecimal output for compliance + * tests/http.test: with RFC 3986. Bumped version to 2.8.4. + * unix/Makefile.in: + * win/Makefile.in: + +2012-03-06 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinPort.h: Compatibility with older Visual Studio versions. + +2012-03-04 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclLoad.c: Patch from the cygwin folks + * unix/tcl.m4: + * unix/configure: (re-generated) + +2012-03-02 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclIOUtil.c: [Bug 3466099]: BOM in Unicode + * generic/tclEncoding.c: + * tests/source.test: + +2012-02-23 Donal K. Fellows <dkf@users.sf.net> + + * tests/reg.test (14.21-23): Add tests relating to Bug 1115587. Actual + bug is characterised by test marked with 'knownBug'. + +2012-02-17 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclIOUtil.c: [Bug 2233954]: AIX: compile error + * unix/tclUnixPort.h: + +2012-02-16 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclEnsemble.c: [Bug 3485022]: TclCompileEnsemble() avoid + * tests/trace.test: compile when exec traces set. + +2012-02-06 Miguel Sofer <msofer@users.sf.net> + + * generic/tclTrace.c: [Bug 3484621]: Ensure that execution traces on + * tests/trace.test: bytecoded commands bump the interp's compile + epoch. + +2012-02-02 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclUniData.c: [FRQ 3464401]: Support Unicode 6.1 + * generic/regc_locale.c: + +2012-02-02 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * doc/AddErrInfo.3: [Bug 3482614]: Documentation nit. + +2012-01-30 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclPathObj.c: [Bug 3475569]: Add checks for unshared values + before calls demanding them. [Bug 3479689]: Stop memory corruption + when shimmering 0-refCount value to "path" type. + +2012-01-25 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclDictObj.c (DictExistsCmd): [Bug 3475264]: Ensure that + errors only ever happen when insufficient arguments are supplied, and + not when a path doesn't exist or a dictionary is poorly formatted (the + two cases can't be easily distinguished). + +2012-01-21 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tcl.h: [Bug 3474726]: Eliminate detection of struct + * generic/tclWinPort.h: _stat32i64, just use _stati64 in combination + * generic/tclFCmd.c: with _USE_32BIT_TIME_T, which is the same + * 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 <dgp@users.sourceforge.net> + + * generic/tclCmdMZ.c: [Bug 3475667]: Prevent buffer read overflow. + Thanks to "sebres" for the report and fix. + +2012-01-17 Donal K. Fellows <dkf@users.sf.net> + + * doc/dict.n (dict with): [Bug 3474512]: Explain better what is going + on when a dictionary key and the dictionary variable collide. + +2012-01-13 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/tclvars.n: [Bug 3466506]: Document more environment variables. + +2012-01-09 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + * 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 <venkat@comit.com> + + * library/tzdata/America/Bahia: Update to Olson's tzdata2011n + * library/tzdata/America/Havana: + * library/tzdata/Europe/Kiev: + * library/tzdata/Europe/Simferopol: + * library/tzdata/Europe/Uzhgorod: + * library/tzdata/Europe/Zaporozhye: + * library/tzdata/Pacific/Fiji: + +2011-12-23 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclUtf.c: [Bug 3464428]: [string is graph \u0120] is wrong. + * generic/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 <andreask@activestate.com> + + * generic/tclCompile.c (TclInitAuxDataTypeTable): Extended to register + the DictUpdateInfo structure as an AuxData type. For use by tbcload, + tclcompiler. + +2011-12-11 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/regc_locale.c: [Bug 3457031]: Some Unicode 6.0 chars not + * tests/utf.test: in [:print:] class + +2011-12-07 Jan Nijtmans <nijtmans@users.sf.net> + + * tools/uniParse.tcl: [Bug 3444754]: string tolower \u01c5 is wrong + * generic/tclUniData.c: + * tests/utf.test: + +2011-11-30 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * library/history.tcl (history): Simplify the dance of variable + management used when chaining to the implementation command. + +2011-11-22 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclExecute.c (TclCompileObj): Simplify and de-indent the + logic so that it is easier to comprehend. + +2011-11-22 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinPort.h: [Bug 3354324]: Windows: [file mtime] sets wrong + * win/tclWinFile.c: time (VS2005+ only). + * generic/tclTest.c: + +2011-11-20 Joe Mistachkin <joe@mistachkin.com> + + * 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 <joe@mistachkin.com> + + * 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 <joe@mistachkin.com> + + * 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 <joe@mistachkin.com> + + * 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 <dkf@users.sf.net> + + * win/tclWinConsole.c: Refactor common thread handling patterns. + +2011-11-11 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <max@suse.de> + + * library/clock.tcl (::tcl::clock::GetSystemTimeZone): Cache the time + zone only if it was detected by one of the expensive methods. + Otherwise after unsetting TCL_TZ or TZ the previous value will still + be used. + +2011-10-15 Venkat Iyer <venkat@comit.com> + + * library/tzdata/America/Sitka: Update to Olson's tzdata2011l + * library/tzdata/Pacific/Fiji: + * library/tzdata/Asia/Hebron: (New) + +2011-10-11 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinFile.c: [Bug 2935503]: Incorrect mode field returned by + [file stat] command. + +2011-10-09 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * win/tclWinInt.h: Remove tclWinProcs, as it is no longer + * win/tclWin32Dll.c: being used. + +2011-10-03 Venkat Iyer <venkat@comit.com> + + * library/tzdata/Africa/Dar_es_Salaam: Update to Olson's tzdata2011k + * library/tzdata/Africa/Kampala: + * library/tzdata/Africa/Nairobi: + * library/tzdata/Asia/Gaza: + * library/tzdata/Europe/Kaliningrad: + * library/tzdata/Europe/Kiev: + * library/tzdata/Europe/Minsk: + * library/tzdata/Europe/Simferopol: + * library/tzdata/Europe/Uzhgorod: + * library/tzdata/Europe/Zaporozhye: + * library/tzdata/Pacific/Apia: + +2011-09-29 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclOO.h: [RFE 3010352]: make all TclOO API functions + * generic/tclOODecls.h: MODULE_SCOPE + * generic/tclOOIntDecls.h: + +2011-09-27 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclCmdIL.c: Revise [info frame] so that it stops creating + cycles in the iPtr->cmdFramePtr stack. + +2011-09-22 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <ferrieux@users.sourceforge.net> + + * unix/tclIO.c: [Bug 3412487]: Now short reads are allowed in + synchronous fcopy, avoid mistaking them as nonblocking ones. + +2011-09-21 Andreas Kupries <andreask@activestate.com> + + * generic/tclIORTrans.c (ForwardOpToOwnerThread): Fixed the missing + initialization of the 'dsti' field. Reported by Don Porter, on chat. + +2011-09-20 Don Porter <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + IMPLEMENTATION OF TIP #388 + + * doc/Tcl.n: + * doc/re_syntax.n: + * generic/regc_lex.c: + * generic/regcomp.c: + * generic/regcustom.h: + * generic/tcl.h: + * generic/tclParse.c: + * tests/reg.test: + * tests/utf.test: + +2011-09-16 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclProc.c (ProcWrongNumArgs): [Bugs 3400658,3408830]: + Corrected the handling of procedure error messages (found by TclOO). + +2011-09-16 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tcl.h: Don't change Tcl_UniChar type when + * generic/regcustom.h: TCL_UTF_MAX == 4 (not supported anyway) + +2011-09-16 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclProc.c (ProcWrongNumArgs): [Bugs 3400658,3408830]: + Ensemble-like rewriting of error messages is complex, and TclOO (in + combination with iTcl) hits the most tricky cases. + + * library/http/http.tcl (http::geturl): [Bug 3391977]: Ensure that the + -headers option overrides the -type option (important because -type + has a default that is not always appropriate, and the header must not + be duplicated). + +2011-09-15 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompExpr.c: [Bug 3408408]: Partial improvement by sharing + as literals the computed values of constant subexpressions when we can + do so without incurring the cost of string rep generation. + +2011-09-13 Don Porter <dgp@users.sourceforge.net> + + * generic/tclUtil.c: [Bug 3390638]: Workaround broken Solaris + 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 <nijtmans@users.sf.net> + + * win/tclWinPort.h: [Bug 3407070]: tclPosixStr.c won't build with + EOVERFLOW==E2BIG + +2011-09-11 Don Porter <dgp@users.sourceforge.net> + + * tests/thread.test: Convert [testthread] use to Thread package use + in thread-6.1. Eliminates a memory leak in `make valgrind`. + + * tests/socket.test: [Bug 3390699]: Convert [testthread] use to + Thread package use in socket_*-13.1. Eliminates a memory leak in + `make valgrind`. + +2011-09-09 Don Porter <dgp@users.sourceforge.net> + + * tests/chanio.test: [Bug 3389733]: Convert [testthread] use to + * tests/io.test: Thread package use in *io-70.1. Eliminates a + memory leak in `make valgrind`. + +2011-09-07 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompExpr.c: [Bug 3401704]: Allow function names like + * tests/parseExpr.test: influence(), nanobot(), and 99bottles() that + have been parsed as missing operator syntax errors before with the + form NUMBER + FUNCTION. + ***POTENTIAL INCOMPATIBILITY*** + +2011-09-06 Venkat Iyer <venkat@comit.com> + + * 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 <nijtmans@users.sf.net> + + * generic/tcl.h: [RFE 1711975]: Tcl_MainEx() (like Tk_MainEx()) + * generic/tclDecls.h: + * generic/tclMain.c: + +2011-09-02 Don Porter <dgp@users.sourceforge.net> + + * tests/http.test: Convert [testthread] use to Thread package use. + Eliminates memory leak seen in `make valgrind`. + +2011-09-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * unix/tclUnixSock.c: [Bug 3401422]: Cache script-level changes to the + nonblocking flag of an async client socket in progress, and commit + them on completion. + +2011-09-01 Don Porter <dgp@users.sourceforge.net> + + * generic/tclStrToD.c: [Bug 3402540]: Corrections to TclParseNumber() + * tests/binary.test: to make it reject invalid Nan(Hex) strings. + + * tests/scan.test: [scan Inf %g] is portable; remove constraint. + +2011-08-30 Donal K. Fellows <dkf@users.sf.net> + + * 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 <max@suse.de> + + * unix/tclUnixSock.c (TcpWatchProc): [Bug 3394732]: Put back the check + for server sockets. + +2011-08-29 Don Porter <dgp@users.sourceforge.net> + + * generic/tclIORTrans.c: Leak of ReflectedTransformMap. + +2011-08-27 Don Porter <dgp@users.sourceforge.net> + + * generic/tclStringObj.c: [RFE 3396731]: Revise the [string reverse] + * tests/string.test: implementation to operate on the representation + that comes in, avoid conversion to other reps. + +2011-08-23 Don Porter <dgp@users.sourceforge.net> + + * generic/tclIORChan.c: [Bug 3396948]: Leak of ReflectedChannelMap. + +2011-08-19 Don Porter <dgp@users.sourceforge.net> + + * generic/tclIORTrans.c: [Bugs 3393279, 3393280]: ReflectClose(.) is + missing Tcl_EventuallyFree() calls at some of its exits. + + * generic/tclIO.c: [Bugs 3394654, 3393276]: Revise FlushChannel() to + account for the possibility that the ChanWrite() call might recycle + the buffer out from under us. + + * generic/tclIO.c: Preserve the chanPtr during FlushChannel so that + channel drivers don't yank it away before we're done with it. + +2011-08-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclTest.c: [Bug 2981154]: async-4.3 segfault. + * tests/async.test: [Bug 1774689]: async-4.3 sometimes fails. + +2011-08-18 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclIO.c: [Bug 3096275]: Sync fcopy buffers input. + +2011-08-18 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclUniData.c: [Bug 3393714]: Overflow in toupper delta + * tools/uniParse.tcl: + * tests/utf.test: + +2011-08-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclIO.c: [Bug 2946474]: Consistently resume backgrounded + * tests/ioCmd.test: flushes+closes when exiting. + +2011-08-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * doc/interp.n: Document TIP 378's one-way-ness. + +2011-08-17 Don Porter <dgp@users.sourceforge.net> + + * generic/tclGet.c: [Bug 3393150]: Overlooked free of intreps. + (It matters for bignums!) + +2011-08-16 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompile.c: [Bug 3392070]: More complete prevention of + Tcl_Obj reference cycles when producing an intrep of ByteCode. + +2011-08-16 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclListObj.c (TclLindexList, TclLsetFlat): Silence warnings + about (unreachable) cases of uninitialized variables. + * generic/tclCmdIL.c (SelectObjFromSublist): Improve the generation of + * generic/tclIndexObj.c (Tcl_ParseArgsObjv): messages through the use + * generic/tclVar.c (ArrayStartSearchCmd): of Tcl_ObjPrintf. + +2011-08-15 Don Porter <dgp@users.sourceforge.net> + + * generic/tclBasic.c: [Bug 3390272]: Leak of [info script] value. + +2011-08-15 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclPosixStr.c: [Bug 3388350]: mingw64 compiler warnings + * win/tclWinPort.h: + * win/configure.in: + * win/configure: + +2011-08-14 Jan Nijtmans <nijtmans@users.sf.net> + + * doc/FindExec.3: [Patch 3124554]: Move WishPanic from Tk to Tcl + * doc/Panic.3 Added Documentation + +2011-08-12 Don Porter <dgp@users.sourceforge.net> + + * generic/tclPathObj.c: [Bug 3389764]: Eliminate possibility that dup + of a "path" value can create reference cycle. + +2011-08-12 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclZlib.c (ZlibTransformOutput): [Bug 3390073]: Return the + correct length of written data for a compressing transform. + +2011-08-10 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclTestObj.c: [Bug 3386721]: Allow multiple [load]ing of the + Tcltest package. + +2011-08-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclBasic.c: [Bug 2919042]: Restore "valgrindability" of Tcl + * generic/tclEvent.c: that was lost by the streamlining of [exit], by + * generic/tclExecute.c: conditionally forcing a full Finalize: + * generic/tclInt.h: use -DPURIFY or ::env(TCL_FINALIZE_ON_EXIT) + +2011-08-09 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclCompCmds.c: [Bug 3386417]: Avoid a reference loop between + * generic/tclInt.h: the bytecode and its companion errostack + * generic/tclResult.c: when compiling a syntax error. + +2011-08-09 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinConsole.c: [Bug 3388350]: mingw64 compiler warnings + * win/tclWinDde.c: + * win/tclWinPipe.c: + * win/tclWinSerial.c: + +2011-08-09 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclInt.h: Change the signature of TclParseHex(), such that + * generic/tclParse.c: it can now parse up to 8 hex characters. + +2011-08-08 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclZlib.c (ZlibStreamCmd): Make the -buffersize option to + '$zstream add' function correctly instead of having its value just be + discarded unceremoniously. Also generate error codes from more of the + code, not just the low-level code but also the Tcl infrastructure. + +2011-08-07 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclOOInfo.c (InfoClassCallCmd): [Bug 3387082]: Plug memory + leak in call chain introspection. + +2011-08-06 Kevin B, Kenny <kennykb@acm.org> + + * generic/tclAssemnbly.c: [Bug 3384840]: Plug another memory leak. + * generic/tclStrToD.c: [Bug 3386975]: Plug another memory leak. + +2011-08-05 Kevin B. Kenny <kennykb@acm.org> + + * generic/tclStrToD.c: [Bug 3386975]: Plugged a memory leak in + double->string conversion. + +2011-08-05 Don Porter <dgp@users.sourceforge.net> + + *** 8.6b2 TAGGED FOR RELEASE *** + + * changes: Updates for 8.6b2 release. + +2011-08-05 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclAssembly.c (AssembleOneLine): Ensure that memory isn't + leaked when an unknown instruction is encountered. Also simplify code + through use of Tcl_ObjPrintf in error message generation. + + * generic/tclZlib.c (ZlibTransformClose): [Bug 3386197]: Plug a memory + leak found by Miguel with valgrind, and ensure that the correct + direction's buffers are released. + +2011-08-04 Miguel Sofer <msofer@users.sf.net> + + * generic/tclVar.c (TclPtrSetVar): Fix valgrind-detected error when + newValuePtr is the interp's result obj. + +2011-08-04 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclAssembly.c (FreeAssemblyEnv): [Bug 3384840]: Plug another + possible memory leak due to over-complex code for freeing the table of + labels. + +2011-08-04 Reinhard Max <max@suse.de> + + * generic/tclIOSock.c (TclCreateSocketAddress): Don't bother using + AI_ADDRCONFIG for now, as it was causing problems in various + situations. + +2011-08-04 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclAssembly.c (AssembleOneLine, GetBooleanOperand) + (GetIntegerOperand, GetListIndexOperand, FindLocalVar): [Bug 3384840]: + A Tcl_Obj is allocated by GetNextOperand, so callers of it must not + hold a reference to one in the 'out' parameter when calling it. This + was causing a great many memory leaks. + * tests/assemble.test (assemble-51.*): Added group of memory leak + tests. + +2011-08-02 Don Porter <dgp@users.sourceforge.net> + + * changes: Updates for 8.6b2 release. + * tools/tcltk-man2html.tcl: Variable substitution botch. + +2011-08-02 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclObj.c (Tcl_DbIncrRefCount, Tcl_DbDecrRefCount) + (Tcl_DbIsShared): [Bug 3384007]: Fix the panic messages so they share + what should be shared and have the right number of spaces. + +2011-08-01 Miguel Sofer <msofer@users.sf.net> + + * generic/tclProc.c (TclProcCompileProc): [Bug 3383616]: Fix for leak + of resolveInfo when recompiling procs. Thanks go to Gustaf Neumann for + detecting the bug and providing the fix. + +2011-08-01 Donal K. Fellows <dkf@users.sf.net> + + * doc/tclvars.n (EXAMPLES): Added some examples of how some of the + standard global variables can be used, following prompting by a + request by Robert Hicks. + + * tools/tcltk-man2html.tcl (plus-pkgs): [Bug 3382474]: Added code to + determine the version number of contributed packages from their + directory names so that HTML documentation builds are less confusing. + +2011-07-29 Donal K. Fellows <dkf@users.sf.net> + + * tools/tcltk-man2html.tcl (ensemble_commands, remap_link_target): + Small enhancements to improve cross-linking with contributed packages. + * tools/tcltk-man2html-utils.tcl (insert-cross-references): Enhance to + cope with contributed packages' C API. + +2011-07-28 Reinhard Max <max@suse.de> + + * unix/tcl.m4 (SC_TCL_IPV6): Fix AC_DEFINE invocation for + NEED_FAKE_RFC2553. + * unix/configure: autoconf-2.59 + +2011-07-28 Don Porter <dgp@users.sourceforge.net> + + * changes: Updates for 8.6b2 release. + + * library/tzdata/Asia/Anadyr: Update to Olson's tzdata2011h + * library/tzdata/Asia/Irkutsk: + * library/tzdata/Asia/Kamchatka: + * 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 <dkf@users.sf.net> + + * generic/tclOO.c (initScript): Ensure that TclOO is properly found by + all the various package mechanisms (by adding a dummy ifneeded script) + and not just some of them. + +2011-07-21 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinPort.h: [Bug 3372130]: Fix hypot math function with MSVC10 + +2011-07-19 Don Porter <dgp@users.sourceforge.net> + + * generic/tclUtil.c: [Bug 3371644]: Repair failure to properly handle + * tests/util.test: (length == -1) scanning in TclConvertElement(). + Thanks to Thomas Sader and Alexandre Ferrieux. + +2011-07-19 Donal K. Fellows <dkf@users.sf.net> + + * doc/*.3, doc/*.n: Many small fixes to documentation as part of + project to improve quality of generated HTML docs. + + * tools/tcltk-man2html.tcl (remap_link_target): More complete set of + definitions of link targets, especially for major C API types. + * tools/tcltk-man2html-utils.tcl (output-IP-list, cross-reference): + Update to generation to produce proper HTML bulleted and enumerated + lists. + +2011-07-19 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * doc/upvar.n: Undocument long gone limitation of [upvar]. + +2011-07-18 Don Porter <dgp@users.sourceforge.net> + + * generic/tcl.h: Bump version number to 8.6b2. + * library/init.tcl: + * unix/configure.in: + * win/configure.in: + * unix/tcl.spec: + * tools/tcl.wse.in: + * README: + + * unix/configure: autoconf-2.59 + * win/configure: + +2011-07-15 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompile.c: Avoid segfaults when RecordByteCodeStats() is + called in a deleted interp. + + * generic/tclCompile.c: [Bug 467523, 3357771]: Prevent circular + references in values with ByteCode intreps. They can lead to memory + leaks. + +2011-07-14 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclOOCall.c (TclOORenderCallChain): [Bug 3365156]: Remove + stray refcount bump that caused a memory leak. + +2011-07-12 Don Porter <dgp@users.sourceforge.net> + + * generic/tclUnixSock.c: [Bug 3364777]: Stop segfault caused by + reading from struct after it had been freed. + +2011-07-11 Joe Mistachkin <joe@mistachkin.com> + + * generic/tclExecute.c: [Bug 3339502]: Correct cast for CURR_DEPTH to + silence compiler warning. + +2011-07-08 Donal K. Fellows <dkf@users.sf.net> + + * doc/http.n: [FRQ 3358415]: State what RFC defines HTTP/1.1. + +2011-07-07 Miguel Sofer <msofer@users.sf.net> + + * generic/tclBasic.c: Add missing INT2PTR + +2011-07-03 Donal K. Fellows <dkf@users.sf.net> + + * doc/FileSystem.3: Corrected statements about ctime field of 'struct + stat'; that was always the time of the last metadata change, not the + time of creation. + +2011-07-02 Kevin B. Kenny <kennykb@acm.org> + + * 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 <max@suse.de> + + * 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 <andreask@activestate.com> + + * library/platform/pkgIndex.tcl: Updated to platform 1.0.10. Added + * library/platform/platform.tcl: handling of the DEB_HOST_MULTIARCH + * unix/Makefile.in: location change for libc. + * win/Makefile.in: + + * generic/tclInt.h: Fixed the inadvertently committed disabling of + stack checks, see my 2010-11-15 commit. + +2011-06-22 Reinhard Max <max@suse.de> + + Merge from rmax-ipv6-branch: + * unix/tclUnixSock.c: Fix [socket -async], so that all addresses + returned by getaddrinfo() are tried, not just the first one. This + requires the event loop to be running while the async connection is in + progress. ***POTENTIAL INCOMPATIBILITY*** + * tests/socket.test: Add a test for the above. + * doc/socket: Document the fact that -async needs the event loop + * generic/tclIOSock.c: AI_ADDRCONFIG is broken on HP-UX + +2011-06-21 Don Porter <dgp@users.sourceforge.net> + + * generic/tclLink.c: [Bug 3317466]: Prevent multiple links to a + single Tcl variable when calling Tcl_LinkVar(). + +2011-06-13 Don Porter <dgp@users.sourceforge.net> + + * generic/tclStrToD.c: [Bug 3315098]: Mem leak fix from Gustaf + Neumann. + +2011-06-08 Andreas Kupries <andreask@activestate.com> + + * generic/tclExecute.c: Reverted the fix for [Bug 3274728] committed + on 2011-04-06 and replaced with one which is 64bit-safe. The existing + fix crashed tclsh on Windows 64bit. + +2011-06-08 Donal K. Fellows <dkf@users.sf.net> + + * tests/fileSystem.test: Reduce the amount of use of duplication of + complex code to perform common tests, and convert others to do the + test result check directly using Tcltest's own primitives. + +2011-06-06 Jan Nijtmans <nijtmans@users.sf.net> + + * tests/socket.test: Add test constraint, so 6.2 and 6.3 don't fail + when the machine does not have support for ip6. Follow-up to checkin + from 2011-05-11 by rmax. + +2011-06-02 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * generic/tclInt.h (TclInvalidateNsCmdLookup): [Bug 3185407]: Extend + the set of epochs that are potentially bumped when a command is + created, for a slight performance drop (in some circumstances) and + improved semantics. + +2011-06-01 Miguel Sofer <msofer@users.sf.net> + + * generic/tclBasic.c: Using the two free data elements in NRCommand to + store objc and objv - useful for debugging. + +2011-06-01 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclUtil.c: Fix for [Bug 3309871]: Valgrind finds: invalid + read in TclMaxListLength(). + +2011-05-31 Don Porter <dgp@users.sourceforge.net> + + * generic/tclInt.h: Use a complete growth algorithm for lists 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 <dgp@users.sourceforge.net> + + * library/msgcat/msgcat.tcl: Bump to msgcat 1.4.4. + * library/msgcat/pkgIndex.tcl: + * unix/Makefile.in: + * win/Makefile.in: + +2011-05-25 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclOO.h (TCLOO_VERSION): Bump version. + + IMPLEMENTATION OF TIP#381. + + * doc/next.n, doc/ooInfo.n, doc/self.n, generic/tclOO.c, + * generic/tclOOBasic.c, generic/tclOOCall.c, generic/tclOOInfo.c, + * generic/tclOOInt.h, tests/oo.test, tests/ooNext2.test: Added + introspection of call chains ([self call], [info object call], [info + class call]) and ability to skip ahead in chain ([nextto]). + +2011-05-24 Venkat Iyer <venkat@comit.com> + + * library/tzdata/Africa/Cairo: Update to Olson tzdata2011g + +2011-05-24 Donal K. Fellows <dkf@users.sf.net> + + * library/msgcat/msgcat.tcl (msgcat::mcset, msgcat::mcmset): Remove + some useless code; [dict set] builds dictionary levels for us. + +2011-05-17 Andreas Kupries <andreask@activestate.com> + + * generic/tclCompile.c (TclFixupForwardJump): Tracked down and fixed + * 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 <max@suse.de> + + * unix/tclUnixSock.c (TcpWatchProc): No need to check for server + sockets here, as the generic server code already takes care of that. + * tests/socket.test (accept): Add tests to make sure that this remains + so. + +2011-05-10 Don Porter <dgp@users.sourceforge.net> + + * generic/tclInt.h: New internal routines TclScanElement() and + * 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 <dkf@users.sf.net> + + * generic/tclNamesp.c (NamespacePathCmd): Convert to use Tcl_Obj API + * generic/tclPkg.c (Tcl_PackageObjCmd): for result generation in + * generic/tclTimer.c (Tcl_AfterObjCmd): [after info], [namespace + path] and [package versions]. + +2011-05-09 Don Porter <dgp@users.sourceforge.net> + + * generic/tclListObj.c: Revise empty string tests so that we avoid + potentially expensive string rep generations, especially for dicts. + +2011-05-07 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclLoad.c (TclGetLoadedPackages): Convert to use Tcl_Obj API + for result generation. + +2011-05-07 Miguel Sofer <msofer@users.sf.net> + + * generic/tclInt.h: Fix USE_TCLALLOC so that it can be enabled without + * unix/Makefile.in: editing the Makefile. + +2011-05-05 Don Porter <dgp@users.sourceforge.net> + + * generic/tclListObj.c: Stop generating string rep of dict when + converting to list. Tolerate NULL interps more completely. + +2011-05-03 Don Porter <dgp@users.sourceforge.net> + + * generic/tclUtil.c: Tighten Tcl_SplitList(). + * generic/tclListObj.c: Tighten SetListFromAny(). + * generic/tclDictObj.c: Tighten SetDictFromAny(). + * tests/join.test: + * tests/mathop.test: + +2011-05-02 Don Porter <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclCmdMZ.c: TclFreeIntRep() correction & cleanup. + * generic/tclExecute.c: + * generic/tclIndexObj.c: + * generic/tclInt.h: + * generic/tclListObj.c: + * generic/tclNamesp.c: + * generic/tclResult.c: + * generic/tclStringObj.c: + * generic/tclVar.c: + + * generic/tclListObj.c: FreeListInternalRep() cleanup. + +2011-04-21 Don Porter <dgp@users.sourceforge.net> + + * generic/tclInt.h: Use macro to set List intreps. + * 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 <nijtmans@users.sf.net> + + * generic/tcl.h: fix for [Bug 3288345]: Wrong Tcl_StatBuf + * generic/tclInt.h: used on MinGW. Make sure that all _WIN32 + * 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 <dgp@users.sourceforge.net> + + * generic/tclConfig.c: Reduce internals access in the implementation + of [<foo>::pkgconfig list]. + +2011-04-18 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * doc/dict.n: [Bug 3288696]: Command summary was confusingly wrong + when it came to [dict filter] with a 'value' filter. + +2011-04-16 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclFCmd.c (TclFileAttrsCmd): Add comments to make this code + easier to understand. Added a panic to handle the case where the VFS + layer does something odd. + +2011-04-13 Don Porter <dgp@users.sourceforge.net> + + * 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 <msofer@users.sf.net> + + * generic/tclVar.c: [Bug 2662380]: Fix crash caused by appending to a + variable with a write trace that unsets it. + +2011-04-13 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclUtil.c (Tcl_ConcatObj): [Bug 3285375]: Make the crash + less mysterious through the judicious use of a panic. Not yet properly + fixed, but at least now clearer what the failure mode is. + +2011-04-12 Don Porter <dgp@users.sourceforge.net> + + * tests/string.test: Test for [Bug 3285472]. Not buggy in trunk. + +2011-04-12 Venkat Iyer <venkat@comit.com> + + * library/tzdata/Atlantic/Stanley: Update to Olson tzdata2011f + +2011-04-12 Miguel Sofer <msofer@users.sf.net> + + * generic/tclBasic.c: Fix for [Bug 2440625], kbk's patch + +2011-04-11 Miguel Sofer <msofer@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tcl.h: Fix for [Bug 3281728]: Tcl sources from 2011-04-06 + * unix/tcl.m4: do not build on GCC9 (RH9) + * unix/configure: + +2011-04-08 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinPort.h: Fix for [Bug 3280043]: win2k: unresolved DLL + * win/configure.in: imports. + * win/configure + +2011-04-06 Miguel Sofer <msofer@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <venkat@comit.com> + + * library/tzdata/Africa/Casablanca: Update to Olson's tzdata2011e + * library/tzdata/America/Santiago: + * library/tzdata/Pacific/Easter: + * library/tzdata/America/Metlakatla: (new) + * library/tzdata/America/North_Dakota/Beulah: (new) + * library/tzdata/America/Sitka: (new) + +2011-04-04 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <kennykb@acm.org> + + * 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 <dkf@users.sf.net> + + * 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 <max@suse.de> + + * library/init.tcl: TIP#131 implementation. + +2011-03-31 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclGetDate.y, generic/tclDate.c (TclClockOldscanObjCmd): + More generation of errorCode information. + +2011-03-28 Donal K. Fellows <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * generic/tclBasic.c (TclNREvalObjEx): fix performance issue, notably + apparent in tclbench's "LIST lset foreach". Many thanks to Twylite for + patiently researching the issue and explaining it to me: a missing + Tcl_ResetObjResult that causes unwanted sharing of the current result + Tcl_Obj. + +2011-03-26 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tcl.h (ckfree,etc.): Restored C++ usability to the memory + allocation and free macros. + +2011-03-24 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclFCmd.c (TclFileAttrsCmd): Ensure that any reference to + temporary index tables is squelched immediately rather than hanging + around to trip us up in the future. + +2011-03-23 Miguel Sofer <msofer@users.sf.net> + + * generic/tclObj.c: Exploit HAVE_FAST_TSD for the deletion context in + TclFreeObj() + +2011-03-22 Miguel Sofer <msofer@users.sf.net> + + * generic/tclThreadAlloc.c: Simpler initialization of Cache under + HAVE_FAST_TSD, from mig-alloc-reform. + +2011-03-21 Jan Nijtmans <nijtmans@users.sf.net> + + * unix/tclLoadDl.c: [Bug 3216070]: Loading extension libraries + * unix/tclLoadDyld.c: from embedded Tcl applications. + ***POTENTIAL INCOMPATIBILITY*** + For extensions which rely on symbols from other extensions being + present in the global symbol table. For an example and some discussion + of workarounds, see http://stackoverflow.com/q/8330614/301832 + +2011-03-21 Miguel Sofer <msofer@users.sf.net> + + * 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 <msofer@users.sf.net> + + * generic/tclThreadAlloc.c: Imported HAVE_FAST_TSD support from + mig-alloc-reform. The feature has to be enabled by hand: no autoconf + support has been added. It is not clear how universal a build using + this will be: it also requires some loader support. + +2011-03-17 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCompExpr.c (ParseExpr): Generate errorCode information on + failure to parse expressions. + +2011-03-17 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclMain.c: [Patch 3124683]: Reorganize the platform-specific + stuff in (tcl|tk)Main.c. + +2011-03-16 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclCkalloc.c: [Bug 3197864]: Pointer truncation on Win64 + TCL_MEM_DEBUG builds. + +2011-03-16 Don Porter <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * unix/tcl.m4: Make SHLIB_LD_LIBS='${LIBS}' the default and + * unix/configure: set to "" on per-platform necessary basis. + Backported from TEA, but kept all original platform code which was + removed from TEA. + +2011-03-14 Kevin B. Kenny <kennykb@acm.org> + + * 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 <msofer@users.sf.net> + + * generic/tclExecute.c: remove TEBCreturn() + +2011-03-12 Donal K. Fellows <dkf@users.sf.net> + + * generic/tcl.h (ckalloc,ckfree,ckrealloc): Moved casts into these + macro so that they work with VOID* (which is a void* on all platforms + which Tcl actually builds on) and unsigned int for the length + parameters, removing the need for MANY casts across the rest of Tcl. + Note that this is a strict source-level-only change, so size_t cannot + be used (would break binary compatibility on 64-bit platforms). + +2011-03-12 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinFile.c: [Bug 3185609]: File normalization corner case + of ... broken with -DUNICODE + +2011-03-11 Donal K. Fellows <dkf@users.sf.net> + + * tests/unixInit.test: Make better use of tcltest2. + +2011-03-10 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclBasic.c, generic/tclCompCmds.c, generic/tclEnsemble.c: + * generic/tclInt.h, generic/tclNamesp.c, library/auto.tcl: + * tests/interp.test, tests/namespace.test, tests/nre.test: + Converted the [namespace] command into an ensemble. This has the + consequence of making it vital for Tcl code that wishes to work with + namespaces to _not_ delete the ::tcl namespace. + ***POTENTIAL INCOMPATIBILITY*** + + * library/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 <dkf@users.sf.net> + + * tests/incr.test: Update more of the test suite to use Tcltest 2. + +2011-03-09 Don Porter <dgp@users.sourceforge.net> + + * generic/tclNamesp.c: [Bug 3202171]: Tighten the detector of nested + * tests/namespace.test: [namespace code] quoting that the quoted + scripts function properly even in a namespace that contains a custom + "namespace" command. + + * doc/tclvars.n: Formatting fix. Thanks to Pat Thotys. + +2011-03-09 Donal K. Fellows <dkf@users.sf.net> + + * tests/dstring.test, tests/init.test, tests/link.test: Update more of + the test suite to use Tcltest 2. + +2011-03-08 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * generic/tclAssembly.c, tests/assemble.test: Migrate to use a style + more consistent with the rest of Tcl. + +2011-03-06 Don Porter <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclParse.c (TclParseBackslash): [Bug 3200987]: Correct + * tests/parse.test: trunction checks in \x and \u substitutions. + +2011-03-05 Miguel Sofer <msofer@users.sf.net> + + * 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 <kennykb@acm.org> + + * 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 <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclOOMethod.c (ProcedureMethodCompiledVarConnect) + (ProcedureMethodCompiledVarDelete): [Bug 3185009]: Keep references to + resolved object variables so that an unset doesn't leave any dangling + pointers for code to trip over. + +2011-03-01 Miguel Sofer <msofer@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclResult.c (Tcl_AppendResultVA): Use the directive + USE_INTERP_RESULT [TIP 330] to force compat with interp->result + access, instead of the improvised hack USE_DIRECT_INTERP_RESULT_ACCESS + from releases past. + +2011-03-01 Miguel Sofer <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/RegExp.3: [Bug 3165108]: Corrected documentation of description + of subexpression info in Tcl_RegExpInfo structure. + +2011-01-25 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + * doc/tclvars.n: + * generic/tclStrToD.c: + * generic/tclUtil.c (Tcl_PrintDouble): + * tests/util.test (util-16.*): [Bug 3157475]: Restored full Tcl 8.4 + compatibility for the formatting of floating point numbers when + $::tcl_precision is not zero. Added compatibility tests to make sure + that excess trailing zeroes are suppressed for all eight major code + paths. + +2011-01-12 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinFile.c: Use _vsnprintf in stead of vsnprintf, because + MSVC 6 doesn't have it. Reported by andreask. + * win/tcl.m4: handle --enable-64bit=ia64 for gcc + * win/configure.in: more accurate test for correct <intrin.h> + * win/configure: (autoconf-2.59) + * win/tclWin32Dll.c: VS 2005 64-bit does not have intrin.h, and + * generic/tclPanic.c: does not need it. + +2011-01-07 Kevin B. Kenny <kennykb@acm.org> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <msofer@users.sf.net> + + * generic/tclExecute.c (GrowEvaluationStack): Off-by-one error in + sizing the new allocation - was ok in comment but wrong in the code. + Triggered by [Bug 3142026] which happened to require exactly one more + than what was in existence. + +2010-12-26 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fix crash when multiple -index + options are used. Simplified memory handling logic. + +2010-12-20 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1 + tdm64-1: completed for all environments. + +2010-12-20 Jan Nijtmans <nijtmans@users.sf.net> + + * win/configure.in: Explicitely test for intrinsics support in + compiler, before assuming only MSVC has it. + * win/configure: (autoconf-2.59) + * generic/tclPanic.c: + +2010-12-19 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWin32Dll.c: [Patch 3059922]: fixes for mingw64 - gcc4.5.1 + tdm64-1: Fixed for gcc, not yet for MSVC 64-bit. + +2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net> + + * unix/Makefile.in: Remove unwanted/obsolete 'ddd' target. + +2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net> + + * unix/Makefile.in: Clean up '.PHONY:' targets: Arrange those + common to Tcl and Tk as in Tk's Makefile.in, + add any missing ones and remove duplicates. + +2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net> + + * unix/Makefile.in: [Bug 2446711]: Remove 'allpatch' target. + +2010-12-17 Stuart Cassoff <stwo@users.sourceforge.net> + + * unix/Makefile.in: [Bug 2537626]: Use 'rpmbuild', not 'rpm'. + +2010-12-16 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + [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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tcl.h: [Bug 3137454]: Tcl CVS HEAD does not build on GCC 3. + +2010-12-14 Reinhard Max <max@suse.de> + + * 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 <nijtmans@users.sf.net> + + * 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 <stwo@users.sourceforge.net> + + * unix/tcl.m4: Better building on OpenBSD. + * unix/configure: (autoconf-2.59) + +2010-12-10 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclBinary.c: [Bug 3129448]: Possible over-allocation on + * generic/tclCkalloc.c: 64-bit platforms. + * generic/tclTrace.c: + +2010-12-05 Jan Nijtmans <nijtmans@users.sf.net> + + * unix/tcl.m4: [Patch 3116490]: Cross-compile support for unix + * unix/configure: (autoconf-2.59) + +2010-12-03 Jeff Hobbs <jeffh@ActiveState.com> + + * 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 <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + * 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 <nijtmans@users.sf.net> + + * 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 <jeffh@ActiveState.com> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <kennykb@acm.org> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * tests/chanio.test: Converted many tests to tcltest2 by marking the + setup and cleanup parts as such. + +2010-11-19 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWin32Dll.c: Fix gcc warnings: unused variable 'registration' + * win/tclWinChan.c: + * win/tclWinFCmd.c: + +2010-11-18 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclAppInit.c: [FRQ 491789]: "setargv() doesn't support a unicode + cmdline" now implemented for cygwin and mingw32 too. + * tests/main.test: No longer disable tests Tcl_Main-1.4 and 1.6 on + Windows, because those now work on all supported platforms. + * win/configure.in: Set NO_VIZ=1 when zlib is compiled in libtcl, + this resolves compiler warnings in 64-bit and static builds. + * win/configure (regenerated) + +2010-11-18 Donal K. Fellows <dkf@users.sf.net> + + * doc/file.n: [Bug 3111298]: Typofix. + + * tests/oo.test: [Bug 3111059]: Added testing that neatly trapped this + issue. + +2010-11-18 Miguel Sofer <msofer@users.sf.net> + + * generic/tclNamesp.c: [Bug 3111059]: Fix leak due to bad looping + construct. + +2010-11-17 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * win/tclAppInit.c:Bring compilation under mingw-w64 a bit closer + * win/cat.c: to reality. See for what's missing: + * win/tcl.m4: <https://sourceforge.net/apps/trac/mingw-w64/wiki/Unicode%20apps> + * win/configure: (re-generated) + * win/tclWinPort.h: [Bug 3110161]: Extensions using TCHAR don't + compile on VS2005 SP1 + +2010-11-15 Andreas Kupries <andreask@activestate.com> + + * 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 <andreask@activestate.com> + + * changes: Updates for 8.6b2 release. + +2010-11-09 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + * 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 <nijtmans@users.sf.net> + + * 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 <max@suse.de> + + * 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 <stwo@users.sourceforge.net> + + * unix/Makefile.in: [Patch 3101127]: Installer Improvements. + * unix/install-sh: + +2010-11-04 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * changes: Updates for 8.6b2 release. (Thanks Andreas Kupries) + +2010-11-03 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <kennykb@acm.org> + + * 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 <stwo@users.sourceforge.net> + + * 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 <kennykb@acm.org> + + * library/tzdata/Asia/Hong_Kong: + * library/tzdata/Pacific/Apia: + * library/tzdata/Pacific/Fiji: Olson's tzdata2010o. + +2010-10-29 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclTimer.c: [Bug 2905784]: Stop small [after]s from + wasting CPU while keeping accuracy. + +2010-10-28 Kevin B. Kenny <kennykb@acm.org> + + [dogeen-assembler-branch] + * generic/tclAssembly.c: + * tests/assembly.test (assemble-31.*): Added jump tables. + +2010-10-28 Don Porter <dgp@users.sourceforge.net> + + * 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 <max@suse.de> + + * 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 <dkf@users.sf.net> + + * unix/tclUnixSock.c (TcpGetOptionProc): Prevent crash if interp is + * win/tclWinSock.c (TcpGetOptionProc): NULL (a legal situation). + +2010-10-26 Reinhard Max <max@suse.de> + + * 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 <kennykb@acm.org> + + [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 <kennykb@acm.org> + + [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 <ferrieux@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * tools/uniParse.tcl: [Bug 3085863]: tclUniData was 9 years old; + Ignore non-BMP characters and fix comment about UnicodeData.txt file. + * generic/regcomp.c: Fix comment + * tests/utf.test: Add some Unicode 6 testcases + +2010-10-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * doc/info.n: Document [info errorstack] faithfully. + +2010-10-16 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclExecute.c (ReleaseDictIterator): Factored out the release + of the bytecode-level dictionary iterator information so that the + side-conditions on instruction issuing are simpler. + +2010-10-15 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/reg_locale.c: [Bug 3085863]: tclUniData 9 years old: Updated + * generic/tclUniData.c: Unicode tables to latest UnicodeData.txt, + * tools/uniParse.tcl: corresponding with Unicode 6.0 (except for + out-of-range chars > 0xFFFF) + +2010-10-13 Don Porter <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * win/tclWinThrd.h: (removed) because it is just empty en used nowhere + * win/tcl.dsp + +2010-10-12 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <max@suse.de> + + * unix/tclUnixSock.c (CreateClientSocket): [Bug 3084338]: Fix a + memleak and refactor the calls to freeaddrinfo(). + +2010-10-11 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinDde.c: [FRQ 2965056]: Windows build with -DUNICODE + * win/tclWinReg.c: + * win/tclWinTest.c: More cleanups + * win/tclWinFile.c: Add netapi32 to the link line, so we no longer + * win/tcl.m4: have to use LoadLibrary to access those + functions. + * win/makefile.vc: + * win/configure: (Re-generate with autoconf-2.59) + * win/rules.vc Update for VS10 + +2010-10-09 Miguel Sofer <msofer@users.sf.net> + + * generic/tclExecute.c: Fix overallocation of exec stack in TEBC (due + to mixing numwords and numbytes) + +2010-10-08 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclIOSock.c: On Windows, use gai_strerrorA + +2010-10-06 Don Porter <dgp@users.sourceforge.net> + + * 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 <kennykb@acm.org> + + [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 <kennykb@acm.org> + + [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 <dkf@users.sf.net> + + * generic/tclExecute.c (TEBCresume): [Bug 3079830]: Added invalidation + of string representations of dictionaries in some cases. + +2010-10-01 Jeff Hobbs <jeffh@ActiveState.com> + + * 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 <dkf@users.sf.net> + + * generic/tclBasic.c, generic/tclClock.c, generic/tclEncoding.c, + * generic/tclEnv.c, generic/tclLoad.c, generic/tclNamesp.c, + * generic/tclObj.c, generic/tclRegexp.c, generic/tclResolve.c, + * generic/tclResult.c, generic/tclUtil.c, macosx/tclMacOSXFCmd.c: + More purging of strcpy() from locations where we already know the + length of the data being copied. + +2010-10-01 Kevin B. Kenny <kennykb@acm.org> + + [dogeen-assembler-branch] + + * tests/assemble.test: + * generic/tclAssemble.h: + * generic/tclAssemble.c: Added listIn, listNotIn, and dictGet. + +2010-09-30 Kevin B. Kenny <kennykb@acm.org> + + [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 <kennykb@acm.org> + + [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 <nijtmans@users.sf.net> + + * unix/configure: Re-generate with autoconf-2.59 + * win/configure: + * generic/tclMain.c: Make compilable with -DUNICODE as well + +2010-09-28 Reinhard Max <max@suse.de> + + TIP #162 IMPLEMENTATION + + * doc/socket.n: Document the changes to the [socket] and + [fconfigure] commands. + + * generic/tclInt.h: Introduce TclCreateSocketAddress() as a + * generic/tclIOSock.c: replacement for the platform-dependent + * unix/tclUnixSock.c: TclpCreateSocketAddress() functions. Extend + * unix/tclUnixChan.c: the [socket] and [fconfigure] commands to + * unix/tclUnixPort.h: behave as proposed in TIP #162. This is the + * win/tclWinSock.c: core of what is required to support the use of + * win/tclWinPort.h: IPv6 sockets in Tcl. + + * compat/fake-rfc2553.c: A compat implementation of the APIs defined + * compat/fake-rfc2553.h: in RFC-2553 (getaddrinfo() and friends) on + top of the existing gethostbyname() etc. + * unix/configure.in: Test whether the fake-implementation is + * unix/tcl.m4: needed. + * unix/Makefile.in: Add a compile target for fake-rfc2553. + + * win/configure.in: Allow cross-compilation by default. + + * tests/socket.test: Improve the test suite to make more use of + * tests/remote.tcl: randomized ports to reduce interference with + tests running in parallel or other services on + the machine. + +2010-09-28 Kevin B. Kenny <kennykb@acm.org> + + [dogeen-assembler-branch] + + * tests/assemble.test: Added more "white box" tests. + * generic/tclAssembly.c: Added the error checking and reporting + for undefined labels. Revised code so that no pointers into the + bytecode sequence are held (because the sequence can move!), + that no Tcl_HashEntry pointers are held (because the hash table + doesn't guarantee their stability!) and to eliminate the BBHash + table, which is merely additional information indexed by jump + labels and can just as easily be held in the 'label' structure. + Renamed shared structures to CamelCase, and renamed 'label' to + JumpLabel because other types of labels may eventually be possible. + +2010-09-27 Kevin B. Kenny <kennykb@acm.org> + + [dogeen-assembler-branch] + + * tests/assemble.test: Added more "white box" tests. + * generic/tclAssembly.c: Fixed bugs exposed by the new tests. + (a) [eval] and [expr] had incorrect stack balance computed if + the arg was not a simple word. (b) [concat] accepted a negative + operand count. (c) [invoke] accepted a zero or negative operand + count. (d) more misspelt error messages. + Also replaced a funky NRCallTEBC with the new call + TclNRExecuteByteCode, necessitated by a merge with changes on the + HEAD. + +2010-09-26 Miguel Sofer <msofer@users.sf.net> + + * generic/tclBasic.c: [Patch 3072080] (minus the itcl + * generic/tclCmdIL.c: update): a saner NRE. + * generic/tclCompExpr.c: + * generic/tclCompile.c: This makes TclNRExecuteByteCode (ex TEBC) + * generic/tclCompile.h: to be a normal NRE citizen: it loses its + * generic/tclExecute.c: special status. + * generic/tclInt.decls: The logic flow within the BC engine is + * generic/tclInt.h: simplified considerably. + * generic/tclIntDecls.h: + * generic/tclObj.c: + * generic/tclProc.c: + * generic/tclTest.c: + + * generic/tclVar.c: Use the macro HasLocalVars everywhere + +2010-09-26 Miguel Sofer <msofer@users.sf.net> + + * generic/tclOOMethod.c (ProcedureMethodVarResolver): avoid code + duplication, let the runtime var resolver call the compiled var + resolver. + +2010-09-26 Kevin B. Kenny <kennykb@acm.org> + + [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 <kennykb@acm.org> + + [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 <jeffh@ActiveState.com> + + * 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 <andreask@activestate.com> + + * tclWinsock.c: [Bug 3056775]: Fixed race condition between thread and + internal co-thread access of a socket's structure because of the + thread not using the socketListLock in TcpAccept(). Added + documentation on how the module works to the top. + +2010-09-23 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclCmdAH.c: Fix cases where value returned by + * generic/tclEvent.c: Tcl_GetReturnOptions() was leaked. + * generic/tclMain.c: Thanks to Jeff Hobbs for discovery of the + anti-pattern to seek and destroy. + +2010-09-23 Jan Nijtmans <nijtmans@users.sf.net> + + * unix/tclAppInit.c: Make compilable with -DUNICODE (not activated + * win/tclAppInit.c: yet), many clean-ups in comments. + +2010-09-22 Miguel Sofer <msofer@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <jeffh@ActiveState.com> + + * 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 <kennykb@acm.org> + + [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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/file.n (file readlink): [Bug 3070580]: Typofix. + +2010-09-18 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <jeffh@ActiveState.com> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * unix/Makefile.in: Revise `make dist` target to tolerate the + case of zero bundled packages. + +2010-09-15 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * win/tclWinChan.c: Various clean-ups, converting from + * win/tclWinConsole.c: tclWinProc->xxxProc directly to Xxx + * win/tclWinInit.c: (no change in functionality) + * win/tclWinLoad.c: + * win/tclWinSerial.c: + * win/tclWinSock.c: + * tools/genStubs.tcl: Add scspec feature from ttkGenStubs.tcl + (no change in output for *Decls.h files) + +2010-09-10 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWin32Dll.c: Partly revert yesterday's change, to make it work + on VC++ 6.0 again. + +2010-09-10 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * win/makefile.vc: Mingw should always link with -ladvapi32. + * win/tcl.m4: + * win/configure: (regenerated) + * win/tclWinInt.h: Remove ascii variant of tkWinPocs table, it is + * win/tclWin32Dll.c: no longer necessary. Fix CreateProcess signature + * win/tclWinPipe.c: and remove unused GetModuleFileName and lstrcpy. + * win/tclWinPort.h: Mingw/cygwin fixes: <tchar.h> should always be + included, and fix conflict in various macro values: Always force the + same values as in VC++. + +2010-09-08 Don Porter <dgp@users.sourceforge.net> + + * win/tclWinChan.c: [Bug 3059922]: #ifdef protections to permit + * win/tclWinFCmd.c: builds with mingw on amd64 systems. Thanks to + "mescalinum" for reporting and testing. + +2010-09-08 Andreas Kupries <andreask@activestate.com> + + * 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 <dkf@users.sf.net> + + * 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 <andreask@activestate.com> + + * 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 <andreas_kupries@users.sourceforge.net> + + * 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 <andreask@activestate.com> + + * 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 <nijtmans@users.sf.net> + + * 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 <andreask@activestate.com> + + * win/tcl.m4: Applied patch by Jeff fixing issues with the manifest + handling on Win64. + * win/configure: Regenerated. + +2010-08-30 Miguel Sofer <msofer@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/dict.n: [Bug 3046999]: Corrected cross reference to array + manpage to refer to (correct) existing subcommand. + +2010-08-26 Jeff Hobbs <jeffh@ActiveState.com> + + * unix/configure, unix/tcl.m4: SHLIB_LD_LIBS='${LIBS}' for OSF1-V*. + Add /usr/lib64 to set of auto-search dirs. [Bug 1230554] + (SC_PATH_X): Correct syntax error when xincludes not found. + + * 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 <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + * library/tzdata/Africa/Cairo: + * library/tzdata/Asia/Gaza: Olson's tzdata2010l. + +2010-08-22 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/linsert.n: [Bug 3045123]: Make description of what is actually + happening more accurate. + +2010-08-21 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * doc/Method.3: Fix definition of Tcl_MethodType. + +2010-08-19 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclTrace.c (TraceExecutionObjCmd, TraceCommandObjCmd) + (TraceVariableObjCmd): [Patch 3048354]: Use memcpy() instead of + strcpy() to avoid buffer overflow; we have the correct length of data + to copy anyway since we've just allocated the target buffer. + +2010-08-18 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <msofer@users.sf.net> + + * generic/tclBasic.c: New redesign of [tailcall]: find + * generic/tclExecute.c: errors early on, so that errorInfo + * generic/tclInt.h: contains the proper info [Bug 3047235] + * generic/tclNamesp.c: + + * 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 <dkf@users.sf.net> + + * library/safe.tcl (AliasGlob): [Bug 3004191]: Restore safe [glob] to + working condition. + +2010-08-15 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * compat/unicows: Remove completely, see [FRQ 2819611]. + * doc/FileSystem.3: [Patch 2994165]: Change signature of + * generic/tcl.decls Tcl_FSGetNativePath and TclpDeleteFile + * generic/tclDecls.h: + * generic/tclIOUtil.c: + * generic/tclStubInit.c: + * generic/tclInt.h: + * unix/tclUnixFCmd.c: + * win/tclWinFCmd.c: + * doc/Hash.3: [Patch 3009403]: Signature of Tcl_GetHashKey, + * generic/tcl.h: Tcl_(Create|Find)HashEntry + +2010-08-11 Jeff Hobbs <jeffh@ActiveState.com> + + * 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 <msofer@users.sf.net> + + * generic/tclBasic.c (TclNRYieldToObjCmd): + * tests/coroutine.test: Fixed bad copypasta snafu. Thanks to Andy Goth + for finding the bug. + +2010-08-10 Jeff Hobbs <jeffh@ActiveState.com> + + * generic/tclUtil.c (TclByteArrayMatch): Patterns may not be + null-terminated, so account for that. + +2010-08-09 Don Porter <dgp@users.sourceforge.net> + + * changes: Updates for 8.6b2 release. + +2010-08-04 Jeff Hobbs <jeffh@ActiveState.com> + + * 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 <andreask@activestate.com> + + * generic/tclIORChan.c: [Bug 3034840]: Fixed reference counting in + * generic/tclIORTrans.c: InvokeTclMethod and callers. + * tests/ioTrans.test: + +2010-08-03 Andreas Kupries <andreask@activestate.com> + + * 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 <kennykb@users.sf.net> + + * 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 <msofer@users.sf.net> + + * generic/tclVar.c: Correcting bad port of [Bug 3037525] fix + +2010-07-28 Miguel Sofer <msofer@users.sf.net> + + * generic/tclVar.c: [Bug 3037525]: Lose fickle optimisation in + TclDeleteVars (used for runtime-created locals) that caused crash. + +2010-07-29 Jan Nijtmans <nijtmans@users.sf.net> + + * compat/zlib/win32/README.txt: Official build of zlib1.dll 1.2.5 is + * compat/zlib/win32/USAGE.txt: finally available, so put it in. + * compat/zlib/win32/zlib1.dll: + +2010-07-25 Donal K. Fellows <dkf@users.sf.net> + + * doc/http.n: Corrected description of location of one of the entries + in the state array. + +2010-07-24 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclBasic.c: Added more errorCode setting. + +2010-07-15 Donal K. Fellows <dkf@users.sf.net> + + * 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 <patthoyts@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclInt.decls: [Bug 803489]: Tcl_FindNamespace problem in + * generic/tclIntDecls.h: the Stubs table + * generic/tclStubInit.c: + +2010-07-02 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclExecute.c (IllegalExprOperandType): [Bug 3024379]: Made + sure that errors caused by an argument to an operator being outside + the domain of the operator all result in ::errorCode being ARITH + DOMAIN and not NONE. + +2010-07-01 Jan Nijtmans <nijtmans@users.sf.net> + + * win/rules.vc: [Bug 3020677]: wish can't link reg1.2 + * tools/checkLibraryDoc.tcl: formatting, spacing, cleanup unused + * tools/eolFix.tcl: variables; no change in generated output + * tools/fix_tommath_h.tcl: + * tools/genStubs.tcl: + * tools/index.tcl: + * tools/man2help2.tcl: + * tools/regexpTestLib.tcl: + * tools/tsdPerf.tcl: + * tools/uniClass.tcl: + * tools/uniParse.tcl: + +2010-07-01 Donal K. Fellows <dkf@users.sf.net> + + * doc/mathop.n: [Bug 3023165]: Fix typo that was preventing proper + rendering of the exclusive-or operator. + +2010-06-28 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <max@suse.de> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCmdIL.c (Tcl_LsetObjCmd): [Bug 3019351]: Corrected wrong + args message. + +2010-06-21 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * tools/loadICU.tcl: [Bug 3016135]: Traceback using clock format + * library/msgs/he.msg: with locale of he_IL. + + * generic/tcl.h: Simplify Tcl_AppInit and *_Init definitions, + * generic/tclInt.h: spacing. Change TclpThreadCreate and + * generic/tcl.decls: Tcl_CreateThread signature, making clear that + * generic/tclDecls.h: "proc" is a function pointer, as in all other + * generic/tclEvent.c: "proc" function parameters. + * generic/tclTestProcBodyObj.c: + * win/tclWinThrd.c: + * unix/tclUnixThrd.c: + * doc/Thread.3: + * doc/Class.3: Fix Tcl_ObjectMetadataType definition. + +2010-06-14 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <andreask@activestate.com> + + * 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 <nijtmans@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <msofer@users.sf.net> + + * generic/tclBasic.c: [Bug 3008307]: make callerPtr chains be + * generic/tclExecute.c: traversable accross coro boundaries. Add the + special coroutine CallFrame (partially reverting commit of + 2009-12-10), as it is needed for coroutines that do not push a CF, eg, + those with [eval] as command. Thanks to Colin McCormack (coldstore) + and Alexandre Ferrieux for the hard work on this. + +2010-06-03 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclOO.h: BUILD_tcloo is never defined (leftover) + * win/makefile.bc: Don't set BUILD_tcloo (leftover) + See also entry below: 2008-06-01 Joe Mistachkin + +2010-06-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclInt.h: [Patch 3008541]: Order of TIP #348 fields in + Interp structure + +2010-05-28 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * generic/regcomp.c: Don't use arrays of length 1, just use a + * generic/tclFileName.c: single element then, it makes code more + * generic/tclLoad.c: readable. (Here it even prevents a type cast) + +2010-05-17 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclStrToD.c: [Bug 2996549]: Failure in expr.test on Win32 + +2010-05-17 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <andreask@activestate.com> + + * 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 <nijtmans@users.sf.net> + + * generic/tclPkg.c: Unnecessary type casts, see [Patch 2997087] + +2010-05-04 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinNotify.c: TCHAR-related fixes, making those two files + * win/tclWinSock.c: compile fine when TCHAR != char. Please see + comments in [FRQ 2965056] (2965056-1.patch). + +2010-05-03 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclIORChan.c: Use "tclIO.h" and "tclTomMathDecls.h" + * generic/tclIORTrans.c: everywhere + * generic/tclTomMath.h: + * tools/fix_tommath_h.tcl: + * libtommath/tommath.h: Formatting (# should always be first char on + line) + * win/tclAppInit.c: For MINGW/CYGWIN, use GetCommandLineA + explicitly. + * unix/.cvsignore: Add pkg, *.dll + + * libtommath/tommath.h: CONSTify various useful internal + * libtommath/bn_mp_cmp_d.c: functions (TclBignumToDouble, TclCeil, + * libtommath/bn_mp_cmp_mag.c: TclFloor), and related tommath functions + * libtommath/bn_mp_cmp.c: + * libtommath/bn_mp_copy.c: + * libtommath/bn_mp_count_bits.c: + * libtommath/bn_mp_div_2d.c: + * libtommath/bn_mp_mod_2d.c: + * libtommath/bn_mp_mul_2d.c: + * libtommath/bn_mp_neg.c: + * generic/tclBasic.c: Handle TODO: const correctness ? + * generic/tclInt.h: + * generic/tclStrToD.c: + * generic/tclTomMath.decls: + * generic/tclTomMath.h: + * generic/tclTomMathDecls.h: + +2010-04-30 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * tests/coroutine.test: testing coroutine arguments after [yield]: + check that only 0/1 allowed + +2010-04-30 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <andreask@activestate.com> + + * 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 <kennykb@acm.org> + + * library/tzdata/Antarctica/Macquarie: + * library/tzdata/Africa/Casablanca: + * library/tzdata/Africa/Tunis: + * library/tzdata/America/Santiago: + * library/tzdata/America/Argentina/San_Luis: + * library/tzdata/Antarctica/Casey: + * library/tzdata/Antarctica/Davis: + * library/tzdata/Asia/Anadyr: + * library/tzdata/Asia/Damascus: + * library/tzdata/Asia/Dhaka: + * library/tzdata/Asia/Gaza: + * library/tzdata/Asia/Kamchatka: + * library/tzdata/Asia/Karachi: + * library/tzdata/Asia/Taipei: + * library/tzdata/Europe/Samara: + * library/tzdata/Pacific/Apia: + * library/tzdata/Pacific/Easter: + * library/tzdata/Pacific/Fiji: Olson's tzdata2010i. + +2010-04-29 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 2992970]: Make + * generic/tclStringObj.c (Tcl_AppendObjToObj): an append of a byte + array to another into an efficent operation. The problem was the (lack + of) a proper growth management strategy for the byte array. + +2010-04-29 Jan Nijtmans <nijtmans@users.sf.net> + + * compat/dirent2.h: Include "tcl.h", not <tcl.h>, like everywhere + * compat/dlfcn.h: else, to ensure that the version in the Tcl + * compat/stdlib.h: distribution is used, not some version from + * compat/string.h: somewhere else. + * compat/unistd.h: + +2010-04-28 Jan Nijtmans <nijtmans@users.sf.net> + + * win/Makefile.in: Remove unused @MAN2TCLFLAGS@ + * win/tclWinPort.h: Move <limits.h> include from tclInt.h to + * generic/tclInt.h: tclWinPort.h, and eliminate unneeded + * generic/tclEnv.c: <stdlib.h>, <stdio.h> and <string.h>, which + are already in tclInt.h + * generic/regcustom.h: Move "tclInt.h" from regcustom.h up to + * generic/regex.h: regex.h. + * generic/tclAlloc.c: Unneeded <stdio.h> include. + * generic/tclExecute.c: Fix gcc warning: comparison between signed and + unsigned. + +2010-04-28 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclInt.h (TclIsVarDirectUnsettable): Corrected flags so that + deletion of traces is not optimized out... + + * generic/tclExecute.c (ExecuteExtendedBinaryMathOp) + (TclCompareTwoNumbers,ExecuteExtendedUnaryMathOp,TclExecuteByteCode): + [Patch 2981677]: Move the less common arithmetic operations (i.e., + exponentiation and operations on non-longs) out of TEBC for a big drop + in the overall size of the stack frame for most code. Net effect on + speed is minimal (slightly faster overall in tclbench). Also extended + the number of places where TRESULT handling is replaced with a jump to + dedicated code. + +2010-04-27 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclExecute.c (TclExecuteByteCode): Rearrange location of an + assignment to shorten the object code. + +2010-04-27 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclIOUtil.c (Tcl_FSGetNativePath): [Bug 2992292]: + tclIOUtil.c assignment type mismatch compiler warning + * generic/regguts.h: If tclInt.h or tclPort.h is already + * generic/tclBasic.c: included, don't include <limits.h> + * generic/tclExecute.c: again. Follow-up to [Bug 2991415]: + * generic/tclIORChan.c: tclport.h #included before limits.h + * generic/tclIORTrans.c: See comments in [Bug 2991415] + * generic/tclObj.c: + * generic/tclOOInt.h: + * generic/tclStrToD.c: + * generic/tclTomMath.h: + * generic/tclTomMathInterface.c: + * generic/tclUtil.c: + * compat/strtod.c: + * compat/strtol.c: + +2010-04-27 Kevin B. Kenny <kennykb@acm.org> + + * 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 <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * generic/tclBasic.c: Add unsupported [yieldm] command. Credit + * generic/tclInt.h: Lars Hellstrom for the basic idea. + +2010-04-24 Miguel Sofer <msofer@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * unix/tclUnixPort.h: [Bug 2991415]: tclport.h #included before + limits.h + +2010-04-22 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclTest.c: Use function prototypes from the FS API. + * compat/zlib/*: Upgrade to zlib 1.2.5 + +2010-04-19 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclExecute.c (TclExecuteByteCode): Improve commenting and + reduce indentation for the Invocation Block. + +2010-04-18 Donal K. Fellows <dkf@users.sf.net> + + * doc/unset.n: [Bug 2988940]: Fix typo. + +2010-04-15 Jan Nijtmans <nijtmans@users.sf.net> + + * win/tclWinPort.h: Move inclusion of <tchar.h> from + * generic/tcl.h: tclPlatDecls.h to tclWinPort.h, where it + * generic/tclPlatDecls.h: belongs. Add fallback in tcl.h, so TCHAR is + available in win32 always. + +2010-04-15 Donal K. Fellows <dkf@users.sf.net> + + * doc/try.n: [Bug 2987551]: Fix typo. + +2010-04-14 Andreas Kupries <andreask@activestate.com> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/catch.n, doc/info.n, doc/return.n: Formatting. + +2010-04-06 Donal K. Fellows <dkf@users.sf.net> + + * doc/Load.3: Minor corrections of formatting and cross links. + +2010-04-06 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <kennykb@acm.org> + + 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * test/cmdMZ.test: [FRQ 2974744]: share exception codes (ObjType?): + * test/error.test: Revised test cases, making sure that abbreviated + * test/proc-old.test: codes are checked resulting in an error, and + checking for the exact error message. + +2010-03-30 Andreas Kupries <andreask@activestate.com> + + * generic/tclIORChan.c (ReflectClose, ReflectInput, ReflectOutput, + (ReflectSeekWide, ReflectWatch, ReflectBlock, ReflectSetOption, + (ReflectGetOption, ForwardProc): [Bug 2978773]: Preserve + ReflectedChannel* structures across handler invokations, to avoid + crashes when the handler implementation induces nested callbacks and + destruction of the channel deep inside such a nesting. + +2010-03-30 Don Porter <dgp@users.sourceforge.net> + + * generic/tclObj.c (Tcl_GetCommandFromObj): [Bug 2979402]: Reorder + the validity tests on internal rep of a "cmdName" value to avoid + invalid reads reported by valgrind. + +2010-03-30 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + 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 <nijtmans@users.sf.net> + + * unix/tcl.m4: Only test for -visibility=hidden with gcc + (Second remark in [Bug 2976508]) + * unix/configure: regen + +2010-03-29 Don Porter <dgp@users.sourceforge.net> + + * generic/tclStringObj.c: Fix array overrun in test format-1.12 + caught by valgrind testing. + +2010-03-27 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclInt.h: [FRQ 2974744]: share exception codes + * generic/tclResult.c: (ObjType?) + * generic/tclCmdMZ.c: + * generic/tclCompCmdsSZ.c: + +2010-03-26 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclExecute.c: [Bug 2976508]: Tcl HEAD fails on HP-UX + +2010-03-25 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclCmdMZ.c: [Bug 2973361]: Revised fix for computing + indices of script arguments to [try]. + +2010-03-23 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclCmdMZ.c: Make error message in "try" implementation + * generic/tclCompCmdsSZ.c: exactly the same as the one in "return" + * tests/error.test: + * libtommath/mtests/mpi.c: Single "const" addition + +2010-03-22 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCompCmdsSZ.c (TclCompileThrowCmd): Added compilation for + the [throw] command. + +2010-03-18 Don Porter <dgp@users.sourceforge.net> + + * generic/tclListObj.c: [Bug 2971669]: Prevent in overflow trouble in + * generic/tclTestObj.c: ListObjReplace operations. Thanks to kbk for + * tests/listObj.test: fix and test. + +2010-03-18 Donal K. Fellows <dkf@users.sf.net> + + * 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 <andreask@activestate.com> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * win/makefile.vc: [Bug 2967340]: Static build was failing. + * win/.cvsignore: + +2010-03-10 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <andreask@activestate.com> + + * generic/tclIORChan.c: [Bug 2936225]: Thanks to Alexandre Ferrieux + * doc/refchan.n: <ferrieux@users.sourceforge.net> for debugging and + * tests/ioCmd.test: fixing the problem. It is the write-side + equivalent to the bug fixed 2009-08-06. + +2010-03-09 Don Porter <dgp@users.sourceforge.net> + + * library/tzdata/America/Matamoros: New locale + * library/tzdata/America/Ojinaga: New locale + * library/tzdata/America/Santa_Isabel: New locale + * library/tzdata/America/Asuncion: + * library/tzdata/America/Tijuana: + * library/tzdata/Antarctica/Casey: + * library/tzdata/Antarctica/Davis: + * library/tzdata/Antarctica/Mawson: + * library/tzdata/Asia/Dhaka: + * library/tzdata/Pacific/Fiji: + Olson tzdata2010c. + +2010-03-07 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclOO.c (ObjectRenamedTrace): [Bug 2962664]: Add special + handling so that when the class of classes is deleted, so is the class + of objects. Immediately. + + * generic/tclOOInt.h (ROOT_CLASS): Add new flag for specially marking + the root class. Simpler and more robust than the previous technique. + +2010-03-04 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclGetDate.y: 3 unnecessary MODULE_SCOPE + * generic/tclDate.c: symbols + * generic/tclStubLib.c: Split tommath stub lib + * generic/tclTomMathStubLib.c: in separate file. + * win/makefile.bc: + * win/Makefile.in: + * win/makefile.vc: + * win/tcl.dsp: + * unix/Makefile.in: + * unix/tcl.m4: Cygwin only gives warning + * unix/configure: using -fvisibility=hidden + * compat/strncasecmp.c: A few more const's + * compat/strtod.c: + * compat/strtoul.c: + +2010-03-03 Andreas Kupries <andreask@activestate.com> + + * doc/refchan.n: Followup to ChangeLog entry 2009-10-07 + (generic/tclIORChan.c). Fixed the documentation to explain that errno + numbers are operating system dependent, and reworked the associated + example. + +2010-03-02 Jan Nijtmans <nijtmans@users.sf.net> + + * unix/tcl.m4: [FRQ 2959069]: Support for -fvisibility=hidden + * unix/configure (regenerated with autoconf-2.59) + +2010-03-01 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclStubInit.c: [Bug 2959713]: Link error with gcc 4.1 + +2010-02-27 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCmdMZ.c (StringFirstCmd, StringLastCmd): [Bug 2960021]: + Only search for the needle in the haystack when the needle isn't + larger than the haystack. Prevents an odd crash from sometimes + happening when things get mixed up (a common programming error). + + * 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 <dkf@users.sf.net> + + * 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 <max@suse.de> + + * 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 <dkf@users.sf.net> + + * 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 <patthoyts@users.sourceforge.net> + + * tests/zlib.test: Add tests for [Bug 2818131] which was crashing with + mismatched zlib algorithms used in combination with gets. This issue + has been fixed by Andreas's last commit. + +2010-02-25 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclDictObj.c (SetDictFromAny): Prevent the list<->dict + * generic/tclListObj.c (SetListFromAny): conversion code from taking + too many liberties. Stops loss of duplicate keys in some scenarios. + Many thanks to Jean-Claude Wippler for finding this. + + * 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 <andreask@activestate.com> + + * 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 <nijtmans@users.sf.net> + + * 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 <mdejong@users.sourceforge.net> + + * tests/regexp.test: Add test cases back ported from Jacl regexp work. + +2010-02-21 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclDate.c: Some more const tables. + * generic/tclGetDate.y: + * generic/regc_lex.c: + * generic/regerror.c: + * generic/tclStubLib.c: + * generic/tclBasic.c: Fix [Bug 2954959] expr abs(0.0) is -0.0 + * tests/expr.test: + +2010-02-20 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCompCmds.c (TclCompileStringLenCmd): Make [string length] + of a constant string be handled better (i.e., handle backslashes too). + +2010-02-19 Stuart Cassoff <stwo@users.sourceforge.net> + + * tcl.m4: Correct compiler/linker flags for threaded builds on + OpenBSD. + * configure: (regenerated). + +2010-02-19 Donal K. Fellows <dkf@users.sf.net> + + * unix/installManPage: [Bug 2954638]: Correct behaviour of manual page + installer. Also added armouring to check that assumptions about the + initial state are actually valid (e.g., look for existing input file). + +2010-02-17 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclHash.c (HashStringKey): Restore these hash functions + * generic/tclLiteral.c (HashString): to use the classic algorithm. + * generic/tclObj.c (TclHashObjKey): Community felt normal case + speed to be more important than resistance to malicious cases. For + now, hashes that need to deal with the malicious case can use a custom + hash table and install their own hash function, though that is not + functionality exposed to the script level. + + * generic/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 <nijtmans@users.sf.net> + + * generic/tclInt.h: Change order of various struct members, + fixing potential binary incompatibility with Tcl 8.5 + +2010-02-16 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCompCmds.c (TclCompileSwitchCmd): Divided the [switch] + compiler into three pieces (after the model of [try]): a parser, an + instruction-issuer for chained tests, and an instruction-issuer for + jump tables. + + * 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 <nijtmans@users.sf.net> + + * 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 <mdejong@users.sourceforge.net> + + * tests/list.test: Add tests for explicit \0 in a string argument to + the list command. + +2010-02-11 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclIOCmd.c (Tcl_OpenObjCmd): [Bug 2949740]: Make sure that + we do not try to put a NULL pipeline channel into binary mode. + +2010-02-11 Mo DeJong <mdejong@users.sourceforge.net> + + [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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * tools/genStubs.tcl: Remove dependency on 8.5+ idiom "in" in + expressions. + +2010-02-08 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCompCmds.c (TclCompileErrorCmd): Added compilation of the + [error] command. No new bytecodes. + +2010-02-05 Jan Nijtmans <nijtmans@users.sf.net> + + * tools/genStubs.tcl: Follow-up to earlier commit today: + Eliminate the need for an extra Stubs Pointer for adressing + a static stub table: Just change the exported table from + static to MODULE_SCOPE. + * generic/tclBasic.c + * generic/tclOO.c + * generic/tclTomMathInterface.c + * generic/tcl*Decls.h (regenerated) + * generic/tclStubInit.c (regenerated) + * generic/tclOOStubInit.c (regenerated) + * generic/tclTest.c (minor formatting) + +2010-02-05 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclVar.c: More consistency in errorcode generation. + + * generic/tclOOBasic.c (TclOO_Object_Destroy): Rewrote to be NRE-aware + when calling destructors. Note that there is no guarantee that + destructors will always be called in an NRE context; that's a feature + of the 'destroy' method only. + + * generic/tclEncoding.c: Add 'const' to many function-internal vars + that are never pointing to things that are written to. + +2010-02-05 Jan Nijtmans <nijtmans@users.sf.net> + + * tools/genStubs.tcl: Follow-up to [2010-01-29] commit: + prevent space within stub table function parameters if the + parameter type is a pointer. + * win/tclWinInt.h: Minor Formatting + * generic/tcl.h: VOID -> void and other formatting + * generic/tclInt.h: Minor formatting + * generic/tclInt.decls: Change signature of TclNRInterpProcCore, + * generic/tclOO.decls: and TclOONewProc(Instance|)MethodEx, + * generic/tclProc.c: indicating that errorProc is a function, + * generic/tclOOMethod.c:pointer, and other formatting + * generic/tcl*Decls.h: (regenerated) + * generic/tclVar.c: gcc warning(line 3703): 'pattern' may be used + uninitialized in this function + gcc warning(line 3788): 'matched' may be used + uninitialized in this function + +2010-02-04 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclVar.c: Added more use of error-codes and reduced the + stack overhead of older interfaces. + (ArrayGetCmd): Stop silly crash when using a trivial pattern due to + error in conversion to ensemble. + (ArrayNamesCmd): Use the object RE interface for faster matching. + +2010-02-03 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclVar.c (ArrayUnsetCmd): More corrections. + +2010-02-02 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCompile.c (tclInstructionTable): Bytecode instructions + * generic/tclCompCmds.c (TclCompileUnsetCmd): to allow the [unset] + * generic/tclExecute.c (TclExecuteByteCode): command to be compiled + with the compiler being a complete compilation for all compile-time + decidable uses. + + * generic/tclVar.c (TclPtrUnsetVar): Var reference version of the code + to unset a variable. Required for INST_UNSET bytecodes. + +2010-01-29 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/proc.n: [Bug 1970629]: Define a bit better what the current + namespace of a procedure is. + +2010-01-22 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclExecute.c (TclExecuteByteCode): Improve error code + generation from some of the tailcall-related bits of TEBC. + +2010-01-21 Miguel Sofer <msofer@users.sf.net> + + * generic/tclCompile.h: [Bug 2910748]: NRE-enable direct eval on BC + * generic/tclExecute.c: spoilage. + * tests/nre.test: + +2010-01-19 Donal K. Fellows <dkf@users.sf.net> + + * doc/dict.n: [Bug 2929546]: Clarify just what [dict with] and [dict + update] are doing with variables. + +2010-01-18 Andreas Kupries <andreask@activestate.com> + + * 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 <dkf@users.sf.net> + + * generic/tclStringObj.c (Tcl_AppendFormatToObj): [Bug 2932421]: Stop + the [format] command from causing argument objects to change their + internal representation when not needed. Thanks to Alexandre Ferrieux + for this fix. + +2010-01-13 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * tools/tcltk-man2html.tcl: Added basic support for building the docs + for contributed packages into the HTML versions. Prompted by question + on Tcler's Chat by Tom Krehbiel. Note that there remain problems in + the documentation generated due to errors in the contributed docs. + +2010-01-05 Don Porter <dgp@users.sourceforge.net> + + * generic/tclPathObj.c (TclPathPart): [Bug 2918610]: Correct + * tests/fileName.test (filename-14.31): inconsistency between the + string rep and the intrep of a path value created by [file rootname]. + Thanks to Vitaly Magerya for reporting. + +2010-01-03 Donal K. Fellows <dkf@users.sf.net> + + * unix/tcl.m4 (SC_CONFIG_CFLAGS): [Bug 1636685]: Use the configuration + for modern FreeBSD suggested by the FreeBSD porter. + +2010-01-03 Miguel Sofer <msofer@users.sf.net> + + * generic/tclBasic.c: [Bug 2724403]: Fix leak of coroutines on + * generic/tclCompile.h: namespace deletion. Added a test for this + * generic/tclNamesp.c: leak, and also a test for leaks on namespace + * tests/coroutine.test: deletion. + * tests/namespace.test: + +2009-12-30 Donal K. Fellows <dkf@users.sf.net> + + * library/safe.tcl (AliasSource): [Bug 2923613]: Make the safer + * tests/safe.test (safe-8.9): [source] handle a [return] at the + end of the file correctly. + +2009-12-30 Miguel Sofer <msofer@users.sf.net> + + * library/init.tcl (unknown): [Bug 2824981]: Fix infinite recursion of + ::unknown when [set] is undefined. + +2009-12-29 Donal K. Fellows <dkf@users.sf.net> + + * 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 <patthoyts@users.sourceforge.net> + + * generic/tclBinary.c: [Bug 2922555]: Handle completely invalid input + * tests/binary.test: to the decode methods. + +2009-12-28 Donal K. Fellows <dkf@users.sf.net> + + * unix/Makefile.in (trace-shell, trace-test): [FRQ 1083288]: Added + targets to allow easier tracing of shell and test invokations. + + * 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 <dkf@users.sf.net> + + * doc/namespace.n (SCOPED SCRIPTS): [Bug 2921538]: Updated example to + not be quite so ancient. + +2009-12-25 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclCmdMZ.c: CONST -> const + * generic/tclParse.c + +2009-12-23 Donal K. Fellows <dkf@users.sf.net> + + * library/safe.tcl (AliasSource, AliasExeName): [Bug 2913625]: Stop + information about paths from leaking through [info script] and [info + nameofexecutable]. + +2009-12-23 Jan Nijtmans <nijtmans@users.sf.net> + + * unix/tcl.m4: Install libtcl8.6.dll in bin directory + * unix/Makefile.in: + * unix/configure: (regenerated) + +2009-12-22 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCmdIL.c (Tcl_LsortObjCmd): [Bug 2918962]: Stop crash when + -index and -stride are used together. + +2009-12-21 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclThreadStorage.c: Fix gcc warning, using gcc-4.3.4 on + cygwin: missing initializer + * generic/tclOOInt.h: Prevent conflict with DUPLICATE + definition in WINAPI's nb30.h + * generic/rege_dfa.c: Fix macro conflict on CYGWIN: don't use + "small". + * generic/tcl.h: Include <winsock2.h> before <stdio.h> on + CYGWIN + * generic/tclPathObj.c + * generic/tclPort.h + * tests/env.test: Don't unset WINDIR and TERM, it has a + special meaning on CYGWIN (both in UNIX + and WIN32 mode!) + * generic/tclPlatDecls.h: Include <tchar.h> through tclPlatDecls.h + * win/tclWinPort.h: stricmp -> strcasecmp + * win/tclWinDde.c: _wcsicmp -> wcscasecmp + * win/tclWinFile.c + * win/tclWinPipe.c + * win/tclWinSock.c + * unix/tcl.m4: Add dynamic loading support to CYGWIN + * unix/configure (regenerated) + * unix/Makefile.in + +2009-12-19 Miguel Sofer <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclTest.c (TestconcatobjCmd): [Bug 2895367]: Stop memory + leak when testing. We don't need extra noise of this sort when + tracking down real problems! + +2009-12-11 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclBinary.c: Fix gcc warning, using gcc-4.3.4 on cygwin + * generic/tclCompExpr.c:warning: array subscript has type 'char' + * generic/tclPkg.c: + * libtommath/bn_mp_read_radix.c: + * win/makefile.vc: [Bug 2912773]: Revert to version 1.203 + * unix/tclUnixCompat.c: Fix gcc warning: signed and unsigned type + in conditional expression. + +2009-12-11 Donal K. Fellows <dkf@users.sf.net> + + * tools/tcltk-man2html.tcl (long-toc, cross-reference): [FRQ 2897296]: + Added cross links to sections within manual pages. + +2009-12-11 Miguel Sofer <msofer@users.sf.net> + + * 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 <andreask@activestate.com> + + * generic/tclObj.c (TclContinuationsEnter): [Bug 2895323]: Updated + comments to describe when the function can be entered for the same + Tcl_Obj* multiple times. This is a continuation of the 2009-11-10 + entry where a memory leak was plugged, but where not sure if that was + just a band-aid to paper over some other error. It isn't, this is a + legal situation. + +2009-12-10 Miguel Sofer <msofer@users.sf.net> + + * generic/tclBasic.c: Reducing the # of moving parts for coroutines + * generic/tclExecute.c: by delegating more to tebc; eliminate the + special coroutine CallFrame. + +2009-12-09 Andreas Kupries <andreask@activestate.com> + + * 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 <msofer@users.sf.net> + + * generic/tclBasic.c: Ensure right lifetime of varFrame's (objc,objv) + for coroutines. + + * generic/tclExecute.c: Code regrouping + +2009-12-09 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclBasic.c: Added some of the missing setting of errorcode + values. + +2009-12-08 Miguel Sofer <msofer@users.sf.net> + + * generic/tclExecute.c (TclStackFree): Improved panic msg. + +2009-12-08 Miguel Sofer <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclStrToD.c: [Bug 2902010]: Correct conditional compile + directives to better detect the toolchain that needs extra work for + proper underflow treatment instead of merely detecting the MIPS + platform. + +2009-12-07 Miguel Sofer <msofer@users.sf.net> + + * generic/tclBasic.c: [Patch 2910056]: Add ::tcl::unsupported::yieldTo + * generic/tclInt.h: + +2009-12-07 Donal K. Fellows <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/Tcl.n: [Bug 2901433]: Improved description of expansion to + mention that it is using list syntax. + +2009-11-27 Kevin B. Kenny <kennykb@acm.org> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + * 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 <stwo@users.sf.net> + + * 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 <andreask@activestate.com> + + * 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 <dkf@users.sf.net> + + * 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 <patthoyts@users.sourceforge.net> + + * tests/fCmd.test: [Bug 2893771]: Teach [file stat] to handle locked + * win/tclWinFile.c: files so that [file exists] no longer lies. + +2009-11-23 Kevin Kenny <kennykb@acm.org> + + * 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 <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + * 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 <dkf@users.sf.net> + + * generic/tclThreadTest.c (NewTestThread): [Bug 2901803]: Fix small + error in function naming which blocked a threaded test build. + +2009-11-19 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * unix/tclAppInit.c: [Bug 2883850, 2900542]: Repair broken build of + * win/tclAppInit.c: the tcltest executable. + +2009-11-19 Donal K. Fellows <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <andreask@activestate.com> + + * unix/tclUnixChan.c (TtyParseMode): Partial undo of Donal's tidy-up + from a few days ago (2009-11-9, not in ChangeLog). It seems that + strchr is apparently a macro on AIX and reacts badly to pre-processor + directives in its arguments. + +2009-11-16 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclEncoding.c: [Bug 2891556]: Fix and improve test to + * generic/tclTest.c: detect similar manifestations in the future. + * tests/encoding.test: Add tcltest support for finalization. + +2009-11-15 Mo DeJong <mdejong@users.sourceforge.net> + + * win/tclWinDde.c: Avoid gcc compiler warning by explicitly casting + DdeCreateStringHandle argument. + +2009-11-12 Andreas Kupries <andreask@activestate.com> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclClock.c (TclClockInit): Do not create [clock] support + commands in safe interps. + +2009-11-11 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <patthoyts@users.sourceforge.net> + + * 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 <andreask@activestate.com> + + * 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 <stwo@users.sf.net> + + * win/README: [bug 2459744]: Removed outdated Msys + Mingw info. + +2009-11-09 Andreas Kupries <andreask@activestate.com> + + * generic/tclBasic.c (TclEvalObjEx): Moved the #280 decrement of + refCount for the file path out of the branch after the whole + conditional, closing a memory leak. Added clause on structure type to + prevent seg.faulting. Forward port from valgrinding the Tcl 8.5 + branch. + + * tests/info.test: Resolve ambiguous resolution of variable "res". + Forward port from 8.5 + +2009-11-08 Donal K. Fellows <dkf@users.sf.net> + + * doc/string.n (bytelength): Noted that this command is not a good + thing to use, and suggested a better alternatve. Also factored out the + description of the indices into its own section. + +2009-11-07 Pat Thoyts <patthoyts@users.sourceforge.net> + + * tests/fCmd.test: [Bug 2891026]: Exclude tests using chmod 555 + directories on vista and win7. The current user has access denied and + so cannot rename the directory without admin privileges. + +2009-11-06 Andreas Kupries <andreask@activestate.com> + + * library/safe.tcl (::safe::Setup): Added documentation of the + contents of the state array. Also killed the 'InterpState' procedure + with its upleveled variable/upvar combination, and replaced all uses + with 'namespace upvar'. + +2009-11-05 Andreas Kupries <andreask@activestate.com> + + * library/safe.tcl: A series of patches which bring the SafeBase up to + date with code guidelines, Tcl's features, also eliminating a number + of inefficiencies along the way. + (1) Changed all procedure names to be fully qualified. + (2) Moved the procedures out of the namespace eval. Kept their + locations. IOW, broke the namespace eval apart into small sections not + covering the procedure definitions. + (3) Reindented the code. Just lots of whitespace changes. + Functionality unchanged. + (4) Moved the multiple namespace eval's around. Command export at the + top, everything else (var decls, argument parsing setup) at the + bottom. + (5) Moved the argument parsing setup into a procedure called when the + code is loaded. Easier management of temporary data. + (6) Replaced several uses of 'Set' with calls to the new procedure + 'InterpState' and direct access to the per-slave state array. + (7) Replaced the remaining uses of 'Set' and others outside of the + path/token handling, and deleted a number of procedures related to + state array access which are not used any longer. + (8) Converted the path token system to cache normalized paths and path + <-> token conversions. Removed more procedures not used any longer. + Removed the test cases 4.3 and 4.4 from safe.test. They were testing + the now deleted command "InterpStateName". + (9) Changed the log command setup so that logging is compiled out + completely when disabled (default). + (10) Misc. cleanup. Inlined IsInterp into CheckInterp, its only user. + Consistent 'return -code error' for error reporting. Updated to use + modern features (lassign, in/ni, dicts). The latter are used to keep a + reverse path -> token map and quicker check of existence. + (11) Fixed [Bug 2854929]: Recurse into all subdirs under all TM root + dirs and put them on the access path. + +2009-11-02 Kevin B. Kenny <kennykb@acm.org> + + * 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 <dkf@users.sf.net> + + * doc/object.n (DESCRIPTION): Substantive revision to make it clearer + what the fundamental semantics of an object actually are. + +2009-11-01 Joe Mistachkin <joe@mistachkin.com> + + * doc/Cancel.3: Minor cosmetic fixes. + * win/makefile.vc: Make htmlhelp target work again. An extra set of + double quotes around the definition of the HTML help compiler tool + appears to be required. Previously, there was one set of double + quotes around the definition of the tool and one around the actual + invocation. This led to confusion because it was the only such tool + path to include double quotes around its invocation. Also, it was + somewhat inflexible in the event that somebody needed to override the + tool command to include arguments. Therefore, even though it may look + "wrong", there are now two double quotes on either side of the tool + path definition. This fixes the problem that currently prevents the + htmlhelp target from building and maintains flexibility in case + somebody needs to override it via the command line or an environment + variable. + +2009-11-01 Joe English <jenglish@users.sourceforge.net> + + * doc/Eval.3, doc/Cancel.3: Move TIP#285 routines out of Eval.3 into + their own manpage. + +2009-10-31 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclBasic.c (ExprRoundFunc): [Bug 2889593]: Correctly report + the expected number of arguments when generating an error for round(). + +2009-10-30 Pat Thoyts <patthoyts@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <kennykb@acm.org> + + * library/clock.tcl (LocalizeFormat): + * tests/clock.test (clock-67.1): + [Bug 2819334]: Corrected a problem where '%%' followed by a letter in + a format group could expand recursively: %%R would turn into %%H:%M:%S + +2009-10-28 Don Porter <dgp@users.sourceforge.net> + + * generic/tclLiteral.c: [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 <kennykb@acm.org> + + * tests/fileName.test (fileName-20.[78]): Corrected poor test + hygiene (failure to save and restore the working directory) that + caused these two tests to fail on Windows (and [Bug 2806250] to be + reopened). + +2009-10-27 Don Porter <dgp@users.sourceforge.net> + + * generic/tclPathObj.c: [Bug 2884203]: Missing refcount on cached + normalized path caused crashes. + +2009-10-27 Kevin B. Kenny <kennykb@acm.org> + + * library/clock.tcl (ParseClockScanFormat): [Bug 2886852]: Corrected a + problem where [clock scan] didn't load the timezone soon enough when + processing a time format that lacked a complete date. + * tests/clock.test (clock-66.1): + Added a test case for the above bug. + * library/tzdata/America/Argentina/Buenos_Aires: + * library/tzdata/America/Argentina/Cordoba: + * library/tzdata/America/Argentina/San_Luis: + * library/tzdata/America/Argentina/Tucuman: + New DST rules for Argentina. (Olson's tzdata2009p.) + +2009-10-26 Don Porter <dgp@users.sourceforge.net> + + * unix/Makefile.in: Remove $(PACKAGE).* and prototype from the + `make distclean` target. Completes 2009-10-20 commit. + +2009-10-24 Kevin B. Kenny <kennykb@acm.org> + + * library/clock.tcl (ProcessPosixTimeZone): + Corrected a regression in the fix to [Bug 2207436] that caused + [clock] to apply EU daylight saving time rules in the US. + Thanks to Karl Lehenbauer for reporting this regression. + * tests/clock.test (clock-52.4): + Added a regression test for the above bug. + * library/tzdata/Asia/Dhaka: + * library/tzdata/Asia/Karachi: + New DST rules for Bangladesh and Pakistan. (Olson's tzdata2009o.) + +2009-10-23 Andreas Kupries <andreask@activestate.com> + + * generic/tclIO.c (FlushChannel): Skip OutputProc for low-level + 0-length writes. When closing pipes which have already been closed + not skipping leads to spurious SIG_PIPE signals. Reported by + Mikhail Teterin <mi+thun@aldan.algebra.com>. + +2009-10-22 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclOOBasic.c (TclOO_Object_VarName): [Bug 2883857]: Allow + the passing of array element names through this method. + +2009-10-21 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclPosixStr.c: [Bug 2882561]: Work around oddity on Haiku OS + where SIGSEGV and SIGBUS are the same value. + + * 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 <dgp@users.sourceforge.net> + + * unix/Makefile.in: Removed the long outdated and broken targets + package-* that were for building Solaris packages. Appears that the + pieces needed for these targets to function have never been present in + the current era of Tcl development and belong completely to Tcl + pre-history. + +2009-10-19 Don Porter <dgp@users.sourceforge.net> + + * 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 <joe@mistachkin.com> + + * 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 <joe@mistachkin.com> + + * tests/thread.test (thread-4.[345]): [Bug 1565466]: Correct tests to + save their error state before the final call to threadReap just in + case it triggers an "invalid thread id" error. This error can occur + if one or more of the target threads has exited prior to the attempt + to send it an asynchronous exit command. + +2009-10-17 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclDictObj.c (DictIncrCmd): [Bug 2874678]: Don't leak any + bignums when doing [dict incr] with a value. + * tests/dict.test (dict-19.3): Memory leak detection code. + +2009-10-07 Andreas Kupries <andreask@activestate.com> + + * generic/tclObj.c: [Bug 2871908]: Plug memory leaks of objThreadMap + and lineCLPtr hashtables. Also make the names of the continuation + line information initialization and finalization functions more + consistent. Patch supplied by Joe Mistachkin <joe@mistachkin.com>. + + * 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 <dgp@users.sourceforge.net> + + * 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 <andreask@activestate.com> + + * 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 <das@users.sourceforge.net> + + * 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 <kennykb@acm.org> + + * library/tzdata/Africa/Cairo: + * library/tzdata/Asia/Gaza: + * library/tzdata/Asia/Karachi: + * library/tzdata/Pacific/Apia: Olson's tzdata2009n. + +2009-09-29 Don Porter <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * tests/error.test (error-15.8.*): Coverage tests illustrating + flaws in the propagation of return options by [try]. + +2009-09-26 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + 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 <msofer@users.sf.net> + + * doc/namespace.n: the description of [namespace unknown] failed + to mention [namespace path]: fixed. Thx emiliano. + +2009-09-21 Mo DeJong <mdejong@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclCompile.c: Correct botch in the conversion of + Tcl_SubstObj(). Thanks to Kevin Kenny for detection and report. + +2009-09-17 Don Porter <dgp@users.sourceforge.net> + + * 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 <ferrieux@users.sourceforge.net> + + * generic/tclObj.c: Extended ::tcl::unsupported::representation. + +2009-09-11 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclParse.c: [Bug 2850901]: Corrected line counting error + * tests/into.test: in multi-command script substitutions. + +2009-09-07 Daniel Steffen <das@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <andreask@activestate.com> + + * 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 <dgp@users.sourceforge.net> + + * library/tcltest/tcltest.tcl: Bump to tcltest 2.3.2 after revision + * library/tcltest/pkgIndex.tcl: to verbose error message. + * unix/Makefile.in: + * win/Makefile.in: + +2009-08-27 Don Porter <dgp@users.sourceforge.net> + + * generic/tclStringObj.c: [Bug 2845535]: A few more string + overflow cases in [format]. + +2009-08-25 Andreas Kupries <andreask@activestate.com> + + * 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 <das@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclFileName.c: Correct regression in [Bug 2837800] fix. + * tests/fileName.test: + +2009-08-20 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCmdAH.c (TclNRForObjCmd, etc.): [Bug 2823276]: Make [for] + and [while] into NRE-safe commands, even when interpreted. + +2009-08-18 Don Porter <dgp@users.sourceforge.net> + + * generic/tclPathObj.c: [Bug 2837800]: Added NULL check to prevent + * tests/fileName.test: crashes during [glob]. + +2009-08-16 Jan Nijtmans <nijtmans@users.sf.net> + + * unix/dltest/pkge.c: const addition + * unix/tclUnixThrd.c: Use <pthread.h> in stead of "pthread.h" + * win/tclWinDde.c: Eliminate some more gcc warnings + * win/tclWinReg.c: + * generic/tclInt.h: Change ForIterData, make it const-safe. + * generic/tclCmdAH.c: + +2009-08-12 Don Porter <dgp@users.sourceforge.net> + + 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 <andreask@activestate.com> + + * 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 <msofer@users.sf.net> + + * tests/coroutine.test: fix testfile cleanup + +2009-08-02 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclObj.c (Tcl_RepresentationCmd): Added an unsupported + command for reporting the representation of an object. Result string + is deliberately a bit obstructive so that people are not encouraged to + make code that depends on it; it's a debugging tool only! + + * 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 <nijtmans@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * library/auto.tcl (tcl_findLibrary, auto_mkindex): + * library/package.tcl (pkg_mkIndex, tclPkgUnknown, MacOSXPkgUnknown): + * library/safe.tcl (interpAddToAccessPath, interpDelete, AliasGlob): + (AliasSource, AliasLoad, AliasEncoding): + * library/tm.tcl (UnknownHandler): Simplify by swapping some [catch] + gymnastics for use of [try]. + +2009-07-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <andreask@activestate.com> + + * generic/tclIO.c (Tcl_GetChannelHandle): [Bug 2826248]: Do not crash + * generic/tclPipe.c (FileForRedirect): for getHandleProc == NULL, this + is allowed. Provide a nice error message in the bypass area. Updated + caller to check the bypass for a mesage. Bug reported by Andy + Sonnenburg <andy22286@users.sourceforge.net> + +2009-07-23 Joe Mistachkin <joe@mistachkin.com> + + * generic/tclNotify.c: [Bug 2820349]: Ensure that queued events are + freed once processed. + +2009-07-22 Jan Nijtmans <nijtmans@users.sf.net> + + * macosx/tclMacOSXFCmd.c: CONST -> const + * generic/tclGetDate.y: + * generic/tclDate.c: + * generic/tclLiteral.c: (char *) cast in ckfree call + * generic/tclPanic.c: [Feature Request 2814786]: remove TclpPanic + * generic/tclInt.h + * unix/tclUnixPort.h + * win/tclWinPort.h + +2009-07-22 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * generic/tclEvent.c: [Bug 2001201 again]: Refined the 20090617 patch + on [exit] streamlining, so that it now correctly calls thread exit + handlers for the calling thread, including <Destroy> bindings in Tk. + +2009-07-21 Kevin B. Kenny <kennykb@acm.org> + + * library/tzdata/Asia/Dhaka: + * library/tzdata/Indian/Mauritius: Olson's tzdata2009k. + +2009-07-20 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCmdMZ.c (StringIsCmd): Reorganize so that [string is] is + more efficient when parsing things that are correct, at a cost of + making the empty string test slightly more costly. With this, the cost + of doing [string is integer -strict $x] matches [catch {expr {$x+0}}] + in the successful case, and greatly outstrips it in the failing case. + +2009-07-19 Donal K. Fellows <dkf@users.sf.net> + + * 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 <das@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <kennykb@acm.org> + + * generic/tclInt.h (TclNRSwitchObjCmd): + * generic/tclBasic.c (builtInCmds): + * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): + * tests/switch.test (switch-15.1): + [Bug 2821401]: Make non-bytecoded [switch] command aware of NRE. + +2009-07-13 Andreas Kupries <andreask@activestate.com> + + * generic/tclCompile.c (TclInitCompileEnv, EnterCmdWordIndex) + (TclCleanupByteCode, TclCompileScript): + * generic/tclExecute.c (TclCompileObj, TclExecuteByteCode): + * tclCompile.h (ExtCmdLoc): + * tclInt.h (ExtIndex, CFWordBC, CmdFrame): + * tclBasic.c (DeleteInterpProc, TclArgumentBCEnter) + (TclArgumentBCRelease, TclArgumentGet, SAVE_CONTEXT) + (RESTORE_CONTEXT, NRCoroutineExitCallback, TclNRCoroutineObjCmd): + * generic/tclCmdAH.c (TclNRForObjCmd, TclNRForIterCallback, + (ForNextCallback): + * generic/tclCmdMZ.c (TclNRWhileObjCmd): + + Extended the bytecode compiler initialization to recognize the + compilation of whole files (NRE enabled 'source' command) and switch + to the counting of absolute lines in that case. + + Further extended the bytecode compiler to track the start line in the + generated information, and modified the bytecode execution to + recompile an object if the location as per the calling context doesn't + match the location saved in the bytecode. This part could be optimized + more by using more memory to keep all possibilities which occur + around, or by just adjusting the location information instead of a + total recompile. + + 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/vwait.n: Substantially increased the discussion of issues and + work-arounds relating to nested vwaits, following discussion on the + tcl-core mailing list on the topic. + +2009-07-10 Pat Thoyts <patthoyts@users.sourceforge.net> + + * tests/zlib.test: ZlibTransformClose may be called with a NULL + * generic/tclZlib.c: interpreter during finalization and + Tcl_SetChannelError requires a list. Added some tests to ensure error + propagation from the zlib library to the interp. + +2009-07-09 Pat Thoyts <patthoyts@users.sourceforge.net> + + * tests/zlib.test: [Bug 2818131]: Added tests and fixed a typo that + broke [zlib push] for deflate format. + +2009-07-09 Donal K. Fellows <dkf@users.sf.net> + + * compat/mkstemp.c (mkstemp): [Bug 2819227]: Use rand() for random + numbers as it is more portable. + +2009-07-05 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclZlib.c (ZlibTransformWatch): Correct the handling of + events so that channel transforms work with things like an asynch + [chan copy]. Problem reported by Pat Thoyts. + +2009-07-01 Pat Thoyts <patthoyts@users.sourceforge.net> + + * win/tclWinInt.h: [Bug 2806622]: Handle the GetUserName API call + * win/tclWin32Dll.c: via the tclWinProcs indirection structure. This + * win/tclWinInit.c: fixes a problem obtaining the username when the + USERNAME environment variable is unset. + +2009-06-30 Daniel Steffen <das@users.sourceforge.net> + + * 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 <das@users.sourceforge.net> + + * macosx/Tcl-Common.xcconfig: Update projects for Xcode 3.1 and + * macosx/Tcl.xcode/*: 3.2, standardize on gcc 4.2, remove + * macosx/Tcl.xcodeproj/*: obsolete configurations and pre-Xcode + * macosx/Tcl.pbproj/* (removed): project. + + * macosx/README: Update project docs, cleanup. + + * unix/Makefile.in: Update dist target for project + changes. + +2009-06-24 Donal K. Fellows <dkf@users.sf.net> + + * tests/oo.test (oo-19.1): [Bug 2811598]: Make more resilient. + +2009-06-24 Pat Thoyts <patthoyts@users.sourceforge.net> + + * tests/http11.test: [Bug 2811492]: Clean up procs after testing. + +2009-06-18 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclCkalloc.c (MemoryCmd): [Bug 988703]: + * generic/tclObj.c (ObjData, TclFinalizeThreadObjects): Add mechanism + for discovering what Tcl_Objs are allocated when built for memory + debugging. Developed by Joe Mistachkin. + +2009-06-17 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclStringObj.c: sprintf() -> Tcl_ObjPrintf() conversion. + +2009-06-15 Reinhard Max <max@suse.de> + + * 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 <dkf@users.sf.net> + + * tools/tcltk-man2html.tcl (make-man-pages): [Patch 557486]: Apply + last remaining meaningful part of this patch, a clean up of some + closing tags. + +2009-06-13 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompile.c: [Bug 2802881]: The value stashed in + * generic/tclProc.c: iPtr->compiledProcPtr when compiling a proc + * tests/execute.test: survives too long. We only need it there long + enough for the right TclInitCompileEnv() call to re-stash it into + envPtr->procPtr. Once that is done, the CompileEnv controls. If we + let the value of iPtr->compiledProcPtr linger, though, then any other + bytecode compile operation that takes place will also have its + CompileEnv initialized with it, and that's not correct. The value is + meant to control the compile of the proc body only, not other compile + tasks that happen along. Thanks to Carlos Tasada for discovering and + reporting the problem. + +2009-06-10 Don Porter <dgp@users.sourceforge.net> + + * 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 <kennykb@acm.org> + + * 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 <kennykb@acm.org> + + * library/tzdata/Asia/Dhaka: New DST rule for Bangladesh. (Olson's + tzdata2009i.) + +2009-06-08 Donal K. Fellows <dkf@users.sf.net> + + * doc/copy.n: Fix error in example spotted by Venkat Iyer. + +2009-06-02 Don Porter <dgp@users.sourceforge.net> + + * generic/tclExecute.c: Replace dynamically-initialized table with a + table of static constants in the lookup table for exponent operator + computations that fit in a 64 bit integer result. + + * generic/tclExecute.c: [Bug 2798543]: Corrected implementations and + selection logic of the INST_EXPON instruction. + +2009-06-01 Don Porter <dgp@users.sourceforge.net> + + * tests/expr.test: [Bug 2798543]: Added many tests demonstrating + the broken cases. + +009-05-30 Kevin B. Kenny <kennykb@acm.org> + + * library/tzdata/Africa/Cairo: + * library/tzdata/Asia/Amman: Olson's tzdata2009h. + +2009-05-29 Andreas Kupries <andreask@activestate.com> + + * library/platform/platform.tcl: Fixed handling of cpu ia64, + * library/platform/pkgIndex.tcl: taking ia64_32 into account + * unix/Makefile.in: now. Bumped version to 1.0.5. Updated the + * win/Makefile.in: installation commands. + +2009-05-26 Alexandre Ferrieux <ferrieux@users.sourceforge.net> + + * doc/expr.n: Fixed documentation of the right-associativity of + the ** operator. (spotted by kbk) + +2009-05-14 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * generic/tclBasic.c (TclObjInvoke): [Bug 2486550]: Make sure that a + null objProc is not used, use Tcl_NRCallObjProc instead. + +2009-05-01 Jan Nijtmans <nijtmans@users.sf.net> + + * win/configure.in Fix 64-bit detection for zlib on Win64 + * win/configure (regenerated) + +2009-04-28 Jeff Hobbs <jeffh@ActiveState.com> + + * 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 <dkf@users.sf.net> + + * doc/concat.n (EXAMPLES): [Bug 2780680]: Rewrote so that the spacing + of result messages is correct. (The exact way they were wrong was + different when rendered through groff or as HTML, but it was still + wrong both ways.) + +2009-04-27 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <stwo@users.sf.net> + + * unix/Makefile.in: [Patch 2769530]: Don't chmod/exec installManPage. + +2009-04-19 Pat Thoyts <patthoyts@users.sourceforge.net> + + * library/http/http.tcl: [Bug 2715421]: Removed spurious newline added + * tests/http11.test: after POST and added tests to detect excess + * tests/httpd11.tcl: bytes being POSTed. + * library/http/pkgIndex.tcl: + * makefiles: package version now 2.8.1 + +2009-04-15 Donal K. Fellows <dkf@users.sf.net> + + * doc/chan.n, doc/close.n: Tidy up documentation of TIP #332. + +2009-04-14 Kevin B. Kenny <kennykb@acm.org> + + * library/tzdata/Asia/Karachi: Updated rules for Pakistan Summer + Time (Olson's tzdata2009f) + +2009-04-11 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclOOMethod.c (InvokeForwardMethod): Clarify the resolution + behaviour of the name of the command that is forwarded to: it's now + resolved using the object's namespace as context, which is much more + useful than the previous (somewhat random) behaviour of using the + caller's current namespace. + +2009-04-10 Pat Thoyts <patthoyts@users.sourceforge.net> + + * 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 <das@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * doc/StringObj.3: [Bug 2089279]: Corrected example so that it works + on 64-bit machines as well. + +2009-04-10 Pat Thoyts <patthoyts@users.sourceforge.net> + + * tests/http.test: [Bug 26245326]: Added specific check for problem + * tests/httpd: (return incomplete HTTP response header). + +2009-04-08 Kevin B. Kenny <kennykb@acm.org> + + * tools/tclZIC.tcl: Always emit files with Unix line termination. + * library/tzdata: Olson's tzdata2009e + +2009-04-09 Don Porter <dgp@users.sourceforge.net> + + * library/http/http.tcl: [Bug 26245326]: Handle incomplete + lines in the "connecting" state. Thanks to Sergei Golovan. + +2009-04-08 Andreas Kupries <andreask@activestate.com> + + * library/platform/platform.tcl: Extended the darwin sections to add + * library/platform/pkgIndex.tcl: a kernel version number to the + * unix/Makefile.in: identifier for anything from Leopard (10.5) on up. + * win/Makefile.in: Extended patterns for same. Extended cpu + * doc/platform.n: recognition for 64bit Tcl running on a 32bit kernel + on a 64bit processor (By Daniel Steffen). Bumped version to 1.0.4. + Updated Makefiles. + +2009-04-08 Don Porter <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * doc/Alloc.3: [Bug 2556263]: Size argument is "unsigned int". + +2009-03-27 Don Porter <dgp@users.sourceforge.net> + + * generic/tclPathObj.c (TclPathPart): [Bug 2710920]: TclPathPart() + * tests/fileName.test: was computing the wrong results for both [file + dirname] and [file tail] on "path" arguments with the PATHFLAGS != 0 + intrep and with an empty string for the "joined-on" part. + +2009-03-25 Jan Nijtmans <nijtmans@users.sf.net> + + * doc/tclsh.1: Bring doc and tools in line with + * tools/installData.tcl: http://wiki.tcl.tk/812 + * tools/str2c + * tools/tcltk-man2html.tcl + +2009-03-25 Donal K. Fellows <dkf@users.sf.net> + + * doc/coroutine.n: [Bug 2152285]: Added basic documentation for the + coroutine and yield commands. + +2009-03-24 Donal K. Fellows <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * generic/tclBasic.c: [Bug 2502037]: NR-enable the handling of unknown + commands. + +2009-03-21 Miguel Sofer <msofer@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <msofer@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/tailcall.n: Added documentation for tailcall command. + +2009-03-18 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCmdMZ.c (TryPostBody): [Bug 2688063]: Extract information + from list before getting rid of last reference to it. + +2009-03-15 Joe Mistachkin <joe@mistachkin.com> + + * 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 <dkf@users.sf.net> + + * generic/tclThreadStorage.c (TSDTableDelete): [Bug 2687952]: Ensure + * generic/tclThread.c (Tcl_GetThreadData): that structures in + Tcl's TSD system are all freed. Use the correct matching allocator. + + * generic/tclPosixStr.c (Tcl_SignalId,Tcl_SignalMsg): [Patch 1513655]: + Added support for SIGINFO, which is present on BSD platforms. + +2009-03-14 Donal K. Fellows <dkf@users.sf.net> + + * 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 <msofer@users.sf.net> + + * generic/tclBasic.c (TclNRCoroutineObjCmd): fix Tcl_Obj leak. + Diagnosis and fix thanks to GPS. + +2009-03-09 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclUtil.c (TclStringMatchObj): [Bug 2637173]: Revised + the branching on the strObj->typePtr so that untyped values get + converted to the "string" type and pass through the Unicode matcher. + [Bug 2613766]: Also added checks to only perform "bytearray" + optimization on pure bytearray values. + + * generic/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 <dkf@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <jeffh@ActiveState.com> + + * 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 <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclStringObj.c: Revisions so that we avoid creating + the strange representation of an empty string with + objPtr->bytes == NULL and stringPtr->hasUnicode == 0. Instead in + the situations where that was being created, create a traditional + two-legged stork representation (objPtr->bytes = tclEmptyStringRep + and stringPtr->hasUnicode = 1). In the situations where the strange + rep was treated differently, continue to do so by testing + stringPtr->numChars == 0 to detect it. These changes make the code + more conventional so easier for new maintainers to pick up. Also + sets up further simplifications. + + * generic/tclTestObj.c: Revise updates to [teststringobj] so we don't + get blocked by MODULE_SCOPE limits. + +2009-02-12 Don Porter <dgp@users.sourceforge.net> + + * generic/tclStringObj.c: Rewrites of the routines + Tcl_GetCharLength, Tcl_GetUniChar, Tcl_GetUnicodeFromObj, + Tcl_GetRange, and TclStringObjReverse to use the new macro, and + to more simply and clearly split the cases depending on whether + a valid unicode rep is present or needs to be created. + New utility routine UnicodeLength(), to compute the length of unicode + buffer arguments when no length is passed in, with built-in + overflow protection included. Update three callers to use it. + + * generic/tclInt.h: New macro TclNumUtfChars meant to be a faster + replacement for a full Tcl_NumUtfChars() call when the string has all + single-byte characters. + + * generic/tclStringObj.c: Simplified Tcl_GetCharLength by + * generic/tclTestObj.c: removing code that did nothing. + Added early returns from Tcl_*SetObjLength when the desired length + is already present; adapted test command to the change. + + * generic/tclStringObj.c: Re-implemented AppendUtfToUnicodeRep + so that we no longer pass through Tcl_DStrings which have their own + sets of problems when lengths overflow the int range. Now AUTUR and + FillUnicodeRep share a common core routine. + +2009-02-12 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclOODefineCmds.c (TclOOGetDefineCmdContext): Use the + correct field in the Interp structure for retrieving the frame to get + the context object so that people can extend [oo::define] without deep + shenanigans. Bug found by Federico Ferri. + +2009-02-11 Don Porter <dgp@users.sourceforge.net> + + * generic/tclStringObj.c: Re-implemented AppendUnicodeToUtfRep + so that we no longer pass through Tcl_DStrings which have their own + sets of problems when lengths overflow the int range. Now AUTUR and + UpdateStringOfString share a common core routine. + + * generic/tclStringObj.c: Changed type of the 'allocated' field + * generic/tclTestObj.c: of the String struct (and the + TestString counterpart) from size_t to int since only int values are + ever stored in it. + +2009-02-10 Jan Nijtmans <nijtmans@users.sf.net> + + * generic/tclEncoding.c: Eliminate some unnessary type casts + * generic/tclEvent.c: some internal const decorations + * generic/tclExecute.c: spacing + * generic/tclIndexObj.c: + * generic/tclInterp.c: + * generic/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 <nijtmans@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * generic/tclCompile.c: [Bug 2555129]: const compiler warning (as + error) in tclCompile.c + +2009-02-07 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclZlib.c (TclZlibCmd): [Bug 2573172]: Ensure that when + invalid subcommand name is given, the list of valid subcommands is + produced. This gives a better experience when using the command + interactively. + +2009-02-05 Joe Mistachkin <joe@mistachkin.com> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <davygrvy@pobox.com> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * tests/stringObj.test: [Bug 2006888]: Remove non-ASCII chars from + non-comment locations in the file, making it work more reliably in + locales with a non-Latin-1 default encoding. + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclBasic.c (TclInvokeObjectCommand): Made this understand + what to do if it ends up being used on a command with no objProc; that + shouldn't happen, but... + + * 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 <dkf@users.sf.net> + + * 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 <ferrieux@users.sourceforge.net> + + * 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 <ferrieux@users.sourceforge.net> + + * win/tclWinSock.c: [Bug 2446662]: Resync Win behavior on RST with + that of unix (EOF). + +2009-01-26 Donal K. Fellows <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * doc/zlib.n: Added a note that 'zlib push' is reversed by 'chan pop'. + +2009-01-22 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <kennykb@acm.org> + + * unix/tcl.m4: Corrected a typo ($(SHLIB_VERSION) should be + ${SHLIB_VERSION}). + * unix/configure: Autoconf 2.59 + +2009-01-21 Andreas Kupries <andreask@activestate.com> + + * 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 <dgp@users.sourceforge.net> + + * generic/tclStringObj.c: New fix for [Bug 2494093] replaces the + flawed attempt committed 2009-01-09. + +2009-01-19 Kevin B. Kenny <kennykb@acm.org> + + * 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 <davygrvy@pobox.com> + + * win/build.vc.bat: Improved tools detection and error message + * win/makefile.vc: Reorganized the $(TCLOBJ) file list into seperate + parts for easier maintenance. Matched all sources built using -GL to + both $(lib) and $(link) to use -LTCG and avoid a warning message. + Addressed the over-building nature of the htmlhelp target by moving + from a pseudo target to a real target dependent on the entire docs/ + directory contents. + * win/nmakehlp.c: Removed -g option and GrepForDefine() func as it + isn't being used anymore. The -V option method is much better. + +2009-01-16 Don Porter <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <nijtmans@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCmdMZ.c (Tcl_ThrowObjCmd): Move implementation of [throw] + * library/init.tcl (throw): to C from Tcl. + +2009-01-12 Don Porter <dgp@users.sourceforge.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * generic/tclNamesp.c (NamespaceEnsembleCmd): [Bug 1558654]: Error out + when someone gives wrong # of args to [namespace ensemble create]. + +2009-01-08 Don Porter <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dgp@users.sourceforge.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * 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 <dkf@users.sf.net> + + * generic/tclCmdAH.c: Tidy up spacing and code style. + +2009-01-03 Kevin B. Kenny <kennykb@acm.org> + + * 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 <dkf@users.sf.net> + + * 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" *** + ****************************************************************** |